diff --git a/resources/[tools]/unlimited-spectre/.fxap b/resources/[tools]/unlimited-spectre/.fxap deleted file mode 100644 index f9fb63eb7..000000000 Binary files a/resources/[tools]/unlimited-spectre/.fxap and /dev/null differ diff --git a/resources/[tools]/unlimited-spectre/bans.log b/resources/[tools]/unlimited-spectre/bans.log deleted file mode 100644 index fc7e1dcb6..000000000 --- a/resources/[tools]/unlimited-spectre/bans.log +++ /dev/null @@ -1 +0,0 @@ -[2025/04/30 21:52:26]: [WWH84309] tim has banned Max Becker until Tue Jan 19 2038 04:14:07 GMT+0100 (Central European Standard Time) with reason 'Zu Jung'. diff --git a/resources/[tools]/unlimited-spectre/client/index.lua b/resources/[tools]/unlimited-spectre/client/index.lua deleted file mode 100644 index e152c6eda..000000000 Binary files a/resources/[tools]/unlimited-spectre/client/index.lua and /dev/null differ diff --git a/resources/[tools]/unlimited-spectre/config.json b/resources/[tools]/unlimited-spectre/config.json deleted file mode 100644 index b281d0169..000000000 --- a/resources/[tools]/unlimited-spectre/config.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "port": "3000", - "unlDisableServe": "false", - "unlMySQLSessions": "false", - - "QBName": "qb-core", - "QBObject": "QBCore", - "QBShared": "QBShared", - - "vehGarageColumn": "garage", - "vehStateColumn": "state", - "vehTables": [ - { - "table": "trunkitems", - "column": "plate" - }, - { - "table": "gloveboxitems", - "column": "plate" - } - ], - - "stashTables": [ - { - "type": "Stash", - "updateTriggerType": "stash", - "identifier": "stash", - "itemColumn": "items", - "table": "stashitems", - "maxSlots": 50 - }, - { - "type": "Trunk", - "updateTriggerType": "trunk", - "identifier": "plate", - "itemColumn": "items", - "table": "trunkitems", - "maxSlots": 30 - }, - { - "type": "Glovebox", - "updateTriggerType": "glovebox", - "identifier": "plate", - "itemColumn": "items", - "table": "gloveboxitems", - "maxSlots": 5 - } - ], - - "additionalMoneyTypes": {}, - - "usedInventory": "qs-inventory", - "maxPlayerSlots": "40", - - "disableWeaponLogs": "false", - "excludeWeaponLogsFromDiscord": "false", - "unlDiscordHook": "false", - "unlGameDiscordHook": "false", - "unlPlayerDiscordHook": "false", - "unlDevDiscordHook": "false", - "unlWebDiscordHook": "false", - - "dashboardInterval": "5000", - "mapInterval": "1250", - - "customHandleDeadEvent": "false", - "customHandleCuffedEvent": "false" -} diff --git a/resources/[tools]/unlimited-spectre/error.log b/resources/[tools]/unlimited-spectre/error.log deleted file mode 100644 index 2421d03a3..000000000 --- a/resources/[tools]/unlimited-spectre/error.log +++ /dev/null @@ -1,45 +0,0 @@ -[error][UnlSpectre][2025/04/26 23:40:48]: ENOENT: no such file or directory, scandir '/home/evolution/files/resources//[inventory]/ox_inventory/html/images' -[error][UnlSpectre][2025/04/26 23:40:55]: ENOENT: no such file or directory, scandir '/home/evolution/files/resources//[inventory]/ox_inventory/html/images' -[error][UnlSpectre][2025/04/26 23:41:09]: ENOENT: no such file or directory, scandir '/home/evolution/files/resources//[inventory]/ox_inventory/html/images' -[error][UnlSpectre][2025/04/26 23:41:32]: ENOENT: no such file or directory, scandir '/home/evolution/files/resources//[inventory]/ox_inventory/html/images' -[error][UnlSpectre][2025/04/26 23:41:41]: ENOENT: no such file or directory, scandir '/home/evolution/files/resources//[inventory]/ox_inventory/html/images' -[error][UnlSpectre][2025/04/26 23:41:58]: ENOENT: no such file or directory, scandir '/home/evolution/files/resources//[inventory]/ox_inventory/html/images' -[error][UnlSpectre][2025/04/26 23:42:57]: ENOENT: no such file or directory, scandir '/home/evolution/files/resources//[inventory]/ox_inventory/html/images' -[error][UnlSpectre][2025/04/26 23:43:07]: ENOENT: no such file or directory, scandir '/home/evolution/files/resources//[inventory]/ox_inventory/html/images' -[error][UnlSpectre][2025/04/26 23:43:18]: ENOENT: no such file or directory, scandir '/home/evolution/files/resources//[inventory]/ox_inventory/html/images' -[error][UnlSpectre][2025/04/26 23:43:34]: ENOENT: no such file or directory, scandir '/home/evolution/files/resources//[inventory]/ox_inventory/html/images' -[error][UnlSpectre][2025/04/26 23:43:36]: ENOENT: no such file or directory, scandir '/home/evolution/files/resources//[inventory]/ox_inventory/html/images' -[error][UnlSpectre][2025/04/26 23:44:22]: ENOENT: no such file or directory, scandir '/home/evolution/files/resources//[inventory]/ox_inventory/html/images' -[error][UnlSpectre][2025/04/26 23:44:40]: ENOENT: no such file or directory, scandir '/home/evolution/files/resources//[inventory]/ox_inventory/html/images' -[error][UnlSpectre][2025/04/26 23:44:48]: ENOENT: no such file or directory, scandir '/home/evolution/files/resources//[inventory]/ox_inventory/html/images' -[error][UnlSpectre][2025/04/26 23:44:58]: ENOENT: no such file or directory, scandir '/home/evolution/files/resources//[inventory]/ox_inventory/html/images' -[error][UnlSpectre][2025/04/26 23:45:14]: ENOENT: no such file or directory, scandir '/home/evolution/files/resources//[inventory]/ox_inventory/html/images' -[error][UnlSpectre][2025/04/26 23:45:55]: ENOENT: no such file or directory, scandir '/home/evolution/files/resources//[inventory]/ox_inventory/html/images' -[error][UnlSpectre][2025/04/26 23:45:59]: ENOENT: no such file or directory, scandir '/home/evolution/files/resources//[inventory]/ox_inventory/html/images' -[error][UnlSpectre][2025/04/28 18:48:28]: Cannot read properties of undefined (reading 'PlayerData') -[error][UnlSpectre][2025/05/02 14:35:25]: Cannot read properties of undefined (reading 'PlayerData') -[error][UnlSpectre][2025/05/02 14:35:46]: Cannot read properties of undefined (reading 'PlayerData') -[error][UnlSpectre][2025/05/03 00:13:51]: undefined -[error][UnlSpectre][2025/05/05 20:01:24]: Not Found -[error][UnlSpectre][2025/05/06 20:38:40]: undefined -[error][UnlSpectre][2025/05/18 21:22:22]: Internal Server Error -[error][UnlSpectre][2025/05/21 17:00:15]: Cannot read properties of null (reading 'undefined') -[error][UnlSpectre][2025/05/23 14:29:19]: Cannot read properties of null (reading 'citizenid') -[error][UnlSpectre][2025/05/23 15:35:41]: undefined -[error][UnlSpectre][2025/05/25 22:17:26]: Internal Server Error -[error][UnlSpectre][2025/05/25 22:17:33]: Internal Server Error -[error][UnlSpectre][2025/05/28 22:14:45]: undefined -[error][UnlSpectre][2025/05/30 14:08:37]: Cannot read properties of null (reading 'citizenid') -[error][UnlSpectre][2025/05/31 12:25:53]: Error in nested ref call for unlimited-spectre. unlimited-spectre tried to call a function reference in qb-core but the reference wasn't valid. (did qb-core restart recently?) -[error][UnlSpectre][2025/05/31 12:49:54]: Error in nested ref call for unlimited-spectre. unlimited-spectre tried to call a function reference in qb-core but the reference wasn't valid. (did qb-core restart recently?) -[error][UnlSpectre][2025/05/31 12:50:11]: Error in nested ref call for unlimited-spectre. unlimited-spectre tried to call a function reference in qb-core but the reference wasn't valid. (did qb-core restart recently?) -[error][UnlSpectre][2025/06/01 22:12:12]: Internal Server Error -[error][UnlSpectre][2025/06/01 22:12:39]: Internal Server Error -[error][UnlSpectre][2025/06/07 17:58:37]: Internal Server Error -[error][UnlSpectre][2025/06/13 13:44:26]: Error in nested ref call for unlimited-spectre. unlimited-spectre tried to call a function reference in qb-core but the reference wasn't valid. (did qb-core restart recently?) -[error][UnlSpectre][2025/06/24 17:08:42]: Error in nested ref call for unlimited-spectre. unlimited-spectre tried to call a function reference in qb-core but the reference wasn't valid. (did qb-core restart recently?) -[error][UnlSpectre][2025/06/24 17:08:43]: Error in nested ref call for unlimited-spectre. unlimited-spectre tried to call a function reference in qb-core but the reference wasn't valid. (did qb-core restart recently?) -[error][UnlSpectre][2025/06/25 00:38:36]: Cannot read properties of null (reading 'citizenid') -[error][UnlSpectre][2025/06/26 04:04:41]: Error in nested ref call for unlimited-spectre. unlimited-spectre tried to call a function reference in qb-core but the reference wasn't valid. (did qb-core restart recently?) -[error][UnlSpectre][2025/06/26 04:04:42]: Error in nested ref call for unlimited-spectre. unlimited-spectre tried to call a function reference in qb-core but the reference wasn't valid. (did qb-core restart recently?) -[error][UnlSpectre][2025/06/26 04:04:43]: Error in nested ref call for unlimited-spectre. unlimited-spectre tried to call a function reference in qb-core but the reference wasn't valid. (did qb-core restart recently?) diff --git a/resources/[tools]/unlimited-spectre/fxmanifest.lua b/resources/[tools]/unlimited-spectre/fxmanifest.lua deleted file mode 100644 index 890021b16..000000000 --- a/resources/[tools]/unlimited-spectre/fxmanifest.lua +++ /dev/null @@ -1,26 +0,0 @@ -version '1.2.3' -author 'Unlimited.wtf' - -fx_version 'adamant' -games { 'gta5' } - -lua54 'yes' - -server_scripts { - 'server/lua/wrapper.lua', - 'server/index.js', -} - -client_scripts { - 'client/index.lua' -} - -files { - 'hashes.json' -} - -dependencies { - 'qb-core' -} - -dependency '/assetpacks' \ No newline at end of file diff --git a/resources/[tools]/unlimited-spectre/hashes.json b/resources/[tools]/unlimited-spectre/hashes.json deleted file mode 100644 index 864869dc7..000000000 --- a/resources/[tools]/unlimited-spectre/hashes.json +++ /dev/null @@ -1,290 +0,0 @@ -{ - "94989220": "Combat Shotgun", - "406929569": "Fertilizer Can", - "727643628": "Ceramic Pistol", - "1171102963": "Stun Gun", - "1470379660": "Perico Pistol", - "1853742572": "Precision Rifle", - "-1834847097": "Antique Cavalry Dagger", - "-1786099057": "Baseball Bat", - "-102323637": "Broken Bottle", - "-2067956739": "Crowbar", - "-1569615261": "Fist", - "-1951375401": "Flashlight", - "-102973651": "Hatchet", - "-656458692": "Brass Knuckles", - "-1716189206": "Knife", - "-581044007": "Machete", - "-538741184": "Switchblade", - "-853065399": "Battle Axe", - "-1810795771": "Pool Cue", - "-1075685676": "Pistol Mk II", - "-1716589765": "Pistol .50", - "-1076751822": "SNS Pistol", - "-2009644972": "SNS Pistol Mk II", - "-771403250": "Heavy Pistol", - "-598887786": "Marksman Pistol", - "-1045183535": "Heavy Revolver", - "-879347409": "Heavy Revolver Mk II", - "-1746263880": "Double Action Revolver", - "-1355376991": "Up-n-Atomizer", - "-1853920116": "Navy Revolver", - "-270015777": "Assault SMG", - "-619010992": "Machine Pistol", - "-1121678507": "Mini SMG", - "-494615257": "Assault Shotgun", - "-1654528753": "Bullpup Shotgun", - "-1466123874": "Musket", - "-275439685": "Double Barrel Shotgun", - "-1074790547": "Assault Rifle", - "-2084633992": "Carbine Rifle", - "-86904375": "Carbine Rifle Mk II", - "-1357824103": "Advanced Rifle", - "-1063057011": "Special Carbine", - "-1768145561": "Special Carbine Mk II", - "-2066285827": "Bullpup Rifle Mk II", - "-1658906650": "Military Rifle", - "-947031628": "Heavy Rifle", - "-774507221": "Tactical Rifle", - "-1660422300": "MG", - "-608341376": "Combat MG Mk II", - "-952879014": "Marksman Rifle", - "-1312131151": "RPG", - "-1568386805": "Grenade Launcher", - "-1238556825": "Widowmaker", - "-618237638": "Compact EMP Launcher", - "-1813897027": "Grenade", - "-1600701090": "BZ Gas", - "-1420407917": "Proximity Mines", - "-1169823560": "Pipe Bombs", - "-37975472": "Tear Gas", - "-72657034": "Parachute", - "-1168940174": "Hazardous Jerry Can", - "2460120199": "Antique Cavalry Dagger", - "2508868239": "Baseball Bat", - "4192643659": "Bottle", - "2227010557": "Crowbar", - "2725352035": "Fist", - "2343591895": "Flashlight", - "1141786504": "Golf Club", - "1317494643": "Hammer", - "4191993645": "Hatchet", - "3638508604": "Knuckle", - "2578778090": "Knife", - "3713923289": "Machete", - "3756226112": "Switchblade", - "1737195953": "Nightstick", - "419712736": "Pipe Wrench", - "3441901897": "Battle Axe", - "2484171525": "Pool Cue", - "940833800": "Stone Hatchet", - "453432689": "Pistol", - "3219281620": "Pistol MK2", - "1593441988": "Combat Pistol", - "584646201": "AP Pistol", - "911657153": "Stun Gun", - "2578377531": "Pistol .50", - "3218215474": "SNS Pistol", - "2285322324": "SNS Pistol MK2", - "3523564046": "Heavy Pistol", - "137902532": "Vintage Pistol", - "1198879012": "Flare Gun", - "3696079510": "Marksman Pistol", - "3249783761": "Heavy Revolver", - "3415619887": "Heavy Revolver MK2", - "2548703416": "Double Action", - "2939590305": "Up-n-Atomizer", - "324215364": "Micro SMG", - "736523883": "SMG", - "2024373456": "SMG MK2", - "4024951519": "Assault SMG", - "171789620": "Combat PDW", - "3675956304": "Machine Pistol", - "3173288789": "Mini SMG", - "1198256469": "Unholy Hellbringer", - "487013001": "Pump Shotgun", - "1432025498": "Pump Shotgun MK2", - "2017895192": "Sawed-Off Shotgun", - "3800352039": "Assault Shotgun", - "2640438543": "Bullpup Shotgun", - "2828843422": "Musket", - "984333226": "Heavy Shotgun", - "4019527611": "Double Barrel Shotgun", - "317205821": "Sweeper Shotgun", - "3220176749": "Assault Rifle", - "961495388": "Assault Rifle MK2", - "2210333304": "Carbine Rifle", - "4208062921": "Carbine Rifle MK2", - "2937143193": "Advanced Rifle", - "3231910285": "Special Carbine", - "2526821735": "Special Carbine MK2", - "2132975508": "Bullpup Rifle", - "2228681469": "Bullpup Rifle MK2", - "1649403952": "Compact Rifle", - "2634544996": "MG", - "2144741730": "Combat MG", - "3686625920": "Combat MG MK2", - "1627465347": "Gusenberg Sweeper", - "100416529": "Sniper Rifle", - "205991906": "Heavy Sniper", - "177293209": "Heavy Sniper MK2", - "3342088282": "Marksman Rifle", - "1785463520": "Marksman Rifle MK2", - "2982836145": "RPG", - "2726580491": "Grenade Launcher", - "1305664598": "Smoke Grenade Launcher", - "1119849093": "Minigun", - "2138347493": "Firework Launcher", - "1834241177": "Railgun", - "1672152130": "Homing Launcher", - "125959754": "Compact Grenade Launcher", - "3056410471": "Ray Minigun", - "2481070269": "Grenade", - "2694266206": "BZ Gas", - "4256991824": "Smoke Grenade", - "1233104067": "Flare", - "615608432": "Molotov", - "741814745": "Sticky Bomb", - "2874559379": "Proximity Mine", - "126349499": "Snowball", - "3125143736": "Pipe Bomb", - "600439132": "Baseball", - "883325847": "Jerry Can", - "101631238": "Fire Extinguisher", - "4222310262": "Parachute", - "2461879995": "Electric Fence", - "3425972830": "Hit by Water Cannon", - "133987706": "Rammed by Car", - "2741846334": "Run Over by Car", - "3452007600": "Fall", - "4194021054": "Animal", - "324506233": "Airstrike Rocket", - "2339582971": "Bleeding", - "2294779575": "Briefcase", - "28811031": "Briefcase 02", - "148160082": "Cougar", - "1223143800": "Barbed Wire", - "4284007675": "Drowning", - "1936677264": "Drowning In Vehicle", - "539292904": "Explosion", - "910830060": "Exhaustion", - "3750660587": "Fire", - "341774354": "Heli Crash", - "3204302209": "Vehicle Rocket", - "2282558706": "Vehicle Akula Barrage", - "431576697": "Vehicle Akula Minigun", - "2092838988": "Vehicle Akula Missile", - "476907586": "Vehicle Akula Turret Dual", - "3048454573": "Vehicle Akula Turret Single", - "328167896": "Vehicle APC Cannon", - "190244068": "Vehicle APC MG", - "1151689097": "Vehicle APC Missile", - "3293463361": "Vehicle Ardent MG", - "2556895291": "Vehicle Avenger Cannon", - "2756453005": "Vehicle Barrage Rear GL", - "1200179045": "Vehicle Barrage Rear MG", - "525623141": "Vehicle Barrage Rear Minigun", - "4148791700": "Vehicle Barrage Top MG", - "1000258817": "Vehicle Barrage Top Minigun", - "3628350041": "Vehicle Bombushka Cannon", - "741027160": "Vehicle Bombushka Dual MG", - "3959029566": "Vehicle Cannon Blazer", - "1817275304": "Vehicle Caracara MG", - "1338760315": "Vehicle Caracara Minigun", - "2722615358": "Vehicle Cherno Missile", - "3936892403": "Vehicle Comet MG", - "2600428406": "Vehicle Deluxo MG", - "3036244276": "Vehicle Deluxo Missile", - "1595421922": "Vehicle Dogfighter MG", - "3393648765": "Vehicle Dogfighter Missile", - "2700898573": "Vehicle Dune Grenade Launcher", - "3507816399": "Vehicle Dune MG", - "1416047217": "Vehicle Dune Minigun", - "1566990507": "Vehicle Enemy Laser", - "1987049393": "Vehicle Hacker Missile", - "2011877270": "Vehicle Hacker Missile Homing", - "1331922171": "Vehicle Halftrack Dual MG", - "1226518132": "Vehicle Halftrack Quad MG", - "855547631": "Vehicle Havok Minigun", - "785467445": "Vehicle Hunter Barrage", - "704686874": "Vehicle Hunter Cannon", - "1119518887": "Vehicle Hunter MG", - "153396725": "Vehicle Hunter Missile", - "2861067768": "Vehicle Insurgent Minigun", - "507170720": "Vehicle Khanjali Cannon", - "2206953837": "Vehicle Khanjali Cannon Heavy", - "394659298": "Vehicle Khanjali GL", - "711953949": "Vehicle Khanjali MG", - "3754621092": "Vehicle Menacer MG", - "3303022956": "Vehicle Microlight MG", - "3846072740": "Vehicle Mobileops Cannon", - "3857952303": "Vehicle Mogul Dual Nose", - "3123149825": "Vehicle Mogul Dual Turret", - "4128808778": "Vehicle Mogul Nose", - "3808236382": "Vehicle Mogul Turret", - "2220197671": "Vehicle Mule4 MG", - "1198717003": "Vehicle Mule4 Missile", - "3708963429": "Vehicle Mule4 Turret GL", - "2786772340": "Vehicle Nightshark MG", - "1097917585": "Vehicle Nose Turret Valkyrie", - "3643944669": "Vehicle Oppressor MG", - "2344076862": "Vehicle Oppressor Missile", - "3595383913": "Vehicle Oppressor2 Cannon", - "3796180438": "Vehicle Oppressor2 MG", - "1966766321": "Vehicle Oppressor2 Missile", - "3473446624": "Vehicle Plane Rocket", - "1186503822": "Vehicle Player Buzzard", - "3800181289": "Vehicle Player Lazer", - "1638077257": "Vehicle Player Savage", - "2456521956": "Vehicle Pounder2 Barrage", - "2467888918": "Vehicle Pounder2 GL", - "2263283790": "Vehicle Pounder2 Mini", - "162065050": "Vehicle Pounder2 Missile", - "3530961278": "Vehicle Radar", - "3177079402": "Vehicle Revolter MG", - "3878337474": "Vehicle Rogue Cannon", - "158495693": "Vehicle Rogue MG", - "1820910717": "Vehicle Rogue Missile", - "50118905": "Vehicle Ruiner Bullet", - "84788907": "Vehicle Ruiner Rocket", - "3946965070": "Vehicle Savestra MG", - "231629074": "Vehicle Scramjet MG", - "3169388763": "Vehicle Scramjet Missile", - "1371067624": "Vehicle Seabreeze MG", - "3450622333": "Vehicle Searchlight", - "4171469727": "Vehicle Space Rocket", - "3355244860": "Vehicle Speedo4 MG", - "3595964737": "Vehicle Speedo4 Turret MG", - "2667462330": "Vehicle Speedo4 Turret Mini", - "968648323": "Vehicle Strikeforce Barrage", - "955522731": "Vehicle Strikeforce Cannon", - "519052682": "Vehicle Strikeforce Missile", - "1176362416": "Vehicle Subcar MG", - "3565779982": "Vehicle Subcar Missile", - "3884172218": "Vehicle Subcar Torpedo", - "1744687076": "Vehicle Tampa Dual Minigun", - "3670375085": "Vehicle Tampa Fixed Minigun", - "2656583842": "Vehicle Tampa Missile", - "1015268368": "Vehicle Tampa Mortar", - "1945616459": "Vehicle Tank", - "3683206664": "Vehicle Technical Minigun", - "1697521053": "Vehicle Thruster MG", - "1177935125": "Vehicle Thruster Missile", - "2156678476": "Vehicle Trailer Dualaa", - "341154295": "Vehicle Trailer Missile", - "1192341548": "Vehicle Trailer Quad MG", - "2966510603": "Vehicle Tula Dual MG", - "1217122433": "Vehicle Tula MG", - "376489128": "Vehicle Tula Minigun", - "1100844565": "Vehicle Tula Nose MG", - "3041872152": "Vehicle Turret Boxville", - "1155224728": "Vehicle Turret Insurgent", - "729375873": "Vehicle Turret Limo", - "2144528907": "Vehicle Turret Technical", - "2756787765": "Vehicle Turret Valkyrie", - "4094131943": "Vehicle Vigilante MG", - "1347266149": "Vehicle Vigilante Missile", - "2275421702": "Vehicle Viseris MG", - "1150790720": "Vehicle Volatol Dual MG", - "1741783703": "Vehicle Water Cannon" -} diff --git a/resources/[tools]/unlimited-spectre/html/assets/Account.56521d7f.js b/resources/[tools]/unlimited-spectre/html/assets/Account.56521d7f.js deleted file mode 100644 index 495a18388..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/Account.56521d7f.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as w,o as y,X as _,a7 as u,a as n,w as s,a6 as b,a5 as $,U as c,a9 as k,S as L,W as f}from"./app-014d9ed9.js";import{Q as N,a as v,b as m}from"./QTable.d759a99d.js";import{b as R}from"./QSelect.d7ce3d4c.js";import"./externalHosting.js";import"./QList.9d5bb77f.js";import"./QMarkupTable.ba6854cc.js";import"./QItemLabel.b6dd3adb.js";import"./position-engine.65ebcb34.js";import"./selection.2a17b691.js";import"./rtl.b51694b1.js";const x={name:"Account",data(){return{columns:[{name:"firstname",align:"left",label:this.$i18n.t("components.playerList.headers.firstname"),field:e=>e.firstname,format:e=>`${e}`,sortable:!0},{name:"lastname",align:"left",label:this.$i18n.t("components.playerList.headers.lastname"),field:e=>e.lastname,format:e=>`${e}`,sortable:!0},{name:"name",align:"left",label:this.$i18n.t("components.playerList.headers.name"),field:e=>e.name,format:e=>`${e}`,sortable:!0},{name:"citizenid",align:"left",label:this.$i18n.t("components.playerList.headers.citizenid"),field:e=>e.citizenid,format:e=>`${e}`,sortable:!0},{name:"job",align:"left",label:this.$i18n.t("components.playerList.headers.job"),field:e=>e.job,format:e=>`${e}`},{name:"gang",align:"left",label:this.$i18n.t("components.playerList.headers.gang"),field:e=>e.gang,format:e=>`${e}`},{name:"online",align:"center",label:this.$i18n.t("components.playerList.headers.online"),field:e=>e.online,format:e=>`${e}`}],accountName:"",players:[],pagination:{sortBy:"firstname",descending:!1,page:1,rowsPerPage:25,rowsNumber:25},loading:!0,filter:"",loaded:!1}},methods:{getRowsNumberCount(e){return this.$axios.post("/api/accounts/account-player-count",{license:this.$route.params.license,filter:e}).then(i=>i.data.count)},fetchFromServer(e,i,l,g,o){return this.$axios.post(`/api/accounts/${this.$route.params.license}`,{startRow:e,count:i,filter:l,sortBy:g,descending:o}).then(r=>{let t=[];return r.data.players.forEach(a=>{const d=JSON.parse(a.job),h=JSON.parse(a.gang),p=JSON.parse(a.charinfo);t.push({citizenid:a==null?void 0:a.citizenid,firstname:p==null?void 0:p.firstname,lastname:p==null?void 0:p.lastname,name:a==null?void 0:a.name,gang:h==null?void 0:h.label,job:d==null?void 0:d.label,online:a==null?void 0:a.online})}),t}).catch(r=>{this.loading=!1,this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("general.timeout")})})},async onRequest(e){const{page:i,rowsPerPage:l,sortBy:g,descending:o}=e.pagination,r=e.filter;this.loading=!0,this.pagination.rowsNumber=await this.getRowsNumberCount(r);const t=l===0?this.pagination.rowsNumber:l,a=(i-1)*l,d=await this.fetchFromServer(a,t,r,g,o);this.loaded||(this.accountName=d[0].name,this.loaded=!0),this.players.splice(0,this.players.length,...d),this.pagination.page=i,this.pagination.rowsPerPage=l,this.pagination.sortBy=g,this.pagination.descending=o,this.loading=!1},onRowClick(e){this.$router.push({name:"game-player-detail",params:{citizenid:e.citizenid}})},getPaginationLabel(e,i,l){return this.$i18n.t("components.playerList.paginationLabel",{from:e,to:i,total:l})}},mounted(){this.$refs.tableRef.requestServerInteraction()}},C={class:"row"},z={class:"col-12"},P={class:"q-ma-sm row"},q={class:"text-h6"},Q={class:"text-primary"},S={class:"col-12"};function B(e,i,l,g,o,r){return y(),_("div",C,[u("div",z,[u("div",P,[n(b,{class:"bg-secondary full-width row"},{default:s(()=>[n($,{class:"col-12"},{default:s(()=>[u("div",q,[u("span",Q,c(o.accountName),1)])]),_:1})]),_:1}),n(b,{class:"bg-secondary full-width row q-mt-md"},{default:s(()=>[u("div",S,[n(N,{ref:"tableRef",color:"primary","card-class":"bg-secondary text-main","table-class":"text-main","table-header-class":"text-primary",flat:"",rows:o.players,columns:o.columns,"row-key":"name",pagination:o.pagination,"onUpdate:pagination":i[1]||(i[1]=t=>o.pagination=t),"rows-per-page-options":[0,25,50,100],"no-results-label":e.$t("components.playerList.noData"),"loading-label":e.$t("components.playerList.loadData"),loading:o.loading,filter:o.filter,"binary-state-sort":"","pagination-label":r.getPaginationLabel,"rows-per-page-label":`${e.$t("components.playerList.recordsPerPage")}:`,onRequest:r.onRequest},{"top-right":s(()=>[n(k,{"input-style":{color:"var(--q-main)"},borderless:"",dense:"",debounce:"300",modelValue:o.filter,"onUpdate:modelValue":i[0]||(i[0]=t=>o.filter=t),placeholder:e.$t("general.search")},{append:s(()=>[n(L,{class:"text-main",name:"search"})]),_:1},8,["input-style","modelValue","placeholder"])]),body:s(t=>[n(v,{props:t,onClick:a=>r.onRowClick(t.row),class:"cursor-pointer"},{default:s(()=>[n(m,{key:"firstname",props:t},{default:s(()=>[f(c(t.row.firstname),1)]),_:2},1032,["props"]),n(m,{key:"lastname",props:t},{default:s(()=>[f(c(t.row.lastname),1)]),_:2},1032,["props"]),n(m,{key:"name",props:t},{default:s(()=>[f(c(t.row.name),1)]),_:2},1032,["props"]),n(m,{key:"citizenid",props:t},{default:s(()=>[f(c(t.row.citizenid),1)]),_:2},1032,["props"]),n(m,{key:"job",props:t},{default:s(()=>[f(c(t.row.job),1)]),_:2},1032,["props"]),n(m,{key:"gang",props:t},{default:s(()=>[f(c(t.row.gang),1)]),_:2},1032,["props"]),n(m,{key:"online",props:t},{default:s(()=>[n(R,{size:"sm",color:t.row.online?"positive":"negative","text-color":"main",label:t.row.online?"Online":"Offline"},null,8,["color","label"])]),_:2},1032,["props"])]),_:2},1032,["props","onClick"])]),_:1},8,["rows","columns","pagination","no-results-label","loading-label","loading","filter","pagination-label","rows-per-page-label","onRequest"])])]),_:1})])])])}const F=w(x,[["render",B]]);export{F as default}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/AccountList.2d40e541.js b/resources/[tools]/unlimited-spectre/html/assets/AccountList.2d40e541.js deleted file mode 100644 index 8184e3802..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/AccountList.2d40e541.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as f,bh as b,o as h,X as w,a as s,w as r,a6 as _,c as y,bi as v,r as $,a7 as u,U as l,aE as L,a9 as k,S,W as p}from"./app-014d9ed9.js";import{Q as P,a as R,b as m}from"./QTable.d759a99d.js";import"./externalHosting.js";import"./QList.9d5bb77f.js";import"./QMarkupTable.ba6854cc.js";import"./QSelect.d7ce3d4c.js";import"./QItemLabel.b6dd3adb.js";import"./position-engine.65ebcb34.js";import"./selection.2a17b691.js";import"./rtl.b51694b1.js";const q={name:"AccountList",data(){return{columns:[{name:"name",align:"left",label:this.$i18n.t("components.accountList.headers.name"),field:t=>t.name,format:t=>`${t}`,sortable:!0},{name:"license",align:"left",label:this.$i18n.t("components.accountList.headers.license"),field:t=>t.license,format:t=>`${t}`,sortable:!0},{name:"character_count",align:"center",label:this.$i18n.t("components.accountList.headers.character_count"),field:t=>t.character_count,format:t=>`${t}`,sortable:!0},{name:"last_active",align:"center",label:this.$i18n.t("components.accountList.headers.last_active"),field:t=>t.last_active,format:t=>`${t}`,sortable:!0}],accounts:[],pagination:{sortBy:"name",descending:!1,page:1,rowsPerPage:25,rowsNumber:25},loading:!0}},methods:{getRowsNumberCount(t){return this.$axios.post("/api/accounts/account-count",{filter:t}).then(a=>a.data.count)},fetchFromServer(t,a,i,c,n){return this.$axios.post("/api/accounts",{startRow:t,count:a,filter:i,sortBy:c,descending:n}).then(o=>o.data.accounts||[]).catch(o=>{this.loading=!1,this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("general.timeout")})}).finally(()=>this.loading=!1)},async onRequest(t){const{page:a,rowsPerPage:i,sortBy:c,descending:n}=t.pagination,o=t.filter;this.loading=!0,this.pagination.rowsNumber=await this.getRowsNumberCount(o);const d=i===0?this.pagination.rowsNumber:i,e=(a-1)*i,g=await this.fetchFromServer(e,d,o,c,n);this.accounts.splice(0,this.accounts.length,...g),this.pagination.page=a,this.pagination.rowsPerPage=i,this.pagination.sortBy=c,this.pagination.descending=n,this.paginationSave=this.pagination,this.loading=!1},onRowClick(t){this.$router.push({name:"game-account-detail",params:{license:t.license}})},getPaginationLabel(t,a,i){return this.$i18n.t("components.accountList.paginationLabel",{from:t,to:a,total:i})},updatePagination(t){this.loading||(this.paginationSave=t,this.pagination=t)}},computed:{...b(v,["searchFilter","paginationSave"])},mounted(){this.$route.name==="game-account-list"&&(this.pagination={...this.paginationSave},this.$refs.tableRef.requestServerInteraction())}},C={key:0,class:"row q-pa-sm"},B={class:"row"},N={class:"col-12"},Q={class:"q-mx-md q-my-sm row"},x={class:"text-caption text-sub"};function F(t,a,i,c,n,o){const d=$("router-view");return t.$route.name==="game-account-list"?(h(),w("div",C,[s(_,{class:"bg-secondary full-width"},{default:r(()=>[u("div",B,[u("div",N,[u("div",Q,[u("div",x,l(t.$t("components.accountList.subheader")),1)]),s(L),s(P,{ref:"tableRef",color:"primary","card-class":"bg-secondary text-main","table-class":"text-main","table-header-class":"text-primary",flat:"",rows:n.accounts,columns:n.columns,"row-key":"name",pagination:n.pagination,"onUpdate:pagination":[a[1]||(a[1]=e=>n.pagination=e),o.updatePagination],"rows-per-page-options":[0,25,50,100],"no-results-label":t.$t("components.accountList.noData"),"loading-label":t.$t("components.accountList.loadData"),loading:n.loading,filter:t.searchFilter,"binary-state-sort":"","pagination-label":o.getPaginationLabel,"rows-per-page-label":`${t.$t("components.accountList.recordsPerPage")}:`,onRequest:o.onRequest},{"top-right":r(()=>[s(k,{"input-style":{color:"var(--q-main)"},borderless:"",dense:"",debounce:"300",modelValue:t.searchFilter,"onUpdate:modelValue":a[0]||(a[0]=e=>t.searchFilter=e),placeholder:t.$t("general.search")},{append:r(()=>[s(S,{class:"text-main",name:"search"})]),_:1},8,["input-style","modelValue","placeholder"])]),body:r(e=>[s(R,{props:e,onClick:g=>o.onRowClick(e.row),class:"cursor-pointer"},{default:r(()=>[s(m,{key:"name",props:e},{default:r(()=>[p(l(e.row.name),1)]),_:2},1032,["props"]),s(m,{key:"license",props:e},{default:r(()=>[p(l(e.row.license),1)]),_:2},1032,["props"]),s(m,{key:"character_count",props:e},{default:r(()=>[p(l(e.row.character_count),1)]),_:2},1032,["props"]),s(m,{key:"last_active",props:e},{default:r(()=>[p(l(new Date(e.row.last_active*1e3).toLocaleString()),1)]),_:2},1032,["props"])]),_:2},1032,["props","onClick"])]),_:1},8,["rows","columns","pagination","no-results-label","loading-label","loading","filter","pagination-label","rows-per-page-label","onRequest","onUpdate:pagination"])])])]),_:1})])):(h(),y(d,{key:1}))}const z=f(q,[["render",F]]);export{z as default}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/Auth.6fa50dd9.js b/resources/[tools]/unlimited-spectre/html/assets/Auth.6fa50dd9.js deleted file mode 100644 index 0c51e9d14..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/Auth.6fa50dd9.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o,ad as a,ae as i,o as r,X as n,bN as c}from"./app-014d9ed9.js";import"./externalHosting.js";const d=""+new URL("logo.be249712.png",import.meta.url).href;const _={name:"AuthProcess",methods:{...a(i,["UPDATE_ACCESS_TOKEN","UPDATE_USER_DATA"]),queryString(t){return Object.keys(t).map(e=>e+"="+encodeURIComponent(t[e])).join("&")}},mounted(){this.$axios.post(`/auth/${this.$route.params.provider}/callback?${this.queryString(this.$route.query)}`).then(t=>{const e=t.data.resCode,s=t.data.resMsg;if(!e){this.$q.notify({message:this.$t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$t(`components.auth.msg.error.${s}`)}),this.$router.push({name:"auth-login"});return}this.UPDATE_ACCESS_TOKEN(t.data.accessToken),this.UPDATE_USER_DATA(t.data.userData),this.$socket.connect(),this.$router.push({path:"/"})})}},h={id:"auth-loading"},u=c('
',2),l=[u];function p(t,e,s,f,m,g){return r(),n("div",h,l)}const A=o(_,[["render",p]]);export{A as default}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/Auth.f868edf7.css b/resources/[tools]/unlimited-spectre/html/assets/Auth.f868edf7.css deleted file mode 100644 index ebab1edd9..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/Auth.f868edf7.css +++ /dev/null @@ -1 +0,0 @@ -#auth-loading{width:100%;height:100%;background:var(--q-dark);display:block;position:absolute} diff --git a/resources/[tools]/unlimited-spectre/html/assets/BasicDialog.9dd9de92.js b/resources/[tools]/unlimited-spectre/html/assets/BasicDialog.9dd9de92.js deleted file mode 100644 index 7fc622d15..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/BasicDialog.9dd9de92.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as c,o as r,c as d,w as e,a,a5 as o,a7 as s,U as h,aE as g,aa as _,ab as n,a6 as m,ac as u}from"./app-014d9ed9.js";const C={props:{title:String,message:String},emits:["ok","hide"],methods:{show(){this.$refs.dialog.show()},hide(){this.$refs.dialog.hide()},onDialogHide(){this.$emit("hide")},onOKClick(){this.$emit("ok"),this.hide()},onCancelClick(){this.hide()}}},f={class:"text-h5"},k=["innerHTML"];function b(l,p,t,x,B,i){return r(),d(u,{ref:"dialog",onHide:i.onDialogHide},{default:e(()=>[a(m,{class:"q-dialog-plugin bg-secondary text-main"},{default:e(()=>[a(o,null,{default:e(()=>[s("div",f,h(t.title),1),a(g,{class:"q-mt-sm"})]),_:1}),a(o,null,{default:e(()=>[s("div",{class:"text-body2",innerHTML:t.message},null,8,k)]),_:1}),a(_,{align:"right"},{default:e(()=>[a(n,{"text-color":"main",color:"primary",label:l.$t("general.ok"),onClick:i.onOKClick},null,8,["label","onClick"]),a(n,{"text-color":"main",color:"negative",label:l.$t("general.cancel"),onClick:i.onCancelClick},null,8,["label","onClick"])]),_:1})]),_:1})]),_:1},8,["onHide"])}const Q=c(C,[["render",b]]);export{Q as B}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/BasicInput.94e22095.js b/resources/[tools]/unlimited-spectre/html/assets/BasicInput.94e22095.js deleted file mode 100644 index 461cdf743..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/BasicInput.94e22095.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as c,o as u,c as h,w as a,a as e,a5 as o,a7 as p,S as m,a8 as s,a9 as g,aU as f,aa as k,ab as C,a6 as _,ac as b}from"./app-014d9ed9.js";const y={data(){return{input:""}},props:{title:String,message:String,label:String},emits:["ok","hide"],methods:{show(){this.$refs.dialog.show()},hide(){this.$refs.dialog.hide()},onDialogHide(){this.$emit("hide")},onOKClick(){this.$emit("ok",{input:this.input}),this.hide()},onCancelClick(){this.hide()}}},w=["innerHTML"];function Q(r,i,t,x,n,l){return u(),h(b,{ref:"dialog",onHide:l.onDialogHide},{default:a(()=>[e(_,{class:"q-dialog-plugin bg-secondary text-main"},{default:a(()=>[e(o,{class:"row"},{default:a(()=>[p("div",{class:"text-body2",innerHTML:t.message},null,8,w),e(m,{class:"q-ml-auto cursor-pointer",name:"close",onClick:s(l.hide,["stop"])},null,8,["onClick"])]),_:1}),e(o,null,{default:a(()=>[e(g,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:n.input,"onUpdate:modelValue":i[0]||(i[0]=d=>n.input=d),label:t.label,onKeyup:f(s(l.onOKClick,["prevent"]),["enter"])},null,8,["input-style","modelValue","label","onKeyup"])]),_:1}),e(k,{align:"center"},{default:a(()=>[e(C,{"text-color":"main",color:"primary",label:r.$t("general.ok"),onClick:l.onOKClick},null,8,["label","onClick"])]),_:1})]),_:1})]),_:1},8,["onHide"])}const H=c(y,[["render",Q]]);export{H as B}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/BasicPrompt.0f8aac67.js b/resources/[tools]/unlimited-spectre/html/assets/BasicPrompt.0f8aac67.js deleted file mode 100644 index dda22e93e..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/BasicPrompt.0f8aac67.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as n,c as l,w as e,a,a5 as r,a7 as c,aa as d,ab as h,a6 as g,ac as _}from"./app-014d9ed9.js";const m={props:{title:String,message:String},emits:["ok","hide"],methods:{show(){this.$refs.dialog.show()},hide(){this.$refs.dialog.hide()},onDialogHide(){this.$emit("hide")},onOKClick(){this.$emit("ok"),this.hide()},onCancelClick(){this.hide()}}},f=["innerHTML"];function u(o,k,t,C,p,i){return n(),l(_,{ref:"dialog",onHide:i.onDialogHide},{default:e(()=>[a(g,{class:"q-dialog-plugin bg-secondary text-main"},{default:e(()=>[a(r,null,{default:e(()=>[c("div",{class:"text-body2",innerHTML:t.message},null,8,f)]),_:1}),a(d,{align:"center"},{default:e(()=>[a(h,{"text-color":"main",color:"primary",label:o.$t("general.ok"),onClick:i.onOKClick},null,8,["label","onClick"])]),_:1})]),_:1})]),_:1},8,["onHide"])}const B=s(m,[["render",u]]);export{B}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/Configuration.5ddd817c.js b/resources/[tools]/unlimited-spectre/html/assets/Configuration.5ddd817c.js deleted file mode 100644 index 23bb6a22a..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/Configuration.5ddd817c.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as ia,a as ca,b as da,c as va,d as ga,e as ba,f as ma,g as fa,h as pa,i as ha,j as ka}from"./tr.2092e75c.js";import{H as ze,k as E,q as r,f as _a,F as Oe,b9 as De,aB as Ca,bl as ya,bn as we,x as o,M as He,h as Be,bt as je,b as We,bs as xa,d as Ve,ap as $a,bI as Sa,bJ as wa,aA as j,S as Ge,z as Te,_ as Ma,bK as qa,o as de,X as Ie,a7 as F,a as S,w as V,a6 as Va,ab as ve,a5 as W,U as D,Y as Ba,Z as Aa,c as Re,V as Ta,T as Ia,aP as Ra,aQ as Fa,W as Ea,a9 as La}from"./app-014d9ed9.js";import{T as Ye}from"./TouchPan.194313dc.js";import{b as ee,a as Pa,Q as Fe,c as Ua}from"./QItemLabel.b6dd3adb.js";import{b as le,a as Ee,c as Me,Q as Na}from"./QTabPanels.e712c208.js";import{u as Qa}from"./use-panel.c35d3e1e.js";import{Q as za}from"./QPopupProxy.441c18a6.js";import{Q as Oa}from"./QImg.91aecb73.js";import{Q as Da}from"./QSelect.d7ce3d4c.js";import"./externalHosting.js";import"./touch.70a9dd44.js";import"./selection.2a17b691.js";import"./QResizeObserver.2503502b.js";import"./rtl.b51694b1.js";import"./position-engine.65ebcb34.js";const Le="q-slider__marker-labels",Ha=e=>({value:e}),ja=({marker:e})=>o("div",{key:e.value,style:e.style,class:e.classes},e.label),Xe=[34,37,40,33,39,38],Wa={...Oe,...De,min:{type:Number,default:0},max:{type:Number,default:100},innerMin:Number,innerMax:Number,step:{type:Number,default:1,validator:e=>e>=0},snap:Boolean,vertical:Boolean,reverse:Boolean,hideSelection:Boolean,color:String,markerLabelsClass:String,label:Boolean,labelColor:String,labelTextColor:String,labelAlways:Boolean,switchLabelSide:Boolean,markers:[Boolean,Number],markerLabels:[Boolean,Array,Object,Function],switchMarkerLabelsSide:Boolean,trackImg:String,trackColor:String,innerTrackImg:String,innerTrackColor:String,selectionColor:String,selectionImg:String,thumbSize:{type:String,default:"20px"},trackSize:{type:String,default:"4px"},disable:Boolean,readonly:Boolean,dense:Boolean,tabindex:[String,Number],thumbColor:String,thumbPath:{type:String,default:"M 4, 10 a 6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0"}},Ga=["pan","update:modelValue","change"];function Ya({updateValue:e,updatePosition:s,getDragging:i,formAttrs:u}){const{props:a,emit:d,slots:v,proxy:{$q:p}}=Be(),q=ze(a,p),k=je(u),M=E(!1),T=E(!1),n=E(!1),_=E(!1),R=r(()=>a.vertical===!0?"--v":"--h"),G=r(()=>"-"+(a.switchLabelSide===!0?"switched":"standard")),P=r(()=>a.vertical===!0?a.reverse===!0:a.reverse!==(p.lang.rtl===!0)),U=r(()=>isNaN(a.innerMin)===!0||a.innerMinisNaN(a.innerMax)===!0||a.innerMax>a.max?a.max:a.innerMax),x=r(()=>a.disable!==!0&&a.readonly!==!0&&U.value(String(a.step).trim().split(".")[1]||"").length),Q=r(()=>a.step===0?1:a.step),ge=r(()=>x.value===!0?a.tabindex||0:-1),Y=r(()=>a.max-a.min),re=r(()=>y.value-U.value),X=r(()=>b(U.value)),ae=r(()=>b(y.value)),N=r(()=>a.vertical===!0?P.value===!0?"bottom":"top":P.value===!0?"right":"left"),H=r(()=>a.vertical===!0?"height":"width"),K=r(()=>a.vertical===!0?"width":"height"),te=r(()=>a.vertical===!0?"vertical":"horizontal"),$=r(()=>{const l={role:"slider","aria-valuemin":U.value,"aria-valuemax":y.value,"aria-orientation":te.value,"data-step":a.step};return a.disable===!0?l["aria-disabled"]="true":a.readonly===!0&&(l["aria-readonly"]="true"),l}),ne=r(()=>`q-slider q-slider${R.value} q-slider--${M.value===!0?"":"in"}active inline no-wrap `+(a.vertical===!0?"row":"column")+(a.disable===!0?" disabled":" q-slider--enabled"+(x.value===!0?" q-slider--editable":""))+(n.value==="both"?" q-slider--focus":"")+(a.label||a.labelAlways===!0?" q-slider--label":"")+(a.labelAlways===!0?" q-slider--label-always":"")+(q.value===!0?" q-slider--dark":"")+(a.dense===!0?" q-slider--dense q-slider--dense"+R.value:""));function J(l){const f="q-slider__"+l;return`${f} ${f}${R.value} ${f}${R.value}${G.value}`}function oe(l){const f="q-slider__"+l;return`${f} ${f}${R.value}`}const be=r(()=>{const l=a.selectionColor||a.color;return"q-slider__selection absolute"+(l!==void 0?` text-${l}`:"")}),me=r(()=>oe("markers")+" absolute overflow-hidden"),fe=r(()=>oe("track-container")),se=r(()=>J("pin")),pe=r(()=>J("label")),he=r(()=>J("text-container")),ke=r(()=>J("marker-labels-container")+(a.markerLabelsClass!==void 0?` ${a.markerLabelsClass}`:"")),_e=r(()=>"q-slider__track relative-position no-outline"+(a.trackColor!==void 0?` bg-${a.trackColor}`:"")),Ce=r(()=>{const l={[K.value]:a.trackSize};return a.trackImg!==void 0&&(l.backgroundImage=`url(${a.trackImg}) !important`),l}),ye=r(()=>"q-slider__inner absolute"+(a.innerTrackColor!==void 0?` bg-${a.innerTrackColor}`:"")),t=r(()=>{const l={[N.value]:`${100*X.value}%`,[H.value]:`${100*(ae.value-X.value)}%`};return a.innerTrackImg!==void 0&&(l.backgroundImage=`url(${a.innerTrackImg}) !important`),l});function c(l){const{min:f,max:h,step:C}=a;let B=f+l*(h-f);if(C>0){const O=(B-f)%C;B+=(Math.abs(O)>=C/2?(O<0?-1:1)*C:0)-O}return L.value>0&&(B=parseFloat(B.toFixed(L.value))),ee(B,U.value,y.value)}function b(l){return Y.value===0?0:(l-a.min)/Y.value}function m(l,f){const h=Ca(l),C=a.vertical===!0?ee((h.top-f.top)/f.height,0,1):ee((h.left-f.left)/f.width,0,1);return ee(P.value===!0?1-C:C,X.value,ae.value)}const A=r(()=>ya(a.markers)===!0?a.markers:Q.value),g=r(()=>{const l=[],f=A.value,h=a.max;let C=a.min;do l.push(C),C+=f;while(C{const l=` ${Le}${R.value}-`;return Le+`${l}${a.switchMarkerLabelsSide===!0?"switched":"standard"}${l}${P.value===!0?"rtl":"ltr"}`}),w=r(()=>a.markerLabels===!1?null:ie(a.markerLabels).map((l,f)=>({index:f,value:l.value,label:l.label||l.value,classes:I.value+(l.classes!==void 0?" "+l.classes:""),style:{...ce(l.value),...l.style||{}}}))),z=r(()=>({markerList:w.value,markerMap:Ze.value,classes:I.value,getStyle:ce})),ue=r(()=>{if(re.value!==0){const l=100*A.value/re.value;return{...t.value,backgroundSize:a.vertical===!0?`2px ${l}%`:`${l}% 2px`}}return null});function ie(l){if(l===!1)return null;if(l===!0)return g.value.map(Ha);if(typeof l=="function")return g.value.map(h=>{const C=l(h);return we(C)===!0?{...C,value:h}:{value:h,label:C}});const f=({value:h})=>h>=a.min&&h<=a.max;return Array.isArray(l)===!0?l.map(h=>we(h)===!0?h:{value:h}).filter(f):Object.keys(l).map(h=>{const C=l[h],B=Number(h);return we(C)===!0?{...C,value:B}:{value:B,label:C}}).filter(f)}function ce(l){return{[N.value]:`${100*(l-a.min)/Y.value}%`}}const Ze=r(()=>{if(a.markerLabels===!1)return null;const l={};return w.value.forEach(f=>{l[f.value]=f}),l});function ea(){if(v["marker-label-group"]!==void 0)return v["marker-label-group"](z.value);const l=v["marker-label"]||ja;return w.value.map(f=>l({marker:f,...z.value}))}const aa=r(()=>[[Ye,ta,void 0,{[te.value]:!0,prevent:!0,stop:!0,mouse:!0,mouseAllDir:!0}]]);function ta(l){l.isFinal===!0?(_.value!==void 0&&(s(l.evt),l.touch===!0&&e(!0),_.value=void 0,d("pan","end")),M.value=!1,n.value=!1):l.isFirst===!0?(_.value=i(l.evt),s(l.evt),e(),M.value=!0,d("pan","start")):(s(l.evt),e())}function Ae(){n.value=!1}function la(l){s(l,i(l)),e(),T.value=!0,M.value=!0,document.addEventListener("mouseup",xe,!0)}function xe(){T.value=!1,M.value=!1,e(!0),Ae(),document.removeEventListener("mouseup",xe,!0)}function ra(l){s(l,i(l)),e(!0)}function na(l){Xe.includes(l.keyCode)&&e(!0)}function oa(l){if(a.vertical===!0)return null;const f=p.lang.rtl!==a.reverse?1-l:l;return{transform:`translateX(calc(${2*f-1} * ${a.thumbSize} / 2 + ${50-100*f}%))`}}function sa(l){const f=r(()=>T.value===!1&&(n.value===l.focusValue||n.value==="both")?" q-slider--focus":""),h=r(()=>`q-slider__thumb q-slider__thumb${R.value} q-slider__thumb${R.value}-${P.value===!0?"rtl":"ltr"} absolute non-selectable`+f.value+(l.thumbColor.value!==void 0?` text-${l.thumbColor.value}`:"")),C=r(()=>({width:a.thumbSize,height:a.thumbSize,[N.value]:`${100*l.ratio.value}%`,zIndex:n.value===l.focusValue?2:void 0})),B=r(()=>l.labelColor.value!==void 0?` text-${l.labelColor.value}`:""),O=r(()=>oa(l.ratio.value)),$e=r(()=>"q-slider__text"+(l.labelTextColor.value!==void 0?` text-${l.labelTextColor.value}`:""));return()=>{const Se=[o("svg",{class:"q-slider__thumb-shape absolute-full",viewBox:"0 0 20 20","aria-hidden":"true"},[o("path",{d:a.thumbPath})]),o("div",{class:"q-slider__focus-ring fit"})];return(a.label===!0||a.labelAlways===!0)&&(Se.push(o("div",{class:se.value+" absolute fit no-pointer-events"+B.value},[o("div",{class:pe.value,style:{minWidth:a.thumbSize}},[o("div",{class:he.value,style:O.value},[o("span",{class:$e.value},l.label.value)])])])),a.name!==void 0&&a.disable!==!0&&k(Se,"push")),o("div",{class:h.value,style:C.value,...l.getNodeData()},Se)}}function ua(l,f,h,C){const B=[];a.innerTrackColor!=="transparent"&&B.push(o("div",{key:"inner",class:ye.value,style:t.value})),a.selectionColor!=="transparent"&&B.push(o("div",{key:"selection",class:be.value,style:l.value})),a.markers!==!1&&B.push(o("div",{key:"marker",class:me.value,style:ue.value})),C(B);const O=[He("div",{key:"trackC",class:fe.value,tabindex:f.value,...h.value},[o("div",{class:_e.value,style:Ce.value},B)],"slide",x.value,()=>aa.value)];if(a.markerLabels!==!1){const $e=a.switchMarkerLabelsSide===!0?"unshift":"push";O[$e](o("div",{key:"markerL",class:ke.value},ea()))}return O}return _a(()=>{document.removeEventListener("mouseup",xe,!0)}),{state:{active:M,focus:n,preventFocus:T,dragging:_,editable:x,classes:ne,tabindex:ge,attributes:$,step:Q,decimals:L,trackLen:Y,innerMin:U,innerMinRatio:X,innerMax:y,innerMaxRatio:ae,positionProp:N,sizeProp:H,isReversed:P},methods:{onActivate:la,onMobileClick:ra,onBlur:Ae,onKeyup:na,getContent:ua,getThumbRenderFn:sa,convertRatioToModel:c,convertModelToRatio:b,getDraggingRatio:m}}}const Xa=()=>({}),Z=We({name:"QSlider",props:{...Wa,modelValue:{required:!0,default:null,validator:e=>typeof e=="number"||e===null},labelValue:[String,Number]},emits:Ga,setup(e,{emit:s}){const{proxy:{$q:i}}=Be(),{state:u,methods:a}=Ya({updateValue:R,updatePosition:P,getDragging:G,formAttrs:xa(e)}),d=E(null),v=E(0),p=E(0);function q(){p.value=e.modelValue===null?u.innerMin.value:ee(e.modelValue,u.innerMin.value,u.innerMax.value)}Ve(()=>`${e.modelValue}|${u.innerMin.value}|${u.innerMax.value}`,q),q();const k=r(()=>a.convertModelToRatio(p.value)),M=r(()=>u.active.value===!0?v.value:k.value),T=r(()=>{const x={[u.positionProp.value]:`${100*u.innerMinRatio.value}%`,[u.sizeProp.value]:`${100*(M.value-u.innerMinRatio.value)}%`};return e.selectionImg!==void 0&&(x.backgroundImage=`url(${e.selectionImg}) !important`),x}),n=a.getThumbRenderFn({focusValue:!0,getNodeData:Xa,ratio:M,label:r(()=>e.labelValue!==void 0?e.labelValue:p.value),thumbColor:r(()=>e.thumbColor||e.color),labelColor:r(()=>e.labelColor),labelTextColor:r(()=>e.labelTextColor)}),_=r(()=>u.editable.value!==!0?{}:i.platform.is.mobile===!0?{onClick:a.onMobileClick}:{onMousedown:a.onActivate,onFocus:U,onBlur:a.onBlur,onKeydown:y,onKeyup:a.onKeyup});function R(x){p.value!==e.modelValue&&s("update:modelValue",p.value),x===!0&&s("change",p.value)}function G(){return d.value.getBoundingClientRect()}function P(x,L=u.dragging.value){const Q=a.getDraggingRatio(x,L);p.value=a.convertRatioToModel(Q),v.value=e.snap!==!0||e.step===0?Q:a.convertModelToRatio(p.value)}function U(){u.focus.value=!0}function y(x){if(!Xe.includes(x.keyCode))return;$a(x);const L=([34,33].includes(x.keyCode)?10:1)*u.step.value,Q=([34,37,40].includes(x.keyCode)?-1:1)*(u.isReversed.value===!0?-1:1)*(e.vertical===!0?-1:1)*L;p.value=ee(parseFloat((p.value+Q).toFixed(u.decimals.value)),u.innerMin.value,u.innerMax.value),R()}return()=>{const x=a.getContent(T,u.tabindex,_,L=>{L.push(n())});return o("div",{ref:d,class:u.classes.value+(e.modelValue===null?" q-slider--no-value":""),...u.attributes.value,"aria-valuenow":e.modelValue},x)}}}),Ka=/^rgb(a)?\((\d{1,3}),(\d{1,3}),(\d{1,3}),?([01]?\.?\d*?)?\)$/;function Pe({r:e,g:s,b:i,a:u}){const a=u!==void 0;if(e=Math.round(e),s=Math.round(s),i=Math.round(i),e>255||s>255||i>255||a&&u>100)throw new TypeError("Expected 3 numbers below 256 (and optionally one below 100)");return u=a?(Math.round(255*u/100)|1<<8).toString(16).slice(1):"","#"+(i|s<<8|e<<16|1<<24).toString(16).slice(1)+u}function Ue({r:e,g:s,b:i,a:u}){return`rgb${u!==void 0?"a":""}(${e},${s},${i}${u!==void 0?","+u/100:""})`}function Ke(e){if(typeof e!="string")throw new TypeError("Expected a string");e=e.replace(/^#/,""),e.length===3?e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]:e.length===4&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]+e[3]+e[3]);const s=parseInt(e,16);return e.length>6?{r:s>>24&255,g:s>>16&255,b:s>>8&255,a:Math.round((s&255)/2.55)}:{r:s>>16,g:s>>8&255,b:s&255}}function Ne({h:e,s,v:i,a:u}){let a,d,v;s=s/100,i=i/100,e=e/360;const p=Math.floor(e*6),q=e*6-p,k=i*(1-s),M=i*(1-q*s),T=i*(1-(1-q)*s);switch(p%6){case 0:a=i,d=T,v=k;break;case 1:a=M,d=i,v=k;break;case 2:a=k,d=i,v=T;break;case 3:a=k,d=M,v=i;break;case 4:a=T,d=k,v=i;break;case 5:a=i,d=k,v=M;break}return{r:Math.round(a*255),g:Math.round(d*255),b:Math.round(v*255),a:u}}function qe({r:e,g:s,b:i,a:u}){const a=Math.max(e,s,i),d=Math.min(e,s,i),v=a-d,p=a===0?0:v/a,q=a/255;let k;switch(a){case d:k=0;break;case e:k=s-i+v*(s["spectrum","tune","palette"].includes(e)},formatModel:{type:String,default:"auto",validator:e=>["auto","hex","rgb","hexa","rgba"].includes(e)},palette:Array,noHeader:Boolean,noHeaderTabs:Boolean,noFooter:Boolean,square:Boolean,flat:Boolean,bordered:Boolean,disable:Boolean,readonly:Boolean},emits:["update:modelValue","change"],setup(e,{emit:s}){const{proxy:i}=Be(),{$q:u}=i,a=ze(e,u),{getCache:d}=Qa(),v=E(null),p=E(null),q=r(()=>e.formatModel==="auto"?null:e.formatModel.indexOf("hex")>-1),k=r(()=>e.formatModel==="auto"?null:e.formatModel.indexOf("a")>-1),M=E(e.formatModel==="auto"?e.modelValue===void 0||e.modelValue===null||e.modelValue===""||e.modelValue.startsWith("#")?"hex":"rgb":e.formatModel.startsWith("hex")?"hex":"rgb"),T=E(e.defaultView),n=E(H(e.modelValue||e.defaultValue)),_=r(()=>e.disable!==!0&&e.readonly!==!0),R=r(()=>e.modelValue===void 0||e.modelValue===null||e.modelValue===""||e.modelValue.startsWith("#")),G=r(()=>q.value!==null?q.value:R.value),P=r(()=>({type:"hidden",name:e.name,value:n.value[G.value===!0?"hex":"rgb"]})),U=je(P),y=r(()=>k.value!==null?k.value:n.value.a!==void 0),x=r(()=>({backgroundColor:n.value.rgb||"#000"})),L=r(()=>`q-color-picker__header-content q-color-picker__header-content--${(n.value.a!==void 0&&n.value.a<65?!0:Ja(n.value)>.4)?"light":"dark"}`),Q=r(()=>({background:`hsl(${n.value.h},100%,50%)`})),ge=r(()=>({top:`${100-n.value.v}%`,[u.lang.rtl===!0?"right":"left"]:`${n.value.s}%`})),Y=r(()=>e.palette!==void 0&&e.palette.length>0?e.palette:Za),re=r(()=>"q-color-picker"+(e.bordered===!0?" q-color-picker--bordered":"")+(e.square===!0?" q-color-picker--square no-border-radius":"")+(e.flat===!0?" q-color-picker--flat no-shadow":"")+(e.disable===!0?" disabled":"")+(a.value===!0?" q-color-picker--dark q-dark":"")),X=r(()=>e.disable===!0?{"aria-disabled":"true"}:e.readonly===!0?{"aria-readonly":"true"}:{}),ae=r(()=>[[Ye,oe,void 0,{prevent:!0,stop:!0,mouse:!0}]]);Ve(()=>e.modelValue,t=>{const c=H(t||e.defaultValue);c.hex!==n.value.hex&&(n.value=c)}),Ve(()=>e.defaultValue,t=>{if(!e.modelValue&&t){const c=H(t);c.hex!==n.value.hex&&(n.value=c)}});function N(t,c){n.value.hex=Pe(t),n.value.rgb=Ue(t),n.value.r=t.r,n.value.g=t.g,n.value.b=t.b,n.value.a=t.a;const b=n.value[G.value===!0?"hex":"rgb"];s("update:modelValue",b),c===!0&&s("change",b)}function H(t){const c=k.value!==void 0?k.value:e.formatModel==="auto"?null:e.formatModel.indexOf("a")>-1;if(typeof t!="string"||t.length===0||Sa.anyColor(t.replace(/ /g,""))!==!0)return{h:0,s:0,v:0,r:0,g:0,b:0,a:c===!0?100:void 0,hex:void 0,rgb:void 0};const b=Je(t);return c===!0&&b.a===void 0&&(b.a=100),b.hex=Pe(b),b.rgb=Ue(b),Object.assign(b,qe(b))}function K(t,c,b){const m=v.value;if(m===null)return;const A=m.clientWidth,g=m.clientHeight,I=m.getBoundingClientRect();let w=Math.min(A,Math.max(0,t-I.left));u.lang.rtl===!0&&(w=A-w);const z=Math.min(g,Math.max(0,c-I.top)),ue=Math.round(100*w/A),ie=Math.round(100*Math.max(0,Math.min(1,-(z/g)+1))),ce=Ne({h:n.value.h,s:ue,v:ie,a:y.value===!0?n.value.a:void 0});n.value.s=ue,n.value.v=ie,N(ce,b)}function te(t,c){const b=Math.round(t),m=Ne({h:b,s:n.value.s,v:n.value.v,a:y.value===!0?n.value.a:void 0});n.value.h=b,N(m,c)}function $(t,c,b,m,A){if(m!==void 0&&j(m),!/^[0-9]+$/.test(t)){A===!0&&i.$forceUpdate();return}const g=Math.floor(Number(t));if(g<0||g>b){A===!0&&i.$forceUpdate();return}const I={r:c==="r"?g:n.value.r,g:c==="g"?g:n.value.g,b:c==="b"?g:n.value.b,a:y.value===!0?c==="a"?g:n.value.a:void 0};if(c!=="a"){const w=qe(I);n.value.h=w.h,n.value.s=w.s,n.value.v=w.v}if(N(I,A),m!==void 0&&A!==!0&&m.target.selectionEnd!==void 0){const w=m.target.selectionEnd;Te(()=>{m.target.setSelectionRange(w,w)})}}function ne(t,c){let b;const m=t.target.value;if(j(t),M.value==="hex"){if(m.length!==(y.value===!0?9:7)||!/^#[0-9A-Fa-f]+$/.test(m))return!0;b=Ke(m)}else{let g;if(m.endsWith(")"))if(y.value!==!0&&m.startsWith("rgb(")){if(g=m.substring(4,m.length-1).split(",").map(I=>parseInt(I,10)),g.length!==3||!/^rgb\([0-9]{1,3},[0-9]{1,3},[0-9]{1,3}\)$/.test(m))return!0}else if(y.value===!0&&m.startsWith("rgba(")){if(g=m.substring(5,m.length-1).split(","),g.length!==4||!/^rgba\([0-9]{1,3},[0-9]{1,3},[0-9]{1,3},(0|0\.[0-9]+[1-9]|0\.[1-9]+|1)\)$/.test(m))return!0;for(let w=0;w<3;w++){const z=parseInt(g[w],10);if(z<0||z>255)return!0;g[w]=z}const I=parseFloat(g[3]);if(I<0||I>1)return!0;g[3]=I}else return!0;else return!0;if(g[0]<0||g[0]>255||g[1]<0||g[1]>255||g[2]<0||g[2]>255||y.value===!0&&(g[3]<0||g[3]>1))return!0;b={r:g[0],g:g[1],b:g[2],a:y.value===!0?g[3]*100:void 0}}const A=qe(b);if(n.value.h=A.h,n.value.s=A.s,n.value.v=A.v,N(b,c),c!==!0){const g=t.target.selectionEnd;Te(()=>{t.target.setSelectionRange(g,g)})}}function J(t){const c=H(t),b={r:c.r,g:c.g,b:c.b,a:c.a};b.a===void 0&&(b.a=n.value.a),n.value.h=c.h,n.value.s=c.s,n.value.v=c.v,N(b,!0)}function oe(t){t.isFinal?K(t.position.left,t.position.top,!0):be(t)}const be=wa(t=>{K(t.position.left,t.position.top)},20);function me(t){K(t.pageX-window.pageXOffset,t.pageY-window.pageYOffset,!0)}function fe(t){K(t.pageX-window.pageXOffset,t.pageY-window.pageYOffset)}function se(t){p.value!==null&&(p.value.$el.style.opacity=t?1:0)}function pe(){const t=[];return e.noHeaderTabs!==!0&&t.push(o(Ee,{class:"q-color-picker__header-tabs",modelValue:M.value,dense:!0,align:"justify",...d("topVTab",{"onUpdate:modelValue":c=>{M.value=c}})},()=>[o(le,{label:"HEX"+(y.value===!0?"A":""),name:"hex",ripple:!1}),o(le,{label:"RGB"+(y.value===!0?"A":""),name:"rgb",ripple:!1})])),t.push(o("div",{class:"q-color-picker__header-banner row flex-center no-wrap"},[o("input",{class:"fit",value:n.value[M.value],..._.value!==!0?{readonly:!0}:{},...d("topIn",{onInput:c=>{se(ne(c)===!0)},onChange:j,onBlur:c=>{ne(c,!0)===!0&&i.$forceUpdate(),se(!1)}})}),o(Ge,{ref:p,class:"q-color-picker__error-icon absolute no-pointer-events",name:u.iconSet.type.negative})])),o("div",{class:"q-color-picker__header relative-position overflow-hidden"},[o("div",{class:"q-color-picker__header-bg absolute-full"}),o("div",{class:L.value,style:x.value},t)])}function he(){return o(Na,{modelValue:T.value,animated:!0},()=>[o(Me,{class:"q-color-picker__spectrum-tab overflow-hidden",name:"spectrum"},_e),o(Me,{class:"q-pa-md q-color-picker__tune-tab",name:"tune"},Ce),o(Me,{class:"q-color-picker__palette-tab",name:"palette"},ye)])}function ke(){return o("div",{class:"q-color-picker__footer relative-position overflow-hidden"},[o(Ee,{class:"absolute-full",modelValue:T.value,dense:!0,align:"justify",...d("ftIn",{"onUpdate:modelValue":t=>{T.value=t}})},()=>[o(le,{icon:u.iconSet.colorPicker.spectrum,name:"spectrum",ripple:!1}),o(le,{icon:u.iconSet.colorPicker.tune,name:"tune",ripple:!1}),o(le,{icon:u.iconSet.colorPicker.palette,name:"palette",ripple:!1})])])}function _e(){const t={ref:v,class:"q-color-picker__spectrum non-selectable relative-position cursor-pointer"+(_.value!==!0?" readonly":""),style:Q.value,..._.value===!0?{onClick:me,onMousedown:fe}:{}},c=[o("div",{style:{paddingBottom:"100%"}}),o("div",{class:"q-color-picker__spectrum-white absolute-full"}),o("div",{class:"q-color-picker__spectrum-black absolute-full"}),o("div",{class:"absolute",style:ge.value},[n.value.hex!==void 0?o("div",{class:"q-color-picker__spectrum-circle"}):null])],b=[o(Z,{class:"q-color-picker__hue non-selectable",modelValue:n.value.h,min:0,max:360,trackSize:"8px",innerTrackColor:"transparent",selectionColor:"transparent",readonly:_.value!==!0,thumbPath:Qe,"onUpdate:modelValue":te,...d("lazyhue",{onChange:m=>te(m,!0)})})];return y.value===!0&&b.push(o(Z,{class:"q-color-picker__alpha non-selectable",modelValue:n.value.a,min:0,max:100,trackSize:"8px",trackColor:"white",innerTrackColor:"transparent",selectionColor:"transparent",trackImg:et,readonly:_.value!==!0,hideSelection:!0,thumbPath:Qe,...d("alphaSlide",{"onUpdate:modelValue":m=>$(m,"a",100),onChange:m=>$(m,"a",100,void 0,!0)})})),[He("div",t,c,"spec",_.value,()=>ae.value),o("div",{class:"q-color-picker__sliders"},b)]}function Ce(){return[o("div",{class:"row items-center no-wrap"},[o("div","R"),o(Z,{modelValue:n.value.r,min:0,max:255,color:"red",dark:a.value,readonly:_.value!==!0,...d("rSlide",{"onUpdate:modelValue":t=>$(t,"r",255),onChange:t=>$(t,"r",255,void 0,!0)})}),o("input",{value:n.value.r,maxlength:3,readonly:_.value!==!0,onChange:j,...d("rIn",{onInput:t=>$(t.target.value,"r",255,t),onBlur:t=>$(t.target.value,"r",255,t,!0)})})]),o("div",{class:"row items-center no-wrap"},[o("div","G"),o(Z,{modelValue:n.value.g,min:0,max:255,color:"green",dark:a.value,readonly:_.value!==!0,...d("gSlide",{"onUpdate:modelValue":t=>$(t,"g",255),onChange:t=>$(t,"g",255,void 0,!0)})}),o("input",{value:n.value.g,maxlength:3,readonly:_.value!==!0,onChange:j,...d("gIn",{onInput:t=>$(t.target.value,"g",255,t),onBlur:t=>$(t.target.value,"g",255,t,!0)})})]),o("div",{class:"row items-center no-wrap"},[o("div","B"),o(Z,{modelValue:n.value.b,min:0,max:255,color:"blue",readonly:_.value!==!0,dark:a.value,...d("bSlide",{"onUpdate:modelValue":t=>$(t,"b",255),onChange:t=>$(t,"b",255,void 0,!0)})}),o("input",{value:n.value.b,maxlength:3,readonly:_.value!==!0,onChange:j,...d("bIn",{onInput:t=>$(t.target.value,"b",255,t),onBlur:t=>$(t.target.value,"b",255,t,!0)})})]),y.value===!0?o("div",{class:"row items-center no-wrap"},[o("div","A"),o(Z,{modelValue:n.value.a,color:"grey",readonly:_.value!==!0,dark:a.value,...d("aSlide",{"onUpdate:modelValue":t=>$(t,"a",100),onChange:t=>$(t,"a",100,void 0,!0)})}),o("input",{value:n.value.a,maxlength:3,readonly:_.value!==!0,onChange:j,...d("aIn",{onInput:t=>$(t.target.value,"a",100,t),onBlur:t=>$(t.target.value,"a",100,t,!0)})})]):null]}function ye(){const t=c=>o("div",{class:"q-color-picker__cube col-auto",style:{backgroundColor:c},..._.value===!0?d("palette#"+c,{onClick:()=>{J(c)}}):{}});return[o("div",{class:"row items-center q-color-picker__palette-rows"+(_.value===!0?" q-color-picker__palette-rows--editable":"")},Y.value.map(t))]}return()=>{const t=[he()];return e.name!==void 0&&e.disable!==!0&&U(t,"push"),e.noHeader!==!0&&t.unshift(pe()),e.noFooter!==!0&&t.push(ke()),o("div",{class:re.value,...X.value},t)}}});function tt(e,s=document.body){if(typeof e!="string")throw new TypeError("Expected a string as propName");if(!(s instanceof Element))throw new TypeError("Expected a DOM element");return getComputedStyle(s).getPropertyValue(`--q-${e}`).trim()||null}const lt={name:"Configuration",data(){return{pendingSave:!1,canUndo:!1,colorNames:["primary","secondary","main","sub","accent","dark","positive","negative","info","warning"],colors:{},lastColors:null,defaults:{primary:{value:"#7367f0"},secondary:{value:"#283046"},main:{value:"#ffffff"},sub:{value:"#9e9e9e"},accent:{value:"#03DAC6"},dark:{value:"#161d31"},positive:{value:"#4CAF50"},negative:{value:"#B00020"},info:{value:"#2196F3"},warning:{value:"#FB8C00"}}}},computed:{languages(){return[{label:this.$t("general.languages.de"),value:"de",icon:"de.png"},{label:this.$t("general.languages.dk"),value:"dk",icon:"dk.png"},{label:this.$t("general.languages.en"),value:"en",icon:"en.png"},{label:this.$t("general.languages.es"),value:"es",icon:"es.png"},{label:this.$t("general.languages.et"),value:"et",icon:"et.png"},{label:this.$t("general.languages.no"),value:"no",icon:"no.png"},{label:this.$t("general.languages.nl"),value:"nl",icon:"nl.png"},{label:this.$t("general.languages.pl"),value:"pl",icon:"pl.png"},{label:this.$t("general.languages.pt"),value:"pt",icon:"pt.png"},{label:this.$t("general.languages.ta"),value:"ta",icon:"ta.png"},{label:this.$t("general.languages.tr"),value:"tr",icon:"tr.png"}]}},methods:{getFlagUrl(e){return new URL(Object.assign({"../../../@core/assets/flags/de.png":ia,"../../../@core/assets/flags/dk.png":ca,"../../../@core/assets/flags/en.png":da,"../../../@core/assets/flags/es.png":va,"../../../@core/assets/flags/et.png":ga,"../../../@core/assets/flags/nl.png":ba,"../../../@core/assets/flags/no.png":ma,"../../../@core/assets/flags/pl.png":fa,"../../../@core/assets/flags/pt.png":pa,"../../../@core/assets/flags/ta.png":ha,"../../../@core/assets/flags/tr.png":ka})[`../../../@core/assets/flags/${e}`],self.location).toString()},deepClone(e){return JSON.parse(JSON.stringify(e))},resetColors(e,s){for(const[i,u]of Object.entries(e))this.changeColor(i,u.value);this.canUndo=s},undoColorChange(){this.colors=this.deepClone(this.lastColors),this.resetColors(this.colors,!1)},defaultColors(){this.colors=this.deepClone(this.defaults),this.resetColors(this.colors,!0)},changeColor(e,s){qa(e,s),this.canUndo=!0},async trySave(){this.pendingSave=!0,await this.$axios.post("/api/config/update",{colors:this.colors,lang:this.$i18n.locale}).then(e=>{if(!e.data.resCode){this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle"});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.saved")}),this.pendingSave=!1,this.canUndo=!1,this.lastColors=this.deepClone(this.colors)}).catch(e=>{})},async tryFixItems(){await this.$axios.post("/api/config/fix-items").then(e=>{if(!e.data.resCode){this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle"});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.saved")})}).catch(e=>{})}},mounted(){this.colorNames.forEach(e=>{this.colors[e]={value:tt(e)}}),this.lastColors=this.deepClone(this.colors)}},rt={class:"row q-pa-sm"},nt={class:"col-12"},ot={class:"col-12 col-md-6"},st={class:"text-h6 text-main"},ut={class:"text-caption text-sub"},it={class:"col-12 col-md-6"},ct={class:"text-h6 text-main"},dt={class:"text-caption text-sub"},vt={class:"text-main"},gt={class:"col-12 col-md-6"},bt={class:"text-h6 text-main"},mt={class:"text-caption text-sub"},ft={class:"col-12"},pt={class:"q-mt-md row justify-end"};function ht(e,s,i,u,a,d){return de(),Ie("div",rt,[F("div",nt,[S(Va,{class:"bg-secondary full-width row"},{default:V(()=>[F("div",ot,[S(W,null,{default:V(()=>[F("div",st,D(e.$t("components.configuration.colorsHeader")),1),F("div",ut,D(e.$t("components.configuration.colorsSub")),1)]),_:1}),S(W,{class:"row"},{default:V(()=>[(de(!0),Ie(Ba,null,Aa(a.colors,(v,p)=>(de(),Re(La,{filled:"",modelValue:v.value,"onUpdate:modelValue":q=>v.value=q,key:p,"label-color":"primary",label:e.$t(`components.configuration.colors.${p}`),"input-style":{color:"var(--q-main)"},class:"q-ma-sm"},{append:V(()=>[S(Ge,{name:"colorize",class:"cursor-pointer",color:"primary"},{default:V(()=>[S(za,{cover:"","transition-show":"scale","transition-hide":"scale"},{default:V(()=>[S(at,{modelValue:v.value,"onUpdate:modelValue":[q=>v.value=q,q=>d.changeColor(p,v.value)],class:"bg-secondary"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024)]),_:2},1032,["modelValue","onUpdate:modelValue","label","input-style"]))),128))]),_:1}),S(W,null,{default:V(()=>[a.canUndo?(de(),Re(ve,{key:0,"text-color":"main",color:"primary",onClick:d.undoColorChange,label:e.$t("components.configuration.buttons.undo")},null,8,["onClick","label"])):Ta("",!0),S(ve,{"text-color":"main",color:"primary",onClick:d.defaultColors,class:Ia({"q-ml-md":a.canUndo}),label:e.$t("components.configuration.buttons.defaults")},null,8,["onClick","class","label"])]),_:1})]),F("div",it,[S(W,null,{default:V(()=>[F("div",ct,D(e.$t("components.setup.langHeader")),1),F("div",dt,D(e.$t("components.setup.langSub")),1)]),_:1}),S(W,null,{default:V(()=>[S(Da,{color:"primary","label-color":"main",modelValue:e.$i18n.locale,"onUpdate:modelValue":s[0]||(s[0]=v=>e.$i18n.locale=v),"emit-value":"",options:d.languages,"popup-content-style":{backgroundColor:"var(--q-secondary)"}},{selected:V(()=>[F("div",vt,D(e.$t(`general.languages.${e.$i18n.locale}`)),1)]),option:V(v=>[S(Pa,Ra(Fa(v.itemProps)),{default:V(()=>[S(Fe,{avatar:""},{default:V(()=>[S(Oa,{src:d.getFlagUrl(v.opt.icon),"spinner-color":"primary"},null,8,["src"])]),_:2},1024),S(Fe,null,{default:V(()=>[S(Ua,{class:"text-main"},{default:V(()=>[Ea(D(v.opt.label),1)]),_:2},1024)]),_:2},1024)]),_:2},1040)]),_:1},8,["modelValue","options","popup-content-style"])]),_:1})]),F("div",gt,[S(W,null,{default:V(()=>[F("div",bt,D(e.$t("components.configuration.fixSupStashItemsHeader")),1),F("div",mt,D(e.$t("components.configuration.fixSupStashItemsSub")),1)]),_:1}),S(W,null,{default:V(()=>[S(ve,{"text-color":"main",color:"primary",onClick:d.tryFixItems,label:e.$t("components.configuration.buttons.fixSupStashItems"),class:"q-ml-md"},null,8,["onClick","label"])]),_:1})])]),_:1})]),F("div",ft,[F("div",pt,[S(ve,{disable:a.pendingSave,"text-color":"main",color:"primary",onClick:d.trySave,label:e.$t("general.save"),class:"q-ml-md"},null,8,["disable","onClick","label"])])])])}const Rt=Ma(lt,[["render",ht]]);export{Rt as default}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/Dashboard.5685c36e.js b/resources/[tools]/unlimited-spectre/html/assets/Dashboard.5685c36e.js deleted file mode 100644 index 668711779..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/Dashboard.5685c36e.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as k,o as c,c as D,w as l,a,a5 as m,a7 as s,U as e,aE as u,X as i,Z as g,Y as y,aa as w,ab as C,a6 as _,ac as j,T as $,S as v}from"./app-014d9ed9.js";import{Q as f}from"./QMarkupTable.ba6854cc.js";import"./externalHosting.js";const O={name:"PlayersOnDutyPrompt",props:{header:String,players:Object,type:String},emits:["ok","hide"],methods:{show(){this.$refs.dialog.show()},hide(){this.$refs.dialog.hide()},onDialogHide(){this.$emit("hide")},onOKClick(t){this.$emit("ok",{citizenid:t}),this.hide()},onCancelClick(){this.hide()}}},z={class:"text-h5"},G=s("th",{class:"text-left"},"ID",-1),Q={class:"text-left"},P={class:"text-left"},B={class:"text-left"},S=["onClick"],H={class:"text-left"},I={class:"text-left"},M={class:"text-left"},E={class:"text-left"};function F(t,n,o,p,q,h){return c(),D(j,{ref:"dialog",onHide:h.onDialogHide},{default:l(()=>[a(_,{class:"q-dialog-plugin bg-secondary text-main",style:{width:"fit-content","max-width":"1500px"}},{default:l(()=>[a(m,null,{default:l(()=>[s("div",z,e(o.header),1),a(u,{class:"q-mt-sm"})]),_:1}),a(m,null,{default:l(()=>[a(f,{class:"q-mt-sm bg-secondary text-main",style:{"max-height":"50vh"},separator:"none",flat:"",square:""},{default:l(()=>[s("thead",null,[s("tr",null,[G,s("th",Q,e(t.$t("components.dashboard.headers.name")),1),s("th",P,e(t.$t("components.dashboard.headers.character")),1),s("th",B,e(t.$t("components.dashboard.headers.rank")),1)])]),s("tbody",null,[(c(!0),i(y,null,g(o.players,(d,r)=>(c(),i("tr",{key:r,class:"cursor-pointer",onClick:b=>h.onOKClick(d.citizenid)},[s("td",H,e(d.id),1),s("td",I,e(d.name),1),s("td",M,e(d.charname),1),s("td",E,e(d[`${o.type}Grade`]),1)],8,S))),128))])]),_:1})]),_:1}),a(w,{align:"center"},{default:l(()=>[a(C,{"text-color":"main",color:"primary",label:t.$t("general.ok"),onClick:h.onDialogHide},null,8,["label","onClick"])]),_:1})]),_:1})]),_:1},8,["onHide"])}const x=k(O,[["render",F]]),J={name:"Dashboard",data:()=>({cpu:0,memory:0,usage:0,jobDutys:{},gangsOnline:{},players:[]}),computed:{sortedDutys(){return Object.entries(this.jobDutys).sort(([,t],[,n])=>n-t).reduce((t,[n,o])=>({...t,[n]:o}),{})},sortedGangs(){return Object.entries(this.gangsOnline).sort(([,t],[,n])=>n-t).reduce((t,[n,o])=>({...t,[n]:o}),{})}},methods:{updateDashboard(t){this.cpu=t.cpu,this.memory=t.memory.usedMemPercentage,this.usage=t.usage.toFixed(2),this.players=t.players,this.jobDutys=t.jobDutys,this.gangsOnline=t.gangsOnline},openJobDutyDialog(t){const n=this.players.filter(o=>o.job===t&&o.duty);n.length!==0&&this.$q.dialog({component:x,componentProps:{header:t,players:n.sort((o,p)=>o.jobGrade-p.jobGrade).reverse(),type:"job"},cancel:!1,persistent:!1}).onOk(o=>{this.$router.push({name:"game-player-detail",params:{citizenid:o.citizenid}})})},openGangDutyDialog(t){const n=this.players.filter(o=>o.gang===t);n.length!==0&&this.$q.dialog({component:x,componentProps:{header:t,players:n.sort((o,p)=>o.gangGrade-p.gangGrade).reverse(),type:"gang"},cancel:!1,persistent:!1}).onOk(o=>{this.$router.push({name:"game-player-detail",params:{citizenid:o.citizenid}})})}},mounted(){this.sockets.subscribe("dashboard::update",this.updateDashboard),this.$socket.emit("room::join","dashboard")},beforeUnmount(){this.sockets.unsubscribe("dashboard::update"),this.$socket.emit("room::leave","dashboard")}},K={class:"row"},N={class:"col-12 col-sm-6 col-md-4"},T={class:"row"},U={class:"col-6 column items-start"},V={class:"text-sub"},A={cols:"6",class:"col-6 row items-center justify-end"},L={class:"col-12 col-sm-6 col-md-4"},X={class:"row"},Y={class:"col-6 column items-start"},Z={class:"text-sub"},R={cols:"6",class:"col-6 row items-center justify-end"},W={class:"col-12 col-sm-6 col-md-4"},ss={class:"row items-start"},ts={class:"text-h5"},es={class:"text-sub"},as={class:"col-12 col-sm-6 col-md-4"},os={class:"row items-start"},ls={class:"row"},ns={class:"text-h5"},ds={class:"text-h5 text-primary text-bold q-ml-auto q-mr-sm"},rs=s("th",{class:"text-left"},"ID",-1),cs={class:"text-left"},is={class:"text-left"},hs=["onClick"],ms={class:"text-left"},us={class:"text-left"},_s={class:"text-left"},ps={class:"col-12 col-sm-6 col-md-4"},gs={class:"row items-start"},ys={class:"text-h5"},fs={class:"text-left"},bs={class:"text-left"},$s=["onClick"],vs={class:"text-left"},xs={class:"text-left"},ks={class:"col-12 col-sm-6 col-md-4"},qs={class:"row items-start"},Ds={class:"text-h5"},ws={class:"text-left"},Cs={class:"text-left"},js=["onClick"],Os={class:"text-left"},zs={class:"text-left"};function Gs(t,n,o,p,q,h){return c(),i("div",K,[s("div",N,[a(_,{class:"q-ma-sm bg-secondary"},{default:l(()=>[s("div",T,[s("div",U,[a(m,null,{default:l(()=>[s("div",{class:$(["text-h5",{"text-warning":t.cpu>=60,"text-negative":t.cpu>=75}])},e(t.cpu)+"% ",3),a(u,{class:"bg-primary q-my-xs"}),s("span",V,e(t.$t("components.dashboard.cpu")),1)]),_:1})]),s("div",A,[a(v,{class:"q-mr-lg",color:"primary",size:"md",name:"fas fa-microchip"})])])]),_:1})]),s("div",L,[a(_,{class:"q-ma-sm bg-secondary"},{default:l(()=>[s("div",X,[s("div",Y,[a(m,null,{default:l(()=>[s("div",{class:$(["text-h5",{"text-warning":t.memory>=60&&t.memory<75,"text-negative":t.memory>=75}])},e(t.memory)+"% ",3),a(u,{class:"bg-primary q-my-xs"}),s("span",Z,e(t.$t("components.dashboard.ram")),1)]),_:1})]),s("div",R,[a(v,{class:"q-mr-lg",color:"primary",size:"md",name:"fas fa-memory"})])])]),_:1})]),s("div",W,[a(_,{class:"q-ma-sm bg-secondary"},{default:l(()=>[s("div",ss,[a(m,null,{default:l(()=>[s("div",ts,e(t.usage)+" MB",1),a(u,{class:"bg-primary q-my-xs"}),s("span",es,e(t.$t("components.dashboard.process")),1)]),_:1})])]),_:1})]),s("div",as,[a(_,{class:"q-ma-sm bg-secondary"},{default:l(()=>[s("div",os,[a(m,{class:"full-width"},{default:l(()=>[s("div",ls,[s("div",ns,e(t.$t("components.dashboard.onlinePlayers")),1),s("div",ds,e(t.players.length),1)]),a(u,{class:"bg-primary q-my-xs"}),a(f,{class:"q-mt-sm bg-secondary text-main",style:{"max-height":"50vh"},separator:"none",flat:"",square:""},{default:l(()=>[s("thead",null,[s("tr",null,[rs,s("th",cs,e(t.$t("components.dashboard.headers.name")),1),s("th",is,e(t.$t("components.dashboard.headers.character")),1)])]),s("tbody",null,[(c(!0),i(y,null,g(t.players,(d,r)=>(c(),i("tr",{key:r,class:"cursor-pointer",onClick:b=>t.$router.push({name:"game-player-detail",params:{citizenid:d.citizenid}})},[s("td",ms,e(d.id),1),s("td",us,e(d.name),1),s("td",_s,e(d.charname),1)],8,hs))),128))])]),_:1})]),_:1})])]),_:1})]),s("div",ps,[a(_,{class:"q-ma-sm bg-secondary"},{default:l(()=>[s("div",gs,[a(m,{class:"full-width"},{default:l(()=>[s("div",ys,e(t.$t("components.dashboard.jobsDuty")),1),a(u,{class:"bg-primary q-my-xs"}),a(f,{class:"q-mt-sm bg-secondary text-main",separator:"none",style:{"max-height":"50vh"},flat:"",square:""},{default:l(()=>[s("thead",null,[s("tr",null,[s("th",fs,e(t.$t("components.dashboard.headers.job")),1),s("th",bs,e(t.$t("components.dashboard.headers.count")),1)])]),s("tbody",null,[(c(!0),i(y,null,g(h.sortedDutys,(d,r)=>(c(),i("tr",{class:"cursor-pointer",key:r,onClick:b=>h.openJobDutyDialog(r)},[s("td",vs,e(r),1),s("td",xs,e(d),1)],8,$s))),128))])]),_:1})]),_:1})])]),_:1})]),s("div",ks,[a(_,{class:"q-ma-sm bg-secondary"},{default:l(()=>[s("div",qs,[a(m,{class:"full-width"},{default:l(()=>[s("div",Ds,e(t.$t("components.dashboard.gangOnline")),1),a(u,{class:"bg-primary q-my-xs"}),a(f,{class:"q-mt-sm bg-secondary text-main",separator:"none",style:{"max-height":"50vh"},flat:"",square:""},{default:l(()=>[s("thead",null,[s("tr",null,[s("th",ws,e(t.$t("components.dashboard.headers.gang")),1),s("th",Cs,e(t.$t("components.dashboard.headers.count")),1)])]),s("tbody",null,[(c(!0),i(y,null,g(h.sortedGangs,(d,r)=>(c(),i("tr",{class:"cursor-pointer",key:r,onClick:b=>h.openGangDutyDialog(r)},[s("td",Os,e(r),1),s("td",zs,e(d),1)],8,js))),128))])]),_:1})]),_:1})])]),_:1})])])}const Ss=k(J,[["render",Gs]]);export{Ss as default}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/EditGameItem.ca08f00f.js b/resources/[tools]/unlimited-spectre/html/assets/EditGameItem.ca08f00f.js deleted file mode 100644 index 8ca871cba..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/EditGameItem.ca08f00f.js +++ /dev/null @@ -1 +0,0 @@ -import{x as m,b as x,bD as P,bE as z,F as A,ai as j,H as K,ak as G,q as $,ao as R,h as Y,bB as E,_,o as u,X as h,a7 as i,U as c,V as q,a as n,c as V,w as l,a5 as f,S as w,a8 as S,aP as W,aQ as X,W as k,a9 as g,ab as y,Z as N,Y as Q,aa as F,a6 as H,ac as T}from"./app-014d9ed9.js";import{Q as M}from"./QImg.91aecb73.js";import{e as B}from"./externalHosting.js";import{a as Z,Q as C,c as J}from"./QItemLabel.b6dd3adb.js";import{Q as ee}from"./QSelect.d7ce3d4c.js";import{Q as O}from"./QTooltip.9d840032.js";import{Q as L}from"./QMarkupTable.ba6854cc.js";import{Q as U}from"./QForm.8d79ab03.js";import{B as D}from"./BasicDialog.9dd9de92.js";const te=[m("rect",{x:"0",y:"0",width:" 100",height:"100",fill:"none"}),m("g",{transform:"translate(25 25)"},[m("rect",{x:"-20",y:"-20",width:" 40",height:"40",fill:"currentColor",opacity:"0.9"},[m("animateTransform",{attributeName:"transform",type:"scale",from:"1.5",to:"1",repeatCount:"indefinite",begin:"0s",dur:"1s",calcMode:"spline",keySplines:"0.2 0.8 0.2 0.8",keyTimes:"0;1"})])]),m("g",{transform:"translate(75 25)"},[m("rect",{x:"-20",y:"-20",width:" 40",height:"40",fill:"currentColor",opacity:"0.8"},[m("animateTransform",{attributeName:"transform",type:"scale",from:"1.5",to:"1",repeatCount:"indefinite",begin:"0.1s",dur:"1s",calcMode:"spline",keySplines:"0.2 0.8 0.2 0.8",keyTimes:"0;1"})])]),m("g",{transform:"translate(25 75)"},[m("rect",{x:"-20",y:"-20",width:" 40",height:"40",fill:"currentColor",opacity:"0.7"},[m("animateTransform",{attributeName:"transform",type:"scale",from:"1.5",to:"1",repeatCount:"indefinite",begin:"0.3s",dur:"1s",calcMode:"spline",keySplines:"0.2 0.8 0.2 0.8",keyTimes:"0;1"})])]),m("g",{transform:"translate(75 75)"},[m("rect",{x:"-20",y:"-20",width:" 40",height:"40",fill:"currentColor",opacity:"0.6"},[m("animateTransform",{attributeName:"transform",type:"scale",from:"1.5",to:"1",repeatCount:"indefinite",begin:"0.2s",dur:"1s",calcMode:"spline",keySplines:"0.2 0.8 0.2 0.8",keyTimes:"0;1"})])])],je=x({name:"QSpinnerCube",props:P,setup(e){const{cSize:t,classes:s}=z(e);return()=>m("svg",{class:s.value,width:t.value,height:t.value,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid"},te)}}),Ke=x({name:"QInnerLoading",props:{...A,...j,showing:Boolean,color:String,size:{type:[String,Number],default:42},label:String,labelClass:String,labelStyle:[String,Array,Object]},setup(e,{slots:t}){const s=Y(),p=K(e,s.proxy.$q),{transition:r,transitionStyle:d}=G(e,$(()=>e.showing)),a=$(()=>"q-inner-loading absolute-full column flex-center"+(p.value===!0?" q-inner-loading--dark":"")),b=$(()=>"q-inner-loading__label"+(e.labelClass!==void 0?` ${e.labelClass}`:""));function o(){const I=[m(E,{size:e.size,color:e.color})];return e.label!==void 0&&I.push(m("div",{class:b.value,style:e.labelStyle},[e.label])),I}function v(){return e.showing===!0?m("div",{class:a.value,style:d.value},t.default!==void 0?t.default():o()):null}return()=>m(R,{name:r.value,appear:!0},v)}}),ne={name:"FakeItem",props:{slotNumber:Number}},ie={class:"item"},oe={class:"header q-px-sm q-mb-sm"},le={key:0,class:"slot"},ae=i("div",{class:"info"},null,-1),se=i("div",{class:"icon q-pa-xs"},[i("div",{class:"image"})],-1),re=i("div",{class:"caption q-px-xs"},null,-1);function me(e,t,s,p,r,d){return u(),h("div",ie,[i("div",oe,[s.slotNumber<=5?(u(),h("div",le,c(s.slotNumber),1)):q("",!0),ae]),se,re])}const Ge=_(ne,[["render",me]]),de={name:"Item",props:{item:{},isPlayer:{default:!1}},data(){return{externalHosting:B}}},ce={class:"item"},ue={class:"header q-px-sm q-mb-sm"},fe={key:0,class:"slot"},he={class:"info"},pe={class:"icon q-pa-xs"},ge={class:"caption q-px-xs"};function ye(e,t,s,p,r,d){return u(),h("div",ce,[i("div",ue,[s.item.slot<=5&&s.isPlayer?(u(),h("div",fe,c(s.item.slot),1)):q("",!0),i("div",he,c(s.item.amount)+" ("+c(s.item.amount*s.item.weight/1e3)+") ",1)]),i("div",pe,[n(M,{class:"image",fit:"contain",src:`${r.externalHosting.backend}/public/inventory/icons/${s.item.image}`,"spinner-color":"primary"},null,8,["src"])]),i("div",ge,c(s.item.label),1)])}const Re=_(de,[["render",ye]]),be={name:"AddInventoryItem",data(){return{externalHosting:B,item:{info:{}},items:null,itemAccept:[""],info:[]}},computed:{getItemLabel(){if(!this.items)return"";const e=this.items.find(t=>t.value===this.item.name);return e?e.label:this.item.name}},props:{title:String},emits:["ok","hide"],methods:{isNumeric(e){return typeof e!="string"?!1:!isNaN(e)&&!isNaN(parseFloat(e))},isBoolean(e){return e==="true"||(e==="false"?!1:e)},filterItems(e,t){const s=e==null?void 0:e.toLowerCase();this.itemAccept=Object.freeze(this.items.filter(p=>{var r;return((r=p.label)==null?void 0:r.toLowerCase().indexOf(s))>-1})),t()},addInfo(){this.info.push({name:"",value:""})},removeInfo(e){const t=this.info.indexOf(e);t>-1&&this.$q.dialog({component:D,componentProps:{title:this.$i18n.t("components.inventory.deleteInfoHeader"),message:this.$i18n.t("components.inventory.deleteInfoMsg",{name:e.name})},cancel:!0,persistent:!0}).onOk(()=>{this.info.splice(t,1)})},show(){this.$refs.dialog.show()},hide(){this.$refs.dialog.hide()},onDialogHide(){this.$emit("hide")},onOKClick(){this.$refs.infoForm.validate().then(e=>{if(!e){this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.inventory.msg.error.uniqueInfo")});return}this.info.forEach(t=>{!t.name||(this.item.info[t.name]=this.isNumeric(t.value)?Number(t.value):this.isBoolean(t.value))}),this.$emit("ok",{item:this.item}),this.hide()})},onCancelClick(){this.hide()}},async mounted(){await this.$axios.get("/api/items/item-list").then(e=>{const t=e.data.items;if(!t){this.$q.notify({message:"Error",position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.inventory.msg.error.failedFetchItems")}),this.hide();return}this.items=t}).catch(()=>{this.$q.notify({message:"Error",position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.inventory.msg.error.failedFetchItems")}),this.hide()})}},ve=["innerHTML"],_e={class:"text-main"},$e={class:"row"},ke={class:"text-h6"},Ie={class:"text-caption text-sub"},Ce={class:"row q-mt-sm"},xe={style:{width:"30px"},class:"text-right vertical-middle"};function qe(e,t,s,p,r,d){return u(),V(T,{ref:"dialog",onHide:d.onDialogHide},{default:l(()=>[n(H,{class:"q-dialog-plugin bg-secondary text-main"},{default:l(()=>[n(f,{class:"row"},{default:l(()=>[i("div",{class:"text-body2",innerHTML:s.title},null,8,ve),n(w,{class:"q-ml-auto cursor-pointer",name:"close",onClick:S(d.hide,["stop"])},null,8,["onClick"])]),_:1}),n(f,null,{default:l(()=>[n(ee,{label:e.$t("components.inventory.itemName"),color:"primary","label-color":"primary",filled:"",modelValue:r.item.name,"onUpdate:modelValue":t[0]||(t[0]=a=>r.item.name=a),options:r.itemAccept,"popup-content-class":"bg-secondary text-main","use-input":"","emit-value":"","input-class":"text-main",onFilter:d.filterItems},{selected:l(()=>[i("div",_e,c(d.getItemLabel),1)]),option:l(a=>[n(Z,W(X(a.itemProps)),{default:l(()=>[n(C,{avatar:""},{default:l(()=>[n(M,{src:`${r.externalHosting.backend}/public/inventory/icons/${a.opt.image}`,"spinner-color":"primary",fit:"contain"},null,8,["src"])]),_:2},1024),n(C,null,{default:l(()=>[n(J,{class:"text-main"},{default:l(()=>[k(c(a.opt.label),1)]),_:2},1024)]),_:2},1024)]),_:2},1040)]),_:1},8,["label","modelValue","options","onFilter"]),n(g,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",type:"number",class:"q-mt-md",modelValue:r.item.amount,"onUpdate:modelValue":t[1]||(t[1]=a=>r.item.amount=a),modelModifiers:{number:!0},label:e.$t("components.inventory.amount")},null,8,["input-style","modelValue","label"])]),_:1}),n(f,null,{default:l(()=>[i("div",$e,[i("div",null,[i("div",ke,c(e.$t("components.inventory.infoSection")),1),i("div",Ie,c(e.$t("components.inventory.infoSectionSub")),1)])]),i("div",Ce,[n(y,{"text-color":"main",color:"primary",label:e.$t("components.inventory.addInfoValue"),onClick:d.addInfo},null,8,["label","onClick"])])]),_:1}),n(f,null,{default:l(()=>[n(U,{ref:"infoForm"},{default:l(()=>[n(L,{class:"bg-secondary text-main",flat:"",square:"",separator:"none"},{default:l(()=>[i("tbody",null,[(u(!0),h(Q,null,N(r.info,(a,b)=>(u(),h("tr",{key:`${b}-infoField`},[i("td",null,[n(g,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:a.name,"onUpdate:modelValue":o=>a.name=o,label:e.$t("components.inventory.infoName"),"lazy-rules":"",rules:[o=>o&&o.length>0||e.$t("rules.required"),o=>o&&!/\s/.test(o)||e.$t("rules.noSpace"),o=>o&&r.info.filter(v=>v.name===o).length<=1||e.$t("rules.unique")]},null,8,["input-style","modelValue","onUpdate:modelValue","label","rules"])]),i("td",null,[n(g,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",class:"q-field--with-bottom",modelValue:a.value,"onUpdate:modelValue":o=>a.value=o,label:e.$t("components.inventory.infoValue")},null,8,["input-style","modelValue","onUpdate:modelValue","label"])]),i("td",xe,[n(y,{"text-color":"main",class:"text-red-6",dense:"",flat:"",icon:"fas fa-trash",size:"xs",onClick:o=>d.removeInfo(a)},{default:l(()=>[n(O,null,{default:l(()=>[k(c(e.$t("general.delete")),1)]),_:1})]),_:2},1032,["onClick"])])]))),128))])]),_:1})]),_:1},512)]),_:1}),n(F,{align:"center"},{default:l(()=>[n(y,{"text-color":"main",color:"primary",label:e.$t("general.add"),onClick:d.onOKClick},null,8,["label","onClick"])]),_:1})]),_:1})]),_:1},8,["onHide"])}const Ye=_(be,[["render",qe]]),Ve={name:"EditInventoryItem",data(){return{info:[],editedItem:{}}},props:{title:String,item:Object},emits:["ok","hide"],methods:{isNumeric(e){return typeof e!="string"?!1:!isNaN(e)&&!isNaN(parseFloat(e))},isBoolean(e){return e==="true"||(e==="false"?!1:e)},addInfo(){this.info.push({name:"",value:""})},removeInfo(e){const t=this.info.indexOf(e);t>-1&&this.$q.dialog({component:D,componentProps:{title:this.$i18n.t("components.inventory.deleteInfoHeader"),message:this.$i18n.t("components.inventory.deleteInfoMsg",{name:e.name})},cancel:!0,persistent:!0}).onOk(()=>{this.info.splice(t,1)})},show(){this.$refs.dialog.show()},hide(){this.$refs.dialog.hide()},onDialogHide(){this.$emit("hide")},onOKClick(){this.$refs.infoForm.validate().then(e=>{if(!e){this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.inventory.msg.error.uniqueInfo")});return}this.info.forEach(t=>{!t.name||(this.editedItem.info[t.name]=this.isNumeric(t.value)?Number(t.value):this.isBoolean(t.value))}),this.$emit("ok",{item:this.editedItem}),this.hide()})},onCancelClick(){this.hide()}},mounted(){this.editedItem=this.item;for(const[e,t]of Object.entries(this.item.info))this.info.push({name:e,value:t});this.editedItem.info={}}},we=["innerHTML"],Se={class:"row"},Ne={class:"text-h6"},Qe={class:"text-caption text-sub"},Fe={class:"row q-mt-sm"},He={style:{width:"30px"},class:"text-right vertical-middle"};function Te(e,t,s,p,r,d){return u(),V(T,{ref:"dialog",onHide:d.onDialogHide},{default:l(()=>[n(H,{class:"q-dialog-plugin bg-secondary text-main"},{default:l(()=>[n(f,{class:"row"},{default:l(()=>[i("div",{class:"text-body2",innerHTML:s.title},null,8,we),n(w,{class:"q-ml-auto cursor-pointer",name:"close",onClick:S(d.hide,["stop"])},null,8,["onClick"])]),_:1}),n(f,null,{default:l(()=>[n(g,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",type:"number",class:"q-mt-md",modelValue:r.editedItem.amount,"onUpdate:modelValue":t[0]||(t[0]=a=>r.editedItem.amount=a),modelModifiers:{number:!0},label:e.$t("components.inventory.amount")},null,8,["input-style","modelValue","label"])]),_:1}),n(f,null,{default:l(()=>[i("div",Se,[i("div",null,[i("div",Ne,c(e.$t("components.inventory.infoSection")),1),i("div",Qe,c(e.$t("components.inventory.infoSectionSub")),1)])]),i("div",Fe,[n(y,{"text-color":"main",color:"primary",label:e.$t("components.inventory.addInfoValue"),onClick:d.addInfo},null,8,["label","onClick"])])]),_:1}),n(f,null,{default:l(()=>[n(U,{ref:"infoForm"},{default:l(()=>[n(L,{class:"bg-secondary text-main",flat:"",square:"",separator:"none"},{default:l(()=>[i("tbody",null,[(u(!0),h(Q,null,N(r.info,(a,b)=>(u(),h("tr",{key:`${b}-infoField`},[i("td",null,[n(g,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:a.name,"onUpdate:modelValue":o=>a.name=o,label:e.$t("components.inventory.infoName"),"lazy-rules":"",rules:[o=>o&&o.length>0||e.$t("rules.required"),o=>o&&!/\s/.test(o)||e.$t("rules.noSpace"),o=>o&&r.info.filter(v=>v.name===o).length<=1||e.$t("rules.unique")]},null,8,["input-style","modelValue","onUpdate:modelValue","label","rules"])]),i("td",null,[n(g,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",class:"q-field--with-bottom",modelValue:a.value,"onUpdate:modelValue":o=>a.value=o,label:e.$t("components.inventory.infoValue")},null,8,["input-style","modelValue","onUpdate:modelValue","label"])]),i("td",He,[n(y,{"text-color":"main",class:"text-red-6",dense:"",flat:"",icon:"fas fa-trash",size:"xs",onClick:o=>d.removeInfo(a)},{default:l(()=>[n(O,null,{default:l(()=>[k(c(e.$t("general.delete")),1)]),_:1})]),_:2},1032,["onClick"])])]))),128))])]),_:1})]),_:1},512)]),_:1}),n(F,{align:"center"},{default:l(()=>[n(y,{"text-color":"main",color:"primary",label:e.$t("general.ok"),onClick:d.onOKClick},null,8,["label","onClick"])]),_:1})]),_:1})]),_:1},8,["onHide"])}const Ee=_(Ve,[["render",Te]]);export{Ye as A,Ee as E,Ge as F,Re as I,Ke as Q,je as a}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/Error404.f36360c1.js b/resources/[tools]/unlimited-spectre/html/assets/Error404.f36360c1.js deleted file mode 100644 index b72d92a2b..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/Error404.f36360c1.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as r}from"./app-014d9ed9.js";import"./externalHosting.js";const o={name:"Error404"};function t(e,n,s,c,_,a){return null}const i=r(o,[["render",t]]);export{i as default}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/Gang.ae8786d2.css b/resources/[tools]/unlimited-spectre/html/assets/Gang.ae8786d2.css deleted file mode 100644 index db089a68d..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/Gang.ae8786d2.css +++ /dev/null @@ -1 +0,0 @@ -.drag-handle[data-v-7d41058c]{cursor:move}.q-table__middle[data-v-7d41058c]{overflow-y:hidden;overflow-x:auto} diff --git a/resources/[tools]/unlimited-spectre/html/assets/Gang.e4f2173b.js b/resources/[tools]/unlimited-spectre/html/assets/Gang.e4f2173b.js deleted file mode 100644 index 1998d4144..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/Gang.e4f2173b.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as S,R as I,P as E,o as m,X as f,a7 as t,a as n,w as r,a6 as _,ab as u,c as $,V,r as D,a5 as p,W as y,U as g,a9 as b,Y as C,Z as k,S as O,aT as U,bG as B,bH as Q}from"./app-014d9ed9.js";import{Q as G}from"./QTooltip.9d840032.js";import{Q as q}from"./QMarkupTable.ba6854cc.js";import{Q as M}from"./QForm.8d79ab03.js";import{S as A,m as T}from"./move.a5bc0ce3.js";import{d as j}from"./utils.9ce591f3.js";import{B as v}from"./BasicDialog.9dd9de92.js";import"./externalHosting.js";import"./position-engine.65ebcb34.js";import"./selection.2a17b691.js";const R={name:"Gang",data(){return{RESOURCE:I,ACTION:E,defaults:["name","grades","label"],customVars:[],sortable:null,pendingSave:!1,pendingDelete:!1,gang:{},gangGrades:[]}},methods:{can:j,isNumeric(e){return typeof e!="string"?!1:!isNaN(e)&&!isNaN(parseFloat(e))},isBoolean(e){return e==="true"||(e==="false"?!1:e)},addCustomVar(){this.customVars.push({name:"",value:""})},removeVar(e,a){e>-1&&this.$q.dialog({component:v,componentProps:{title:this.$i18n.t("components.gang.deleteHeader"),message:this.$i18n.t("components.gang.deleteCustomVarMsg",{name:a.name})},cancel:!0,persistent:!0}).onOk(()=>{delete this.gang[a.oldName],this.customVars.splice(e,1)})},removeNode(e){e.parentElement!==null&&e.parentElement.removeChild(e)},insertNodeAt(e,a,l){const d=l===0?e.children[0]:e.children[l-1].nextSibling;e.insertBefore(a,d)},buildGangGrade(e){let a=[];for(const[l,d]of Object.entries(e))a.push({name:d.name,isboss:d.isboss?d.isboss:!1});return a},updateBoss(){},addGrade(){this.gangGrades.push({name:"",isboss:!1})},removeGrade(e){const a=this.gangGrades.indexOf(e);a>-1&&this.$q.dialog({component:v,componentProps:{title:this.$i18n.t("components.gang.deleteHeader"),message:this.$i18n.t("components.gang.deleteGradeMsg",{name:e.name})},cancel:!0,persistent:!0}).onOk(()=>{this.gangGrades.splice(a,1)})},trySave(){this.$refs.customVarForm.validate().then(e=>{if(!e){this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.gang.msg.error.uniqueVars")});return}this.customVars.forEach(l=>{!l.name||(l.oldName=l.name,this.gang[l.name]=this.isNumeric(l.value)?Number(l.value):this.isBoolean(l.value))});let a={};for(const[l,d]of Object.entries(this.gangGrades)){if(!d.name)continue;const s=Object.keys(a).length;d.isboss?a[s]={name:d.name,isboss:!0}:a[s]={name:d.name}}if(Object.keys(a).length===0){this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.gang.msg.error.gradeNeeded")});return}this.pendingSave=!0,this.gang.grades=a,this.$axios.patch(`/api/gangs/save/${this.$route.params.gangId}`,this.gang).then(l=>{if(this.pendingSave=!1,!l.data.resCode){const s=l.data.resMsg;this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.gang.msg.error.${s}`,{name:this.gang.name})});return}Object.keys(a).length!==this.gangGrades.length&&(this.gangGrades=this.buildGangGrade(this.gang.grades)),this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.saved")})}).catch(l=>{})})},tryDelete(){this.pendingDelete=!0,this.$q.dialog({component:v,componentProps:{title:this.$i18n.t("components.gang.deleteHeader"),message:this.$i18n.t("components.gang.deleteMsg",{name:this.$route.params.gangId})},cancel:!0,persistent:!0}).onOk(()=>{this.$axios.delete(`/api/gangs/delete/${this.$route.params.gangId}`).then(e=>{if(this.pendingDelete=!1,!e.data.resCode){const l=e.data.resMsg;this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.gang.msg.error.${l}`,{name:this.$route.params.gangId})});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.deleted")}),this.$router.push({name:"dev-gang-list"})}).catch(e=>{})}).onCancel(()=>{this.pendingDelete=!1})}},mounted(){this.$axios.get(`/api/gangs/${this.$route.params.gangId}`).then(e=>{const a=e.data.gang;if(!a){this.$q.notify({message:e.data.msg,position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:"Error"});return}this.gang=a,this.gangGrades=this.buildGangGrade(this.gang.grades);for(const[s,c]of Object.entries(a))this.defaults.includes(s.toLowerCase())||this.customVars.push({name:s,value:c,oldName:s});const l=this.$el.querySelector(".q-table > draggable"),d=this;this.sortable=A.create(l,{handle:".drag-handle",animation:150,onEnd(s){s.oldIndex!==s.newIndex&&(d.removeNode(s.item),d.insertNodeAt(s.from,s.item,s.oldIndex),T(d.gangGrades,s.oldIndex,s.newIndex))}})}).catch(e=>{console.error(e)})},beforeUnmount(){this.sortable.destroy()}},x=e=>(B("data-v-7d41058c"),e=e(),Q(),e),F={class:"row"},H={class:"col-12"},L={class:"q-ma-sm row"},P={class:"text-h6"},z={class:"text-primary"},Y={class:"col-12"},W={class:"q-ma-sm row"},X={class:"row"},Z={class:"text-h6"},J={class:"text-caption text-sub"},K={class:"q-ml-auto"},ee={style:{width:"30px"},class:"text-right vertical-middle"},se={class:"col-12"},te={class:"q-ma-sm row"},ae={class:"row"},ne={class:"text-h6"},oe={class:"text-caption text-sub"},le={class:"q-ml-auto"},ie=x(()=>t("th",{class:"text-left",style:{width:"30px"}},null,-1)),re={class:"text-left",style:{"min-width":"280px"}},de={class:"text-center",style:{"min-width":"30px"}},ce=x(()=>t("th",{class:"text-right",style:{width:"30px"}},null,-1)),ge={class:"text-left"},me={class:"text-center vertical-middle"},ue={class:"text-right vertical-middle"},pe={class:"col-12"},he={class:"q-ma-sm row justify-end"};function fe(e,a,l,d,s,c){const w=D("draggable");return m(),f("div",F,[t("div",H,[t("div",L,[n(_,{class:"bg-secondary full-width row"},{default:r(()=>[n(p,{class:"col-12"},{default:r(()=>[t("div",P,[y(g(e.$t("components.gang.edit"))+": ",1),t("span",z,g(e.$route.params.gangId),1)])]),_:1}),n(p,{class:"col-12 col-md-6"},{default:r(()=>[n(b,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:s.gang.label,"onUpdate:modelValue":a[0]||(a[0]=i=>s.gang.label=i),label:e.$t("components.gang.label")},null,8,["input-style","modelValue","label"])]),_:1})]),_:1})])]),t("div",Y,[t("div",W,[n(_,{class:"bg-secondary full-width row"},{default:r(()=>[n(p,{class:"col-12"},{default:r(()=>[t("div",X,[t("div",null,[t("div",Z,g(e.$t("components.gang.customVariables")),1),t("div",J,g(e.$t("components.gang.customVarSub")),1)]),t("div",K,[n(u,{"text-color":"main",color:"primary",label:e.$t("components.gang.addCustomVar"),onClick:c.addCustomVar},null,8,["label","onClick"])])])]),_:1}),n(p,{class:"col-12"},{default:r(()=>[n(M,{ref:"customVarForm"},{default:r(()=>[n(q,{class:"bg-secondary text-main",flat:"",square:"",separator:"none"},{default:r(()=>[t("tbody",null,[(m(!0),f(C,null,k(s.customVars,(i,h)=>(m(),f("tr",{key:`${h}-customVar`},[t("td",null,[n(b,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:i.name,"onUpdate:modelValue":o=>i.name=o,label:e.$t("components.gang.customVarName"),"lazy-rules":"",rules:[o=>o&&o.length>0||e.$t("rules.required"),o=>o&&!/\s/.test(o)||e.$t("rules.noSpace"),o=>o&&s.customVars.filter(N=>N.name===o).length<=1||e.$t("rules.unique"),o=>o&&!s.defaults.includes(o.toLowerCase())||e.$t("rules.defaults")]},null,8,["input-style","modelValue","onUpdate:modelValue","label","rules"])]),t("td",null,[n(b,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",class:"q-field--with-bottom",modelValue:i.value,"onUpdate:modelValue":o=>i.value=o,label:e.$t("components.gang.customVarValue")},null,8,["input-style","modelValue","onUpdate:modelValue","label"])]),t("td",ee,[n(u,{"text-color":"main",class:"text-red-6",dense:"",flat:"",icon:"fas fa-trash",size:"xs",onClick:o=>c.removeVar(h,i)},{default:r(()=>[n(G,null,{default:r(()=>[y(g(e.$t("general.delete")),1)]),_:1})]),_:2},1032,["onClick"])])]))),128))])]),_:1})]),_:1},512)]),_:1})]),_:1})])]),t("div",se,[t("div",te,[n(_,{class:"bg-secondary full-width row"},{default:r(()=>[n(p,{class:"col-12"},{default:r(()=>[t("div",ae,[t("div",null,[t("div",ne,g(e.$t("components.gang.grades")),1),t("div",oe,g(e.$t("components.gang.gradesSub")),1)]),t("div",le,[n(u,{"text-color":"main",color:"primary",label:e.$t("components.gang.addGrade"),onClick:c.addGrade},null,8,["label","onClick"])])])]),_:1}),n(p,{class:"col-12"},{default:r(()=>[n(q,{class:"bg-secondary text-main",flat:"",square:"",separator:"none"},{default:r(()=>[t("thead",null,[t("tr",null,[ie,t("th",re,g(e.$t("components.gang.headers.name")),1),t("th",de,g(e.$t("components.gang.headers.isboss")),1),ce])]),n(w,{modelValue:s.gangGrades,"onUpdate:modelValue":a[1]||(a[1]=i=>s.gangGrades=i),style:{display:"table-row-group"},tag:"tbody"},{default:r(()=>[(m(!0),f(C,null,k(s.gangGrades,(i,h)=>(m(),f("tr",{class:"grade-table",key:`${i.isboss}-${h}`},[t("td",null,[n(O,{name:"fas fa-bars",class:"drag-handle"})]),t("td",ge,[n(b,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",label:e.$t("components.gang.headers.name"),modelValue:i.name,"onUpdate:modelValue":o=>i.name=o},null,8,["input-style","label","modelValue","onUpdate:modelValue"])]),t("td",me,[n(U,{onClick:o=>c.updateBoss(i,h),modelValue:i.isboss,"onUpdate:modelValue":o=>i.isboss=o},null,8,["onClick","modelValue","onUpdate:modelValue"])]),t("td",ue,[n(u,{"text-color":"main",class:"text-red-6",dense:"",flat:"",icon:"fas fa-trash",size:"xs",onClick:o=>c.removeGrade(i)},{default:r(()=>[n(G,null,{default:r(()=>[y(g(e.$t("general.delete")),1)]),_:1})]),_:2},1032,["onClick"])])]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1})])]),t("div",pe,[t("div",he,[n(u,{"text-color":"main",disable:s.pendingDelete||s.pendingSave,color:"primary",onClick:a[2]||(a[2]=i=>e.$router.push({name:"dev-gang-list"})),label:e.$t("general.back"),class:"q-mr-auto"},null,8,["disable","label"]),c.can(s.ACTION.DEV.GANG.MODIFY,s.RESOURCE.DEV)?(m(),$(u,{key:0,"text-color":"main",loading:s.pendingSave,disable:s.pendingDelete,color:"primary",onClick:c.trySave,label:e.$t("general.save"),class:"q-mr-sm"},null,8,["loading","disable","onClick","label"])):V("",!0),c.can(s.ACTION.DEV.GANG.DELETE,s.RESOURCE.DEV)?(m(),$(u,{key:1,"text-color":"main",loading:s.pendingDelete,disable:s.pendingSave,color:"negative",onClick:c.tryDelete,label:e.$t("general.delete")},null,8,["loading","disable","onClick","label"])):V("",!0)])])])}const xe=S(R,[["render",fe],["__scopeId","data-v-7d41058c"]]);export{xe as default}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/GangCreate.c8574556.css b/resources/[tools]/unlimited-spectre/html/assets/GangCreate.c8574556.css deleted file mode 100644 index e9a21fb54..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/GangCreate.c8574556.css +++ /dev/null @@ -1 +0,0 @@ -.drag-handle[data-v-bd31e4ed]{cursor:move}.q-table__middle[data-v-bd31e4ed]{overflow-y:hidden;overflow-x:auto} diff --git a/resources/[tools]/unlimited-spectre/html/assets/GangCreate.fdc0e4eb.js b/resources/[tools]/unlimited-spectre/html/assets/GangCreate.fdc0e4eb.js deleted file mode 100644 index bd3e31c10..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/GangCreate.fdc0e4eb.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as S,o as g,X as p,a7 as s,a as t,w as r,a6 as _,ab as h,r as N,a5 as u,U as m,a9 as f,Y as y,Z as v,W as V,S as I,aT as U,bG as B,bH as Q}from"./app-014d9ed9.js";import{Q as $}from"./QForm.8d79ab03.js";import{Q as C}from"./QTooltip.9d840032.js";import{Q as x}from"./QMarkupTable.ba6854cc.js";import{B as q}from"./BasicDialog.9dd9de92.js";import{S as O,m as F}from"./move.a5bc0ce3.js";import"./externalHosting.js";import"./position-engine.65ebcb34.js";import"./selection.2a17b691.js";const j={name:"GangCreate",data(){return{defaults:["name","grades","label"],customVars:[],sortable:null,pendingSave:!1,gang:{name:"",grades:{},label:""},gangGrades:[]}},methods:{isNumeric(e){return typeof e!="string"?!1:!isNaN(e)&&!isNaN(parseFloat(e))},isBoolean(e){return e==="true"||(e==="false"?!1:e)},addCustomVar(){this.customVars.push({name:"",value:""})},removeVar(e){const l=this.customVars.indexOf(e);l>-1&&this.$q.dialog({component:q,componentProps:{title:this.$i18n.t("components.gang.deleteHeader"),message:this.$i18n.t("components.gang.deleteCustomVarMsg",{name:e.name})},cancel:!0,persistent:!0}).onOk(()=>{this.customVars.splice(l,1)})},removeNode(e){e.parentElement!==null&&e.parentElement.removeChild(e)},insertNodeAt(e,l,o){const d=o===0?e.children[0]:e.children[o-1].nextSibling;e.insertBefore(l,d)},buildGangGrade(e){let l=[];for(const[o,d]of Object.entries(e))l.push({name:d.name,isboss:d.isboss?d.isboss:!1});return l},updateBoss(){},addGrade(){this.gangGrades.push({name:"",isboss:!1})},removeGrade(e){const l=this.gangGrades.indexOf(e);l>-1&&this.$q.dialog({component:q,componentProps:{title:this.$i18n.t("components.gang.deleteHeader"),message:this.$i18n.t("components.gang.deleteGradeMsg",{name:e.name})},cancel:!0,persistent:!0}).onOk(()=>{this.gangGrades.splice(l,1)})},trySave(){this.$refs.gangForm.validate().then(e=>{if(!e){this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.gang.msg.error.missingFields")});return}this.$refs.customVarForm.validate().then(l=>{if(!l){this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.gang.msg.error.uniqueVars")});return}this.customVars.forEach(d=>{!d.name||(this.gang[d.name]=this.isNumeric(d.value)?Number(d.value):this.isBoolean(d.value))});let o={};for(const[d,i]of Object.entries(this.gangGrades)){if(!i.name)continue;const c=Object.keys(o).length;i.isboss?o[c]={name:i.name,isboss:!0}:o[c]={name:i.name}}if(Object.keys(o).length===0){this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.gang.msg.error.gradeNeeded")});return}this.pendingSave=!0,this.gang.grades=o,this.$axios.post("/api/gangs/create",this.gang).then(d=>{if(this.pendingSave=!1,!d.data.resCode){const c=d.data.resMsg;this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.gang.msg.error.${c}`,{name:this.gang.name})});return}Object.keys(o).length!==this.gangGrades.length&&(this.gangGrades=this.buildGangGrade(this.gang.grades)),this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.saved")}),this.$router.push({name:"dev-gang-list"})}).catch(d=>{})})})}},mounted(){const e=this.$el.querySelector(".q-table > draggable"),l=this;this.sortable=O.create(e,{handle:".drag-handle",animation:150,onEnd(o){o.oldIndex!==o.newIndex&&(l.removeNode(o.item),l.insertNodeAt(o.from,o.item,o.oldIndex),F(l.gangGrades,o.oldIndex,o.newIndex))}})},beforeUnmount(){this.sortable.destroy()}},w=e=>(B("data-v-bd31e4ed"),e=e(),Q(),e),E={class:"row"},M={class:"col-12"},T={class:"q-ma-sm row"},z={class:"text-h6"},A={class:"col-12"},H={class:"q-ma-sm row"},L={class:"row"},D={class:"text-h6"},P={class:"text-caption text-sub"},W={class:"q-ml-auto"},X={style:{width:"30px"},class:"text-right vertical-middle"},Y={class:"col-12"},Z={class:"q-ma-sm row"},J={class:"row"},K={class:"text-h6"},R={class:"text-caption text-sub"},ee={class:"q-ml-auto"},se=w(()=>s("th",{class:"text-left",style:{width:"30px"}},null,-1)),te={class:"text-left",style:{"min-width":"280px"}},ae={class:"text-center",style:{"min-width":"30px"}},le=w(()=>s("th",{class:"text-right",style:{width:"30px"}},null,-1)),ne={class:"text-left"},oe={class:"text-center vertical-middle"},re={class:"text-right vertical-middle"},ie={class:"col-12"},de={class:"q-ma-sm row justify-end"};function ce(e,l,o,d,i,c){const G=N("draggable");return g(),p("div",E,[s("div",M,[s("div",T,[t(_,{class:"bg-secondary full-width row"},{default:r(()=>[t(u,{class:"col-12"},{default:r(()=>[s("div",z,m(e.$t("components.gangCreate.new"))+":",1)]),_:1}),t(u,{class:"col-12 col-md-6"},{default:r(()=>[t($,{ref:"gangForm"},{default:r(()=>[t(f,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:i.gang.name,"onUpdate:modelValue":l[0]||(l[0]=a=>i.gang.name=a),onChange:l[1]||(l[1]=a=>{i.gang.name=a.toLowerCase()}),label:e.$t("components.gang.name"),rules:[a=>a&&a.length>0||e.$t("rules.required"),a=>a&&!/\s/.test(a)||e.$t("rules.noSpace")]},null,8,["input-style","modelValue","label","rules"])]),_:1},512)]),_:1}),t(u,{class:"col-12 col-md-6"},{default:r(()=>[t(f,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:i.gang.label,"onUpdate:modelValue":l[2]||(l[2]=a=>i.gang.label=a),label:e.$t("components.gang.label")},null,8,["input-style","modelValue","label"])]),_:1})]),_:1})])]),s("div",A,[s("div",H,[t(_,{class:"bg-secondary full-width row"},{default:r(()=>[t(u,{class:"col-12"},{default:r(()=>[s("div",L,[s("div",null,[s("div",D,m(e.$t("components.gang.customVariables")),1),s("div",P,m(e.$t("components.gang.customVarSub")),1)]),s("div",W,[t(h,{"text-color":"main",color:"primary",label:e.$t("components.gang.addCustomVar"),onClick:c.addCustomVar},null,8,["label","onClick"])])])]),_:1}),t(u,{class:"col-12"},{default:r(()=>[t($,{ref:"customVarForm"},{default:r(()=>[t(x,{class:"bg-secondary text-main",flat:"",square:"",separator:"none"},{default:r(()=>[s("tbody",null,[(g(!0),p(y,null,v(i.customVars,(a,b)=>(g(),p("tr",{key:`${b}-customVar`},[s("td",null,[t(f,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:a.name,"onUpdate:modelValue":n=>a.name=n,label:e.$t("components.gang.customVarName"),"lazy-rules":"",rules:[n=>n&&n.length>0||e.$t("rules.required"),n=>n&&!/\s/.test(n)||e.$t("rules.noSpace"),n=>n&&i.customVars.filter(k=>k.name===n).length<=1||e.$t("rules.unique"),n=>n&&!i.defaults.includes(n.toLowerCase())||e.$t("rules.defaults")]},null,8,["input-style","modelValue","onUpdate:modelValue","label","rules"])]),s("td",null,[t(f,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",class:"q-field--with-bottom",modelValue:a.value,"onUpdate:modelValue":n=>a.value=n,label:e.$t("components.gang.customVarValue")},null,8,["input-style","modelValue","onUpdate:modelValue","label"])]),s("td",X,[t(h,{"text-color":"main",class:"text-red-6",dense:"",flat:"",icon:"fas fa-trash",size:"xs",onClick:n=>c.removeVar(a)},{default:r(()=>[t(C,null,{default:r(()=>[V(m(e.$t("general.delete")),1)]),_:1})]),_:2},1032,["onClick"])])]))),128))])]),_:1})]),_:1},512)]),_:1})]),_:1})])]),s("div",Y,[s("div",Z,[t(_,{class:"bg-secondary full-width row"},{default:r(()=>[t(u,{class:"col-12"},{default:r(()=>[s("div",J,[s("div",null,[s("div",K,m(e.$t("components.gang.grades")),1),s("div",R,m(e.$t("components.gang.gradesSub")),1)]),s("div",ee,[t(h,{"text-color":"main",color:"primary",label:e.$t("components.gang.addGrade"),onClick:c.addGrade},null,8,["label","onClick"])])])]),_:1}),t(u,{class:"col-12"},{default:r(()=>[t(x,{class:"bg-secondary text-main",flat:"",square:"",separator:"none"},{default:r(()=>[s("thead",null,[s("tr",null,[se,s("th",te,m(e.$t("components.gang.headers.name")),1),s("th",ae,m(e.$t("components.gang.headers.isboss")),1),le])]),t(G,{modelValue:i.gangGrades,"onUpdate:modelValue":l[3]||(l[3]=a=>i.gangGrades=a),style:{display:"table-row-group"},tag:"tbody"},{default:r(()=>[(g(!0),p(y,null,v(i.gangGrades,(a,b)=>(g(),p("tr",{class:"grade-table",key:`${a.isboss}-${b}`},[s("td",null,[t(I,{name:"fas fa-bars",class:"drag-handle"})]),s("td",ne,[t(f,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",label:e.$t("components.gang.headers.name"),modelValue:a.name,"onUpdate:modelValue":n=>a.name=n},null,8,["input-style","label","modelValue","onUpdate:modelValue"])]),s("td",oe,[t(U,{onClick:n=>c.updateBoss(a,b),modelValue:a.isboss,"onUpdate:modelValue":n=>a.isboss=n},null,8,["onClick","modelValue","onUpdate:modelValue"])]),s("td",re,[t(h,{"text-color":"main",class:"text-red-6",dense:"",flat:"",icon:"fas fa-trash",size:"xs",onClick:n=>c.removeGrade(a)},{default:r(()=>[t(C,null,{default:r(()=>[V(m(e.$t("general.delete")),1)]),_:1})]),_:2},1032,["onClick"])])]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1})])]),s("div",ie,[s("div",de,[t(h,{"text-color":"main",loading:i.pendingSave,color:"primary",onClick:c.trySave,label:e.$t("general.create"),class:"q-mr-sm"},null,8,["loading","onClick","label"])])])])}const ve=S(j,[["render",ce],["__scopeId","data-v-bd31e4ed"]]);export{ve as default}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/GangList.74e60440.js b/resources/[tools]/unlimited-spectre/html/assets/GangList.74e60440.js deleted file mode 100644 index bc6f21dde..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/GangList.74e60440.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as b,P as h,R as f,bh as w,o as d,X as y,a as t,w as s,a6 as v,c,bi as k,r as _,a7 as i,U as g,ab as L,V as $,aE as C,a9 as E,S,W as m}from"./app-014d9ed9.js";import{Q as V,a as P,b as p}from"./QTable.d759a99d.js";import{d as Q}from"./utils.9ce591f3.js";import"./externalHosting.js";import"./QList.9d5bb77f.js";import"./QMarkupTable.ba6854cc.js";import"./QSelect.d7ce3d4c.js";import"./QItemLabel.b6dd3adb.js";import"./position-engine.65ebcb34.js";import"./selection.2a17b691.js";import"./rtl.b51694b1.js";const R={name:"GangList",data(){return{ACTION:h,RESOURCE:f,gangs:[],columns:[{name:"name",align:"left",label:this.$i18n.t("components.gangList.headers.name"),field:e=>e.name,format:e=>`${e}`,sortable:!0},{name:"label",align:"left",label:this.$i18n.t("components.gangList.headers.label"),field:e=>e.label,format:e=>`${e}`,sortable:!0},{name:"grades",align:"center",label:this.$i18n.t("components.gangList.headers.grades"),field:e=>e.grades,format:e=>`${e}`,sortable:!0}],pagination:{sortBy:"desc",descending:!1,page:1,rowsPerPage:25},loading:!0}},computed:{...w(k,["searchFilter","paginationSave"])},methods:{can:Q,onRowClick(e){this.$router.push({name:"dev-gang-detail",params:{gangId:e.name}})},getPaginationLabel(e,n,r){return this.$i18n.t("components.gangList.paginationLabel",{from:e,to:n,total:r})},updatePagination(e){this.loading||(this.paginationSave=e,this.pagination=e)}},mounted(){this.$route.name==="dev-gang-list"&&this.$axios.get("/api/gangs").then(e=>{for(const[n,r]of Object.entries(e.data.gangs))this.gangs.push({name:n,...r});this.loading=!1,this.pagination={...this.paginationSave}})}},N={key:0,class:"row q-pa-sm"},T={class:"row"},q={class:"col-12"},B={class:"q-mx-md q-my-sm row flex-center"},O={class:"text-caption text-sub"},U={class:"q-ml-auto"};function D(e,n,r,G,o,l){const u=_("router-view");return e.$route.name==="dev-gang-list"?(d(),y("div",N,[t(v,{class:"bg-secondary full-width"},{default:s(()=>[i("div",T,[i("div",q,[i("div",B,[i("div",O,g(e.$t("components.gangList.subheader")),1),i("div",U,[l.can(o.ACTION.DEV.GANG.CREATE,o.RESOURCE.DEV)?(d(),c(L,{key:0,"text-color":"main",color:"primary",onClick:n[0]||(n[0]=a=>e.$router.push({name:"dev-gang-create"})),label:e.$t("components.gangList.createGang"),class:"q-ma-sm"},null,8,["label"])):$("",!0)])]),t(C),t(V,{color:"primary","card-class":"bg-secondary text-main","table-class":"text-main","table-header-class":"text-primary",flat:"",rows:o.gangs,columns:o.columns,"row-key":"name",pagination:o.pagination,"rows-per-page-options":[0,25,50,100],"no-results-label":e.$t("components.gangList.noData"),"loading-label":e.$t("components.gangList.loadData"),loading:o.loading,filter:e.searchFilter,"pagination-label":l.getPaginationLabel,"rows-per-page-label":`${e.$t("components.gangList.recordsPerPage")}:`,"onUpdate:pagination":l.updatePagination},{"top-right":s(()=>[t(E,{"input-style":{color:"var(--q-main)"},borderless:"",dense:"",debounce:"300",modelValue:e.searchFilter,"onUpdate:modelValue":n[1]||(n[1]=a=>e.searchFilter=a),placeholder:e.$t("general.search")},{append:s(()=>[t(S,{class:"text-main",name:"search"})]),_:1},8,["input-style","modelValue","placeholder"])]),body:s(a=>[t(P,{props:a,onClick:I=>l.onRowClick(a.row),class:"cursor-pointer"},{default:s(()=>[t(p,{key:"name",props:a},{default:s(()=>[m(g(a.row.name),1)]),_:2},1032,["props"]),t(p,{key:"label",props:a},{default:s(()=>[m(g(a.row.label),1)]),_:2},1032,["props"]),t(p,{key:"grades",props:a},{default:s(()=>[m(g(Object.keys(a.row.grades).length),1)]),_:2},1032,["props"])]),_:2},1032,["props","onClick"])]),_:1},8,["rows","columns","pagination","no-results-label","loading-label","loading","filter","pagination-label","rows-per-page-label","onUpdate:pagination"])])])]),_:1})])):(d(),c(u,{key:1}))}const Y=b(R,[["render",D]]);export{Y as default}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/Inventory.230c12ef.css b/resources/[tools]/unlimited-spectre/html/assets/Inventory.230c12ef.css deleted file mode 100644 index b96c1f970..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/Inventory.230c12ef.css +++ /dev/null @@ -1 +0,0 @@ -.actions{width:15vh}.inventory-wrapper{overflow-y:auto;overflow-x:hidden;background:#3b4253;height:76vh}.inventory-wrapper::-webkit-scrollbar{width:4px}.inventory-wrapper::-webkit-scrollbar-thumb{border-radius:50px;background:var(--q-primary)}.inventory-container{display:grid;box-sizing:border-box;grid-template-columns:repeat(4,9.5vh);grid-gap:0 4px}@media (min-width: 800px){.inventory-container{grid-template-columns:repeat(3,9.5vh)}}@media (min-width: 1024px){.inventory-container{grid-template-columns:repeat(4,9.5vh)}}@media (min-width: 1440px){.inventory-container{grid-template-columns:repeat(5,9.5vh)}}.inventory-container-mobile{display:flex;flex-wrap:wrap}.item-slot{width:9.5vh;display:flex;flex-direction:column;user-select:none;border:1px solid rgba(68,68,68,.4);border-radius:4px;margin:2px}.item{width:9.5vh;font-size:1.1vh;color:var(--q-main);border-radius:4px;background-color:#0000001a;overflow:hidden;cursor:pointer;user-select:none!important;pointer-events:none!important}.item .header{display:flex;justify-content:space-between;height:1.8vh;user-select:none!important;pointer-events:none!important}.item .header .slot{text-align:left;font-weight:700;user-select:none!important;pointer-events:none!important}.item .header .info{font-size:.9vh;flex-grow:1;text-align:right;user-select:none!important;pointer-events:none!important}.item .image{height:6.4vh;max-width:9.5vh;user-select:none!important;pointer-events:none!important}.item .caption{height:2.8vh;background-color:#0000004d;width:100%;text-align:center;line-height:2.8vh;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;user-select:none!important;pointer-events:none!important}.item-clone{position:fixed!important;pointer-events:none!important;z-index:100}.extra-dropzone{height:15vh;width:100%;user-select:none!important;pointer-events:none!important} diff --git a/resources/[tools]/unlimited-spectre/html/assets/Inventory.fab0074b.js b/resources/[tools]/unlimited-spectre/html/assets/Inventory.fab0074b.js deleted file mode 100644 index 76b51076f..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/Inventory.fab0074b.js +++ /dev/null @@ -1,2 +0,0 @@ -import{Q as I}from"./QTooltip.9d840032.js";import{_ as R,R as O,P as A,o as r,X as p,a7 as h,a as c,w as a,a6 as E,T as b,r as T,a5 as k,U as y,c as g,W as x,V as f,ab as C,ao as P,Y as $,Z as _,S as M,a9 as Y,L as w,aO as D,bC as N,aF as L}from"./app-014d9ed9.js";import{F as j,I as H,E as V,A as G,Q as z,a as B}from"./EditGameItem.ca08f00f.js";import{B as q}from"./BasicDialog.9dd9de92.js";import{B as Q}from"./BasicPrompt.0f8aac67.js";import{d as X}from"./utils.9ce591f3.js";import{e as U}from"./export-file.dc78ba05.js";import"./position-engine.65ebcb34.js";import"./selection.2a17b691.js";import"./externalHosting.js";import"./QImg.91aecb73.js";import"./QItemLabel.b6dd3adb.js";import"./QSelect.d7ce3d4c.js";import"./rtl.b51694b1.js";import"./QMarkupTable.ba6854cc.js";import"./QForm.8d79ab03.js";const F={name:"Inventory",components:{FakeItem:j,Item:H},data(){return{RESOURCE:O,ACTION:A,loading:!1,amount:0,supportStashSlots:250,playerSlots:0,inventory:[],supStash:[],dragging:!1,dragAndDrop:{shiftX:null,shiftY:null,clonedElement:null,itemIndex:null,selectedElement:null}}},computed:{isMobile(){return this.$q.platform.is.mobile}},methods:{can:X,isNumeric(e){return/^-?\d+$/.test(e)},async loadInventory(){await this.$axios.get(`/api/players/${this.$route.params.citizenid}/inventory`).then(e=>{const t=e.data.resCode,s=e.data.inventory,l=e.data.playerSlots,n=e.data.stash;if(!t||!s||!l||!n){this.$q.notify({message:"Error",position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.inventory.msg.error.${e.data.resMsg}`)}),setTimeout(this.$router.back(),1500);return}this.updateInventory(s,l),this.updateStash(n)}).catch(()=>{this.$q.notify({message:"Error",position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.inventory.msg.error.failedLoad")}),this.$q.dialog({component:q,componentProps:{title:this.$i18n.t("components.inventory.msg.error.fixPlayer"),message:this.$i18n.t("components.inventory.msg.error.fixPlayerText")},cancel:!0,persistent:!0}).onOk(()=>{this.$axios.post(`/api/players/${this.$route.params.citizenid}/inventory/fix-items`).then(e=>{const{resCode:t,resMsg:s,resItems:l}=e.data;if(!t){this.$q.notify({message:"Error",position:"top",color:"red",icon:"fas fa-exclamation-triangle"}),this.$router.push({name:"game-player-list"});return}U("deletedItems.txt",Object.entries(l).map(([n,i])=>`Slot ${n}: ${JSON.stringify(i,null,4)}`).join(` -`)),this.$q.dialog({component:Q,componentProps:{title:this.$i18n.t("general.success"),message:this.$i18n.t("components.inventory.msg.success.fixedPlayerItems")},persistent:!0}).onDismiss(()=>{this.$router.push({name:"game-player-detail",params:{citizenid:this.$route.params.citizenid}}).then(()=>{this.$router.go()})})})}).onCancel(()=>{this.$router.back()})})},updateInventory(e,t){const s=Object.keys(e).length>t?Object.keys(e).length:t,l=new Array(s).fill(null);for(const[n,i]of Object.entries(e)){const m=i.slot;l[m-1]=i}this.playerSlots=t,this.inventory=l},updateStash(e){const t=Object.keys(e).length>this.supportStashSlots?Object.keys(e).length:this.supportStashSlots,s=new Array(t).fill(null);for(const[l,n]of Object.entries(e)){const i=n.slot;s[i-1]=n}this.supStash=s},getTarget(e){const t=e.changedTouches?e.changedTouches[0]:!1;let s=e.target;return t&&(s=document.elementFromPoint(t.clientX,t.clientY)),s},selectItem(e){if(!this.can(A.GAME.PLAYER.INVENTORY,O.GAME)||this.dragging)return;this.dragging=!0;const t=document.getElementById(e.target.id);if(!t){this.dragging=!1;return}const s=e.touches&&e.touches[0]||e.pointerType&&e.pointerType==="touch"&&e,l=(s||e).clientX,n=(s||e).clientY;this.dragAndDrop.shiftX=l-t.getBoundingClientRect().left,this.dragAndDrop.shiftY=n-t.getBoundingClientRect().top,this.dragAndDrop.selectedElement={style:t.style,classList:t.classList.toString()},this.dragAndDrop.itemIndex=e.target.id;const i=t.cloneNode(!0);i.id=`cloned-${t.id}`,document.getElementById("app").append(i),this.clonedElement=document.getElementById(`cloned-${t.id}`),this.clonedElement.style.left=`${l-this.dragAndDrop.shiftX}px`,this.clonedElement.style.top=`${n-this.dragAndDrop.shiftY}px`,this.clonedElement.classList.add("item-clone"),this.clonedElement.style.position="absolute",t.style.pointerEvents="none",t.style.setProperty("opacity","0.2","important"),document.addEventListener("mouseup",this.dropItem),document.addEventListener("touchend",this.dropItem),document.addEventListener("touchmove",this.updatePosition,{passive:!1}),document.addEventListener("mousemove",this.updatePosition)},updatePosition(e){const t=e.touches&&e.touches[0]||e.pointerType&&e.pointerType==="touch"&&e,s=(t||e).clientX,l=(t||e).clientY;this.clonedElement.style.left=`${s-this.dragAndDrop.shiftX}px`,this.clonedElement.style.top=`${l-this.dragAndDrop.shiftY}px`,this.mouseOver(e),e.preventDefault()},mouseOver(e){const t=this.getTarget(e);if(this.lastHoverID){const s=document.getElementById(this.lastHoverID);s.style.setProperty("border","2px solid transparent"),s.children[0].classList.remove("text-negative"),this.lastHoverID=null}if(!(!e||!t||!t.id||t.id==="")){if(!this.lastHoverID&&t.id==="delete:0"){const s=document.getElementById(t.id);s.style.setProperty("border","2px dashed var(--q-negative)","important"),s.children[0].classList.add("text-negative"),this.lastHoverID=t.id}if(!this.lastHoverID&&t.id==="edit:0"){const s=document.getElementById(t.id);s.style.setProperty("border","2px dashed var(--q-primary)","important"),s.children[0].classList.add("text-primary"),this.lastHoverID=t.id}}},async dropItem(e){this.dragging=!1;const t=this.getTarget(e);if(this.lastHoverID){const o=document.getElementById(this.lastHoverID);o.style.setProperty("border","2px solid transparent"),o.children[0].classList.remove("text-negative"),o.children[0].classList.remove("text-primary"),this.lastHoverID=null}document.removeEventListener("mouseup",this.dropItem),document.removeEventListener("touchend",this.dropItem),document.removeEventListener("touchmove",this.updatePosition),document.removeEventListener("mousemove",this.updatePosition),this.clonedElement.remove();const s=document.getElementById(this.dragAndDrop.itemIndex);if(s.style.pointerEvents="all",s.style.setProperty("opacity","1.0","important"),!e||!t||!t.id||t.id==="")return;const[l,n]=t.id.split(":");if(!l||!this.isNumeric(n))return;const[i,m]=this.dragAndDrop.itemIndex.split(":");if(!(!i||!this.isNumeric(m)||m===n&&i===l)){if(this.loading=!0,t.id==="delete:0"){this.$q.dialog({component:q,componentProps:{title:this.$i18n.t("components.inventory.deleteHeader"),message:this.$i18n.t("components.inventory.deleteMsg")},cancel:!0,persistent:!0}).onOk(()=>{this.$axios.post(`/api/players/${this.$route.params.citizenid}/inventory/delete`,{fromStorage:i,fromSlot:parseInt(m)+1,amount:this.amount}).then(o=>{const d=o.data.resCode;if(this.loading=!1,!d){const u=o.data.resMsg;this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.inventory.msg.error.${u}`)});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.deleted")})}).catch(o=>{console.error(o),this.loading=!1})}).onCancel(()=>{this.loading=!1});return}if(t.id==="edit:0"){this.$q.dialog({component:V,componentProps:{title:this.$i18n.t("components.item.edit"),item:this.getItem(i,m)},cancel:!0,persistent:!0}).onOk(o=>{o.item.amount<=0&&(o.item.amount=1),this.$axios.post(`/api/players/${this.$route.params.citizenid}/inventory/edit`,{fromStorage:i,fromSlot:parseInt(m)+1,item:o.item}).then(d=>{const u=d.data.resCode;if(this.loading=!1,!u){const v=d.data.resMsg;this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.inventory.msg.error.${v}`)});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.saved")})}).catch(d=>{console.error(d),this.loading=!1})}).onCancel(()=>{this.loading=!1});return}await this.$axios.post(`/api/players/${this.$route.params.citizenid}/inventory/move`,{fromStorage:i,toStorage:l,fromSlot:parseInt(m)+1,toSlot:parseInt(n)+1,amount:this.amount}).then(o=>{const d=o.data.resCode;if(this.loading=!1,!d){const u=o.data.resMsg;this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.item.msg.error.${u}`)}),u==="moved"&&this.loadInventory()}})}},addItem(e){this.$q.dialog({component:G,componentProps:{title:this.$i18n.t("components.inventory.addItemHeader")},cancel:!0,persistent:!0}).onOk(t=>{if(!t.item.name){this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.inventory.msg.error.noItemName")});return}this.loading=!0,t.item.amount||(t.item.amount=1),this.$axios.post(`/api/players/${this.$route.params.citizenid}/inventory/add`,{storage:e,item:t.item}).then(s=>{const l=s.data.resCode;if(this.loading=!1,!l){const n=s.data.resMsg;this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.inventory.msg.error.${n}`)});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.added")})}).catch(s=>{console.error(s),this.loading=!1})}).onCancel(()=>{this.loading=!1})},clearInventory(){this.$q.dialog({component:q,componentProps:{title:this.$i18n.t("components.inventory.clearInvHeader"),message:this.$i18n.t("components.inventory.clearInvMsg")},cancel:!0,persistent:!0}).onOk(()=>{this.loading=!0,this.$axios.post(`/api/players/${this.$route.params.citizenid}/inventory/clear`).then(e=>{const t=e.data.resCode;if(this.loading=!1,!t){const s=e.data.resMsg;this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.inventory.msg.error.${s}`)});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.cleared")})}).catch(e=>{console.error(e),this.loading=!1})}).onCancel(()=>{this.loading=!1})},getItem(e,t){return(e==="p"?this.inventory:this.supStash)[t]}},async mounted(){await this.loadInventory(),this.sockets.subscribe(`inventory::${this.$route.params.citizenid}`,e=>{this.updateInventory(e.items,this.playerSlots)}),this.sockets.subscribe("supstash::update",e=>{this.updateStash(e.stash)}),this.$socket.emit("room::join",`inventory:${this.$route.params.citizenid}`),this.$socket.emit("room::join","supstash")},beforeUnmount(){this.sockets.unsubscribe(`inventory::${this.$route.params.citizenid}`),this.sockets.unsubscribe("supstash::update"),this.$socket.emit("room::leave",`inventory:${this.$route.params.citizenid}`),this.$socket.emit("room::leave","supstash")}},J={class:"row justify-between"},W={class:"row"},Z={class:"text-h6"},K=["id"],ee={class:"extra-dropzone row justify-center items-center text-main"},te={class:"extra-dropzone row justify-center items-center text-main"},se={class:"row"},ne={class:"text-h6"},oe=["id"];function ie(e,t,s,l,n,i){const m=T("item"),S=T("fake-item");return r(),p("div",J,[h("div",{class:b(["q-pa-sm",{"full-width":i.isMobile}])},[c(E,{class:"bg-secondary"},{default:a(()=>[c(k,{class:"col-12"},{default:a(()=>[h("div",W,[h("div",Z,y(e.$t("components.inventory.playerInventory")),1),i.can(n.ACTION.GAME.PLAYER.INVENTORY,n.RESOURCE.GAME)?(r(),g(C,{key:0,color:"primary",icon:"add",class:"q-ml-auto",onClick:t[0]||(t[0]=o=>i.addItem("p"))},{default:a(()=>[n.dragging?f("",!0):(r(),g(I,{key:0},{default:a(()=>[x(y(e.$t("components.inventory.addItemTip")),1)]),_:1}))]),_:1})):f("",!0),i.can(n.ACTION.GAME.PLAYER.INVENTORY,n.RESOURCE.GAME)?(r(),g(C,{key:1,color:"primary",icon:"clear",class:"q-ml-sm",onClick:i.clearInventory},{default:a(()=>[n.dragging?f("",!0):(r(),g(I,{key:0},{default:a(()=>[x(y(e.$t("components.inventory.clearInvTip")),1)]),_:1}))]),_:1},8,["onClick"])):f("",!0)])]),_:1}),c(k,{class:"col-12 inventory-wrapper q-pa-none"},{default:a(()=>[c(P,{appear:"","enter-active-class":"animated fadeIn","leave-active-class":"animated fadeOut"},{default:a(()=>[h("div",{class:b(i.isMobile?"inventory-container-mobile":"inventory-container")},[(r(!0),p($,null,_(n.inventory,(o,d)=>w((r(),p("div",D({key:`p-${d}`,class:"item-slot",id:`p:${d}`},N(o?{mousedown:i.selectItem,touchstart:i.selectItem}:{},!0)),[o?(r(),p($,{key:0},[c(m,{item:o,isPlayer:!0},null,8,["item"]),o.info&&Object.keys(o.info).length!==0&&!n.dragging?(r(),g(I,{key:0,offset:[0,8]},{default:a(()=>[(r(!0),p($,null,_(o.info,(u,v)=>(r(),p("div",{key:`p-${d}-${v}`},y(v)+": "+y(u),1))),128))]),_:2},1024)):f("",!0)],64)):(r(),g(S,{key:1,slotNumber:d+1},null,8,["slotNumber"]))],16,K)),[[L,!n.loading]])),128))],2)]),_:1})]),_:1}),c(z,{dark:"",showing:n.loading},{default:a(()=>[c(B,{color:"primary",size:"2em"})]),_:1},8,["showing"])]),_:1})],2),h("div",{class:b(["q-pa-sm self-center actions",{"full-width":i.isMobile}])},[c(E,{class:"bg-secondary q-mb-md",id:"edit:0",style:{border:"2px solid transparent"}},{default:a(()=>[h("div",ee,[c(M,{name:"edit",size:"5vh"})])]),_:1}),c(E,{class:"bg-secondary"},{default:a(()=>[c(Y,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",type:"number",modelValue:n.amount,"onUpdate:modelValue":t[1]||(t[1]=o=>n.amount=o),modelModifiers:{number:!0},label:e.$t("components.inventory.amount")},null,8,["input-style","modelValue","label"])]),_:1}),c(E,{class:"bg-secondary q-mt-md",id:"delete:0",style:{border:"2px solid transparent"}},{default:a(()=>[h("div",te,[c(M,{name:"delete",size:"5vh"})])]),_:1})],2),h("div",{class:b(["q-pa-sm",{"full-width":i.isMobile}])},[c(E,{class:"bg-secondary"},{default:a(()=>[c(k,{class:"col-12"},{default:a(()=>[h("div",se,[h("div",ne,y(e.$t("components.inventory.supporterStash")),1),i.can(n.ACTION.GAME.PLAYER.INVENTORY,n.RESOURCE.GAME)?(r(),g(C,{key:0,color:"primary",icon:"add",class:"q-ml-auto",onClick:t[2]||(t[2]=o=>i.addItem("s"))},{default:a(()=>[n.dragging?f("",!0):(r(),g(I,{key:0},{default:a(()=>[x(y(e.$t("components.inventory.addItemTip")),1)]),_:1}))]),_:1})):f("",!0)])]),_:1}),c(k,{class:"col-12 inventory-wrapper q-pa-none"},{default:a(()=>[c(P,{appear:"","enter-active-class":"animated fadeIn","leave-active-class":"animated fadeOut"},{default:a(()=>[h("div",{class:b(i.isMobile?"inventory-container-mobile":"inventory-container")},[(r(!0),p($,null,_(n.supStash,(o,d)=>w((r(),p("div",D({key:`s-${d}`,class:"item-slot",id:`s:${d}`},N(o?{mousedown:i.selectItem,touchstart:i.selectItem}:{},!0)),[o?(r(),p($,{key:0},[c(m,{item:o},null,8,["item"]),o.info&&Object.keys(o.info).length!==0&&!n.dragging?(r(),g(I,{key:0,offset:[0,8]},{default:a(()=>[(r(!0),p($,null,_(o.info,(u,v)=>(r(),p("div",{key:`p-${d}-${v}`},y(v)+": "+y(u),1))),128))]),_:2},1024)):f("",!0)],64)):(r(),g(S,{key:1}))],16,oe)),[[L,!n.loading]])),128))],2)]),_:1})]),_:1}),c(z,{dark:"",showing:n.loading},{default:a(()=>[c(B,{color:"primary",size:"2em"})]),_:1},8,["showing"])]),_:1})],2)])}const be=R(F,[["render",ie]]);export{be as default}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/Item.2da3e4bb.css b/resources/[tools]/unlimited-spectre/html/assets/Item.2da3e4bb.css deleted file mode 100644 index ca799b615..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/Item.2da3e4bb.css +++ /dev/null @@ -1 +0,0 @@ -.q-table__middle{overflow-y:hidden;overflow-x:auto}div.q-field__native.row.items-center>span{color:var(--q-main)} diff --git a/resources/[tools]/unlimited-spectre/html/assets/Item.d7c8acff.js b/resources/[tools]/unlimited-spectre/html/assets/Item.d7c8acff.js deleted file mode 100644 index 0c3b3f28d..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/Item.d7c8acff.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as D,R as E,P as F,o as g,X as y,a7 as a,a as i,w as s,a6 as v,ab as b,c as k,V as _,a5 as u,W as f,U as d,a9 as p,aP as x,aQ as I,aT as V,Y as M,Z as R,bF as L,S as j,a8 as T}from"./app-014d9ed9.js";import{Q as O}from"./QTooltip.9d840032.js";import{Q as S}from"./QImg.91aecb73.js";import{a as N,Q as w,c as Q}from"./QItemLabel.b6dd3adb.js";import{Q as h}from"./QSelect.d7ce3d4c.js";import{Q as A}from"./QBadge.718e7c58.js";import{Q as B}from"./QMarkupTable.ba6854cc.js";import{Q as z}from"./QForm.8d79ab03.js";import{B as $}from"./BasicDialog.9dd9de92.js";import{d as P}from"./utils.9ce591f3.js";import{e as H}from"./externalHosting.js";import"./position-engine.65ebcb34.js";import"./selection.2a17b691.js";import"./rtl.b51694b1.js";const q={anim:{lib:"",dict:"",text:"",timeOut:null},accept:[],reward:""},J={name:"Item",data(){return{externalHosting:H,RESOURCE:E,ACTION:F,defaults:["shouldclose","type","description","weight","label","unique","useable","image","name","combinable"],pendingSave:!1,pendingDelete:!1,item:{},customVars:[],itemTypes:["item","weapon"],items:[],itemImages:[],itemsReward:[],itemsAccept:[""],imageAccept:[""],combinable:q}},computed:{getRewardLabel(){const e=this.items.find(t=>t.value===this.combinable.reward);return e?e.label:this.combinable.reward}},methods:{can:P,isNumeric(e){return typeof e!="string"?!1:!isNaN(e)&&!isNaN(parseFloat(e))},isBoolean(e){return e==="true"||(e==="false"?!1:e)},addCustomVar(){this.customVars.push({name:"",value:""})},removeVar(e,t){e>-1&&this.$q.dialog({component:$,componentProps:{title:this.$i18n.t("components.item.deleteHeader"),message:this.$i18n.t("components.item.deleteCustomVarMsg",{name:t.name})},cancel:!0,persistent:!0}).onOk(()=>{delete this.item[t.oldName],this.customVars.splice(e,1)})},triggerFileSelect(){this.$refs.image.value=null,this.$refs.image.click()},uploadImage(e){if(!this.$refs.image.value)return;const t=e.target.files[0];let m=new FormData;m.set("file",t),m.set("name",t.name),this.$axios.post("/api/items/icon-upload",m).then(r=>{if(!r.data.resCode){const n=r.data.resMsg;this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.item.msg.error.${n}`)});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("components.item.uploadedImage")}),this.itemImages=Object.freeze(r.data.images),this.item.image=r.data.filename})},trySave(){this.$refs.customVarForm.validate().then(e=>{if(!e){this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.item.msg.error.uniqueVars")});return}this.customVars.forEach(t=>{!t.name||(t.oldName=t.name,this.item[t.name]=this.isNumeric(t.value)?Number(t.value):this.isBoolean(t.value))}),this.pendingSave=!0,Object.entries(this.combinable).sort().toString()!==Object.entries(q).sort().toString()&&(this.item.combinable=this.combinable),this.$axios.patch(`/api/items/save/${this.item.name}`,this.item).then(t=>{if(this.pendingSave=!1,!t.data.resCode){const r=t.data.resMsg;this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.item.msg.error.${r}`,{name:this.item.name})});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.saved")})}).catch(t=>{})})},tryDelete(){this.pendingDelete=!0,this.$q.dialog({component:$,componentProps:{title:this.$i18n.t("components.item.deleteHeader"),message:this.$i18n.t("components.item.deleteMsg",{itemLabel:this.item.label,itemName:this.item.name})},cancel:!0,persistent:!0}).onOk(()=>{this.$axios.delete(`/api/items/delete/${this.item.name}`).then(e=>{if(this.pendingDelete=!1,!e.data.resCode){const m=e.data.resMsg;this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.item.msg.error.${m}`,{name:this.item.name})});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.deleted")}),this.$router.push({name:"dev-item-list"})}).catch(e=>{})}).onCancel(()=>{this.pendingDelete=!1})},filterAccept(e,t){const m=e.toLowerCase();this.itemsAccept=Object.freeze(this.items.filter(r=>r.label.toLowerCase().indexOf(m)>-1)),t()},filterImage(e,t){const m=e.toLowerCase();this.imageAccept=Object.freeze(this.itemImages.filter(r=>r.toLowerCase().indexOf(m)>-1)),t()},filterReward(e,t){const m=e.toLowerCase();this.itemsReward=Object.freeze(this.items.filter(r=>r.label.toLowerCase().indexOf(m)>-1)),t()}},mounted(){this.$axios.get(`/api/items/${this.$route.params.itemId}`).then(e=>{const t=e.data.item,m=e.data.items,r=e.data.images;if(!t||!m||!r){this.$q.notify({message:e.data.msg,position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:"Error"});return}this.items=Object.freeze(m),this.item=t,this.itemImages=Object.freeze(r),this.item.combinable?this.combinable=this.item.combinable:this.combinable=JSON.parse(JSON.stringify(q));for(const[l,n]of Object.entries(t))this.defaults.includes(l.toLowerCase())||this.customVars.push({name:l,value:n,oldName:l})}).catch(e=>{console.error(e)})}},Y={class:"row"},W={class:"col-12"},X={class:"q-ma-sm row"},Z={class:"text-h6"},G={class:"text-primary"},K={class:"row full-width justify-center q-mt-md"},ee={class:"q-pa-sm",style:{border:"solid 2px var(--q-primary)",height:"140px",width:"150px"}},te={class:"absolute-full flex flex-center text-main"},le={class:"row q-mt-md"},ie={class:"row q-mt-md"},oe={class:"row q-mt-md"},se={class:"col-12"},ae={class:"q-ma-sm row"},ne={class:"row"},me={class:"text-h6"},re={class:"text-caption text-sub"},ce={class:"q-ml-auto"},de={style:{width:"30px"},class:"text-right vertical-middle"},ue={class:"col-12"},pe={class:"q-ma-sm row"},be={class:"text-h6"},fe={class:"text-caption text-sub"},ge={class:"text-main"},he={class:"col-12"},ye={class:"q-ma-sm row justify-end"};function ve(e,t,m,r,l,n){return g(),y("div",Y,[a("div",W,[a("div",X,[i(v,{class:"bg-secondary full-width row"},{default:s(()=>[i(u,{class:"col-12"},{default:s(()=>[a("div",Z,[f(d(e.$t("components.item.edit"))+": ",1),a("span",G,d(l.item.name),1)])]),_:1}),i(u,{class:"col-12 col-md-6"},{default:s(()=>[i(p,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:l.item.label,"onUpdate:modelValue":t[0]||(t[0]=o=>l.item.label=o),label:e.$t("components.item.label")},null,8,["input-style","modelValue","label"]),i(p,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",class:"q-mt-md",modelValue:l.item.description,"onUpdate:modelValue":t[1]||(t[1]=o=>l.item.description=o),label:e.$t("components.item.desc")},null,8,["input-style","modelValue","label"]),a("input",{ref:"image",type:"file",onInput:t[2]||(t[2]=(...o)=>n.uploadImage&&n.uploadImage(...o)),hidden:"",accept:"image/png, image/jpeg"},null,544),i(h,{label:e.$t("components.item.image"),color:"primary","label-color":"primary",filled:"",class:"q-mt-md",modelValue:l.item.image,"onUpdate:modelValue":t[3]||(t[3]=o=>l.item.image=o),options:l.imageAccept,"popup-content-class":"bg-secondary text-main","use-input":"","input-class":"text-main",onFilter:n.filterImage},{after:s(()=>[i(b,{"text-color":"main",square:"",color:"primary",icon:"file_upload",onClick:n.triggerFileSelect},{default:s(()=>[i(O,null,{default:s(()=>[f(d(e.$t("components.item.uploadNew")),1)]),_:1})]),_:1},8,["onClick"])]),option:s(o=>[i(N,x(I(o.itemProps)),{default:s(()=>[i(w,{avatar:""},{default:s(()=>[i(S,{src:`${l.externalHosting.backend}/public/inventory/icons/${o.opt}`,"spinner-color":"primary",fit:"contain"},null,8,["src"])]),_:2},1024),i(w,null,{default:s(()=>[i(Q,{class:"text-main"},{default:s(()=>[f(d(o.opt),1)]),_:2},1024)]),_:2},1024)]),_:2},1040)]),_:1},8,["label","modelValue","options","onFilter"]),a("div",K,[a("div",ee,[i(S,{src:`${l.externalHosting.backend}/public/inventory/icons/${l.item.image}`,class:"full-height","spinner-color":"main"},{error:s(()=>[a("div",te,d(e.$t("components.item.imageNotFound")),1)]),_:1},8,["src"])])])]),_:1}),i(u,{class:"col-12 col-md-6"},{default:s(()=>[i(p,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",type:"number",modelValue:l.item.weight,"onUpdate:modelValue":t[4]||(t[4]=o=>l.item.weight=o),modelModifiers:{number:!0},label:e.$t("components.item.weight")},null,8,["input-style","modelValue","label"]),i(h,{label:e.$t("components.item.type"),color:"primary","label-color":"primary",filled:"",class:"q-mt-md",modelValue:l.item.type,"onUpdate:modelValue":t[5]||(t[5]=o=>l.item.type=o),options:l.itemTypes,"popup-content-class":"bg-secondary text-main"},{selected:s(()=>[i(A,{color:l.item.type==="item"?"primary":"negative"},{default:s(()=>[f(d(l.item.type),1)]),_:1},8,["color"])]),_:1},8,["label","modelValue","options"]),a("div",le,[i(V,{modelValue:l.item.useable,"onUpdate:modelValue":t[6]||(t[6]=o=>l.item.useable=o),label:e.$t("components.item.useable")},null,8,["modelValue","label"])]),a("div",ie,[i(V,{modelValue:l.item.unique,"onUpdate:modelValue":t[7]||(t[7]=o=>l.item.unique=o),label:e.$t("components.item.unique")},null,8,["modelValue","label"])]),a("div",oe,[i(V,{modelValue:l.item.shouldClose,"onUpdate:modelValue":t[8]||(t[8]=o=>l.item.shouldClose=o),label:e.$t("components.item.shouldClose")},null,8,["modelValue","label"])])]),_:1})]),_:1})])]),a("div",se,[a("div",ae,[i(v,{class:"bg-secondary full-width row"},{default:s(()=>[i(u,{class:"col-12"},{default:s(()=>[a("div",ne,[a("div",null,[a("div",me,d(e.$t("components.item.customVariables")),1),a("div",re,d(e.$t("components.item.customVarSub")),1)]),a("div",ce,[i(b,{"text-color":"main",color:"primary",label:e.$t("components.item.addCustomVar"),onClick:n.addCustomVar},null,8,["label","onClick"])])])]),_:1}),i(u,{class:"col-12"},{default:s(()=>[i(z,{ref:"customVarForm"},{default:s(()=>[i(B,{class:"bg-secondary text-main",flat:"",square:"",separator:"none"},{default:s(()=>[a("tbody",null,[(g(!0),y(M,null,R(l.customVars,(o,C)=>(g(),y("tr",{key:`${C}-customVar`},[a("td",null,[i(p,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:o.name,"onUpdate:modelValue":c=>o.name=c,label:e.$t("components.item.customVarName"),"lazy-rules":"",rules:[c=>c&&c.length>0||e.$t("rules.required"),c=>c&&!/\s/.test(c)||e.$t("rules.noSpace"),c=>c&&l.customVars.filter(U=>U.name===c).length<=1||e.$t("rules.unique"),c=>c&&!l.defaults.includes(c.toLowerCase())||e.$t("rules.defaults")]},null,8,["input-style","modelValue","onUpdate:modelValue","label","rules"])]),a("td",null,[i(p,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",class:"q-field--with-bottom",modelValue:o.value,"onUpdate:modelValue":c=>o.value=c,label:e.$t("components.item.customVarValue")},null,8,["input-style","modelValue","onUpdate:modelValue","label"])]),a("td",de,[i(b,{"text-color":"main",class:"text-red-6",dense:"",flat:"",icon:"fas fa-trash",size:"xs",onClick:c=>n.removeVar(C,o)},{default:s(()=>[i(O,null,{default:s(()=>[f(d(e.$t("general.delete")),1)]),_:1})]),_:2},1032,["onClick"])])]))),128))])]),_:1})]),_:1},512)]),_:1})]),_:1})])]),a("div",ue,[a("div",pe,[i(v,{class:"bg-secondary full-width row"},{default:s(()=>[i(u,{class:"col-12"},{default:s(()=>[a("div",be,d(e.$t("components.item.combinability")),1),a("div",fe,d(e.$t("components.item.combinabSub")),1)]),_:1}),i(u,{class:"col-12 col-md-6"},{default:s(()=>[i(h,{ref:"accept",label:e.$t("components.item.combinable.accept"),color:"primary","label-color":"primary",filled:"",multiple:"",modelValue:l.combinable.accept,"onUpdate:modelValue":t[9]||(t[9]=o=>l.combinable.accept=o),options:l.itemsAccept,"popup-content-class":"bg-secondary text-main","use-input":"","use-chips":"","emit-value":"","input-class":"text-main",onFilter:n.filterAccept},null,8,["label","modelValue","options","onFilter"])]),_:1}),i(u,{class:"col-12 col-md-6"},{default:s(()=>[i(h,{class:"text-main",label:e.$t("components.item.combinable.reward"),color:"primary","label-color":"primary",filled:"",modelValue:l.combinable.reward,"onUpdate:modelValue":t[11]||(t[11]=o=>l.combinable.reward=o),options:l.itemsReward,"popup-content-class":"bg-secondary text-main","use-input":"","emit-value":"","input-class":"text-main","input-debounce":"0",onFilter:n.filterReward},L({selected:s(()=>[a("div",ge,d(n.getRewardLabel),1)]),option:s(o=>[i(N,x(I(o.itemProps)),{default:s(()=>[i(w,null,{default:s(()=>[i(Q,{class:"text-main"},{default:s(()=>[f(d(o.opt.label),1)]),_:2},1024)]),_:2},1024)]),_:2},1040)]),_:2},[l.combinable.reward?{name:"append",fn:s(()=>[i(j,{name:"cancel",onClick:t[10]||(t[10]=T(o=>l.combinable.reward="",["stop","prevent"])),class:"cursor-pointer text-primary"})]),key:"0"}:void 0]),1032,["label","modelValue","options","onFilter"])]),_:1}),i(u,{class:"col-12 col-md-6"},{default:s(()=>[i(p,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",class:"q-mt-md",modelValue:l.combinable.anim.text,"onUpdate:modelValue":t[12]||(t[12]=o=>l.combinable.anim.text=o),label:e.$t("components.item.combinable.text")},null,8,["input-style","modelValue","label"]),i(p,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",type:"number",class:"q-mt-md",modelValue:l.combinable.anim.timeOut,"onUpdate:modelValue":t[13]||(t[13]=o=>l.combinable.anim.timeOut=o),modelModifiers:{number:!0},label:e.$t("components.item.combinable.timeOut")},null,8,["input-style","modelValue","label"])]),_:1}),i(u,{class:"col-12 col-md-6"},{default:s(()=>[i(p,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",class:"q-mt-md",modelValue:l.combinable.anim.lib,"onUpdate:modelValue":t[14]||(t[14]=o=>l.combinable.anim.lib=o),label:e.$t("components.item.combinable.lib")},null,8,["input-style","modelValue","label"]),i(p,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",class:"q-mt-md",modelValue:l.combinable.anim.dict,"onUpdate:modelValue":t[15]||(t[15]=o=>l.combinable.anim.dict=o),label:e.$t("components.item.combinable.dict")},null,8,["input-style","modelValue","label"])]),_:1})]),_:1})])]),a("div",he,[a("div",ye,[i(b,{"text-color":"main",disable:l.pendingDelete||l.pendingSave,color:"primary",onClick:t[16]||(t[16]=o=>e.$router.push({name:"dev-item-list"})),label:e.$t("general.back"),class:"q-mr-auto"},null,8,["disable","label"]),n.can(l.ACTION.DEV.ITEM.MODIFY,l.RESOURCE.DEV)?(g(),k(b,{key:0,"text-color":"main",loading:l.pendingSave,disable:l.pendingDelete,color:"primary",onClick:n.trySave,label:e.$t("general.save"),class:"q-mr-sm"},null,8,["loading","disable","onClick","label"])):_("",!0),n.can(l.ACTION.DEV.ITEM.DELETE,l.RESOURCE.DEV)?(g(),k(b,{key:1,"text-color":"main",loading:l.pendingDelete,disable:l.pendingSave,color:"negative",onClick:n.tryDelete,label:e.$t("general.delete")},null,8,["loading","disable","onClick","label"])):_("",!0)])])])}const De=D(J,[["render",ve]]);export{De as default}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/ItemCreate.2da3e4bb.css b/resources/[tools]/unlimited-spectre/html/assets/ItemCreate.2da3e4bb.css deleted file mode 100644 index ca799b615..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/ItemCreate.2da3e4bb.css +++ /dev/null @@ -1 +0,0 @@ -.q-table__middle{overflow-y:hidden;overflow-x:auto}div.q-field__native.row.items-center>span{color:var(--q-main)} diff --git a/resources/[tools]/unlimited-spectre/html/assets/ItemCreate.8a3fa02e.js b/resources/[tools]/unlimited-spectre/html/assets/ItemCreate.8a3fa02e.js deleted file mode 100644 index 178115f61..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/ItemCreate.8a3fa02e.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as F,o as h,X as y,a7 as a,a as i,w as s,a6 as V,ab as f,a5 as d,U as c,a9 as p,W as b,aP as C,aQ as x,aT as v,Y as O,Z as N,bF as L,S as j,a8 as z}from"./app-014d9ed9.js";import{Q as _}from"./QForm.8d79ab03.js";import{Q}from"./QTooltip.9d840032.js";import{Q as S}from"./QImg.91aecb73.js";import{a as k,Q as w,c as $}from"./QItemLabel.b6dd3adb.js";import{Q as g}from"./QSelect.d7ce3d4c.js";import{Q as B}from"./QBadge.718e7c58.js";import{Q as M}from"./QMarkupTable.ba6854cc.js";import{B as A}from"./BasicDialog.9dd9de92.js";import{e as R}from"./externalHosting.js";import"./position-engine.65ebcb34.js";import"./selection.2a17b691.js";import"./rtl.b51694b1.js";const q={anim:{lib:"",dict:"",text:"",timeOut:null},accept:[],reward:""},P={name:"ItemCreate",data(){return{externalHosting:R,defaults:["shouldclose","type","description","weight","label","unique","useable","image","name","combinable"],pendingSave:!1,item:{shouldClose:!1,type:"item",description:"",weight:0,label:"",unique:!1,useable:!1,image:"",name:""},customVars:[],itemTypes:["item","weapon"],items:[],itemImages:[],itemsReward:[],itemsAccept:[""],imageAccept:[""],combinable:q}},computed:{getRewardLabel(){const e=this.items.find(t=>t.value===this.combinable.reward);return e?e.label:this.combinable.reward}},methods:{isNumeric(e){return typeof e!="string"?!1:!isNaN(e)&&!isNaN(parseFloat(e))},isBoolean(e){return e==="true"||(e==="false"?!1:e)},addCustomVar(){this.customVars.push({name:"",value:""})},removeVar(e){const t=this.customVars.indexOf(e);t>-1&&this.$q.dialog({component:A,componentProps:{title:this.$i18n.t("components.item.deleteHeader"),message:this.$i18n.t("components.item.deleteCustomVarMsg",{name:e.name})},cancel:!0,persistent:!0}).onOk(()=>{this.customVars.splice(t,1)})},triggerFileSelect(){this.$refs.image.value=null,this.$refs.image.click()},uploadImage(e){if(!this.$refs.image.value)return;const t=e.target.files[0];let n=new FormData;n.set("file",t),n.set("name",t.name),this.$axios.post("/api/items/icon-upload",n).then(r=>{if(!r.data.resCode){const u=r.data.resMsg;this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.item.msg.error.${u}`)});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("components.item.uploadedImage")}),this.itemImages=Object.freeze(r.data.images),this.item.image=r.data.filename})},trySave(){this.$refs.itemForm.validate().then(e=>{if(!e){this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.item.msg.error.missingFields",{name:this.item.name})});return}this.$refs.customVarForm.validate().then(t=>{if(!t){this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.item.msg.error.uniqueVars")});return}this.customVars.forEach(n=>{!n.name||(this.item[n.name]=this.isNumeric(n.value)?Number(n.value):this.isBoolean(n.value))}),this.pendingSave=!0,Object.entries(this.combinable).sort().toString()!==Object.entries(q).sort().toString()&&(this.item.combinable=this.combinable),this.$axios.post("/api/items/create",this.item).then(n=>{if(this.pendingSave=!1,!n.data.resCode){const o=n.data.resMsg;this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.item.msg.error.${o}`,{name:this.item.name})});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.saved")}),this.$router.push({name:"dev-item-list"})}).catch(()=>{})})})},filterAccept(e,t){const n=e.toLowerCase();this.itemsAccept=Object.freeze(this.items.filter(r=>r.label.toLowerCase().indexOf(n)>-1)),t()},filterImage(e,t){const n=e.toLowerCase();this.imageAccept=Object.freeze(this.itemImages.filter(r=>r.toLowerCase().indexOf(n)>-1)),t()},filterReward(e,t){const n=e.toLowerCase();this.itemsReward=Object.freeze(this.items.filter(r=>r.label.toLowerCase().indexOf(n)>-1)),t()}},mounted(){this.$axios.get("/api/items/list").then(e=>{const t=e.data.items,n=e.data.images;if(!t||!n){this.$q.notify({message:e.data.msg,position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:"Error"});return}this.items=Object.freeze(t),this.itemImages=Object.freeze(n),this.item.combinable?this.combinable=this.item.combinable:this.combinable=JSON.parse(JSON.stringify(q))}).catch(e=>{console.error(e)})}},T={class:"row"},D={class:"col-12"},H={class:"q-ma-sm row"},E={class:"text-h6"},J={class:"row full-width justify-center q-mt-md"},W={class:"q-pa-sm",style:{border:"solid 2px var(--q-primary)",height:"140px",width:"150px"}},X={class:"absolute-full flex flex-center text-main"},Y={class:"row q-mt-md"},Z={class:"row q-mt-md"},G={class:"row q-mt-md"},K={class:"col-12"},ee={class:"q-ma-sm row"},te={class:"row"},le={class:"text-h6"},ie={class:"text-caption text-sub"},oe={class:"q-ml-auto"},se={style:{width:"30px"},class:"text-right vertical-middle"},ae={class:"col-12"},ne={class:"q-ma-sm row"},me={class:"text-h6"},re={class:"text-caption text-sub"},ue={class:"text-main"},ce={class:"col-12"},de={class:"q-ma-sm row justify-end"};function pe(e,t,n,r,o,u){return h(),y("div",T,[a("div",D,[a("div",H,[i(V,{class:"bg-secondary full-width row"},{default:s(()=>[i(d,{class:"col-12"},{default:s(()=>[a("div",E,c(e.$t("components.itemCreate.new"))+":",1)]),_:1}),i(d,{class:"col-12 col-md-6"},{default:s(()=>[i(_,{ref:"itemForm"},{default:s(()=>[i(p,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:o.item.name,"onUpdate:modelValue":t[0]||(t[0]=l=>o.item.name=l),onChange:t[1]||(t[1]=l=>{o.item.name=l.toLowerCase()}),"lazy-rules":"",rules:[l=>l&&l.length>0||e.$t("rules.required"),l=>l&&!/\s/.test(l)||e.$t("rules.noSpace")],label:e.$t("components.item.name")},null,8,["input-style","modelValue","rules","label"])]),_:1},512),i(p,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",class:"q-mt-md",modelValue:o.item.label,"onUpdate:modelValue":t[2]||(t[2]=l=>o.item.label=l),label:e.$t("components.item.label")},null,8,["input-style","modelValue","label"]),i(p,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",class:"q-mt-md",modelValue:o.item.description,"onUpdate:modelValue":t[3]||(t[3]=l=>o.item.description=l),label:e.$t("components.item.desc")},null,8,["input-style","modelValue","label"]),a("input",{ref:"image",type:"file",onInput:t[4]||(t[4]=(...l)=>u.uploadImage&&u.uploadImage(...l)),hidden:"",accept:"image/png, image/jpeg"},null,544),i(g,{label:e.$t("components.item.image"),color:"primary","label-color":"primary",filled:"",class:"q-mt-md",modelValue:o.item.image,"onUpdate:modelValue":t[5]||(t[5]=l=>o.item.image=l),options:o.imageAccept,"popup-content-class":"bg-secondary text-main","use-input":"","input-class":"text-main",onFilter:u.filterImage},{after:s(()=>[i(f,{"text-color":"main",square:"",color:"primary",icon:"file_upload",onClick:u.triggerFileSelect},{default:s(()=>[i(Q,null,{default:s(()=>[b(c(e.$t("components.item.uploadNew")),1)]),_:1})]),_:1},8,["onClick"])]),option:s(l=>[i(k,C(x(l.itemProps)),{default:s(()=>[i(w,{avatar:""},{default:s(()=>[i(S,{src:`${o.externalHosting.backend}/public/inventory/icons/${l.opt}`,"spinner-color":"primary",fit:"contain"},null,8,["src"])]),_:2},1024),i(w,null,{default:s(()=>[i($,{class:"text-main"},{default:s(()=>[b(c(l.opt),1)]),_:2},1024)]),_:2},1024)]),_:2},1040)]),_:1},8,["label","modelValue","options","onFilter"]),a("div",J,[a("div",W,[i(S,{src:`${o.externalHosting.backend}/public/inventory/icons/${o.item.image}`,class:"full-height","spinner-color":"main"},{error:s(()=>[a("div",X,c(e.$t("components.item.imageNotFound")),1)]),_:1},8,["src"])])])]),_:1}),i(d,{class:"col-12 col-md-6"},{default:s(()=>[i(p,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",type:"number",modelValue:o.item.weight,"onUpdate:modelValue":t[6]||(t[6]=l=>o.item.weight=l),modelModifiers:{number:!0},label:e.$t("components.item.weight")},null,8,["input-style","modelValue","label"]),i(g,{label:e.$t("components.item.type"),color:"primary","label-color":"primary",filled:"",class:"q-mt-md",modelValue:o.item.type,"onUpdate:modelValue":t[7]||(t[7]=l=>o.item.type=l),options:o.itemTypes,"popup-content-class":"bg-secondary text-main"},{selected:s(()=>[i(B,{color:o.item.type==="item"?"primary":"negative"},{default:s(()=>[b(c(o.item.type),1)]),_:1},8,["color"])]),_:1},8,["label","modelValue","options"]),a("div",Y,[i(v,{modelValue:o.item.useable,"onUpdate:modelValue":t[8]||(t[8]=l=>o.item.useable=l),label:e.$t("components.item.useable")},null,8,["modelValue","label"])]),a("div",Z,[i(v,{modelValue:o.item.unique,"onUpdate:modelValue":t[9]||(t[9]=l=>o.item.unique=l),label:e.$t("components.item.unique")},null,8,["modelValue","label"])]),a("div",G,[i(v,{modelValue:o.item.shouldClose,"onUpdate:modelValue":t[10]||(t[10]=l=>o.item.shouldClose=l),label:e.$t("components.item.shouldClose")},null,8,["modelValue","label"])])]),_:1})]),_:1})])]),a("div",K,[a("div",ee,[i(V,{class:"bg-secondary full-width row"},{default:s(()=>[i(d,{class:"col-12"},{default:s(()=>[a("div",te,[a("div",null,[a("div",le,c(e.$t("components.item.customVariables")),1),a("div",ie,c(e.$t("components.item.customVarSub")),1)]),a("div",oe,[i(f,{"text-color":"main",color:"primary",label:e.$t("components.item.addCustomVar"),onClick:u.addCustomVar},null,8,["label","onClick"])])])]),_:1}),i(d,{class:"col-12"},{default:s(()=>[i(_,{ref:"customVarForm"},{default:s(()=>[i(M,{class:"bg-secondary text-main",flat:"",square:"",separator:"none"},{default:s(()=>[a("tbody",null,[(h(!0),y(O,null,N(o.customVars,(l,I)=>(h(),y("tr",{key:`${I}-customVar`},[a("td",null,[i(p,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:l.name,"onUpdate:modelValue":m=>l.name=m,label:e.$t("components.item.customVarName"),"lazy-rules":"",rules:[m=>m&&m.length>0||e.$t("rules.required"),m=>m&&!/\s/.test(m)||e.$t("rules.noSpace"),m=>m&&o.customVars.filter(U=>U.name===m).length<=1||e.$t("rules.unique"),m=>m&&!o.defaults.includes(m.toLowerCase())||e.$t("rules.defaults")]},null,8,["input-style","modelValue","onUpdate:modelValue","label","rules"])]),a("td",null,[i(p,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",class:"q-field--with-bottom",modelValue:l.value,"onUpdate:modelValue":m=>l.value=m,label:e.$t("components.item.customVarValue")},null,8,["input-style","modelValue","onUpdate:modelValue","label"])]),a("td",se,[i(f,{"text-color":"main",class:"text-red-6",dense:"",flat:"",icon:"fas fa-trash",size:"xs",onClick:m=>u.removeVar(l)},{default:s(()=>[i(Q,null,{default:s(()=>[b(c(e.$t("general.delete")),1)]),_:1})]),_:2},1032,["onClick"])])]))),128))])]),_:1})]),_:1},512)]),_:1})]),_:1})])]),a("div",ae,[a("div",ne,[i(V,{class:"bg-secondary full-width row"},{default:s(()=>[i(d,{class:"col-12"},{default:s(()=>[a("div",me,c(e.$t("components.item.combinability")),1),a("div",re,c(e.$t("components.item.combinabSub")),1)]),_:1}),i(d,{class:"col-12 col-md-6"},{default:s(()=>[i(g,{ref:"accept",label:e.$t("components.item.combinable.accept"),color:"primary","label-color":"primary",filled:"",multiple:"",modelValue:o.combinable.accept,"onUpdate:modelValue":t[11]||(t[11]=l=>o.combinable.accept=l),options:o.itemsAccept,"popup-content-class":"bg-secondary text-main","use-input":"","use-chips":"","emit-value":"","input-class":"text-main",onFilter:u.filterAccept},null,8,["label","modelValue","options","onFilter"])]),_:1}),i(d,{class:"col-12 col-md-6"},{default:s(()=>[i(g,{class:"text-main",label:e.$t("components.item.combinable.reward"),color:"primary","label-color":"primary",filled:"",modelValue:o.combinable.reward,"onUpdate:modelValue":t[13]||(t[13]=l=>o.combinable.reward=l),options:o.itemsReward,"popup-content-class":"bg-secondary text-main","use-input":"","emit-value":"","input-class":"text-main","input-debounce":"0",onFilter:u.filterReward},L({selected:s(()=>[a("div",ue,c(u.getRewardLabel),1)]),option:s(l=>[i(k,C(x(l.itemProps)),{default:s(()=>[i(w,null,{default:s(()=>[i($,{class:"text-main"},{default:s(()=>[b(c(l.opt.label),1)]),_:2},1024)]),_:2},1024)]),_:2},1040)]),_:2},[o.combinable.reward?{name:"append",fn:s(()=>[i(j,{name:"cancel",onClick:t[12]||(t[12]=z(l=>o.combinable.reward="",["stop","prevent"])),class:"cursor-pointer text-primary"})]),key:"0"}:void 0]),1032,["label","modelValue","options","onFilter"])]),_:1}),i(d,{class:"col-12 col-md-6"},{default:s(()=>[i(p,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",class:"q-mt-md",modelValue:o.combinable.anim.text,"onUpdate:modelValue":t[14]||(t[14]=l=>o.combinable.anim.text=l),label:e.$t("components.item.combinable.text")},null,8,["input-style","modelValue","label"]),i(p,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",type:"number",class:"q-mt-md",modelValue:o.combinable.anim.timeOut,"onUpdate:modelValue":t[15]||(t[15]=l=>o.combinable.anim.timeOut=l),modelModifiers:{number:!0},label:e.$t("components.item.combinable.timeOut")},null,8,["input-style","modelValue","label"])]),_:1}),i(d,{class:"col-12 col-md-6"},{default:s(()=>[i(p,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",class:"q-mt-md",modelValue:o.combinable.anim.lib,"onUpdate:modelValue":t[16]||(t[16]=l=>o.combinable.anim.lib=l),label:e.$t("components.item.combinable.lib")},null,8,["input-style","modelValue","label"]),i(p,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",class:"q-mt-md",modelValue:o.combinable.anim.dict,"onUpdate:modelValue":t[17]||(t[17]=l=>o.combinable.anim.dict=l),label:e.$t("components.item.combinable.dict")},null,8,["input-style","modelValue","label"])]),_:1})]),_:1})])]),a("div",ce,[a("div",de,[i(f,{"text-color":"main",loading:o.pendingSave,color:"primary",onClick:u.trySave,label:e.$t("general.create"),class:"q-mr-sm"},null,8,["loading","onClick","label"])])])])}const Se=F(P,[["render",pe]]);export{Se as default}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/ItemList.4a8e7836.js b/resources/[tools]/unlimited-spectre/html/assets/ItemList.4a8e7836.js deleted file mode 100644 index fbe2aec15..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/ItemList.4a8e7836.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as f,P as w,R as y,bh as $,o as c,X as V,a,w as o,a6 as k,c as g,bi as C,r as _,a7 as r,U as m,ab as v,V as L,aE as q,a9 as Q,S as U,W as p,aT as h}from"./app-014d9ed9.js";import{Q as E,a as S,b as i}from"./QTable.d759a99d.js";import{Q as I}from"./QBadge.718e7c58.js";import{d as P}from"./utils.9ce591f3.js";import"./externalHosting.js";import"./QList.9d5bb77f.js";import"./QMarkupTable.ba6854cc.js";import"./QSelect.d7ce3d4c.js";import"./QItemLabel.b6dd3adb.js";import"./position-engine.65ebcb34.js";import"./selection.2a17b691.js";import"./rtl.b51694b1.js";const T={name:"ItemList",data(){return{ACTION:w,RESOURCE:y,columns:[{name:"label",align:"left",label:this.$i18n.t("components.itemList.headers.label"),field:e=>e.label,format:e=>`${e}`,sortable:!0},{name:"type",align:"center",label:this.$i18n.t("components.itemList.headers.type"),field:e=>e.type,format:e=>`${e}`,sortable:!0},{name:"weight",align:"center",label:this.$i18n.t("components.itemList.headers.weight"),field:e=>e.weight,format:e=>`${e}`,sortable:!0},{name:"name",required:!0,label:this.$i18n.t("components.itemList.headers.name"),align:"left",field:e=>e.name,format:e=>`${e}`,sortable:!0},{name:"useable",align:"center",label:this.$i18n.t("components.itemList.headers.useable"),field:e=>e.useable,format:e=>`${e}`,sortable:!0},{name:"unique",align:"center",label:this.$i18n.t("components.itemList.headers.unique"),field:e=>e.unique,format:e=>`${e}`,sortable:!0},{name:"shouldClose",align:"center",label:this.$i18n.t("components.itemList.headers.shouldClose"),field:e=>e.shouldClose,format:e=>`${e}`,sortable:!0}],items:[],pagination:{sortBy:"desc",descending:!1,page:1,rowsPerPage:25},loading:!0}},methods:{can:P,onRowClick(e){this.$router.push({name:"dev-item-detail",params:{itemId:e.name}})},getPaginationLabel(e,l,d){return this.$i18n.t("components.itemList.paginationLabel",{from:e,to:l,total:d})},updatePagination(e){this.loading||(this.paginationSave=e,this.pagination=e)}},computed:{...$(C,["searchFilter","paginationSave"])},mounted(){this.$route.name==="dev-item-list"&&this.$axios.get("/api/items").then(e=>{for(const[l,d]of Object.entries(e.data.items))this.items.push(d);this.loading=!1,this.pagination={...this.paginationSave}}).catch(e=>{this.loading=!1,this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("general.timeout")})})}},R={key:0,class:"row q-pa-sm"},x={class:"row"},B={class:"col-12"},N={class:"q-mx-md q-my-sm row flex-center"},D={class:"text-caption text-sub"},O={class:"q-ml-auto"};function F(e,l,d,A,s,u){const b=_("router-view");return e.$route.name==="dev-item-list"?(c(),V("div",R,[a(k,{class:"bg-secondary full-width"},{default:o(()=>[r("div",x,[r("div",B,[r("div",N,[r("div",D,m(e.$t("components.itemList.subheader")),1),r("div",O,[u.can(s.ACTION.DEV.ITEM.CREATE,s.RESOURCE.DEV)?(c(),g(v,{key:0,"text-color":"main",color:"primary",onClick:l[0]||(l[0]=t=>e.$router.push({name:"dev-item-create"})),label:e.$t("components.itemList.createItem"),class:"q-ma-sm"},null,8,["label"])):L("",!0)])]),a(q),a(E,{color:"primary","card-class":"bg-secondary text-main","table-class":"text-main","table-header-class":"text-primary",flat:"",rows:s.items,columns:s.columns,"row-key":"name",pagination:s.pagination,"rows-per-page-options":[0,25,50,100],"no-results-label":e.$t("components.itemList.noData"),"loading-label":e.$t("components.itemList.loadData"),loading:s.loading,filter:e.searchFilter,"pagination-label":u.getPaginationLabel,"rows-per-page-label":`${e.$t("components.itemList.recordsPerPage")}:`,"onUpdate:pagination":u.updatePagination},{"top-right":o(()=>[a(Q,{"input-style":{color:"var(--q-main)"},borderless:"",dense:"",debounce:"300",modelValue:e.searchFilter,"onUpdate:modelValue":l[1]||(l[1]=t=>e.searchFilter=t),placeholder:e.$t("general.search")},{append:o(()=>[a(U,{class:"text-main",name:"search"})]),_:1},8,["input-style","modelValue","placeholder"])]),body:o(t=>[a(S,{props:t,onClick:n=>u.onRowClick(t.row),class:"cursor-pointer"},{default:o(()=>[a(i,{key:"label",props:t},{default:o(()=>[p(m(t.row.label),1)]),_:2},1032,["props"]),a(i,{key:"type",props:t},{default:o(()=>[a(I,{"text-color":"main",color:t.row.type==="item"?"primary":"negative"},{default:o(()=>[p(m(t.row.type),1)]),_:2},1032,["color"])]),_:2},1032,["props"]),a(i,{key:"weight",props:t},{default:o(()=>[p(m(t.row.weight),1)]),_:2},1032,["props"]),a(i,{key:"name",props:t},{default:o(()=>[p(m(t.row.name),1)]),_:2},1032,["props"]),a(i,{key:"useable",props:t},{default:o(()=>[a(h,{disable:"",modelValue:t.row.useable,"onUpdate:modelValue":n=>t.row.useable=n},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["props"]),a(i,{key:"unique",props:t},{default:o(()=>[a(h,{disable:"",modelValue:t.row.unique,"onUpdate:modelValue":n=>t.row.unique=n},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["props"]),a(i,{key:"shouldClose",props:t},{default:o(()=>[a(h,{disable:"",modelValue:t.row.shouldClose,"onUpdate:modelValue":n=>t.row.shouldClose=n},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["props"])]),_:2},1032,["props","onClick"])]),_:1},8,["rows","columns","pagination","no-results-label","loading-label","loading","filter","pagination-label","rows-per-page-label","onUpdate:pagination"])])])]),_:1})])):(c(),g(b,{key:1}))}const te=f(T,[["render",F]]);export{te as default}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/Job.a74b1d19.css b/resources/[tools]/unlimited-spectre/html/assets/Job.a74b1d19.css deleted file mode 100644 index d0dd1f614..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/Job.a74b1d19.css +++ /dev/null @@ -1 +0,0 @@ -.drag-handle[data-v-cb255579]{cursor:move}.q-table__middle[data-v-cb255579]{overflow-y:hidden;overflow-x:auto} diff --git a/resources/[tools]/unlimited-spectre/html/assets/Job.bbbc91c4.js b/resources/[tools]/unlimited-spectre/html/assets/Job.bbbc91c4.js deleted file mode 100644 index 9229c7ab1..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/Job.bbbc91c4.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as D,R as I,P as N,o as p,X as f,a7 as s,a as l,w as d,a6 as y,ab as b,c as V,V as $,r as E,a5 as u,W as j,U as m,a9 as g,aT as _,Y as C,Z as k,S as O,bG as U,bH as B}from"./app-014d9ed9.js";import{Q as q}from"./QTooltip.9d840032.js";import{Q as x}from"./QMarkupTable.ba6854cc.js";import{Q}from"./QForm.8d79ab03.js";import{d as M}from"./utils.9ce591f3.js";import{B as v}from"./BasicDialog.9dd9de92.js";import{S as J,m as T}from"./move.a5bc0ce3.js";import"./externalHosting.js";import"./position-engine.65ebcb34.js";import"./selection.2a17b691.js";const P={name:"Job",data(){return{RESOURCE:I,ACTION:N,defaults:["name","grades","label","defaultduty","offdutypay"],customVars:[],sortable:null,pendingSave:!1,pendingDelete:!1,job:{},jobGrades:[]}},methods:{can:M,isNumeric(e){return typeof e!="string"?!1:!isNaN(e)&&!isNaN(parseFloat(e))},isBoolean(e){return e==="true"||(e==="false"?!1:e)},addCustomVar(){this.customVars.push({name:"",value:""})},removeVar(e,o){e>-1&&this.$q.dialog({component:v,componentProps:{title:this.$i18n.t("components.job.deleteHeader"),message:this.$i18n.t("components.job.deleteCustomVarMsg",{name:o.name})},cancel:!0,persistent:!0}).onOk(()=>{delete this.job[o.oldName],this.customVars.splice(e,1)})},removeNode(e){e.parentElement!==null&&e.parentElement.removeChild(e)},insertNodeAt(e,o,i){const r=i===0?e.children[0]:e.children[i-1].nextSibling;e.insertBefore(o,r)},buildJobGrade(e){let o=[];for(const[i,r]of Object.entries(e))o.push({name:r.name,payment:r.payment,isboss:r.isboss?r.isboss:!1});return o},updateBoss(){},addGrade(){this.jobGrades.push({name:"",payment:0,isboss:!1})},removeGrade(e){const o=this.jobGrades.indexOf(e);o>-1&&this.$q.dialog({component:v,componentProps:{title:this.$i18n.t("components.job.deleteHeader"),message:this.$i18n.t("components.job.deleteGradeMsg",{name:e.name})},cancel:!0,persistent:!0}).onOk(()=>{this.jobGrades.splice(o,1)})},trySave(){this.$refs.customVarForm.validate().then(e=>{if(!e){this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.job.msg.error.uniqueVars")});return}this.customVars.forEach(i=>{!i.name||(i.oldName=i.name,this.job[i.name]=this.isNumeric(i.value)?Number(i.value):this.isBoolean(i.value))});let o={};for(const[i,r]of Object.entries(this.jobGrades)){if(!r.isboss&&!r.name&&!r.payment)continue;const t=Object.keys(o).length;r.isboss?o[t]={name:r.name,payment:r.payment,isboss:!0}:o[t]={name:r.name,payment:r.payment}}if(Object.keys(o).length===0){this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.job.msg.error.gradeNeeded")});return}this.pendingSave=!0,this.job.grades=o,this.$axios.patch(`/api/jobs/save/${this.$route.params.jobId}`,this.job).then(i=>{if(this.pendingSave=!1,!i.data.resCode){const t=i.data.resMsg;this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.job.msg.error.${t}`,{name:this.job.name})});return}Object.keys(o).length!==this.jobGrades.length&&(this.jobGrades=this.buildJobGrade(this.job.grades)),this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.saved")})}).catch(i=>{})})},tryDelete(){this.pendingDelete=!0,this.$q.dialog({component:v,componentProps:{title:this.$i18n.t("components.job.deleteHeader"),message:this.$i18n.t("components.job.deleteMsg",{name:this.$route.params.jobId})},cancel:!0,persistent:!0}).onOk(()=>{this.$axios.delete(`/api/jobs/delete/${this.$route.params.jobId}`).then(e=>{if(this.pendingDelete=!1,!e.data.resCode){const i=e.data.resMsg;this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.job.msg.error.${i}`,{name:this.$route.params.jobId})});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.deleted")}),this.$router.push({name:"dev-job-list"})}).catch(e=>{})}).onCancel(()=>{this.pendingDelete=!1})}},mounted(){this.$axios.get(`/api/jobs/${this.$route.params.jobId}`).then(e=>{const o=e.data.job;if(!o){this.$q.notify({message:e.data.msg,position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:"Error"});return}this.job=o,this.jobGrades=this.buildJobGrade(this.job.grades);for(const[t,c]of Object.entries(o))this.defaults.includes(t.toLowerCase())||this.customVars.push({name:t,value:c,oldName:t});const i=this.$el.querySelector(".q-table > draggable"),r=this;this.sortable=J.create(i,{handle:".drag-handle",animation:150,onEnd(t){t.oldIndex!==t.newIndex&&(r.removeNode(t.item),r.insertNodeAt(t.from,t.item,t.oldIndex),T(r.jobGrades,t.oldIndex,t.newIndex))}})}).catch(e=>{console.error(e)})},beforeUnmount(){this.sortable.destroy()}},w=e=>(U("data-v-cb255579"),e=e(),B(),e),R={class:"row"},A={class:"col-12"},F={class:"q-ma-sm row"},H={class:"text-h6"},L={class:"text-primary"},z={class:"col-12"},Y={class:"q-ma-sm row"},W={class:"row"},X={class:"text-h6"},Z={class:"text-caption text-sub"},K={class:"q-ml-auto"},ee={style:{width:"30px"},class:"text-right vertical-middle"},te={class:"col-12"},se={class:"q-ma-sm row"},oe={class:"row"},le={class:"text-h6"},ae={class:"text-caption text-sub"},ne={class:"q-ml-auto"},ie=w(()=>s("th",{class:"text-left",style:{width:"30px"}},null,-1)),re={class:"text-left",style:{"min-width":"280px"}},de={class:"text-center",style:{"min-width":"150px"}},ce={class:"text-center",style:{width:"30px"}},me=w(()=>s("th",{class:"text-right",style:{width:"30px"}},null,-1)),ue={class:"text-left"},pe={class:"text-left"},be={class:"text-center vertical-middle"},he={class:"text-right vertical-middle"},fe={class:"col-12"},ge={class:"q-ma-sm row justify-end"};function ye(e,o,i,r,t,c){const G=E("draggable");return p(),f("div",R,[s("div",A,[s("div",F,[l(y,{class:"bg-secondary full-width row"},{default:d(()=>[l(u,{class:"col-12"},{default:d(()=>[s("div",H,[j(m(e.$t("components.job.edit"))+": ",1),s("span",L,m(e.$route.params.jobId),1)])]),_:1}),l(u,{class:"col-12 col-md-6"},{default:d(()=>[l(g,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:t.job.label,"onUpdate:modelValue":o[0]||(o[0]=a=>t.job.label=a),label:e.$t("components.job.label")},null,8,["input-style","modelValue","label"])]),_:1}),l(u,{class:"col-12 col-md-3"},{default:d(()=>[l(_,{modelValue:t.job.defaultDuty,"onUpdate:modelValue":o[1]||(o[1]=a=>t.job.defaultDuty=a),label:e.$t("components.job.defaultDuty")},null,8,["modelValue","label"])]),_:1}),l(u,{class:"col-12 col-md-3"},{default:d(()=>[l(_,{modelValue:t.job.offDutyPay,"onUpdate:modelValue":o[2]||(o[2]=a=>t.job.offDutyPay=a),label:e.$t("components.job.offDutyPay")},null,8,["modelValue","label"])]),_:1})]),_:1})])]),s("div",z,[s("div",Y,[l(y,{class:"bg-secondary full-width row"},{default:d(()=>[l(u,{class:"col-12"},{default:d(()=>[s("div",W,[s("div",null,[s("div",X,m(e.$t("components.job.customVariables")),1),s("div",Z,m(e.$t("components.job.customVarSub")),1)]),s("div",K,[l(b,{"text-color":"main",color:"primary",label:e.$t("components.job.addCustomVar"),onClick:c.addCustomVar},null,8,["label","onClick"])])])]),_:1}),l(u,{class:"col-12"},{default:d(()=>[l(Q,{ref:"customVarForm"},{default:d(()=>[l(x,{class:"bg-secondary text-main",flat:"",square:"",separator:"none"},{default:d(()=>[s("tbody",null,[(p(!0),f(C,null,k(t.customVars,(a,h)=>(p(),f("tr",{key:`${h}-customVar`},[s("td",null,[l(g,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:a.name,"onUpdate:modelValue":n=>a.name=n,label:e.$t("components.job.customVarName"),"lazy-rules":"",rules:[n=>n&&n.length>0||e.$t("rules.required"),n=>n&&!/\s/.test(n)||e.$t("rules.noSpace"),n=>n&&t.customVars.filter(S=>S.name===n).length<=1||e.$t("rules.unique"),n=>n&&!t.defaults.includes(n.toLowerCase())||e.$t("rules.defaults")]},null,8,["input-style","modelValue","onUpdate:modelValue","label","rules"])]),s("td",null,[l(g,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",class:"q-field--with-bottom",modelValue:a.value,"onUpdate:modelValue":n=>a.value=n,label:e.$t("components.job.customVarValue")},null,8,["input-style","modelValue","onUpdate:modelValue","label"])]),s("td",ee,[l(b,{"text-color":"main",class:"text-red-6",dense:"",flat:"",icon:"fas fa-trash",size:"xs",onClick:n=>c.removeVar(h,a)},{default:d(()=>[l(q,null,{default:d(()=>[j(m(e.$t("general.delete")),1)]),_:1})]),_:2},1032,["onClick"])])]))),128))])]),_:1})]),_:1},512)]),_:1})]),_:1})])]),s("div",te,[s("div",se,[l(y,{class:"bg-secondary full-width row"},{default:d(()=>[l(u,{class:"col-12"},{default:d(()=>[s("div",oe,[s("div",null,[s("div",le,m(e.$t("components.job.grades")),1),s("div",ae,m(e.$t("components.job.gradesSub")),1)]),s("div",ne,[l(b,{"text-color":"main",color:"primary",label:e.$t("components.job.addGrade"),onClick:c.addGrade},null,8,["label","onClick"])])])]),_:1}),l(u,{class:"col-12"},{default:d(()=>[l(x,{class:"bg-secondary text-main",flat:"",square:"",separator:"none"},{default:d(()=>[s("thead",null,[s("tr",null,[ie,s("th",re,m(e.$t("components.job.headers.name")),1),s("th",de,m(e.$t("components.job.headers.payment")),1),s("th",ce,m(e.$t("components.job.headers.isboss")),1),me])]),l(G,{modelValue:t.jobGrades,"onUpdate:modelValue":o[3]||(o[3]=a=>t.jobGrades=a),style:{display:"table-row-group"},tag:"tbody"},{default:d(()=>[(p(!0),f(C,null,k(t.jobGrades,(a,h)=>(p(),f("tr",{class:"grade-table",key:`${a.isboss}-${h}`},[s("td",null,[l(O,{name:"fas fa-bars",class:"drag-handle"})]),s("td",ue,[l(g,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",label:e.$t("components.job.headers.name"),modelValue:a.name,"onUpdate:modelValue":n=>a.name=n},null,8,["input-style","label","modelValue","onUpdate:modelValue"])]),s("td",pe,[l(g,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",type:"number",label:e.$t("components.job.headers.payment"),modelValue:a.payment,"onUpdate:modelValue":n=>a.payment=n,modelModifiers:{number:!0}},null,8,["input-style","label","modelValue","onUpdate:modelValue"])]),s("td",be,[l(_,{onClick:n=>c.updateBoss(a,h),modelValue:a.isboss,"onUpdate:modelValue":n=>a.isboss=n},null,8,["onClick","modelValue","onUpdate:modelValue"])]),s("td",he,[l(b,{"text-color":"main",class:"text-red-6",dense:"",flat:"",icon:"fas fa-trash",size:"xs",onClick:n=>c.removeGrade(a)},{default:d(()=>[l(q,null,{default:d(()=>[j(m(e.$t("general.delete")),1)]),_:1})]),_:2},1032,["onClick"])])]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1})])]),s("div",fe,[s("div",ge,[l(b,{"text-color":"main",disable:t.pendingDelete||t.pendingSave,color:"primary",onClick:o[4]||(o[4]=a=>e.$router.push({name:"dev-job-list"})),label:e.$t("general.back"),class:"q-mr-auto"},null,8,["disable","label"]),c.can(t.ACTION.DEV.JOB.MODIFY,t.RESOURCE.DEV)?(p(),V(b,{key:0,"text-color":"main",loading:t.pendingSave,disable:t.pendingDelete,color:"primary",onClick:c.trySave,label:e.$t("general.save"),class:"q-mr-sm"},null,8,["loading","disable","onClick","label"])):$("",!0),c.can(t.ACTION.DEV.JOB.DELETE,t.RESOURCE.DEV)?(p(),V(b,{key:1,"text-color":"main",loading:t.pendingDelete,disable:t.pendingSave,color:"negative",onClick:c.tryDelete,label:e.$t("general.delete")},null,8,["loading","disable","onClick","label"])):$("",!0)])])])}const Ge=D(P,[["render",ye],["__scopeId","data-v-cb255579"]]);export{Ge as default}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/JobCreate.06aadcb6.js b/resources/[tools]/unlimited-spectre/html/assets/JobCreate.06aadcb6.js deleted file mode 100644 index 2c021476b..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/JobCreate.06aadcb6.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as S,o as f,X as h,a7 as t,a as s,w as d,a6 as g,ab as y,r as U,a5 as c,U as u,a9 as p,aT as j,Y as _,Z as v,W as V,S as N,bG as I,bH as B}from"./app-014d9ed9.js";import{Q as $}from"./QForm.8d79ab03.js";import{Q as C}from"./QTooltip.9d840032.js";import{Q as q}from"./QMarkupTable.ba6854cc.js";import{B as w}from"./BasicDialog.9dd9de92.js";import{S as Q,m as D}from"./move.a5bc0ce3.js";import"./externalHosting.js";import"./position-engine.65ebcb34.js";import"./selection.2a17b691.js";const O={name:"JobCreate",data(){return{defaults:["name","grades","label","defaultduty","offdutypay"],customVars:[],sortable:null,pendingSave:!1,job:{name:"",label:"",defaultDuty:!1,offDutyPay:!1,grades:{}},jobGrades:[]}},methods:{isNumeric(e){return typeof e!="string"?!1:!isNaN(e)&&!isNaN(parseFloat(e))},isBoolean(e){return e==="true"||(e==="false"?!1:e)},addCustomVar(){this.customVars.push({name:"",value:""})},removeVar(e){const l=this.customVars.indexOf(e);l>-1&&this.$q.dialog({component:w,componentProps:{title:this.$i18n.t("components.job.deleteHeader"),message:this.$i18n.t("components.job.deleteCustomVarMsg",{name:e.name})},cancel:!0,persistent:!0}).onOk(()=>{this.customVars.splice(l,1)})},removeNode(e){e.parentElement!==null&&e.parentElement.removeChild(e)},insertNodeAt(e,l,r){const i=r===0?e.children[0]:e.children[r-1].nextSibling;e.insertBefore(l,i)},buildJobGrade(e){let l=[];for(const[r,i]of Object.entries(e))l.push({name:i.name,payment:i.payment,isboss:i.isboss?i.isboss:!1});return l},updateBoss(){},addGrade(){this.jobGrades.push({name:"",payment:0,isboss:!1})},removeGrade(e){const l=this.jobGrades.indexOf(e);l>-1&&this.$q.dialog({component:w,componentProps:{title:this.$i18n.t("components.job.deleteHeader"),message:this.$i18n.t("components.job.deleteGradeMsg",{name:e.name})},cancel:!0,persistent:!0}).onOk(()=>{this.jobGrades.splice(l,1)})},trySave(){this.$refs.jobForm.validate().then(e=>{if(!e){this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.job.msg.error.missingFields")});return}this.$refs.customVarForm.validate().then(l=>{if(!l){this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.job.msg.error.uniqueVars")});return}this.customVars.forEach(i=>{!i.name||(i.oldName=i.name,this.job[i.name]=this.isNumeric(i.value)?Number(i.value):this.isBoolean(i.value))});let r={};for(const[i,a]of Object.entries(this.jobGrades)){if(!a.isboss&&!a.name&&!a.payment)continue;const m=Object.keys(r).length;a.isboss?r[m]={name:a.name,payment:a.payment,isboss:!0}:r[m]={name:a.name,payment:a.payment}}if(Object.keys(r).length===0){this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.job.msg.error.gradeNeeded")});return}this.pendingSave=!0,this.job.grades=r,this.$axios.post("/api/jobs/create",this.job).then(i=>{if(this.pendingSave=!1,!i.data.resCode){const m=i.data.resMsg;this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.job.msg.error.${m}`,{name:this.job.name})});return}Object.keys(r).length!==this.jobGrades.length&&(this.jobGrades=this.buildJobGrade(this.job.grades)),this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.saved")}),this.$router.push({name:"dev-job-list"})}).catch(i=>{})})})}},mounted(){const e=this.$el.querySelector(".q-table > draggable"),l=this;this.sortable=Q.create(e,{handle:".drag-handle",animation:150,onEnd(r){r.oldIndex!==r.newIndex&&(l.removeNode(r.item),l.insertNodeAt(r.from,r.item,r.oldIndex),D(l.jobGrades,r.oldIndex,r.newIndex))}})},beforeUnmount(){this.sortable.destroy()}},x=e=>(I("data-v-036fe121"),e=e(),B(),e),F={class:"row"},M={class:"col-12"},P={class:"q-ma-sm row"},E={class:"text-h6"},J={class:"col-12"},T={class:"q-ma-sm row"},z={class:"row"},A={class:"text-h6"},H={class:"text-caption text-sub"},L={class:"q-ml-auto"},W={style:{width:"30px"},class:"text-right vertical-middle"},X={class:"col-12"},Y={class:"q-ma-sm row"},Z={class:"row"},K={class:"text-h6"},R={class:"text-caption text-sub"},ee={class:"q-ml-auto"},te=x(()=>t("th",{class:"text-left",style:{width:"30px"}},null,-1)),oe={class:"text-left",style:{"min-width":"280px"}},se={class:"text-center",style:{"min-width":"150px"}},le={class:"text-center",style:{width:"30px"}},ae=x(()=>t("th",{class:"text-right",style:{width:"30px"}},null,-1)),ne={class:"text-left"},re={class:"text-left"},ie={class:"text-center vertical-middle"},de={class:"text-right vertical-middle"},me={class:"col-12"},ue={class:"q-ma-sm row justify-end"};function ce(e,l,r,i,a,m){const k=U("draggable");return f(),h("div",F,[t("div",M,[t("div",P,[s(g,{class:"bg-secondary full-width row"},{default:d(()=>[s(c,{class:"col-12"},{default:d(()=>[t("div",E,u(e.$t("components.jobCreate.new"))+":",1)]),_:1}),s(c,{class:"col-12 col-md-6"},{default:d(()=>[s($,{ref:"jobForm"},{default:d(()=>[s(p,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:a.job.name,"onUpdate:modelValue":l[0]||(l[0]=o=>a.job.name=o),onChange:l[1]||(l[1]=o=>{a.job.name=o.toLowerCase()}),label:e.$t("components.job.name"),rules:[o=>o&&o.length>0||e.$t("rules.required"),o=>o&&!/\s/.test(o)||e.$t("rules.noSpace")]},null,8,["input-style","modelValue","label","rules"]),s(p,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:a.job.label,"onUpdate:modelValue":l[2]||(l[2]=o=>a.job.label=o),label:e.$t("components.job.label")},null,8,["input-style","modelValue","label"])]),_:1},512)]),_:1}),s(c,{class:"col-12 col-md-3"},{default:d(()=>[s(j,{modelValue:a.job.defaultDuty,"onUpdate:modelValue":l[3]||(l[3]=o=>a.job.defaultDuty=o),label:e.$t("components.job.defaultDuty")},null,8,["modelValue","label"])]),_:1}),s(c,{class:"col-12 col-md-3"},{default:d(()=>[s(j,{modelValue:a.job.offDutyPay,"onUpdate:modelValue":l[4]||(l[4]=o=>a.job.offDutyPay=o),label:e.$t("components.job.offDutyPay")},null,8,["modelValue","label"])]),_:1})]),_:1})])]),t("div",J,[t("div",T,[s(g,{class:"bg-secondary full-width row"},{default:d(()=>[s(c,{class:"col-12"},{default:d(()=>[t("div",z,[t("div",null,[t("div",A,u(e.$t("components.job.customVariables")),1),t("div",H,u(e.$t("components.job.customVarSub")),1)]),t("div",L,[s(y,{"text-color":"main",color:"primary",label:e.$t("components.job.addCustomVar"),onClick:m.addCustomVar},null,8,["label","onClick"])])])]),_:1}),s(c,{class:"col-12"},{default:d(()=>[s($,{ref:"customVarForm"},{default:d(()=>[s(q,{class:"bg-secondary text-main",flat:"",square:"",separator:"none"},{default:d(()=>[t("tbody",null,[(f(!0),h(_,null,v(a.customVars,(o,b)=>(f(),h("tr",{key:`${b}-customVar`},[t("td",null,[s(p,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:o.name,"onUpdate:modelValue":n=>o.name=n,label:e.$t("components.job.customVarName"),"lazy-rules":"",rules:[n=>n&&n.length>0||e.$t("rules.required"),n=>n&&!/\s/.test(n)||e.$t("rules.noSpace"),n=>n&&a.customVars.filter(G=>G.name===n).length<=1||e.$t("rules.unique"),n=>n&&!a.defaults.includes(n.toLowerCase())||e.$t("rules.defaults")]},null,8,["input-style","modelValue","onUpdate:modelValue","label","rules"])]),t("td",null,[s(p,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",class:"q-field--with-bottom",modelValue:o.value,"onUpdate:modelValue":n=>o.value=n,label:e.$t("components.job.customVarValue")},null,8,["input-style","modelValue","onUpdate:modelValue","label"])]),t("td",W,[s(y,{"text-color":"main",class:"text-red-6",dense:"",flat:"",icon:"fas fa-trash",size:"xs",onClick:n=>m.removeVar(b,o)},{default:d(()=>[s(C,null,{default:d(()=>[V(u(e.$t("general.delete")),1)]),_:1})]),_:2},1032,["onClick"])])]))),128))])]),_:1})]),_:1},512)]),_:1})]),_:1})])]),t("div",X,[t("div",Y,[s(g,{class:"bg-secondary full-width row"},{default:d(()=>[s(c,{class:"col-12"},{default:d(()=>[t("div",Z,[t("div",null,[t("div",K,u(e.$t("components.job.grades")),1),t("div",R,u(e.$t("components.job.gradesSub")),1)]),t("div",ee,[s(y,{"text-color":"main",color:"primary",label:e.$t("components.job.addGrade"),onClick:m.addGrade},null,8,["label","onClick"])])])]),_:1}),s(c,{class:"col-12"},{default:d(()=>[s(q,{class:"bg-secondary text-main",flat:"",square:"",separator:"none"},{default:d(()=>[t("thead",null,[t("tr",null,[te,t("th",oe,u(e.$t("components.job.headers.name")),1),t("th",se,u(e.$t("components.job.headers.payment")),1),t("th",le,u(e.$t("components.job.headers.isboss")),1),ae])]),s(k,{modelValue:a.jobGrades,"onUpdate:modelValue":l[5]||(l[5]=o=>a.jobGrades=o),style:{display:"table-row-group"},tag:"tbody"},{default:d(()=>[(f(!0),h(_,null,v(a.jobGrades,(o,b)=>(f(),h("tr",{class:"grade-table",key:`${o.isboss}-${b}`},[t("td",null,[s(N,{name:"fas fa-bars",class:"drag-handle"})]),t("td",ne,[s(p,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",label:e.$t("components.job.headers.name"),modelValue:o.name,"onUpdate:modelValue":n=>o.name=n},null,8,["input-style","label","modelValue","onUpdate:modelValue"])]),t("td",re,[s(p,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",type:"number",label:e.$t("components.job.headers.payment"),modelValue:o.payment,"onUpdate:modelValue":n=>o.payment=n,modelModifiers:{number:!0}},null,8,["input-style","label","modelValue","onUpdate:modelValue"])]),t("td",ie,[s(j,{onClick:n=>m.updateBoss(o,b),modelValue:o.isboss,"onUpdate:modelValue":n=>o.isboss=n},null,8,["onClick","modelValue","onUpdate:modelValue"])]),t("td",de,[s(y,{"text-color":"main",class:"text-red-6",dense:"",flat:"",icon:"fas fa-trash",size:"xs",onClick:n=>m.removeGrade(o)},{default:d(()=>[s(C,null,{default:d(()=>[V(u(e.$t("general.delete")),1)]),_:1})]),_:2},1032,["onClick"])])]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1})])]),t("div",me,[t("div",ue,[s(y,{"text-color":"main",loading:a.pendingSave,color:"primary",onClick:m.trySave,label:e.$t("general.create"),class:"q-mr-sm"},null,8,["loading","onClick","label"])])])])}const Ve=S(O,[["render",ce],["__scopeId","data-v-036fe121"]]);export{Ve as default}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/JobCreate.df7379d8.css b/resources/[tools]/unlimited-spectre/html/assets/JobCreate.df7379d8.css deleted file mode 100644 index 0dda3a6ab..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/JobCreate.df7379d8.css +++ /dev/null @@ -1 +0,0 @@ -.drag-handle[data-v-036fe121]{cursor:move}.q-table__middle[data-v-036fe121]{overflow-y:hidden;overflow-x:auto} diff --git a/resources/[tools]/unlimited-spectre/html/assets/JobList.d41e0b31.js b/resources/[tools]/unlimited-spectre/html/assets/JobList.d41e0b31.js deleted file mode 100644 index e2c3c7216..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/JobList.d41e0b31.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as h,P as y,R as w,bh as j,o as u,X as $,a as t,w as o,a6 as k,c as b,bi as v,r as V,a7 as n,U as p,ab as _,V as D,aE as L,a9 as C,S as P,W as c,aT as f}from"./app-014d9ed9.js";import{Q as E,a as Q,b as i}from"./QTable.d759a99d.js";import{d as S}from"./utils.9ce591f3.js";import"./externalHosting.js";import"./QList.9d5bb77f.js";import"./QMarkupTable.ba6854cc.js";import"./QSelect.d7ce3d4c.js";import"./QItemLabel.b6dd3adb.js";import"./position-engine.65ebcb34.js";import"./selection.2a17b691.js";import"./rtl.b51694b1.js";const U={name:"JobList",data(){return{ACTION:y,RESOURCE:w,jobs:[],columns:[{name:"name",align:"left",label:this.$i18n.t("components.jobList.headers.name"),field:e=>e.name,format:e=>`${e}`,sortable:!0},{name:"label",align:"left",label:this.$i18n.t("components.jobList.headers.label"),field:e=>e.label,format:e=>`${e}`,sortable:!0},{name:"grades",align:"center",label:this.$i18n.t("components.jobList.headers.grades"),field:e=>e.grades,format:e=>`${e}`,style:"width: 30px",sortable:!0},{name:"defaultDuty",align:"center",label:this.$i18n.t("components.jobList.headers.defaultDuty"),field:e=>e.defaultDuty,format:e=>`${e}`,style:"width: 30px",sortable:!0},{name:"offDutyPay",align:"center",label:this.$i18n.t("components.jobList.headers.offDutyPay"),field:e=>e.offDutyPay,format:e=>`${e}`,style:"width: 30px",sortable:!0}],pagination:{sortBy:"desc",descending:!1,page:1,rowsPerPage:25},loading:!0}},computed:{...j(v,["searchFilter","paginationSave"])},methods:{can:S,onRowClick(e){this.$router.push({name:"dev-job-detail",params:{jobId:e.name}})},getPaginationLabel(e,s,r){return this.$i18n.t("components.jobList.paginationLabel",{from:e,to:s,total:r})},updatePagination(e){this.loading||(this.paginationSave=e,this.pagination=e)}},mounted(){this.$route.name==="dev-job-list"&&this.$axios.get("/api/jobs").then(e=>{for(const[s,r]of Object.entries(e.data.jobs))this.jobs.push({name:s,...r});this.loading=!1,this.pagination={...this.paginationSave}}).catch(e=>{this.loading=!1,this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("general.timeout")})})}},x={key:0,class:"row q-pa-sm"},R={class:"row"},T={class:"col-12"},q={class:"q-mx-md q-my-sm row flex-center"},B={class:"text-caption text-sub"},O={class:"q-ml-auto"};function N(e,s,r,I,l,d){const g=V("router-view");return e.$route.name==="dev-job-list"?(u(),$("div",x,[t(k,{class:"bg-secondary full-width"},{default:o(()=>[n("div",R,[n("div",T,[n("div",q,[n("div",B,p(e.$t("components.jobList.subheader")),1),n("div",O,[d.can(l.ACTION.DEV.JOB.CREATE,l.RESOURCE.DEV)?(u(),b(_,{key:0,"text-color":"main",color:"primary",onClick:s[0]||(s[0]=a=>e.$router.push({name:"dev-job-create"})),label:e.$t("components.jobList.createJob"),class:"q-ma-sm"},null,8,["label"])):D("",!0)])]),t(L),t(E,{color:"primary","card-class":"bg-secondary text-main","table-class":"text-main","table-header-class":"text-primary",flat:"",rows:l.jobs,columns:l.columns,"row-key":"name",pagination:l.pagination,"rows-per-page-options":[0,25,50,100],"no-results-label":e.$t("components.jobList.noData"),"loading-label":e.$t("components.jobList.loadData"),loading:l.loading,filter:e.searchFilter,"pagination-label":d.getPaginationLabel,"rows-per-page-label":`${e.$t("components.jobList.recordsPerPage")}:`,"onUpdate:pagination":d.updatePagination},{"top-right":o(()=>[t(C,{"input-style":{color:"var(--q-main)"},borderless:"",dense:"",debounce:"300",modelValue:e.searchFilter,"onUpdate:modelValue":s[1]||(s[1]=a=>e.searchFilter=a),placeholder:e.$t("general.search")},{append:o(()=>[t(P,{class:"text-main",name:"search"})]),_:1},8,["input-style","modelValue","placeholder"])]),body:o(a=>[t(Q,{props:a,onClick:m=>d.onRowClick(a.row),class:"cursor-pointer"},{default:o(()=>[t(i,{key:"name",props:a},{default:o(()=>[c(p(a.row.name),1)]),_:2},1032,["props"]),t(i,{key:"label",props:a},{default:o(()=>[c(p(a.row.label),1)]),_:2},1032,["props"]),t(i,{key:"grades",props:a},{default:o(()=>[c(p(Object.keys(a.row.grades).length),1)]),_:2},1032,["props"]),t(i,{key:"defaultDuty",props:a},{default:o(()=>[t(f,{disable:"",modelValue:a.row.defaultDuty,"onUpdate:modelValue":m=>a.row.defaultDuty=m},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["props"]),t(i,{key:"offDutyPay",props:a},{default:o(()=>[t(f,{disable:"",modelValue:a.row.offDutyPay,"onUpdate:modelValue":m=>a.row.offDutyPay=m},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["props"])]),_:2},1032,["props","onClick"])]),_:1},8,["rows","columns","pagination","no-results-label","loading-label","loading","filter","pagination-label","rows-per-page-label","onUpdate:pagination"])])])]),_:1})])):(u(),b(g,{key:1}))}const Z=h(U,[["render",N]]);export{Z as default}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/KFOkCnqEu92Fr1MmgVxIIzQ.34e9582c.woff b/resources/[tools]/unlimited-spectre/html/assets/KFOkCnqEu92Fr1MmgVxIIzQ.34e9582c.woff deleted file mode 100644 index a815cf86d..000000000 Binary files a/resources/[tools]/unlimited-spectre/html/assets/KFOkCnqEu92Fr1MmgVxIIzQ.34e9582c.woff and /dev/null differ diff --git a/resources/[tools]/unlimited-spectre/html/assets/KFOlCnqEu92Fr1MmEU9fBBc-.9ce7f3ac.woff b/resources/[tools]/unlimited-spectre/html/assets/KFOlCnqEu92Fr1MmEU9fBBc-.9ce7f3ac.woff deleted file mode 100644 index d39bb52a5..000000000 Binary files a/resources/[tools]/unlimited-spectre/html/assets/KFOlCnqEu92Fr1MmEU9fBBc-.9ce7f3ac.woff and /dev/null differ diff --git a/resources/[tools]/unlimited-spectre/html/assets/KFOlCnqEu92Fr1MmSU5fBBc-.bf14c7d7.woff b/resources/[tools]/unlimited-spectre/html/assets/KFOlCnqEu92Fr1MmSU5fBBc-.bf14c7d7.woff deleted file mode 100644 index 36979aeef..000000000 Binary files a/resources/[tools]/unlimited-spectre/html/assets/KFOlCnqEu92Fr1MmSU5fBBc-.bf14c7d7.woff and /dev/null differ diff --git a/resources/[tools]/unlimited-spectre/html/assets/KFOlCnqEu92Fr1MmWUlfBBc-.e0fd57c0.woff b/resources/[tools]/unlimited-spectre/html/assets/KFOlCnqEu92Fr1MmWUlfBBc-.e0fd57c0.woff deleted file mode 100644 index db0012d1b..000000000 Binary files a/resources/[tools]/unlimited-spectre/html/assets/KFOlCnqEu92Fr1MmWUlfBBc-.e0fd57c0.woff and /dev/null differ diff --git a/resources/[tools]/unlimited-spectre/html/assets/KFOlCnqEu92Fr1MmYUtfBBc-.f6537e32.woff b/resources/[tools]/unlimited-spectre/html/assets/KFOlCnqEu92Fr1MmYUtfBBc-.f6537e32.woff deleted file mode 100644 index 04cbe949a..000000000 Binary files a/resources/[tools]/unlimited-spectre/html/assets/KFOlCnqEu92Fr1MmYUtfBBc-.f6537e32.woff and /dev/null differ diff --git a/resources/[tools]/unlimited-spectre/html/assets/KFOmCnqEu92Fr1Mu4mxM.f2abf7fb.woff b/resources/[tools]/unlimited-spectre/html/assets/KFOmCnqEu92Fr1Mu4mxM.f2abf7fb.woff deleted file mode 100644 index 9eaa94f9b..000000000 Binary files a/resources/[tools]/unlimited-spectre/html/assets/KFOmCnqEu92Fr1Mu4mxM.f2abf7fb.woff and /dev/null differ diff --git a/resources/[tools]/unlimited-spectre/html/assets/LayoutFull.6bfc30db.js b/resources/[tools]/unlimited-spectre/html/assets/LayoutFull.6bfc30db.js deleted file mode 100644 index c30acd704..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/LayoutFull.6bfc30db.js +++ /dev/null @@ -1 +0,0 @@ -import{Q as t}from"./QLayout.baf5346d.js";import{_ as e,r as a,o as r,c as s,w as c,a as n}from"./app-014d9ed9.js";import"./QResizeObserver.2503502b.js";import"./externalHosting.js";const p={name:"FullLayout"};function _(u,i,m,l,f,d){const o=a("router-view");return r(),s(t,{class:"bg-dark text-main"},{default:c(()=>[n(o)]),_:1})}const v=e(p,[["render",_]]);export{v as default}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/LayoutVertical.cefc75f1.css b/resources/[tools]/unlimited-spectre/html/assets/LayoutVertical.cefc75f1.css deleted file mode 100644 index 5f2f6c256..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/LayoutVertical.cefc75f1.css +++ /dev/null @@ -1 +0,0 @@ -.active-sidebar-element[data-v-83d7008e]{background:rgba(var(--q-primary),.15)}.v-list-group__items .v-list-item[data-v-8c2f8028]{padding:12px!important}.brand-logo img{height:36px;width:36px}.brand-text{color:var(--q-primary);font-weight:600;letter-spacing:.01rem;font-size:1.45rem} diff --git a/resources/[tools]/unlimited-spectre/html/assets/LayoutVertical.fe3b4c68.js b/resources/[tools]/unlimited-spectre/html/assets/LayoutVertical.fe3b4c68.js deleted file mode 100644 index 94f96d4ba..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/LayoutVertical.fe3b4c68.js +++ /dev/null @@ -1 +0,0 @@ -import{b as G,q as s,x as $,A as re,B as oe,C as B,k as S,d as y,f as be,D as tt,h as ne,y as le,E as at,F as rt,G as ot,H as nt,I as lt,J as st,K as it,e as ut,z as Ae,L as Me,M as $e,N as ct,t as dt,O as ft,m as vt,v as Be,R as h,P as g,_ as W,Q as mt,o as x,c as O,w,a as v,S as ae,T as ht,U as z,V as K,W as j,X as Y,Y as pe,Z as ye,$ as Re,a0 as gt,a1 as bt,a2 as pt,a3 as yt,a4 as wt,a5 as ge,a6 as Se,a7 as Q,a8 as Le,a9 as Ve,aa as _t,ab as te,ac as Et,ad as Ct,ae as At,af as $t,r as Vt,ag as kt,ah as qt}from"./app-014d9ed9.js";import{Q as ke}from"./QTooltip.9d840032.js";import{Q as Pe}from"./QResizeObserver.2503502b.js";import{Q as xt}from"./QList.9d5bb77f.js";import{T as he}from"./TouchPan.194313dc.js";import{b as ee,Q as qe,a as Dt,c as Mt}from"./QItemLabel.b6dd3adb.js";import{Q as Bt}from"./QLayout.baf5346d.js";import{c as Rt,a as St,r as Qe,b as Lt}from"./utils.9ce591f3.js";import{Q as Pt}from"./QExpansionItem.593bd861.js";import{Q as Qt}from"./QForm.8d79ab03.js";import"./externalHosting.js";import"./position-engine.65ebcb34.js";import"./selection.2a17b691.js";import"./touch.70a9dd44.js";import"./QSlideTransition.104e08c1.js";const Ot=G({name:"QToolbar",props:{inset:Boolean},setup(e,{slots:i}){const l=s(()=>"q-toolbar row no-wrap items-center"+(e.inset===!0?" q-toolbar--inset":""));return()=>$("div",{class:l.value,role:"toolbar"},re(i.default))}}),Tt=G({name:"QHeader",props:{modelValue:{type:Boolean,default:!0},reveal:Boolean,revealOffset:{type:Number,default:250},bordered:Boolean,elevated:Boolean,heightHint:{type:[String,Number],default:50}},emits:["reveal","focusin"],setup(e,{slots:i,emit:l}){const{proxy:{$q:d}}=ne(),a=oe(le,B);if(a===B)return console.error("QHeader needs to be child of QLayout"),B;const n=S(parseInt(e.heightHint,10)),o=S(!0),m=s(()=>e.reveal===!0||a.view.value.indexOf("H")>-1||d.platform.is.ios&&a.isContainer.value===!0),E=s(()=>{if(e.modelValue!==!0)return 0;if(m.value===!0)return o.value===!0?n.value:0;const u=n.value-a.scroll.value.position;return u>0?u:0}),L=s(()=>e.modelValue!==!0||m.value===!0&&o.value!==!0),r=s(()=>e.modelValue===!0&&L.value===!0&&e.reveal===!0),A=s(()=>"q-header q-layout__section--marginal "+(m.value===!0?"fixed":"absolute")+"-top"+(e.bordered===!0?" q-header--bordered":"")+(L.value===!0?" q-header--hidden":"")+(e.modelValue!==!0?" q-layout--prevent-focus":"")),R=s(()=>{const u=a.rows.value.top,D={};return u[0]==="l"&&a.left.space===!0&&(D[d.lang.rtl===!0?"right":"left"]=`${a.left.size}px`),u[2]==="r"&&a.right.space===!0&&(D[d.lang.rtl===!0?"left":"right"]=`${a.right.size}px`),D});function C(u,D){a.update("header",u,D)}function b(u,D){u.value!==D&&(u.value=D)}function V({height:u}){b(n,u),C("size",u)}function _(u){r.value===!0&&b(o,!0),l("focusin",u)}y(()=>e.modelValue,u=>{C("space",u),b(o,!0),a.animate()}),y(E,u=>{C("offset",u)}),y(()=>e.reveal,u=>{u===!1&&b(o,e.modelValue)}),y(o,u=>{a.animate(),l("reveal",u)}),y(a.scroll,u=>{e.reveal===!0&&b(o,u.direction==="up"||u.position<=e.revealOffset||u.position-u.inflectionPoint<100)});const p={};return a.instances.header=p,e.modelValue===!0&&C("size",n.value),C("space",e.modelValue),C("offset",E.value),be(()=>{a.instances.header===p&&(a.instances.header=void 0,C("size",0),C("offset",0),C("space",!1))}),()=>{const u=tt(i.default,[]);return e.elevated===!0&&u.push($("div",{class:"q-layout__shadow absolute-full overflow-hidden no-pointer-events"})),u.push($(Pe,{debounce:0,onResize:V})),$("header",{class:A.value,style:R.value,onFocusin:_},u)}}}),xe=150,It=G({name:"QDrawer",inheritAttrs:!1,props:{...at,...rt,side:{type:String,default:"left",validator:e=>["left","right"].includes(e)},width:{type:Number,default:300},mini:Boolean,miniToOverlay:Boolean,miniWidth:{type:Number,default:57},breakpoint:{type:Number,default:1023},showIfAbove:Boolean,behavior:{type:String,validator:e=>["default","desktop","mobile"].includes(e),default:"default"},bordered:Boolean,elevated:Boolean,overlay:Boolean,persistent:Boolean,noSwipeOpen:Boolean,noSwipeClose:Boolean,noSwipeBackdrop:Boolean},emits:[...ot,"on-layout","mini-state"],setup(e,{slots:i,emit:l,attrs:d}){const a=ne(),{proxy:{$q:n}}=a,o=nt(e,n),{preventBodyScroll:m}=ct(),{registerTimeout:E,removeTimeout:L}=lt(),r=oe(le,B);if(r===B)return console.error("QDrawer needs to be child of QLayout"),B;let A,R,C;const b=S(e.behavior==="mobile"||e.behavior!=="desktop"&&r.totalWidth.value<=e.breakpoint),V=s(()=>e.mini===!0&&b.value!==!0),_=s(()=>V.value===!0?e.miniWidth:e.width),p=S(e.showIfAbove===!0&&b.value===!1?!0:e.modelValue===!0),u=s(()=>e.persistent!==!0&&(b.value===!0||Ge.value===!0));function D(t,f){if(se(),t!==!1&&r.animate(),M(0),b.value===!0){const q=r.instances[X.value];q!==void 0&&q.belowBreakpoint===!0&&q.hide(!1),T(1),r.isContainer.value!==!0&&m(!0)}else T(0),t!==!1&&fe(!1);E(()=>{t!==!1&&fe(!0),f!==!0&&l("show",t)},xe)}function F(t,f){Ie(),t!==!1&&r.animate(),T(0),M(N.value*_.value),ve(),f!==!0?E(()=>{l("hide",t)},xe):L()}const{show:c,hide:k}=st({showing:p,hideOnRouteChange:u,handleShow:D,handleHide:F}),{addToHistory:se,removeFromHistory:Ie}=it(p,k,u),J={belowBreakpoint:b,hide:k},P=s(()=>e.side==="right"),N=s(()=>(n.lang.rtl===!0?-1:1)*(P.value===!0?1:-1)),we=S(0),H=S(!1),ie=S(!1),_e=S(_.value*N.value),X=s(()=>P.value===!0?"left":"right"),ue=s(()=>p.value===!0&&b.value===!1&&e.overlay===!1?e.miniToOverlay===!0?e.miniWidth:_.value:0),ce=s(()=>e.overlay===!0||e.miniToOverlay===!0||r.view.value.indexOf(P.value?"R":"L")>-1||n.platform.is.ios===!0&&r.isContainer.value===!0),U=s(()=>e.overlay===!1&&p.value===!0&&b.value===!1),Ge=s(()=>e.overlay===!0&&p.value===!0&&b.value===!1),Ne=s(()=>"fullscreen q-drawer__backdrop"+(p.value===!1&&H.value===!1?" hidden":"")),He=s(()=>({backgroundColor:`rgba(0,0,0,${we.value*.4})`})),Ee=s(()=>P.value===!0?r.rows.value.top[2]==="r":r.rows.value.top[0]==="l"),ze=s(()=>P.value===!0?r.rows.value.bottom[2]==="r":r.rows.value.bottom[0]==="l"),We=s(()=>{const t={};return r.header.space===!0&&Ee.value===!1&&(ce.value===!0?t.top=`${r.header.offset}px`:r.header.space===!0&&(t.top=`${r.header.size}px`)),r.footer.space===!0&&ze.value===!1&&(ce.value===!0?t.bottom=`${r.footer.offset}px`:r.footer.space===!0&&(t.bottom=`${r.footer.size}px`)),t}),Fe=s(()=>{const t={width:`${_.value}px`,transform:`translateX(${_e.value}px)`};return b.value===!0?t:Object.assign(t,We.value)}),Ue=s(()=>"q-drawer__content fit "+(r.isContainer.value!==!0?"scroll":"overflow-auto")),je=s(()=>`q-drawer q-drawer--${e.side}`+(ie.value===!0?" q-drawer--mini-animate":"")+(e.bordered===!0?" q-drawer--bordered":"")+(o.value===!0?" q-drawer--dark q-dark":"")+(H.value===!0?" no-transition":p.value===!0?"":" q-layout--prevent-focus")+(b.value===!0?" fixed q-drawer--on-top q-drawer--mobile q-drawer--top-padding":` q-drawer--${V.value===!0?"mini":"standard"}`+(ce.value===!0||U.value!==!0?" fixed":"")+(e.overlay===!0||e.miniToOverlay===!0?" q-drawer--on-top":"")+(Ee.value===!0?" q-drawer--top-padding":""))),Ye=s(()=>{const t=n.lang.rtl===!0?e.side:X.value;return[[he,Ze,void 0,{[t]:!0,mouse:!0}]]}),Ke=s(()=>{const t=n.lang.rtl===!0?X.value:e.side;return[[he,Ce,void 0,{[t]:!0,mouse:!0}]]}),Je=s(()=>{const t=n.lang.rtl===!0?X.value:e.side;return[[he,Ce,void 0,{[t]:!0,mouse:!0,mouseAllDir:!0}]]});function de(){et(b,e.behavior==="mobile"||e.behavior!=="desktop"&&r.totalWidth.value<=e.breakpoint)}y(b,t=>{t===!0?(A=p.value,p.value===!0&&k(!1)):e.overlay===!1&&e.behavior!=="mobile"&&A!==!1&&(p.value===!0?(M(0),T(0),ve()):c(!1))}),y(()=>e.side,(t,f)=>{r.instances[f]===J&&(r.instances[f]=void 0,r[f].space=!1,r[f].offset=0),r.instances[t]=J,r[t].size=_.value,r[t].space=U.value,r[t].offset=ue.value}),y(r.totalWidth,()=>{(r.isContainer.value===!0||document.qScrollPrevented!==!0)&&de()}),y(()=>e.behavior+e.breakpoint,de),y(r.isContainer,t=>{p.value===!0&&m(t!==!0),t===!0&&de()}),y(r.scrollbarWidth,()=>{M(p.value===!0?0:void 0)}),y(ue,t=>{I("offset",t)}),y(U,t=>{l("on-layout",t),I("space",t)}),y(P,()=>{M()}),y(_,t=>{M(),me(e.miniToOverlay,t)}),y(()=>e.miniToOverlay,t=>{me(t,_.value)}),y(()=>n.lang.rtl,()=>{M()}),y(()=>e.mini,()=>{e.modelValue===!0&&(Xe(),r.animate())}),y(V,t=>{l("mini-state",t)});function M(t){t===void 0?Ae(()=>{t=p.value===!0?0:_.value,M(N.value*t)}):(r.isContainer.value===!0&&P.value===!0&&(b.value===!0||Math.abs(t)===_.value)&&(t+=N.value*r.scrollbarWidth.value),_e.value=t)}function T(t){we.value=t}function fe(t){const f=t===!0?"remove":r.isContainer.value!==!0?"add":"";f!==""&&document.body.classList[f]("q-body--drawer-toggle")}function Xe(){clearTimeout(R),a.proxy&&a.proxy.$el&&a.proxy.$el.classList.add("q-drawer--mini-animate"),ie.value=!0,R=setTimeout(()=>{ie.value=!1,a&&a.proxy&&a.proxy.$el&&a.proxy.$el.classList.remove("q-drawer--mini-animate")},150)}function Ze(t){if(p.value!==!1)return;const f=_.value,q=ee(t.distance.x,0,f);if(t.isFinal===!0){q>=Math.min(75,f)===!0?c():(r.animate(),T(0),M(N.value*f)),H.value=!1;return}M((n.lang.rtl===!0?P.value!==!0:P.value)?Math.max(f-q,0):Math.min(0,q-f)),T(ee(q/f,0,1)),t.isFirst===!0&&(H.value=!0)}function Ce(t){if(p.value!==!0)return;const f=_.value,q=t.direction===e.side,Z=(n.lang.rtl===!0?q!==!0:q)?ee(t.distance.x,0,f):0;if(t.isFinal===!0){Math.abs(Z){l("on-layout",U.value),l("mini-state",V.value),A=e.showIfAbove===!0;const t=()=>{(p.value===!0?D:F)(!1,!0)};if(r.totalWidth.value!==0){Ae(t);return}C=y(r.totalWidth,()=>{C(),C=void 0,p.value===!1&&e.showIfAbove===!0&&b.value===!1?c(!1):t()})}),be(()=>{C!==void 0&&C(),clearTimeout(R),p.value===!0&&ve(),r.instances[e.side]===J&&(r.instances[e.side]=void 0,I("size",0),I("offset",0),I("space",!1))}),()=>{const t=[];b.value===!0&&(e.noSwipeOpen===!1&&t.push(Me($("div",{key:"open",class:`q-drawer__opener fixed-${e.side}`,"aria-hidden":"true"}),Ye.value)),t.push($e("div",{ref:"backdrop",class:Ne.value,style:He.value,"aria-hidden":"true",onClick:k},void 0,"backdrop",e.noSwipeBackdrop!==!0&&p.value===!0,()=>Je.value)));const f=V.value===!0&&i.mini!==void 0,q=[$("div",{...d,key:""+f,class:[Ue.value,d.class]},f===!0?i.mini():re(i.default))];return e.elevated===!0&&p.value===!0&&q.push($("div",{class:"q-layout__shadow absolute-full overflow-hidden no-pointer-events"})),t.push($e("aside",{ref:"content",class:je.value,style:Fe.value},q,"contentclose",e.noSwipeClose!==!0&&b.value===!0,()=>Ke.value)),$("div",{class:"q-drawer-container"},t)}}}),Gt=G({name:"QPageContainer",setup(e,{slots:i}){const{proxy:{$q:l}}=ne(),d=oe(le,B);if(d===B)return console.error("QPageContainer needs to be child of QLayout"),B;dt(ft,!0);const a=s(()=>{const n={};return d.header.space===!0&&(n.paddingTop=`${d.header.size}px`),d.right.space===!0&&(n[`padding${l.lang.rtl===!0?"Left":"Right"}`]=`${d.right.size}px`),d.footer.space===!0&&(n.paddingBottom=`${d.footer.size}px`),d.left.space===!0&&(n[`padding${l.lang.rtl===!0?"Right":"Left"}`]=`${d.left.size}px`),n});return()=>$("div",{class:"q-page-container",style:a.value},re(i.default))}}),Nt=G({name:"QFooter",props:{modelValue:{type:Boolean,default:!0},reveal:Boolean,bordered:Boolean,elevated:Boolean,heightHint:{type:[String,Number],default:50}},emits:["reveal","focusin"],setup(e,{slots:i,emit:l}){const{proxy:{$q:d}}=ne(),a=oe(le,B);if(a===B)return console.error("QFooter needs to be child of QLayout"),B;const n=S(parseInt(e.heightHint,10)),o=S(!0),m=S(vt.value===!0||a.isContainer.value===!0?0:window.innerHeight),E=s(()=>e.reveal===!0||a.view.value.indexOf("F")>-1||d.platform.is.ios&&a.isContainer.value===!0),L=s(()=>a.isContainer.value===!0?a.containerHeight.value:m.value),r=s(()=>{if(e.modelValue!==!0)return 0;if(E.value===!0)return o.value===!0?n.value:0;const c=a.scroll.value.position+L.value+n.value-a.height.value;return c>0?c:0}),A=s(()=>e.modelValue!==!0||E.value===!0&&o.value!==!0),R=s(()=>e.modelValue===!0&&A.value===!0&&e.reveal===!0),C=s(()=>"q-footer q-layout__section--marginal "+(E.value===!0?"fixed":"absolute")+"-bottom"+(e.bordered===!0?" q-footer--bordered":"")+(A.value===!0?" q-footer--hidden":"")+(e.modelValue!==!0?" q-layout--prevent-focus"+(E.value!==!0?" hidden":""):"")),b=s(()=>{const c=a.rows.value.bottom,k={};return c[0]==="l"&&a.left.space===!0&&(k[d.lang.rtl===!0?"right":"left"]=`${a.left.size}px`),c[2]==="r"&&a.right.space===!0&&(k[d.lang.rtl===!0?"left":"right"]=`${a.right.size}px`),k});function V(c,k){a.update("footer",c,k)}function _(c,k){c.value!==k&&(c.value=k)}function p({height:c}){_(n,c),V("size",c)}function u(){if(e.reveal!==!0)return;const{direction:c,position:k,inflectionPoint:se}=a.scroll.value;_(o,c==="up"||k-se<100||a.height.value-L.value-k-n.value<300)}function D(c){R.value===!0&&_(o,!0),l("focusin",c)}y(()=>e.modelValue,c=>{V("space",c),_(o,!0),a.animate()}),y(r,c=>{V("offset",c)}),y(()=>e.reveal,c=>{c===!1&&_(o,e.modelValue)}),y(o,c=>{a.animate(),l("reveal",c)}),y([n,a.scroll,a.height],u),y(()=>d.screen.height,c=>{a.isContainer.value!==!0&&_(m,c)});const F={};return a.instances.footer=F,e.modelValue===!0&&V("size",n.value),V("space",e.modelValue),V("offset",r.value),be(()=>{a.instances.footer===F&&(a.instances.footer=void 0,V("size",0),V("offset",0),V("space",!1))}),()=>{const c=Be(i.default,[$(Pe,{debounce:0,onResize:p})]);return e.elevated===!0&&c.push($("div",{class:"q-layout__shadow absolute-full overflow-hidden no-pointer-events"})),$("footer",{class:C.value,style:b.value,onFocusin:D},c)}}}),Ht=[{title:"dashboard",icon:"fas fa-tachometer-alt",route:"dashboard",resource:h.APP,action:g.APP.DASHBOARD},{header:"gameserver",children:[{resource:h.GAME,action:g.GAME.LIVEMAP.READ},{resource:h.GAME,action:g.GAME.PLAYER.READ},{resource:h.GAME,action:g.GAME.VEHICLE.READ},{resource:h.GAME,action:g.GAME.STASHES.READ},{resource:h.GAME,action:g.GAME.LOGS.READ}]},{title:"livemap",icon:"fas fa-map",route:"game-live-map",resource:h.GAME,action:g.GAME.LIVEMAP.READ},{title:"waypoint",icon:"push_pin",route:"game-waypoint-list",resource:h.GAME,action:g.GAME.WAYPOINT.READ},{title:"account",icon:"account_tree",route:"game-account-list",resource:h.GAME,action:g.GAME.ACCOUNT.READ},{title:"player",icon:"fas fa-user",route:"game-player-list",resource:h.GAME,action:g.GAME.PLAYER.READ},{title:"vehicle",icon:"fas fa-car",route:"game-vehicle-list",resource:h.GAME,action:g.GAME.VEHICLE.READ},{title:"stashes",icon:"fas fa-box-open",route:"game-stashes-list",resource:h.GAME,action:g.GAME.STASHES.READ},{title:"logs",icon:"description",route:"game-logs",resource:h.GAME,action:g.GAME.LOGS.READ},{header:"development",children:[{resource:h.DEV,action:g.DEV.VEHICLE.READ},{resource:h.DEV,action:g.DEV.ITEM.READ},{resource:h.DEV,action:g.DEV.JOB.READ},{resource:h.DEV,action:g.DEV.GANG.READ}]},{title:"items",icon:"fas fa-archive",route:"dev-item-list",resource:h.DEV,action:g.DEV.ITEM.READ},{title:"jobs",icon:"fas fa-briefcase",route:"dev-job-list",resource:h.DEV,action:g.DEV.JOB.READ},{title:"gangs",icon:"fas fa-user-ninja",route:"dev-gang-list",resource:h.DEV,action:g.DEV.GANG.READ},{title:"vehicle",icon:"fas fa-car",route:"dev-vehicle-list",resource:h.DEV,action:g.DEV.VEHICLE.READ},{header:"management",children:[{resource:h.WEB,action:g.WEB.USER.READ},{resource:h.WEB,action:g.WEB.ROLE.READ},{resource:h.WEB,action:g.WEB.CONFIG.READ}]},{title:"users",icon:"fas fa-user",route:"web-user-list",resource:h.WEB,action:g.WEB.USER.READ},{title:"roles",icon:"fas fa-users",route:"web-role-list",resource:h.WEB,action:g.WEB.ROLE.READ},{title:"config",icon:"settings_suggest",route:"web-config",resource:h.WEB,action:g.WEB.CONFIG.READ}];const zt={name:"VerticalNavMenuLink",props:{item:{type:Object,required:!0}},methods:{canViewVerticalNavMenuLink:Rt}};function Wt(e,i,l,d,a,n){return n.canViewVerticalNavMenuLink(l.item)?Me((x(),O(Dt,{key:0,clickable:"",to:{name:l.item.route},active:e.$route.matched.some(o=>o.name===l.item.route),"active-class":"active-sidebar-element"},{default:w(()=>[v(qe,{avatar:""},{default:w(()=>[v(ae,{color:e.$route.matched.some(o=>o.name===l.item.route)?"primary":"main",size:"sm",name:l.item.icon||"mdi-adjust"},null,8,["color","name"])]),_:1}),v(qe,{class:ht({"text-main":e.$route.matched.some(o=>o.name!==l.item.route)}),textContent:z(e.$t(`navigation.titles.${l.item.title}`))},null,8,["class","textContent"])]),_:1},8,["to","active"])),[[mt]]):K("",!0)}const Oe=W(zt,[["render",Wt],["__scopeId","data-v-83d7008e"]]),Ft={name:"VerticalNavMenuHeader",props:{item:{type:Object,required:!0}},methods:{canViewVerticalNavMenuHeader:St}};function Ut(e,i,l,d,a,n){return n.canViewVerticalNavMenuHeader(l.item)?(x(),O(Mt,{key:0,class:"text-sub",header:""},{default:w(()=>[j(z(e.$t(`navigation.header.${l.item.header}`)),1)]),_:1})):K("",!0)}const Te=W(Ft,[["render",Ut]]);const jt={name:"VerticalNavMenuGroup",components:{VerticalNavMenuLink:Oe,VerticalNavMenuHeader:Te},props:{item:{type:Object,required:!0}},methods:{resolveNavItemComponent:Qe,canViewVerticalNavMenuGroup:Lt}};function Yt(e,i,l,d,a,n){return n.canViewVerticalNavMenuGroup(l.item)?(x(),O(Pt,{key:0,class:"text-main",icon:l.item.icon,label:e.$t(`navigation.titles.${l.item.title}`)},{default:w(()=>[(x(!0),Y(pe,null,ye(l.item.children,o=>(x(),O(Re(n.resolveNavItemComponent(o)),{key:o.header||o.title,item:o},null,8,["item"]))),128))]),_:1},8,["icon","label"])):K("",!0)}const Kt=W(jt,[["render",Yt],["__scopeId","data-v-8c2f8028"]]),De=G({name:"QBreadcrumbsEl",props:{...gt,label:String,icon:String,tag:{type:String,default:"span"}},emits:["click"],setup(e,{slots:i}){const{linkTag:l,linkAttrs:d,linkClass:a,navigateOnClick:n}=bt(),o=s(()=>({class:"q-breadcrumbs__el q-link flex inline items-center relative-position "+(e.disable!==!0?"q-link--focusable"+a.value:"q-breadcrumbs__el--disable"),...d.value,onClick:n})),m=s(()=>"q-breadcrumbs__el-icon"+(e.label!==void 0?" q-breadcrumbs__el-icon--with-label":""));return()=>{const E=[];return e.icon!==void 0&&E.push($(ae,{class:m.value,name:e.icon})),e.label!==void 0&&E.push(e.label),$(l.value,{...o.value},Be(i.default,E))}}}),Jt=["",!0],Xt=G({name:"QBreadcrumbs",props:{...pt,separator:{type:String,default:"/"},separatorColor:String,activeColor:{type:String,default:"primary"},gutter:{type:String,validator:e=>["none","xs","sm","md","lg","xl"].includes(e),default:"sm"}},setup(e,{slots:i}){const l=yt(e),d=s(()=>`flex items-center ${l.value}${e.gutter==="none"?"":` q-gutter-${e.gutter}`}`),a=s(()=>e.separatorColor?` text-${e.separatorColor}`:""),n=s(()=>` text-${e.activeColor}`);return()=>{const o=wt(re(i.default));if(o.length===0)return;let m=1;const E=[],L=o.filter(A=>A.type!==void 0&&A.type.name==="QBreadcrumbsEl").length,r=i.separator!==void 0?i.separator:()=>e.separator;return o.forEach(A=>{if(A.type!==void 0&&A.type.name==="QBreadcrumbsEl"){const R=m[v(ge,{class:"col-12"},{default:w(()=>[v(Xt,{gutter:"sm",style:{"font-size":"20px"}},{default:w(()=>{var o;return[v(De,{icon:"home",to:"/"}),(x(!0),Y(pe,null,ye(e.$route.meta.breadcrumb,m=>(x(),O(De,{key:m.text,active:m.active,to:m.to,label:e.$t(`breadcrumb.${m.text}`)},null,8,["active","to","label"]))),128)),(o=e.$route.params)!=null&&o.stashId?(x(),Y("div",ta,z(` - ${this.$route.query.type} ${this.$route.params.stashId}`),1)):K("",!0)]}),_:1})]),_:1})]),_:1})):K("",!0)])}const ra=W(Zt,[["render",aa]]),oa={data(){return{password:"",passwordCon:"",isPwd:!0}},props:{title:String,message:String,label:String},computed:{ConfirmPWD(){return[e=>!!e||this.$t("rules.required"),e=>e===this.password||this.$t("rules.passwordConfirm"),e=>e&&!/\s/.test(e)||this.$t("rules.noSpace")]}},emits:["ok","hide"],methods:{show(){this.$refs.dialog.show()},hide(){this.$refs.dialog.hide()},onDialogHide(){this.$emit("hide")},onOKClick(){this.$refs.pwChangeForm.validate().then(e=>{e&&(this.$emit("ok",{input:this.password}),this.hide())})},onCancelClick(){this.hide()}}},na=["innerHTML"];function la(e,i,l,d,a,n){return x(),O(Et,{ref:"dialog",onHide:n.onDialogHide},{default:w(()=>[v(Se,{class:"q-dialog-plugin bg-secondary text-main"},{default:w(()=>[v(ge,{class:"row"},{default:w(()=>[Q("div",{class:"text-body2",innerHTML:l.message},null,8,na),v(ae,{class:"q-ml-auto cursor-pointer",name:"close",onClick:Le(n.hide,["stop"])},null,8,["onClick"])]),_:1}),v(ge,null,{default:w(()=>[v(Qt,{ref:"pwChangeForm"},{default:w(()=>[v(Ve,{"label-color":"primary","input-style":{color:"var(--q-main)"},label:e.$t("general.password"),modelValue:a.password,"onUpdate:modelValue":i[1]||(i[1]=o=>a.password=o),filled:"","lazy-rules":"",type:a.isPwd?"password":"text",rules:[o=>o&&o.length>0||e.$t("rules.required"),o=>o&&!/\s/.test(o)||e.$t("rules.noSpace")]},{append:w(()=>[v(ae,{name:a.isPwd?"visibility_off":"visibility",class:"cursor-pointer text-primary",onClick:i[0]||(i[0]=o=>a.isPwd=!a.isPwd)},null,8,["name"])]),_:1},8,["input-style","label","modelValue","type","rules"]),v(Ve,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:a.passwordCon,"onUpdate:modelValue":i[2]||(i[2]=o=>a.passwordCon=o),label:e.$t("general.confirmPassword"),"lazy-rules":"",type:a.isPwd?"password":"text",rules:n.ConfirmPWD},null,8,["input-style","modelValue","label","type","rules"])]),_:1},512)]),_:1}),v(_t,{align:"center"},{default:w(()=>[v(te,{"text-color":"main",color:"primary",label:e.$t("general.ok"),onClick:n.onOKClick},null,8,["label","onClick"])]),_:1})]),_:1})]),_:1},8,["onHide"])}const sa=W(oa,[["render",la]]);const ia={name:"LayoutVertical",components:{AppBreadcrumb:ra,VerticalNavMenuLink:Oe,VerticalNavMenuHeader:Te,VerticalNavMenuGroup:Kt},data(){return{drawer:null,navigationItems:Ht}},computed:{logoUrl(){return`${new URL(""+new URL("logo.be249712.png",import.meta.url).href,self.location).href}`}},methods:{...Ct(At,["UPDATE_USER_DATA"]),resolveNavItemComponent:Qe,Logout(){$t.logout(),this.UPDATE_USER_DATA(null),this.$socket.disconnect(),this.$router.push({name:"auth-login"})},openPasswordChange(){this.$q.dialog({component:sa,componentProps:{title:this.$i18n.t("components.general.changePasswordHeader"),message:this.$i18n.t("components.general.changePasswordMsg")},cancel:!0,persistent:!0}).onOk(e=>{this.tryPasswordChange(e.input)})},tryPasswordChange(e){this.$axios.patch("/api/users/password/change",{password:e}).then(i=>{if(!i.data.resCode){const d=i.data.resMsg;this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.general.msg.error.${d}`,{name:this.item.name})});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.saved")})}).catch(i=>{})}}},ua={class:"q-ml-auto"},ca={to:"/",class:"q-ml-md row items-center"},da=["src"],fa=Q("h2",{class:"q-pl-lg brand-text"},"Unlimited",-1),va={class:"q-pa-md"},ma={class:"text-subtitle2 text-sub"},ha=Q("a",{href:"https://discord.unlimited.wtf",target:"_blank",style:{"text-decoration":"none"}},[Q("span",{class:"text-primary"},"Unlimited")],-1);function ga(e,i,l,d,a,n){const o=Vt("AppBreadcrumb");return x(),O(Bt,{view:"lHh LpR lff",class:"bg-dark text-main"},{default:w(()=>[v(Tt,{elevated:"",class:"bg-secondary"},{default:w(()=>[v(Ot,null,{default:w(()=>[v(te,{color:"main",dense:"",flat:"",icon:"menu",onClick:i[0]||(i[0]=Le(m=>a.drawer=!a.drawer,["stop"]))}),Q("div",ua,[v(te,{"text-color":"main",class:"text-primary",dense:"",flat:"",icon:"key",onClick:n.openPasswordChange},{default:w(()=>[v(ke,null,{default:w(()=>[j(z(e.$t("general.changePassword")),1)]),_:1})]),_:1},8,["onClick"]),v(te,{"text-color":"main",class:"text-red-6 q-ml-sm",dense:"",flat:"",icon:"logout",onClick:n.Logout},{default:w(()=>[v(ke,null,{default:w(()=>[j(z(e.$t("general.logout")),1)]),_:1})]),_:1},8,["onClick"])])]),_:1})]),_:1}),v(It,{class:"bg-secondary",dark:"","show-if-above":"",modelValue:a.drawer,"onUpdate:modelValue":i[1]||(i[1]=m=>a.drawer=m),side:"left"},{default:w(()=>[Q("div",ca,[v(kt,{class:"brand-logo"},{default:w(()=>[Q("img",{src:n.logoUrl},null,8,da)]),_:1}),fa]),v(xt,null,{default:w(()=>[(x(!0),Y(pe,null,ye(a.navigationItems,m=>(x(),O(Re(n.resolveNavItemComponent(m)),{key:m.header||m.title,item:m},null,8,["item"]))),128))]),_:1})]),_:1},8,["modelValue"]),v(Gt,{fluid:""},{default:w(()=>[Q("div",va,[v(o),qt(e.$slots,"default")])]),_:3}),v(Nt,{class:"bg-transparent q-px-md q-pb-sm"},{default:w(()=>[Q("div",ma,[j(" COPYRIGHT \xA9 2022 - "+z(new Date().getFullYear())+" ",1),ha,j(", All rights Reserved ")])]),_:1})]),_:3})}const Ra=W(ia,[["render",ga]]);export{Ra as default}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/LiveMap.5f9d4cf2.js b/resources/[tools]/unlimited-spectre/html/assets/LiveMap.5f9d4cf2.js deleted file mode 100644 index 4328f4563..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/LiveMap.5f9d4cf2.js +++ /dev/null @@ -1,4 +0,0 @@ -import{Q as zo}from"./QSlideTransition.104e08c1.js";import{a as X,Q as ri,c as se}from"./QItemLabel.b6dd3adb.js";import{k as Mt,B as st,e as pe,aL as At,z as Xt,x as We,s as Oo,t as Lt,f as Io,q as ji,d as ai,u as ln,aM as Bo,aN as Zo,_ as ee,o as b,c as B,w as f,$ as Ro,aO as Do,V as rt,aP as hn,aQ as un,ao as No,R as Zt,P as Rt,aR as yi,L as it,a as v,W as Q,U as j,Q as Ct,aS as Ue,a6 as ot,a5 as ae,a7 as dt,S as Ho,a8 as li,a9 as oi,ab as Ie,aE as Wo,aa as Uo,ac as Fo,X as ct,r as jt,Y as bt,Z as zt,aT as Ki,aF as Vo}from"./app-014d9ed9.js";import{Q as Yi}from"./QExpansionItem.593bd861.js";import{Q as ce}from"./QList.9d5bb77f.js";import{d as ve}from"./utils.9ce591f3.js";import{B as qo}from"./BasicInput.94e22095.js";import{P as Go,W as jo}from"./WaypointsModal.ac8f44d9.js";import{c as Ko}from"./_commonjsHelpers.c10bf6cb.js";import{Q as Yo}from"./QSelect.d7ce3d4c.js";import"./externalHosting.js";import"./position-engine.65ebcb34.js";import"./selection.2a17b691.js";import"./rtl.b51694b1.js";const Xo="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAQAAABLCVATAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QAAKqNIzIAAAAJcEhZcwAAAGAAAABgAPBrQs8AAAAHdElNRQfiCwsXFCVLShDeAAACIklEQVRIx83WzWsTQRjH8a+1mraxFTzYg5VEAyZ9OUgrCCoIehKviokH8SAUFU8e/AcsFXrxVEE9VKnFP0BQRBSUgj3E5mBNKUo1RZGgldRYLLb5eZg2m7fN7uSiz8AcZtnPzjzz7M7C/xabPK53ECbMDjLMs8BqI48Y4C7fUEn7wxsu0m6DxJkqI0rbEqN0+UG2MWFu2a7Luq9XyiivGT3STR3ewLIc82J6SSPUrdvKqzpSGlSzWebVevntZQmhC1qWe7zQTjOvYTcmyAxq1T15RUYHhChwqjY0htCYJyNJi9orxE/6qpkTCJ33xUjStFqFSFZDj1GoZoLd4pbJ1JFyJsIaumHBSL9N0ifKoREUUNYKkq4JsUJnKfQOJSwZ6b1ZXBygCYBmInDQ5iVaz0c7wB4HirAVYtYQhAFCDhQDiDYKhR0oCNDRABQsdgaaK3aW8RHgkwPNIkg3AM0XOwPlWYCUNZMjW5xW0/rYJDxkxRIaRwBTpWNHEXpgWZB9Qrys5N+iQ1bMc1PXZyuhSwjd8c3ktE+IrwQqoQApFNSsT+i0mU+iVu56+IX2+/oGDBlm1G0bBhHq0mRdZFnnDJOkxX1Hr1NAWzSkRRfmtfoNM83u+sVxku8ItSiuJ8oVgYI+aEQ9G0fkOG3edRbimXNE79JxnVG/2pxD+wdX/BdtlGE+V537azwlUTsz9X5rNjNANzGidDJHmjRJvvify7+Ov5E5YqVh4O9tAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE4LTExLTExVDIzOjM1OjIyKzAxOjAwFhjsFAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxOC0xMS0xMVQyMzoyMDozNyswMTowMN5wbxUAAAAASUVORK5CYII=",Qo="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADHklEQVRYhe1XXUhTYRh+zs7ZTptz/hRl6sRSQlyEEOWFldVFCHphlDfWIgnaMEHILkq7KIr+yKRMyIvyQkgjAzGIDAIVQsXAlelFyLoI/5rodLql53hOfGebrHQ72ynzxgfGd/Z97/u8z/fuPe++D+sN+i/iqwGkA4gBMAdA+J97ydVp9ENatX5Rp9Uv6nTRAwCylWyIUhA8iVGzny6VPd3MuQukiSXmOWqflI8sLXFZACYjIVNFHF6FwgM5ecvBCWi+GNn7jiYBKIqcLnJsS07MWOGUlEjKAVvXXoCAvu7e1yumu3ve8AA+Rkqn5C0Yn5lx5kTFD6eYMjMoVj+Krr6L4tBQf5coCtfX8m0g2dIBqAXQA2ABgOj7uEkSADzy2YSdWUbOoMLilMbq+lgylJsy95YWF9VSlEpDSaEpSYJWFBezm1rK938Z7BsFcO8PP+UCApCqUjNV5pOvVI7xVUmp0ydeUpVf068KHP8CwLdwSMNKVXV9LA0aN/LzzFrHRPAdkbWCvDNa0Lgp+YSBcBoRITqUkGBsNx8fUAsyJRYVzePxs0xuaurHMQBdckUZTgY20SpNzdlTd2SDE8y7GJSer1erVOoaAFo5e1kBLMtak42pJm4uPwytXnimj8Bo3LGbZVmLL8tBMy0nIJmhNZXWkublYtXGvA9qHLhmLWliGFpTBWB7qAChBJC1y7m5hXGTYzulCdbwDhOOoaAO4xODkg3B5FgaiC+AK0oFECT602eI4fCw7pyMOSQbYgvJkaJ8HEERqg+Qkrv7tr1519geu8k16+Tm3S6PKIiGUITzbtdsY8thrcEQp7Z97h0EcMvXLVeFXCPqFQTuYL/tQyEAkk7yW1zwL9KMl3eJ/63GGoftg3YAUwDafKOiDEiosDinATTA25CuBa7VNaRIo9X8PXDaUWFxPvB/kWvFSs4D/xQbAjYEbAiIVIBgH7FJDzHxC/DwHoi895nAtxa0662GSI5kBK0dnW1lHZ1byH2QEgTeJoDD7ftpWQv4KUIEOQi2RkKo5GpGLh/k/4D4+lug0bfzGdIJFXCuEwD8AsKe89wGDX7PAAAAAElFTkSuQmCC",Jo="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADoklEQVRYhe1WTUwcZRh+ZmanRIHpggq1BwrLnwiIy480trXx5KGXNr3YhojUphsOHMymMfHiwYSTqzGKcZsGYzkUPfbHogetLW2NWbsNTQ8IIiGWvwV2mQW68/PNmG92ZxxGfnZZpUnDk8zufH/v83zv+37fvNjB4wazCT+TxpzNoKeedQnWgsCzfDsL9iWd0bls2BmdUTVoQ4qmXAAgrivA74sZ/4GgWyh0Vw7Wv/haXXPjmwzH7sqGH0ST8Vu4H0MPbtxfiI0c9PtiYorHGHc5F/As31ZTtb++uT4AKADJij6JproWKEpXfSg00QbgC/vYKgGBoJvhWd7T+PIxq4/NCWM28gDxpbmMSPPznkXRc7XQJK/Rbmw4ilDo2zLnPKcHWEVTqoS8fUgsA7nCDD479w6ii2MZkZso2O1B15lrWBaLIeSXQdKk6kDQzfl9McuxrFMAgFIXV2w0ItG7WyanoGupDYqUzX3OxHcKcO0pqq1Q5KeMxvzC+JbJTczNJzegKjkoKqiuoGm2kQCqkJcSyZP3++idrAWMjCRtJB4Z0abkJfZxKwcCQTd9L6+qaLVExcU5PF9cl5WA+NKC9f5CzQFu9vawJxB0jyJ1wOxJmAPgsKesxYrR0Te+y4rcifKyVubG7d7DAH4GsEKHzVtO2LvHO+gpbTrW4u1gVHn3f0psovAZgVkUJw5wbN6R+NL0RQCSKeDd1ubjJ1/19vxv5BTUtqfkOEOY4eI/x0P0RhxkU4lY1dL4VrYfnbTxivdtylVJj6TzFGw72NSnUnsM3NQLLssDkhTdNmZJNrge0R/TA5cvD3RruYK4ZuHA8zpcrsyftZAniLgy0E09/j3lNhOPCnlPyC/50Nc2xGm2gOx6ehi9/R0ktvCHksku3YXl/KkTX3HycrXVx3I6gn0NRIxPvA/gIxp68yKilJ+sSJMfwKiA/jkQhCQQnR3tk4ncuVFp5QATnR39kqiJdufAijRJN/KpmXf/Kkg2gOT3xdISEAi60z5d9okaNDAct5pDkkWd1nUZCIURW51R6Vp7p5EXmsFpBdkugBBCwirCqyz9eP1zXWf0H9LdPZL1pbHmp+s9q9ZI5FeoqnrX3sfaFhFd18+e//p05Jd7XerY1MfaN1dfJ9ORh5dkIl9Nl9yETOQrU5G/LlEb1NatcKfa29cZAXDW74tZCb3W9UtLl0MAcgHQamIw1Z+2Bxy2DwLwAFgGcBPATKab2cETDAB/AzNrY95UqH7gAAAAAElFTkSuQmCC";const cn=(t,e)=>{let i;return function(...n){const o=this;i&&clearTimeout(i),i=setTimeout(()=>{t.apply(o,n),i=null},e)}},$o=t=>!t||typeof t.charAt!="function"?t:t.charAt(0).toUpperCase()+t.slice(1),ge=(t,e,i)=>{for(const n in i){const o="set"+$o(n);t[o]?ai(()=>i[n],(s,r)=>{t[o](s,r)}):e[o]&&ai(()=>i[n],s=>{e[o](s)})}},Fe=t=>{const e={};for(const i in t)if(i.startsWith("on")&&!i.startsWith("onUpdate")&&i!=="onReady"){const n=i.slice(2).toLocaleLowerCase();e[n]=t[i]}return e},ts=async t=>{const e=await Promise.all([At(()=>import("./marker-icon-2x.e233d1a6.js"),[],import.meta.url),At(()=>import("./marker-icon.34d9a2d9.js"),[],import.meta.url),At(()=>import("./marker-shadow.ddd1f13b.js"),[],import.meta.url)]);delete t.Default.prototype._getIconUrl,t.Default.mergeOptions({iconRetinaUrl:e[0].default,iconUrl:e[1].default,shadowUrl:e[2].default})},Me=t=>{const e=Mt(()=>console.warn(`Method ${t} has been invoked without being replaced`)),i=(...n)=>e.value(...n);return i.wrapped=e,Lt(t,i),i},ke=(t,e)=>t.wrapped.value=e,Dt=typeof self=="object"&&self.self===self&&self||typeof global=="object"&&global.global===global&&global||void 0,ye="useGlobalLeaflet",Ve={options:{type:Object,default:()=>({})}},qe=t=>({options:t.options,methods:{}}),dn={...Ve,pane:{type:String,default:"overlayPane"},attribution:{type:String,default:null},name:{type:String,custom:!0,default:void 0},layerType:{type:String,custom:!0,default:void 0},visible:{type:Boolean,custom:!0,default:!0}},fn=(t,e,i)=>{const n=st("addLayer"),o=st("removeLayer"),{options:s,methods:r}=qe(t),a={...s,attribution:t.attribution,pane:t.pane},l=()=>n({leafletObject:e.value}),h=()=>o({leafletObject:e.value}),u={...r,setAttribution(d,c){this.$parent.leafletObject.attributionControl.removeAttribution(c).addAttribution(d)},setName(){h(),t.visible&&l()},setLayerType(){h(),t.visible&&l()},setVisible(d){e.value&&(d?l():h())},bindPopup({leafletObject:d}){e.value.bindPopup(d)},bindTooltip({leafletObject:d}){e.value.bindTooltip(d)},unbindTooltip(){const d=e.value?e.value.getTooltip():null;d&&d.unbindTooltip()},unbindPopup(){const d=e.value?e.value.getPopup():null;d&&d.unbindPopup()},updateVisibleProp(d){i.emit("update:visible",d)}};return Lt("bindPopup",u.bindPopup),Lt("bindTooltip",u.bindTooltip),Lt("unbindTooltip",u.unbindTooltip),Lt("unbindPopup",u.unbindPopup),ln(()=>{u.unbindPopup(),u.unbindTooltip(),h()}),{options:a,methods:u}},es=(t,e)=>{if(t&&e.default)return We("div",{style:{display:"none"}},e.default())},is={...Ve,position:{type:String,default:"topright"}},ns=(t,e)=>{const{options:i,methods:n}=qe(t),o={...i,position:t.position},s={...n,setPosition(r){e.value&&e.value.setPosition(r)}};return ln(()=>{e.value&&e.value.remove()}),{options:o,methods:s}},os=t=>t.default?We("div",{ref:"root"},t.default()):null;var _n={name:"LControl",props:{...is,disableClickPropagation:{type:Boolean,custom:!0,default:!0},disableScrollPropagation:{type:Boolean,custom:!0,default:!1}},setup(t,e){const i=Mt({}),n=Mt(null),o=st(ye),s=st("registerControl"),{options:r,methods:a}=ns(t,i);return pe(async()=>{const{Control:l,DomEvent:h}=o?Dt.L:await At(()=>Promise.resolve().then(()=>Ce),void 0,import.meta.url),u=l.extend({onAdd(){return n.value}});i.value=new u(r),ge(a,i.value,t),s({leafletObject:i.value}),t.disableClickPropagation&&h.disableClickPropagation(n.value),t.disableScrollPropagation&&h.disableScrollPropagation(n.value),Xt(()=>e.emit("ready",i.value))}),{root:n,leafletObject:i}},render(){return os(this.$slots)}};_n.__file="src/components/LControl.vue";const ss={...dn,pane:{type:String,default:"tilePane"},opacity:{type:Number,custom:!1,default:1},zIndex:{type:Number,default:1},tileSize:{type:Number,default:256},noWrap:{type:Boolean,default:!1},minZoom:{type:Number,default:0},maxZoom:{type:Number,default:void 0}},rs=(t,e,i)=>{const{options:n,methods:o}=fn(t,e,i);return{options:{...n,pane:t.pane,opacity:t.opacity,zIndex:t.zIndex,tileSize:t.tileSize,noWrap:t.noWrap,minZoom:t.minZoom,maxZoom:t.maxZoom},methods:{...o}}},as={iconUrl:{type:String,custom:!0,default:null},iconRetinaUrl:{type:String,custom:!0,default:null},iconSize:{type:[Object,Array],custom:!0,default:null},iconAnchor:{type:[Object,Array],custom:!0,default:null},popupAnchor:{type:[Object,Array],custom:!0,default:()=>[0,0]},tooltipAnchor:{type:[Object,Array],custom:!0,default:()=>[0,0]},shadowUrl:{type:String,custom:!0,default:null},shadowRetinaUrl:{type:String,custom:!0,default:null},shadowSize:{type:[Object,Array],custom:!0,default:null},shadowAnchor:{type:[Object,Array],custom:!0,default:null},bgPos:{type:[Object,Array],custom:!0,default:()=>[0,0]},className:{type:String,custom:!0,default:""},options:{type:Object,custom:!0,default:()=>({})}};var mn={name:"LIcon",props:{...as,...Ve},setup(t,e){const i=Mt(null),n=st(ye),o=st("canSetParentHtml"),s=st("setParentHtml"),r=st("setIcon");let a,l,h,u,d;const c=(F,ut,I)=>{const G=F&&F.innerHTML;if(!ut){I&&d&&o()&&s(G);return}const H=Fe(e.attrs);d&&l(d,H);const{options:et}=qe(t),m={...et,iconUrl:t.iconUrl,iconRetinaUrl:t.iconRetinaUrl,iconSize:t.iconSize,iconAnchor:t.iconAnchor,popupAnchor:t.popupAnchor,tooltipAnchor:t.tooltipAnchor,shadowUrl:t.shadowUrl,shadowRetinaUrl:t.shadowRetinaUrl,shadowSize:t.shadowSize,shadowAnchor:t.shadowAnchor,bgPos:t.bgPos,className:t.className,html:G||t.html};d=m.html?h(m):u(m),a(d,H),r(d)},p=()=>{Xt(()=>c(i.value,!0,!1))},k=()=>{Xt(()=>c(i.value,!1,!0))},Y={setIconUrl:p,setIconRetinaUrl:p,setIconSize:p,setIconAnchor:p,setPopupAnchor:p,setTooltipAnchor:p,setShadowUrl:p,setShadowRetinaUrl:p,setShadowAnchor:p,setBgPos:p,setClassName:p,setHtml:p};return pe(async()=>{const{DomEvent:F,divIcon:ut,icon:I}=n?Dt.L:await At(()=>Promise.resolve().then(()=>Ce),void 0,import.meta.url);a=F.on,l=F.off,h=ut,u=I,ge(Y,{},t),new MutationObserver(k).observe(i.value,{attributes:!0,childList:!0,characterData:!0,subtree:!0}),p()}),{root:i}},render(){const t=this.$slots.default?this.$slots.default():void 0;return We("div",{ref:"root"},t)}};mn.__file="src/components/LIcon.vue";var pn={emits:["ready","update:zoom","update:center","update:bounds"],props:{...Ve,center:{type:[Object,Array],default:()=>[0,0]},bounds:{type:[Array,Object],default:void 0},maxBounds:{type:[Array,Object],default:void 0},zoom:{type:Number,default:0},minZoom:{type:Number,default:void 0},maxZoom:{type:Number,default:void 0},paddingBottomRight:{type:Array,default:void 0},paddingTopLeft:{type:Array,default:void 0},padding:{type:Array,default:void 0},worldCopyJump:{type:Boolean,default:!1},crs:{type:[String,Object],default:"EPSG3857"},maxBoundsViscosity:{type:Number,default:void 0},inertia:{type:Boolean,default:void 0},inertiaDeceleration:{type:Number,default:void 0},inertiaMaxSpeed:{type:Number,default:void 0},easeLinearity:{type:Number,default:void 0},zoomAnimation:{type:Boolean,default:void 0},zoomAnimationThreshold:{type:Number,default:void 0},fadeAnimation:{type:Boolean,default:void 0},markerZoomAnimation:{type:Boolean,default:void 0},noBlockingAnimations:{type:Boolean,default:!1},useGlobalLeaflet:{type:Boolean,default:!1}},setup(t,e){const i=Mt(null),n=Oo({ready:!1,leafletRef:{},layersToAdd:[],layersInControl:[]}),{options:o}=qe(t),s={...o,minZoom:t.minZoom,maxZoom:t.maxZoom,maxBounds:t.maxBounds,maxBoundsViscosity:t.maxBoundsViscosity,worldCopyJump:t.worldCopyJump,crs:t.crs,center:t.center,zoom:t.zoom,inertia:t.inertia,inertiaDeceleration:t.inertiaDeceleration,inertiaMaxSpeed:t.inertiaMaxSpeed,easeLinearity:t.easeLinearity,zoomAnimation:t.zoomAnimation,zoomAnimationThreshold:t.zoomAnimationThreshold,fadeAnimation:t.fadeAnimation,markerZoomAnimation:t.markerZoomAnimation},r=Me("addLayer"),a=Me("removeLayer"),l=Me("registerControl"),h=Me("registerLayerControl");Lt(ye,t.useGlobalLeaflet);const u={moveEndHandler(){e.emit("update:zoom",n.leafletRef.getZoom()),e.emit("update:center",n.leafletRef.getCenter()),e.emit("update:bounds",n.leafletRef.getBounds())},overlayAddHandler(p){const k=n.layersInControl.find(Y=>Y.name===p.name);k&&k.updateVisibleProp(!0)},overlayRemoveHandler(p){const k=n.layersInControl.find(Y=>Y.name===p.name);k&&k.updateVisibleProp(!1)}};pe(async()=>{t.useGlobalLeaflet&&(Dt.L=Dt.L||await At(()=>import("./leaflet-src.9f7b0b22.js").then(m=>m.l),["leaflet-src.9f7b0b22.js","_commonjsHelpers.c10bf6cb.js"],import.meta.url));const{map:p,CRS:k,Icon:Y,latLngBounds:F,latLng:ut,DomEvent:I}=t.useGlobalLeaflet?Dt.L:await At(()=>Promise.resolve().then(()=>Ce),void 0,import.meta.url);try{s.beforeMapMount&&await s.beforeMapMount()}catch(m){console.error(`The following error occurred running the provided beforeMapMount hook ${m.message}`)}await ts(Y);const G=typeof s.crs=="string"?k[s.crs]:s.crs;s.crs=G||k.EPSG3857;const H={addLayer(m){m.layerType!==void 0&&(n.layerControl===void 0?n.layersToAdd.push(m):n.layersInControl.find(T=>T.leafletObject._leaflet_id===m.leafletObject._leaflet_id)||(n.layerControl.addLayer(m),n.layersInControl.push(m))),m.visible!==!1&&n.leafletRef.addLayer(m.leafletObject)},removeLayer(m){m.layerType!==void 0&&(n.layerControl===void 0?n.layersToAdd=n.layersToAdd.filter(E=>E.name!==m.name):(n.layerControl.removeLayer(m.leafletObject),n.layersInControl=n.layersInControl.filter(E=>E.leafletObject._leaflet_id!==m.leafletObject._leaflet_id))),n.leafletRef.removeLayer(m.leafletObject)},registerLayerControl(m){n.layerControl=m,n.layersToAdd.forEach(E=>{n.layerControl.addLayer(E)}),n.layersToAdd=[],l(m)},registerControl(m){n.leafletRef.addControl(m.leafletObject)},setZoom(m){const E=n.leafletRef.getZoom();m!==E&&n.leafletRef.setZoom(m,{animate:t.noBlockingAnimations?!1:null})},setPaddingBottomRight(m){n.paddingBottomRight=m},setPaddingTopLeft(m){n.paddingTopLeft=m},setPadding(m){n.padding=m},setCrs(m){const E=n.leafletRef.getBounds();n.leafletRef.options.crs=m,n.leafletRef.fitBounds(E,{animate:!1,padding:[0,0]})},fitBounds(m){n.leafletRef.fitBounds(m,{animate:this.noBlockingAnimations?!1:null})},setBounds(m){if(!m)return;const E=F(m);if(!E.isValid())return;!(n.lastSetBounds||n.leafletRef.getBounds()).equals(E,0)&&(n.lastSetBounds=E,n.leafletRef.fitBounds(E,this.fitBoundsOptions))},setCenter(m){if(m==null)return;const E=ut(m),T=n.lastSetCenter||n.leafletRef.getCenter();(T.lat!==E.lat||T.lng!==E.lng)&&(n.lastSetCenter=E,n.leafletRef.panTo(E,{animate:this.noBlockingAnimations?!1:null}))}};ke(r,H.addLayer),ke(a,H.removeLayer),ke(l,H.registerControl),ke(h,H.registerLayerControl),n.leafletRef=p(i.value,s),ge(H,n.leafletRef,t);const et=Fe(e.attrs);n.leafletRef.on("moveend",cn(u.moveEndHandler,100)),n.leafletRef.on("overlayadd",u.overlayAddHandler),n.leafletRef.on("overlayremove",u.overlayRemoveHandler),I.on(n.leafletRef,et),n.ready=!0,Xt(()=>e.emit("ready",n.leafletRef))}),Io(()=>{n.leafletRef&&n.leafletRef.remove()});const d=ji(()=>n.leafletRef),c=ji(()=>n.ready);return{root:i,ready:c,leafletObject:d}},render(){return We("div",{style:{width:"100%",height:"100%"},ref:"root"},this.ready?this.$slots.default():{})}};pn.__file="src/components/LMap.vue";const ls={...dn,pane:{type:String,default:"markerPane"},draggable:{type:Boolean,custom:!0,default:!1},latLng:{type:[Object,Array],custom:!0,default:null},icon:{type:[Object],default:()=>{},custom:!1},zIndexOffset:{type:Number,custom:!1,default:null}},hs=(t,e,i)=>{const{options:n,methods:o}=fn(t,e,i),s={...n,...t},r={...o,setDraggable(a){e.value.dragging&&(a?e.value.dragging.enable():e.value.dragging.disable())},latLngSync(a){i.emit("update:latLng",a.latlng),i.emit("update:lat-lng",a.latlng)},setLatLng(a){if(a!=null&&e.value){const l=e.value.getLatLng();(!l||!l.equals(a))&&e.value.setLatLng(a)}}};return{options:s,methods:r}};var vn={name:"LMarker",props:ls,setup(t,e){const i=Mt({}),n=Mt(!1),o=st(ye),s=st("addLayer");Lt("canSetParentHtml",()=>!!i.value.getElement()),Lt("setParentHtml",l=>i.value.getElement().innerHTML=l),Lt("setIcon",l=>i.value.setIcon&&i.value.setIcon(l));const{options:r,methods:a}=hs(t,i,e);return r.icon===void 0&&delete r.icon,pe(async()=>{const{marker:l,DomEvent:h}=o?Dt.L:await At(()=>Promise.resolve().then(()=>Ce),void 0,import.meta.url);i.value=l(t.latLng,r);const u=Fe(e.attrs);h.on(i.value,u),i.value.on("move",cn(a.latLngSync,100)),ge(a,i.value,t),s({...t,...a,leafletObject:i.value}),n.value=!0,Xt(()=>e.emit("ready",i.value))}),{ready:n,leafletObject:i}},render(){return es(this.ready,this.$slots)}};vn.__file="src/components/LMarker.vue";const gn={...ss,tms:{type:Boolean,default:!1},subdomains:{type:String,default:"abc"},detectRetina:{type:Boolean,default:!1},url:{type:String,default:null}},us=(t,e)=>{const{options:i,methods:n}=rs(t,e);return{options:{...i,tms:t.tms,subdomains:t.subdomains,detectRetina:t.detectRetina},methods:{...n}}};var yn={props:gn,setup(t,e){const i=Mt({}),n=st(ye),o=st("addLayer"),{options:s,methods:r}=us(t,i);return pe(async()=>{const{tileLayer:a,DomEvent:l}=n?Dt.L:await At(()=>Promise.resolve().then(()=>Ce),void 0,import.meta.url);i.value=a(t.url,s);const h=Fe(e.attrs);l.on(i.value,h),ge(r,i.value,t),o({...t,...r,leafletObject:i.value}),Xt(()=>e.emit("ready",i.value))}),{leafletObject:i}},render(){return null}};yn.__file="src/components/LTileLayer.vue";({...gn});/* @preserve - * Leaflet 1.9.2, a JS library for interactive maps. https://leafletjs.com - * (c) 2010-2022 Vladimir Agafonkin, (c) 2010-2011 CloudMade - */var cs="1.9.2";function z(t){var e,i,n,o;for(i=1,n=arguments.length;i"u"||!L||!L.Mixin)){t=_t(t)?t:[t];for(var e=0;e0?Math.floor(t):Math.ceil(t)};x.prototype={clone:function(){return new x(this.x,this.y)},add:function(t){return this.clone()._add(g(t))},_add:function(t){return this.x+=t.x,this.y+=t.y,this},subtract:function(t){return this.clone()._subtract(g(t))},_subtract:function(t){return this.x-=t.x,this.y-=t.y,this},divideBy:function(t){return this.clone()._divideBy(t)},_divideBy:function(t){return this.x/=t,this.y/=t,this},multiplyBy:function(t){return this.clone()._multiplyBy(t)},_multiplyBy:function(t){return this.x*=t,this.y*=t,this},scaleBy:function(t){return new x(this.x*t.x,this.y*t.y)},unscaleBy:function(t){return new x(this.x/t.x,this.y/t.y)},round:function(){return this.clone()._round()},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},floor:function(){return this.clone()._floor()},_floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.clone()._ceil()},_ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},trunc:function(){return this.clone()._trunc()},_trunc:function(){return this.x=Qi(this.x),this.y=Qi(this.y),this},distanceTo:function(t){t=g(t);var e=t.x-this.x,i=t.y-this.y;return Math.sqrt(e*e+i*i)},equals:function(t){return t=g(t),t.x===this.x&&t.y===this.y},contains:function(t){return t=g(t),Math.abs(t.x)<=Math.abs(this.x)&&Math.abs(t.y)<=Math.abs(this.y)},toString:function(){return"Point("+pt(this.x)+", "+pt(this.y)+")"}};function g(t,e,i){return t instanceof x?t:_t(t)?new x(t[0],t[1]):t==null?t:typeof t=="object"&&"x"in t&&"y"in t?new x(t.x,t.y):new x(t,e,i)}function N(t,e){if(!!t)for(var i=e?[t,e]:t,n=0,o=i.length;n=this.min.x&&i.x<=this.max.x&&e.y>=this.min.y&&i.y<=this.max.y},intersects:function(t){t=J(t);var e=this.min,i=this.max,n=t.min,o=t.max,s=o.x>=e.x&&n.x<=i.x,r=o.y>=e.y&&n.y<=i.y;return s&&r},overlaps:function(t){t=J(t);var e=this.min,i=this.max,n=t.min,o=t.max,s=o.x>e.x&&n.xe.y&&n.y=e.lat&&o.lat<=i.lat&&n.lng>=e.lng&&o.lng<=i.lng},intersects:function(t){t=W(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),o=t.getNorthEast(),s=o.lat>=e.lat&&n.lat<=i.lat,r=o.lng>=e.lng&&n.lng<=i.lng;return s&&r},overlaps:function(t){t=W(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),o=t.getNorthEast(),s=o.lat>e.lat&&n.late.lng&&n.lng1,Cs=function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("testPassiveEventSupport",V,e),window.removeEventListener("testPassiveEventSupport",V,e)}catch{}return t}(),Ms=function(){return!!document.createElement("canvas").getContext}(),Ci=!!(document.createElementNS&&Cn("svg").createSVGRect),ks=!!Ci&&function(){var t=document.createElement("div");return t.innerHTML="",(t.firstChild&&t.firstChild.namespaceURI)==="http://www.w3.org/2000/svg"}(),Es=!Ci&&function(){try{var t=document.createElement("div");t.innerHTML='';var e=t.firstChild;return e.style.behavior="url(#default#VML)",e&&typeof e.adj=="object"}catch{return!1}}(),Ss=navigator.platform.indexOf("Mac")===0,zs=navigator.platform.indexOf("Linux")===0;function yt(t){return navigator.userAgent.toLowerCase().indexOf(t)>=0}var _={ie:je,ielt9:ms,edge:kn,webkit:Li,android:En,android23:Sn,androidStock:vs,opera:Ti,chrome:zn,gecko:On,safari:gs,phantom:In,opera12:Bn,win:ys,ie3d:Zn,webkit3d:Ai,gecko3d:Rn,any3d:xs,mobile:be,mobileWebkit:ws,mobileWebkit3d:bs,msPointer:Dn,pointer:Nn,touch:Ps,touchNative:Hn,mobileOpera:Ls,mobileGecko:Ts,retina:As,passiveEvents:Cs,canvas:Ms,svg:Ci,vml:Es,inlineSvg:ks,mac:Ss,linux:zs},Wn=_.msPointer?"MSPointerDown":"pointerdown",Un=_.msPointer?"MSPointerMove":"pointermove",Fn=_.msPointer?"MSPointerUp":"pointerup",Vn=_.msPointer?"MSPointerCancel":"pointercancel",di={touchstart:Wn,touchmove:Un,touchend:Fn,touchcancel:Vn},$i={touchstart:Ds,touchmove:Se,touchend:Se,touchcancel:Se},Qt={},tn=!1;function Os(t,e,i){return e==="touchstart"&&Rs(),$i[e]?(i=$i[e].bind(this,i),t.addEventListener(di[e],i,!1),i):(console.warn("wrong event specified:",e),L.Util.falseFn)}function Is(t,e,i){if(!di[e]){console.warn("wrong event specified:",e);return}t.removeEventListener(di[e],i,!1)}function Bs(t){Qt[t.pointerId]=t}function Zs(t){Qt[t.pointerId]&&(Qt[t.pointerId]=t)}function en(t){delete Qt[t.pointerId]}function Rs(){tn||(document.addEventListener(Wn,Bs,!0),document.addEventListener(Un,Zs,!0),document.addEventListener(Fn,en,!0),document.addEventListener(Vn,en,!0),tn=!0)}function Se(t,e){if(e.pointerType!==(e.MSPOINTER_TYPE_MOUSE||"mouse")){e.touches=[];for(var i in Qt)e.touches.push(Qt[i]);e.changedTouches=[e],t(e)}}function Ds(t,e){e.MSPOINTER_TYPE_TOUCH&&e.pointerType===e.MSPOINTER_TYPE_TOUCH&&K(e),Se(t,e)}function Ns(t){var e={},i,n;for(n in t)i=t[n],e[n]=i&&i.bind?i.bind(t):i;return t=e,e.type="dblclick",e.detail=2,e.isTrusted=!1,e._simulated=!0,e}var Hs=200;function Ws(t,e){t.addEventListener("dblclick",e);var i=0,n;function o(s){if(s.detail!==1){n=s.detail;return}if(!(s.pointerType==="mouse"||s.sourceCapabilities&&!s.sourceCapabilities.firesTouchEvents)){var r=Kn(s);if(!(r.some(function(l){return l instanceof HTMLLabelElement&&l.attributes.for})&&!r.some(function(l){return l instanceof HTMLInputElement||l instanceof HTMLSelectElement}))){var a=Date.now();a-i<=Hs?(n++,n===2&&e(Ns(s))):n=1,i=a}}}return t.addEventListener("click",o),{dblclick:e,simDblclick:o}}function Us(t,e){t.removeEventListener("dblclick",e.dblclick),t.removeEventListener("click",e.simDblclick)}var Mi=Ye(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),le=Ye(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),qn=le==="webkitTransition"||le==="OTransition"?le+"End":"transitionend";function Gn(t){return typeof t=="string"?document.getElementById(t):t}function fe(t,e){var i=t.style[e]||t.currentStyle&&t.currentStyle[e];if((!i||i==="auto")&&document.defaultView){var n=document.defaultView.getComputedStyle(t,null);i=n?n[e]:null}return i==="auto"?null:i}function C(t,e,i){var n=document.createElement(t);return n.className=e||"",i&&i.appendChild(n),n}function D(t){var e=t.parentNode;e&&e.removeChild(t)}function Ze(t){for(;t.firstChild;)t.removeChild(t.firstChild)}function ie(t){var e=t.parentNode;e&&e.lastChild!==t&&e.appendChild(t)}function ne(t){var e=t.parentNode;e&&e.firstChild!==t&&e.insertBefore(t,e.firstChild)}function ki(t,e){if(t.classList!==void 0)return t.classList.contains(e);var i=Ke(t);return i.length>0&&new RegExp("(^|\\s)"+e+"(\\s|$)").test(i)}function w(t,e){if(t.classList!==void 0)for(var i=Nt(e),n=0,o=i.length;n0?2*window.devicePixelRatio:1;function Xn(t){return _.edge?t.wheelDeltaY/2:t.deltaY&&t.deltaMode===0?-t.deltaY/qs:t.deltaY&&t.deltaMode===1?-t.deltaY*20:t.deltaY&&t.deltaMode===2?-t.deltaY*60:t.deltaX||t.deltaZ?0:t.wheelDelta?(t.wheelDeltaY||t.wheelDelta)/2:t.detail&&Math.abs(t.detail)<32765?-t.detail*20:t.detail?t.detail/-32765*60:0}function Zi(t,e){var i=e.relatedTarget;if(!i)return!0;try{for(;i&&i!==t;)i=i.parentNode}catch{return!1}return i!==t}var Gs={__proto__:null,on:y,off:O,stopPropagation:Ht,disableScrollPropagation:Bi,disableClickPropagation:Pe,preventDefault:K,stop:Gt,getPropagationPath:Kn,getMousePosition:Yn,getWheelDelta:Xn,isExternalTarget:Zi,addListener:y,removeListener:O},Qn=xe.extend({run:function(t,e,i,n){this.stop(),this._el=t,this._inProgress=!0,this._duration=i||.25,this._easeOutPower=1/Math.max(n||.5,.2),this._startPos=qt(t),this._offset=e.subtract(this._startPos),this._startTime=+new Date,this.fire("start"),this._animate()},stop:function(){!this._inProgress||(this._step(!0),this._complete())},_animate:function(){this._animId=$(this._animate,this),this._step()},_step:function(t){var e=+new Date-this._startTime,i=this._duration*1e3;ethis.options.maxZoom)?this.setZoom(t):this},panInsideBounds:function(t,e){this._enforcingBounds=!0;var i=this.getCenter(),n=this._limitCenter(i,this._zoom,W(t));return i.equals(n)||this.panTo(n,e),this._enforcingBounds=!1,this},panInside:function(t,e){e=e||{};var i=g(e.paddingTopLeft||e.padding||[0,0]),n=g(e.paddingBottomRight||e.padding||[0,0]),o=this.project(this.getCenter()),s=this.project(t),r=this.getPixelBounds(),a=J([r.min.add(i),r.max.subtract(n)]),l=a.getSize();if(!a.contains(s)){this._enforcingBounds=!0;var h=s.subtract(a.getCenter()),u=a.extend(s).getSize().subtract(l);o.x+=h.x<0?-u.x:u.x,o.y+=h.y<0?-u.y:u.y,this.panTo(this.unproject(o),e),this._enforcingBounds=!1}return this},invalidateSize:function(t){if(!this._loaded)return this;t=z({animate:!1,pan:!0},t===!0?{animate:!0}:t);var e=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var i=this.getSize(),n=e.divideBy(2).round(),o=i.divideBy(2).round(),s=n.subtract(o);return!s.x&&!s.y?this:(t.animate&&t.pan?this.panBy(s):(t.pan&&this._rawPanBy(s),this.fire("move"),t.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(Z(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:e,newSize:i}))},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(t){if(t=this._locateOptions=z({timeout:1e4,watch:!1},t),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var e=Z(this._handleGeolocationResponse,this),i=Z(this._handleGeolocationError,this);return t.watch?this._locationWatchId=navigator.geolocation.watchPosition(e,i,t):navigator.geolocation.getCurrentPosition(e,i,t),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(t){if(!!this._container._leaflet_id){var e=t.code,i=t.message||(e===1?"permission denied":e===2?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:e,message:"Geolocation error: "+i+"."})}},_handleGeolocationResponse:function(t){if(!!this._container._leaflet_id){var e=t.coords.latitude,i=t.coords.longitude,n=new S(e,i),o=n.toBounds(t.coords.accuracy*2),s=this._locateOptions;if(s.setView){var r=this.getBoundsZoom(o);this.setView(n,s.maxZoom?Math.min(r,s.maxZoom):r)}var a={latlng:n,bounds:o,timestamp:t.timestamp};for(var l in t.coords)typeof t.coords[l]=="number"&&(a[l]=t.coords[l]);this.fire("locationfound",a)}},addHandler:function(t,e){if(!e)return this;var i=this[t]=new e(this);return this._handlers.push(i),this.options[t]&&i.enable(),this},remove:function(){if(this._initEvents(!0),this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch{this._container._leaflet_id=void 0,this._containerId=void 0}this._locationWatchId!==void 0&&this.stopLocate(),this._stop(),D(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(lt(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload");var t;for(t in this._layers)this._layers[t].remove();for(t in this._panes)D(this._panes[t]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(t,e){var i="leaflet-pane"+(t?" leaflet-"+t.replace("Pane","")+"-pane":""),n=C("div",i,e||this._mapPane);return t&&(this._panes[t]=n),n},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter.clone():this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var t=this.getPixelBounds(),e=this.unproject(t.getBottomLeft()),i=this.unproject(t.getTopRight());return new tt(e,i)},getMinZoom:function(){return this.options.minZoom===void 0?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return this.options.maxZoom===void 0?this._layersMaxZoom===void 0?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(t,e,i){t=W(t),i=g(i||[0,0]);var n=this.getZoom()||0,o=this.getMinZoom(),s=this.getMaxZoom(),r=t.getNorthWest(),a=t.getSouthEast(),l=this.getSize().subtract(i),h=J(this.project(a,n),this.project(r,n)).getSize(),u=_.any3d?this.options.zoomSnap:1,d=l.x/h.x,c=l.y/h.y,p=e?Math.max(d,c):Math.min(d,c);return n=this.getScaleZoom(p,n),u&&(n=Math.round(n/(u/100))*(u/100),n=e?Math.ceil(n/u)*u:Math.floor(n/u)*u),Math.max(o,Math.min(s,n))},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new x(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(t,e){var i=this._getTopLeftPoint(t,e);return new N(i,i.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(t){return this.options.crs.getProjectedBounds(t===void 0?this.getZoom():t)},getPane:function(t){return typeof t=="string"?this._panes[t]:t},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(t,e){var i=this.options.crs;return e=e===void 0?this._zoom:e,i.scale(t)/i.scale(e)},getScaleZoom:function(t,e){var i=this.options.crs;e=e===void 0?this._zoom:e;var n=i.zoom(t*i.scale(e));return isNaN(n)?1/0:n},project:function(t,e){return e=e===void 0?this._zoom:e,this.options.crs.latLngToPoint(A(t),e)},unproject:function(t,e){return e=e===void 0?this._zoom:e,this.options.crs.pointToLatLng(g(t),e)},layerPointToLatLng:function(t){var e=g(t).add(this.getPixelOrigin());return this.unproject(e)},latLngToLayerPoint:function(t){var e=this.project(A(t))._round();return e._subtract(this.getPixelOrigin())},wrapLatLng:function(t){return this.options.crs.wrapLatLng(A(t))},wrapLatLngBounds:function(t){return this.options.crs.wrapLatLngBounds(W(t))},distance:function(t,e){return this.options.crs.distance(A(t),A(e))},containerPointToLayerPoint:function(t){return g(t).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(t){return g(t).add(this._getMapPanePos())},containerPointToLatLng:function(t){var e=this.containerPointToLayerPoint(g(t));return this.layerPointToLatLng(e)},latLngToContainerPoint:function(t){return this.layerPointToContainerPoint(this.latLngToLayerPoint(A(t)))},mouseEventToContainerPoint:function(t){return Yn(t,this._container)},mouseEventToLayerPoint:function(t){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(t))},mouseEventToLatLng:function(t){return this.layerPointToLatLng(this.mouseEventToLayerPoint(t))},_initContainer:function(t){var e=this._container=Gn(t);if(e){if(e._leaflet_id)throw new Error("Map container is already initialized.")}else throw new Error("Map container not found.");y(e,"scroll",this._onScroll,this),this._containerId=M(e)},_initLayout:function(){var t=this._container;this._fadeAnimated=this.options.fadeAnimation&&_.any3d,w(t,"leaflet-container"+(_.touch?" leaflet-touch":"")+(_.retina?" leaflet-retina":"")+(_.ielt9?" leaflet-oldie":"")+(_.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var e=fe(t,"position");e!=="absolute"&&e!=="relative"&&e!=="fixed"&&(t.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var t=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),q(this._mapPane,new x(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(w(t.markerPane,"leaflet-zoom-hide"),w(t.shadowPane,"leaflet-zoom-hide"))},_resetView:function(t,e,i){q(this._mapPane,new x(0,0));var n=!this._loaded;this._loaded=!0,e=this._limitZoom(e),this.fire("viewprereset");var o=this._zoom!==e;this._moveStart(o,i)._move(t,e)._moveEnd(o),this.fire("viewreset"),n&&this.fire("load")},_moveStart:function(t,e){return t&&this.fire("zoomstart"),e||this.fire("movestart"),this},_move:function(t,e,i,n){e===void 0&&(e=this._zoom);var o=this._zoom!==e;return this._zoom=e,this._lastCenter=t,this._pixelOrigin=this._getNewPixelOrigin(t),n?i&&i.pinch&&this.fire("zoom",i):((o||i&&i.pinch)&&this.fire("zoom",i),this.fire("move",i)),this},_moveEnd:function(t){return t&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return lt(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(t){q(this._mapPane,this._getMapPanePos().subtract(t))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(t){this._targets={},this._targets[M(this._container)]=this;var e=t?O:y;e(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&e(window,"resize",this._onResize,this),_.any3d&&this.options.transform3DLimit&&(t?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){lt(this._resizeRequest),this._resizeRequest=$(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var t=this._getMapPanePos();Math.max(Math.abs(t.x),Math.abs(t.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(t,e){for(var i=[],n,o=e==="mouseout"||e==="mouseover",s=t.target||t.srcElement,r=!1;s;){if(n=this._targets[M(s)],n&&(e==="click"||e==="preclick")&&this._draggableMoved(n)){r=!0;break}if(n&&n.listens(e,!0)&&(o&&!Zi(s,t)||(i.push(n),o))||s===this._container)break;s=s.parentNode}return!i.length&&!r&&!o&&this.listens(e,!0)&&(i=[this]),i},_isClickDisabled:function(t){for(;t&&t!==this._container;){if(t._leaflet_disable_click)return!0;t=t.parentNode}},_handleDOMEvent:function(t){var e=t.target||t.srcElement;if(!(!this._loaded||e._leaflet_disable_events||t.type==="click"&&this._isClickDisabled(e))){var i=t.type;i==="mousedown"&&Oi(e),this._fireDOMEvent(t,i)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(t,e,i){if(t.type==="click"){var n=z({},t);n.type="preclick",this._fireDOMEvent(n,n.type,i)}var o=this._findEventTargets(t,e);if(i){for(var s=[],r=0;r0?Math.round(t-e)/2:Math.max(0,Math.ceil(t))-Math.max(0,Math.floor(e))},_limitZoom:function(t){var e=this.getMinZoom(),i=this.getMaxZoom(),n=_.any3d?this.options.zoomSnap:1;return n&&(t=Math.round(t/n)*n),Math.max(e,Math.min(i,t))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){U(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(t,e){var i=this._getCenterOffset(t)._trunc();return(e&&e.animate)!==!0&&!this.getSize().contains(i)?!1:(this.panBy(i,e),!0)},_createAnimProxy:function(){var t=this._proxy=C("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(t),this.on("zoomanim",function(e){var i=Mi,n=this._proxy.style[i];Vt(this._proxy,this.project(e.center,e.zoom),this.getZoomScale(e.zoom,1)),n===this._proxy.style[i]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){D(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var t=this.getCenter(),e=this.getZoom();Vt(this._proxy,this.project(t,e),this.getZoomScale(e,1))},_catchTransitionEnd:function(t){this._animatingZoom&&t.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(t,e,i){if(this._animatingZoom)return!0;if(i=i||{},!this._zoomAnimated||i.animate===!1||this._nothingToAnimate()||Math.abs(e-this._zoom)>this.options.zoomAnimationThreshold)return!1;var n=this.getZoomScale(e),o=this._getCenterOffset(t)._divideBy(1-1/n);return i.animate!==!0&&!this.getSize().contains(o)?!1:($(function(){this._moveStart(!0,!1)._animateZoom(t,e,!0)},this),!0)},_animateZoom:function(t,e,i,n){!this._mapPane||(i&&(this._animatingZoom=!0,this._animateToCenter=t,this._animateToZoom=e,w(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:t,zoom:e,noUpdate:n}),this._tempFireZoomEvent||(this._tempFireZoomEvent=this._zoom!==this._animateToZoom),this._move(this._animateToCenter,this._animateToZoom,void 0,!0),setTimeout(Z(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){!this._animatingZoom||(this._mapPane&&U(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom,void 0,!0),this._tempFireZoomEvent&&this.fire("zoom"),delete this._tempFireZoomEvent,this.fire("move"),this._moveEnd(!0))}});function js(t,e){return new P(t,e)}var ft=kt.extend({options:{position:"topright"},initialize:function(t){R(this,t)},getPosition:function(){return this.options.position},setPosition:function(t){var e=this._map;return e&&e.removeControl(this),this.options.position=t,e&&e.addControl(this),this},getContainer:function(){return this._container},addTo:function(t){this.remove(),this._map=t;var e=this._container=this.onAdd(t),i=this.getPosition(),n=t._controlCorners[i];return w(e,"leaflet-control"),i.indexOf("bottom")!==-1?n.insertBefore(e,n.firstChild):n.appendChild(e),this._map.on("unload",this.remove,this),this},remove:function(){return this._map?(D(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null,this):this},_refocusOnMap:function(t){this._map&&t&&t.screenX>0&&t.screenY>0&&this._map.getContainer().focus()}}),Le=function(t){return new ft(t)};P.include({addControl:function(t){return t.addTo(this),this},removeControl:function(t){return t.remove(),this},_initControlPos:function(){var t=this._controlCorners={},e="leaflet-",i=this._controlContainer=C("div",e+"control-container",this._container);function n(o,s){var r=e+o+" "+e+s;t[o+s]=C("div",r,i)}n("top","left"),n("top","right"),n("bottom","left"),n("bottom","right")},_clearControlPos:function(){for(var t in this._controlCorners)D(this._controlCorners[t]);D(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var Jn=ft.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(t,e,i,n){return i1,this._baseLayersList.style.display=t?"":"none"),this._separator.style.display=e&&t?"":"none",this},_onLayerChange:function(t){this._handlingClick||this._update();var e=this._getLayer(M(t.target)),i=e.overlay?t.type==="add"?"overlayadd":"overlayremove":t.type==="add"?"baselayerchange":null;i&&this._map.fire(i,e)},_createRadioElement:function(t,e){var i='",n=document.createElement("div");return n.innerHTML=i,n.firstChild},_addItem:function(t){var e=document.createElement("label"),i=this._map.hasLayer(t.layer),n;t.overlay?(n=document.createElement("input"),n.type="checkbox",n.className="leaflet-control-layers-selector",n.defaultChecked=i):n=this._createRadioElement("leaflet-base-layers_"+M(this),i),this._layerControlInputs.push(n),n.layerId=M(t.layer),y(n,"click",this._onInputClick,this);var o=document.createElement("span");o.innerHTML=" "+t.name;var s=document.createElement("span");e.appendChild(s),s.appendChild(n),s.appendChild(o);var r=t.overlay?this._overlaysList:this._baseLayersList;return r.appendChild(e),this._checkDisabledLayers(),e},_onInputClick:function(){var t=this._layerControlInputs,e,i,n=[],o=[];this._handlingClick=!0;for(var s=t.length-1;s>=0;s--)e=t[s],i=this._getLayer(e.layerId).layer,e.checked?n.push(i):e.checked||o.push(i);for(s=0;s=0;o--)e=t[o],i=this._getLayer(e.layerId).layer,e.disabled=i.options.minZoom!==void 0&&ni.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this}}),Ks=function(t,e,i){return new Jn(t,e,i)},Ri=ft.extend({options:{position:"topleft",zoomInText:'',zoomInTitle:"Zoom in",zoomOutText:'',zoomOutTitle:"Zoom out"},onAdd:function(t){var e="leaflet-control-zoom",i=C("div",e+" leaflet-bar"),n=this.options;return this._zoomInButton=this._createButton(n.zoomInText,n.zoomInTitle,e+"-in",i,this._zoomIn),this._zoomOutButton=this._createButton(n.zoomOutText,n.zoomOutTitle,e+"-out",i,this._zoomOut),this._updateDisabled(),t.on("zoomend zoomlevelschange",this._updateDisabled,this),i},onRemove:function(t){t.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(t){!this._disabled&&this._map._zoomthis._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(t.shiftKey?3:1))},_createButton:function(t,e,i,n,o){var s=C("a",i,n);return s.innerHTML=t,s.href="#",s.title=e,s.setAttribute("role","button"),s.setAttribute("aria-label",e),Pe(s),y(s,"click",Gt),y(s,"click",o,this),y(s,"click",this._refocusOnMap,this),s},_updateDisabled:function(){var t=this._map,e="leaflet-disabled";U(this._zoomInButton,e),U(this._zoomOutButton,e),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||t._zoom===t.getMinZoom())&&(w(this._zoomOutButton,e),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||t._zoom===t.getMaxZoom())&&(w(this._zoomInButton,e),this._zoomInButton.setAttribute("aria-disabled","true"))}});P.mergeOptions({zoomControl:!0});P.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new Ri,this.addControl(this.zoomControl))});var Ys=function(t){return new Ri(t)},$n=ft.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(t){var e="leaflet-control-scale",i=C("div",e),n=this.options;return this._addScales(n,e+"-line",i),t.on(n.updateWhenIdle?"moveend":"move",this._update,this),t.whenReady(this._update,this),i},onRemove:function(t){t.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(t,e,i){t.metric&&(this._mScale=C("div",e,i)),t.imperial&&(this._iScale=C("div",e,i))},_update:function(){var t=this._map,e=t.getSize().y/2,i=t.distance(t.containerPointToLatLng([0,e]),t.containerPointToLatLng([this.options.maxWidth,e]));this._updateScales(i)},_updateScales:function(t){this.options.metric&&t&&this._updateMetric(t),this.options.imperial&&t&&this._updateImperial(t)},_updateMetric:function(t){var e=this._getRoundNum(t),i=e<1e3?e+" m":e/1e3+" km";this._updateScale(this._mScale,i,e/t)},_updateImperial:function(t){var e=t*3.2808399,i,n,o;e>5280?(i=e/5280,n=this._getRoundNum(i),this._updateScale(this._iScale,n+" mi",n/i)):(o=this._getRoundNum(e),this._updateScale(this._iScale,o+" ft",o/e))},_updateScale:function(t,e,i){t.style.width=Math.round(this.options.maxWidth*i)+"px",t.innerHTML=e},_getRoundNum:function(t){var e=Math.pow(10,(Math.floor(t)+"").length-1),i=t/e;return i=i>=10?10:i>=5?5:i>=3?3:i>=2?2:1,e*i}}),Xs=function(t){return new $n(t)},Qs='',Di=ft.extend({options:{position:"bottomright",prefix:''+(_.inlineSvg?Qs+" ":"")+"Leaflet"},initialize:function(t){R(this,t),this._attributions={}},onAdd:function(t){t.attributionControl=this,this._container=C("div","leaflet-control-attribution"),Pe(this._container);for(var e in t._layers)t._layers[e].getAttribution&&this.addAttribution(t._layers[e].getAttribution());return this._update(),t.on("layeradd",this._addAttribution,this),this._container},onRemove:function(t){t.off("layeradd",this._addAttribution,this)},_addAttribution:function(t){t.layer.getAttribution&&(this.addAttribution(t.layer.getAttribution()),t.layer.once("remove",function(){this.removeAttribution(t.layer.getAttribution())},this))},setPrefix:function(t){return this.options.prefix=t,this._update(),this},addAttribution:function(t){return t?(this._attributions[t]||(this._attributions[t]=0),this._attributions[t]++,this._update(),this):this},removeAttribution:function(t){return t?(this._attributions[t]&&(this._attributions[t]--,this._update()),this):this},_update:function(){if(!!this._map){var t=[];for(var e in this._attributions)this._attributions[e]&&t.push(e);var i=[];this.options.prefix&&i.push(this.options.prefix),t.length&&i.push(t.join(", ")),this._container.innerHTML=i.join(' ')}}});P.mergeOptions({attributionControl:!0});P.addInitHook(function(){this.options.attributionControl&&new Di().addTo(this)});var Js=function(t){return new Di(t)};ft.Layers=Jn;ft.Zoom=Ri;ft.Scale=$n;ft.Attribution=Di;Le.layers=Ks;Le.zoom=Ys;Le.scale=Xs;Le.attribution=Js;var wt=kt.extend({initialize:function(t){this._map=t},enable:function(){return this._enabled?this:(this._enabled=!0,this.addHooks(),this)},disable:function(){return this._enabled?(this._enabled=!1,this.removeHooks(),this):this},enabled:function(){return!!this._enabled}});wt.addTo=function(t,e){return t.addHandler(e,this),this};var $s={Events:nt},on=_.touch?"touchstart mousedown":"mousedown",Ot=xe.extend({options:{clickTolerance:3},initialize:function(t,e,i,n){R(this,n),this._element=t,this._dragStartTarget=e||t,this._preventOutline=i},enable:function(){this._enabled||(y(this._dragStartTarget,on,this._onDown,this),this._enabled=!0)},disable:function(){!this._enabled||(Ot._dragging===this&&this.finishDrag(!0),O(this._dragStartTarget,on,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(t){if(!!this._enabled&&(this._moved=!1,!ki(this._element,"leaflet-zoom-anim"))){if(t.touches&&t.touches.length!==1){Ot._dragging===this&&this.finishDrag();return}if(!(Ot._dragging||t.shiftKey||t.which!==1&&t.button!==1&&!t.touches)&&(Ot._dragging=this,this._preventOutline&&Oi(this._element),Si(),_e(),!this._moving)){this.fire("down");var e=t.touches?t.touches[0]:t,i=jn(this._element);this._startPoint=new x(e.clientX,e.clientY),this._startPos=qt(this._element),this._parentScale=Ii(i);var n=t.type==="mousedown";y(document,n?"mousemove":"touchmove",this._onMove,this),y(document,n?"mouseup":"touchend touchcancel",this._onUp,this)}}},_onMove:function(t){if(!!this._enabled){if(t.touches&&t.touches.length>1){this._moved=!0;return}var e=t.touches&&t.touches.length===1?t.touches[0]:t,i=new x(e.clientX,e.clientY)._subtract(this._startPoint);!i.x&&!i.y||Math.abs(i.x)+Math.abs(i.y)s&&(r=a,s=l);s>i&&(e[r]=1,vi(t,e,i,n,r),vi(t,e,i,r,o))}function ir(t,e){for(var i=[t[0]],n=1,o=0,s=t.length;ne&&(i.push(t[n]),o=n);return oe.max.x&&(i|=2),t.ye.max.y&&(i|=8),i}function nr(t,e){var i=e.x-t.x,n=e.y-t.y;return i*i+n*n}function Te(t,e,i,n){var o=e.x,s=e.y,r=i.x-o,a=i.y-s,l=r*r+a*a,h;return l>0&&(h=((t.x-o)*r+(t.y-s)*a)/l,h>1?(o=i.x,s=i.y):h>0&&(o+=r*h,s+=a*h)),r=t.x-o,a=t.y-s,n?r*r+a*a:new x(o,s)}function ht(t){return!_t(t[0])||typeof t[0][0]!="object"&&typeof t[0][0]<"u"}function no(t){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),ht(t)}function oo(t,e){var i,n,o,s,r,a,l,h;if(!t||t.length===0)throw new Error("latlngs not passed");ht(t)||(console.warn("latlngs are not flat! Only the first ring will be used"),t=t[0]);var u=[];for(var d in t)u.push(e.project(A(t[d])));var c=u.length;for(i=0,n=0;in){l=(s-n)/o,h=[a.x-l*(a.x-r.x),a.y-l*(a.y-r.y)];break}return e.unproject(g(h))}var or={__proto__:null,simplify:to,pointToSegmentDistance:eo,closestPointOnSegment:tr,clipSegment:io,_getEdgeIntersection:De,_getBitCode:Wt,_sqClosestPointOnSegment:Te,isFlat:ht,_flat:no,polylineCenter:oo};function so(t,e,i){var n,o=[1,4,2,8],s,r,a,l,h,u,d,c;for(s=0,u=t.length;s1e-7;a++)h=o*Math.sin(r),h=Math.pow((1-h)/(1+h),o/2),l=Math.PI/2-2*Math.atan(s*h)-r,r+=l;return new S(r*e,t.x*e/i)}},ao={__proto__:null,LonLat:Ni,Mercator:gi,SphericalMercator:ci},rr=z({},It,{code:"EPSG:3395",projection:gi,transformation:function(){var t=.5/(Math.PI*gi.R);return we(t,.5,-t,.5)}()}),lo=z({},It,{code:"EPSG:4326",projection:Ni,transformation:we(1/180,1,-1/180,.5)}),ar=z({},xt,{projection:Ni,transformation:we(1,0,-1,0),scale:function(t){return Math.pow(2,t)},zoom:function(t){return Math.log(t)/Math.LN2},distance:function(t,e){var i=e.lng-t.lng,n=e.lat-t.lat;return Math.sqrt(i*i+n*n)},infinite:!0});xt.Earth=It;xt.EPSG3395=rr;xt.EPSG3857=bi;xt.EPSG900913=_s;xt.EPSG4326=lo;xt.Simple=ar;var mt=xe.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(t){return t.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(t){return t&&t.removeLayer(this),this},getPane:function(t){return this._map.getPane(t?this.options[t]||t:this.options.pane)},addInteractiveTarget:function(t){return this._map._targets[M(t)]=this,this},removeInteractiveTarget:function(t){return delete this._map._targets[M(t)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(t){var e=t.target;if(!!e.hasLayer(this)){if(this._map=e,this._zoomAnimated=e._zoomAnimated,this.getEvents){var i=this.getEvents();e.on(i,this),this.once("remove",function(){e.off(i,this)},this)}this.onAdd(e),this.fire("add"),e.fire("layeradd",{layer:this})}}});P.include({addLayer:function(t){if(!t._layerAdd)throw new Error("The provided object is not a Layer.");var e=M(t);return this._layers[e]?this:(this._layers[e]=t,t._mapToAdd=this,t.beforeAdd&&t.beforeAdd(this),this.whenReady(t._layerAdd,t),this)},removeLayer:function(t){var e=M(t);return this._layers[e]?(this._loaded&&t.onRemove(this),delete this._layers[e],this._loaded&&(this.fire("layerremove",{layer:t}),t.fire("remove")),t._map=t._mapToAdd=null,this):this},hasLayer:function(t){return M(t)in this._layers},eachLayer:function(t,e){for(var i in this._layers)t.call(e,this._layers[i]);return this},_addLayers:function(t){t=t?_t(t)?t:[t]:[];for(var e=0,i=t.length;ethis._layersMaxZoom&&this.setZoom(this._layersMaxZoom),this.options.minZoom===void 0&&this._layersMinZoom&&this.getZoom()=2&&e[0]instanceof S&&e[0].equals(e[i-1])&&e.pop(),e},_setLatLngs:function(t){Tt.prototype._setLatLngs.call(this,t),ht(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return ht(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var t=this._renderer._bounds,e=this.options.weight,i=new x(e,e);if(t=new N(t.min.subtract(i),t.max.add(i)),this._parts=[],!(!this._pxBounds||!this._pxBounds.intersects(t))){if(this.options.noClip){this._parts=this._rings;return}for(var n=0,o=this._rings.length,s;nt.y!=o.y>t.y&&t.x<(o.x-n.x)*(t.y-n.y)/(o.y-n.y)+n.x&&(e=!e);return e||Tt.prototype._containsPoint.call(this,t,!0)}});function mr(t,e){return new $t(t,e)}var Et=Ut.extend({initialize:function(t,e){R(this,e),this._layers={},t&&this.addData(t)},addData:function(t){var e=_t(t)?t:t.features,i,n,o;if(e){for(i=0,n=e.length;i0?n:[e.src];return}_t(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&Object.prototype.hasOwnProperty.call(e.style,"objectFit")&&(e.style.objectFit="fill"),e.autoplay=!!this.options.autoplay,e.loop=!!this.options.loop,e.muted=!!this.options.muted,e.playsInline=!!this.options.playsInline;for(var s=0;so?(e.height=o+"px",w(t,s)):U(t,s),this._containerWidth=this._container.offsetWidth},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center),i=this._getAnchor();q(this._container,e.add(i))},_adjustPan:function(t){if(!!this.options.autoPan){this._map._panAnim&&this._map._panAnim.stop();var e=this._map,i=parseInt(fe(this._container,"marginBottom"),10)||0,n=this._container.offsetHeight+i,o=this._containerWidth,s=new x(this._containerLeft,-n-this._containerBottom);s._add(qt(this._container));var r=e.layerPointToContainerPoint(s),a=g(this.options.autoPanPadding),l=g(this.options.autoPanPaddingTopLeft||a),h=g(this.options.autoPanPaddingBottomRight||a),u=e.getSize(),d=0,c=0;r.x+o+h.x>u.x&&(d=r.x+o-u.x+h.x),r.x-d-l.x<0&&(d=r.x-l.x),r.y+n+h.y>u.y&&(c=r.y+n-u.y+h.y),r.y-c-l.y<0&&(c=r.y-l.y),(d||c)&&e.fire("autopanstart").panBy([d,c],{animate:t&&t.type==="moveend"})}},_getAnchor:function(){return g(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),xr=function(t,e){return new ei(t,e)};P.mergeOptions({closePopupOnClick:!0});P.include({openPopup:function(t,e,i){return this._initOverlay(ei,t,e,i).openOn(this),this},closePopup:function(t){return t=arguments.length?t:this._popup,t&&t.close(),this}});mt.include({bindPopup:function(t,e){return this._popup=this._initOverlay(ei,this._popup,t,e),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(t){return this._popup&&this._popup._prepareOpen(t||this._latlng)&&this._popup.openOn(this._map),this},closePopup:function(){return this._popup&&this._popup.close(),this},togglePopup:function(){return this._popup&&this._popup.toggle(this),this},isPopupOpen:function(){return this._popup?this._popup.isOpen():!1},setPopupContent:function(t){return this._popup&&this._popup.setContent(t),this},getPopup:function(){return this._popup},_openPopup:function(t){if(!(!this._popup||!this._map)){Gt(t);var e=t.layer||t.target;if(this._popup._source===e&&!(e instanceof Bt)){this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(t.latlng);return}this._popup._source=e,this.openPopup(t.latlng)}},_movePopup:function(t){this._popup.setLatLng(t.latlng)},_onKeyPress:function(t){t.originalEvent.keyCode===13&&this._openPopup(t)}});var ii=gt.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(t){gt.prototype.onAdd.call(this,t),this.setOpacity(this.options.opacity),t.fire("tooltipopen",{tooltip:this}),this._source&&(this.addEventParent(this._source),this._source.fire("tooltipopen",{tooltip:this},!0))},onRemove:function(t){gt.prototype.onRemove.call(this,t),t.fire("tooltipclose",{tooltip:this}),this._source&&(this.removeEventParent(this._source),this._source.fire("tooltipclose",{tooltip:this},!0))},getEvents:function(){var t=gt.prototype.getEvents.call(this);return this.options.permanent||(t.preclick=this.close),t},_initLayout:function(){var t="leaflet-tooltip",e=t+" "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=C("div",e),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+M(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(t){var e,i,n=this._map,o=this._container,s=n.latLngToContainerPoint(n.getCenter()),r=n.layerPointToContainerPoint(t),a=this.options.direction,l=o.offsetWidth,h=o.offsetHeight,u=g(this.options.offset),d=this._getAnchor();a==="top"?(e=l/2,i=h):a==="bottom"?(e=l/2,i=0):a==="center"?(e=l/2,i=h/2):a==="right"?(e=0,i=h/2):a==="left"?(e=l,i=h/2):r.xthis.options.maxZoom||in?this._retainParent(o,s,r,n):!1)},_retainChildren:function(t,e,i,n){for(var o=2*t;o<2*t+2;o++)for(var s=2*e;s<2*e+2;s++){var r=new x(o,s);r.z=i+1;var a=this._tileCoordsToKey(r),l=this._tiles[a];if(l&&l.active){l.retain=!0;continue}else l&&l.loaded&&(l.retain=!0);i+1this.options.maxZoom||this.options.minZoom!==void 0&&o1){this._setView(t,i);return}for(var d=o.min.y;d<=o.max.y;d++)for(var c=o.min.x;c<=o.max.x;c++){var p=new x(c,d);if(p.z=this._tileZoom,!!this._isValidTile(p)){var k=this._tiles[this._tileCoordsToKey(p)];k?k.current=!0:r.push(p)}}if(r.sort(function(F,ut){return F.distanceTo(s)-ut.distanceTo(s)}),r.length!==0){this._loading||(this._loading=!0,this.fire("loading"));var Y=document.createDocumentFragment();for(c=0;ci.max.x)||!e.wrapLat&&(t.yi.max.y))return!1}if(!this.options.bounds)return!0;var n=this._tileCoordsToBounds(t);return W(this.options.bounds).overlaps(n)},_keyToBounds:function(t){return this._tileCoordsToBounds(this._keyToTileCoords(t))},_tileCoordsToNwSe:function(t){var e=this._map,i=this.getTileSize(),n=t.scaleBy(i),o=n.add(i),s=e.unproject(n,t.z),r=e.unproject(o,t.z);return[s,r]},_tileCoordsToBounds:function(t){var e=this._tileCoordsToNwSe(t),i=new tt(e[0],e[1]);return this.options.noWrap||(i=this._map.wrapLatLngBounds(i)),i},_tileCoordsToKey:function(t){return t.x+":"+t.y+":"+t.z},_keyToTileCoords:function(t){var e=t.split(":"),i=new x(+e[0],+e[1]);return i.z=+e[2],i},_removeTile:function(t){var e=this._tiles[t];!e||(D(e.el),delete this._tiles[t],this.fire("tileunload",{tile:e.el,coords:this._keyToTileCoords(t)}))},_initTile:function(t){w(t,"leaflet-tile");var e=this.getTileSize();t.style.width=e.x+"px",t.style.height=e.y+"px",t.onselectstart=V,t.onmousemove=V,_.ielt9&&this.options.opacity<1&&at(t,this.options.opacity)},_addTile:function(t,e){var i=this._getTilePos(t),n=this._tileCoordsToKey(t),o=this.createTile(this._wrapCoords(t),Z(this._tileReady,this,t));this._initTile(o),this.createTile.length<2&&$(Z(this._tileReady,this,t,null,o)),q(o,i),this._tiles[n]={el:o,coords:t,current:!0},e.appendChild(o),this.fire("tileloadstart",{tile:o,coords:t})},_tileReady:function(t,e,i){e&&this.fire("tileerror",{error:e,tile:i,coords:t});var n=this._tileCoordsToKey(t);i=this._tiles[n],i&&(i.loaded=+new Date,this._map._fadeAnimated?(at(i.el,0),lt(this._fadeFrame),this._fadeFrame=$(this._updateOpacity,this)):(i.active=!0,this._pruneTiles()),e||(w(i.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:i.el,coords:t})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),_.ielt9||!this._map._fadeAnimated?$(this._pruneTiles,this):setTimeout(Z(this._pruneTiles,this),250)))},_getTilePos:function(t){return t.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(t){var e=new x(this._wrapX?de(t.x,this._wrapX):t.x,this._wrapY?de(t.y,this._wrapY):t.y);return e.z=t.z,e},_pxBoundsToTileRange:function(t){var e=this.getTileSize();return new N(t.min.unscaleBy(e).floor(),t.max.unscaleBy(e).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var t in this._tiles)if(!this._tiles[t].loaded)return!1;return!0}});function Pr(t){return new ue(t)}var Yt=ue.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(t,e){this._url=t,e=R(this,e),e.detectRetina&&_.retina&&e.maxZoom>0?(e.tileSize=Math.floor(e.tileSize/2),e.zoomReverse?(e.zoomOffset--,e.minZoom=Math.min(e.maxZoom,e.minZoom+1)):(e.zoomOffset++,e.maxZoom=Math.max(e.minZoom,e.maxZoom-1)),e.minZoom=Math.max(0,e.minZoom)):e.zoomReverse?e.minZoom=Math.min(e.maxZoom,e.minZoom):e.maxZoom=Math.max(e.minZoom,e.maxZoom),typeof e.subdomains=="string"&&(e.subdomains=e.subdomains.split("")),this.on("tileunload",this._onTileRemove)},setUrl:function(t,e){return this._url===t&&e===void 0&&(e=!0),this._url=t,e||this.redraw(),this},createTile:function(t,e){var i=document.createElement("img");return y(i,"load",Z(this._tileOnLoad,this,e,i)),y(i,"error",Z(this._tileOnError,this,e,i)),(this.options.crossOrigin||this.options.crossOrigin==="")&&(i.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),typeof this.options.referrerPolicy=="string"&&(i.referrerPolicy=this.options.referrerPolicy),i.alt="",i.src=this.getTileUrl(t),i},getTileUrl:function(t){var e={r:_.retina?"@2x":"",s:this._getSubdomain(t),x:t.x,y:t.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var i=this._globalTileRange.max.y-t.y;this.options.tms&&(e.y=i),e["-y"]=i}return Pn(this._url,z(e,this.options))},_tileOnLoad:function(t,e){_.ielt9?setTimeout(Z(t,this,null,e),0):t(null,e)},_tileOnError:function(t,e,i){var n=this.options.errorTileUrl;n&&e.getAttribute("src")!==n&&(e.src=n),t(i,e)},_onTileRemove:function(t){t.tile.onload=null},_getZoomForUrl:function(){var t=this._tileZoom,e=this.options.maxZoom,i=this.options.zoomReverse,n=this.options.zoomOffset;return i&&(t=e-t),t+n},_getSubdomain:function(t){var e=Math.abs(t.x+t.y)%this.options.subdomains.length;return this.options.subdomains[e]},_abortLoading:function(){var t,e;for(t in this._tiles)if(this._tiles[t].coords.z!==this._tileZoom&&(e=this._tiles[t].el,e.onload=V,e.onerror=V,!e.complete)){e.src=Ee;var i=this._tiles[t].coords;D(e),delete this._tiles[t],this.fire("tileabort",{tile:e,coords:i})}},_removeTile:function(t){var e=this._tiles[t];if(!!e)return e.el.setAttribute("src",Ee),ue.prototype._removeTile.call(this,t)},_tileReady:function(t,e,i){if(!(!this._map||i&&i.getAttribute("src")===Ee))return ue.prototype._tileReady.call(this,t,e,i)}});function _o(t,e){return new Yt(t,e)}var mo=Yt.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(t,e){this._url=t;var i=z({},this.defaultWmsParams);for(var n in e)n in this.options||(i[n]=e[n]);e=R(this,e);var o=e.detectRetina&&_.retina?2:1,s=this.getTileSize();i.width=s.x*o,i.height=s.y*o,this.wmsParams=i},onAdd:function(t){this._crs=this.options.crs||t.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var e=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[e]=this._crs.code,Yt.prototype.onAdd.call(this,t)},getTileUrl:function(t){var e=this._tileCoordsToNwSe(t),i=this._crs,n=J(i.project(e[0]),i.project(e[1])),o=n.min,s=n.max,r=(this._wmsVersion>=1.3&&this._crs===lo?[o.y,o.x,s.y,s.x]:[o.x,o.y,s.x,s.y]).join(","),a=Yt.prototype.getTileUrl.call(this,t);return a+bn(this.wmsParams,a,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+r},setParams:function(t,e){return z(this.wmsParams,t),e||this.redraw(),this}});function Lr(t,e){return new mo(t,e)}Yt.WMS=mo;_o.wms=Lr;var Pt=mt.extend({options:{padding:.1},initialize:function(t){R(this,t),M(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),this._zoomAnimated&&w(this._container,"leaflet-zoom-animated")),this.getPane().appendChild(this._container),this._update(),this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this),this._destroyContainer()},getEvents:function(){var t={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(t.zoomanim=this._onAnimZoom),t},_onAnimZoom:function(t){this._updateTransform(t.center,t.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(t,e){var i=this._map.getZoomScale(e,this._zoom),n=this._map.getSize().multiplyBy(.5+this.options.padding),o=this._map.project(this._center,e),s=n.multiplyBy(-i).add(o).subtract(this._map._getNewPixelOrigin(t,e));_.any3d?Vt(this._container,s,i):q(this._container,s)},_reset:function(){this._update(),this._updateTransform(this._center,this._zoom);for(var t in this._layers)this._layers[t]._reset()},_onZoomEnd:function(){for(var t in this._layers)this._layers[t]._project()},_updatePaths:function(){for(var t in this._layers)this._layers[t]._update()},_update:function(){var t=this.options.padding,e=this._map.getSize(),i=this._map.containerPointToLayerPoint(e.multiplyBy(-t)).round();this._bounds=new N(i,i.add(e.multiplyBy(1+t*2)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),po=Pt.extend({options:{tolerance:0},getEvents:function(){var t=Pt.prototype.getEvents.call(this);return t.viewprereset=this._onViewPreReset,t},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){Pt.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var t=this._container=document.createElement("canvas");y(t,"mousemove",this._onMouseMove,this),y(t,"click dblclick mousedown mouseup contextmenu",this._onClick,this),y(t,"mouseout",this._handleMouseOut,this),t._leaflet_disable_events=!0,this._ctx=t.getContext("2d")},_destroyContainer:function(){lt(this._redrawRequest),delete this._ctx,D(this._container),O(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){var t;this._redrawBounds=null;for(var e in this._layers)t=this._layers[e],t._update();this._redraw()}},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){Pt.prototype._update.call(this);var t=this._bounds,e=this._container,i=t.getSize(),n=_.retina?2:1;q(e,t.min),e.width=n*i.x,e.height=n*i.y,e.style.width=i.x+"px",e.style.height=i.y+"px",_.retina&&this._ctx.scale(2,2),this._ctx.translate(-t.min.x,-t.min.y),this.fire("update")}},_reset:function(){Pt.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(t){this._updateDashArray(t),this._layers[M(t)]=t;var e=t._order={layer:t,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=e),this._drawLast=e,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(t){this._requestRedraw(t)},_removePath:function(t){var e=t._order,i=e.next,n=e.prev;i?i.prev=n:this._drawLast=n,n?n.next=i:this._drawFirst=i,delete t._order,delete this._layers[M(t)],this._requestRedraw(t)},_updatePath:function(t){this._extendRedrawBounds(t),t._project(),t._update(),this._requestRedraw(t)},_updateStyle:function(t){this._updateDashArray(t),this._requestRedraw(t)},_updateDashArray:function(t){if(typeof t.options.dashArray=="string"){var e=t.options.dashArray.split(/[, ]+/),i=[],n,o;for(o=0;o')}}catch{}return function(t){return document.createElement("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}(),Tr={_initContainer:function(){this._container=C("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(Pt.prototype._update.call(this),this.fire("update"))},_initPath:function(t){var e=t._container=re("shape");w(e,"leaflet-vml-shape "+(this.options.className||"")),e.coordsize="1 1",t._path=re("path"),e.appendChild(t._path),this._updateStyle(t),this._layers[M(t)]=t},_addPath:function(t){var e=t._container;this._container.appendChild(e),t.options.interactive&&t.addInteractiveTarget(e)},_removePath:function(t){var e=t._container;D(e),t.removeInteractiveTarget(e),delete this._layers[M(t)]},_updateStyle:function(t){var e=t._stroke,i=t._fill,n=t.options,o=t._container;o.stroked=!!n.stroke,o.filled=!!n.fill,n.stroke?(e||(e=t._stroke=re("stroke")),o.appendChild(e),e.weight=n.weight+"px",e.color=n.color,e.opacity=n.opacity,n.dashArray?e.dashStyle=_t(n.dashArray)?n.dashArray.join(" "):n.dashArray.replace(/( *, *)/g," "):e.dashStyle="",e.endcap=n.lineCap.replace("butt","flat"),e.joinstyle=n.lineJoin):e&&(o.removeChild(e),t._stroke=null),n.fill?(i||(i=t._fill=re("fill")),o.appendChild(i),i.color=n.fillColor||n.color,i.opacity=n.fillOpacity):i&&(o.removeChild(i),t._fill=null)},_updateCircle:function(t){var e=t._point.round(),i=Math.round(t._radius),n=Math.round(t._radiusY||i);this._setPath(t,t._empty()?"M0 0":"AL "+e.x+","+e.y+" "+i+","+n+" 0,"+65535*360)},_setPath:function(t,e){t._path.v=e},_bringToFront:function(t){ie(t._container)},_bringToBack:function(t){ne(t._container)}},Oe=_.vml?re:Cn,Ae=Pt.extend({_initContainer:function(){this._container=Oe("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=Oe("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){D(this._container),O(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){Pt.prototype._update.call(this);var t=this._bounds,e=t.getSize(),i=this._container;(!this._svgSize||!this._svgSize.equals(e))&&(this._svgSize=e,i.setAttribute("width",e.x),i.setAttribute("height",e.y)),q(i,t.min),i.setAttribute("viewBox",[t.min.x,t.min.y,e.x,e.y].join(" ")),this.fire("update")}},_initPath:function(t){var e=t._path=Oe("path");t.options.className&&w(e,t.options.className),t.options.interactive&&w(e,"leaflet-interactive"),this._updateStyle(t),this._layers[M(t)]=t},_addPath:function(t){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(t._path),t.addInteractiveTarget(t._path)},_removePath:function(t){D(t._path),t.removeInteractiveTarget(t._path),delete this._layers[M(t)]},_updatePath:function(t){t._project(),t._update()},_updateStyle:function(t){var e=t._path,i=t.options;!e||(i.stroke?(e.setAttribute("stroke",i.color),e.setAttribute("stroke-opacity",i.opacity),e.setAttribute("stroke-width",i.weight),e.setAttribute("stroke-linecap",i.lineCap),e.setAttribute("stroke-linejoin",i.lineJoin),i.dashArray?e.setAttribute("stroke-dasharray",i.dashArray):e.removeAttribute("stroke-dasharray"),i.dashOffset?e.setAttribute("stroke-dashoffset",i.dashOffset):e.removeAttribute("stroke-dashoffset")):e.setAttribute("stroke","none"),i.fill?(e.setAttribute("fill",i.fillColor||i.color),e.setAttribute("fill-opacity",i.fillOpacity),e.setAttribute("fill-rule",i.fillRule||"evenodd")):e.setAttribute("fill","none"))},_updatePoly:function(t,e){this._setPath(t,Mn(t._parts,e))},_updateCircle:function(t){var e=t._point,i=Math.max(Math.round(t._radius),1),n=Math.max(Math.round(t._radiusY),1)||i,o="a"+i+","+n+" 0 1,0 ",s=t._empty()?"M0 0":"M"+(e.x-i)+","+e.y+o+i*2+",0 "+o+-i*2+",0 ";this._setPath(t,s)},_setPath:function(t,e){t._path.setAttribute("d",e)},_bringToFront:function(t){ie(t._path)},_bringToBack:function(t){ne(t._path)}});_.vml&&Ae.include(Tr);function go(t){return _.svg||_.vml?new Ae(t):null}P.include({getRenderer:function(t){var e=t.options.renderer||this._getPaneRenderer(t.options.pane)||this.options.renderer||this._renderer;return e||(e=this._renderer=this._createRenderer()),this.hasLayer(e)||this.addLayer(e),e},_getPaneRenderer:function(t){if(t==="overlayPane"||t===void 0)return!1;var e=this._paneRenderers[t];return e===void 0&&(e=this._createRenderer({pane:t}),this._paneRenderers[t]=e),e},_createRenderer:function(t){return this.options.preferCanvas&&vo(t)||go(t)}});var yo=$t.extend({initialize:function(t,e){$t.prototype.initialize.call(this,this._boundsToLatLngs(t),e)},setBounds:function(t){return this.setLatLngs(this._boundsToLatLngs(t))},_boundsToLatLngs:function(t){return t=W(t),[t.getSouthWest(),t.getNorthWest(),t.getNorthEast(),t.getSouthEast()]}});function Ar(t,e){return new yo(t,e)}Ae.create=Oe;Ae.pointsToPath=Mn;Et.geometryToLayer=Ne;Et.coordsToLatLng=Wi;Et.coordsToLatLngs=He;Et.latLngToCoords=Ui;Et.latLngsToCoords=Je;Et.getFeature=te;Et.asFeature=$e;P.mergeOptions({boxZoom:!0});var xo=wt.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane,this._resetStateTimeout=0,t.on("unload",this._destroy,this)},addHooks:function(){y(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){O(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){D(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){this._resetStateTimeout!==0&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(t){if(!t.shiftKey||t.which!==1&&t.button!==1)return!1;this._clearDeferredResetState(),this._resetState(),_e(),Si(),this._startPoint=this._map.mouseEventToContainerPoint(t),y(document,{contextmenu:Gt,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(t){this._moved||(this._moved=!0,this._box=C("div","leaflet-zoom-box",this._container),w(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(t);var e=new N(this._point,this._startPoint),i=e.getSize();q(this._box,e.min),this._box.style.width=i.x+"px",this._box.style.height=i.y+"px"},_finish:function(){this._moved&&(D(this._box),U(this._container,"leaflet-crosshair")),me(),zi(),O(document,{contextmenu:Gt,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(t){if(!(t.which!==1&&t.button!==1)&&(this._finish(),!!this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(Z(this._resetState,this),0);var e=new tt(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(e).fire("boxzoomend",{boxZoomBounds:e})}},_onKeyDown:function(t){t.keyCode===27&&(this._finish(),this._clearDeferredResetState(),this._resetState())}});P.addInitHook("addHandler","boxZoom",xo);P.mergeOptions({doubleClickZoom:!0});var wo=wt.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(t){var e=this._map,i=e.getZoom(),n=e.options.zoomDelta,o=t.originalEvent.shiftKey?i-n:i+n;e.options.doubleClickZoom==="center"?e.setZoom(o):e.setZoomAround(t.containerPoint,o)}});P.addInitHook("addHandler","doubleClickZoom",wo);P.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var bo=wt.extend({addHooks:function(){if(!this._draggable){var t=this._map;this._draggable=new Ot(t._mapPane,t._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),t.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),t.on("zoomend",this._onZoomEnd,this),t.whenReady(this._onZoomEnd,this))}w(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){U(this._map._container,"leaflet-grab"),U(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var t=this._map;if(t._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var e=W(this._map.options.maxBounds);this._offsetLimit=J(this._map.latLngToContainerPoint(e.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(e.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;t.fire("movestart").fire("dragstart"),t.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(t){if(this._map.options.inertia){var e=this._lastTime=+new Date,i=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(i),this._times.push(e),this._prunePositions(e)}this._map.fire("move",t).fire("drag",t)},_prunePositions:function(t){for(;this._positions.length>1&&t-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var t=this._map.getSize().divideBy(2),e=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=e.subtract(t).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(t,e){return t-(t-e)*this._viscosity},_onPreDragLimit:function(){if(!(!this._viscosity||!this._offsetLimit)){var t=this._draggable._newPos.subtract(this._draggable._startPos),e=this._offsetLimit;t.xe.max.x&&(t.x=this._viscousLimit(t.x,e.max.x)),t.y>e.max.y&&(t.y=this._viscousLimit(t.y,e.max.y)),this._draggable._newPos=this._draggable._startPos.add(t)}},_onPreDragWrap:function(){var t=this._worldWidth,e=Math.round(t/2),i=this._initialWorldOffset,n=this._draggable._newPos.x,o=(n-e+i)%t+e-i,s=(n+e+i)%t-e-i,r=Math.abs(o+i)0?s:-s))-e;this._delta=0,this._startTime=null,r&&(t.options.scrollWheelZoom==="center"?t.setZoom(e+r):t.setZoomAround(this._lastMousePos,e+r))}});P.addInitHook("addHandler","scrollWheelZoom",Lo);var Cr=600;P.mergeOptions({tapHold:_.touchNative&&_.safari&&_.mobile,tapTolerance:15});var To=wt.extend({addHooks:function(){y(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){O(this._map._container,"touchstart",this._onDown,this)},_onDown:function(t){if(clearTimeout(this._holdTimeout),t.touches.length===1){var e=t.touches[0];this._startPos=this._newPos=new x(e.clientX,e.clientY),this._holdTimeout=setTimeout(Z(function(){this._cancel(),this._isTapValid()&&(y(document,"touchend",K),y(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",e))},this),Cr),y(document,"touchend touchcancel contextmenu",this._cancel,this),y(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function t(){O(document,"touchend",K),O(document,"touchend touchcancel",t)},_cancel:function(){clearTimeout(this._holdTimeout),O(document,"touchend touchcancel contextmenu",this._cancel,this),O(document,"touchmove",this._onMove,this)},_onMove:function(t){var e=t.touches[0];this._newPos=new x(e.clientX,e.clientY)},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_simulateEvent:function(t,e){var i=new MouseEvent(t,{bubbles:!0,cancelable:!0,view:window,screenX:e.screenX,screenY:e.screenY,clientX:e.clientX,clientY:e.clientY});i._simulated=!0,e.target.dispatchEvent(i)}});P.addInitHook("addHandler","tapHold",To);P.mergeOptions({touchZoom:_.touch,bounceAtZoomLimits:!0});var Ao=wt.extend({addHooks:function(){w(this._map._container,"leaflet-touch-zoom"),y(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){U(this._map._container,"leaflet-touch-zoom"),O(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(t){var e=this._map;if(!(!t.touches||t.touches.length!==2||e._animatingZoom||this._zooming)){var i=e.mouseEventToContainerPoint(t.touches[0]),n=e.mouseEventToContainerPoint(t.touches[1]);this._centerPoint=e.getSize()._divideBy(2),this._startLatLng=e.containerPointToLatLng(this._centerPoint),e.options.touchZoom!=="center"&&(this._pinchStartLatLng=e.containerPointToLatLng(i.add(n)._divideBy(2))),this._startDist=i.distanceTo(n),this._startZoom=e.getZoom(),this._moved=!1,this._zooming=!0,e._stop(),y(document,"touchmove",this._onTouchMove,this),y(document,"touchend touchcancel",this._onTouchEnd,this),K(t)}},_onTouchMove:function(t){if(!(!t.touches||t.touches.length!==2||!this._zooming)){var e=this._map,i=e.mouseEventToContainerPoint(t.touches[0]),n=e.mouseEventToContainerPoint(t.touches[1]),o=i.distanceTo(n)/this._startDist;if(this._zoom=e.getScaleZoom(o,this._startZoom),!e.options.bounceAtZoomLimits&&(this._zoome.getMaxZoom()&&o>1)&&(this._zoom=e._limitZoom(this._zoom)),e.options.touchZoom==="center"){if(this._center=this._startLatLng,o===1)return}else{var s=i._add(n)._divideBy(2)._subtract(this._centerPoint);if(o===1&&s.x===0&&s.y===0)return;this._center=e.unproject(e.project(this._pinchStartLatLng,this._zoom).subtract(s),this._zoom)}this._moved||(e._moveStart(!0,!1),this._moved=!0),lt(this._animRequest);var r=Z(e._move,e,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=$(r,this,!0),K(t)}},_onTouchEnd:function(){if(!this._moved||!this._zooming){this._zooming=!1;return}this._zooming=!1,lt(this._animRequest),O(document,"touchmove",this._onTouchMove,this),O(document,"touchend touchcancel",this._onTouchEnd,this),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))}});P.addInitHook("addHandler","touchZoom",Ao);P.BoxZoom=xo;P.DoubleClickZoom=wo;P.Drag=bo;P.Keyboard=Po;P.ScrollWheelZoom=Lo;P.TapHold=To;P.TouchZoom=Ao;const Ce=Object.freeze(Object.defineProperty({__proto__:null,Bounds:N,Browser:_,CRS:xt,Canvas:po,Circle:Hi,CircleMarker:Qe,Class:kt,Control:ft,DivIcon:fo,DivOverlay:gt,DomEvent:Gs,DomUtil:Vs,Draggable:Ot,Evented:xe,FeatureGroup:Ut,GeoJSON:Et,GridLayer:ue,Handler:wt,Icon:Jt,ImageOverlay:ti,LatLng:S,LatLngBounds:tt,Layer:mt,LayerGroup:Kt,LineUtil:or,Map:P,Marker:Xe,Mixin:$s,Path:Bt,Point:x,PolyUtil:sr,Polygon:$t,Polyline:Tt,Popup:ei,PosAnimation:Qn,Projection:ao,Rectangle:yo,Renderer:Pt,SVG:Ae,SVGOverlay:co,TileLayer:Yt,Tooltip:ii,Transformation:Ge,Util:An,VideoOverlay:uo,bind:Z,bounds:J,canvas:vo,circle:fr,circleMarker:dr,control:Le,divIcon:br,extend:z,featureGroup:hr,geoJSON:ho,geoJson:pr,gridLayer:Pr,icon:ur,imageOverlay:vr,latLng:A,latLngBounds:W,layerGroup:lr,map:js,marker:cr,point:g,polygon:mr,polyline:_r,popup:xr,rectangle:Ar,setOptions:R,stamp:M,svg:go,svgOverlay:yr,tileLayer:_o,tooltip:wr,transformation:we,version:cs,videoOverlay:gr},Symbol.toStringTag,{value:"Module"})),Mr=122.9,kr=146.65,Er=.01422,Sr=.01424,zr=W([A(8700,7e3),A(-5e3,-6400)]),Or=An.extend({},xt.Simple,{projection:ao.LonLat,scale(t){return 2**t},zoom(t){return Math.log(t)/.6931471805599453},distance(t,e){const i=e.lng-t.lng,n=e.lat-t.lat;return Math.sqrt(i*i+n*n)},transformation:new Ge(Er,Mr,-Sr,kr),infinite:!0}),Ir=[{name:"Atlas",visible:!0,url:"https://cdn.unlimited.wtf/mapfiles/atlas_cayo/{z}/{x}/{y}.png",color:"#006bcd",options:{minZoom:0,maxZoom:7,bounds:W([A(10200,8500),A(-6500,-5900)])}}],Br=[{name:"Postal",visible:!1,url:"https://cdn.unlimited.wtf/mapfiles/postal_01/{z}/{x}/{y}.png",options:{minZoom:0,maxZoom:7,bounds:W([A(10200,8500),A(-6500,-5900)])}}],Ft=Bo();function Vi(t){t===void 0&&(t=Ft.value.comp.returnValue()),Ft.value.resolve(t),Ft.value=null}function Zr(t,e,i="default"){return new Promise(n=>{Ft.value={dialog:t,props:e,wrapper:i,resolve:n}})}const Rr=Zo({name:"DialogWrapper",components:{},props:{name:{type:String,default:"default"},transitionAttrs:Object},setup(){const t=Mt();return ai(t,()=>{Ft.value&&(Ft.value.comp=t.value)}),{dialogRef:Ft,dialogInstance:t}}});function Dr(t,e,i,n,o,s){return b(),B(No,hn(un(t.transitionAttrs)),{default:f(()=>[t.dialogRef&&t.dialogRef.wrapper===t.name?(b(),B(Ro(t.dialogRef.dialog),Do({key:0},t.dialogRef.props,{ref:"dialogInstance"}),null,16)):rt("",!0)]),_:1},16)}const Nr=ee(Rr,[["render",Dr]]);var Co={exports:{}};(function(t,e){(function(i,n){t.exports=n()})(Ko,function(){var i="__v-click-outside",n=typeof window<"u",o=typeof navigator<"u",s=n&&("ontouchstart"in window||o&&navigator.msMaxTouchPoints>0)?["touchstart"]:["click"],r=function(u){var d=u.event,c=u.handler;(0,u.middleware)(d)&&c(d)},a=function(u,d){var c=function(I){var G=typeof I=="function";if(!G&&typeof I!="object")throw new Error("v-click-outside: Binding value must be a function or an object");return{handler:G?I:I.handler,middleware:I.middleware||function(H){return H},events:I.events||s,isActive:I.isActive!==!1,detectIframe:I.detectIframe!==!1,capture:Boolean(I.capture)}}(d.value),p=c.handler,k=c.middleware,Y=c.detectIframe,F=c.capture;if(c.isActive){if(u[i]=c.events.map(function(I){return{event:I,srcTarget:document.documentElement,handler:function(G){return function(H){var et=H.el,m=H.event,E=H.handler,T=H.middleware,St=m.path||m.composedPath&&m.composedPath();(St?St.indexOf(et)<0:!et.contains(m.target))&&r({event:m,handler:E,middleware:T})}({el:u,event:G,handler:p,middleware:k})},capture:F}}),Y){var ut={event:"blur",srcTarget:window,handler:function(I){return function(G){var H=G.el,et=G.event,m=G.handler,E=G.middleware;setTimeout(function(){var T=document.activeElement;T&&T.tagName==="IFRAME"&&!H.contains(T)&&r({event:et,handler:m,middleware:E})},0)}({el:u,event:I,handler:p,middleware:k})},capture:F};u[i]=[].concat(u[i],[ut])}u[i].forEach(function(I){var G=I.event,H=I.srcTarget,et=I.handler;return setTimeout(function(){u[i]&&H.addEventListener(G,et,F)},0)})}},l=function(u){(u[i]||[]).forEach(function(d){return d.srcTarget.removeEventListener(d.event,d.handler,d.capture)}),delete u[i]},h=n?{beforeMount:a,updated:function(u,d){var c=d.value,p=d.oldValue;JSON.stringify(c)!==JSON.stringify(p)&&(l(u),a(u,{value:c}))},unmounted:l}:{};return{install:function(u){u.directive("click-outside",h)},directive:h}})})(Co);const qi=Co.exports;const Hr={name:"MapPlayerContextMenu",directives:{clickOutside:qi.directive},props:{player:{type:Object},evt:{Object}},data(){return{RESOURCE:Zt,ACTION:Rt,left:0,top:0}},computed:{style(){return{top:this.top+"px",left:this.left+"px"}}},methods:{can:ve,closeDialog:Vi,tryPlayerKick(){this.closeDialog(null),this.$q.dialog({component:qo,componentProps:{title:this.$i18n.t("general.kickHeader"),message:this.$i18n.t("general.kickMsg",{name:this.player.name})},cancel:!0,persistent:!0}).onOk(t=>{this.$axios.post("/api/players/kick",{source:this.player.source,reason:t.input}).then(e=>{if(!e.data.resCode){this.$q.notify({message:"Error",position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.player.msg.error.notOnline")});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.kickSuccess")})})})},tryPlayerBan(){this.closeDialog(null),this.$q.dialog({component:Go,componentProps:{title:this.$i18n.t("general.banHeader"),message:this.$i18n.t("general.banMsg",{name:this.player.name})},cancel:!0,persistent:!0}).onOk(t=>{this.$axios.post("/api/players/ban",{citizenid:this.player.citizenid,reason:t.input,time:t.time,hwid:t.hwid}).then(e=>{if(!e.data.resCode){this.$q.notify({message:"Error",position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.player.msg.error.notOnline")});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.banSuccess")})})})},onClickOutside(){this.closeDialog(null)}},created(){this.left=this.evt.pageX||this.evt.clientX,this.top=this.evt.pageY||this.evt.clientY,this.$nextTick(()=>this.$el.focus())}};function Wr(t,e,i,n,o,s){const r=yi("click-outside");return it((b(),B(ot,{class:"context-menu",style:Ue([{background:"var(--q-dark)"},s.style])},{default:f(()=>[v(ce,{separator:""},{default:f(()=>[v(X,{class:"text-main bg-primary",style:{"min-height":"0"}},{default:f(()=>[Q(j(i.player.name),1)]),_:1}),s.can(o.ACTION.GAME.PLAYER.READ,o.RESOURCE.GAME)?it((b(),B(X,{key:0,clickable:"",class:"q-pa-sm",style:{"min-height":"0"},to:{name:"game-player-detail",params:{citizenid:i.player.citizenid}},onClick:e[0]||(e[0]=a=>s.closeDialog(null))},{default:f(()=>[Q(j(t.$t("components.liveMap.viewPlayerTab")),1)]),_:1},8,["to"])),[[Ct]]):rt("",!0),s.can(o.ACTION.GAME.PLAYER.KICK,o.RESOURCE.GAME)?it((b(),B(X,{key:1,clickable:"",class:"q-pa-sm",style:{"min-height":"0"},onClick:s.tryPlayerKick},{default:f(()=>[Q(j(t.$t("general.kick")),1)]),_:1},8,["onClick"])),[[Ct]]):rt("",!0),s.can(o.ACTION.GAME.PLAYER.BAN,o.RESOURCE.GAME)?it((b(),B(X,{key:2,clickable:"",class:"q-pa-sm",style:{"min-height":"0"},onClick:s.tryPlayerBan},{default:f(()=>[Q(j(t.$t("general.ban")),1)]),_:1},8,["onClick"])),[[Ct]]):rt("",!0)]),_:1})]),_:1},8,["style"])),[[r,s.onClickOutside]])}const Ur=ee(Hr,[["render",Wr],["__scopeId","data-v-6c2f6e78"]]);const Fr={name:"MapVehicleContextMenu",directives:{clickOutside:qi.directive},props:{vehicle:{type:Object},evt:{Object}},data(){return{RESOURCE:Zt,ACTION:Rt,left:0,top:0}},computed:{style(){return{top:this.top+"px",left:this.left+"px"}}},methods:{can:ve,closeDialog:Vi,onClickOutside(){this.closeDialog(null)}},created(){this.left=this.evt.pageX||this.evt.clientX,this.top=this.evt.pageY||this.evt.clientY,this.$nextTick(()=>this.$el.focus())}};function Vr(t,e,i,n,o,s){const r=yi("click-outside");return it((b(),B(ot,{class:"context-menu",style:Ue([{background:"var(--q-dark)"},s.style])},{default:f(()=>[v(ce,{separator:""},{default:f(()=>[v(X,{class:"text-main bg-primary",style:{"min-height":"0"}},{default:f(()=>[Q(j(i.vehicle.plate),1)]),_:1}),s.can(o.ACTION.GAME.VEHICLE.READ,o.RESOURCE.GAME)?it((b(),B(X,{key:0,clickable:"",class:"q-pa-sm",style:{"min-height":"0"},to:{name:"game-vehicle-detail",params:{vehicleId:i.vehicle.id}},onClick:e[0]||(e[0]=a=>s.closeDialog(null))},{default:f(()=>[Q(j(t.$t("components.liveMap.viewVehicleTab")),1)]),_:1},8,["to"])),[[Ct]]):rt("",!0)]),_:1})]),_:1},8,["style"])),[[r,s.onClickOutside]])}const qr=ee(Fr,[["render",Vr],["__scopeId","data-v-70425ce6"]]),Gr={name:"MapPlayerTeleportModal",props:{coords:{type:Object},players:{type:Array}},data(){return{RESOURCE:Zt,ACTION:Rt,selectedPlayer:null,curCoords:null}},emits:["ok","hide"],methods:{can:ve,show(){this.$refs.dialog.show()},hide(){this.$refs.dialog.hide()},onDialogHide(){this.$emit("hide")},onOKClick(){this.$axios.post("/api/players/teleport",{citizenid:this.selectedPlayer.citizenid,coords:this.curCoords}).then(t=>{if(!t.data.resCode){this.$q.notify({message:"Error",position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.player.msg.error.notOnline")});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.teleported")})}).finally(()=>{this.hide()})},onCancelClick(){this.hide()},openWaypointsModal(){this.$q.dialog({component:jo,componentProps:{title:this.$i18n.t("components.waypoint.modalHeader")},cancel:!0,persistent:!0}).onOk(t=>{t.coords&&(this.curCoords=t.coords)})}},created(){this.curCoords=this.coords}},jr={class:"text-body2"},Kr={class:"text-main"};function Yr(t,e,i,n,o,s){return b(),B(Fo,{ref:"dialog",onHide:s.onDialogHide},{default:f(()=>[v(ot,{class:"q-dialog-plugin bg-secondary text-main"},{default:f(()=>[v(ae,{class:"row"},{default:f(()=>[dt("div",jr,j(t.$t("components.liveMap.teleportPlayerHeader")),1),v(Ho,{class:"q-ml-auto cursor-pointer",name:"close",onClick:li(s.hide,["stop"])},null,8,["onClick"])]),_:1}),v(ae,{class:"row justify-center"},{default:f(()=>[v(oi,{dense:"","label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:o.curCoords.x,"onUpdate:modelValue":e[0]||(e[0]=r=>o.curCoords.x=r),label:"x",disable:"",class:"col-12 q-ma-xs"},null,8,["input-style","modelValue"]),v(oi,{dense:"","label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:o.curCoords.y,"onUpdate:modelValue":e[1]||(e[1]=r=>o.curCoords.y=r),label:"y",disable:"",class:"col-12 q-ma-xs"},null,8,["input-style","modelValue"]),v(oi,{dense:"","label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:o.curCoords.z,"onUpdate:modelValue":e[2]||(e[2]=r=>o.curCoords.z=r),label:"z",disable:"",class:"col-12 q-ma-xs"},null,8,["input-style","modelValue"]),s.can(o.ACTION.GAME.WAYPOINT.READ,o.RESOURCE.GAME)?(b(),B(Ie,{key:0,"text-color":"main",color:"primary",label:t.$t("components.liveMap.btn.loadFromWaypoint"),icon:"push_pin",class:"q-ma-xs",size:"sm",onClick:s.openWaypointsModal},null,8,["label","onClick"])):rt("",!0)]),_:1}),v(Wo),v(ae,null,{default:f(()=>[v(Yo,{label:t.$t("components.liveMap.labels.selectedPlayer"),color:"primary","label-color":"primary",modelValue:o.selectedPlayer,"onUpdate:modelValue":e[3]||(e[3]=r=>o.selectedPlayer=r),options:i.players,"popup-content-style":{backgroundColor:"var(--q-secondary)"}},{selected:f(()=>[dt("div",Kr,j(o.selectedPlayer?`${o.selectedPlayer.name}`:""),1)]),option:f(r=>[v(X,hn(un(r.itemProps)),{default:f(()=>[v(ri,null,{default:f(()=>[v(se,{class:"text-main"},{default:f(()=>[Q(j(r.opt.name),1)]),_:2},1024)]),_:2},1024)]),_:2},1040)]),_:1},8,["label","modelValue","options","popup-content-style"])]),_:1}),v(Uo,{align:"center"},{default:f(()=>[v(Ie,{"text-color":"main",color:"primary",label:t.$t("general.teleport"),disable:!o.selectedPlayer,onClick:s.onOKClick},null,8,["label","disable","onClick"])]),_:1})]),_:1})]),_:1},8,["onHide"])}const Xr=ee(Gr,[["render",Yr]]);function Qr(t){const e=document.createElement("textarea");e.value=t,e.contentEditable="true",e.style.position="fixed",document.body.appendChild(e),e.focus(),e.select();const i=document.execCommand("copy");return e.remove(),i}function Jr(t){return navigator.clipboard!==void 0?navigator.clipboard.writeText(t):new Promise((e,i)=>{const n=Qr(t);n?e(!0):i(n)})}const $r={name:"MapGeneralContextMenu",directives:{clickOutside:qi.directive},props:{coords:{type:Object},players:{type:Array},evt:{Object}},data(){return{RESOURCE:Zt,ACTION:Rt,left:0,top:0}},computed:{style(){return{top:this.top+"px",left:this.left+"px"}}},methods:{can:ve,closeDialog:Vi,onClickOutside(){this.closeDialog(null)},openTeleportHere(){if(this.closeDialog(null),this.players.length===0){this.$q.notify({message:"Error",position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.liveMap.msg.error.noPlayersOnline")});return}this.$q.dialog({component:Xr,componentProps:{players:this.players,coords:this.coords},cancel:!0,persistent:!0})},createWaypoint(){this.closeDialog(null),this.$router.push({name:"game-waypoint-create",query:{coords:new URLSearchParams(this.coords).toString()}})},copyCoordsToClipboard(){Jr(Object.entries({x:this.coords.x,y:this.coords.y}).map(([t,e])=>`${t}: ${e}`).join(", ")).then(()=>{this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("components.liveMap.msg.success.coordsCopied")})}).catch(()=>{this.$q.notify({message:"Error",position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.liveMap.msg.error.errorCopyCoords")})}).finally(()=>this.closeDialog(null))}},created(){this.left=this.evt.pageX||this.evt.clientX,this.top=this.evt.pageY||this.evt.clientY,this.$nextTick(()=>this.$el.focus())}};function ta(t,e,i,n,o,s){const r=yi("click-outside");return it((b(),B(ot,{class:"context-menu",style:Ue([{background:"var(--q-dark)"},s.style])},{default:f(()=>[v(ce,{separator:""},{default:f(()=>[v(X,{class:"text-main bg-primary",style:{"min-height":"0"}},{default:f(()=>[Q(j(t.$t("components.liveMap.generalContextMenuHeader")),1)]),_:1}),it((b(),B(X,{clickable:"",class:"q-pa-sm",onClick:s.copyCoordsToClipboard},{default:f(()=>[Q(j(t.$t("components.liveMap.copyCoordsToClipboard")),1)]),_:1},8,["onClick"])),[[Ct]]),s.can(o.ACTION.GAME.PLAYER.POSITION,o.RESOURCE.GAME)?it((b(),B(X,{key:0,clickable:"",class:"q-pa-sm",onClick:s.openTeleportHere},{default:f(()=>[Q(j(t.$t("components.liveMap.teleportTo")),1)]),_:1},8,["onClick"])),[[Ct]]):rt("",!0),s.can(o.ACTION.GAME.WAYPOINT.MODIFY,o.RESOURCE.GAME)?it((b(),B(X,{key:1,clickable:"",class:"q-pa-sm",style:{"min-height":"0"},onClick:s.createWaypoint},{default:f(()=>[Q(j(t.$t("components.liveMap.createWaypoint")),1)]),_:1},8,["onClick"])),[[Ct]]):rt("",!0)]),_:1})]),_:1},8,["style"])),[[r,s.onClickOutside]])}const ea=ee($r,[["render",ta],["__scopeId","data-v-a7a21af4"]]);const ia={name:"LiveMap",components:{LMap:pn,LTileLayer:yn,LMarker:vn,LIcon:mn,LControl:_n,DialogWrapper:Nr},data(){return{RESOURCE:Zt,ACTION:Rt,activeMarker:null,playerListToggle:!0,playerList:[],vehicleList:[],crs:Or,maxBounds:zr,zoom:2,center:[0,0],tiles:Ir,overlays:Br,activeTile:"Atlas",tileColors:[{name:"Atlas",color:"#006bcd"}],markerGroups:{vehicles:{action:Rt.GAME.LIVEMAP.VEHICLE,resource:Zt.GAME,active:!0,label:"vehicles",icon:"vehicle",markers:[]},players:{action:Rt.GAME.LIVEMAP.PLAYER,resource:Zt.GAME,active:!0,label:"players",icon:"player",markers:[]}},iconSize:18}},computed:{getActiveTileColor(){return this.tileColors.filter(t=>t.name===this.activeTile)[0].color},activeMarkers(){return Object.values(this.markerGroups).filter(t=>t.active===!0)},dynamicSize(){return[this.iconSize,this.iconSize]},dynamicAnchor(){return[this.iconSize/2,this.iconSize]}},methods:{can:ve,openDialog:Zr,openContext(t,e){e.player?this.openPlayerContextMenu(t,e.player):e.vehicle&&this.openVehicleContextMenu(t,e.vehicle)},async openPlayerContextMenu(t,e){!e||await this.openDialog(Ur,{evt:t,player:e})},async openVehicleContextMenu(t,e){!e||await this.openDialog(qr,{evt:t,vehicle:e})},zoomUpdated(t){this.zoom=t},updateLiveMap(t){this.playerList=t.players,this.vehicleList=t.vehicles;let e=!1,i=[];t.players.forEach(o=>{var s;((s=this.activeMarker)==null?void 0:s.name)===o.name&&(e=!0,this.activeMarker=o),i.push({pos:[o.coords.y,o.coords.x],player:o})});let n=[];t.vehicles.forEach(o=>{var s;((s=this.activeMarker)==null?void 0:s.plate)===o.plate&&(e=!0,this.activeMarker=o),n.push({pos:[o.coords.y,o.coords.x],vehicle:o})}),e||(this.activeMarker=null),this.activeMarker&&this.$refs.map.leafletObject.setView([this.activeMarker.coords.y,this.activeMarker.coords.x]),this.markerGroups.players.markers=i,this.markerGroups.vehicles.markers=n},dynamicIcon(t){return new URL(Object.assign({"../../../@core/assets/markers/circle.png":Xo,"../../../@core/assets/markers/player.png":Qo,"../../../@core/assets/markers/vehicle.png":Jo})[`../../../@core/assets/markers/${t}.png`],self.location).href},isZoomButtonDisabled(t){return this.zoom===t},updateZoom(t){this.$refs.map.leafletObject.setZoom(this.$refs.map.leafletObject.getZoom()+t)},focusMarker(t){if(this.activeMarker&&this.activeMarker===t){this.activeMarker=null;return}this.activeMarker=t,this.$refs.map.leafletObject.flyTo([t.coords.y,t.coords.x],7)},async rightClickMap(t){if(!t.latlng)return;const[e,i]=[t.latlng.lng,t.latlng.lat];await this.openDialog(ea,{evt:t.originalEvent,players:this.playerList,coords:{x:e,y:i,z:0}})}},mounted(){this.sockets.subscribe("livemap::update",this.updateLiveMap),this.$socket.emit("room::join","livemap")},beforeUnmount(){this.activeMarker=null,this.sockets.unsubscribe("dashboard::update"),this.$socket.emit("room::leave","livemap")}},na={class:"row q-pa-sm"},oa={class:"row"},sa={class:"col-12"},ra={class:"text-subtitle2 full-width text-center"},aa={class:"row"},la={class:"col-12"},ha={class:"text-subtitle2 full-width text-center"},ua={class:"row"},ca={class:"col-12"},da={class:"text-main row column q-pa-xs",style:{"font-size":"2.3em"}};function fa(t,e,i,n,o,s){const r=jt("DialogWrapper"),a=jt("l-tile-layer"),l=jt("l-control"),h=jt("l-icon"),u=jt("l-marker"),d=jt("l-map");return b(),ct("div",na,[v(zo,null,{default:f(()=>[v(r,{"transition-attrs":{name:"dialog"}})]),_:1}),s.can(o.ACTION.GAME.LIVEMAP.PLAYER,o.RESOURCE.GAME)?(b(),B(ot,{key:0,class:"bg-secondary full-width q-mb-md"},{default:f(()=>[dt("div",oa,[dt("div",sa,[v(ce,null,{default:f(()=>[v(Yi,{"expand-separator":"",icon:"groups",label:t.$t("breadcrumb.players")},{default:f(()=>[v(ot,{class:"bg-secondary"},{default:f(()=>[v(ae,{class:"row"},{default:f(()=>[o.playerList.length===0?(b(),B(X,{key:0,class:"col-12"},{default:f(()=>[dt("div",ra,j(t.$t("components.liveMap.noOnlinePlayers")),1)]),_:1})):rt("",!0),(b(!0),ct(bt,null,zt(o.playerList,c=>{var p;return it((b(),B(X,{class:"rounded-borders q-ma-xs",style:{background:"var(--q-dark)"},key:`players${c.name}`,clickable:"",onClick:k=>s.focusMarker(c),active:((p=o.activeMarker)==null?void 0:p.name)===c.name,onContextmenu:li(k=>s.openPlayerContextMenu(k,c),["prevent"])},{default:f(()=>[v(ri,null,{default:f(()=>[v(se,{class:"text-primary"},{default:f(()=>[Q(j(c.name),1)]),_:2},1024),v(se,{caption:"",class:"text-sub"},{default:f(()=>[Q("ID: "+j(c.source),1)]),_:2},1024)]),_:2},1024)]),_:2},1032,["onClick","active","onContextmenu"])),[[Ct]])}),128))]),_:1})]),_:1})]),_:1},8,["label"])]),_:1})])])]),_:1})):rt("",!0),s.can(o.ACTION.GAME.LIVEMAP.VEHICLE,o.RESOURCE.GAME)?(b(),B(ot,{key:1,class:"bg-secondary full-width q-mb-md"},{default:f(()=>[dt("div",aa,[dt("div",la,[v(ce,null,{default:f(()=>[v(Yi,{"expand-separator":"",icon:"time_to_leave",label:t.$t("breadcrumb.vehicles")},{default:f(()=>[v(ot,{class:"bg-secondary"},{default:f(()=>[v(ae,{class:"row"},{default:f(()=>[o.vehicleList.length===0?(b(),B(X,{key:0,class:"col-12"},{default:f(()=>[dt("div",ha,j(t.$t("components.liveMap.noSpawnedVehicles")),1)]),_:1})):rt("",!0),(b(!0),ct(bt,null,zt(o.vehicleList,c=>{var p;return it((b(),B(X,{class:"rounded-borders q-ma-xs",style:{background:"var(--q-dark)"},key:`vehicle${c.plate}`,clickable:"",onClick:k=>s.focusMarker(c),active:((p=o.activeMarker)==null?void 0:p.plate)===c.plate,onContextmenu:li(k=>s.openVehicleContextMenu(k,c),["prevent"])},{default:f(()=>[v(ri,null,{default:f(()=>[v(se,{class:"text-primary"},{default:f(()=>[Q(j(c.plate),1)]),_:2},1024),v(se,{caption:"",class:"text-sub"},{default:f(()=>[Q(j(c.vehicle),1)]),_:2},1024)]),_:2},1024)]),_:2},1032,["onClick","active","onContextmenu"])),[[Ct]])}),128))]),_:1})]),_:1})]),_:1},8,["label"])]),_:1})])])]),_:1})):rt("",!0),v(ot,{class:"bg-secondary full-width"},{default:f(()=>[dt("div",ua,[dt("div",ca,[v(d,{ref:"map",zoom:o.zoom,center:o.center,style:Ue([{background:s.getActiveTileColor},{height:"75vh"}]),crs:o.crs,options:{zoomControl:!1},"onUpdate:zoom":s.zoomUpdated,onContextmenu:s.rightClickMap},{default:f(()=>[(b(!0),ct(bt,null,zt(o.tiles,c=>(b(),B(a,{key:c.name,name:c.name,url:c.url,visible:c.visible,attribution:"GTAV Map","layer-type":"base","min-zoom":c.options.minZoom,"max-zoom":c.options.maxZoom,"no-wrap":!0,options:c.options},null,8,["name","url","visible","min-zoom","max-zoom","options"]))),128)),(b(!0),ct(bt,null,zt(o.overlays,c=>(b(),B(a,{key:c.name,name:c.name,url:c.url,visible:c.visible,"layer-type":"base","min-zoom":c.options.minZoom,"max-zoom":c.options.maxZoom,"no-wrap":!0,options:c.options},null,8,["name","url","visible","min-zoom","max-zoom","options"]))),128)),v(l,{position:"topright"},{default:f(()=>[v(ot,{class:"bg-secondary q-pr-md"},{default:f(()=>[(b(!0),ct(bt,null,zt(o.overlays,c=>(b(),B(Ki,{key:c.name,modelValue:c.visible,"onUpdate:modelValue":p=>c.visible=p,label:c.name},null,8,["modelValue","onUpdate:modelValue","label"]))),128))]),_:1})]),_:1}),v(l,{position:"topright"},{default:f(()=>[v(ot,{class:"bg-secondary q-pr-md"},{default:f(()=>[(b(!0),ct(bt,null,zt(o.markerGroups,c=>it((b(),ct("div",{key:c.label,class:"col-12 col-md-2"},[v(Ki,{modelValue:c.active,"onUpdate:modelValue":p=>c.active=p,label:t.$t(`components.liveMap.markers.${c.label}`)},null,8,["modelValue","onUpdate:modelValue","label"])],512)),[[Vo,s.can(c.action,c.resource)]])),128))]),_:1})]),_:1}),v(l,{position:"topleft"},{default:f(()=>[v(ot,{class:"bg-secondary"},{default:f(()=>[dt("div",da,[v(Ie,{"text-color":"main",padding:"none",flat:"",icon:"add",onClick:e[0]||(e[0]=c=>s.updateZoom(1)),disable:s.isZoomButtonDisabled(7)},null,8,["disable"]),v(Ie,{"text-color":"main",padding:"none",flat:"",class:"q-mt-xs",icon:"remove",disable:s.isZoomButtonDisabled(1),onClick:e[1]||(e[1]=c=>s.updateZoom(-1))},null,8,["disable"])])]),_:1})]),_:1}),(b(!0),ct(bt,null,zt(s.activeMarkers,c=>(b(),ct(bt,null,[(b(!0),ct(bt,null,zt(c.markers,(p,k)=>(b(),B(u,{"lat-lng":p.pos,key:`${c}-${k}`,onContextmenu:Y=>s.openContext(Y.originalEvent,p)},{default:f(()=>[v(h,{"icon-size":s.dynamicSize,"icon-anchor":s.dynamicAnchor,"icon-url":s.dynamicIcon(c.icon)},null,8,["icon-size","icon-anchor","icon-url"])]),_:2},1032,["lat-lng","onContextmenu"]))),128))],64))),256))]),_:1},8,["zoom","center","style","crs","onUpdate:zoom","onContextmenu"])])])]),_:1})])}const Ma=ee(ia,[["render",fa]]);export{Ma as default}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/LiveMap.959a946d.css b/resources/[tools]/unlimited-spectre/html/assets/LiveMap.959a946d.css deleted file mode 100644 index 8ac59ee7d..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/LiveMap.959a946d.css +++ /dev/null @@ -1 +0,0 @@ -.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:rgba(255,255,255,.5)}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:rgba(255,255,255,.8);margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;overflow:hidden;-moz-box-sizing:border-box;box-sizing:border-box;background:#fff;background:rgba(255,255,255,.5)}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:white;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.context-menu[data-v-6c2f6e78],.context-menu[data-v-70425ce6],.context-menu[data-v-a7a21af4]{position:absolute;z-index:999;overflow:hidden}.leaflet-control-attribution{color:var(--q-main);background:transparent!important} diff --git a/resources/[tools]/unlimited-spectre/html/assets/Login.713e3e08.js b/resources/[tools]/unlimited-spectre/html/assets/Login.713e3e08.js deleted file mode 100644 index a91726779..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/Login.713e3e08.js +++ /dev/null @@ -1 +0,0 @@ -import{Q as f}from"./QImg.91aecb73.js";import{bL as h,bM as _,_ as w,ad as y,ae as v,o as b,X as x,a as s,w as i,a6 as U,a5 as d,a7 as a,U as m,a9 as p,aU as C,a8 as L,S as u,aE as A,aa as E,ab as g}from"./app-014d9ed9.js";import{l as S}from"./index.7435630d.js";import"./externalHosting.js";import"./_commonjsHelpers.c10bf6cb.js";function q(t,e){return{jwt:new h(t,e)}}const{jwt:P}=q(_,{}),k=""+new URL("fivem.53119c65.svg",import.meta.url).href,Q={name:"Login",data(){return{password:"",username:"",isPwd:!0,loading:!1}},computed:{logoUrl(){return new URL(""+new URL("logo.be249712.png",import.meta.url).href,self.location).href}},methods:{...y(v,["UPDATE_ACCESS_TOKEN","UPDATE_USER_DATA"]),tryProviderLogin(t){this.$axios.post(`/auth/${t}`).then(e=>{const l=e.data.resCode,c=e.data.resMsg;if(!l){this.$q.notify({message:this.$t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$t(`components.login.msg.error.${c}`)});return}window.location=c}).catch(e=>{console.error(e)})},tryLogin(){const t=S.stringify({username:this.username,password:this.password});this.loading=!0,P.login(t).then(e=>{this.loading=!1,e.data.status===200?(this.UPDATE_ACCESS_TOKEN(e.data.accessToken),this.UPDATE_USER_DATA(e.data.userData),this.$socket.connect(),this.$router.push({path:"/"})):this.$q.notify({message:e.data.error.title,position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:e.data.error.msg})}).catch(()=>{this.loading=!1,this.$q.notify({message:this.$t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$t("general.cantReach")})})}}},T={class:"row flex-center justify-center",style:{height:"100vh"}},$={class:"q-pa-md"},D=a("div",{class:"text-h6 q-mt-lg"},"Login",-1),V={class:"text-caption text-sub"},R={class:"row"},K={class:"col-12"},j={class:"row"},B={class:"col-12"},I={class:"text-center"},M=a("img",{src:k},null,-1);function N(t,e,l,c,o,r){return b(),x("div",T,[s(U,{class:"bg-secondary q-pa-sm",style:{"max-width":"340px"}},{default:i(()=>[s(d,null,{default:i(()=>[a("div",$,[s(f,{src:r.logoUrl,fit:"fill"},null,8,["src"])]),D,a("div",V,m(t.$t("components.login.subtext")),1)]),_:1}),s(d,null,{default:i(()=>[a("div",R,[a("div",K,[s(p,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:o.username,"onUpdate:modelValue":e[0]||(e[0]=n=>o.username=n),label:t.$t("general.username"),"lazy-rules":""},null,8,["input-style","modelValue","label"])])]),a("div",j,[a("div",B,[s(p,{class:"q-mt-sm","label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:o.password,"onUpdate:modelValue":e[2]||(e[2]=n=>o.password=n),type:o.isPwd?"password":"text",label:t.$t("general.password"),"lazy-rules":"",onKeydown:C(L(r.tryLogin,["prevent"]),["enter"])},{append:i(()=>[s(u,{name:o.isPwd?"visibility_off":"visibility",class:"cursor-pointer text-primary",onClick:e[1]||(e[1]=n=>o.isPwd=!o.isPwd)},null,8,["name"])]),_:1},8,["input-style","modelValue","type","label","onKeydown"])])])]),_:1}),s(A,{inset:""}),s(E,{vertical:""},{default:i(()=>[s(g,{"text-color":"main",loading:o.loading,color:"primary",onClick:r.tryLogin,label:"Login",class:"q-ma-sm"},null,8,["loading","onClick"]),a("div",I,m(t.$t("general.or")),1),s(g,{"text-color":"main",onClick:e[3]||(e[3]=n=>r.tryProviderLogin("citizenfx")),style:{background:"#3e4450"},class:"q-ma-sm"},{default:i(()=>[s(u,null,{default:i(()=>[M]),_:1})]),_:1})]),_:1})]),_:1})])}const G=w(Q,[["render",N]]);export{G as default}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/Logs.1df946c2.js b/resources/[tools]/unlimited-spectre/html/assets/Logs.1df946c2.js deleted file mode 100644 index 99ad1b551..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/Logs.1df946c2.js +++ /dev/null @@ -1 +0,0 @@ -import{a as _,Q as y,b as w,c as L}from"./QTabPanels.e712c208.js";import{_ as k,P as g,R as f,o as r,X as c,a as m,w as d,a6 as x,a7 as u,Y as h,Z as p,c as b,aT as S,U as T,a9 as V}from"./app-014d9ed9.js";import{d as A}from"./utils.9ce591f3.js";import"./QResizeObserver.2503502b.js";import"./rtl.b51694b1.js";import"./use-panel.c35d3e1e.js";import"./touch.70a9dd44.js";import"./selection.2a17b691.js";import"./externalHosting.js";const E={name:"Logs",data(){return{ACTION:g,RESOURCE:f,threshold:0,isAtTop:!1,autoScroll:!0,searchText:"",activeTab:"unlimited",logTabs:[{name:"unlimited",icon:"all_inclusive",label:"Unlimited",perm:"READ"},{name:"game",icon:"sports_esports",label:"Game",perm:"GAME"},{name:"player",icon:"sports_martial_arts",label:"Player",perm:"PLAYER"},{name:"dev",icon:"code",label:"Dev",perm:"DEV"},{name:"web",icon:"language",label:"Web",perm:"WEB"}],logData:{unlimited:[],game:[],player:[],dev:[],web:[]}}},watch:{isAtTop(e){e&&this.fetchLogs(this.activeTab)},activeTab(e,t){this.handleSocketRoom(e,t)}},computed:{filteredLogs(){return this.logData[this.activeTab].filter(e=>e.toLowerCase().includes(this.searchText.toLowerCase()))},allowedLogTabs(){return this.logTabs.filter(e=>this.can(g.GAME.LOGS[e.perm],f.GAME))}},methods:{can:A,handleScroll(e){this.isAtTop=e.target.scrollTop<=this.threshold},async handleSocketRoom(e,t=null){t&&this.$socket.emit("room::leave",`logs-${t}`),this.logData[t]=[],await this.fetchLogs(e);const o=this.$refs[e][0];o.scrollTop=o.scrollHeight,this.$socket.emit("room::join",`logs-${e}`)},async fetchLogs(e){await this.$axios.post("/api/logs",{type:e,fromline:this.logData[e][0]}).then(t=>{const o=t.data.logs;Array.isArray(o)&&o.forEach(s=>this.logData[this.activeTab].unshift(s)),this.$nextTick(async()=>{const s=this.$refs[e][0];if((s==null?void 0:s.scrollHeight)===(s==null?void 0:s.clientHeight)&&o.length===50){if(await this.fetchLogs(this.activeTab),!this.autoScroll)return;s.scrollTop=s.scrollHeight}})})},updateLogs(e){this.logData[e.type].push(e.newLine),this.$nextTick(()=>{if(!this.autoScroll)return;const t=this.$refs[e.type][0];t.scrollTop=t.scrollHeight})}},async mounted(){await this.handleSocketRoom(this.activeTab),this.sockets.subscribe("logs::update",this.updateLogs),this.$socket.emit("room::join",`logs-${this.activeTab}`)},beforeUnmount(){this.sockets.unsubscribe("logs::update"),this.$socket.emit("room::leave",`logs-${this.activeTab}`)}},D={class:"row q-pa-sm"},$={class:"row"},Q={class:"q-mb-sm row items-center"},R={class:"text-caption q-mx-auto text-center text-sub"};function U(e,t,o,s,l,n){return r(),c("div",D,[m(x,{class:"bg-secondary full-width"},{default:d(()=>[u("div",$,[m(_,{modelValue:l.activeTab,"onUpdate:modelValue":t[0]||(t[0]=a=>l.activeTab=a),class:"text-main full-width row justify-center","indicator-color":"primary","active-color":"primary"},{default:d(()=>[(r(!0),c(h,null,p(n.allowedLogTabs,a=>(r(),b(w,{key:a.name,name:a.name,icon:a.icon,label:a.label},null,8,["name","icon","label"]))),128))]),_:1},8,["modelValue"]),m(y,{modelValue:l.activeTab,"onUpdate:modelValue":t[4]||(t[4]=a=>l.activeTab=a),animated:"","transition-prev":"fade","transition-next":"fade",class:"full-width bg-secondary"},{default:d(()=>[(r(!0),c(h,null,p(n.allowedLogTabs,a=>(r(),b(L,{key:a.name+"_panel",name:a.name,class:"overflow-hidden"},{default:d(()=>[u("div",Q,[m(S,{modelValue:l.autoScroll,"onUpdate:modelValue":t[1]||(t[1]=i=>l.autoScroll=i),label:"Auto Scroll"},null,8,["modelValue"]),u("div",R,T(e.$t("components.logs.loadMore")),1)]),u("div",{class:"q-pa-sm log-container",ref_for:!0,ref:a.name,onScroll:t[2]||(t[2]=(...i)=>n.handleScroll&&n.handleScroll(...i))},[(r(!0),c(h,null,p(n.filteredLogs,(i,v)=>(r(),c("code",{style:{display:"block"},key:`${a.name}_${v}`},T(i),1))),128))],544),m(V,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",dense:"",class:"full-width",square:"",modelValue:l.searchText,"onUpdate:modelValue":t[3]||(t[3]=i=>l.searchText=i),label:e.$t("general.search")},null,8,["input-style","modelValue","label"])]),_:2},1032,["name"]))),128))]),_:1},8,["modelValue"])])]),_:1})])}const N=k(E,[["render",U],["__scopeId","data-v-09e4143c"]]);export{N as default}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/Logs.a67be7ae.css b/resources/[tools]/unlimited-spectre/html/assets/Logs.a67be7ae.css deleted file mode 100644 index 5a5dda2ca..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/Logs.a67be7ae.css +++ /dev/null @@ -1 +0,0 @@ -.log-container[data-v-09e4143c]{overflow:auto;background:#3b4253;height:58vh;border-top-right-radius:4px;border-top-left-radius:4px} diff --git a/resources/[tools]/unlimited-spectre/html/assets/NotAuthorized.1eaf7931.js b/resources/[tools]/unlimited-spectre/html/assets/NotAuthorized.1eaf7931.js deleted file mode 100644 index 496373c94..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/NotAuthorized.1eaf7931.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as t}from"./app-014d9ed9.js";import"./externalHosting.js";const o={name:"NotAuthorized"};function r(e,n,s,c,_,a){return null}const u=t(o,[["render",r]]);export{u as default}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/Player.01a99d74.js b/resources/[tools]/unlimited-spectre/html/assets/Player.01a99d74.js deleted file mode 100644 index 633c6ed26..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/Player.01a99d74.js +++ /dev/null @@ -1,12 +0,0 @@ -import{q as D,bq as Ft,br as qa,b as et,b9 as Ea,F as Qt,H as Jt,bs as $a,k as K,d as ce,x as v,ao as Ve,A as tt,h as kt,bt as Sa,bn as Aa,z as gt,ab as M,ax as Oa,bu as Ta,bv as Ra,as as Ha,_ as ue,o as g,c as G,w as h,a as c,a6 as Z,a5 as H,a7 as u,S as Ce,a8 as at,U as p,aP as Be,aQ as Ue,W as te,aa as nt,ac as ot,a9 as U,P as vt,R as bt,X as P,Y as ee,Z as Ge,V as B,aE as ve,L as Ya,aV as Tt,aT as La,T as za,n as Ia,ai as Na,aD as Va,e as Wt,bw as Ba,bx as Ua,aA as Zt,bf as Kt,at as Rt,by as Ga,f as ja,ap as Fa,aJ as Qa,r as Ja,$ as Wa}from"./app-014d9ed9.js";import{Q as Za,a as Ka,b as Xa,c as en}from"./QTabPanels.e712c208.js";import{Q as Xt,a as ea,b as se,u as tn,c as an,d as nn}from"./QTable.d759a99d.js";import{Q as Ee}from"./QMarkupTable.ba6854cc.js";import{p as Y,a as Se,Q as xe,c as je}from"./QItemLabel.b6dd3adb.js";import{Q as Fe,b as Ht,d as on}from"./QSelect.d7ce3d4c.js";import{u as ln}from"./use-panel.c35d3e1e.js";import{Q as sn}from"./QPopupProxy.441c18a6.js";import{d as ta}from"./utils.9ce591f3.js";import{P as rn,W as cn}from"./WaypointsModal.ac8f44d9.js";import{B as Ze}from"./BasicDialog.9dd9de92.js";import{B as Yt}from"./BasicInput.94e22095.js";import{B as un}from"./BasicPrompt.0f8aac67.js";import{Q as dn}from"./QImg.91aecb73.js";import{e as mn}from"./export-file.dc78ba05.js";import{Q as hn}from"./QTooltip.9d840032.js";import"./externalHosting.js";import"./QResizeObserver.2503502b.js";import"./rtl.b51694b1.js";import"./QList.9d5bb77f.js";import"./position-engine.65ebcb34.js";import"./selection.2a17b691.js";import"./touch.70a9dd44.js";const be=[-61,9,38,199,426,686,756,818,1111,1181,1210,1635,2060,2097,2192,2262,2324,2394,2456,3178];function pn(e,t,o){return Object.prototype.toString.call(e)==="[object Date]"&&(o=e.getDate(),t=e.getMonth()+1,e=e.getFullYear()),vn(_t(e,t,o))}function Lt(e,t,o){return na(gn(e,t,o))}function fn(e){return yn(e)===0}function Xe(e,t){return t<=6?31:t<=11||fn(e)?30:29}function yn(e){const t=be.length;let o=be[0],i,a,l,s,m;if(e=be[t-1])throw new Error("Invalid Jalaali year "+e);for(m=1;m=be[o-1])throw new Error("Invalid Jalaali year "+e);for(k=1;k=0){if(l<=185)return a=1+z(l,31),i=ae(l,31)+1,{jy:o,jm:a,jd:i};l-=186}else o-=1,l+=179,s.leap===1&&(l+=1);return a=7+z(l,30),i=ae(l,30)+1,{jy:o,jm:a,jd:i}}function _t(e,t,o){let i=z((e+z(t-8,6)+100100)*1461,4)+z(153*ae(t+9,12)+2,5)+o-34840408;return i=i-z(z(e+100100+z(t-8,6),100)*3,4)+752,i}function na(e){let t=4*e+139361631;t=t+z(z(4*e+183187720,146097)*3,4)*4-3908;const o=z(ae(t,1461),4)*5+308,i=z(ae(o,153),5)+1,a=ae(z(o,153),12)+1;return{gy:z(t,1461)-100100+z(8-a,6),gm:a,gd:i}}function z(e,t){return~~(e/t)}function ae(e,t){return e-~~(e/t)*t}const bn=["gregorian","persian"],Cn={modelValue:{required:!0},mask:{type:String},locale:Object,calendar:{type:String,validator:e=>bn.includes(e),default:"gregorian"},landscape:Boolean,color:String,textColor:String,square:Boolean,flat:Boolean,bordered:Boolean,readonly:Boolean,disable:Boolean},kn=["update:modelValue"];function ye(e){return e.year+"/"+Y(e.month)+"/"+Y(e.day)}function _n(e,t){const o=D(()=>e.disable!==!0&&e.readonly!==!0),i=D(()=>e.editable===!0?0:-1),a=D(()=>{const m=[];return e.color!==void 0&&m.push(`bg-${e.color}`),e.textColor!==void 0&&m.push(`text-${e.textColor}`),m.join(" ")});function l(){return e.locale!==void 0?{...t.lang.date,...e.locale}:t.lang.date}function s(m){const C=new Date,A=m===!0?null:0;if(e.calendar==="persian"){const k=pn(C);return{year:k.jy,month:k.jm,day:k.jd}}return{year:C.getFullYear(),month:C.getMonth()+1,day:C.getDate(),hour:A,minute:A,second:A,millisecond:A}}return{editable:o,tabindex:i,headerClass:a,getLocale:l,getCurrentDate:s}}const oa=864e5,xn=36e5,Ct=6e4,la="YYYY-MM-DDTHH:mm:ss.SSSZ",wn=/\[((?:[^\]\\]|\\]|\\)*)\]|d{1,4}|M{1,4}|m{1,2}|w{1,2}|Qo|Do|D{1,4}|YY(?:YY)?|H{1,2}|h{1,2}|s{1,2}|S{1,3}|Z{1,2}|a{1,2}|[AQExX]/g,Pn=/(\[[^\]]*\])|d{1,4}|M{1,4}|m{1,2}|w{1,2}|Qo|Do|D{1,4}|YY(?:YY)?|H{1,2}|h{1,2}|s{1,2}|S{1,3}|Z{1,2}|a{1,2}|[AQExX]|([.*+:?^,\s${}()|\\]+)/g,ht={};function Mn(e,t){const o="("+t.days.join("|")+")",i=e+o;if(ht[i]!==void 0)return ht[i];const a="("+t.daysShort.join("|")+")",l="("+t.months.join("|")+")",s="("+t.monthsShort.join("|")+")",m={};let C=0;const A=e.replace(Pn,q=>{switch(C++,q){case"YY":return m.YY=C,"(-?\\d{1,2})";case"YYYY":return m.YYYY=C,"(-?\\d{1,4})";case"M":return m.M=C,"(\\d{1,2})";case"MM":return m.M=C,"(\\d{2})";case"MMM":return m.MMM=C,s;case"MMMM":return m.MMMM=C,l;case"D":return m.D=C,"(\\d{1,2})";case"Do":return m.D=C++,"(\\d{1,2}(st|nd|rd|th))";case"DD":return m.D=C,"(\\d{2})";case"H":return m.H=C,"(\\d{1,2})";case"HH":return m.H=C,"(\\d{2})";case"h":return m.h=C,"(\\d{1,2})";case"hh":return m.h=C,"(\\d{2})";case"m":return m.m=C,"(\\d{1,2})";case"mm":return m.m=C,"(\\d{2})";case"s":return m.s=C,"(\\d{1,2})";case"ss":return m.s=C,"(\\d{2})";case"S":return m.S=C,"(\\d{1})";case"SS":return m.S=C,"(\\d{2})";case"SSS":return m.S=C,"(\\d{3})";case"A":return m.A=C,"(AM|PM)";case"a":return m.a=C,"(am|pm)";case"aa":return m.aa=C,"(a\\.m\\.|p\\.m\\.)";case"ddd":return a;case"dddd":return o;case"Q":case"d":case"E":return"(\\d{1})";case"Qo":return"(1st|2nd|3rd|4th)";case"DDD":case"DDDD":return"(\\d{1,3})";case"w":return"(\\d{1,2})";case"ww":return"(\\d{2})";case"Z":return m.Z=C,"(Z|[+-]\\d{2}:\\d{2})";case"ZZ":return m.ZZ=C,"(Z|[+-]\\d{2}\\d{2})";case"X":return m.X=C,"(-?\\d+)";case"x":return m.x=C,"(-?\\d{4,})";default:return C--,q[0]==="["&&(q=q.substring(1,q.length-1)),q.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}}),k={map:m,regex:new RegExp("^"+A)};return ht[i]=k,k}function sa(e,t){return e!==void 0?e:t!==void 0?t.date:qa.date}function zt(e,t=""){const o=e>0?"-":"+",i=Math.abs(e),a=Math.floor(i/60),l=i%60;return o+Y(a)+t+Y(l)}function Dn(e,t,o,i,a){const l={year:null,month:null,day:null,hour:null,minute:null,second:null,millisecond:null,timezoneOffset:null,dateHash:null,timeHash:null};if(a!==void 0&&Object.assign(l,a),e==null||e===""||typeof e!="string")return l;t===void 0&&(t=la);const s=sa(o,Ft.props),m=s.months,C=s.monthsShort,{regex:A,map:k}=Mn(t,s),q=e.match(A);if(q===null)return l;let O="";if(k.X!==void 0||k.x!==void 0){const $=parseInt(q[k.X!==void 0?k.X:k.x],10);if(isNaN($)===!0||$<0)return l;const V=new Date($*(k.X!==void 0?1e3:1));l.year=V.getFullYear(),l.month=V.getMonth()+1,l.day=V.getDate(),l.hour=V.getHours(),l.minute=V.getMinutes(),l.second=V.getSeconds(),l.millisecond=V.getMilliseconds()}else{if(k.YYYY!==void 0)l.year=parseInt(q[k.YYYY],10);else if(k.YY!==void 0){const $=parseInt(q[k.YY],10);l.year=$<0?$:2e3+$}if(k.M!==void 0){if(l.month=parseInt(q[k.M],10),l.month<1||l.month>12)return l}else k.MMM!==void 0?l.month=C.indexOf(q[k.MMM])+1:k.MMMM!==void 0&&(l.month=m.indexOf(q[k.MMMM])+1);if(k.D!==void 0){if(l.day=parseInt(q[k.D],10),l.year===null||l.month===null||l.day<1)return l;const $=i!=="persian"?new Date(l.year,l.month,0).getDate():Xe(l.year,l.month);if(l.day>$)return l}k.H!==void 0?l.hour=parseInt(q[k.H],10)%24:k.h!==void 0&&(l.hour=parseInt(q[k.h],10)%12,(k.A&&q[k.A]==="PM"||k.a&&q[k.a]==="pm"||k.aa&&q[k.aa]==="p.m.")&&(l.hour+=12),l.hour=l.hour%24),k.m!==void 0&&(l.minute=parseInt(q[k.m],10)%60),k.s!==void 0&&(l.second=parseInt(q[k.s],10)%60),k.S!==void 0&&(l.millisecond=parseInt(q[k.S],10)*10**(3-q[k.S].length)),(k.Z!==void 0||k.ZZ!==void 0)&&(O=k.Z!==void 0?q[k.Z].replace(":",""):q[k.ZZ],l.timezoneOffset=(O[0]==="+"?-1:1)*(60*O.slice(1,3)+1*O.slice(3,5)))}return l.dateHash=Y(l.year,6)+"/"+Y(l.month)+"/"+Y(l.day),l.timeHash=Y(l.hour)+":"+Y(l.minute)+":"+Y(l.second)+O,l}function It(e){const t=new Date(e.getFullYear(),e.getMonth(),e.getDate());t.setDate(t.getDate()-(t.getDay()+6)%7+3);const o=new Date(t.getFullYear(),0,4);o.setDate(o.getDate()-(o.getDay()+6)%7+3);const i=t.getTimezoneOffset()-o.getTimezoneOffset();t.setHours(t.getHours()-i);const a=(t-o)/(oa*7);return 1+Math.floor(a)}function ie(e,t,o){const i=new Date(e),a=`set${o===!0?"UTC":""}`;switch(t){case"year":case"years":i[`${a}Month`](0);case"month":case"months":i[`${a}Date`](1);case"day":case"days":case"date":i[`${a}Hours`](0);case"hour":case"hours":i[`${a}Minutes`](0);case"minute":case"minutes":i[`${a}Seconds`](0);case"second":case"seconds":i[`${a}Milliseconds`](0)}return i}function Ke(e,t,o){return(e.getTime()-e.getTimezoneOffset()*Ct-(t.getTime()-t.getTimezoneOffset()*Ct))/o}function ra(e,t,o="days"){const i=new Date(e),a=new Date(t);switch(o){case"years":case"year":return i.getFullYear()-a.getFullYear();case"months":case"month":return(i.getFullYear()-a.getFullYear())*12+i.getMonth()-a.getMonth();case"days":case"day":case"date":return Ke(ie(i,"day"),ie(a,"day"),oa);case"hours":case"hour":return Ke(ie(i,"hour"),ie(a,"hour"),xn);case"minutes":case"minute":return Ke(ie(i,"minute"),ie(a,"minute"),Ct);case"seconds":case"second":return Ke(ie(i,"second"),ie(a,"second"),1e3)}}function Nt(e){return ra(e,ie(e,"year"),"days")+1}function Vt(e){if(e>=11&&e<=13)return`${e}th`;switch(e%10){case 1:return`${e}st`;case 2:return`${e}nd`;case 3:return`${e}rd`}return`${e}th`}const Bt={YY(e,t,o){const i=this.YYYY(e,t,o)%100;return i>=0?Y(i):"-"+Y(Math.abs(i))},YYYY(e,t,o){return o!=null?o:e.getFullYear()},M(e){return e.getMonth()+1},MM(e){return Y(e.getMonth()+1)},MMM(e,t){return t.monthsShort[e.getMonth()]},MMMM(e,t){return t.months[e.getMonth()]},Q(e){return Math.ceil((e.getMonth()+1)/3)},Qo(e){return Vt(this.Q(e))},D(e){return e.getDate()},Do(e){return Vt(e.getDate())},DD(e){return Y(e.getDate())},DDD(e){return Nt(e)},DDDD(e){return Y(Nt(e),3)},d(e){return e.getDay()},dd(e,t){return this.dddd(e,t).slice(0,2)},ddd(e,t){return t.daysShort[e.getDay()]},dddd(e,t){return t.days[e.getDay()]},E(e){return e.getDay()||7},w(e){return It(e)},ww(e){return Y(It(e))},H(e){return e.getHours()},HH(e){return Y(e.getHours())},h(e){const t=e.getHours();return t===0?12:t>12?t%12:t},hh(e){return Y(this.h(e))},m(e){return e.getMinutes()},mm(e){return Y(e.getMinutes())},s(e){return e.getSeconds()},ss(e){return Y(e.getSeconds())},S(e){return Math.floor(e.getMilliseconds()/100)},SS(e){return Y(Math.floor(e.getMilliseconds()/10))},SSS(e){return Y(e.getMilliseconds(),3)},A(e){return this.H(e)<12?"AM":"PM"},a(e){return this.H(e)<12?"am":"pm"},aa(e){return this.H(e)<12?"a.m.":"p.m."},Z(e,t,o,i){const a=i==null?e.getTimezoneOffset():i;return zt(a,":")},ZZ(e,t,o,i){const a=i==null?e.getTimezoneOffset():i;return zt(a)},X(e){return Math.floor(e.getTime()/1e3)},x(e){return e.getTime()}};function qn(e,t,o,i,a){if(e!==0&&!e||e===1/0||e===-1/0)return;const l=new Date(e);if(isNaN(l))return;t===void 0&&(t=la);const s=sa(o,Ft.props);return t.replace(wn,(m,C)=>m in Bt?Bt[m](l,s,i,a):C===void 0?m:C.split("\\]").join("]"))}const _e=20,En=["Calendar","Years","Months"],Ut=e=>En.includes(e),pt=e=>/^-?[\d]+\/[0-1]\d$/.test(e),$e=" \u2014 ";function ge(e){return e.year+"/"+Y(e.month)}const $n=et({name:"QDate",props:{...Cn,...Ea,...Qt,multiple:Boolean,range:Boolean,title:String,subtitle:String,mask:{default:"YYYY/MM/DD"},defaultYearMonth:{type:String,validator:pt},yearsInMonthView:Boolean,events:[Array,Function],eventColor:[String,Function],emitImmediately:Boolean,options:[Array,Function],navigationMinYearMonth:{type:String,validator:pt},navigationMaxYearMonth:{type:String,validator:pt},noUnset:Boolean,firstDayOfWeek:[String,Number],todayBtn:Boolean,minimal:Boolean,defaultView:{type:String,default:"Calendar",validator:Ut}},emits:[...kn,"range-start","range-end","navigation"],setup(e,{slots:t,emit:o}){const{proxy:i}=kt(),{$q:a}=i,l=Jt(e,a),{getCache:s}=ln(),{tabindex:m,headerClass:C,getLocale:A,getCurrentDate:k}=_n(e,a);let q;const O=$a(e),$=Sa(O),V=K(null),J=K(Dt()),L=K(A()),le=D(()=>Dt()),de=D(()=>A()),Q=D(()=>k()),b=K(qt(J.value,L.value)),j=K(e.defaultView),Ae=a.lang.rtl===!0?"right":"left",F=K(Ae.value),Oe=K(Ae.value),Te=b.value.year,we=K(Te-Te%_e-(Te<0?_e:0)),W=K(null),lt=D(()=>{const n=e.landscape===!0?"landscape":"portrait";return`q-date q-date--${n} q-date--${n}-${e.minimal===!0?"minimal":"standard"}`+(l.value===!0?" q-date--dark q-dark":"")+(e.bordered===!0?" q-date--bordered":"")+(e.square===!0?" q-date--square no-border-radius":"")+(e.flat===!0?" q-date--flat no-shadow":"")+(e.disable===!0?" disabled":e.readonly===!0?" q-date--readonly":"")}),re=D(()=>e.color||"primary"),me=D(()=>e.textColor||"white"),Pe=D(()=>e.emitImmediately===!0&&e.multiple!==!0&&e.range!==!0),Re=D(()=>Array.isArray(e.modelValue)===!0?e.modelValue:e.modelValue!==null&&e.modelValue!==void 0?[e.modelValue]:[]),X=D(()=>Re.value.filter(n=>typeof n=="string").map(n=>rt(n,J.value,L.value)).filter(n=>n.dateHash!==null&&n.day!==null&&n.month!==null&&n.year!==null)),he=D(()=>{const n=r=>rt(r,J.value,L.value);return Re.value.filter(r=>Aa(r)===!0&&r.from!==void 0&&r.to!==void 0).map(r=>({from:n(r.from),to:n(r.to)})).filter(r=>r.from.dateHash!==null&&r.to.dateHash!==null&&r.from.dateHashe.calendar!=="persian"?n=>new Date(n.year,n.month-1,n.day):n=>{const r=Lt(n.year,n.month,n.day);return new Date(r.gy,r.gm-1,r.gd)}),He=D(()=>e.calendar==="persian"?ye:(n,r,d)=>qn(new Date(n.year,n.month-1,n.day,n.hour,n.minute,n.second,n.millisecond),r===void 0?J.value:r,d===void 0?L.value:d,n.year,n.timezoneOffset)),pe=D(()=>X.value.length+he.value.reduce((n,r)=>n+1+ra(Me.value(r.to),Me.value(r.from)),0)),Ye=D(()=>{if(e.title!==void 0&&e.title!==null&&e.title.length>0)return e.title;if(W.value!==null){const d=W.value.init,x=Me.value(d);return L.value.daysShort[x.getDay()]+", "+L.value.monthsShort[d.month-1]+" "+d.day+$e+"?"}if(pe.value===0)return $e;if(pe.value>1)return`${pe.value} ${L.value.pluralDay}`;const n=X.value[0],r=Me.value(n);return isNaN(r.valueOf())===!0?$e:L.value.headerTitle!==void 0?L.value.headerTitle(r,n):L.value.daysShort[r.getDay()]+", "+L.value.monthsShort[n.month-1]+" "+n.day}),Le=D(()=>X.value.concat(he.value.map(r=>r.from)).sort((r,d)=>r.year-d.year||r.month-d.month)[0]),ze=D(()=>X.value.concat(he.value.map(r=>r.to)).sort((r,d)=>d.year-r.year||d.month-r.month)[0]),oe=D(()=>{if(e.subtitle!==void 0&&e.subtitle!==null&&e.subtitle.length>0)return e.subtitle;if(pe.value===0)return $e;if(pe.value>1){const n=Le.value,r=ze.value,d=L.value.monthsShort;return d[n.month-1]+(n.year!==r.year?" "+n.year+$e+d[r.month-1]+" ":n.month!==r.month?$e+d[r.month-1]:"")+" "+r.year}return X.value[0].year}),fe=D(()=>{const n=[a.iconSet.datetime.arrowLeft,a.iconSet.datetime.arrowRight];return a.lang.rtl===!0?n.reverse():n}),Qe=D(()=>e.firstDayOfWeek!==void 0?Number(e.firstDayOfWeek):L.value.firstDayOfWeek),f=D(()=>{const n=L.value.daysShort,r=Qe.value;return r>0?n.slice(r,7).concat(n.slice(0,r)):n}),y=D(()=>{const n=b.value;return e.calendar!=="persian"?new Date(n.year,n.month,0).getDate():Xe(n.year,n.month)}),T=D(()=>typeof e.eventColor=="function"?e.eventColor:()=>e.eventColor),S=D(()=>{if(e.navigationMinYearMonth===void 0)return null;const n=e.navigationMinYearMonth.split("/");return{year:parseInt(n[0],10),month:parseInt(n[1],10)}}),I=D(()=>{if(e.navigationMaxYearMonth===void 0)return null;const n=e.navigationMaxYearMonth.split("/");return{year:parseInt(n[0],10),month:parseInt(n[1],10)}}),Ie=D(()=>{const n={month:{prev:!0,next:!0},year:{prev:!0,next:!0}};return S.value!==null&&S.value.year>=b.value.year&&(n.year.prev=!1,S.value.year===b.value.year&&S.value.month>=b.value.month&&(n.month.prev=!1)),I.value!==null&&I.value.year<=b.value.year&&(n.year.next=!1,I.value.year===b.value.year&&I.value.month<=b.value.month&&(n.month.next=!1)),n}),Je=D(()=>{const n={};return X.value.forEach(r=>{const d=ge(r);n[d]===void 0&&(n[d]=[]),n[d].push(r.day)}),n}),wt=D(()=>{const n={};return he.value.forEach(r=>{const d=ge(r.from),x=ge(r.to);if(n[d]===void 0&&(n[d]=[]),n[d].push({from:r.from.day,to:d===x?r.to.day:void 0,range:r}),d12&&(E.year++,E.month=1)}}),n}),Ne=D(()=>{if(W.value===null)return;const{init:n,initHash:r,final:d,finalHash:x}=W.value,[_,R]=r<=x?[n,d]:[d,n],w=ge(_),E=ge(R);if(w!==ne.value&&E!==ne.value)return;const N={};return w===ne.value?(N.from=_.day,N.includeFrom=!0):N.from=1,E===ne.value?(N.to=R.day,N.includeTo=!0):N.to=y.value,N}),ne=D(()=>ge(b.value)),pa=D(()=>{const n={};if(e.options===void 0){for(let d=1;d<=y.value;d++)n[d]=!0;return n}const r=typeof e.options=="function"?e.options:d=>e.options.includes(d);for(let d=1;d<=y.value;d++){const x=ne.value+"/"+Y(d);n[d]=r(x)}return n}),fa=D(()=>{const n={};if(e.events===void 0)for(let r=1;r<=y.value;r++)n[r]=!1;else{const r=typeof e.events=="function"?e.events:d=>e.events.includes(d);for(let d=1;d<=y.value;d++){const x=ne.value+"/"+Y(d);n[d]=r(x)===!0&&T.value(x)}}return n}),ya=D(()=>{let n,r;const{year:d,month:x}=b.value;if(e.calendar!=="persian")n=new Date(d,x-1,1),r=new Date(d,x-1,0).getDate();else{const _=Lt(d,x,1);n=new Date(_.gy,_.gm-1,_.gd);let R=x-1,w=d;R===0&&(R=12,w--),r=Xe(w,R)}return{days:n.getDay()-Qe.value-1,endDay:r}}),Pt=D(()=>{const n=[],{days:r,endDay:d}=ya.value,x=r<0?r+7:r;if(x<6)for(let w=d-x;w<=d;w++)n.push({i:w,fill:!0});const _=n.length;for(let w=1;w<=y.value;w++){const E={i:w,event:fa.value[w],classes:[]};pa.value[w]===!0&&(E.in=!0,E.flat=!0),n.push(E)}if(Je.value[ne.value]!==void 0&&Je.value[ne.value].forEach(w=>{const E=_+w-1;Object.assign(n[E],{selected:!0,unelevated:!0,flat:!1,color:re.value,textColor:me.value})}),wt.value[ne.value]!==void 0&&wt.value[ne.value].forEach(w=>{if(w.from!==void 0){const E=_+w.from-1,N=_+(w.to||y.value)-1;for(let mt=E;mt<=N;mt++)Object.assign(n[mt],{range:w.range,unelevated:!0,color:re.value,textColor:me.value});Object.assign(n[E],{rangeFrom:!0,flat:!1}),w.to!==void 0&&Object.assign(n[N],{rangeTo:!0,flat:!1})}else if(w.to!==void 0){const E=_+w.to-1;for(let N=_;N<=E;N++)Object.assign(n[N],{range:w.range,unelevated:!0,color:re.value,textColor:me.value});Object.assign(n[E],{flat:!1,rangeTo:!0})}else{const E=_+y.value-1;for(let N=_;N<=E;N++)Object.assign(n[N],{range:w.range,unelevated:!0,color:re.value,textColor:me.value})}}),Ne.value!==void 0){const w=_+Ne.value.from-1,E=_+Ne.value.to-1;for(let N=w;N<=E;N++)n[N].color=re.value,n[N].editRange=!0;Ne.value.includeFrom===!0&&(n[w].editRangeFrom=!0),Ne.value.includeTo===!0&&(n[E].editRangeTo=!0)}b.value.year===Q.value.year&&b.value.month===Q.value.month&&(n[_+Q.value.day-1].today=!0);const R=n.length%7;if(R>0){const w=7-R;for(let E=1;E<=w;E++)n.push({i:E,fill:!0})}return n.forEach(w=>{let E="q-date__calendar-item ";w.fill===!0?E+="q-date__calendar-item--fill":(E+=`q-date__calendar-item--${w.in===!0?"in":"out"}`,w.range!==void 0&&(E+=` q-date__range${w.rangeTo===!0?"-to":w.rangeFrom===!0?"-from":""}`),w.editRange===!0&&(E+=` q-date__edit-range${w.editRangeFrom===!0?"-from":""}${w.editRangeTo===!0?"-to":""}`),(w.range!==void 0||w.editRange===!0)&&(E+=` text-${w.color}`)),w.classes=E}),n}),ga=D(()=>e.disable===!0?{"aria-disabled":"true"}:e.readonly===!0?{"aria-readonly":"true"}:{});ce(()=>e.modelValue,n=>{if(q===n)q=0;else{const{year:r,month:d}=qt(J.value,L.value);De(r,d)}}),ce(j,()=>{V.value!==null&&V.value.focus()}),ce(()=>b.value.year,n=>{o("navigation",{year:n,month:b.value.month})}),ce(()=>b.value.month,n=>{o("navigation",{year:b.value.year,month:n})}),ce(le,n=>{Ot(n,L.value,"mask"),J.value=n}),ce(de,n=>{Ot(J.value,n,"locale"),L.value=n});function Mt(){const n=Q.value,r=Je.value[ge(n)];(r===void 0||r.includes(n.day)===!1)&&ct(n),st(n.year,n.month)}function va(n){Ut(n)===!0&&(j.value=n)}function ba(n,r){["month","year"].includes(n)&&(n==="month"?$t:it)(r===!0?-1:1)}function st(n,r){j.value="Calendar",De(n,r)}function Ca(n,r){if(e.range===!1||!n){W.value=null;return}const d=Object.assign({...b.value},n),x=r!==void 0?Object.assign({...b.value},r):d;W.value={init:d,initHash:ye(d),final:x,finalHash:ye(x)},st(d.year,d.month)}function Dt(){return e.calendar==="persian"?"YYYY/MM/DD":e.mask}function rt(n,r,d){return Dn(n,r,d,e.calendar,{hour:0,minute:0,second:0,millisecond:0})}function qt(n,r){const d=Array.isArray(e.modelValue)===!0?e.modelValue:e.modelValue?[e.modelValue]:[];if(d.length===0)return Et();const x=d[d.length-1],_=rt(x.from!==void 0?x.from:x,n,r);return _.dateHash===null?Et():_}function Et(){let n,r;if(e.defaultYearMonth!==void 0){const d=e.defaultYearMonth.split("/");n=parseInt(d[0],10),r=parseInt(d[1],10)}else{const d=Q.value!==void 0?Q.value:k();n=d.year,r=d.month}return{year:n,month:r,day:1,hour:0,minute:0,second:0,millisecond:0,dateHash:n+"/"+Y(r)+"/01"}}function $t(n){let r=b.value.year,d=Number(b.value.month)+n;d===13?(d=1,r++):d===0&&(d=12,r--),De(r,d),Pe.value===!0&&We("month")}function it(n){const r=Number(b.value.year)+n;De(r,b.value.month),Pe.value===!0&&We("year")}function ka(n){De(n,b.value.month),j.value=e.defaultView==="Years"?"Months":"Calendar",Pe.value===!0&&We("year")}function _a(n){De(b.value.year,n),j.value="Calendar",Pe.value===!0&&We("month")}function xa(n,r){const d=Je.value[r];(d!==void 0&&d.includes(n.day)===!0?ut:ct)(n)}function ke(n){return{year:n.year,month:n.month,day:n.day}}function De(n,r){S.value!==null&&n<=S.value.year&&(n=S.value.year,r=I.value.year&&(n=I.value.year,r>I.value.month&&(r=I.value.month));const d=n+"/"+Y(r)+"/01";d!==b.value.dateHash&&(F.value=b.value.dateHash{we.value=n-n%_e-(n<0?_e:0),Object.assign(b.value,{year:n,month:r,day:1,dateHash:d})}))}function St(n,r,d){const x=n!==null&&n.length===1&&e.multiple===!1?n[0]:n;q=x;const{reason:_,details:R}=At(r,d);o("update:modelValue",x,_,R)}function We(n){const r=X.value[0]!==void 0&&X.value[0].dateHash!==null?{...X.value[0]}:{...b.value};gt(()=>{r.year=b.value.year,r.month=b.value.month;const d=e.calendar!=="persian"?new Date(r.year,r.month,0).getDate():Xe(r.year,r.month);r.day=Math.min(Math.max(1,r.day),d);const x=qe(r);q=x;const{details:_}=At("",r);o("update:modelValue",x,n,_)})}function At(n,r){return r.from!==void 0?{reason:`${n}-range`,details:{...ke(r.target),from:ke(r.from),to:ke(r.to)}}:{reason:`${n}-day`,details:ke(r)}}function qe(n,r,d){return n.from!==void 0?{from:He.value(n.from,r,d),to:He.value(n.to,r,d)}:He.value(n,r,d)}function ct(n){let r;if(e.multiple===!0)if(n.from!==void 0){const d=ye(n.from),x=ye(n.to),_=X.value.filter(w=>w.dateHashx),R=he.value.filter(({from:w,to:E})=>E.dateHashx);r=_.concat(R).concat(n).map(w=>qe(w))}else{const d=Re.value.slice();d.push(qe(n)),r=d}else r=qe(n);St(r,"add",n)}function ut(n){if(e.noUnset===!0)return;let r=null;if(e.multiple===!0&&Array.isArray(e.modelValue)===!0){const d=qe(n);n.from!==void 0?r=e.modelValue.filter(x=>x.from!==void 0?x.from!==d.from&&x.to!==d.to:!0):r=e.modelValue.filter(x=>x!==d),r.length===0&&(r=null)}St(r,"remove",n)}function Ot(n,r,d){const x=X.value.concat(he.value).map(_=>qe(_,n,r)).filter(_=>_.from!==void 0?_.from.dateHash!==null&&_.to.dateHash!==null:_.dateHash!==null);o("update:modelValue",(e.multiple===!0?x:x[0])||null,d)}function wa(){if(e.minimal!==!0)return v("div",{class:"q-date__header "+C.value},[v("div",{class:"relative-position"},[v(Ve,{name:"q-transition--fade"},()=>v("div",{key:"h-yr-"+oe.value,class:"q-date__header-subtitle q-date__header-link "+(j.value==="Years"?"q-date__header-link--active":"cursor-pointer"),tabindex:m.value,...s("vY",{onClick(){j.value="Years"},onKeyup(n){n.keyCode===13&&(j.value="Years")}})},[oe.value]))]),v("div",{class:"q-date__header-title relative-position flex no-wrap"},[v("div",{class:"relative-position col"},[v(Ve,{name:"q-transition--fade"},()=>v("div",{key:"h-sub"+Ye.value,class:"q-date__header-title-label q-date__header-link "+(j.value==="Calendar"?"q-date__header-link--active":"cursor-pointer"),tabindex:m.value,...s("vC",{onClick(){j.value="Calendar"},onKeyup(n){n.keyCode===13&&(j.value="Calendar")}})},[Ye.value]))]),e.todayBtn===!0?v(M,{class:"q-date__header-today self-start",icon:a.iconSet.datetime.today,flat:!0,size:"sm",round:!0,tabindex:m.value,onClick:Mt}):null])])}function dt({label:n,type:r,key:d,dir:x,goTo:_,boundaries:R,cls:w}){return[v("div",{class:"row items-center q-date__arrow"},[v(M,{round:!0,dense:!0,size:"sm",flat:!0,icon:fe.value[0],tabindex:m.value,disable:R.prev===!1,...s("go-#"+r,{onClick(){_(-1)}})})]),v("div",{class:"relative-position overflow-hidden flex flex-center"+w},[v(Ve,{name:"q-transition--jump-"+x},()=>v("div",{key:d},[v(M,{flat:!0,dense:!0,noCaps:!0,label:n,tabindex:m.value,...s("view#"+r,{onClick:()=>{j.value=r}})})]))]),v("div",{class:"row items-center q-date__arrow"},[v(M,{round:!0,dense:!0,size:"sm",flat:!0,icon:fe.value[1],tabindex:m.value,disable:R.next===!1,...s("go+#"+r,{onClick(){_(1)}})})])]}const Pa={Calendar:()=>[v("div",{key:"calendar-view",class:"q-date__view q-date__calendar"},[v("div",{class:"q-date__navigation row items-center no-wrap"},dt({label:L.value.months[b.value.month-1],type:"Months",key:b.value.month,dir:F.value,goTo:$t,boundaries:Ie.value.month,cls:" col"}).concat(dt({label:b.value.year,type:"Years",key:b.value.year,dir:Oe.value,goTo:it,boundaries:Ie.value.year,cls:""}))),v("div",{class:"q-date__calendar-weekdays row items-center no-wrap"},f.value.map(n=>v("div",{class:"q-date__calendar-item"},[v("div",n)]))),v("div",{class:"q-date__calendar-days-container relative-position overflow-hidden"},[v(Ve,{name:"q-transition--slide-"+F.value},()=>v("div",{key:ne.value,class:"q-date__calendar-days fit"},Pt.value.map(n=>v("div",{class:n.classes},[n.in===!0?v(M,{class:n.today===!0?"q-date__today":"",dense:!0,flat:n.flat,unelevated:n.unelevated,color:n.color,textColor:n.textColor,label:n.i,tabindex:m.value,...s("day#"+n.i,{onClick:()=>{Ma(n.i)},onMouseover:()=>{Da(n.i)}})},n.event!==!1?()=>v("div",{class:"q-date__event bg-"+n.event}):null):v("div",""+n.i)]))))])])],Months(){const n=b.value.year===Q.value.year,r=x=>S.value!==null&&b.value.year===S.value.year&&S.value.month>x||I.value!==null&&b.value.year===I.value.year&&I.value.month{const R=b.value.month===_+1;return v("div",{class:"q-date__months-item flex flex-center"},[v(M,{class:n===!0&&Q.value.month===_+1?"q-date__today":null,flat:R!==!0,label:x,unelevated:R,color:R===!0?re.value:null,textColor:R===!0?me.value:null,tabindex:m.value,disable:r(_+1),...s("month#"+_,{onClick:()=>{_a(_+1)}})})])});return e.yearsInMonthView===!0&&d.unshift(v("div",{class:"row no-wrap full-width"},[dt({label:b.value.year,type:"Years",key:b.value.year,dir:Oe.value,goTo:it,boundaries:Ie.value.year,cls:" col"})])),v("div",{key:"months-view",class:"q-date__view q-date__months flex flex-center"},d)},Years(){const n=we.value,r=n+_e,d=[],x=_=>S.value!==null&&S.value.year>_||I.value!==null&&I.value.year<_;for(let _=n;_<=r;_++){const R=b.value.year===_;d.push(v("div",{class:"q-date__years-item flex flex-center"},[v(M,{key:"yr"+_,class:Q.value.year===_?"q-date__today":null,flat:!R,label:_,dense:!0,unelevated:R,color:R===!0?re.value:null,textColor:R===!0?me.value:null,tabindex:m.value,disable:x(_),...s("yr#"+_,{onClick:()=>{ka(_)}})})]))}return v("div",{class:"q-date__view q-date__years flex flex-center"},[v("div",{class:"col-auto"},[v(M,{round:!0,dense:!0,flat:!0,icon:fe.value[0],tabindex:m.value,disable:x(n),...s("y-",{onClick:()=>{we.value-=_e}})})]),v("div",{class:"q-date__years-content col self-stretch row items-center"},d),v("div",{class:"col-auto"},[v(M,{round:!0,dense:!0,flat:!0,icon:fe.value[1],tabindex:m.value,disable:x(r),...s("y+",{onClick:()=>{we.value+=_e}})})])])}};function Ma(n){const r={...b.value,day:n};if(e.range===!1){xa(r,ne.value);return}if(W.value===null){const d=Pt.value.find(_=>_.fill!==!0&&_.i===n);if(e.noUnset!==!0&&d.range!==void 0){ut({target:r,from:d.range.from,to:d.range.to});return}if(d.selected===!0){ut(r);return}const x=ye(r);W.value={init:r,initHash:x,final:r,finalHash:x},o("range-start",ke(r))}else{const d=W.value.initHash,x=ye(r),_=d<=x?{from:W.value.init,to:r}:{from:r,to:W.value.init};W.value=null,ct(d===x?r:{target:r,..._}),o("range-end",{from:ke(_.from),to:ke(_.to)})}}function Da(n){if(W.value!==null){const r={...b.value,day:n};Object.assign(W.value,{final:r,finalHash:ye(r)})}}return Object.assign(i,{setToday:Mt,setView:va,offsetCalendar:ba,setCalendarTo:st,setEditingRange:Ca}),()=>{const n=[v("div",{class:"q-date__content col relative-position"},[v(Ve,{name:"q-transition--fade"},Pa[j.value])])],r=tt(t.default);return r!==void 0&&n.push(v("div",{class:"q-date__actions"},r)),e.name!==void 0&&e.disable!==!0&&$(n,"push"),v("div",{class:lt.value,...ga.value},[wa(),v("div",{ref:V,class:"q-date__main col column",tabindex:-1},n)])}}});function Gt(e){if(e===!1)return 0;if(e===!0||e===void 0)return 1;const t=parseInt(e,10);return isNaN(t)?0:t}const Sn=Oa({name:"close-popup",beforeMount(e,{value:t}){const o={depth:Gt(t),handler(i){o.depth!==0&&setTimeout(()=>{const a=Ta(e);a!==void 0&&Ra(a,i,o.depth)})},handlerKey(i){Ha(i,13)===!0&&o.handler(i)}};e.__qclosepopup=o,e.addEventListener("click",o.handler),e.addEventListener("keyup",o.handlerKey)},updated(e,{value:t,oldValue:o}){t!==o&&(e.__qclosepopup.depth=Gt(t))},beforeUnmount(e){const t=e.__qclosepopup;e.removeEventListener("click",t.handler),e.removeEventListener("keyup",t.handlerKey),delete e.__qclosepopup}}),An={name:"ChangePlayerJob",data(){return{job:{name:null,grade:0},jobs:null,getPossibleGrades:[]}},computed:{getPossibleJobs(){let e=[];if(this.jobs)for(const[t,o]of Object.entries(this.jobs))e.push({value:t,...o});return e}},props:{title:String,label:String},emits:["ok","hide"],methods:{changeJobSelection(){let e=[];if(this.job.name)for(let t=0;t{const t=e.data.jobs;if(!t){this.$q.notify({message:"Error",position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.player.msg.error.failedFetchJobs")});return}this.jobs=t}).catch(()=>{this.$q.notify({message:"Error",position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.player.msg.error.failedFetchJobs")}),this.hide()})}},On=["innerHTML"],Tn={class:"text-main"},Rn={class:"text-main"};function Hn(e,t,o,i,a,l){return g(),G(ot,{ref:"dialog",onHide:l.onDialogHide},{default:h(()=>[c(Z,{class:"q-dialog-plugin bg-secondary text-main"},{default:h(()=>[c(H,{class:"row"},{default:h(()=>[u("div",{class:"text-body2",innerHTML:o.title},null,8,On),c(Ce,{class:"q-ml-auto cursor-pointer",name:"close",onClick:at(l.hide,["stop"])},null,8,["onClick"])]),_:1}),c(H,null,{default:h(()=>[c(Fe,{label:e.$t("components.job.name"),color:"primary","label-color":"primary",modelValue:a.job.name,"onUpdate:modelValue":[t[0]||(t[0]=s=>a.job.name=s),l.changeJobSelection],"emit-value":"",options:l.getPossibleJobs,"popup-content-style":{backgroundColor:"var(--q-secondary)"}},{selected:h(()=>[u("div",Tn,p(a.job.name?a.jobs[a.job.name].label:""),1)]),option:h(s=>[c(Se,Be(Ue(s.itemProps)),{default:h(()=>[c(xe,null,{default:h(()=>[c(je,{class:"text-main"},{default:h(()=>[te(p(s.opt.label),1)]),_:2},1024)]),_:2},1024)]),_:2},1040)]),_:1},8,["label","modelValue","options","popup-content-style","onUpdate:modelValue"])]),_:1}),c(H,null,{default:h(()=>[c(Fe,{label:e.$t("components.job.grades"),color:"primary","label-color":"primary",modelValue:a.job.grade,"onUpdate:modelValue":t[1]||(t[1]=s=>a.job.grade=s),options:a.getPossibleGrades,"popup-content-style":{backgroundColor:"var(--q-secondary)"}},{selected:h(()=>[u("div",Rn,p(a.job.grade),1)]),option:h(s=>[c(Se,Be(Ue(s.itemProps)),{default:h(()=>[c(xe,null,{default:h(()=>[c(je,{class:"text-main"},{default:h(()=>[te(p(s.opt),1)]),_:2},1024)]),_:2},1024)]),_:2},1040)]),_:1},8,["label","modelValue","options","popup-content-style"])]),_:1}),c(nt,{align:"center"},{default:h(()=>[c(M,{"text-color":"main",color:"primary",label:e.$t("general.ok"),onClick:l.onOKClick},null,8,["label","onClick"])]),_:1})]),_:1})]),_:1},8,["onHide"])}const Yn=ue(An,[["render",Hn]]),Ln={name:"ChangePlayerGang",data(){return{gang:{name:null,grade:0},gangs:null,getPossibleGrades:[]}},computed:{getPossibleGangs(){let e=[];if(this.gangs)for(const[t,o]of Object.entries(this.gangs))e.push({value:t,...o});return e}},props:{title:String,label:String},emits:["ok","hide"],methods:{changeGangSelection(){let e=[];if(this.gang.name)for(let t=0;t{const t=e.data.gangs;if(!t){this.$q.notify({message:"Error",position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.player.msg.error.failedFetchGangs")});return}this.gangs=t}).catch(()=>{this.$q.notify({message:"Error",position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.player.msg.error.failedFetchGangs")}),this.hide()})}},zn=["innerHTML"],In={class:"text-main"},Nn={class:"text-main"};function Vn(e,t,o,i,a,l){return g(),G(ot,{ref:"dialog",onHide:l.onDialogHide},{default:h(()=>[c(Z,{class:"q-dialog-plugin bg-secondary text-main"},{default:h(()=>[c(H,{class:"row"},{default:h(()=>[u("div",{class:"text-body2",innerHTML:o.title},null,8,zn),c(Ce,{class:"q-ml-auto cursor-pointer",name:"close",onClick:at(l.hide,["stop"])},null,8,["onClick"])]),_:1}),c(H,null,{default:h(()=>[c(Fe,{label:e.$t("components.gang.name"),color:"primary","label-color":"primary",modelValue:a.gang.name,"onUpdate:modelValue":[t[0]||(t[0]=s=>a.gang.name=s),l.changeGangSelection],"emit-value":"",options:l.getPossibleGangs,"popup-content-style":{backgroundColor:"var(--q-secondary)"}},{selected:h(()=>[u("div",In,p(a.gang.name?a.gangs[a.gang.name].label:""),1)]),option:h(s=>[c(Se,Be(Ue(s.itemProps)),{default:h(()=>[c(xe,null,{default:h(()=>[c(je,{class:"text-main"},{default:h(()=>[te(p(s.opt.label),1)]),_:2},1024)]),_:2},1024)]),_:2},1040)]),_:1},8,["label","modelValue","options","popup-content-style","onUpdate:modelValue"])]),_:1}),c(H,null,{default:h(()=>[c(Fe,{label:e.$t("components.gang.grades"),color:"primary","label-color":"primary",modelValue:a.gang.grade,"onUpdate:modelValue":t[1]||(t[1]=s=>a.gang.grade=s),options:a.getPossibleGrades,"popup-content-style":{backgroundColor:"var(--q-secondary)"}},{selected:h(()=>[u("div",Nn,p(a.gang.grade),1)]),option:h(s=>[c(Se,Be(Ue(s.itemProps)),{default:h(()=>[c(xe,null,{default:h(()=>[c(je,{class:"text-main"},{default:h(()=>[te(p(s.opt),1)]),_:2},1024)]),_:2},1024)]),_:2},1040)]),_:1},8,["label","modelValue","options","popup-content-style"])]),_:1}),c(nt,{align:"center"},{default:h(()=>[c(M,{"text-color":"main",color:"primary",label:e.$t("general.ok"),onClick:l.onOKClick},null,8,["label","onClick"])]),_:1})]),_:1})]),_:1},8,["onHide"])}const Bn=ue(Ln,[["render",Vn]]),Un={name:"PlayerScreen",emits:["ok","hide"],props:{img:String},methods:{show(){this.$refs.dialog.show()},hide(){this.$refs.dialog.hide()},onDialogHide(){this.$emit("hide")},onOKClick(){this.$emit("ok"),this.hide()},onCancelClick(){this.hide()}}},Gn=["innerHTML"];function jn(e,t,o,i,a,l){return g(),G(ot,{ref:"dialog",onHide:l.onDialogHide,maximized:""},{default:h(()=>[c(Z,{class:"q-dialog-plugin bg-secondary text-main"},{default:h(()=>[c(H,{class:"row"},{default:h(()=>[u("div",{class:"text-body2",innerHTML:e.$t("components.player.playerScreenHeader")},null,8,Gn),c(Ce,{class:"q-ml-auto cursor-pointer",name:"close",onClick:at(l.hide,["stop"])},null,8,["onClick"])]),_:1}),c(H,{align:"center"},{default:h(()=>[c(dn,{src:o.img,"spinner-color":"primary",fit:"contain"},null,8,["src"])]),_:1}),c(nt,{align:"center"},{default:h(()=>[c(M,{"text-color":"main",color:"primary",label:e.$t("general.ok"),onClick:l.onOKClick},null,8,["label","onClick"])]),_:1})]),_:1})]),_:1},8,["onHide"])}const Fn=ue(Un,[["render",jn]]),Qn={data(){return{input:""}},props:{title:String,message:String},emits:["ok","hide"],methods:{show(){this.$refs.dialog.show()},hide(){this.$refs.dialog.hide()},onDialogHide(){this.$emit("hide")},onOKClick(){this.$emit("ok",{input:this.input}),this.hide()},onCancelClick(){this.hide()}}},Jn=["innerHTML"],Wn=["innerHTML"];function Zn(e,t,o,i,a,l){return g(),G(ot,{ref:"dialog",onHide:l.onDialogHide},{default:h(()=>[c(Z,{class:"q-dialog-plugin bg-secondary text-main"},{default:h(()=>[c(H,{class:"row"},{default:h(()=>[u("div",{class:"text-body2",innerHTML:o.title},null,8,Jn),c(Ce,{class:"q-ml-auto cursor-pointer",name:"close",onClick:at(l.hide,["stop"])},null,8,["onClick"])]),_:1}),c(H,null,{default:h(()=>[u("div",{class:"text-subtitle1 q-mb-md",innerHTML:o.message},null,8,Wn),c(U,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:a.input,"onUpdate:modelValue":t[0]||(t[0]=s=>a.input=s),label:e.$t("general.reason")},null,8,["input-style","modelValue","label"])]),_:1}),c(nt,{align:"center"},{default:h(()=>[c(M,{"text-color":"main",color:"primary",label:e.$t("general.ok"),onClick:l.onOKClick},null,8,["label","onClick"])]),_:1})]),_:1})]),_:1},8,["onHide"])}const Kn=ue(Qn,[["render",Zn]]),Xn={name:"PlayerGeneral",data(){return{ACTION:vt,RESOURCE:bt,columns:[{name:"index",align:"left",label:this.$i18n.t("general.timestamp"),field:e=>e,format:e=>`${e}`},{name:"ban",align:"left",label:this.$i18n.t("general.warnBanHeader"),field:e=>e,format:e=>`${e}`}],pagination:{sortBy:"desc",descending:!1,page:1,rowsPerPage:5},player:null,genders:[{label:this.$t("general.male"),value:0},{label:this.$t("general.female"),value:1}],moneyTypes:{}}},methods:{can:ta,getPaginationLabel(e,t,o){return this.$i18n.t("components.playerList.paginationLabel",{from:e,to:t,total:o})},isNumeric(e){return typeof e!="string"?!1:!isNaN(e)&&!isNaN(parseFloat(e))},async loadPlayer(){await this.$axios.get(`/api/players/${this.$route.params.citizenid}`).then(e=>{const t=e.data.player;if(!t){this.$q.notify({message:"Error",position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.player.msg.error.notOnline")}),this.$router.push({name:"game-player-list"});return}this.player=t,this.moneyTypes=e.data.moneyTypes||{},this.$emit("updatePlayerName",`${t.PlayerData.charinfo.firstname} ${t.PlayerData.charinfo.lastname}`)}).catch(()=>{this.$q.dialog({component:Ze,componentProps:{title:this.$i18n.t("components.inventory.msg.error.fixPlayer"),message:this.$i18n.t("components.inventory.msg.error.fixPlayerText")},cancel:!0,persistent:!0}).onOk(()=>{this.$axios.post(`/api/players/${this.$route.params.citizenid}/inventory/fix-items`).then(e=>{const{resCode:t,resMsg:o,resItems:i}=e.data;if(!t){this.$q.notify({message:"Error",position:"top",color:"red",icon:"fas fa-exclamation-triangle"}),this.$router.push({name:"game-player-list"});return}mn("deletedItems.txt",Object.entries(i).map(([a,l])=>`Slot ${a}: ${JSON.stringify(l,null,4)}`).join(` -`)),this.$q.dialog({component:un,componentProps:{title:this.$i18n.t("general.success"),message:this.$i18n.t("components.inventory.msg.success.fixedPlayerItems")},persistent:!0}).onDismiss(()=>{this.$router.push({name:"game-player-detail",params:{citizenid:this.$route.params.citizenid}}).then(()=>{this.$router.go()})})})}).onCancel(()=>{this.$router.back()})})},teleportPlayer(){this.$axios.post("/api/players/teleport",{citizenid:this.$route.params.citizenid,coords:this.player.PlayerData.position}).then(e=>{if(!e.data.resCode){this.$q.notify({message:"Error",position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.player.msg.error.notOnline")}),this.$router.push({name:"game-player-list"});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.teleported")})})},tryChangeAccount(){this.$q.dialog({component:Ze,componentProps:{title:this.$i18n.t("components.player.changeAccountHeader"),message:this.$i18n.t("components.player.changeAccountSub",{name:`${this.player.PlayerData.charinfo.firstname} ${this.player.PlayerData.charinfo.lastname}`})},cancel:!0,persistent:!0}).onOk(()=>{this.$axios.post("/api/players/change-account",{citizenid:this.$route.params.citizenid,license:this.player.PlayerData.license}).then(e=>{if(!e.data.resCode){this.$q.notify({message:"Error",position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.player.msg.error.${e.data.resMsg}`)});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.saved")}),this.loadPlayer()})})},tryChangeBucket(){this.$axios.post("/api/players/bucket",{citizenid:this.$route.params.citizenid,bucket:this.player.PlayerData.bucket}).then(e=>{const t=e.data.resCode,o=e.data.resMsg;if(!t){this.$q.notify({message:"Error",position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.player.msg.error.${o}`)});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("components.player.msg.success.changedBucket")}),this.loadPlayer()})},tryPlayerWarn(){this.$q.dialog({component:Kn,componentProps:{title:this.$i18n.t("general.warnHeader"),message:this.$i18n.t("general.warnMsg",{name:`${this.player.PlayerData.charinfo.firstname} ${this.player.PlayerData.charinfo.lastname}`})},cancel:!0,persistent:!0}).onOk(e=>{this.$axios.post("/api/players/warn",{citizenid:this.$route.params.citizenid,reason:e.input}).then(t=>{if(!t.data.resCode){this.$q.notify({message:"Error",position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.player.msg.error.${t.data.resMsg}`)});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.warnSuccess")}),this.loadPlayer()})})},tryPlayerBan(){this.$q.dialog({component:rn,componentProps:{title:this.$i18n.t("general.banHeader"),message:this.$i18n.t("general.banMsg",{name:`${this.player.PlayerData.charinfo.firstname} ${this.player.PlayerData.charinfo.lastname}`})},cancel:!0,persistent:!0}).onOk(e=>{this.$axios.post("/api/players/ban",{citizenid:this.$route.params.citizenid,reason:e.input,time:e.time,hwid:e.hwid}).then(t=>{if(!t.data.resCode){this.$q.notify({message:"Error",position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.player.msg.error.notOnline")});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.banSuccess")}),this.loadPlayer()})})},tryGetPlayerScreen(){this.$axios.get(`/api/players/${this.$route.params.citizenid}/screen`).then(e=>{if(!e.data.resCode){this.$q.notify({message:"Error",position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.player.msg.error.couldNotFetchScreen")});return}const o=e.data.img;this.$q.dialog({component:Fn,componentProps:{img:o},cancel:!0,persistent:!0})})},tryPlayerUnban(){this.$q.dialog({component:Ze,componentProps:{title:this.$i18n.t("general.unbanHeader"),message:this.$i18n.t("general.unbanMsg",{name:`${this.player.PlayerData.charinfo.firstname} ${this.player.PlayerData.charinfo.lastname}`})},cancel:!0,persistent:!0}).onOk(()=>{this.$axios.post("/api/players/unban",{citizenid:this.$route.params.citizenid}).then(e=>{if(!e.data.resCode){this.$q.notify({message:"Error",position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.player.msg.error.notOnline")});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.unbanSuccess")}),this.loadPlayer()})})},tryPlayerKick(){this.$q.dialog({component:Yt,componentProps:{title:this.$i18n.t("general.kickHeader"),message:this.$i18n.t("general.kickMsg",{name:`${this.player.PlayerData.charinfo.firstname} ${this.player.PlayerData.charinfo.lastname}`})},cancel:!0,persistent:!0}).onOk(e=>{this.$axios.post("/api/players/kick",{source:this.player.PlayerData.source,reason:e.input}).then(t=>{if(!t.data.resCode){this.$q.notify({message:"Error",position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.player.msg.error.notOnline")});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.kickSuccess")})})})},tryChangeJob(){this.$q.dialog({component:Yn,componentProps:{title:this.$i18n.t("components.player.changeJobHeader")},cancel:!0,persistent:!0}).onOk(async e=>{if(!e.job.name){this.$q.notify({message:"Error",position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.player.msg.error.missingFields")});return}await this.$axios.post("/api/players/change-job",{citizenid:this.$route.params.citizenid,name:e.job.name,grade:e.job.grade}).then(t=>{if(!t.data.resCode){this.$q.notify({message:"Error",position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.player.msg.error.changeJob")});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("components.player.msg.success.changeJob")}),this.loadPlayer()})})},tryChangeGang(){this.$q.dialog({component:Bn,componentProps:{title:this.$i18n.t("components.player.changeGangHeader")},cancel:!0,persistent:!0}).onOk(async e=>{if(!e.gang.name){this.$q.notify({message:"Error",position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.player.msg.error.missingFields")});return}await this.$axios.post("/api/players/change-gang",{citizenid:this.$route.params.citizenid,name:e.gang.name,grade:e.gang.grade}).then(t=>{if(!t.data.resCode){this.$q.notify({message:"Error",position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.player.msg.error.changeGang")});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("components.player.msg.success.changeGang")}),this.loadPlayer()})})},openInventory(){this.$router.push({name:"game-player-inventory"})},tryDeletePlayer(){this.$q.dialog({component:Ze,componentProps:{title:this.$i18n.t("components.player.deleteHeader"),message:this.$i18n.t("components.player.deletePlayerMsg",{name:this.$route.params.citizenid})},cancel:!0,persistent:!0}).onOk(()=>{this.$axios.post("/api/players/delete",{citizenid:this.$route.params.citizenid}).then(e=>{if(!e.data.resCode){this.$q.notify({message:"Error",position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.player.msg.error.deleteError")});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.deleted")}),this.$router.push({name:"game-player-list"})})})},updateMoney(e){this.$axios.post("/api/players/set-money",{citizenid:this.$route.params.citizenid,type:e,value:parseFloat(this.player.PlayerData.money[e])}).then(t=>{if(!t.data.resCode){this.$q.notify({message:"Error",position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.player.msg.error.${t.data.resMsg}`)}),t.data.resMsg==="notFound"&&this.$router.push({name:"game-player-list"});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.saved")}),this.loadPlayer()})},changeMoney(e,t){this.$q.dialog({component:Yt,componentProps:{title:this.$i18n.t(`components.player.${e}MoneyHeader`),message:this.$i18n.t(`components.player.${e}MoneyMsg`,{name:this.player.name})},cancel:!0,persistent:!0}).onOk(o=>{this.$axios.post(`/api/players/${e}-money`,{citizenid:this.$route.params.citizenid,type:t,value:parseFloat(o.input)}).then(i=>{if(!i.data.resCode){this.$q.notify({message:"Error",position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.player.msg.error.${i.data.resMsg}`)}),i.data.resMsg==="notFound"&&this.$router.push({name:"game-player-list"});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.saved")}),this.loadPlayer()})})},setCharinfo(){this.$axios.post("/api/players/set-charinfo",{citizenid:this.$route.params.citizenid,charinfo:this.player.PlayerData.charinfo}).then(e=>{if(!e.data.resCode){this.$q.notify({message:"Error",position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.player.msg.error.notOnline")}),this.$router.push({name:"game-player-list"});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t(`components.player.msg.success.${e.data.resMsg}`)}),this.loadPlayer()})},healPlayer(){this.$axios.post("/api/players/heal",{citizenid:this.$route.params.citizenid}).then(e=>{const t=e.data.resCode,o=e.data.resMsg;if(!t){this.$q.notify({message:"Error",position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.player.msg.error.${o}`)}),o==="notFound"&&this.$router.push({name:"game-player-list"});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t(`components.player.msg.success.${o}`)}),this.loadPlayer()})},setMeta(e,t){this.$axios.post("/api/players/set-meta",{citizenid:this.$route.params.citizenid,meta:e,value:t}).then(o=>{if(!o.data.resCode){this.$q.notify({message:"Error",position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.player.msg.error.notOnline")}),this.$router.push({name:"game-player-list"});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t(`components.player.msg.success.${o.data.resMsg}`)}),this.loadPlayer()})},loadWaypoint(){this.$q.dialog({component:cn,componentProps:{title:this.$i18n.t("components.waypoint.modalHeader")},cancel:!0,persistent:!0}).onOk(e=>{e.coords&&(this.player.PlayerData.position=e.coords)})}},mounted(){this.loadPlayer()}},eo={key:0,class:"row"},to={key:0,class:"col-12 q-pa-sm"},ao={class:"text-h6"},no={key:1,class:"col-12 q-pa-sm"},oo={class:"text-h6"},lo={class:"text-main"},so={class:"col-12 col-md-6 q-pa-sm"},ro={class:"text-h6"},io={class:"text-main"},co={class:"text-left"},uo={class:"row"},mo={style:{"min-width":"250px"},class:"col-12 q-ma-xs"},ho={key:1,class:"text-left"},po={class:"text-left"},fo={class:"text-left"},yo={class:"text-left"},go={class:"text-left"},vo={class:"text-left"},bo={class:"text-left"},Co={class:"text-left"},ko={class:"text-left"},_o={class:"text-left"},xo={class:"row"},wo={style:{"min-width":"250px"},class:"col-12 q-ma-xs"},Po={key:1,class:"text-left"},Mo={class:"text-left vertical-top"},Do={class:"row"},qo={class:"col-12 col-md-3 q-ma-xs",style:{"min-width":"250px"}},Eo={class:"col-12 col-md-3 q-ma-xs",style:{"min-width":"250px"}},$o={class:"col-12 col-md-3 q-ma-xs",style:{"min-width":"250px"}},So={key:0,class:"row"},Ao={key:1,class:"text-left"},Oo={class:"text-h6"},To={class:"text-main"},Ro={class:"row"},Ho={class:"col-12 col-md-6 q-pa-sm"},Yo={class:"text-h6"},Lo={class:"text-main"},zo={class:"text-left"},Io={class:"text-left"},No={class:"text-left"},Vo={key:0,style:{"min-width":"250px"}},Bo={key:1,class:"text-left"},Uo={class:"text-left col-4"},Go={key:0,style:{"min-width":"250px"}},jo={key:1,class:"text-left"},Fo={class:"text-left col-4"},Qo={key:0,style:{"min-width":"250px"}},Jo={key:1,class:"text-left"},Wo={class:"text-left"},Zo={key:0,style:{"min-width":"250px"}},Ko={class:"text-main"},Xo={key:1,class:"text-left"},el={class:"text-left col-4"},tl={key:0,style:{"min-width":"250px"}},al={class:"row items-center justify-end"},nl={key:1,class:"text-left"},ol={class:"text-left"},ll={key:0,style:{"min-width":"250px"}},sl={key:1,class:"text-left"},rl={class:"text-left"},il={key:0,style:{"min-width":"250px"}},cl={key:1,class:"text-left"},ul={class:"text-left"},dl={key:0,style:{"min-width":"250px"}},ml={key:1,class:"text-left"},hl={class:"col-12 col-md-6 q-pa-sm"},pl={class:"text-h6"},fl={class:"text-main"},yl={class:"text-left"},gl={key:0},vl={key:1},bl={class:"text-left"},Cl={key:0},kl={key:1,class:"text-left"},_l={class:"text-left"},xl={class:"text-left"},wl={class:"text-left"},Pl={class:"text-left"},Ml={class:"text-left"},Dl={class:"text-left"},ql={class:"text-left"},El={class:"text-left"},$l={key:0},Sl={class:"text-left"},Al={class:"text-left"},Ol={key:0},Tl={class:"text-left"},Rl={class:"text-left"},Hl={key:0},Yl={class:"text-left"},Ll={class:"text-left"},zl={key:0},Il={class:"text-left"},Nl={class:"text-left"},Vl={key:0},Bl={class:"col-12 col-md-6 q-pa-sm"},Ul={class:"text-h6"},Gl={class:"text-main"},jl={class:"text-left col-4"},Fl={style:{"min-width":"150px"}},Ql={key:1},Jl={class:"text-left col-4"},Wl={style:{"min-width":"250px"}},Zl={key:1},Kl={class:"text-left col-4"},Xl={style:{"min-width":"250px"}},es={key:1},ts={class:"text-left col-4"},as={style:{"min-width":"250px"}},ns={key:1},os={class:"q-pa-md text-caption text-sub"},ls={class:"col-12 col-md-6 q-pa-sm"},ss={class:"text-h6"},rs={class:"text-main"},is={class:"text-left"},cs={class:"text-left"},us={class:"text-left"},ds={class:"text-left"},ms={class:"col-12 col-md-6 q-pa-sm"},hs={class:"text-h6"},ps={class:"text-main"},fs={class:"text-left"},ys={class:"text-left"},gs={class:"text-left"},vs={class:"text-left"};function bs(e,t,o,i,a,l){return a.player?(g(),P("div",eo,[a.player.banned.length>0?(g(),P("div",to,[c(Z,{class:"bg-negative",style:{height:"100%"}},{default:h(()=>[c(H,{class:"col-12"},{default:h(()=>[u("div",ao,[(g(!0),P(ee,null,Ge(a.player.banned,s=>(g(),P("div",{key:s.time,class:"text-center"},p(e.$t("components.player.banMsg",{by:s.bannedby,reason:s.reason,expire:new Date(s.expire*1e3)})),1))),128))])]),_:1})]),_:1})])):B("",!0),a.player.bans.length>0?(g(),P("div",no,[c(Z,{class:"q-pa-sm bg-secondary",style:{height:"100%"}},{default:h(()=>[c(H,{class:"col-12"},{default:h(()=>[u("div",oo,[u("span",lo,p(e.$t("components.player.pastBans")),1)])]),_:1}),c(H,{class:"col-12"},{default:h(()=>[c(Xt,{color:"primary","card-class":"bg-secondary text-main","table-class":"text-main","table-header-class":"text-primary",flat:"",rows:a.player.bans,columns:a.columns,"row-key":"name",pagination:a.pagination,"rows-per-page-options":[0,5,10],"pagination-label":l.getPaginationLabel,"rows-per-page-label":`${e.$t("components.playerList.recordsPerPage")}:`},{body:h(s=>[c(ea,{props:s},{default:h(()=>[c(se,{key:"index",props:s},{default:h(()=>[te(p(s.row.split("]")[0])+"] ",1)]),_:2},1032,["props"]),c(se,{key:"ban",props:s},{default:h(()=>[te(p(s.row.split("]")[2]),1)]),_:2},1032,["props"])]),_:2},1032,["props"])]),_:1},8,["rows","columns","pagination","pagination-label","rows-per-page-label"])]),_:1})]),_:1})])):B("",!0),u("div",so,[c(Z,{class:"q-pa-sm bg-secondary",style:{height:"100%"}},{default:h(()=>[c(H,{class:"col-12"},{default:h(()=>[u("div",ro,[u("span",io,p(e.$t("components.player.headers.general")),1)])]),_:1}),c(ve),c(H,{class:"col-12"},{default:h(()=>[c(Ee,{class:"bg-secondary text-main",flat:"",square:"",separator:"none"},{default:h(()=>[u("tr",null,[u("td",co,p(e.$t("components.player.labels.bucket")),1),l.can(a.ACTION.GAME.PLAYER.MODIFY,a.RESOURCE.GAME)&&a.player.PlayerData.source?(g(),P(ee,{key:0},[u("td",uo,[u("div",mo,[c(U,{dense:"","label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",type:"number",modelValue:a.player.PlayerData.bucket,"onUpdate:modelValue":t[0]||(t[0]=s=>a.player.PlayerData.bucket=s),label:e.$t("components.player.labels.bucket")},null,8,["input-style","modelValue","label"])])]),u("td",null,[c(M,{class:"q-ml-md",style:{"max-height":"24px"},"text-color":"main",color:"primary",onClick:l.tryChangeBucket,label:e.$t("general.save")},null,8,["onClick","label"])])],64)):(g(),P("td",ho,p(a.player.PlayerData.bucket!==null?a.player.PlayerData.bucket:e.$t("general.offline")),1))]),u("tr",null,[u("td",po,p(e.$t("components.player.labels.ip")),1),u("td",fo,p(a.player.PlayerData.ip?a.player.PlayerData.ip:e.$t("general.offline")),1)]),u("tr",null,[u("td",yo,p(e.$t("components.player.labels.discord")),1),u("td",go,p(a.player.PlayerData.discord?a.player.PlayerData.discord:e.$t("general.offline")),1)]),u("tr",null,[u("td",vo,p(e.$t("components.player.labels.name")),1),u("td",bo,p(a.player.PlayerData.name),1)]),u("tr",null,[u("td",Co,p(e.$t("components.player.labels.citizenid")),1),u("td",ko,p(a.player.PlayerData.citizenid),1)]),u("tr",null,[u("td",_o,p(e.$t("components.player.labels.license")),1),l.can(a.ACTION.GAME.PLAYER.MODIFY,a.RESOURCE.GAME)?(g(),P(ee,{key:0},[u("td",xo,[u("div",wo,[c(U,{dense:"","label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:a.player.PlayerData.license,"onUpdate:modelValue":t[1]||(t[1]=s=>a.player.PlayerData.license=s),label:e.$t("components.player.labels.license")},null,8,["input-style","modelValue","label"])])]),u("td",null,[c(M,{class:"q-ml-md",style:{"max-height":"24px"},"text-color":"main",color:"primary",onClick:l.tryChangeAccount,label:e.$t("general.save")},null,8,["onClick","label"])])],64)):(g(),P("td",Po,p(a.player.PlayerData.license),1))]),u("tr",null,[u("td",Mo,p(e.$t("components.player.labels.position")),1),l.can(a.ACTION.GAME.PLAYER.POSITION,a.RESOURCE.GAME)?(g(),P(ee,{key:0},[u("td",Do,[u("div",qo,[c(U,{dense:"","label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:a.player.PlayerData.position.x,"onUpdate:modelValue":t[2]||(t[2]=s=>a.player.PlayerData.position.x=s),label:"x"},null,8,["input-style","modelValue"])]),u("div",Eo,[c(U,{dense:"","label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:a.player.PlayerData.position.y,"onUpdate:modelValue":t[3]||(t[3]=s=>a.player.PlayerData.position.y=s),label:"y"},null,8,["input-style","modelValue"])]),u("div",$o,[c(U,{dense:"","label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:a.player.PlayerData.position.z,"onUpdate:modelValue":t[4]||(t[4]=s=>a.player.PlayerData.position.z=s),label:"z"},null,8,["input-style","modelValue"])])]),a.player.Offline?B("",!0):(g(),P("td",So,[c(M,{"text-color":"main",class:"q-ma-xs",onClick:l.teleportPlayer,color:"primary",label:e.$t("general.teleport")},null,8,["onClick","label"]),l.can(a.ACTION.GAME.WAYPOINT.READ,a.RESOURCE.GAME)?(g(),G(M,{key:0,"text-color":"main",class:"q-ma-xs",onClick:l.loadWaypoint,color:"primary",label:e.$t("components.liveMap.btn.loadFromWaypoint")},null,8,["onClick","label"])):B("",!0)]))],64)):(g(),P("td",Ao," x: "+p(a.player.PlayerData.position.x)+" y: "+p(a.player.PlayerData.position.y)+" z: "+p(a.player.PlayerData.position.z),1))])]),_:1})]),_:1}),c(ve),c(H,{class:"col-12 q-pb-none"},{default:h(()=>[u("div",Oo,[u("span",To,p(e.$t("components.player.headers.actions")),1)])]),_:1}),c(H,{class:"q-pt-none"},{default:h(()=>[u("div",Ro,[c(M,{"text-color":"main",class:"q-ma-sm",color:"primary",label:e.$t("components.player.buttons.inventory"),onClick:l.openInventory},null,8,["label","onClick"]),a.player.PlayerData.source&&l.can(a.ACTION.GAME.PLAYER.SCREEN,a.RESOURCE.GAME)?(g(),G(M,{key:0,"text-color":"main",class:"q-ma-sm",color:"primary",label:e.$t("components.player.buttons.screen"),onClick:l.tryGetPlayerScreen},null,8,["label","onClick"])):B("",!0),l.can(a.ACTION.GAME.PLAYER.WARN,a.RESOURCE.GAME)?(g(),G(M,{key:1,"text-color":"main",class:"q-ma-sm",color:"primary",label:e.$t("components.player.buttons.warn"),onClick:l.tryPlayerWarn},null,8,["label","onClick"])):B("",!0),l.can(a.ACTION.GAME.PLAYER.BAN,a.RESOURCE.GAME)?(g(),P(ee,{key:2},[a.player.banned.length>0?(g(),G(M,{key:0,"text-color":"main",class:"q-ma-sm",color:"primary",label:e.$t("components.player.buttons.unban"),onClick:l.tryPlayerUnban},null,8,["label","onClick"])):(g(),G(M,{key:1,"text-color":"main",class:"q-ma-sm",color:"primary",label:e.$t("components.player.buttons.ban"),onClick:l.tryPlayerBan},null,8,["label","onClick"]))],64)):B("",!0),a.player.PlayerData.source&&l.can(a.ACTION.GAME.PLAYER.KICK,a.RESOURCE.GAME)?(g(),G(M,{key:3,"text-color":"main",class:"q-ma-sm",color:"primary",label:e.$t("components.player.buttons.kick"),onClick:l.tryPlayerKick},null,8,["label","onClick"])):B("",!0),l.can(a.ACTION.GAME.PLAYER.DELETE,a.RESOURCE.GAME)?(g(),G(M,{key:4,"text-color":"main",class:"q-ma-sm",color:"primary",label:e.$t("general.delete"),onClick:l.tryDeletePlayer},null,8,["label","onClick"])):B("",!0)])]),_:1})]),_:1})]),u("div",Ho,[c(Z,{class:"q-pa-sm bg-secondary col-12 col-md-6",style:{height:"100%"}},{default:h(()=>[c(H,{class:"col-12"},{default:h(()=>[u("div",Yo,[u("span",Lo,p(e.$t("components.player.headers.charinfo")),1)])]),_:1}),c(ve),c(H,{class:"col-12"},{default:h(()=>[c(Ee,{class:"bg-secondary text-main",flat:"",square:"",separator:"none"},{default:h(()=>[u("tr",null,[u("td",zo,p(e.$t("components.player.labels.account")),1),u("td",Io,p(a.player.PlayerData.charinfo.account),1)]),u("tr",null,[u("td",No,p(e.$t("components.player.labels.cid")),1),l.can(a.ACTION.GAME.PLAYER.MODIFY,a.RESOURCE.GAME)?(g(),P("td",Vo,[c(U,{dense:"","label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",type:"number",modelValue:a.player.PlayerData.charinfo.cid,"onUpdate:modelValue":t[5]||(t[5]=s=>a.player.PlayerData.charinfo.cid=s),label:e.$t("components.player.labels.cid")},null,8,["input-style","modelValue","label"])])):(g(),P("td",Bo,p(a.player.PlayerData.charinfo.cid),1))]),u("tr",null,[u("td",Uo,p(e.$t("components.player.labels.firstname")),1),l.can(a.ACTION.GAME.PLAYER.MODIFY,a.RESOURCE.GAME)?(g(),P("td",Go,[c(U,{dense:"","label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:a.player.PlayerData.charinfo.firstname,"onUpdate:modelValue":t[6]||(t[6]=s=>a.player.PlayerData.charinfo.firstname=s),label:e.$t("components.player.labels.firstname")},null,8,["input-style","modelValue","label"])])):(g(),P("td",jo,p(a.player.PlayerData.charinfo.firstname),1))]),u("tr",null,[u("td",Fo,p(e.$t("components.player.labels.lastname")),1),l.can(a.ACTION.GAME.PLAYER.MODIFY,a.RESOURCE.GAME)?(g(),P("td",Qo,[c(U,{dense:"","label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:a.player.PlayerData.charinfo.lastname,"onUpdate:modelValue":t[7]||(t[7]=s=>a.player.PlayerData.charinfo.lastname=s),label:e.$t("components.player.labels.lastname")},null,8,["input-style","modelValue","label"])])):(g(),P("td",Jo,p(a.player.PlayerData.charinfo.lastname),1))]),u("tr",null,[u("td",Wo,p(e.$t("components.player.labels.gender")),1),l.can(a.ACTION.GAME.PLAYER.MODIFY,a.RESOURCE.GAME)?(g(),P("td",Zo,[c(Fe,{color:"primary","label-color":"main",modelValue:a.player.PlayerData.charinfo.gender,"onUpdate:modelValue":t[8]||(t[8]=s=>a.player.PlayerData.charinfo.gender=s),"emit-value":"",options:a.genders,"popup-content-style":{backgroundColor:"var(--q-secondary)"}},{selected:h(()=>[u("div",Ko,p(a.player.PlayerData.charinfo.gender?e.$t("general.female"):e.$t("general.male")),1)]),option:h(s=>[c(Se,Be(Ue(s.itemProps)),{default:h(()=>[c(xe,null,{default:h(()=>[c(je,{class:"text-main"},{default:h(()=>[te(p(s.opt.label),1)]),_:2},1024)]),_:2},1024)]),_:2},1040)]),_:1},8,["modelValue","options","popup-content-style"])])):(g(),P("td",Xo,p(a.player.PlayerData.charinfo.gender),1))]),u("tr",null,[u("td",el,p(e.$t("components.player.labels.birthdate")),1),l.can(a.ACTION.GAME.PLAYER.MODIFY,a.RESOURCE.GAME)?(g(),P("td",tl,[c(U,{label:e.$t("components.player.labels.birthdate"),dense:"","label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:a.player.PlayerData.charinfo.birthdate,"onUpdate:modelValue":t[10]||(t[10]=s=>a.player.PlayerData.charinfo.birthdate=s)},{prepend:h(()=>[c(Ce,{name:"event",class:"cursor-pointer",color:"primary"},{default:h(()=>[c(sn,{cover:"","transition-show":"scale","transition-hide":"scale"},{default:h(()=>[c($n,{modelValue:a.player.PlayerData.charinfo.birthdate,"onUpdate:modelValue":t[9]||(t[9]=s=>a.player.PlayerData.charinfo.birthdate=s),mask:"YYYY-MM-DD",color:"secondary"},{default:h(()=>[u("div",al,[Ya(c(M,{"text-color":"main",label:"Close",color:"primary",flat:""},null,512),[[Sn]])])]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["label","input-style","modelValue"])])):(g(),P("td",nl,p(a.player.PlayerData.charinfo.birthdate),1))]),u("tr",null,[u("td",ol,p(e.$t("components.player.labels.nationality")),1),l.can(a.ACTION.GAME.PLAYER.MODIFY,a.RESOURCE.GAME)?(g(),P("td",ll,[c(U,{dense:"","label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:a.player.PlayerData.charinfo.nationality,"onUpdate:modelValue":t[11]||(t[11]=s=>a.player.PlayerData.charinfo.nationality=s),label:e.$t("components.player.labels.nationality")},null,8,["input-style","modelValue","label"])])):(g(),P("td",sl,p(a.player.PlayerData.charinfo.nationality),1))]),u("tr",null,[u("td",rl,p(e.$t("components.player.labels.phone")),1),l.can(a.ACTION.GAME.PLAYER.MODIFY,a.RESOURCE.GAME)?(g(),P("td",il,[c(U,{dense:"","label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:a.player.PlayerData.charinfo.phone,"onUpdate:modelValue":t[12]||(t[12]=s=>a.player.PlayerData.charinfo.phone=s),label:e.$t("components.player.labels.phone")},null,8,["input-style","modelValue","label"])])):(g(),P("td",cl,p(a.player.PlayerData.charinfo.phone),1))]),u("tr",null,[u("td",ul,p(e.$t("components.player.labels.backstory")),1),l.can(a.ACTION.GAME.PLAYER.MODIFY,a.RESOURCE.GAME)?(g(),P("td",dl,[c(U,{dense:"","label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:a.player.PlayerData.charinfo.backstory,"onUpdate:modelValue":t[13]||(t[13]=s=>a.player.PlayerData.charinfo.backstory=s),label:e.$t("components.player.labels.backstory")},null,8,["input-style","modelValue","label"])])):(g(),P("td",ml,p(a.player.PlayerData.charinfo.backstory),1))])]),_:1}),l.can(a.ACTION.GAME.PLAYER.MODIFY,a.RESOURCE.GAME)?(g(),G(M,{key:0,"text-color":"main",class:"q-ma-md",color:"primary",style:{"max-height":"24px"},onClick:l.setCharinfo,label:e.$t("general.save")},null,8,["onClick","label"])):B("",!0)]),_:1})]),_:1})]),u("div",hl,[c(Z,{class:"q-pa-sm bg-secondary col-12 col-md-6",style:{height:"100%"}},{default:h(()=>[c(H,{class:"col-12"},{default:h(()=>[u("div",pl,[u("span",fl,p(e.$t("components.player.headers.meta")),1)])]),_:1}),c(ve),c(H,{class:"col-12"},{default:h(()=>[c(Ee,{class:"bg-secondary text-main",flat:"",square:"",separator:"none"},{default:h(()=>[u("tr",null,[u("td",yl,p(e.$t("components.player.labels.isdead")),1),l.can(a.ACTION.GAME.PLAYER.META,a.RESOURCE.GAME)?(g(),P("td",gl,[c(Tt,{modelValue:a.player.PlayerData.metadata.isdead,"onUpdate:modelValue":[t[14]||(t[14]=s=>a.player.PlayerData.metadata.isdead=s),t[15]||(t[15]=s=>l.setMeta("isdead",a.player.PlayerData.metadata.isdead))],color:"green"},null,8,["modelValue"])])):(g(),P("td",vl,p(a.player.PlayerData.metadata.isdead),1))]),u("tr",null,[u("td",bl,p(e.$t("components.player.labels.ishandcuffed")),1),l.can(a.ACTION.GAME.PLAYER.META,a.RESOURCE.GAME)?(g(),P("td",Cl,[c(Tt,{modelValue:a.player.PlayerData.metadata.ishandcuffed,"onUpdate:modelValue":[t[16]||(t[16]=s=>a.player.PlayerData.metadata.ishandcuffed=s),t[17]||(t[17]=s=>l.setMeta("ishandcuffed",a.player.PlayerData.metadata.ishandcuffed))],color:"green"},null,8,["modelValue"])])):(g(),P("td",kl,p(a.player.PlayerData.metadata.ishandcuffed),1))]),u("tr",null,[u("td",_l,p(e.$t("components.player.labels.walletid")),1),u("td",xl,p(a.player.PlayerData.metadata.walletid),1)]),u("tr",null,[u("td",wl,p(e.$t("components.player.labels.fingerprint")),1),u("td",Pl,p(a.player.PlayerData.metadata.fingerprint),1)]),u("tr",null,[u("td",Ml,p(e.$t("components.player.labels.bloodtype")),1),u("td",Dl,p(a.player.PlayerData.metadata.bloodtype),1)]),u("tr",null,[u("td",ql,p(e.$t("components.player.labels.health")),1),u("td",El,p(a.player.PlayerData.health?a.player.PlayerData.health.toFixed(2):e.$t("general.offline")),1),l.can(a.ACTION.GAME.PLAYER.META,a.RESOURCE.GAME)&&a.player.PlayerData.source?(g(),P("td",$l,[c(M,{"text-color":"main",color:"primary",onClick:l.healPlayer,label:e.$t("general.heal")},null,8,["onClick","label"])])):B("",!0)]),u("tr",null,[u("td",Sl,p(e.$t("components.player.labels.thirst")),1),u("td",Al,p(a.player.PlayerData.metadata.thirst.toFixed(2)),1),l.can(a.ACTION.GAME.PLAYER.META,a.RESOURCE.GAME)?(g(),P("td",Ol,[c(M,{"text-color":"main",color:"primary",onClick:t[18]||(t[18]=s=>l.setMeta("thirst",100)),label:e.$t("general.fillUp")},null,8,["label"])])):B("",!0)]),u("tr",null,[u("td",Tl,p(e.$t("components.player.labels.hunger")),1),u("td",Rl,p(a.player.PlayerData.metadata.hunger.toFixed(2)),1),l.can(a.ACTION.GAME.PLAYER.META,a.RESOURCE.GAME)?(g(),P("td",Hl,[c(M,{"text-color":"main",color:"primary",onClick:t[19]||(t[19]=s=>l.setMeta("hunger",100)),label:e.$t("general.fillUp")},null,8,["label"])])):B("",!0)]),u("tr",null,[u("td",Yl,p(e.$t("components.player.labels.stress")),1),u("td",Ll,p(a.player.PlayerData.metadata.stress),1),l.can(a.ACTION.GAME.PLAYER.META,a.RESOURCE.GAME)?(g(),P("td",zl,[c(M,{"text-color":"main",color:"primary",onClick:t[20]||(t[20]=s=>l.setMeta("stress",0)),label:e.$t("general.relax")},null,8,["label"])])):B("",!0)]),u("tr",null,[u("td",Il,p(e.$t("components.player.labels.armor")),1),u("td",Nl,p(a.player.PlayerData.metadata.armor),1),l.can(a.ACTION.GAME.PLAYER.META,a.RESOURCE.GAME)?(g(),P("td",Vl,[c(M,{"text-color":"main",color:"primary",onClick:t[21]||(t[21]=s=>l.setMeta("armor",100)),label:e.$t("general.fillUp")},null,8,["label"])])):B("",!0)])]),_:1})]),_:1})]),_:1})]),u("div",Bl,[c(Z,{class:"q-pa-sm bg-secondary col-12 col-md-6",style:{height:"100%"}},{default:h(()=>[c(H,{class:"col-12"},{default:h(()=>[u("div",Ul,[u("span",Gl,p(e.$t("components.player.headers.money")),1)])]),_:1}),c(ve),c(H,{class:"col-12"},{default:h(()=>[c(Ee,{class:"bg-secondary text-main",flat:"",square:"",separator:"none"},{default:h(()=>[u("tr",null,[u("td",jl,p(e.$t("components.player.labels.money.cash")),1),l.can(a.ACTION.GAME.PLAYER.MONEY,a.RESOURCE.GAME)?(g(),P(ee,{key:0},[u("td",Fl,[c(U,{dense:"","label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:a.player.PlayerData.money.cash,"onUpdate:modelValue":t[22]||(t[22]=s=>a.player.PlayerData.money.cash=s),label:e.$t("components.player.labels.money.cash")},null,8,["input-style","modelValue","label"])]),u("td",null,[c(M,{"text-color":"main",class:"q-ml-md",color:"primary",style:{"max-height":"24px"},onClick:t[23]||(t[23]=s=>l.changeMoney("add","cash")),label:e.$t("components.player.buttons.money.give")},null,8,["label"]),c(M,{"text-color":"main",class:"q-ml-md",color:"primary",style:{"max-height":"24px"},onClick:t[24]||(t[24]=s=>l.changeMoney("remove","cash")),label:e.$t("components.player.buttons.money.remove")},null,8,["label"]),c(M,{"text-color":"main",class:"q-ml-md",color:"primary",style:{"max-height":"24px"},onClick:t[25]||(t[25]=s=>l.updateMoney("cash")),label:e.$t("components.player.buttons.money.set")},null,8,["label"])])],64)):(g(),P("td",Ql,p(a.player.PlayerData.money.cash),1))]),u("tr",null,[u("td",Jl,p(e.$t("components.player.labels.money.bank")),1),l.can(a.ACTION.GAME.PLAYER.MONEY,a.RESOURCE.GAME)?(g(),P(ee,{key:0},[u("td",Wl,[c(U,{dense:"","label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:a.player.PlayerData.money.bank,"onUpdate:modelValue":t[26]||(t[26]=s=>a.player.PlayerData.money.bank=s),label:e.$t("components.player.labels.money.bank")},null,8,["input-style","modelValue","label"])]),u("td",null,[c(M,{"text-color":"main",class:"q-ml-md",color:"primary",style:{"max-height":"24px"},onClick:t[27]||(t[27]=s=>l.changeMoney("add","bank")),label:e.$t("components.player.buttons.money.give")},null,8,["label"]),c(M,{"text-color":"main",class:"q-ml-md",color:"primary",style:{"max-height":"24px"},onClick:t[28]||(t[28]=s=>l.changeMoney("remove","bank")),label:e.$t("components.player.buttons.money.remove")},null,8,["label"]),c(M,{"text-color":"main",class:"q-ml-md",color:"primary",style:{"max-height":"24px"},type:"number",onClick:t[29]||(t[29]=s=>l.updateMoney("bank")),label:e.$t("components.player.buttons.money.set")},null,8,["label"])])],64)):(g(),P("td",Zl,p(a.player.PlayerData.money.bank),1))]),u("tr",null,[u("td",Kl,p(e.$t("components.player.labels.money.crypto")),1),l.can(a.ACTION.GAME.PLAYER.MONEY,a.RESOURCE.GAME)?(g(),P(ee,{key:0},[u("td",Xl,[c(U,{dense:"","label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:a.player.PlayerData.money.crypto,"onUpdate:modelValue":t[30]||(t[30]=s=>a.player.PlayerData.money.crypto=s),label:e.$t("components.player.labels.money.crypto")},null,8,["input-style","modelValue","label"])]),u("td",null,[c(M,{"text-color":"main",class:"q-ml-md",color:"primary",style:{"max-height":"24px"},onClick:t[31]||(t[31]=s=>l.changeMoney("add","crypto")),label:e.$t("components.player.buttons.money.give")},null,8,["label"]),c(M,{"text-color":"main",class:"q-ml-md",color:"primary",style:{"max-height":"24px"},onClick:t[32]||(t[32]=s=>l.changeMoney("remove","crypto")),label:e.$t("components.player.buttons.money.remove")},null,8,["label"]),c(M,{"text-color":"main",class:"q-ml-md",color:"primary",style:{"max-height":"24px"},type:"number",onClick:t[33]||(t[33]=s=>l.updateMoney("crypto")),label:e.$t("components.player.buttons.money.set")},null,8,["label"])])],64)):(g(),P("td",es,p(a.player.PlayerData.money.crypto),1))]),(g(!0),P(ee,null,Ge(a.moneyTypes,(s,m)=>(g(),P("tr",{key:m},[u("td",ts,p(s),1),l.can(a.ACTION.GAME.PLAYER.MONEY,a.RESOURCE.GAME)?(g(),P(ee,{key:0},[u("td",as,[c(U,{dense:"","label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:a.player.PlayerData.money[m],"onUpdate:modelValue":C=>a.player.PlayerData.money[m]=C,label:s},null,8,["input-style","modelValue","onUpdate:modelValue","label"])]),u("td",null,[c(M,{"text-color":"main",class:"q-ml-md",color:"primary",style:{"max-height":"24px"},onClick:C=>l.changeMoney("add",m),label:e.$t("components.player.buttons.money.give")},null,8,["onClick","label"]),c(M,{"text-color":"main",class:"q-ml-md",color:"primary",style:{"max-height":"24px"},onClick:C=>l.changeMoney("remove",m),label:e.$t("components.player.buttons.money.remove")},null,8,["onClick","label"]),c(M,{"text-color":"main",class:"q-ml-md",color:"primary",style:{"max-height":"24px"},type:"number",onClick:C=>l.updateMoney(m),label:e.$t("components.player.buttons.money.set")},null,8,["onClick","label"])])],64)):(g(),P("td",ns,p(a.player.PlayerData.money.cash),1))]))),128))]),_:1}),u("div",os,p(e.$t("components.player.moneyDisclaimer")),1)]),_:1})]),_:1})]),u("div",ls,[c(Z,{class:"q-pa-sm bg-secondary col-12 col-md-6",style:{height:"100%"}},{default:h(()=>[c(H,{class:"col-12"},{default:h(()=>[u("div",ss,[u("span",rs,p(e.$t("components.player.headers.job")),1)])]),_:1}),c(ve),c(H,{class:"col-12"},{default:h(()=>[c(Ee,{class:"bg-secondary text-main",flat:"",square:"",separator:"none"},{default:h(()=>[u("tr",null,[u("td",is,p(e.$t("components.player.labels.job.name")),1),u("td",cs,p(a.player.PlayerData.job.label),1)]),u("tr",null,[u("td",us,p(e.$t("components.player.labels.job.grade")),1),u("td",ds,p(a.player.PlayerData.job.grade.name),1)])]),_:1}),l.can(a.ACTION.GAME.PLAYER.JOB,a.RESOURCE.GAME)?(g(),G(M,{key:0,"text-color":"main",class:"q-ma-md",onClick:l.tryChangeJob,color:"primary",label:e.$t("general.change")},null,8,["onClick","label"])):B("",!0)]),_:1})]),_:1})]),u("div",ms,[c(Z,{class:"q-pa-sm bg-secondary col-12 col-md-6",style:{height:"100%"}},{default:h(()=>[c(H,{class:"col-12"},{default:h(()=>[u("div",hs,[u("span",ps,p(e.$t("components.player.headers.gang")),1)])]),_:1}),c(ve),c(H,{class:"col-12"},{default:h(()=>[c(Ee,{class:"bg-secondary text-main",flat:"",square:"",separator:"none"},{default:h(()=>[u("tr",null,[u("td",fs,p(e.$t("components.player.labels.gang.name")),1),u("td",ys,p(a.player.PlayerData.gang.label),1)]),u("tr",null,[u("td",gs,p(e.$t("components.player.labels.gang.grade")),1),u("td",vs,p(a.player.PlayerData.gang.grade.name),1)])]),_:1}),l.can(a.ACTION.GAME.PLAYER.GANG,a.RESOURCE.GAME)?(g(),G(M,{key:0,"text-color":"main",class:"q-ma-md",onClick:l.tryChangeGang,color:"primary",label:e.$t("general.change")},null,8,["onClick","label"])):B("",!0)]),_:1})]),_:1})])])):B("",!0)}const Cs=ue(Xn,[["render",bs]]);const ks={name:"PlayerLogs",data(){return{logs:[],threshold:0,isAtTop:!1,autoScroll:!0,searchText:""}},watch:{isAtTop(e){e&&this.fetchLogs()}},methods:{handleScroll(e){this.isAtTop=e.target.scrollTop<=this.threshold},async fetchLogs(){await this.$axios.post(`/api/logs/${this.$route.params.citizenid}`,{fromline:this.logs[0]}).then(e=>{const t=e.data.logs;Array.isArray(t)&&t.forEach(o=>this.logs.unshift(o)),this.$nextTick(async()=>{const o=this.$refs.logContainer;if(o.scrollHeight===o.clientHeight&&t.length===50){if(await this.fetchLogs(),!this.autoScroll)return;o.scrollTop=o.scrollHeight}})})}},async mounted(){await this.fetchLogs();const e=this.$refs.logContainer;!this.autoScroll||(e.scrollTop=e.scrollHeight)}},_s={class:"row q-mb-md"},xs={class:"col-12 q-px-sm"},ws={class:"q-mb-sm row items-center"},Ps={class:"text-caption q-mx-auto text-center text-sub"};function Ms(e,t,o,i,a,l){return g(),P("div",_s,[u("div",xs,[c(Z,{class:"bg-secondary q-mt-sm q-pa-md",style:{height:"100%"}},{default:h(()=>[u("div",ws,[c(La,{modelValue:a.autoScroll,"onUpdate:modelValue":t[0]||(t[0]=s=>a.autoScroll=s),label:"Auto Scroll"},null,8,["modelValue"]),u("div",Ps,p(e.$t("components.logs.loadMore")),1)]),u("div",{class:"q-pa-sm log-container",ref:"logContainer",onScroll:t[1]||(t[1]=(...s)=>l.handleScroll&&l.handleScroll(...s))},[(g(!0),P(ee,null,Ge(a.logs,(s,m)=>(g(),P("code",{style:{display:"block"},key:m},p(s),1))),128))],544),c(U,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",dense:"",class:"full-width",square:"",modelValue:a.searchText,"onUpdate:modelValue":t[2]||(t[2]=s=>a.searchText=s),label:e.$t("general.search")},null,8,["input-style","modelValue","label"])]),_:1})])])}const Ds=ue(ks,[["render",Ms],["__scopeId","data-v-a7cc3e3f"]]),qs={name:"PlayerVehicles",data(){return{ACTION:vt,RESOURCE:bt,columns:[{name:"citizenid",align:"left",label:this.$i18n.t("components.vehicleList.headers.owner"),field:e=>e.citizenid,format:e=>`${e}`,sortable:!0},{name:"plate",align:"left",label:this.$i18n.t("components.vehicleList.headers.plate"),field:e=>e.plate,format:e=>`${e}`,sortable:!0},{name:"vehicle",align:"left",label:this.$i18n.t("components.vehicleList.headers.vehicle"),field:e=>e.vehicle,format:e=>`${e}`},{name:"spawned",align:"center",label:this.$i18n.t("components.vehicleList.headers.spawned"),field:e=>e.spawned,format:e=>`${e}`},{name:"state",align:"center",label:this.$i18n.t("components.vehicleList.headers.state"),field:e=>e.state,format:e=>`${e}`},{name:"engine",align:"center",label:this.$i18n.t("components.vehicleList.headers.engine"),field:e=>e.engine,format:e=>`${e}`},{name:"body",align:"center",label:this.$i18n.t("components.vehicleList.headers.body"),field:e=>e.body,format:e=>`${e}`},{name:"fuel",align:"center",label:this.$i18n.t("components.vehicleList.headers.fuel"),field:e=>e.fuel,format:e=>`${e}`}],vehicles:[],pagination:{sortBy:"plate",descending:!1,page:1,rowsPerPage:25},loading:!0,filter:""}},methods:{can:ta,getRowsNumberCount(e){return this.$axios.post(`/api/players/${this.$route.params.citizenid}/vehicle-count`,{filter:e}).then(t=>t.data.count)},fetchFromServer(e,t,o,i,a){return this.$axios.post(`/api/players/${this.$route.params.citizenid}/vehicles`,{startRow:e,count:t,filter:o,sortBy:i,descending:a}).then(l=>l.data.vehicles)},async onRequest(e){const{page:t,rowsPerPage:o,sortBy:i,descending:a}=e.pagination,l=e.filter;this.loading=!0,this.pagination.rowsNumber=await this.getRowsNumberCount(l);const s=o===0?this.pagination.rowsNumber:o,m=(t-1)*o,C=await this.fetchFromServer(m,s,l,i,a);this.vehicles.splice(0,this.vehicles.length,...C),this.pagination.page=t,this.pagination.rowsPerPage=o,this.pagination.sortBy=i,this.pagination.descending=a,this.loading=!1},onRowClick(e){!this.can(vt.GAME.VEHICLE.READ,bt.GAME)||this.$router.push({name:"game-vehicle-detail",params:{vehicleId:e.id}})},getPaginationLabel(e,t,o){return this.$i18n.t("components.vehicleList.paginationLabel",{from:e,to:t,total:o})}},mounted(){this.$refs.tableRef.requestServerInteraction()}},Es={class:"col-12 col-md-6 q-pa-sm"},$s={class:"row"},Ss={class:"col-12"},As={class:"q-mx-md q-my-sm row flex-center"},Os={class:"text-caption text-sub"},Ts={class:"q-ml-auto"};function Rs(e,t,o,i,a,l){return g(),P("div",Es,[c(Z,{class:"bg-secondary full-width"},{default:h(()=>[u("div",$s,[u("div",Ss,[u("div",As,[u("div",Os,p(e.$t("components.vehicleList.subheader")),1),u("div",Ts,[l.can(a.ACTION.GAME.VEHICLE.CREATE,a.RESOURCE.GAME)?(g(),G(M,{key:0,"text-color":"main",color:"primary",onClick:t[0]||(t[0]=s=>e.$router.push({name:"game-vehicle-create",query:{citizenid:e.$route.params.citizenid}})),label:e.$t("components.vehicleList.createVehicle"),class:"q-ma-sm"},null,8,["label"])):B("",!0)])]),c(ve),c(Xt,{ref:"tableRef",color:"primary","card-class":"bg-secondary text-main","table-class":"text-main","table-header-class":"text-primary",flat:"",rows:a.vehicles,columns:a.columns,"row-key":"name",pagination:a.pagination,"onUpdate:pagination":t[2]||(t[2]=s=>a.pagination=s),"rows-per-page-options":[0,25,50,100],"no-results-label":e.$t("components.vehicleList.noData"),"loading-label":e.$t("components.vehicleList.loadData"),loading:a.loading,filter:a.filter,"binary-state-sort":"","pagination-label":l.getPaginationLabel,"rows-per-page-label":`${e.$t("components.vehicleList.recordsPerPage")}:`,onRequest:l.onRequest},{"top-right":h(()=>[c(U,{"input-style":{color:"var(--q-main)"},borderless:"",dense:"",debounce:"300",modelValue:a.filter,"onUpdate:modelValue":t[1]||(t[1]=s=>a.filter=s),placeholder:e.$t("general.search")},{append:h(()=>[c(Ce,{class:"text-main",name:"search"})]),_:1},8,["input-style","modelValue","placeholder"])]),body:h(s=>[c(ea,{props:s,onClick:m=>l.onRowClick(s.row),class:za(l.can(a.ACTION.GAME.VEHICLE.READ,a.RESOURCE.GAME)?"cursor-pointer":"")},{default:h(()=>[c(se,{key:"citizenid",props:s},{default:h(()=>[te(p(s.row.citizenid),1)]),_:2},1032,["props"]),c(se,{key:"plate",props:s},{default:h(()=>[te(p(s.row.plate),1)]),_:2},1032,["props"]),c(se,{key:"vehicle",props:s},{default:h(()=>[te(p(s.row.vehicle),1)]),_:2},1032,["props"]),c(se,{key:"spawned",props:s,style:{width:"50px"}},{default:h(()=>[c(Ht,{size:"sm",color:s.row.spawned?"positive":"negative","text-color":"main",label:s.row.spawned?e.$t("general.yes"):e.$t("general.no")},null,8,["color","label"])]),_:2},1032,["props"]),c(se,{key:"state",props:s,style:{width:"50px"}},{default:h(()=>[c(Ht,{size:"sm",color:"primary","text-color":"main",label:s.row.state===0?e.$t("components.vehicleList.outside"):s.row.state===1?e.$t("components.vehicleList.garage"):e.$t("components.vehicleList.inpound")},null,8,["label"])]),_:2},1032,["props"]),c(se,{key:"engine",props:s,style:{width:"30px"}},{default:h(()=>[te(p(s.row.engine),1)]),_:2},1032,["props"]),c(se,{key:"body",props:s,style:{width:"30px"}},{default:h(()=>[te(p(s.row.body),1)]),_:2},1032,["props"]),c(se,{key:"fuel",props:s,style:{width:"30px"}},{default:h(()=>[te(p(s.row.fuel),1)]),_:2},1032,["props"])]),_:2},1032,["props","onClick","class"])]),_:1},8,["rows","columns","pagination","no-results-label","loading-label","loading","filter","pagination-label","rows-per-page-label","onRequest"])])])]),_:1})])}const Hs=ue(qs,[["render",Rs]]);function ia(e,t){if(t&&e===t)return null;const o=e.nodeName.toLowerCase();if(["div","li","ul","ol","blockquote"].includes(o)===!0)return e;const i=window.getComputedStyle?window.getComputedStyle(e):e.currentStyle,a=i.display;return a==="block"||a==="table"?e:ia(e.parentNode)}function ft(e,t,o){return!e||e===document.body?!1:o===!0&&e===t||(t===document?document.body:t).contains(e.parentNode)}function ca(e,t,o){if(o||(o=document.createRange(),o.selectNode(e),o.setStart(e,0)),t.count===0)o.setEnd(e,t.count);else if(t.count>0)if(e.nodeType===Node.TEXT_NODE)e.textContent.length0:!1}get range(){const t=this.selection;return t!==null&&t.rangeCount?t.getRangeAt(0):this._range}get parent(){const t=this.range;if(t!==null){const o=t.startContainer;return o.nodeType===document.ELEMENT_NODE?o:o.parentNode}return null}get blockParent(){const t=this.parent;return t!==null?ia(t,this.el):null}save(t=this.range){t!==null&&(this._range=t)}restore(t=this._range){const o=document.createRange(),i=document.getSelection();t!==null?(o.setStart(t.startContainer,t.startOffset),o.setEnd(t.endContainer,t.endOffset),i.removeAllRanges(),i.addRange(o)):(i.selectAllChildren(this.el),i.collapseToEnd())}savePosition(){let t=-1,o;const i=document.getSelection(),a=this.el.parentNode;if(i.focusNode&&ft(i.focusNode,a))for(o=i.focusNode,t=i.focusOffset;o&&o!==a;)o!==this.el&&o.previousSibling?(o=o.previousSibling,t+=o.textContent.length):o=o.parentNode;this.savedPos=t}restorePosition(t=0){if(this.savedPos>0&&this.savedPos - - - Print - ${document.title} - - -
${this.el.innerHTML}
- - - `),a.print(),a.close();return}else if(t==="link"){const a=this.getParentAttribute("href");if(a===null){const l=this.selectWord(this.selection),s=l?l.toString():"";if(!s.length&&(!this.range||!this.range.cloneContents().querySelector("img")))return;this.eVm.editLinkUrl.value=Ys.test(s)?s:"https://",document.execCommand("createLink",!1,this.eVm.editLinkUrl.value),this.save(l.getRangeAt(0))}else this.eVm.editLinkUrl.value=a,this.range.selectNodeContents(this.parent),this.save();return}else if(t==="fullscreen"){this.eVm.toggleFullscreen(),i();return}else if(t==="viewsource"){this.eVm.isViewingSource.value=this.eVm.isViewingSource.value===!1,this.eVm.setContent(this.eVm.props.modelValue),i();return}document.execCommand(t,!1,o),i()}selectWord(t){if(t===null||t.isCollapsed!==!0||t.modify===void 0)return t;const o=document.createRange();o.setStart(t.anchorNode,t.anchorOffset),o.setEnd(t.focusNode,t.focusOffset);const i=o.collapsed?["backward","forward"]:["forward","backward"];o.detach();const a=t.focusNode,l=t.focusOffset;return t.collapse(t.anchorNode,t.anchorOffset),t.modify("move",i[0],"character"),t.modify("move",i[1],"word"),t.extend(a,l),t.modify("extend",i[1],"character"),t.modify("extend",i[0],"word"),t}}const zs=et({name:"QBtnGroup",props:{unelevated:Boolean,outline:Boolean,flat:Boolean,rounded:Boolean,square:Boolean,push:Boolean,stretch:Boolean,glossy:Boolean,spread:Boolean},setup(e,{slots:t}){const o=D(()=>{const i=["unelevated","outline","flat","rounded","square","push","stretch","glossy"].filter(a=>e[a]===!0).map(a=>`q-btn-group--${a}`).join(" ");return`q-btn-group row no-wrap${i.length>0?" "+i:""}`+(e.spread===!0?" q-btn-group--spread":" inline")});return()=>v("div",{class:o.value},tt(t.default))}}),ua=Object.keys(Ba),Is=ua.reduce((e,t)=>(e[t]={})&&e,{}),Ns=e=>ua.reduce((t,o)=>{const i=e[o];return i!==void 0&&(t[o]=i),t},{}),Vs=et({name:"QBtnDropdown",props:{...Is,...Na,modelValue:Boolean,split:Boolean,dropdownIcon:String,contentClass:[Array,String,Object],contentStyle:[Array,String,Object],cover:Boolean,persistent:Boolean,noRouteDismiss:Boolean,autoClose:Boolean,menuAnchor:{type:String,default:"bottom end"},menuSelf:{type:String,default:"top end"},menuOffset:Array,disableMainBtn:Boolean,disableDropdown:Boolean,noIconAnimation:Boolean,toggleAriaLabel:String},emits:["update:modelValue","click","before-show","show","before-hide","hide"],setup(e,{slots:t,emit:o}){const{proxy:i}=kt(),a=K(e.modelValue),l=K(null),s=Va(),m=D(()=>{const b={"aria-expanded":a.value===!0?"true":"false","aria-haspopup":"true","aria-controls":s,"aria-owns":s,"aria-label":e.toggleAriaLabel||i.$q.lang.label[a.value===!0?"collapse":"expand"](e.label)};return(e.disable===!0||e.split===!1&&e.disableMainBtn===!0||e.disableDropdown===!0)&&(b["aria-disabled"]="true"),b}),C=D(()=>"q-btn-dropdown__arrow"+(a.value===!0&&e.noIconAnimation===!1?" rotate-180":"")+(e.split===!1?" q-btn-dropdown__arrow-container":"")),A=D(()=>Ua(e)),k=D(()=>Ns(e));ce(()=>e.modelValue,b=>{l.value!==null&&l.value[b?"show":"hide"]()}),ce(()=>e.split,Q);function q(b){a.value=!0,o("before-show",b)}function O(b){o("show",b),o("update:modelValue",!0)}function $(b){a.value=!1,o("before-hide",b)}function V(b){o("hide",b),o("update:modelValue",!1)}function J(b){o("click",b)}function L(b){Zt(b),Q(),o("click",b)}function le(b){l.value!==null&&l.value.toggle(b)}function de(b){l.value!==null&&l.value.show(b)}function Q(b){l.value!==null&&l.value.hide(b)}return Object.assign(i,{show:de,hide:Q,toggle:le}),Wt(()=>{e.modelValue===!0&&de()}),()=>{const b=[v(Ce,{class:C.value,name:e.dropdownIcon||i.$q.iconSet.arrow.dropdown})];return e.disableDropdown!==!0&&b.push(v(on,{ref:l,id:s,class:e.contentClass,style:e.contentStyle,cover:e.cover,fit:!0,persistent:e.persistent,noRouteDismiss:e.noRouteDismiss,autoClose:e.autoClose,anchor:e.menuAnchor,self:e.menuSelf,offset:e.menuOffset,separateClosePopup:!0,transitionShow:e.transitionShow,transitionHide:e.transitionHide,transitionDuration:e.transitionDuration,onBeforeShow:q,onShow:O,onBeforeHide:$,onHide:V},t.default)),e.split===!1?v(M,{class:"q-btn-dropdown q-btn-dropdown--simple",...k.value,...m.value,disable:e.disable===!0||e.disableMainBtn===!0,noWrap:!0,round:!1,onClick:J},{default:()=>tt(t.label,[]).concat(b),loading:t.loading}):v(zs,{class:"q-btn-dropdown q-btn-dropdown--split no-wrap q-btn-item",rounded:e.rounded,square:e.square,...A.value,glossy:e.glossy,stretch:e.stretch},()=>[v(M,{class:"q-btn-dropdown--current",...k.value,disable:e.disable===!0||e.disableMainBtn===!0,noWrap:!0,round:!1,onClick:L},{default:t.label,loading:t.loading}),v(M,{class:"q-btn-dropdown__arrow-container q-anchor--skip",...m.value,...A.value,disable:e.disable===!0||e.disableDropdown===!0,rounded:e.rounded,color:e.color,textColor:e.textColor,dense:e.dense,size:e.size,padding:e.padding,ripple:e.ripple},()=>b)])}}});function da(e,t,o){t.handler?t.handler(e,o,o.caret):o.runCmd(t.cmd,t.param)}function xt(e){return v("div",{class:"q-editor__toolbar-group"},e)}function ma(e,t,o,i=!1){const a=i||(t.type==="toggle"?t.toggled?t.toggled(e):t.cmd&&e.caret.is(t.cmd,t.param):!1),l=[];if(t.tip&&e.$q.platform.is.desktop){const s=t.key?v("div",[v("small",`(CTRL + ${String.fromCharCode(t.key)})`)]):null;l.push(v(hn,{delay:1e3},()=>[v("div",{innerHTML:t.tip}),s]))}return v(M,{...e.buttonProps.value,icon:t.icon!==null?t.icon:void 0,color:a?t.toggleColor||e.props.toolbarToggleColor:t.color||e.props.toolbarColor,textColor:a&&!e.props.toolbarPush?null:t.textColor||e.props.toolbarTextColor,label:t.label,disable:t.disable?typeof t.disable=="function"?t.disable(e):!0:!1,size:"sm",onClick(s){o&&o(),da(s,t,e)}},()=>l)}function Bs(e,t){const o=t.list==="only-icons";let i=t.label,a=t.icon!==null?t.icon:void 0,l,s;function m(){A.component.proxy.hide()}if(o)s=t.options.map(k=>{const q=k.type===void 0?e.caret.is(k.cmd,k.param):!1;return q&&(i=k.tip,a=k.icon!==null?k.icon:void 0),ma(e,k,m,q)}),l=e.toolbarBackgroundClass.value,s=[xt(s)];else{const k=e.props.toolbarToggleColor!==void 0?`text-${e.props.toolbarToggleColor}`:null,q=e.props.toolbarTextColor!==void 0?`text-${e.props.toolbarTextColor}`:null,O=t.list==="no-icons";s=t.options.map($=>{const V=$.disable?$.disable(e):!1,J=$.type===void 0?e.caret.is($.cmd,$.param):!1;J&&(i=$.tip,a=$.icon!==null?$.icon:void 0);const L=$.htmlTip;return v(Se,{active:J,activeClass:k,clickable:!0,disable:V,dense:!0,onClick(le){m(),e.contentRef.value!==null&&e.contentRef.value.focus(),e.caret.restore(),da(le,$,e)}},()=>[O===!0?null:v(xe,{class:J?k:q,side:!0},()=>v(Ce,{name:$.icon!==null?$.icon:void 0})),v(xe,L?()=>v("div",{class:"text-no-wrap",innerHTML:$.htmlTip}):$.tip?()=>v("div",{class:"text-no-wrap"},$.tip):void 0)])}),l=[e.toolbarBackgroundClass.value,q]}const C=t.highlight&&i!==t.label,A=v(Vs,{...e.buttonProps.value,noCaps:!0,noWrap:!0,color:C?e.props.toolbarToggleColor:e.props.toolbarColor,textColor:C&&!e.props.toolbarPush?null:e.props.toolbarTextColor,label:t.fixedLabel?t.label:i,icon:t.fixedIcon?t.icon!==null?t.icon:void 0:a,contentClass:l},()=>s);return A}function Us(e){if(e.caret)return e.buttons.value.filter(t=>!e.isViewingSource.value||t.find(o=>o.cmd==="viewsource")).map(t=>xt(t.map(o=>e.isViewingSource.value&&o.cmd!=="viewsource"?!1:o.type==="slot"?tt(e.slots[o.slot]):o.type==="dropdown"?Bs(e,o):ma(e,o))))}function Gs(e,t,o,i={}){const a=Object.keys(i);if(a.length===0)return{};const l={default_font:{cmd:"fontName",param:e,icon:o,tip:t}};return a.forEach(s=>{const m=i[s];l[s]={cmd:"fontName",param:m,icon:o,tip:m,htmlTip:`${m}`}}),l}function js(e){if(e.caret){const t=e.props.toolbarColor||e.props.toolbarTextColor;let o=e.editLinkUrl.value;const i=()=>{e.caret.restore(),o!==e.editLinkUrl.value&&document.execCommand("createLink",!1,o===""?" ":o),e.editLinkUrl.value=null};return[v("div",{class:`q-mx-xs text-${t}`},`${e.$q.lang.editor.url}: `),v("input",{key:"qedt_btm_input",class:"col q-editor__link-input",value:o,onInput:a=>{Zt(a),o=a.target.value},onKeydown:a=>{if(Kt(a)!==!0)switch(a.keyCode){case 13:return Rt(a),i();case 27:Rt(a),e.caret.restore(),(!e.editLinkUrl.value||e.editLinkUrl.value==="https://")&&document.execCommand("unlink"),e.editLinkUrl.value=null;break}}}),xt([v(M,{key:"qedt_btm_rem",tabindex:-1,...e.buttonProps.value,label:e.$q.lang.label.remove,noCaps:!0,onClick:()=>{e.caret.restore(),document.execCommand("unlink"),e.editLinkUrl.value=null}}),v(M,{key:"qedt_btm_upd",...e.buttonProps.value,label:e.$q.lang.label.update,noCaps:!0,onClick:i})])]}}const Fs=Object.prototype.toString,yt=Object.prototype.hasOwnProperty,Qs=new Set(["Boolean","Number","String","Function","Array","Date","RegExp"].map(e=>"[object "+e+"]"));function jt(e){if(e!==Object(e)||Qs.has(Fs.call(e))===!0||e.constructor&&yt.call(e,"constructor")===!1&&yt.call(e.constructor.prototype,"isPrototypeOf")===!1)return!1;let t;for(t in e);return t===void 0||yt.call(e,t)}function ha(){let e,t,o,i,a,l,s=arguments[0]||{},m=1,C=!1;const A=arguments.length;for(typeof s=="boolean"&&(C=s,s=arguments[1]||{},m=2),Object(s)!==s&&typeof s!="function"&&(s={}),A===m&&(s=this,m--);me.length===0||e.every(t=>t.length),default(){return[["left","center","right","justify"],["bold","italic","underline","strike"],["undo","redo"]]}},toolbarColor:String,toolbarBg:String,toolbarTextColor:String,toolbarToggleColor:{type:String,default:"primary"},toolbarOutline:Boolean,toolbarPush:Boolean,toolbarRounded:Boolean,paragraphTag:{type:String,validator:e=>["div","p"].includes(e),default:"div"},contentStyle:Object,contentClass:[Object,Array,String],square:Boolean,flat:Boolean,dense:Boolean},emits:[...an,"update:modelValue","keydown","click","mouseup","keyup","touchend","focus","blur"],setup(e,{slots:t,emit:o,attrs:i}){const{proxy:a,vnode:l}=kt(),{$q:s}=a,m=Jt(e,s),{inFullscreen:C,toggleFullscreen:A}=nn(),k=Ga(i,l),q=K(null),O=K(null),$=K(null),V=K(!1),J=D(()=>!e.readonly&&!e.disable);let L,le,de=e.modelValue;document.execCommand("defaultParagraphSeparator",!1,e.paragraphTag),L=window.getComputedStyle(document.body).fontFamily;const Q=D(()=>e.toolbarBg?` bg-${e.toolbarBg}`:""),b=D(()=>({type:"a",flat:e.toolbarOutline!==!0&&e.toolbarPush!==!0,noWrap:!0,outline:e.toolbarOutline,push:e.toolbarPush,rounded:e.toolbarRounded,dense:!0,color:e.toolbarColor,disable:!J.value,size:"sm"})),j=D(()=>{const f=s.lang.editor,y=s.iconSet.editor;return{bold:{cmd:"bold",icon:y.bold,tip:f.bold,key:66},italic:{cmd:"italic",icon:y.italic,tip:f.italic,key:73},strike:{cmd:"strikeThrough",icon:y.strikethrough,tip:f.strikethrough,key:83},underline:{cmd:"underline",icon:y.underline,tip:f.underline,key:85},unordered:{cmd:"insertUnorderedList",icon:y.unorderedList,tip:f.unorderedList},ordered:{cmd:"insertOrderedList",icon:y.orderedList,tip:f.orderedList},subscript:{cmd:"subscript",icon:y.subscript,tip:f.subscript,htmlTip:"x2"},superscript:{cmd:"superscript",icon:y.superscript,tip:f.superscript,htmlTip:"x2"},link:{cmd:"link",disable:T=>T.caret&&!T.caret.can("link"),icon:y.hyperlink,tip:f.hyperlink,key:76},fullscreen:{cmd:"fullscreen",icon:y.toggleFullscreen,tip:f.toggleFullscreen,key:70},viewsource:{cmd:"viewsource",icon:y.viewSource,tip:f.viewSource},quote:{cmd:"formatBlock",param:"BLOCKQUOTE",icon:y.quote,tip:f.quote,key:81},left:{cmd:"justifyLeft",icon:y.left,tip:f.left},center:{cmd:"justifyCenter",icon:y.center,tip:f.center},right:{cmd:"justifyRight",icon:y.right,tip:f.right},justify:{cmd:"justifyFull",icon:y.justify,tip:f.justify},print:{type:"no-state",cmd:"print",icon:y.print,tip:f.print,key:80},outdent:{type:"no-state",disable:T=>T.caret&&!T.caret.can("outdent"),cmd:"outdent",icon:y.outdent,tip:f.outdent},indent:{type:"no-state",disable:T=>T.caret&&!T.caret.can("indent"),cmd:"indent",icon:y.indent,tip:f.indent},removeFormat:{type:"no-state",cmd:"removeFormat",icon:y.removeFormat,tip:f.removeFormat},hr:{type:"no-state",cmd:"insertHorizontalRule",icon:y.hr,tip:f.hr},undo:{type:"no-state",cmd:"undo",icon:y.undo,tip:f.undo,key:90},redo:{type:"no-state",cmd:"redo",icon:y.redo,tip:f.redo,key:89},h1:{cmd:"formatBlock",param:"H1",icon:y.heading1||y.heading,tip:f.heading1,htmlTip:`

${f.heading1}

`},h2:{cmd:"formatBlock",param:"H2",icon:y.heading2||y.heading,tip:f.heading2,htmlTip:`

${f.heading2}

`},h3:{cmd:"formatBlock",param:"H3",icon:y.heading3||y.heading,tip:f.heading3,htmlTip:`

${f.heading3}

`},h4:{cmd:"formatBlock",param:"H4",icon:y.heading4||y.heading,tip:f.heading4,htmlTip:`

${f.heading4}

`},h5:{cmd:"formatBlock",param:"H5",icon:y.heading5||y.heading,tip:f.heading5,htmlTip:`
${f.heading5}
`},h6:{cmd:"formatBlock",param:"H6",icon:y.heading6||y.heading,tip:f.heading6,htmlTip:`
${f.heading6}
`},p:{cmd:"formatBlock",param:e.paragraphTag,icon:y.heading,tip:f.paragraph},code:{cmd:"formatBlock",param:"PRE",icon:y.code,htmlTip:`${f.code}`},"size-1":{cmd:"fontSize",param:"1",icon:y.size1||y.size,tip:f.size1,htmlTip:`${f.size1}`},"size-2":{cmd:"fontSize",param:"2",icon:y.size2||y.size,tip:f.size2,htmlTip:`${f.size2}`},"size-3":{cmd:"fontSize",param:"3",icon:y.size3||y.size,tip:f.size3,htmlTip:`${f.size3}`},"size-4":{cmd:"fontSize",param:"4",icon:y.size4||y.size,tip:f.size4,htmlTip:`${f.size4}`},"size-5":{cmd:"fontSize",param:"5",icon:y.size5||y.size,tip:f.size5,htmlTip:`${f.size5}`},"size-6":{cmd:"fontSize",param:"6",icon:y.size6||y.size,tip:f.size6,htmlTip:`${f.size6}`},"size-7":{cmd:"fontSize",param:"7",icon:y.size7||y.size,tip:f.size7,htmlTip:`${f.size7}`}}}),Ae=D(()=>{const f=e.definitions||{},y=e.definitions||e.fonts?ha(!0,{},j.value,f,Gs(L,s.lang.editor.defaultFont,s.iconSet.editor.font,e.fonts)):j.value;return e.toolbar.map(T=>T.map(S=>{if(S.options)return{type:"dropdown",icon:S.icon,label:S.label,size:"sm",dense:!0,fixedLabel:S.fixedLabel,fixedIcon:S.fixedIcon,highlight:S.highlight,list:S.list,options:S.options.map(Ie=>y[Ie])};const I=y[S];return I?I.type==="no-state"||f[S]&&(I.cmd===void 0||j.value[I.cmd]&&j.value[I.cmd].type==="no-state")?I:Object.assign({type:"toggle"},I):{type:"slot",slot:S}}))}),F={$q:s,props:e,slots:t,inFullscreen:C,toggleFullscreen:A,runCmd:ze,isViewingSource:V,editLinkUrl:$,toolbarBackgroundClass:Q,buttonProps:b,contentRef:O,buttons:Ae,setContent:Le};ce(()=>e.modelValue,f=>{de!==f&&(de=f,Le(f,!0))});const Oe=D(()=>e.toolbar&&e.toolbar.length>0),Te=D(()=>{const f={},y=T=>{T.key&&(f[T.key]={cmd:T.cmd,param:T.param})};return Ae.value.forEach(T=>{T.forEach(S=>{S.options?S.options.forEach(y):y(S)})}),f}),we=D(()=>C.value?e.contentStyle:[{minHeight:e.minHeight,height:e.height,maxHeight:e.maxHeight},e.contentStyle]),W=D(()=>`q-editor q-editor--${V.value===!0?"source":"default"}`+(e.disable===!0?" disabled":"")+(C.value===!0?" fullscreen column":"")+(e.square===!0?" q-editor--square no-border-radius":"")+(e.flat===!0?" q-editor--flat":"")+(e.dense===!0?" q-editor--dense":"")+(m.value===!0?" q-editor--dark q-dark":"")),lt=D(()=>[e.contentClass,"q-editor__content",{col:C.value,"overflow-auto":C.value||e.maxHeight}]),re=D(()=>e.disable===!0?{"aria-disabled":"true"}:e.readonly===!0?{"aria-readonly":"true"}:{});function me(){if(O.value!==null){const f=`inner${V.value===!0?"Text":"HTML"}`,y=O.value[f];y!==e.modelValue&&(de=y,o("update:modelValue",y))}}function Pe(f){if(o("keydown",f),f.ctrlKey!==!0||Kt(f)===!0){oe();return}const y=f.keyCode,T=Te.value[y];if(T!==void 0){const{cmd:S,param:I}=T;Fa(f),ze(S,I,!1)}}function Re(f){oe(),o("click",f)}function X(f){if(O.value!==null){const{scrollTop:y,scrollHeight:T}=O.value;le=T-y}F.caret.save(),o("blur",f)}function he(f){gt(()=>{O.value!==null&&le!==void 0&&(O.value.scrollTop=O.value.scrollHeight-le)}),o("focus",f)}function Me(f){const y=q.value;if(y!==null&&y.contains(f.target)===!0&&(f.relatedTarget===null||y.contains(f.relatedTarget)!==!0)){const T=`inner${V.value===!0?"Text":"HTML"}`;F.caret.restorePosition(O.value[T].length),oe()}}function He(f){const y=q.value;y!==null&&y.contains(f.target)===!0&&(f.relatedTarget===null||y.contains(f.relatedTarget)!==!0)&&(F.caret.savePosition(),oe())}function pe(){le=void 0}function Ye(f){F.caret.save()}function Le(f,y){if(O.value!==null){y===!0&&F.caret.savePosition();const T=`inner${V.value===!0?"Text":"HTML"}`;O.value[T]=f,y===!0&&(F.caret.restorePosition(O.value[T].length),oe())}}function ze(f,y,T=!0){fe(),F.caret.restore(),F.caret.apply(f,y,()=>{fe(),F.caret.save(),T&&oe()})}function oe(){setTimeout(()=>{$.value=null,a.$forceUpdate()},1)}function fe(){Qa(()=>{O.value!==null&&O.value.focus({preventScroll:!0})})}function Qe(){return O.value}return Wt(()=>{F.caret=a.caret=new Ls(O.value,F),Le(e.modelValue),oe(),document.addEventListener("selectionchange",Ye)}),ja(()=>{document.removeEventListener("selectionchange",Ye)}),Object.assign(a,{runCmd:ze,refreshToolbar:oe,focus:fe,getContentEl:Qe}),()=>{let f;if(Oe.value){const y=[v("div",{key:"qedt_top",class:"q-editor__toolbar row no-wrap scroll-x"+Q.value},Us(F))];$.value!==null&&y.push(v("div",{key:"qedt_btm",class:"q-editor__toolbar row no-wrap items-center scroll-x"+Q.value},js(F))),f=v("div",{key:"toolbar_ctainer",class:"q-editor__toolbars-container"},y)}return v("div",{ref:q,class:W.value,style:{height:C.value===!0?"100%":null},...re.value,onFocusin:Me,onFocusout:He},[f,v("div",{ref:O,style:we.value,class:lt.value,contenteditable:J.value,placeholder:e.placeholder,...k.listeners.value,onInput:me,onKeydown:Pe,onClick:Re,onBlur:X,onFocus:he,onMousedown:pe,onTouchstartPassive:pe})])}}}),Ws={name:"PlayerNotes",data(){return{note:""}},methods:{trySaveNotes(){this.$axios.post(`/api/players/${this.$route.params.citizenid}/notes`,{note:this.note}).then(e=>{if(!e.data.resCode){this.$q.notify({message:"Error",position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.player.msg.error.${e.data.resMsg}`)});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.saved")})})}},async mounted(){await this.$axios.get(`/api/players/${this.$route.params.citizenid}/notes`).then(e=>{const t=e.data.note,o=e.data.resCode;if(!t&&!o){this.$q.notify({message:"Error",position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.player.msg.error.fetchingNotes")});return}this.note=t||""})}},Zs={class:"row q-mb-md"},Ks={class:"col-12 q-px-sm"};function Xs(e,t,o,i,a,l){return g(),P("div",Zs,[u("div",Ks,[c(Z,{class:"bg-secondary q-mt-sm q-pa-md full-height"},{default:h(()=>[c(Js,{modelValue:a.note,"onUpdate:modelValue":t[0]||(t[0]=s=>a.note=s),"min-height":"56vh","content-class":"bg-dark text-main","toolbar-bg":"dark","toolbar-toggle-color":"primary","toolbar-color":"sub","toolbar-text-color":"sub",square:""},null,8,["modelValue"]),c(M,{"text-color":"main",color:"primary",onClick:l.trySaveNotes,label:e.$t("general.save"),class:"q-mt-md"},null,8,["onClick","label"])]),_:1})])])}const er=ue(Ws,[["render",Xs]]),tr={name:"Player",components:{PlayerGeneral:Cs,PlayerVehicles:Hs,PlayerLogs:Ds,PlayerNotes:er},data(){return{playerName:null,activeTab:"general",playerTabs:[{name:"general",icon:"account_circle",label:this.$i18n.t("components.player.tabs.general"),component:"player-general"},{name:"vehicles",icon:"directions_car",label:this.$i18n.t("components.player.tabs.vehicles"),component:"player-vehicles"},{name:"logs",icon:"description",label:this.$i18n.t("components.player.tabs.logs"),component:"player-logs"},{name:"notes",icon:"support",label:this.$i18n.t("components.player.tabs.notes"),component:"player-notes"}]}}},ar={key:0,class:"row"},nr={class:"col-12"},or={class:"row"},lr={class:"text-h6"},sr={class:"text-primary"},rr={class:"col-12"},ir={class:"q-ma-sm row justify-end"};function cr(e,t,o,i,a,l){const s=Ja("router-view");return e.$route.name!=="game-player-inventory"?(g(),P("div",ar,[u("div",nr,[u("div",or,[c(Z,{class:"q-ma-sm bg-secondary row",style:{width:"100%"}},{default:h(()=>[c(H,{class:"col-12"},{default:h(()=>[u("div",lr,[u("span",sr,p(a.playerName),1)])]),_:1}),c(H,{class:"col-12"},{default:h(()=>[c(Ka,{modelValue:a.activeTab,"onUpdate:modelValue":t[0]||(t[0]=m=>a.activeTab=m),class:"text-main full-width row","indicator-color":"primary","active-color":"primary"},{default:h(()=>[(g(!0),P(ee,null,Ge(a.playerTabs,m=>(g(),G(Xa,{key:m.name,name:m.name,icon:m.icon,label:m.label},null,8,["name","icon","label"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),c(Za,{modelValue:a.activeTab,"onUpdate:modelValue":t[2]||(t[2]=m=>a.activeTab=m),animated:"","transition-prev":"fade","transition-next":"fade",class:"full-width bg-transparent"},{default:h(()=>[(g(!0),P(ee,null,Ge(a.playerTabs,m=>(g(),G(en,{key:m.name+"_panel",name:m.name,class:"overflow-hidden q-pa-none"},{default:h(()=>[(g(),G(Wa(m.component),{onUpdatePlayerName:t[1]||(t[1]=C=>a.playerName=C)},null,32))]),_:2},1032,["name"]))),128))]),_:1},8,["modelValue"])])]),u("div",rr,[u("div",ir,[c(M,{"text-color":"main",color:"primary",onClick:t[3]||(t[3]=m=>e.$router.push({name:"game-player-list"})),label:e.$t("general.back"),class:"q-mr-auto"},null,8,["label"])])])])):(g(),G(s,{key:1}))}const Or=ue(tr,[["render",cr]]);export{Or as default}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/Player.3ea5adaf.css b/resources/[tools]/unlimited-spectre/html/assets/Player.3ea5adaf.css deleted file mode 100644 index 544367c0a..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/Player.3ea5adaf.css +++ /dev/null @@ -1 +0,0 @@ -.log-container[data-v-a7cc3e3f]{overflow:auto;background:#3b4253;height:56vh;border-top-right-radius:4px;border-top-left-radius:4px} diff --git a/resources/[tools]/unlimited-spectre/html/assets/PlayerList.2d511afa.js b/resources/[tools]/unlimited-spectre/html/assets/PlayerList.2d511afa.js deleted file mode 100644 index c89959d67..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/PlayerList.2d511afa.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as w,bh as y,o as b,X as $,a,w as i,a6 as _,c as v,bi as L,r as k,a7 as f,U as l,aE as S,a9 as P,S as R,W as g}from"./app-014d9ed9.js";import{Q as C,a as N,b as m}from"./QTable.d759a99d.js";import{b as q}from"./QSelect.d7ce3d4c.js";import"./externalHosting.js";import"./QList.9d5bb77f.js";import"./QMarkupTable.ba6854cc.js";import"./QItemLabel.b6dd3adb.js";import"./position-engine.65ebcb34.js";import"./selection.2a17b691.js";import"./rtl.b51694b1.js";const z={name:"PlayerList",data(){return{columns:[{name:"firstname",align:"left",label:this.$i18n.t("components.playerList.headers.firstname"),field:e=>e.firstname,format:e=>`${e}`,sortable:!0},{name:"lastname",align:"left",label:this.$i18n.t("components.playerList.headers.lastname"),field:e=>e.lastname,format:e=>`${e}`,sortable:!0},{name:"name",align:"left",label:this.$i18n.t("components.playerList.headers.name"),field:e=>e.name,format:e=>`${e}`,sortable:!0},{name:"citizenid",align:"left",label:this.$i18n.t("components.playerList.headers.citizenid"),field:e=>e.citizenid,format:e=>`${e}`,sortable:!0},{name:"job",align:"left",label:this.$i18n.t("components.playerList.headers.job"),field:e=>e.job,format:e=>`${e}`},{name:"gang",align:"left",label:this.$i18n.t("components.playerList.headers.gang"),field:e=>e.gang,format:e=>`${e}`},{name:"online",align:"center",label:this.$i18n.t("components.playerList.headers.online"),field:e=>e.online,format:e=>`${e}`}],players:[],pagination:{sortBy:"firstname",descending:!1,page:1,rowsPerPage:25,rowsNumber:25},loading:!0}},methods:{getRowsNumberCount(e){return this.$axios.post("/api/players/player-count",{filter:e}).then(n=>n.data.count)},fetchFromServer(e,n,r,u,o){return this.$axios.post("/api/players",{startRow:e,count:n,filter:r,sortBy:u,descending:o}).then(s=>{let p=[];return s.data.players.forEach(t=>{const c=JSON.parse(t.job),h=JSON.parse(t.gang),d=JSON.parse(t.charinfo);p.push({citizenid:t==null?void 0:t.citizenid,firstname:d==null?void 0:d.firstname,lastname:d==null?void 0:d.lastname,name:t==null?void 0:t.name,gang:h==null?void 0:h.label,job:c==null?void 0:c.label,online:t==null?void 0:t.online})}),p}).catch(s=>{this.loading=!1,this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("general.timeout")})})},async onRequest(e){const{page:n,rowsPerPage:r,sortBy:u,descending:o}=e.pagination,s=e.filter;this.loading=!0,this.pagination.rowsNumber=await this.getRowsNumberCount(s);const p=r===0?this.pagination.rowsNumber:r,t=(n-1)*r,c=await this.fetchFromServer(t,p,s,u,o);this.players.splice(0,this.players.length,...c),this.pagination.page=n,this.pagination.rowsPerPage=r,this.pagination.sortBy=u,this.pagination.descending=o,this.paginationSave=this.pagination,this.loading=!1},onRowClick(e){this.$router.push({name:"game-player-detail",params:{citizenid:e.citizenid}})},getPaginationLabel(e,n,r){return this.$i18n.t("components.playerList.paginationLabel",{from:e,to:n,total:r})},updatePagination(e){this.loading||(this.paginationSave=e,this.pagination=e)}},computed:{...y(L,["searchFilter","paginationSave"])},mounted(){this.$route.name==="game-player-list"&&(this.pagination={...this.paginationSave},this.$refs.tableRef.requestServerInteraction())}},Q={key:0,class:"row q-pa-sm"},B={class:"row"},x={class:"col-12"},j={class:"q-mx-md q-my-sm row"},F={class:"text-caption text-sub"};function V(e,n,r,u,o,s){const p=k("router-view");return e.$route.name==="game-player-list"?(b(),$("div",Q,[a(_,{class:"bg-secondary full-width"},{default:i(()=>[f("div",B,[f("div",x,[f("div",j,[f("div",F,l(e.$t("components.playerList.subheader")),1)]),a(S),a(C,{ref:"tableRef",color:"primary","card-class":"bg-secondary text-main","table-class":"text-main","table-header-class":"text-primary",flat:"",rows:o.players,columns:o.columns,"row-key":"name",pagination:o.pagination,"onUpdate:pagination":[n[1]||(n[1]=t=>o.pagination=t),s.updatePagination],"rows-per-page-options":[0,25,50,100],"no-results-label":e.$t("components.playerList.noData"),"loading-label":e.$t("components.playerList.loadData"),loading:o.loading,filter:e.searchFilter,"binary-state-sort":"","pagination-label":s.getPaginationLabel,"rows-per-page-label":`${e.$t("components.playerList.recordsPerPage")}:`,onRequest:s.onRequest},{"top-right":i(()=>[a(P,{"input-style":{color:"var(--q-main)"},borderless:"",dense:"",debounce:"300",modelValue:e.searchFilter,"onUpdate:modelValue":n[0]||(n[0]=t=>e.searchFilter=t),placeholder:e.$t("general.search")},{append:i(()=>[a(R,{class:"text-main",name:"search"})]),_:1},8,["input-style","modelValue","placeholder"])]),body:i(t=>[a(N,{props:t,onClick:c=>s.onRowClick(t.row),class:"cursor-pointer"},{default:i(()=>[a(m,{key:"firstname",props:t},{default:i(()=>[g(l(t.row.firstname),1)]),_:2},1032,["props"]),a(m,{key:"lastname",props:t},{default:i(()=>[g(l(t.row.lastname),1)]),_:2},1032,["props"]),a(m,{key:"name",props:t},{default:i(()=>[g(l(t.row.name),1)]),_:2},1032,["props"]),a(m,{key:"citizenid",props:t},{default:i(()=>[g(l(t.row.citizenid),1)]),_:2},1032,["props"]),a(m,{key:"job",props:t},{default:i(()=>[g(l(t.row.job),1)]),_:2},1032,["props"]),a(m,{key:"gang",props:t},{default:i(()=>[g(l(t.row.gang),1)]),_:2},1032,["props"]),a(m,{key:"online",props:t},{default:i(()=>[a(q,{size:"sm",color:t.row.online?"positive":"negative","text-color":"main",label:t.row.online?"Online":"Offline"},null,8,["color","label"])]),_:2},1032,["props"])]),_:2},1032,["props","onClick"])]),_:1},8,["rows","columns","pagination","no-results-label","loading-label","loading","filter","pagination-label","rows-per-page-label","onRequest","onUpdate:pagination"])])])]),_:1})])):(b(),v(p,{key:1}))}const G=w(z,[["render",V]]);export{G as default}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/QBadge.718e7c58.js b/resources/[tools]/unlimited-spectre/html/assets/QBadge.718e7c58.js deleted file mode 100644 index 14c048ab3..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/QBadge.718e7c58.js +++ /dev/null @@ -1 +0,0 @@ -import{b as i,q as l,x as r,v as u}from"./app-014d9ed9.js";const d=["top","middle","bottom"],c=i({name:"QBadge",props:{color:String,textColor:String,floating:Boolean,transparent:Boolean,multiLine:Boolean,outline:Boolean,rounded:Boolean,label:[Number,String],align:{type:String,validator:e=>d.includes(e)}},setup(e,{slots:a}){const n=l(()=>e.align!==void 0?{verticalAlign:e.align}:null),o=l(()=>{const t=e.outline===!0&&e.color||e.textColor;return`q-badge flex inline items-center no-wrap q-badge--${e.multiLine===!0?"multi":"single"}-line`+(e.outline===!0?" q-badge--outline":e.color!==void 0?` bg-${e.color}`:"")+(t!==void 0?` text-${t}`:"")+(e.floating===!0?" q-badge--floating":"")+(e.rounded===!0?" q-badge--rounded":"")+(e.transparent===!0?" q-badge--transparent":"")});return()=>r("div",{class:o.value,style:n.value,role:"status","aria-label":e.label},u(a.default,e.label!==void 0?[e.label]:[]))}});export{c as Q}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/QExpansionItem.593bd861.js b/resources/[tools]/unlimited-spectre/html/assets/QExpansionItem.593bd861.js deleted file mode 100644 index f40492bd4..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/QExpansionItem.593bd861.js +++ /dev/null @@ -1 +0,0 @@ -import{aC as z,b as W,a0 as A,E as X,F as Y,G as Z,H as p,k,aD as w,J as ee,q as o,d as x,f as te,x as n,aE as _,h as ne,L as ae,aF as ie,A as oe,S as C,ap as le}from"./app-014d9ed9.js";import{a as ue,c as y,Q as S}from"./QItemLabel.b6dd3adb.js";import{Q as ce}from"./QSlideTransition.104e08c1.js";const u=z({}),de=Object.keys(A),ve=W({name:"QExpansionItem",props:{...A,...X,...Y,icon:String,label:String,labelLines:[Number,String],caption:String,captionLines:[Number,String],dense:Boolean,toggleAriaLabel:String,expandIcon:String,expandedIcon:String,expandIconClass:[Array,String,Object],duration:Number,headerInsetLevel:Number,contentInsetLevel:Number,expandSeparator:Boolean,defaultOpened:Boolean,hideExpandIcon:Boolean,expandIconToggle:Boolean,switchToggleSide:Boolean,denseToggle:Boolean,group:String,popup:Boolean,headerStyle:[Array,String,Object],headerClass:[Array,String,Object]},emits:[...Z,"click","after-show","after-hide"],setup(e,{slots:g,emit:v}){const{proxy:{$q:d}}=ne(),f=p(e,d),a=k(e.modelValue!==null?e.modelValue:e.defaultOpened),h=k(null),b=w(),{show:Q,hide:I,toggle:m}=ee({showing:a});let l,c;const B=o(()=>`q-expansion-item q-item-type q-expansion-item--${a.value===!0?"expanded":"collapsed"} q-expansion-item--${e.popup===!0?"popup":"standard"}`),O=o(()=>e.contentInsetLevel===void 0?null:{["padding"+(d.lang.rtl===!0?"Right":"Left")]:e.contentInsetLevel*56+"px"}),r=o(()=>e.disable!==!0&&(e.href!==void 0||e.to!==void 0&&e.to!==null&&e.to!=="")),E=o(()=>{const t={};return de.forEach(i=>{t[i]=e[i]}),t}),P=o(()=>r.value===!0||e.expandIconToggle!==!0),j=o(()=>e.expandedIcon!==void 0&&a.value===!0?e.expandedIcon:e.expandIcon||d.iconSet.expansionItem[e.denseToggle===!0?"denseIcon":"icon"]),N=o(()=>e.disable!==!0&&(r.value===!0||e.expandIconToggle===!0)),D=o(()=>({expanded:a.value===!0,detailsId:e.targetUid,toggle:m,show:Q,hide:I})),T=o(()=>{const t=e.toggleAriaLabel!==void 0?e.toggleAriaLabel:d.lang.label[a.value===!0?"collapse":"expand"](e.label);return{role:"button","aria-expanded":a.value===!0?"true":"false","aria-owns":b,"aria-controls":b,"aria-label":t}});x(()=>e.group,t=>{c!==void 0&&c(),t!==void 0&&L()});function H(t){r.value!==!0&&m(t),v("click",t)}function R(t){t.keyCode===13&&q(t,!0)}function q(t,i){i!==!0&&h.value!==null&&h.value.focus(),m(t),le(t)}function G(){v("after-show")}function $(){v("after-hide")}function L(){l===void 0&&(l=w()),a.value===!0&&(u[e.group]=l);const t=x(a,s=>{s===!0?u[e.group]=l:u[e.group]===l&&delete u[e.group]}),i=x(()=>u[e.group],(s,J)=>{J===l&&s!==void 0&&s!==l&&I()});c=()=>{t(),i(),u[e.group]===l&&delete u[e.group],c=void 0}}function K(){const t={class:[`q-focusable relative-position cursor-pointer${e.denseToggle===!0&&e.switchToggleSide===!0?" items-end":""}`,e.expandIconClass],side:e.switchToggleSide!==!0,avatar:e.switchToggleSide},i=[n(C,{class:"q-expansion-item__toggle-icon"+(e.expandedIcon===void 0&&a.value===!0?" q-expansion-item__toggle-icon--rotated":""),name:j.value})];return N.value===!0&&(Object.assign(t,{tabindex:0,...T.value,onClick:q,onKeyup:R}),i.unshift(n("div",{ref:h,class:"q-expansion-item__toggle-focus q-icon q-focus-helper q-focus-helper--rounded",tabindex:-1}))),n(S,t,()=>i)}function M(){let t;return g.header!==void 0?t=[].concat(g.header(D.value)):(t=[n(S,()=>[n(y,{lines:e.labelLines},()=>e.label||""),e.caption?n(y,{lines:e.captionLines,caption:!0},()=>e.caption):null])],e.icon&&t[e.switchToggleSide===!0?"push":"unshift"](n(S,{side:e.switchToggleSide===!0,avatar:e.switchToggleSide!==!0},()=>n(C,{name:e.icon})))),e.disable!==!0&&e.hideExpandIcon!==!0&&t[e.switchToggleSide===!0?"unshift":"push"](K()),t}function U(){const t={ref:"item",style:e.headerStyle,class:e.headerClass,dark:f.value,disable:e.disable,dense:e.dense,insetLevel:e.headerInsetLevel};return P.value===!0&&(t.clickable=!0,t.onClick=H,Object.assign(t,r.value===!0?E.value:T.value)),n(ue,t,M)}function F(){return ae(n("div",{key:"e-content",class:"q-expansion-item__content relative-position",style:O.value,id:b},oe(g.default)),[[ie,a.value]])}function V(){const t=[U(),n(ce,{duration:e.duration,onShow:G,onHide:$},F)];return e.expandSeparator===!0&&t.push(n(_,{class:"q-expansion-item__border q-expansion-item__border--top absolute-top",dark:f.value}),n(_,{class:"q-expansion-item__border q-expansion-item__border--bottom absolute-bottom",dark:f.value})),t}return e.group!==void 0&&L(),te(()=>{c!==void 0&&c()}),()=>n("div",{class:B.value},[n("div",{class:"q-expansion-item__container relative-position"},V())])}});export{ve as Q}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/QForm.8d79ab03.js b/resources/[tools]/unlimited-spectre/html/assets/QForm.8d79ab03.js deleted file mode 100644 index fe3e46e64..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/QForm.8d79ab03.js +++ /dev/null @@ -1 +0,0 @@ -import{b as S,k as A,aG as E,aH as I,e as B,x as R,A as V,h as q,aI as Q,ap as F,z as j,aJ as k,t as D,aK as K}from"./app-014d9ed9.js";const G=S({name:"QForm",props:{autofocus:Boolean,noErrorFocus:Boolean,noResetFocus:Boolean,greedy:Boolean,onSubmit:Function},emits:["reset","validation-success","validation-error"],setup(a,{slots:C,emit:f}){const P=q(),u=A(null);let i=0;const s=[];function d(e){const r=typeof e=="boolean"?e:a.noErrorFocus!==!0,l=++i,y=(t,o)=>{f("validation-"+(t===!0?"success":"error"),o)},g=t=>{const o=t.validate();return typeof o.then=="function"?o.then(n=>({valid:n,comp:t}),n=>({valid:!1,comp:t,err:n})):Promise.resolve({valid:o,comp:t})};return(a.greedy===!0?Promise.all(s.map(g)).then(t=>t.filter(o=>o.valid!==!0)):s.reduce((t,o)=>t.then(()=>g(o).then(n=>{if(n.valid===!1)return Promise.reject(n)})),Promise.resolve()).catch(t=>[t])).then(t=>{if(t===void 0||t.length===0)return l===i&&y(!0),!0;if(l===i){const{comp:o,err:n}=t[0];if(n!==void 0&&console.error(n),y(!1,o),r===!0){const p=t.find(({comp:x})=>typeof x.focus=="function"&&Q(x.$)===!1);p!==void 0&&p.comp.focus()}}return!1})}function v(){i++,s.forEach(e=>{typeof e.resetValidation=="function"&&e.resetValidation()})}function m(e){e!==void 0&&F(e);const r=i+1;d().then(l=>{r===i&&l===!0&&(a.onSubmit!==void 0?f("submit",e):e!==void 0&&e.target!==void 0&&typeof e.target.submit=="function"&&e.target.submit())})}function b(e){e!==void 0&&F(e),f("reset"),j(()=>{v(),a.autofocus===!0&&a.noResetFocus!==!0&&c()})}function c(){k(()=>{if(u.value===null)return;const e=u.value.querySelector("[autofocus], [data-autofocus]")||Array.prototype.find.call(u.value.querySelectorAll("[tabindex]"),r=>r.tabIndex>-1);e!=null&&e.focus({preventScroll:!0})})}D(K,{bindComponent(e){s.push(e)},unbindComponent(e){const r=s.indexOf(e);r>-1&&s.splice(r,1)}});let h=!1;return E(()=>{h=!0}),I(()=>{h===!0&&a.autofocus===!0&&c()}),B(()=>{a.autofocus===!0&&c()}),Object.assign(P.proxy,{validate:d,resetValidation:v,submit:m,reset:b,focus:c,getValidationComponents:()=>s}),()=>R("form",{class:"q-form",ref:u,onSubmit:m,onReset:b},V(C.default))}});export{G as Q}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/QImg.91aecb73.js b/resources/[tools]/unlimited-spectre/html/assets/QImg.91aecb73.js deleted file mode 100644 index 2f5d18597..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/QImg.91aecb73.js +++ /dev/null @@ -1 +0,0 @@ -import{q as d,b as R,k as o,d as j,f as I,x as l,ao as Q,A as $,bB as E}from"./app-014d9ed9.js";const F={ratio:[String,Number]};function H(e,a){return d(()=>{const r=Number(e.ratio||(a!==void 0?a.value:void 0));return isNaN(r)!==!0&&r>0?{paddingBottom:`${100/r}%`}:null})}const L=16/9,O=R({name:"QImg",props:{...F,src:String,srcset:String,sizes:String,alt:String,crossorigin:String,decoding:String,referrerpolicy:String,draggable:Boolean,loading:{type:String,default:"lazy"},fetchpriority:{type:String,default:"auto"},width:String,height:String,initialRatio:{type:[Number,String],default:L},placeholderSrc:String,fit:{type:String,default:"cover"},position:{type:String,default:"50% 50%"},imgClass:String,imgStyle:Object,noSpinner:Boolean,noNativeMenu:Boolean,noTransition:Boolean,spinnerColor:String,spinnerSize:String},emits:["load","error"],setup(e,{slots:a,emit:r}){const m=o(e.initialRatio),v=H(e,m);let t;const n=[o(null),o(e.placeholderSrc!==void 0?{src:e.placeholderSrc}:null)],s=o(0),c=o(!1),g=o(!1),_=d(()=>`q-img q-img--${e.noNativeMenu===!0?"no-":""}menu`),q=d(()=>({width:e.width,height:e.height})),C=d(()=>`q-img__image ${e.imgClass!==void 0?e.imgClass+" ":""}q-img__image--with${e.noTransition===!0?"out":""}-transition`),w=d(()=>({...e.imgStyle,objectFit:e.fit,objectPosition:e.position}));j(()=>h(),S);function h(){return e.src||e.srcset||e.sizes?{src:e.src,srcset:e.srcset,sizes:e.sizes}:null}function S(i){if(clearTimeout(t),g.value=!1,i===null){c.value=!1,n[0].value=null,n[1].value=null;return}c.value=!0,n[s.value].value=i}function T({target:i}){t!==null&&(clearTimeout(t),m.value=i.naturalHeight===0?.5:i.naturalWidth/i.naturalHeight,y(i,1))}function y(i,u){t===null||u===1e3||(i.complete===!0?z(i):t=setTimeout(()=>{y(i,u+1)},50))}function z(i){t!==null&&(s.value=s.value===1?0:1,n[s.value].value=null,c.value=!1,g.value=!1,r("load",i.currentSrc||i.src))}function B(i){clearTimeout(t),c.value=!1,g.value=!0,n[0].value=null,n[1].value=null,r("error",i)}function N(i,u){return l("div",{class:"q-img__container absolute-full",key:i},u)}function b(i){const u=n[i].value,f={key:"img_"+i,class:C.value,style:w.value,crossorigin:e.crossorigin,decoding:e.decoding,referrerpolicy:e.referrerpolicy,height:e.height,width:e.width,loading:e.loading,fetchpriority:e.fetchpriority,"aria-hidden":"true",draggable:e.draggable,...u};return s.value===i?(f.class+=" q-img__image--waiting",Object.assign(f,{onLoad:T,onError:B})):f.class+=" q-img__image--loaded",N("img"+i,l("img",f))}function k(){return c.value!==!0?l("div",{key:"content",class:"q-img__content absolute-full q-anchor--skip"},$(a[g.value===!0?"error":"default"])):l("div",{key:"loading",class:"q-img__loading absolute-full flex flex-center"},a.loading!==void 0?a.loading():e.noSpinner===!0?void 0:[l(E,{color:e.spinnerColor,size:e.spinnerSize})])}return S(h()),I(()=>{clearTimeout(t),t=null}),()=>{const i=[];return v.value!==null&&i.push(l("div",{key:"filler",style:v.value})),g.value!==!0&&(n[0].value!==null&&i.push(b(0)),n[1].value!==null&&i.push(b(1))),i.push(l(Q,{name:"q-transition--fade"},k)),l("div",{class:_.value,style:q.value,role:"img","aria-label":e.alt},i)}}});export{O as Q}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/QItemLabel.b6dd3adb.js b/resources/[tools]/unlimited-spectre/html/assets/QItemLabel.b6dd3adb.js deleted file mode 100644 index 6ef353005..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/QItemLabel.b6dd3adb.js +++ /dev/null @@ -1 +0,0 @@ -import{b as v,q as i,x as c,A as q,F as L,a0 as I,H as E,a1 as Q,k as b,as as S,ap as A,D as K,h as R}from"./app-014d9ed9.js";function D(e,t,n){return n<=t?t:Math.min(n,Math.max(t,e))}function $(e,t,n){if(n<=t)return t;const l=n-t+1;let u=t+(e-t)%l;return u=t?l:new Array(t-l.length+1).join(n)+l}const M=v({name:"QItemSection",props:{avatar:Boolean,thumbnail:Boolean,side:Boolean,top:Boolean,noWrap:Boolean},setup(e,{slots:t}){const n=i(()=>`q-item__section column q-item__section--${e.avatar===!0||e.side===!0||e.thumbnail===!0?"side":"main"}`+(e.top===!0?" q-item__section--top justify-start":" justify-center")+(e.avatar===!0?" q-item__section--avatar":"")+(e.thumbnail===!0?" q-item__section--thumbnail":"")+(e.noWrap===!0?" q-item__section--nowrap":""));return()=>c("div",{class:n.value},q(t.default))}}),N=v({name:"QItem",props:{...L,...I,tag:{type:String,default:"div"},active:{type:Boolean,default:null},clickable:Boolean,dense:Boolean,insetLevel:Number,tabindex:[String,Number],focused:Boolean,manualFocus:Boolean},emits:["click","keyup"],setup(e,{slots:t,emit:n}){const{proxy:{$q:l}}=R(),u=E(e,l),{hasLink:d,linkAttrs:k,linkClass:h,linkTag:_,navigateOnClick:y}=Q(),o=b(null),r=b(null),m=i(()=>e.clickable===!0||d.value===!0||e.tag==="label"),s=i(()=>e.disable!==!0&&m.value===!0),g=i(()=>"q-item q-item-type row no-wrap"+(e.dense===!0?" q-item--dense":"")+(u.value===!0?" q-item--dark":"")+(d.value===!0&&e.active===null?h.value:e.active===!0?` q-item--active${e.activeClass!==void 0?` ${e.activeClass}`:""}`:"")+(e.disable===!0?" disabled":"")+(s.value===!0?" q-item--clickable q-link cursor-pointer "+(e.manualFocus===!0?"q-manual-focusable":"q-focusable q-hoverable")+(e.focused===!0?" q-manual-focusable--focused":""):"")),B=i(()=>e.insetLevel===void 0?null:{["padding"+(l.lang.rtl===!0?"Right":"Left")]:16+e.insetLevel*56+"px"});function x(a){s.value===!0&&(r.value!==null&&(a.qKeyEvent!==!0&&document.activeElement===o.value?r.value.focus():document.activeElement===r.value&&o.value.focus()),y(a))}function w(a){if(s.value===!0&&S(a,13)===!0){A(a),a.qKeyEvent=!0;const f=new MouseEvent("click",a);f.qKeyEvent=!0,o.value.dispatchEvent(f)}n("keyup",a)}function C(){const a=K(t.default,[]);return s.value===!0&&a.unshift(c("div",{class:"q-focus-helper",tabindex:-1,ref:r})),a}return()=>{const a={ref:o,class:g.value,style:B.value,role:"listitem",onClick:x,onKeyup:w};return s.value===!0?(a.tabindex=e.tabindex||"0",Object.assign(a,k.value)):m.value===!0&&(a["aria-disabled"]="true"),c(_.value,a,C())}}}),P=v({name:"QItemLabel",props:{overline:Boolean,caption:Boolean,header:Boolean,lines:[Number,String]},setup(e,{slots:t}){const n=i(()=>parseInt(e.lines,10)),l=i(()=>"q-item__label"+(e.overline===!0?" q-item__label--overline text-overline":"")+(e.caption===!0?" q-item__label--caption text-caption":"")+(e.header===!0?" q-item__label--header":"")+(n.value===1?" ellipsis":"")),u=i(()=>e.lines!==void 0&&n.value>1?{overflow:"hidden",display:"-webkit-box","-webkit-box-orient":"vertical","-webkit-line-clamp":n.value}:null);return()=>c("div",{style:u.value,class:l.value},q(t.default))}});export{M as Q,N as a,D as b,P as c,$ as n,F as p}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/QLayout.baf5346d.js b/resources/[tools]/unlimited-spectre/html/assets/QLayout.baf5346d.js deleted file mode 100644 index 0266be251..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/QLayout.baf5346d.js +++ /dev/null @@ -1 +0,0 @@ -import{b as $,d as Q,e as O,f as W,n as j,g as A,h as E,l as B,i as N,j as U,k as m,m as V,p as C,q as s,s as z,t as k,u as D,v as I,x as v,y as K}from"./app-014d9ed9.js";import{Q as R}from"./QResizeObserver.2503502b.js";const{passive:H}=B,G=["both","horizontal","vertical"],J=$({name:"QScrollObserver",props:{axis:{type:String,validator:t=>G.includes(t),default:"vertical"},debounce:[String,Number],scrollTarget:{default:void 0}},emits:["scroll"],setup(t,{emit:T}){const o={position:{top:0,left:0},direction:"down",directionChanged:!1,delta:{top:0,left:0},inflectionPoint:{top:0,left:0}};let n=null,r,c;Q(()=>t.scrollTarget,()=>{d(),b()});function u(){n!==null&&n();const h=Math.max(0,N(r)),g=U(r),a={top:h-o.position.top,left:g-o.position.left};if(t.axis==="vertical"&&a.top===0||t.axis==="horizontal"&&a.left===0)return;const w=Math.abs(a.top)>=Math.abs(a.left)?a.top<0?"up":"down":a.left<0?"left":"right";o.position={top:h,left:g},o.directionChanged=o.direction!==w,o.delta=a,o.directionChanged===!0&&(o.direction=w,o.inflectionPoint=o.position),T("scroll",{...o})}function b(){r=A(c,t.scrollTarget),r.addEventListener("scroll",l,H),l(!0)}function d(){r!==void 0&&(r.removeEventListener("scroll",l,H),r=void 0)}function l(h){if(h===!0||t.debounce===0||t.debounce==="0")u();else if(n===null){const[g,a]=t.debounce?[setTimeout(u,t.debounce),clearTimeout]:[requestAnimationFrame(u),cancelAnimationFrame];n=()=>{a(g),n=null}}}const{proxy:S}=E();return O(()=>{c=S.$el.parentNode,b()}),W(()=>{n!==null&&n(),d()}),Object.assign(S,{trigger:l,getPosition:()=>o}),j}}),Z=$({name:"QLayout",props:{container:Boolean,view:{type:String,default:"hhh lpr fff",validator:t=>/^(h|l)h(h|r) lpr (f|l)f(f|r)$/.test(t.toLowerCase())},onScroll:Function,onScrollHeight:Function,onResize:Function},setup(t,{slots:T,emit:o}){const{proxy:{$q:n}}=E(),r=m(null),c=m(n.screen.height),u=m(t.container===!0?0:n.screen.width),b=m({position:0,direction:"down",inflectionPoint:0}),d=m(0),l=m(V.value===!0?0:C()),S=s(()=>"q-layout q-layout--"+(t.container===!0?"containerized":"standard")),h=s(()=>t.container===!1?{minHeight:n.screen.height+"px"}:null),g=s(()=>l.value!==0?{[n.lang.rtl===!0?"left":"right"]:`${l.value}px`}:null),a=s(()=>l.value!==0?{[n.lang.rtl===!0?"right":"left"]:0,[n.lang.rtl===!0?"left":"right"]:`-${l.value}px`,width:`calc(100% + ${l.value}px)`}:null);function w(e){if(t.container===!0||document.qScrollPrevented!==!0){const i={position:e.position.top,direction:e.direction,directionChanged:e.directionChanged,inflectionPoint:e.inflectionPoint.top,delta:e.delta.top};b.value=i,t.onScroll!==void 0&&o("scroll",i)}}function F(e){const{height:i,width:f}=e;let y=!1;c.value!==i&&(y=!0,c.value=i,t.onScrollHeight!==void 0&&o("scroll-height",i),P()),u.value!==f&&(y=!0,u.value=f),y===!0&&t.onResize!==void 0&&o("resize",e)}function M({height:e}){d.value!==e&&(d.value=e,P())}function P(){if(t.container===!0){const e=c.value>d.value?C():0;l.value!==e&&(l.value=e)}}let p;const L={instances:{},view:s(()=>t.view),isContainer:s(()=>t.container),rootRef:r,height:c,containerHeight:d,scrollbarWidth:l,totalWidth:s(()=>u.value+l.value),rows:s(()=>{const e=t.view.toLowerCase().split(" ");return{top:e[0].split(""),middle:e[1].split(""),bottom:e[2].split("")}}),header:z({size:0,offset:0,space:!1}),right:z({size:300,offset:0,space:!1}),footer:z({size:0,offset:0,space:!1}),left:z({size:300,offset:0,space:!1}),scroll:b,animate(){p!==void 0?clearTimeout(p):document.body.classList.add("q-body--layout-animate"),p=setTimeout(()=>{document.body.classList.remove("q-body--layout-animate"),p=void 0},155)},update(e,i,f){L[e][i]=f}};if(k(K,L),C()>0){let f=function(){e=null,i.classList.remove("hide-scrollbar")},y=function(){if(e===null){if(i.scrollHeight>n.screen.height)return;i.classList.add("hide-scrollbar")}else clearTimeout(e);e=setTimeout(f,300)},x=function(q){e!==null&&q==="remove"&&(clearTimeout(e),f()),window[`${q}EventListener`]("resize",y)},e=null;const i=document.body;Q(()=>t.container!==!0?"add":"remove",x),t.container!==!0&&x("add"),D(()=>{x("remove")})}return()=>{const e=I(T.default,[v(J,{onScroll:w}),v(R,{onResize:F})]),i=v("div",{class:S.value,style:h.value,ref:t.container===!0?void 0:r,tabindex:-1},e);return t.container===!0?v("div",{class:"q-layout-container overflow-hidden",ref:r},[v(R,{onResize:M}),v("div",{class:"absolute-full",style:g.value},[v("div",{class:"scroll",style:a.value},[i])])]):i}}});export{Z as Q}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/QList.9d5bb77f.js b/resources/[tools]/unlimited-spectre/html/assets/QList.9d5bb77f.js deleted file mode 100644 index dab1f11ff..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/QList.9d5bb77f.js +++ /dev/null @@ -1 +0,0 @@ -import{b as o,F as n,H as d,q as l,x as i,A as u,h as c}from"./app-014d9ed9.js";const p=o({name:"QList",props:{...n,bordered:Boolean,dense:Boolean,separator:Boolean,padding:Boolean},setup(e,{slots:s}){const a=c(),t=d(e,a.proxy.$q),r=l(()=>"q-list"+(e.bordered===!0?" q-list--bordered":"")+(e.dense===!0?" q-list--dense":"")+(e.separator===!0?" q-list--separator":"")+(t.value===!0?" q-list--dark":"")+(e.padding===!0?" q-list--padding":""));return()=>i("div",{class:r.value,role:"list"},u(s.default))}});export{p as Q}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/QMarkupTable.ba6854cc.js b/resources/[tools]/unlimited-spectre/html/assets/QMarkupTable.ba6854cc.js deleted file mode 100644 index c81797129..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/QMarkupTable.ba6854cc.js +++ /dev/null @@ -1 +0,0 @@ -import{b as o,F as n,H as u,q as d,x as e,A as b,h as q}from"./app-014d9ed9.js";const c=["horizontal","vertical","cell","none"],k=o({name:"QMarkupTable",props:{...n,dense:Boolean,flat:Boolean,bordered:Boolean,square:Boolean,wrapCells:Boolean,separator:{type:String,default:"horizontal",validator:a=>c.includes(a)}},setup(a,{slots:t}){const r=q(),l=u(a,r.proxy.$q),s=d(()=>`q-markup-table q-table__container q-table__card q-table--${a.separator}-separator`+(l.value===!0?" q-table--dark q-table__card--dark q-dark":"")+(a.dense===!0?" q-table--dense":"")+(a.flat===!0?" q-table--flat":"")+(a.bordered===!0?" q-table--bordered":"")+(a.square===!0?" q-table--square":"")+(a.wrapCells===!1?" q-table--no-wrap":""));return()=>e("div",{class:s.value},[e("table",{class:"q-table"},b(t.default))])}});export{k as Q}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/QPopupProxy.441c18a6.js b/resources/[tools]/unlimited-spectre/html/assets/QPopupProxy.441c18a6.js deleted file mode 100644 index 6e58fc99d..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/QPopupProxy.441c18a6.js +++ /dev/null @@ -1 +0,0 @@ -import{b as x,k as r,q as h,d as P,x as b,h as y,ac as Q}from"./app-014d9ed9.js";import{d as k}from"./QSelect.d7ce3d4c.js";import{u as C,c as M}from"./position-engine.65ebcb34.js";const A=x({name:"QPopupProxy",props:{...C,breakpoint:{type:[String,Number],default:450}},emits:["show","hide"],setup(a,{slots:g,emit:c,attrs:f}){const{proxy:p}=y(),{$q:l}=p,t=r(!1),o=r(null),i=h(()=>parseInt(a.breakpoint,10)),{canShow:d}=M({showing:t});function s(){return l.screen.widthn.value==="menu"?{maxHeight:"99vh"}:{});P(()=>s(),e=>{t.value!==!0&&(n.value=e)});function v(e){t.value=!0,c("show",e)}function w(e){t.value=!1,n.value=s(),c("hide",e)}return Object.assign(p,{show(e){d(e)===!0&&o.value.show(e)},hide(e){o.value.hide(e)},toggle(e){o.value.toggle(e)}}),()=>{const e={ref:o,...m.value,...f,onShow:v,onHide:w};let u;return n.value==="dialog"?u=Q:(u=k,Object.assign(e,{target:a.target,contextMenu:a.contextMenu,noParentEvent:!0,separateClosePopup:!0})),b(u,e,g.default)}}});export{A as Q}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/QResizeObserver.2503502b.js b/resources/[tools]/unlimited-spectre/html/assets/QResizeObserver.2503502b.js deleted file mode 100644 index eb0b232b7..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/QResizeObserver.2503502b.js +++ /dev/null @@ -1 +0,0 @@ -import{k as g,m as z,e as c,b as y,f,n as w,z as v,x as R,h as x,l as b}from"./app-014d9ed9.js";function O(){const i=g(!z.value);return i.value===!1&&c(()=>{i.value=!0}),i}const m=typeof ResizeObserver<"u",h=m===!0?{}:{style:"display:block;position:absolute;top:0;left:0;right:0;bottom:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1;",url:"about:blank"},L=y({name:"QResizeObserver",props:{debounce:{type:[String,Number],default:100}},emits:["resize"],setup(i,{emit:p}){let r=null,t,o={width:-1,height:-1};function s(e){e===!0||i.debounce===0||i.debounce==="0"?u():r===null&&(r=setTimeout(u,i.debounce))}function u(){if(clearTimeout(r),r=null,t){const{offsetWidth:e,offsetHeight:n}=t;(e!==o.width||n!==o.height)&&(o={width:e,height:n},p("resize",o))}}const{proxy:l}=x();if(m===!0){let e;const n=a=>{t=l.$el.parentNode,t?(e=new ResizeObserver(s),e.observe(t),u()):a!==!0&&v(()=>{n(!0)})};return c(()=>{n()}),f(()=>{clearTimeout(r),e!==void 0&&(e.disconnect!==void 0?e.disconnect():t&&e.unobserve(t))}),w}else{let a=function(){clearTimeout(r),n!==void 0&&(n.removeEventListener!==void 0&&n.removeEventListener("resize",s,b.passive),n=void 0)},d=function(){a(),t&&t.contentDocument&&(n=t.contentDocument.defaultView,n.addEventListener("resize",s,b.passive),u())};const e=O();let n;return c(()=>{v(()=>{t=l.$el,t&&d()})}),f(a),l.trigger=s,()=>{if(e.value===!0)return R("object",{style:h.style,tabindex:-1,type:"text/html",data:h.url,"aria-hidden":"true",onLoad:d})}}}});export{L as Q}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/QSelect.d7ce3d4c.js b/resources/[tools]/unlimited-spectre/html/assets/QSelect.d7ce3d4c.js deleted file mode 100644 index cf03452b4..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/QSelect.d7ce3d4c.js +++ /dev/null @@ -1 +0,0 @@ -import{b as Te,aW as je,aX as St,aY as gt,aZ as ht,F as yt,a_ as pt,H as bt,a$ as Ht,q as m,M as Lt,x as k,S as Ee,b0 as Dt,Q as $t,h as Pe,ap as se,E as Kt,ai as Nt,G as jt,k as T,aj as Qt,I as Wt,ak as Ut,J as Xt,al as Yt,d as ce,b1 as Gt,aB as Jt,b2 as Zt,b3 as it,g as el,A as tl,ao as ll,f as Qe,aJ as ul,b4 as nl,b5 as ol,b6 as al,n as il,b7 as rl,b8 as sl,aG as cl,aH as dl,z as re,b9 as fl,ba as vl,bb as ml,bc as Sl,at as $e,bd as rt,be as Oe,as as gl,aA as Ve,bf as hl,ac as yl,bg as bl,v as wl}from"./app-014d9ed9.js";import{n as st,Q as Cl,c as kl,a as Vl}from"./QItemLabel.b6dd3adb.js";import{u as xl,v as ct,a as ql,b as Al,c as Ol,r as dt,s as zl,p as ft,d as Fl}from"./position-engine.65ebcb34.js";import{r as Ne}from"./rtl.b51694b1.js";const Il=Te({name:"QField",inheritAttrs:!1,props:je,emits:St,setup(){return gt(ht())}}),Ml={xs:8,sm:10,md:14,lg:20,xl:24},_l=Te({name:"QChip",props:{...yt,...pt,dense:Boolean,icon:String,iconRight:String,iconRemove:String,iconSelected:String,label:[String,Number],color:String,textColor:String,modelValue:{type:Boolean,default:!0},selected:{type:Boolean,default:null},square:Boolean,outline:Boolean,clickable:Boolean,removable:Boolean,removeAriaLabel:String,tabindex:[String,Number],disable:Boolean,ripple:{type:[Boolean,Object],default:!0}},emits:["update:modelValue","update:selected","remove","click"],setup(e,{slots:d,emit:r}){const{proxy:{$q:w}}=Pe(),A=bt(e,w),i=Ht(e,Ml),F=m(()=>e.selected===!0||e.icon!==void 0),g=m(()=>e.selected===!0?e.iconSelected||w.iconSet.chip.selected:e.icon),h=m(()=>e.iconRemove||w.iconSet.chip.remove),I=m(()=>e.disable===!1&&(e.clickable===!0||e.selected!==null)),s=m(()=>{const C=e.outline===!0&&e.color||e.textColor;return"q-chip row inline no-wrap items-center"+(e.outline===!1&&e.color!==void 0?` bg-${e.color}`:"")+(C?` text-${C} q-chip--colored`:"")+(e.disable===!0?" disabled":"")+(e.dense===!0?" q-chip--dense":"")+(e.outline===!0?" q-chip--outline":"")+(e.selected===!0?" q-chip--selected":"")+(I.value===!0?" q-chip--clickable cursor-pointer non-selectable q-hoverable":"")+(e.square===!0?" q-chip--square":"")+(A.value===!0?" q-chip--dark q-dark":"")}),V=m(()=>{const C=e.disable===!0?{tabindex:-1,"aria-disabled":"true"}:{tabindex:e.tabindex||0},$={...C,role:"button","aria-hidden":"false","aria-label":e.removeAriaLabel||w.lang.label.remove};return{chip:C,remove:$}});function x(C){C.keyCode===13&&y(C)}function y(C){e.disable||(r("update:selected",!e.selected),r("click",C))}function p(C){(C.keyCode===void 0||C.keyCode===13)&&(se(C),e.disable===!1&&(r("update:modelValue",!1),r("remove")))}function P(){const C=[];I.value===!0&&C.push(k("div",{class:"q-focus-helper"})),F.value===!0&&C.push(k(Ee,{class:"q-chip__icon q-chip__icon--left",name:g.value}));const $=e.label!==void 0?[k("div",{class:"ellipsis"},[e.label])]:void 0;return C.push(k("div",{class:"q-chip__content col row no-wrap items-center q-anchor--skip"},Dt(d.default,$))),e.iconRight&&C.push(k(Ee,{class:"q-chip__icon q-chip__icon--right",name:e.iconRight})),e.removable===!0&&C.push(k(Ee,{class:"q-chip__icon q-chip__icon--remove cursor-pointer",name:h.value,...V.value.remove,onClick:p,onKeyup:p})),C}return()=>{if(e.modelValue===!1)return;const C={class:s.value,style:i.value};return I.value===!0&&Object.assign(C,V.value.chip,{onClick:y,onKeyup:x}),Lt("div",C,P(),"ripple",e.ripple!==!1&&e.disable!==!0,()=>[[$t,e.ripple]])}}}),Bl=Te({name:"QMenu",inheritAttrs:!1,props:{...xl,...Kt,...yt,...Nt,persistent:Boolean,autoClose:Boolean,separateClosePopup:Boolean,noRouteDismiss:Boolean,noRefocus:Boolean,noFocus:Boolean,fit:Boolean,cover:Boolean,square:Boolean,anchor:{type:String,validator:ct},self:{type:String,validator:ct},offset:{type:Array,validator:ql},scrollTarget:{default:void 0},touchPosition:Boolean,maxHeight:{type:String,default:null},maxWidth:{type:String,default:null}},emits:[...jt,"click","escape-key"],setup(e,{slots:d,emit:r,attrs:w}){let A=null,i,F,g;const h=Pe(),{proxy:I}=h,{$q:s}=I,V=T(null),x=T(!1),y=m(()=>e.persistent!==!0&&e.noRouteDismiss!==!0),p=bt(e,s),{registerTick:P,removeTick:C}=Qt(),{registerTimeout:$}=Wt(),{transition:L,transitionStyle:W}=Ut(e,x),{localScrollTarget:M,changeScrollEvent:_,unconfigureScrollTarget:U}=Al(e,S),{anchorEl:j,canShow:ue}=Ol({showing:x}),{hide:ne}=Xt({showing:x,canShow:ue,handleShow:a,handleHide:n,hideOnRouteChange:y,processOnMount:!0}),{showPortal:Y,hidePortal:N,renderPortal:oe}=Yt(h,V,R),ee={anchorEl:j,innerRef:V,onClickOutside(l){if(e.persistent!==!0&&x.value===!0)return ne(l),(l.type==="touchstart"||l.target.classList.contains("q-dialog__backdrop"))&&se(l),!0}},ae=m(()=>ft(e.anchor||(e.cover===!0?"center middle":"bottom start"),s.lang.rtl)),te=m(()=>e.cover===!0?ae.value:ft(e.self||"top start",s.lang.rtl)),G=m(()=>(e.square===!0?" q-menu--square":"")+(p.value===!0?" q-menu--dark q-dark":"")),me=m(()=>e.autoClose===!0?{onClick:O}:{}),ie=m(()=>x.value===!0&&e.persistent!==!0);ce(ie,l=>{l===!0?(ol(b),Fl(ee)):(it(b),dt(ee))});function J(){ul(()=>{let l=V.value;l&&l.contains(document.activeElement)!==!0&&(l=l.querySelector("[autofocus], [data-autofocus]")||l,l.focus({preventScroll:!0}))})}function a(l){if(A=e.noRefocus===!1?document.activeElement:null,Gt(E),Y(),S(),i=void 0,l!==void 0&&(e.touchPosition||e.contextMenu)){const D=Jt(l);if(D.left!==void 0){const{top:le,left:de}=j.value.getBoundingClientRect();i={left:D.left-de,top:D.top-le}}}F===void 0&&(F=ce(()=>s.screen.width+"|"+s.screen.height+"|"+e.self+"|"+e.anchor+"|"+s.lang.rtl,f)),e.noFocus!==!0&&document.activeElement.blur(),P(()=>{f(),e.noFocus!==!0&&J()}),$(()=>{s.platform.is.ios===!0&&(g=e.autoClose,V.value.click()),f(),Y(!0),r("show",l)},e.transitionDuration)}function n(l){C(),N(),c(!0),A!==null&&(l===void 0||l.qClickOutside!==!0)&&(A.focus(),A=null),$(()=>{N(!0),r("hide",l)},e.transitionDuration)}function c(l){i=void 0,F!==void 0&&(F(),F=void 0),(l===!0||x.value===!0)&&(Zt(E),U(),dt(ee),it(b)),l!==!0&&(A=null)}function S(){(j.value!==null||e.scrollTarget!==void 0)&&(M.value=el(j.value,e.scrollTarget),_(M.value,f))}function O(l){g!==!0?(nl(I,l),r("click",l)):g=!1}function E(l){ie.value===!0&&e.noFocus!==!0&&al(V.value,l.target)!==!0&&J()}function b(l){r("escape-key"),ne(l)}function f(){const l=V.value;l===null||j.value===null||zl({el:l,offset:e.offset,anchorEl:j.value,anchorOrigin:ae.value,selfOrigin:te.value,absoluteOffset:i,fit:e.fit,cover:e.cover,maxHeight:e.maxHeight,maxWidth:e.maxWidth})}function R(){return k(ll,{name:L.value,appear:!0},()=>x.value===!0?k("div",{role:"menu",...w,ref:V,tabindex:-1,class:["q-menu q-position-engine scroll"+G.value,w.class],style:[w.style,W.value],...me.value},tl(d.default)):null)}return Qe(c),Object.assign(I,{focus:J,updatePosition:f}),oe}}),X=1e3,El=["start","center","end","start-force","center-force","end-force"],wt=Array.prototype.filter,Tl=window.getComputedStyle(document.body).overflowAnchor===void 0?il:function(e,d){e!==null&&(cancelAnimationFrame(e._qOverflowAnimationFrame),e._qOverflowAnimationFrame=requestAnimationFrame(()=>{if(e===null)return;const r=e.children||[];wt.call(r,A=>A.dataset&&A.dataset.qVsAnchor!==void 0).forEach(A=>{delete A.dataset.qVsAnchor});const w=r[d];w&&w.dataset&&(w.dataset.qVsAnchor="")}))};function xe(e,d){return e+d}function Ke(e,d,r,w,A,i,F,g){const h=e===window?document.scrollingElement||document.documentElement:e,I=A===!0?"offsetWidth":"offsetHeight",s={scrollStart:0,scrollViewSize:-F-g,scrollMaxSize:0,offsetStart:-F,offsetEnd:-g};if(A===!0?(e===window?(s.scrollStart=window.pageXOffset||window.scrollX||document.body.scrollLeft||0,s.scrollViewSize+=document.documentElement.clientWidth):(s.scrollStart=h.scrollLeft,s.scrollViewSize+=h.clientWidth),s.scrollMaxSize=h.scrollWidth,i===!0&&(s.scrollStart=(Ne===!0?s.scrollMaxSize-s.scrollViewSize:0)-s.scrollStart)):(e===window?(s.scrollStart=window.pageYOffset||window.scrollY||document.body.scrollTop||0,s.scrollViewSize+=document.documentElement.clientHeight):(s.scrollStart=h.scrollTop,s.scrollViewSize+=h.clientHeight),s.scrollMaxSize=h.scrollHeight),r!==null)for(let V=r.previousElementSibling;V!==null;V=V.previousElementSibling)V.classList.contains("q-virtual-scroll--skip")===!1&&(s.offsetStart+=V[I]);if(w!==null)for(let V=w.nextElementSibling;V!==null;V=V.nextElementSibling)V.classList.contains("q-virtual-scroll--skip")===!1&&(s.offsetEnd+=V[I]);if(d!==e){const V=h.getBoundingClientRect(),x=d.getBoundingClientRect();A===!0?(s.offsetStart+=x.left-V.left,s.offsetEnd-=x.width):(s.offsetStart+=x.top-V.top,s.offsetEnd-=x.height),e!==window&&(s.offsetStart+=s.scrollStart),s.offsetEnd+=s.scrollMaxSize-s.offsetStart}return s}function vt(e,d,r,w){d==="end"&&(d=(e===window?document.body:e)[r===!0?"scrollWidth":"scrollHeight"]),e===window?r===!0?(w===!0&&(d=(Ne===!0?document.body.scrollWidth-document.documentElement.clientWidth:0)-d),window.scrollTo(d,window.pageYOffset||window.scrollY||document.body.scrollTop||0)):window.scrollTo(window.pageXOffset||window.scrollX||document.body.scrollLeft||0,d):r===!0?(w===!0&&(d=(Ne===!0?e.scrollWidth-e.offsetWidth:0)-d),e.scrollLeft=d):e.scrollTop=d}function ze(e,d,r,w){if(r>=w)return 0;const A=d.length,i=Math.floor(r/X),F=Math.floor((w-1)/X)+1;let g=e.slice(i,F).reduce(xe,0);return r%X!==0&&(g-=d.slice(i*X,r).reduce(xe,0)),w%X!==0&&w!==A&&(g-=d.slice(w,F*X).reduce(xe,0)),g}const Ct={virtualScrollSliceSize:{type:[Number,String],default:null},virtualScrollSliceRatioBefore:{type:[Number,String],default:1},virtualScrollSliceRatioAfter:{type:[Number,String],default:1},virtualScrollItemSize:{type:[Number,String],default:24},virtualScrollStickySizeStart:{type:[Number,String],default:0},virtualScrollStickySizeEnd:{type:[Number,String],default:0},tableColspan:[Number,String]},Nl=Object.keys(Ct),Pl={virtualScrollHorizontal:Boolean,onVirtualScroll:Function,...Ct};function Rl({virtualScrollLength:e,getVirtualScrollTarget:d,getVirtualScrollEl:r,virtualScrollItemSizeComputed:w}){const A=Pe(),{props:i,emit:F,proxy:g}=A,{$q:h}=g;let I,s,V,x=[],y;const p=T(0),P=T(0),C=T({}),$=T(null),L=T(null),W=T(null),M=T({from:0,to:0}),_=m(()=>i.tableColspan!==void 0?i.tableColspan:100);w===void 0&&(w=m(()=>i.virtualScrollItemSize));const U=m(()=>w.value+";"+i.virtualScrollHorizontal),j=m(()=>U.value+";"+i.virtualScrollSliceRatioBefore+";"+i.virtualScrollSliceRatioAfter);ce(j,()=>{G()}),ce(U,ue);function ue(){te(s,!0)}function ne(n){te(n===void 0?s:n)}function Y(n,c){const S=d();if(S==null||S.nodeType===8)return;const O=Ke(S,r(),$.value,L.value,i.virtualScrollHorizontal,h.lang.rtl,i.virtualScrollStickySizeStart,i.virtualScrollStickySizeEnd);V!==O.scrollViewSize&&G(O.scrollViewSize),oe(S,O,Math.min(e.value-1,Math.max(0,parseInt(n,10)||0)),0,El.indexOf(c)>-1?c:s>-1&&n>s?"end":"start")}function N(){const n=d();if(n==null||n.nodeType===8)return;const c=Ke(n,r(),$.value,L.value,i.virtualScrollHorizontal,h.lang.rtl,i.virtualScrollStickySizeStart,i.virtualScrollStickySizeEnd),S=e.value-1,O=c.scrollMaxSize-c.offsetStart-c.offsetEnd-P.value;if(I===c.scrollStart)return;if(c.scrollMaxSize<=0){oe(n,c,0,0);return}V!==c.scrollViewSize&&G(c.scrollViewSize),ee(M.value.from);const E=Math.floor(c.scrollMaxSize-Math.max(c.scrollViewSize,c.offsetEnd)-Math.min(y[S],c.scrollViewSize/2));if(E>0&&Math.ceil(c.scrollStart)>=E){oe(n,c,S,c.scrollMaxSize-c.offsetEnd-x.reduce(xe,0));return}let b=0,f=c.scrollStart-c.offsetStart,R=f;if(f<=O&&f+c.scrollViewSize>=p.value)f-=p.value,b=M.value.from,R=f;else for(let l=0;f>=x[l]&&b0&&b-c.scrollViewSize?(b++,R=f):R=y[b]+f;oe(n,c,b,R)}function oe(n,c,S,O,E){const b=typeof E=="string"&&E.indexOf("-force")>-1,f=b===!0?E.replace("-force",""):E,R=f!==void 0?f:"start";let l=Math.max(0,S-C.value[R]),D=l+C.value.total;D>e.value&&(D=e.value,l=Math.max(0,D-C.value.total)),I=c.scrollStart;const le=l!==M.value.from||D!==M.value.to;if(le===!1&&f===void 0){ie(S);return}const{activeElement:de}=document,Z=W.value;le===!0&&Z!==null&&Z!==de&&Z.contains(de)===!0&&(Z.addEventListener("focusout",ae),setTimeout(()=>{Z!==null&&Z.removeEventListener("focusout",ae)})),Tl(Z,S-l);const Fe=f!==void 0?y.slice(l,S).reduce(xe,0):0;if(le===!0){const Se=D>=M.value.from&&l<=M.value.to?M.value.to:D;M.value={from:l,to:Se},p.value=ze(x,y,0,l),P.value=ze(x,y,D,e.value),requestAnimationFrame(()=>{M.value.to!==D&&I===c.scrollStart&&(M.value={from:M.value.from,to:D},P.value=ze(x,y,D,e.value))})}requestAnimationFrame(()=>{if(I!==c.scrollStart)return;le===!0&&ee(l);const Se=y.slice(l,S).reduce(xe,0),ge=Se+c.offsetStart+p.value,Ie=ge+y[S];let qe=ge+O;if(f!==void 0){const Q=Se-Fe,H=c.scrollStart+Q;qe=b!==!0&&Hl.classList&&l.classList.contains("q-virtual-scroll--skip")===!1),O=S.length,E=i.virtualScrollHorizontal===!0?l=>l.getBoundingClientRect().width:l=>l.offsetHeight;let b=n,f,R;for(let l=0;l=O;b--)y[b]=S;const E=Math.floor((e.value-1)/X);x=[];for(let b=0;b<=E;b++){let f=0;const R=Math.min((b+1)*X,e.value);for(let l=b*X;l=0?(ee(M.value.from),re(()=>{Y(n)})):J()}function G(n){if(n===void 0&&typeof window<"u"){const f=d();f!=null&&f.nodeType!==8&&(n=Ke(f,r(),$.value,L.value,i.virtualScrollHorizontal,h.lang.rtl,i.virtualScrollStickySizeStart,i.virtualScrollStickySizeEnd).scrollViewSize)}V=n;const c=parseFloat(i.virtualScrollSliceRatioBefore)||0,S=parseFloat(i.virtualScrollSliceRatioAfter)||0,O=1+c+S,E=n===void 0||n<=0?1:Math.ceil(n/w.value),b=Math.max(1,E,Math.ceil((i.virtualScrollSliceSize>0?i.virtualScrollSliceSize:10)/O));C.value={total:Math.ceil(b*O),start:Math.ceil(b*c),center:Math.ceil(b*(.5+c)),end:Math.ceil(b*(1+c)),view:E}}function me(n,c){const S=i.virtualScrollHorizontal===!0?"width":"height",O={["--q-virtual-scroll-item-"+S]:w.value+"px"};return[n==="tbody"?k(n,{class:"q-virtual-scroll__padding",key:"before",ref:$},[k("tr",[k("td",{style:{[S]:`${p.value}px`,...O},colspan:_.value})])]):k(n,{class:"q-virtual-scroll__padding",key:"before",ref:$,style:{[S]:`${p.value}px`,...O}}),k(n,{class:"q-virtual-scroll__content",key:"content",ref:W,tabindex:-1},c.flat()),n==="tbody"?k(n,{class:"q-virtual-scroll__padding",key:"after",ref:L},[k("tr",[k("td",{style:{[S]:`${P.value}px`,...O},colspan:_.value})])]):k(n,{class:"q-virtual-scroll__padding",key:"after",ref:L,style:{[S]:`${P.value}px`,...O}})]}function ie(n){s!==n&&(i.onVirtualScroll!==void 0&&F("virtual-scroll",{index:n,from:M.value.from,to:M.value.to-1,direction:n{G()});let a=!1;return cl(()=>{a=!0}),dl(()=>{if(a!==!0)return;const n=d();I!==void 0&&n!==void 0&&n!==null&&n.nodeType!==8?vt(n,I,i.virtualScrollHorizontal,h.lang.rtl):Y(s)}),Qe(()=>{J.cancel()}),Object.assign(g,{scrollTo:Y,reset:ue,refresh:ne}),{virtualScrollSliceRange:M,virtualScrollSliceSizeComputed:C,setVirtualScrollSize:G,onVirtualScrollEvt:J,localResetVirtualScroll:te,padVirtualScroll:me,scrollTo:Y,reset:ue,refresh:ne}}const mt=e=>["add","add-unique","toggle"].includes(e),pl=".*+?^${}()|[]\\",Hl=Object.keys(je),jl=Te({name:"QSelect",inheritAttrs:!1,props:{...Pl,...fl,...je,modelValue:{required:!0},multiple:Boolean,displayValue:[String,Number],displayValueHtml:Boolean,dropdownIcon:String,options:{type:Array,default:()=>[]},optionValue:[Function,String],optionLabel:[Function,String],optionDisable:[Function,String],hideSelected:Boolean,hideDropdownIcon:Boolean,fillInput:Boolean,maxValues:[Number,String],optionsDense:Boolean,optionsDark:{type:Boolean,default:null},optionsSelectedClass:String,optionsHtml:Boolean,optionsCover:Boolean,menuShrink:Boolean,menuAnchor:String,menuSelf:String,menuOffset:Array,popupContentClass:String,popupContentStyle:[String,Array,Object],useInput:Boolean,useChips:Boolean,newValueMode:{type:String,validator:mt},mapOptions:Boolean,emitValue:Boolean,inputDebounce:{type:[Number,String],default:500},inputClass:[Array,String,Object],inputStyle:[Array,String,Object],tabindex:{type:[String,Number],default:0},autocomplete:String,transitionShow:String,transitionHide:String,transitionDuration:[String,Number],behavior:{type:String,validator:e=>["default","menu","dialog"].includes(e),default:"default"},virtualScrollItemSize:{type:[Number,String],default:void 0},onNewValue:Function,onFilter:Function},emits:[...St,"add","remove","input-value","new-value","keyup","keypress","keydown","filter-abort"],setup(e,{slots:d,emit:r}){const{proxy:w}=Pe(),{$q:A}=w,i=T(!1),F=T(!1),g=T(-1),h=T(""),I=T(!1),s=T(!1);let V,x,y,p,P,C,$,L,W;const M=T(null),_=T(null),U=T(null),j=T(null),ue=T(null),ne=vl(e),Y=bl(lt),N=m(()=>Array.isArray(e.options)?e.options.length:0),oe=m(()=>e.virtualScrollItemSize===void 0?e.optionsDense===!0?24:48:e.virtualScrollItemSize),{virtualScrollSliceRange:ee,virtualScrollSliceSizeComputed:ae,localResetVirtualScroll:te,padVirtualScroll:G,onVirtualScrollEvt:me,scrollTo:ie,setVirtualScrollSize:J}=Rl({virtualScrollLength:N,getVirtualScrollTarget:qt,getVirtualScrollEl:et,virtualScrollItemSizeComputed:oe}),a=ht(),n=m(()=>{const t=e.mapOptions===!0&&e.multiple!==!0,o=e.modelValue!==void 0&&(e.modelValue!==null||t===!0)?e.multiple===!0&&Array.isArray(e.modelValue)?e.modelValue:[e.modelValue]:[];if(e.mapOptions===!0&&Array.isArray(e.options)===!0){const u=e.mapOptions===!0&&x!==void 0?x:[],v=o.map(z=>xt(z,u));return e.modelValue===null&&t===!0?v.filter(z=>z!==null):v}return o}),c=m(()=>{const t={};return Hl.forEach(o=>{const u=e[o];u!==void 0&&(t[o]=u)}),t}),S=m(()=>e.optionsDark===null?a.isDark.value:e.optionsDark),O=m(()=>rt(n.value)),E=m(()=>{let t="q-field__input q-placeholder col";return e.hideSelected===!0||n.value.length===0?[t,e.inputClass]:(t+=" q-field__input--padding",e.inputClass===void 0?t:[t,e.inputClass])}),b=m(()=>(e.virtualScrollHorizontal===!0?"q-virtual-scroll--horizontal":"")+(e.popupContentClass?" "+e.popupContentClass:"")),f=m(()=>N.value===0),R=m(()=>n.value.map(t=>H.value(t)).join(", ")),l=m(()=>e.optionsHtml===!0?()=>!0:t=>t!=null&&t.html===!0),D=m(()=>e.displayValueHtml===!0||e.displayValue===void 0&&(e.optionsHtml===!0||n.value.some(l.value))),le=m(()=>a.focused.value===!0?e.tabindex:-1),de=m(()=>({tabindex:e.tabindex,role:"combobox","aria-label":e.label,"aria-readonly":e.readonly===!0?"true":"false","aria-autocomplete":e.useInput===!0?"list":"none","aria-expanded":i.value===!0?"true":"false","aria-owns":`${a.targetUid.value}_lb`,"aria-controls":`${a.targetUid.value}_lb`})),Z=m(()=>{const t={id:`${a.targetUid.value}_lb`,role:"listbox","aria-multiselectable":e.multiple===!0?"true":"false"};return g.value>=0&&(t["aria-activedescendant"]=`${a.targetUid.value}_${g.value}`),t}),Fe=m(()=>n.value.map((t,o)=>({index:o,opt:t,html:l.value(t),selected:!0,removeAtIndex:Vt,toggleOption:fe,tabindex:le.value}))),Se=m(()=>{if(N.value===0)return[];const{from:t,to:o}=ee.value;return e.options.slice(t,o).map((u,v)=>{const z=he.value(u)===!0,q=t+v,B={clickable:!0,active:!1,activeClass:qe.value,manualFocus:!0,focused:!1,disable:z,tabindex:-1,dense:e.optionsDense,dark:S.value,role:"option",id:`${a.targetUid.value}_${q}`,onClick:()=>{fe(u)}};return z!==!0&&(He(u)===!0&&(B.active=!0),g.value===q&&(B.focused=!0),B["aria-selected"]=B.active===!0?"true":"false",A.platform.is.desktop===!0&&(B.onMousemove=()=>{i.value===!0&&ye(q)})),{index:q,opt:u,html:l.value(u),label:H.value(u),selected:B.active,focused:B.focused,toggleOption:fe,setOptionIndex:ye,itemProps:B}})}),ge=m(()=>e.dropdownIcon!==void 0?e.dropdownIcon:A.iconSet.arrow.dropdown),Ie=m(()=>e.optionsCover===!1&&e.outlined!==!0&&e.standout!==!0&&e.borderless!==!0&&e.rounded!==!0),qe=m(()=>e.optionsSelectedClass!==void 0?e.optionsSelectedClass:e.color!==void 0?`text-${e.color}`:""),Q=m(()=>pe(e.optionValue,"value")),H=m(()=>pe(e.optionLabel,"label")),he=m(()=>pe(e.optionDisable,"disable")),Me=m(()=>n.value.map(t=>Q.value(t))),kt=m(()=>{const t={onInput:lt,onChange:Y,onKeydown:Ze,onKeyup:Ge,onKeypress:Je,onFocus:Xe,onClick(o){y===!0&&Ve(o)}};return t.onCompositionstart=t.onCompositionupdate=t.onCompositionend=Y,t});ce(n,t=>{x=t,e.useInput===!0&&e.fillInput===!0&&e.multiple!==!0&&a.innerLoading.value!==!0&&(F.value!==!0&&i.value!==!0||O.value!==!0)&&(p!==!0&&ke(),(F.value===!0||i.value===!0)&&be(""))},{immediate:!0}),ce(()=>e.fillInput,ke),ce(i,Le),ce(N,Rt);function We(t){return e.emitValue===!0?Q.value(t):t}function Re(t){if(t>-1&&t=e.maxValues)return;const v=e.modelValue.slice();r("add",{index:v.length,value:u}),v.push(u),r("update:modelValue",v)}function fe(t,o){if(a.editable.value!==!0||t===void 0||he.value(t)===!0)return;const u=Q.value(t);if(e.multiple!==!0){o!==!0&&(Ae(e.fillInput===!0?H.value(t):"",!0,!0),ve()),_.value!==null&&_.value.focus(),(n.value.length===0||Oe(Q.value(n.value[0]),u)!==!0)&&r("update:modelValue",e.emitValue===!0?u:t);return}if((y!==!0||I.value===!0)&&a.focus(),Xe(),n.value.length===0){const q=e.emitValue===!0?u:t;r("add",{index:0,value:q}),r("update:modelValue",e.multiple===!0?[q]:q);return}const v=e.modelValue.slice(),z=Me.value.findIndex(q=>Oe(q,u));if(z>-1)r("remove",{index:z,value:v.splice(z,1)[0]});else{if(e.maxValues!==void 0&&v.length>=e.maxValues)return;const q=e.emitValue===!0?u:t;r("add",{index:v.length,value:q}),v.push(q)}r("update:modelValue",v)}function ye(t){if(A.platform.is.desktop!==!0)return;const o=t>-1&&t=0?H.value(e.options[u]):C))}}function xt(t,o){const u=v=>Oe(Q.value(v),t);return e.options.find(u)||o.find(u)||t}function pe(t,o){const u=t!==void 0?t:o;return typeof u=="function"?u:v=>v!==null&&typeof v=="object"&&u in v?v[u]:v}function He(t){const o=Q.value(t);return Me.value.find(u=>Oe(u,o))!==void 0}function Xe(t){e.useInput===!0&&_.value!==null&&(t===void 0||_.value===t.target&&t.target.value===R.value)&&_.value.select()}function Ye(t){gl(t,27)===!0&&i.value===!0&&(Ve(t),ve(),ke()),r("keyup",t)}function Ge(t){const{value:o}=t.target;if(t.keyCode!==void 0){Ye(t);return}if(t.target.value="",clearTimeout(V),ke(),typeof o=="string"&&o.length>0){const u=o.toLocaleLowerCase(),v=q=>{const B=e.options.find(K=>q.value(K).toLocaleLowerCase()===u);return B===void 0?!1:(n.value.indexOf(B)===-1?fe(B):ve(),!0)},z=q=>{v(Q)!==!0&&(v(H)===!0||q===!0||be(o,!0,()=>z(!0)))};z()}else a.clearValue(t)}function Je(t){r("keypress",t)}function Ze(t){if(r("keydown",t),hl(t)===!0)return;const o=h.value.length>0&&(e.newValueMode!==void 0||e.onNewValue!==void 0),u=t.shiftKey!==!0&&e.multiple!==!0&&(g.value>-1||o===!0);if(t.keyCode===27){$e(t);return}if(t.keyCode===9&&u===!1){we();return}if(t.target===void 0||t.target.id!==a.targetUid.value)return;if(t.keyCode===40&&a.innerLoading.value!==!0&&i.value===!1){se(t),Ce();return}if(t.keyCode===8&&e.hideSelected!==!0&&h.value.length===0){e.multiple===!0&&Array.isArray(e.modelValue)===!0?Re(e.modelValue.length-1):e.multiple!==!0&&e.modelValue!==null&&r("update:modelValue",null);return}(t.keyCode===35||t.keyCode===36)&&(typeof h.value!="string"||h.value.length===0)&&(se(t),g.value=-1,_e(t.keyCode===36?1:-1,e.multiple)),(t.keyCode===33||t.keyCode===34)&&ae.value!==void 0&&(se(t),g.value=Math.max(-1,Math.min(N.value,g.value+(t.keyCode===33?-1:1)*ae.value.view)),_e(t.keyCode===33?1:-1,e.multiple)),(t.keyCode===38||t.keyCode===40)&&(se(t),_e(t.keyCode===38?-1:1,e.multiple));const v=N.value;if((L===void 0||W0&&e.useInput!==!0&&t.key!==void 0&&t.key.length===1&&t.altKey===t.ctrlKey&&(t.keyCode!==32||L.length>0)){i.value!==!0&&Ce(t);const z=t.key.toLocaleLowerCase(),q=L.length===1&&L[0]===z;W=Date.now()+1500,q===!1&&(se(t),L+=z);const B=new RegExp("^"+L.split("").map(De=>pl.indexOf(De)>-1?"\\"+De:De).join(".*"),"i");let K=g.value;if(q===!0||K<0||B.test(H.value(e.options[K]))!==!0)do K=st(K+1,-1,v-1);while(K!==g.value&&(he.value(e.options[K])===!0||B.test(H.value(e.options[K]))!==!0));g.value!==K&&re(()=>{ye(K),ie(K),K>=0&&e.useInput===!0&&e.fillInput===!0&&Be(H.value(e.options[K]))});return}if(!(t.keyCode!==13&&(t.keyCode!==32||e.useInput===!0||L!=="")&&(t.keyCode!==9||u===!1))){if(t.keyCode!==9&&se(t),g.value>-1&&g.value{if(B){if(mt(B)!==!0)return}else B=e.newValueMode;if(q==null)return;Ae("",e.multiple!==!0,!0),(B==="toggle"?fe:Ue)(q,B==="add-unique"),e.multiple!==!0&&(_.value!==null&&_.value.focus(),ve())};if(e.onNewValue!==void 0?r("new-value",h.value,z):z(h.value),e.multiple!==!0)return}i.value===!0?we():a.innerLoading.value!==!0&&Ce()}}function et(){return y===!0?ue.value:U.value!==null&&U.value.__qPortalInnerRef.value!==null?U.value.__qPortalInnerRef.value:void 0}function qt(){return et()}function At(){return e.hideSelected===!0?[]:d["selected-item"]!==void 0?Fe.value.map(t=>d["selected-item"](t)).slice():d.selected!==void 0?[].concat(d.selected()):e.useChips===!0?Fe.value.map((t,o)=>k(_l,{key:"option-"+o,removable:a.editable.value===!0&&he.value(t.opt)!==!0,dense:!0,textColor:e.color,tabindex:le.value,onRemove(){t.removeAtIndex(o)}},()=>k("span",{class:"ellipsis",[t.html===!0?"innerHTML":"textContent"]:H.value(t.opt)}))):[k("span",{[D.value===!0?"innerHTML":"textContent"]:e.displayValue!==void 0?e.displayValue:R.value})]}function tt(){if(f.value===!0)return d["no-option"]!==void 0?d["no-option"]({inputValue:h.value}):void 0;const t=d.option!==void 0?d.option:u=>k(Vl,{key:u.index,...u.itemProps},()=>k(Cl,()=>k(kl,()=>k("span",{[u.html===!0?"innerHTML":"textContent"]:u.label}))));let o=G("div",Se.value.map(t));return d["before-options"]!==void 0&&(o=d["before-options"]().concat(o)),wl(d["after-options"],o)}function Ot(t,o){const u=o===!0?{...de.value,...a.splitAttrs.attributes.value}:void 0,v={ref:o===!0?_:void 0,key:"i_t",class:E.value,style:e.inputStyle,value:h.value!==void 0?h.value:"",type:"search",...u,id:o===!0?a.targetUid.value:void 0,maxlength:e.maxlength,autocomplete:e.autocomplete,"data-autofocus":t!==!0&&e.autofocus===!0||void 0,disabled:e.disable===!0,readonly:e.readonly===!0,...kt.value};return t!==!0&&y===!0&&(Array.isArray(v.class)===!0?v.class=[...v.class,"no-pointer-events"]:v.class+=" no-pointer-events"),k("input",v)}function lt(t){clearTimeout(V),!(t&&t.target&&t.target.qComposing===!0)&&(Be(t.target.value||""),p=!0,C=h.value,a.focused.value!==!0&&(y!==!0||I.value===!0)&&a.focus(),e.onFilter!==void 0&&(V=setTimeout(()=>{be(h.value)},e.inputDebounce)))}function Be(t){h.value!==t&&(h.value=t,r("input-value",t))}function Ae(t,o,u){p=u!==!0,e.useInput===!0&&(Be(t),(o===!0||u!==!0)&&(C=t),o!==!0&&be(t))}function be(t,o,u){if(e.onFilter===void 0||o!==!0&&a.focused.value!==!0)return;a.innerLoading.value===!0?r("filter-abort"):(a.innerLoading.value=!0,s.value=!0),t!==""&&e.multiple!==!0&&n.value.length>0&&p!==!0&&t===H.value(n.value[0])&&(t="");const v=setTimeout(()=>{i.value===!0&&(i.value=!1)},10);clearTimeout(P),P=v,r("filter",t,(z,q)=>{(o===!0||a.focused.value===!0)&&P===v&&(clearTimeout(P),typeof z=="function"&&z(),s.value=!1,re(()=>{a.innerLoading.value=!1,a.editable.value===!0&&(o===!0?i.value===!0&&ve():i.value===!0?Le(!0):i.value=!0),typeof q=="function"&&re(()=>{q(w)}),typeof u=="function"&&re(()=>{u(w)})}))},()=>{a.focused.value===!0&&P===v&&(clearTimeout(P),a.innerLoading.value=!1,s.value=!1),i.value===!0&&(i.value=!1)})}function zt(){return k(Bl,{ref:U,class:b.value,style:e.popupContentStyle,modelValue:i.value,fit:e.menuShrink!==!0,cover:e.optionsCover===!0&&f.value!==!0&&e.useInput!==!0,anchor:e.menuAnchor,self:e.menuSelf,offset:e.menuOffset,dark:S.value,noParentEvent:!0,noRefocus:!0,noFocus:!0,square:Ie.value,transitionShow:e.transitionShow,transitionHide:e.transitionHide,transitionDuration:e.transitionDuration,separateClosePopup:!0,...Z.value,onScrollPassive:me,onBeforeShow:nt,onBeforeHide:Ft,onShow:It},tt)}function Ft(t){ot(t),we()}function It(){J()}function Mt(t){Ve(t),_.value!==null&&_.value.focus(),I.value=!0,window.scrollTo(window.pageXOffset||window.scrollX||document.body.scrollLeft||0,0)}function _t(t){Ve(t),re(()=>{I.value=!1})}function Bt(){const t=[k(Il,{class:`col-auto ${a.fieldClass.value}`,...c.value,for:a.targetUid.value,dark:S.value,square:!0,loading:s.value,itemAligned:!1,filled:!0,stackLabel:h.value.length>0,...a.splitAttrs.listeners.value,onFocus:Mt,onBlur:_t},{...d,rawControl:()=>a.getControl(!0),before:void 0,after:void 0})];return i.value===!0&&t.push(k("div",{ref:ue,class:b.value+" scroll",style:e.popupContentStyle,...Z.value,onClick:$e,onScrollPassive:me},tt())),k(yl,{ref:j,modelValue:F.value,position:e.useInput===!0?"top":void 0,transitionShow:$,transitionHide:e.transitionHide,transitionDuration:e.transitionDuration,onBeforeShow:nt,onBeforeHide:Et,onHide:Tt,onShow:Pt},()=>k("div",{class:"q-select__dialog"+(S.value===!0?" q-select__dialog--dark q-dark":"")+(I.value===!0?" q-select__dialog--focused":"")},t))}function Et(t){ot(t),j.value!==null&&j.value.__updateRefocusTarget(a.rootRef.value.querySelector(".q-field__native > [tabindex]:last-child")),a.focused.value=!1}function Tt(t){ve(),a.focused.value===!1&&r("blur",t),ke()}function Pt(){const t=document.activeElement;(t===null||t.id!==a.targetUid.value)&&_.value!==null&&_.value!==t&&_.value.focus(),J()}function we(){F.value!==!0&&(g.value=-1,i.value===!0&&(i.value=!1),a.focused.value===!1&&(clearTimeout(P),P=void 0,a.innerLoading.value===!0&&(r("filter-abort"),a.innerLoading.value=!1,s.value=!1)))}function Ce(t){a.editable.value===!0&&(y===!0?(a.onControlFocusin(t),F.value=!0,re(()=>{a.focus()})):a.focus(),e.onFilter!==void 0?be(h.value):(f.value!==!0||d["no-option"]!==void 0)&&(i.value=!0))}function ve(){F.value=!1,we()}function ke(){e.useInput===!0&&Ae(e.multiple!==!0&&e.fillInput===!0&&n.value.length>0&&H.value(n.value[0])||"",!0,!0)}function Le(t){let o=-1;if(t===!0){if(n.value.length>0){const u=Q.value(n.value[0]);o=e.options.findIndex(v=>Oe(Q.value(v),u))}te(o)}ye(o)}function Rt(t,o){i.value===!0&&a.innerLoading.value===!1&&(te(-1,!0),re(()=>{i.value===!0&&a.innerLoading.value===!1&&(t>o?te():Le(!0))}))}function ut(){F.value===!1&&U.value!==null&&U.value.updatePosition()}function nt(t){t!==void 0&&Ve(t),r("popup-show",t),a.hasPopupOpen=!0,a.onControlFocusin(t)}function ot(t){t!==void 0&&Ve(t),r("popup-hide",t),a.hasPopupOpen=!1,a.onControlFocusout(t)}function at(){y=A.platform.is.mobile!==!0&&e.behavior!=="dialog"?!1:e.behavior!=="menu"&&(e.useInput===!0?d["no-option"]!==void 0||e.onFilter!==void 0||f.value===!1:!0),$=A.platform.is.ios===!0&&y===!0&&e.useInput===!0?"fade":e.transitionShow}return ml(at),Sl(ut),at(),Qe(()=>{clearTimeout(V)}),Object.assign(w,{showPopup:Ce,hidePopup:ve,removeAtIndex:Re,add:Ue,toggleOption:fe,getOptionIndex:()=>g.value,setOptionIndex:ye,moveOptionSelection:_e,filter:be,updateMenuPosition:ut,updateInputValue:Ae,isOptionSelected:He,getEmittingOptionValue:We,isOptionDisabled:(...t)=>he.value.apply(null,t)===!0,getOptionValue:(...t)=>Q.value.apply(null,t),getOptionLabel:(...t)=>H.value.apply(null,t)}),Object.assign(a,{innerValue:n,fieldClass:m(()=>`q-select q-field--auto-height q-select--with${e.useInput!==!0?"out":""}-input q-select--with${e.useChips!==!0?"out":""}-chips q-select--${e.multiple===!0?"multiple":"single"}`),inputRef:M,targetRef:_,hasValue:O,showPopup:Ce,floatingLabel:m(()=>e.hideSelected!==!0&&O.value===!0||typeof h.value=="number"||h.value.length>0||rt(e.displayValue)),getControlChild:()=>{if(a.editable.value!==!1&&(F.value===!0||f.value!==!0||d["no-option"]!==void 0))return y===!0?Bt():zt();a.hasPopupOpen===!0&&(a.hasPopupOpen=!1)},controlEvents:{onFocusin(t){a.onControlFocusin(t)},onFocusout(t){a.onControlFocusout(t,()=>{ke(),we()})},onClick(t){if($e(t),y!==!0&&i.value===!0){we(),_.value!==null&&_.value.focus();return}Ce(t)}},getControl:t=>{const o=At(),u=t===!0||F.value!==!0||y!==!0;if(e.useInput===!0)o.push(Ot(t,u));else if(a.editable.value===!0){const z=u===!0?de.value:void 0;o.push(k("input",{ref:u===!0?_:void 0,key:"d_t",class:"q-select__focus-target",id:u===!0?a.targetUid.value:void 0,readonly:!0,"data-autofocus":t!==!0&&e.autofocus===!0||void 0,...z,onKeydown:Ze,onKeyup:Ye,onKeypress:Je})),u===!0&&typeof e.autocomplete=="string"&&e.autocomplete.length>0&&o.push(k("input",{class:"q-select__autocomplete-input",autocomplete:e.autocomplete,tabindex:-1,onKeyup:Ge}))}if(ne.value!==void 0&&e.disable!==!0&&Me.value.length>0){const z=Me.value.map(q=>k("option",{value:q,selected:!0}));o.push(k("select",{class:"hidden",name:ne.value,multiple:e.multiple},z))}const v=e.useInput===!0||u!==!0?void 0:a.splitAttrs.attributes.value;return k("div",{class:"q-field__native row items-center",...v},o)},getInnerAppend:()=>e.loading!==!0&&s.value!==!0&&e.hideDropdownIcon!==!0?[k(Ee,{class:"q-select__dropdown-icon"+(i.value===!0?" rotate-180":""),name:ge.value})]:null}),gt(a)}});export{jl as Q,Rl as a,_l as b,Nl as c,Bl as d,Pl as u}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/QSlideTransition.104e08c1.js b/resources/[tools]/unlimited-spectre/html/assets/QSlideTransition.104e08c1.js deleted file mode 100644 index 599b372be..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/QSlideTransition.104e08c1.js +++ /dev/null @@ -1 +0,0 @@ -import{b,f as v,x as w,ao as E}from"./app-014d9ed9.js";const x=b({name:"QSlideTransition",props:{appear:Boolean,duration:{type:Number,default:300}},emits:["show","hide"],setup(a,{slots:g,emit:p}){let s=!1,r,u,d,f,i,h;function l(){r&&r(),r=null,s=!1,clearTimeout(d),clearTimeout(f),u!==void 0&&u.removeEventListener("transitionend",i),i=null}function m(t,e,n){t.style.overflowY="hidden",e!==void 0&&(t.style.height=`${e}px`),t.style.transition=`height ${a.duration}ms cubic-bezier(.25, .8, .50, 1)`,s=!0,r=n}function c(t,e){t.style.overflowY=null,t.style.height=null,t.style.transition=null,l(),e!==h&&p(e)}function y(t,e){let n=0;u=t,s===!0?(l(),n=t.offsetHeight===t.scrollHeight?0:void 0):h="hide",m(t,n,e),d=setTimeout(()=>{t.style.height=`${t.scrollHeight}px`,i=o=>{(Object(o)!==o||o.target===t)&&c(t,"show")},t.addEventListener("transitionend",i),f=setTimeout(i,a.duration*1.1)},100)}function T(t,e){let n;u=t,s===!0?l():(h="show",n=t.scrollHeight),m(t,n,e),d=setTimeout(()=>{t.style.height=0,i=o=>{(Object(o)!==o||o.target===t)&&c(t,"hide")},t.addEventListener("transitionend",i),f=setTimeout(i,a.duration*1.1)},100)}return v(()=>{s===!0&&l()}),()=>w(E,{css:!1,appear:a.appear,onEnter:y,onLeave:T},g.default)}});export{x as Q}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/QTabPanels.e712c208.js b/resources/[tools]/unlimited-spectre/html/assets/QTabPanels.e712c208.js deleted file mode 100644 index 0df4eeeaf..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/QTabPanels.e712c208.js +++ /dev/null @@ -1 +0,0 @@ -import{C as Z,k as w,q as d,f as he,e as $e,B as De,L as Qe,Q as Ee,x as h,bz as ge,ap as de,as as Fe,bf as We,S as O,v as je,h as te,be as He,aD as Ke,b as N,aj as ee,I as fe,n as be,d as F,aG as Ve,aH as ze,A as me,t as Oe,F as Ne,H as Ue,M as Ge}from"./app-014d9ed9.js";import{Q as Xe}from"./QResizeObserver.2503502b.js";import{r as pe}from"./rtl.b51694b1.js";import{a as Je,b as Ye,c as Ze,d as et}from"./use-panel.c35d3e1e.js";let tt=0;const at=["click","keydown"],nt={icon:String,label:[Number,String],alert:[Boolean,String],alertIcon:String,name:{type:[Number,String],default:()=>`t_${tt++}`},noCaps:Boolean,tabindex:[String,Number],disable:Boolean,contentClass:String,ripple:{type:[Boolean,Object],default:!0}};function ot(e,C,g,c){const o=De(ge,Z);if(o===Z)return console.error("QTab/QRouteTab component needs to be child of QTabs"),Z;const{proxy:D}=te(),L=w(null),B=w(null),W=w(null),U=d(()=>e.disable===!0||e.ripple===!1?!1:Object.assign({keyCodes:[13,32],early:!0},e.ripple===!0?{}:e.ripple)),x=d(()=>o.currentModel.value===e.name),G=d(()=>"q-tab relative-position self-stretch flex flex-center text-center"+(x.value===!0?" q-tab--active"+(o.tabProps.value.activeClass?" "+o.tabProps.value.activeClass:"")+(o.tabProps.value.activeColor?` text-${o.tabProps.value.activeColor}`:"")+(o.tabProps.value.activeBgColor?` bg-${o.tabProps.value.activeBgColor}`:""):" q-tab--inactive")+(e.icon&&e.label&&o.tabProps.value.inlineLabel===!1?" q-tab--full":"")+(e.noCaps===!0||o.tabProps.value.noCaps===!0?" q-tab--no-caps":"")+(e.disable===!0?" disabled":" q-focusable q-hoverable cursor-pointer")+(c!==void 0?c.linkClass.value:"")),I=d(()=>"q-tab__content self-stretch flex-center relative-position q-anchor--skip non-selectable "+(o.tabProps.value.inlineLabel===!0?"row no-wrap q-tab__content--inline":"column")+(e.contentClass!==void 0?` ${e.contentClass}`:"")),m=d(()=>e.disable===!0||o.hasFocus.value===!0||x.value===!1&&o.hasActiveTab.value===!0?-1:e.tabindex||0);function y(r,v){if(v!==!0&&L.value!==null&&L.value.focus(),e.disable===!0){c!==void 0&&c.hasRouterLink.value===!0&&de(r);return}if(c===void 0){o.updateModel({name:e.name}),g("click",r);return}if(c.hasRouterLink.value===!0){const q=(T={})=>{let R;const H=T.to===void 0||He(T.to,e.to)===!0?o.avoidRouteWatcher=Ke():null;return c.navigateToRouterLink(r,{...T,returnRouterError:!0}).catch(b=>{R=b}).then(b=>{if(H===o.avoidRouteWatcher&&(o.avoidRouteWatcher=!1,R===void 0&&(b===void 0||b.message.startsWith("Avoided redundant navigation")===!0)&&o.updateModel({name:e.name})),T.returnRouterError===!0)return R!==void 0?Promise.reject(R):b})};g("click",r,q),r.defaultPrevented!==!0&&q();return}g("click",r)}function _(r){Fe(r,[13,32])?y(r,!0):We(r)!==!0&&r.keyCode>=35&&r.keyCode<=40&&r.altKey!==!0&&r.metaKey!==!0&&o.onKbdNavigate(r.keyCode,D.$el)===!0&&de(r),g("keydown",r)}function Q(){const r=o.tabProps.value.narrowIndicator,v=[],q=h("div",{ref:W,class:["q-tab__indicator",o.tabProps.value.indicatorClass]});e.icon!==void 0&&v.push(h(O,{class:"q-tab__icon",name:e.icon})),e.label!==void 0&&v.push(h("div",{class:"q-tab__label"},e.label)),e.alert!==!1&&v.push(e.alertIcon!==void 0?h(O,{class:"q-tab__alert-icon",color:e.alert!==!0?e.alert:void 0,name:e.alertIcon}):h("div",{class:"q-tab__alert"+(e.alert!==!0?` text-${e.alert}`:"")})),r===!0&&v.push(q);const T=[h("div",{class:"q-focus-helper",tabindex:-1,ref:L}),h("div",{class:I.value},je(C.default,v))];return r===!1&&T.push(q),T}const M={name:d(()=>e.name),rootRef:B,tabIndicatorRef:W,routeData:c};he(()=>{o.unregisterTab(M)}),$e(()=>{o.registerTab(M)});function j(r,v){const q={ref:B,class:G.value,tabindex:m.value,role:"tab","aria-selected":x.value===!0?"true":"false","aria-disabled":e.disable===!0?"true":void 0,onClick:y,onKeydown:_,...v};return Qe(h(r,q,Q()),[[Ee,U.value]])}return{renderTab:j,$tabs:o}}const vt=N({name:"QTab",props:nt,emits:at,setup(e,{slots:C,emit:g}){const{renderTab:c}=ot(e,C,g);return()=>c("div")}});function lt(e,C,g){const c=g===!0?["left","right"]:["top","bottom"];return`absolute-${C===!0?c[0]:c[1]}${e?` text-${e}`:""}`}const rt=["left","center","right","justify"],dt=N({name:"QTabs",props:{modelValue:[Number,String],align:{type:String,default:"center",validator:e=>rt.includes(e)},breakpoint:{type:[String,Number],default:600},vertical:Boolean,shrink:Boolean,stretch:Boolean,activeClass:String,activeColor:String,activeBgColor:String,indicatorColor:String,leftIcon:String,rightIcon:String,outsideArrows:Boolean,mobileArrows:Boolean,switchIndicator:Boolean,narrowIndicator:Boolean,inlineLabel:Boolean,noCaps:Boolean,dense:Boolean,contentClass:String,"onUpdate:modelValue":[Function,Array]},setup(e,{slots:C,emit:g}){const{proxy:c}=te(),{$q:o}=c,{registerTick:D}=ee(),{registerTick:L}=ee(),{registerTick:B}=ee(),{registerTimeout:W,removeTimeout:U}=fe(),{registerTimeout:x,removeTimeout:G}=fe(),I=w(null),m=w(null),y=w(e.modelValue),_=w(!1),Q=w(!0),M=w(!1),j=w(!1),r=d(()=>o.platform.is.desktop===!0||e.mobileArrows===!0),v=[],q=w(0),T=w(!1);let R,H,b,A=r.value===!0?ne:be;const Te=d(()=>({activeClass:e.activeClass,activeColor:e.activeColor,activeBgColor:e.activeBgColor,indicatorClass:lt(e.indicatorColor,e.switchIndicator,e.vertical),narrowIndicator:e.narrowIndicator,inlineLabel:e.inlineLabel,noCaps:e.noCaps})),we=d(()=>{const t=q.value,a=y.value;for(let n=0;n`q-tabs__content--align-${_.value===!0?"left":j.value===!0?"justify":e.align}`),qe=d(()=>`q-tabs row no-wrap items-center q-tabs--${_.value===!0?"":"not-"}scrollable q-tabs--${e.vertical===!0?"vertical":"horizontal"} q-tabs__arrows--${r.value===!0&&e.outsideArrows===!0?"outside":"inside"}`+(e.dense===!0?" q-tabs--dense":"")+(e.shrink===!0?" col-shrink":"")+(e.stretch===!0?" self-stretch":"")),ye=d(()=>"q-tabs__content row no-wrap items-center self-stretch hide-scrollbar relative-position "+Ce.value+(e.contentClass!==void 0?` ${e.contentClass}`:"")+(o.platform.is.mobile===!0?" scroll":"")),K=d(()=>e.vertical===!0?{container:"height",content:"offsetHeight",scroll:"scrollHeight"}:{container:"width",content:"offsetWidth",scroll:"scrollWidth"}),V=d(()=>e.vertical!==!0&&o.lang.rtl===!0),X=d(()=>pe===!1&&V.value===!0);F(V,A),F(()=>e.modelValue,t=>{p({name:t,setCurrent:!0,skipEmit:!0})}),F(()=>e.outsideArrows,()=>{E()}),F(r,t=>{A=t===!0?ne:be,E()});function p({name:t,setCurrent:a,skipEmit:n,fromRoute:s}){y.value!==t&&(n!==!0&&e["onUpdate:modelValue"]!==void 0&&g("update:modelValue",t),(a===!0||e["onUpdate:modelValue"]===void 0)&&(Pe(y.value,t),y.value=t))}function E(){D(()=>{ae({width:I.value.offsetWidth,height:I.value.offsetHeight})})}function ae(t){if(K.value===void 0||m.value===null)return;const a=t[K.value.container],n=Math.min(m.value[K.value.scroll],Array.prototype.reduce.call(m.value.children,(u,i)=>u+(i[K.value.content]||0),0)),s=a>0&&n>a;_.value=s,s===!0&&L(A),j.value=au.name.value===t):null,s=a!=null&&a!==""?v.find(u=>u.name.value===a):null;if(n&&s){const u=n.tabIndicatorRef.value,i=s.tabIndicatorRef.value;clearTimeout(R),u.style.transition="none",u.style.transform="none",i.style.transition="none",i.style.transform="none";const l=u.getBoundingClientRect(),f=i.getBoundingClientRect();i.style.transform=e.vertical===!0?`translate3d(0,${l.top-f.top}px,0) scale3d(1,${f.height?l.height/f.height:1},1)`:`translate3d(${l.left-f.left}px,0,0) scale3d(${f.width?l.width/f.width:1},1,1)`,B(()=>{R=setTimeout(()=>{i.style.transition="transform .25s cubic-bezier(.4, 0, .2, 1)",i.style.transform="none"},70)})}s&&_.value===!0&&$(s.rootRef.value)}function $(t){const{left:a,width:n,top:s,height:u}=m.value.getBoundingClientRect(),i=t.getBoundingClientRect();let l=e.vertical===!0?i.top-s:i.left-a;if(l<0){m.value[e.vertical===!0?"scrollTop":"scrollLeft"]+=Math.floor(l),A();return}l+=e.vertical===!0?i.height-u:i.width-n,l>0&&(m.value[e.vertical===!0?"scrollTop":"scrollLeft"]+=Math.ceil(l),A())}function ne(){const t=m.value;if(t!==null){const a=t.getBoundingClientRect(),n=e.vertical===!0?t.scrollTop:Math.abs(t.scrollLeft);V.value===!0?(Q.value=Math.ceil(n+a.width)0):(Q.value=n>0,M.value=e.vertical===!0?Math.ceil(n+a.height){Re(t)===!0&&P()},5)}function le(){oe(X.value===!0?Number.MAX_SAFE_INTEGER:0)}function re(){oe(X.value===!0?0:Number.MAX_SAFE_INTEGER)}function P(){clearInterval(H)}function ke(t,a){const n=Array.prototype.filter.call(m.value.children,f=>f===a||f.matches&&f.matches(".q-tab.q-focusable")===!0),s=n.length;if(s===0)return;if(t===36)return $(n[0]),n[0].focus(),!0;if(t===35)return $(n[s-1]),n[s-1].focus(),!0;const u=t===(e.vertical===!0?38:37),i=t===(e.vertical===!0?40:39),l=u===!0?-1:i===!0?1:void 0;if(l!==void 0){const f=V.value===!0?-1:1,k=n.indexOf(a)+l*f;return k>=0&&kX.value===!0?{get:t=>Math.abs(t.scrollLeft),set:(t,a)=>{t.scrollLeft=-a}}:e.vertical===!0?{get:t=>t.scrollTop,set:(t,a)=>{t.scrollTop=a}}:{get:t=>t.scrollLeft,set:(t,a)=>{t.scrollLeft=a}});function Re(t){const a=m.value,{get:n,set:s}=_e.value;let u=!1,i=n(a);const l=t=t)&&(u=!0,i=t),s(a,i),A(),u}function ie(t,a){for(const n in t)if(t[n]!==a[n])return!1;return!0}function Se(){let t=null,a={matchedLen:0,queryDiff:9999,hrefLen:0};const n=v.filter(l=>l.routeData!==void 0&&l.routeData.hasRouterLink.value===!0),{hash:s,query:u}=c.$route,i=Object.keys(u).length;for(const l of n){const f=l.routeData.exact.value===!0;if(l.routeData[f===!0?"linkIsExactActive":"linkIsActive"].value!==!0)continue;const{hash:k,query:J,matched:xe,href:Me}=l.routeData.resolvedLink.value,Y=Object.keys(J).length;if(f===!0){if(k!==s||Y!==i||ie(u,J)===!1)continue;t=l.name.value;break}if(k!==""&&k!==s||Y!==0&&ie(J,u)===!1)continue;const S={matchedLen:xe.length,queryDiff:i-Y,hrefLen:Me.length-k.length};if(S.matchedLen>a.matchedLen){t=l.name.value,a=S;continue}else if(S.matchedLen!==a.matchedLen)continue;if(S.queryDiffa.hrefLen&&(t=l.name.value,a=S)}t===null&&v.some(l=>l.routeData===void 0&&l.name.value===y.value)===!0||p({name:t,setCurrent:!0})}function Le(t){if(U(),T.value!==!0&&I.value!==null&&t.target&&typeof t.target.closest=="function"){const a=t.target.closest(".q-tab");a&&I.value.contains(a)===!0&&(T.value=!0,_.value===!0&&$(a))}}function Ie(){W(()=>{T.value=!1},30)}function z(){ue.avoidRouteWatcher===!1?x(Se):G()}function se(){if(b===void 0){const t=F(()=>c.$route.fullPath,z);b=()=>{t(),b=void 0}}}function Ae(t){v.push(t),q.value++,E(),t.routeData===void 0||c.$route===void 0?x(()=>{if(_.value===!0){const a=y.value,n=a!=null&&a!==""?v.find(s=>s.name.value===a):null;n&&$(n.rootRef.value)}}):(se(),t.routeData.hasRouterLink.value===!0&&z())}function Be(t){v.splice(v.indexOf(t),1),q.value--,E(),b!==void 0&&t.routeData!==void 0&&(v.every(a=>a.routeData===void 0)===!0&&b(),z())}const ue={currentModel:y,tabProps:Te,hasFocus:T,hasActiveTab:we,registerTab:Ae,unregisterTab:Be,verifyRouteModel:z,updateModel:p,onKbdNavigate:ke,avoidRouteWatcher:!1};Oe(ge,ue);function ce(){clearTimeout(R),P(),b!==void 0&&b()}let ve;return he(ce),Ve(()=>{ve=b!==void 0,ce()}),ze(()=>{ve===!0&&se(),E()}),()=>{const t=[h(Xe,{onResize:ae}),h("div",{ref:m,class:ye.value,onScroll:A},me(C.default))];return r.value===!0&&t.push(h(O,{class:"q-tabs__arrow q-tabs__arrow--left absolute q-tab__icon"+(Q.value===!0?"":" q-tabs__arrow--faded"),name:e.leftIcon||o.iconSet.tabs[e.vertical===!0?"up":"left"],onMousedownPassive:le,onTouchstartPassive:le,onMouseupPassive:P,onMouseleavePassive:P,onTouchendPassive:P}),h(O,{class:"q-tabs__arrow q-tabs__arrow--right absolute q-tab__icon"+(M.value===!0?"":" q-tabs__arrow--faded"),name:e.rightIcon||o.iconSet.tabs[e.vertical===!0?"down":"right"],onMousedownPassive:re,onTouchstartPassive:re,onMouseupPassive:P,onMouseleavePassive:P,onTouchendPassive:P})),h("div",{ref:I,class:qe.value,role:"tablist",onFocusin:Le,onFocusout:Ie},t)}}}),ft=N({name:"QTabPanel",props:Je,setup(e,{slots:C}){return()=>h("div",{class:"q-tab-panel",role:"tabpanel"},me(C.default))}}),bt=N({name:"QTabPanels",props:{...Ye,...Ne},emits:Ze,setup(e,{slots:C}){const g=te(),c=Ue(e,g.proxy.$q),{updatePanelsList:o,getPanelContent:D,panelDirectives:L}=et(),B=d(()=>"q-tab-panels q-panel-parent"+(c.value===!0?" q-tab-panels--dark q-dark":""));return()=>(o(C),Ge("div",{class:B.value},D(),"pan",e.swipeable,()=>L.value))}});export{bt as Q,dt as a,vt as b,ft as c}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/QTable.d759a99d.js b/resources/[tools]/unlimited-spectre/html/assets/QTable.d759a99d.js deleted file mode 100644 index 6836b419d..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/QTable.d759a99d.js +++ /dev/null @@ -1 +0,0 @@ -import{b as Q,q as c,x as o,A as p,h as z,D as bt,S as Le,k as A,d as V,b8 as Ve,e as De,aH as mt,aG as St,f as Me,g as yt,l as Te,v as je,F as Ee,a_ as ht,H as Ae,a$ as _t,bj as wt,bk as xe,bl as be,bm as Be,bn as qt,z as Qe,bo as Pt,aT as ge,bp as H,ab as ee,aE as Ct}from"./app-014d9ed9.js";import{Q as kt}from"./QList.9d5bb77f.js";import{Q as Rt}from"./QMarkupTable.ba6854cc.js";import{u as Tt,a as xt,c as He,Q as Bt}from"./QSelect.d7ce3d4c.js";const rl=Q({name:"QTd",props:{props:Object,autoWidth:Boolean,noHover:Boolean},setup(e,{slots:l}){const n=z(),v=c(()=>"q-td"+(e.autoWidth===!0?" q-table--col-auto-width":"")+(e.noHover===!0?" q-td--no-hover":"")+" ");return()=>{if(e.props===void 0)return o("td",{class:v.value},p(l.default));const r=n.vnode.key,f=(e.props.colsMap!==void 0?e.props.colsMap[r]:null)||e.props.col;if(f===void 0)return;const{row:s}=e.props;return o("td",{class:v.value+f.__tdClass(s),style:f.__tdStyle(s)},p(l.default))}}}),il=Q({name:"QTr",props:{props:Object,noHover:Boolean},setup(e,{slots:l}){const n=c(()=>"q-tr"+(e.props===void 0||e.props.header===!0?"":" "+e.props.__trClass)+(e.noHover===!0?" q-tr--no-hover":""));return()=>o("tr",{class:n.value},p(l.default))}}),Ot=Q({name:"QTh",props:{props:Object,autoWidth:Boolean},emits:["click"],setup(e,{slots:l,emit:n}){const v=z(),{proxy:{$q:r}}=v,f=s=>{n("click",s)};return()=>{if(e.props===void 0)return o("th",{class:e.autoWidth===!0?"q-table--col-auto-width":"",onClick:f},p(l.default));let s,u;const d=v.vnode.key;if(d){if(s=e.props.colsMap[d],s===void 0)return}else s=e.props.col;if(s.sortable===!0){const a=s.align==="right"?"unshift":"push";u=bt(l.default,[]),u[a](o(Le,{class:s.__iconClass,name:r.iconSet.table.arrowUp}))}else u=p(l.default);const S={class:s.__thClass+(e.autoWidth===!0?" q-table--col-auto-width":""),style:s.headerStyle,onClick:a=>{s.sortable===!0&&e.props.sort(s),f(a)}};return o("th",S,u)}}});function Ne(e,l){return o("div",e,[o("table",{class:"q-table"},l)])}const Ft={list:kt,table:Rt},$t=["list","table","__qtable"],Lt=Q({name:"QVirtualScroll",props:{...Tt,type:{type:String,default:"list",validator:e=>$t.includes(e)},items:{type:Array,default:()=>[]},itemsFn:Function,itemsSize:Number,scrollTarget:{default:void 0}},setup(e,{slots:l,attrs:n}){let v;const r=A(null),f=c(()=>e.itemsSize>=0&&e.itemsFn!==void 0?parseInt(e.itemsSize,10):Array.isArray(e.items)?e.items.length:0),{virtualScrollSliceRange:s,localResetVirtualScroll:u,padVirtualScroll:d,onVirtualScrollEvt:S}=xt({virtualScrollLength:f,getVirtualScrollTarget:P,getVirtualScrollEl:q}),a=c(()=>{if(f.value===0)return[];const O=(F,R)=>({index:s.value.from+R,item:F});return e.itemsFn===void 0?e.items.slice(s.value.from,s.value.to).map(O):e.itemsFn(s.value.from,s.value.to-s.value.from).map(O)}),m=c(()=>"q-virtual-scroll q-virtual-scroll"+(e.virtualScrollHorizontal===!0?"--horizontal":"--vertical")+(e.scrollTarget!==void 0?"":" scroll")),w=c(()=>e.scrollTarget!==void 0?{}:{tabindex:0});V(f,()=>{u()}),V(()=>e.scrollTarget,()=>{_(),h()});function q(){return r.value.$el||r.value}function P(){return v}function h(){v=yt(q(),e.scrollTarget),v.addEventListener("scroll",S,Te.passive)}function _(){v!==void 0&&(v.removeEventListener("scroll",S,Te.passive),v=void 0)}function B(){let O=d(e.type==="list"?"div":"tbody",a.value.map(l.default));return l.before!==void 0&&(O=l.before().concat(O)),je(l.after,O)}return Ve(()=>{u()}),De(()=>{h()}),mt(()=>{h()}),St(()=>{_()}),Me(()=>{_()}),()=>{if(l.default===void 0){console.error("QVirtualScroll: default scoped slot is required for rendering");return}return e.type==="__qtable"?Ne({ref:r,class:"q-table__middle "+m.value},B()):o(Ft[e.type],{...n,ref:r,class:[n.class,m.value],...w.value},B)}}}),Vt={xs:2,sm:4,md:6,lg:10,xl:14};function Oe(e,l,n){return{transform:l===!0?`translateX(${n.lang.rtl===!0?"-":""}100%) scale3d(${-e},1,1)`:`scale3d(${e},1,1)`}}const Dt=Q({name:"QLinearProgress",props:{...Ee,...ht,value:{type:Number,default:0},buffer:Number,color:String,trackColor:String,reverse:Boolean,stripe:Boolean,indeterminate:Boolean,query:Boolean,rounded:Boolean,animationSpeed:{type:[String,Number],default:2100},instantFeedback:Boolean},setup(e,{slots:l}){const{proxy:n}=z(),v=Ae(e,n.$q),r=_t(e,Vt),f=c(()=>e.indeterminate===!0||e.query===!0),s=c(()=>e.reverse!==e.query),u=c(()=>({...r.value!==null?r.value:{},"--q-linear-progress-speed":`${e.animationSpeed}ms`})),d=c(()=>"q-linear-progress"+(e.color!==void 0?` text-${e.color}`:"")+(e.reverse===!0||e.query===!0?" q-linear-progress--reverse":"")+(e.rounded===!0?" rounded-borders":"")),S=c(()=>Oe(e.buffer!==void 0?e.buffer:1,s.value,n.$q)),a=c(()=>`q-linear-progress__track absolute-full q-linear-progress__track--with${e.instantFeedback===!0?"out":""}-transition q-linear-progress__track--${v.value===!0?"dark":"light"}`+(e.trackColor!==void 0?` bg-${e.trackColor}`:"")),m=c(()=>Oe(f.value===!0?1:e.value,s.value,n.$q)),w=c(()=>`q-linear-progress__model absolute-full q-linear-progress__model--with${e.instantFeedback===!0?"out":""}-transition q-linear-progress__model--${f.value===!0?"in":""}determinate`),q=c(()=>({width:`${e.value*100}%`})),P=c(()=>`q-linear-progress__stripe absolute-${e.reverse===!0?"right":"left"}`);return()=>{const h=[o("div",{class:a.value,style:S.value}),o("div",{class:w.value,style:m.value})];return e.stripe===!0&&f.value===!1&&h.push(o("div",{class:P.value,style:q.value})),o("div",{class:d.value,style:u.value,role:"progressbar","aria-valuemin":0,"aria-valuemax":1,"aria-valuenow":e.indeterminate===!0?void 0:e.value},je(l.default,h))}}});let N=0;const Mt={fullscreen:Boolean,noRouteFullscreenExit:Boolean},jt=["update:fullscreen","fullscreen"];function Et(){const e=z(),{props:l,emit:n,proxy:v}=e;let r,f,s;const u=A(!1);wt(e)===!0&&V(()=>v.$route.fullPath,()=>{l.noRouteFullscreenExit!==!0&&a()}),V(()=>l.fullscreen,m=>{u.value!==m&&d()}),V(u,m=>{n("update:fullscreen",m),n("fullscreen",m)});function d(){u.value===!0?a():S()}function S(){u.value!==!0&&(u.value=!0,s=v.$el.parentNode,s.replaceChild(f,v.$el),document.body.appendChild(v.$el),N++,N===1&&document.body.classList.add("q-body--fullscreen-mixin"),r={handler:a},xe.add(r))}function a(){u.value===!0&&(r!==void 0&&(xe.remove(r),r=void 0),s.replaceChild(v.$el,f),u.value=!1,N=Math.max(0,N-1),N===0&&(document.body.classList.remove("q-body--fullscreen-mixin"),v.$el.scrollIntoView!==void 0&&setTimeout(()=>{v.$el.scrollIntoView()})))}return Ve(()=>{f=document.createElement("span")}),De(()=>{l.fullscreen===!0&&S()}),Me(a),Object.assign(v,{toggleFullscreen:d,setFullscreen:S,exitFullscreen:a}),{inFullscreen:u,toggleFullscreen:d}}function At(e,l){return new Date(e)-new Date(l)}const Qt={sortMethod:Function,binaryStateSort:Boolean,columnSortOrder:{type:String,validator:e=>e==="ad"||e==="da",default:"ad"}};function Ht(e,l,n,v){const r=c(()=>{const{sortBy:u}=l.value;return u&&n.value.find(d=>d.name===u)||null}),f=c(()=>e.sortMethod!==void 0?e.sortMethod:(u,d,S)=>{const a=n.value.find(q=>q.name===d);if(a===void 0||a.field===void 0)return u;const m=S===!0?-1:1,w=typeof a.field=="function"?q=>a.field(q):q=>q[a.field];return u.sort((q,P)=>{let h=w(q),_=w(P);return h==null?-1*m:_==null?1*m:a.sort!==void 0?a.sort(h,_,q,P)*m:be(h)===!0&&be(_)===!0?(h-_)*m:Be(h)===!0&&Be(_)===!0?At(h,_)*m:typeof h=="boolean"&&typeof _=="boolean"?(h-_)*m:([h,_]=[h,_].map(B=>(B+"").toLocaleString().toLowerCase()),h<_?-1*m:h===_?0:m)})});function s(u){let d=e.columnSortOrder;if(qt(u)===!0)u.sortOrder&&(d=u.sortOrder),u=u.name;else{const m=n.value.find(w=>w.name===u);m!==void 0&&m.sortOrder&&(d=m.sortOrder)}let{sortBy:S,descending:a}=l.value;S!==u?(S=u,a=d==="da"):e.binaryStateSort===!0?a=!a:a===!0?d==="ad"?S=null:a=!1:d==="ad"?a=!0:S=null,v({sortBy:S,descending:a,page:1})}return{columnToSort:r,computedSortMethod:f,sort:s}}const Nt={filter:[String,Object],filterMethod:Function};function pt(e,l){const n=c(()=>e.filterMethod!==void 0?e.filterMethod:(v,r,f,s)=>{const u=r?r.toLowerCase():"";return v.filter(d=>f.some(S=>{const a=s(S,d)+"";return(a==="undefined"||a==="null"?"":a.toLowerCase()).indexOf(u)!==-1}))});return V(()=>e.filter,()=>{Qe(()=>{l({page:1},!0)})},{deep:!0}),{computedFilterMethod:n}}function zt(e,l){for(const n in l)if(l[n]!==e[n])return!1;return!0}function Fe(e){return e.page<1&&(e.page=1),e.rowsPerPage!==void 0&&e.rowsPerPage<1&&(e.rowsPerPage=0),e}const Ut={pagination:Object,rowsPerPageOptions:{type:Array,default:()=>[5,7,10,15,20,25,50,0]},"onUpdate:pagination":[Function,Array]};function It(e,l){const{props:n,emit:v}=e,r=A(Object.assign({sortBy:null,descending:!1,page:1,rowsPerPage:n.rowsPerPageOptions.length>0?n.rowsPerPageOptions[0]:5},n.pagination)),f=c(()=>{const a=n["onUpdate:pagination"]!==void 0?{...r.value,...n.pagination}:r.value;return Fe(a)}),s=c(()=>f.value.rowsNumber!==void 0);function u(a){d({pagination:a,filter:n.filter})}function d(a={}){Qe(()=>{v("request",{pagination:a.pagination||f.value,filter:a.filter||n.filter,getCellValue:l})})}function S(a,m){const w=Fe({...f.value,...a});if(zt(f.value,w)===!0){s.value===!0&&m===!0&&u(w);return}if(s.value===!0){u(w);return}n.pagination!==void 0&&n["onUpdate:pagination"]!==void 0?v("update:pagination",w):r.value=w}return{innerPagination:r,computedPagination:f,isServerSide:s,requestServerInteraction:d,setPagination:S}}function Wt(e,l,n,v,r,f){const{props:s,emit:u,proxy:{$q:d}}=e,S=c(()=>v.value===!0?n.value.rowsNumber||0:f.value),a=c(()=>{const{page:R,rowsPerPage:T}=n.value;return(R-1)*T}),m=c(()=>{const{page:R,rowsPerPage:T}=n.value;return R*T}),w=c(()=>n.value.page===1),q=c(()=>n.value.rowsPerPage===0?1:Math.max(1,Math.ceil(S.value/n.value.rowsPerPage))),P=c(()=>m.value===0?!0:n.value.page>=q.value),h=c(()=>(s.rowsPerPageOptions.includes(l.value.rowsPerPage)?s.rowsPerPageOptions:[l.value.rowsPerPage].concat(s.rowsPerPageOptions)).map(T=>({label:T===0?d.lang.table.allRows:""+T,value:T})));V(q,(R,T)=>{if(R===T)return;const U=n.value.page;R&&!U?r({page:1}):R1&&r({page:R-1})}function O(){const{page:R,rowsPerPage:T}=n.value;m.value>0&&R*T["single","multiple","none"].includes(e)},selected:{type:Array,default:()=>[]}},Kt=["update:selected","selection"];function Xt(e,l,n,v){const r=c(()=>{const P={};return e.selected.map(v.value).forEach(h=>{P[h]=!0}),P}),f=c(()=>e.selection!=="none"),s=c(()=>e.selection==="single"),u=c(()=>e.selection==="multiple"),d=c(()=>n.value.length>0&&n.value.every(P=>r.value[v.value(P)]===!0)),S=c(()=>d.value!==!0&&n.value.some(P=>r.value[v.value(P)]===!0)),a=c(()=>e.selected.length);function m(P){return r.value[P]===!0}function w(){l("update:selected",[])}function q(P,h,_,B){l("selection",{rows:h,added:_,keys:P,evt:B});const O=s.value===!0?_===!0?h:[]:_===!0?e.selected.concat(h):e.selected.filter(F=>P.includes(v.value(F))===!1);l("update:selected",O)}return{hasSelectionMode:f,singleSelection:s,multipleSelection:u,allRowsSelected:d,someRowsSelected:S,rowsSelectedNumber:a,isRowSelected:m,clearSelection:w,updateSelection:q}}function $e(e){return Array.isArray(e)?e.slice():[]}const Jt={expanded:Array},Yt=["update:expanded"];function Zt(e,l){const n=A($e(e.expanded));V(()=>e.expanded,s=>{n.value=$e(s)});function v(s){return n.value.includes(s)}function r(s){e.expanded!==void 0?l("update:expanded",s):n.value=s}function f(s,u){const d=n.value.slice(),S=d.indexOf(s);u===!0?S===-1&&(d.push(s),r(d)):S!==-1&&(d.splice(S,1),r(d))}return{isRowExpanded:v,setExpanded:r,updateExpanded:f}}const el={visibleColumns:Array};function tl(e,l,n){const v=c(()=>{if(e.columns!==void 0)return e.columns;const u=e.rows[0];return u!==void 0?Object.keys(u).map(d=>({name:d,label:d.toUpperCase(),field:d,align:be(u[d])?"right":"left",sortable:!0})):[]}),r=c(()=>{const{sortBy:u,descending:d}=l.value;return(e.visibleColumns!==void 0?v.value.filter(a=>a.required===!0||e.visibleColumns.includes(a.name)===!0):v.value).map(a=>{const m=a.align||"right",w=`text-${m}`;return{...a,align:m,__iconClass:`q-table__sort-icon q-table__sort-icon--${m}`,__thClass:w+(a.headerClasses!==void 0?" "+a.headerClasses:"")+(a.sortable===!0?" sortable":"")+(a.name===u?` sorted ${d===!0?"sort-desc":""}`:""),__tdStyle:a.style!==void 0?typeof a.style!="function"?()=>a.style:a.style:()=>null,__tdClass:a.classes!==void 0?typeof a.classes!="function"?()=>w+" "+a.classes:q=>w+" "+a.classes(q):()=>w}})}),f=c(()=>{const u={};return r.value.forEach(d=>{u[d.name]=d}),u}),s=c(()=>e.tableColspan!==void 0?e.tableColspan:r.value.length+(n.value===!0?1:0));return{colList:v,computedCols:r,computedColsMap:f,computedColspan:s}}const te="q-table__bottom row items-center",pe={};He.forEach(e=>{pe[e]={}});const sl=Q({name:"QTable",props:{rows:{type:Array,default:()=>[]},rowKey:{type:[String,Function],default:"id"},columns:Array,loading:Boolean,iconFirstPage:String,iconPrevPage:String,iconNextPage:String,iconLastPage:String,title:String,hideHeader:Boolean,grid:Boolean,gridHeader:Boolean,dense:Boolean,flat:Boolean,bordered:Boolean,square:Boolean,separator:{type:String,default:"horizontal",validator:e=>["horizontal","vertical","cell","none"].includes(e)},wrapCells:Boolean,virtualScroll:Boolean,virtualScrollTarget:{default:void 0},...pe,noDataLabel:String,noResultsLabel:String,loadingLabel:String,selectedRowsLabel:Function,rowsPerPageLabel:String,paginationLabel:Function,color:{type:String,default:"grey-8"},titleClass:[String,Array,Object],tableStyle:[String,Array,Object],tableClass:[String,Array,Object],tableHeaderStyle:[String,Array,Object],tableHeaderClass:[String,Array,Object],cardContainerClass:[String,Array,Object],cardContainerStyle:[String,Array,Object],cardStyle:[String,Array,Object],cardClass:[String,Array,Object],hideBottom:Boolean,hideSelectedBanner:Boolean,hideNoData:Boolean,hidePagination:Boolean,onRowClick:Function,onRowDblclick:Function,onRowContextmenu:Function,...Ee,...Mt,...el,...Nt,...Ut,...Jt,...Gt,...Qt},emits:["request","virtual-scroll",...jt,...Yt,...Kt],setup(e,{slots:l,emit:n}){const v=z(),{proxy:{$q:r}}=v,f=Ae(e,r),{inFullscreen:s,toggleFullscreen:u}=Et(),d=c(()=>typeof e.rowKey=="function"?e.rowKey:t=>t[e.rowKey]),S=A(null),a=A(null),m=c(()=>e.grid!==!0&&e.virtualScroll===!0),w=c(()=>" q-table__card"+(f.value===!0?" q-table__card--dark q-dark":"")+(e.square===!0?" q-table--square":"")+(e.flat===!0?" q-table--flat":"")+(e.bordered===!0?" q-table--bordered":"")),q=c(()=>`q-table__container q-table--${e.separator}-separator column no-wrap`+(e.grid===!0?" q-table--grid":w.value)+(f.value===!0?" q-table--dark":"")+(e.dense===!0?" q-table--dense":"")+(e.wrapCells===!1?" q-table--no-wrap":"")+(s.value===!0?" fullscreen scroll":"")),P=c(()=>q.value+(e.loading===!0?" q-table--loading":""));V(()=>e.tableStyle+e.tableClass+e.tableHeaderStyle+e.tableHeaderClass+q.value,()=>{m.value===!0&&a.value!==null&&a.value.reset()});const{innerPagination:h,computedPagination:_,isServerSide:B,requestServerInteraction:O,setPagination:F}=It(v,j),{computedFilterMethod:R}=pt(e,F),{isRowExpanded:T,setExpanded:U,updateExpanded:ze}=Zt(e,n),le=c(()=>{let t=e.rows;if(B.value===!0||t.length===0)return t;const{sortBy:i,descending:g}=_.value;return e.filter&&(t=R.value(t,e.filter,$.value,j)),Ke.value!==null&&(t=Xe.value(e.rows===t?t.slice():t,i,g)),t}),me=c(()=>le.value.length),D=c(()=>{let t=le.value;if(B.value===!0)return t;const{rowsPerPage:i}=_.value;return i!==0&&(W.value===0&&e.rows!==t?t.length>G.value&&(t=t.slice(0,G.value)):t=t.slice(W.value,G.value)),t}),{hasSelectionMode:M,singleSelection:Ue,multipleSelection:Se,allRowsSelected:Ie,someRowsSelected:ye,rowsSelectedNumber:ae,isRowSelected:ne,clearSelection:We,updateSelection:I}=Xt(e,n,D,d),{colList:Ge,computedCols:$,computedColsMap:he,computedColspan:_e}=tl(e,_,M),{columnToSort:Ke,computedSortMethod:Xe,sort:oe}=Ht(e,_,Ge,F),{firstRowIndex:W,lastRowIndex:G,isFirstPage:re,isLastPage:ie,pagesNumber:K,computedRowsPerPageOptions:Je,computedRowsNumber:X,firstPage:se,prevPage:ue,nextPage:ce,lastPage:de}=Wt(v,h,_,B,F,me),Ye=c(()=>D.value.length===0),Ze=c(()=>{const t={};return He.forEach(i=>{t[i]=e[i]}),t.virtualScrollItemSize===void 0&&(t.virtualScrollItemSize=e.dense===!0?28:48),t});function et(){m.value===!0&&a.value.reset()}function tt(){if(e.grid===!0)return ft();const t=e.hideHeader!==!0?ke:null;if(m.value===!0){const g=l["top-row"],b=l["bottom-row"],y={default:k=>qe(k.item,l.body,k.index)};if(g!==void 0){const k=o("tbody",g({cols:$.value}));y.before=t===null?()=>k:()=>[t()].concat(k)}else t!==null&&(y.before=t);return b!==void 0&&(y.after=()=>o("tbody",b({cols:$.value}))),o(Lt,{ref:a,class:e.tableClass,style:e.tableStyle,...Ze.value,scrollTarget:e.virtualScrollTarget,items:D.value,type:"__qtable",tableColspan:_e.value,onVirtualScroll:at},y)}const i=[nt()];return t!==null&&i.unshift(t()),Ne({class:["q-table__middle scroll",e.tableClass],style:e.tableStyle},i)}function lt(t,i){if(a.value!==null){a.value.scrollTo(t,i);return}t=parseInt(t,10);const g=S.value.querySelector(`tbody tr:nth-of-type(${t+1})`);if(g!==null){const b=S.value.querySelector(".q-table__middle.scroll"),y=g.offsetTop-e.virtualScrollStickySizeStart,k=y{const Y=l[`body-cell-${x.name}`],Z=Y!==void 0?Y:k;return Z!==void 0?Z(ot({key:b,row:t,pageIndex:g,col:x})):o("td",{class:x.__tdClass(t),style:x.__tdStyle(t)},j(x,t))});if(M.value===!0){const x=l["body-selection"],Y=x!==void 0?x(rt({key:b,row:t,pageIndex:g})):[o(ge,{modelValue:y,color:e.color,dark:f.value,dense:e.dense,"onUpdate:modelValue":(Z,gt)=>{I([b],[t],Z,gt)}})];C.unshift(o("td",{class:"q-table--col-auto-width"},Y))}const L={key:b,class:{selected:y}};return e.onRowClick!==void 0&&(L.class["cursor-pointer"]=!0,L.onClick=x=>{n("RowClick",x,t,g)}),e.onRowDblclick!==void 0&&(L.class["cursor-pointer"]=!0,L.onDblclick=x=>{n("RowDblclick",x,t,g)}),e.onRowContextmenu!==void 0&&(L.class["cursor-pointer"]=!0,L.onContextmenu=x=>{n("RowContextmenu",x,t,g)}),o("tr",L,C)}function nt(){const t=l.body,i=l["top-row"],g=l["bottom-row"];let b=D.value.map((y,k)=>qe(y,t,k));return i!==void 0&&(b=i({cols:$.value}).concat(b)),g!==void 0&&(b=b.concat(g({cols:$.value}))),o("tbody",b)}function Pe(t){return ve(t),t.cols=t.cols.map(i=>H({...i},"value",()=>j(i,t.row))),t}function ot(t){return ve(t),H(t,"value",()=>j(t.col,t.row)),t}function rt(t){return ve(t),t}function ve(t){Object.assign(t,{cols:$.value,colsMap:he.value,sort:oe,rowIndex:W.value+t.pageIndex,color:e.color,dark:f.value,dense:e.dense}),M.value===!0&&H(t,"selected",()=>ne(t.key),(i,g)=>{I([t.key],[t.row],i,g)}),H(t,"expand",()=>T(t.key),i=>{ze(t.key,i)})}function j(t,i){const g=typeof t.field=="function"?t.field(i):i[t.field];return t.format!==void 0?t.format(g,i):g}const E=c(()=>({pagination:_.value,pagesNumber:K.value,isFirstPage:re.value,isLastPage:ie.value,firstPage:se,prevPage:ue,nextPage:ce,lastPage:de,inFullscreen:s.value,toggleFullscreen:u}));function it(){const t=l.top,i=l["top-left"],g=l["top-right"],b=l["top-selection"],y=M.value===!0&&b!==void 0&&ae.value>0,k="q-table__top relative-position row items-center";if(t!==void 0)return o("div",{class:k},[t(E.value)]);let C;if(y===!0?C=b(E.value).slice():(C=[],i!==void 0?C.push(o("div",{class:"q-table-control"},[i(E.value)])):e.title&&C.push(o("div",{class:"q-table__control"},[o("div",{class:["q-table__title",e.titleClass]},e.title)]))),g!==void 0&&(C.push(o("div",{class:"q-table__separator col"})),C.push(o("div",{class:"q-table__control"},[g(E.value)]))),C.length!==0)return o("div",{class:k},C)}const Ce=c(()=>ye.value===!0?null:Ie.value);function ke(){const t=st();return e.loading===!0&&l.loading===void 0&&t.push(o("tr",{class:"q-table__progress"},[o("th",{class:"relative-position",colspan:_e.value},we())])),o("thead",t)}function st(){const t=l.header,i=l["header-cell"];if(t!==void 0)return t(fe({header:!0})).slice();const g=$.value.map(b=>{const y=l[`header-cell-${b.name}`],k=y!==void 0?y:i,C=fe({col:b});return k!==void 0?k(C):o(Ot,{key:b.name,props:C},()=>b.label)});if(Ue.value===!0&&e.grid!==!0)g.unshift(o("th",{class:"q-table--col-auto-width"}," "));else if(Se.value===!0){const b=l["header-selection"],y=b!==void 0?b(fe({})):[o(ge,{color:e.color,modelValue:Ce.value,dark:f.value,dense:e.dense,"onUpdate:modelValue":Re})];g.unshift(o("th",{class:"q-table--col-auto-width"},y))}return[o("tr",{class:e.tableHeaderClass,style:e.tableHeaderStyle},g)]}function fe(t){return Object.assign(t,{cols:$.value,sort:oe,colsMap:he.value,color:e.color,dark:f.value,dense:e.dense}),Se.value===!0&&H(t,"selected",()=>Ce.value,Re),t}function Re(t){ye.value===!0&&(t=!1),I(D.value.map(d.value),D.value,t)}const J=c(()=>{const t=[e.iconFirstPage||r.iconSet.table.firstPage,e.iconPrevPage||r.iconSet.table.prevPage,e.iconNextPage||r.iconSet.table.nextPage,e.iconLastPage||r.iconSet.table.lastPage];return r.lang.rtl===!0?t.reverse():t});function ut(){if(e.hideBottom===!0)return;if(Ye.value===!0){if(e.hideNoData===!0)return;const g=e.loading===!0?e.loadingLabel||r.lang.table.loading:e.filter?e.noResultsLabel||r.lang.table.noResults:e.noDataLabel||r.lang.table.noData,b=l["no-data"],y=b!==void 0?[b({message:g,icon:r.iconSet.table.warning,filter:e.filter})]:[o(Le,{class:"q-table__bottom-nodata-icon",name:r.iconSet.table.warning}),g];return o("div",{class:te+" q-table__bottom--nodata"},y)}const t=l.bottom;if(t!==void 0)return o("div",{class:te},[t(E.value)]);const i=e.hideSelectedBanner!==!0&&M.value===!0&&ae.value>0?[o("div",{class:"q-table__control"},[o("div",[(e.selectedRowsLabel||r.lang.table.selectedRecords)(ae.value)])])]:[];if(e.hidePagination!==!0)return o("div",{class:te+" justify-end"},dt(i));if(i.length>0)return o("div",{class:te},i)}function ct(t){F({page:1,rowsPerPage:t.value})}function dt(t){let i;const{rowsPerPage:g}=_.value,b=e.paginationLabel||r.lang.table.pagination,y=l.pagination,k=e.rowsPerPageOptions.length>1;if(t.push(o("div",{class:"q-table__separator col"})),k===!0&&t.push(o("div",{class:"q-table__control"},[o("span",{class:"q-table__bottom-item"},[e.rowsPerPageLabel||r.lang.table.recordsPerPage]),o(Bt,{class:"q-table__select inline q-table__bottom-item",color:e.color,modelValue:g,options:Je.value,displayValue:g===0?r.lang.table.allRows:g,dark:f.value,borderless:!0,dense:!0,optionsDense:!0,optionsCover:!0,"onUpdate:modelValue":ct})])),y!==void 0)i=y(E.value);else if(i=[o("span",g!==0?{class:"q-table__bottom-item"}:{},[g?b(W.value+1,Math.min(G.value,X.value),X.value):b(1,me.value,X.value)])],g!==0&&K.value>1){const C={color:e.color,round:!0,dense:!0,flat:!0};e.dense===!0&&(C.size="sm"),K.value>2&&i.push(o(ee,{key:"pgFirst",...C,icon:J.value[0],disable:re.value,onClick:se})),i.push(o(ee,{key:"pgPrev",...C,icon:J.value[1],disable:re.value,onClick:ue}),o(ee,{key:"pgNext",...C,icon:J.value[2],disable:ie.value,onClick:ce})),K.value>2&&i.push(o(ee,{key:"pgLast",...C,icon:J.value[3],disable:ie.value,onClick:de}))}return t.push(o("div",{class:"q-table__control"},i)),t}function vt(){const t=e.gridHeader===!0?[o("table",{class:"q-table"},[ke()])]:e.loading===!0&&l.loading===void 0?we():void 0;return o("div",{class:"q-table__middle"},t)}function ft(){const t=l.item!==void 0?l.item:i=>{const g=i.cols.map(y=>o("div",{class:"q-table__grid-item-row"},[o("div",{class:"q-table__grid-item-title"},[y.label]),o("div",{class:"q-table__grid-item-value"},[y.value])]));if(M.value===!0){const y=l["body-selection"],k=y!==void 0?y(i):[o(ge,{modelValue:i.selected,color:e.color,dark:f.value,dense:e.dense,"onUpdate:modelValue":(C,L)=>{I([i.key],[i.row],C,L)}})];g.unshift(o("div",{class:"q-table__grid-item-row"},k),o(Ct,{dark:f.value}))}const b={class:["q-table__grid-item-card"+w.value,e.cardClass],style:e.cardStyle};return(e.onRowClick!==void 0||e.onRowDblclick!==void 0)&&(b.class[0]+=" cursor-pointer",e.onRowClick!==void 0&&(b.onClick=y=>{n("RowClick",y,i.row,i.pageIndex)}),e.onRowDblclick!==void 0&&(b.onDblclick=y=>{n("RowDblclick",y,i.row,i.pageIndex)})),o("div",{class:"q-table__grid-item col-xs-12 col-sm-6 col-md-4 col-lg-3"+(i.selected===!0?" q-table__grid-item--selected":"")},[o("div",b,g)])};return o("div",{class:["q-table__grid-content row",e.cardContainerClass],style:e.cardContainerStyle},D.value.map((i,g)=>t(Pe({key:d.value(i),row:i,pageIndex:g}))))}return Object.assign(v.proxy,{requestServerInteraction:O,setPagination:F,firstPage:se,prevPage:ue,nextPage:ce,lastPage:de,isRowSelected:ne,clearSelection:We,isRowExpanded:T,setExpanded:U,sort:oe,resetVirtualScroll:et,scrollTo:lt,getCellValue:j}),Pt(v.proxy,{filteredSortedRows:()=>le.value,computedRows:()=>D.value,computedRowsNumber:()=>X.value}),()=>{const t=[it()],i={ref:S,class:P.value};return e.grid===!0?t.push(vt()):Object.assign(i,{class:[i.class,e.cardClass],style:e.cardStyle}),t.push(tt(),ut()),e.loading===!0&&l.loading!==void 0&&t.push(l.loading()),o("div",i,t)}}});export{sl as Q,il as a,rl as b,jt as c,Et as d,Mt as u}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/QTooltip.9d840032.js b/resources/[tools]/unlimited-spectre/html/assets/QTooltip.9d840032.js deleted file mode 100644 index e4392558c..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/QTooltip.9d840032.js +++ /dev/null @@ -1 +0,0 @@ -import{b as ee,E as te,ai as ae,G as oe,k as O,q as f,aj as ne,I as ie,ak as le,J as se,al as re,d as k,f as C,am as E,an as x,g as ue,x as H,ao as ce,h as de,A as fe,ap as ve}from"./app-014d9ed9.js";import{u as he,v as A,a as me,b as ge,c as ye,r as q,s as Te,p as j,d as pe}from"./position-engine.65ebcb34.js";import{c as D}from"./selection.2a17b691.js";const we=ee({name:"QTooltip",inheritAttrs:!1,props:{...he,...te,...ae,maxHeight:{type:String,default:null},maxWidth:{type:String,default:null},transitionShow:{default:"jump-down"},transitionHide:{default:"jump-up"},anchor:{type:String,default:"bottom middle",validator:A},self:{type:String,default:"top middle",validator:A},offset:{type:Array,default:()=>[14,14],validator:me},scrollTarget:{default:void 0},delay:{type:Number,default:0},hideDelay:{type:Number,default:0}},emits:[...oe],setup(e,{slots:M,emit:y,attrs:v}){let i,l;const h=de(),{proxy:{$q:o}}=h,s=O(null),r=O(!1),L=f(()=>j(e.anchor,o.lang.rtl)),Q=f(()=>j(e.self,o.lang.rtl)),W=f(()=>e.persistent!==!0),{registerTick:I,removeTick:N}=ne(),{registerTimeout:d}=ie(),{transition:R,transitionStyle:_}=le(e,r),{localScrollTarget:T,changeScrollEvent:B,unconfigureScrollTarget:G}=ge(e,P),{anchorEl:a,canShow:J,anchorEvents:u}=ye({showing:r,configureAnchorEl:X}),{show:U,hide:m}=se({showing:r,canShow:J,handleShow:$,handleHide:z,hideOnRouteChange:W,processOnMount:!0});Object.assign(u,{delayShow:F,delayHide:K});const{showPortal:p,hidePortal:b,renderPortal:V}=re(h,s,Z);if(o.platform.is.mobile===!0){const t={anchorEl:a,innerRef:s,onClickOutside(n){return m(n),n.target.classList.contains("q-dialog__backdrop")&&ve(n),!0}},g=f(()=>e.modelValue===null&&e.persistent!==!0&&r.value===!0);k(g,n=>{(n===!0?pe:q)(t)}),C(()=>{q(t)})}function $(t){p(),I(()=>{l=new MutationObserver(()=>c()),l.observe(s.value,{attributes:!1,childList:!0,characterData:!0,subtree:!0}),c(),P()}),i===void 0&&(i=k(()=>o.screen.width+"|"+o.screen.height+"|"+e.self+"|"+e.anchor+"|"+o.lang.rtl,c)),d(()=>{p(!0),y("show",t)},e.transitionDuration)}function z(t){N(),b(),S(),d(()=>{b(!0),y("hide",t)},e.transitionDuration)}function S(){l!==void 0&&(l.disconnect(),l=void 0),i!==void 0&&(i(),i=void 0),G(),E(u,"tooltipTemp")}function c(){const t=s.value;a.value===null||!t||Te({el:t,offset:e.offset,anchorEl:a.value,anchorOrigin:L.value,selfOrigin:Q.value,maxHeight:e.maxHeight,maxWidth:e.maxWidth})}function F(t){if(o.platform.is.mobile===!0){D(),document.body.classList.add("non-selectable");const g=a.value,n=["touchmove","touchcancel","touchend","click"].map(w=>[g,w,"delayHide","passiveCapture"]);x(u,"tooltipTemp",n)}d(()=>{U(t)},e.delay)}function K(t){o.platform.is.mobile===!0&&(E(u,"tooltipTemp"),D(),setTimeout(()=>{document.body.classList.remove("non-selectable")},10)),d(()=>{m(t)},e.hideDelay)}function X(){if(e.noParentEvent===!0||a.value===null)return;const t=o.platform.is.mobile===!0?[[a.value,"touchstart","delayShow","passive"]]:[[a.value,"mouseenter","delayShow","passive"],[a.value,"mouseleave","delayHide","passive"]];x(u,"anchor",t)}function P(){if(a.value!==null||e.scrollTarget!==void 0){T.value=ue(a.value,e.scrollTarget);const t=e.noParentEvent===!0?c:m;B(T.value,t)}}function Y(){return r.value===!0?H("div",{...v,ref:s,class:["q-tooltip q-tooltip--style q-position-engine no-pointer-events",v.class],style:[v.style,_.value],role:"tooltip"},fe(M.default)):null}function Z(){return H(ce,{name:R.value,appear:!0},Y)}return C(S),Object.assign(h.proxy,{updatePosition:c}),V}});export{we as Q}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/Role.239e54eb.js b/resources/[tools]/unlimited-spectre/html/assets/Role.239e54eb.js deleted file mode 100644 index 453bf1ae3..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/Role.239e54eb.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as A,R as a,P as t,o as b,X as M,a7 as m,a as i,w as d,a6 as V,ab as E,c as f,V as y,a5 as c,W as g,U as r,a9 as G,aP as j,aQ as D,T as U,aV as w,aT as n}from"./app-014d9ed9.js";import{Q as R}from"./QBadge.718e7c58.js";import{a as L,Q as C,c as I}from"./QItemLabel.b6dd3adb.js";import{Q as O}from"./QSelect.d7ce3d4c.js";import{d as S}from"./utils.9ce591f3.js";import{B as T}from"./BasicDialog.9dd9de92.js";import"./externalHosting.js";import"./position-engine.65ebcb34.js";import"./selection.2a17b691.js";import"./rtl.b51694b1.js";const B={name:"Role",data(){return{RESOURCE:a,ACTION:t,toggleState:!1,pendingSave:!1,pendingDelete:!1,role:{},roleColors:["red","pink","purple","deep-purple","indigo","blue","light-blue","cyan","teal","green","light-green","lime","yellow","amber","orange","deep-orange","brown","grey","blue-grey"],permissions:{"game.livemap.read":{active:!1,action:t.GAME.LIVEMAP.READ,subject:a.GAME},"game.livemap.player":{active:!1,action:t.GAME.LIVEMAP.PLAYER,subject:a.GAME},"game.livemap.vehicle":{active:!1,action:t.GAME.LIVEMAP.VEHICLE,subject:a.GAME},"game.waypoint.read":{active:!1,action:t.GAME.WAYPOINT.READ,subject:a.GAME},"game.waypoint.modify":{active:!1,action:t.GAME.WAYPOINT.MODIFY,subject:a.GAME},"game.waypoint.delete":{active:!1,action:t.GAME.WAYPOINT.DELETE,subject:a.GAME},"game.waypoint.create":{active:!1,action:t.GAME.WAYPOINT.CREATE,subject:a.GAME},"game.account.read":{active:!1,action:t.GAME.ACCOUNT.READ,subject:a.GAME},"game.player.read":{active:!1,action:t.GAME.PLAYER.READ,subject:a.GAME},"game.player.modify":{active:!1,action:t.GAME.PLAYER.MODIFY,subject:a.GAME},"game.player.delete":{active:!1,action:t.GAME.PLAYER.DELETE,subject:a.GAME},"game.player.license":{active:!1,action:t.GAME.PLAYER.LICENSE,subject:a.GAME},"game.player.job":{active:!1,action:t.GAME.PLAYER.JOB,subject:a.GAME},"game.player.gang":{active:!1,action:t.GAME.PLAYER.GANG,subject:a.GAME},"game.player.kick":{active:!1,action:t.GAME.PLAYER.KICK,subject:a.GAME},"game.player.warn":{active:!1,action:t.GAME.PLAYER.WARN,subject:a.GAME},"game.player.ban":{active:!1,action:t.GAME.PLAYER.BAN,subject:a.GAME},"game.player.money":{active:!1,action:t.GAME.PLAYER.MONEY,subject:a.GAME},"game.player.meta":{active:!1,action:t.GAME.PLAYER.META,subject:a.GAME},"game.player.position":{active:!1,action:t.GAME.PLAYER.POSITION,subject:a.GAME},"game.player.inventory":{active:!1,action:t.GAME.PLAYER.INVENTORY,subject:a.GAME},"game.player.screen":{active:!1,action:t.GAME.PLAYER.SCREEN,subject:a.GAME},"game.vehicle.read":{active:!1,action:t.GAME.VEHICLE.READ,subject:a.GAME},"game.vehicle.modify":{active:!1,action:t.GAME.VEHICLE.MODIFY,subject:a.GAME},"game.vehicle.delete":{active:!1,action:t.GAME.VEHICLE.DELETE,subject:a.GAME},"game.vehicle.create":{active:!1,action:t.GAME.VEHICLE.CREATE,subject:a.GAME},"game.vehicle.despawn":{active:!1,action:t.GAME.VEHICLE.DESPAWN,subject:a.GAME},"game.vehicle.repair":{active:!1,action:t.GAME.VEHICLE.REPAIR,subject:a.GAME},"game.stashes.read":{active:!1,action:t.GAME.STASHES.READ,subject:a.GAME},"game.stashes.modify":{active:!1,action:t.GAME.STASHES.MODIFY,subject:a.GAME},"game.stashes.delete":{active:!1,action:t.GAME.STASHES.DELETE,subject:a.GAME},"game.logs.read":{active:!1,action:t.GAME.LOGS.READ,subject:a.GAME},"game.logs.game":{active:!1,action:t.GAME.LOGS.GAME,subject:a.GAME},"game.logs.player":{active:!1,action:t.GAME.LOGS.PLAYER,subject:a.GAME},"game.logs.dev":{active:!1,action:t.GAME.LOGS.DEV,subject:a.GAME},"game.logs.web":{active:!1,action:t.GAME.LOGS.WEB,subject:a.GAME},"dev.item.read":{active:!1,action:t.DEV.ITEM.READ,subject:a.DEV},"dev.item.modify":{active:!1,action:t.DEV.ITEM.MODIFY,subject:a.DEV},"dev.item.delete":{active:!1,action:t.DEV.ITEM.DELETE,subject:a.DEV},"dev.item.create":{active:!1,action:t.DEV.ITEM.CREATE,subject:a.DEV},"dev.job.read":{active:!1,action:t.DEV.JOB.READ,subject:a.DEV},"dev.job.modify":{active:!1,action:t.DEV.JOB.MODIFY,subject:a.DEV},"dev.job.delete":{active:!1,action:t.DEV.JOB.DELETE,subject:a.DEV},"dev.job.create":{active:!1,action:t.DEV.JOB.CREATE,subject:a.DEV},"dev.gang.read":{active:!1,action:t.DEV.GANG.READ,subject:a.DEV},"dev.gang.modify":{active:!1,action:t.DEV.GANG.MODIFY,subject:a.DEV},"dev.gang.delete":{active:!1,action:t.DEV.GANG.DELETE,subject:a.DEV},"dev.gang.create":{active:!1,action:t.DEV.GANG.CREATE,subject:a.DEV},"dev.vehicle.read":{active:!1,action:t.DEV.VEHICLE.READ,subject:a.DEV},"dev.vehicle.modify":{active:!1,action:t.DEV.VEHICLE.MODIFY,subject:a.DEV},"dev.vehicle.delete":{active:!1,action:t.DEV.VEHICLE.DELETE,subject:a.DEV},"dev.vehicle.create":{active:!1,action:t.DEV.VEHICLE.CREATE,subject:a.DEV},"web.user.read":{active:!1,action:t.WEB.USER.READ,subject:a.WEB},"web.user.modify":{active:!1,action:t.WEB.USER.MODIFY,subject:a.WEB},"web.user.delete":{active:!1,action:t.WEB.USER.DELETE,subject:a.WEB},"web.user.create":{active:!1,action:t.WEB.USER.CREATE,subject:a.WEB},"web.role.read":{active:!1,action:t.WEB.ROLE.READ,subject:a.WEB},"web.role.modify":{active:!1,action:t.WEB.ROLE.MODIFY,subject:a.WEB},"web.role.delete":{active:!1,action:t.WEB.ROLE.DELETE,subject:a.WEB},"web.role.create":{active:!1,action:t.WEB.ROLE.CREATE,subject:a.WEB},"web.config.read":{active:!1,action:t.WEB.CONFIG.READ,subject:a.WEB},"web.config.modify":{active:!1,action:t.WEB.CONFIG.MODIFY,subject:a.WEB}}}},methods:{can:S,toggleAll(){for(const[s,l]of Object.entries(this.permissions))l.active=this.toggleState},trySave(){this.pendingSave=!0,this.role.permissions=[];for(const[s,l]of Object.entries(this.permissions))l.active&&this.role.permissions.push({subject:l.subject,action:l.action});this.$axios.patch(`/api/roles/save/${this.role.name}`,this.role).then(s=>{if(this.pendingSave=!1,!s.data.resCode){const u=s.data.resMsg;this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.role.msg.error.${u}`,{name:this.role.name})});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.saved")})}).catch(s=>{})},tryDelete(){this.pendingDelete=!0,this.$q.dialog({component:T,componentProps:{title:this.$i18n.t("components.role.deleteHeader"),message:this.$i18n.t("components.role.deleteMsg",{name:this.role.name})},cancel:!0,persistent:!0}).onOk(()=>{this.$axios.delete(`/api/roles/delete/${this.role.name}`).then(s=>{if(this.pendingDelete=!1,!s.data.resCode){const u=s.data.resMsg;this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.role.msg.error.${u}`,{name:this.role.name})});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.deleted")}),this.$router.push({name:"web-role-list"})}).catch(s=>{})}).onCancel(()=>{this.pendingDelete=!1})}},mounted(){this.$axios.get(`/api/roles/${this.$route.params.roleId}`).then(s=>{const l=s.data.role;if(!l){this.$q.notify({message:s.data.msg,position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:"Error"});return}this.role=l;for(const[u,v]of Object.entries(this.permissions))l.permissions.some(p=>p.action===v.action&&p.subject===v.subject)&&(v.active=!0)}).catch(s=>{console.error(s)})}},P={class:"row"},Y={class:"col-12"},W={class:"q-ma-sm row"},N={class:"text-h6"},k={class:"text-primary"},q={class:"col-12"},H={class:"q-ma-sm row"},Q={class:"row"},F={class:"text-h6"},h={class:"text-caption text-sub"},J={class:"q-ml-auto"},z={class:"text-subtitle1 q-mb-sm"},K={class:"text-subtitle2"},X={class:"text-subtitle2"},Z={class:"text-subtitle2"},$={class:"text-subtitle2"},x={class:"text-subtitle2"},_={class:"text-subtitle2"},ee={class:"text-subtitle2"},le={class:"text-subtitle1 q-mb-sm"},oe={class:"text-subtitle2"},se={class:"text-subtitle2"},ie={class:"text-subtitle2"},ae={class:"text-subtitle2"},te={class:"text-subtitle1 q-mb-sm"},ne={class:"text-subtitle2"},me={class:"text-subtitle2"},re={class:"text-subtitle2"},de={class:"col-12"},pe={class:"q-ma-sm row justify-end"};function ce(s,l,u,v,e,p){return b(),M("div",P,[m("div",Y,[m("div",W,[i(V,{class:"bg-secondary full-width row"},{default:d(()=>[i(c,{class:"col-12"},{default:d(()=>[m("div",N,[g(r(s.$t("components.role.edit"))+": ",1),m("span",k,r(e.role.name),1)])]),_:1}),i(c,{class:"col-12 col-md-6"},{default:d(()=>[i(G,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:e.role.desc,"onUpdate:modelValue":l[0]||(l[0]=o=>e.role.desc=o),label:s.$t("components.role.desc")},null,8,["input-style","modelValue","label"])]),_:1}),i(c,{class:"col-12 col-md-6"},{default:d(()=>[i(O,{label:s.$t("components.role.color"),color:"primary","label-color":"primary",filled:"",modelValue:e.role.color,"onUpdate:modelValue":l[1]||(l[1]=o=>e.role.color=o),options:e.roleColors,"popup-content-class":"bg-secondary text-main"},{selected:d(()=>[i(R,{color:e.role.color},{default:d(()=>[g(r(e.role.color),1)]),_:1},8,["color"])]),option:d(o=>[i(L,j(D(o.itemProps)),{default:d(()=>[i(C,null,{default:d(()=>[i(I,{class:U(`text-${o.opt}`)},{default:d(()=>[g(r(o.opt),1)]),_:2},1032,["class"])]),_:2},1024)]),_:2},1040)]),_:1},8,["label","modelValue","options"])]),_:1})]),_:1})])]),m("div",q,[m("div",H,[i(V,{class:"bg-secondary full-width row"},{default:d(()=>[i(c,{class:"col-12"},{default:d(()=>[m("div",Q,[m("div",null,[m("div",F,r(s.$t("components.role.permissions")),1),m("div",h,r(s.$t("components.role.permissionSub")),1)]),m("div",J,[i(w,{"left-label":"",label:s.$t("general.toggleAll"),modelValue:e.toggleState,"onUpdate:modelValue":[l[2]||(l[2]=o=>e.toggleState=o),p.toggleAll],color:"primary"},null,8,["label","modelValue","onUpdate:modelValue"])])])]),_:1}),i(c,{class:"col-12 col-md-4"},{default:d(()=>[m("div",z,r(s.$t("components.role.resource.gameserver")),1),m("div",K,r(s.$t("components.role.section.liveMap")),1),i(n,{modelValue:e.permissions["game.livemap.read"].active,"onUpdate:modelValue":l[3]||(l[3]=o=>e.permissions["game.livemap.read"].active=o),label:s.$t("components.role.action.read")},null,8,["modelValue","label"]),i(n,{modelValue:e.permissions["game.livemap.player"].active,"onUpdate:modelValue":l[4]||(l[4]=o=>e.permissions["game.livemap.player"].active=o),label:s.$t("components.role.action.player")},null,8,["modelValue","label"]),i(n,{modelValue:e.permissions["game.livemap.vehicle"].active,"onUpdate:modelValue":l[5]||(l[5]=o=>e.permissions["game.livemap.vehicle"].active=o),label:s.$t("components.role.action.vehicle")},null,8,["modelValue","label"]),m("div",X,r(s.$t("components.role.section.waypoint")),1),i(n,{modelValue:e.permissions["game.waypoint.read"].active,"onUpdate:modelValue":l[6]||(l[6]=o=>e.permissions["game.waypoint.read"].active=o),label:s.$t("components.role.action.read")},null,8,["modelValue","label"]),i(n,{modelValue:e.permissions["game.waypoint.modify"].active,"onUpdate:modelValue":l[7]||(l[7]=o=>e.permissions["game.waypoint.modify"].active=o),label:s.$t("components.role.action.modify")},null,8,["modelValue","label"]),i(n,{modelValue:e.permissions["game.waypoint.delete"].active,"onUpdate:modelValue":l[8]||(l[8]=o=>e.permissions["game.waypoint.delete"].active=o),label:s.$t("components.role.action.delete")},null,8,["modelValue","label"]),i(n,{modelValue:e.permissions["game.waypoint.create"].active,"onUpdate:modelValue":l[9]||(l[9]=o=>e.permissions["game.waypoint.create"].active=o),label:s.$t("components.role.action.create")},null,8,["modelValue","label"]),m("div",Z,r(s.$t("components.role.section.account")),1),i(n,{modelValue:e.permissions["game.account.read"].active,"onUpdate:modelValue":l[10]||(l[10]=o=>e.permissions["game.account.read"].active=o),label:s.$t("components.role.action.read")},null,8,["modelValue","label"]),m("div",$,r(s.$t("components.role.section.player")),1),i(n,{modelValue:e.permissions["game.player.read"].active,"onUpdate:modelValue":l[11]||(l[11]=o=>e.permissions["game.player.read"].active=o),label:s.$t("components.role.action.read")},null,8,["modelValue","label"]),i(n,{modelValue:e.permissions["game.player.modify"].active,"onUpdate:modelValue":l[12]||(l[12]=o=>e.permissions["game.player.modify"].active=o),label:s.$t("components.role.action.modify")},null,8,["modelValue","label"]),i(n,{modelValue:e.permissions["game.player.delete"].active,"onUpdate:modelValue":l[13]||(l[13]=o=>e.permissions["game.player.delete"].active=o),label:s.$t("components.role.action.delete")},null,8,["modelValue","label"]),i(n,{modelValue:e.permissions["game.player.license"].active,"onUpdate:modelValue":l[14]||(l[14]=o=>e.permissions["game.player.license"].active=o),label:s.$t("components.role.action.license")},null,8,["modelValue","label"]),i(n,{modelValue:e.permissions["game.player.job"].active,"onUpdate:modelValue":l[15]||(l[15]=o=>e.permissions["game.player.job"].active=o),label:s.$t("components.role.action.job")},null,8,["modelValue","label"]),i(n,{modelValue:e.permissions["game.player.gang"].active,"onUpdate:modelValue":l[16]||(l[16]=o=>e.permissions["game.player.gang"].active=o),label:s.$t("components.role.action.gang")},null,8,["modelValue","label"]),i(n,{modelValue:e.permissions["game.player.kick"].active,"onUpdate:modelValue":l[17]||(l[17]=o=>e.permissions["game.player.kick"].active=o),label:s.$t("components.role.action.kick")},null,8,["modelValue","label"]),i(n,{modelValue:e.permissions["game.player.warn"].active,"onUpdate:modelValue":l[18]||(l[18]=o=>e.permissions["game.player.warn"].active=o),label:s.$t("components.role.action.warn")},null,8,["modelValue","label"]),i(n,{modelValue:e.permissions["game.player.ban"].active,"onUpdate:modelValue":l[19]||(l[19]=o=>e.permissions["game.player.ban"].active=o),label:s.$t("components.role.action.ban")},null,8,["modelValue","label"]),i(n,{modelValue:e.permissions["game.player.money"].active,"onUpdate:modelValue":l[20]||(l[20]=o=>e.permissions["game.player.money"].active=o),label:s.$t("components.role.action.money")},null,8,["modelValue","label"]),i(n,{modelValue:e.permissions["game.player.meta"].active,"onUpdate:modelValue":l[21]||(l[21]=o=>e.permissions["game.player.meta"].active=o),label:s.$t("components.role.action.meta")},null,8,["modelValue","label"]),i(n,{modelValue:e.permissions["game.player.position"].active,"onUpdate:modelValue":l[22]||(l[22]=o=>e.permissions["game.player.position"].active=o),label:s.$t("components.role.action.position")},null,8,["modelValue","label"]),i(n,{modelValue:e.permissions["game.player.inventory"].active,"onUpdate:modelValue":l[23]||(l[23]=o=>e.permissions["game.player.inventory"].active=o),label:s.$t("components.role.action.inventory")},null,8,["modelValue","label"]),i(n,{modelValue:e.permissions["game.player.screen"].active,"onUpdate:modelValue":l[24]||(l[24]=o=>e.permissions["game.player.screen"].active=o),label:s.$t("components.role.action.screen")},null,8,["modelValue","label"]),m("div",x,r(s.$t("components.role.section.vehicles")),1),i(n,{modelValue:e.permissions["game.vehicle.read"].active,"onUpdate:modelValue":l[25]||(l[25]=o=>e.permissions["game.vehicle.read"].active=o),label:s.$t("components.role.action.read")},null,8,["modelValue","label"]),i(n,{modelValue:e.permissions["game.vehicle.modify"].active,"onUpdate:modelValue":l[26]||(l[26]=o=>e.permissions["game.vehicle.modify"].active=o),label:s.$t("components.role.action.modify")},null,8,["modelValue","label"]),i(n,{modelValue:e.permissions["game.vehicle.delete"].active,"onUpdate:modelValue":l[27]||(l[27]=o=>e.permissions["game.vehicle.delete"].active=o),label:s.$t("components.role.action.delete")},null,8,["modelValue","label"]),i(n,{modelValue:e.permissions["game.vehicle.create"].active,"onUpdate:modelValue":l[28]||(l[28]=o=>e.permissions["game.vehicle.create"].active=o),label:s.$t("components.role.action.create")},null,8,["modelValue","label"]),i(n,{modelValue:e.permissions["game.vehicle.despawn"].active,"onUpdate:modelValue":l[29]||(l[29]=o=>e.permissions["game.vehicle.despawn"].active=o),label:s.$t("components.role.action.despawn")},null,8,["modelValue","label"]),i(n,{modelValue:e.permissions["game.vehicle.repair"].active,"onUpdate:modelValue":l[30]||(l[30]=o=>e.permissions["game.vehicle.repair"].active=o),label:s.$t("components.role.action.repair")},null,8,["modelValue","label"]),m("div",_,r(s.$t("components.role.section.stashes")),1),i(n,{modelValue:e.permissions["game.stashes.read"].active,"onUpdate:modelValue":l[31]||(l[31]=o=>e.permissions["game.stashes.read"].active=o),label:s.$t("components.role.action.read")},null,8,["modelValue","label"]),i(n,{modelValue:e.permissions["game.stashes.modify"].active,"onUpdate:modelValue":l[32]||(l[32]=o=>e.permissions["game.stashes.modify"].active=o),label:s.$t("components.role.action.modify")},null,8,["modelValue","label"]),i(n,{modelValue:e.permissions["game.stashes.delete"].active,"onUpdate:modelValue":l[33]||(l[33]=o=>e.permissions["game.stashes.delete"].active=o),label:s.$t("components.role.action.delete")},null,8,["modelValue","label"]),m("div",ee,r(s.$t("components.role.section.logs")),1),i(n,{modelValue:e.permissions["game.logs.read"].active,"onUpdate:modelValue":l[34]||(l[34]=o=>e.permissions["game.logs.read"].active=o),label:s.$t("components.role.action.read")},null,8,["modelValue","label"]),i(n,{modelValue:e.permissions["game.logs.game"].active,"onUpdate:modelValue":l[35]||(l[35]=o=>e.permissions["game.logs.game"].active=o),label:s.$t("components.role.action.logs.game")},null,8,["modelValue","label"]),i(n,{modelValue:e.permissions["game.logs.player"].active,"onUpdate:modelValue":l[36]||(l[36]=o=>e.permissions["game.logs.player"].active=o),label:s.$t("components.role.action.logs.player")},null,8,["modelValue","label"]),i(n,{modelValue:e.permissions["game.logs.dev"].active,"onUpdate:modelValue":l[37]||(l[37]=o=>e.permissions["game.logs.dev"].active=o),label:s.$t("components.role.action.logs.dev")},null,8,["modelValue","label"]),i(n,{modelValue:e.permissions["game.logs.web"].active,"onUpdate:modelValue":l[38]||(l[38]=o=>e.permissions["game.logs.web"].active=o),label:s.$t("components.role.action.logs.web")},null,8,["modelValue","label"])]),_:1}),i(c,{class:"col-12 col-md-4"},{default:d(()=>[m("div",le,r(s.$t("components.role.resource.development")),1),m("div",oe,r(s.$t("components.role.section.items")),1),i(n,{modelValue:e.permissions["dev.item.read"].active,"onUpdate:modelValue":l[39]||(l[39]=o=>e.permissions["dev.item.read"].active=o),label:s.$t("components.role.action.read")},null,8,["modelValue","label"]),i(n,{modelValue:e.permissions["dev.item.modify"].active,"onUpdate:modelValue":l[40]||(l[40]=o=>e.permissions["dev.item.modify"].active=o),label:s.$t("components.role.action.modify")},null,8,["modelValue","label"]),i(n,{modelValue:e.permissions["dev.item.delete"].active,"onUpdate:modelValue":l[41]||(l[41]=o=>e.permissions["dev.item.delete"].active=o),label:s.$t("components.role.action.delete")},null,8,["modelValue","label"]),i(n,{modelValue:e.permissions["dev.item.create"].active,"onUpdate:modelValue":l[42]||(l[42]=o=>e.permissions["dev.item.create"].active=o),label:s.$t("components.role.action.create")},null,8,["modelValue","label"]),m("div",se,r(s.$t("components.role.section.jobs")),1),i(n,{modelValue:e.permissions["dev.job.read"].active,"onUpdate:modelValue":l[43]||(l[43]=o=>e.permissions["dev.job.read"].active=o),label:s.$t("components.role.action.read")},null,8,["modelValue","label"]),i(n,{modelValue:e.permissions["dev.job.modify"].active,"onUpdate:modelValue":l[44]||(l[44]=o=>e.permissions["dev.job.modify"].active=o),label:s.$t("components.role.action.modify")},null,8,["modelValue","label"]),i(n,{modelValue:e.permissions["dev.job.delete"].active,"onUpdate:modelValue":l[45]||(l[45]=o=>e.permissions["dev.job.delete"].active=o),label:s.$t("components.role.action.delete")},null,8,["modelValue","label"]),i(n,{modelValue:e.permissions["dev.job.create"].active,"onUpdate:modelValue":l[46]||(l[46]=o=>e.permissions["dev.job.create"].active=o),label:s.$t("components.role.action.create")},null,8,["modelValue","label"]),m("div",ie,r(s.$t("components.role.section.gangs")),1),i(n,{modelValue:e.permissions["dev.gang.read"].active,"onUpdate:modelValue":l[47]||(l[47]=o=>e.permissions["dev.gang.read"].active=o),label:s.$t("components.role.action.read")},null,8,["modelValue","label"]),i(n,{modelValue:e.permissions["dev.gang.modify"].active,"onUpdate:modelValue":l[48]||(l[48]=o=>e.permissions["dev.gang.modify"].active=o),label:s.$t("components.role.action.modify")},null,8,["modelValue","label"]),i(n,{modelValue:e.permissions["dev.gang.delete"].active,"onUpdate:modelValue":l[49]||(l[49]=o=>e.permissions["dev.gang.delete"].active=o),label:s.$t("components.role.action.delete")},null,8,["modelValue","label"]),i(n,{modelValue:e.permissions["dev.gang.create"].active,"onUpdate:modelValue":l[50]||(l[50]=o=>e.permissions["dev.gang.create"].active=o),label:s.$t("components.role.action.create")},null,8,["modelValue","label"]),m("div",ae,r(s.$t("components.role.section.vehicles")),1),i(n,{modelValue:e.permissions["dev.vehicle.read"].active,"onUpdate:modelValue":l[51]||(l[51]=o=>e.permissions["dev.vehicle.read"].active=o),label:s.$t("components.role.action.read")},null,8,["modelValue","label"]),i(n,{modelValue:e.permissions["dev.vehicle.modify"].active,"onUpdate:modelValue":l[52]||(l[52]=o=>e.permissions["dev.vehicle.modify"].active=o),label:s.$t("components.role.action.modify")},null,8,["modelValue","label"]),i(n,{modelValue:e.permissions["dev.vehicle.delete"].active,"onUpdate:modelValue":l[53]||(l[53]=o=>e.permissions["dev.vehicle.delete"].active=o),label:s.$t("components.role.action.delete")},null,8,["modelValue","label"]),i(n,{modelValue:e.permissions["dev.vehicle.create"].active,"onUpdate:modelValue":l[54]||(l[54]=o=>e.permissions["dev.vehicle.create"].active=o),label:s.$t("components.role.action.create")},null,8,["modelValue","label"])]),_:1}),i(c,{class:"col-12 col-md-4"},{default:d(()=>[m("div",te,r(s.$t("components.role.resource.management")),1),m("div",ne,r(s.$t("components.role.section.user")),1),i(n,{modelValue:e.permissions["web.user.read"].active,"onUpdate:modelValue":l[55]||(l[55]=o=>e.permissions["web.user.read"].active=o),label:s.$t("components.role.action.read")},null,8,["modelValue","label"]),i(n,{modelValue:e.permissions["web.user.modify"].active,"onUpdate:modelValue":l[56]||(l[56]=o=>e.permissions["web.user.modify"].active=o),label:s.$t("components.role.action.modify")},null,8,["modelValue","label"]),i(n,{modelValue:e.permissions["web.user.delete"].active,"onUpdate:modelValue":l[57]||(l[57]=o=>e.permissions["web.user.delete"].active=o),label:s.$t("components.role.action.delete")},null,8,["modelValue","label"]),i(n,{modelValue:e.permissions["web.user.create"].active,"onUpdate:modelValue":l[58]||(l[58]=o=>e.permissions["web.user.create"].active=o),label:s.$t("components.role.action.create")},null,8,["modelValue","label"]),m("div",me,r(s.$t("components.role.section.roles")),1),i(n,{modelValue:e.permissions["web.role.read"].active,"onUpdate:modelValue":l[59]||(l[59]=o=>e.permissions["web.role.read"].active=o),label:s.$t("components.role.action.read")},null,8,["modelValue","label"]),i(n,{modelValue:e.permissions["web.role.modify"].active,"onUpdate:modelValue":l[60]||(l[60]=o=>e.permissions["web.role.modify"].active=o),label:s.$t("components.role.action.modify")},null,8,["modelValue","label"]),i(n,{modelValue:e.permissions["web.role.delete"].active,"onUpdate:modelValue":l[61]||(l[61]=o=>e.permissions["web.role.delete"].active=o),label:s.$t("components.role.action.delete")},null,8,["modelValue","label"]),i(n,{modelValue:e.permissions["web.role.create"].active,"onUpdate:modelValue":l[62]||(l[62]=o=>e.permissions["web.role.create"].active=o),label:s.$t("components.role.action.create")},null,8,["modelValue","label"]),m("div",re,r(s.$t("components.role.section.config")),1),i(n,{modelValue:e.permissions["web.config.read"].active,"onUpdate:modelValue":l[63]||(l[63]=o=>e.permissions["web.config.read"].active=o),label:s.$t("components.role.action.read")},null,8,["modelValue","label"]),i(n,{modelValue:e.permissions["web.config.modify"].active,"onUpdate:modelValue":l[64]||(l[64]=o=>e.permissions["web.config.modify"].active=o),label:s.$t("components.role.action.modify")},null,8,["modelValue","label"])]),_:1})]),_:1})])]),m("div",de,[m("div",pe,[i(E,{"text-color":"main",disable:e.pendingDelete||e.pendingSave,color:"primary",onClick:l[65]||(l[65]=o=>s.$router.push({name:"web-role-list"})),label:s.$t("general.back"),class:"q-mr-auto"},null,8,["disable","label"]),p.can(e.ACTION.WEB.ROLE.MODIFY,e.RESOURCE.WEB)?(b(),f(E,{key:0,"text-color":"main",loading:e.pendingSave,disable:e.pendingDelete,color:"primary",onClick:p.trySave,label:s.$t("general.save"),class:"q-mr-sm"},null,8,["loading","disable","onClick","label"])):y("",!0),p.can(e.ACTION.WEB.ROLE.DELETE,e.RESOURCE.WEB)?(b(),f(E,{key:1,"text-color":"main",loading:e.pendingDelete,disable:e.pendingSave,color:"negative",onClick:p.tryDelete,label:s.$t("general.delete")},null,8,["loading","disable","onClick","label"])):y("",!0)])])])}const Ge=A(B,[["render",ce]]);export{Ge as default}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/RoleCreate.64ec1560.js b/resources/[tools]/unlimited-spectre/html/assets/RoleCreate.64ec1560.js deleted file mode 100644 index 9612e1c87..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/RoleCreate.64ec1560.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as g,P as a,R as t,o as f,X as y,a7 as m,a as i,w as d,a6 as b,ab as A,a5 as p,U as r,a9 as E,W as V,aP as M,aQ as G,T as j,aV as U,aT as n}from"./app-014d9ed9.js";import{Q as w}from"./QForm.8d79ab03.js";import{Q as D}from"./QBadge.718e7c58.js";import{a as R,Q as L,c as I}from"./QItemLabel.b6dd3adb.js";import{Q as C}from"./QSelect.d7ce3d4c.js";import"./externalHosting.js";import"./position-engine.65ebcb34.js";import"./selection.2a17b691.js";import"./rtl.b51694b1.js";const O={name:"RoleCreate",data(){return{toggleState:!1,pendingSave:!1,role:{name:"",desc:"",permissions:[],color:"grey"},roleColors:["red","pink","purple","deep-purple","indigo","blue","light-blue","cyan","teal","green","light-green","lime","yellow","amber","orange","deep-orange","brown","grey","blue-grey"],permissions:{"game.livemap.read":{active:!1,action:a.GAME.LIVEMAP.READ,subject:t.GAME},"game.livemap.player":{active:!1,action:a.GAME.LIVEMAP.PLAYER,subject:t.GAME},"game.livemap.vehicle":{active:!1,action:a.GAME.LIVEMAP.VEHICLE,subject:t.GAME},"game.waypoint.read":{active:!1,action:a.GAME.WAYPOINT.READ,subject:t.GAME},"game.waypoint.modify":{active:!1,action:a.GAME.WAYPOINT.MODIFY,subject:t.GAME},"game.waypoint.delete":{active:!1,action:a.GAME.WAYPOINT.DELETE,subject:t.GAME},"game.waypoint.create":{active:!1,action:a.GAME.WAYPOINT.CREATE,subject:t.GAME},"game.account.read":{active:!1,action:a.GAME.ACCOUNT.READ,subject:t.GAME},"game.player.read":{active:!1,action:a.GAME.PLAYER.READ,subject:t.GAME},"game.player.modify":{active:!1,action:a.GAME.PLAYER.MODIFY,subject:t.GAME},"game.player.delete":{active:!1,action:a.GAME.PLAYER.DELETE,subject:t.GAME},"game.player.license":{active:!1,action:a.GAME.PLAYER.LICENSE,subject:t.GAME},"game.player.job":{active:!1,action:a.GAME.PLAYER.JOB,subject:t.GAME},"game.player.gang":{active:!1,action:a.GAME.PLAYER.GANG,subject:t.GAME},"game.player.kick":{active:!1,action:a.GAME.PLAYER.KICK,subject:t.GAME},"game.player.warn":{active:!1,action:a.GAME.PLAYER.WARN,subject:t.GAME},"game.player.ban":{active:!1,action:a.GAME.PLAYER.BAN,subject:t.GAME},"game.player.money":{active:!1,action:a.GAME.PLAYER.MONEY,subject:t.GAME},"game.player.meta":{active:!1,action:a.GAME.PLAYER.META,subject:t.GAME},"game.player.position":{active:!1,action:a.GAME.PLAYER.POSITION,subject:t.GAME},"game.player.inventory":{active:!1,action:a.GAME.PLAYER.INVENTORY,subject:t.GAME},"game.player.screen":{active:!1,action:a.GAME.PLAYER.SCREEN,subject:t.GAME},"game.vehicle.read":{active:!1,action:a.GAME.VEHICLE.READ,subject:t.GAME},"game.vehicle.modify":{active:!1,action:a.GAME.VEHICLE.MODIFY,subject:t.GAME},"game.vehicle.delete":{active:!1,action:a.GAME.VEHICLE.DELETE,subject:t.GAME},"game.vehicle.create":{active:!1,action:a.GAME.VEHICLE.CREATE,subject:t.GAME},"game.vehicle.despawn":{active:!1,action:a.GAME.VEHICLE.DESPAWN,subject:t.GAME},"game.vehicle.repair":{active:!1,action:a.GAME.VEHICLE.REPAIR,subject:t.GAME},"game.stashes.read":{active:!1,action:a.GAME.STASHES.READ,subject:t.GAME},"game.stashes.modify":{active:!1,action:a.GAME.STASHES.MODIFY,subject:t.GAME},"game.stashes.delete":{active:!1,action:a.GAME.STASHES.DELETE,subject:t.GAME},"game.logs.read":{active:!1,action:a.GAME.LOGS.READ,subject:t.GAME},"game.logs.game":{active:!1,action:a.GAME.LOGS.GAME,subject:t.GAME},"game.logs.player":{active:!1,action:a.GAME.LOGS.PLAYER,subject:t.GAME},"game.logs.dev":{active:!1,action:a.GAME.LOGS.DEV,subject:t.GAME},"game.logs.web":{active:!1,action:a.GAME.LOGS.WEB,subject:t.GAME},"dev.item.read":{active:!1,action:a.DEV.ITEM.READ,subject:t.DEV},"dev.item.modify":{active:!1,action:a.DEV.ITEM.MODIFY,subject:t.DEV},"dev.item.delete":{active:!1,action:a.DEV.ITEM.DELETE,subject:t.DEV},"dev.item.create":{active:!1,action:a.DEV.ITEM.CREATE,subject:t.DEV},"dev.job.read":{active:!1,action:a.DEV.JOB.READ,subject:t.DEV},"dev.job.modify":{active:!1,action:a.DEV.JOB.MODIFY,subject:t.DEV},"dev.job.delete":{active:!1,action:a.DEV.JOB.DELETE,subject:t.DEV},"dev.job.create":{active:!1,action:a.DEV.JOB.CREATE,subject:t.DEV},"dev.gang.read":{active:!1,action:a.DEV.GANG.READ,subject:t.DEV},"dev.gang.modify":{active:!1,action:a.DEV.GANG.MODIFY,subject:t.DEV},"dev.gang.delete":{active:!1,action:a.DEV.GANG.DELETE,subject:t.DEV},"dev.gang.create":{active:!1,action:a.DEV.GANG.CREATE,subject:t.DEV},"dev.vehicle.read":{active:!1,action:a.DEV.VEHICLE.READ,subject:t.DEV},"dev.vehicle.modify":{active:!1,action:a.DEV.VEHICLE.MODIFY,subject:t.DEV},"dev.vehicle.delete":{active:!1,action:a.DEV.VEHICLE.DELETE,subject:t.DEV},"dev.vehicle.create":{active:!1,action:a.DEV.VEHICLE.CREATE,subject:t.DEV},"web.user.read":{active:!1,action:a.WEB.USER.READ,subject:t.WEB},"web.user.modify":{active:!1,action:a.WEB.USER.MODIFY,subject:t.WEB},"web.user.delete":{active:!1,action:a.WEB.USER.DELETE,subject:t.WEB},"web.user.create":{active:!1,action:a.WEB.USER.CREATE,subject:t.WEB},"web.role.read":{active:!1,action:a.WEB.ROLE.READ,subject:t.WEB},"web.role.modify":{active:!1,action:a.WEB.ROLE.MODIFY,subject:t.WEB},"web.role.delete":{active:!1,action:a.WEB.ROLE.DELETE,subject:t.WEB},"web.role.create":{active:!1,action:a.WEB.ROLE.CREATE,subject:t.WEB},"web.config.read":{active:!1,action:a.WEB.CONFIG.READ,subject:t.WEB},"web.config.modify":{active:!1,action:a.WEB.CONFIG.MODIFY,subject:t.WEB}}}},methods:{toggleAll(){for(const[s,l]of Object.entries(this.permissions))l.active=this.toggleState},trySave(){this.$refs.roleForm.validate().then(s=>{if(!s){this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.role.msg.error.missingFields",{name:this.user.name})});return}this.pendingSave=!0,this.role.permissions=[];for(const[l,u]of Object.entries(this.permissions))u.active&&this.role.permissions.push({subject:u.subject,action:u.action});this.$axios.post("/api/roles/create",this.role).then(l=>{if(this.pendingSave=!1,!l.data.resCode){const c=l.data.resMsg;this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.role.msg.error.${c}`,{name:this.role.name})});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.saved")}),this.$router.push({name:"web-role-list"})}).catch(l=>{})})}}},S={class:"row"},T={class:"col-12"},Y={class:"q-ma-sm row"},B={class:"text-h6"},P={class:"col-12"},W={class:"q-ma-sm row"},N={class:"row"},F={class:"text-h6"},Q={class:"text-caption text-sub"},k={class:"q-ml-auto"},q={class:"text-subtitle1 q-mb-sm"},H={class:"text-subtitle2"},J={class:"text-subtitle2"},z={class:"text-subtitle2"},K={class:"text-subtitle2"},X={class:"text-subtitle2"},Z={class:"text-subtitle2"},h={class:"text-subtitle2"},$={class:"text-subtitle1 q-mb-sm"},x={class:"text-subtitle2"},_={class:"text-subtitle2"},ee={class:"text-subtitle2"},le={class:"text-subtitle2"},oe={class:"text-subtitle1 q-mb-sm"},se={class:"text-subtitle2"},ie={class:"text-subtitle2"},ae={class:"text-subtitle2"},te={class:"col-12"},ne={class:"q-ma-sm row justify-end"};function me(s,l,u,c,o,v){return f(),y("div",S,[m("div",T,[m("div",Y,[i(b,{class:"bg-secondary full-width row"},{default:d(()=>[i(p,{class:"col-12"},{default:d(()=>[m("div",B,r(s.$t("components.roleCreate.new"))+":",1)]),_:1}),i(p,{class:"col-12 col-md-6"},{default:d(()=>[i(w,{ref:"roleForm"},{default:d(()=>[i(E,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:o.role.name,"onUpdate:modelValue":l[0]||(l[0]=e=>o.role.name=e),label:s.$t("components.role.name"),"lazy-rules":"",rules:[e=>e&&e.length>0||s.$t("rules.required"),e=>e&&!/\s/.test(e)||s.$t("rules.noSpace")]},null,8,["input-style","modelValue","label","rules"])]),_:1},512)]),_:1}),i(p,{class:"col-12 col-md-6"},{default:d(()=>[i(E,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:o.role.desc,"onUpdate:modelValue":l[1]||(l[1]=e=>o.role.desc=e),label:s.$t("components.role.desc")},null,8,["input-style","modelValue","label"])]),_:1}),i(p,{class:"col-12 col-md-6"},{default:d(()=>[i(C,{label:s.$t("components.role.color"),color:"primary","label-color":"primary",filled:"",modelValue:o.role.color,"onUpdate:modelValue":l[2]||(l[2]=e=>o.role.color=e),options:o.roleColors,"popup-content-class":"bg-secondary text-main"},{selected:d(()=>[i(D,{color:o.role.color},{default:d(()=>[V(r(o.role.color),1)]),_:1},8,["color"])]),option:d(e=>[i(R,M(G(e.itemProps)),{default:d(()=>[i(L,null,{default:d(()=>[i(I,{class:j(`text-${e.opt}`)},{default:d(()=>[V(r(e.opt),1)]),_:2},1032,["class"])]),_:2},1024)]),_:2},1040)]),_:1},8,["label","modelValue","options"])]),_:1})]),_:1})])]),m("div",P,[m("div",W,[i(b,{class:"bg-secondary full-width row"},{default:d(()=>[i(p,{class:"col-12"},{default:d(()=>[m("div",N,[m("div",null,[m("div",F,r(s.$t("components.role.permissions")),1),m("div",Q,r(s.$t("components.role.permissionSub")),1)]),m("div",k,[i(U,{"left-label":"",label:s.$t("general.toggleAll"),modelValue:o.toggleState,"onUpdate:modelValue":[l[3]||(l[3]=e=>o.toggleState=e),v.toggleAll],color:"primary"},null,8,["label","modelValue","onUpdate:modelValue"])])])]),_:1}),i(p,{class:"col-12 col-md-4"},{default:d(()=>[m("div",q,r(s.$t("components.role.resource.gameserver")),1),m("div",H,r(s.$t("components.role.section.liveMap")),1),i(n,{modelValue:o.permissions["game.livemap.read"].active,"onUpdate:modelValue":l[4]||(l[4]=e=>o.permissions["game.livemap.read"].active=e),label:s.$t("components.role.action.read")},null,8,["modelValue","label"]),i(n,{modelValue:o.permissions["game.livemap.player"].active,"onUpdate:modelValue":l[5]||(l[5]=e=>o.permissions["game.livemap.player"].active=e),label:s.$t("components.role.action.player")},null,8,["modelValue","label"]),i(n,{modelValue:o.permissions["game.livemap.vehicle"].active,"onUpdate:modelValue":l[6]||(l[6]=e=>o.permissions["game.livemap.vehicle"].active=e),label:s.$t("components.role.action.vehicle")},null,8,["modelValue","label"]),m("div",J,r(s.$t("components.role.section.waypoint")),1),i(n,{modelValue:o.permissions["game.waypoint.read"].active,"onUpdate:modelValue":l[7]||(l[7]=e=>o.permissions["game.waypoint.read"].active=e),label:s.$t("components.role.action.read")},null,8,["modelValue","label"]),i(n,{modelValue:o.permissions["game.waypoint.modify"].active,"onUpdate:modelValue":l[8]||(l[8]=e=>o.permissions["game.waypoint.modify"].active=e),label:s.$t("components.role.action.modify")},null,8,["modelValue","label"]),i(n,{modelValue:o.permissions["game.waypoint.delete"].active,"onUpdate:modelValue":l[9]||(l[9]=e=>o.permissions["game.waypoint.delete"].active=e),label:s.$t("components.role.action.delete")},null,8,["modelValue","label"]),i(n,{modelValue:o.permissions["game.waypoint.create"].active,"onUpdate:modelValue":l[10]||(l[10]=e=>o.permissions["game.waypoint.create"].active=e),label:s.$t("components.role.action.create")},null,8,["modelValue","label"]),m("div",z,r(s.$t("components.role.section.account")),1),i(n,{modelValue:o.permissions["game.account.read"].active,"onUpdate:modelValue":l[11]||(l[11]=e=>o.permissions["game.account.read"].active=e),label:s.$t("components.role.action.read")},null,8,["modelValue","label"]),m("div",K,r(s.$t("components.role.section.player")),1),i(n,{modelValue:o.permissions["game.player.read"].active,"onUpdate:modelValue":l[12]||(l[12]=e=>o.permissions["game.player.read"].active=e),label:s.$t("components.role.action.read")},null,8,["modelValue","label"]),i(n,{modelValue:o.permissions["game.player.modify"].active,"onUpdate:modelValue":l[13]||(l[13]=e=>o.permissions["game.player.modify"].active=e),label:s.$t("components.role.action.modify")},null,8,["modelValue","label"]),i(n,{modelValue:o.permissions["game.player.delete"].active,"onUpdate:modelValue":l[14]||(l[14]=e=>o.permissions["game.player.delete"].active=e),label:s.$t("components.role.action.delete")},null,8,["modelValue","label"]),i(n,{modelValue:o.permissions["game.player.license"].active,"onUpdate:modelValue":l[15]||(l[15]=e=>o.permissions["game.player.license"].active=e),label:s.$t("components.role.action.license")},null,8,["modelValue","label"]),i(n,{modelValue:o.permissions["game.player.job"].active,"onUpdate:modelValue":l[16]||(l[16]=e=>o.permissions["game.player.job"].active=e),label:s.$t("components.role.action.job")},null,8,["modelValue","label"]),i(n,{modelValue:o.permissions["game.player.gang"].active,"onUpdate:modelValue":l[17]||(l[17]=e=>o.permissions["game.player.gang"].active=e),label:s.$t("components.role.action.gang")},null,8,["modelValue","label"]),i(n,{modelValue:o.permissions["game.player.kick"].active,"onUpdate:modelValue":l[18]||(l[18]=e=>o.permissions["game.player.kick"].active=e),label:s.$t("components.role.action.kick")},null,8,["modelValue","label"]),i(n,{modelValue:o.permissions["game.player.warn"].active,"onUpdate:modelValue":l[19]||(l[19]=e=>o.permissions["game.player.warn"].active=e),label:s.$t("components.role.action.warn")},null,8,["modelValue","label"]),i(n,{modelValue:o.permissions["game.player.ban"].active,"onUpdate:modelValue":l[20]||(l[20]=e=>o.permissions["game.player.ban"].active=e),label:s.$t("components.role.action.ban")},null,8,["modelValue","label"]),i(n,{modelValue:o.permissions["game.player.money"].active,"onUpdate:modelValue":l[21]||(l[21]=e=>o.permissions["game.player.money"].active=e),label:s.$t("components.role.action.money")},null,8,["modelValue","label"]),i(n,{modelValue:o.permissions["game.player.meta"].active,"onUpdate:modelValue":l[22]||(l[22]=e=>o.permissions["game.player.meta"].active=e),label:s.$t("components.role.action.meta")},null,8,["modelValue","label"]),i(n,{modelValue:o.permissions["game.player.position"].active,"onUpdate:modelValue":l[23]||(l[23]=e=>o.permissions["game.player.position"].active=e),label:s.$t("components.role.action.position")},null,8,["modelValue","label"]),i(n,{modelValue:o.permissions["game.player.inventory"].active,"onUpdate:modelValue":l[24]||(l[24]=e=>o.permissions["game.player.inventory"].active=e),label:s.$t("components.role.action.inventory")},null,8,["modelValue","label"]),i(n,{modelValue:o.permissions["game.player.screen"].active,"onUpdate:modelValue":l[25]||(l[25]=e=>o.permissions["game.player.screen"].active=e),label:s.$t("components.role.action.screen")},null,8,["modelValue","label"]),m("div",X,r(s.$t("components.role.section.vehicles")),1),i(n,{modelValue:o.permissions["game.vehicle.read"].active,"onUpdate:modelValue":l[26]||(l[26]=e=>o.permissions["game.vehicle.read"].active=e),label:s.$t("components.role.action.read")},null,8,["modelValue","label"]),i(n,{modelValue:o.permissions["game.vehicle.modify"].active,"onUpdate:modelValue":l[27]||(l[27]=e=>o.permissions["game.vehicle.modify"].active=e),label:s.$t("components.role.action.modify")},null,8,["modelValue","label"]),i(n,{modelValue:o.permissions["game.vehicle.delete"].active,"onUpdate:modelValue":l[28]||(l[28]=e=>o.permissions["game.vehicle.delete"].active=e),label:s.$t("components.role.action.delete")},null,8,["modelValue","label"]),i(n,{modelValue:o.permissions["game.vehicle.create"].active,"onUpdate:modelValue":l[29]||(l[29]=e=>o.permissions["game.vehicle.create"].active=e),label:s.$t("components.role.action.create")},null,8,["modelValue","label"]),i(n,{modelValue:o.permissions["game.vehicle.despawn"].active,"onUpdate:modelValue":l[30]||(l[30]=e=>o.permissions["game.vehicle.despawn"].active=e),label:s.$t("components.role.action.despawn")},null,8,["modelValue","label"]),i(n,{modelValue:o.permissions["game.vehicle.repair"].active,"onUpdate:modelValue":l[31]||(l[31]=e=>o.permissions["game.vehicle.repair"].active=e),label:s.$t("components.role.action.repair")},null,8,["modelValue","label"]),m("div",Z,r(s.$t("components.role.section.stashes")),1),i(n,{modelValue:o.permissions["game.stashes.read"].active,"onUpdate:modelValue":l[32]||(l[32]=e=>o.permissions["game.stashes.read"].active=e),label:s.$t("components.role.action.read")},null,8,["modelValue","label"]),i(n,{modelValue:o.permissions["game.stashes.modify"].active,"onUpdate:modelValue":l[33]||(l[33]=e=>o.permissions["game.stashes.modify"].active=e),label:s.$t("components.role.action.modify")},null,8,["modelValue","label"]),i(n,{modelValue:o.permissions["game.stashes.delete"].active,"onUpdate:modelValue":l[34]||(l[34]=e=>o.permissions["game.stashes.delete"].active=e),label:s.$t("components.role.action.delete")},null,8,["modelValue","label"]),m("div",h,r(s.$t("components.role.section.logs")),1),i(n,{modelValue:o.permissions["game.logs.read"].active,"onUpdate:modelValue":l[35]||(l[35]=e=>o.permissions["game.logs.read"].active=e),label:s.$t("components.role.action.read")},null,8,["modelValue","label"]),i(n,{modelValue:o.permissions["game.logs.game"].active,"onUpdate:modelValue":l[36]||(l[36]=e=>o.permissions["game.logs.game"].active=e),label:s.$t("components.role.action.logs.game")},null,8,["modelValue","label"]),i(n,{modelValue:o.permissions["game.logs.player"].active,"onUpdate:modelValue":l[37]||(l[37]=e=>o.permissions["game.logs.player"].active=e),label:s.$t("components.role.action.logs.player")},null,8,["modelValue","label"]),i(n,{modelValue:o.permissions["game.logs.dev"].active,"onUpdate:modelValue":l[38]||(l[38]=e=>o.permissions["game.logs.dev"].active=e),label:s.$t("components.role.action.logs.dev")},null,8,["modelValue","label"]),i(n,{modelValue:o.permissions["game.logs.web"].active,"onUpdate:modelValue":l[39]||(l[39]=e=>o.permissions["game.logs.web"].active=e),label:s.$t("components.role.action.logs.web")},null,8,["modelValue","label"])]),_:1}),i(p,{class:"col-12 col-md-4"},{default:d(()=>[m("div",$,r(s.$t("components.role.resource.development")),1),m("div",x,r(s.$t("components.role.section.items")),1),i(n,{modelValue:o.permissions["dev.item.read"].active,"onUpdate:modelValue":l[40]||(l[40]=e=>o.permissions["dev.item.read"].active=e),label:s.$t("components.role.action.read")},null,8,["modelValue","label"]),i(n,{modelValue:o.permissions["dev.item.modify"].active,"onUpdate:modelValue":l[41]||(l[41]=e=>o.permissions["dev.item.modify"].active=e),label:s.$t("components.role.action.modify")},null,8,["modelValue","label"]),i(n,{modelValue:o.permissions["dev.item.delete"].active,"onUpdate:modelValue":l[42]||(l[42]=e=>o.permissions["dev.item.delete"].active=e),label:s.$t("components.role.action.delete")},null,8,["modelValue","label"]),i(n,{modelValue:o.permissions["dev.item.create"].active,"onUpdate:modelValue":l[43]||(l[43]=e=>o.permissions["dev.item.create"].active=e),label:s.$t("components.role.action.create")},null,8,["modelValue","label"]),m("div",_,r(s.$t("components.role.section.jobs")),1),i(n,{modelValue:o.permissions["dev.job.read"].active,"onUpdate:modelValue":l[44]||(l[44]=e=>o.permissions["dev.job.read"].active=e),label:s.$t("components.role.action.read")},null,8,["modelValue","label"]),i(n,{modelValue:o.permissions["dev.job.modify"].active,"onUpdate:modelValue":l[45]||(l[45]=e=>o.permissions["dev.job.modify"].active=e),label:s.$t("components.role.action.modify")},null,8,["modelValue","label"]),i(n,{modelValue:o.permissions["dev.job.delete"].active,"onUpdate:modelValue":l[46]||(l[46]=e=>o.permissions["dev.job.delete"].active=e),label:s.$t("components.role.action.delete")},null,8,["modelValue","label"]),i(n,{modelValue:o.permissions["dev.job.create"].active,"onUpdate:modelValue":l[47]||(l[47]=e=>o.permissions["dev.job.create"].active=e),label:s.$t("components.role.action.create")},null,8,["modelValue","label"]),m("div",ee,r(s.$t("components.role.section.gangs")),1),i(n,{modelValue:o.permissions["dev.gang.read"].active,"onUpdate:modelValue":l[48]||(l[48]=e=>o.permissions["dev.gang.read"].active=e),label:s.$t("components.role.action.read")},null,8,["modelValue","label"]),i(n,{modelValue:o.permissions["dev.gang.modify"].active,"onUpdate:modelValue":l[49]||(l[49]=e=>o.permissions["dev.gang.modify"].active=e),label:s.$t("components.role.action.modify")},null,8,["modelValue","label"]),i(n,{modelValue:o.permissions["dev.gang.delete"].active,"onUpdate:modelValue":l[50]||(l[50]=e=>o.permissions["dev.gang.delete"].active=e),label:s.$t("components.role.action.delete")},null,8,["modelValue","label"]),i(n,{modelValue:o.permissions["dev.gang.create"].active,"onUpdate:modelValue":l[51]||(l[51]=e=>o.permissions["dev.gang.create"].active=e),label:s.$t("components.role.action.create")},null,8,["modelValue","label"]),m("div",le,r(s.$t("components.role.section.vehicles")),1),i(n,{modelValue:o.permissions["dev.vehicle.read"].active,"onUpdate:modelValue":l[52]||(l[52]=e=>o.permissions["dev.vehicle.read"].active=e),label:s.$t("components.role.action.read")},null,8,["modelValue","label"]),i(n,{modelValue:o.permissions["dev.vehicle.modify"].active,"onUpdate:modelValue":l[53]||(l[53]=e=>o.permissions["dev.vehicle.modify"].active=e),label:s.$t("components.role.action.modify")},null,8,["modelValue","label"]),i(n,{modelValue:o.permissions["dev.vehicle.delete"].active,"onUpdate:modelValue":l[54]||(l[54]=e=>o.permissions["dev.vehicle.delete"].active=e),label:s.$t("components.role.action.delete")},null,8,["modelValue","label"]),i(n,{modelValue:o.permissions["dev.vehicle.create"].active,"onUpdate:modelValue":l[55]||(l[55]=e=>o.permissions["dev.vehicle.create"].active=e),label:s.$t("components.role.action.create")},null,8,["modelValue","label"])]),_:1}),i(p,{class:"col-12 col-md-4"},{default:d(()=>[m("div",oe,r(s.$t("components.role.resource.management")),1),m("div",se,r(s.$t("components.role.section.user")),1),i(n,{modelValue:o.permissions["web.user.read"].active,"onUpdate:modelValue":l[56]||(l[56]=e=>o.permissions["web.user.read"].active=e),label:s.$t("components.role.action.read")},null,8,["modelValue","label"]),i(n,{modelValue:o.permissions["web.user.modify"].active,"onUpdate:modelValue":l[57]||(l[57]=e=>o.permissions["web.user.modify"].active=e),label:s.$t("components.role.action.modify")},null,8,["modelValue","label"]),i(n,{modelValue:o.permissions["web.user.delete"].active,"onUpdate:modelValue":l[58]||(l[58]=e=>o.permissions["web.user.delete"].active=e),label:s.$t("components.role.action.delete")},null,8,["modelValue","label"]),i(n,{modelValue:o.permissions["web.user.create"].active,"onUpdate:modelValue":l[59]||(l[59]=e=>o.permissions["web.user.create"].active=e),label:s.$t("components.role.action.create")},null,8,["modelValue","label"]),m("div",ie,r(s.$t("components.role.section.roles")),1),i(n,{modelValue:o.permissions["web.role.read"].active,"onUpdate:modelValue":l[60]||(l[60]=e=>o.permissions["web.role.read"].active=e),label:s.$t("components.role.action.read")},null,8,["modelValue","label"]),i(n,{modelValue:o.permissions["web.role.modify"].active,"onUpdate:modelValue":l[61]||(l[61]=e=>o.permissions["web.role.modify"].active=e),label:s.$t("components.role.action.modify")},null,8,["modelValue","label"]),i(n,{modelValue:o.permissions["web.role.delete"].active,"onUpdate:modelValue":l[62]||(l[62]=e=>o.permissions["web.role.delete"].active=e),label:s.$t("components.role.action.delete")},null,8,["modelValue","label"]),i(n,{modelValue:o.permissions["web.role.create"].active,"onUpdate:modelValue":l[63]||(l[63]=e=>o.permissions["web.role.create"].active=e),label:s.$t("components.role.action.create")},null,8,["modelValue","label"]),m("div",ae,r(s.$t("components.role.section.config")),1),i(n,{modelValue:o.permissions["web.config.read"].active,"onUpdate:modelValue":l[64]||(l[64]=e=>o.permissions["web.config.read"].active=e),label:s.$t("components.role.action.read")},null,8,["modelValue","label"]),i(n,{modelValue:o.permissions["web.config.modify"].active,"onUpdate:modelValue":l[65]||(l[65]=e=>o.permissions["web.config.modify"].active=e),label:s.$t("components.role.action.modify")},null,8,["modelValue","label"])]),_:1})]),_:1})])]),m("div",te,[m("div",ne,[i(A,{"text-color":"main",loading:o.pendingSave,color:"primary",onClick:v.trySave,label:s.$t("general.create"),class:"q-mr-sm"},null,8,["loading","onClick","label"])])])])}const ge=g(O,[["render",me]]);export{ge as default}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/RoleList.cebc48ef.js b/resources/[tools]/unlimited-spectre/html/assets/RoleList.cebc48ef.js deleted file mode 100644 index d81401749..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/RoleList.cebc48ef.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as h,P as b,R as f,bh as w,o as p,X as y,a as o,w as t,a6 as _,c as u,bi as L,r as $,a7 as l,U as n,ab as k,V as v,aE as C,a9 as R,S as E,W as m}from"./app-014d9ed9.js";import{Q,a as S,b as c}from"./QTable.d759a99d.js";import{Q as B}from"./QBadge.718e7c58.js";import{d as P}from"./utils.9ce591f3.js";import"./externalHosting.js";import"./QList.9d5bb77f.js";import"./QMarkupTable.ba6854cc.js";import"./QSelect.d7ce3d4c.js";import"./QItemLabel.b6dd3adb.js";import"./position-engine.65ebcb34.js";import"./selection.2a17b691.js";import"./rtl.b51694b1.js";const V={name:"RoleList",data(){return{ACTION:b,RESOURCE:f,columns:[{name:"name",align:"left",label:this.$i18n.t("components.roleList.headers.name"),field:e=>e.name,format:e=>`${e}`,sortable:!0},{name:"desc",align:"left",label:this.$i18n.t("components.roleList.headers.desc"),field:e=>e.desc,format:e=>`${e}`,sortable:!0},{name:"permissions",align:"center",label:this.$i18n.t("components.roleList.headers.permissions"),field:e=>e.permissions,format:e=>`${e}`,sortable:!0},{name:"color",align:"center",label:this.$i18n.t("components.roleList.headers.color"),field:e=>e.color,format:e=>`${e}`,sortable:!0}],roles:[],pagination:{sortBy:"desc",descending:!1,page:1,rowsPerPage:25},loading:!0}},methods:{can:P,onRowClick(e){this.$router.push({name:"web-role-detail",params:{roleId:e.name}})},getPaginationLabel(e,s,d){return this.$i18n.t("components.roleList.paginationLabel",{from:e,to:s,total:d})},updatePagination(e){this.loading||(this.paginationSave=e,this.pagination=e)}},computed:{...w(L,["searchFilter","paginationSave"])},mounted(){this.$route.name==="web-role-list"&&this.$axios.get("/api/roles").then(e=>{this.roles=e.data.roles,this.loading=!1,this.pagination={...this.paginationSave}})}},T={key:0,class:"row q-pa-sm"},q={class:"row"},N={class:"col-12"},U={class:"q-mx-md q-my-sm row flex-center"},I={class:"text-caption text-sub"},O={class:"q-ml-auto"};function x(e,s,d,F,r,i){const g=$("router-view");return e.$route.name==="web-role-list"?(p(),y("div",T,[o(_,{class:"bg-secondary full-width"},{default:t(()=>[l("div",q,[l("div",N,[l("div",U,[l("div",I,n(e.$t("components.roleList.subheader")),1),l("div",O,[i.can(r.ACTION.WEB.ROLE.CREATE,r.RESOURCE.WEB)?(p(),u(k,{key:0,"text-color":"main",color:"primary",onClick:s[0]||(s[0]=a=>e.$router.push({name:"web-role-create"})),label:e.$t("components.roleList.createRole"),class:"q-ma-sm"},null,8,["label"])):v("",!0)])]),o(C),o(Q,{color:"primary","card-class":"bg-secondary text-main","table-class":"text-main","table-header-class":"text-primary",flat:"",rows:r.roles,columns:r.columns,"row-key":"name",pagination:r.pagination,"rows-per-page-options":[0,25,50,100],"no-results-label":e.$t("components.roleList.noData"),"loading-label":e.$t("components.roleList.loadData"),loading:r.loading,filter:e.searchFilter,"pagination-label":i.getPaginationLabel,"rows-per-page-label":`${e.$t("components.roleList.recordsPerPage")}:`,"onUpdate:pagination":i.updatePagination},{"top-right":t(()=>[o(R,{"input-style":{color:"var(--q-main)"},borderless:"",dense:"",debounce:"300",modelValue:e.searchFilter,"onUpdate:modelValue":s[1]||(s[1]=a=>e.searchFilter=a),placeholder:e.$t("general.search")},{append:t(()=>[o(E,{class:"text-main",name:"search"})]),_:1},8,["input-style","modelValue","placeholder"])]),body:t(a=>[o(S,{props:a,onClick:W=>i.onRowClick(a.row),class:"cursor-pointer"},{default:t(()=>[o(c,{key:"name",props:a},{default:t(()=>[m(n(a.row.name),1)]),_:2},1032,["props"]),o(c,{key:"desc",props:a},{default:t(()=>[m(n(a.row.desc),1)]),_:2},1032,["props"]),o(c,{key:"permissions",props:a},{default:t(()=>[m(n(a.row.permissions.length),1)]),_:2},1032,["props"]),o(c,{key:"color",props:a},{default:t(()=>[o(B,{color:a.row.color},{default:t(()=>[m(n(a.row.color),1)]),_:2},1032,["color"])]),_:2},1032,["props"])]),_:2},1032,["props","onClick"])]),_:1},8,["rows","columns","pagination","no-results-label","loading-label","loading","filter","pagination-label","rows-per-page-label","onUpdate:pagination"])])])]),_:1})])):(p(),u(g,{key:1}))}const ee=h(V,[["render",x]]);export{ee as default}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/Setup.7660e4f6.js b/resources/[tools]/unlimited-spectre/html/assets/Setup.7660e4f6.js deleted file mode 100644 index eb6ad2c80..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/Setup.7660e4f6.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as W,a as z,b as H,c as L,d as j,e as O,f as X,g as G,h as J,i as Y,j as Z}from"./tr.2092e75c.js";import{b as I,x as s,A as $,k as F,q as p,S as E,L as ee,Q as te,h as x,C as U,B as le,bA as ae,bO as R,F as ne,H as oe,t as re,v as se,M as ie,_ as ue,bP as ce,ad as pe,bQ as A,o as de,X as me,a as o,w as u,W as C,U as q,ab as _,a7 as h,aP as ve,aQ as ge,a9 as k}from"./app-014d9ed9.js";import{Q as fe}from"./QSlideTransition.104e08c1.js";import{a as be,u as _e,b as ye,c as qe,d as he}from"./use-panel.c35d3e1e.js";import{Q as Se}from"./QImg.91aecb73.js";import{a as Ce,Q as D,c as ke}from"./QItemLabel.b6dd3adb.js";import{Q as Pe}from"./QSelect.d7ce3d4c.js";import{Q as T}from"./QForm.8d79ab03.js";import{l as we}from"./index.7435630d.js";import"./externalHosting.js";import"./touch.70a9dd44.js";import"./selection.2a17b691.js";import"./position-engine.65ebcb34.js";import"./rtl.b51694b1.js";import"./_commonjsHelpers.c10bf6cb.js";const P=I({name:"QStepperNavigation",setup(e,{slots:l}){return()=>s("div",{class:"q-stepper__nav"},$(l.default))}}),K=I({name:"StepHeader",props:{stepper:{},step:{},goToPanel:Function},setup(e,{attrs:l}){const{proxy:{$q:c}}=x(),d=F(null),t=p(()=>e.stepper.modelValue===e.step.name),i=p(()=>{const n=e.step.disable;return n===!0||n===""}),a=p(()=>{const n=e.step.error;return n===!0||n===""}),m=p(()=>{const n=e.step.done;return i.value===!1&&(n===!0||n==="")}),b=p(()=>{const n=e.step.headerNav,r=n===!0||n===""||n===void 0;return i.value===!1&&e.stepper.headerNav&&r}),g=p(()=>e.step.prefix&&(t.value===!1||e.stepper.activeIcon==="none")&&(a.value===!1||e.stepper.errorIcon==="none")&&(m.value===!1||e.stepper.doneIcon==="none")),f=p(()=>{const n=e.step.icon||e.stepper.inactiveIcon;if(t.value===!0){const r=e.step.activeIcon||e.stepper.activeIcon;return r==="none"?n:r||c.iconSet.stepper.active}if(a.value===!0){const r=e.step.errorIcon||e.stepper.errorIcon;return r==="none"?n:r||c.iconSet.stepper.error}if(i.value===!1&&m.value===!0){const r=e.step.doneIcon||e.stepper.doneIcon;return r==="none"?n:r||c.iconSet.stepper.done}return n}),v=p(()=>{const n=a.value===!0?e.step.errorColor||e.stepper.errorColor:void 0;if(t.value===!0){const r=e.step.activeColor||e.stepper.activeColor||e.step.color;return r!==void 0?r:n}return n!==void 0?n:i.value===!1&&m.value===!0?e.step.doneColor||e.stepper.doneColor||e.step.color||e.stepper.inactiveColor:e.step.color||e.stepper.inactiveColor}),y=p(()=>"q-stepper__tab col-grow flex items-center no-wrap relative-position"+(v.value!==void 0?` text-${v.value}`:"")+(a.value===!0?" q-stepper__tab--error q-stepper__tab--error-with-"+(g.value===!0?"prefix":"icon"):"")+(t.value===!0?" q-stepper__tab--active":"")+(m.value===!0?" q-stepper__tab--done":"")+(b.value===!0?" q-stepper__tab--navigation q-focusable q-hoverable":"")+(i.value===!0?" q-stepper__tab--disabled":"")),Q=p(()=>e.stepper.headerNav!==!0?!1:b.value);function V(){d.value!==null&&d.value.focus(),t.value===!1&&e.goToPanel(e.step.name)}function B(n){n.keyCode===13&&t.value===!1&&e.goToPanel(e.step.name)}return()=>{const n={class:y.value};b.value===!0&&(n.onClick=V,n.onKeyup=B,Object.assign(n,i.value===!0?{tabindex:-1,"aria-disabled":"true"}:{tabindex:l.tabindex||0}));const r=[s("div",{class:"q-focus-helper",tabindex:-1,ref:d}),s("div",{class:"q-stepper__dot row flex-center q-stepper__line relative-position"},[s("span",{class:"row flex-center"},[g.value===!0?e.step.prefix:s(E,{name:f.value})])])];if(e.step.title!==void 0&&e.step.title!==null){const S=[s("div",{class:"q-stepper__title"},e.step.title)];e.step.caption!==void 0&&e.step.caption!==null&&S.push(s("div",{class:"q-stepper__caption"},e.step.caption)),r.push(s("div",{class:"q-stepper__label q-stepper__line relative-position"},S))}return ee(s("div",n,r),[[te,Q.value]])}}});function M(e){return s("div",{class:"q-stepper__step-content"},[s("div",{class:"q-stepper__step-inner"},$(e.default))])}const N={setup(e,{slots:l}){return()=>M(l)}},w=I({name:"QStep",props:{...be,icon:String,color:String,title:{type:String,required:!0},caption:String,prefix:[String,Number],doneIcon:String,doneColor:String,activeIcon:String,activeColor:String,errorIcon:String,errorColor:String,headerNav:{type:Boolean,default:!0},done:Boolean,error:Boolean,onScroll:[Function,Array]},setup(e,{slots:l,emit:c}){const{proxy:{$q:d}}=x(),t=le(R,U);if(t===U)return console.error("QStep needs to be a child of QStepper"),U;const{getCacheWithFn:i}=_e(),a=F(null),m=p(()=>t.value.modelValue===e.name),b=p(()=>d.platform.is.ios!==!0&&d.platform.is.chrome===!0||m.value!==!0||t.value.vertical!==!0?{}:{onScroll(v){const{target:y}=v;y.scrollTop>0&&(y.scrollTop=0),e.onScroll!==void 0&&c("scroll",v)}}),g=p(()=>typeof e.name=="string"||typeof e.name=="number"?e.name:String(e.name));function f(){const v=t.value.vertical;return v===!0&&t.value.keepAlive===!0?s(ae,t.value.keepAliveProps.value,m.value===!0?[s(t.value.needsUniqueKeepAliveWrapper.value===!0?i(g.value,()=>({...N,name:g.value})):N,{key:g.value},l.default)]:void 0):v!==!0||m.value===!0?M(l):void 0}return()=>s("div",{ref:a,class:"q-stepper__step",role:"tabpanel",...b.value},t.value.vertical===!0?[s(K,{stepper:t.value,step:e,goToPanel:t.value.goToPanel}),t.value.animated===!0?s(fe,f):f()]:[f()])}}),$e=/(-\w)/g;function Ie(e){const l={};for(const c in e){const d=c.replace($e,t=>t[1].toUpperCase());l[d]=e[c]}return l}const Qe=I({name:"QStepper",props:{...ne,...ye,flat:Boolean,bordered:Boolean,alternativeLabels:Boolean,headerNav:Boolean,contracted:Boolean,headerClass:String,inactiveColor:String,inactiveIcon:String,doneIcon:String,doneColor:String,activeIcon:String,activeColor:String,errorIcon:String,errorColor:String},emits:qe,setup(e,{slots:l}){const c=x(),d=oe(e,c.proxy.$q),{updatePanelsList:t,isValidPanelName:i,updatePanelIndex:a,getPanelContent:m,getPanels:b,panelDirectives:g,goToPanel:f,keepAliveProps:v,needsUniqueKeepAliveWrapper:y}=he();re(R,p(()=>({goToPanel:f,keepAliveProps:v,needsUniqueKeepAliveWrapper:y,...e})));const Q=p(()=>`q-stepper q-stepper--${e.vertical===!0?"vertical":"horizontal"}`+(e.flat===!0||d.value===!0?" q-stepper--flat no-shadow":"")+(e.bordered===!0||d.value===!0&&e.flat===!1?" q-stepper--bordered":"")+(d.value===!0?" q-stepper--dark q-dark":"")),V=p(()=>`q-stepper__header row items-stretch justify-between q-stepper__header--${e.alternativeLabels===!0?"alternative":"standard"}-labels`+(e.flat===!1||e.bordered===!0?" q-stepper__header--border":"")+(e.contracted===!0?" q-stepper__header--contracted":"")+(e.headerClass!==void 0?` ${e.headerClass}`:""));function B(){const n=$(l.message,[]);if(e.vertical===!0){i(e.modelValue)&&a();const r=s("div",{class:"q-stepper__content"},$(l.default));return n===void 0?[r]:n.concat(r)}return[s("div",{class:V.value},b().map(r=>{const S=Ie(r.props);return s(K,{key:S.name,stepper:e,step:S,goToPanel:f})})),n,ie("div",{class:"q-stepper__content q-panel-parent"},m(),"cont",e.swipeable,()=>g.value)]}return()=>(t(l),s("div",{class:Q.value},se(l.navigation,B())))}}),Ve={name:"Setup",data(){return{config:{language:null,username:null,password:null,token:null},passwordCon:null,isPwd:!0,step:1}},computed:{...ce(A,["setupMode"]),ConfirmPWD(){return[e=>!!e||this.$t("rules.required"),e=>e===this.config.password||this.$t("rules.passwordConfirm")]},Required(){return[e=>!!e||this.$t("rules.required")]},languages(){return[{label:this.$t("general.languages.de"),value:"de",icon:"de.png"},{label:this.$t("general.languages.dk"),value:"dk",icon:"dk.png"},{label:this.$t("general.languages.en"),value:"en",icon:"en.png"},{label:this.$t("general.languages.es"),value:"es",icon:"es.png"},{label:this.$t("general.languages.et"),value:"et",icon:"et.png"},{label:this.$t("general.languages.nl"),value:"nl",icon:"nl.png"},{label:this.$t("general.languages.no"),value:"no",icon:"no.png"},{label:this.$t("general.languages.pl"),value:"pl",icon:"pl.png"},{label:this.$t("general.languages.pt"),value:"pt",icon:"pt.png"},{label:this.$t("general.languages.ta"),value:"ta",icon:"ta.png"},{label:this.$t("general.languages.tr"),value:"tr",icon:"tr.png"}]}},methods:{...pe(A,["UPDATE_SETUP_MODE"]),getFlagUrl(e){return new URL(Object.assign({"../@core/assets/flags/de.png":W,"../@core/assets/flags/dk.png":z,"../@core/assets/flags/en.png":H,"../@core/assets/flags/es.png":L,"../@core/assets/flags/et.png":j,"../@core/assets/flags/nl.png":O,"../@core/assets/flags/no.png":X,"../@core/assets/flags/pl.png":G,"../@core/assets/flags/pt.png":J,"../@core/assets/flags/ta.png":Y,"../@core/assets/flags/tr.png":Z})[`../@core/assets/flags/${e}`],self.location).toString()},validateMaster(){this.$refs.masterForm.validate().then(e=>{e&&(this.step=4)})},formSubmitted(){this.$refs.tokenForm.validate().then(e=>{if(e){this.config.language=this.$i18n.locale;const l=we.stringify(this.config);this.$axios.post("/setup",l).then(c=>{if(c.data.status==="error"){this.$q.notify({message:c.data.msg,position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:c.data.title});return}this.UPDATE_SETUP_MODE(!1),this.$router.push("/login")}).catch(c=>{console.error(c)})}})}},mounted(){this.setupMode||this.$router.push("/")}},Be={class:"absolute-center",style:{"min-width":"50%"}},Ue={class:"text-main"},xe={class:"row"},Ae={class:"col-12 col-md-6"},De={class:"row"},Te={class:"col-12 col-md-6"},Ne={class:"col-12 col-md-6"};function Fe(e,l,c,d,t,i){return de(),me("div",Be,[o(Qe,{ref:"stepper",modelValue:t.step,"onUpdate:modelValue":l[11]||(l[11]=a=>t.step=a),vertical:"",class:"bg-secondary",color:"secondary",animated:"","done-color":"primary","active-color":"primary","inactive-color":"sub"},{default:u(()=>[o(w,{name:1,title:e.$t("components.setup.welcomeHeader"),icon:"fas fa-language",done:t.step>1},{default:u(()=>[C(q(e.$t("components.setup.welcomeSub"))+" ",1),o(P,null,{default:u(()=>[o(_,{"text-color":"main",onClick:l[0]||(l[0]=a=>t.step=2),color:"primary",label:e.$t("components.setup.nextButton")},null,8,["label"])]),_:1})]),_:1},8,["title","done"]),o(w,{name:2,title:e.$t("components.setup.langHeader"),icon:"fas fa-flag",done:t.step>2},{default:u(()=>[C(q(e.$t("components.setup.langSub"))+" ",1),o(Pe,{color:"primary","label-color":"main",modelValue:e.$i18n.locale,"onUpdate:modelValue":l[1]||(l[1]=a=>e.$i18n.locale=a),class:"q-my-md","emit-value":"",options:i.languages,"popup-content-style":{backgroundColor:"var(--q-secondary)"}},{selected:u(()=>[h("div",Ue,q(e.$t(`general.languages.${e.$i18n.locale}`)),1)]),option:u(a=>[o(Ce,ve(ge(a.itemProps)),{default:u(()=>[o(D,{avatar:""},{default:u(()=>[o(Se,{src:i.getFlagUrl(a.opt.icon),"spinner-color":"primary"},null,8,["src"])]),_:2},1024),o(D,null,{default:u(()=>[o(ke,{class:"text-main"},{default:u(()=>[C(q(a.opt.label),1)]),_:2},1024)]),_:2},1024)]),_:2},1040)]),_:1},8,["modelValue","options","popup-content-style"]),o(P,null,{default:u(()=>[o(_,{"text-color":"main",onClick:l[2]||(l[2]=a=>t.step=3),color:"primary",label:e.$t("components.setup.nextButton")},null,8,["label"]),o(_,{"text-color":"main",flat:"",onClick:l[3]||(l[3]=a=>t.step=1),color:"primary",label:e.$t("components.setup.backButton"),class:"q-ml-sm"},null,8,["label"])]),_:1})]),_:1},8,["title","done"]),o(w,{name:3,title:e.$t("components.setup.masterHeader"),icon:"fas fa-user",done:t.step>3},{default:u(()=>[C(q(e.$t("components.setup.masterSub"))+" ",1),o(T,{ref:"masterForm"},{default:u(()=>[h("div",xe,[h("div",Ae,[o(k,{"label-color":"primary","input-style":{color:"var(--q-main)"},class:"q-mt-md q-mb-sm",filled:"",modelValue:t.config.username,"onUpdate:modelValue":l[4]||(l[4]=a=>t.config.username=a),label:e.$t("general.username"),"lazy-rules":"",rules:[a=>a&&a.length>0||e.$t("rules.required")]},null,8,["input-style","modelValue","label","rules"])])]),h("div",De,[h("div",Te,[o(k,{"label-color":"primary","input-style":{color:"var(--q-main)"},label:e.$t("general.password"),modelValue:t.config.password,"onUpdate:modelValue":l[6]||(l[6]=a=>t.config.password=a),filled:"","lazy-rules":"",type:t.isPwd?"password":"text",rules:i.Required},{append:u(()=>[o(E,{name:t.isPwd?"visibility_off":"visibility",class:"cursor-pointer text-primary",onClick:l[5]||(l[5]=a=>t.isPwd=!t.isPwd)},null,8,["name"])]),_:1},8,["input-style","label","modelValue","type","rules"])]),h("div",Ne,[o(k,{"label-color":"primary","input-style":{color:"var(--q-main)"},class:"q-ml-sm",filled:"",modelValue:t.passwordCon,"onUpdate:modelValue":l[7]||(l[7]=a=>t.passwordCon=a),label:e.$t("general.confirmPassword"),"lazy-rules":"",type:t.isPwd?"password":"text",rules:i.ConfirmPWD},null,8,["input-style","modelValue","label","type","rules"])])]),o(P,null,{default:u(()=>[o(_,{"text-color":"main",onClick:i.validateMaster,color:"primary",label:e.$t("components.setup.nextButton")},null,8,["onClick","label"]),o(_,{"text-color":"main",flat:"",onClick:l[8]||(l[8]=a=>t.step=2),color:"primary",label:e.$t("components.setup.backButton"),class:"q-ml-sm"},null,8,["label"])]),_:1})]),_:1},512)]),_:1},8,["title","done"]),o(w,{name:4,title:e.$t("components.setup.tokenHeader"),icon:"fas fa-key"},{default:u(()=>[C(q(e.$t("components.setup.tokenSub"))+" ",1),o(T,{ref:"tokenForm"},{default:u(()=>[o(k,{"label-color":"primary","input-style":{color:"var(--q-main)"},class:"q-mt-md",filled:"",modelValue:t.config.token,"onUpdate:modelValue":l[9]||(l[9]=a=>t.config.token=a),label:e.$t("general.setupToken"),"lazy-rules":"",rules:i.Required},null,8,["input-style","modelValue","label","rules"])]),_:1},512),o(P,null,{default:u(()=>[o(_,{"text-color":"main",onClick:i.formSubmitted,color:"primary",label:e.$t("components.setup.finishButton")},null,8,["onClick","label"]),o(_,{"text-color":"main",flat:"",onClick:l[10]||(l[10]=a=>t.step=3),color:"primary",label:e.$t("components.setup.backButton"),class:"q-ml-sm"},null,8,["label"])]),_:1})]),_:1},8,["title"])]),_:1},8,["modelValue"])])}const et=ue(Ve,[["render",Fe]]);export{et as default}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/Stash.70f72a04.js b/resources/[tools]/unlimited-spectre/html/assets/Stash.70f72a04.js deleted file mode 100644 index 99cf5f185..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/Stash.70f72a04.js +++ /dev/null @@ -1 +0,0 @@ -import{Q as I}from"./QTooltip.9d840032.js";import{_ as Y,P as x,R as A,o as n,X as h,a7 as p,a as l,w as r,a6 as S,T as E,r as M,a5 as b,U as f,c as g,W as q,V as y,ab as C,ao as T,Y as v,Z as k,S as D,a9 as j,L as O,aO as w,bC as L,aF as P}from"./app-014d9ed9.js";import{F as G,I as R,E as Q,A as X,Q as H,a as B}from"./EditGameItem.ca08f00f.js";import{B as N}from"./BasicDialog.9dd9de92.js";import{d as z}from"./utils.9ce591f3.js";import"./position-engine.65ebcb34.js";import"./selection.2a17b691.js";import"./externalHosting.js";import"./QImg.91aecb73.js";import"./QItemLabel.b6dd3adb.js";import"./QSelect.d7ce3d4c.js";import"./rtl.b51694b1.js";import"./QMarkupTable.ba6854cc.js";import"./QForm.8d79ab03.js";const F={name:"GameStorage",components:{FakeItem:G,Item:R},data(){return{ACTION:x,RESOURCE:A,loading:!1,amount:0,supportStashSlots:250,storageSlots:0,storage:[],supStash:[],dragging:!1,dragAndDrop:{shiftX:null,shiftY:null,clonedElement:null,itemIndex:null,selectedElement:null}}},computed:{isMobile(){return this.$q.platform.is.mobile}},methods:{can:z,isNumeric(t){return/^-?\d+$/.test(t)},async loadStorage(){await this.$axios.post("/api/stashes/get",{identifier:this.$route.params.stashId,type:this.$route.query.type}).then(t=>{const e=t.data.resCode,s=t.data.storage,c=t.data.storageSlots,o=t.data.stash;if(!e||!s||!c||!o){this.$q.notify({message:"Error",position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.stashes.msg.error.${t.data.resMsg}`)}),setTimeout(this.$router.back(),1500);return}this.updateStorage(s,c),this.updateSupporterStash(o)}).catch(()=>{this.$q.notify({message:"Error",position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.stashes.msg.error.failedLoad")}),this.$router.back()})},updateStorage(t,e){const s=Object.keys(t).length>e?Object.keys(t).length:e,c=new Array(s).fill(null);for(const[o,a]of Object.entries(t)){const m=a.slot;c[m-1]=a}this.storageSlots=e,this.storage=c},updateSupporterStash(t){const e=Object.keys(t).length>this.supportStashSlots?Object.keys(t).length:this.supportStashSlots,s=new Array(e).fill(null);for(const[c,o]of Object.entries(t)){const a=o.slot;s[a-1]=o}this.supStash=s},getTarget(t){const e=t.changedTouches?t.changedTouches[0]:!1;let s=t.target;return e&&(s=document.elementFromPoint(e.clientX,e.clientY)),s},selectItem(t){if(!this.can(x.GAME.STASHES.MODIFY,A.GAME)||this.dragging)return;this.dragging=!0;const e=document.getElementById(t.target.id);if(!e){this.dragging=!1;return}const s=t.touches&&t.touches[0]||t.pointerType&&t.pointerType==="touch"&&t,c=(s||t).clientX,o=(s||t).clientY;this.dragAndDrop.shiftX=c-e.getBoundingClientRect().left,this.dragAndDrop.shiftY=o-e.getBoundingClientRect().top,this.dragAndDrop.selectedElement={style:e.style,classList:e.classList.toString()},this.dragAndDrop.itemIndex=t.target.id;const a=e.cloneNode(!0);a.id=`cloned-${e.id}`,document.getElementById("app").append(a),this.clonedElement=document.getElementById(`cloned-${e.id}`),this.clonedElement.style.left=`${c-this.dragAndDrop.shiftX}px`,this.clonedElement.style.top=`${o-this.dragAndDrop.shiftY}px`,this.clonedElement.classList.add("item-clone"),this.clonedElement.style.position="absolute",e.style.pointerEvents="none",e.style.setProperty("opacity","0.2","important"),document.addEventListener("mouseup",this.dropItem),document.addEventListener("touchend",this.dropItem),document.addEventListener("touchmove",this.updatePosition,{passive:!1}),document.addEventListener("mousemove",this.updatePosition)},updatePosition(t){const e=t.touches&&t.touches[0]||t.pointerType&&t.pointerType==="touch"&&t,s=(e||t).clientX,c=(e||t).clientY;this.clonedElement.style.left=`${s-this.dragAndDrop.shiftX}px`,this.clonedElement.style.top=`${c-this.dragAndDrop.shiftY}px`,this.mouseOver(t),t.preventDefault()},mouseOver(t){const e=this.getTarget(t);if(this.lastHoverID){const s=document.getElementById(this.lastHoverID);s.style.setProperty("border","2px solid transparent"),s.children[0].classList.remove("text-negative"),this.lastHoverID=null}if(!(!t||!e||!e.id||e.id==="")){if(!this.lastHoverID&&e.id==="delete:0"){const s=document.getElementById(e.id);s.style.setProperty("border","2px dashed var(--q-negative)","important"),s.children[0].classList.add("text-negative"),this.lastHoverID=e.id}if(!this.lastHoverID&&e.id==="edit:0"){const s=document.getElementById(e.id);s.style.setProperty("border","2px dashed var(--q-primary)","important"),s.children[0].classList.add("text-primary"),this.lastHoverID=e.id}}},async dropItem(t){this.dragging=!1;const e=this.getTarget(t);if(this.lastHoverID){const i=document.getElementById(this.lastHoverID);i.style.setProperty("border","2px solid transparent"),i.children[0].classList.remove("text-negative"),i.children[0].classList.remove("text-primary"),this.lastHoverID=null}document.removeEventListener("mouseup",this.dropItem),document.removeEventListener("touchend",this.dropItem),document.removeEventListener("touchmove",this.updatePosition),document.removeEventListener("mousemove",this.updatePosition),this.clonedElement.remove();const s=document.getElementById(this.dragAndDrop.itemIndex);if(s.style.pointerEvents="all",s.style.setProperty("opacity","1.0","important"),!t||!e||!e.id||e.id==="")return;const[c,o]=e.id.split(":");if(!c||!this.isNumeric(o))return;const[a,m]=this.dragAndDrop.itemIndex.split(":");if(!(!a||!this.isNumeric(m)||m===o&&a===c)){if(this.loading=!0,e.id==="delete:0"){this.$q.dialog({component:N,componentProps:{title:this.$i18n.t("components.stashes.deleteHeader"),message:this.$i18n.t("components.stashes.deleteMsg")},cancel:!0,persistent:!0}).onOk(()=>{this.$axios.post("/api/stashes/delete",{identifier:this.$route.params.stashId,type:this.$route.query.type,fromStorage:a,fromSlot:parseInt(m)+1,amount:this.amount}).then(i=>{const d=i.data.resCode;if(this.loading=!1,!d){const u=i.data.resMsg;this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.stashes.msg.error.${u}`)});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.deleted")})}).catch(i=>{console.error(i),this.loading=!1})}).onCancel(()=>{this.loading=!1});return}if(e.id==="edit:0"){this.$q.dialog({component:Q,componentProps:{title:this.$i18n.t("components.item.edit"),item:this.getItem(a,m)},cancel:!0,persistent:!0}).onOk(i=>{i.item.amount<=0&&(i.item.amount=1),this.$axios.post("/api/stashes/edit",{identifier:this.$route.params.stashId,type:this.$route.query.type,fromStorage:a,fromSlot:parseInt(m)+1,item:i.item}).then(d=>{const u=d.data.resCode;if(this.loading=!1,!u){const $=d.data.resMsg;this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.stashes.msg.error.${$}`)});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.saved")})}).catch(d=>{console.error(d),this.loading=!1})}).onCancel(()=>{this.loading=!1});return}await this.$axios.post("/api/stashes/move",{identifier:this.$route.params.stashId,type:this.$route.query.type,fromStorage:a,toStorage:c,fromSlot:parseInt(m)+1,toSlot:parseInt(o)+1,amount:this.amount}).then(i=>{const d=i.data.resCode;if(this.loading=!1,!d){const u=i.data.resMsg;this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.item.msg.error.${u}`)}),u==="moved"&&this.loadInventory()}})}},addItem(t){this.$q.dialog({component:X,componentProps:{title:this.$i18n.t("components.stashes.addItemHeader")},cancel:!0,persistent:!0}).onOk(e=>{if(!e.item.name){this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.stashes.msg.error.noItemName")});return}this.loading=!0,e.item.amount||(e.item.amount=1),this.$axios.post("/api/stashes/add",{identifier:this.$route.params.stashId,type:this.$route.query.type,storage:t,item:e.item}).then(s=>{const c=s.data.resCode;if(this.loading=!1,!c){const o=s.data.resMsg;this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.stashes.msg.error.${o}`)});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.added")})}).catch(s=>{console.error(s),this.loading=!1})}).onCancel(()=>{this.loading=!1})},clearStorage(){this.$q.dialog({component:N,componentProps:{title:this.$i18n.t("components.stashes.clearStorageHeader"),message:this.$i18n.t("components.stashes.clearStorageMsg")},cancel:!0,persistent:!0}).onOk(()=>{this.loading=!0,this.$axios.post("/api/stashes/clear",{identifier:this.$route.params.stashId,type:this.$route.query.type}).then(t=>{const e=t.data.resCode;if(this.loading=!1,!e){const s=t.data.resMsg;this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.stashes.msg.error.${s}`)});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.cleared")})}).catch(t=>{console.error(t),this.loading=!1})}).onCancel(()=>{this.loading=!1})},getItem(t,e){return(t==="c"?this.storage:this.supStash)[e]}},async mounted(){await this.loadStorage(),this.sockets.subscribe(`storage:${this.$route.query.type}:${this.$route.params.stashId}`,t=>{this.updateStorage(t.items,this.storageSlots)}),this.sockets.subscribe("supstash::update",t=>{this.updateSupporterStash(t.stash)}),this.$socket.emit("room::join",`storage:${this.$route.query.type}:${this.$route.params.stashId}`),this.$socket.emit("room::join","supstash")},beforeUnmount(){this.sockets.unsubscribe(`storage:${this.$route.query.type}:${this.$route.params.stashId}`),this.sockets.unsubscribe("supstash::update"),this.$socket.emit("room::leave",`storage:${this.$route.query.type}:${this.$route.params.stashId}`),this.$socket.emit("room::leave","supstash")}},U={class:"row justify-between"},V={class:"row"},W={class:"text-h6"},Z=["id"],J={class:"extra-dropzone row justify-center items-center text-main"},K={class:"extra-dropzone row justify-center items-center text-main"},tt={class:"row"},et={class:"text-h6"},st=["id"];function ot(t,e,s,c,o,a){const m=M("item"),_=M("fake-item");return n(),h("div",U,[p("div",{class:E(["q-pa-sm",{"full-width":a.isMobile}])},[l(S,{class:"bg-secondary"},{default:r(()=>[l(b,{class:"col-12"},{default:r(()=>[p("div",V,[p("div",W,f(t.$t("components.stashes.stashStorage")),1),a.can(o.ACTION.GAME.STASHES.MODIFY,o.RESOURCE.GAME)?(n(),g(C,{key:0,color:"primary",icon:"add",class:"q-ml-auto",onClick:e[0]||(e[0]=i=>a.addItem("c"))},{default:r(()=>[o.dragging?y("",!0):(n(),g(I,{key:0},{default:r(()=>[q(f(t.$t("components.stashes.addItemTip")),1)]),_:1}))]),_:1})):y("",!0),a.can(o.ACTION.GAME.STASHES.MODIFY,o.RESOURCE.GAME)?(n(),g(C,{key:1,color:"primary",icon:"clear",class:"q-ml-sm",onClick:a.clearStorage},{default:r(()=>[o.dragging?y("",!0):(n(),g(I,{key:0},{default:r(()=>[q(f(t.$t("components.stashes.clearStorageTip")),1)]),_:1}))]),_:1},8,["onClick"])):y("",!0)])]),_:1}),l(b,{class:"col-12 stash-wrapper q-pa-none"},{default:r(()=>[l(T,{appear:"","enter-active-class":"animated fadeIn","leave-active-class":"animated fadeOut"},{default:r(()=>[p("div",{class:E(a.isMobile?"stash-container-mobile":"stash-container")},[(n(!0),h(v,null,k(o.storage,(i,d)=>O((n(),h("div",w({key:`c-${d}`,class:"item-slot",id:`c:${d}`},L(i?{mousedown:a.selectItem,touchstart:a.selectItem}:{},!0)),[i?(n(),h(v,{key:0},[l(m,{item:i,isPlayer:!0},null,8,["item"]),i.info&&Object.keys(i.info).length!==0&&!o.dragging?(n(),g(I,{key:0,offset:[0,8]},{default:r(()=>[(n(!0),h(v,null,k(i.info,(u,$)=>(n(),h("div",{key:`c-${d}-${$}`},f($)+": "+f(u),1))),128))]),_:2},1024)):y("",!0)],64)):(n(),g(_,{key:1,slotNumber:d+1},null,8,["slotNumber"]))],16,Z)),[[P,!o.loading]])),128))],2)]),_:1})]),_:1}),l(H,{dark:"",showing:o.loading},{default:r(()=>[l(B,{color:"primary",size:"2em"})]),_:1},8,["showing"])]),_:1})],2),p("div",{class:E(["q-pa-sm self-center actions",{"full-width":a.isMobile}])},[l(S,{class:"bg-secondary q-mb-md",id:"edit:0",style:{border:"2px solid transparent"}},{default:r(()=>[p("div",J,[l(D,{name:"edit",size:"5vh"})])]),_:1}),l(S,{class:"bg-secondary"},{default:r(()=>[l(j,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",type:"number",modelValue:o.amount,"onUpdate:modelValue":e[1]||(e[1]=i=>o.amount=i),modelModifiers:{number:!0},label:t.$t("components.stashes.amount")},null,8,["input-style","modelValue","label"])]),_:1}),l(S,{class:"bg-secondary q-mt-md",id:"delete:0",style:{border:"2px solid transparent"}},{default:r(()=>[p("div",K,[l(D,{name:"delete",size:"5vh"})])]),_:1})],2),p("div",{class:E(["q-pa-sm",{"full-width":a.isMobile}])},[l(S,{class:"bg-secondary"},{default:r(()=>[l(b,{class:"col-12"},{default:r(()=>[p("div",tt,[p("div",et,f(t.$t("components.stashes.supporterStash")),1),a.can(o.ACTION.GAME.STASHES.MODIFY,o.RESOURCE.GAME)?(n(),g(C,{key:0,color:"primary",icon:"add",class:"q-ml-auto",onClick:e[2]||(e[2]=i=>a.addItem("s"))},{default:r(()=>[o.dragging?y("",!0):(n(),g(I,{key:0},{default:r(()=>[q(f(t.$t("components.stashes.addItemTip")),1)]),_:1}))]),_:1})):y("",!0)])]),_:1}),l(b,{class:"col-12 stash-wrapper q-pa-none"},{default:r(()=>[l(T,{appear:"","enter-active-class":"animated fadeIn","leave-active-class":"animated fadeOut"},{default:r(()=>[p("div",{class:E(a.isMobile?"stash-container-mobile":"stash-container")},[(n(!0),h(v,null,k(o.supStash,(i,d)=>O((n(),h("div",w({key:`s-${d}`,class:"item-slot",id:`s:${d}`},L(i?{mousedown:a.selectItem,touchstart:a.selectItem}:{},!0)),[i?(n(),h(v,{key:0},[l(m,{item:i},null,8,["item"]),i.info&&Object.keys(i.info).length!==0&&!o.dragging?(n(),g(I,{key:0,offset:[0,8]},{default:r(()=>[(n(!0),h(v,null,k(i.info,(u,$)=>(n(),h("div",{key:`c-${d}-${$}`},f($)+": "+f(u),1))),128))]),_:2},1024)):y("",!0)],64)):(n(),g(_,{key:1}))],16,st)),[[P,!o.loading]])),128))],2)]),_:1})]),_:1}),l(H,{dark:"",showing:o.loading},{default:r(()=>[l(B,{color:"primary",size:"2em"})]),_:1},8,["showing"])]),_:1})],2)])}const $t=Y(F,[["render",ot]]);export{$t as default}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/Stash.77a94cd5.css b/resources/[tools]/unlimited-spectre/html/assets/Stash.77a94cd5.css deleted file mode 100644 index cbef6fc8d..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/Stash.77a94cd5.css +++ /dev/null @@ -1 +0,0 @@ -.actions{width:15vh}.stash-wrapper{overflow-y:auto;overflow-x:hidden;background:#3b4253;height:76vh}.stash-wrapper::-webkit-scrollbar{width:4px}.stash-wrapper::-webkit-scrollbar-thumb{border-radius:50px;background:var(--q-primary)}.stash-container{display:grid;box-sizing:border-box;grid-template-columns:repeat(4,9.5vh);grid-gap:0 4px}@media (min-width: 800px){.stash-container{grid-template-columns:repeat(3,9.5vh)}}@media (min-width: 1024px){.stash-container{grid-template-columns:repeat(4,9.5vh)}}@media (min-width: 1440px){.stash-container{grid-template-columns:repeat(5,9.5vh)}}.stash-container-mobile{display:flex;flex-wrap:wrap}.item-slot{width:9.5vh;display:flex;flex-direction:column;user-select:none;border:1px solid rgba(68,68,68,.4);border-radius:4px;margin:2px}.item{width:9.5vh;font-size:1.1vh;color:var(--q-main);border-radius:4px;background-color:#0000001a;overflow:hidden;cursor:pointer;user-select:none!important;pointer-events:none!important}.item .header{display:flex;justify-content:space-between;height:1.8vh;user-select:none!important;pointer-events:none!important}.item .header .slot{text-align:left;font-weight:700;user-select:none!important;pointer-events:none!important}.item .header .info{font-size:.9vh;flex-grow:1;text-align:right;user-select:none!important;pointer-events:none!important}.item .image{height:6.4vh;max-width:9.5vh;user-select:none!important;pointer-events:none!important}.item .caption{height:2.8vh;background-color:#0000004d;width:100%;text-align:center;line-height:2.8vh;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;user-select:none!important;pointer-events:none!important}.item-clone{position:fixed!important;pointer-events:none!important;z-index:100}.extra-dropzone{height:15vh;width:100%;user-select:none!important;pointer-events:none!important} diff --git a/resources/[tools]/unlimited-spectre/html/assets/StashesList.398d536a.js b/resources/[tools]/unlimited-spectre/html/assets/StashesList.398d536a.js deleted file mode 100644 index 59493669a..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/StashesList.398d536a.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as f,P as b,R as y,bh as w,o as u,X as _,a as n,w as r,a6 as $,c as v,bi as R,r as S,a7 as p,U as c,aE as L,a9 as k,S as P,W as h}from"./app-014d9ed9.js";import{Q as C,a as q,b as m}from"./QTable.d759a99d.js";import"./externalHosting.js";import"./QList.9d5bb77f.js";import"./QMarkupTable.ba6854cc.js";import"./QSelect.d7ce3d4c.js";import"./QItemLabel.b6dd3adb.js";import"./position-engine.65ebcb34.js";import"./selection.2a17b691.js";import"./rtl.b51694b1.js";const B={name:"StashesList",data(){return{ACTION:b,RESOURCE:y,columns:[{name:"type",align:"left",label:this.$i18n.t("components.stashesList.headers.type"),field:e=>e.type,format:e=>`${e}`,sortable:!0},{name:"identifier",align:"left",label:this.$i18n.t("components.stashesList.headers.identifier"),field:e=>e.identifier,format:e=>`${e}`,sortable:!0},{name:"item_count",align:"center",label:this.$i18n.t("components.stashesList.headers.items"),field:e=>e.item_count,format:e=>`${e}`,sortable:!0}],stashes:[],pagination:{sortBy:"type",descending:!1,page:1,rowsPerPage:25},loading:!0}},methods:{getRowsNumberCount(e){return this.$axios.post("/api/stashes/stashes-count",{filter:e}).then(a=>a.data.count)},fetchFromServer(e,a,i,l,s){return this.$axios.post("/api/stashes",{startRow:e,count:a,filter:i,sortBy:l,descending:s}).then(o=>o.data.stashes).catch(()=>{this.loading=!1,this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("general.timeout")})})},async onRequest(e){const{page:a,rowsPerPage:i,sortBy:l,descending:s}=e.pagination,o=e.filter;this.loading=!0,this.pagination.rowsNumber=await this.getRowsNumberCount(o);const d=i===0?this.pagination.rowsNumber:i,t=(a-1)*i,g=await this.fetchFromServer(t,d,o,l,s);this.stashes.splice(0,this.stashes.length,...g),this.pagination.page=a,this.pagination.rowsPerPage=i,this.pagination.sortBy=l,this.pagination.descending=s,this.paginationSave=this.pagination,this.loading=!1},onRowClick(e){this.$router.push({name:"game-stashes-detail",params:{stashId:e.identifier},query:{type:e.type}})},getPaginationLabel(e,a,i){return this.$i18n.t("components.stashesList.paginationLabel",{from:e,to:a,total:i})},updatePagination(e){this.loading||(this.paginationSave=e,this.pagination=e)}},computed:{...w(R,["searchFilter","paginationSave"])},mounted(){this.$route.name==="game-stashes-list"&&(this.pagination={...this.paginationSave,sortBy:this.pagination.sortBy},this.$refs.tableRef.requestServerInteraction())}},N={key:0,class:"row q-pa-sm"},Q={class:"row"},x={class:"col-12"},F={class:"q-mx-md q-my-sm row"},V={class:"text-caption text-sub"};function I(e,a,i,l,s,o){const d=S("router-view");return e.$route.name==="game-stashes-list"?(u(),_("div",N,[n($,{class:"bg-secondary full-width"},{default:r(()=>[p("div",Q,[p("div",x,[p("div",F,[p("div",V,c(e.$t("components.stashesList.subheader")),1)]),n(L),n(C,{ref:"tableRef",color:"primary","card-class":"bg-secondary text-main","table-class":"text-main","table-header-class":"text-primary",flat:"",rows:s.stashes,columns:s.columns,"row-key":"name",pagination:s.pagination,"onUpdate:pagination":[a[1]||(a[1]=t=>s.pagination=t),o.updatePagination],"rows-per-page-options":[0,25,50,100],"no-results-label":e.$t("components.stashesList.noData"),"loading-label":e.$t("components.stashesList.loadData"),loading:s.loading,filter:e.searchFilter,"binary-state-sort":"","pagination-label":o.getPaginationLabel,"rows-per-page-label":`${e.$t("components.stashesList.recordsPerPage")}:`,onRequest:o.onRequest},{"top-right":r(()=>[n(k,{"input-style":{color:"var(--q-main)"},borderless:"",dense:"",debounce:"300",modelValue:e.searchFilter,"onUpdate:modelValue":a[0]||(a[0]=t=>e.searchFilter=t),placeholder:e.$t("general.search")},{append:r(()=>[n(P,{class:"text-main",name:"search"})]),_:1},8,["input-style","modelValue","placeholder"])]),body:r(t=>[n(q,{props:t,onClick:g=>o.onRowClick(t.row),class:"cursor-pointer"},{default:r(()=>[n(m,{key:"type",props:t},{default:r(()=>[h(c(t.row.type),1)]),_:2},1032,["props"]),n(m,{key:"identifier",props:t},{default:r(()=>[h(c(t.row.identifier),1)]),_:2},1032,["props"]),n(m,{key:"item_count",props:t},{default:r(()=>[h(c(t.row.item_count),1)]),_:2},1032,["props"])]),_:2},1032,["props","onClick"])]),_:1},8,["rows","columns","pagination","no-results-label","loading-label","loading","filter","pagination-label","rows-per-page-label","onRequest","onUpdate:pagination"])])])]),_:1})])):(u(),v(d,{key:1}))}const G=f(B,[["render",I]]);export{G as default}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/TouchPan.194313dc.js b/resources/[tools]/unlimited-spectre/html/assets/TouchPan.194313dc.js deleted file mode 100644 index 5ae37a8a3..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/TouchPan.194313dc.js +++ /dev/null @@ -1 +0,0 @@ -import{ax as D,av as m,n as X,ay as Y,an as h,az as y,at as w,aA as C,aB as b,am as g,ap as A}from"./app-014d9ed9.js";import{g as _,s as M}from"./touch.70a9dd44.js";import{c as F}from"./selection.2a17b691.js";function E(a,r,o){const l=b(a);let e,t=l.left-r.event.x,i=l.top-r.event.y,u=Math.abs(t),s=Math.abs(i);const n=r.direction;n.horizontal===!0&&n.vertical!==!0?e=t<0?"left":"right":n.horizontal!==!0&&n.vertical===!0?e=i<0?"up":"down":n.up===!0&&i<0?(e="up",u>s&&(n.left===!0&&t<0?e="left":n.right===!0&&t>0&&(e="right"))):n.down===!0&&i>0?(e="down",u>s&&(n.left===!0&&t<0?e="left":n.right===!0&&t>0&&(e="right"))):n.left===!0&&t<0?(e="left",u0&&(e="down"))):n.right===!0&&t>0&&(e="right",u0&&(e="down")));let v=!1;if(e===void 0&&o===!1){if(r.event.isFirst===!0||r.event.lastDir===void 0)return{};e=r.event.lastDir,v=!0,e==="left"||e==="right"?(l.left-=t,u=0,t=0):(l.top-=i,s=0,i=0)}return{synthetic:v,payload:{evt:a,touch:r.event.mouse!==!0,mouse:r.event.mouse===!0,position:l,direction:e,isFirst:r.event.isFirst,isFinal:o===!0,duration:Date.now()-r.event.time,distance:{x:u,y:s},offset:{x:t,y:i},delta:{x:l.left-r.event.lastX,y:l.top-r.event.lastY}}}}let P=0;const z=D({name:"touch-pan",beforeMount(a,{value:r,modifiers:o}){if(o.mouse!==!0&&m.has.touch!==!0)return;function l(t,i){o.mouse===!0&&i===!0?A(t):(o.stop===!0&&C(t),o.prevent===!0&&w(t))}const e={uid:"qvtp_"+P++,handler:r,modifiers:o,direction:_(o),noop:X,mouseStart(t){M(t,e)&&Y(t)&&(h(e,"temp",[[document,"mousemove","move","notPassiveCapture"],[document,"mouseup","end","passiveCapture"]]),e.start(t,!0))},touchStart(t){if(M(t,e)){const i=t.target;h(e,"temp",[[i,"touchmove","move","notPassiveCapture"],[i,"touchcancel","end","passiveCapture"],[i,"touchend","end","passiveCapture"]]),e.start(t)}},start(t,i){if(m.is.firefox===!0&&y(a,!0),e.lastEvt=t,i===!0||o.stop===!0){if(e.direction.all!==!0&&(i!==!0||e.modifiers.mouseAllDir!==!0&&e.modifiers.mousealldir!==!0)){const n=t.type.indexOf("mouse")>-1?new MouseEvent(t.type,t):new TouchEvent(t.type,t);t.defaultPrevented===!0&&w(n),t.cancelBubble===!0&&C(n),Object.assign(n,{qKeyEvent:t.qKeyEvent,qClickOutside:t.qClickOutside,qAnchorHandled:t.qAnchorHandled,qClonedBy:t.qClonedBy===void 0?[e.uid]:t.qClonedBy.concat(e.uid)}),e.initialEvent={target:t.target,event:n}}C(t)}const{left:u,top:s}=b(t);e.event={x:u,y:s,time:Date.now(),mouse:i===!0,detected:!1,isFirst:!0,isFinal:!1,lastX:u,lastY:s}},move(t){if(e.event===void 0)return;const i=b(t),u=i.left-e.event.x,s=i.top-e.event.y;if(u===0&&s===0)return;e.lastEvt=t;const n=e.event.mouse===!0,v=()=>{l(t,n);let d;o.preserveCursor!==!0&&o.preservecursor!==!0&&(d=document.documentElement.style.cursor||"",document.documentElement.style.cursor="grabbing"),n===!0&&document.body.classList.add("no-pointer-events--children"),document.body.classList.add("non-selectable"),F(),e.styleCleanup=p=>{if(e.styleCleanup=void 0,d!==void 0&&(document.documentElement.style.cursor=d),document.body.classList.remove("non-selectable"),n===!0){const q=()=>{document.body.classList.remove("no-pointer-events--children")};p!==void 0?setTimeout(()=>{q(),p()},50):q()}else p!==void 0&&p()}};if(e.event.detected===!0){e.event.isFirst!==!0&&l(t,e.event.mouse);const{payload:d,synthetic:p}=E(t,e,!1);d!==void 0&&(e.handler(d)===!1?e.end(t):(e.styleCleanup===void 0&&e.event.isFirst===!0&&v(),e.event.lastX=d.position.left,e.event.lastY=d.position.top,e.event.lastDir=p===!0?void 0:d.direction,e.event.isFirst=!1));return}if(e.direction.all===!0||n===!0&&(e.modifiers.mouseAllDir===!0||e.modifiers.mousealldir===!0)){v(),e.event.detected=!0,e.move(t);return}const c=Math.abs(u),f=Math.abs(s);c!==f&&(e.direction.horizontal===!0&&c>f||e.direction.vertical===!0&&c0||e.direction.left===!0&&c>f&&u<0||e.direction.right===!0&&c>f&&u>0?(e.event.detected=!0,e.move(t)):e.end(t,!0))},end(t,i){if(e.event!==void 0){if(g(e,"temp"),m.is.firefox===!0&&y(a,!1),i===!0)e.styleCleanup!==void 0&&e.styleCleanup(),e.event.detected!==!0&&e.initialEvent!==void 0&&e.initialEvent.target.dispatchEvent(e.initialEvent.event);else if(e.event.detected===!0){e.event.isFirst===!0&&e.handler(E(t===void 0?e.lastEvt:t,e).payload);const{payload:u}=E(t===void 0?e.lastEvt:t,e,!0),s=()=>{e.handler(u)};e.styleCleanup!==void 0?e.styleCleanup(s):s()}e.event=void 0,e.initialEvent=void 0,e.lastEvt=void 0}}};if(a.__qtouchpan=e,o.mouse===!0){const t=o.mouseCapture===!0||o.mousecapture===!0?"Capture":"";h(e,"main",[[a,"mousedown","mouseStart",`passive${t}`]])}m.has.touch===!0&&h(e,"main",[[a,"touchstart","touchStart",`passive${o.capture===!0?"Capture":""}`],[a,"touchmove","noop","notPassiveCapture"]])},updated(a,r){const o=a.__qtouchpan;o!==void 0&&(r.oldValue!==r.value&&(typeof value!="function"&&o.end(),o.handler=r.value),o.direction=_(r.modifiers))},beforeUnmount(a){const r=a.__qtouchpan;r!==void 0&&(r.event!==void 0&&r.end(),g(r,"main"),g(r,"temp"),m.is.firefox===!0&&y(a,!1),r.styleCleanup!==void 0&&r.styleCleanup(),delete a.__qtouchpan)}});export{z as T}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/User.3dcfa91d.js b/resources/[tools]/unlimited-spectre/html/assets/User.3dcfa91d.js deleted file mode 100644 index 65a4dc525..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/User.3dcfa91d.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as C,R as b,P as y,o as c,X as $,a7 as i,a as o,w as a,a6 as v,ab as m,c as p,V as u,a5 as h,W as g,U as d,a9 as E,aP as x,aQ as S,T as k}from"./app-014d9ed9.js";import{a as _,Q as w,c as q}from"./QItemLabel.b6dd3adb.js";import{Q as I}from"./QSelect.d7ce3d4c.js";import{d as B}from"./utils.9ce591f3.js";import{B as f}from"./BasicDialog.9dd9de92.js";import{B as P}from"./BasicPrompt.0f8aac67.js";import"./externalHosting.js";import"./position-engine.65ebcb34.js";import"./selection.2a17b691.js";import"./rtl.b51694b1.js";const D={name:"User",data(){return{RESOURCE:b,ACTION:y,pendingSave:!1,pendingDelete:!1,user:{},roles:[]}},computed:{getRoleColor(){return this.user.roleId?this.roles.find(e=>e.name=this.user.roleId).color:"primary"}},methods:{can:B,trySave(){this.pendingSave=!0,this.$axios.patch(`/api/users/save/${this.user.name}`,this.user).then(e=>{if(this.pendingSave=!1,!e.data.resCode){const r=e.data.resMsg;this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.user.msg.error.${r}`,{name:this.user.name})});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.saved")})}).catch(e=>{})},tryDelete(){this.pendingDelete=!0,this.$q.dialog({component:f,componentProps:{title:this.$i18n.t("components.user.deleteHeader"),message:this.$i18n.t("components.user.deleteMsg",{name:this.user.name})},cancel:!0,persistent:!0}).onOk(()=>{this.$axios.delete(`/api/users/delete/${this.user.name}`).then(e=>{if(this.pendingDelete=!1,!e.data.resCode){const r=e.data.resMsg;this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.user.msg.error.${r}`,{name:this.user.name})});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.deleted")}),this.$router.push({name:"web-user-list"})}).catch(e=>{})}).onCancel(()=>{this.pendingDelete=!1})},resetPassword(){this.$q.dialog({component:f,componentProps:{title:this.$i18n.t("components.user.resetPasswordHeader"),message:this.$i18n.t("components.user.resetPasswordMsg",{name:this.user.name})},cancel:!0,persistent:!0}).onOk(()=>{this.$axios.post("/api/users/password/reset",{userId:this.user.name}).then(e=>{if(this.pendingSave=!1,!e.data.resCode){const r=e.data.resMsg;this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.user.msg.error.${r}`,{name:this.user.name})});return}this.$q.dialog({component:P,componentProps:{title:this.$i18n.t("general.success"),message:`
${e.data.newPw}
`},cancel:!0,persistent:!0})}).catch(e=>{})})}},mounted(){this.$axios.get(`/api/users/${this.$route.params.userId}`).then(e=>{const t=e.data.user,r=e.data.roles;if(!t||!r){this.$q.notify({message:e.data.msg,position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:"Error"});return}this.user=t,this.roles=r})}},R={class:"row"},U={class:"col-12"},O={class:"q-ma-sm row"},Q={class:"text-h6"},V={class:"text-primary"},M={class:"text-main"},N={class:"col-12"},T={class:"q-ma-sm row justify-end"};function W(e,t,r,A,s,l){return c(),$("div",R,[i("div",U,[i("div",O,[o(v,{class:"bg-secondary full-width row"},{default:a(()=>[o(h,{class:"col-12"},{default:a(()=>[i("div",Q,[g(d(e.$t("components.user.edit"))+": ",1),i("span",V,d(s.user.name),1)])]),_:1}),o(h,{class:"col-12 col-md-6"},{default:a(()=>[o(E,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",placeholder:"Unlimited.wtf",modelValue:s.user.fxname,"onUpdate:modelValue":t[0]||(t[0]=n=>s.user.fxname=n),label:e.$t("components.user.fxname")},null,8,["input-style","modelValue","label"]),o(I,{class:"q-mt-md",label:e.$t("components.user.role"),color:"primary","label-color":"primary",filled:"",modelValue:s.user.roleId,"onUpdate:modelValue":t[1]||(t[1]=n=>s.user.roleId=n),"emit-value":"","input-class":"text-main","input-debounce":"0",options:s.roles,"popup-content-class":"bg-secondary text-main"},{selected:a(()=>[i("div",M,d(s.user.roleId),1)]),option:a(n=>[o(_,x(S(n.itemProps)),{default:a(()=>[o(w,null,{default:a(()=>[o(q,{class:k(`text-${n.opt.color}`)},{default:a(()=>[g(d(n.opt.value),1)]),_:2},1032,["class"])]),_:2},1024)]),_:2},1040)]),_:1},8,["label","modelValue","options"])]),_:1}),o(h,{class:"col-12 col-md-6 text-center"},{default:a(()=>[l.can(s.ACTION.WEB.USER.MODIFY,s.RESOURCE.WEB)?(c(),p(m,{key:0,"text-color":"main",color:"primary",onClick:l.resetPassword,label:e.$t("components.user.resetPasswort"),class:"q-ma-sm"},null,8,["onClick","label"])):u("",!0)]),_:1})]),_:1})])]),i("div",N,[i("div",T,[o(m,{"text-color":"main",disable:s.pendingDelete||s.pendingSave,color:"primary",onClick:t[2]||(t[2]=n=>e.$router.push({name:"web-user-list"})),label:e.$t("general.back"),class:"q-mr-auto"},null,8,["disable","label"]),l.can(s.ACTION.WEB.USER.MODIFY,s.RESOURCE.WEB)?(c(),p(m,{key:0,"text-color":"main",loading:s.pendingSave,disable:s.pendingDelete,color:"primary",onClick:l.trySave,label:e.$t("general.save"),class:"q-mr-sm"},null,8,["loading","disable","onClick","label"])):u("",!0),l.can(s.ACTION.WEB.USER.DELETE,s.RESOURCE.WEB)?(c(),p(m,{key:1,"text-color":"main",loading:s.pendingDelete,disable:s.pendingSave,color:"negative",onClick:l.tryDelete,label:e.$t("general.delete")},null,8,["loading","disable","onClick","label"])):u("",!0)])])])}const Z=C(D,[["render",W]]);export{Z as default}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/UserCreate.b66e777a.js b/resources/[tools]/unlimited-spectre/html/assets/UserCreate.b66e777a.js deleted file mode 100644 index ad0c14e83..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/UserCreate.b66e777a.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as c,o as f,X as g,a7 as a,a as l,w as t,a6 as y,ab as h,a5 as m,a9 as i,U as d,aP as w,aQ as b,T as v,W as C,S as V}from"./app-014d9ed9.js";import{a as q,Q,c as S}from"./QItemLabel.b6dd3adb.js";import{Q as $}from"./QSelect.d7ce3d4c.js";import{Q as P}from"./QForm.8d79ab03.js";import"./externalHosting.js";import"./position-engine.65ebcb34.js";import"./selection.2a17b691.js";import"./rtl.b51694b1.js";const x={name:"UserCreate",data(){return{pendingSave:!1,user:{name:"",roleId:"",password:"",fxname:""},isPwd:!0,passwordCon:"",roles:[]}},computed:{ConfirmPWD(){return[s=>!!s||this.$t("rules.required"),s=>s===this.user.password||this.$t("rules.passwordConfirm"),s=>s&&!/\s/.test(s)||this.$t("rules.noSpace")]}},methods:{trySave(){this.$refs.userForm.validate().then(s=>{if(!s){this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.user.msg.error.missingFields",{name:this.user.name})});return}this.pendingSave=!0,this.$axios.post("/api/users/create",this.user).then(o=>{if(this.pendingSave=!1,!o.data.resCode){const n=o.data.resMsg;this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.user.msg.error.${n}`,{name:this.user.name})});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.saved")}),this.$router.push({name:"web-user-list"})}).catch(o=>{})})}},mounted(){this.$axios.get("/api/roles/list").then(s=>{const o=s.data.roles;if(!o){this.$q.notify({message:s.data.msg,position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:"Error"});return}this.roles=Object.freeze(o)}).catch(s=>{console.error(s)})}},I={class:"row"},U={class:"col-12"},_={class:"q-ma-sm row"},k={class:"text-main"},z={class:"col-12"},B={class:"q-ma-sm row justify-end"};function F(s,o,p,n,r,u){return f(),g("div",I,[a("div",U,[a("div",_,[l(y,{class:"bg-secondary full-width"},{default:t(()=>[l(P,{ref:"userForm",class:"row"},{default:t(()=>[l(m,{class:"col-12 col-md-6"},{default:t(()=>[l(i,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:r.user.name,"onUpdate:modelValue":o[0]||(o[0]=e=>r.user.name=e),label:s.$t("general.username"),"lazy-rules":"",rules:[e=>e&&e.length>0||s.$t("rules.required"),e=>e&&!/\s/.test(e)||s.$t("rules.noSpace")]},null,8,["input-style","modelValue","label","rules"]),l(i,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",placeholder:"Unlimited.wtf",modelValue:r.user.fxname,"onUpdate:modelValue":o[1]||(o[1]=e=>r.user.fxname=e),label:s.$t("components.user.fxname")},null,8,["input-style","modelValue","label"]),l($,{class:"q-mt-md",label:s.$t("components.user.role"),color:"primary","label-color":"primary",filled:"",modelValue:r.user.roleId,"onUpdate:modelValue":o[2]||(o[2]=e=>r.user.roleId=e),"emit-value":"","input-class":"text-main","input-debounce":"0",options:r.roles,"popup-content-class":"bg-secondary text-main"},{selected:t(()=>[a("div",k,d(r.user.roleId),1)]),option:t(e=>[l(q,w(b(e.itemProps)),{default:t(()=>[l(Q,null,{default:t(()=>[l(S,{class:v(`text-${e.opt.color}`)},{default:t(()=>[C(d(e.opt.value),1)]),_:2},1032,["class"])]),_:2},1024)]),_:2},1040)]),_:1},8,["label","modelValue","options"])]),_:1}),l(m,{class:"col-12 col-md-6"},{default:t(()=>[l(i,{"label-color":"primary","input-style":{color:"var(--q-main)"},label:s.$t("general.password"),modelValue:r.user.password,"onUpdate:modelValue":o[4]||(o[4]=e=>r.user.password=e),filled:"","lazy-rules":"",type:r.isPwd?"password":"text",rules:[e=>e&&e.length>0||s.$t("rules.required"),e=>e&&!/\s/.test(e)||s.$t("rules.noSpace")]},{append:t(()=>[l(V,{name:r.isPwd?"visibility_off":"visibility",class:"cursor-pointer text-primary",onClick:o[3]||(o[3]=e=>r.isPwd=!r.isPwd)},null,8,["name"])]),_:1},8,["input-style","label","modelValue","type","rules"]),l(i,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:r.passwordCon,"onUpdate:modelValue":o[5]||(o[5]=e=>r.passwordCon=e),label:s.$t("general.confirmPassword"),"lazy-rules":"",type:r.isPwd?"password":"text",rules:u.ConfirmPWD},null,8,["input-style","modelValue","label","type","rules"])]),_:1})]),_:1},512)]),_:1})])]),a("div",z,[a("div",B,[l(h,{"text-color":"main",loading:r.pendingSave,color:"primary",onClick:u.trySave,label:s.$t("general.create"),class:"q-mr-sm"},null,8,["loading","onClick","label"])])])])}const O=c(x,[["render",F]]);export{O as default}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/UserList.e541b3ac.js b/resources/[tools]/unlimited-spectre/html/assets/UserList.e541b3ac.js deleted file mode 100644 index 5f4e42dad..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/UserList.e541b3ac.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as f,P as w,R as y,bh as k,o as l,X as _,a as t,w as s,a6 as L,c as m,bi as $,r as v,a7 as n,U as p,ab as C,V as u,aE as E,a9 as S,S as g,W as b}from"./app-014d9ed9.js";import{Q as U,a as P,b as d}from"./QTable.d759a99d.js";import{d as Q}from"./utils.9ce591f3.js";import"./externalHosting.js";import"./QList.9d5bb77f.js";import"./QMarkupTable.ba6854cc.js";import"./QSelect.d7ce3d4c.js";import"./QItemLabel.b6dd3adb.js";import"./position-engine.65ebcb34.js";import"./selection.2a17b691.js";import"./rtl.b51694b1.js";const R={name:"UserList",data(){return{ACTION:w,RESOURCE:y,columns:[{name:"name",align:"left",label:this.$i18n.t("components.userList.headers.name"),field:e=>e.name,format:e=>`${e}`,sortable:!0},{name:"role",align:"left",label:this.$i18n.t("components.userList.headers.role"),field:e=>e.roleId,format:e=>`${e}`,sortable:!0},{name:"master",align:"center",label:this.$i18n.t("components.userList.headers.master"),field:e=>e.isMaster,format:e=>`${e}`,sortable:!0}],users:[],pagination:{sortBy:"desc",descending:!1,page:1,rowsPerPage:25},loading:!0}},methods:{can:Q,onRowClick(e){this.$router.push({name:"web-user-detail",params:{userId:e.name}})},getPaginationLabel(e,o,c){return this.$i18n.t("components.userList.paginationLabel",{from:e,to:o,total:c})},updatePagination(e){this.loading||(this.paginationSave=e,this.pagination=e)}},computed:{...k($,["searchFilter","paginationSave"])},mounted(){this.$route.name==="web-user-list"&&this.$axios.get("/api/users").then(e=>{this.users=e.data.users,this.loading=!1,this.pagination={...this.paginationSave}})}},B={key:0,class:"row q-pa-sm"},V={class:"row"},I={class:"col-12"},T={class:"q-mx-md q-my-sm row flex-center"},q={class:"text-caption text-sub"},N={class:"q-ml-auto"};function x(e,o,c,F,r,i){const h=v("router-view");return e.$route.name==="web-user-list"?(l(),_("div",B,[t(L,{class:"bg-secondary full-width"},{default:s(()=>[n("div",V,[n("div",I,[n("div",T,[n("div",q,p(e.$t("components.userList.subheader")),1),n("div",N,[i.can(r.ACTION.WEB.USER.CREATE,r.RESOURCE.WEB)?(l(),m(C,{key:0,"text-color":"main",color:"primary",onClick:o[0]||(o[0]=a=>e.$router.push({name:"web-user-create"})),label:e.$t("components.userList.createUser"),class:"q-ma-sm"},null,8,["label"])):u("",!0)])]),t(E),t(U,{color:"primary","card-class":"bg-secondary text-main","table-class":"text-main","table-header-class":"text-primary",flat:"",rows:r.users,columns:r.columns,"row-key":"name",pagination:r.pagination,"rows-per-page-options":[0,25,50,100],"no-results-label":e.$t("components.userList.noData"),"loading-label":e.$t("components.userList.loadData"),loading:r.loading,filter:e.searchFilter,"pagination-label":i.getPaginationLabel,"rows-per-page-label":`${e.$t("components.userList.recordsPerPage")}:`,"onUpdate:pagination":i.updatePagination},{"top-right":s(()=>[t(S,{"input-style":{color:"var(--q-main)"},borderless:"",dense:"",debounce:"300",modelValue:e.searchFilter,"onUpdate:modelValue":o[1]||(o[1]=a=>e.searchFilter=a),placeholder:e.$t("general.search")},{append:s(()=>[t(g,{class:"text-main",name:"search"})]),_:1},8,["input-style","modelValue","placeholder"])]),body:s(a=>[t(P,{props:a,onClick:O=>i.onRowClick(a.row),class:"cursor-pointer"},{default:s(()=>[t(d,{key:"name",props:a},{default:s(()=>[b(p(a.row.name),1)]),_:2},1032,["props"]),t(d,{key:"role",props:a},{default:s(()=>[b(p(a.row.roleId),1)]),_:2},1032,["props"]),t(d,{key:"master",props:a},{default:s(()=>[a.row.isMaster?(l(),m(g,{key:0,name:"fa fa-crown",color:"amber"})):u("",!0)]),_:2},1032,["props"])]),_:2},1032,["props","onClick"])]),_:1},8,["rows","columns","pagination","no-results-label","loading-label","loading","filter","pagination-label","rows-per-page-label","onUpdate:pagination"])])])]),_:1})])):(l(),m(h,{key:1}))}const Y=f(R,[["render",x]]);export{Y as default}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/Vehicle.14c8f95c.js b/resources/[tools]/unlimited-spectre/html/assets/Vehicle.14c8f95c.js deleted file mode 100644 index 843aea195..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/Vehicle.14c8f95c.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as E,R as D,P as N,o as m,X as f,a7 as a,a as t,w as n,a6 as b,ab as u,c as y,V as q,a5 as p,W as C,U as h,a9 as r,Y as S,Z as w}from"./app-014d9ed9.js";import{Q as V}from"./QForm.8d79ab03.js";import{Q as U}from"./QSelect.d7ce3d4c.js";import{Q}from"./QTooltip.9d840032.js";import{Q as I}from"./QMarkupTable.ba6854cc.js";import{d as O}from"./utils.9ce591f3.js";import{B as $}from"./BasicDialog.9dd9de92.js";import"./externalHosting.js";import"./QItemLabel.b6dd3adb.js";import"./position-engine.65ebcb34.js";import"./selection.2a17b691.js";import"./rtl.b51694b1.js";const B={name:"Vehicle",data(){return{RESOURCE:D,ACTION:N,defaults:["name","brand","model","price","category","categorylabel","hash","shop"],vehicle:{},customVars:[],pendingSave:!1,pendingDelete:!1}},methods:{can:O,isNumeric(e){return typeof e!="string"?!1:!isNaN(e)&&!isNaN(parseFloat(e))},isBoolean(e){return e==="true"||(e==="false"?!1:e)},addCustomVar(){this.customVars.push({name:"",value:""})},removeVar(e,l){e>-1&&this.$q.dialog({component:$,componentProps:{title:this.$i18n.t("components.devVehicle.deleteHeader"),message:this.$i18n.t("components.devVehicle.deleteCustomVarMsg",{name:l.name})},cancel:!0,persistent:!0}).onOk(()=>{delete this.vehicle[l.oldName],this.customVars.splice(e,1)})},trySave(){this.$refs.customVarForm.validate().then(e=>{if(!e){this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.devVehicle.msg.error.uniqueVars")});return}this.customVars.forEach(l=>{!l.name||(l.oldName=l.name,this.vehicle[l.name]=this.isNumeric(l.value)?Number(l.value):this.isBoolean(l.value))}),this.pendingSave=!0,this.$axios.patch(`/api/dev-vehicles/save/${this.$route.params.vehicleId}`,this.vehicle).then(l=>{if(this.pendingSave=!1,!l.data.resCode){const v=l.data.resMsg;this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.devVehicle.msg.error.${v}`,{name:this.job.name})});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.saved")})}).catch(l=>{console.error(l)})})},tryDelete(){this.pendingDelete=!0,this.$q.dialog({component:$,componentProps:{title:this.$i18n.t("components.devVehicle.deleteHeader"),message:this.$i18n.t("components.devVehicle.deleteMsg",{model:this.vehicle.model})},cancel:!0,persistent:!0}).onOk(()=>{this.$axios.delete(`/api/dev-vehicles/delete/${this.$route.params.vehicleId}`).then(e=>{if(this.pendingDelete=!1,!e.data.resCode){const c=e.data.resMsg;this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.devVehicle.msg.error.${c}`)});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.deleted")}),this.$router.push({name:"dev-vehicle-list"})}).catch(e=>{})}).onCancel(()=>{this.pendingDelete=!1})}},mounted(){this.$axios.get(`/api/dev-vehicles/${this.$route.params.vehicleId}`).then(e=>{const l=e.data.vehicle;if(!l){this.$q.notify({message:e.data.msg,position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:"Error"});return}this.vehicle=l,this.vehicle.shop=Array.isArray(l.shop)?l.shop:[l.shop];for(const[c,v]of Object.entries(l))this.defaults.includes(c.toLowerCase())||this.customVars.push({name:c,value:v,oldName:c})}).catch(e=>{console.error(e)})}},L={class:"row"},M={class:"col-12"},_={class:"q-ma-sm row"},R={class:"text-h6"},T={class:"text-primary"},F={class:"col-12"},A={class:"q-ma-sm row"},x={class:"row"},H={class:"text-h6"},j={class:"text-caption text-sub"},P={class:"q-ml-auto"},z={style:{width:"30px"},class:"text-right vertical-middle"},Y={class:"col-12"},W={class:"q-ma-sm row justify-end"};function X(e,l,c,v,o,d){return m(),f("div",L,[a("div",M,[a("div",_,[t(b,{class:"bg-secondary full-width row"},{default:n(()=>[t(p,{class:"col-12"},{default:n(()=>[a("div",R,[C(h(e.$t("components.devVehicle.edit"))+": ",1),a("span",T,h(o.vehicle.model),1)])]),_:1}),t(p,{class:"col-12 col-md-6"},{default:n(()=>[t(V,{ref:"vehDefaults"},{default:n(()=>[t(r,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",disable:"",modelValue:o.vehicle.model,"onUpdate:modelValue":l[0]||(l[0]=s=>o.vehicle.model=s),label:e.$t("components.devVehicle.model")},null,8,["input-style","modelValue","label"]),t(r,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",disable:"",class:"q-mt-md",modelValue:o.vehicle.model,"onUpdate:modelValue":l[1]||(l[1]=s=>o.vehicle.model=s),label:e.$t("components.devVehicle.hash")},null,8,["input-style","modelValue","label"]),t(r,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",class:"q-mt-md",modelValue:o.vehicle.name,"onUpdate:modelValue":l[2]||(l[2]=s=>o.vehicle.name=s),label:e.$t("components.devVehicle.name")},null,8,["input-style","modelValue","label"]),t(r,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",class:"q-mt-md",modelValue:o.vehicle.brand,"onUpdate:modelValue":l[3]||(l[3]=s=>o.vehicle.brand=s),label:e.$t("components.devVehicle.brand")},null,8,["input-style","modelValue","label"])]),_:1},512)]),_:1}),t(p,{class:"col-12 col-md-6"},{default:n(()=>[t(V,{ref:"vehShop"},{default:n(()=>[t(r,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:o.vehicle.category,"onUpdate:modelValue":l[4]||(l[4]=s=>o.vehicle.category=s),label:e.$t("components.devVehicle.category")},null,8,["input-style","modelValue","label"]),t(r,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",class:"q-mt-md",modelValue:o.vehicle.categoryLabel,"onUpdate:modelValue":l[5]||(l[5]=s=>o.vehicle.categoryLabel=s),label:e.$t("components.devVehicle.categoryLabel")},null,8,["input-style","modelValue","label"]),t(r,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",class:"q-mt-md",modelValue:o.vehicle.price,"onUpdate:modelValue":l[6]||(l[6]=s=>o.vehicle.price=s),modelModifiers:{number:!0},type:"number",label:e.$t("components.devVehicle.price")},null,8,["input-style","modelValue","label"]),t(U,{ref:"accept",label:e.$t("components.devVehicle.shop"),color:"primary","label-color":"primary",filled:"",multiple:"",modelValue:o.vehicle.shop,"onUpdate:modelValue":l[7]||(l[7]=s=>o.vehicle.shop=s),"popup-content-class":"bg-secondary text-main","use-input":"","use-chips":"","hide-dropdown-icon":"","input-debounce":"0","new-value-mode":"add-unique","input-class":"text-main",class:"q-mt-md"},null,8,["label","modelValue"])]),_:1},512)]),_:1})]),_:1})])]),a("div",F,[a("div",A,[t(b,{class:"bg-secondary full-width row"},{default:n(()=>[t(p,{class:"col-12"},{default:n(()=>[a("div",x,[a("div",null,[a("div",H,h(e.$t("components.devVehicle.customVariables")),1),a("div",j,h(e.$t("components.devVehicle.customVarSub")),1)]),a("div",P,[t(u,{"text-color":"main",color:"primary",label:e.$t("components.devVehicle.addCustomVar"),onClick:d.addCustomVar},null,8,["label","onClick"])])])]),_:1}),t(p,{class:"col-12"},{default:n(()=>[t(V,{ref:"customVarForm"},{default:n(()=>[t(I,{class:"bg-secondary text-main",flat:"",square:"",separator:"none"},{default:n(()=>[a("tbody",null,[(m(!0),f(S,null,w(o.customVars,(s,g)=>(m(),f("tr",{key:`${g}-customVar`},[a("td",null,[t(r,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:s.name,"onUpdate:modelValue":i=>s.name=i,label:e.$t("components.devVehicle.customVarName"),"lazy-rules":"",rules:[i=>i&&i.length>0||e.$t("rules.required"),i=>i&&!/\s/.test(i)||e.$t("rules.noSpace"),i=>i&&o.customVars.filter(k=>k.name===i).length<=1||e.$t("rules.unique"),i=>i&&!o.defaults.includes(i.toLowerCase())||e.$t("rules.defaults")]},null,8,["input-style","modelValue","onUpdate:modelValue","label","rules"])]),a("td",null,[t(r,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",class:"q-field--with-bottom",modelValue:s.value,"onUpdate:modelValue":i=>s.value=i,label:e.$t("components.devVehicle.customVarValue")},null,8,["input-style","modelValue","onUpdate:modelValue","label"])]),a("td",z,[t(u,{"text-color":"main",class:"text-red-6",dense:"",flat:"",icon:"fas fa-trash",size:"xs",onClick:i=>d.removeVar(g,s)},{default:n(()=>[t(Q,null,{default:n(()=>[C(h(e.$t("general.delete")),1)]),_:1})]),_:2},1032,["onClick"])])]))),128))])]),_:1})]),_:1},512)]),_:1})]),_:1})])]),a("div",Y,[a("div",W,[t(u,{"text-color":"main",disable:o.pendingDelete||o.pendingSave,color:"primary",onClick:l[8]||(l[8]=s=>e.$router.push({name:"dev-vehicle-list"})),label:e.$t("general.back"),class:"q-mr-auto"},null,8,["disable","label"]),d.can(o.ACTION.DEV.VEHICLE.MODIFY,o.RESOURCE.DEV)?(m(),y(u,{key:0,"text-color":"main",loading:o.pendingSave,disable:o.pendingDelete,color:"primary",onClick:d.trySave,label:e.$t("general.save"),class:"q-mr-sm"},null,8,["loading","disable","onClick","label"])):q("",!0),d.can(o.ACTION.DEV.VEHICLE.DELETE,o.RESOURCE.DEV)?(m(),y(u,{key:1,"text-color":"main",loading:o.pendingDelete,disable:o.pendingSave,color:"negative",onClick:d.tryDelete,label:e.$t("general.delete")},null,8,["loading","disable","onClick","label"])):q("",!0)])])])}const re=E(B,[["render",X]]);export{re as default}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/Vehicle.2c374c7e.js b/resources/[tools]/unlimited-spectre/html/assets/Vehicle.2c374c7e.js deleted file mode 100644 index a2d56200f..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/Vehicle.2c374c7e.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as k,P as V,R as A,o as r,X as c,a7 as t,a as i,w as m,a6 as f,ab as d,a5 as v,c as g,V as y,U as o,Y as p,a9 as u}from"./app-014d9ed9.js";import{Q as E}from"./QMarkupTable.ba6854cc.js";import{Q as M}from"./QForm.8d79ab03.js";import{d as O}from"./utils.9ce591f3.js";import{B as C}from"./BasicDialog.9dd9de92.js";import{B as q}from"./BasicInput.94e22095.js";import"./externalHosting.js";const x={name:"Vehicle",data(){return{ACTION:V,RESOURCE:A,vehicle:{},oldPlate:null}},methods:{can:O,async loadVehicle(){await this.$axios.get(`/api/vehicles/${this.$route.params.vehicleId}`).then(l=>{const s=l.data.vehicle;if(!l.data.resCode){this.$q.notify({message:"Error",position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.vehicle.msg.error.noMatch")}),this.$router.push({name:"game-vehicle-list"});return}this.vehicle=s,this.oldPlate=s.plate})},updatePlate(){this.$refs.plate.validate().then(l=>{if(!l){this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.gang.msg.error.allowedCharsNumbers")});return}this.$axios.post("/api/vehicles/changePlate",{id:this.vehicle.id,plate:this.oldPlate,newPlate:this.vehicle.plate}).then(s=>{if(!s.data.resCode){const b=s.data.resMsg;this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.vehicle.msg.error.${b}`)});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.saved")}),this.loadVehicle()}).catch(s=>{})})},updateField(l){this.$axios.post("/api/vehicles/updateField",{id:this.vehicle.id,value:this.vehicle[l],field:l,plate:this.vehicle.plate}).then(s=>{if(!s.data.resCode){const b=s.data.resMsg;this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.vehicle.msg.error.${b}`)});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.saved")}),this.loadVehicle()}).catch(s=>{})},changeOwner(){this.$q.dialog({component:q,componentProps:{title:this.$i18n.t("components.vehicle.changeOwnerHeader"),message:this.$i18n.t("components.vehicle.changeOwnerInput")},cancel:!0,persistent:!0}).onOk(l=>{const s=l.input;if(!s){this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.vehicle.msg.error.missingData")});return}this.$axios.post("/api/vehicles/changeOwner",{id:this.vehicle.id,citizenid:s}).then(h=>{if(!h.data.resCode){const e=h.data.resMsg;this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.vehicle.msg.error.${e}`)});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.saved")}),this.loadVehicle()}).catch(h=>{})})},repairVehicle(){this.$axios.post("/api/vehicles/repair",{id:this.vehicle.id,plate:this.vehicle.plate}).then(l=>{if(!l.data.resCode){const h=l.data.resMsg;this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.vehicle.msg.error.${h}`)});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.saved")}),this.loadVehicle()}).catch(l=>{})},despawnehicle(){this.$q.dialog({component:C,componentProps:{title:this.$i18n.t("components.vehicle.despawnHeader"),message:this.$i18n.t("components.vehicle.despawnMsg")},cancel:!0,persistent:!0}).onOk(()=>{this.$axios.post("/api/vehicles/despawn",{id:this.vehicle.id,plate:this.vehicle.plate}).then(l=>{if(!l.data.resCode){const h=l.data.resMsg;this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.vehicle.msg.error.${h}`)});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.deleted")})}).catch(l=>{})})},deleteVehicle(){this.$q.dialog({component:C,componentProps:{title:this.$i18n.t("components.vehicle.deleteHeader"),message:this.$i18n.t("components.vehicle.deleteMsg")},cancel:!0,persistent:!0}).onOk(()=>{this.$axios.post("/api/vehicles/delete",{id:this.vehicle.id,plate:this.vehicle.plate}).then(l=>{if(!l.data.resCode){const h=l.data.resMsg;this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.vehicle.msg.error.${h}`)});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.deleted")}),this.$router.push({name:"game-vehicle-list"})}).catch(l=>{})})}},mounted(){this.loadVehicle()}},I={class:"row"},R={class:"col-12 q-pa-sm"},w={class:"row"},G={class:"row"},U={class:"col-12 col-md-6 q-pa-sm"},_={class:"text-h6"},S={class:"text-main"},$={key:0},F={class:"text-left"},N={class:"text-left"},T={class:"text-left"},D={key:1,class:"text-left"},H={class:"text-left"},L={class:"text-left"},Y={class:"text-h6"},P={class:"text-main"},B={class:"text-left"},z={style:{"min-width":"250px"}},Q={key:1},j={class:"text-left"},W={style:{"min-width":"250px"}},X={key:1},Z={class:"text-left"},J={style:{"min-width":"250px"}},K={key:1},ee={class:"text-left"},le={style:{"min-width":"250px"}},te={key:1},se={class:"text-left"},ne={style:{"min-width":"250px"}},ie={key:1},oe={class:"col-12 col-md-6 q-pa-sm"},ae={class:"text-h6"},re={class:"text-main"},ce={class:"text-left"},de={class:"text-left"},me={class:"text-left"},he={style:{"min-width":"250px"}},pe={key:1},ue={class:"text-left"},ve={class:"text-left"},ye={class:"text-left"},ge={style:{"min-width":"250px"}},be={key:1},fe={class:"text-left"},Ee={style:{"min-width":"250px"}},Ce={key:1},ke={class:"text-left"},Ve={style:{"min-width":"250px"}},Ae={key:1},Me={class:"text-left"},Oe={style:{"min-width":"250px"}},qe={key:1},xe={class:"text-left"},Ie={style:{"min-width":"250px"}},Re={key:1},we={class:"text-left"},Ge={style:{"min-width":"250px"}},Ue={key:1},_e={class:"col-12"},Se={class:"q-ma-sm row justify-end"};function $e(l,s,h,b,e,a){return r(),c("div",I,[t("div",R,[t("div",w,[i(f,{class:"bg-secondary row",style:{width:"100%"}},{default:m(()=>[i(v,{class:"q-pa-none"},{default:m(()=>[t("div",G,[a.can(e.ACTION.GAME.STASHES.READ,e.RESOURCE.GAME)?(r(),g(d,{key:0,"text-color":"main",class:"q-ma-md",color:"primary",label:l.$t("components.vehicle.buttons.openTrunk"),onClick:s[0]||(s[0]=n=>l.$router.push({name:"game-stashes-detail",params:{stashId:e.vehicle.plate},query:{type:"Trunk"}}))},null,8,["label"])):y("",!0),a.can(e.ACTION.GAME.STASHES.READ,e.RESOURCE.GAME)?(r(),g(d,{key:1,"text-color":"main",class:"q-ma-md",color:"primary",label:l.$t("components.vehicle.buttons.openGlovebox"),onClick:s[1]||(s[1]=n=>l.$router.push({name:"game-stashes-detail",params:{stashId:e.vehicle.plate},query:{type:"Glovebox"}}))},null,8,["label"])):y("",!0),a.can(e.ACTION.GAME.VEHICLE.MODIFY,e.RESOURCE.GAME)?(r(),g(d,{key:2,"text-color":"main",class:"q-ma-md",color:"primary",label:l.$t("components.vehicle.buttons.changeOwner"),onClick:a.changeOwner},null,8,["label","onClick"])):y("",!0),a.can(e.ACTION.GAME.VEHICLE.DESPAWN,e.RESOURCE.GAME)?(r(),g(d,{key:3,"text-color":"main",class:"q-ma-md",color:"primary",label:l.$t("components.vehicle.buttons.despawnVehicle"),onClick:a.despawnehicle},null,8,["label","onClick"])):y("",!0),a.can(e.ACTION.GAME.VEHICLE.REPAIR,e.RESOURCE.GAME)?(r(),g(d,{key:4,"text-color":"main",class:"q-ma-md",color:"primary",label:l.$t("components.vehicle.buttons.repairVehicle"),onClick:a.repairVehicle},null,8,["label","onClick"])):y("",!0),a.can(e.ACTION.GAME.VEHICLE.DELETE,e.RESOURCE.GAME)?(r(),g(d,{key:5,"text-color":"main",class:"q-ma-md",color:"primary",label:l.$t("components.vehicle.buttons.deleteVehicle"),onClick:a.deleteVehicle},null,8,["label","onClick"])):y("",!0)])]),_:1})]),_:1})])]),t("div",U,[i(f,{class:"bg-secondary col-12 col-md-6",style:{height:"100%"}},{default:m(()=>[i(v,{class:"col-12"},{default:m(()=>[t("div",_,[t("span",S,o(l.$t("components.vehicle.header.owner")),1)])]),_:1}),i(v,{class:"col-12"},{default:m(()=>[i(E,{class:"bg-secondary text-main",flat:"",square:"",separator:"none"},{default:m(()=>[e.vehicle.ownerName?(r(),c("tr",$,[t("td",F,o(l.$t("components.vehicle.labels.owner")),1),t("td",N,o(e.vehicle.ownerName),1)])):y("",!0),t("tr",null,[t("td",T,o(l.$t("components.vehicle.labels.citizenid")),1),a.can(e.ACTION.GAME.PLAYER.READ,e.RESOURCE.GAME)?(r(),c("td",{key:0,class:"text-left cursor-pointer text-primary",style:{"text-decoration":"underline"},onClick:s[2]||(s[2]=n=>l.$router.push({name:"game-player-detail",params:{citizenid:e.vehicle.citizenid}}))},o(e.vehicle.citizenid),1)):(r(),c("td",D,o(e.vehicle.citizenid),1))]),t("tr",null,[t("td",H,o(l.$t("components.vehicle.labels.license")),1),t("td",L,o(e.vehicle.license),1)])]),_:1})]),_:1}),i(v,{class:"col-12"},{default:m(()=>[t("div",Y,[t("span",P,o(l.$t("components.vehicle.header.payment")),1)])]),_:1}),i(v,{class:"col-12"},{default:m(()=>[i(E,{class:"bg-secondary text-main",flat:"",square:"",separator:"none"},{default:m(()=>[t("tr",null,[t("td",B,o(l.$t("components.vehicle.labels.depotprice")),1),a.can(e.ACTION.GAME.VEHICLE.MODIFY,e.RESOURCE.GAME)?(r(),c(p,{key:0},[t("td",z,[i(u,{dense:"","label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",type:"number",modelValue:e.vehicle.depotprice,"onUpdate:modelValue":s[3]||(s[3]=n=>e.vehicle.depotprice=n),label:l.$t("components.vehicle.labels.depotprice")},null,8,["input-style","modelValue","label"])]),t("td",null,[i(d,{"text-color":"main",class:"q-ml-md",color:"primary",style:{"max-height":"24px"},filled:"",onClick:s[4]||(s[4]=n=>a.updateField("depotprice")),label:l.$t("general.save")},null,8,["label"])])],64)):(r(),c("td",Q,o(e.vehicle.depotprice),1))]),t("tr",null,[t("td",j,o(l.$t("components.vehicle.labels.balance")),1),a.can(e.ACTION.GAME.VEHICLE.MODIFY,e.RESOURCE.GAME)?(r(),c(p,{key:0},[t("td",W,[i(u,{dense:"","label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",type:"number",modelValue:e.vehicle.balance,"onUpdate:modelValue":s[5]||(s[5]=n=>e.vehicle.balance=n),label:l.$t("components.vehicle.labels.balance")},null,8,["input-style","modelValue","label"])]),t("td",null,[i(d,{"text-color":"main",class:"q-ml-md",color:"primary",style:{"max-height":"24px"},filled:"",onClick:s[6]||(s[6]=n=>a.updateField("balance")),label:l.$t("general.save")},null,8,["label"])])],64)):(r(),c("td",X,o(e.vehicle.balance),1))]),t("tr",null,[t("td",Z,o(l.$t("components.vehicle.labels.paymentamount")),1),a.can(e.ACTION.GAME.VEHICLE.MODIFY,e.RESOURCE.GAME)?(r(),c(p,{key:0},[t("td",J,[i(u,{dense:"","label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",type:"number",modelValue:e.vehicle.paymentamount,"onUpdate:modelValue":s[7]||(s[7]=n=>e.vehicle.paymentamount=n),label:l.$t("components.vehicle.labels.paymentamount")},null,8,["input-style","modelValue","label"])]),t("td",null,[i(d,{"text-color":"main",class:"q-ml-md",color:"primary",style:{"max-height":"24px"},onClick:s[8]||(s[8]=n=>a.updateField("paymentamount")),label:l.$t("general.save")},null,8,["label"])])],64)):(r(),c("td",K,o(e.vehicle.paymentamount),1))]),t("tr",null,[t("td",ee,o(l.$t("components.vehicle.labels.paymentsleft")),1),a.can(e.ACTION.GAME.VEHICLE.MODIFY,e.RESOURCE.GAME)?(r(),c(p,{key:0},[t("td",le,[i(u,{dense:"","label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",type:"number",modelValue:e.vehicle.paymentsleft,"onUpdate:modelValue":s[9]||(s[9]=n=>e.vehicle.paymentsleft=n),label:l.$t("components.vehicle.labels.paymentsleft")},null,8,["input-style","modelValue","label"])]),t("td",null,[i(d,{"text-color":"main",class:"q-ml-md",color:"primary",style:{"max-height":"24px"},onClick:s[10]||(s[10]=n=>a.updateField("paymentsleft")),label:l.$t("general.save")},null,8,["label"])])],64)):(r(),c("td",te,o(e.vehicle.paymentsleft),1))]),t("tr",null,[t("td",se,o(l.$t("components.vehicle.labels.financetime")),1),a.can(e.ACTION.GAME.VEHICLE.MODIFY,e.RESOURCE.GAME)?(r(),c(p,{key:0},[t("td",ne,[i(u,{dense:"","label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",type:"number",modelValue:e.vehicle.financetime,"onUpdate:modelValue":s[11]||(s[11]=n=>e.vehicle.financetime=n),label:l.$t("components.vehicle.labels.financetime")},null,8,["input-style","modelValue","label"])]),t("td",null,[i(d,{"text-color":"main",class:"q-ml-md",color:"primary",style:{"max-height":"24px"},onClick:s[12]||(s[12]=n=>a.updateField("financetime")),label:l.$t("general.save")},null,8,["label"])])],64)):(r(),c("td",ie,o(e.vehicle.financetime),1))])]),_:1})]),_:1})]),_:1})]),t("div",oe,[i(f,{class:"bg-secondary col-12 col-md-6",style:{height:"100%"}},{default:m(()=>[i(v,{class:"col-12"},{default:m(()=>[t("div",ae,[t("span",re,o(l.$t("components.vehicle.header.car")),1)])]),_:1}),i(v,{class:"col-12"},{default:m(()=>[i(E,{class:"bg-secondary text-main",flat:"",square:"",separator:"none"},{default:m(()=>[t("tr",null,[t("td",ce,o(l.$t("components.vehicle.labels.model")),1),t("td",de,o(e.vehicle.vehicle),1)]),t("tr",null,[t("td",me,o(l.$t("components.vehicle.labels.plate")),1),a.can(e.ACTION.GAME.VEHICLE.MODIFY,e.RESOURCE.GAME)?(r(),c(p,{key:0},[t("td",he,[i(M,{ref:"plate"},{default:m(()=>[i(u,{dense:"","label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",maxlength:"8",modelValue:e.vehicle.plate,"onUpdate:modelValue":s[13]||(s[13]=n=>e.vehicle.plate=n),label:l.$t("components.vehicle.labels.plate"),"lazy-rules":"",rules:[n=>n&&/^[a-zA-Z0-9 ]+$/.test(n)||l.$t("rules.onlyCharsNumbers")]},null,8,["input-style","modelValue","label","rules"])]),_:1},512)]),t("td",null,[i(d,{"text-color":"main",class:"q-ml-md",color:"primary",style:{"max-height":"24px"},onClick:s[14]||(s[14]=n=>a.updatePlate()),label:l.$t("general.save")},null,8,["label"])])],64)):(r(),c("td",pe,o(e.vehicle.plate),1))]),t("tr",null,[t("td",ue,o(l.$t("components.vehicle.labels.fakeplate")),1),t("td",ve,o(e.vehicle.fakeplate),1)]),t("tr",null,[t("td",ye,o(l.$t("components.vehicle.labels.drivingdistance")),1),a.can(e.ACTION.GAME.VEHICLE.MODIFY,e.RESOURCE.GAME)?(r(),c(p,{key:0},[t("td",ge,[i(u,{dense:"","label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",type:"number",modelValue:e.vehicle.drivingdistance,"onUpdate:modelValue":s[15]||(s[15]=n=>e.vehicle.drivingdistance=n),label:l.$t("components.vehicle.labels.drivingdistance")},null,8,["input-style","modelValue","label"])]),t("td",null,[i(d,{"text-color":"main",class:"q-ml-md",color:"primary",style:{"max-height":"24px"},onClick:s[16]||(s[16]=n=>a.updateField("drivingdistance")),label:l.$t("general.save")},null,8,["label"])])],64)):(r(),c("td",be,o(e.vehicle.drivingdistance),1))]),t("tr",null,[t("td",fe,o(l.$t("components.vehicle.labels.garage")),1),a.can(e.ACTION.GAME.VEHICLE.MODIFY,e.RESOURCE.GAME)?(r(),c(p,{key:0},[t("td",Ee,[i(u,{dense:"","label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:e.vehicle.garage,"onUpdate:modelValue":s[17]||(s[17]=n=>e.vehicle.garage=n),label:l.$t("components.vehicle.labels.garage")},null,8,["input-style","modelValue","label"])]),t("td",null,[i(d,{"text-color":"main",class:"q-ml-md",color:"primary",style:{"max-height":"24px"},onClick:s[18]||(s[18]=n=>a.updateField("garage")),label:l.$t("general.save")},null,8,["label"])])],64)):(r(),c("td",Ce,o(e.vehicle.garage),1))]),t("tr",null,[t("td",ke,o(l.$t("components.vehicle.labels.state")),1),a.can(e.ACTION.GAME.VEHICLE.MODIFY,e.RESOURCE.GAME)?(r(),c(p,{key:0},[t("td",Ve,[i(u,{dense:"","label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",type:"number",modelValue:e.vehicle.state,"onUpdate:modelValue":s[19]||(s[19]=n=>e.vehicle.state=n),label:l.$t("components.vehicle.labels.state")},null,8,["input-style","modelValue","label"])]),t("td",null,[i(d,{"text-color":"main",class:"q-ml-md",color:"primary",style:{"max-height":"24px"},onClick:s[20]||(s[20]=n=>a.updateField("state")),label:l.$t("general.save")},null,8,["label"])])],64)):(r(),c("td",Ae,o(e.vehicle.state),1))]),t("tr",null,[t("td",Me,o(l.$t("components.vehicle.labels.fuel")),1),a.can(e.ACTION.GAME.VEHICLE.MODIFY,e.RESOURCE.GAME)?(r(),c(p,{key:0},[t("td",Oe,[i(u,{dense:"","label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",type:"number",modelValue:e.vehicle.fuel,"onUpdate:modelValue":s[21]||(s[21]=n=>e.vehicle.fuel=n),label:l.$t("components.vehicle.labels.fuel")},null,8,["input-style","modelValue","label"])]),t("td",null,[i(d,{"text-color":"main",class:"q-ml-md",color:"primary",style:{"max-height":"24px"},onClick:s[22]||(s[22]=n=>a.updateField("fuel")),label:l.$t("general.save")},null,8,["label"])])],64)):(r(),c("td",qe,o(e.vehicle.fuel),1))]),t("tr",null,[t("td",xe,o(l.$t("components.vehicle.labels.engine")),1),a.can(e.ACTION.GAME.VEHICLE.MODIFY,e.RESOURCE.GAME)?(r(),c(p,{key:0},[t("td",Ie,[i(u,{dense:"","label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",type:"number",modelValue:e.vehicle.engine,"onUpdate:modelValue":s[23]||(s[23]=n=>e.vehicle.engine=n),label:l.$t("components.vehicle.labels.engine")},null,8,["input-style","modelValue","label"])]),t("td",null,[i(d,{"text-color":"main",class:"q-ml-md",color:"primary",style:{"max-height":"24px"},onClick:s[24]||(s[24]=n=>a.updateField("engine")),label:l.$t("general.save")},null,8,["label"])])],64)):(r(),c("td",Re,o(e.vehicle.engine),1))]),t("tr",null,[t("td",we,o(l.$t("components.vehicle.labels.body")),1),a.can(e.ACTION.GAME.VEHICLE.MODIFY,e.RESOURCE.GAME)?(r(),c(p,{key:0},[t("td",Ge,[i(u,{dense:"","label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",type:"number",modelValue:e.vehicle.body,"onUpdate:modelValue":s[25]||(s[25]=n=>e.vehicle.body=n),label:l.$t("components.vehicle.labels.body")},null,8,["input-style","modelValue","label"])]),t("td",null,[i(d,{"text-color":"main",class:"q-ml-md",color:"primary",style:{"max-height":"24px"},onClick:s[26]||(s[26]=n=>a.updateField("body")),label:l.$t("general.save")},null,8,["label"])])],64)):(r(),c("td",Ue,o(e.vehicle.body),1))])]),_:1})]),_:1})]),_:1})]),t("div",_e,[t("div",Se,[i(d,{"text-color":"main",color:"primary",onClick:s[27]||(s[27]=n=>l.$router.push({name:"game-vehicle-list"})),label:l.$t("general.back"),class:"q-mr-auto"},null,8,["label"])])])])}const Pe=k(x,[["render",$e]]);export{Pe as default}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/VehicleCreate.6dc6c35d.js b/resources/[tools]/unlimited-spectre/html/assets/VehicleCreate.6dc6c35d.js deleted file mode 100644 index d184a694c..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/VehicleCreate.6dc6c35d.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as u,o as p,X as h,a7 as a,a as i,w as o,a6 as v,ab as f,a5 as r,U as g,a9 as n}from"./app-014d9ed9.js";import{Q as y}from"./QForm.8d79ab03.js";import"./externalHosting.js";const b={name:"VehicleCreate",data(){return{pendingSave:!1,citizenid:null,vehicle:{}}},methods:{tryCreateVehicle(){this.$refs.vehicleCreate.validate().then(t=>{!t||(this.pendingSave=!0,this.$axios.post("/api/vehicles/create",{citizenid:this.citizenid,vehicle:this.vehicle}).then(l=>{if(this.pendingSave=!1,!l.data.resCode){const c=l.data.resMsg;this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.vehicle.msg.error.${c}`)});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.saved")}),this.$router.push({name:"game-vehicle-list"})}).catch(l=>{}))})}},mounted(){this.citizenid=this.$route.query.citizenid||""}},V={class:"row"},C={class:"col-12"},q={class:"q-ma-sm row"},$={class:"text-h6"},z={class:"col-12"},w={class:"q-ma-sm row justify-end"};function _(t,l,d,c,s,m){return p(),h("div",V,[a("div",C,[a("div",q,[i(v,{class:"bg-secondary full-width row"},{default:o(()=>[i(r,{class:"col-12"},{default:o(()=>[a("div",$,g(t.$t("components.vehicleCreate.new"))+":",1)]),_:1}),i(r,{class:"col-12 col-md-6"},{default:o(()=>[i(y,{ref:"vehicleCreate"},{default:o(()=>[i(n,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:s.citizenid,"onUpdate:modelValue":l[0]||(l[0]=e=>s.citizenid=e),label:t.$t("components.vehicle.labels.citizenid")},null,8,["input-style","modelValue","label"]),i(n,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",class:"q-mt-md",modelValue:s.vehicle.model,"onUpdate:modelValue":l[1]||(l[1]=e=>s.vehicle.model=e),label:t.$t("components.vehicle.labels.model"),"lazy-rules":"",rules:[e=>e&&e.length>0||t.$t("rules.required")]},null,8,["input-style","modelValue","label","rules"]),i(n,{class:"q-mt-md",dense:"","label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",maxlength:"8",modelValue:s.vehicle.plate,"onUpdate:modelValue":l[2]||(l[2]=e=>s.vehicle.plate=e),label:t.$t("components.vehicle.labels.plate"),"lazy-rules":"",rules:[e=>e&&/^[a-zA-Z0-9 ]+$/.test(e)||t.$t("rules.onlyCharsNumbers")]},null,8,["input-style","modelValue","label","rules"])]),_:1},512)]),_:1}),i(r,{class:"col-12 col-md-6"},{default:o(()=>[i(n,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:s.vehicle.garage,"onUpdate:modelValue":l[3]||(l[3]=e=>s.vehicle.garage=e),label:t.$t("components.vehicle.labels.garage")},null,8,["input-style","modelValue","label"]),i(n,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",class:"q-mt-md",type:"number",modelValue:s.vehicle.state,"onUpdate:modelValue":l[4]||(l[4]=e=>s.vehicle.state=e),modelModifiers:{number:!0},label:t.$t("components.vehicle.labels.state")},null,8,["input-style","modelValue","label"])]),_:1})]),_:1})])]),a("div",z,[a("div",w,[i(f,{"text-color":"main",loading:s.pendingSave,color:"primary",onClick:m.tryCreateVehicle,label:t.$t("general.create"),class:"q-mr-sm"},null,8,["loading","onClick","label"])])])])}const k=u(b,[["render",_]]);export{k as default}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/VehicleCreate.ec46f0b2.js b/resources/[tools]/unlimited-spectre/html/assets/VehicleCreate.ec46f0b2.js deleted file mode 100644 index e154c5ed5..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/VehicleCreate.ec46f0b2.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as q,o as p,X as h,a7 as i,a as o,w as n,a6 as V,ab as v,a5 as d,U as c,a9 as m,Y as $,Z as C,W as w}from"./app-014d9ed9.js";import{Q as f}from"./QForm.8d79ab03.js";import{Q as S}from"./QSelect.d7ce3d4c.js";import{Q as U}from"./QTooltip.9d840032.js";import{Q as k}from"./QMarkupTable.ba6854cc.js";import{B as Q}from"./BasicDialog.9dd9de92.js";import"./externalHosting.js";import"./QItemLabel.b6dd3adb.js";import"./position-engine.65ebcb34.js";import"./selection.2a17b691.js";import"./rtl.b51694b1.js";const N={name:"VehicleCreate",data(){return{defaults:["name","brand","model","price","category","categorylabel","hash","shop"],pendingSave:!1,vehicle:{name:"",brand:"",model:"",price:0,category:"",categoryLabel:"",hash:"",shop:[]},customVars:[]}},methods:{isNumeric(e){return typeof e!="string"?!1:!isNaN(e)&&!isNaN(parseFloat(e))},isBoolean(e){return e==="true"||(e==="false"?!1:e)},addCustomVar(){this.customVars.push({name:"",value:""})},removeVar(e){const t=this.customVars.indexOf(e);t>-1&&this.$q.dialog({component:Q,componentProps:{title:this.$i18n.t("components.devVehicle.deleteHeader"),message:this.$i18n.t("components.devVehicle.deleteCustomVarMsg",{name:e.name})},cancel:!0,persistent:!0}).onOk(()=>{this.customVars.splice(t,1)})},trySave(){this.$refs.vehDefaults.validate().then(e=>{if(!e){this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.devVehicle.msg.error.missingFields")});return}this.$refs.customVarForm.validate().then(t=>{if(!t){this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.devVehicle.msg.error.uniqueVars")});return}this.customVars.forEach(r=>{!r.name||(this.vehicle[r.name]=this.isNumeric(r.value)?Number(r.value):this.isBoolean(r.value))}),this.pendingSave=!0,this.$axios.post("/api/dev-vehicles/create",this.vehicle).then(r=>{if(this.pendingSave=!1,!r.data.resCode){const s=r.data.resMsg;this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.devVehicle.msg.error.${s}`,{name:this.vehicle.model})});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.saved")}),this.$router.push({name:"dev-vehicle-list"})}).catch(()=>{})})})}}},B={class:"row"},_={class:"col-12"},L={class:"q-ma-sm row"},F={class:"text-h6"},M={class:"col-12"},D={class:"q-ma-sm row"},x={class:"row"},z={class:"text-h6"},T={class:"text-caption text-sub"},E={class:"q-ml-auto"},O={style:{width:"30px"},class:"text-right vertical-middle"},j={class:"col-12"},H={class:"q-ma-sm row justify-end"};function I(e,t,r,b,s,u){return p(),h("div",B,[i("div",_,[i("div",L,[o(V,{class:"bg-secondary full-width row"},{default:n(()=>[o(d,{class:"col-12"},{default:n(()=>[i("div",F,c(e.$t("components.devVehicleCreate.new"))+": ",1)]),_:1}),o(d,{class:"col-12 col-md-6"},{default:n(()=>[o(f,{ref:"vehDefaults"},{default:n(()=>[o(m,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:s.vehicle.model,"onUpdate:modelValue":t[0]||(t[0]=l=>s.vehicle.model=l),onChange:t[1]||(t[1]=l=>{s.vehicle.model=l.toLowerCase()}),"lazy-rules":"",rules:[l=>l&&l.length>0||e.$t("rules.required"),l=>l&&!/\s/.test(l)||e.$t("rules.noSpace")],label:e.$t("components.devVehicle.model")},null,8,["input-style","modelValue","rules","label"]),o(m,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",disable:"",class:"q-mt-md",modelValue:s.vehicle.model,"onUpdate:modelValue":t[2]||(t[2]=l=>s.vehicle.model=l),label:e.$t("components.devVehicle.hash")},null,8,["input-style","modelValue","label"]),o(m,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",class:"q-mt-md",modelValue:s.vehicle.name,"onUpdate:modelValue":t[3]||(t[3]=l=>s.vehicle.name=l),label:e.$t("components.devVehicle.name")},null,8,["input-style","modelValue","label"]),o(m,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",class:"q-mt-md",modelValue:s.vehicle.brand,"onUpdate:modelValue":t[4]||(t[4]=l=>s.vehicle.brand=l),label:e.$t("components.devVehicle.brand")},null,8,["input-style","modelValue","label"])]),_:1},512)]),_:1}),o(d,{class:"col-12 col-md-6"},{default:n(()=>[o(f,{ref:"vehShop"},{default:n(()=>[o(m,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:s.vehicle.category,"onUpdate:modelValue":t[5]||(t[5]=l=>s.vehicle.category=l),label:e.$t("components.devVehicle.category")},null,8,["input-style","modelValue","label"]),o(m,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",class:"q-mt-md",modelValue:s.vehicle.categoryLabel,"onUpdate:modelValue":t[6]||(t[6]=l=>s.vehicle.categoryLabel=l),label:e.$t("components.devVehicle.categoryLabel")},null,8,["input-style","modelValue","label"]),o(m,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",class:"q-mt-md",modelValue:s.vehicle.price,"onUpdate:modelValue":t[7]||(t[7]=l=>s.vehicle.price=l),modelModifiers:{number:!0},type:"number",label:e.$t("components.devVehicle.price")},null,8,["input-style","modelValue","label"]),o(S,{ref:"accept",label:e.$t("components.devVehicle.shop"),color:"primary","label-color":"primary",filled:"",multiple:"",modelValue:s.vehicle.shop,"onUpdate:modelValue":t[8]||(t[8]=l=>s.vehicle.shop=l),"popup-content-class":"bg-secondary text-main","use-input":"","use-chips":"","hide-dropdown-icon":"","input-debounce":"0","new-value-mode":"add-unique","input-class":"text-main",class:"q-mt-md"},null,8,["label","modelValue"])]),_:1},512)]),_:1})]),_:1})])]),i("div",M,[i("div",D,[o(V,{class:"bg-secondary full-width row"},{default:n(()=>[o(d,{class:"col-12"},{default:n(()=>[i("div",x,[i("div",null,[i("div",z,c(e.$t("components.devVehicle.customVariables")),1),i("div",T,c(e.$t("components.devVehicle.customVarSub")),1)]),i("div",E,[o(v,{"text-color":"main",color:"primary",label:e.$t("components.devVehicle.addCustomVar"),onClick:u.addCustomVar},null,8,["label","onClick"])])])]),_:1}),o(d,{class:"col-12"},{default:n(()=>[o(f,{ref:"customVarForm"},{default:n(()=>[o(k,{class:"bg-secondary text-main",flat:"",square:"",separator:"none"},{default:n(()=>[i("tbody",null,[(p(!0),h($,null,C(s.customVars,(l,y)=>(p(),h("tr",{key:`${y}-customVar`},[i("td",null,[o(m,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:l.name,"onUpdate:modelValue":a=>l.name=a,label:e.$t("components.devVehicle.customVarName"),"lazy-rules":"",rules:[a=>a&&a.length>0||e.$t("rules.required"),a=>a&&!/\s/.test(a)||e.$t("rules.noSpace"),a=>a&&s.customVars.filter(g=>g.name===a).length<=1||e.$t("rules.unique"),a=>a&&!s.defaults.includes(a.toLowerCase())||e.$t("rules.defaults")]},null,8,["input-style","modelValue","onUpdate:modelValue","label","rules"])]),i("td",null,[o(m,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",class:"q-field--with-bottom",modelValue:l.value,"onUpdate:modelValue":a=>l.value=a,label:e.$t("components.devVehicle.customVarValue")},null,8,["input-style","modelValue","onUpdate:modelValue","label"])]),i("td",O,[o(v,{"text-color":"main",class:"text-red-6",dense:"",flat:"",icon:"fas fa-trash",size:"xs",onClick:a=>u.removeVar(l)},{default:n(()=>[o(U,null,{default:n(()=>[w(c(e.$t("general.delete")),1)]),_:1})]),_:2},1032,["onClick"])])]))),128))])]),_:1})]),_:1},512)]),_:1})]),_:1})])]),i("div",j,[i("div",H,[o(v,{"text-color":"main",loading:s.pendingSave,color:"primary",onClick:u.trySave,label:e.$t("general.create"),class:"q-mr-sm"},null,8,["loading","onClick","label"])])])])}const le=q(N,[["render",I]]);export{le as default}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/VehicleList.27315f59.js b/resources/[tools]/unlimited-spectre/html/assets/VehicleList.27315f59.js deleted file mode 100644 index 77c472dba..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/VehicleList.27315f59.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as v,P as w,R as y,bh as $,o as g,X as L,a,w as n,a6 as k,c as f,bi as C,r as R,a7 as h,U as c,ab as S,V as _,aE as P,a9 as q,S as E,W as d}from"./app-014d9ed9.js";import{Q as V,a as N,b as r}from"./QTable.d759a99d.js";import{b}from"./QSelect.d7ce3d4c.js";import{d as Q}from"./utils.9ce591f3.js";import"./externalHosting.js";import"./QList.9d5bb77f.js";import"./QMarkupTable.ba6854cc.js";import"./QItemLabel.b6dd3adb.js";import"./position-engine.65ebcb34.js";import"./selection.2a17b691.js";import"./rtl.b51694b1.js";const B={name:"VehicleList",data(){return{ACTION:w,RESOURCE:y,columns:[{name:"citizenid",align:"left",label:this.$i18n.t("components.vehicleList.headers.owner"),field:e=>e.citizenid,format:e=>`${e}`,sortable:!0},{name:"plate",align:"left",label:this.$i18n.t("components.vehicleList.headers.plate"),field:e=>e.plate,format:e=>`${e}`,sortable:!0},{name:"vehicle",align:"left",label:this.$i18n.t("components.vehicleList.headers.vehicle"),field:e=>e.vehicle,format:e=>`${e}`},{name:"spawned",align:"center",label:this.$i18n.t("components.vehicleList.headers.spawned"),field:e=>e.spawned,format:e=>`${e}`},{name:"state",align:"center",label:this.$i18n.t("components.vehicleList.headers.state"),field:e=>e.state,format:e=>`${e}`},{name:"engine",align:"center",label:this.$i18n.t("components.vehicleList.headers.engine"),field:e=>e.engine,format:e=>`${e}`},{name:"body",align:"center",label:this.$i18n.t("components.vehicleList.headers.body"),field:e=>e.body,format:e=>`${e}`},{name:"fuel",align:"center",label:this.$i18n.t("components.vehicleList.headers.fuel"),field:e=>e.fuel,format:e=>`${e}`}],vehicles:[],pagination:{sortBy:"plate",descending:!1,page:1,rowsPerPage:25},loading:!0}},methods:{can:Q,getRowsNumberCount(e){return this.$axios.post("/api/vehicles/vehicle-count",{filter:e}).then(i=>i.data.count)},fetchFromServer(e,i,l,p,o){return this.$axios.post("/api/vehicles",{startRow:e,count:i,filter:l,sortBy:p,descending:o}).then(s=>s.data.vehicles).catch(s=>{this.loading=!1,this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("general.timeout")})})},async onRequest(e){const{page:i,rowsPerPage:l,sortBy:p,descending:o}=e.pagination,s=e.filter;this.loading=!0,this.pagination.rowsNumber=await this.getRowsNumberCount(s);const m=l===0?this.pagination.rowsNumber:l,t=(i-1)*l,u=await this.fetchFromServer(t,m,s,p,o);this.vehicles.splice(0,this.vehicles.length,...u),this.pagination.page=i,this.pagination.rowsPerPage=l,this.pagination.sortBy=p,this.pagination.descending=o,this.paginationSave=this.pagination,this.loading=!1},onRowClick(e){this.$router.push({name:"game-vehicle-detail",params:{vehicleId:e.id}})},getPaginationLabel(e,i,l){return this.$i18n.t("components.vehicleList.paginationLabel",{from:e,to:i,total:l})},updatePagination(e){this.loading||(this.paginationSave=e,this.pagination=e)}},computed:{...$(C,["searchFilter","paginationSave"])},mounted(){this.$route.name==="game-vehicle-list"&&(this.pagination={...this.paginationSave},this.$refs.tableRef.requestServerInteraction())}},x={key:0,class:"row q-pa-sm"},I={class:"row"},T={class:"col-12"},z={class:"q-mx-md q-my-sm row flex-center"},F={class:"text-caption text-sub"},U={class:"q-ml-auto"};function A(e,i,l,p,o,s){const m=R("router-view");return e.$route.name==="game-vehicle-list"?(g(),L("div",x,[a(k,{class:"bg-secondary full-width"},{default:n(()=>[h("div",I,[h("div",T,[h("div",z,[h("div",F,c(e.$t("components.vehicleList.subheader")),1),h("div",U,[s.can(o.ACTION.GAME.VEHICLE.CREATE,o.RESOURCE.GAME)?(g(),f(S,{key:0,"text-color":"main",color:"primary",onClick:i[0]||(i[0]=t=>e.$router.push({name:"game-vehicle-create"})),label:e.$t("components.vehicleList.createVehicle"),class:"q-ma-sm"},null,8,["label"])):_("",!0)])]),a(P),a(V,{ref:"tableRef",color:"primary","card-class":"bg-secondary text-main","table-class":"text-main","table-header-class":"text-primary",flat:"",rows:o.vehicles,columns:o.columns,"row-key":"name",pagination:o.pagination,"onUpdate:pagination":[i[2]||(i[2]=t=>o.pagination=t),s.updatePagination],"rows-per-page-options":[0,25,50,100],"no-results-label":e.$t("components.vehicleList.noData"),"loading-label":e.$t("components.vehicleList.loadData"),loading:o.loading,filter:e.searchFilter,"binary-state-sort":"","pagination-label":s.getPaginationLabel,"rows-per-page-label":`${e.$t("components.vehicleList.recordsPerPage")}:`,onRequest:s.onRequest},{"top-right":n(()=>[a(q,{"input-style":{color:"var(--q-main)"},borderless:"",dense:"",debounce:"300",modelValue:e.searchFilter,"onUpdate:modelValue":i[1]||(i[1]=t=>e.searchFilter=t),placeholder:e.$t("general.search")},{append:n(()=>[a(E,{class:"text-main",name:"search"})]),_:1},8,["input-style","modelValue","placeholder"])]),body:n(t=>[a(N,{props:t,onClick:u=>s.onRowClick(t.row),class:"cursor-pointer"},{default:n(()=>[a(r,{key:"citizenid",props:t},{default:n(()=>[d(c(t.row.citizenid),1)]),_:2},1032,["props"]),a(r,{key:"plate",props:t},{default:n(()=>[d(c(t.row.plate),1)]),_:2},1032,["props"]),a(r,{key:"vehicle",props:t},{default:n(()=>[d(c(t.row.vehicle),1)]),_:2},1032,["props"]),a(r,{key:"spawned",props:t,style:{width:"50px"}},{default:n(()=>[a(b,{size:"sm",color:t.row.spawned?"positive":"negative","text-color":"main",label:t.row.spawned?e.$t("general.yes"):e.$t("general.no")},null,8,["color","label"])]),_:2},1032,["props"]),a(r,{key:"state",props:t,style:{width:"50px"}},{default:n(()=>[a(b,{size:"sm",color:"primary","text-color":"main",label:t.row.state===0?e.$t("components.vehicleList.outside"):t.row.state===1?e.$t("components.vehicleList.garage"):e.$t("components.vehicleList.inpound")},null,8,["label"])]),_:2},1032,["props"]),a(r,{key:"engine",props:t,style:{width:"30px"}},{default:n(()=>[d(c(t.row.engine),1)]),_:2},1032,["props"]),a(r,{key:"body",props:t,style:{width:"30px"}},{default:n(()=>[d(c(t.row.body),1)]),_:2},1032,["props"]),a(r,{key:"fuel",props:t,style:{width:"30px"}},{default:n(()=>[d(c(t.row.fuel),1)]),_:2},1032,["props"])]),_:2},1032,["props","onClick"])]),_:1},8,["rows","columns","pagination","no-results-label","loading-label","loading","filter","pagination-label","rows-per-page-label","onRequest","onUpdate:pagination"])])])]),_:1})])):(g(),f(m,{key:1}))}const Z=v(B,[["render",A]]);export{Z as default}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/VehicleList.808e053f.js b/resources/[tools]/unlimited-spectre/html/assets/VehicleList.808e053f.js deleted file mode 100644 index b552a3499..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/VehicleList.808e053f.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as u,P as f,R as b,bh as v,o as m,X as y,a as t,w as o,a6 as w,c as p,bi as V,r as $,a7 as c,U as s,ab as k,V as L,aE as _,a9 as C,S as E,W as n}from"./app-014d9ed9.js";import{Q as S,a as P,b as r}from"./QTable.d759a99d.js";import{d as Q}from"./utils.9ce591f3.js";import"./externalHosting.js";import"./QList.9d5bb77f.js";import"./QMarkupTable.ba6854cc.js";import"./QSelect.d7ce3d4c.js";import"./QItemLabel.b6dd3adb.js";import"./position-engine.65ebcb34.js";import"./selection.2a17b691.js";import"./rtl.b51694b1.js";const R={name:"VehicleList",data(){return{ACTION:f,RESOURCE:b,vehicles:[],columns:[{name:"name",align:"left",label:this.$i18n.t("components.devVehicleList.headers.name"),field:e=>e.name,format:e=>`${e}`,sortable:!0},{name:"brand",align:"left",label:this.$i18n.t("components.devVehicleList.headers.brand"),field:e=>e.brand,format:e=>`${e}`,sortable:!0},{name:"model",align:"left",label:this.$i18n.t("components.devVehicleList.headers.model"),field:e=>e.model,format:e=>`${e}`,sortable:!0},{name:"hash",align:"left",label:this.$i18n.t("components.devVehicleList.headers.hash"),field:e=>e.hash,format:e=>`${e}`,sortable:!0},{name:"price",align:"center",label:this.$i18n.t("components.devVehicleList.headers.price"),field:e=>e.price,format:e=>`${e}`,sortable:!0},{name:"category",align:"left",label:this.$i18n.t("components.devVehicleList.headers.category"),field:e=>e.category,format:e=>`${e}`,sortable:!0}],pagination:{sortBy:"desc",descending:!1,page:1,rowsPerPage:25},loading:!0}},computed:{...v(V,["searchFilter","paginationSave"])},methods:{can:Q,onRowClick(e){this.$router.push({name:"dev-vehicle-detail",params:{vehicleId:e.key}})},getPaginationLabel(e,i,d){return this.$i18n.t("components.devVehicleList.paginationLabel",{from:e,to:i,total:d})},updatePagination(e){this.loading||(this.paginationSave=e,this.pagination=e)}},mounted(){this.$route.name==="dev-vehicle-list"&&this.$axios.get("/api/dev-vehicles").then(e=>{for(const[i,d]of Object.entries(e.data.vehicles))this.vehicles.push({key:i,...d});this.loading=!1,this.pagination={...this.paginationSave}}).catch(e=>{this.loading=!1,this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("general.timeout")})})}},T={key:0,class:"row q-pa-sm"},q={class:"row"},B={class:"col-12"},I={class:"q-mx-md q-my-sm row flex-center"},N={class:"text-caption text-grey"},U={class:"q-ml-auto"};function D(e,i,d,O,l,h){const g=$("router-view");return e.$route.name==="dev-vehicle-list"?(m(),y("div",T,[t(w,{class:"bg-secondary full-width"},{default:o(()=>[c("div",q,[c("div",B,[c("div",I,[c("div",N,s(e.$t("components.devVehicleList.subheader")),1),c("div",U,[h.can(l.ACTION.DEV.VEHICLE.CREATE,l.RESOURCE.DEV)?(m(),p(k,{key:0,color:"primary",onClick:i[0]||(i[0]=a=>e.$router.push({name:"dev-vehicle-create"})),label:e.$t("components.devVehicleList.createVehicle"),class:"q-ma-sm"},null,8,["label"])):L("",!0)])]),t(_),t(S,{color:"primary","card-class":"bg-secondary text-white","table-class":"text-white","table-header-class":"text-primary",flat:"",rows:l.vehicles,columns:l.columns,"row-key":"name",pagination:l.pagination,"rows-per-page-options":[0,25,50,100],"no-results-label":e.$t("components.devVehicleList.noData"),"loading-label":e.$t("components.devVehicleList.loadData"),loading:l.loading,filter:e.searchFilter,"pagination-label":h.getPaginationLabel,"rows-per-page-label":`${e.$t("components.devVehicleList.recordsPerPage")}:`,"onUpdate:pagination":h.updatePagination},{"top-right":o(()=>[t(C,{"input-style":{color:"white"},borderless:"",dense:"",debounce:"300",modelValue:e.searchFilter,"onUpdate:modelValue":i[1]||(i[1]=a=>e.searchFilter=a),placeholder:e.$t("general.search")},{append:o(()=>[t(E,{class:"text-white",name:"search"})]),_:1},8,["modelValue","placeholder"])]),body:o(a=>[t(P,{props:a,onClick:x=>h.onRowClick(a.row),class:"cursor-pointer"},{default:o(()=>[t(r,{key:"name",props:a},{default:o(()=>[n(s(a.row.name),1)]),_:2},1032,["props"]),t(r,{key:"brand",props:a},{default:o(()=>[n(s(a.row.brand),1)]),_:2},1032,["props"]),t(r,{key:"model",props:a},{default:o(()=>[n(s(a.row.model),1)]),_:2},1032,["props"]),t(r,{key:"hash",props:a},{default:o(()=>[n(s(a.row.hash),1)]),_:2},1032,["props"]),t(r,{key:"price",props:a},{default:o(()=>[n(s(a.row.price),1)]),_:2},1032,["props"]),t(r,{key:"category",props:a},{default:o(()=>[n(s(a.row.category),1)]),_:2},1032,["props"])]),_:2},1032,["props","onClick"])]),_:1},8,["rows","columns","pagination","no-results-label","loading-label","loading","filter","pagination-label","rows-per-page-label","onUpdate:pagination"])])])]),_:1})])):(m(),p(g,{key:1}))}const Y=u(R,[["render",D]]);export{Y as default}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/Waypoint.2ac9fd2f.js b/resources/[tools]/unlimited-spectre/html/assets/Waypoint.2ac9fd2f.js deleted file mode 100644 index 60805fc2e..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/Waypoint.2ac9fd2f.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as f,R as w,P as b,o as d,X as $,a7 as l,a,w as n,a6 as v,ab as m,c as y,V as g,a5 as i,W as C,U as h,a9 as p}from"./app-014d9ed9.js";import{Q as q}from"./QForm.8d79ab03.js";import{d as k}from"./utils.9ce591f3.js";import{B as V}from"./BasicDialog.9dd9de92.js";import"./externalHosting.js";const E={name:"Waypoint",data(){return{RESOURCE:w,ACTION:b,pendingSave:!1,pendingDelete:!1,waypoint:{name:"",label:"",coords:{x:0,y:0,z:0}}}},methods:{can:k,trySave(){this.$refs.waypointForm.validate().then(e=>{if(!e){this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.waypoint.msg.error.missingFields",{name:this.waypoint.name})});return}this.pendingSave=!0,this.$axios.patch(`/api/waypoints/save/${this.waypoint.name}`,this.waypoint).then(o=>{if(this.pendingSave=!1,!o.data.resCode){const u=o.data.resMsg;this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.waypoint.msg.error.${u}`,{name:this.waypoint.name})});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.saved")}),this.$router.push({name:"game-waypoint-list"})}).catch(o=>{console.error(o)})})},tryDelete(){this.pendingDelete=!0,this.$q.dialog({component:V,componentProps:{title:this.$i18n.t("components.waypoint.deleteHeader"),message:this.$i18n.t("components.waypoint.deleteMsg",{name:this.waypoint.name})},cancel:!0,persistent:!0}).onOk(()=>{this.$axios.delete(`/api/waypoints/delete/${this.waypoint.name}`).then(e=>{if(this.pendingDelete=!1,!e.data.resCode){const c=e.data.resMsg;this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.waypoint.msg.error.${c}`,{name:this.waypoint.name})});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.deleted")}),this.$router.push({name:"game-waypoint-list"})}).catch(e=>{})}).onCancel(()=>{this.pendingDelete=!1})}},mounted(){this.$axios.get(`/api/waypoints/${this.$route.params.waypointId}`).then(e=>{const o=e.data.waypoint;if(!o){this.$q.notify({message:e.data.msg,position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:"Error"});return}this.waypoint=o})}},D={class:"row"},S={class:"col-12"},_={class:"q-ma-sm row"},x={class:"text-h6"},M={class:"text-primary"},O={class:"col-12 row"},A={class:"col-12"},N={class:"q-ma-sm row justify-end"};function z(e,o,c,u,t,r){return d(),$("div",D,[l("div",S,[l("div",_,[a(v,{class:"bg-secondary full-width"},{default:n(()=>[a(q,{ref:"waypointForm",class:"row"},{default:n(()=>[a(i,{class:"col-12"},{default:n(()=>[l("div",x,[C(h(e.$t("components.waypoint.edit"))+": ",1),l("span",M,h(t.waypoint.name),1)])]),_:1}),a(i,{class:"col-12 col-md-6"},{default:n(()=>[a(p,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:t.waypoint.label,"onUpdate:modelValue":o[0]||(o[0]=s=>t.waypoint.label=s),label:e.$t("components.waypoint.labels.label"),"lazy-rules":"",rules:[s=>s&&!0||e.$t("rules.required")]},null,8,["input-style","modelValue","label","rules"])]),_:1}),l("div",O,[a(i,{class:"col-12 col-md-4"},{default:n(()=>[a(p,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",type:"number",modelValue:t.waypoint.coords.x,"onUpdate:modelValue":o[1]||(o[1]=s=>t.waypoint.coords.x=s),label:"x","lazy-rules":"",mask:"#.#",rules:[s=>s!==null&&s!==""||e.$t("rules.required")]},null,8,["input-style","modelValue","rules"])]),_:1}),a(i,{class:"col-12 col-md-4"},{default:n(()=>[a(p,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",type:"number",modelValue:t.waypoint.coords.y,"onUpdate:modelValue":o[2]||(o[2]=s=>t.waypoint.coords.y=s),label:"y","lazy-rules":"",mask:"#.#",rules:[s=>s!==null&&s!==""||e.$t("rules.required")]},null,8,["input-style","modelValue","rules"])]),_:1}),a(i,{class:"col-12 col-md-4"},{default:n(()=>[a(p,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",type:"number",modelValue:t.waypoint.coords.z,"onUpdate:modelValue":o[3]||(o[3]=s=>t.waypoint.coords.z=s),label:"z","lazy-rules":"",mask:"#.#",rules:[s=>s!==null&&s!==""||e.$t("rules.required")]},null,8,["input-style","modelValue","rules"])]),_:1})])]),_:1},512)]),_:1})])]),l("div",A,[l("div",N,[a(m,{"text-color":"main",disable:t.pendingDelete||t.pendingSave,color:"primary",onClick:o[4]||(o[4]=s=>e.$router.push({name:"game-waypoint-list"})),label:e.$t("general.back"),class:"q-mr-auto"},null,8,["disable","label"]),r.can(t.ACTION.GAME.WAYPOINT.MODIFY,t.RESOURCE.GAME)?(d(),y(m,{key:0,"text-color":"main",loading:t.pendingSave,disable:t.pendingDelete,color:"primary",onClick:r.trySave,label:e.$t("general.save"),class:"q-mr-sm"},null,8,["loading","disable","onClick","label"])):g("",!0),r.can(t.ACTION.GAME.WAYPOINT.DELETE,t.RESOURCE.GAME)?(d(),y(m,{key:1,"text-color":"main",loading:t.pendingDelete,disable:t.pendingSave,color:"negative",onClick:r.tryDelete,label:e.$t("general.delete")},null,8,["loading","disable","onClick","label"])):g("",!0)])])])}const Q=f(E,[["render",z]]);export{Q as default}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/WaypointCreate.3336c8d8.js b/resources/[tools]/unlimited-spectre/html/assets/WaypointCreate.3336c8d8.js deleted file mode 100644 index 774a83d52..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/WaypointCreate.3336c8d8.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as p,o as c,X as y,a7 as i,a as s,w as t,a6 as f,ab as w,a5 as r,a9 as n}from"./app-014d9ed9.js";import{Q as b}from"./QForm.8d79ab03.js";import"./externalHosting.js";const h={name:"WaypointCreate",data(){return{pendingSave:!1,waypoint:{name:"",label:"",coords:{x:0,y:0,z:0}}}},methods:{trySave(){this.$refs.waypointForm.validate().then(o=>{if(!o){this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.waypoint.msg.error.missingFields",{name:this.waypoint.name})});return}this.pendingSave=!0,this.$axios.post("/api/waypoints/create",this.waypoint).then(l=>{if(this.pendingSave=!1,!l.data.resCode){const u=l.data.resMsg;this.$q.notify({message:this.$i18n.t("general.error"),position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.waypoint.msg.error.${u}`,{name:this.waypoint.name})});return}this.$q.notify({message:this.$i18n.t("general.success"),position:"top",color:"green",icon:"fas fa-check",caption:this.$i18n.t("general.saved")}),this.$router.push({name:"game-waypoint-list"})}).catch(l=>{console.error(l)})})}},mounted(){if(this.$route.query.coords){const o=Object.fromEntries(new URLSearchParams(this.$route.query.coords));this.waypoint.coords=o}}},g={class:"row"},q={class:"col-12"},V={class:"q-ma-sm row"},$={class:"col-12"},v={class:"q-ma-sm row justify-end"};function C(o,l,d,u,a,m){return c(),y("div",g,[i("div",q,[i("div",V,[s(f,{class:"bg-secondary full-width"},{default:t(()=>[s(b,{ref:"waypointForm",class:"row"},{default:t(()=>[s(r,{class:"col-12 col-md-6"},{default:t(()=>[s(n,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:a.waypoint.name,"onUpdate:modelValue":l[0]||(l[0]=e=>a.waypoint.name=e),label:o.$t("components.waypoint.labels.name"),"lazy-rules":"",rules:[e=>e&&e.length>0||o.$t("rules.required"),e=>e&&!/\s/.test(e)||o.$t("rules.noSpace")]},null,8,["input-style","modelValue","label","rules"])]),_:1}),s(r,{class:"col-12 col-md-6"},{default:t(()=>[s(n,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:a.waypoint.label,"onUpdate:modelValue":l[1]||(l[1]=e=>a.waypoint.label=e),label:o.$t("components.waypoint.labels.label"),"lazy-rules":"",rules:[e=>e&&!0||o.$t("rules.required")]},null,8,["input-style","modelValue","label","rules"])]),_:1}),s(r,{class:"col-12 col-md-4"},{default:t(()=>[s(n,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",type:"number",modelValue:a.waypoint.coords.x,"onUpdate:modelValue":l[2]||(l[2]=e=>a.waypoint.coords.x=e),label:"x","lazy-rules":"",mask:"#.#",rules:[e=>e!==null&&e!==""||o.$t("rules.required")]},null,8,["input-style","modelValue","rules"])]),_:1}),s(r,{class:"col-12 col-md-4"},{default:t(()=>[s(n,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",type:"number",modelValue:a.waypoint.coords.y,"onUpdate:modelValue":l[3]||(l[3]=e=>a.waypoint.coords.y=e),label:"y","lazy-rules":"",mask:"#.#",rules:[e=>e!==null&&e!==""||o.$t("rules.required")]},null,8,["input-style","modelValue","rules"])]),_:1}),s(r,{class:"col-12 col-md-4"},{default:t(()=>[s(n,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",type:"number",modelValue:a.waypoint.coords.z,"onUpdate:modelValue":l[4]||(l[4]=e=>a.waypoint.coords.z=e),label:"z","lazy-rules":"",mask:"#.#",rules:[e=>e!==null&&e!==""||o.$t("rules.required")]},null,8,["input-style","modelValue","rules"])]),_:1})]),_:1},512)]),_:1})])]),i("div",$,[i("div",v,[s(w,{"text-color":"main",loading:a.pendingSave,color:"primary",onClick:m.trySave,label:o.$t("general.create"),class:"q-mr-sm"},null,8,["loading","onClick","label"])])])])}const _=p(h,[["render",C]]);export{_ as default}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/WaypointList.3a8867bc.js b/resources/[tools]/unlimited-spectre/html/assets/WaypointList.3a8867bc.js deleted file mode 100644 index 20b14b821..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/WaypointList.3a8867bc.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as w,P as y,R as b,bh as h,o as p,X as f,a as t,w as o,a6 as _,c as g,bi as k,r as $,a7 as i,U as l,ab as v,V as C,aE as L,a9 as E,S as P,W as m}from"./app-014d9ed9.js";import{Q as S,a as Q,b as d}from"./QTable.d759a99d.js";import{d as R}from"./utils.9ce591f3.js";import"./externalHosting.js";import"./QList.9d5bb77f.js";import"./QMarkupTable.ba6854cc.js";import"./QSelect.d7ce3d4c.js";import"./QItemLabel.b6dd3adb.js";import"./position-engine.65ebcb34.js";import"./selection.2a17b691.js";import"./rtl.b51694b1.js";const T={name:"WaypointMap",data(){return{ACTION:y,RESOURCE:b,columns:[{name:"name",align:"left",label:this.$i18n.t("components.waypointList.headers.name"),field:a=>a.name,format:a=>`${a}`,sortable:!0},{name:"label",align:"left",label:this.$i18n.t("components.waypointList.headers.label"),field:a=>a.label,format:a=>`${a}`,sortable:!0},{name:"coords",align:"left",label:this.$i18n.t("components.waypointList.headers.coords"),field:a=>a.coords,format:a=>`${a}`}],waypoints:[],pagination:{sortBy:"desc",descending:!1,page:1,rowsPerPage:25},loading:!0}},methods:{can:R,onRowClick(a){this.$router.push({name:"game-waypoint-detail",params:{waypointId:a.name}})},getPaginationLabel(a,n,c){return this.$i18n.t("components.waypointList.paginationLabel",{from:a,to:n,total:c})},updatePagination(a){this.loading||(this.paginationSave=a,this.pagination=a)}},computed:{...h(k,["searchFilter","paginationSave"])},mounted(){this.$route.name==="game-waypoint-list"&&this.$axios.get("/api/waypoints").then(a=>{this.waypoints=a.data.waypoints,this.loading=!1,this.pagination={...this.paginationSave}})}},V={key:0,class:"row q-pa-sm"},N={class:"row"},q={class:"col-12"},A={class:"q-mx-md q-my-sm row flex-center"},B={class:"text-caption text-sub"},I={class:"q-ml-auto"};function U(a,n,c,W,s,r){const u=$("router-view");return a.$route.name==="game-waypoint-list"?(p(),f("div",V,[t(_,{class:"bg-secondary full-width"},{default:o(()=>[i("div",N,[i("div",q,[i("div",A,[i("div",B,l(a.$t("components.waypointList.subheader")),1),i("div",I,[r.can(s.ACTION.GAME.WAYPOINT.CREATE,s.RESOURCE.GAME)?(p(),g(v,{key:0,"text-color":"main",color:"primary",onClick:n[0]||(n[0]=e=>a.$router.push({name:"game-waypoint-create"})),label:a.$t("components.waypointList.createWaypoint"),class:"q-ma-sm"},null,8,["label"])):C("",!0)])]),t(L),t(S,{color:"primary","card-class":"bg-secondary text-main","table-class":"text-main","table-header-class":"text-primary",flat:"",rows:s.waypoints,columns:s.columns,"row-key":"name",pagination:s.pagination,"rows-per-page-options":[0,25,50,100],"no-results-label":a.$t("components.waypointList.noData"),"loading-label":a.$t("components.waypointList.loadData"),loading:s.loading,filter:a.searchFilter,"pagination-label":r.getPaginationLabel,"rows-per-page-label":`${a.$t("components.waypointList.recordsPerPage")}:`,"onUpdate:pagination":r.updatePagination},{"top-right":o(()=>[t(E,{"input-style":{color:"var(--q-main)"},borderless:"",dense:"",debounce:"300",modelValue:a.searchFilter,"onUpdate:modelValue":n[1]||(n[1]=e=>a.searchFilter=e),placeholder:a.$t("general.search")},{append:o(()=>[t(P,{class:"text-main",name:"search"})]),_:1},8,["input-style","modelValue","placeholder"])]),body:o(e=>[t(Q,{props:e,onClick:O=>r.onRowClick(e.row),class:"cursor-pointer"},{default:o(()=>[t(d,{key:"name",props:e},{default:o(()=>[m(l(e.row.name),1)]),_:2},1032,["props"]),t(d,{key:"label",props:e},{default:o(()=>[m(l(e.row.label),1)]),_:2},1032,["props"]),t(d,{key:"coords",props:e},{default:o(()=>[m(l(e.row.coords),1)]),_:2},1032,["props"])]),_:2},1032,["props","onClick"])]),_:1},8,["rows","columns","pagination","no-results-label","loading-label","loading","filter","pagination-label","rows-per-page-label","onUpdate:pagination"])])])]),_:1})])):(p(),g(u,{key:1}))}const K=w(T,[["render",U]]);export{K as default}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/WaypointsModal.ac8f44d9.js b/resources/[tools]/unlimited-spectre/html/assets/WaypointsModal.ac8f44d9.js deleted file mode 100644 index f22e3ce6d..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/WaypointsModal.ac8f44d9.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as u,o as y,c as h,w as i,a as e,a5 as d,a7 as r,S as f,a8 as g,a9 as p,ab as n,U as c,aV as C,aa as b,a6 as x,ac as w,aP as q,aQ as v,W as V}from"./app-014d9ed9.js";import{a as _,Q as H,c as Q}from"./QItemLabel.b6dd3adb.js";import{Q as $}from"./QSelect.d7ce3d4c.js";const M={data(){return{input:"",time:0,hwid:!1}},props:{title:String,message:String},emits:["ok","hide"],methods:{show(){this.$refs.dialog.show()},hide(){this.$refs.dialog.hide()},onDialogHide(){this.$emit("hide")},onOKClick(){this.$emit("ok",{input:this.input,time:this.time,hwid:this.hwid}),this.hide()},onCancelClick(){this.hide()}}},S=["innerHTML"],T=["innerHTML"],D={class:"row justify-center"},L={class:"text-caption text-sub q-mt-sm"};function I(a,l,m,k,t,s){return y(),h(w,{ref:"dialog",onHide:s.onDialogHide},{default:i(()=>[e(x,{class:"q-dialog-plugin bg-secondary text-main"},{default:i(()=>[e(d,{class:"row"},{default:i(()=>[r("div",{class:"text-body2",innerHTML:m.title},null,8,S),e(f,{class:"q-ml-auto cursor-pointer",name:"close",onClick:g(s.hide,["stop"])},null,8,["onClick"])]),_:1}),e(d,null,{default:i(()=>[r("div",{class:"text-subtitle1 q-mb-md",innerHTML:m.message},null,8,T),e(p,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",modelValue:t.input,"onUpdate:modelValue":l[0]||(l[0]=o=>t.input=o),label:a.$t("general.reason")},null,8,["input-style","modelValue","label"]),r("div",D,[e(n,{"text-color":"main",color:"primary",label:"1h",class:"q-mt-md q-mx-xs text-lowercase",onClick:l[1]||(l[1]=o=>t.time=3600)}),e(n,{"text-color":"main",color:"primary",label:"1d",class:"q-mt-md q-mx-xs text-lowercase",onClick:l[2]||(l[2]=o=>t.time=3600*24)}),e(n,{"text-color":"main",color:"primary",label:"3d",class:"q-mt-md q-mx-xs text-lowercase",onClick:l[3]||(l[3]=o=>t.time=3600*24*3)}),e(n,{"text-color":"main",color:"primary",label:"7d",class:"q-mt-md q-mx-xs text-lowercase",onClick:l[4]||(l[4]=o=>t.time=3600*24*7)}),e(n,{"text-color":"main",color:"primary",label:"14d",class:"q-mt-md q-mx-xs text-lowercase",onClick:l[5]||(l[5]=o=>t.time=3600*24*14)}),e(n,{"text-color":"main",color:"primary",label:"perm",class:"q-mt-md q-mx-xs text-lowercase",onClick:l[6]||(l[6]=o=>t.time=2147483647)})]),e(p,{"label-color":"primary","input-style":{color:"var(--q-main)"},filled:"",class:"q-mt-md",type:"number",modelValue:t.time,"onUpdate:modelValue":l[7]||(l[7]=o=>t.time=o),label:a.$t("general.time")},null,8,["input-style","modelValue","label"]),r("div",L,c(a.$t("general.bantime")),1),e(C,{class:"q-mt-md text-primary",color:"primary",modelValue:t.hwid,"onUpdate:modelValue":l[8]||(l[8]=o=>t.hwid=o),label:"HWID","left-label":""},null,8,["modelValue"])]),_:1}),e(b,{align:"center"},{default:i(()=>[e(n,{"text-color":"main",color:"primary",label:a.$t("general.ok"),onClick:s.onOKClick},null,8,["label","onClick"])]),_:1})]),_:1})]),_:1},8,["onHide"])}const z=u(M,[["render",I]]),P={name:"WaypointsModal",data(){return{waypoint:{name:null,label:"",coords:{x:0,y:0,z:0}},waypoints:null}},props:{title:String},emits:["ok","hide"],methods:{show(){this.$refs.dialog.show()},hide(){this.$refs.dialog.hide()},onDialogHide(){this.$emit("hide")},onOKClick(){this.$emit("ok",{coords:this.waypoint.coords}),this.hide()},onCancelClick(){this.hide()}},async mounted(){await this.$axios.get("/api/waypoints").then(a=>{const l=a.data.waypoints;if(l.length===0){this.$q.notify({message:"Error",position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.waypoint.msg.error.no_waypoints")});return}this.waypoints=l}).catch(()=>{this.$q.notify({message:"Error",position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.waypoint.msg.error.failedFetchWaypoints")}),this.hide()})}},W=["innerHTML"],B={class:"text-main"};function U(a,l,m,k,t,s){return y(),h(w,{ref:"dialog",onHide:s.onDialogHide},{default:i(()=>[e(x,{class:"q-dialog-plugin bg-secondary text-main"},{default:i(()=>[e(d,{class:"row"},{default:i(()=>[r("div",{class:"text-body2",innerHTML:m.title},null,8,W),e(f,{class:"q-ml-auto cursor-pointer",name:"close",onClick:g(s.hide,["stop"])},null,8,["onClick"])]),_:1}),e(d,null,{default:i(()=>[e($,{label:a.$t("components.waypoint.labels.label"),color:"primary","label-color":"primary",modelValue:t.waypoint,"onUpdate:modelValue":l[0]||(l[0]=o=>t.waypoint=o),options:t.waypoints,"popup-content-style":{backgroundColor:"var(--q-secondary)"}},{selected:i(()=>[r("div",B,c(t.waypoint.label),1)]),option:i(o=>[e(_,q(v(o.itemProps)),{default:i(()=>[e(H,null,{default:i(()=>[e(Q,{class:"text-main"},{default:i(()=>[V(c(o.opt.label),1)]),_:2},1024)]),_:2},1024)]),_:2},1040)]),_:1},8,["label","modelValue","options","popup-content-style"])]),_:1}),e(b,{align:"center"},{default:i(()=>[e(n,{"text-color":"main",color:"primary",label:a.$t("general.ok"),onClick:s.onOKClick,disable:!t.waypoint.name},null,8,["label","onClick","disable"])]),_:1})]),_:1})]),_:1},8,["onHide"])}const E=u(P,[["render",U]]);export{z as P,E as W}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/_commonjsHelpers.c10bf6cb.js b/resources/[tools]/unlimited-spectre/html/assets/_commonjsHelpers.c10bf6cb.js deleted file mode 100644 index 47c4ba6a9..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/_commonjsHelpers.c10bf6cb.js +++ /dev/null @@ -1 +0,0 @@ -var f=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function u(t){var o=t.default;if(typeof o=="function"){var e=function(){return o.apply(this,arguments)};e.prototype=o.prototype}else e={};return Object.defineProperty(e,"__esModule",{value:!0}),Object.keys(t).forEach(function(n){var r=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,r.get?r:{enumerable:!0,get:function(){return t[n]}})}),e}export{f as c,u as g}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/app-014d9ed9.js b/resources/[tools]/unlimited-spectre/html/assets/app-014d9ed9.js deleted file mode 100644 index 049793ad8..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/app-014d9ed9.js +++ /dev/null @@ -1,32 +0,0 @@ -var Zp=Object.defineProperty;var Xp=(e,t,n)=>t in e?Zp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var qn=(e,t,n)=>(Xp(e,typeof t!="symbol"?t+"":t,n),n);import{e as ln}from"./externalHosting.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))a(r);new MutationObserver(r=>{for(const i of r)if(i.type==="childList")for(const s of i.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&a(s)}).observe(document,{childList:!0,subtree:!0});function n(r){const i={};return r.integrity&&(i.integrity=r.integrity),r.referrerpolicy&&(i.referrerPolicy=r.referrerpolicy),r.crossorigin==="use-credentials"?i.credentials="include":r.crossorigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function a(r){if(r.ep)return;r.ep=!0;const i=n(r);fetch(r.href,i)}})();function oo(e,t){const n=Object.create(null),a=e.split(",");for(let r=0;r!!n[r.toLowerCase()]:r=>!!n[r]}const eh="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",th=oo(eh);function ed(e){return!!e||e===""}function li(e){if(oe(e)){const t={};for(let n=0;n{if(n){const a=n.split(ah);a.length>1&&(t[a[0].trim()]=a[1].trim())}}),t}function ui(e){let t="";if(Re(e))t=e;else if(oe(e))for(let n=0;nRe(e)?e:e==null?"":oe(e)||Ne(e)&&(e.toString===rd||!me(e.toString))?JSON.stringify(e,td,2):String(e),td=(e,t)=>t&&t.__v_isRef?td(e,t.value):aa(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[a,r])=>(n[`${a} =>`]=r,n),{})}:nd(t)?{[`Set(${t.size})`]:[...t.values()]}:Ne(t)&&!oe(t)&&!id(t)?String(t):t,Te={},na=[],xt=()=>{},ih=()=>!1,sh=/^on[^a-z]/,ci=e=>sh.test(e),lo=e=>e.startsWith("onUpdate:"),We=Object.assign,uo=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},oh=Object.prototype.hasOwnProperty,ve=(e,t)=>oh.call(e,t),oe=Array.isArray,aa=e=>di(e)==="[object Map]",nd=e=>di(e)==="[object Set]",me=e=>typeof e=="function",Re=e=>typeof e=="string",co=e=>typeof e=="symbol",Ne=e=>e!==null&&typeof e=="object",ad=e=>Ne(e)&&me(e.then)&&me(e.catch),rd=Object.prototype.toString,di=e=>rd.call(e),lh=e=>di(e).slice(8,-1),id=e=>di(e)==="[object Object]",mo=e=>Re(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,jr=oo(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),mi=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},uh=/-(\w)/g,Vt=mi(e=>e.replace(uh,(t,n)=>n?n.toUpperCase():"")),ch=/\B([A-Z])/g,Rn=mi(e=>e.replace(ch,"-$1").toLowerCase()),fi=mi(e=>e.charAt(0).toUpperCase()+e.slice(1)),Nr=mi(e=>e?`on${fi(e)}`:""),qa=(e,t)=>!Object.is(e,t),Ma=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},sd=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let bl;const dh=()=>bl||(bl=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});let Tt;class od{constructor(t=!1){this.detached=t,this.active=!0,this.effects=[],this.cleanups=[],this.parent=Tt,!t&&Tt&&(this.index=(Tt.scopes||(Tt.scopes=[])).push(this)-1)}run(t){if(this.active){const n=Tt;try{return Tt=this,t()}finally{Tt=n}}}on(){Tt=this}off(){Tt=this.parent}stop(t){if(this.active){let n,a;for(n=0,a=this.effects.length;n{const t=new Set(e);return t.w=0,t.n=0,t},ld=e=>(e.w&fn)>0,ud=e=>(e.n&fn)>0,fh=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let a=0;a{(u==="length"||u>=a)&&o.push(l)});else switch(n!==void 0&&o.push(s.get(n)),t){case"add":oe(e)?mo(n)&&o.push(s.get("length")):(o.push(s.get(Tn)),aa(e)&&o.push(s.get(gs)));break;case"delete":oe(e)||(o.push(s.get(Tn)),aa(e)&&o.push(s.get(gs)));break;case"set":aa(e)&&o.push(s.get(Tn));break}if(o.length===1)o[0]&&ps(o[0]);else{const l=[];for(const u of o)u&&l.push(...u);ps(go(l))}}function ps(e,t){const n=oe(e)?e:[...e];for(const a of n)a.computed&&vl(a);for(const a of n)a.computed||vl(a)}function vl(e,t){(e!==St||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}const ph=oo("__proto__,__v_isRef,__isVue"),md=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(co)),hh=ho(),bh=ho(!1,!0),yh=ho(!0),kl=vh();function vh(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const a=fe(this);for(let i=0,s=this.length;i{e[t]=function(...n){ga();const a=fe(this)[t].apply(this,n);return pa(),a}}),e}function ho(e=!1,t=!1){return function(a,r,i){if(r==="__v_isReactive")return!e;if(r==="__v_isReadonly")return e;if(r==="__v_isShallow")return t;if(r==="__v_raw"&&i===(e?t?Ih:bd:t?hd:pd).get(a))return a;const s=oe(a);if(!e&&s&&ve(kl,r))return Reflect.get(kl,r,i);const o=Reflect.get(a,r,i);return(co(r)?md.has(r):ph(r))||(e||ut(a,"get",r),t)?o:Ve(o)?s&&mo(r)?o:o.value:Ne(o)?e?yd(o):hn(o):o}}const kh=fd(),wh=fd(!0);function fd(e=!1){return function(n,a,r,i){let s=n[a];if(sa(s)&&Ve(s)&&!Ve(r))return!1;if(!e&&(!Jr(r)&&!sa(r)&&(s=fe(s),r=fe(r)),!oe(n)&&Ve(s)&&!Ve(r)))return s.value=r,!0;const o=oe(n)&&mo(a)?Number(a)e,gi=e=>Reflect.getPrototypeOf(e);function pr(e,t,n=!1,a=!1){e=e.__v_raw;const r=fe(e),i=fe(t);n||(t!==i&&ut(r,"get",t),ut(r,"get",i));const{has:s}=gi(r),o=a?bo:n?ko:Ka;if(s.call(r,t))return o(e.get(t));if(s.call(r,i))return o(e.get(i));e!==r&&e.get(t)}function hr(e,t=!1){const n=this.__v_raw,a=fe(n),r=fe(e);return t||(e!==r&&ut(a,"has",e),ut(a,"has",r)),e===r?n.has(e):n.has(e)||n.has(r)}function br(e,t=!1){return e=e.__v_raw,!t&&ut(fe(e),"iterate",Tn),Reflect.get(e,"size",e)}function wl(e){e=fe(e);const t=fe(this);return gi(t).has.call(t,e)||(t.add(e),$t(t,"add",e,e)),this}function _l(e,t){t=fe(t);const n=fe(this),{has:a,get:r}=gi(n);let i=a.call(n,e);i||(e=fe(e),i=a.call(n,e));const s=r.call(n,e);return n.set(e,t),i?qa(t,s)&&$t(n,"set",e,t):$t(n,"add",e,t),this}function Sl(e){const t=fe(this),{has:n,get:a}=gi(t);let r=n.call(t,e);r||(e=fe(e),r=n.call(t,e)),a&&a.call(t,e);const i=t.delete(e);return r&&$t(t,"delete",e,void 0),i}function El(){const e=fe(this),t=e.size!==0,n=e.clear();return t&&$t(e,"clear",void 0,void 0),n}function yr(e,t){return function(a,r){const i=this,s=i.__v_raw,o=fe(s),l=t?bo:e?ko:Ka;return!e&&ut(o,"iterate",Tn),s.forEach((u,c)=>a.call(r,l(u),l(c),i))}}function vr(e,t,n){return function(...a){const r=this.__v_raw,i=fe(r),s=aa(i),o=e==="entries"||e===Symbol.iterator&&s,l=e==="keys"&&s,u=r[e](...a),c=n?bo:t?ko:Ka;return!t&&ut(i,"iterate",l?gs:Tn),{next(){const{value:f,done:d}=u.next();return d?{value:f,done:d}:{value:o?[c(f[0]),c(f[1])]:c(f),done:d}},[Symbol.iterator](){return this}}}}function Jt(e){return function(...t){return e==="delete"?!1:this}}function Ph(){const e={get(i){return pr(this,i)},get size(){return br(this)},has:hr,add:wl,set:_l,delete:Sl,clear:El,forEach:yr(!1,!1)},t={get(i){return pr(this,i,!1,!0)},get size(){return br(this)},has:hr,add:wl,set:_l,delete:Sl,clear:El,forEach:yr(!1,!0)},n={get(i){return pr(this,i,!0)},get size(){return br(this,!0)},has(i){return hr.call(this,i,!0)},add:Jt("add"),set:Jt("set"),delete:Jt("delete"),clear:Jt("clear"),forEach:yr(!0,!1)},a={get(i){return pr(this,i,!0,!0)},get size(){return br(this,!0)},has(i){return hr.call(this,i,!0)},add:Jt("add"),set:Jt("set"),delete:Jt("delete"),clear:Jt("clear"),forEach:yr(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(i=>{e[i]=vr(i,!1,!1),n[i]=vr(i,!0,!1),t[i]=vr(i,!1,!0),a[i]=vr(i,!0,!0)}),[e,n,t,a]}const[Dh,Lh,Th,Ah]=Ph();function yo(e,t){const n=t?e?Ah:Th:e?Lh:Dh;return(a,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?a:Reflect.get(ve(n,r)&&r in a?n:a,r,i)}const jh={get:yo(!1,!1)},Nh={get:yo(!1,!0)},Mh={get:yo(!0,!1)},pd=new WeakMap,hd=new WeakMap,bd=new WeakMap,Ih=new WeakMap;function Vh(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Rh(e){return e.__v_skip||!Object.isExtensible(e)?0:Vh(lh(e))}function hn(e){return sa(e)?e:vo(e,!1,gd,jh,pd)}function Oh(e){return vo(e,!1,xh,Nh,hd)}function yd(e){return vo(e,!0,Ch,Mh,bd)}function vo(e,t,n,a,r){if(!Ne(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=r.get(e);if(i)return i;const s=Rh(e);if(s===0)return e;const o=new Proxy(e,s===2?a:n);return r.set(e,o),o}function dn(e){return sa(e)?dn(e.__v_raw):!!(e&&e.__v_isReactive)}function sa(e){return!!(e&&e.__v_isReadonly)}function Jr(e){return!!(e&&e.__v_isShallow)}function vd(e){return dn(e)||sa(e)}function fe(e){const t=e&&e.__v_raw;return t?fe(t):e}function qt(e){return Ur(e,"__v_skip",!0),e}const Ka=e=>Ne(e)?hn(e):e,ko=e=>Ne(e)?yd(e):e;function kd(e){cn&&St&&(e=fe(e),dd(e.dep||(e.dep=go())))}function wd(e,t){e=fe(e),e.dep&&ps(e.dep)}function Ve(e){return!!(e&&e.__v_isRef===!0)}function se(e){return Sd(e,!1)}function _d(e){return Sd(e,!0)}function Sd(e,t){return Ve(e)?e:new zh(e,t)}class zh{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:fe(t),this._value=n?t:Ka(t)}get value(){return kd(this),this._value}set value(t){const n=this.__v_isShallow||Jr(t)||sa(t);t=n?t:fe(t),qa(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:Ka(t),wd(this))}}function An(e){return Ve(e)?e.value:e}const Fh={get:(e,t,n)=>An(Reflect.get(e,t,n)),set:(e,t,n,a)=>{const r=e[t];return Ve(r)&&!Ve(n)?(r.value=n,!0):Reflect.set(e,t,n,a)}};function Ed(e){return dn(e)?e:new Proxy(e,Fh)}function Bh(e){const t=oe(e)?new Array(e.length):{};for(const n in e)t[n]=$h(e,n);return t}class Hh{constructor(t,n,a){this._object=t,this._key=n,this._defaultValue=a,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}}function $h(e,t,n){const a=e[t];return Ve(a)?a:new Hh(e,t,n)}var Cd;class qh{constructor(t,n,a,r){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this[Cd]=!1,this._dirty=!0,this.effect=new po(t,()=>{this._dirty||(this._dirty=!0,wd(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=a}get value(){const t=fe(this);return kd(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}Cd="__v_isReadonly";function Kh(e,t,n=!1){let a,r;const i=me(e);return i?(a=e,r=xt):(a=e.get,r=e.set),new qh(a,r,i||!r,n)}function mn(e,t,n,a){let r;try{r=a?e(...a):e()}catch(i){rr(i,t,n)}return r}function ht(e,t,n,a){if(me(e)){const i=mn(e,t,n,a);return i&&ad(i)&&i.catch(s=>{rr(s,t,n)}),i}const r=[];for(let i=0;i>>1;Wa(Ze[a])Nt&&Ze.splice(t,1)}function Jh(e){oe(e)?ra.push(...e):(!Bt||!Bt.includes(e,e.allowRecurse?En+1:En))&&ra.push(e),Pd()}function Cl(e,t=Ga?Nt+1:0){for(;tWa(n)-Wa(a)),En=0;Ene.id==null?1/0:e.id,Yh=(e,t)=>{const n=Wa(e)-Wa(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function Ld(e){hs=!1,Ga=!0,Ze.sort(Yh);const t=xt;try{for(Nt=0;Ntp.trim())),f&&(r=n.map(sd))}let o,l=a[o=Nr(t)]||a[o=Nr(Vt(t))];!l&&i&&(l=a[o=Nr(Rn(t))]),l&&ht(l,e,6,r);const u=a[o+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[o])return;e.emitted[o]=!0,ht(u,e,6,r)}}function Td(e,t,n=!1){const a=t.emitsCache,r=a.get(e);if(r!==void 0)return r;const i=e.emits;let s={},o=!1;if(!me(e)){const l=u=>{const c=Td(u,t,!0);c&&(o=!0,We(s,c))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!i&&!o?(Ne(e)&&a.set(e,null),null):(oe(i)?i.forEach(l=>s[l]=null):We(s,i),Ne(e)&&a.set(e,s),s)}function hi(e,t){return!e||!ci(t)?!1:(t=t.slice(2).replace(/Once$/,""),ve(e,t[0].toLowerCase()+t.slice(1))||ve(e,Rn(t))||ve(e,t))}let et=null,bi=null;function Yr(e){const t=et;return et=e,bi=e&&e.type.__scopeId||null,t}function dP(e){bi=e}function mP(){bi=null}function Mr(e,t=et,n){if(!t||e._n)return e;const a=(...r)=>{a._d&&Ol(-1);const i=Yr(t);let s;try{s=e(...r)}finally{Yr(i),a._d&&Ol(1)}return s};return a._n=!0,a._c=!0,a._d=!0,a}function Fi(e){const{type:t,vnode:n,proxy:a,withProxy:r,props:i,propsOptions:[s],slots:o,attrs:l,emit:u,render:c,renderCache:f,data:d,setupState:p,ctx:b,inheritAttrs:C}=e;let x,y;const h=Yr(e);try{if(n.shapeFlag&4){const w=r||a;x=At(c.call(w,w,f,i,p,d,b)),y=l}else{const w=t;x=At(w.length>1?w(i,{attrs:l,slots:o,emit:u}):w(i,null)),y=t.props?l:Zh(l)}}catch(w){Va.length=0,rr(w,e,1),x=Me(yt)}let _=x;if(y&&C!==!1){const w=Object.keys(y),{shapeFlag:E}=_;w.length&&E&7&&(s&&w.some(lo)&&(y=Xh(y,s)),_=Kt(_,y))}return n.dirs&&(_=Kt(_),_.dirs=_.dirs?_.dirs.concat(n.dirs):n.dirs),n.transition&&(_.transition=n.transition),x=_,Yr(h),x}const Zh=e=>{let t;for(const n in e)(n==="class"||n==="style"||ci(n))&&((t||(t={}))[n]=e[n]);return t},Xh=(e,t)=>{const n={};for(const a in e)(!lo(a)||!(a.slice(9)in t))&&(n[a]=e[a]);return n};function eb(e,t,n){const{props:a,children:r,component:i}=e,{props:s,children:o,patchFlag:l}=t,u=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&l>=0){if(l&1024)return!0;if(l&16)return a?xl(a,s,u):!!s;if(l&8){const c=t.dynamicProps;for(let f=0;fe.__isSuspense;function nb(e,t){t&&t.pendingBranch?oe(e)?t.effects.push(...e):t.effects.push(e):Jh(e)}function Ir(e,t){if($e){let n=$e.provides;const a=$e.parent&&$e.parent.provides;a===n&&(n=$e.provides=Object.create(a)),n[e]=t}}function bt(e,t,n=!1){const a=$e||et;if(a){const r=a.parent==null?a.vnode.appContext&&a.vnode.appContext.provides:a.parent.provides;if(r&&e in r)return r[e];if(arguments.length>1)return n&&me(t)?t.call(a.proxy):t}}const Pl={};function Pe(e,t,n){return jd(e,t,n)}function jd(e,t,{immediate:n,deep:a,flush:r,onTrack:i,onTrigger:s}=Te){const o=$e;let l,u=!1,c=!1;if(Ve(e)?(l=()=>e.value,u=Jr(e)):dn(e)?(l=()=>e,a=!0):oe(e)?(c=!0,u=e.some(y=>dn(y)||Jr(y)),l=()=>e.map(y=>{if(Ve(y))return y.value;if(dn(y))return Pn(y);if(me(y))return mn(y,o,2)})):me(e)?t?l=()=>mn(e,o,2):l=()=>{if(!(o&&o.isUnmounted))return f&&f(),ht(e,o,3,[d])}:l=xt,t&&a){const y=l;l=()=>Pn(y())}let f,d=y=>{f=x.onStop=()=>{mn(y,o,4)}};if(ua)return d=xt,t?n&&ht(t,o,3,[l(),c?[]:void 0,d]):l(),xt;let p=c?[]:Pl;const b=()=>{if(!!x.active)if(t){const y=x.run();(a||u||(c?y.some((h,_)=>qa(h,p[_])):qa(y,p)))&&(f&&f(),ht(t,o,3,[y,p===Pl?void 0:p,d]),p=y)}else x.run()};b.allowRecurse=!!t;let C;r==="sync"?C=b:r==="post"?C=()=>Ye(b,o&&o.suspense):(b.pre=!0,o&&(b.id=o.uid),C=()=>pi(b));const x=new po(l,C);return t?n?b():p=x.run():r==="post"?Ye(x.run.bind(x),o&&o.suspense):x.run(),()=>{x.stop(),o&&o.scope&&uo(o.scope.effects,x)}}function ab(e,t,n){const a=this.proxy,r=Re(e)?e.includes(".")?Nd(a,e):()=>a[e]:e.bind(a,a);let i;me(t)?i=t:(i=t.handler,n=t);const s=$e;la(this);const o=jd(r,i.bind(a),n);return s?la(s):jn(),o}function Nd(e,t){const n=t.split(".");return()=>{let a=e;for(let r=0;r{Pn(n,t)});else if(id(e))for(const n in e)Pn(e[n],t);return e}function Md(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return bn(()=>{e.isMounted=!0}),kt(()=>{e.isUnmounting=!0}),e}const dt=[Function,Array],rb={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:dt,onEnter:dt,onAfterEnter:dt,onEnterCancelled:dt,onBeforeLeave:dt,onLeave:dt,onAfterLeave:dt,onLeaveCancelled:dt,onBeforeAppear:dt,onAppear:dt,onAfterAppear:dt,onAppearCancelled:dt},setup(e,{slots:t}){const n=Le(),a=Md();let r;return()=>{const i=t.default&&_o(t.default(),!0);if(!i||!i.length)return;let s=i[0];if(i.length>1){for(const C of i)if(C.type!==yt){s=C;break}}const o=fe(e),{mode:l}=o;if(a.isLeaving)return Bi(s);const u=Dl(s);if(!u)return Bi(s);const c=Ua(u,o,a,n);oa(u,c);const f=n.subTree,d=f&&Dl(f);let p=!1;const{getTransitionKey:b}=u.type;if(b){const C=b();r===void 0?r=C:C!==r&&(r=C,p=!0)}if(d&&d.type!==yt&&(!Cn(u,d)||p)){const C=Ua(d,o,a,n);if(oa(d,C),l==="out-in")return a.isLeaving=!0,C.afterLeave=()=>{a.isLeaving=!1,n.update()},Bi(s);l==="in-out"&&u.type!==yt&&(C.delayLeave=(x,y,h)=>{const _=Vd(a,d);_[String(d.key)]=d,x._leaveCb=()=>{y(),x._leaveCb=void 0,delete c.delayedLeave},c.delayedLeave=h})}return s}}},Id=rb;function Vd(e,t){const{leavingVNodes:n}=e;let a=n.get(t.type);return a||(a=Object.create(null),n.set(t.type,a)),a}function Ua(e,t,n,a){const{appear:r,mode:i,persisted:s=!1,onBeforeEnter:o,onEnter:l,onAfterEnter:u,onEnterCancelled:c,onBeforeLeave:f,onLeave:d,onAfterLeave:p,onLeaveCancelled:b,onBeforeAppear:C,onAppear:x,onAfterAppear:y,onAppearCancelled:h}=t,_=String(e.key),w=Vd(n,e),E=(D,N)=>{D&&ht(D,a,9,N)},S=(D,N)=>{const V=N[1];E(D,N),oe(D)?D.every(F=>F.length<=1)&&V():D.length<=1&&V()},P={mode:i,persisted:s,beforeEnter(D){let N=o;if(!n.isMounted)if(r)N=C||o;else return;D._leaveCb&&D._leaveCb(!0);const V=w[_];V&&Cn(e,V)&&V.el._leaveCb&&V.el._leaveCb(),E(N,[D])},enter(D){let N=l,V=u,F=c;if(!n.isMounted)if(r)N=x||l,V=y||u,F=h||c;else return;let M=!1;const K=D._enterCb=I=>{M||(M=!0,I?E(F,[D]):E(V,[D]),P.delayedLeave&&P.delayedLeave(),D._enterCb=void 0)};N?S(N,[D,K]):K()},leave(D,N){const V=String(e.key);if(D._enterCb&&D._enterCb(!0),n.isUnmounting)return N();E(f,[D]);let F=!1;const M=D._leaveCb=K=>{F||(F=!0,N(),K?E(b,[D]):E(p,[D]),D._leaveCb=void 0,w[V]===e&&delete w[V])};w[V]=e,d?S(d,[D,M]):M()},clone(D){return Ua(D,t,n,a)}};return P}function Bi(e){if(sr(e))return e=Kt(e),e.children=null,e}function Dl(e){return sr(e)?e.children?e.children[0]:void 0:e}function oa(e,t){e.shapeFlag&6&&e.component?oa(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function _o(e,t=!1,n){let a=[],r=0;for(let i=0;i1)for(let i=0;i!!e.type.__asyncLoader;function Rd(e){me(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:a,delay:r=200,timeout:i,suspensible:s=!0,onError:o}=e;let l=null,u,c=0;const f=()=>(c++,l=null,d()),d=()=>{let p;return l||(p=l=t().catch(b=>{if(b=b instanceof Error?b:new Error(String(b)),o)return new Promise((C,x)=>{o(b,()=>C(f()),()=>x(b),c+1)});throw b}).then(b=>p!==l&&l?l:(b&&(b.__esModule||b[Symbol.toStringTag]==="Module")&&(b=b.default),u=b,b)))};return ir({name:"AsyncComponentWrapper",__asyncLoader:d,get __asyncResolved(){return u},setup(){const p=$e;if(u)return()=>Hi(u,p);const b=h=>{l=null,rr(h,p,13,!a)};if(s&&p.suspense||ua)return d().then(h=>()=>Hi(h,p)).catch(h=>(b(h),()=>a?Me(a,{error:h}):null));const C=se(!1),x=se(),y=se(!!r);return r&&setTimeout(()=>{y.value=!1},r),i!=null&&setTimeout(()=>{if(!C.value&&!x.value){const h=new Error(`Async component timed out after ${i}ms.`);b(h),x.value=h}},i),d().then(()=>{C.value=!0,p.parent&&sr(p.parent.vnode)&&pi(p.parent.update)}).catch(h=>{b(h),x.value=h}),()=>{if(C.value&&u)return Hi(u,p);if(x.value&&a)return Me(a,{error:x.value});if(n&&!y.value)return Me(n)}}})}function Hi(e,{vnode:{ref:t,props:n,children:a,shapeFlag:r},parent:i}){const s=Me(e,n,a);return s.ref=t,s}const sr=e=>e.type.__isKeepAlive,ib={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const n=Le(),a=n.ctx;if(!a.renderer)return()=>{const h=t.default&&t.default();return h&&h.length===1?h[0]:h};const r=new Map,i=new Set;let s=null;const o=n.suspense,{renderer:{p:l,m:u,um:c,o:{createElement:f}}}=a,d=f("div");a.activate=(h,_,w,E,S)=>{const P=h.component;u(h,_,w,0,o),l(P.vnode,h,_,w,P,o,E,h.slotScopeIds,S),Ye(()=>{P.isDeactivated=!1,P.a&&Ma(P.a);const D=h.props&&h.props.onVnodeMounted;D&&ft(D,P.parent,h)},o)},a.deactivate=h=>{const _=h.component;u(h,d,null,1,o),Ye(()=>{_.da&&Ma(_.da);const w=h.props&&h.props.onVnodeUnmounted;w&&ft(w,_.parent,h),_.isDeactivated=!0},o)};function p(h){$i(h),c(h,n,o,!0)}function b(h){r.forEach((_,w)=>{const E=Ss(_.type);E&&(!h||!h(E))&&C(w)})}function C(h){const _=r.get(h);!s||_.type!==s.type?p(_):s&&$i(s),r.delete(h),i.delete(h)}Pe(()=>[e.include,e.exclude],([h,_])=>{h&&b(w=>Ta(h,w)),_&&b(w=>!Ta(_,w))},{flush:"post",deep:!0});let x=null;const y=()=>{x!=null&&r.set(x,qi(n.subTree))};return bn(y),So(y),kt(()=>{r.forEach(h=>{const{subTree:_,suspense:w}=n,E=qi(_);if(h.type===E.type){$i(E);const S=E.component.da;S&&Ye(S,w);return}p(h)})}),()=>{if(x=null,!t.default)return null;const h=t.default(),_=h[0];if(h.length>1)return s=null,h;if(!Ya(_)||!(_.shapeFlag&4)&&!(_.shapeFlag&128))return s=null,_;let w=qi(_);const E=w.type,S=Ss(ia(w)?w.type.__asyncResolved||{}:E),{include:P,exclude:D,max:N}=e;if(P&&(!S||!Ta(P,S))||D&&S&&Ta(D,S))return s=w,_;const V=w.key==null?E:w.key,F=r.get(V);return w.el&&(w=Kt(w),_.shapeFlag&128&&(_.ssContent=w)),x=V,F?(w.el=F.el,w.component=F.component,w.transition&&oa(w,w.transition),w.shapeFlag|=512,i.delete(V),i.add(V)):(i.add(V),N&&i.size>parseInt(N,10)&&C(i.values().next().value)),w.shapeFlag|=256,s=w,Ad(_.type)?_:w}}},fP=ib;function Ta(e,t){return oe(e)?e.some(n=>Ta(n,t)):Re(e)?e.split(",").includes(t):e.test?e.test(t):!1}function Od(e,t){zd(e,"a",t)}function yi(e,t){zd(e,"da",t)}function zd(e,t,n=$e){const a=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(vi(t,a,n),n){let r=n.parent;for(;r&&r.parent;)sr(r.parent.vnode)&&sb(a,t,n,r),r=r.parent}}function sb(e,t,n,a){const r=vi(t,e,a,!0);or(()=>{uo(a[t],r)},n)}function $i(e){let t=e.shapeFlag;t&256&&(t-=256),t&512&&(t-=512),e.shapeFlag=t}function qi(e){return e.shapeFlag&128?e.ssContent:e}function vi(e,t,n=$e,a=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...s)=>{if(n.isUnmounted)return;ga(),la(n);const o=ht(t,n,e,s);return jn(),pa(),o});return a?r.unshift(i):r.push(i),i}}const Wt=e=>(t,n=$e)=>(!ua||e==="sp")&&vi(e,(...a)=>t(...a),n),Fd=Wt("bm"),bn=Wt("m"),Bd=Wt("bu"),So=Wt("u"),kt=Wt("bum"),or=Wt("um"),ob=Wt("sp"),lb=Wt("rtg"),ub=Wt("rtc");function cb(e,t=$e){vi("ec",e,t)}function Hd(e,t){const n=et;if(n===null)return e;const a=_i(n)||n.proxy,r=e.dirs||(e.dirs=[]);for(let i=0;it(s,o,void 0,i&&i[o]));else{const s=Object.keys(e);r=new Array(s.length);for(let o=0,l=s.length;o{const i=a.fn(...r);return i&&(i.key=a.key),i}:a.fn)}return e}function bP(e,t,n={},a,r){if(et.isCE||et.parent&&ia(et.parent)&&et.parent.isCE)return Me("slot",t==="default"?null:{name:t},a&&a());let i=e[t];i&&i._c&&(i._d=!1),Xr();const s=i&&qd(i(n)),o=ei(st,{key:n.key||s&&s.key||`_${t}`},s||(a?a():[]),s&&e._===1?64:-2);return!r&&o.scopeId&&(o.slotScopeIds=[o.scopeId+"-s"]),i&&i._c&&(i._d=!0),o}function qd(e){return e.some(t=>Ya(t)?!(t.type===yt||t.type===st&&!qd(t.children)):!0)?e:null}function yP(e,t){const n={};for(const a in e)n[t&&/[A-Z]/.test(a)?`on:${a}`:Nr(a)]=e[a];return n}const bs=e=>e?tm(e)?_i(e)||e.proxy:bs(e.parent):null,Qr=We(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>bs(e.parent),$root:e=>bs(e.root),$emit:e=>e.emit,$options:e=>xo(e),$forceUpdate:e=>e.f||(e.f=()=>pi(e.update)),$nextTick:e=>e.n||(e.n=Xe.bind(e.proxy)),$watch:e=>ab.bind(e)}),fb={get({_:e},t){const{ctx:n,setupState:a,data:r,props:i,accessCache:s,type:o,appContext:l}=e;let u;if(t[0]!=="$"){const p=s[t];if(p!==void 0)switch(p){case 1:return a[t];case 2:return r[t];case 4:return n[t];case 3:return i[t]}else{if(a!==Te&&ve(a,t))return s[t]=1,a[t];if(r!==Te&&ve(r,t))return s[t]=2,r[t];if((u=e.propsOptions[0])&&ve(u,t))return s[t]=3,i[t];if(n!==Te&&ve(n,t))return s[t]=4,n[t];ys&&(s[t]=0)}}const c=Qr[t];let f,d;if(c)return t==="$attrs"&&ut(e,"get",t),c(e);if((f=o.__cssModules)&&(f=f[t]))return f;if(n!==Te&&ve(n,t))return s[t]=4,n[t];if(d=l.config.globalProperties,ve(d,t))return d[t]},set({_:e},t,n){const{data:a,setupState:r,ctx:i}=e;return r!==Te&&ve(r,t)?(r[t]=n,!0):a!==Te&&ve(a,t)?(a[t]=n,!0):ve(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:a,appContext:r,propsOptions:i}},s){let o;return!!n[s]||e!==Te&&ve(e,s)||t!==Te&&ve(t,s)||(o=i[0])&&ve(o,s)||ve(a,s)||ve(Qr,s)||ve(r.config.globalProperties,s)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:ve(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};let ys=!0;function gb(e){const t=xo(e),n=e.proxy,a=e.ctx;ys=!1,t.beforeCreate&&Al(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:s,watch:o,provide:l,inject:u,created:c,beforeMount:f,mounted:d,beforeUpdate:p,updated:b,activated:C,deactivated:x,beforeDestroy:y,beforeUnmount:h,destroyed:_,unmounted:w,render:E,renderTracked:S,renderTriggered:P,errorCaptured:D,serverPrefetch:N,expose:V,inheritAttrs:F,components:M,directives:K,filters:I}=t;if(u&&pb(u,a,null,e.appContext.config.unwrapInjectedRef),s)for(const O in s){const Q=s[O];me(Q)&&(a[O]=Q.bind(n))}if(r){const O=r.call(n,n);Ne(O)&&(e.data=hn(O))}if(ys=!0,i)for(const O in i){const Q=i[O],he=me(Q)?Q.bind(n,n):me(Q.get)?Q.get.bind(n,n):xt,U=!me(Q)&&me(Q.set)?Q.set.bind(n):xt,ge=j({get:he,set:U});Object.defineProperty(a,O,{enumerable:!0,configurable:!0,get:()=>ge.value,set:we=>ge.value=we})}if(o)for(const O in o)Kd(o[O],a,n,O);if(l){const O=me(l)?l.call(n):l;Reflect.ownKeys(O).forEach(Q=>{Ir(Q,O[Q])})}c&&Al(c,e,"c");function ae(O,Q){oe(Q)?Q.forEach(he=>O(he.bind(n))):Q&&O(Q.bind(n))}if(ae(Fd,f),ae(bn,d),ae(Bd,p),ae(So,b),ae(Od,C),ae(yi,x),ae(cb,D),ae(ub,S),ae(lb,P),ae(kt,h),ae(or,w),ae(ob,N),oe(V))if(V.length){const O=e.exposed||(e.exposed={});V.forEach(Q=>{Object.defineProperty(O,Q,{get:()=>n[Q],set:he=>n[Q]=he})})}else e.exposed||(e.exposed={});E&&e.render===xt&&(e.render=E),F!=null&&(e.inheritAttrs=F),M&&(e.components=M),K&&(e.directives=K)}function pb(e,t,n=xt,a=!1){oe(e)&&(e=vs(e));for(const r in e){const i=e[r];let s;Ne(i)?"default"in i?s=bt(i.from||r,i.default,!0):s=bt(i.from||r):s=bt(i),Ve(s)&&a?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>s.value,set:o=>s.value=o}):t[r]=s}}function Al(e,t,n){ht(oe(e)?e.map(a=>a.bind(t.proxy)):e.bind(t.proxy),t,n)}function Kd(e,t,n,a){const r=a.includes(".")?Nd(n,a):()=>n[a];if(Re(e)){const i=t[e];me(i)&&Pe(r,i)}else if(me(e))Pe(r,e.bind(n));else if(Ne(e))if(oe(e))e.forEach(i=>Kd(i,t,n,a));else{const i=me(e.handler)?e.handler.bind(n):t[e.handler];me(i)&&Pe(r,i,e)}}function xo(e){const t=e.type,{mixins:n,extends:a}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:s}}=e.appContext,o=i.get(t);let l;return o?l=o:!r.length&&!n&&!a?l=t:(l={},r.length&&r.forEach(u=>Zr(l,u,s,!0)),Zr(l,t,s)),Ne(t)&&i.set(t,l),l}function Zr(e,t,n,a=!1){const{mixins:r,extends:i}=t;i&&Zr(e,i,n,!0),r&&r.forEach(s=>Zr(e,s,n,!0));for(const s in t)if(!(a&&s==="expose")){const o=hb[s]||n&&n[s];e[s]=o?o(e[s],t[s]):t[s]}return e}const hb={data:jl,props:Sn,emits:Sn,methods:Sn,computed:Sn,beforeCreate:nt,created:nt,beforeMount:nt,mounted:nt,beforeUpdate:nt,updated:nt,beforeDestroy:nt,beforeUnmount:nt,destroyed:nt,unmounted:nt,activated:nt,deactivated:nt,errorCaptured:nt,serverPrefetch:nt,components:Sn,directives:Sn,watch:yb,provide:jl,inject:bb};function jl(e,t){return t?e?function(){return We(me(e)?e.call(this,this):e,me(t)?t.call(this,this):t)}:t:e}function bb(e,t){return Sn(vs(e),vs(t))}function vs(e){if(oe(e)){const t={};for(let n=0;n0)&&!(s&16)){if(s&8){const c=e.vnode.dynamicProps;for(let f=0;f{l=!0;const[d,p]=Wd(f,t,!0);We(s,d),p&&o.push(...p)};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}if(!i&&!l)return Ne(e)&&a.set(e,na),na;if(oe(i))for(let c=0;c-1,p[1]=C<0||b-1||ve(p,"default"))&&o.push(f)}}}const u=[s,o];return Ne(e)&&a.set(e,u),u}function Nl(e){return e[0]!=="$"}function Ml(e){const t=e&&e.toString().match(/^\s*function (\w+)/);return t?t[1]:e===null?"null":""}function Il(e,t){return Ml(e)===Ml(t)}function Vl(e,t){return oe(t)?t.findIndex(n=>Il(n,e)):me(t)&&Il(t,e)?0:-1}const Ud=e=>e[0]==="_"||e==="$stable",Po=e=>oe(e)?e.map(At):[At(e)],wb=(e,t,n)=>{if(t._n)return t;const a=Mr((...r)=>Po(t(...r)),n);return a._c=!1,a},Jd=(e,t,n)=>{const a=e._ctx;for(const r in e){if(Ud(r))continue;const i=e[r];if(me(i))t[r]=wb(r,i,a);else if(i!=null){const s=Po(i);t[r]=()=>s}}},Yd=(e,t)=>{const n=Po(t);e.slots.default=()=>n},_b=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=fe(t),Ur(t,"_",n)):Jd(t,e.slots={})}else e.slots={},t&&Yd(e,t);Ur(e.slots,wi,1)},Sb=(e,t,n)=>{const{vnode:a,slots:r}=e;let i=!0,s=Te;if(a.shapeFlag&32){const o=t._;o?n&&o===1?i=!1:(We(r,t),!n&&o===1&&delete r._):(i=!t.$stable,Jd(t,r)),s=t}else t&&(Yd(e,t),s={default:1});if(i)for(const o in r)!Ud(o)&&!(o in s)&&delete r[o]};function Qd(){return{app:null,config:{isNativeTag:ih,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let Eb=0;function Cb(e,t){return function(a,r=null){me(a)||(a=Object.assign({},a)),r!=null&&!Ne(r)&&(r=null);const i=Qd(),s=new Set;let o=!1;const l=i.app={_uid:Eb++,_component:a,_props:r,_container:null,_context:i,_instance:null,version:Wb,get config(){return i.config},set config(u){},use(u,...c){return s.has(u)||(u&&me(u.install)?(s.add(u),u.install(l,...c)):me(u)&&(s.add(u),u(l,...c))),l},mixin(u){return i.mixins.includes(u)||i.mixins.push(u),l},component(u,c){return c?(i.components[u]=c,l):i.components[u]},directive(u,c){return c?(i.directives[u]=c,l):i.directives[u]},mount(u,c,f){if(!o){const d=Me(a,r);return d.appContext=i,c&&t?t(d,u):e(d,u,f),o=!0,l._container=u,u.__vue_app__=l,_i(d.component)||d.component.proxy}},unmount(){o&&(e(null,l._container),delete l._container.__vue_app__)},provide(u,c){return i.provides[u]=c,l}};return l}}function ws(e,t,n,a,r=!1){if(oe(e)){e.forEach((d,p)=>ws(d,t&&(oe(t)?t[p]:t),n,a,r));return}if(ia(a)&&!r)return;const i=a.shapeFlag&4?_i(a.component)||a.component.proxy:a.el,s=r?null:i,{i:o,r:l}=e,u=t&&t.r,c=o.refs===Te?o.refs={}:o.refs,f=o.setupState;if(u!=null&&u!==l&&(Re(u)?(c[u]=null,ve(f,u)&&(f[u]=null)):Ve(u)&&(u.value=null)),me(l))mn(l,o,12,[s,c]);else{const d=Re(l),p=Ve(l);if(d||p){const b=()=>{if(e.f){const C=d?ve(f,l)?f[l]:c[l]:l.value;r?oe(C)&&uo(C,i):oe(C)?C.includes(i)||C.push(i):d?(c[l]=[i],ve(f,l)&&(f[l]=c[l])):(l.value=[i],e.k&&(c[e.k]=l.value))}else d?(c[l]=s,ve(f,l)&&(f[l]=s)):p&&(l.value=s,e.k&&(c[e.k]=s))};s?(b.id=-1,Ye(b,n)):b()}}}const Ye=nb;function xb(e){return Pb(e)}function Pb(e,t){const n=dh();n.__VUE__=!0;const{insert:a,remove:r,patchProp:i,createElement:s,createText:o,createComment:l,setText:u,setElementText:c,parentNode:f,nextSibling:d,setScopeId:p=xt,insertStaticContent:b}=e,C=(v,m,g,k=null,L=null,R=null,q=!1,G=null,J=!!m.dynamicChildren)=>{if(v===m)return;v&&!Cn(v,m)&&(k=Y(v),we(v,L,R,!0),v=null),m.patchFlag===-2&&(J=!1,m.dynamicChildren=null);const{type:H,ref:T,shapeFlag:A}=m;switch(H){case ki:x(v,m,g,k);break;case yt:y(v,m,g,k);break;case Vr:v==null&&h(m,g,k,q);break;case st:M(v,m,g,k,L,R,q,G,J);break;default:A&1?E(v,m,g,k,L,R,q,G,J):A&6?K(v,m,g,k,L,R,q,G,J):(A&64||A&128)&&H.process(v,m,g,k,L,R,q,G,J,re)}T!=null&&L&&ws(T,v&&v.ref,R,m||v,!m)},x=(v,m,g,k)=>{if(v==null)a(m.el=o(m.children),g,k);else{const L=m.el=v.el;m.children!==v.children&&u(L,m.children)}},y=(v,m,g,k)=>{v==null?a(m.el=l(m.children||""),g,k):m.el=v.el},h=(v,m,g,k)=>{[v.el,v.anchor]=b(v.children,m,g,k,v.el,v.anchor)},_=({el:v,anchor:m},g,k)=>{let L;for(;v&&v!==m;)L=d(v),a(v,g,k),v=L;a(m,g,k)},w=({el:v,anchor:m})=>{let g;for(;v&&v!==m;)g=d(v),r(v),v=g;r(m)},E=(v,m,g,k,L,R,q,G,J)=>{q=q||m.type==="svg",v==null?S(m,g,k,L,R,q,G,J):N(v,m,L,R,q,G,J)},S=(v,m,g,k,L,R,q,G)=>{let J,H;const{type:T,props:A,shapeFlag:te,transition:ne,dirs:pe}=v;if(J=v.el=s(v.type,R,A&&A.is,A),te&8?c(J,v.children):te&16&&D(v.children,J,null,k,L,R&&T!=="foreignObject",q,G),pe&&kn(v,null,k,"created"),A){for(const ye in A)ye!=="value"&&!jr(ye)&&i(J,ye,null,A[ye],R,v.children,k,L,Z);"value"in A&&i(J,"value",null,A.value),(H=A.onVnodeBeforeMount)&&ft(H,k,v)}P(J,v,v.scopeId,q,k),pe&&kn(v,null,k,"beforeMount");const xe=(!L||L&&!L.pendingBranch)&&ne&&!ne.persisted;xe&&ne.beforeEnter(J),a(J,m,g),((H=A&&A.onVnodeMounted)||xe||pe)&&Ye(()=>{H&&ft(H,k,v),xe&&ne.enter(J),pe&&kn(v,null,k,"mounted")},L)},P=(v,m,g,k,L)=>{if(g&&p(v,g),k)for(let R=0;R{for(let H=J;H{const G=m.el=v.el;let{patchFlag:J,dynamicChildren:H,dirs:T}=m;J|=v.patchFlag&16;const A=v.props||Te,te=m.props||Te;let ne;g&&wn(g,!1),(ne=te.onVnodeBeforeUpdate)&&ft(ne,g,m,v),T&&kn(m,v,g,"beforeUpdate"),g&&wn(g,!0);const pe=L&&m.type!=="foreignObject";if(H?V(v.dynamicChildren,H,G,g,k,pe,R):q||Q(v,m,G,null,g,k,pe,R,!1),J>0){if(J&16)F(G,m,A,te,g,k,L);else if(J&2&&A.class!==te.class&&i(G,"class",null,te.class,L),J&4&&i(G,"style",A.style,te.style,L),J&8){const xe=m.dynamicProps;for(let ye=0;ye{ne&&ft(ne,g,m,v),T&&kn(m,v,g,"updated")},k)},V=(v,m,g,k,L,R,q)=>{for(let G=0;G{if(g!==k){if(g!==Te)for(const G in g)!jr(G)&&!(G in k)&&i(v,G,g[G],null,q,m.children,L,R,Z);for(const G in k){if(jr(G))continue;const J=k[G],H=g[G];J!==H&&G!=="value"&&i(v,G,H,J,q,m.children,L,R,Z)}"value"in k&&i(v,"value",g.value,k.value)}},M=(v,m,g,k,L,R,q,G,J)=>{const H=m.el=v?v.el:o(""),T=m.anchor=v?v.anchor:o("");let{patchFlag:A,dynamicChildren:te,slotScopeIds:ne}=m;ne&&(G=G?G.concat(ne):ne),v==null?(a(H,g,k),a(T,g,k),D(m.children,g,T,L,R,q,G,J)):A>0&&A&64&&te&&v.dynamicChildren?(V(v.dynamicChildren,te,g,L,R,q,G),(m.key!=null||L&&m===L.subTree)&&Do(v,m,!0)):Q(v,m,g,T,L,R,q,G,J)},K=(v,m,g,k,L,R,q,G,J)=>{m.slotScopeIds=G,v==null?m.shapeFlag&512?L.ctx.activate(m,g,k,q,J):I(m,g,k,L,R,q,J):ee(v,m,J)},I=(v,m,g,k,L,R,q)=>{const G=v.component=Bb(v,k,L);if(sr(v)&&(G.ctx.renderer=re),Hb(G),G.asyncDep){if(L&&L.registerDep(G,ae),!v.el){const J=G.subTree=Me(yt);y(null,J,m,g)}return}ae(G,v,m,g,L,R,q)},ee=(v,m,g)=>{const k=m.component=v.component;if(eb(v,m,g))if(k.asyncDep&&!k.asyncResolved){O(k,m,g);return}else k.next=m,Uh(k.update),k.update();else m.el=v.el,k.vnode=m},ae=(v,m,g,k,L,R,q)=>{const G=()=>{if(v.isMounted){let{next:T,bu:A,u:te,parent:ne,vnode:pe}=v,xe=T,ye;wn(v,!1),T?(T.el=pe.el,O(v,T,q)):T=pe,A&&Ma(A),(ye=T.props&&T.props.onVnodeBeforeUpdate)&&ft(ye,ne,T,pe),wn(v,!0);const Ie=Fi(v),ct=v.subTree;v.subTree=Ie,C(ct,Ie,f(ct.el),Y(ct),v,L,R),T.el=Ie.el,xe===null&&tb(v,Ie.el),te&&Ye(te,L),(ye=T.props&&T.props.onVnodeUpdated)&&Ye(()=>ft(ye,ne,T,pe),L)}else{let T;const{el:A,props:te}=m,{bm:ne,m:pe,parent:xe}=v,ye=ia(m);if(wn(v,!1),ne&&Ma(ne),!ye&&(T=te&&te.onVnodeBeforeMount)&&ft(T,xe,m),wn(v,!0),A&&ie){const Ie=()=>{v.subTree=Fi(v),ie(A,v.subTree,v,L,null)};ye?m.type.__asyncLoader().then(()=>!v.isUnmounted&&Ie()):Ie()}else{const Ie=v.subTree=Fi(v);C(null,Ie,g,k,v,L,R),m.el=Ie.el}if(pe&&Ye(pe,L),!ye&&(T=te&&te.onVnodeMounted)){const Ie=m;Ye(()=>ft(T,xe,Ie),L)}(m.shapeFlag&256||xe&&ia(xe.vnode)&&xe.vnode.shapeFlag&256)&&v.a&&Ye(v.a,L),v.isMounted=!0,m=g=k=null}},J=v.effect=new po(G,()=>pi(H),v.scope),H=v.update=()=>J.run();H.id=v.uid,wn(v,!0),H()},O=(v,m,g)=>{m.component=v;const k=v.vnode.props;v.vnode=m,v.next=null,kb(v,m.props,k,g),Sb(v,m.children,g),ga(),Cl(),pa()},Q=(v,m,g,k,L,R,q,G,J=!1)=>{const H=v&&v.children,T=v?v.shapeFlag:0,A=m.children,{patchFlag:te,shapeFlag:ne}=m;if(te>0){if(te&128){U(H,A,g,k,L,R,q,G,J);return}else if(te&256){he(H,A,g,k,L,R,q,G,J);return}}ne&8?(T&16&&Z(H,L,R),A!==H&&c(g,A)):T&16?ne&16?U(H,A,g,k,L,R,q,G,J):Z(H,L,R,!0):(T&8&&c(g,""),ne&16&&D(A,g,k,L,R,q,G,J))},he=(v,m,g,k,L,R,q,G,J)=>{v=v||na,m=m||na;const H=v.length,T=m.length,A=Math.min(H,T);let te;for(te=0;teT?Z(v,L,R,!0,!1,A):D(m,g,k,L,R,q,G,J,A)},U=(v,m,g,k,L,R,q,G,J)=>{let H=0;const T=m.length;let A=v.length-1,te=T-1;for(;H<=A&&H<=te;){const ne=v[H],pe=m[H]=J?tn(m[H]):At(m[H]);if(Cn(ne,pe))C(ne,pe,g,null,L,R,q,G,J);else break;H++}for(;H<=A&&H<=te;){const ne=v[A],pe=m[te]=J?tn(m[te]):At(m[te]);if(Cn(ne,pe))C(ne,pe,g,null,L,R,q,G,J);else break;A--,te--}if(H>A){if(H<=te){const ne=te+1,pe=nete)for(;H<=A;)we(v[H],L,R,!0),H++;else{const ne=H,pe=H,xe=new Map;for(H=pe;H<=te;H++){const lt=m[H]=J?tn(m[H]):At(m[H]);lt.key!=null&&xe.set(lt.key,H)}let ye,Ie=0;const ct=te-pe+1;let $n=!1,gl=0;const va=new Array(ct);for(H=0;H=ct){we(lt,L,R,!0);continue}let Dt;if(lt.key!=null)Dt=xe.get(lt.key);else for(ye=pe;ye<=te;ye++)if(va[ye-pe]===0&&Cn(lt,m[ye])){Dt=ye;break}Dt===void 0?we(lt,L,R,!0):(va[Dt-pe]=H+1,Dt>=gl?gl=Dt:$n=!0,C(lt,m[Dt],g,null,L,R,q,G,J),Ie++)}const pl=$n?Db(va):na;for(ye=pl.length-1,H=ct-1;H>=0;H--){const lt=pe+H,Dt=m[lt],hl=lt+1{const{el:R,type:q,transition:G,children:J,shapeFlag:H}=v;if(H&6){ge(v.component.subTree,m,g,k);return}if(H&128){v.suspense.move(m,g,k);return}if(H&64){q.move(v,m,g,re);return}if(q===st){a(R,m,g);for(let A=0;AG.enter(R),L);else{const{leave:A,delayLeave:te,afterLeave:ne}=G,pe=()=>a(R,m,g),xe=()=>{A(R,()=>{pe(),ne&&ne()})};te?te(R,pe,xe):xe()}else a(R,m,g)},we=(v,m,g,k=!1,L=!1)=>{const{type:R,props:q,ref:G,children:J,dynamicChildren:H,shapeFlag:T,patchFlag:A,dirs:te}=v;if(G!=null&&ws(G,null,g,v,!0),T&256){m.ctx.deactivate(v);return}const ne=T&1&&te,pe=!ia(v);let xe;if(pe&&(xe=q&&q.onVnodeBeforeUnmount)&&ft(xe,m,v),T&6)B(v.component,g,k);else{if(T&128){v.suspense.unmount(g,k);return}ne&&kn(v,null,m,"beforeUnmount"),T&64?v.type.remove(v,m,g,L,re,k):H&&(R!==st||A>0&&A&64)?Z(H,m,g,!1,!0):(R===st&&A&384||!L&&T&16)&&Z(J,m,g),k&&Se(v)}(pe&&(xe=q&&q.onVnodeUnmounted)||ne)&&Ye(()=>{xe&&ft(xe,m,v),ne&&kn(v,null,m,"unmounted")},g)},Se=v=>{const{type:m,el:g,anchor:k,transition:L}=v;if(m===st){Ue(g,k);return}if(m===Vr){w(v);return}const R=()=>{r(g),L&&!L.persisted&&L.afterLeave&&L.afterLeave()};if(v.shapeFlag&1&&L&&!L.persisted){const{leave:q,delayLeave:G}=L,J=()=>q(g,R);G?G(v.el,R,J):J()}else R()},Ue=(v,m)=>{let g;for(;v!==m;)g=d(v),r(v),v=g;r(m)},B=(v,m,g)=>{const{bum:k,scope:L,update:R,subTree:q,um:G}=v;k&&Ma(k),L.stop(),R&&(R.active=!1,we(q,v,m,g)),G&&Ye(G,m),Ye(()=>{v.isUnmounted=!0},m),m&&m.pendingBranch&&!m.isUnmounted&&v.asyncDep&&!v.asyncResolved&&v.suspenseId===m.pendingId&&(m.deps--,m.deps===0&&m.resolve())},Z=(v,m,g,k=!1,L=!1,R=0)=>{for(let q=R;qv.shapeFlag&6?Y(v.component.subTree):v.shapeFlag&128?v.suspense.next():d(v.anchor||v.el),W=(v,m,g)=>{v==null?m._vnode&&we(m._vnode,null,null,!0):C(m._vnode||null,v,m,null,null,null,g),Cl(),Dd(),m._vnode=v},re={p:C,um:we,m:ge,r:Se,mt:I,mc:D,pc:Q,pbc:V,n:Y,o:e};let be,ie;return t&&([be,ie]=t(re)),{render:W,hydrate:be,createApp:Cb(W,be)}}function wn({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function Do(e,t,n=!1){const a=e.children,r=t.children;if(oe(a)&&oe(r))for(let i=0;i>1,e[n[o]]0&&(t[a]=n[i-1]),n[i]=a)}}for(i=n.length,s=n[i-1];i-- >0;)n[i]=s,s=t[s];return n}const Lb=e=>e.__isTeleport,Ia=e=>e&&(e.disabled||e.disabled===""),Rl=e=>typeof SVGElement<"u"&&e instanceof SVGElement,_s=(e,t)=>{const n=e&&e.to;return Re(n)?t?t(n):null:n},Tb={__isTeleport:!0,process(e,t,n,a,r,i,s,o,l,u){const{mc:c,pc:f,pbc:d,o:{insert:p,querySelector:b,createText:C,createComment:x}}=u,y=Ia(t.props);let{shapeFlag:h,children:_,dynamicChildren:w}=t;if(e==null){const E=t.el=C(""),S=t.anchor=C("");p(E,n,a),p(S,n,a);const P=t.target=_s(t.props,b),D=t.targetAnchor=C("");P&&(p(D,P),s=s||Rl(P));const N=(V,F)=>{h&16&&c(_,V,F,r,i,s,o,l)};y?N(n,S):P&&N(P,D)}else{t.el=e.el;const E=t.anchor=e.anchor,S=t.target=e.target,P=t.targetAnchor=e.targetAnchor,D=Ia(e.props),N=D?n:S,V=D?E:P;if(s=s||Rl(S),w?(d(e.dynamicChildren,w,N,r,i,s,o),Do(e,t,!0)):l||f(e,t,N,V,r,i,s,o,!1),y)D||kr(t,n,E,u,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const F=t.target=_s(t.props,b);F&&kr(t,F,null,u,0)}else D&&kr(t,S,P,u,1)}},remove(e,t,n,a,{um:r,o:{remove:i}},s){const{shapeFlag:o,children:l,anchor:u,targetAnchor:c,target:f,props:d}=e;if(f&&i(c),(s||!Ia(d))&&(i(u),o&16))for(let p=0;p0?Et||na:null,Nb(),Ja>0&&Et&&Et.push(e),e}function vP(e,t,n,a,r,i){return Zd(em(e,t,n,a,r,i,!0))}function ei(e,t,n,a,r){return Zd(Me(e,t,n,a,r,!0))}function Ya(e){return e?e.__v_isVNode===!0:!1}function Cn(e,t){return e.type===t.type&&e.key===t.key}const wi="__vInternal",Xd=({key:e})=>e!=null?e:null,Rr=({ref:e,ref_key:t,ref_for:n})=>e!=null?Re(e)||Ve(e)||me(e)?{i:et,r:e,k:t,f:!!n}:e:null;function em(e,t=null,n=null,a=0,r=null,i=e===st?0:1,s=!1,o=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Xd(t),ref:t&&Rr(t),scopeId:bi,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:a,dynamicProps:r,dynamicChildren:null,appContext:null};return o?(Lo(l,n),i&128&&e.normalize(l)):n&&(l.shapeFlag|=Re(n)?8:16),Ja>0&&!s&&Et&&(l.patchFlag>0||i&6)&&l.patchFlag!==32&&Et.push(l),l}const Me=Mb;function Mb(e,t=null,n=null,a=0,r=null,i=!1){if((!e||e===$d)&&(e=yt),Ya(e)){const o=Kt(e,t,!0);return n&&Lo(o,n),Ja>0&&!i&&Et&&(o.shapeFlag&6?Et[Et.indexOf(e)]=o:Et.push(o)),o.patchFlag|=-2,o}if(Gb(e)&&(e=e.__vccOpts),t){t=Ib(t);let{class:o,style:l}=t;o&&!Re(o)&&(t.class=ui(o)),Ne(l)&&(vd(l)&&!oe(l)&&(l=We({},l)),t.style=li(l))}const s=Re(e)?1:Ad(e)?128:Lb(e)?64:Ne(e)?4:me(e)?2:0;return em(e,t,n,a,r,s,i,!0)}function Ib(e){return e?vd(e)||wi in e?We({},e):e:null}function Kt(e,t,n=!1){const{props:a,ref:r,patchFlag:i,children:s}=e,o=t?Ob(a||{},t):a;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:o,key:o&&Xd(o),ref:t&&t.ref?n&&r?oe(r)?r.concat(Rr(t)):[r,Rr(t)]:Rr(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:s,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==st?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Kt(e.ssContent),ssFallback:e.ssFallback&&Kt(e.ssFallback),el:e.el,anchor:e.anchor}}function Vb(e=" ",t=0){return Me(ki,null,e,t)}function kP(e,t){const n=Me(Vr,null,e);return n.staticCount=t,n}function Rb(e="",t=!1){return t?(Xr(),ei(yt,null,e)):Me(yt,null,e)}function At(e){return e==null||typeof e=="boolean"?Me(yt):oe(e)?Me(st,null,e.slice()):typeof e=="object"?tn(e):Me(ki,null,String(e))}function tn(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Kt(e)}function Lo(e,t){let n=0;const{shapeFlag:a}=e;if(t==null)t=null;else if(oe(t))n=16;else if(typeof t=="object")if(a&65){const r=t.default;r&&(r._c&&(r._d=!1),Lo(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!(wi in t)?t._ctx=et:r===3&&et&&(et.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else me(t)?(t={default:t,_ctx:et},n=32):(t=String(t),a&64?(n=16,t=[Vb(t)]):n=8);e.children=t,e.shapeFlag|=n}function Ob(...e){const t={};for(let n=0;n$e||et,la=e=>{$e=e,e.scope.on()},jn=()=>{$e&&$e.scope.off(),$e=null};function tm(e){return e.vnode.shapeFlag&4}let ua=!1;function Hb(e,t=!1){ua=t;const{props:n,children:a}=e.vnode,r=tm(e);vb(e,n,r,t),_b(e,a);const i=r?$b(e,t):void 0;return ua=!1,i}function $b(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=qt(new Proxy(e.ctx,fb));const{setup:a}=n;if(a){const r=e.setupContext=a.length>1?Kb(e):null;la(e),ga();const i=mn(a,e,0,[e.props,r]);if(pa(),jn(),ad(i)){if(i.then(jn,jn),t)return i.then(s=>{zl(e,s,t)}).catch(s=>{rr(s,e,0)});e.asyncDep=i}else zl(e,i,t)}else nm(e,t)}function zl(e,t,n){me(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ne(t)&&(e.setupState=Ed(t)),nm(e,n)}let Fl;function nm(e,t,n){const a=e.type;if(!e.render){if(!t&&Fl&&!a.render){const r=a.template||xo(e).template;if(r){const{isCustomElement:i,compilerOptions:s}=e.appContext.config,{delimiters:o,compilerOptions:l}=a,u=We(We({isCustomElement:i,delimiters:o},s),l);a.render=Fl(r,u)}}e.render=a.render||xt}la(e),ga(),gb(e),pa(),jn()}function qb(e){return new Proxy(e.attrs,{get(t,n){return ut(e,"get","$attrs"),t[n]}})}function Kb(e){const t=a=>{e.exposed=a||{}};let n;return{get attrs(){return n||(n=qb(e))},slots:e.slots,emit:e.emit,expose:t}}function _i(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Ed(qt(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Qr)return Qr[n](e)}}))}function Ss(e,t=!0){return me(e)?e.displayName||e.name:e.name||t&&e.__name}function Gb(e){return me(e)&&"__vccOpts"in e}const j=(e,t)=>Kh(e,t,ua);function z(e,t,n){const a=arguments.length;return a===2?Ne(t)&&!oe(t)?Ya(t)?Me(e,null,[t]):Me(e,t):Me(e,null,t):(a>3?n=Array.prototype.slice.call(arguments,2):a===3&&Ya(n)&&(n=[n]),Me(e,t,n))}const Wb="3.2.41",Ub="http://www.w3.org/2000/svg",xn=typeof document<"u"?document:null,Bl=xn&&xn.createElement("template"),Jb={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,a)=>{const r=t?xn.createElementNS(Ub,e):xn.createElement(e,n?{is:n}:void 0);return e==="select"&&a&&a.multiple!=null&&r.setAttribute("multiple",a.multiple),r},createText:e=>xn.createTextNode(e),createComment:e=>xn.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>xn.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,a,r,i){const s=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{Bl.innerHTML=a?`${e}`:e;const o=Bl.content;if(a){const l=o.firstChild;for(;l.firstChild;)o.appendChild(l.firstChild);o.removeChild(l)}t.insertBefore(o,n)}return[s?s.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};function Yb(e,t,n){const a=e._vtc;a&&(t=(t?[t,...a]:[...a]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}function Qb(e,t,n){const a=e.style,r=Re(n);if(n&&!r){for(const i in n)Es(a,i,n[i]);if(t&&!Re(t))for(const i in t)n[i]==null&&Es(a,i,"")}else{const i=a.display;r?t!==n&&(a.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(a.display=i)}}const Hl=/\s*!important$/;function Es(e,t,n){if(oe(n))n.forEach(a=>Es(e,t,a));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const a=Zb(e,t);Hl.test(n)?e.setProperty(Rn(a),n.replace(Hl,""),"important"):e[a]=n}}const $l=["Webkit","Moz","ms"],Ki={};function Zb(e,t){const n=Ki[t];if(n)return n;let a=Vt(t);if(a!=="filter"&&a in e)return Ki[t]=a;a=fi(a);for(let r=0;r<$l.length;r++){const i=$l[r]+a;if(i in e)return Ki[t]=i}return t}const ql="http://www.w3.org/1999/xlink";function Xb(e,t,n,a,r){if(a&&t.startsWith("xlink:"))n==null?e.removeAttributeNS(ql,t.slice(6,t.length)):e.setAttributeNS(ql,t,n);else{const i=th(t);n==null||i&&!ed(n)?e.removeAttribute(t):e.setAttribute(t,i?"":n)}}function ey(e,t,n,a,r,i,s){if(t==="innerHTML"||t==="textContent"){a&&s(a,r,i),e[t]=n==null?"":n;return}if(t==="value"&&e.tagName!=="PROGRESS"&&!e.tagName.includes("-")){e._value=n;const l=n==null?"":n;(e.value!==l||e.tagName==="OPTION")&&(e.value=l),n==null&&e.removeAttribute(t);return}let o=!1;if(n===""||n==null){const l=typeof e[t];l==="boolean"?n=ed(n):n==null&&l==="string"?(n="",o=!0):l==="number"&&(n=0,o=!0)}try{e[t]=n}catch{}o&&e.removeAttribute(t)}function ty(e,t,n,a){e.addEventListener(t,n,a)}function ny(e,t,n,a){e.removeEventListener(t,n,a)}function ay(e,t,n,a,r=null){const i=e._vei||(e._vei={}),s=i[t];if(a&&s)s.value=a;else{const[o,l]=ry(t);if(a){const u=i[t]=oy(a,r);ty(e,o,u,l)}else s&&(ny(e,o,s,l),i[t]=void 0)}}const Kl=/(?:Once|Passive|Capture)$/;function ry(e){let t;if(Kl.test(e)){t={};let a;for(;a=e.match(Kl);)e=e.slice(0,e.length-a[0].length),t[a[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):Rn(e.slice(2)),t]}let Gi=0;const iy=Promise.resolve(),sy=()=>Gi||(iy.then(()=>Gi=0),Gi=Date.now());function oy(e,t){const n=a=>{if(!a._vts)a._vts=Date.now();else if(a._vts<=n.attached)return;ht(ly(a,n.value),t,5,[a])};return n.value=e,n.attached=sy(),n}function ly(e,t){if(oe(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(a=>r=>!r._stopped&&a&&a(r))}else return t}const Gl=/^on[a-z]/,uy=(e,t,n,a,r=!1,i,s,o,l)=>{t==="class"?Yb(e,a,r):t==="style"?Qb(e,n,a):ci(t)?lo(t)||ay(e,t,n,a,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):cy(e,t,a,r))?ey(e,t,a,i,s,o,l):(t==="true-value"?e._trueValue=a:t==="false-value"&&(e._falseValue=a),Xb(e,t,a,r))};function cy(e,t,n,a){return a?!!(t==="innerHTML"||t==="textContent"||t in e&&Gl.test(t)&&me(n)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||Gl.test(t)&&Re(n)?!1:t in e}const Yt="transition",ka="animation",Vn=(e,{slots:t})=>z(Id,rm(e),t);Vn.displayName="Transition";const am={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},dy=Vn.props=We({},Id.props,am),_n=(e,t=[])=>{oe(e)?e.forEach(n=>n(...t)):e&&e(...t)},Wl=e=>e?oe(e)?e.some(t=>t.length>1):e.length>1:!1;function rm(e){const t={};for(const M in e)M in am||(t[M]=e[M]);if(e.css===!1)return t;const{name:n="v",type:a,duration:r,enterFromClass:i=`${n}-enter-from`,enterActiveClass:s=`${n}-enter-active`,enterToClass:o=`${n}-enter-to`,appearFromClass:l=i,appearActiveClass:u=s,appearToClass:c=o,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:d=`${n}-leave-active`,leaveToClass:p=`${n}-leave-to`}=e,b=my(r),C=b&&b[0],x=b&&b[1],{onBeforeEnter:y,onEnter:h,onEnterCancelled:_,onLeave:w,onLeaveCancelled:E,onBeforeAppear:S=y,onAppear:P=h,onAppearCancelled:D=_}=t,N=(M,K,I)=>{en(M,K?c:o),en(M,K?u:s),I&&I()},V=(M,K)=>{M._isLeaving=!1,en(M,f),en(M,p),en(M,d),K&&K()},F=M=>(K,I)=>{const ee=M?P:h,ae=()=>N(K,M,I);_n(ee,[K,ae]),Ul(()=>{en(K,M?l:i),Ft(K,M?c:o),Wl(ee)||Jl(K,a,C,ae)})};return We(t,{onBeforeEnter(M){_n(y,[M]),Ft(M,i),Ft(M,s)},onBeforeAppear(M){_n(S,[M]),Ft(M,l),Ft(M,u)},onEnter:F(!1),onAppear:F(!0),onLeave(M,K){M._isLeaving=!0;const I=()=>V(M,K);Ft(M,f),sm(),Ft(M,d),Ul(()=>{!M._isLeaving||(en(M,f),Ft(M,p),Wl(w)||Jl(M,a,x,I))}),_n(w,[M,I])},onEnterCancelled(M){N(M,!1),_n(_,[M])},onAppearCancelled(M){N(M,!0),_n(D,[M])},onLeaveCancelled(M){V(M),_n(E,[M])}})}function my(e){if(e==null)return null;if(Ne(e))return[Wi(e.enter),Wi(e.leave)];{const t=Wi(e);return[t,t]}}function Wi(e){return sd(e)}function Ft(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e._vtc||(e._vtc=new Set)).add(t)}function en(e,t){t.split(/\s+/).forEach(a=>a&&e.classList.remove(a));const{_vtc:n}=e;n&&(n.delete(t),n.size||(e._vtc=void 0))}function Ul(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let fy=0;function Jl(e,t,n,a){const r=e._endId=++fy,i=()=>{r===e._endId&&a()};if(n)return setTimeout(i,n);const{type:s,timeout:o,propCount:l}=im(e,t);if(!s)return a();const u=s+"end";let c=0;const f=()=>{e.removeEventListener(u,d),i()},d=p=>{p.target===e&&++c>=l&&f()};setTimeout(()=>{c(n[b]||"").split(", "),r=a(Yt+"Delay"),i=a(Yt+"Duration"),s=Yl(r,i),o=a(ka+"Delay"),l=a(ka+"Duration"),u=Yl(o,l);let c=null,f=0,d=0;t===Yt?s>0&&(c=Yt,f=s,d=i.length):t===ka?u>0&&(c=ka,f=u,d=l.length):(f=Math.max(s,u),c=f>0?s>u?Yt:ka:null,d=c?c===Yt?i.length:l.length:0);const p=c===Yt&&/\b(transform|all)(,|$)/.test(n[Yt+"Property"]);return{type:c,timeout:f,propCount:d,hasTransform:p}}function Yl(e,t){for(;e.lengthQl(n)+Ql(e[a])))}function Ql(e){return Number(e.slice(0,-1).replace(",","."))*1e3}function sm(){return document.body.offsetHeight}const om=new WeakMap,lm=new WeakMap,gy={name:"TransitionGroup",props:We({},dy,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=Le(),a=Md();let r,i;return So(()=>{if(!r.length)return;const s=e.moveClass||`${e.name||"v"}-move`;if(!vy(r[0].el,n.vnode.el,s))return;r.forEach(hy),r.forEach(by);const o=r.filter(yy);sm(),o.forEach(l=>{const u=l.el,c=u.style;Ft(u,s),c.transform=c.webkitTransform=c.transitionDuration="";const f=u._moveCb=d=>{d&&d.target!==u||(!d||/transform$/.test(d.propertyName))&&(u.removeEventListener("transitionend",f),u._moveCb=null,en(u,s))};u.addEventListener("transitionend",f)})}),()=>{const s=fe(e),o=rm(s);let l=s.tag||st;r=i,i=t.default?_o(t.default()):[];for(let u=0;u{s.split(/\s+/).forEach(o=>o&&a.classList.remove(o))}),n.split(/\s+/).forEach(s=>s&&a.classList.add(s)),a.style.display="none";const r=t.nodeType===1?t:t.parentNode;r.appendChild(a);const{hasTransform:i}=im(a);return r.removeChild(a),i}const ky=["ctrl","shift","alt","meta"],wy={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>ky.some(n=>e[`${n}Key`]&&!t.includes(n))},wP=(e,t)=>(n,...a)=>{for(let r=0;rn=>{if(!("key"in n))return;const a=Rn(n.key);if(t.some(r=>r===a||_y[r]===a))return e(n)},SP={beforeMount(e,{value:t},{transition:n}){e._vod=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):wa(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:a}){!t!=!n&&(a?t?(a.beforeEnter(e),wa(e,!0),a.enter(e)):a.leave(e,()=>{wa(e,!1)}):wa(e,t))},beforeUnmount(e,{value:t}){wa(e,t)}};function wa(e,t){e.style.display=t?e._vod:"none"}const Sy=We({patchProp:uy},Jb);let Zl;function Ey(){return Zl||(Zl=xb(Sy))}const um=(...e)=>{const t=Ey().createApp(...e),{mount:n}=t;return t.mount=a=>{const r=Cy(a);if(!r)return;const i=t._component;!me(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.innerHTML="";const s=n(r,!1,r instanceof SVGElement);return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),s},t};function Cy(e){return Re(e)?document.querySelector(e):e}const xy="modulepreload",Py=function(e,t){return new URL(e,t).href},Xl={},de=function(t,n,a){return!n||n.length===0?t():Promise.all(n.map(r=>{if(r=Py(r,a),r in Xl)return;Xl[r]=!0;const i=r.endsWith(".css"),s=i?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${r}"]${s}`))return;const o=document.createElement("link");if(o.rel=i?"stylesheet":xy,i||(o.as="script",o.crossOrigin=""),o.href=r,document.head.appendChild(o),i)return new Promise((l,u)=>{o.addEventListener("load",l),o.addEventListener("error",()=>u(new Error(`Unable to preload CSS for ${r}`)))})})).then(()=>t())};var Dy=!1;/*! - * pinia v2.0.23 - * (c) 2022 Eduardo San Martin Morote - * @license MIT - */let cm;const Si=e=>cm=e,dm=Symbol();function Cs(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Ra;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Ra||(Ra={}));function Ly(){const e=fo(!0),t=e.run(()=>se({}));let n=[],a=[];const r=qt({install(i){Si(r),r._a=i,i.provide(dm,r),i.config.globalProperties.$pinia=r,a.forEach(s=>n.push(s)),a=[]},use(i){return!this._a&&!Dy?a.push(i):n.push(i),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return r}const mm=()=>{};function eu(e,t,n,a=mm){e.push(t);const r=()=>{const i=e.indexOf(t);i>-1&&(e.splice(i,1),a())};return!n&&Le()&&or(r),r}function Kn(e,...t){e.slice().forEach(n=>{n(...t)})}function xs(e,t){e instanceof Map&&t instanceof Map&&t.forEach((n,a)=>e.set(a,n)),e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const a=t[n],r=e[n];Cs(r)&&Cs(a)&&e.hasOwnProperty(n)&&!Ve(a)&&!dn(a)?e[n]=xs(r,a):e[n]=a}return e}const Ty=Symbol();function Ay(e){return!Cs(e)||!e.hasOwnProperty(Ty)}const{assign:nn}=Object;function jy(e){return!!(Ve(e)&&e.effect)}function Ny(e,t,n,a){const{state:r,actions:i,getters:s}=t,o=n.state.value[e];let l;function u(){o||(n.state.value[e]=r?r():{});const c=Bh(n.state.value[e]);return nn(c,i,Object.keys(s||{}).reduce((f,d)=>(f[d]=qt(j(()=>{Si(n);const p=n._s.get(e);return s[d].call(p,p)})),f),{}))}return l=fm(e,u,t,n,a,!0),l.$reset=function(){const f=r?r():{};this.$patch(d=>{nn(d,f)})},l}function fm(e,t,n={},a,r,i){let s;const o=nn({actions:{}},n),l={deep:!0};let u,c,f=qt([]),d=qt([]),p;const b=a.state.value[e];!i&&!b&&(a.state.value[e]={}),se({});let C;function x(P){let D;u=c=!1,typeof P=="function"?(P(a.state.value[e]),D={type:Ra.patchFunction,storeId:e,events:p}):(xs(a.state.value[e],P),D={type:Ra.patchObject,payload:P,storeId:e,events:p});const N=C=Symbol();Xe().then(()=>{C===N&&(u=!0)}),c=!0,Kn(f,D,a.state.value[e])}const y=mm;function h(){s.stop(),f=[],d=[],a._s.delete(e)}function _(P,D){return function(){Si(a);const N=Array.from(arguments),V=[],F=[];function M(ee){V.push(ee)}function K(ee){F.push(ee)}Kn(d,{args:N,name:P,store:E,after:M,onError:K});let I;try{I=D.apply(this&&this.$id===e?this:E,N)}catch(ee){throw Kn(F,ee),ee}return I instanceof Promise?I.then(ee=>(Kn(V,ee),ee)).catch(ee=>(Kn(F,ee),Promise.reject(ee))):(Kn(V,I),I)}}const w={_p:a,$id:e,$onAction:eu.bind(null,d),$patch:x,$reset:y,$subscribe(P,D={}){const N=eu(f,P,D.detached,()=>V()),V=s.run(()=>Pe(()=>a.state.value[e],F=>{(D.flush==="sync"?c:u)&&P({storeId:e,type:Ra.direct,events:p},F)},nn({},l,D)));return N},$dispose:h},E=hn(w);a._s.set(e,E);const S=a._e.run(()=>(s=fo(),s.run(()=>t())));for(const P in S){const D=S[P];if(Ve(D)&&!jy(D)||dn(D))i||(b&&Ay(D)&&(Ve(D)?D.value=b[P]:xs(D,b[P])),a.state.value[e][P]=D);else if(typeof D=="function"){const N=_(P,D);S[P]=N,o.actions[P]=D}}return nn(E,S),nn(fe(E),S),Object.defineProperty(E,"$state",{get:()=>a.state.value[e],set:P=>{x(D=>{nn(D,P)})}}),a._p.forEach(P=>{nn(E,s.run(()=>P({store:E,app:a._a,pinia:a,options:o})))}),b&&i&&n.hydrate&&n.hydrate(E.$state,b),u=!0,c=!0,E}function To(e,t,n){let a,r;const i=typeof t=="function";typeof e=="string"?(a=e,r=i?n:t):(r=e,a=e.id);function s(o,l){const u=Le();return o=o||u&&bt(dm),o&&Si(o),o=cm,o._s.has(a)||(i?fm(a,t,r,o):Ny(a,r,o)),o._s.get(a)}return s.$id=a,s}function EP(e,t){return Array.isArray(t)?t.reduce((n,a)=>(n[a]=function(){return e(this.$pinia)[a]},n),{}):Object.keys(t).reduce((n,a)=>(n[a]=function(){const r=e(this.$pinia),i=t[a];return typeof i=="function"?i.call(this,r):r[i]},n),{})}function My(e,t){return Array.isArray(t)?t.reduce((n,a)=>(n[a]=function(...r){return e(this.$pinia)[a](...r)},n),{}):Object.keys(t).reduce((n,a)=>(n[a]=function(...r){return e(this.$pinia)[t[a]](...r)},n),{})}function CP(e,t){return Array.isArray(t)?t.reduce((n,a)=>(n[a]={get(){return e(this.$pinia)[a]},set(r){return e(this.$pinia)[a]=r}},n),{}):Object.keys(t).reduce((n,a)=>(n[a]={get(){return e(this.$pinia)[t[a]]},set(r){return e(this.$pinia)[t[a]]=r}},n),{})}const gm=To("app",{state:()=>({setupMode:!1}),getters:{},actions:{UPDATE_SETUP_MODE(e){this.setupMode=e}}});function pm(e,t,n=document.body){if(typeof e!="string")throw new TypeError("Expected a string as propName");if(typeof t!="string")throw new TypeError("Expected a string as value");if(!(n instanceof Element))throw new TypeError("Expected a DOM element");n.style.setProperty(`--q-${e}`,t)}const Iy=(e,t)=>{const n=e.__vccOpts||e;for(const[a,r]of t)n[a]=r;return n},Vy=Rd(()=>de(()=>import("./LayoutFull.6bfc30db.js"),["LayoutFull.6bfc30db.js","QLayout.baf5346d.js","QResizeObserver.2503502b.js","externalHosting.js"],import.meta.url)),Ry=Rd(()=>de(()=>import("./LayoutVertical.fe3b4c68.js"),["LayoutVertical.fe3b4c68.js","LayoutVertical.cefc75f1.css","QTooltip.9d840032.js","position-engine.65ebcb34.js","selection.2a17b691.js","QResizeObserver.2503502b.js","QList.9d5bb77f.js","TouchPan.194313dc.js","touch.70a9dd44.js","QItemLabel.b6dd3adb.js","QLayout.baf5346d.js","utils.9ce591f3.js","QExpansionItem.593bd861.js","QSlideTransition.104e08c1.js","QForm.8d79ab03.js","externalHosting.js"],import.meta.url)),Oy={name:"App",components:{LayoutFull:Vy,LayoutVertical:Ry},data(){return{loading:!0}},computed:{layout(){return this.$route.meta.layout==="full"?"layout-full":"layout-vertical"}},methods:{...My(gm,["UPDATE_SETUP_MODE"])},async beforeCreate(){await this.$axios.get("/init").then(e=>{if(this.loading=!1,e.data.setup){this.UPDATE_SETUP_MODE(!0),this.$router.push({name:"setup"});return}if(e.data.appData.colors)for(const[t,n]of Object.entries(e.data.appData.colors))pm(t,n.value);this.$i18n.locale=e.data.appData.lang}).catch(e=>{this.$router.push({name:"auth-login"}),this.loading=!1}),this.$socket.connect()}};function zy(e,t,n,a,r,i){const s=mb("router-view");return r.loading?Rb("",!0):(Xr(),ei(Ll(i.layout),{key:0},{default:Mr(()=>[Me(s,null,{default:Mr(({Component:o,route:l})=>[Me(Vn,{name:"scale",mode:"out-in"},{default:Mr(()=>[(Xr(),ei(Ll(o),{key:l.path}))]),_:2},1024)]),_:1})]),_:1}))}const Fy=Iy(Oy,[["render",zy]]),By={beforeCreate(){this.sockets||(this.sockets={}),this.sockets.subscribe=(e,t)=>{this.$vueSocketIo.emitter.addListener(e,t,this)},this.sockets.unsubscribe=e=>{this.$vueSocketIo.emitter.removeListener(e,this)}},mounted(){this.$options.sockets&&Object.keys(this.$options.sockets).forEach(e=>{e!=="subscribe"&&e!=="unsubscribe"&&this.$vueSocketIo.emitter.addListener(e,this.$options.sockets[e],this)})},beforeDestroy(){this.$options.sockets&&Object.keys(this.$options.sockets).forEach(e=>{this.$vueSocketIo.emitter.removeListener(e,this)})}},gt=new class{constructor(){this.debug=!1,this.prefix="%cVue-Socket.io: "}info(t,n=""){this.debug&&window.console.info(this.prefix+`%c${t}`,"color: blue; font-weight: 600","color: #333333",n)}error(){this.debug&&window.console.error(this.prefix,...arguments)}warn(){this.debug&&window.console.warn(this.prefix,...arguments)}event(t,n=""){this.debug&&window.console.info(this.prefix+`%c${t}`,"color: blue; font-weight: 600","color: #333333",n)}},fl=class{constructor(t,n){this.io=t,this.register(),this.emitter=n}register(){this.io.onevent=t=>{let[n,...a]=t.data;a.length===1&&(a=a[0]),this.onEvent(n,a)},fl.staticEvents.forEach(t=>this.io.on(t,n=>this.onEvent(t,n)))}onEvent(t,n){this.emitter.emit(t,n)}};let Or=fl;qn(Or,"staticEvents",["connect","error","disconnect","reconnect","reconnect_attempt","reconnecting","reconnect_error","reconnect_failed","connect_error","connect_timeout","connecting","ping","pong"]);class Hy{constructor(t={}){gt.info(t?"Vuex adapter enabled":"Vuex adapter disabled"),gt.info(t.mutationPrefix?"Vuex socket mutations enabled":"Vuex socket mutations disabled"),gt.info(t?"Vuex socket actions enabled":"Vuex socket actions disabled"),this.store=t.store,this.actionPrefix=t.actionPrefix?t.actionPrefix:"SOCKET_",this.mutationPrefix=t.mutationPrefix,this.listeners=new Map}addListener(t,n,a){if(typeof n=="function")this.listeners.has(t)||this.listeners.set(t,[]),this.listeners.get(t).push({callback:n,component:a}),gt.info(`#${t} subscribe, component: ${a.$options.name}`);else throw new Error("callback must be a function")}removeListener(t,n){if(this.listeners.has(t)){const a=this.listeners.get(t).filter(r=>r.component!==n);a.length>0?this.listeners.set(t,a):this.listeners.delete(t),gt.info(`#${t} unsubscribe, component: ${n.$options.name}`)}}emit(t,n){this.listeners.has(t)&&(gt.info(`Broadcasting: #${t}, Data:`,n),this.listeners.get(t).forEach(a=>{a.callback.call(a.component,n)})),t!=="ping"&&t!=="pong"&&this.dispatchStore(t,n)}dispatchStore(t,n){if(this.store&&this.store._actions){let a=this.actionPrefix+t;for(let r in this.store._actions)r.split("/").pop()===a&&(gt.info(`Dispatching Action: ${r}, Data:`,n),this.store.dispatch(r,n));if(this.mutationPrefix){let r=this.mutationPrefix+t;for(let i in this.store._mutations)i.split("/").pop()===r&&(gt.info(`Commiting Mutation: ${i}, Data:`,n),this.store.commit(i,n))}}}}const Rt=Object.create(null);Rt.open="0";Rt.close="1";Rt.ping="2";Rt.pong="3";Rt.message="4";Rt.upgrade="5";Rt.noop="6";const zr=Object.create(null);Object.keys(Rt).forEach(e=>{zr[Rt[e]]=e});const $y={type:"error",data:"parser error"},qy=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",Ky=typeof ArrayBuffer=="function",Gy=e=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer,hm=({type:e,data:t},n,a)=>qy&&t instanceof Blob?n?a(t):tu(t,a):Ky&&(t instanceof ArrayBuffer||Gy(t))?n?a(t):tu(new Blob([t]),a):a(Rt[e]+(t||"")),tu=(e,t)=>{const n=new FileReader;return n.onload=function(){const a=n.result.split(",")[1];t("b"+a)},n.readAsDataURL(e)},nu="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Aa=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let e=0;e{let t=e.length*.75,n=e.length,a,r=0,i,s,o,l;e[e.length-1]==="="&&(t--,e[e.length-2]==="="&&t--);const u=new ArrayBuffer(t),c=new Uint8Array(u);for(a=0;a>4,c[r++]=(s&15)<<4|o>>2,c[r++]=(o&3)<<6|l&63;return u},Uy=typeof ArrayBuffer=="function",bm=(e,t)=>{if(typeof e!="string")return{type:"message",data:ym(e,t)};const n=e.charAt(0);return n==="b"?{type:"message",data:Jy(e.substring(1),t)}:zr[n]?e.length>1?{type:zr[n],data:e.substring(1)}:{type:zr[n]}:$y},Jy=(e,t)=>{if(Uy){const n=Wy(e);return ym(n,t)}else return{base64:!0,data:e}},ym=(e,t)=>{switch(t){case"blob":return e instanceof ArrayBuffer?new Blob([e]):e;case"arraybuffer":default:return e}},vm=String.fromCharCode(30),Yy=(e,t)=>{const n=e.length,a=new Array(n);let r=0;e.forEach((i,s)=>{hm(i,!1,o=>{a[s]=o,++r===n&&t(a.join(vm))})})},Qy=(e,t)=>{const n=e.split(vm),a=[];for(let r=0;rtypeof self<"u"?self:typeof window<"u"?window:Function("return this")())();function wm(e,...t){return t.reduce((n,a)=>(e.hasOwnProperty(a)&&(n[a]=e[a]),n),{})}const Xy=setTimeout,ev=clearTimeout;function Ei(e,t){t.useNativeTimers?(e.setTimeoutFn=Xy.bind(un),e.clearTimeoutFn=ev.bind(un)):(e.setTimeoutFn=setTimeout.bind(un),e.clearTimeoutFn=clearTimeout.bind(un))}const tv=1.33;function nv(e){return typeof e=="string"?av(e):Math.ceil((e.byteLength||e.size)*tv)}function av(e){let t=0,n=0;for(let a=0,r=e.length;a=57344?n+=3:(a++,n+=4);return n}class rv extends Error{constructor(t,n,a){super(t),this.description=n,this.context=a,this.type="TransportError"}}class _m extends ze{constructor(t){super(),this.writable=!1,Ei(this,t),this.opts=t,this.query=t.query,this.readyState="",this.socket=t.socket}onError(t,n,a){return super.emitReserved("error",new rv(t,n,a)),this}open(){return(this.readyState==="closed"||this.readyState==="")&&(this.readyState="opening",this.doOpen()),this}close(){return(this.readyState==="opening"||this.readyState==="open")&&(this.doClose(),this.onClose()),this}send(t){this.readyState==="open"&&this.write(t)}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(t){const n=bm(t,this.socket.binaryType);this.onPacket(n)}onPacket(t){super.emitReserved("packet",t)}onClose(t){this.readyState="closed",super.emitReserved("close",t)}}const Sm="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),Ps=64,iv={};let au=0,wr=0,ru;function iu(e){let t="";do t=Sm[e%Ps]+t,e=Math.floor(e/Ps);while(e>0);return t}function Em(){const e=iu(+new Date);return e!==ru?(au=0,ru=e):e+"."+iu(au++)}for(;wr{this.readyState="paused",t()};if(this.polling||!this.writable){let a=0;this.polling&&(a++,this.once("pollComplete",function(){--a||n()})),this.writable||(a++,this.once("drain",function(){--a||n()}))}else n()}poll(){this.polling=!0,this.doPoll(),this.emitReserved("poll")}onData(t){const n=a=>{if(this.readyState==="opening"&&a.type==="open"&&this.onOpen(),a.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(a)};Qy(t,this.socket.binaryType).forEach(n),this.readyState!=="closed"&&(this.polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"&&this.poll())}doClose(){const t=()=>{this.write([{type:"close"}])};this.readyState==="open"?t():this.once("open",t)}write(t){this.writable=!1,Yy(t,n=>{this.doWrite(n,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){let t=this.query||{};const n=this.opts.secure?"https":"http";let a="";this.opts.timestampRequests!==!1&&(t[this.opts.timestampParam]=Em()),!this.supportsBinary&&!t.sid&&(t.b64=1),this.opts.port&&(n==="https"&&Number(this.opts.port)!==443||n==="http"&&Number(this.opts.port)!==80)&&(a=":"+this.opts.port);const r=Cm(t),i=this.opts.hostname.indexOf(":")!==-1;return n+"://"+(i?"["+this.opts.hostname+"]":this.opts.hostname)+a+this.opts.path+(r.length?"?"+r:"")}request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts),new It(this.uri(),t)}doWrite(t,n){const a=this.request({method:"POST",data:t});a.on("success",n),a.on("error",(r,i)=>{this.onError("xhr post error",r,i)})}doPoll(){const t=this.request();t.on("data",this.onData.bind(this)),t.on("error",(n,a)=>{this.onError("xhr poll error",n,a)}),this.pollXhr=t}}class It extends ze{constructor(t,n){super(),Ei(this,n),this.opts=n,this.method=n.method||"GET",this.uri=t,this.async=n.async!==!1,this.data=n.data!==void 0?n.data:null,this.create()}create(){const t=wm(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");t.xdomain=!!this.opts.xd,t.xscheme=!!this.opts.xs;const n=this.xhr=new Pm(t);try{n.open(this.method,this.uri,this.async);try{if(this.opts.extraHeaders){n.setDisableHeaderCheck&&n.setDisableHeaderCheck(!0);for(let a in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(a)&&n.setRequestHeader(a,this.opts.extraHeaders[a])}}catch{}if(this.method==="POST")try{n.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{n.setRequestHeader("Accept","*/*")}catch{}"withCredentials"in n&&(n.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(n.timeout=this.opts.requestTimeout),n.onreadystatechange=()=>{n.readyState===4&&(n.status===200||n.status===1223?this.onLoad():this.setTimeoutFn(()=>{this.onError(typeof n.status=="number"?n.status:0)},0))},n.send(this.data)}catch(a){this.setTimeoutFn(()=>{this.onError(a)},0);return}typeof document<"u"&&(this.index=It.requestsCount++,It.requests[this.index]=this)}onError(t){this.emitReserved("error",t,this.xhr),this.cleanup(!0)}cleanup(t){if(!(typeof this.xhr>"u"||this.xhr===null)){if(this.xhr.onreadystatechange=lv,t)try{this.xhr.abort()}catch{}typeof document<"u"&&delete It.requests[this.index],this.xhr=null}}onLoad(){const t=this.xhr.responseText;t!==null&&(this.emitReserved("data",t),this.emitReserved("success"),this.cleanup())}abort(){this.cleanup()}}It.requestsCount=0;It.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",su);else if(typeof addEventListener=="function"){const e="onpagehide"in un?"pagehide":"unload";addEventListener(e,su,!1)}}function su(){for(let e in It.requests)It.requests.hasOwnProperty(e)&&It.requests[e].abort()}const Dm=(()=>typeof Promise=="function"&&typeof Promise.resolve=="function"?t=>Promise.resolve().then(t):(t,n)=>n(t,0))(),_r=un.WebSocket||un.MozWebSocket,ou=!0,dv="arraybuffer",lu=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class mv extends _m{constructor(t){super(t),this.supportsBinary=!t.forceBase64}get name(){return"websocket"}doOpen(){if(!this.check())return;const t=this.uri(),n=this.opts.protocols,a=lu?{}:wm(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(a.headers=this.opts.extraHeaders);try{this.ws=ou&&!lu?n?new _r(t,n):new _r(t):new _r(t,n,a)}catch(r){return this.emitReserved("error",r)}this.ws.binaryType=this.socket.binaryType||dv,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=t=>this.onClose({description:"websocket connection closed",context:t}),this.ws.onmessage=t=>this.onData(t.data),this.ws.onerror=t=>this.onError("websocket error",t)}write(t){this.writable=!1;for(let n=0;n{const s={};try{ou&&this.ws.send(i)}catch{}r&&Dm(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.close(),this.ws=null)}uri(){let t=this.query||{};const n=this.opts.secure?"wss":"ws";let a="";this.opts.port&&(n==="wss"&&Number(this.opts.port)!==443||n==="ws"&&Number(this.opts.port)!==80)&&(a=":"+this.opts.port),this.opts.timestampRequests&&(t[this.opts.timestampParam]=Em()),this.supportsBinary||(t.b64=1);const r=Cm(t),i=this.opts.hostname.indexOf(":")!==-1;return n+"://"+(i?"["+this.opts.hostname+"]":this.opts.hostname)+a+this.opts.path+(r.length?"?"+r:"")}check(){return!!_r}}const fv={websocket:mv,polling:cv},gv=/^(?:(?![^:@]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,pv=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function Ds(e){const t=e,n=e.indexOf("["),a=e.indexOf("]");n!=-1&&a!=-1&&(e=e.substring(0,n)+e.substring(n,a).replace(/:/g,";")+e.substring(a,e.length));let r=gv.exec(e||""),i={},s=14;for(;s--;)i[pv[s]]=r[s]||"";return n!=-1&&a!=-1&&(i.source=t,i.host=i.host.substring(1,i.host.length-1).replace(/;/g,":"),i.authority=i.authority.replace("[","").replace("]","").replace(/;/g,":"),i.ipv6uri=!0),i.pathNames=hv(i,i.path),i.queryKey=bv(i,i.query),i}function hv(e,t){const n=/\/{2,9}/g,a=t.replace(n,"/").split("/");return(t.slice(0,1)=="/"||t.length===0)&&a.splice(0,1),t.slice(-1)=="/"&&a.splice(a.length-1,1),a}function bv(e,t){const n={};return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(a,r,i){r&&(n[r]=i)}),n}class sn extends ze{constructor(t,n={}){super(),t&&typeof t=="object"&&(n=t,t=null),t?(t=Ds(t),n.hostname=t.host,n.secure=t.protocol==="https"||t.protocol==="wss",n.port=t.port,t.query&&(n.query=t.query)):n.host&&(n.hostname=Ds(n.host).host),Ei(this,n),this.secure=n.secure!=null?n.secure:typeof location<"u"&&location.protocol==="https:",n.hostname&&!n.port&&(n.port=this.secure?"443":"80"),this.hostname=n.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=n.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=n.transports||["polling","websocket"],this.readyState="",this.writeBuffer=[],this.prevBufferLen=0,this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!0},n),this.opts.path=this.opts.path.replace(/\/$/,"")+"/",typeof this.opts.query=="string"&&(this.opts.query=sv(this.opts.query)),this.id=null,this.upgrades=null,this.pingInterval=null,this.pingTimeout=null,this.pingTimeoutTimer=null,typeof addEventListener=="function"&&(this.opts.closeOnBeforeunload&&(this.beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this.beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(this.offlineEventListener=()=>{this.onClose("transport close",{description:"network connection lost"})},addEventListener("offline",this.offlineEventListener,!1))),this.open()}createTransport(t){const n=Object.assign({},this.opts.query);n.EIO=km,n.transport=t,this.id&&(n.sid=this.id);const a=Object.assign({},this.opts.transportOptions[t],this.opts,{query:n,socket:this,hostname:this.hostname,secure:this.secure,port:this.port});return new fv[t](a)}open(){let t;if(this.opts.rememberUpgrade&&sn.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1)t="websocket";else if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}else t=this.transports[0];this.readyState="opening";try{t=this.createTransport(t)}catch{this.transports.shift(),this.open();return}t.open(),this.setTransport(t)}setTransport(t){this.transport&&this.transport.removeAllListeners(),this.transport=t,t.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",n=>this.onClose("transport close",n))}probe(t){let n=this.createTransport(t),a=!1;sn.priorWebsocketSuccess=!1;const r=()=>{a||(n.send([{type:"ping",data:"probe"}]),n.once("packet",f=>{if(!a)if(f.type==="pong"&&f.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",n),!n)return;sn.priorWebsocketSuccess=n.name==="websocket",this.transport.pause(()=>{a||this.readyState!=="closed"&&(c(),this.setTransport(n),n.send([{type:"upgrade"}]),this.emitReserved("upgrade",n),n=null,this.upgrading=!1,this.flush())})}else{const d=new Error("probe error");d.transport=n.name,this.emitReserved("upgradeError",d)}}))};function i(){a||(a=!0,c(),n.close(),n=null)}const s=f=>{const d=new Error("probe error: "+f);d.transport=n.name,i(),this.emitReserved("upgradeError",d)};function o(){s("transport closed")}function l(){s("socket closed")}function u(f){n&&f.name!==n.name&&i()}const c=()=>{n.removeListener("open",r),n.removeListener("error",s),n.removeListener("close",o),this.off("close",l),this.off("upgrading",u)};n.once("open",r),n.once("error",s),n.once("close",o),this.once("close",l),this.once("upgrading",u),n.open()}onOpen(){if(this.readyState="open",sn.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush(),this.readyState==="open"&&this.opts.upgrade&&this.transport.pause){let t=0;const n=this.upgrades.length;for(;t{this.onClose("ping timeout")},this.pingInterval+this.pingTimeout),this.opts.autoUnref&&this.pingTimeoutTimer.unref()}onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const t=this.getWritablePackets();this.transport.send(t),this.prevBufferLen=t.length,this.emitReserved("flush")}}getWritablePackets(){if(!(this.maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let n=1;for(let a=0;a0&&n>this.maxPayload)return this.writeBuffer.slice(0,a);n+=2}return this.writeBuffer}write(t,n,a){return this.sendPacket("message",t,n,a),this}send(t,n,a){return this.sendPacket("message",t,n,a),this}sendPacket(t,n,a,r){if(typeof n=="function"&&(r=n,n=void 0),typeof a=="function"&&(r=a,a=null),this.readyState==="closing"||this.readyState==="closed")return;a=a||{},a.compress=a.compress!==!1;const i={type:t,data:n,options:a};this.emitReserved("packetCreate",i),this.writeBuffer.push(i),r&&this.once("flush",r),this.flush()}close(){const t=()=>{this.onClose("forced close"),this.transport.close()},n=()=>{this.off("upgrade",n),this.off("upgradeError",n),t()},a=()=>{this.once("upgrade",n),this.once("upgradeError",n)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?a():t()}):this.upgrading?a():t()),this}onError(t){sn.priorWebsocketSuccess=!1,this.emitReserved("error",t),this.onClose("transport error",t)}onClose(t,n){(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")&&(this.clearTimeoutFn(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),typeof removeEventListener=="function"&&(removeEventListener("beforeunload",this.beforeunloadEventListener,!1),removeEventListener("offline",this.offlineEventListener,!1)),this.readyState="closed",this.id=null,this.emitReserved("close",t,n),this.writeBuffer=[],this.prevBufferLen=0)}filterUpgrades(t){const n=[];let a=0;const r=t.length;for(;atypeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer,Lm=Object.prototype.toString,wv=typeof Blob=="function"||typeof Blob<"u"&&Lm.call(Blob)==="[object BlobConstructor]",_v=typeof File=="function"||typeof File<"u"&&Lm.call(File)==="[object FileConstructor]";function Ao(e){return vv&&(e instanceof ArrayBuffer||kv(e))||wv&&e instanceof Blob||_v&&e instanceof File}function Fr(e,t){if(!e||typeof e!="object")return!1;if(Array.isArray(e)){for(let n=0,a=e.length;n=0&&e.num0;case _e.ACK:case _e.BINARY_ACK:return Array.isArray(n)}}destroy(){this.reconstructor&&this.reconstructor.finishedReconstruction()}}class Pv{constructor(t){this.packet=t,this.buffers=[],this.reconPack=t}takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.reconPack.attachments){const n=Ev(this.reconPack,this.buffers);return this.finishedReconstruction(),n}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}const Dv=Object.freeze(Object.defineProperty({__proto__:null,protocol:Cv,get PacketType(){return _e},Encoder:xv,Decoder:jo},Symbol.toStringTag,{value:"Module"}));function wt(e,t,n){return e.on(t,n),function(){e.off(t,n)}}const Lv=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1});class Tm extends ze{constructor(t,n,a){super(),this.connected=!1,this.receiveBuffer=[],this.sendBuffer=[],this.ids=0,this.acks={},this.flags={},this.io=t,this.nsp=n,a&&a.auth&&(this.auth=a.auth),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;const t=this.io;this.subs=[wt(t,"open",this.onopen.bind(this)),wt(t,"packet",this.onpacket.bind(this)),wt(t,"error",this.onerror.bind(this)),wt(t,"close",this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected?this:(this.subEvents(),this.io._reconnecting||this.io.open(),this.io._readyState==="open"&&this.onopen(),this)}open(){return this.connect()}send(...t){return t.unshift("message"),this.emit.apply(this,t),this}emit(t,...n){if(Lv.hasOwnProperty(t))throw new Error('"'+t.toString()+'" is a reserved event name');n.unshift(t);const a={type:_e.EVENT,data:n};if(a.options={},a.options.compress=this.flags.compress!==!1,typeof n[n.length-1]=="function"){const s=this.ids++,o=n.pop();this._registerAckCallback(s,o),a.id=s}const r=this.io.engine&&this.io.engine.transport&&this.io.engine.transport.writable;return this.flags.volatile&&(!r||!this.connected)||(this.connected?(this.notifyOutgoingListeners(a),this.packet(a)):this.sendBuffer.push(a)),this.flags={},this}_registerAckCallback(t,n){const a=this.flags.timeout;if(a===void 0){this.acks[t]=n;return}const r=this.io.setTimeoutFn(()=>{delete this.acks[t];for(let i=0;i{this.io.clearTimeoutFn(r),n.apply(this,[null,...i])}}packet(t){t.nsp=this.nsp,this.io._packet(t)}onopen(){typeof this.auth=="function"?this.auth(t=>{this.packet({type:_e.CONNECT,data:t})}):this.packet({type:_e.CONNECT,data:this.auth})}onerror(t){this.connected||this.emitReserved("connect_error",t)}onclose(t,n){this.connected=!1,delete this.id,this.emitReserved("disconnect",t,n)}onpacket(t){if(t.nsp===this.nsp)switch(t.type){case _e.CONNECT:if(t.data&&t.data.sid){const r=t.data.sid;this.onconnect(r)}else this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case _e.EVENT:case _e.BINARY_EVENT:this.onevent(t);break;case _e.ACK:case _e.BINARY_ACK:this.onack(t);break;case _e.DISCONNECT:this.ondisconnect();break;case _e.CONNECT_ERROR:this.destroy();const a=new Error(t.data.message);a.data=t.data.data,this.emitReserved("connect_error",a);break}}onevent(t){const n=t.data||[];t.id!=null&&n.push(this.ack(t.id)),this.connected?this.emitEvent(n):this.receiveBuffer.push(Object.freeze(n))}emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const n=this._anyListeners.slice();for(const a of n)a.apply(this,t)}super.emit.apply(this,t)}ack(t){const n=this;let a=!1;return function(...r){a||(a=!0,n.packet({type:_e.ACK,id:t,data:r}))}}onack(t){const n=this.acks[t.id];typeof n=="function"&&(n.apply(this,t.data),delete this.acks[t.id])}onconnect(t){this.id=t,this.connected=!0,this.emitBuffered(),this.emitReserved("connect")}emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.receiveBuffer=[],this.sendBuffer.forEach(t=>{this.notifyOutgoingListeners(t),this.packet(t)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:_e.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(t){return this.flags.compress=t,this}get volatile(){return this.flags.volatile=!0,this}timeout(t){return this.flags.timeout=t,this}onAny(t){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(t),this}prependAny(t){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(t),this}offAny(t){if(!this._anyListeners)return this;if(t){const n=this._anyListeners;for(let a=0;a0&&e.jitter<=1?e.jitter:0,this.attempts=0}ha.prototype.duration=function(){var e=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var t=Math.random(),n=Math.floor(t*this.jitter*e);e=(Math.floor(t*10)&1)==0?e-n:e+n}return Math.min(e,this.max)|0};ha.prototype.reset=function(){this.attempts=0};ha.prototype.setMin=function(e){this.ms=e};ha.prototype.setMax=function(e){this.max=e};ha.prototype.setJitter=function(e){this.jitter=e};class As extends ze{constructor(t,n){var a;super(),this.nsps={},this.subs=[],t&&typeof t=="object"&&(n=t,t=void 0),n=n||{},n.path=n.path||"/socket.io",this.opts=n,Ei(this,n),this.reconnection(n.reconnection!==!1),this.reconnectionAttempts(n.reconnectionAttempts||1/0),this.reconnectionDelay(n.reconnectionDelay||1e3),this.reconnectionDelayMax(n.reconnectionDelayMax||5e3),this.randomizationFactor((a=n.randomizationFactor)!==null&&a!==void 0?a:.5),this.backoff=new ha({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(n.timeout==null?2e4:n.timeout),this._readyState="closed",this.uri=t;const r=n.parser||Dv;this.encoder=new r.Encoder,this.decoder=new r.Decoder,this._autoConnect=n.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(t){return arguments.length?(this._reconnection=!!t,this):this._reconnection}reconnectionAttempts(t){return t===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=t,this)}reconnectionDelay(t){var n;return t===void 0?this._reconnectionDelay:(this._reconnectionDelay=t,(n=this.backoff)===null||n===void 0||n.setMin(t),this)}randomizationFactor(t){var n;return t===void 0?this._randomizationFactor:(this._randomizationFactor=t,(n=this.backoff)===null||n===void 0||n.setJitter(t),this)}reconnectionDelayMax(t){var n;return t===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=t,(n=this.backoff)===null||n===void 0||n.setMax(t),this)}timeout(t){return arguments.length?(this._timeout=t,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(t){if(~this._readyState.indexOf("open"))return this;this.engine=new sn(this.uri,this.opts);const n=this.engine,a=this;this._readyState="opening",this.skipReconnect=!1;const r=wt(n,"open",function(){a.onopen(),t&&t()}),i=wt(n,"error",s=>{a.cleanup(),a._readyState="closed",this.emitReserved("error",s),t?t(s):a.maybeReconnectOnOpen()});if(this._timeout!==!1){const s=this._timeout;s===0&&r();const o=this.setTimeoutFn(()=>{r(),n.close(),n.emit("error",new Error("timeout"))},s);this.opts.autoUnref&&o.unref(),this.subs.push(function(){clearTimeout(o)})}return this.subs.push(r),this.subs.push(i),this}connect(t){return this.open(t)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const t=this.engine;this.subs.push(wt(t,"ping",this.onping.bind(this)),wt(t,"data",this.ondata.bind(this)),wt(t,"error",this.onerror.bind(this)),wt(t,"close",this.onclose.bind(this)),wt(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(t){try{this.decoder.add(t)}catch(n){this.onclose("parse error",n)}}ondecoded(t){Dm(()=>{this.emitReserved("packet",t)},this.setTimeoutFn)}onerror(t){this.emitReserved("error",t)}socket(t,n){let a=this.nsps[t];return a||(a=new Tm(this,t,n),this.nsps[t]=a),a}_destroy(t){const n=Object.keys(this.nsps);for(const a of n)if(this.nsps[a].active)return;this._close()}_packet(t){const n=this.encoder.encode(t);for(let a=0;at()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close"),this.engine&&this.engine.close()}disconnect(){return this._close()}onclose(t,n){this.cleanup(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",t,n),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const t=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const n=this.backoff.duration();this._reconnecting=!0;const a=this.setTimeoutFn(()=>{t.skipReconnect||(this.emitReserved("reconnect_attempt",t.backoff.attempts),!t.skipReconnect&&t.open(r=>{r?(t._reconnecting=!1,t.reconnect(),this.emitReserved("reconnect_error",r)):t.onreconnect()}))},n);this.opts.autoUnref&&a.unref(),this.subs.push(function(){clearTimeout(a)})}}onreconnect(){const t=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",t)}}const _a={};function Br(e,t){typeof e=="object"&&(t=e,e=void 0),t=t||{};const n=yv(e,t.path||"/socket.io"),a=n.source,r=n.id,i=n.path,s=_a[r]&&i in _a[r].nsps,o=t.forceNew||t["force new connection"]||t.multiplex===!1||s;let l;return o?l=new As(a,t):(_a[r]||(_a[r]=new As(a,t)),l=_a[r]),n.query&&!t.query&&(t.query=n.queryKey),l.socket(n.path,t)}Object.assign(Br,{Manager:As,Socket:Tm,io:Br,connect:Br});class Tv{constructor({connection:t,vuex:n,debug:a,options:r}){gt.debug=a,this.io=this.connect(t,r),this.emitter=new Hy(n),this.listener=new Or(this.io,this.emitter)}install(t){Number(t.version.split(".")[0])>=3?(t.config.globalProperties.$socket=this.io,t.config.globalProperties.$vueSocketIo=this):(t.prototype.$socket=this.io,t.prototype.$vueSocketIo=this),t.mixin(By),gt.info("Vue-Socket.io plugin enabled")}connect(t,n){if(t&&typeof t=="object")return gt.info("Received socket.io-client instance"),t;if(typeof t=="string")return gt.info("Received connection string"),this.io=Br(t,n);throw new Error("Unsupported connection type")}}/*! - * vue-router v4.1.6 - * (c) 2022 Eduardo San Martin Morote - * @license MIT - */const Zn=typeof window<"u";function Av(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const De=Object.assign;function Ui(e,t){const n={};for(const a in t){const r=t[a];n[a]=Pt(r)?r.map(e):e(r)}return n}const Oa=()=>{},Pt=Array.isArray,jv=/\/$/,Nv=e=>e.replace(jv,"");function Ji(e,t,n="/"){let a,r={},i="",s="";const o=t.indexOf("#");let l=t.indexOf("?");return o=0&&(l=-1),l>-1&&(a=t.slice(0,l),i=t.slice(l+1,o>-1?o:t.length),r=e(i)),o>-1&&(a=a||t.slice(0,o),s=t.slice(o,t.length)),a=Rv(a!=null?a:t,n),{fullPath:a+(i&&"?")+i+s,path:a,query:r,hash:s}}function Mv(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function uu(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Iv(e,t,n){const a=t.matched.length-1,r=n.matched.length-1;return a>-1&&a===r&&ca(t.matched[a],n.matched[r])&&Am(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function ca(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Am(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!Vv(e[n],t[n]))return!1;return!0}function Vv(e,t){return Pt(e)?cu(e,t):Pt(t)?cu(t,e):e===t}function cu(e,t){return Pt(t)?e.length===t.length&&e.every((n,a)=>n===t[a]):e.length===1&&e[0]===t}function Rv(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),a=e.split("/");let r=n.length-1,i,s;for(i=0;i1&&r--;else break;return n.slice(0,r).join("/")+"/"+a.slice(i-(i===a.length?1:0)).join("/")}var Qa;(function(e){e.pop="pop",e.push="push"})(Qa||(Qa={}));var za;(function(e){e.back="back",e.forward="forward",e.unknown=""})(za||(za={}));function Ov(e){if(!e)if(Zn){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Nv(e)}const zv=/^[^#]+#/;function Fv(e,t){return e.replace(zv,"#")+t}function Bv(e,t){const n=document.documentElement.getBoundingClientRect(),a=e.getBoundingClientRect();return{behavior:t.behavior,left:a.left-n.left-(t.left||0),top:a.top-n.top-(t.top||0)}}const Ci=()=>({left:window.pageXOffset,top:window.pageYOffset});function Hv(e){let t;if("el"in e){const n=e.el,a=typeof n=="string"&&n.startsWith("#"),r=typeof n=="string"?a?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!r)return;t=Bv(r,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.pageXOffset,t.top!=null?t.top:window.pageYOffset)}function du(e,t){return(history.state?history.state.position-t:-1)+e}const js=new Map;function $v(e,t){js.set(e,t)}function qv(e){const t=js.get(e);return js.delete(e),t}let Kv=()=>location.protocol+"//"+location.host;function jm(e,t){const{pathname:n,search:a,hash:r}=t,i=e.indexOf("#");if(i>-1){let o=r.includes(e.slice(i))?e.slice(i).length:1,l=r.slice(o);return l[0]!=="/"&&(l="/"+l),uu(l,"")}return uu(n,e)+a+r}function Gv(e,t,n,a){let r=[],i=[],s=null;const o=({state:d})=>{const p=jm(e,location),b=n.value,C=t.value;let x=0;if(d){if(n.value=p,t.value=d,s&&s===b){s=null;return}x=C?d.position-C.position:0}else a(p);r.forEach(y=>{y(n.value,b,{delta:x,type:Qa.pop,direction:x?x>0?za.forward:za.back:za.unknown})})};function l(){s=n.value}function u(d){r.push(d);const p=()=>{const b=r.indexOf(d);b>-1&&r.splice(b,1)};return i.push(p),p}function c(){const{history:d}=window;!d.state||d.replaceState(De({},d.state,{scroll:Ci()}),"")}function f(){for(const d of i)d();i=[],window.removeEventListener("popstate",o),window.removeEventListener("beforeunload",c)}return window.addEventListener("popstate",o),window.addEventListener("beforeunload",c),{pauseListeners:l,listen:u,destroy:f}}function mu(e,t,n,a=!1,r=!1){return{back:e,current:t,forward:n,replaced:a,position:window.history.length,scroll:r?Ci():null}}function Wv(e){const{history:t,location:n}=window,a={value:jm(e,n)},r={value:t.state};r.value||i(a.value,{back:null,current:a.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function i(l,u,c){const f=e.indexOf("#"),d=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+l:Kv()+e+l;try{t[c?"replaceState":"pushState"](u,"",d),r.value=u}catch(p){console.error(p),n[c?"replace":"assign"](d)}}function s(l,u){const c=De({},t.state,mu(r.value.back,l,r.value.forward,!0),u,{position:r.value.position});i(l,c,!0),a.value=l}function o(l,u){const c=De({},r.value,t.state,{forward:l,scroll:Ci()});i(c.current,c,!0);const f=De({},mu(a.value,l,null),{position:c.position+1},u);i(l,f,!1),a.value=l}return{location:a,state:r,push:o,replace:s}}function fu(e){e=Ov(e);const t=Wv(e),n=Gv(e,t.state,t.location,t.replace);function a(i,s=!0){s||n.pauseListeners(),history.go(i)}const r=De({location:"",base:e,go:a,createHref:Fv.bind(null,e)},t,n);return Object.defineProperty(r,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(r,"state",{enumerable:!0,get:()=>t.state.value}),r}function Uv(e){return typeof e=="string"||e&&typeof e=="object"}function Nm(e){return typeof e=="string"||typeof e=="symbol"}const Qt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},Mm=Symbol("");var gu;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(gu||(gu={}));function da(e,t){return De(new Error,{type:e,[Mm]:!0},t)}function Ot(e,t){return e instanceof Error&&Mm in e&&(t==null||!!(e.type&t))}const pu="[^/]+?",Jv={sensitive:!1,strict:!1,start:!0,end:!0},Yv=/[.+*?^${}()[\]/\\]/g;function Qv(e,t){const n=De({},Jv,t),a=[];let r=n.start?"^":"";const i=[];for(const u of e){const c=u.length?[]:[90];n.strict&&!u.length&&(r+="/");for(let f=0;ft.length?t.length===1&&t[0]===40+40?1:-1:0}function Xv(e,t){let n=0;const a=e.score,r=t.score;for(;n0&&t[t.length-1]<0}const ek={type:0,value:""},tk=/[a-zA-Z0-9_]/;function nk(e){if(!e)return[[]];if(e==="/")return[[ek]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(p){throw new Error(`ERR (${n})/"${u}": ${p}`)}let n=0,a=n;const r=[];let i;function s(){i&&r.push(i),i=[]}let o=0,l,u="",c="";function f(){!u||(n===0?i.push({type:0,value:u}):n===1||n===2||n===3?(i.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),i.push({type:1,value:u,regexp:c,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),u="")}function d(){u+=l}for(;o{s(h)}:Oa}function s(c){if(Nm(c)){const f=a.get(c);f&&(a.delete(c),n.splice(n.indexOf(f),1),f.children.forEach(s),f.alias.forEach(s))}else{const f=n.indexOf(c);f>-1&&(n.splice(f,1),c.record.name&&a.delete(c.record.name),c.children.forEach(s),c.alias.forEach(s))}}function o(){return n}function l(c){let f=0;for(;f=0&&(c.record.path!==n[f].record.path||!Im(c,n[f]));)f++;n.splice(f,0,c),c.record.name&&!yu(c)&&a.set(c.record.name,c)}function u(c,f){let d,p={},b,C;if("name"in c&&c.name){if(d=a.get(c.name),!d)throw da(1,{location:c});C=d.record.name,p=De(bu(f.params,d.keys.filter(h=>!h.optional).map(h=>h.name)),c.params&&bu(c.params,d.keys.map(h=>h.name))),b=d.stringify(p)}else if("path"in c)b=c.path,d=n.find(h=>h.re.test(b)),d&&(p=d.parse(b),C=d.record.name);else{if(d=f.name?a.get(f.name):n.find(h=>h.re.test(f.path)),!d)throw da(1,{location:c,currentLocation:f});C=d.record.name,p=De({},f.params,c.params),b=d.stringify(p)}const x=[];let y=d;for(;y;)x.unshift(y.record),y=y.parent;return{name:C,path:b,params:p,matched:x,meta:ok(x)}}return e.forEach(c=>i(c)),{addRoute:i,resolve:u,removeRoute:s,getRoutes:o,getRecordMatcher:r}}function bu(e,t){const n={};for(const a of t)a in e&&(n[a]=e[a]);return n}function ik(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:sk(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function sk(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const a in e.components)t[a]=typeof n=="boolean"?n:n[a];return t}function yu(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function ok(e){return e.reduce((t,n)=>De(t,n.meta),{})}function vu(e,t){const n={};for(const a in e)n[a]=a in t?t[a]:e[a];return n}function Im(e,t){return t.children.some(n=>n===e||Im(e,n))}const Vm=/#/g,lk=/&/g,uk=/\//g,ck=/=/g,dk=/\?/g,Rm=/\+/g,mk=/%5B/g,fk=/%5D/g,Om=/%5E/g,gk=/%60/g,zm=/%7B/g,pk=/%7C/g,Fm=/%7D/g,hk=/%20/g;function No(e){return encodeURI(""+e).replace(pk,"|").replace(mk,"[").replace(fk,"]")}function bk(e){return No(e).replace(zm,"{").replace(Fm,"}").replace(Om,"^")}function Ns(e){return No(e).replace(Rm,"%2B").replace(hk,"+").replace(Vm,"%23").replace(lk,"%26").replace(gk,"`").replace(zm,"{").replace(Fm,"}").replace(Om,"^")}function yk(e){return Ns(e).replace(ck,"%3D")}function vk(e){return No(e).replace(Vm,"%23").replace(dk,"%3F")}function kk(e){return e==null?"":vk(e).replace(uk,"%2F")}function ti(e){try{return decodeURIComponent(""+e)}catch{}return""+e}function wk(e){const t={};if(e===""||e==="?")return t;const a=(e[0]==="?"?e.slice(1):e).split("&");for(let r=0;ri&&Ns(i)):[a&&Ns(a)]).forEach(i=>{i!==void 0&&(t+=(t.length?"&":"")+n,i!=null&&(t+="="+i))})}return t}function _k(e){const t={};for(const n in e){const a=e[n];a!==void 0&&(t[n]=Pt(a)?a.map(r=>r==null?null:""+r):a==null?a:""+a)}return t}const Sk=Symbol(""),wu=Symbol(""),Mo=Symbol(""),Bm=Symbol(""),Ms=Symbol("");function Sa(){let e=[];function t(a){return e.push(a),()=>{const r=e.indexOf(a);r>-1&&e.splice(r,1)}}function n(){e=[]}return{add:t,list:()=>e,reset:n}}function an(e,t,n,a,r){const i=a&&(a.enterCallbacks[r]=a.enterCallbacks[r]||[]);return()=>new Promise((s,o)=>{const l=f=>{f===!1?o(da(4,{from:n,to:t})):f instanceof Error?o(f):Uv(f)?o(da(2,{from:t,to:f})):(i&&a.enterCallbacks[r]===i&&typeof f=="function"&&i.push(f),s())},u=e.call(a&&a.instances[r],t,n,l);let c=Promise.resolve(u);e.length<3&&(c=c.then(l)),c.catch(f=>o(f))})}function Yi(e,t,n,a){const r=[];for(const i of e)for(const s in i.components){let o=i.components[s];if(!(t!=="beforeRouteEnter"&&!i.instances[s]))if(Ek(o)){const u=(o.__vccOpts||o)[t];u&&r.push(an(u,n,a,i,s))}else{let l=o();r.push(()=>l.then(u=>{if(!u)return Promise.reject(new Error(`Couldn't resolve component "${s}" at "${i.path}"`));const c=Av(u)?u.default:u;i.components[s]=c;const d=(c.__vccOpts||c)[t];return d&&an(d,n,a,i,s)()}))}}return r}function Ek(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function _u(e){const t=bt(Mo),n=bt(Bm),a=j(()=>t.resolve(An(e.to))),r=j(()=>{const{matched:l}=a.value,{length:u}=l,c=l[u-1],f=n.matched;if(!c||!f.length)return-1;const d=f.findIndex(ca.bind(null,c));if(d>-1)return d;const p=Su(l[u-2]);return u>1&&Su(c)===p&&f[f.length-1].path!==p?f.findIndex(ca.bind(null,l[u-2])):d}),i=j(()=>r.value>-1&&Dk(n.params,a.value.params)),s=j(()=>r.value>-1&&r.value===n.matched.length-1&&Am(n.params,a.value.params));function o(l={}){return Pk(l)?t[An(e.replace)?"replace":"push"](An(e.to)).catch(Oa):Promise.resolve()}return{route:a,href:j(()=>a.value.href),isActive:i,isExactActive:s,navigate:o}}const Ck=ir({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:_u,setup(e,{slots:t}){const n=hn(_u(e)),{options:a}=bt(Mo),r=j(()=>({[Eu(e.activeClass,a.linkActiveClass,"router-link-active")]:n.isActive,[Eu(e.exactActiveClass,a.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const i=t.default&&t.default(n);return e.custom?i:z("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:r.value},i)}}}),xk=Ck;function Pk(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Dk(e,t){for(const n in t){const a=t[n],r=e[n];if(typeof a=="string"){if(a!==r)return!1}else if(!Pt(r)||r.length!==a.length||a.some((i,s)=>i!==r[s]))return!1}return!0}function Su(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Eu=(e,t,n)=>e!=null?e:t!=null?t:n,Lk=ir({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const a=bt(Ms),r=j(()=>e.route||a.value),i=bt(wu,0),s=j(()=>{let u=An(i);const{matched:c}=r.value;let f;for(;(f=c[u])&&!f.components;)u++;return u}),o=j(()=>r.value.matched[s.value]);Ir(wu,j(()=>s.value+1)),Ir(Sk,o),Ir(Ms,r);const l=se();return Pe(()=>[l.value,o.value,e.name],([u,c,f],[d,p,b])=>{c&&(c.instances[f]=u,p&&p!==c&&u&&u===d&&(c.leaveGuards.size||(c.leaveGuards=p.leaveGuards),c.updateGuards.size||(c.updateGuards=p.updateGuards))),u&&c&&(!p||!ca(c,p)||!d)&&(c.enterCallbacks[f]||[]).forEach(C=>C(u))},{flush:"post"}),()=>{const u=r.value,c=e.name,f=o.value,d=f&&f.components[c];if(!d)return Cu(n.default,{Component:d,route:u});const p=f.props[c],b=p?p===!0?u.params:typeof p=="function"?p(u):p:null,x=z(d,De({},b,t,{onVnodeUnmounted:y=>{y.component.isUnmounted&&(f.instances[c]=null)},ref:l}));return Cu(n.default,{Component:x,route:u})||x}}});function Cu(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Tk=Lk;function Ak(e){const t=rk(e.routes,e),n=e.parseQuery||wk,a=e.stringifyQuery||ku,r=e.history,i=Sa(),s=Sa(),o=Sa(),l=_d(Qt);let u=Qt;Zn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const c=Ui.bind(null,B=>""+B),f=Ui.bind(null,kk),d=Ui.bind(null,ti);function p(B,Z){let Y,W;return Nm(B)?(Y=t.getRecordMatcher(B),W=Z):W=B,t.addRoute(W,Y)}function b(B){const Z=t.getRecordMatcher(B);Z&&t.removeRoute(Z)}function C(){return t.getRoutes().map(B=>B.record)}function x(B){return!!t.getRecordMatcher(B)}function y(B,Z){if(Z=De({},Z||l.value),typeof B=="string"){const v=Ji(n,B,Z.path),m=t.resolve({path:v.path},Z),g=r.createHref(v.fullPath);return De(v,m,{params:d(m.params),hash:ti(v.hash),redirectedFrom:void 0,href:g})}let Y;if("path"in B)Y=De({},B,{path:Ji(n,B.path,Z.path).path});else{const v=De({},B.params);for(const m in v)v[m]==null&&delete v[m];Y=De({},B,{params:f(B.params)}),Z.params=f(Z.params)}const W=t.resolve(Y,Z),re=B.hash||"";W.params=c(d(W.params));const be=Mv(a,De({},B,{hash:bk(re),path:W.path})),ie=r.createHref(be);return De({fullPath:be,hash:re,query:a===ku?_k(B.query):B.query||{}},W,{redirectedFrom:void 0,href:ie})}function h(B){return typeof B=="string"?Ji(n,B,l.value.path):De({},B)}function _(B,Z){if(u!==B)return da(8,{from:Z,to:B})}function w(B){return P(B)}function E(B){return w(De(h(B),{replace:!0}))}function S(B){const Z=B.matched[B.matched.length-1];if(Z&&Z.redirect){const{redirect:Y}=Z;let W=typeof Y=="function"?Y(B):Y;return typeof W=="string"&&(W=W.includes("?")||W.includes("#")?W=h(W):{path:W},W.params={}),De({query:B.query,hash:B.hash,params:"path"in W?{}:B.params},W)}}function P(B,Z){const Y=u=y(B),W=l.value,re=B.state,be=B.force,ie=B.replace===!0,v=S(Y);if(v)return P(De(h(v),{state:typeof v=="object"?De({},re,v.state):re,force:be,replace:ie}),Z||Y);const m=Y;m.redirectedFrom=Z;let g;return!be&&Iv(a,W,Y)&&(g=da(16,{to:m,from:W}),U(W,W,!0,!1)),(g?Promise.resolve(g):N(m,W)).catch(k=>Ot(k)?Ot(k,2)?k:he(k):O(k,m,W)).then(k=>{if(k){if(Ot(k,2))return P(De({replace:ie},h(k.to),{state:typeof k.to=="object"?De({},re,k.to.state):re,force:be}),Z||m)}else k=F(m,W,!0,ie,re);return V(m,W,k),k})}function D(B,Z){const Y=_(B,Z);return Y?Promise.reject(Y):Promise.resolve()}function N(B,Z){let Y;const[W,re,be]=jk(B,Z);Y=Yi(W.reverse(),"beforeRouteLeave",B,Z);for(const v of W)v.leaveGuards.forEach(m=>{Y.push(an(m,B,Z))});const ie=D.bind(null,B,Z);return Y.push(ie),Gn(Y).then(()=>{Y=[];for(const v of i.list())Y.push(an(v,B,Z));return Y.push(ie),Gn(Y)}).then(()=>{Y=Yi(re,"beforeRouteUpdate",B,Z);for(const v of re)v.updateGuards.forEach(m=>{Y.push(an(m,B,Z))});return Y.push(ie),Gn(Y)}).then(()=>{Y=[];for(const v of B.matched)if(v.beforeEnter&&!Z.matched.includes(v))if(Pt(v.beforeEnter))for(const m of v.beforeEnter)Y.push(an(m,B,Z));else Y.push(an(v.beforeEnter,B,Z));return Y.push(ie),Gn(Y)}).then(()=>(B.matched.forEach(v=>v.enterCallbacks={}),Y=Yi(be,"beforeRouteEnter",B,Z),Y.push(ie),Gn(Y))).then(()=>{Y=[];for(const v of s.list())Y.push(an(v,B,Z));return Y.push(ie),Gn(Y)}).catch(v=>Ot(v,8)?v:Promise.reject(v))}function V(B,Z,Y){for(const W of o.list())W(B,Z,Y)}function F(B,Z,Y,W,re){const be=_(B,Z);if(be)return be;const ie=Z===Qt,v=Zn?history.state:{};Y&&(W||ie?r.replace(B.fullPath,De({scroll:ie&&v&&v.scroll},re)):r.push(B.fullPath,re)),l.value=B,U(B,Z,Y,ie),he()}let M;function K(){M||(M=r.listen((B,Z,Y)=>{if(!Ue.listening)return;const W=y(B),re=S(W);if(re){P(De(re,{replace:!0}),W).catch(Oa);return}u=W;const be=l.value;Zn&&$v(du(be.fullPath,Y.delta),Ci()),N(W,be).catch(ie=>Ot(ie,12)?ie:Ot(ie,2)?(P(ie.to,W).then(v=>{Ot(v,20)&&!Y.delta&&Y.type===Qa.pop&&r.go(-1,!1)}).catch(Oa),Promise.reject()):(Y.delta&&r.go(-Y.delta,!1),O(ie,W,be))).then(ie=>{ie=ie||F(W,be,!1),ie&&(Y.delta&&!Ot(ie,8)?r.go(-Y.delta,!1):Y.type===Qa.pop&&Ot(ie,20)&&r.go(-1,!1)),V(W,be,ie)}).catch(Oa)}))}let I=Sa(),ee=Sa(),ae;function O(B,Z,Y){he(B);const W=ee.list();return W.length?W.forEach(re=>re(B,Z,Y)):console.error(B),Promise.reject(B)}function Q(){return ae&&l.value!==Qt?Promise.resolve():new Promise((B,Z)=>{I.add([B,Z])})}function he(B){return ae||(ae=!B,K(),I.list().forEach(([Z,Y])=>B?Y(B):Z()),I.reset()),B}function U(B,Z,Y,W){const{scrollBehavior:re}=e;if(!Zn||!re)return Promise.resolve();const be=!Y&&qv(du(B.fullPath,0))||(W||!Y)&&history.state&&history.state.scroll||null;return Xe().then(()=>re(B,Z,be)).then(ie=>ie&&Hv(ie)).catch(ie=>O(ie,B,Z))}const ge=B=>r.go(B);let we;const Se=new Set,Ue={currentRoute:l,listening:!0,addRoute:p,removeRoute:b,hasRoute:x,getRoutes:C,resolve:y,options:e,push:w,replace:E,go:ge,back:()=>ge(-1),forward:()=>ge(1),beforeEach:i.add,beforeResolve:s.add,afterEach:o.add,onError:ee.add,isReady:Q,install(B){const Z=this;B.component("RouterLink",xk),B.component("RouterView",Tk),B.config.globalProperties.$router=Z,Object.defineProperty(B.config.globalProperties,"$route",{enumerable:!0,get:()=>An(l)}),Zn&&!we&&l.value===Qt&&(we=!0,w(r.location).catch(re=>{}));const Y={};for(const re in Qt)Y[re]=j(()=>l.value[re]);B.provide(Mo,Z),B.provide(Bm,hn(Y)),B.provide(Ms,l);const W=B.unmount;Se.add(B),B.unmount=function(){Se.delete(B),Se.size<1&&(u=Qt,M&&M(),M=null,l.value=Qt,we=!1,ae=!1),W()}}};return Ue}function Gn(e){return e.reduce((t,n)=>t.then(()=>n()),Promise.resolve())}function jk(e,t){const n=[],a=[],r=[],i=Math.max(t.matched.length,e.matched.length);for(let s=0;sca(u,o))?a.push(o):n.push(o));const l=e.matched[s];l&&(t.matched.find(u=>ca(u,l))||r.push(l))}return[n,a,r]}function Nk(e,t){for(var n=0;n1?a-1:0),i=1;it?1:-1}function mf(e,t){return t===void 0&&(t={}),zk(e,Ho({get:Jk,compare:df},t))}var ff=function(e,t,n){var a=n.interpret;return e.value.some(function(r){return a(r,t)})},Yk=function(e,t,n){return!ff(e,t,n)},gf=function(e,t,n){var a=n.interpret;return e.value.every(function(r){return a(r,t)})},Qk=function(e,t,n){return!(0,n.interpret)(e.value[0],t)},$o=function(e,t,n){var a=n.compare,r=(0,n.get)(t,e.field);return Array.isArray(r)&&!Array.isArray(e.value)?Fo(r,e.value,a):a(r,e.value)===0},pf=function(e,t,n){return!$o(e,t,n)},hf=On(function(e,t,n){var a=n.compare(t,e.value);return a===0||a===-1}),bf=On(function(e,t,n){return n.compare(t,e.value)===-1}),yf=On(function(e,t,n){return n.compare(t,e.value)===1}),vf=On(function(e,t,n){var a=n.compare(t,e.value);return a===0||a===1}),kf=function(e,t,n){var a=n.get;if(e.field===lr)return t!==void 0;var r=cf(t,e.field,a),i=r[0],s=r[1],o=function(l){return!!l&&l.hasOwnProperty(s)===e.value};return Bo(i,s)?i.some(o):o(i)},Zk=On(function(e,t){return typeof t=="number"&&t%e.value[0]===e.value[1]}),wf=function(e,t,n){var a=n.get,r=cf(t,e.field,a),i=r[0],s=r[1],o=function(l){var u=a(l,s);return Array.isArray(u)&&u.length===e.value};return e.field!==lr&&Bo(i,s)?i.some(o):o(i)},_f=On(function(e,t){return typeof t=="string"&&e.value.test(t)}),ni=On(function(e,t,n){var a=n.compare;return Fo(e.value,t,a)}),Sf=function(e,t,n){return!ni(e,t,n)},Ef=function(e,t,n){var a=n.compare,r=(0,n.get)(t,e.field);return Array.isArray(r)&&e.value.every(function(i){return Fo(r,i,a)})},Cf=function(e,t,n){var a=n.interpret,r=(0,n.get)(t,e.field);return Array.isArray(r)&&r.some(function(i){return a(e.value,i)})},Xk=function(e,t){return e.value.call(t)},qo=Ho({},Object.freeze({__proto__:null,or:ff,nor:Yk,and:gf,not:Qk,eq:$o,ne:pf,lte:hf,lt:bf,gt:yf,gte:vf,exists:kf,mod:Zk,size:wf,regex:_f,within:ni,nin:Sf,all:Ef,elemMatch:Cf,where:Xk}),{in:ni});mf(qo);function Ba(){return(Ba=Object.assign||function(e){for(var t=1;t=0;i--){var s=a.length-i-1,o=new ow(a[i],this.l,s),l=Os(o.action),u=Os(o.subject||this.g);dw(this,o);for(var c=0;c1?"(?:"+t.join("|")+")":t[0];return new RegExp("^"+n+"$")}var Lf=function(t){var n;return function(a){return typeof n>"u"&&(n=t.every(function(r){return r.indexOf("*")===-1})?null:ww(t)),n===null?t.indexOf(a)!==-1:n.test(a)}};(function(e){Go(t,e);function t(n,a){return n===void 0&&(n=[]),a===void 0&&(a={}),e.call(this,n,ai({conditionsMatcher:Df,fieldMatcher:Lf},a))||this}return t})(Wo);function _w(e,t){return e===void 0&&(e=[]),t===void 0&&(t={}),new Wo(e,ai({conditionsMatcher:Df,fieldMatcher:Lf},t))}var Sw=function(t){return'Cannot execute "'+t.action+'" on "'+t.subjectType+'"'},Tf=function(t){this.message=t};Tf.prototype=Object.create(Error.prototype);var Ew=function(e){Go(t,e),t.setDefaultMessage=function(r){this._=typeof r=="string"?function(){return r}:r},t.from=function(r){return new this(r)};function t(a){var r;return r=e.call(this,"")||this,r.ability=a,typeof Error.captureStackTrace=="function"&&(r.name="ForbiddenError",Error.captureStackTrace(tw(r),r.constructor)),r}var n=t.prototype;return n.setMessage=function(r){return this.message=r,this},n.throwUnlessCan=function(){var r,i=(r=this.ability).relevantRuleFor.apply(r,arguments);if(!(i&&!i.inverted)){this.action=arguments.length<=0?void 0:arguments[0],this.subject=arguments.length<=1?void 0:arguments[1],this.subjectType=aw(this.ability.detectSubjectType(arguments.length<=1?void 0:arguments[1])),this.field=arguments.length<=2?void 0:arguments[2];var s=i?i.reason:"";throw this.message=this.message||s||this.constructor._(this),this}},t}(Tf);Ew._=Sw;Object.freeze({__proto__:null});const ue={GENERAL:"general",APP:"app",GAME:"game",DEV:"dev",WEB:"web"},ce={GENERAL:{AUTH:"auth"},APP:{DASHBOARD:"dashboard:read"},GAME:{LIVEMAP:{READ:"livemap:read",PLAYER:"livemap:player",VEHICLE:"livemap:vehicle"},WAYPOINT:{READ:"waypoint:read",MODIFY:"waypoint:modify",DELETE:"waypoint:delete",CREATE:"waypoint:create"},ACCOUNT:{READ:"account:read"},PLAYER:{READ:"player:read",MODIFY:"player:modify",DELETE:"player:delete",KICK:"player:kick",WARN:"player:warn",BAN:"player:ban",MONEY:"player:money",META:"player:meta",POSITION:"player:position",INVENTORY:"player:inventory",SCREEN:"player:screen",LICENSE:"player:license",GANG:"player:gang",JOB:"player:job"},STASHES:{READ:"stashes:read",MODIFY:"stashes:modify",DELETE:"stashes:delete"},VEHICLE:{READ:"vehicle:read",MODIFY:"vehicle:modify",DELETE:"vehicle:delete",CREATE:"vehicle:create",DESPAWN:"vehicle:despawn",REPAIR:"vehicle:repair"},LOGS:{READ:"logs:read",GAME:"logs:game",PLAYER:"logs:player",DEV:"logs:dev",WEB:"logs:web"}},DEV:{ITEM:{READ:"item:read",MODIFY:"item:modify",DELETE:"item:delete",CREATE:"item:create"},JOB:{READ:"job:read",MODIFY:"job:modify",DELETE:"job:delete",CREATE:"job:create"},GANG:{READ:"gang:read",MODIFY:"gang:modify",DELETE:"gang:delete",CREATE:"gang:create"},VEHICLE:{READ:"vehicle:read",MODIFY:"vehicle:modify",DELETE:"vehicle:delete",CREATE:"vehicle:create"}},WEB:{USER:{READ:"user:read",MODIFY:"user:modify",DELETE:"user:delete",CREATE:"user:create"},ROLE:{READ:"role:read",MODIFY:"role:modify",DELETE:"role:delete",CREATE:"role:create"},CONFIG:{READ:"config:read",MODIFY:"config:modify"}}},Af=[{action:ce.GENERAL.AUTH,subject:ue.GENERAL}],Uo=_w(Af),zn=Ly(),Ti=To("user",{state:()=>({accessToken:null,userData:null}),getters:{IS_MASTER_USER(e){var t;return(t=e.userData)==null?void 0:t.isMaster}},actions:{UPDATE_ACCESS_TOKEN(e){this.accessToken=e},UPDATE_USER_DATA(e){this.userData=e,e&&e.ability&&e.ability.push({action:ce.GENERAL.AUTH,subject:ue.GENERAL},{action:ce.APP.DASHBOARD,subject:ue.APP}),Uo.update(e&&e.ability?e.ability:Af)}}}),Cw=Ti(zn),xw=e=>Uo.can(e.meta.action,e.meta.resource)||Cw.IS_MASTER_USER;function jf(e,t){return function(){return e.apply(t,arguments)}}const{toString:Nf}=Object.prototype,{getPrototypeOf:Jo}=Object,Yo=(e=>t=>{const n=Nf.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),Ut=e=>(e=e.toLowerCase(),t=>Yo(t)===e),Ai=e=>t=>typeof t===e,{isArray:ur}=Array,Fs=Ai("undefined");function Pw(e){return e!==null&&!Fs(e)&&e.constructor!==null&&!Fs(e.constructor)&&ba(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const Mf=Ut("ArrayBuffer");function Dw(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&Mf(e.buffer),t}const Lw=Ai("string"),ba=Ai("function"),If=Ai("number"),Vf=e=>e!==null&&typeof e=="object",Tw=e=>e===!0||e===!1,Hr=e=>{if(Yo(e)!=="object")return!1;const t=Jo(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},Aw=Ut("Date"),jw=Ut("File"),Nw=Ut("Blob"),Mw=Ut("FileList"),Iw=e=>Vf(e)&&ba(e.pipe),Vw=e=>{const t="[object FormData]";return e&&(typeof FormData=="function"&&e instanceof FormData||Nf.call(e)===t||ba(e.toString)&&e.toString()===t)},Rw=Ut("URLSearchParams"),Ow=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function ji(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let a,r;if(typeof e!="object"&&(e=[e]),ur(e))for(a=0,r=e.length;a{Hr(e[a])&&Hr(n)?e[a]=Bs(e[a],n):Hr(n)?e[a]=Bs({},n):ur(n)?e[a]=n.slice():e[a]=n};for(let n=0,a=arguments.length;n(ji(t,(r,i)=>{n&&ba(r)?e[i]=jf(r,n):e[i]=r},{allOwnKeys:a}),e),Fw=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),Bw=(e,t,n,a)=>{e.prototype=Object.create(t.prototype,a),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},Hw=(e,t,n,a)=>{let r,i,s;const o={};if(t=t||{},e==null)return t;do{for(r=Object.getOwnPropertyNames(e),i=r.length;i-- >0;)s=r[i],(!a||a(s,e,t))&&!o[s]&&(t[s]=e[s],o[s]=!0);e=n!==!1&&Jo(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},$w=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const a=e.indexOf(t,n);return a!==-1&&a===n},qw=e=>{if(!e)return null;if(ur(e))return e;let t=e.length;if(!If(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},Kw=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&Jo(Uint8Array)),Gw=(e,t)=>{const a=(e&&e[Symbol.iterator]).call(e);let r;for(;(r=a.next())&&!r.done;){const i=r.value;t.call(e,i[0],i[1])}},Ww=(e,t)=>{let n;const a=[];for(;(n=e.exec(t))!==null;)a.push(n);return a},Uw=Ut("HTMLFormElement"),Jw=e=>e.toLowerCase().replace(/[_-\s]([a-z\d])(\w*)/g,function(n,a,r){return a.toUpperCase()+r}),Mu=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),Yw=Ut("RegExp"),Rf=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),a={};ji(n,(r,i)=>{t(r,i,e)!==!1&&(a[i]=r)}),Object.defineProperties(e,a)},Qw=e=>{Rf(e,(t,n)=>{const a=e[n];if(!!ba(a)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not read-only method '"+n+"'")})}})},Zw=(e,t)=>{const n={},a=r=>{r.forEach(i=>{n[i]=!0})};return ur(e)?a(e):a(String(e).split(t)),n},Xw=()=>{},e_=(e,t)=>(e=+e,Number.isFinite(e)?e:t),$={isArray:ur,isArrayBuffer:Mf,isBuffer:Pw,isFormData:Vw,isArrayBufferView:Dw,isString:Lw,isNumber:If,isBoolean:Tw,isObject:Vf,isPlainObject:Hr,isUndefined:Fs,isDate:Aw,isFile:jw,isBlob:Nw,isRegExp:Yw,isFunction:ba,isStream:Iw,isURLSearchParams:Rw,isTypedArray:Kw,isFileList:Mw,forEach:ji,merge:Bs,extend:zw,trim:Ow,stripBOM:Fw,inherits:Bw,toFlatObject:Hw,kindOf:Yo,kindOfTest:Ut,endsWith:$w,toArray:qw,forEachEntry:Gw,matchAll:Ww,isHTMLForm:Uw,hasOwnProperty:Mu,hasOwnProp:Mu,reduceDescriptors:Rf,freezeMethods:Qw,toObjectSet:Zw,toCamelCase:Jw,noop:Xw,toFiniteNumber:e_};function Ce(e,t,n,a,r){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),a&&(this.request=a),r&&(this.response=r)}$.inherits(Ce,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const Of=Ce.prototype,zf={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{zf[e]={value:e}});Object.defineProperties(Ce,zf);Object.defineProperty(Of,"isAxiosError",{value:!0});Ce.from=(e,t,n,a,r,i)=>{const s=Object.create(Of);return $.toFlatObject(e,s,function(l){return l!==Error.prototype},o=>o!=="isAxiosError"),Ce.call(s,e.message,t,n,a,r),s.cause=e,s.name=e.name,i&&Object.assign(s,i),s};var t_=typeof self=="object"?self.FormData:window.FormData;function Hs(e){return $.isPlainObject(e)||$.isArray(e)}function Ff(e){return $.endsWith(e,"[]")?e.slice(0,-2):e}function Iu(e,t,n){return e?e.concat(t).map(function(r,i){return r=Ff(r),!n&&i?"["+r+"]":r}).join(n?".":""):t}function n_(e){return $.isArray(e)&&!e.some(Hs)}const a_=$.toFlatObject($,{},null,function(t){return/^is[A-Z]/.test(t)});function r_(e){return e&&$.isFunction(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator]}function Ni(e,t,n){if(!$.isObject(e))throw new TypeError("target must be an object");t=t||new(t_||FormData),n=$.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(C,x){return!$.isUndefined(x[C])});const a=n.metaTokens,r=n.visitor||c,i=n.dots,s=n.indexes,l=(n.Blob||typeof Blob<"u"&&Blob)&&r_(t);if(!$.isFunction(r))throw new TypeError("visitor must be a function");function u(b){if(b===null)return"";if($.isDate(b))return b.toISOString();if(!l&&$.isBlob(b))throw new Ce("Blob is not supported. Use a Buffer instead.");return $.isArrayBuffer(b)||$.isTypedArray(b)?l&&typeof Blob=="function"?new Blob([b]):Buffer.from(b):b}function c(b,C,x){let y=b;if(b&&!x&&typeof b=="object"){if($.endsWith(C,"{}"))C=a?C:C.slice(0,-2),b=JSON.stringify(b);else if($.isArray(b)&&n_(b)||$.isFileList(b)||$.endsWith(C,"[]")&&(y=$.toArray(b)))return C=Ff(C),y.forEach(function(_,w){!($.isUndefined(_)||_===null)&&t.append(s===!0?Iu([C],w,i):s===null?C:C+"[]",u(_))}),!1}return Hs(b)?!0:(t.append(Iu(x,C,i),u(b)),!1)}const f=[],d=Object.assign(a_,{defaultVisitor:c,convertValue:u,isVisitable:Hs});function p(b,C){if(!$.isUndefined(b)){if(f.indexOf(b)!==-1)throw Error("Circular reference detected in "+C.join("."));f.push(b),$.forEach(b,function(y,h){(!($.isUndefined(y)||y===null)&&r.call(t,y,$.isString(h)?h.trim():h,C,d))===!0&&p(y,C?C.concat(h):[h])}),f.pop()}}if(!$.isObject(e))throw new TypeError("data must be an object");return p(e),t}function Vu(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(a){return t[a]})}function Qo(e,t){this._pairs=[],e&&Ni(e,this,t)}const Bf=Qo.prototype;Bf.append=function(t,n){this._pairs.push([t,n])};Bf.toString=function(t){const n=t?function(a){return t.call(this,a,Vu)}:Vu;return this._pairs.map(function(r){return n(r[0])+"="+n(r[1])},"").join("&")};function i_(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Hf(e,t,n){if(!t)return e;const a=n&&n.encode||i_,r=n&&n.serialize;let i;if(r?i=r(t,n):i=$.isURLSearchParams(t)?t.toString():new Qo(t,n).toString(a),i){const s=e.indexOf("#");s!==-1&&(e=e.slice(0,s)),e+=(e.indexOf("?")===-1?"?":"&")+i}return e}class Ru{constructor(){this.handlers=[]}use(t,n,a){return this.handlers.push({fulfilled:t,rejected:n,synchronous:a?a.synchronous:!1,runWhen:a?a.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){$.forEach(this.handlers,function(a){a!==null&&t(a)})}}const $f={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},s_=typeof URLSearchParams<"u"?URLSearchParams:Qo,o_=FormData,l_=(()=>{let e;return typeof navigator<"u"&&((e=navigator.product)==="ReactNative"||e==="NativeScript"||e==="NS")?!1:typeof window<"u"&&typeof document<"u"})(),Ht={isBrowser:!0,classes:{URLSearchParams:s_,FormData:o_,Blob},isStandardBrowserEnv:l_,protocols:["http","https","file","blob","url","data"]};function u_(e,t){return Ni(e,new Ht.classes.URLSearchParams,Object.assign({visitor:function(n,a,r,i){return Ht.isNode&&$.isBuffer(n)?(this.append(a,n.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)}},t))}function c_(e){return $.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function d_(e){const t={},n=Object.keys(e);let a;const r=n.length;let i;for(a=0;a=n.length;return s=!s&&$.isArray(r)?r.length:s,l?($.hasOwnProp(r,s)?r[s]=[r[s],a]:r[s]=a,!o):((!r[s]||!$.isObject(r[s]))&&(r[s]=[]),t(n,a,r[s],i)&&$.isArray(r[s])&&(r[s]=d_(r[s])),!o)}if($.isFormData(e)&&$.isFunction(e.entries)){const n={};return $.forEachEntry(e,(a,r)=>{t(c_(a),r,n,0)}),n}return null}function m_(e,t,n){const a=n.config.validateStatus;!n.status||!a||a(n.status)?e(n):t(new Ce("Request failed with status code "+n.status,[Ce.ERR_BAD_REQUEST,Ce.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}const f_=Ht.isStandardBrowserEnv?function(){return{write:function(n,a,r,i,s,o){const l=[];l.push(n+"="+encodeURIComponent(a)),$.isNumber(r)&&l.push("expires="+new Date(r).toGMTString()),$.isString(i)&&l.push("path="+i),$.isString(s)&&l.push("domain="+s),o===!0&&l.push("secure"),document.cookie=l.join("; ")},read:function(n){const a=document.cookie.match(new RegExp("(^|;\\s*)("+n+")=([^;]*)"));return a?decodeURIComponent(a[3]):null},remove:function(n){this.write(n,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}();function g_(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function p_(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}function Kf(e,t){return e&&!g_(t)?p_(e,t):t}const h_=Ht.isStandardBrowserEnv?function(){const t=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");let a;function r(i){let s=i;return t&&(n.setAttribute("href",s),s=n.href),n.setAttribute("href",s),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:n.pathname.charAt(0)==="/"?n.pathname:"/"+n.pathname}}return a=r(window.location.href),function(s){const o=$.isString(s)?r(s):s;return o.protocol===a.protocol&&o.host===a.host}}():function(){return function(){return!0}}();function cr(e,t,n){Ce.call(this,e==null?"canceled":e,Ce.ERR_CANCELED,t,n),this.name="CanceledError"}$.inherits(cr,Ce,{__CANCEL__:!0});function b_(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}const y_=$.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),v_=e=>{const t={};let n,a,r;return e&&e.split(` -`).forEach(function(s){r=s.indexOf(":"),n=s.substring(0,r).trim().toLowerCase(),a=s.substring(r+1).trim(),!(!n||t[n]&&y_[n])&&(n==="set-cookie"?t[n]?t[n].push(a):t[n]=[a]:t[n]=t[n]?t[n]+", "+a:a)}),t},Ou=Symbol("internals"),Gf=Symbol("defaults");function ja(e){return e&&String(e).trim().toLowerCase()}function $r(e){return e===!1||e==null?e:$.isArray(e)?e.map($r):String(e)}function k_(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let a;for(;a=n.exec(e);)t[a[1]]=a[2];return t}function zu(e,t,n,a){if($.isFunction(a))return a.call(this,t,n);if(!!$.isString(t)){if($.isString(a))return t.indexOf(a)!==-1;if($.isRegExp(a))return a.test(t)}}function w_(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,a)=>n.toUpperCase()+a)}function __(e,t){const n=$.toCamelCase(" "+t);["get","set","has"].forEach(a=>{Object.defineProperty(e,a+n,{value:function(r,i,s){return this[a].call(this,t,r,i,s)},configurable:!0})})}function Ea(e,t){t=t.toLowerCase();const n=Object.keys(e);let a=n.length,r;for(;a-- >0;)if(r=n[a],t===r.toLowerCase())return r;return null}function vt(e,t){e&&this.set(e),this[Gf]=t||null}Object.assign(vt.prototype,{set:function(e,t,n){const a=this;function r(i,s,o){const l=ja(s);if(!l)throw new Error("header name must be a non-empty string");const u=Ea(a,l);u&&o!==!0&&(a[u]===!1||o===!1)||(a[u||s]=$r(i))}return $.isPlainObject(e)?$.forEach(e,(i,s)=>{r(i,s,t)}):r(t,e,n),this},get:function(e,t){if(e=ja(e),!e)return;const n=Ea(this,e);if(n){const a=this[n];if(!t)return a;if(t===!0)return k_(a);if($.isFunction(t))return t.call(this,a,n);if($.isRegExp(t))return t.exec(a);throw new TypeError("parser must be boolean|regexp|function")}},has:function(e,t){if(e=ja(e),e){const n=Ea(this,e);return!!(n&&(!t||zu(this,this[n],n,t)))}return!1},delete:function(e,t){const n=this;let a=!1;function r(i){if(i=ja(i),i){const s=Ea(n,i);s&&(!t||zu(n,n[s],s,t))&&(delete n[s],a=!0)}}return $.isArray(e)?e.forEach(r):r(e),a},clear:function(){return Object.keys(this).forEach(this.delete.bind(this))},normalize:function(e){const t=this,n={};return $.forEach(this,(a,r)=>{const i=Ea(n,r);if(i){t[i]=$r(a),delete t[r];return}const s=e?w_(r):String(r).trim();s!==r&&delete t[r],t[s]=$r(a),n[s]=!0}),this},toJSON:function(e){const t=Object.create(null);return $.forEach(Object.assign({},this[Gf]||null,this),(n,a)=>{n==null||n===!1||(t[a]=e&&$.isArray(n)?n.join(", "):n)}),t}});Object.assign(vt,{from:function(e){return $.isString(e)?new this(v_(e)):e instanceof this?e:new this(e)},accessor:function(e){const n=(this[Ou]=this[Ou]={accessors:{}}).accessors,a=this.prototype;function r(i){const s=ja(i);n[s]||(__(a,i),n[s]=!0)}return $.isArray(e)?e.forEach(r):r(e),this}});vt.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent"]);$.freezeMethods(vt.prototype);$.freezeMethods(vt);function S_(e,t){e=e||10;const n=new Array(e),a=new Array(e);let r=0,i=0,s;return t=t!==void 0?t:1e3,function(l){const u=Date.now(),c=a[i];s||(s=u),n[r]=l,a[r]=u;let f=i,d=0;for(;f!==r;)d+=n[f++],f=f%e;if(r=(r+1)%e,r===i&&(i=(i+1)%e),u-s{const i=r.loaded,s=r.lengthComputable?r.total:void 0,o=i-n,l=a(o),u=i<=s;n=i;const c={loaded:i,total:s,progress:s?i/s:void 0,bytes:o,rate:l||void 0,estimated:l&&s&&u?(s-i)/l:void 0};c[t?"download":"upload"]=!0,e(c)}}function Bu(e){return new Promise(function(n,a){let r=e.data;const i=vt.from(e.headers).normalize(),s=e.responseType;let o;function l(){e.cancelToken&&e.cancelToken.unsubscribe(o),e.signal&&e.signal.removeEventListener("abort",o)}$.isFormData(r)&&Ht.isStandardBrowserEnv&&i.setContentType(!1);let u=new XMLHttpRequest;if(e.auth){const p=e.auth.username||"",b=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";i.set("Authorization","Basic "+btoa(p+":"+b))}const c=Kf(e.baseURL,e.url);u.open(e.method.toUpperCase(),Hf(c,e.params,e.paramsSerializer),!0),u.timeout=e.timeout;function f(){if(!u)return;const p=vt.from("getAllResponseHeaders"in u&&u.getAllResponseHeaders()),C={data:!s||s==="text"||s==="json"?u.responseText:u.response,status:u.status,statusText:u.statusText,headers:p,config:e,request:u};m_(function(y){n(y),l()},function(y){a(y),l()},C),u=null}if("onloadend"in u?u.onloadend=f:u.onreadystatechange=function(){!u||u.readyState!==4||u.status===0&&!(u.responseURL&&u.responseURL.indexOf("file:")===0)||setTimeout(f)},u.onabort=function(){!u||(a(new Ce("Request aborted",Ce.ECONNABORTED,e,u)),u=null)},u.onerror=function(){a(new Ce("Network Error",Ce.ERR_NETWORK,e,u)),u=null},u.ontimeout=function(){let b=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded";const C=e.transitional||$f;e.timeoutErrorMessage&&(b=e.timeoutErrorMessage),a(new Ce(b,C.clarifyTimeoutError?Ce.ETIMEDOUT:Ce.ECONNABORTED,e,u)),u=null},Ht.isStandardBrowserEnv){const p=(e.withCredentials||h_(c))&&e.xsrfCookieName&&f_.read(e.xsrfCookieName);p&&i.set(e.xsrfHeaderName,p)}r===void 0&&i.setContentType(null),"setRequestHeader"in u&&$.forEach(i.toJSON(),function(b,C){u.setRequestHeader(C,b)}),$.isUndefined(e.withCredentials)||(u.withCredentials=!!e.withCredentials),s&&s!=="json"&&(u.responseType=e.responseType),typeof e.onDownloadProgress=="function"&&u.addEventListener("progress",Fu(e.onDownloadProgress,!0)),typeof e.onUploadProgress=="function"&&u.upload&&u.upload.addEventListener("progress",Fu(e.onUploadProgress)),(e.cancelToken||e.signal)&&(o=p=>{!u||(a(!p||p.type?new cr(null,e,u):p),u.abort(),u=null)},e.cancelToken&&e.cancelToken.subscribe(o),e.signal&&(e.signal.aborted?o():e.signal.addEventListener("abort",o)));const d=b_(c);if(d&&Ht.protocols.indexOf(d)===-1){a(new Ce("Unsupported protocol "+d+":",Ce.ERR_BAD_REQUEST,e));return}u.send(r||null)})}const Hu={http:Bu,xhr:Bu},$u={getAdapter:e=>{if($.isString(e)){const t=Hu[e];if(!e)throw Error($.hasOwnProp(e)?`Adapter '${e}' is not available in the build`:`Can not resolve adapter '${e}'`);return t}if(!$.isFunction(e))throw new TypeError("adapter is not a function");return e},adapters:Hu},E_={"Content-Type":"application/x-www-form-urlencoded"};function C_(){let e;return typeof XMLHttpRequest<"u"?e=$u.getAdapter("xhr"):typeof process<"u"&&$.kindOf(process)==="process"&&(e=$u.getAdapter("http")),e}function x_(e,t,n){if($.isString(e))try{return(t||JSON.parse)(e),$.trim(e)}catch(a){if(a.name!=="SyntaxError")throw a}return(n||JSON.stringify)(e)}const ya={transitional:$f,adapter:C_(),transformRequest:[function(t,n){const a=n.getContentType()||"",r=a.indexOf("application/json")>-1,i=$.isObject(t);if(i&&$.isHTMLForm(t)&&(t=new FormData(t)),$.isFormData(t))return r&&r?JSON.stringify(qf(t)):t;if($.isArrayBuffer(t)||$.isBuffer(t)||$.isStream(t)||$.isFile(t)||$.isBlob(t))return t;if($.isArrayBufferView(t))return t.buffer;if($.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let o;if(i){if(a.indexOf("application/x-www-form-urlencoded")>-1)return u_(t,this.formSerializer).toString();if((o=$.isFileList(t))||a.indexOf("multipart/form-data")>-1){const l=this.env&&this.env.FormData;return Ni(o?{"files[]":t}:t,l&&new l,this.formSerializer)}}return i||r?(n.setContentType("application/json",!1),x_(t)):t}],transformResponse:[function(t){const n=this.transitional||ya.transitional,a=n&&n.forcedJSONParsing,r=this.responseType==="json";if(t&&$.isString(t)&&(a&&!this.responseType||r)){const s=!(n&&n.silentJSONParsing)&&r;try{return JSON.parse(t)}catch(o){if(s)throw o.name==="SyntaxError"?Ce.from(o,Ce.ERR_BAD_RESPONSE,this,null,this.response):o}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Ht.classes.FormData,Blob:Ht.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};$.forEach(["delete","get","head"],function(t){ya.headers[t]={}});$.forEach(["post","put","patch"],function(t){ya.headers[t]=$.merge(E_)});function Xi(e,t){const n=this||ya,a=t||n,r=vt.from(a.headers);let i=a.data;return $.forEach(e,function(o){i=o.call(n,i,r.normalize(),t?t.status:void 0)}),r.normalize(),i}function Wf(e){return!!(e&&e.__CANCEL__)}function es(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new cr}function qu(e){return es(e),e.headers=vt.from(e.headers),e.data=Xi.call(e,e.transformRequest),(e.adapter||ya.adapter)(e).then(function(a){return es(e),a.data=Xi.call(e,e.transformResponse,a),a.headers=vt.from(a.headers),a},function(a){return Wf(a)||(es(e),a&&a.response&&(a.response.data=Xi.call(e,e.transformResponse,a.response),a.response.headers=vt.from(a.response.headers))),Promise.reject(a)})}function Za(e,t){t=t||{};const n={};function a(u,c){return $.isPlainObject(u)&&$.isPlainObject(c)?$.merge(u,c):$.isPlainObject(c)?$.merge({},c):$.isArray(c)?c.slice():c}function r(u){if($.isUndefined(t[u])){if(!$.isUndefined(e[u]))return a(void 0,e[u])}else return a(e[u],t[u])}function i(u){if(!$.isUndefined(t[u]))return a(void 0,t[u])}function s(u){if($.isUndefined(t[u])){if(!$.isUndefined(e[u]))return a(void 0,e[u])}else return a(void 0,t[u])}function o(u){if(u in t)return a(e[u],t[u]);if(u in e)return a(void 0,e[u])}const l={url:i,method:i,data:i,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:o};return $.forEach(Object.keys(e).concat(Object.keys(t)),function(c){const f=l[c]||r,d=f(c);$.isUndefined(d)&&f!==o||(n[c]=d)}),n}const Uf="1.1.3",Zo={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{Zo[e]=function(a){return typeof a===e||"a"+(t<1?"n ":" ")+e}});const Ku={};Zo.transitional=function(t,n,a){function r(i,s){return"[Axios v"+Uf+"] Transitional option '"+i+"'"+s+(a?". "+a:"")}return(i,s,o)=>{if(t===!1)throw new Ce(r(s," has been removed"+(n?" in "+n:"")),Ce.ERR_DEPRECATED);return n&&!Ku[s]&&(Ku[s]=!0,console.warn(r(s," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(i,s,o):!0}};function P_(e,t,n){if(typeof e!="object")throw new Ce("options must be an object",Ce.ERR_BAD_OPTION_VALUE);const a=Object.keys(e);let r=a.length;for(;r-- >0;){const i=a[r],s=t[i];if(s){const o=e[i],l=o===void 0||s(o,i,e);if(l!==!0)throw new Ce("option "+i+" must be "+l,Ce.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new Ce("Unknown option "+i,Ce.ERR_BAD_OPTION)}}const $s={assertOptions:P_,validators:Zo},Zt=$s.validators;class Nn{constructor(t){this.defaults=t,this.interceptors={request:new Ru,response:new Ru}}request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=Za(this.defaults,n);const{transitional:a,paramsSerializer:r}=n;a!==void 0&&$s.assertOptions(a,{silentJSONParsing:Zt.transitional(Zt.boolean),forcedJSONParsing:Zt.transitional(Zt.boolean),clarifyTimeoutError:Zt.transitional(Zt.boolean)},!1),r!==void 0&&$s.assertOptions(r,{encode:Zt.function,serialize:Zt.function},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();const i=n.headers&&$.merge(n.headers.common,n.headers[n.method]);i&&$.forEach(["delete","get","head","post","put","patch","common"],function(b){delete n.headers[b]}),n.headers=new vt(n.headers,i);const s=[];let o=!0;this.interceptors.request.forEach(function(b){typeof b.runWhen=="function"&&b.runWhen(n)===!1||(o=o&&b.synchronous,s.unshift(b.fulfilled,b.rejected))});const l=[];this.interceptors.response.forEach(function(b){l.push(b.fulfilled,b.rejected)});let u,c=0,f;if(!o){const p=[qu.bind(this),void 0];for(p.unshift.apply(p,s),p.push.apply(p,l),f=p.length,u=Promise.resolve(n);c{if(!a._listeners)return;let i=a._listeners.length;for(;i-- >0;)a._listeners[i](r);a._listeners=null}),this.promise.then=r=>{let i;const s=new Promise(o=>{a.subscribe(o),i=o}).then(r);return s.cancel=function(){a.unsubscribe(i)},s},t(function(i,s,o){a.reason||(a.reason=new cr(i,s,o),n(a.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}static source(){let t;return{token:new Xo(function(r){t=r}),cancel:t}}}function D_(e){return function(n){return e.apply(null,n)}}function L_(e){return $.isObject(e)&&e.isAxiosError===!0}function Jf(e){const t=new Nn(e),n=jf(Nn.prototype.request,t);return $.extend(n,Nn.prototype,t,{allOwnKeys:!0}),$.extend(n,t,null,{allOwnKeys:!0}),n.create=function(r){return Jf(Za(e,r))},n}const ot=Jf(ya);ot.Axios=Nn;ot.CanceledError=cr;ot.CancelToken=Xo;ot.isCancel=Wf;ot.VERSION=Uf;ot.toFormData=Ni;ot.AxiosError=Ce;ot.Cancel=ot.CanceledError;ot.all=function(t){return Promise.all(t)};ot.spread=D_;ot.isAxiosError=L_;ot.formToJSON=e=>qf($.isHTMLForm(e)?new FormData(e):e);const el=ot.create({withCredentials:!0,baseURL:ln.backend,timeout:5e3,headers:{"X-Custom-Header":"Webpanel","Access-Control-Allow-Origin":"*"}});el.interceptors.response.use(e=>e,e=>(e.response.status===401&&Yf.push({name:"auth-login"}),Promise.reject(e)));const T_={loginEndpoint:"/auth/login",refreshEndpoint:"/auth/refresh",logoutEndpoint:"/auth/logout",tokenType:"Bearer",storageTokenKeyName:"accessToken",storageRefreshTokenKeyName:"refreshToken"},ts=Ti(zn);class A_{constructor(t,n){qn(this,"axiosIns",null);qn(this,"jwtConfig",{...T_});qn(this,"isAlreadyFetchingAccessToken",!1);qn(this,"subscribers",[]);this.axiosIns=t,this.jwtConfig={...this.jwtConfig,...n},this.axiosIns.interceptors.request.use(a=>{const r=this.getToken();return r&&(a.headers.Authorization=`${this.jwtConfig.tokenType} ${r}`),a},a=>Promise.reject(a)),this.axiosIns.interceptors.response.use(a=>a,a=>{const{config:r,response:i}=a,s=r;return i&&i.status===401?(this.isAlreadyFetchingAccessToken||(this.isAlreadyFetchingAccessToken=!0,this.refreshToken().then(l=>{this.isAlreadyFetchingAccessToken=!1,this.setToken(l.data.accessToken),ts.UPDATE_USER_DATA(l.data.userData),this.onAccessTokenFetched(l.data.accessToken)})),new Promise(l=>{this.addSubscriber(u=>{s.headers.Authorization=`${this.jwtConfig.tokenType} ${u}`,l(this.axiosIns(s))})})):Promise.reject(a)})}onAccessTokenFetched(t){this.subscribers=this.subscribers.filter(n=>n(t))}addSubscriber(t){this.subscribers.push(t)}getToken(){return ts.accessToken}setToken(t){ts.UPDATE_ACCESS_TOKEN(t)}login(...t){return this.axiosIns.post(this.jwtConfig.loginEndpoint,...t)}logout(){return this.setToken(null),this.axiosIns.post(this.jwtConfig.logoutEndpoint)}refreshToken(){return this.axiosIns.post(this.jwtConfig.refreshEndpoint)}}function j_(e,t){return{jwt:new A_(e,t)}}const{jwt:Wn}=j_(el,{}),Gu=Ti(zn),N_=()=>Gu.accessToken&&Gu.userData,M_=To("lists",{state:()=>({lastList:"",searchFilter:"",paginationSave:{sortBy:"desc",descending:!1,page:1,rowsPerPage:25}})}),I_=Ti(zn),V_=gm(zn),Er=M_(zn),R_=[{path:"/",name:"dashboard",component:()=>de(()=>import("./Dashboard.5685c36e.js"),["Dashboard.5685c36e.js","QMarkupTable.ba6854cc.js","externalHosting.js"],import.meta.url),meta:{resource:ue.APP,action:ce.APP.DASHBOARD,breadcrumb:[{text:"dashboard"}]}},{path:"/game/map",name:"game-live-map",component:()=>de(()=>import("./LiveMap.5f9d4cf2.js"),["LiveMap.5f9d4cf2.js","LiveMap.959a946d.css","QSlideTransition.104e08c1.js","QItemLabel.b6dd3adb.js","QExpansionItem.593bd861.js","QList.9d5bb77f.js","utils.9ce591f3.js","BasicInput.94e22095.js","WaypointsModal.ac8f44d9.js","QSelect.d7ce3d4c.js","position-engine.65ebcb34.js","selection.2a17b691.js","rtl.b51694b1.js","_commonjsHelpers.c10bf6cb.js","externalHosting.js"],import.meta.url),meta:{resource:ue.GAME,action:ce.GAME.LIVEMAP.READ,breadcrumb:[{text:"map"}]}},{path:"/game/waypoints",name:"game-waypoint-list",component:()=>de(()=>import("./WaypointList.3a8867bc.js"),["WaypointList.3a8867bc.js","QTable.d759a99d.js","QList.9d5bb77f.js","QMarkupTable.ba6854cc.js","QSelect.d7ce3d4c.js","QItemLabel.b6dd3adb.js","position-engine.65ebcb34.js","selection.2a17b691.js","rtl.b51694b1.js","utils.9ce591f3.js","externalHosting.js"],import.meta.url),meta:{resource:ue.GAME,action:ce.GAME.WAYPOINT.READ,breadcrumb:[{text:"waypoints"}]},children:[{path:":waypointId",name:"game-waypoint-detail",props:!0,component:()=>de(()=>import("./Waypoint.2ac9fd2f.js"),["Waypoint.2ac9fd2f.js","QForm.8d79ab03.js","utils.9ce591f3.js","BasicDialog.9dd9de92.js","externalHosting.js"],import.meta.url),meta:{resource:ue.GAME,action:ce.GAME.WAYPOINT.READ,breadcrumb:[{text:"waypoints",to:{name:"game-waypoint-list"}},{text:"waypoint",active:!0}]}},{path:"create",name:"game-waypoint-create",props:!0,component:()=>de(()=>import("./WaypointCreate.3336c8d8.js"),["WaypointCreate.3336c8d8.js","QForm.8d79ab03.js","externalHosting.js"],import.meta.url),meta:{resource:ue.GAME,action:ce.GAME.WAYPOINT.CREATE,breadcrumb:[{text:"waypoints",to:{name:"game-waypoint-list"}},{text:"waypoint",active:!0}]}}]},{path:"/game/accounts",name:"game-account-list",component:()=>de(()=>import("./AccountList.2d40e541.js"),["AccountList.2d40e541.js","QTable.d759a99d.js","QList.9d5bb77f.js","QMarkupTable.ba6854cc.js","QSelect.d7ce3d4c.js","QItemLabel.b6dd3adb.js","position-engine.65ebcb34.js","selection.2a17b691.js","rtl.b51694b1.js","externalHosting.js"],import.meta.url),meta:{resource:ue.GAME,action:ce.GAME.ACCOUNT.READ,sortBy:"name",breadcrumb:[{text:"accounts"}]},children:[{path:":license",name:"game-account-detail",props:!0,component:()=>de(()=>import("./Account.56521d7f.js"),["Account.56521d7f.js","QTable.d759a99d.js","QList.9d5bb77f.js","QMarkupTable.ba6854cc.js","QSelect.d7ce3d4c.js","QItemLabel.b6dd3adb.js","position-engine.65ebcb34.js","selection.2a17b691.js","rtl.b51694b1.js","externalHosting.js"],import.meta.url),meta:{resource:ue.GAME,action:ce.GAME.ACCOUNT.READ,breadcrumb:[{text:"accounts",to:{name:"game-account-list"}},{text:"account",active:!0}]}}]},{path:"/game/players",name:"game-player-list",component:()=>de(()=>import("./PlayerList.2d511afa.js"),["PlayerList.2d511afa.js","QTable.d759a99d.js","QList.9d5bb77f.js","QMarkupTable.ba6854cc.js","QSelect.d7ce3d4c.js","QItemLabel.b6dd3adb.js","position-engine.65ebcb34.js","selection.2a17b691.js","rtl.b51694b1.js","externalHosting.js"],import.meta.url),meta:{resource:ue.GAME,action:ce.GAME.PLAYER.READ,sortBy:"firstname",breadcrumb:[{text:"players"}]},children:[{path:":citizenid",name:"game-player-detail",props:!0,component:()=>de(()=>import("./Player.01a99d74.js"),["Player.01a99d74.js","Player.3ea5adaf.css","QTabPanels.e712c208.js","QResizeObserver.2503502b.js","rtl.b51694b1.js","use-panel.c35d3e1e.js","touch.70a9dd44.js","selection.2a17b691.js","QTable.d759a99d.js","QList.9d5bb77f.js","QMarkupTable.ba6854cc.js","QSelect.d7ce3d4c.js","QItemLabel.b6dd3adb.js","position-engine.65ebcb34.js","QPopupProxy.441c18a6.js","utils.9ce591f3.js","WaypointsModal.ac8f44d9.js","BasicDialog.9dd9de92.js","BasicInput.94e22095.js","BasicPrompt.0f8aac67.js","QImg.91aecb73.js","export-file.dc78ba05.js","QTooltip.9d840032.js","externalHosting.js"],import.meta.url),meta:{resource:ue.GAME,action:ce.GAME.PLAYER.READ,breadcrumb:[{text:"players",to:{name:"game-player-list"}},{text:"player",active:!0}]},children:[{path:"inventory",name:"game-player-inventory",props:!0,component:()=>de(()=>import("./Inventory.fab0074b.js"),["Inventory.fab0074b.js","Inventory.230c12ef.css","QTooltip.9d840032.js","position-engine.65ebcb34.js","selection.2a17b691.js","EditGameItem.ca08f00f.js","QImg.91aecb73.js","externalHosting.js","QItemLabel.b6dd3adb.js","QSelect.d7ce3d4c.js","rtl.b51694b1.js","QMarkupTable.ba6854cc.js","QForm.8d79ab03.js","BasicDialog.9dd9de92.js","BasicPrompt.0f8aac67.js","utils.9ce591f3.js","export-file.dc78ba05.js"],import.meta.url),meta:{resource:ue.GAME,action:ce.GAME.PLAYER.READ,breadcrumb:[{text:"players",to:{name:"game-player-list"}},{text:"player",to:{name:"game-player-detail"}},{text:"inventory",active:!0}]}}]}]},{path:"/game/vehicles",name:"game-vehicle-list",component:()=>de(()=>import("./VehicleList.27315f59.js"),["VehicleList.27315f59.js","QTable.d759a99d.js","QList.9d5bb77f.js","QMarkupTable.ba6854cc.js","QSelect.d7ce3d4c.js","QItemLabel.b6dd3adb.js","position-engine.65ebcb34.js","selection.2a17b691.js","rtl.b51694b1.js","utils.9ce591f3.js","externalHosting.js"],import.meta.url),meta:{resource:ue.GAME,action:ce.GAME.VEHICLE.READ,sortBy:"plate",breadcrumb:[{text:"vehicles"}]},children:[{path:":vehicleId",name:"game-vehicle-detail",props:!0,component:()=>de(()=>import("./Vehicle.2c374c7e.js"),["Vehicle.2c374c7e.js","QMarkupTable.ba6854cc.js","QForm.8d79ab03.js","utils.9ce591f3.js","BasicDialog.9dd9de92.js","BasicInput.94e22095.js","externalHosting.js"],import.meta.url),meta:{resource:ue.GAME,action:ce.GAME.VEHICLE.READ,breadcrumb:[{text:"vehicles",to:{name:"game-vehicle-list"}},{text:"vehicle",active:!0}]}},{path:"create",name:"game-vehicle-create",props:!0,component:()=>de(()=>import("./VehicleCreate.6dc6c35d.js"),["VehicleCreate.6dc6c35d.js","QForm.8d79ab03.js","externalHosting.js"],import.meta.url),meta:{resource:ue.GAME,action:ce.GAME.VEHICLE.CREATE,breadcrumb:[{text:"vehicles",to:{name:"game-vehicle-list"}},{text:"vehicle",active:!0}]}}]},{path:"/game/stashes",name:"game-stashes-list",component:()=>de(()=>import("./StashesList.398d536a.js"),["StashesList.398d536a.js","QTable.d759a99d.js","QList.9d5bb77f.js","QMarkupTable.ba6854cc.js","QSelect.d7ce3d4c.js","QItemLabel.b6dd3adb.js","position-engine.65ebcb34.js","selection.2a17b691.js","rtl.b51694b1.js","externalHosting.js"],import.meta.url),meta:{resource:ue.GAME,action:ce.GAME.STASHES.READ,breadcrumb:[{text:"stashes"}]},children:[{path:":stashId",name:"game-stashes-detail",props:!0,component:()=>de(()=>import("./Stash.70f72a04.js"),["Stash.70f72a04.js","Stash.77a94cd5.css","QTooltip.9d840032.js","position-engine.65ebcb34.js","selection.2a17b691.js","EditGameItem.ca08f00f.js","QImg.91aecb73.js","externalHosting.js","QItemLabel.b6dd3adb.js","QSelect.d7ce3d4c.js","rtl.b51694b1.js","QMarkupTable.ba6854cc.js","QForm.8d79ab03.js","BasicDialog.9dd9de92.js","utils.9ce591f3.js"],import.meta.url),meta:{resource:ue.GAME,action:ce.GAME.STASHES.READ,breadcrumb:[{text:"stashes",to:{name:"game-stashes-list"}},{text:"stash",active:!0}]}}]},{path:"/game/logs",name:"game-logs",component:()=>de(()=>import("./Logs.1df946c2.js"),["Logs.1df946c2.js","Logs.a67be7ae.css","QTabPanels.e712c208.js","QResizeObserver.2503502b.js","rtl.b51694b1.js","use-panel.c35d3e1e.js","touch.70a9dd44.js","selection.2a17b691.js","utils.9ce591f3.js","externalHosting.js"],import.meta.url),meta:{resource:ue.GAME,action:ce.GAME.LOGS.READ,breadcrumb:[{text:"logs"}]}},{path:"/dev/items",name:"dev-item-list",component:()=>de(()=>import("./ItemList.4a8e7836.js"),["ItemList.4a8e7836.js","QTable.d759a99d.js","QList.9d5bb77f.js","QMarkupTable.ba6854cc.js","QSelect.d7ce3d4c.js","QItemLabel.b6dd3adb.js","position-engine.65ebcb34.js","selection.2a17b691.js","rtl.b51694b1.js","QBadge.718e7c58.js","utils.9ce591f3.js","externalHosting.js"],import.meta.url),meta:{resource:ue.DEV,action:ce.DEV.ITEM.READ,breadcrumb:[{text:"items"}]},children:[{path:":itemId",name:"dev-item-detail",props:!0,component:()=>de(()=>import("./Item.d7c8acff.js"),["Item.d7c8acff.js","Item.2da3e4bb.css","QTooltip.9d840032.js","position-engine.65ebcb34.js","selection.2a17b691.js","QImg.91aecb73.js","QItemLabel.b6dd3adb.js","QSelect.d7ce3d4c.js","rtl.b51694b1.js","QBadge.718e7c58.js","QMarkupTable.ba6854cc.js","QForm.8d79ab03.js","BasicDialog.9dd9de92.js","utils.9ce591f3.js","externalHosting.js"],import.meta.url),meta:{resource:ue.DEV,action:ce.DEV.ITEM.READ,breadcrumb:[{text:"items",to:{name:"dev-item-list"}},{text:"item",active:!0}]}},{path:"create",name:"dev-item-create",props:!0,component:()=>de(()=>import("./ItemCreate.8a3fa02e.js"),["ItemCreate.8a3fa02e.js","ItemCreate.2da3e4bb.css","QForm.8d79ab03.js","QTooltip.9d840032.js","position-engine.65ebcb34.js","selection.2a17b691.js","QImg.91aecb73.js","QItemLabel.b6dd3adb.js","QSelect.d7ce3d4c.js","rtl.b51694b1.js","QBadge.718e7c58.js","QMarkupTable.ba6854cc.js","BasicDialog.9dd9de92.js","externalHosting.js"],import.meta.url),meta:{resource:ue.DEV,action:ce.DEV.ITEM.CREATE,breadcrumb:[{text:"items",to:{name:"dev-item-list"}},{text:"item",active:!0}]}}]},{path:"/dev/jobs",name:"dev-job-list",component:()=>de(()=>import("./JobList.d41e0b31.js"),["JobList.d41e0b31.js","QTable.d759a99d.js","QList.9d5bb77f.js","QMarkupTable.ba6854cc.js","QSelect.d7ce3d4c.js","QItemLabel.b6dd3adb.js","position-engine.65ebcb34.js","selection.2a17b691.js","rtl.b51694b1.js","utils.9ce591f3.js","externalHosting.js"],import.meta.url),meta:{resource:ue.DEV,action:ce.DEV.JOB.READ,breadcrumb:[{text:"jobs"}]},children:[{path:":jobId",name:"dev-job-detail",props:!0,component:()=>de(()=>import("./Job.bbbc91c4.js"),["Job.bbbc91c4.js","Job.a74b1d19.css","QTooltip.9d840032.js","position-engine.65ebcb34.js","selection.2a17b691.js","QMarkupTable.ba6854cc.js","QForm.8d79ab03.js","utils.9ce591f3.js","BasicDialog.9dd9de92.js","move.a5bc0ce3.js","externalHosting.js"],import.meta.url),meta:{resource:ue.DEV,action:ce.DEV.JOB.READ,breadcrumb:[{text:"jobs",to:{name:"dev-job-list"}},{text:"job",active:!0}]}},{path:"create",name:"dev-job-create",props:!0,component:()=>de(()=>import("./JobCreate.06aadcb6.js"),["JobCreate.06aadcb6.js","JobCreate.df7379d8.css","QForm.8d79ab03.js","QTooltip.9d840032.js","position-engine.65ebcb34.js","selection.2a17b691.js","QMarkupTable.ba6854cc.js","BasicDialog.9dd9de92.js","move.a5bc0ce3.js","externalHosting.js"],import.meta.url),meta:{resource:ue.DEV,action:ce.DEV.JOB.CREATE,breadcrumb:[{text:"jobs",to:{name:"dev-job-list"}},{text:"job",active:!0}]}}]},{path:"/dev/gangs",name:"dev-gang-list",component:()=>de(()=>import("./GangList.74e60440.js"),["GangList.74e60440.js","QTable.d759a99d.js","QList.9d5bb77f.js","QMarkupTable.ba6854cc.js","QSelect.d7ce3d4c.js","QItemLabel.b6dd3adb.js","position-engine.65ebcb34.js","selection.2a17b691.js","rtl.b51694b1.js","utils.9ce591f3.js","externalHosting.js"],import.meta.url),meta:{resource:ue.DEV,action:ce.DEV.GANG.READ,breadcrumb:[{text:"gangs"}]},children:[{path:":gangId",name:"dev-gang-detail",props:!0,component:()=>de(()=>import("./Gang.e4f2173b.js"),["Gang.e4f2173b.js","Gang.ae8786d2.css","QTooltip.9d840032.js","position-engine.65ebcb34.js","selection.2a17b691.js","QMarkupTable.ba6854cc.js","QForm.8d79ab03.js","move.a5bc0ce3.js","utils.9ce591f3.js","BasicDialog.9dd9de92.js","externalHosting.js"],import.meta.url),meta:{resource:ue.DEV,action:ce.DEV.GANG.READ,breadcrumb:[{text:"gangs",to:{name:"dev-gang-list"}},{text:"gang",active:!0}]}},{path:"create",name:"dev-gang-create",props:!0,component:()=>de(()=>import("./GangCreate.fdc0e4eb.js"),["GangCreate.fdc0e4eb.js","GangCreate.c8574556.css","QForm.8d79ab03.js","QTooltip.9d840032.js","position-engine.65ebcb34.js","selection.2a17b691.js","QMarkupTable.ba6854cc.js","BasicDialog.9dd9de92.js","move.a5bc0ce3.js","externalHosting.js"],import.meta.url),meta:{resource:ue.DEV,action:ce.DEV.GANG.CREATE,breadcrumb:[{text:"gangs",to:{name:"dev-gang-list"}},{text:"gang",active:!0}]}}]},{path:"/dev/vehicles",name:"dev-vehicle-list",component:()=>de(()=>import("./VehicleList.808e053f.js"),["VehicleList.808e053f.js","QTable.d759a99d.js","QList.9d5bb77f.js","QMarkupTable.ba6854cc.js","QSelect.d7ce3d4c.js","QItemLabel.b6dd3adb.js","position-engine.65ebcb34.js","selection.2a17b691.js","rtl.b51694b1.js","utils.9ce591f3.js","externalHosting.js"],import.meta.url),meta:{resource:ue.DEV,action:ce.DEV.VEHICLE.READ,breadcrumb:[{text:"vehicles"}]},children:[{path:":vehicleId",name:"dev-vehicle-detail",props:!0,component:()=>de(()=>import("./Vehicle.14c8f95c.js"),["Vehicle.14c8f95c.js","QForm.8d79ab03.js","QSelect.d7ce3d4c.js","QItemLabel.b6dd3adb.js","position-engine.65ebcb34.js","selection.2a17b691.js","rtl.b51694b1.js","QTooltip.9d840032.js","QMarkupTable.ba6854cc.js","utils.9ce591f3.js","BasicDialog.9dd9de92.js","externalHosting.js"],import.meta.url),meta:{resource:ue.DEV,action:ce.DEV.VEHICLE.READ,breadcrumb:[{text:"vehicles",to:{name:"dev-vehicle-list"}},{text:"vehicle",active:!0}]}},{path:"/create",name:"dev-vehicle-create",props:!0,component:()=>de(()=>import("./VehicleCreate.ec46f0b2.js"),["VehicleCreate.ec46f0b2.js","QForm.8d79ab03.js","QSelect.d7ce3d4c.js","QItemLabel.b6dd3adb.js","position-engine.65ebcb34.js","selection.2a17b691.js","rtl.b51694b1.js","QTooltip.9d840032.js","QMarkupTable.ba6854cc.js","BasicDialog.9dd9de92.js","externalHosting.js"],import.meta.url),meta:{resource:ue.DEV,action:ce.DEV.VEHICLE.CREATE,breadcrumb:[{text:"vehicles",to:{name:"dev-vehicle-list"}},{text:"vehicle",active:!0}]}}]},{path:"/web/users",name:"web-user-list",component:()=>de(()=>import("./UserList.e541b3ac.js"),["UserList.e541b3ac.js","QTable.d759a99d.js","QList.9d5bb77f.js","QMarkupTable.ba6854cc.js","QSelect.d7ce3d4c.js","QItemLabel.b6dd3adb.js","position-engine.65ebcb34.js","selection.2a17b691.js","rtl.b51694b1.js","utils.9ce591f3.js","externalHosting.js"],import.meta.url),meta:{resource:ue.WEB,action:ce.WEB.USER.READ,breadcrumb:[{text:"users"}]},children:[{path:":userId",name:"web-user-detail",props:!0,component:()=>de(()=>import("./User.3dcfa91d.js"),["User.3dcfa91d.js","QItemLabel.b6dd3adb.js","QSelect.d7ce3d4c.js","position-engine.65ebcb34.js","selection.2a17b691.js","rtl.b51694b1.js","utils.9ce591f3.js","BasicDialog.9dd9de92.js","BasicPrompt.0f8aac67.js","externalHosting.js"],import.meta.url),meta:{resource:ue.WEB,action:ce.WEB.USER.READ,breadcrumb:[{text:"users",to:{name:"web-user-list"}},{text:"user",active:!0}]}},{path:"create",name:"web-user-create",props:!0,component:()=>de(()=>import("./UserCreate.b66e777a.js"),["UserCreate.b66e777a.js","QItemLabel.b6dd3adb.js","QSelect.d7ce3d4c.js","position-engine.65ebcb34.js","selection.2a17b691.js","rtl.b51694b1.js","QForm.8d79ab03.js","externalHosting.js"],import.meta.url),meta:{resource:ue.WEB,action:ce.WEB.USER.CREATE,breadcrumb:[{text:"users",to:{name:"web-user-list"}},{text:"user",active:!0}]}}]},{path:"/web/roles",name:"web-role-list",component:()=>de(()=>import("./RoleList.cebc48ef.js"),["RoleList.cebc48ef.js","QTable.d759a99d.js","QList.9d5bb77f.js","QMarkupTable.ba6854cc.js","QSelect.d7ce3d4c.js","QItemLabel.b6dd3adb.js","position-engine.65ebcb34.js","selection.2a17b691.js","rtl.b51694b1.js","QBadge.718e7c58.js","utils.9ce591f3.js","externalHosting.js"],import.meta.url),meta:{resource:ue.WEB,action:ce.WEB.ROLE.READ,breadcrumb:[{text:"roles"}]},children:[{path:":roleId",name:"web-role-detail",props:!0,component:()=>de(()=>import("./Role.239e54eb.js"),["Role.239e54eb.js","QBadge.718e7c58.js","QItemLabel.b6dd3adb.js","QSelect.d7ce3d4c.js","position-engine.65ebcb34.js","selection.2a17b691.js","rtl.b51694b1.js","utils.9ce591f3.js","BasicDialog.9dd9de92.js","externalHosting.js"],import.meta.url),meta:{resource:ue.WEB,action:ce.WEB.ROLE.READ,breadcrumb:[{text:"roles",to:{name:"web-role-list"}},{text:"role",active:!0}]}},{path:"create",name:"web-role-create",props:!0,component:()=>de(()=>import("./RoleCreate.64ec1560.js"),["RoleCreate.64ec1560.js","QForm.8d79ab03.js","QBadge.718e7c58.js","QItemLabel.b6dd3adb.js","QSelect.d7ce3d4c.js","position-engine.65ebcb34.js","selection.2a17b691.js","rtl.b51694b1.js","externalHosting.js"],import.meta.url),meta:{resource:ue.WEB,action:ce.WEB.ROLE.CREATE,breadcrumb:[{text:"roles",to:{name:"web-role-list"}},{text:"role",active:!0}]}}]},{path:"/web/config",name:"web-config",component:()=>de(()=>import("./Configuration.5ddd817c.js"),["Configuration.5ddd817c.js","tr.2092e75c.js","TouchPan.194313dc.js","touch.70a9dd44.js","selection.2a17b691.js","QItemLabel.b6dd3adb.js","QTabPanels.e712c208.js","QResizeObserver.2503502b.js","rtl.b51694b1.js","use-panel.c35d3e1e.js","QPopupProxy.441c18a6.js","QSelect.d7ce3d4c.js","position-engine.65ebcb34.js","QImg.91aecb73.js","externalHosting.js"],import.meta.url),meta:{resource:ue.WEB,action:ce.WEB.CONFIG.READ,breadcrumb:[{text:"config"}]}},{path:"/error-404",name:"error-404",component:()=>de(()=>import("./Error404.f36360c1.js"),["Error404.f36360c1.js","externalHosting.js"],import.meta.url),meta:{layout:"full",resource:ue.GENERAL,action:ce.GENERAL.AUTH}},{path:"/error-authorized",name:"misc-not-authorized",component:()=>de(()=>import("./NotAuthorized.1eaf7931.js"),["NotAuthorized.1eaf7931.js","externalHosting.js"],import.meta.url),meta:{layout:"full",resource:ue.GENERAL,action:ce.GENERAL.AUTH}},{path:"/login",name:"auth-login",component:()=>de(()=>import("./Login.713e3e08.js"),["Login.713e3e08.js","QImg.91aecb73.js","index.7435630d.js","_commonjsHelpers.c10bf6cb.js","externalHosting.js"],import.meta.url),meta:{layout:"full",resource:ue.GENERAL,action:ce.GENERAL.AUTH,redirectIfLoggedIn:!0}},{path:"/auth/:provider/callback",name:"auth-callback",component:()=>de(()=>import("./Auth.6fa50dd9.js"),["Auth.6fa50dd9.js","Auth.f868edf7.css","externalHosting.js"],import.meta.url),meta:{layout:"full",resource:ue.GENERAL,action:ce.GENERAL.AUTH,redirectIfLoggedIn:!0}},{path:"/setup",name:"setup",component:()=>de(()=>import("./Setup.7660e4f6.js"),["Setup.7660e4f6.js","tr.2092e75c.js","QSlideTransition.104e08c1.js","use-panel.c35d3e1e.js","touch.70a9dd44.js","selection.2a17b691.js","QImg.91aecb73.js","QItemLabel.b6dd3adb.js","QSelect.d7ce3d4c.js","position-engine.65ebcb34.js","rtl.b51694b1.js","QForm.8d79ab03.js","index.7435630d.js","_commonjsHelpers.c10bf6cb.js","externalHosting.js"],import.meta.url),meta:{layout:"full",resource:ue.GENERAL,action:ce.GENERAL.AUTH}},{path:"/:catchAll(.*)",redirect:"error-404"}],tl=Ak({history:ln.webHistory?fu(ln.webHistory):fu(),base:ln.isSubPath?ln.isSubPath:"./",routes:R_});tl.beforeEach(async(e,t,n)=>{let a=N_();return V_.setupMode&&e.name!=="setup"?n({name:"setup"}):(e.matched.some(i=>i.name===Er.lastList)||(Er.$reset(),Er.lastList=e.name,Er.paginationSave.sortBy=e.meta.sortBy||"desc"),a||Wn.isAlreadyFetchingAccessToken||(Wn.isAlreadyFetchingAccessToken=!0,await Wn.refreshToken().then(i=>{!i.data.accessToken||!i.data.userData||(a=!0,Wn.isAlreadyFetchingAccessToken=!1,Wn.setToken(i.data.accessToken),I_.UPDATE_USER_DATA(i.data.userData),Wn.onAccessTokenFetched(i.data.accessToken))})),xw(e)?n():n(a?{name:"misc-not-authorized"}:{name:"auth-login"}))});tl.afterEach(()=>{const e=document.getElementById("loading-bg");e&&(e.style.display="none")});const Yf=tl,Qf={timestamp:"Zeitpunkt",logout:"Ausloggen",username:"Benutzername",password:"Passwort",confirmPassword:"Passwort best\xE4tigen",setupToken:"Token",languages:{de:"Deutsch",en:"Englisch",es:"Spanisch",dk:"D\xE4nisch",et:"Estnisch",nl:"Niederl\xE4ndisch",no:"Norwegisch",pl:"Polnisch",pt:"Portogisisch",ta:"Indisch - Tamil",tr:"Turkish"},save:"Speichern",delete:"L\xF6schen",search:"Suchen",change:"\xC4ndern",success:"Erfolgreich",error:"Error",saved:"Speichern erfolgreich.",deleted:"L\xF6schen erfolgreich.",cleared:"Leerung erfolgreich.",ok:"Ok",cancel:"Abbrechen",create:"Erstellen",back:"Zur\xFCck",changePassword:"Passwort \xE4ndern",kick:"Kicken",ban:"Bannen",fillUp:"Auff\xFCllen",relax:"Entspannen",add:"Hinzuf\xFCgen",added:"Hinzugef\xFCgt",teleport:"Teleportieren",teleported:"Erfolgreich teleportiert",cantReach:"Server nicht erreichbar.",male:"M\xE4nnlich",female:"Weiblich",yes:"Ja",no:"Nein",reason:"Grund",time:"Dauer",bantime:"Dauer in Sekunden.",warnHeader:"Verwarnen",warnMsg:"Mit welchem Grund soll {name} verwarnt werden?",warnBanHeader:"Banns/Verwarnungen",banHeader:"Bannen",banMsg:"Mit welchem Grund und wie lange soll {name} gebannt werden?",banSuccess:"Der Spieler wurde gebannt.",unbanHeader:"Entbannen",unbanMsg:"M\xF6chtest du {name} wirklich entbannen?",unbanSuccess:"Der Spieler wurde entbannt.",kickHeader:"Kicken",kickMsg:"Mit welchem Grund soll {name} gekickt werden?",kickSuccess:"Der Spieler wurde gekickt.",toggleAll:"Alle umschalten",heal:"Heilen",offline:"Spieler offline",or:"oder",timeout:"Zeit\xFCberschreitung der Abfrage."},Zf={vehicles:"Fahrzeuge",vehicle:"Fahrzeug",items:"Items",item:"Item",jobs:"Jobs",job:"Job",gangs:"Gangs",gang:"Gang",users:"Benutzer",user:"Benutzer",roles:"Rollen",role:"Rolle",map:"Karte",dashboard:"Dashboard",logs:"Logs",accounts:"Accounts",account:"Account",players:"Spieler",player:"Spieler",inventory:"Inventar",config:"Einstellungen",waypoints:"Wegmarken",waypoint:"Wegmarke",stashes:"Lager",stash:"Lager"},Xf={required:"Dies ist ein Pflichtfeld.",passwordConfirm:"Passw\xF6rter stimmen nicht \xFCberein.",noSpace:"Kein Leerzeichen erlaubt.",numbers:"Nur Zahlen erlaubt.",unique:"Muss eindeutig sein.",defaults:"Es sind keine Standard Variablennamen erlaubt.",onlyCharsNumbers:"Es sind nur Leerzechen, Nummern und Buchstaben erlaubt."},eg={header:{gameserver:"Gameserver",development:"Development",management:"Verwaltung"},titles:{dashboard:"Dashboard",livemap:"Live Map",waypoint:"Wegmarken",account:"Accounts",player:"Spieler",logs:"Logs",vehicle:"Fahrzeuge",items:"Items",jobs:"Jobs",gangs:"Gangs",users:"Benutzer",roles:"Rollen",web:"Web",config:"Einstellungen",stashes:"Lager"}},tg={general:{changePasswordHeader:"Password \xE4ndern",changePasswordMsg:"Bitte gebe dein neues Passwort ein.",msg:{error:{user_missing:"Dein Benutzer konnte nicht gefunden werden."}}},dashboard:{cpu:"CPU",ram:"RAM",process:"Unlimited RAM",onlinePlayers:"Spieler online",gangOnline:"Gang Mitglieder online",jobsDuty:"Spieler im Dienst",headers:{name:"Name",character:"Charakter",job:"Job",count:"Anzahl",gang:"Gang",rank:"Rang"}},setup:{finishButton:"Setup abschlie\xDFen",backButton:"Vorherige",nextButton:"Weiter",welcomeHeader:"Willkommen",welcomeSub:"Willkommen im Unlimited Webpanel! Dieses Setup hilft dir bei der Einrichtung.",langHeader:"Sprachauswahl",langSub:"W\xE4hle deine Sprache aus.",masterHeader:"Master Account",masterSub:"Dein Master Account hat, unabh\xE4ngig von den Berechtigungen, immer volle Zugriffsrechte.",tokenHeader:"Setup Token",tokenSub:"Kopiere zur Verifizierung deinen Setup Token aus der Server-Console.",tokenPlaceHolder:"Setup Token einf\xFCgen"},login:{subtext:"Willkommen beim Unlimitd Webpanel. Bitte melde dich an.",msg:{error:{not_supported:"Der gew\xE4hlte Provider scheint nicht unterst\xFCtzt zu werden.",internal_error:"Interner Fehler. Bitte kontaktiere Unlimited mit einem Fehlerbericht."}}},itemList:{subheader:"Alle Items aus der QBCore/Shared/items.lua. \xDCber QB-Exports/Functions registrierte Items werden nicht angezeigt.",noData:"Keine \xDCbereinstimmungen",loadData:"Lade Daten",headers:{label:"Label",type:"Typ",weight:"Gewicht",name:"Name",useable:"Benutzbar",unique:"Eindeutig",shouldClose:"Schlie\xDFen"},recordsPerPage:"Zeilen pro Seite",paginationLabel:"{from}-{to} von {total}",createItem:"Item anlegen"},item:{name:"Name / Key",label:"Beschriftung",desc:"Beschreibung",image:"Icon",weight:"Gewicht",type:"Typ",useable:"Benutzbar",unique:"Eindeutig",shouldClose:"Schlie\xDFen nach Benutzen",edit:"Item bearbeiten",customVariables:"Weitere Variablen",customVarSub:"Erstelle eigene Variablen f\xFCr dein Item.",addCustomVar:"Neue Variable",customVarName:"Variable",customVarValue:"Wert",combinability:"Kombinierbarkeit",combinabSub:"Hier kann festgelegt werden, mit welchen Items das Item einzeln kombiniert werden kann, was es als Ergebnis erzeugt und welche Animation wie lange, welchen Text anzeigen soll.",combinable:{accept:"Kombinierbar mit",reward:"Ergebnis",text:"Anzeigetext",timeOut:"Dauer",lib:"Animations Lib",dict:"Animations Dict"},deleteHeader:"L\xF6schbest\xE4tigung",deleteMsg:"Willst du wirklich das Item {itemLabel} [{itemName}] l\xF6schen? Dies kann nicht r\xFCckg\xE4ngig gemacht werden!",deleteCustomVarMsg:"Willst du wirklich die Variable {name} l\xF6schen? Dies kann nicht r\xFCckg\xE4ngig gemacht werden!",msg:{error:{invalid_item_name:"Der Item Name '{name}' ist kein String.",item_exists:"Das Item '{name}' existiert bereits.",item_not_exists:"Das Item '{name}' existiert nicht.",file_error:"Die Item\xE4nderungen wurde live geschalten. Jedoch kam es beim Speichern der .lua zu einem Fehler. Nach einem Restart sind die \xC4nderungen nicht mehr aktiv.",missingFields:"Es m\xFCssen alle Pflichtfelder ausgef\xFCllt werden.",uniqueVars:"Der Variablenname muss eindeutig sein.",filename_exists:"Es existiert bereits ein Bild mit dem Dateinamen."}},uploadedImage:"Bild erfolgreich hochgeladen.",uploadNew:"Lade ein Bild hoch",imageNotFound:"Das Bild existiert auf dem Server nicht."},itemCreate:{new:"Neues Item anlegen"},roleList:{subheader:"Verwalte die Rechte deines Teams mit eigenen Rollen.",noData:"Keine \xDCbereinstimmungen",loadData:"Lade Daten",createRole:"Rolle anlegen",headers:{name:"Name",desc:"Beschreibung",permissions:"Anzahl Berechtigungen",color:"Farbe"},recordsPerPage:"Zeilen pro Seite",paginationLabel:"{from}-{to} von {total}"},role:{name:"Name",edit:"Rolle bearbeiten",desc:"Beschreibung",color:"Farbe",permissions:"Berechtigungen",permissionSub:"Weise deiner Rolle eigene Rechte zu.",resource:{gameserver:"Gameserver",development:"Development",management:"Verwaltung"},section:{liveMap:"LiveMap",waypoint:"Wegmarken",account:"Account",player:"Spieler",vehicles:"Fahrzeuge",logs:"Logs",items:"Items",jobs:"Jobs",gangs:"Gangs",user:"Benutzer",roles:"Rollen",config:"Einstellungen",stashes:"Lager"},action:{read:"Lesen",modify:"Bearbeiten",delete:"L\xF6schen",despawn:"Despawn",repair:"Reparieren",create:"Erstellen",player:"Spieler anzeigen",vehicle:"Fahrzeuge anzeigen",kick:"Kicken",warn:"Verwarnen",ban:"Bannen",money:"Geld",meta:"Metadaten",position:"Position",inventory:"Inventar",screen:"Bildschirm",license:"Lizenz",job:"Job",gang:"Gang",logs:{game:"Game",player:"Spieler",dev:"Dev",web:"Web"}},msg:{error:{role_missing:"Die Role mit dem Namen '{name}' exisitert nicht (mehr).",role_exist:"Die Rolle mit dem Namen '{name}' existiert bereits.",missingFields:"Es m\xFCssen alle Pflichtfelder ausgef\xFCllt werden."}},deleteHeader:"L\xF6schbest\xE4tigung",deleteMsg:"Willst du wirklich die Role {name} l\xF6schen? Dies kann nicht r\xFCckg\xE4ngig gemacht werden!"},roleCreate:{new:"Neue Role anlegen"},userList:{subheader:"Verwalte die Benutzeraccounts deines Teams.",noData:"Keine \xDCbereinstimmungen",loadData:"Lade Daten",createUser:"Benutzer anlegen",headers:{name:"Name",role:"Rolle",master:"Master"},recordsPerPage:"Zeilen pro Seite",paginationLabel:"{from}-{to} von {total}"},user:{edit:"Benutzer bearbeiten",role:"Rolle",fxname:"cfx.re",msg:{error:{user_missing:"Der Benutzer mit dem Namen '{name}' exisitert nicht (mehr).",user_exist:"Der Benutzer mit dem Namen '{name}' existiert bereits.",user_master:"Du kannst den Master User nicht l\xF6schen.",missingFields:"Es m\xFCssen alle Pflichtfelder ausgef\xFCllt werden.",is_master:"Das Passwort des Master Users kann nicht zur\xFCcksetzt werden.",fx_used:"Der cfx.re Name wird bereits verwendet."}},deleteHeader:"L\xF6schbest\xE4tigung",deleteMsg:"Willst du wirklich den Benutzer {name} l\xF6schen? Dies kann nicht r\xFCckg\xE4ngig gemacht werden!",resetPasswort:"Passwort zur\xFCcksetzen",resetPasswordHeader:"Zur\xFCcksetzen best\xE4tigen",resetPasswordMsg:"Willst du wirklich das Passwort f\xFCr {name} zur\xFCcksetzen?"},jobList:{subheader:"Alle Jobs aus der QBCore/Shared/jobs.lua. \xDCber QB-Exports/Functions registrierte Jobs werden nicht angezeigt.",noData:"Keine \xDCbereinstimmungen",loadData:"Lade Daten",createJob:"Job erstellen",headers:{name:"Name",label:"Bezeichnung",grades:"Anzahl R\xE4nge",defaultDuty:"Standard Duty",offDutyPay:"Gehalt off Duty"},recordsPerPage:"Zeilen pro Seite",paginationLabel:"{from}-{to} von {total}"},jobCreate:{new:"Neuen Job anlegen"},job:{name:"Name",edit:"Job bearbeiten",label:"Bezeichnung",defaultDuty:"Standard Duty",offDutyPay:"Gehalt off Duty",grades:"R\xE4nge",gradesSub:"Lege die R\xE4nge f\xFCr deinen Job fest. Die Reihenfolge ist niedrigster Rang zu h\xF6chster Rang, von oben nach unten.",customVariables:"Weitere Variablen",customVarSub:"Erstelle eigene Variablen f\xFCr deinen Job.",addCustomVar:"Neue Variable",customVarName:"Variable",customVarValue:"Wert",msg:{error:{invalid_job_name:"Der Jobname '{name}' ist kein String.",job_exists:"Der Job '{name}' existiert bereits.",job_not_exists:"Der Job '{name}' existiert nicht.",file_error:"Die Job\xE4nderung wurde live geschalten. Jedoch kam es beim Speichern der .lua zu einem Fehler. Nach einem Restart sind die \xC4nderungen nicht mehr aktiv.",missingFields:"Es m\xFCssen alle Pflichtfelder ausgef\xFCllt werden.",gradeNeeded:"Du musst mindestens einen Rang anlegen.",uniqueVars:"Der Variablenname muss eindeutig sein."}},deleteHeader:"L\xF6schbest\xE4tigung",deleteMsg:"Willst du wirklich den Job {name} l\xF6schen? Dies kann nicht r\xFCckg\xE4ngig gemacht werden!",deleteGradeMsg:"Willst du wirklich den Rang {name} l\xF6schen? Dies kann nicht r\xFCckg\xE4ngig gemacht werden!",deleteCustomVarMsg:"Willst du wirklich die Variable {name} l\xF6schen? Dies kann nicht r\xFCckg\xE4ngig gemacht werden!",headers:{name:"Name",isboss:"Boss",payment:"Lohn"},addGrade:"Rang hinzuf\xFCgen"},gangList:{subheader:"Alle Gangs aus der QBCore/Shared/gangs.lua. \xDCber QB-Exports/Functions registrierte Gangs werden nicht angezeigt.",noData:"Keine \xDCbereinstimmungen",loadData:"Lade Daten",createGang:"Gang erstellen",headers:{name:"Name",label:"Bezeichnung",grades:"Anzahl R\xE4nge"},recordsPerPage:"Zeilen pro Seite",paginationLabel:"{from}-{to} von {total}"},gangCreate:{new:"Neue Gang anlegen"},gang:{name:"Name",edit:"Gang bearbeiten",label:"Bezeichnung",grades:"R\xE4nge",gradesSub:"Lege die R\xE4nge f\xFCr deine Gang fest. Die Reihenfolge ist niedrigster Rang zu h\xF6chster Rang, von oben nach unten.",customVariables:"Weitere Variablen",customVarSub:"Erstelle eigene Variablen f\xFCr deine Gang.",addCustomVar:"Neue Variable",customVarName:"Variable",customVarValue:"Wert",msg:{error:{invalid_gang_name:"Der Gangname '{name}' ist kein String.",gang_exists:"Die Gang '{name}' existiert bereits.",gang_not_exists:"Die Gang '{name}' existiert nicht.",file_error:"Die Gang\xE4nderung wurde live geschalten. Jedoch kam es beim Speichern der .lua zu einem Fehler. Nach einem Restart sind die \xC4nderungen nicht mehr aktiv.",missingFields:"Es m\xFCssen alle Pflichtfelder ausgef\xFCllt werden.",gradeNeeded:"Du musst mindestens einen Rang anlegen.",uniqueVars:"Der Variablenname muss eindeutig sein."}},deleteHeader:"L\xF6schbest\xE4tigung",deleteMsg:"Willst du wirklich die Gang {name} l\xF6schen? Dies kann nicht r\xFCckg\xE4ngig gemacht werden!",deleteGradeMsg:"Willst du wirklich den Rang {name} l\xF6schen? Dies kann nicht r\xFCckg\xE4ngig gemacht werden!",deleteCustomVarMsg:"Willst du wirklich die Variable {name} l\xF6schen? Dies kann nicht r\xFCckg\xE4ngig gemacht werden!",headers:{name:"Name",isboss:"Boss"},addGrade:"Rang hinzuf\xFCgen"},liveMap:{viewPlayerTab:"Spielerakte anzeigen",viewVehicleTab:"Fahrzeugakte anzeigen",noOnlinePlayers:"Keine Spieler online",noSpawnedVehicles:"Keine Fahrzeuge au\xDFerhalb der Garagen",generalContextMenuHeader:"Allgemein",teleportPlayerHeader:"W\xE4hle einen Spieler zum Teleportieren",copyCoordsToClipboard:"Koordinaten kopieren",teleportTo:"Spieler teleportieren",createWaypoint:"Wegmarke erstellen",markers:{vehicles:"Fahrzeuge",players:"Spieler"},labels:{selectedPlayer:"Ausgew\xE4hler Spieler"},btn:{loadFromWaypoint:"Wegmarke laden"},msg:{success:{coordsCopied:"Koordinaten erfolgreich in Zwischenablage kopiert."},error:{noPlayersOnline:"Aktuell ist kein Spieler online.",errorCopyCoords:"Fehler beim Kopieren in die Zwischenablage."}}},playerList:{subheader:"Alle registrierten Charaktere.",noData:"Keine \xDCbereinstimmungen",loadData:"Lade Daten",recordsPerPage:"Zeilen pro Seite",paginationLabel:"{from}-{to} von {total}",headers:{firstname:"Vorname",lastname:"Nachname",gang:"Gang",job:"Job",online:"Online",citizenid:"Citizen-ID",name:"Accountname"}},player:{tabs:{general:"Allgemein",vehicles:"Fahrzeuge",logs:"Logs",notes:"Notizen"},pastBans:"Bannverlauf/Verwarnungen",changeJobHeader:"Job \xE4ndern",changeGangHeader:"Gang \xE4ndern",deleteHeader:"Spieler l\xF6schen",deletePlayerMsg:"M\xF6chtest du den Spieler {name} wirklick l\xF6schen? Dies kann nicht r\xFCckg\xE4ngig gemacht werden!",changeAccountHeader:"Lizenz \xE4ndern",changeAccountSub:"M\xF6chtest du wirklich die Lizenz f\xFCr den Spieler {name} \xE4ndern? Dies kann nicht r\xFCckg\xE4ngig gemacht werden!",playerScreenHeader:"Aktueller Spielerbildschirm",addMoneyHeader:"Geld geben",addMoneyMsg:"Geben Sie den Betrag ein",removeMoneyHeader:"Geld abziehen",removeMoneyMsg:"Geben Sie den Betrag ein",buttons:{unban:"Bann aufheben",warn:"Verwarnen",ban:"Bannen",kick:"Kicken",inventory:"Inventar",screen:"Bildschirm betrachten",money:{set:"Festlegen",give:"Geben",remove:"Abziehen"}},banMsg:"\u{1F528} von '{by}' f\xFCr '{reason}' bis {expire}.",moneyDisclaimer:"Geld jeder Art als Item wird nicht unterst\xFCtzt.",headers:{general:"Allgemein",charinfo:"Charakterinfo",meta:"Metadaten",money:"W\xE4hrungen",gang:"Gang",job:"Job",actions:"Aktionen"},labels:{name:"Accountname",citizenid:"Citizen-ID",license:"Lizenz",position:"Position",firstname:"Vorname",lastname:"Nachname",account:"Account",cid:"Char-ID",gender:"Geschlecht",male:"m\xE4nnlich",female:"weiblich",birthdate:"Geburtstag",nationality:"Nationalit\xE4t",phone:"Handy",backstory:"Charaktergeschichte",isdead:"Ist Tod",ishandcuffed:"Gefesselt",walletid:"Geldb\xF6rsen-ID",fingerprint:"Fingerabruck",bloodtype:"Blutgruppe",thirst:"Durst",hunger:"Hunger",stress:"Stress",armor:"R\xFCstung",job:{name:"Name",grade:"Rang"},gang:{name:"Name",grade:"Rang"},money:{bank:"Bank",crypto:"Crypto",cash:"Bargeld"},health:"Gesundheit",ip:"IP",discord:"Discord",bucket:"Dimension"},msg:{success:{success:"Daten gespeichert.",hunger:"Hunger aufgef\xFCllt.",thirst:"Durst aufgef\xFCllt.",isdead:"Lebenszustand ver\xE4ndert.",ishandcuffed:"Handschellenzustand ver\xE4ndert.",changeJob:"Job ge\xE4ndert.",changeGang:"Gang ge\xE4ndert.",changedBucket:"Dimension ge\xE4ndert.",stress:"Stress gesenkt.",healed:"Spieler geheilt."},error:{notOnline:"Der Spieler ist nicht mehr online.",notFound:"Spieler nicht gefunden.",missingFields:"F\xFClle alle Felder aus.",changeJob:"Fehler beim Zuweisen des Jobs.",changeGang:"Fehler beim Zuweisen der Gang.",failedFetchGangs:"Fehler beim Laden der Gangs.",failedFetchJobs:"Fehler beim Laden der Jobs.",deleteError:"Da ist etwas schiefgelaufen.",couldNotFetchScreen:"Fehler beim Laden des Spielerbildschirms.",invalid_citizenid:"Die eingegebene Citizen-ID ist ung\xFCltig.",not_allowed:"Die Geldart ist entweder nicht g\xFCltig oder es ist kein negativer Wert erlaubt."}}},vehicleList:{subheader:"Alle Spielerfahrzeuge.",noData:"Keine \xDCbereinstimmungen",loadData:"Lade Daten",spawned:"Unterwegs",garage:"Garage",outside:"Unterwegs",inpound:"Beschlagnahmt",headers:{owner:"Besitzer",plate:"Kennzeichen",vehicle:"Model",spawned:"Spawned",state:"Status",engine:"Motor",body:"Karosserie",fuel:"Sprit"},recordsPerPage:"Zeilen pro Seite",paginationLabel:"{from}-{to} von {total}",createVehicle:"Fahrzeug erstellen"},vehicle:{despawnHeader:"Despawn",despawnMsg:"M\xF6chtest du das aktuelle Fahrzeug wirklich despawnen?",deleteHeader:"L\xF6schen",deleteMsg:"M\xF6chtest du wirklich das aktuelle Fahrzeug aus der Datenbank l\xF6schen? Andere Tabellen (z.B. Kofferraum) bleiben unber\xFChrt!",changeOwnerHeader:"W\xE4hle den neuen Besitzer",changeOwnerInput:"Citizen-ID des neuen Besitzers",buttons:{changeOwner:"Besitzer \xE4ndern",despawnVehicle:"Fahrzeug despawnen",repairVehicle:"Fahrzeug reparieren",deleteVehicle:"Fahrzeug l\xF6schen",openTrunk:"Kofferraum \xF6ffnen",openGlovebox:"Handschuhfach \xF6ffnen"},header:{owner:"Besitzer",payment:"Zahlungen",car:"Fahrzeug"},labels:{owner:"Besitzer",citizenid:"Citizen-ID",license:"Lizenz",depotprice:"Depotpreis",balance:"Guthaben",paymentamount:"Betrag",paymentsleft:"\xDCbrig",financetime:"Finanzierungszeit",model:"Model",plate:"Kennzeichen",fakeplate:"Fake Kennzeichen",drivingdistance:"Kilometerstand",garage:"Garage",state:"Status",fuel:"Sprit",engine:"Motor",body:"Karosse"},msg:{error:{noMatch:"Konnte Fahrzeug nicht finden. Wurde es vielleicht gel\xF6scht?",not_spawned:"Fahrzeug ist nicht gespawnt.",not_found:"Da ist etwas schief gelaufen. Konnte Fahrzeug nicht finden.",missingData:"Fehlerhafte neue Besitzerdaten.",invalid_citizenid:"Die eingegebene Citizen-ID ist ung\xFCltig.",sql_error:"Beim Ausf\xFChren der SQL statements ist etwas schiefgelaufen. Es wurden keine \xC4mderungen vorgenommen!",allowedCharsNumbers:"Du kannst nur Leerzeichen, Nummern und Buchstaben f\xFCr dein Kennzeichen verwenden.",plate_exists:"Das Kennzeichen existiert bereits. Bitte w\xE4hle ein anderes."}}},vehicleCreate:{new:"Neues Fahrzeug anlegen"},logs:{loadMore:"Nach oben scrollen um weitere Logs zu laden."},configuration:{colorsHeader:"Farben",colorsSub:"Passe das Template an deine Marke an.",colors:{primary:"Prim\xE4r",secondary:"Sekund\xE4r",accent:"Akzent",dark:"Hintergrund",positive:"Positiv",negative:"Negativ",info:"Info",warning:"Warnung",main:"Text",sub:"Subtext"},buttons:{undo:"Zur\xFCcksetzen",defaults:"Standard"}},inventory:{playerInventory:"Spieler",supporterStash:"Supporter Lager",itemName:"Name",amount:"Anzahl",infoSection:"Infoeintr\xE4ge",infoSectionSub:"F\xFCge Informationen in die Metadaten des Items ein.",addInfoValue:"Neuer Eintrag",infoName:"Name",infoValue:"Wert",deleteHeader:"L\xF6schen",deleteMsg:"Willst du wirklich das Item l\xF6schen? Dies kann nicht r\xFCckg\xE4ngig gemacht werden!",deleteInfoHeader:"L\xF6schen",deleteInfoMsg:"Willst du wirklich den Eintrag {name} l\xF6schen? Dies kann nicht r\xFCckg\xE4ngig gemacht werden!",addItemTip:"Neues Item hinzuf\xFCgen",addItemHeader:"Hinzuf\xFCgen",clearInvTip:"Inventar leeren",clearInvHeader:"Inventar leeren",clearInvMsg:"Willst du wirklich das komplette Spieler Inventar l\xF6schen? Dies kann nicht r\xFCckg\xE4ngig gemacht werden!",msg:{success:{fixedPlayerItems:"Spielerdaten wurden erfolgreich bereinigt und gel\xF6schte Items, sofern vom Browser unterst\xFCtzt, in eine Datei gespeichert."},error:{failedFetchItems:"Fehler beim Laden der Itemdefinitionen.",failedLoad:"Die Inventardaten konnten nicht geladen werden.",noItemName:"Kein Item ausgew\xE4hlt.",unknown_citizenid:"Der Spieler scheint nicht zu existieren.",noSlot:"Kein freier Slot.",invalid_item:"Die Item Definitonen konnten nicht gefunden werden. Du solltest das Item ggf. l\xF6schen.",moved:"Das Item scheint bewegt worden zu sein. Bitte probiere es erneut.",negative:"Du kannst kein negative Anzahl bewegen.",not_enough:"Du hast nicht genug.",internal:"Interner Fehler. Bitte kontaktiere Unlimited.",uniqueInfo:"Infonamen m\xFCssen eindeutig sein.",fixPlayer:"Fehler in Spielerdaten",fixPlayerText:"Dieser Spieler hat besch\xE4digte Spielderdaten. H\xE4ufig liegt das an fehlerhaften Items im Inventar. Wir k\xF6nnten versuchen die Items zu bereinigen. Dies ist ein Experimental-Feature, wir \xFCbernehmen keine Gew\xE4hr f\xFCr verlorene Items! Sollen wir es probieren?"}}},devVehicleList:{subheader:"Alle Fahrzeuge aus der QBCore/Shared/vehicles.lua.",noData:"Keine \xDCbereinstimmungen",loadData:"Lade Daten",headers:{name:"Name",brand:"Marke",model:"Model",hash:"Hash",price:"Preis",category:"Kategorie"},recordsPerPage:"Zeilen pro Seite",paginationLabel:"{from}-{to} von {total}",createVehicle:"Fahrzeug anlegen"},devVehicle:{edit:"Fahrzeug bearbeiten",model:"Model",hash:"Hash",name:"Name",brand:"Marke",category:"Kategorie",categoryLabel:"Kategoriebezeichnung",price:"Preis",shop:"Shop",customVariables:"Weitere Variablen",customVarSub:"Erstelle eigene Variablen f\xFCr dein Fahrzeug.",addCustomVar:"Neue Variable",customVarName:"Variable",customVarValue:"Wert",msg:{error:{invalid_veh_name:"Der Fahrzeug Name '{name}' ist kein String.",veh_exists:"Das Fahrzeug '{name}' existiert bereits.",veh_not_exists:"Das Fahrzeug '{name}' existiert nicht.",file_error:"Die Fahrzeug\xE4nderungen wurde live geschalten. Jedoch kam es beim Speichern der .lua zu einem Fehler. Nach einem Restart sind die \xC4nderungen nicht mehr aktiv.",missingFields:"Es m\xFCssen alle Pflichtfelder ausgef\xFCllt werden.",uniqueVars:"Der Variablenname muss eindeutig sein."}},deleteHeader:"L\xF6schbest\xE4tigung",deleteMsg:"Willst du wirklich das Fahrzeug {model} l\xF6schen? Dies kann nicht r\xFCckg\xE4ngig gemacht werden!",deleteCustomVarMsg:"Willst du wirklich die Variable {name} l\xF6schen? Dies kann nicht r\xFCckg\xE4ngig gemacht werden!"},devVehicleCreate:{new:"Neues Fahrzeug anlegen"},auth:{msg:{error:{not_supported:"Der gew\xE4hlte Provider scheint nicht unterst\xFCtzt zu werden.",internal_error:"Interner Fehler. Bitte kontaktiere Unlimited mit einem Fehlerbericht.",no_token:"Der Anbieter hat nicht die ben\xF6tigten Felder zur\xFCckgegeben.",userdata_fetch_failed:"Die Benutzerdaten konnten nicht abgerufen werden.",no_fx_user:"Kein Nutzer zu deinem FiveM Account gefunden."}}},waypointList:{subheader:"Verwalte deine Wegmarken.",createWaypoint:"Wegmarke erstellen",noData:"Keine \xDCbereinstimmungen",loadData:"Lade Daten",headers:{name:"Name",label:"Label",coords:"Koordinaten"},recordsPerPage:"Zeilen pro Seite",paginationLabel:"{from}-{to} von {total}"},waypoint:{edit:"Wegmarke bearbeiten",waypoint:"Wegmarke",labels:{name:"Name",label:"Label",coords:"Koordinaten"},msg:{error:{waypoint_missing:"Die Wegmarke mit dem Namen '{name}' exisitert nicht (mehr).",waypoint_exist:"Die Wegmarke '{name}' existiert bereits.",no_waypoints:"Derzeit existieren keine Wegmarken.",missingFields:"Es m\xFCssen alle Pflichtfelder ausgef\xFCllt werden.",failedFetchWaypoints:"Fehler beim Laden der Wegmarken."}},deleteHeader:"L\xF6schen",deleteMsg:"Willst du wirklich die Wegmarke {name} l\xF6schen? Dies kann nicht r\xFCckg\xE4ngig gemacht werden!",modalHeader:"W\xE4hle eine Wegmarke"},accountList:{subheader:"W\xE4hle die Spieler anhand Ihres Accounts aus..",noData:"Keine \xDCbereinstimmungen",loadData:"Lade Daten",headers:{name:"Name",license:"Lizenz",character_count:"Charaktere",last_active:"Zuletzt online"},recordsPerPage:"Zeilen pro Seite",paginationLabel:"{from}-{to} von {total}"},stashesList:{subheader:"Liste aller verf\xFCgbaren Lager.",noData:"Keine \xDCbereinstimmungen",loadData:"Lade Daten",headers:{type:"Typ",identifier:"Identifier",items:"Slots in Benutzung"},recordsPerPage:"Zeilen pro Seite",paginationLabel:"{from}-{to} von {total}"},stashes:{stashStorage:"Lager",supporterStash:"Supporter Lager",itemName:"Name",amount:"Anzahl",infoSection:"Infoeintr\xE4ge",infoSectionSub:"F\xFCge Informationen in die Metadaten des Items ein.",addInfoValue:"Neuer Eintrag",infoName:"Name",infoValue:"Wert",deleteHeader:"L\xF6schen",deleteMsg:"Willst du wirklich das Item l\xF6schen? Dies kann nicht r\xFCckg\xE4ngig gemacht werden!",deleteInfoHeader:"L\xF6schen",deleteInfoMsg:"Willst du wirklich den Eintrag {name} l\xF6schen? Dies kann nicht r\xFCckg\xE4ngig gemacht werden!",addItemTip:"Neues Item hinzuf\xFCgen",addItemHeader:"Hinzuf\xFCgen",clearStorageTip:"Lager leeren",clearStorageHeader:"Lager leeren",clearStorageMsg:"Willst du wirklich das komplette Lager l\xF6schen? Dies kann nicht r\xFCckg\xE4ngig gemacht werden!",msg:{error:{failedFetchItems:"Fehler beim Laden der Itemdefinitionen.",failedLoad:"Die Inventardaten konnten nicht geladen werden.",noItemName:"Kein Item ausgew\xE4hlt.",unknown_storage:"Das Lager scheint nicht zu existieren.",noSlot:"Kein freier Slot.",invalid_item:"Die Item Definitonen konnten nicht gefunden werden. Du solltest das Item ggf. l\xF6schen.",moved:"Das Item scheint bewegt worden zu sein. Bitte probiere es erneut.",negative:"Du kannst kein negative Anzahl bewegen.",not_enough:"Du hast nicht genug.",internal:"Interner Fehler. Bitte kontaktiere Unlimited.",uniqueInfo:"Infonamen m\xFCssen eindeutig sein."}}}},O_={general:Qf,breadcrumb:Zf,rules:Xf,navigation:eg,components:tg},z_=Object.freeze(Object.defineProperty({__proto__:null,general:Qf,breadcrumb:Zf,rules:Xf,navigation:eg,components:tg,default:O_},Symbol.toStringTag,{value:"Module"})),ng={timestamp:"Tidsstempel",logout:"Log ud",username:"Brugernavn",password:"Adgangskode",confirmPassword:"Bekr\xE6ft adgangskode",setupToken:"N\xF8gle",languages:{de:"German",en:"English",es:"Spanish",dk:"Danish",et:"Estonia",nl:"Hollandsk",no:"Norsk",pl:"Polski",pt:"Portugisisk",ta:"Indisk - Tamil",tr:"Turkish"},save:"Gem",delete:"Fjern",search:"S\xF8g",change:"Skift",success:"Succes",error:"Fejl",saved:"Gemt.",deleted:"Fjernet.",cleared:"Du har ryddet det hele.",ok:"Okay",cancel:"Annuller",create:"Opret",back:"TIlbage",changePassword:"Skift adgangskode",kick:"Kick",ban:"Ban",fillUp:"Fyld up",relax:"Slap af",add:"TIlf\xF8j",added:"Tilf\xF8jet",teleport:"Teleporter",teleported:"Teleporteret",cantReach:"Kan ikke reagere til serveren.",male:"Mand",female:"Kvinde",yes:"Ja",no:"Nej",reason:"Grund",time:"Tid",bantime:"Tid i sekunder.",warnHeader:"Advarsel",warnMsg:"Skriv advarsels grund for {name}.",warnBanHeader:"Ban/Advarsel",banHeader:"Ban",banMsg:"Skriv ban grund og tidspunkt {name}.",banSuccess:"Spilleren er blevet banned.",unbanHeader:"Fjern ban",unbanMsg:"Er du sikker p\xE5 du vil unbanne {name}?",unbanSuccess:"SPilleren er levet unbanned.",kickHeader:"Kick",kickMsg:"Skriv kick grund {name}.",kickSuccess:"Spilleren er blevet smidt ud.",toggleAll:"Sl\xE5 alle til",heal:"Genopfrisk",offline:"Spiller offline",or:"eller",timeout:"Anmodningen blev afbrudt."},ag={vehicles:"Biler",vehicle:"Bil",items:"Genstande",item:"Genstand",jobs:"Arbejde",job:"Arbejde",gangs:"Bander",gang:"Bande",users:"Brugere",user:"Bruger",roles:"Roller",role:"Rolle",map:"Map",dashboard:"Overblik",logs:"Logs",accounts:"Spillere",account:"Spiller",players:"Spillere",player:"Spiller",inventory:"Beholdning",config:"Konfiguration",waypoints:"Waypoints",waypoint:"Waypoint",stashes:"Stashes",stash:"Stash"},rg={required:"Dette felt er p\xE5kr\xE6vet.",passwordConfirm:"Adgangskoderne er ikke ens.",noSpace:"Mellemrum er ikke tiladt.",numbers:"Kun tal er tilladt.",unique:"Skal v\xE6re unik.",defaults:"Ingen standard ord er tilladt.",onlyCharsNumbers:"Kun mellemrum, tal og tegn er tilladt."},ig={header:{gameserver:"Spilserver",development:"Udvikler",management:"Ledelse"},titles:{dashboard:"Overblik",livemap:"Live Map",waypoint:"Waypoint",account:"Spiller",player:"Spillere",logs:"Logs",vehicle:"Biler",items:"Genstande",jobs:"Arbejde",gangs:"Bande",users:"Brugere",roles:"Roller",web:"Web",config:"Konfiguration",stashes:"Stashes"}},sg={general:{changePasswordHeader:"Skift adgangskode",changePasswordMsg:"Skriv din nye adgangskode.",msg:{error:{user_missing:"Din konto kunne ikke findes."}}},dashboard:{cpu:"CPU brug",ram:"Ram brug",process:"Procesbrug",onlinePlayers:"Spillere online",gangOnline:"Bandemedlemmer online",jobsDuty:"Spillere p\xE5 arbejde",headers:{name:"Navn",character:"Karakter",job:"Arbejde",count:"Antal",gang:"Bande",rank:"Rang"}},setup:{finishButton:"Afslut ops\xE6tning",backButton:"Tilbage",nextButton:"N\xE6ste",welcomeHeader:"Velkommen",welcomeSub:"Velkommen til Unlimited Panel.",langHeader:"Valg af sprog",langSub:"V\xE6lg dit sprog.",masterHeader:"Hovedkonto",masterSub:"Din hovedkonto har altid fulde adgangsrettigheder, uanset tilladelser.",tokenHeader:"Ops\xE6tningsn\xF8gle",tokenSub:"Kopi\xE9r din ops\xE6tningsn\xF8gle fra serverkonsollen til validering.",tokenPlaceHolder:"Inds\xE6t ops\xE6tningsn\xF8gle"},login:{subtext:"Velkommen til Unlimited Panel. V\xE6r venlig at logge ind.",msg:{error:{not_supported:"Den valgte udbyder ser ikke ud til at v\xE6re underst\xF8ttet.",internal_error:"Intern fejl. Kontakt Unlimited med din fejlmeddelelse."}}},itemList:{subheader:"Alle genstande fra QBCore/Shared/items.lua. Genstande registreret via QB-Exports/Functions vises ikke.",noData:"Intet match",loadData:"indl\xE6ser data",headers:{label:"Label",type:"Type",weight:"V\xE6gt",name:"Navn",useable:"Brugbar",unique:"Unik",shouldClose:"Luk"},recordsPerPage:"Optegnelser pr. side",paginationLabel:"{from}-{to} of {total}",createItem:"Opret genstand"},item:{name:"Navn / N\xF8gle",label:"Label",desc:"Beskrivelse",image:"Billede",weight:"V\xE6gt",type:"Type",useable:"Brugbar",unique:"Unik",shouldClose:"Luk efter brug",edit:"Rediger element",customVariables:"Brugerdefinerede variabler",customVarSub:"Opret dine egne variabler.",addCustomVar:"Opret nye variabler",customVarName:"variabler",customVarValue:"V\xE6rdi",combinability:"Kombinerbarhed",combinabSub:"Her kan du angive, med hvilke elementer genstanden kan kombineres individuelt, hvad den genererer som resultat og hvilken animation der skal vises hvor l\xE6nge og hvilken tekst.",combinable:{accept:"Kombiner med",reward:"Resultat",text:"Displaytekst",timeOut:"Tid",lib:"Animation Lib",dict:"Animation Dict"},deleteHeader:"Fjern",deleteMsg:"Vil du fjerne dette {itemLabel} [{itemName}]? Dette kan ikke fortrydes!",deleteCustomVarMsg:"Do you really want to delete the variable {name}? This cannot be undone!",msg:{error:{invalid_item_name:"Genstand navn'{name}' er ikke typen String.",item_exists:"Genstanden '{name}' eksisterer allerede.",item_not_exists:"Genstanden '{name}' eksisterer ikke.",file_error:"Vare\xE6ndringen er g\xE5et live. Der opstod dog en fejl under lagring af .lua. Efter en genstart er \xE6ndringerne ikke l\xE6ngere aktiv.",missingFields:"Udfyld alle obligatoriske felter.",uniqueVars:"Variabler skal v\xE6re unikke.",filename_exists:"Filnavn findes allerede."}},uploadedImage:"Billedet blev uploadet.",uploadNew:"Upload billede",imageNotFound:"Dette billede findes ikke."},itemCreate:{new:"Opret ny genstand"},roleList:{subheader:"Administrer tilladelser for dit team med tilpassede roller.",createRole:"Opret rolle",noData:"Intet match",loadData:"Indl\xE6s data",headers:{name:"Navn",desc:"Beskrivelse",permissions:"Antal tilladelser",color:"Farve"},recordsPerPage:"Optegnelser pr. side",paginationLabel:"{from}-{to} of {total}"},role:{name:"Navn",edit:"Rediger rolle",desc:"Beskrivelse",color:"Farve",permissions:"Tilladelser",permissionSub:"Tildel dine egne rettigheder til din rolle.",resource:{gameserver:"Spilserver",development:"Udvikler",management:"Ledelse"},section:{liveMap:"LiveMap",waypoint:"Waypoint",account:"Spiller",player:"Spiller",vehicles:"Biler",logs:"Logs",items:"Genstande",jobs:"Arbejde",gangs:"Bande",user:"Brugere",roles:"Roller",config:"Configuration",stashes:"Stashes"},action:{read:"L\xE6s",modify:"\xC6ndre",delete:"Slet",despawn:"Despawn",repair:"Reparation",create:"Opret",player:"Vis spillere",vehicle:"Vis biler",kick:"Kick",warn:"Advarsel",ban:"Ban",money:"Penge",meta:"Metadata",position:"Position",inventory:"Inventory",screen:"Vis sk\xE6rm",license:"Licens",job:"Job",gang:"Bande",logs:{game:"Spil",player:"SPiller",dev:"Dev",web:"Web"}},msg:{error:{role_missing:"ROlle med navn '{name}' eksisterer ikke (l\xE6ngere).",role_exist:"ROllen '{name}' eksisterer allerede.",missingFields:"Udfyld alle obligatoriske felter."}},deleteHeader:"Fjern",deleteMsg:"Vil du fjerne {name}? Dette kan ikke fortrydes!"},roleCreate:{new:"Opret ny rolle"},userList:{subheader:"Administrer brugerkonti for dine teammedlemmer.",noData:"Intet match",loadData:"indl\xE6ser data",createUser:"Opret spiller",headers:{name:"Navn",role:"Rolle",master:"Mestre"},recordsPerPage:"Optegnelser pr. side",paginationLabel:"{from}-{to} of {total}"},user:{edit:"Rediger bruger",role:"Rolle",fxname:"cfx.re",msg:{error:{user_missing:"Bruger med navn '{name}' eksisterer ikke (l\xE6ngere).",user_exist:"Brugeren '{name}' eksisterer allerede.",user_master:"Du kan ikke slette hovedbrugeren.",missingFields:"Udfyld alle obligatoriske felter.",is_master:"Du kan ikke \xE6ndre hovedbrugerens adgangskode.",fx_used:"cfx.re brugeren er allerde i brug af en anden person"}},deleteHeader:"Fjern",deleteMsg:"Vil du fjerne {name}? Dette kan ikke fortrydes!",resetPasswort:"Nulstil adgangskode",resetPasswordHeader:"Bekr\xE6ft nulstilling",resetPasswordMsg:"VIl du nulstille adgangskoden for {name}?"},jobList:{subheader:"Alle job fra QBCore/Shared/jobs.lua. Job, der er registreret via QB-Exports/Functions, vises ikke.",noData:"Intet match",loadData:"indl\xE6ser data",createJob:"Opret arbejde",headers:{name:"Navn",label:"Label",grades:"Grad t\xE6ller",defaultDuty:"Standard arbejde",offDutyPay:"L\xF8n uden vagt"},recordsPerPage:"Optegnelser pr. side",paginationLabel:"{from}-{to} of {total}"},jobCreate:{new:"Opret nyt arbejde"},job:{name:"Navn",edit:"Rediger job",label:"Label",defaultDuty:"Standard arbejde",offDutyPay:"L\xF8n uden vagt",grades:"Grad",gradesSub:"S\xE6t r\xE6kkerne for dit job. Ordren g\xE5r fra laveste rang til h\xF8jeste rang, top til bund.",customVariables:"Tilpassede variabler",customVarSub:"Lav dine egne variabler.",addCustomVar:"Tilf\xF8j variabler",customVarName:"variabler",customVarValue:"V\xE6rdi",msg:{error:{invalid_job_name:"Jobnavnet '{name}' er ikke typen String.",job_exists:"Arbejdet '{name}' eksisterer allerede.",job_not_exists:"Arbejdet '{name}' eksisterer ikke.",file_error:"Jobskiftet er g\xE5et i luften. Der opstod dog en fejl under lagring af .lua. Efter en genstart er \xE6ndringerne ikke l\xE6ngere aktive.",missingFields:"Udfyld alle obligatoriske felter.",gradeNeeded:"Du skal have mindst \xE9n rang.",uniqueVars:"Variabler skal v\xE6re unikke."}},deleteHeader:"Fjern",deleteMsg:"Vil du fjerne {name}? Dette kan ikke fortrydes!",deleteGradeMsg:"Vil du fjerne {name}? Dette kan ikke fortrydes!",deleteCustomVarMsg:"Vil du virkelig slette variablen {name}? Dette kan ikke fortrydes!",headers:{name:"Navn",isboss:"Chef",payment:"Betaling"},addGrade:"Tilf\xF8j grad"},gangList:{subheader:"Alle bander fra QBCore/Shared/gangs.lua. Bander registreret via QB-Exports/Functions vises ikke.",noData:"Intet match",loadData:"indl\xE6ser data",createGang:"Opret bande",headers:{name:"Navn",label:"Label",grades:"Grad t\xE6ller"},recordsPerPage:"Optegnelser pr. side",paginationLabel:"{from}-{to} of {total}"},gangCreate:{new:"Opret ny bande"},gang:{name:"Navn",edit:"Rediger bande",label:"Label",grades:"Grad",gradesSub:"S\xE6t r\xE6kkerne for din bande. Ordren g\xE5r fra laveste rang til h\xF8jeste rang, top til bund.",customVariables:"Brugerdefinerede variabler",customVarSub:"Lav dine egne variabler.",addCustomVar:"Tilf\xF8j nye variabler",customVarName:"variabler",customVarValue:"V\xE6rdi",msg:{error:{invalid_gang_name:"Bande navnet '{name}' er ikke typen String.",gang_exists:"Banden '{name}' eksisterer allerede.",gang_not_exists:"Banden '{name}' eksisterer ikke.",file_error:"Bandeskiftet er g\xE5et live. Der opstod dog en fejl under lagring af .lua. Efter en genstart er \xE6ndringerne ikke l\xE6ngere aktive.",missingFields:"Udfyld alle obligatoriske felter.",gradeNeeded:"Du skal have mindst \xE9n rang.",uniqueVars:"Vvariabler skal v\xE6re unikke."}},deleteHeader:"Fjern",deleteMsg:"VIl du fjerne {name}? Dette kan ikke fortrydes!",deleteGradeMsg:"Vil du fjerne {name}? Dette kan ikke fortrydes!",deleteCustomVarMsg:"Vil du virkelig slette variablen {name}? Dette kan ikke fortrydes!",headers:{name:"Navn",isboss:"Chef"},addGrade:"Tilf\xF8j grad"},liveMap:{viewPlayerTab:"Se spillerrekord",viewVehicleTab:"Se k\xF8ret\xF8jsrekord",noOnlinePlayers:"Ingen spillere online",noSpawnedVehicles:"Ingen k\xF8ret\xF8jer spawned",generalContextMenuHeader:"Generel",teleportPlayerHeader:"V\xE6lg spiller, du vil teleportere",copyCoordsToClipboard:"Kopier koordinater",teleportTo:"Teleporter spiller",createWaypoint:"S\xE6t et waypoint",markers:{vehicles:"Biler",players:"Spillere"},labels:{selectedPlayer:"Valgte spiller"},btn:{loadFromWaypoint:"Indl\xE6s waypoint"},msg:{success:{coordsCopied:"Koordinaterne blev kopieret til udklipsholderen."},error:{noPlayersOnline:"I \xF8jeblikket er der ingen spillere online at teleportere.",errorCopyCoords:"Kunne ikke kopiere koordinater til udklipsholder."}}},playerList:{subheader:"Alle registrerede spillere.",noData:"Intet match",loadData:"indl\xE6ser data",recordsPerPage:"Optegnelser pr. side",paginationLabel:"{from}-{to} of {total}",headers:{firstname:"Fornavn",lastname:"Efternavn",gang:"Bande",job:"Arbejde",online:"Online",citizenid:"Citizen-ID",name:"Kontonavn"}},player:{tabs:{general:"Generel",vehicles:"K\xF8ret\xF8jer",logs:"Logs",notes:"Noter"},pastBans:"Ban/Advarsel historie",changeJobHeader:"Skift arbejde",changeGangHeader:"Skift arbejde",deleteHeader:"Slet spiller",deletePlayerMsg:"Vil du slette denne spiller {name}? Dette kan ikke fortrydes!",changeAccountHeader:"Skift licens",changeAccountSub:"Vil du virkelig \xE6ndre licensen for spiller {name}? Dette kan ikke fortrydes!",playerScreenHeader:"Spillerens sk\xE6rmbillede",addMoneyHeader:"Giv penge",addMoneyMsg:"Indtast bel\xF8b",removeMoneyHeader:"Fjern penge",removeMoneyMsg:"Indtast bel\xF8b",buttons:{unban:"Nulstil ban",ban:"Ban",warn:"Advarsel",kick:"Kick",inventory:"Inventory",screen:"Vis sk\xE6rm",money:{set:"Inds\xE6t",give:"Giv",remove:"Fjern"}},banMsg:"\u{1F528} af '{by}' for '{reason}' indtil {expire}.",moneyDisclaimer:"Dette underst\xF8tter ikke penge af nogen art som genstand.",headers:{general:"General",charinfo:"Karakter info",meta:"Metadata",money:"Penge",gang:"Bande",job:"Arbejde",actions:"Handlinger"},labels:{name:"Kontonavn",citizenid:"Citizen-ID",license:"License",position:"Position",firstname:"Fornavn",lastname:"Efternavn",account:"Konto",cid:"Char-ID",gender:"K\xF8n",male:"Mand",female:"Kvinde",birthdate:"F\xF8dselsdag",nationality:"Nationalitet",phone:"Telefon",backstory:"Historie",isdead:"Er d\xF8d",ishandcuffed:"H\xE5ndjern",walletid:"Pung-ID",fingerprint:"Fingeraftryk",bloodtype:"Blodtype",thirst:"T\xF8rst",hunger:"Sult",stress:"Stress",armor:"Armor",job:{name:"Navn",grade:"grad"},gang:{name:"Navn",grade:"grad"},money:{bank:"Bank",crypto:"Crypto",cash:"Kontanter"},health:"Liv",ip:"IP",discord:"Discord",bucket:"Bucket"},msg:{success:{success:"Data gemt.",hunger:"Sulten fyldtes op.",thirst:"T\xF8rst fyldtes op.",isdead:"\xC6ndret d\xF8ds status.",ishandcuffed:"\xC6ndret h\xE5ndjerns status.",changeJob:"Arbejde skiftet.",changeGang:"Bande Skiftet.",changedBucket:"Bucket \xE6ndret.",stress:"Stress lindret.",healed:"Spiller genopfrisket."},error:{notOnline:"Spilleren er ikke online.",notFound:"Spilleren blev ikke fundet.",missingFields:"Mangler n\xF8dvendige input.",changeJob:"Jobbet kunne ikke findes.",changeGang:"Banden kunne ikke findes.",failedFetchGangs:"Det lykkedes ikke at hente bander.",failedFetchJobs:"Jobs kunne ikke hentes.",deleteError:"Noget gik galt.",couldNotFetchScreen:"Fejl under visning af sk\xE6rmbillede",invalid_citizenid:"Citizen-ID er ikke gyldigt.",not_allowed:"Pengetypen er ikke fundet eller ingen negativ v\xE6rdi tilladt."}}},vehicleList:{subheader:"Alle spillerk\xF8ret\xF8jer.",noData:"Intet match",loadData:"indl\xE6ser data",spawned:"Spawned",garage:"Garage",outside:"Uden for",inpound:"Beslaglagt",headers:{owner:"Ejer",plate:"Nummerplade",vehicle:"Model",spawned:"Spawned",state:"Status",engine:"Motor",body:"Krop",fuel:"Tank"},recordsPerPage:"Optegnelser pr. side",paginationLabel:"{from}-{to} of {total}",createVehicle:"Opret k\xF8ret\xF8j"},vehicle:{despawnHeader:"Despawn",despawnMsg:"vil du despawne dette k\xF8ret\xF8j?",deleteHeader:"Fjern",deleteMsg:"Vil du virkelig slette det aktuelle k\xF8ret\xF8j fra databasen og despawne det? Andre k\xF8ret\xF8jsrelaterede tabeller (f.eks. bagagerum) er ikke ber\xF8rt!",changeOwnerHeader:"V\xE6lg den nye ejer",changeOwnerInput:"Inds\xE6t ny ejers Citizen-ID",buttons:{changeOwner:"Skift ejer",despawnVehicle:"Despawn K\xF8ret\xF8j",repairVehicle:"Reparer K\xF8ret\xF8j",deleteVehicle:"Fjern K\xF8ret\xF8j",openTrunk:"\xC5bn bagagerummet",openGlovebox:"\xC5bn handskerummet"},header:{owner:"Ejer",payment:"Betaling",car:"Bil"},labels:{owner:"Ejer",citizenid:"Citizen-ID",license:"License",depotprice:"Depot Pris",balance:"Balance",paymentamount:"Bel\xF8b",paymentsleft:"Udgik",financetime:"Finanstid",model:"Model",plate:"Nummerplade",fakeplate:"Falsk nummerplade",drivingdistance:"Kilometertal",garage:"Garage",state:"Stat",fuel:"Tank",engine:"Motor",body:"Krop"},msg:{error:{noMatch:"Kunne ikke finde k\xF8ret\xF8jet. M\xE5ske er den blevet slettet?",not_spawned:"K\xF8ret\xF8jet er ikke skabt.",not_found:"Noget gik galt. Kunne ikke finde k\xF8ret\xF8jet.",missingData:"Mangler nye ejerdata.",invalid_citizenid:"Det indsatte Citizen-ID er ikke gyldigt.",sql_error:"Noget gik galt under SQL loading. Ingen \xE6ndringer blev foretaget",allowedCharsNumbers:"Du kan kun bruge mellemrum, tal og tegn p\xE5 nummerpladen",plate_exists:"Nummerpladen findes allerede. V\xE6lg venligst en anden."}}},vehicleCreate:{new:"Opret nyt k\xF8ret\xF8j"},logs:{loadMore:"N\xE5r du ruller op, indl\xE6ses flere logfiler."},configuration:{colorsHeader:"Farver",colorsSub:"Lav temaet, s\xE5 det passer til din stil.",colors:{primary:"Prim\xE6r",secondary:"Sekund\xE6r",accent:"Accent",dark:"Baggrund",positive:"Positiv",negative:"Negativ",info:"Information",warning:"Advarsel",main:"Tekst",sub:"Subtekst"},buttons:{undo:"Fortryd",defaults:"Standard"}},inventory:{playerInventory:"Spiller",supporterStash:"Supporter Genstande",itemName:"Navn",amount:"Antal",infoSection:"Info v\xE6rdier",infoSectionSub:"Tilf\xF8j infovariabler til din nye genstand.",addInfoValue:"Tilf\xF8j ny",infoName:"Navn",infoValue:"V\xE6rdi",deleteHeader:"Slet",deleteMsg:"Vil du slette dette denne genstand? Dette kan ikke fortrydes!",deleteInfoHeader:"SLet",deleteInfoMsg:"Vil du slette oplysningerne {name}? Dette kan ikke fortrydes!",addItemTip:"Tilf\xF8j ny genstand",addItemHeader:"Tilf\xF8j",clearInvTip:"Ryd inventory",clearInvHeader:"Ryd inventory",clearInvMsg:"Vil du virkelig rydde hele det hele? Dette kan ikke fortrydes!",msg:{success:{fixedPlayerItems:"Fixed player items and saved deleted items into file (if browser allows)."},error:{failedFetchItems:"Varedefinitioner kunne ikke hentes",failedLoad:"Kunne ikke hente inventar data.",noItemName:"Der er ikke valgt nogle genstand.",unknown_citizenid:"Spilleren findes ikke.",noSlot:"Ingen ledige slots.",invalid_item:"Kan ikke finde varedefinition. M\xE5ske fjern dette element",moved:"Genstanden ser ud til at v\xE6re flyttet. Pr\xF8v igen.",negative:"Kan ikke flytte et negativt varebel\xF8b.",not_enough:"Du har ikke nok af denne genstand.",internal:"Intern fejl. Kontakt venligst Unlimited.",uniqueInfo:"Infovariabler skal v\xE6re unikke.",fixPlayer:"Error in PlayerData",fixPlayerText:"This player has a broken PlayerData. Some times this can be caused by invalid item definitions. We can try to fix this by deleting not existing items from the players inventory. This is a experimental feature, be carefull! Should we try to fix it?"}}},devVehicleList:{subheader:"Alle biler fra QBCore/Shared/vehicles.lua.",noData:"Intet match",loadData:"Indl\xE6s data",headers:{name:"Navn",brand:"M\xE6rke",model:"Model",hash:"Hash",price:"Pris",category:"Kategori"},recordsPerPage:"Optegnelser pr. side",paginationLabel:"{from}-{to} af {total}",createVehicle:"Opret k\xF8ret\xF8j"},devVehicle:{edit:"Redig\xF8r k\xF8ret\xF8j",model:"Model",hash:"Hash",name:"Navn",brand:"M\xE6rke",category:"Kategori",categoryLabel:"Kategori label",price:"Pris",shop:"Butik",customVariables:"Brugerdefinerede variabler",customVarSub:"Opret dine egne variabler.",addCustomVar:"Opret nye variabler",customVarName:"variabler",customVarValue:"V\xE6rdi",msg:{error:{invalid_veh_name:"K\xF8ret\xF8jets navn '{name}' er ikke typen String.",veh_exists:"K\xF8ret\xF8jet '{name}' eksisterer allerede.",veh_not_exists:"K\xF8ret\xF8jet '{name}' eksisterer ikke.",file_error:"K\xF8ret\xF8jsskiftet er \xE6ndret. Der opstod dog en fejl under gemmelse af .lua. Efter et genstart er \xE6ndringerne ikke l\xE6ngere aktive.",missingFields:"Udfyld alle obligatoriske felter.",uniqueVars:"Variabler skal v\xE6re unikke."}},deleteHeader:"Slet",deleteMsg:"Vil du slette {model}? Dette kan ikke fortrydes!",deleteCustomVarMsg:"Do you really want to delete the variable {name}? This cannot be undone!"},devVehicleCreate:{new:"Opret nyt k\xF8ret\xF8j"},auth:{msg:{error:{not_supported:"Den valgte udbyder ser ikke ud til at v\xE6re underst\xF8ttet.",internal_error:"Intern fejl. Kontakt Unlimited med din fejlmeddelelse.",no_token:"Tilbagekald gav ikke de n\xF8dvendige foresp\xF8rgselsfelter.",userdata_fetch_failed:"Kunne ikke hente brugerdata fra udbyderen.",no_fx_user:"Ingen cfx.re bruger fundet fundet."}}},waypointList:{subheader:"Administrer dine waypoints.",createWaypoint:"S\xE6t et waypoint",noData:"Intet match",loadData:"Indl\xE6s data",headers:{name:"Navn",label:"Label",coords:"Koordinater"},recordsPerPage:"Optegnelser pr. side",paginationLabel:"{from}-{to} af {total}"},waypoint:{edit:"Rediger waypoint",waypoint:"Waypoint",labels:{name:"Navn",label:"Label",coords:"Koordinater"},msg:{error:{waypoint_missing:"Waypoint med navnet '{name}' eksisterer ikke (l\xE6ngere).",waypoint_exist:"Waypoint med navnet '{name}' eksisterer allerede.",no_waypoints:"Der er i \xF8jeblikket ingen tilg\xE6ngelige waypoints.",missingFields:"Udfyld alle obligatoriske felter.",failedFetchWaypoints:"Kunne ikke hente waypoints."}},deleteHeader:"Slet",deleteMsg:"Vil du slette {name}? Dette kan ikke fortrydes!",modalHeader:"V\xE6lg et waypoint"},accountList:{subheader:"S\xF8g spiller efter deres konto.",noData:"Intet match",loadData:"Indl\xE6s data",headers:{name:"Navn",license:"Licens",character_count:"Karakter",last_active:"Sidst online"},recordsPerPage:"Optegnelser pr. side",paginationLabel:"{from}-{to} af {total}"},stashesList:{subheader:"Oversigt over alle stashes.",noData:"Ingen data fundet",loadData:"Indl\xE6s data",headers:{type:"Type",identifier:"Identifikator",items:"Slots i brug"},recordsPerPage:"Optegnelser pr. side",paginationLabel:"{from}-{to} af {total}"},stashes:{stashStorage:"Stash",supporterStash:"Supporter Stash",itemName:"Navn",amount:"Antal",infoSection:"Infodata",infoSectionSub:"Tilf\xF8j infovariabler til dit nye objekt.",addInfoValue:"Tilf\xF8j ny",infoName:"N\xF8gle",infoValue:"V\xE6rdi",deleteHeader:"Slet",deleteMsg:"Vil du slette dette objekt? Dette kan ikke fortrydes!",deleteInfoHeader:"Slet",deleteInfoMsg:"Vil du slette infoen {name}? Dette kan ikke fortrydes!",addItemTip:"Tilf\xF8j nyt objekt",addItemHeader:"Tilf\xF8j",clearStorageTip:"T\xF8m stash",clearStorageHeader:"T\xF8m stash",clearStorageMsg:"Vil du t\xF8mme hele stashen? Dette kan ikke fortrydes!",msg:{error:{failedFetchItems:"Kunne ikke hente objektdefinitioner.",failedLoad:"Kunne ikke hente inventardata.",noItemName:"Intet objekt valgt.",unknown_storage:"Stashen findes ikke.",noSlot:"Ingen ledig plads.",invalid_item:"Kan ikke finde objektdefinitionen. M\xE5ske slet dette objekt.",moved:"Objektet ser ud til at v\xE6re flyttet. Pr\xF8v venligst igen.",negative:"Kan ikke flytte negativt objektantal.",not_enough:"Du har ikke nok af dette objekt.",internal:"Intern fejl. Kontakt venligst Unlimited.",uniqueInfo:"Infovariabler skal v\xE6re unikke."}}}},F_={general:ng,breadcrumb:ag,rules:rg,navigation:ig,components:sg},B_=Object.freeze(Object.defineProperty({__proto__:null,general:ng,breadcrumb:ag,rules:rg,navigation:ig,components:sg,default:F_},Symbol.toStringTag,{value:"Module"})),og={timestamp:"Timestamp",logout:"Logout",username:"Username",password:"Password",confirmPassword:"Confirm password",setupToken:"Token",languages:{de:"German",en:"English",es:"Spanish",dk:"Danish",et:"Estonia",nl:"Dutch",no:"Norwegian",pl:"Polski",pt:"Portuguese",ta:"Indian - Tamil",tr:"Turkish"},save:"Save",delete:"Delete",search:"Search",change:"Change",success:"Success",error:"Error",saved:"Successfully saved.",deleted:"Deleted successfully.",cleared:"Cleared successfully.",ok:"Ok",cancel:"Cancel",create:"Create",back:"Back",changePassword:"Change password",kick:"Kick",ban:"Ban",fillUp:"Fill up",relax:"Relax",add:"Add",added:"Added",teleport:"Teleport",teleported:"Teleport successfull.",cantReach:"Cant reach server.",male:"Male",female:"Female",yes:"Yes",no:"No",reason:"Reason",time:"Time",bantime:"Time in seconds.",warnHeader:"Warn",warnMsg:"Enter warn reason for {name}.",warnBanHeader:"Ban/Warn",banHeader:"Ban",banMsg:"Enter ban reason and time for {name}.",banSuccess:"The player got banned.",unbanHeader:"Reset ban",unbanMsg:"Do you really want to unban {name}?",unbanSuccess:"The player got unbanned.",kickHeader:"Kick",kickMsg:"Enter kick reason for {name}.",kickSuccess:"The player got kicked.",toggleAll:"Toggle all",heal:"Heal",offline:"Player offline",or:"or",timeout:"Request timed out."},lg={vehicles:"Vehicles",vehicle:"Vehicle",items:"Items",item:"Item",jobs:"Jobs",job:"Job",gangs:"Gangs",gang:"Gang",users:"Users",user:"User",roles:"Roles",role:"Role",map:"Map",dashboard:"Dashboard",logs:"Logs",accounts:"Accounts",account:"Account",players:"Players",player:"Player",inventory:"Inventory",config:"Configuration",waypoints:"Waypoints",waypoint:"Waypoint",stashes:"Stashes",stash:"Stash"},ug={required:"This field is required.",passwordConfirm:"Passwords do not match.",noSpace:"No space allowed.",numbers:"Only numbers allowed.",unique:"Needs to be unique.",defaults:"No default keys allowed.",onlyCharsNumbers:"Only Space, Numbers and Chars allowed."},cg={header:{gameserver:"Gameserver",development:"Development",management:"Management"},titles:{dashboard:"Dashboard",livemap:"Live Map",waypoint:"Waypoints",account:"Accounts",player:"Players",logs:"Logs",vehicle:"Vehicles",items:"Items",jobs:"Jobs",gangs:"Gangs",users:"Users",roles:"Roles",web:"Web",config:"Configuration",stashes:"Stashes"}},dg={general:{changePasswordHeader:"Change password",changePasswordMsg:"Please enter your new password.",msg:{error:{user_missing:"Your user account could not be found."}}},dashboard:{cpu:"CPU usage",ram:"Memory usage",process:"Process usage",onlinePlayers:"Players online",gangOnline:"Gang Members online",jobsDuty:"Players on duty",headers:{name:"Name",character:"Character",job:"Job",count:"Count",gang:"Gang",rank:"Rank"}},setup:{finishButton:"Finish Setup",backButton:"Previous",nextButton:"Next",welcomeHeader:"Welcome",welcomeSub:"Welcome in your Unlimited Webpanel! This setup will initialize your awesome experience.",langHeader:"Language Selection",langSub:"Select your language.",masterHeader:"Master Account",masterSub:"Your Master Account always has full access rights, regardless of permissions.",tokenHeader:"Setup Token",tokenSub:"Copy your setup token from the server console for validation.",tokenPlaceHolder:"Insert Setup Token"},login:{subtext:"Welcome to the Unlimted Webpanel. Please log in.",msg:{error:{not_supported:"Selected provider seems not to be supported.",internal_error:"Internal error. Contact Unlimited with your error message."}}},itemList:{subheader:"All items from QBCore/Shared/items.lua. Items registered via QB-Exports/Functions are not displayed.",noData:"No match",loadData:"Load data",headers:{label:"Label",type:"Type",weight:"Weight",name:"Name",useable:"Useable",unique:"Unique",shouldClose:"Close"},recordsPerPage:"Records per page",paginationLabel:"{from}-{to} of {total}",createItem:"Create Item"},item:{name:"Name / Key",label:"Label",desc:"Description",image:"Icon",weight:"Weight",type:"Type",useable:"Useable",unique:"Unique",shouldClose:"Close after use",edit:"Edit item",customVariables:"Custom variables",customVarSub:"Create your own variables.",addCustomVar:"Add new variable",customVarName:"Variable",customVarValue:"Value",combinability:"Combinability",combinabSub:"Here you can specify with which items the item can be combined individually, what it generates as a result and which animation should be displayed for how long and which text.",combinable:{accept:"Combine with",reward:"Result",text:"Displaytext",timeOut:"Time",lib:"Animation Lib",dict:"Animation Dict"},deleteHeader:"Delete",deleteMsg:"Do you really want to delete {itemLabel} [{itemName}]? This cannot be undone!",deleteCustomVarMsg:"Do you really want to delete the variable {name}? This cannot be undone!",msg:{error:{invalid_item_name:"The item name '{name}' is not type String.",item_exists:"The item '{name}' already exists.",item_not_exists:"The item '{name}' does not exist.",file_error:"The item change has gone live. However, an error occurred when saving the .lua. After a restart, the changes are no longer active.",missingFields:"Fill out all required fields.",uniqueVars:"Variables must be unique.",filename_exists:"Filename already exist."}},uploadedImage:"Successfully uploaded image.",uploadNew:"Upload image",imageNotFound:"This image doesnt exist."},itemCreate:{new:"Create new item"},roleList:{subheader:"Manage permissions for your team with customized roles.",createRole:"Create Role",noData:"No match",loadData:"Load data",headers:{name:"Name",desc:"Description",permissions:"Permission count",color:"Color"},recordsPerPage:"Records per page",paginationLabel:"{from}-{to} of {total}"},role:{name:"Name",edit:"Edit role",desc:"Description",color:"Color",permissions:"Permissions",permissionSub:"Assign your own rights to your role.",resource:{gameserver:"Gameserver",development:"Development",management:"Management"},section:{liveMap:"LiveMap",waypoint:"Waypoint",account:"Account",player:"Player",vehicles:"Vehicles",logs:"Logs",items:"Items",jobs:"Jobs",gangs:"Gangs",user:"Users",roles:"Roles",config:"Configuration",stashes:"Stashes"},action:{read:"Read",modify:"Modify",delete:"Delete",despawn:"Despawn",repair:"Repair",create:"Create",player:"Show players",vehicle:"Show vehicles",kick:"Kick",warn:"Warn",ban:"Ban",money:"Money",meta:"Metadata",position:"Position",inventory:"Inventory",screen:"View screen",license:"License",job:"Job",gang:"Gang",logs:{game:"Game",player:"Player",dev:"Dev",web:"Web"}},msg:{error:{role_missing:"Role with name '{name}' does not exist (anymore).",role_exist:"The role '{name}' already exists.",missingFields:"Fill out all required fields."}},deleteHeader:"Delete",deleteMsg:"Do you really want to delete {name}? This cannot be undone!"},roleCreate:{new:"Create new role"},userList:{subheader:"Manage the useraccounts of your team members.",noData:"No match",loadData:"Load data",createUser:"Create User",headers:{name:"Name",role:"Role",master:"Master"},recordsPerPage:"Records per page",paginationLabel:"{from}-{to} of {total}"},user:{edit:"Edit user",role:"Role",fxname:"cfx.re",msg:{error:{user_missing:"User with name '{name}' does not exist (anymore).",user_exist:"The user '{name}' already exists.",user_master:"You cant delete the master user.",missingFields:"Fill out all required fields.",is_master:"You cant change the password of the master user.",fx_used:"cfx.re user already in use by an other user."}},deleteHeader:"Delete",deleteMsg:"Do you really want to delete {name}? This cannot be undone!",resetPasswort:"Reset Password",resetPasswordHeader:"Confirm reset",resetPasswordMsg:"Do you really want to reset the password for {name}?"},jobList:{subheader:"All jobs from QBCore/Shared/jobs.lua. Jobs registered via QB-Exports/Functions are not displayed.",noData:"No match",loadData:"Load data",createJob:"Create job",headers:{name:"Name",label:"Label",grades:"Grades count",defaultDuty:"Default Duty",offDutyPay:"Off Duty pay"},recordsPerPage:"Records per page",paginationLabel:"{from}-{to} of {total}"},jobCreate:{new:"Create new job"},job:{name:"Name",edit:"Edit job",label:"Label",defaultDuty:"Default Duty",offDutyPay:"Off Duty pay",grades:"Grades",gradesSub:"Set the ranks for your job. Order goes from lowest rank to highest rank, top to bottom.",customVariables:"Custom variables",customVarSub:"Create your own variables.",addCustomVar:"Add new variable",customVarName:"Variable",customVarValue:"Value",msg:{error:{invalid_job_name:"The job name '{name}' is not type String.",job_exists:"The job '{name}' already exists.",job_not_exists:"The job '{name}' does not exist.",file_error:"The job change has gone live. However, an error occurred when saving the .lua. After a restart, the changes are no longer active.",missingFields:"Fill out all required fields.",gradeNeeded:"You need at least one rank.",uniqueVars:"Variables must be unique."}},deleteHeader:"Delete",deleteMsg:"Do you really want to delete {name}? This cannot be undone!",deleteGradeMsg:"Do you really want to delete {name}? This cannot be undone!",deleteCustomVarMsg:"Do you really want to delete the variable {name}? This cannot be undone!",headers:{name:"Name",isboss:"Boss",payment:"Payment"},addGrade:"Add grade"},gangList:{subheader:"All gangs from QBCore/Shared/gangs.lua. Gangs registered via QB-Exports/Functions are not displayed.",noData:"No match",loadData:"Load data",createGang:"Create gang",headers:{name:"Name",label:"Label",grades:"Grades count"},recordsPerPage:"Records per page",paginationLabel:"{from}-{to} of {total}"},gangCreate:{new:"Create new gang"},gang:{name:"Name",edit:"Edit gang",label:"Label",grades:"Grades",gradesSub:"Set the ranks for your gang. Order goes from lowest rank to highest rank, top to bottom.",customVariables:"Custom variables",customVarSub:"Create your own variables.",addCustomVar:"Add new variable",customVarName:"Variable",customVarValue:"Value",msg:{error:{invalid_gang_name:"The gang name '{name}' is not type String.",gang_exists:"The gang '{name}' already exists.",gang_not_exists:"The gang '{name}' do not exist.",file_error:"The gang change has gone live. However, an error occurred when saving the .lua. After a restart, the changes are no longer active.",missingFields:"Fill out all required fields.",gradeNeeded:"You need at least one rank.",uniqueVars:"Variables must be unique."}},deleteHeader:"Delete",deleteMsg:"Do you really want to delete {name}? This cannot be undone!",deleteGradeMsg:"Do you really want to delete {name}? This cannot be undone!",deleteCustomVarMsg:"Do you really want to delete the variable {name}? This cannot be undone!",headers:{name:"Name",isboss:"Boss"},addGrade:"Add grade"},liveMap:{viewPlayerTab:"View player record",viewVehicleTab:"View vehicle record",noOnlinePlayers:"No players online",noSpawnedVehicles:"No vehicles spawned",generalContextMenuHeader:"General",teleportPlayerHeader:"Select player to teleport",copyCoordsToClipboard:"Copy coords",teleportTo:"Teleport player",createWaypoint:"Create Waypoint",markers:{vehicles:"Vehicles",players:"Players"},labels:{selectedPlayer:"Selected player"},btn:{loadFromWaypoint:"Load Waypoint"},msg:{success:{coordsCopied:"Coords successfully copied to clipboard."},error:{noPlayersOnline:"Currently no player online to teleport.",errorCopyCoords:"Could not copy coords to clipboard."}}},playerList:{subheader:"All registered characters.",noData:"No match",loadData:"Load data",recordsPerPage:"Records per page",paginationLabel:"{from}-{to} of {total}",headers:{firstname:"Firstname",lastname:"Lastname",gang:"Gang",job:"Job",online:"Online",citizenid:"Citizen-ID",name:"Accountname"}},player:{tabs:{general:"General",vehicles:"Vehicles",logs:"Logs",notes:"Notes"},pastBans:"Ban/Warn history",changeJobHeader:"Change job",changeGangHeader:"Change gang",deleteHeader:"Delete player",deletePlayerMsg:"Do you really want to delete the player {name}? This cannot be undone!",changeAccountHeader:"Change license",changeAccountSub:"Do you really want to change the license for player {name}? This cannot be undone!",playerScreenHeader:"The players current view",addMoneyHeader:"Add money",addMoneyMsg:"Enter the amount",removeMoneyHeader:"Remove money",removeMoneyMsg:"Enter the amount",buttons:{unban:"Reset ban",warn:"Warn",ban:"Ban",kick:"Kick",inventory:"Inventory",screen:"Show Screen",money:{set:"Set",give:"Give",remove:"Remove"}},banMsg:"\u{1F528} by '{by}' for '{reason}' until {expire}.",moneyDisclaimer:"This does not support money of any type as item.",headers:{general:"General",charinfo:"Characterinfo",meta:"Metadata",money:"Money",gang:"Gang",job:"Job",actions:"Actions"},labels:{name:"Accountname",citizenid:"Citizen-ID",license:"License",position:"Position",firstname:"Firstname",lastname:"Lastname",account:"Account",cid:"Char-ID",gender:"Gender",male:"male",female:"female",birthdate:"Birthday",nationality:"Nationality",phone:"Phone",backstory:"Charstory",isdead:"Is dead",ishandcuffed:"Cuffed",walletid:"Wallet-ID",fingerprint:"Fingerprint",bloodtype:"Bloodtype",thirst:"Thirst",hunger:"Hunger",stress:"Stress",armor:"Armor",job:{name:"Name",grade:"Grade"},gang:{name:"Name",grade:"Grade"},money:{bank:"Bank",crypto:"Crypto",cash:"Cash"},health:"Health",ip:"IP",discord:"Discord",bucket:"Bucket"},msg:{success:{success:"Data saved.",hunger:"Hunger filled up.",thirst:"Thirst filled up.",isdead:"Changed is dead value.",ishandcuffed:"Changed cuffed value.",changeJob:"Job changed.",changeGang:"Gang changed.",changedBucket:"Bucket changed.",stress:"Stress lowered.",healed:"Player healed."},error:{notOnline:"The player is not online.",notFound:"Player not found.",missingFields:"Missing required inputs.",changeJob:"Failed to apply job.",changeGang:"Failed to apply gang.",failedFetchGangs:"Failed to fetch gangs.",failedFetchJobs:"Failed to fetch jobs.",deleteError:"Something went wrong.",couldNotFetchScreen:"Error while fetching players current screen.",invalid_citizenid:"The issued Citizen-ID is not valid.",not_allowed:"The money type is either not found or no negative value allowed."}}},vehicleList:{subheader:"All player vehicles.",noData:"No match",loadData:"Load data",spawned:"Spawned",garage:"Garage",outside:"Outside",inpound:"Inpound",headers:{owner:"Owner",plate:"Plate",vehicle:"Model",spawned:"Spawned",state:"State",engine:"Engine",body:"Body",fuel:"Fuel"},recordsPerPage:"Records per page",paginationLabel:"{from}-{to} of {total}",createVehicle:"Create Vehicle"},vehicle:{despawnHeader:"Despawn",despawnMsg:"Do you really want to despawn the current vehicle?",deleteHeader:"Delete",deleteMsg:"Do you really want to delete the current vehicle from the database and despawn it? Other vehicle related tables (e.g. trunk) arent affected!",changeOwnerHeader:"Select the new owner",changeOwnerInput:"Insert new owners Citizen-ID",buttons:{changeOwner:"Change Owner",despawnVehicle:"Despawn Vehicle",repairVehicle:"Repair Vehicle",deleteVehicle:"Delete Vehicle",openTrunk:"Open Trunk",openGlovebox:"Open Glovebox"},header:{owner:"Owner",payment:"Payment",car:"Car"},labels:{owner:"Owner",citizenid:"Citizen-ID",license:"License",depotprice:"Depot Price",balance:"Balance",paymentamount:"Amount",paymentsleft:"Left",financetime:"Finance Time",model:"Model",plate:"Plate",fakeplate:"Fakeplate",drivingdistance:"Mileage",garage:"Garage",state:"State",fuel:"Fuel",engine:"Engine",body:"Body"},msg:{error:{noMatch:"Could not find vehicle. Maybe it got deleted?",not_spawned:"Vehicle is not spawned.",not_found:"Something went wrong. Could not finde vehicle.",missingData:"Missing new owner data.",invalid_citizenid:"The issued Citizen-ID is not valid.",sql_error:"Something went wrong while running SQL queries. No changes were made!",allowedCharsNumbers:"You can only use space, numbers and chars on your plate.",plate_exists:"The plate does already exists. Please choose an other one."}}},vehicleCreate:{new:"Create new vehicle"},logs:{loadMore:"Scrolling up loads more logs."},configuration:{colorsHeader:"Colors",colorsSub:"Adjust the theme to fit your brand.",colors:{primary:"Primary",secondary:"Secondary",accent:"Accent",dark:"Background",positive:"Positive",negative:"Negative",info:"Info",warning:"Warning",main:"Text",sub:"Subtext"},buttons:{undo:"Undo",defaults:"Defaults"}},inventory:{playerInventory:"Player",supporterStash:"Supporter Stash",itemName:"Name",amount:"Amount",infoSection:"Info values",infoSectionSub:"Add info variables to your new item.",addInfoValue:"Add new",infoName:"Key",infoValue:"Value",deleteHeader:"Delete",deleteMsg:"Do you really want to delete this item? This cannot be undone!",deleteInfoHeader:"Delete",deleteInfoMsg:"Do you really want to delete the info {name}? This cannot be undone!",addItemTip:"Add new item",addItemHeader:"Add",clearInvTip:"Clear inventory",clearInvHeader:"Clear Inventory",clearInvMsg:"Do you really want to clear the complete player inventory? This cannot be undone!",msg:{success:{fixedPlayerItems:"Fixed player items and saved deleted items into file (if browser allows)."},error:{failedFetchItems:"Failed fetching item definitions.",failedLoad:"Failed fetching inventory data.",noItemName:"No item selected.",unknown_citizenid:"Player does not exist.",noSlot:"No free slot.",invalid_item:"Cant find item definition. Maybe delete this item.",moved:"The item seems to have moved. Please try again.",negative:"Cant move negative item amount.",not_enough:"You do not have enough of this item.",internal:"Internal error. Please contact Unlimited.",uniqueInfo:"Info variables must be unique.",fixPlayer:"Error in PlayerData",fixPlayerText:"This player has a broken PlayerData. Some times this can be caused by invalid item definitions. We can try to fix this by deleting not existing items from the players inventory. This is a experimental feature, be carefull! Should we try to fix it?"}}},devVehicleList:{subheader:"All vehicles from QBCore/Shared/vehicles.lua.",noData:"No match",loadData:"Load data",headers:{name:"Name",brand:"Brand",model:"Model",hash:"Hash",price:"Price",category:"Category"},recordsPerPage:"Records per page",paginationLabel:"{from}-{to} of {total}",createVehicle:"Create Vehicle"},devVehicle:{edit:"Edit vehicle",model:"Model",hash:"Hash",name:"Name",brand:"Brand",category:"Category",categoryLabel:"Category label",price:"Price",shop:"Shop",customVariables:"Custom variables",customVarSub:"Create your own variables.",addCustomVar:"Add new variable",customVarName:"Variable",customVarValue:"Value",msg:{error:{invalid_veh_name:"The vehicle name '{name}' is not type String.",veh_exists:"The vehicle '{name}' already exists.",veh_not_exists:"The vehicle '{name}' does not exist.",file_error:"The vehicle change has gone live. However, an error occurred when saving the .lua. After a restart, the changes are no longer active.",missingFields:"Fill out all required fields.",uniqueVars:"Variables must be unique."}},deleteHeader:"Delete",deleteMsg:"Do you really want to delete {model}? This cannot be undone!",deleteCustomVarMsg:"Do you really want to delete the variable {name}? This cannot be undone!"},devVehicleCreate:{new:"Create new vehicle"},auth:{msg:{error:{not_supported:"Selected provider seems not to be supported.",internal_error:"Internal error. Contact Unlimited with your error message.",no_token:"Callback did not provide the needed query fields.",userdata_fetch_failed:"Could not fetch user data from provider.",no_fx_user:"No user with your cfx.re found."}}},waypointList:{subheader:"Manage your waypoints.",createWaypoint:"Create Waypoint",noData:"No match",loadData:"Load data",headers:{name:"Name",label:"Label",coords:"Coords"},recordsPerPage:"Records per page",paginationLabel:"{from}-{to} of {total}"},waypoint:{edit:"Edit waypoint",waypoint:"Waypoint",labels:{name:"Name",label:"Label",coords:"Coords"},msg:{error:{waypoint_missing:"Waypoint with name '{name}' does not exist (anymore).",waypoint_exist:"The waypoint '{name}' already exists.",no_waypoints:"Currently no waypoints available.",missingFields:"Fill out all required fields.",failedFetchWaypoints:"Could not fetch waypoints."}},deleteHeader:"Delete",deleteMsg:"Do you really want to delete {name}? This cannot be undone!",modalHeader:"Select a waypoint"},accountList:{subheader:"Get players by their account.",noData:"No match",loadData:"Load data",headers:{name:"Name",license:"License",character_count:"Characters",last_active:"Last online"},recordsPerPage:"Records per page",paginationLabel:"{from}-{to} of {total}"},stashesList:{subheader:"Overview of all configured stashes.",noData:"No match",loadData:"Load data",headers:{type:"Type",identifier:"Identifier",items:"Slots in use"},recordsPerPage:"Records per page",paginationLabel:"{from}-{to} of {total}"},stashes:{stashStorage:"Stash",supporterStash:"Supporter Stash",itemName:"Name",amount:"Amount",infoSection:"Info values",infoSectionSub:"Add info variables to your new item.",addInfoValue:"Add new",infoName:"Key",infoValue:"Value",deleteHeader:"Delete",deleteMsg:"Do you really want to delete this item? This cannot be undone!",deleteInfoHeader:"Delete",deleteInfoMsg:"Do you really want to delete the info {name}? This cannot be undone!",addItemTip:"Add new item",addItemHeader:"Add",clearStorageTip:"Clear stash",clearStorageHeader:"Clear stash",clearStorageMsg:"Do you really want to clear the complete stash? This cannot be undone!",msg:{error:{failedFetchItems:"Failed fetching item definitions.",failedLoad:"Failed fetching inventory data.",noItemName:"No item selected.",unknown_storage:"Storage does not exist.",noSlot:"No free slot.",invalid_item:"Cant find item definition. Maybe delete this item.",moved:"The item seems to have moved. Please try again.",negative:"Cant move negative item amount.",not_enough:"You do not have enough of this item.",internal:"Internal error. Please contact Unlimited.",uniqueInfo:"Info variables must be unique."}}}},H_={general:og,breadcrumb:lg,rules:ug,navigation:cg,components:dg},$_=Object.freeze(Object.defineProperty({__proto__:null,general:og,breadcrumb:lg,rules:ug,navigation:cg,components:dg,default:H_},Symbol.toStringTag,{value:"Module"})),mg={timestamp:"Marca de tiempo",logout:"Cerrar sesi\xF3n",username:"Nombre de usuario",password:"Contrase\xF1a",confirmPassword:"Confirmar Contrase\xF1a",setupToken:"LLave",languages:{de:"Aleman",en:"Ingles",es:"Spanish",dk:"Danesa",et:"Estonia",nl:"Holandesa",no:"Noruega",pl:"Polaco",pt:"Portuguesa",ta:"tamil Indio",tr:"Turca"},save:"Guardar",delete:"Borrar",search:"Buscar",change:"Cambiar",success:"\xC9xito",error:"Error",saved:"Guardado con \xE9xito.",deleted:"Borrado exitosamente.",cleared:"Limpiado con \xE9xito.",ok:"Ok",cancel:"Cancelar",create:"Crear",back:"Atr\xE1s",changePassword:"Cambiar la contrase\xF1a",kick:"Kick",ban:"Ban",fillUp:"Llena",relax:"Relajarse",add:"Agregar",added:"Agregada",teleport:"Teletransporte",teleported:"Teletransporte exitoso.",cantReach:"No puedo llegar al servidor.",male:"Masculino",female:"Femenino",yes:"S\xED",no:"No",reason:"Raz\xF3n",time:"Tiempo",bantime:"Tiempo en segundos.",warnHeader:"Advertir",warnMsg:"Ingrese la raz\xF3n de advertencia para {name}.",warnBanHeader:"Ban/Advertir",banHeader:"Ban",banMsg:"Ingrese la raz\xF3n y el tiempo para {name}.",banSuccess:"El jugador fue prohibido.",unbanHeader:"Reiniciar ban",unbanMsg:"De verdad quieres desbanear a {name}?",unbanSuccess:"El jugador se desbaneo.",kickHeader:"Kick",kickMsg:"Introduzca la razon del kick {name}.",kickSuccess:"El jugador fue kikeado.",toggleAll:"Alternar todo",heal:"Sanar",offline:"Jugador fuera de l\xEDnea",or:"o",timeout:"Tiempo de espera agotado."},fg={vehicles:"Veh\xEDculos",vehicle:"Veh\xEDculo",items:"Elementos",item:"Art\xEDculo",jobs:"Trabajos",job:"Trabajo",gangs:"Pandilleros",gang:"Pandilla",users:"Usuarios",user:"Usuario",roles:"Roles",role:"Role",map:"Mapa",dashboard:"Panel",logs:"Registros",accounts:"Cuentas",account:"Cuenta",players:"Jugadores",player:"Jugador",inventory:"Inventario",config:"Configuraci\xF3n",waypoints:"Puntos de referencias",waypoint:"Punto de referencia",stashes:"Escondite",stash:"Reserva"},gg={required:"Este campo es obligatorio.",passwordConfirm:"Las contrase\xF1as no coinciden.",noSpace:"No se permite espacio.",numbers:"Solo se permiten n\xFAmeros.",unique:"Necesita ser \xFAnico.",defaults:"No se permiten claves predeterminadas.",onlyCharsNumbers:"Solo se permiten espacio, n\xFAmeros y caracteres."},pg={header:{gameserver:"Servidor de juego",development:"Desarrollo",management:"Gesti\xF3n"},titles:{dashboard:"Panel",livemap:"Mapa en vivo",waypoint:"Punto de referencia",account:"Cuentas",player:"Jugadores",logs:"Registros",vehicle:"Veh\xEDculos",items:"Elementos",jobs:"Trabajos",gangs:"Pandillas",users:"Usuarias",roles:"roles",web:"Web",config:"Configuraci\xF3n",stashes:"Escondite"}},hg={general:{changePasswordHeader:"Cambiar la contrase\xF1a",changePasswordMsg:"Ingrese su nueva contrase\xF1a.",msg:{error:{user_missing:"No se puede encontrar su cuenta de usuario."}}},dashboard:{cpu:"uso de CPU",ram:"Uso de memoria",process:"Uso de procesos",onlinePlayers:"Jugadores en l\xEDnea",gangOnline:"Pandilleros en l\xEDnea",jobsDuty:"Jugadores de servicio",headers:{name:"Nombre",character:"Personaje",job:"Trabajo",count:"Contador",gang:"Pandilla",rank:"Rango"}},setup:{finishButton:"Configuraci\xF3n lista",backButton:"Anterior",nextButton:"Siguiente",welcomeHeader:"Bienvenido",welcomeSub:"\xA1Bienvenido en su WebPanel ilimitado!Esta configuraci\xF3n inicializar\xE1 su incre\xEDble experiencia.",langHeader:"Selecci\xF3n de idioma",langSub:"Elige tu idioma.",masterHeader:"Cuenta principal",masterSub:"Su cuenta maestra siempre tiene derechos de acceso completos, independientemente de los permisos.",tokenHeader:"Token de configuraci\xF3n",tokenSub:"Copie su token de configuraci\xF3n de la consola del servidor para la validaci\xF3n.",tokenPlaceHolder:"Insertar token de configuraci\xF3n"},login:{subtext:"Bienvenido al panel web ilimitado.Por favor Iniciar sesi\xF3n.",msg:{error:{not_supported:"El proveedor seleccionado parece no ser compatible.",internal_error:"Error interno.P\xF3ngase en contacto con ilimitado con su mensaje de error."}}},itemList:{subheader:"Todos los elementos de QBCore/Shared/items.lua.No se muestran elementos registrados a trav\xE9s de QB-Exports/funciones.",noData:"Sin coincidencia",loadData:"Cargar datos",headers:{label:"Etiqueta",type:"Tipo",weight:"Peso",name:"Nombre",useable:"Usable",unique:"\xDAnica",shouldClose:"Cerrar"},recordsPerPage:"Registros por p\xE1gina",paginationLabel:"{from}-{to} de {total}",createItem:"Crear elemento"},item:{name:"Nombre / clave",label:"Etiqueta",desc:"Descripci\xF3n",image:"Icono",weight:"Peso",type:"Tipo",useable:"Usable",unique:"\xDAnica",shouldClose:"Cerrar despu\xE9s de usar",edit:"Elemento de edici\xF3n",customVariables:"Variables personalizadas",customVarSub:"Crea tus propias variables.",addCustomVar:"Agregar nueva variable",customVarName:"variable",customVarValue:"Valor",combinability:"Combinabilidad",combinabSub:"Aqu\xED puede especificar con qu\xE9 elementos se puede combinar el elemento individualmente, qu\xE9 genera como resultado y qu\xE9 animaci\xF3n debe mostrarse para cu\xE1nto tiempo y qu\xE9 texto.",combinable:{accept:"Combinar con",reward:"Resultado",text:"DisplayText",timeOut:"Tiempo",lib:"Animaci\xF3n lib",dict:"Dicci\xF3n de animaci\xF3n"},deleteHeader:"Borrar",deleteMsg:"\xBFDe verdad quieres eliminar {itemLabel} [{itemName}]? \xA1Esto no se puede deshacer!",deleteCustomVarMsg:"\xBFDe verdad quieres eliminar la variable? {name}? \xA1Esto no se puede deshacer!",msg:{error:{invalid_item_name:"El nombre del art\xEDculo '{name}' no es una cadena de tipo.",item_exists:"El objeto '{name}' ya existe.",item_not_exists:"El objeto '{name}' no existe.",file_error:"El cambio de art\xEDculo se ha ido en vivo. Sin embargo, se produjo un error al guardar el .lua.Despu\xE9s de un reinicio, los cambios ya no est\xE1n activos.",missingFields:"Complete todos los campos requeridos.",uniqueVars:"Las variables deben ser \xFAnicas.",filename_exists:"El nombre de archivo ya existe."}},uploadedImage:"Imagen cargada con \xE9xito.",uploadNew:"Cargar imagen",imageNotFound:"Esta imagen no existe."},itemCreate:{new:"Crear nuevo elemento"},roleList:{subheader:"Administre permisos para su equipo con roles personalizados.",createRole:"Crear rol",noData:"Sin coincidencia",loadData:"Cargar datos",headers:{name:"Nombre",desc:"Descripci\xF3n",permissions:"Recuento de permisos",color:"Color"},recordsPerPage:"Registros por p\xE1gina",paginationLabel:"{from}-{to} de {total}"},role:{name:"Nombre",edit:"Rol de edici\xF3n",desc:"Descripci\xF3n",color:"Color",permissions:"Permisos",permissionSub:"Asigne sus propios derechos a su papel.",resource:{gameserver:"Servidor de juego",development:"Desarrollo",management:"Gesti\xF3n"},section:{liveMap:"Mapa en vivo",waypoint:"Punto de referencia",account:"Cuenta",player:"Jugadora",vehicles:"Veh\xEDculos",logs:"Registros",items:"Elementos",jobs:"Trabajos",gangs:"Pandillas",user:"Usuarios",roles:"Roles",config:"Configuraci\xF3n",stashes:"Escondite"},action:{read:"Leer",modify:"Modificar",delete:"Borrar",despawn:"Descalificada",repair:"Reparar",create:"Crear",player:"Mostrar jugadores",vehicle:"Mostrar veh\xEDculos",kick:"Kick",warn:"Advertir",ban:"Ban",money:"Dinero",meta:"Meta",position:"Posici\xF3n",inventory:"Inventario",screen:"Pantalla de vista",license:"Licencia",job:"Trabajo",gang:"Pandilla",logs:{game:"Juego",player:"Jugador",dev:"Dev",web:"Web"}},msg:{error:{role_missing:"Papel con el nombre '{name}' no existe (anymore).",role_exist:"El papel '{name}' ya existe.",missingFields:"Complete todos los campos requeridos."}},deleteHeader:"Borrar",deleteMsg:"\xBFDe verdad quieres eliminar {name}? \xA1Esto no se puede deshacer!"},roleCreate:{new:"Crear un nuevo rol"},userList:{subheader:"Administre los usuarios de los miembros de su equipo.",noData:"Sin coincidencia",loadData:"Cargar datos",createUser:"Crear usuario",headers:{name:"Nombre",role:"role",master:"Maestro"},recordsPerPage:"Registros por p\xE1gina",paginationLabel:"{from}-{to} de {total}"},user:{edit:"Editar usuario",role:"Role",fxname:"cfx.re",msg:{error:{user_missing:"Usuario con nombre '{name}' No existe m\xE1s).",user_exist:"El usuario '{name}' ya existe.",user_master:"No puedes eliminar al usuario maestro.",missingFields:"Complete todos los campos requeridos.",is_master:"No puede cambiar la contrase\xF1a del usuario maestro.",fx_used:"cfx.re Usuario ya en uso por un otro usuario."}},deleteHeader:"Borrar",deleteMsg:"\xBFDe verdad quieres eliminar {name}? \xA1Esto no se puede deshacer!",resetPasswort:"Restablecer la contrase\xF1a",resetPasswordHeader:"Confirmar reinicio",resetPasswordMsg:"\xBFRealmente quieres restablecer la contrase\xF1a para {name}?"},jobList:{subheader:"Todos los trabajos de QBCore/Shared/Jobs.lua.No se muestran trabajos registrados a trav\xE9s de QB-Exports/Functions.",noData:"Sin coincidencia",loadData:"Cargar datos",createJob:"Crear trabajo",headers:{name:"Nombre",label:"Etiqueta",grades:"Las calificaciones cuentan",defaultDuty:"Deber predeterminado",offDutyPay:"Pago fuera de servicio"},recordsPerPage:"Registros por p\xE1gina",paginationLabel:"{from}-{to} de {total}"},jobCreate:{new:"Crea un nuevo trabajo"},job:{name:"Nombre",edit:"Editar trabajo",label:"Etiqueta",defaultDuty:"Deber predeterminado",offDutyPay:"Pago fuera de servicio",grades:"Grados",gradesSub:"Establezca las filas para su trabajo.El orden va de rango m\xE1s bajo a rango m\xE1s alto, de arriba a abajo.",customVariables:"Variables personalizadas",customVarSub:"Crea tus propias variables.",addCustomVar:"Agregar nueva variable",customVarName:"variable",customVarValue:"Valor",msg:{error:{invalid_job_name:"El nombre del trabajo '{name}' no es una cadena de tipo.",job_exists:"El trabajo '{name}' ya existe.",job_not_exists:"El trabajo '{name}' no existe.",file_error:"El cambio de trabajo se ha ido en vivo.Sin embargo, se produjo un error al guardar el .lua.Despu\xE9s de un reinicio, los cambios ya no est\xE1n activos.",missingFields:"Complete todos los campos requeridos.",gradeNeeded:"Necesitas al menos un rango.",uniqueVars:"Las variables deben ser \xFAnicas."}},deleteHeader:"Borrar",deleteMsg:"\xBFDe verdad quieres eliminar {name}? \xA1Esto no se puede deshacer!",deleteGradeMsg:"\xBFDe verdad quieres eliminar {name}? \xA1Esto no se puede deshacer!",deleteCustomVarMsg:"\xBFDe verdad quieres eliminar la variable? {name}? \xA1Esto no se puede deshacer!",headers:{name:"Nombre",isboss:"Jefe",payment:"Pago"},addGrade:"Agregar grado"},gangList:{subheader:"Todas las pandillas de QBCore/Shared/Gangs.Lua.Las pandillas registradas a trav\xE9s de QB-Exports/Functions no se muestran.",noData:"Sin coincidencia",loadData:"Cargar datos",createGang:"Crear pandilla",headers:{name:"Nombre",label:"Etiqueta",grades:"Las calificaciones cuentan"},recordsPerPage:"Registros por p\xE1gina",paginationLabel:"{from}-{to} de {total}"},gangCreate:{new:"Crear nueva pandilla"},gang:{name:"Nombre",edit:"Editar pandilla",label:"Etiqueta",grades:"Los grados",gradesSub:"Establezca las filas de tu pandilla.El orden va de rango m\xE1s bajo a rango m\xE1s alto, de arriba a abajo.",customVariables:"Variables personalizadas",customVarSub:"Crea tus propias variables.",addCustomVar:"Agregar nueva variable",customVarName:"variable",customVarValue:"Valor",msg:{error:{invalid_gang_name:"El nombre de la pandilla '{name}' no es una cadena de tipo.",gang_exists:"La pandilla '{name}' ya existe.",gang_not_exists:"La pandilla '{name}' no existe.",file_error:"El cambio de pandillas se ha ido en vivo.Sin embargo, se produjo un error al guardar el .lua.Despu\xE9s de un reinicio, los cambios ya no est\xE1n activos.",missingFields:"Complete todos los campos requeridos.",gradeNeeded:"Necesitas al menos un rango.",uniqueVars:"Las variables deben ser \xFAnicas."}},deleteHeader:"Borrar",deleteMsg:"\xBFDe verdad quieres eliminar {name}? \xA1Esto no se puede deshacer!",deleteGradeMsg:"\xBFDe verdad quieres eliminar {name}? \xA1Esto no se puede deshacer!",deleteCustomVarMsg:"\xBFDe verdad quieres eliminar la variable? {name}? \xA1Esto no se puede deshacer!",headers:{name:"Nombre",isboss:"Jefe"},addGrade:"Agregar grado"},liveMap:{viewPlayerTab:"Ver registro del jugador",viewVehicleTab:"Ver registro del veh\xEDculo",noOnlinePlayers:"No hay jugadores en l\xEDnea",noSpawnedVehicles:"No se generan veh\xEDculos",generalContextMenuHeader:"General",teleportPlayerHeader:"Seleccione el jugador para teletransportarse",copyCoordsToClipboard:"Copiar cordenadas",teleportTo:"Jugador de teletransporte",createWaypoint:"Crea Waypoint",markers:{vehicles:"Veh\xEDculos",players:"Jugadores"},labels:{selectedPlayer:"Jugador seleccionado"},btn:{loadFromWaypoint:"Waypoint de carga"},msg:{success:{coordsCopied:"Coords copiaron con \xE9xito al portapapeles."},error:{noPlayersOnline:"Actualmente no hay jugador en l\xEDnea para teletransportarse.",errorCopyCoords:"No se pudo copiar coordinas al portapapeles."}}},playerList:{subheader:"Todos los personajes registrados.",noData:"Sin coincidencia",loadData:"Cargar datos",recordsPerPage:"Registros por p\xE1gina",paginationLabel:"{from}-{to} de {total}",headers:{firstname:"Nombre",lastname:"Apellido",gang:"Pandilla",job:"Trabajo",online:"En l\xEDnea",citizenid:"Citizen-ID",name:"Nombre de la cuenta"}},player:{tabs:{general:"General",vehicles:"Veh\xEDculos",logs:"Registros",notes:"Notas"},pastBans:"Historial de Ban/Advertencia",changeJobHeader:"Cambia de trabajo",changeGangHeader:"Cambiar pandilla",deleteHeader:"Eliminar jugador",deletePlayerMsg:"\xBFDe verdad quieres eliminar al jugador? {name}? \xA1Esto no se puede deshacer!",changeAccountHeader:"Cambiar licencia",changeAccountSub:"\xBFDe verdad quieres cambiar la licencia para el jugador? {name}? \xA1Esto no se puede deshacer!",playerScreenHeader:"La vista actual de los jugadores",addMoneyHeader:"Agregar dinero",addMoneyMsg:"Introduce la cantidad",removeMoneyHeader:"Eliminar dinero",removeMoneyMsg:"Introduce la cantidad",buttons:{unban:"Reiniciar ban",warn:"Advertir",ban:"Ban",kick:"Kick",inventory:"Inventario",screen:"Mostrar pantalla",money:{set:"Aceptar",give:"Dar",remove:"Eliminar"}},banMsg:"\u{1F528} por '{by}' motivo '{reason}' hasta {expire}.",moneyDisclaimer:"Esto no respalda el dinero de ning\xFAn tipo como art\xEDculo.",headers:{general:"General",charinfo:"Caracteres",meta:"Meta",money:"Dinero",gang:"Pandilla",job:"Trabajo",actions:"Comportamiento"},labels:{name:"Nombre de la cuenta",citizenid:"Citizen-ID",license:"Licencia",position:"Posici\xF3n",firstname:"Nombre",lastname:"Apellido",account:"Cuenta",cid:"Personaje-ID",gender:"G\xE9nero",male:"masculino",female:"femenino",birthdate:"Cumplea\xF1os",nationality:"Nacionalidad",phone:"Tel\xE9fono",backstory:"Historia del personaje",isdead:"Est\xE1 muerto",ishandcuffed:"Esposada",walletid:"Billetera-ID",fingerprint:"Huella dactilar",bloodtype:"Tipo de sangre",thirst:"Sed",hunger:"Hambre",stress:"Estr\xE9s",armor:"Armadura",job:{name:"Nombre",grade:"Calificaci\xF3n"},gang:{name:"Nombre",grade:"Calificaci\xF3n"},money:{bank:"Banco",crypto:"Crypto",cash:"Efectivo"},health:"Salud",ip:"IP",discord:"Discord",bucket:"Balde"},msg:{success:{success:"Datos guardados.",hunger:"Hambre llena.",thirst:"Sed llena.",isdead:"Cambiado es valor muerto.",ishandcuffed:"Valor modificado cambiado.",changeJob:"Trabajo cambiado.",changeGang:"Pandilla cambi\xF3.",changedBucket:"Bucket cambi\xF3.",stress:"Estr\xE9s bajado.",healed:"Jugador curado."},error:{notOnline:"El reproductor no est\xE1 en l\xEDnea.",notFound:"Jugador no encontrado.",missingFields:"Faltando entradas requeridas.",changeJob:"No se pudo aplicar trabajo.",changeGang:"No se pudo aplicar pandillas.",failedFetchGangs:"No logr\xF3 buscar pandillas.",failedFetchJobs:"No logr\xF3 buscar trabajos.",deleteError:"Algo sali\xF3 mal.",couldNotFetchScreen:"Error mientras busca la pantalla actual de los jugadores.",invalid_citizenid:"El emitido Citizen-ID no es v\xE1lido.",not_allowed:"El tipo de dinero no se encuentra o no se permite ning\xFAn valor negativo."}}},vehicleList:{subheader:"Todos los veh\xEDculos jugadores.",noData:"Sin coincidencia",loadData:"Cargar datos",spawned:"Generada",garage:"Cochera",outside:"Afuera",inpound:"Confiscar",headers:{owner:"Due\xF1o",plate:"Placa",vehicle:"Modelo",spawned:"Generada",state:"Estado",engine:"Motor",body:"Cuerpo",fuel:"Combustible"},recordsPerPage:"Registros por p\xE1gina",paginationLabel:"{from}-{to} de {total}",createVehicle:"Crear veh\xEDculo"},vehicle:{despawnHeader:"Descalificada",despawnMsg:"\xBFDe verdad quieres desesperar el veh\xEDculo actual?",deleteHeader:"Borrar",deleteMsg:"\xBFDe verdad quieres eliminar el veh\xEDculo actual de la base de datos y despreciarlo?\xA1Otras mesas relacionadas con el veh\xEDculo (por ejemplo, troncal) no est\xE1n afectadas!",changeOwnerHeader:"Seleccione el nuevo propietario",changeOwnerInput:"Insertar nuevos propietarios Citizen-ID",buttons:{changeOwner:"Cambio de propietario",despawnVehicle:"Veh\xEDculo despierto",repairVehicle:"Reparaci\xF3n del veh\xEDculo",deleteVehicle:"Eliminar veh\xEDculo",openTrunk:"Tronco abierto",openGlovebox:"Abrir GloveBox"},header:{owner:"Due\xF1o",payment:"Pago",car:"Auto"},labels:{owner:"Due\xF1o",citizenid:"Citizen-ID",license:"Licencia",depotprice:"Precio de dep\xF3sito",balance:"Balance",paymentamount:"Cantidad",paymentsleft:"Izquierda",financetime:"Tiempo de finanzas",model:"Modelo",plate:"Placa",fakeplate:"Placa falsa",drivingdistance:"Kilometraje",garage:"Cochera",state:"Estado",fuel:"Combustible",engine:"Motor",body:"Cuerpo"},msg:{error:{noMatch:"No pude encontrar veh\xEDculo.\xBFQuiz\xE1s se elimin\xF3?",not_spawned:"El veh\xEDculo no est\xE1 generado.",not_found:"Algo sali\xF3 mal.No pude encontrar veh\xEDculo.",missingData:"Falta los datos del nuevo propietario.",invalid_citizenid:"El ID ciudadano emitido no es v\xE1lido.",sql_error:"Algo sali\xF3 mal mientras ejecutaba consultas SQL.\xA1No se hicieron cambios!",allowedCharsNumbers:"Solo puede usar espacio, n\xFAmeros y caracteres en su plato.",plate_exists:"La placa ya existe.Por favor elije otro."}}},vehicleCreate:{new:"Crear un veh\xEDculo nuevo"},logs:{loadMore:"Desplazarse por las cargas m\xE1s registros."},configuration:{colorsHeader:"Colores",colorsSub:"Ajuste el tema para que se ajuste a su marca.",colors:{primary:"Primario",secondary:"Secundario",accent:"acento",dark:"Fondo",positive:"Positivo",negative:"Negativo",info:"Informaci\xF3n",warning:"Advertencia",main:"Texto",sub:"Trasfondo"},buttons:{undo:"Deshacer",defaults:"Valores predeterminados"}},inventory:{playerInventory:"Jugador",supporterStash:"Alojamiento de los partidarios",itemName:"Nombre",amount:"Cantidad",infoSection:"Valores de informaci\xF3n",infoSectionSub:"Agregue variables de informaci\xF3n a su nuevo elemento.",addInfoValue:"Agregar nuevo",infoName:"Llave",infoValue:"Valor",deleteHeader:"Borrar",deleteMsg:"\xBFRealmente quieres eliminar este art\xEDculo?\xA1Esto no se puede deshacer!",deleteInfoHeader:"Borrar",deleteInfoMsg:"\xBFDe verdad quieres eliminar la informaci\xF3n? {name}? \xA1Esto no se puede deshacer!",addItemTip:"agregar \xEDtem nuevo",addItemHeader:"Agregar",clearInvTip:"Limpiar inventario",clearInvHeader:"Limpiar Inventario",clearInvMsg:"\xBFRealmente quieres borrar el inventario completo de jugadores?\xA1Esto no se puede deshacer!",msg:{success:{fixedPlayerItems:"Se corrigieron los elementos del jugador y los elementos eliminados en el archivo (si el navegador lo permite)."},error:{failedFetchItems:"Falling en las definiciones de elementos fallidos.",failedLoad:"Fall\xF3 en busca de datos de inventario.",noItemName:"No hay elemento seleccionado.",unknown_citizenid:"El jugador no existe.",noSlot:"No hay ranura libres.",invalid_item:"No puedo encontrar la definici\xF3n del elemento.Tal vez elimine este art\xEDculo.",moved:"El art\xEDculo parece haberse movido.Int\xE9ntalo de nuevo.",negative:"No puedo mover la cantidad negativa del elemento.",not_enough:"No tienes suficiente de este art\xEDculo.",internal:"Error interno.P\xF3ngase en contacto con Unlimited.",uniqueInfo:"Las variables de informaci\xF3n deben ser \xFAnicas.",fixPlayer:"Error en PlayerData",fixPlayerText:"Este jugador tiene un juego de jugadores roto.Algunas veces esto puede ser causado por definiciones de elementos no v\xE1lidos.Podemos intentar solucionar esto eliminando no los elementos existentes del inventario de jugadores.Esta es una caracter\xEDstica experimental, \xA1ten cuidado!\xBFDeber\xEDamos intentar solucionarlo?"}}},devVehicleList:{subheader:"Todos los veh\xEDculos de QBCore/Shared/vehicles.lua.",noData:"No coincide",loadData:"Cargar datos",headers:{name:"Nombre",brand:"Marca",model:"Modelo",hash:"Hash",price:"Precio",category:"Categor\xEDa"},recordsPerPage:"Registros por p\xE1gina",paginationLabel:"{from}-{to} de {total}",createVehicle:"Crear veh\xEDculo"},devVehicle:{edit:"Editar veh\xEDculo",model:"Modelo",hash:"Hash",name:"Nombre",brand:"Marca",category:"Categor\xEDa",categoryLabel:"Etiqueta de categor\xEDa",price:"Precio",shop:"Tienda",customVariables:"Variables personalizadas",customVarSub:"Crea tus propias variables.",addCustomVar:"Agregar nueva variable",customVarName:"variable",customVarValue:"Valor",msg:{error:{invalid_veh_name:"El nombre del veh\xEDculo '{name}' no es una cadena de tipo.",veh_exists:"El veh\xEDculo '{name}' ya existe.",veh_not_exists:"El veh\xEDculo '{name}' no existe.",file_error:"El cambio de veh\xEDculo se ha ido en vivo.Sin embargo, se produjo un error al guardar el .lua.Despu\xE9s de un reinicio, los cambios ya no est\xE1n activos.",missingFields:"Complete todos los campos requeridos.",uniqueVars:"Las variables deben ser \xFAnicas."}},deleteHeader:"Borrar",deleteMsg:"\xBFDe verdad quieres eliminar {model}? \xA1Esto no se puede deshacer!",deleteCustomVarMsg:"\xBFDe verdad quieres eliminar la variable? {name}? \xA1Esto no se puede deshacer!"},devVehicleCreate:{new:"Crear un veh\xEDculo nuevo"},auth:{msg:{error:{not_supported:"El proveedor seleccionado parece no ser compatible.",internal_error:"Error interno.Contacto ilimitado con su mensaje de error.",no_token:"La devoluci\xF3n de llamada no proporcion\xF3 los campos de consulta necesarios.",userdata_fetch_failed:"No pudo obtener datos de usuario del proveedor.",no_fx_user:"No se encontro un usuario con su cfx.re."}}},waypointList:{subheader:"Administre sus puntos de referencia.",createWaypoint:"Crea Waypoint",noData:"Sin coincidencia",loadData:"Cargar datos",headers:{name:"Nombre",label:"Etiqueta",coords:"Cordenadas"},recordsPerPage:"Registros por p\xE1gina",paginationLabel:"{from}-{to} de {total}"},waypoint:{edit:"Editar Waypoint",waypoint:"Waypoint",labels:{name:"Nombre",label:"Etiqueta",coords:"Cordenadas"},msg:{error:{waypoint_missing:"Waypoint con nombre '{name}' No existe m\xE1s).",waypoint_exist:"El punto de referencia '{name}' ya existe.",no_waypoints:"Actualmente no hay puntos de referencia disponibles.",missingFields:"Complete todos los campos requeridos.",failedFetchWaypoints:"No pudo buscar puntos de referencia."}},deleteHeader:"Borrar",deleteMsg:"\xBFDe verdad quieres eliminar {name}? \xA1Esto no se puede deshacer!",modalHeader:"Seleccione un punto de referencia"},accountList:{subheader:"Obtenga jugadores por su cuenta.",noData:"Sin coincidencia",loadData:"Cargar datos",headers:{name:"Nombre",license:"Licencia",character_count:"Caracteres",last_active:"\xDAltimo en l\xEDnea"},recordsPerPage:"Registros por p\xE1gina",paginationLabel:"{from}-{to} de {total}"},stashesList:{subheader:"Descripci\xF3n general de todos los altas configurados.",noData:"Sin coincidencia",loadData:"Cargar datos",headers:{type:"Tipo",identifier:"Identificador",items:"Ranuras en uso"},recordsPerPage:"Registros por p\xE1gina",paginationLabel:"{from}-{to} de {total}"},stashes:{stashStorage:"Reserva",supporterStash:"Alojamiento de los partidarios",itemName:"Nombre",amount:"Cantidad",infoSection:"Valores de informaci\xF3n",infoSectionSub:"Agregue variables de informaci\xF3n a su nuevo elemento.",addInfoValue:"Agregar nuevo",infoName:"Llave",infoValue:"Valor",deleteHeader:"Borrar",deleteMsg:"\xBFRealmente quieres eliminar este art\xEDculo?\xA1Esto no se puede deshacer!",deleteInfoHeader:"Borrar",deleteInfoMsg:"\xBFDe verdad quieres eliminar la informaci\xF3n? {name}? \xA1Esto no se puede deshacer!",addItemTip:"agregar \xEDtem nuevo",addItemHeader:"Agregar",clearStorageTip:"Escondite",clearStorageHeader:"Escondite",clearStorageMsg:"\xBFDe verdad quieres limpiar el alijo completo?\xA1Esto no se puede deshacer!",msg:{error:{failedFetchItems:"Falling en las definiciones de elementos fallidos.",failedLoad:"Fall\xF3 en busca de datos de inventario.",noItemName:"No hay elemento seleccionado.",unknown_storage:"El almacenamiento no existe.",noSlot:"No hay ranura gratis.",invalid_item:"No puedo encontrar la definici\xF3n del elemento.Tal vez elimine este art\xEDculo.",moved:"El art\xEDculo parece haberse movido.Int\xE9ntalo de nuevo.",negative:"No puedo mover la cantidad negativa del elemento.",not_enough:"No tienes suficiente de este art\xEDculo.",internal:"Error interno.P\xF3ngase en contacto con Unlimited.",uniqueInfo:"Las variables de informaci\xF3n deben ser \xFAnicas."}}}},q_={general:mg,breadcrumb:fg,rules:gg,navigation:pg,components:hg},K_=Object.freeze(Object.defineProperty({__proto__:null,general:mg,breadcrumb:fg,rules:gg,navigation:pg,components:hg,default:q_},Symbol.toStringTag,{value:"Module"})),bg={timestamp:"Ajatempel",logout:"Logi v\xE4lja",username:"Kasutajanimi",password:"Parool",confirmPassword:"Kinnita parool",setupToken:"Token",languages:{de:"Saksa",en:"Inglise",es:"Spanish",dk:"Taani",et:"Eesti",nl:"Hollandi",no:"Norra",pl:"Polski",pt:"Portugaal",ta:"India - Tamil",tr:"Turkish"},save:"Salvesta",delete:"Kustuta",search:"Otsi",change:"Muuda",success:"Kinnitatud",error:"Probleem",saved:"Edukalt salvestatud.",deleted:"Kustutatud.",cleared:"Edukalt clearitud.",ok:"Ok",cancel:"Katkesta",create:"Loo",back:"Tagasi",changePassword:"Vaheta parool",kick:"Kick",ban:"Keelusta",fillUp:"T\xE4ida",relax:"Rahustamine",add:"Lisa",added:"Lisatud",teleport:"Teleporteeru",teleported:"Teleporteerumine edukas.",cantReach:"Ei saa serveriga \xFChendust.",male:"Mees",female:"Naine",yes:"Jah",no:"Ei",reason:"P\xF5hjus",time:"Aeg",bantime:"Aeg sekundites.",warnHeader:"Hoiata",warnMsg:"Sisesta hoiatamise p\xF5hjus: {name}.",warnBanHeader:"Keelusta/hoiata",banHeader:"Keelustamine",banMsg:"Sisestage {name} keelu p\xF5hjus ja aeg.",banSuccess:"M\xE4ngija sai m\xE4ngukeelu.",unbanHeader:"Eemalda keelustus",unbanMsg:"Kas soovite t\xF5esti {name} keelustuse t\xFChistada?",unbanSuccess:"M\xE4ngija keelustus eemaldati.",kickHeader:"Kick",kickMsg:"Sisestage {name} kickimise p\xF5hjus.",kickSuccess:"M\xE4ngija sai kicki.",toggleAll:"L\xFClita k\xF5ik sisse",heal:"Paranda haavad",offline:"M\xE4ngija offline",or:"v\xF5i",invalid_citizenid:"Sisestatud Citizen-ID pole \xF5ige."},yg={vehicles:"S\xF5idukid",vehicle:"Masin",items:"Esemed",item:"Ese",jobs:"Fraktsioonid",job:"Fraktsioon",gangs:"Grupeeringud",gang:"Grupeering",users:"Liikmed",user:"Liige",roles:"Rollid",role:"Roll",map:"Kaart",dashboard:"Avaleht",logs:"Logid",accounts:"Kasutajad",account:"Kasutaja",players:"M\xE4ngijad",player:"M\xE4ngija",inventory:"Inventuur",config:"Configuratisoon",waypoints:"Waypointid",waypoint:"Sihtm\xE4rk",stashes:"Peidetud",stash:"Varuks"},vg={required:"See v\xE4li on kohustuslik.",passwordConfirm:"Paroolid ei sobitu.",noSpace:"T\xFChikud pole lubatud.",numbers:"Ainult numbrid on lubatud.",unique:"Peab olema omap\xE4rane.",defaults:"Tavalisi t\xE4hti ei tohi lisada.",onlyCharsNumbers:"Lubatud on ainult t\xFChik, numbrid ja t\xE4hed."},kg={header:{gameserver:"Game server",development:"Arendus",management:"Juhtkond"},titles:{dashboard:"Avaleht",livemap:"Hetkene kaart",player:"M\xE4ngijad",logs:"Logid",waypoint:"Sihtm\xE4rk",account:"Kasutaja",vehicle:"S\xF5idukid",items:"Esemed",jobs:"Fraktsioonid",gangs:"Grupeeringud",users:"Liikmed",roles:"Rollid",web:"Veebileht",config:"Configuratisoon",stashes:"Peidetud"}},wg={general:{changePasswordHeader:"Vaheta parool",changePasswordMsg:"Palun sisesta uus parool.",msg:{error:{user_missing:"Su kontot ei leitud."}}},dashboard:{cpu:"CPU kasutus",ram:"RAM kasutus",process:"Protsessimise kasutus",onlinePlayers:"M\xE4ngijaid onlines",gangOnline:"Grupeeringu liikmed onlines",jobsDuty:"M\xE4ngijaid t\xF6\xF6l",headers:{name:"Nimi",character:"Karakter",job:"Fraktsioon",count:"Kogus",gang:"Grupeering",rank:"Koht"}},setup:{finishButton:"L\xF5peta seadistamine",backButton:"Eelmine",nextButton:"J\xE4rgmine",welcomeHeader:"Tere tulemast",welcomeSub:"Tere tulemast teie Unlimited veebipaneeli! See seadistus k\xE4ivitab teie suurep\xE4rase kogemuse..",langHeader:"Keele valik",langSub:"Valige oma keel.",masterHeader:"P\xF5hikonto",masterSub:"Teie peakontol on alati t\xE4ielikud juurdep\xE4\xE4su\xF5igused, olenemata \xF5igustest.",tokenHeader:"Seadistage Token",tokenSub:"Kopeerige valideerimiseks oma seadistusluba serverikonsoolist.",tokenPlaceHolder:"Sisesta seadistusm\xE4rk"},login:{subtext:"Tere tulemast Unlimted veebipaneeli. Palun logi sisse.",msg:{error:{not_supported:"Valitud provider pole saadaval.",internal_error:"Internal probleem. Kontakteeru Unlimited tiimiga."}}},itemList:{subheader:"K\xF5ik \xFCksused kaustas QBCore/Shared/items.lua. QB-Exports/Functions kaudu registreeritud \xFCksusi ei kuvata.",noData:"Pole sarnaseid",loadData:"Lae andmeid",headers:{label:"Silt",type:"T\xFC\xFCp",weight:"Kaal",name:"Nimi",useable:"Kasutatav",unique:"Ainulaadne",shouldClose:"Sulge"},recordsPerPage:"Kirjeid lehek\xFClje kohta",paginationLabel:"{from}-{to}/{total}",createItem:"Loo ese"},item:{name:"Nimi / v\xF5ti",label:"Silt",desc:"Kirjeldus",image:"Ikoon",weight:"Kaal",type:"T\xFC\xFCp",useable:"Kasutatav",unique:"Omap\xE4rane.",shouldClose:"Sulge peale kasutust",edit:"Muuda eset",customVariables:"Kohandatud muutujad",customVarSub:"Looge oma muutujad.",addCustomVar:"Lisa uus muutuja",customVarName:"Muutuja",customVarValue:"Summa",combinability:"Kombineeritavus",combinabSub:"Siin saab m\xE4\xE4rata, milliste \xFCksustega saab \xFCksust \xFCksikult kombineerida, mida see selle tulemusena genereerib ning millist animatsiooni kui kaua ja millist teksti n\xE4idata.",combinable:{accept:"Kombineeri ",reward:"Tulemus",text:"Kuvatekst",timeOut:"Aeg",lib:"Animatsiooni Lib",dict:"Animatsiooni Dict"},deleteHeader:"Kustuta",deleteMsg:"Kas soovite t\xF5esti kustutada {itemLabel} [{itemName}]? Seda ei saa olematuks teha!",deleteCustomVarMsg:"Kas soovite t\xF5esti muutuja {name} kustutada? Seda ei saa olematuks teha!",msg:{error:{invalid_item_name:"\xDCksuse nimi \u201E{name}\u201D ei ole t\xFC\xFCp String.",item_exists:"\xDCksus \u201E{name}\u201D on juba olemas.",item_not_exists:"\xDCksust \u201E{name}\u201D pole olemas.",file_error:"\xDCksuse muudatus on avaldatud. Kuid faili .lua salvestamisel ilmnes viga. P\xE4rast taask\xE4ivitamist pole muudatused enam aktiivsed.",missingFields:"T\xE4itke k\xF5ik n\xF5utavad v\xE4ljad.",uniqueVars:"Muutujad peavad olema kordumatud.",filename_exists:"Failinimi on juba olemas."}},uploadedImage:"Pildi \xFCleslaadimine \xF5nnestus.",uploadNew:"Lae pilt \xFCles",imageNotFound:"Seda pilti pole olemas."},itemCreate:{new:"Loo uus ese"},roleList:{subheader:"Hallake oma meeskonna \xF5igusi kohandatud rollidega.",createRole:"Loo roll",noData:"Vastu pole",loadData:"Laadi andmed",headers:{name:"Nimi",desc:"Kirjeldus",permissions:"Lubade arv",color:"V\xE4rv"},recordsPerPage:"Kirjeid lehel",paginationLabel:"{from}-{to}/{total}"},role:{name:"Nimi",edit:"Muuda rolli",desc:"Kirjeldus",color:"V\xE4rvus",permissions:"\xD5igused",permissionSub:"M\xE4\xE4rake oma rollile oma \xF5igused.",resource:{gameserver:"Game server",development:"Arendus",management:"Juhtkond"},section:{liveMap:"Live kaart",waypoint:"Sihtm\xE4rk",account:"Kasutaja",player:"M\xE4ngija",vehicles:"S\xF5idukid",logs:"Logid",items:"Esemed",jobs:"Fraktsioonid",gangs:"Grupeeringud",user:"Liikmed",roles:"Rollid",config:"Configuratisoon",stashes:"Peidetud"},action:{read:"Lugemine",modify:"Muutmine",delete:"Kustuta",despawn:"Despawn",repair:"Remont",create:"Loo",player:"N\xE4ita m\xE4ngijaid",vehicle:"N\xE4ita s\xF5idukeid",kick:"Kick",warn:"Hoiatus",ban:"Keelustamine",money:"Raha",meta:"Metaandmed",position:"Positsioon",inventory:"Inventuur",screen:"Vaata ekraani",license:"Litsents",job:"T\xF6\xF6",gang:"Gang",logs:{game:"M\xE4ng",player:"Liige",dev:"Arendaja",web:"Veebileht"}},msg:{error:{role_missing:"Rolli nimega '{name}' ei eksisteeri (enam).",role_exist:"Roll \u201E{name}\u201D on juba olemas.",missingFields:"T\xE4itke k\xF5ik n\xF5utavad v\xE4ljad."}},deleteHeader:"Kustuta",deleteMsg:"Kas soovite t\xF5esti kustutada {name}? Seda ei saa olematuks teha!"},roleCreate:{new:"Loo uus roll"},userList:{subheader:"Hallake oma meeskonnaliikmete kasutajakontosid.",noData:"Pole vastet",loadData:"Lae andmeid",createUser:"Loo kasutaja",headers:{name:"Nimi",role:"Roll",master:"Peakonto"},recordsPerPage:"Kirjeid lehek\xFClje kohta",paginationLabel:"{from}-{to} / {total}"},user:{edit:"Muuda kasutajat",role:"Roll",fxname:"cfx.re",msg:{error:{user_missing:"Kasutajat nimega '{name}' ei eksisteeri (enam).",user_exist:"Kasutaja {name} on juba olemas.",user_master:"Peakasutajat ei saa kustutada.",missingFields:"T\xE4itke k\xF5ik n\xF5utavad v\xE4ljad.",is_master:"Peakasutaja parooli ei saa muuta.",fx_used:"cfx.re kasutaja on juba kasutuses ."}},deleteHeader:"Kustuta",deleteMsg:"Kas soovite t\xF5esti kustutada {name}? Seda ei saa olematuks teha!",resetPasswort:"Resetige parool",resetPasswordHeader:"Kinnita muudatus",resetPasswordMsg:"Kas soovite t\xF5esti parooli {name} l\xE4htestada?"},jobList:{subheader:"K\xF5ik t\xF6\xF6kohad saidilt QBCore/Shared/jobs.lua. QB-Exports/Functions kaudu registreeritud t\xF6id ei kuvata.",noData:"Pole vastet",loadData:"Lae andmeid",createJob:"Loo Fraktsioon",headers:{name:"Nimi",label:"Silt / setjob nimi",grades:"Auastmed",defaultDuty:"Tavaline duty aste",offDutyPay:"Off Duty palk"},recordsPerPage:"Kirjeid lehek\xFClje kohta",paginationLabel:"{from}-{to} / {total}"},jobCreate:{new:"Loo uus t\xF6\xF6koht"},job:{name:"Nimi",edit:"Muuda fraktsiooni",label:"Label",defaultDuty:"Tavaline duty aste",offDutyPay:"Off Duty palk",grades:"Auastmed",gradesSub:"M\xE4\xE4rake oma t\xF6\xF6 jaoks auastmed. J\xE4rjestus l\xE4heb madalaimast astmest k\xF5rgeima astmeni, \xFClevalt alla.",customVariables:"Kohandatud muutujad",customVarSub:"Looge oma muutujad.",addCustomVar:"Loo uus muutuja",customVarName:"Muutuja",customVarValue:"Summa",msg:{error:{invalid_job_name:"T\xF6\xF6 nimi '{name}' ei ole t\xFC\xFCp String.",job_exists:"T\xF6\xF6 \u201E{name}\u201D on juba olemas.",job_not_exists:"T\xF6\xF6d '{name}' ei eksisteeri.",file_error:"T\xF6\xF6kohavahetus on avaldatud. Kuid faili .lua salvestamisel ilmnes viga. P\xE4rast taask\xE4ivitamist pole muudatused enam aktiivsed.",missingFields:"T\xE4itke k\xF5ik n\xF5utavad v\xE4ljad.",gradeNeeded:"Teil on vaja v\xE4hemalt \xFChte auastet.",uniqueVars:"Muutujad peavad olema kordumatud."}},deleteHeader:"Kustuta",deleteMsg:"Kas soovite t\xF5esti kustutada {name}? Seda ei saa olematuks teha!",deleteGradeMsg:"Kas soovite t\xF5esti kustutada {name}? Seda ei saa olematuks teha!",deleteCustomVarMsg:"Kas soovite t\xF5esti muutuja {name} kustutada? Seda ei saa olematuks teha!",headers:{name:"Nimi",isboss:"Liider",payment:"Palk"},addGrade:"Lisa auaste"},gangList:{subheader:"K\xF5ik Grupeeringud saidilt QBCore/Shared/gangs.lua. QB-Exports/Functions kaudu registreeritud j\xF5uke ei kuvata.",noData:"Pole vastet",loadData:"Lae andmeid",createGang:"Loo uus Grupeering",headers:{name:"Nimi",label:"Silt / setjob nimi",grades:"Auastete kogus"},recordsPerPage:"Kirjeid lehek\xFClje kohta",paginationLabel:"{from}-{to} / {total}"},gangCreate:{new:"Loo uus Grupeering"},gang:{name:"Nimi",edit:"Muuda Grupeeringu seadeid",label:"Silt / setjob nimi",grades:"Auastmed",gradesSub:"M\xE4\xE4rake oma Grupeeringu auastmed. J\xE4rjestus l\xE4heb madalaimast astmest k\xF5rgeima astmeni, \xFClevalt alla.",customVariables:"Kohandatud muutujad",customVarSub:"Looge oma muutujad.",addCustomVar:"Lisa uus muutuja",customVarName:"Muutuja",customVarValue:"Summa",msg:{error:{invalid_gang_name:"Grupeeringu nimi '{name}' ei ole t\xFC\xFCp String.",gang_exists:"Grupeering '{name}' on juba olemas.",gang_not_exists:"Grupeering \u201E{name}\u201D pole olemas.",file_error:"Grupeeringu seadeid on avaldatud. Kuid faili .lua salvestamisel ilmnes viga. P\xE4rast taask\xE4ivitamist pole muudatused enam aktiivsed.",missingFields:"T\xE4itke k\xF5ik n\xF5utavad v\xE4ljad.",gradeNeeded:"Teil on vaja v\xE4hemalt \xFChte auastet.",uniqueVars:"Muutujad peavad olema kordumatud."}},deleteHeader:"Kustuta",deleteMsg:"Kas soovite t\xF5esti kustutada {name}? Seda ei saa olematuks teha!",deleteGradeMsg:"Kas soovite t\xF5esti kustutada {name}? Seda ei saa olematuks teha!",deleteCustomVarMsg:"Kas soovite t\xF5esti muutuja {name} kustutada? Seda ei saa olematuks teha!",headers:{name:"Nimi",isboss:"Liider"},addGrade:"Lisa auaste"},liveMap:{viewPlayerTab:"Vaata m\xE4ngija rekordi",viewVehicleTab:"Vaata s\xF5iduki registrit",noOnlinePlayers:"M\xE4ngijaid pole serveris",noSpawnedVehicles:"\xDChtegi s\xF5idukit ei tekkinud",generalContextMenuHeader:"\xDCldine",teleportPlayerHeader:"Valige m\xE4ngija keda teleporteerida",copyCoordsToClipboard:"Kopeeri koordinaadid",teleportTo:"Teleporteeri m\xE4ngija",createWaypoint:"Loo uus asukoht",markers:{vehicles:"S\xF5idukid",players:"M\xE4ngijad"},labels:{selectedPlayer:"Valitud m\xE4ngija"},btn:{loadFromWaypoint:"Lae asukohad"},msg:{success:{coordsCopied:"Edukalt kopeeritud"},error:{noPlayersOnline:"Hetkel pole v\xF5rgus \xFChtegi m\xE4ngijat, keda teleportida.",errorCopyCoords:"Koordinatsioone ei saanud l\xF5ikelauale kopeerida."}}},playerList:{subheader:"K\xF5ik registreeritud m\xE4rgid.",noData:"Pole vastet",loadData:"Lae andmeid",recordsPerPage:"Kirjeid lehek\xFClje kohta",paginationLabel:"{from}-{to} / {total}",headers:{firstname:"Eesnimi",lastname:"Perekonnanimi",gang:"Grupeering",job:"Fraktsioon",online:"Hetkel lives",citizenid:"Citizen-ID",name:"Kontonimi"}},player:{tabs:{general:"General",vehicles:"S\xF5idukid",logs:"Logid",notes:"M\xE4rkmed"},pastBans:"Keelustamise/hoiatuste ajalugu",changeJobHeader:"Vaheta fraktsiooni",changeGangHeader:"Vaheta grupeeringut",deleteHeader:"Kustuta m\xE4ngija",deletePlayerMsg:"Kas soovite t\xF5esti m\xE4ngija {name} kustutada? Seda ei saa olematuks teha!",changeAccountHeader:"Vaheta litsentsi",changeAccountSub:"Kas soovite t\xF5esti m\xE4ngija {name} litsentsi muuta? Seda ei saa olematuks teha!",playerScreenHeader:"M\xE4ngija hetkene ekraan",addMoneyHeader:"Lisa raha",addMoneyMsg:"Siseta kogus",removeMoneyHeader:"Eemalda",removeMoneyMsg:"Sisesta kogus",buttons:{unban:"Eemalda keelustus",warn:"Hoiata",ban:"Keelusta",kick:"Kick",inventory:"Inventuur",screen:"N\xE4ita m\xE4ngija ekraani",money:{set:"Vali",give:"Anna",remove:"Eemalda"}},banMsg:"\u{1F528} adminilt '{by}' p\xF5hjusel '{reason}' kuni {expire}.",moneyDisclaimer:"See ei toeta mis tahes t\xFC\xFCpi raha esemena.",headers:{general:"\xDCldine",charinfo:"Karakteri info",meta:"Metaandmed",money:"Raha",gang:"Grupeering",job:"Fraktsioon",actions:"Tegevused"},labels:{name:"Kontonimi",citizenid:"Citizen-ID",license:"Litsensid",position:"Asukoht",firstname:"Eesnimi",lastname:"Perekonnanimi",account:"Konto",cid:"Karakteri id",gender:"Sugu",male:"Mees",female:"Naine",birthdate:"S\xFCnnip\xE4ev",nationality:"Rahvus",phone:"K\xE4ep\xE4rane",backstory:"Karakteri lugu",isdead:"On surnud",ishandcuffed:"Raudades",walletid:"Rahakoti id",fingerprint:"S\xF5rmej\xE4lg",bloodtype:"Veret\xFC\xFCp",thirst:"Janu",hunger:"N\xE4lg",stress:"Stress",armor:"Armor",job:{name:"Nimi",grade:"Auaste"},gang:{name:"Nimi",grade:"Auaste"},money:{bank:"Pank",crypto:"Kr\xFCpto",cash:"Sularaha"},health:"Elud",ip:"IP",discord:"Discord",bucket:"Bucket"},msg:{success:{success:"Andmed salvestatud.",hunger:"N\xE4lg kaotatud.",thirst:"Janu kaotatud.",isdead:"Surma summat muudetud.",ishandcuffed:"Raudades oleku summat muudetud.",changeJob:"Fraktsioon vahetatud.",changeGang:"Grupeering vahetatud.",changedBucket:"Bucket muudetud.",stress:"Stress v\xE4hendatud.",healed:"M\xE4ngija elustatud."},error:{notOnline:"M\xE4ngija pole serveris.",notFound:"M\xE4ngija pole leitud.",missingFields:"Vajalikud sisendid puuduvad.",changeJob:"T\xF6\xF6koha vahetamine eba\xF5nnestus.",changeGang:"Grupeeringu vahetamine eba\xF5nnestus.",failedFetchGangs:"Grupeeringute otsimine eba\xF5nnestus.",failedFetchJobs:"Fraktsioonide otsimine eba\xF5nnestus.",deleteError:"Midagi l\xE4ks valesti.",couldNotFetchScreen:"Tekkis error ekraani kuvamisel.",invalid_citizenid:"Sisestatud Citizen-ID pole \xF5ige.",not_allowed:"See raha t\xFC\xFCp pole lubatud."}}},vehicleList:{subheader:"K\xF5ikide m\xE4ngijate s\xF5idukid.",noData:"Pole vastet",loadData:"Lae andmeid",spawned:"Spawnitud",garage:"Garaaz",outside:"V\xE4ljas",inpound:"Impoundis",headers:{owner:"Omanik",plate:"Numbrim\xE4rk",vehicle:"Mudel",spawned:"Spawnitud",state:"Seisukord",engine:"Mootor",body:"Kere",fuel:"K\xFCtus"},recordsPerPage:"Kirjeid lehek\xFClje kohta",paginationLabel:"{from}-{to} / {total}",createVehicle:"Loo s\xF5iduk"},vehicle:{despawnHeader:"S\xF5iduki h\xE4vitamine / kustutamine",despawnMsg:"Kas soovite t\xF5esti praegust s\xF5idukit kustutada?",deleteHeader:"Kustuta",deleteMsg:"Kas soovite t\xF5esti praeguse s\xF5iduki andmebaasist kustutada ja selle kustutada? Muud s\xF5idukiga seotud lauad (nt pagasiruumi) ei puuduta!",changeOwnerHeader:"Valige uus omanik",changeOwnerInput:"Sisesta uue omaniku Citizen-ID",buttons:{changeOwner:"Vaheta omaniku",despawnVehicle:"Despawni auto",repairVehicle:"Paranda auto",deleteVehicle:"Kustuta auto",openTrunk:"Avage pagasiruumi",openGlovebox:"Avage kindalaegas"},header:{owner:"Omanik",payment:"Makse",car:"Masin"},labels:{owner:"Omanik",citizenid:"Citizen-ID",license:"Litsensid",depotprice:"Autopargi maksumus",balance:"Balants",paymentamount:"Kogus",paymentsleft:"J\xE4rel",financetime:"Maksmise aeg",model:"Mudel",plate:"Numbrim\xE4rk",fakeplate:"V\xF5ltsitud numbrim\xE4rk",drivingdistance:"L\xE4bis\xF5it",garage:"Garaaz",state:"Seisukord",fuel:"K\xFCtus",engine:"Mootor",body:"Kere"},msg:{error:{noMatch:"S\xF5idukit ei leitud. V\xF5ib-olla kustutati?",not_spawned:"S\xF5iduk pole spawnitud.",not_found:"Midagi l\xE4ks valesti. S\xF5idukit ei leitud.",missingData:"Uue omaniku andmed puuduvad.",invalid_citizenid:"Sisestatud Citizen-ID pole \xF5ige.",sql_error:"Midagi l\xE4ks valesti kui alustasime SQL querite laadimisega. Muudatusi ei tehtud!",allowedCharsNumbers:"querites saate kasutada ainult t\xFChikut, numbreid ja m\xE4rke.",plate_exists:"Numbrim\xE4rk on juba olemas. Palun valige m\xF5ni muu."}}},vehicleCreate:{new:"Tekita s\xF5iduk"},logs:{loadMore:"\xDCles kerimine laadib rohkem palke."},configuration:{colorsHeader:"V\xE4rvid",colorsSub:"Muuda v\xE4rvi enda serverile sobivalt",colors:{primary:"P\xF5hiv\xE4rvus",secondary:"Sekundaarnev\xE4rvud",accent:"Aktsent",dark:"Taustav\xE4rv",positive:"Positiivne",negative:"Negatiivne",info:"Informatsioon",warning:"Hoiatus",main:"Tekst",sub:"Alamtekst"},buttons:{undo:"V\xF5ta tagasi",defaults:"Tavalised"}},inventory:{playerInventory:"M\xE4ngija",supporterStash:"Toetaja seif",itemName:"Nimi",amount:"Kogus",infoSection:"Info kogud",infoSectionSub:"Lisage oma uuele \xFCksusele teabemuutujad.",addInfoValue:"Lisa uus",infoName:"V\xF5ti",infoValue:"Kogus",deleteHeader:"Kustuta",deleteMsg:"Kas soovite t\xF5esti selle \xFCksuse kustutada? Seda ei saa olematuks teha!",deleteInfoHeader:"Kustuta",deleteInfoMsg:"Kas soovite t\xF5esti kustutada teabe {name}? Seda ei saa olematuks teha!",addItemTip:"Lisa uus item",addItemHeader:"Lisa",clearInvTip:"Puhasta inventuur",clearInvHeader:"Puhasta inventuur",clearInvMsg:"Kas soovite t\xF5esti kogu m\xE4ngijate nimekirja t\xFChjendada? Seda ei saa olematuks teha!",msg:{success:{fixedPlayerItems:"Fixed player items and saved deleted items into file (if browser allows)."},error:{failedFetchItems:"\xDCksuste definitsioonide toomine eba\xF5nnestus.",failedLoad:"Varude andmete toomine eba\xF5nnestus.",noItemName:"\xDCksust pole valitud.",unknown_citizenid:"M\xE4ngijat pole olemas.",noSlot:"Vaba kohta pole.",invalid_item:"Ei leia \xFCksuse definitsiooni. V\xF5ib-olla kustutage see \xFCksus.",moved:"Tundub, et \xFCksus on liikunud. Palun proovi uuesti.",negative:"Negatiivse \xFCksuse summat ei saa teisaldada.",not_enough:"Teil ei ole sellest \xFCksusest piisavalt.",internal:"Sisemine viga. Palun v\xF5tke \xFChendust Unlimited tiimiga.",uniqueInfo:"Teabemuutujad peavad olema kordumatud.",fixPlayer:"Error in PlayerData",fixPlayerText:"This player has a broken PlayerData. Some times this can be caused by invalid item definitions. We can try to fix this by deleting not existing items from the players inventory. This is a experimental feature, be carefull! Should we try to fix it?"}}},devVehicleList:{subheader:"K\xF5ik masinad asukohast: QBCore/Shared/vehicles.lua.",noData:"Sarnasusi ei leitud",loadData:"Lae andmeid",headers:{name:"Nimi",brand:"Mark",model:"Mudel",hash:"Hash / spawnkood",price:"Hind",category:"Kategooria"},recordsPerPage:"Kirjeid lehek\xFClje kohta",paginationLabel:"{from}-{to} / {total}",createVehicle:"Loo s\xF5iduk"},devVehicle:{edit:"Muuda s\xF5iduki andmeid",model:"Mudel",hash:"Hash / spawnkood",name:"Nimi",brand:"Mark",category:"Kategooria",categoryLabel:"Kategooria nimi",price:"Hind",shop:"Pood",customVariables:"Kohandatud muutujad",customVarSub:"Looge oma muutujad.",addCustomVar:"Lisa uus muutuja",customVarName:"Muutuja",customVarValue:"Summa",msg:{error:{invalid_veh_name:"S\xF5iduki nimi '{name}' ei ole t\xFC\xFCp String.",veh_exists:"S\xF5iduk \u201E{name}\u201D on juba olemas.",veh_not_exists:"S\xF5idukit '{name}' ei eksisteeri.",file_error:"S\xF5idukivahetus on tehtud. Kuid faili .lua salvestamisel ilmnes viga. P\xE4rast taask\xE4ivitamist pole muudatused enam aktiivsed.",missingFields:"T\xE4itke k\xF5ik n\xF5utavad v\xE4ljad.",uniqueVars:"Muutujad peavad olema kordumatud."}},deleteHeader:"Kustuta",deleteMsg:"Kas soovite t\xF5esti {model} kustutada? Seda ei saa olematuks teha!",deleteCustomVarMsg:"Kas soovite t\xF5esti muutuja {name} kustutada? Seda ei saa olematuks teha!"},devVehicleCreate:{new:"Loo uus s\xF5iduk"},auth:{msg:{error:{not_supported:"Valitud provider pole hetkel saadaval.",internal_error:"Internal probleem, kontakteeru Unlimited tiimiga.",no_token:"Callback ei andnud andmebaasile vajalike tabeleid.",userdata_fetch_failed:"Ei saanud kasutaja andmeid andmebaasist.",no_fx_user:"Sinu cfx.re kontole pole \xFChtegi kasutajat m\xE4\xE4ratud."}}},waypointList:{subheader:"Hallake oma teekonnapunkte.",createWaypoint:"Loo teekonnapunkt",noData:"Pole vastet",loadData:"Andmete laadimine",headers:{name:"Nimi",label:"M\xE4rgis",coords:"Koordinaadid"},recordsPerPage:"Kirjeid lehek\xFClje kohta",paginationLabel:"{from}-{to} / {total}"},waypoint:{edit:"Muuda waypoint\u2019i",waypoint:"Sihtm\xE4rk",labels:{name:"Nimi",label:"M\xE4rgid",coords:"Koordinaadid"},msg:{error:{waypoint_missing:"Teekonnapunkti nimega '{name}' ei eksisteeri (enam).",waypoint_exist:"Teekonnapunkt '{name}' on juba olemas.",no_waypoints:"Hetkel pole \xFChtegi teekonnapunkti saadaval.",missingFields:"T\xE4itke k\xF5ik n\xF5utavad v\xE4ljad.",failedFetchWaypoints:"Teekonnapunkte ei saanud tuua."}},deleteHeader:"Kustuta",deleteMsg:"Kas soovite t\xF5esti kustutada {name}? Seda ei saa olematuks teha!",modalHeader:"Valige teekonnapunkt"},accountList:{subheader:"Hankige m\xE4ngijad nende konto j\xE4rgi.",noData:"Pole vastet",loadData:"Lae andmeid",headers:{name:"Nimi",license:"License",character_count:"Karakterid",last_active:"Viimati onlines"},recordsPerPage:"Kirjeid lehek\xFClje kohta",paginationLabel:"{from}-{to} / {total}"},stashesList:{subheader:"\xDClevaade k\xF5igist konfigureeritud varjadest.",noData:"Vaste puudub",loadData:"Lae andmeid",headers:{type:"T\xFC\xFCp",identifier:"Identifier",items:"Slotid kasutuses"},recordsPerPage:"Kirjeid lehek\xFClje kohta",paginationLabel:"{from}-{to} / {total}"},stashes:{stashStorage:"Stash",supporterStash:"Supporter Stash",itemName:"Nimi",amount:"V\xE4\xE4rtus",infoSection:"Lisa andmeid",infoSectionSub:"Lisage oma uuele \xFCksusele teabemuutujad.",addInfoValue:"Lisa uus",infoName:"V\xF5ti",infoValue:"V\xE4\xE4rtus",deleteHeader:"Kustuta",deleteMsg:"Kas oled kindelm, et tahad kustutada?",deleteInfoHeader:"Kustuta",deleteInfoMsg:"Kas soovite t\xF5esti kustutada teabe {name}?",addItemTip:"Lisa uus item",addItemHeader:"Lisa",clearStorageTip:"T\xFChjenda Stash",clearStorageHeader:"T\xFChjenda stash",clearStorageMsg:"Kas soovite t\xF5esti kogu stashi t\xFChjendada?",msg:{error:{failedFetchItems:"\xDCksuste definitsioonide toomine eba\xF5nnestus.",failedLoad:"Inventory andmete toomine eba\xF5nnestus.",noItemName:"Item pole valitud.",unknown_storage:"Storage ei eksisteeri.",noSlot:"Vabu slote pole.",invalid_item:"Ei leia \xFCksuse definitsiooni. V\xF5ib-olla kustutage see \xFCksus.",moved:"Tundub, et \xFCksus on liikunud. Palun proovi uuesti.",negative:"Negatiivse \xFCksuse summat ei saa teisaldada.",not_enough:"Teil ei ole sellest \xFCksusest piisavalt.",internal:"Sisemine viga. V\xF5tke \xFChendust Unlimited tiimiga",uniqueInfo:"Teabemuutujad peavad olema kordumatud."}}}},G_={general:bg,breadcrumb:yg,rules:vg,navigation:kg,components:wg},W_=Object.freeze(Object.defineProperty({__proto__:null,general:bg,breadcrumb:yg,rules:vg,navigation:kg,components:wg,default:G_},Symbol.toStringTag,{value:"Module"})),_g={timestamp:"Tijdstempel",logout:"Uitloggen",username:"Gebruikersnaam",password:"Wachtwoord",confirmPassword:"Bevestig wachtwoord",setupToken:"Token",languages:{de:"Duits",en:"Engels",es:"Spanish",dk:"Deens",et:"Estland",nl:"Nederlands",no:"Norwegisch",pl:"Pools",pt:"Portugees",ta:"Indiaas - Tamil",tr:"Turkish"},save:"Opslaan",delete:"Verwijder",search:"Zoek",change:"Verander",success:"Succes",error:"Error",saved:"Succesvol opgeslagen.",deleted:"Met succes verwijderd.",cleared:"Met succes gewist.",ok:"Ok",cancel:"Annuleer",create:"Maak aan",back:"Terug",changePassword:"Verander wachtwoord",kick:"Kick",ban:"Ban",fillUp:"Opvullen",relax:"Relax",add:"Voeg toe",added:"Toegevoegd",teleport:"Teleport",teleported:"Teleport succesvol.",cantReach:"Kan de server niet bereiken.",male:"Man",female:"Vrouw",yes:"Ja",no:"Nee",reason:"Reden",time:"Tijd",bantime:"Tijd in seconden.",warnHeader:"Waarschuwen",warnMsg:"Geef een waarschuwingsreden op voor {name}.",warnBanHeader:"Ban/Warn",banHeader:"Ban",banMsg:"Voer de reden en de tijd voor de ban in {name}.",banSuccess:"De speler kreeg een ban.",unbanHeader:"Reset ban",unbanMsg:"Ben je zeker dat je {name} wilt unbannen?",unbanSuccess:"De speler werd unbanned.",kickHeader:"Kick",kickMsg:"Voer kick reden in voor {name}.",kickSuccess:"De speler werd gekicked.",toggleAll:"Wissel alles",heal:"Genees",offline:"Speler Offline",or:"of",timeout:"Verzoek verlopen."},Sg={vehicles:"Voertuigen",vehicle:"Voertuigen",items:"Items",item:"Item",jobs:"Jobs",job:"Job",gangs:"Gangs",gang:"Gang",users:"Gebruikers",user:"Gebruiker",roles:"Rollen",role:"Rol",map:"Map",dashboard:"Dashboard",logs:"Logs",accounts:"Accounts",account:"Account",players:"Spelers",player:"Speler",inventory:"Inventorie",config:"Configuratie",waypoints:"Waypoints",waypoint:"Waypoint",stashes:"Opbergen",stash:"Opbergen"},Eg={required:"Dit veld is verplicht.",passwordConfirm:"Wachtwoorden komen niet overeen.",noSpace:"Geen spatie toegestaan.",numbers:"Alleen nummers toegestaan.",unique:"Moet uniek zijn.",defaults:"Geen standaardsleutels toegestaan.",onlyCharsNumbers:"Alleen spatie, cijfers en tekens toegestaan."},Cg={header:{gameserver:"Gameserver",development:"Development",management:"Management"},titles:{dashboard:"Dashboard",livemap:"Live Map",waypoint:"Waypoints",account:"Accounts",player:"Spelers",logs:"Logs",vehicle:"Voertuigen",items:"Items",jobs:"Jobs",gangs:"Gangs",users:"Gebruikers",roles:"Rolen",web:"Web",config:"Configuratie",stashes:"Opbergen"}},xg={general:{changePasswordHeader:"Verander wachtwoord",changePasswordMsg:"Voer uw nieuwe wachtwoord in.",msg:{error:{user_missing:"Uw gebruikersaccount kan niet worden gevonden."}}},dashboard:{cpu:"CPU Verbruik",ram:"Memory Verbruik",process:"Process Verbruik",onlinePlayers:"Spelers online",gangOnline:"Gang Leden online",jobsDuty:"Spelers In Dienst",headers:{name:"Naam",character:"Karakter",job:"Job",count:"Hoeveelheid",gang:"Gang",rank:"Rang"}},setup:{finishButton:"Voltooi de installatie",backButton:"Vorige",nextButton:"Volgende",welcomeHeader:"Welkom",welcomeSub:"Welkom in uw Unlimited Webpanel! Deze opstelling zal je geweldige ervaring initialiseren.",langHeader:"Taal Selecteren",langSub:"Selecteer Uw Taal.",masterHeader:"Master Account",masterSub:"Uw Master account heeft altijd volledige toegangsrechten, ongeacht de machtigingen.",tokenHeader:"Setup Token",tokenSub:"Kopieer uw setup token van de serverconsole voor validatie.",tokenPlaceHolder:"Voeg Setup Token In"},login:{subtext:"Welkom bij het Unlimted Webpanel. Log alsjeblieft in.",msg:{error:{not_supported:"De geselecteerde provider lijkt niet te worden ondersteund.",internal_error:"Interne fout. Neem contact op met Unlimited met uw foutmelding."}}},itemList:{subheader:"Alle items van QBCore/Shared/items.lua. Items geregistreerd via QB-Exports/Functions worden niet weergegeven.",noData:"Geen match",loadData:"Data laden",headers:{label:"Label",type:"Type",weight:"Gewicht",name:"Naam",useable:"Bruikbaar",unique:"Uniek",shouldClose:"Sluit"},recordsPerPage:"Records per pagina",paginationLabel:"{van}-{naar} of {totaal}",createItem:"Artikel maken"},item:{name:"Naam / Key",label:"Label",desc:"Beschrijving",image:"Icoon",weight:"Gewicht",type:"Type",useable:"Bruikbaar",unique:"Uniek",shouldClose:"Na gebruik sluiten",edit:"Item bewerken",customVariables:"Aangepaste variabelen",customVarSub:"Maak uw eigen variabelen.",addCustomVar:"Voeg een nieuwe variabele toe",customVarName:"Variabel",customVarValue:"Waarde",combinability:"Combineerbaarheid",combinabSub:"Hier kunt u aangeven met welke items het item afzonderlijk kan worden gecombineerd, wat het als resultaat genereert en welke animatie hoe lang moet worden weergegeven en welke tekst.",combinable:{accept:"Combineren met",reward:"Resultaat",text:"Weergave tekst",timeOut:"Tijd",lib:"Animatie Lib",dict:"Animatie Dict"},deleteHeader:"Verwijder",deleteMsg:"Wil je echt {itemLabel} [{itemName}] verwijderen? Dit kan niet ongedaan gemaakt worden!",deleteCustomVarMsg:"Wilt u de variabele echt verwijderen {name}? Dit kan niet ongedaan gemaakt worden!",msg:{error:{invalid_item_name:"De artikelnaam '{name}' is niet een String.",item_exists:"Het artikel '{name}' bestaat al.",item_not_exists:"Het artikel '{name}' bestaat niet.",file_error:"De artikelwijziging is live gegaan. Er is echter een fout opgetreden bij het opslaan van de .lua. Na een herstart zijn de wijzigingen niet meer actief.",missingFields:"Vul alle verplichte velden in.",uniqueVars:"Variabelen moeten uniek zijn.",filename_exists:"Bestandsnaam bestaat al."}},uploadedImage:"Afbeelding ge\xFCpload.",uploadNew:"Upload afbeelding.",imageNotFound:"Deze afbeelding bestaat niet."},itemCreate:{new:"Nieuw artikel maken"},roleList:{subheader:"Beheer machtigingen voor uw team met aangepaste rollen.",createRole:"Rol maken",noData:"Geen match",loadData:"Data laden",headers:{name:"Naam",desc:"Beschrijving",permissions:"Aantal toestemmingen",color:"Kleur"},recordsPerPage:"Records per pagina",paginationLabel:"{van}-{naar} of {totaal}"},role:{name:"Naam",edit:"Rol bewerken",desc:"Beschrijving",color:"Kleur",permissions:"Rechten",permissionSub:"Wijs uw eigen rechten toe aan uw rol.",resource:{gameserver:"Gameserver",development:"Development",management:"Management"},section:{liveMap:"LiveMap",waypoint:"Waypoint",account:"Account",player:"Speler",vehicles:"Voertuigen",logs:"Logs",items:"Items",jobs:"Jobs",gangs:"Gangs",user:"Gebruikers",roles:"Rolen",config:"Configuratie",stashes:"Opbergen"},action:{read:"Lees",modify:"Bewerken",delete:"Verwijder",despawn:"Despawnen",repair:"Reparatie",create:"Cre\xEBren",player:"Toon spelers",vehicle:"Bekijk voertuigen",kick:"Kick",warn:"Waarschuwen",ban:"Ban",money:"Geld",meta:"Metadata",position:"Positie",inventory:"Inventorie",screen:"Neem screenshot",license:"Licentie",job:"Job",gang:"Gang",logs:{game:"Game",player:"Speler",dev:"Dev",web:"Web"}},msg:{error:{role_missing:"Rol met naam '{name}' bestaat niet (meer).",role_exist:"De rol '{name}' bestaat al.",missingFields:"Vul alle verplichte velden in."}},deleteHeader:"Verwijder",deleteMsg:"Wil je echt {name} verwijderen? Dit kan niet ongedaan gemaakt worden!"},roleCreate:{new:"Maak nieuwe rol aan."},userList:{subheader:"Beheer de gebruikersaccounts van uw teamleden.",noData:"Geen match",loadData:"Data laden",createUser:"Maak gebruiker aan",headers:{name:"Naam",role:"Rol",master:"Master"},recordsPerPage:"Records per pagina",paginationLabel:"{van}-{naar} of {totaal}"},user:{edit:"Bewerk gebruiker",role:"Rol",fxname:"cfx.re",msg:{error:{user_missing:"Gebruiker met naam '{name}' bestaat niet (meer).",user_exist:"De gebruiker '{name}' bestaat al.",user_master:"U kunt de hoofdgebruiker niet verwijderen.",missingFields:"Vul alle verplichte velden in.",is_master:"U kunt het wachtwoord van de hoofdgebruiker niet wijzigen.",fx_used:"cfx.re gebruiker die al in gebruik is door een andere gebruiker."}},deleteHeader:"Verwijder",deleteMsg:"Wil je echt {name} verwijderen? Dit kan niet ongedaan gemaakt worden!",resetPasswort:"Reset Wachtwoord",resetPasswordHeader:"Bevestig reset",resetPasswordMsg:"Wil je echt het wachtwoord resetten voor {name}?"},jobList:{subheader:"Alle vacatures van QBCore/Shared/jobs.lua. Jobs geregistreerd via QB-Exports/Functions worden niet weergegeven.",noData:"Geen match",loadData:"Data laden",createJob:"Maak job aan",headers:{name:"Naam",label:"Label",grades:"Rangen aantallen",defaultDuty:"Standaard in dienst",offDutyPay:"Betalend uit dienst"},recordsPerPage:"Records per pagina",paginationLabel:"{van}-{naar} of {totaal}"},jobCreate:{new:"Nieuwe job aanmaken"},job:{name:"Naam",edit:"Job bewerken",label:"Label",defaultDuty:"Standaard in dienst",offDutyPay:"Betalend uit dienst",grades:"Rangen",gradesSub:"Stel de rangen voor uw job in. De volgorde gaat van de laagste rang naar de hoogste rang, van boven naar beneden.",customVariables:"Aangepaste variabelen",customVarSub:"Maak uw eigen variabelen.",addCustomVar:"Voeg een nieuw variabel toe",customVarName:"Variabel",customVarValue:"Waarde",msg:{error:{invalid_job_name:"De job naam '{name}' is geen String.",job_exists:"De job '{name}' bestaat al.",job_not_exists:"De job '{name}' bestaat niet.",file_error:"De job wisseling is live gegaan. Er is echter een fout opgetreden bij het opslaan van de .lua. Na een herstart zijn de wijzigingen niet meer actief.",missingFields:"Vul alle verplichte velden in.",gradeNeeded:"Je hebt minimaal \xE9\xE9n rang nodig.",uniqueVars:"Variabelen moeten uniek zijn."}},deleteHeader:"Verwijder",deleteMsg:"Wil je echt {name} verwijderen? Dit kan niet ongedaan gemaakt worden!",deleteGradeMsg:"Wil je echt {name} verwijderen? Dit kan niet ongedaan gemaakt worden!",deleteCustomVarMsg:"Wilt u de variabele {name} echt verwijderen? Dit kan niet ongedaan gemaakt worden!",headers:{name:"Naam",isboss:"Baas",payment:"Betaling"},addGrade:"Voeg rang toe"},gangList:{subheader:"Alle gangs van QBCore/Shared/gangs.lua. Bendes geregistreerd via QB-Exports/Functions worden niet weergegeven.",noData:"Geen match",loadData:"Data laden",createGang:"Gang aanmaken",headers:{name:"Naam",label:"Label",grades:"Rangen aantallen"},recordsPerPage:"Records per pagina",paginationLabel:"{van}-{naar} of {totaal}"},gangCreate:{new:"Nieuwe gang aanmaken"},gang:{name:"Naam",edit:"Gang bewerken",label:"Label",grades:"Rangen",gradesSub:"Bepaal de rangen voor je bende. De volgorde gaat van de laagste rang naar de hoogste rang, van boven naar beneden.",customVariables:"Aangepaste variabelen",customVarSub:"Maak uw eigen variabelen.",addCustomVar:"Voeg een nieuwe variabel toe",customVarName:"Variabel",customVarValue:"Waarde",msg:{error:{invalid_gang_name:"De gang naam '{name}' is geen String.",gang_exists:"De gang '{name}' bestaat al.",gang_not_exists:"De gang '{name}' bestaat niet.",file_error:"De gang wisseling is live gegaan. Er is echter een fout opgetreden bij het opslaan van de .lua. Na een herstart zijn de wijzigingen niet meer actief.",missingFields:"Vul alle verplichte velden in.",gradeNeeded:"Je hebt minimaal \xE9\xE9n rang nodig.",uniqueVars:"Variabelen moeten uniek zijn."}},deleteHeader:"Verwijder",deleteMsg:"Wil je echt {name} verwijderen? Dit kan niet ongedaan gemaakt worden!",deleteGradeMsg:"Wil je echt {name} verwijderen? Dit kan niet ongedaan gemaakt worden!",deleteCustomVarMsg:"Wilt u de variabele {name} echt verwijderen? Dit kan niet ongedaan gemaakt worden!",headers:{name:"Naam",isboss:"Baas"},addGrade:"Voeg rang toe"},liveMap:{viewPlayerTab:"Spelersrecord bekijken",viewVehicleTab:"Voertuigregistratie bekijken",noOnlinePlayers:"Geen spelers online",noSpawnedVehicles:"Geen voertuigen spawned",generalContextMenuHeader:"Algemeen",teleportPlayerHeader:"Selecteer speler om te teleporteren",copyCoordsToClipboard:"Co\xF6rdinaten kopi\xEBren",teleportTo:"Teleport speler",createWaypoint:"Maak Waypoint Aan",markers:{vehicles:"Voertuigen",players:"Spelers"},labels:{selectedPlayer:"Geselecteerde speler"},btn:{loadFromWaypoint:"Laad Waypoint"},msg:{success:{coordsCopied:"Co\xF6rdinaten zijn met succes gekopieerd naar het klembord."},error:{noPlayersOnline:"Momenteel geen speler online om te teleporteren.",errorCopyCoords:"Kon co\xF6rdinaten niet naar klembord kopi\xEBren."}}},playerList:{subheader:"Alle geregistreerde karakters.",noData:"Geen match",loadData:"Data laden",recordsPerPage:"Records per pagina",paginationLabel:"{van}-{naar} of {totaal}",headers:{firstname:"Voornaam",lastname:"Achternaam",gang:"Gang",job:"Job",online:"Online",citizenid:"Burger-ID",name:"Accountnaam"}},player:{tabs:{general:"Algemeen",vehicles:"Voertuigen",logs:"Logs",notes:"Notitie's"},pastBans:"Ban geschiedenis",changeJobHeader:"Verander job",changeGangHeader:"Verander gang",deleteHeader:"Verwijder speler",deletePlayerMsg:"Wilt u de speler echt verwijderen {name}? This cannot be undone!",changeAccountHeader:"Change license",changeAccountSub:"Wilt u echt de licentie voor speler {name} aanpassen? Dit kan niet ongedaan gemaakt worden!",playerScreenHeader:"De huidige weergave van de speler",addMoneyHeader:"Voeg geld toe",addMoneyMsg:"Vul het bedrag in",removeMoneyHeader:"Verwijder geld",removeMoneyMsg:"Vul het bedrag in",buttons:{unban:"Reset ban",warn:"Waarschuwen",ban:"Ban",kick:"Kick",inventory:"Inventorie",screen:"Scherm tonen",money:{set:"Zet",give:"Geef",remove:"Verwijder"}},banMsg:"\u{1F528} Door '{by}' reden '{reason}' tot {expire}.",moneyDisclaimer:"Dit ondersteunt geen geld van welk type dan ook als item.",headers:{general:"Algemeen",charinfo:"Karakter info",meta:"Metadata",money:"Geld",gang:"Gang",job:"Job",actions:"Actie's"},labels:{name:"Accountnaam",citizenid:"Burger-ID",license:"Licentie",position:"Positie",firstname:"Voornaam",lastname:"Achternaam",account:"Account",cid:"Char-ID",gender:"Geslacht",male:"man",female:"vrouw",birthdate:"Geboortedatum",nationality:"Nationaliteit",phone:"GSM",backstory:"Achtergrondverhaal",isdead:"Is dood",ishandcuffed:"Wordt geboeid",walletid:"Portemonnee-ID",fingerprint:"Vingerafdruk",bloodtype:"Bloedtype",thirst:"Dorst",hunger:"Honger",stress:"Stress",armor:"Armor",job:{name:"Naam",grade:"Rang"},gang:{name:"Naam",grade:"Rang"},money:{bank:"Bank",crypto:"Crypto",cash:"Cash"},health:"Gezondheid",ip:"IP",discord:"Discord",bucket:"Bucket"},msg:{success:{success:"Gegevens opgeslagen.",hunger:"Honger opgevuld.",thirst:"Dorst opgevuld.",isdead:"Veranderd is dood waarde.",ishandcuffed:"Veranderd is gehandboeid",changeJob:"Job veranderd.",changeGang:"Gang veranderd.",changedBucket:"Bucket veranderd.",stress:"Stress verlaagd.",healed:"Speler genezen."},error:{notOnline:"De speler is niet online.",notFound:"Speler niet gevonden.",missingFields:"Vereiste invoer ontbreekt.",changeJob:"Kan job niet toepassen.",changeGang:"Kan gang niet toepassen.",failedFetchGangs:"Kan gangs niet ophalen.",failedFetchJobs:"Kan jobs niet ophalen.",deleteError:"Er is iets fout gegaan.",couldNotFetchScreen:"Fout bij het ophalen van het huidige scherm van de speler.",invalid_citizenid:"Het afgegeven Burger-ID is niet geldig.",not_allowed:"Het type geld is niet gevonden of er is geen negatieve waarde toegestaan."}}},vehicleList:{subheader:"Alle spelers voertuigen",noData:"Geen match",loadData:"Data laden",spawned:"Spawned",garage:"Garage",outside:"Buiten",inpound:"in beslag nemen",headers:{owner:"Eigenaar",plate:"Nummerplaat",vehicle:"Model",spawned:"Spawned",state:"Staat",engine:"Motor",body:"Carrosserie",fuel:"Benzine"},recordsPerPage:"Records per pagina",paginationLabel:"{van}-{naar} of {totaal}",createVehicle:"Maak voertuig aan"},vehicle:{despawnHeader:"Despawn",despawnMsg:"Wil je het huidige voertuig echt despawnen?",deleteHeader:"Verwijder",deleteMsg:"Wilt u het huidige voertuig echt uit de database verwijderen en despawnen? Andere voertuiggerelateerde tabellen (bijv. kofferbak) worden niet be\xEFnvloed!",changeOwnerHeader:"Selecteer de nieuwe eigenaar",changeOwnerInput:"Voeg de nieuwe eigenaar Citizen-ID in",buttons:{changeOwner:"Wijzig eigenaar",despawnVehicle:"Despawn voertuig",repairVehicle:"Voertuig repareren",deleteVehicle:"Voertuig verwijderen",openTrunk:"Kofferbak openen",openGlovebox:"Handschoenenkastje openen"},header:{owner:"Eigenaar",payment:"Betaling",car:"Auto"},labels:{owner:"Eigenaar",citizenid:"Burger-ID",license:"Rijbewijs",depotprice:"Depot prijs",balance:"Balans",paymentamount:"Hoeveelheid",paymentsleft:"Betalingen over",financetime:"Financi\xEBle Tijd",model:"Model",plate:"Nummerplaat",fakeplate:"Neppe nummerplaat",drivingdistance:"Kilometerstand",garage:"Garage",state:"Staat",fuel:"Brandstof",engine:"Motor",body:"Carrosserie"},msg:{error:{noMatch:"Voertuig niet gevonden. Misschien is het verwijderd?",not_spawned:"Voertuig word niet gespawned.",not_found:"Er is iets fout gegaan. Kan voertuig niet vinden.",missingData:"Ontbrekende gegevens van nieuwe eigenaar.",invalid_citizenid:"Het afgegeven Burger-ID is niet geldig.",sql_error:"Er is iets misgegaan tijdens het uitvoeren van SQL-query's. Er zijn geen wijzigingen aangebracht!",allowedCharsNumbers:"U kunt alleen spaties, cijfers en tekens op uw nummerplaat gebruiken.",plate_exists:"De nummerplaat bestaat al. Kies alstublieft een andere."}}},vehicleCreate:{new:"Maak nieuw voeruig aan"},logs:{loadMore:"Omhoog scrollen laadt meer logs."},configuration:{colorsHeader:"Kleuren",colorsSub:"Pas het thema aan uw behoefte aan.",colors:{primary:"Primair",secondary:"Secundair",accent:"Accent",dark:"Achtergrond",positive:"Positief",negative:"Negatief",info:"Info",warning:"Waarschuwing",main:"Text",sub:"Subtext",buttons:{undo:"Ongedaan maken",defaults:"Standaardinstellingen"}},inventory:{playerInventory:"Speler",supporterStash:"Supporter Stash",itemName:"Naam",amount:"Hoeveelheid",infoSection:"Info waarden",infoSectionSub:"Voeg info-variabelen toe aan uw nieuwe item.",addInfoValue:"Nieuwe toevoegen",infoName:"Key",infoValue:"Waarden",deleteHeader:"Verwijder",deleteMsg:"Wil je dit item echt verwijderen? Dit kan niet ongedaan gemaakt worden!",deleteInfoHeader:"Verwijder",deleteInfoMsg:"Wilt u de info {name} echt verwijderen? Dit kan niet ongedaan gemaakt worden!",addItemTip:"Voeg nieuw item toe",addItemHeader:"Toevoegen",clearInvTip:"Verwijder Inventorie",clearInvHeader:"Verwijder Inventorie",clearInvMsg:"Wil je echt de volledige spelersinventaris leegmaken? Dit kan niet ongedaan gemaakt worden!",msg:{success:{fixedPlayerItems:"Fixed player items and saved deleted items into file (if browser allows)."},error:{failedFetchItems:"Ophalen van artikeldefinities is mislukt.",failedLoad:"Kan inventorie niet ophalen.",noItemName:"Geen item geselecteerd.",unknown_citizenid:"Speler bestaat niet.",noSlot:"Geen vrij slot",invalid_item:"Ik kan de itemdefinitie niet vinden. Verwijder dit item misschien.",moved:"Het item lijkt te zijn verplaatst. Probeer het opnieuw.",negative:"Negatief artikel hoeveelheid kan niet worden verplaatst.",not_enough:"Je hebt niet genoeg van dit artikel.",internal:"Interne fout. Neem contact op met Unlimited.",uniqueInfo:"Infovariabelen moeten uniek zijn.",fixPlayer:"Error in PlayerData",fixPlayerText:"This player has a broken PlayerData. Some times this can be caused by invalid item definitions. We can try to fix this by deleting not existing items from the players inventory. This is a experimental feature, be carefull! Should we try to fix it?"}}},devVehicleList:{subheader:"Alle voertuigen van QBCore/Shared/vehicles.lua.",noData:"Geen match",loadData:"Data laden",headers:{name:"Naam",brand:"Merk",model:"Model",hash:"Hash",price:"Prijs",category:"Categorie"},recordsPerPage:"Records per pagina",paginationLabel:"{van}-{naar} of {totaal}",createVehicle:"Maak voertuig aan"},devVehicle:{edit:"Bewerk voertuig",model:"Model",hash:"Hash",name:"Naam",brand:"Merk",category:"Categorie",categoryLabel:"Categorie label",price:"Prijs",shop:"Shop",customVariables:"Aangepaste variabelen",customVarSub:"Maak uw eigen variabelen.",addCustomVar:"Voeg een nieuwe variabele toe",customVarName:"Variabel",customVarValue:"Waarde",msg:{error:{invalid_veh_name:"Het voertuig naam '{name}' is geen String.",veh_exists:"Het voertuig '{name}' bestaat al.",veh_not_exists:"Het voertuig '{name}' bestaat niet.",file_error:"De voertuig verandering is live gegaan. Er is echter een fout opgetreden bij het opslaan van de .lua. Na een herstart zijn de wijzigingen niet meer actief.",missingFields:"Vul alle verplichte velden in.",uniqueVars:"Variabelen moeten uniek zijn."}},deleteHeader:"Verwijder",deleteMsg:"Wil je echt {model} verwijderen? Dit kan niet ongedaan gemaakt worden!",deleteCustomVarMsg:"Wilt u de variabele {name} echt verwijderen? Dit kan niet ongedaan gemaakt worden!"},devVehicleCreate:{new:"Maak nieuw voertuig"},auth:{msg:{error:{not_supported:"De geselecteerde provider lijkt niet te worden ondersteund.",internal_error:"Interne fout. Neem contact op met Unlimited met uw foutmelding.",no_token:"Callback leverde niet de benodigde queryvelden op.",userdata_fetch_failed:"Kan gebruikersgegevens niet ophalen van provider.",no_fx_user:"Geen gebruiker met uw cfx.re gevonden."}}},waypointList:{subheader:"Beheer Uw waypoints.",createWaypoint:"Maak Waypoint",noData:"Geen match",loadData:"Data laden",headers:{name:"Naam",label:"Label",coords:"Co\xF6rdinaten"},recordsPerPage:"Records per pagina",paginationLabel:"{van}-{naar} of {totaal}"},waypoint:{edit:"Bewerk waypoint",waypoint:"Waypoint",labels:{name:"Naam",label:"Label",coords:"Co\xF6rdinaten"},msg:{error:{waypoint_missing:"Waypoint met naam '{name}' bestaat niet (meer).",waypoint_exist:"De waypoint '{name}' bestaat al.",no_waypoints:"Momenteel geen waypoints beschikbaar.",missingFields:"Vul alle verplichte velden in.",failedFetchWaypoints:"Kan geen waypoints ophalen."}},deleteHeader:"Verwijder",deleteMsg:"Wil je {name} echt verwijderen? Dit kan niet ongedaan gemaakt worden!",modalHeader:"Selecteer een waypoint"},accountList:{subheader:"Krijg spelers door hun account.",noData:"Geen match",loadData:"Data laden",headers:{name:"Naam",license:"License",character_count:"Karakters",last_active:"Laatst online"},recordsPerPage:"Records per pagina",paginationLabel:"{van}-{naar} of {totaal}"}},stashesList:{subheader:"Overzicht van alle geconfigureerde stashes.",noData:"Geen match",loadData:"Gegevens laden",headers:{type:"Type",identifier:"Identificatie",items:"Slots in gebruik"},recordsPerPage:"Records per pagina",paginationLabel:"{van}-{tot} of {totaal}"},stashes:{stashStorage:"Stash",supporterStash:"Supporter Stash",itemName:"Naam",amount:"Aantal",infoSection:"Info waarden",infoSectionSub:"Voeg info-variabelen toe aan uw nieuwe item.",addInfoValue:"Nieuw toevoegen",infoName:"Key",infoValue:"Waarde",deleteHeader:"Verwijder",deleteMsg:"Wil je dit item echt verwijderen? Dit kan niet ongedaan gemaakt worden!",deleteInfoHeader:"Verwijder",deleteInfoMsg:"Wilt u de info {name}? echt verwijderen? Dit kan niet ongedaan gemaakt worden!",addItemTip:"Voeg een nieuw item toe",addItemHeader:"Toevoegen",clearStorageTip:"Ruim stash op",clearStorageHeader:"Ruim stash op",clearStorageMsg:"Wil je echt de hele stash opruimen? Dit kan niet ongedaan gemaakt worden!",msg:{error:{failedFetchItems:"Ophalen van item definities is mislukt.",failedLoad:"Kan inventorie gegevens niet ophalen.",noItemName:"Geen item geselecteerd.",unknown_storage:"Opslag bestaat niet.",noSlot:"Geen vrij slot.",invalid_item:"Ik kan de itemdefinitie niet vinden. Verwijder dit item misschien.",moved:"Het item lijkt te zijn verplaatst. Probeer het opnieuw.",negative:"Negatief item bedrag kan niet worden verplaatst.",not_enough:"Je hebt niet genoeg van dit item.",internal:"Interne fout. Neem dan contact op met Unlimited.",uniqueInfo:"Infovariabelen moeten uniek zijn."}}}},U_={general:_g,breadcrumb:Sg,rules:Eg,navigation:Cg,components:xg},J_=Object.freeze(Object.defineProperty({__proto__:null,general:_g,breadcrumb:Sg,rules:Eg,navigation:Cg,components:xg,default:U_},Symbol.toStringTag,{value:"Module"})),Pg={timestamp:"Tids stempel",logout:"Logge ut",username:"Brukernavn",password:"Passord",confirmPassword:"Bekrefte Passord",setupToken:"Token",languages:{de:"Tysk",en:"Engelsk",es:"Spanish",dk:"Dasnk",et:"Estisk",nl:"Nederlandsk",no:"Norsk",pl:"Polsk",pt:"Portugesisk",ta:"Indisk - Tamil",tr:"Turkish"},save:"Lagre",delete:"Slette",search:"S\xF8k",change:"Endre",success:"Suksess",error:"Feil",saved:"Lagring vellykket.",deleted:"Slettet vellykket.",cleared:"Fjernet vellykket.",ok:"Ok",cancel:"Avbryt",create:"Opprette",back:"Tilbake",changePassword:"Endre Passord",kick:"Kick",ban:"Ban",fillUp:"Fylle opp",relax:"Avslappe",add:"Legg til",added:"Lagt til",teleport:"Teleport",teleported:"Teleport vellykket.",cantReach:"Kan ikke n\xE5 serveren.",male:"Mann",female:"Dame",yes:"Ja",no:"Nei",reason:"\xC5rsak",time:"Tid",bantime:"Tid i sekunder.",warnHeader:"Advarsel",warnMsg:"Skriv inn vars \xE5rsak til {name}.",warnBanHeader:"Ban/Advarsel",banHeader:"Ban",banMsg:"Angi ban grunn og tidspunkt for {name}.",banSuccess:"Spilleren ble bannet.",unbanHeader:"Fjern ban",unbanMsg:"Vil du virkelig unban {name}?",unbanSuccess:"Spilleren fikk unbanned.",kickHeader:"Kick",kickMsg:"Skriv inn kick grunn til {name}.",kickSuccess:"Spilleren fikk kicked.",toggleAll:"Sl\xE5 p\xE5 alle",heal:"Helbrede",offline:"Spiller offline",or:"eller",timeout:"Foresp\xF8rselen ble tidsavbrutt."},Dg={vehicles:"Kj\xF8ret\xF8y",vehicle:"Kj\xF8ret\xF8y",items:"Artikler",item:"Item",jobs:"Jobber",job:"Jobb",gangs:"Gjenger",gang:"Gjeng",users:"Brukere",user:"Bruker",roles:"Roller",role:"Rolle",map:"Kart",dashboard:"Dashboard",logs:"Logger",accounts:"Kontoer",account:"Konto",players:"Spillere",player:"Spiller",inventory:"Inventar",config:"Konfigurasjon",waypoints:"Veipunkter",waypoint:"Veipunkt",stashes:"Stasjer",stash:"Stash"},Lg={required:"Dette feltet er obligatorisk.",passwordConfirm:"Passordene stemmer ikke.",noSpace:"Ingen plass tillatt.",numbers:"Bare tall tillatt.",unique:"M\xE5 v\xE6re unik.",defaults:"Ingen standard taster tillatt.",onlyCharsNumbers:"Bare mellomrom, tall og tegn er tillatt."},Tg={header:{gameserver:"Spillserver",development:"Utvikling",management:"Ledelse"},titles:{dashboard:"Dashboard",livemap:"Live Kart",waypoint:"Veipunkt",account:"Kontoer",player:"Spillere",logs:"Logger",vehicle:"Kj\xF8ret\xF8y",items:"Artikler",jobs:"Jobber",gangs:"Gjenger",users:"Brukere",roles:"Roller",web:"Web",config:"Konfigurasjon",stashes:"Stasjer"}},Ag={general:{changePasswordHeader:"Bytt passord",changePasswordMsg:"Vennligst skriv inn ditt nye passord.",msg:{error:{user_missing:"Finner ikke brukerkontoen din."}}},dashboard:{cpu:"CPU-bruk",ram:"Minnebruk",process:"Prosessbruk",onlinePlayers:"Spillere online",gangOnline:"Gjengemedlemmer online",jobsDuty:"Spillere p\xE5 vakt",headers:{name:"Navn",character:"Karakter",job:"Jobb",count:"Antall",gang:"Gjeng",rank:"Rang"}},setup:{finishButton:"Fullf\xF8r oppsettet",backButton:"Forrige",nextButton:"Neste",welcomeHeader:"Velkommen",welcomeSub:"Velkommen til ditt Unlimited Webpanel! Dette oppsettet vil initialisere din fantastiske opplevelse.",langHeader:"Spr\xE5kvalg",langSub:"Velg spr\xE5ket ditt.",masterHeader:"Hovedkonto",masterSub:"Masterkontoen din har alltid fulle tilgangsrettigheter, uavhengig av tillatelser.",tokenHeader:"Oppsett token",tokenSub:"Kopier oppsetttokenet fra serverkonsollen for validering.",tokenPlaceHolder:"Sett inn oppsett token"},login:{subtext:"Velkommen til Unlimted Webpanel. Logg inn.",msg:{error:{not_supported:"Det ser ikke ut til at den valgte leverand\xF8ren st\xF8ttes.",internal_error:"Intern feil. Kontakt Unlimited med din feilmelding."}}},itemList:{subheader:"Alle elementer fra QBCore/Shared/items.lua. Elementer registrert via QB-Exports/Functions vises ikke.",noData:"Ingen samsvar",loadData:"Last inn data",headers:{label:"Etikett",type:"Type",weight:"Vekt",name:"Navn",useable:"Brukerbar",unique:"Unik",shouldClose:"Lukk"},recordsPerPage:"Artikler per side",paginationLabel:"{from}-{to} av {total}",createItem:"Lage Item"},item:{name:"Navn / n\xF8kkel",label:"Etikett",desc:"Beskrivelse",image:"Ikon",weight:"Vekt",type:"Type",useable:"Kan brukes",unique:"Unik",shouldClose:"Lukk etter bruk",edit:"Rediger element",customVariables:"Egendefinerte variabler",customVarSub:"Lag dine egne variabler.",addCustomVar:"Legg til ny variabel",customVarName:"Variabel",customVarValue:"Verdi",combinability:"Kombinerbarhet",combinabSub:"Her kan du spesifisere med hvilke elementer elementet kan kombineres individuelt, hva det genererer som et resultat og hvilken animasjon som skal vises hvor lenge og hvilken tekst.",combinable:{accept:"Kombiner med",reward:"Resultat",text:"Visningstekst",timeOut:"Tid",lib:"Animasjon Lib",dict:"Animasjonsdikt"},deleteHeader:"Slett",deleteMsg:"Vil du virkelig slette {itemLabel} [{itemName}]? Dette kan ikke angres!",deleteCustomVarMsg:"Vil du virkelig slette variabelen {name}? Dette kan ikke angres!",msg:{error:{invalid_item_name:"Varenavnet '{name}' er ikke typen String.",item_exists:"Elementet '{name}' eksisterer allerede.",item_not_exists:"Elementet '{name}' eksisterer ikke.",file_error:"Endringen av elementet har g\xE5tt live. Det oppstod imidlertid en feil ved lagring av .lua. Etter en omstart er endringene ikke lenger aktive.",missingFields:"Fyll ut alle obligatoriske felt.",uniqueVars:"Variablene m\xE5 v\xE6re unike.",filename_exists:"Filnavn finnes allerede."}},uploadedImage:"Bildet er lastet opp.",uploadNew:"Last opp bilde",imageNotFound:"Dette bildet finnes ikke."},itemCreate:{new:"Lag ny item"},roleList:{subheader:"Administrer tillatelser for teamet ditt med tilpassede roller.",createRole:"Lag Rolle",noData:"Ingen treff",loadData:"Last inn data",headers:{name:"Navn",desc:"Beskrivelse",permissions:"Antall rettigheter",color:"Farge"},recordsPerPage:"Artikler pr side",paginationLabel:"{from}-{to} av {total}"},role:{name:"Navn",edit:"Redigere rolle",desc:"Beskrivelse",color:"Farge",permissions:"Rettigheter",permissionSub:"Tildel dine egne rettigheter til rollen din.",resource:{gameserver:"Spillserver",development:"Utvikling",management:"Ledelse"},section:{liveMap:"LiveKart",waypoint:"Veipunkt",account:"Konto",player:"Spiller",vehicles:"Kj\xF8ret\xF8y",logs:"Logger",items:"Artikler",jobs:"Jobber",gangs:"Gjenger",user:"Brukere",roles:"Roller",config:"Konfigurasjon",stashes:"Stasjer"},action:{read:"Lese",modify:"Endre",delete:"Slette",despawn:"Despawn",repair:"Reparere",create:"Opprette",player:"Vis spillere",vehicle:"Vis Kj\xF8ret\xF8y",kick:"Kick",warn:"Advarsel",ban:"Ban",money:"Penger",meta:"Metadata",position:"Possisjon",inventory:"Inventar",screen:"Se Skjerm",license:"Tillatelse",job:"Jobb",gang:"Gjeng",logs:{game:"Spill",player:"Spiller",dev:"Dev",web:"Web"}},msg:{error:{role_missing:"Rolle med navn '{name}' eksisterer ikke (lenger).",role_exist:"Rollen '{name}' eksisterer allerede.",missingFields:"Fyll ut alle obligatoriske felt."}},deleteHeader:"Slette",deleteMsg:"Vil du virkelig slette {name}? Dette kan ikke angres!"},roleCreate:{new:"Opprett ny rolle"},userList:{subheader:"Administrer brukerkontoene til teammedlemmene dine.",noData:"Ingen treff",loadData:"Last inn data",createUser:"Opprett Bruker",headers:{name:"Navn",role:"Rolle",master:"Hoved"},recordsPerPage:"Artikler pr side",paginationLabel:"{from}-{to} av {total}"},user:{edit:"Redigere bruker",role:"Rolle",fxname:"cfx.re",msg:{error:{user_missing:"Bruker med navnet '{name}' eksisterer ikke (lenger).",user_exist:"Brukeren '{name}' eksisterer allerede.",user_master:"Du kan ikke slette hovedbrukeren.",missingFields:"Fyll ut alle obligatoriske felt.",is_master:"Du kan ikke endre passordet til hovedbrukeren.",fx_used:"cfx.re-bruker som allerede er i bruk av en annen bruker."}},deleteHeader:"Slette",deleteMsg:"Vil du virkelig slette {name}? Dette kan ikke angres!",resetPasswort:"Tilbakestill passord",resetPasswordHeader:"Bekreft tilbakestilling",resetPasswordMsg:"Vil du virkelig tilbakestille passordet for {name}?"},jobList:{subheader:"Alle jobber fra QBCore/Shared/jobs.lua. Jobber registret via QB-Exports/Functions vises ikke.",noData:"Ingen treff",loadData:"Last inn data",createJob:"Opprett job",headers:{name:"Navn",label:"Etikett",grades:"Antall grader",defaultDuty:"Standard p\xE5 Vakt",offDutyPay:"L\xF8nn n\xE5r Av Vakt"},recordsPerPage:"Artikler pr side",paginationLabel:"{from}-{to} av {total}"},jobCreate:{new:"Opprett ny jobb"},job:{name:"Navn",edit:"Rediger jobb",label:"Etikett",defaultDuty:"Standard p\xE5 Vakt",offDutyPay:"L\xF8nn n\xE5r Av Vakt",grades:"Grader",gradesSub:"Sett gradene for jobben din. Ordren g\xE5r fra laveste rangering til h\xF8yeste rangering, topp til bunn.",customVariables:"Egendefinerte variabler",customVarSub:"Opprett dine egne variabler.",addCustomVar:"Legg til ny variabel",customVarName:"Variabel",customVarValue:"Verdi",msg:{error:{invalid_job_name:"Jobbnavnet '{name}' er ikke typen String.",job_exists:"Jobben '{name}' eksisterer allerede.",job_not_exists:"Jobben '{name}' eksisterer ikke.",file_error:"Jobbendringen har g\xE5tt live. Det oppstod imidlertid en feil ved lagring av .lua. Etter en omstart er endringene ikke lenger aktive.",missingFields:"Fyll ut alle obligatoriske felt.",gradeNeeded:"Du trenger minst \xE9n rangering.",uniqueVars:"Variablene m\xE5 v\xE6re unike."}},deleteHeader:"Slette",deleteMsg:"Vil du virkelig slette {name}? Dette kan ikke angres!",deleteGradeMsg:"Vil du virkelig slette {name}? Dette kan ikke angres!",deleteCustomVarMsg:"Vil du virkelig slette variabelen {name}? Dette kan ikke angres!",headers:{name:"Navn",isboss:"Sjef",payment:"L\xF8nn"},addGrade:"Legg til grad"},gangList:{subheader:"Alle gjenger fra QBCore/Shared/gangs.lua. Gjenger registrert via QB-Exports/Functions vises ikke.",noData:"Ingen treff",loadData:"Last inn data",createGang:"Opprett gjeng",headers:{name:"Navn",label:"Etikett",grades:"Grader"},recordsPerPage:"Artikler pr side",paginationLabel:"{from}-{to} av {total}"},gangCreate:{new:"Opprett ny gang"},gang:{name:"Navn",edit:"Rediger gjeng",label:"Etikett",grades:"Karakterer",gradesSub:"Angi gradene for gjengen din. Rekkef\xF8lgen g\xE5r fra laveste rangering til h\xF8yeste rangering, topp til bunn.",customVariables:"Gendefinert variabel",customVarSub:"Opprett dine egne variabler.",addCustomVar:"Legg til ny variabel",customVarName:"Variabel",customVarValue:"Verdi",msg:{error:{invalid_gang_name:"Gengnavnet '{name}' er ikke typen String.",gang_exists:"Gjengen '{name}' eksisterer allerede.",gang_not_exists:"Gjengen '{name}' eksisterer ikke.",file_error:"Gengebyttet har g\xE5tt live. Det oppstod imidlertid en feil ved lagring av .lua. Etter en omstart er endringene ikke lenger aktive.",missingFields:"Fyll ut alle obligatoriske felt.",gradeNeeded:"Du trenger minst \xE9n rangering.",uniqueVars:"Variablene m\xE5 v\xE6re unike."}},deleteHeader:"Slette",deleteMsg:"Vil du virkelig slette {name}? Dette kan ikke angres!",deleteGradeMsg:"Vil du virkelig slette {name}? Dette kan ikke angres!",deleteCustomVarMsg:"Vil du virkelig slette variabelen {name}? Dette kan ikke angres!",headers:{name:"Navn",isboss:"Sjef"},addGrade:"Legg til gard"},liveMap:{viewPlayerTab:"Se spiller info",viewVehicleTab:"Se kj\xF8ret\xF8yoppf\xF8ring",noOnlinePlayers:"Ingen spillere online",noSpawnedVehicles:"Ingen kj\xF8ret\xF8y skapte",generalContextMenuHeader:"Generelt",teleportPlayerHeader:"Velg spiller som skal teleporteres",copyCoordsToClipboard:"Kopier koordiner",teleportTo:"Teleporter spiller",createWaypoint:"Oprett Veipunkt",markers:{vehicles:"Kj\xF8ret\xF8y",players:"Spillere"},labels:{selectedPlayer:"Velg Spiller"},btn:{loadFromWaypoint:"Last Veipunkt"},msg:{success:{coordsCopied:"Koordinater ble kopiert til utklippstavlen."},error:{noPlayersOnline:"For \xF8yeblikket ingen spillere online \xE5 teleportere.",errorCopyCoords:"Kunne ikke kopiere koordinater til utklippstavlen."}}},playerList:{subheader:"Alle registrerte karakterer.",noData:"Ingen treff",loadData:"Last inn data",recordsPerPage:"Artikler pr side",paginationLabel:"{from}-{to} av {total}",headers:{firstname:"Navn",lastname:"Etternavn",gang:"Gjeng",job:"Jobb",online:"Online",citizenid:"Citizen-ID",name:"Kontonavn"}},player:{tabs:{general:"Generelt",vehicles:"Kj\xF8ret\xF8y",logs:"Logger",notes:"Notater"},pastBans:"Ban/Advarsel historie",changeJobHeader:"Bytte jobb",changeGangHeader:"Bytte gjeng",deleteHeader:"Slette spiller",deletePlayerMsg:"Vil du virkelig slette spilleren {name}? Dette kan ikke angres!",changeAccountHeader:"Endre lisens",changeAccountSub:"Vil du virkelig endre lisensen for spilleren {name}? Dette kan ikke angres!",playerScreenHeader:"Spillerens n\xE5v\xE6rende visning",addMoneyHeader:"Legg til penger",addMoneyMsg:"Skriv inn bel\xF8pet",removeMoneyHeader:"Fjern penger",removeMoneyMsg:"Skriv inn bel\xF8pet",buttons:{unban:"Fjerne ban",warn:"Advarsel",ban:"Ban",kick:"Kick",inventory:"Inventar",screen:"Vis Skjerm",money:{set:"Sette",give:"Gi",remove:"Fjerne"}},banMsg:"\u{1F528} av '{by}' for '{reason}' til {expire}.",moneyDisclaimer:"Dette st\xF8tter ikke penger av noen type som item.",headers:{general:"Generelt",charinfo:"Karakterinfo",meta:"Metadata",money:"Penger",gang:"Gjeng",job:"Jobb",actions:"Actions"},labels:{name:"Kontonavn",citizenid:"Citizen-ID",license:"License",position:"Possisjon",firstname:"Navn",lastname:"Etternavn",account:"Konto",cid:"Char-ID",gender:"Kj\xF8nn",male:"mann",female:"dame",birthdate:"F\xF8dselsdato",nationality:"Nasjonalitet",phone:"Telefon nr",backstory:"Bakgrunn",isdead:"Er d\xF8d",ishandcuffed:"I h\xE5ndjern",walletid:"Wallet-ID",fingerprint:"Fingeravtrykk",bloodtype:"Blod type",thirst:"T\xF8rst",hunger:"Sult",stress:"Stress",armor:"Armor",job:{name:"Navn",grade:"Grad"},gang:{name:"Navn",grade:"Grad"},money:{bank:"Bank",crypto:"Crypto",cash:"Kontant"},health:"Helse",ip:"IP",discord:"Discord",bucket:"Bucket"},msg:{success:{success:"Data lagret.",hunger:"Sulten ble fylt opp.",thirst:"T\xF8rsten ble fylt opp.",isdead:"Endret er d\xF8dverdi.",ishandcuffed:"Endre arrest verdi.",changeJob:"Jobb endret.",changeGang:"Gjeng endret.",changedBucket:"Bucket endret.",stress:"Stress senket.",healed:"Spilleren helbredet."},error:{notOnline:"Spilleren er ikke online.",notFound:"Spiller ikke funnet.",missingFields:"Mangler n\xF8dvendige inndata.",changeJob:"Kunne ikke s\xF8ke jobb.",changeGang:"Kunne ikke s\xF8ke gjengen.",failedFetchGangs:"Kunne ikke hente gjenger.",failedFetchJobs:"Kunne ikke hente jobber.",deleteError:"Noe gikk galt.",couldNotFetchScreen:"Feil under henting av spillerens gjeldende skjermbilde.",invalid_citizenid:"Den utstedte Citizen-ID er ikke gyldig.",not_allowed:"Pengetypen er enten ikke funnet eller ingen negativ verdi tillatt."}}},vehicleList:{subheader:"Alle spillerkj\xF8ret\xF8yer.",noData:"Ingen treff",loadData:"Siste inn-data",spawned:"Spawned",garage:"Garasje",outside:"Utenfor",inpound:"Inpound",headers:{owner:"Eier",plate:"Plate",vehicle:"Modell",spawned:"Spawned",state:"Status",engine:"Motor",body:"Karosseri",fuel:"Fuel"},recordsPerPage:"Artikler pr side",paginationLabel:"{from}-{to} av {total}",createVehicle:"Opprett Kj\xF8ret\xF8y"},vehicle:{despawnHeader:"Despawn",despawnMsg:"Vil du virkelig despawne det gjeldende kj\xF8ret\xF8yet?",deleteHeader:"Slette",deleteMsg:"Vil du virkelig slette gjeldende kj\xF8ret\xF8y fra databasen og despawne det? Andre kj\xF8ret\xF8yrelaterte tabeller (f.eks. bagasjerom) p\xE5virkes ikke!",changeOwnerHeader:"Velg ny eier",changeOwnerInput:"Sett inn nye eiere Citizen-ID",knapper:{changeOwner:"Endre eier",despawnVehicle:"Despawn Kj\xF8ret\xF8y",repairVehicle:"Reparer kj\xF8ret\xF8y",deleteVehicle:"Slette kj\xF8ret\xF8y",openTrunk:"\xC5pne bagasjerommet",openGlovebox:"\xC5pne hanskerommet"},header:{owner:"Eier",payment:"Betaling",car:"Bil"},labels:{owner:"Eier",citizenid:"Citizen-ID",license:"License",depotprice:"Depo Pris",balance:"Balanse",paymentamount:"Bel\xF8p",paymentsleft:"Gjenst\xE5ende",financetime:"Finanstid",model:"Model",plate:"Skilt",fakeplate:"Falsk skilt",drivingdistance:"Kilometerstand",garage:"Garasje",state:"Status",fuel:"Drivstoff",engine:"Motor",body:"Karosseri"},msg:{error:{noMatch:"Kunne ikke finne kj\xF8ret\xF8yet. Kanskje det ble slettet?",not_spawned:"Kj\xF8ret\xF8yet er ikke opprettet.",not_found:"Noe gikk galt. Kunne ikke finne kj\xF8ret\xF8yet.",missingData:"Mangler nye eierdata.",invalid_citizenid:"Den utstedte Citizen-ID er ikke gyldig.",sql_error:"Noe gikk galt under kj\xF8ring av SQL-sp\xF8rringer. Ingen endringer ble gjort!",allowedCharsNumbers:"Du kan bare bruke mellomrom, tall og tegn p\xE5 skiltet ditt.",plate_exists:"Skilt nr eksisterer allerede. Velg en annen."}}},vehicleCreate:{new:"Opprett nytt kj\xF8ret\xF8y"},logs:{loadMore:"Ved \xE5 rulle opp lastes flere logger."},configuration:{colorsHeader:"Farge",colorsSub:"Juster temaet for \xE5 passe til merkevaren din.",colors:{primary:"Hoved",secondary:"Sekund\xE6r",accent:"Accent",dark:"Bakgrunn",positive:"Posetiv",negative:"Negativ",info:"Info",warning:"Advarsel",main:"Tekst",sub:"Undertekst"},buttons:{undo:"Angre",defaults:"Standard"}},inventory:{playerInventory:"Spiller",supporterStash:"Supporter Inventar",itemName:"Navn",amount:"Antall",infoSection:"Info verdier",infoSectionSub:"Legg til infovariabler til ditt nye element.",addInfoValue:"Gi ny",infoName:"N\xF8kkel",infoValue:"Verdi",deleteHeader:"Slette",deleteMsg:"Vil du virkelig slette dette elementet? Dette kan ikke angres!",deleteInfoHeader:"Slette",deleteInfoMsg:"Vil du virkelig slette informasjonen {name}? Dette kan ikke angres!",addItemTip:"Gi ny item",addItemHeader:"Gi",clearInvTip:"Slette inventar",clearInvHeader:"Slett Inventar",clearInvMsg:"Vil du virkelig slette hele spillerinventaret? Dette kan ikke angres!",msg:{success:{fixedPlayerItems:"Fixed player items and saved deleted items into file (if browser allows)."},error:{failedFetchItems:"Kunne ikke hente elementdefinisjoner.",failedLoad:"Kunne ikke hente inventardata.",noItemName:"Ingen element er valgt.",unknown_citizenid:"Spilleren eksisterer ikke.",noSlot:"Ingen ledig plass.",invalid_item:"Kan ikke finne elementdefinisjonen. Kanskje slette dette elementet.",moved:"Elementet ser ut til \xE5 ha flyttet. Pr\xF8v igjen.",negative:"Kan ikke flytte negativt varebel\xF8p.",not_enough:"Du har ikke nok av denne varen.",internal:"Intern feil. Ta kontakt med Unlimited.",uniqueInfo:"Informasjonsvariabler m\xE5 v\xE6re unike.",fixPlayer:"Error in PlayerData",fixPlayerText:"This player has a broken PlayerData. Some times this can be caused by invalid item definitions. We can try to fix this by deleting not existing items from the players inventory. This is a experimental feature, be carefull! Should we try to fix it?"}}},devVehicleList:{subheader:"Alle kj\xF8ret\xF8y fra QBCore/Shared/vehicles.lua.",noData:"Ingen treff",loadData:"Last inn data",headers:{name:"Navn",brand:"Merke",model:"Modell",hash:"Hash",price:"Pris",category:"Kategori"},recordsPerPage:"Artikler pr side",paginationLabel:"{from}-{to} av {total}",createVehicle:"Opprett Kj\xF8ret\xF8y"},devVehicle:{edit:"Redigere kj\xF8ret\xF8y",model:"Modell",hash:"Hash",name:"Navn",brand:"Merke",category:"Kategori",categoryLabel:"Kategori etikett",price:"Pris",shop:"Butikk",customVariables:"Egendefinerte variabler",customVarSub:"Lag dine egne variabler.",addCustomVar:"Legg til ny variabel",customVarName:"Variabel",customVarValue:"Verdi",msg:{error:{invalid_veh_name:"Kj\xF8ret\xF8ysnavnet '{name}' er ikke typen String.",veh_exists:"Kj\xF8ret\xF8yet '{name}' eksisterer allerede.",veh_not_exists:"Kj\xF8ret\xF8yet '{name}' eksisterer ikke.",file_error:"Kj\xF8ret\xF8yendringen har g\xE5tt live. Det oppstod imidlertid en feil ved lagring av .lua. Etter en omstart er endringene ikke lenger aktive.",missingFields:"Fyll ut alle obligatoriske felt.",uniqueVars:"Variablene m\xE5 v\xE6re unike."}},deleteHeader:"Slette",deleteMsg:"Vil du virkelig slette {model}? Dette kan ikke angres!",deleteCustomVarMsg:"Vil du virkelig slette variabelen {name}? Dette kan ikke angres!"},devVehicleCreate:{new:"Opprett ny kj\xF8ret\xF8y"},auth:{msg:{error:{not_supported:"Det ser ikke ut til at den valgte leverand\xF8ren st\xF8ttes.",internal_error:"Intern feil. Kontakt Unlimited med din feilmelding.",no_token:"Tilbakeringing ga ikke de n\xF8dvendige s\xF8kefeltene.",userdata_fetch_failed:"Kunne ikke hente brukerdata fra leverand\xF8ren.",no_fx_user:"Ingen bruker med cfx.re funnet."}}},waypointList:{subheader:"Administrer veipunktene dine.",createWaypoint:"Opprett Veipunkt",noData:"Ingen treff",loadData:"Last inn data",headers:{name:"Navn",label:"Etikett",coords:"Coords"},recordsPerPage:"Artikler pr side",paginationLabel:"{from}-{to} av {total}"},waypoint:{edit:"Redigere veipunkt",waypoint:"Veipunkt",labels:{name:"Navn",label:"Etikett",coords:"Koordinater"},msg:{error:{waypoint_missing:"Veipunkt med navnet '{name}' eksisterer ikke (lenger).",waypoint_exist:"Veipunktet '{name}' eksisterer allerede.",no_waypoints:"Ingen veipunkter tilgjengelig for \xF8yeblikket.",missingFields:"Fyll ut alle obligatoriske felt.",failedFetchWaypoints:"Kunne ikke hente veipunkter."}},deleteHeader:"Slette",deleteMsg:"Vil du virkelig slette {name}? Dette kan ikke angres!",modalHeader:"Velg et veipunkt"},accountList:{subheader:"F\xE5 spillere etter kontoen deres.",noData:"Ingen treff",loadData:"Last inn data",headers:{name:"Navn",license:"License",character_count:"Karakterer",last_active:"Sist online"},recordsPerPage:"Artikler pr side",paginationLabel:"{from}-{to} av {total}"},stashesList:{subheader:"Oversikt over alle konfigurerte stash.",noData:"Ingen treff",loadData:"Laster data",headers:{type:"Type",identifier:"Indentifiser",items:"Slots i bruk"},recordsPerPage:"Data pr side",paginationLabel:"{from}-{to} av {total}"},stashes:{stashStorage:"Stash",supporterStash:"Supporter Stash",itemName:"Navn",amount:"Antall",infoSection:"Info verdier",infoSectionSub:"Legg til info verdi til din nye artikkel.",addInfoValue:"Legg til Ny",infoName:"Key",infoValue:"Verdi",deleteHeader:"Slette",deleteMsg:"Er du sikker p\xE5 du vil slette denne artikkelen, dette kan ikke endres!",deleteInfoHeader:"Slette",deleteInfoMsg:"Er du sikker p\xE5 at du vil slette denne infoen {name}? Dette kan ikke endres!",addItemTip:"Legg til Ny Artikkel",addItemHeader:"Gi",clearStorageTip:"T\xF8mme stash",clearStorageHeader:"T\xF8mme stash",clearStorageMsg:"Er du sikker p\xE5 du vil t\xF8mme hele stashet? Dette kan ikke endres!",msg:{error:{failedFetchItems:"Kunne ikke hente artikkeldefinisjoner.",failedLoad:"Kunne ikke hente beholdningsdata.",noItemName:"Ingen artikkel er valgt.",unknown_storage:"Lageret finnes ikke.",noSlot:"Ingen ledige slotts.",invalid_item:"Kunne ikke finne artikkeldefinisjoner. Kansje slette denne.",moved:"Artikkelen ser ut til \xE5 ha blitt flyttet. Venligst pr\xF8v igjen.",negative:"Kan ikke flytte negativ mengde.",not_enough:"Du har ikke nok av denne artikkelen.",internal:"Intern Error. Vennligst kontakt Unlimited.",uniqueInfo:"Info variabel m\xE5 v\xE6re unik."}}}},Y_={general:Pg,breadcrumb:Dg,rules:Lg,navigation:Tg,components:Ag},Q_=Object.freeze(Object.defineProperty({__proto__:null,general:Pg,breadcrumb:Dg,rules:Lg,navigation:Tg,components:Ag,default:Y_},Symbol.toStringTag,{value:"Module"})),jg={timestamp:"Znak czasu",logout:"Wyloguj",username:"Nazwa u\u017Cytkownika",password:"Has\u0142o",confirmPassword:"Potwierd\u017A has\u0142o",setupToken:"Token",languages:{de:"Niemiecki",en:"Angielski",es:"Spanish",dk:"Du\u0144ski",et:"Estonia",nl:"Holenderski",no:"Norweski",pl:"Polski",pt:"Portuguese",ta:"Indian - Tamil",tr:"Turkish"},save:"Zapisz",delete:"Usu\u0144",search:"Szukaj",change:"Change",success:"Success",error:"B\u0142\u0105d",saved:"Zapisano.",deleted:"Usuni\u0119to.",cleared:"Wyczyszczone pomy\u015Blnie.",ok:"Ok",cancel:"Anulowa\u0107",create:"Tworzy\u0107",back:"Cofnij",changePassword:"Zmie\u0144 has\u0142o",kick:"Wyrzu\u0107",ban:"Ban",fillUp:"Wype\u0142ni\u0107",relax:"Zrelaksuj",add:"Doda\u0107",added:"Dodany",teleport:"Teleport",teleported:"Teleportacja powiod\u0142a si\u0119.",cantReach:"Nie mo\u017Cna po\u0142\u0105czy\u0107 si\u0119 z serwerem.",male:"M\u0119\u017Cczyzna",female:"Kobieta",yes:"Tak",no:"Nie",reason:"Pow\xF3d",time:"Czas",bantime:"Czas w sekundach.",warnHeader:"Ostrze\u017Cenie",warnMsg:"Wpisz pow\xF3d ostrze\u017Cenia dla {name}.",warnBanHeader:"Ban/Ostrze\u017Cenie",banHeader:"Ban",banMsg:"Wprowad\u017A pow\xF3d i czas bana {name}.",banSuccess:"Gracz zosta\u0142 zbanowany.",unbanHeader:"\u015Aci\u0105gnij bana",unbanMsg:"Czy napewno chcesz odbanowa\u0107 {name}?",unbanSuccess:"Gracz zosta\u0142 odbanowany.",kickHeader:"Wyrzu\u0107",kickMsg:"Wprowad\u017A przyczyn\u0119 wyrzucenia dla {name}.",kickSuccess:"Gracz zosta\u0142 wyrzucony.",toggleAll:"Prze\u0142\u0105cz wszystko",heal:"Ulecz",offline:"Gracz offline",or:"lub",timeout:"\u017B\u0105danie zosta\u0142o przerwane."},Ng={vehicles:"Pojazdy",vehicle:"Pojazd",items:"Przedmioty",item:"Przedmiot",jobs:"Prace",job:"Praca",gangs:"Gangi",gang:"Gang",users:"U\u017Cytkownicy",user:"U\u017Cytkownik",roles:"Role",role:"Rola",map:"Mapa",dashboard:"Dashboard",logs:"Logi",accounts:"Konta",account:"Konto",players:"Gracze",player:"Gracz",inventory:"Ekwipunek",config:"Konfiguracja",waypoints:"Punkty trasy",waypoint:"Punkt trasy",stashes:"Schowki",stash:"Stash"},Mg={required:"To pole jest wymagane.",passwordConfirm:"Has\u0142a nie pasuj\u0105 do siebie.",noSpace:"Brak miejsca.",numbers:"Dozwolone tylko liczby.",unique:"Musi by\u0107 wyj\u0105tkowy.",defaults:"\u017Badne domy\u015Blne klucze nie s\u0105 dozwolone.",onlyCharsNumbers:"Dozwolone s\u0105 tylko spacje, cyfry i znaki."},Ig={header:{gameserver:"Serwer",development:"Zarz\u0105dzanie zasobami",management:"Zarz\u0105dzanie"},titles:{dashboard:"Dashboard",livemap:"Mapa na \u017Cywo",waypoint:"Punkt trasy",account:"Konto",player:"Gracze",logs:"Logi",vehicle:"Pojazdy",items:"Itemy",jobs:"Prace",gangs:"Gangi",users:"U\u017Cytkownicy",roles:"Role",web:"Strona",config:"Konfiguracja",stashes:"Schowki"}},Vg={general:{changePasswordHeader:"Zmie\u0144 has\u0142o",changePasswordMsg:"Wprowad\u017A nowe has\u0142o.",msg:{error:{user_missing:"Nie mo\u017Cna znale\u017A\u0107 twojego konta u\u017Cytkownika."}}},dashboard:{cpu:"Zu\u017Cycie procesora",ram:"Zu\u017Cycie pami\u0119ci RAM",process:"Wykorzystanie procesu",onlinePlayers:"Gracze online",gangOnline:"Cz\u0142onkowie gang\xF3w online",jobsDuty:"Gracze na s\u0142u\u017Cbie",headers:{name:"Nazwa",character:"Posta\u0107",job:"Praca",count:"Ilo\u015B\u0107",gang:"Gang",rank:"Ranga"}},setup:{finishButton:"Zako\u0144cz konfiguracj\u0119",backButton:"Poprzedni",nextButton:"Nast\u0119pny",welcomeHeader:"Witamy",welcomeSub:"Welcome in your Unlimited Webpanel! This setup will initialize your awesome experience.",langHeader:"Wyb\xF3r j\u0119zyka",langSub:"Wybierz sw\xF3j j\u0119zyk.",masterHeader:"Konto g\u0142\xF3wne",masterSub:"Twoje konto g\u0142\xF3wne ma zawsze pe\u0142ne prawa dost\u0119pu, niezale\u017Cnie od uprawnie\u0144.",tokenHeader:"Ustaw token",tokenSub:"Skopiuj token instalacji z konsoli serwera w celu weryfikacji.",tokenPlaceHolder:"Wstaw token konfiguracji"},login:{subtext:"Witamy w nieograniczonym panelu internetowym. Prosz\u0119 si\u0119 zalogowa\u0107.",msg:{error:{not_supported:"Wybrany dostawca wydaje si\u0119 nie by\u0107 obs\u0142ugiwany.",internal_error:"B\u0142\u0105d wewn\u0119trzny. Skontaktuj si\u0119 z Unlimited podaj\u0105c komunikat o b\u0142\u0119dzie."}}},itemList:{subheader:"Wszystkie przedmioty z QBCore/Shared/items.lua. Pozycje zarejestrowane przez QB-Exports/Functions nie s\u0105 wy\u015Bwietlane.",noData:"Nie pasuje",loadData:"Za\u0142aduj dane",headers:{label:"Etykieta",type:"Rodzaj",weight:"Waga",name:"Nazwa",useable:"U\u017Cywalny",unique:"Jedyny w swoim rodzaju",shouldClose:"Zamknij po u\u017Cyciu"},recordsPerPage:"Widok na stronie",paginationLabel:"{from}-{to} z {total}",createItem:"Utw\xF3rz przedmiot"},item:{name:"Nazwa / Respienia",label:"Etykieta",desc:"Opis itemu",image:"Ikona",weight:"Waga",type:"Rodzaj",useable:"U\u017Cywalny",unique:"Jedyny w swoim rodzaju",shouldClose:"Zamknij po u\u017Cyciu",edit:"Edytuj przedmiot",customVariables:"Zmienne niestandardowe",customVarSub:"Tw\xF3rz w\u0142asne zmienne.",addCustomVar:"Dodaj now\u0105 zmienn\u0105",customVarName:"Zmienny",customVarValue:"Warto\u015B\u0107",combinability:"Mo\u017Cliwo\u015B\u0107 \u0142\u0105czenia",combinabSub:"Tutaj mo\u017Cesz okre\u015Bli\u0107, z jakimi przedmiotami przedmiot mo\u017Ce by\u0107 indywidualnie \u0142\u0105czony, co w rezultacie generuje oraz jaka animacja ma by\u0107 wy\u015Bwietlana przez jak d\u0142ugi czas i jaki tekst.",combinable:{accept:"\u0141\u0105cz\u0105 si\u0119 z",reward:"Result",text:"Wy\u015Bwietlany tekst",timeOut:"Czas",lib:"Biblioteka animacji",dict:"Dyktacja animacji"},deleteHeader:"Usu\u0144",deleteMsg:"Czy na pewno chcesz usun\u0105\u0107 {itemLabel} [{itemName}]? Tego nie mo\u017Cna cofn\u0105\u0107!",deleteCustomVarMsg:"Czy na pewno chcesz usun\u0105\u0107 zmienn\u0105 {name}? Tego nie mo\u017Cna cofn\u0105\u0107!",msg:{error:{invalid_item_name:"Nazwa przedmiotu '{name}' nie jest typu String.",item_exists:"Przedmiot '{name}' ju\u017C istnieje.",item_not_exists:"Przedmiot '{name}' nie istnieje.",file_error:"Zmiana przedmotu zosta\u0142a opublikowana. Wyst\u0105pi\u0142 jednak b\u0142\u0105d podczas zapisywania pliku .lua. Po ponownym uruchomieniu zmiany nie b\u0119d\u0105 ju\u017C aktywne.",missingFields:"Wype\u0142nij wszystkie wymagane pola.",uniqueVars:"Zmienne musz\u0105 by\u0107 unikalne.",filename_exists:"Nazwa pliku ju\u017C istnieje."}},uploadedImage:"Pomy\u015Blnie przes\u0142ano obraz.",uploadNew:"Za\u0142aduj obrazek",imageNotFound:"Ten obraz nie istnieje."},itemCreate:{new:"Utw\xF3rz nowy przedmiot"},roleList:{subheader:"Zarz\u0105dzaj uprawnieniami swojego zespo\u0142u za pomoc\u0105 niestandardowych r\xF3l.",createRole:"Utw\xF3rz rol\u0119",noData:"Nie pasuje",loadData:"Za\u0142aduj dane",headers:{name:"Nazwa",desc:"Opis",permissions:"Liczba uprawnie\u0144",color:"Kolor"},recordsPerPage:"Widok na stronie",paginationLabel:"{from}-{to} z {total}"},role:{name:"Nazwa",edit:"Edytuj rol\u0119",desc:"Opis",color:"Kolor",permissions:"Uprawnienia",permissionSub:"Przypisz w\u0142asne uprawnienia do swojej roli.",resource:{gameserver:"Serwer",development:"Zarz\u0105dzanie zasobami",management:"Zarz\u0105dzanie"},section:{liveMap:"Mapa na \u017Cywo",waypoint:"Punkt trasy",account:"Konto",player:"Gracz",vehicles:"Pojazdy",logs:"Logi",items:"Przedmioty",jobs:"Prace",gangs:"Gangi",user:"U\u017Cytkownicy",roles:"Role",config:"Konfiguracja",stashes:"Schowki"},action:{read:"Czyta\u0107",modify:"Zmie\u0144",delete:"Usu\u0144",despawn:"Znika\u0107",repair:"Naprawa",create:"Tworzy\u0107",player:"Poka\u017C graczy",vehicle:"Poka\u017C pojazdy",kick:"Wyrzu\u0107",warn:"Ostrze\u017Cenie",ban:"Ban",money:"Pieni\u0105dze",meta:"Metadata",position:"Pozycja",inventory:"Ekwipunek",screen:"Widok ekranu",license:"Licencja",job:"Praca",gang:"Gang",logs:{game:"Gra",player:"Gracz",dev:"Dev",web:"Strona"}},msg:{error:{role_missing:"Rola o nazwie '{name}' nie istnieje (ju\u017C).",role_exist:"Rola '{name}' ju\u017C istnieje.",missingFields:"Wype\u0142nij wszystkie wymagane pola."}},deleteHeader:"Usu\u0144",deleteMsg:"Czy na pewno chcesz usun\u0105\u0107 {name}? Tego nie mo\u017Cna cofn\u0105\u0107!"},roleCreate:{new:"Utw\xF3rz now\u0105 rol\u0119"},userList:{subheader:"Zarz\u0105dzaj kontami u\u017Cytkownik\xF3w cz\u0142onk\xF3w swojego zespo\u0142u.",noData:"Nie pasuje",loadData:"Za\u0142aduj dane",createUser:"Stw\xF3rz u\u017Cytkownika",headers:{name:"Nazwa",role:"Rola",master:"W\u0142a\u015Bciciel"},recordsPerPage:"Widok na stronie",paginationLabel:"{from}-{to} z {total}"},user:{edit:"Edytuj u\u017Cytkownika",role:"Rola",fxname:"cfx.re",msg:{error:{user_missing:"U\u017Cytkownik o nazwie '{name}' nie istnieje (ju\u017C).",user_exist:"U\u017Cytkownik '{name}' ju\u017C istnieje.",user_master:"Nie mo\u017Cesz usun\u0105\u0107 u\u017Cytkownika g\u0142\xF3wnego.",missingFields:"Wype\u0142nij wszystkie wymagane pola.",is_master:"Nie mo\u017Cesz zmieni\u0107 has\u0142a u\u017Cytkownika g\u0142\xF3wnego.",fx_used:"U\u017Cytkownik cfx.re jest ju\u017C u\u017Cywany przez innego u\u017Cytkownika."}},deleteHeader:"Usu\u0144",deleteMsg:"Czy na pewno chcesz usun\u0105\u0107 {name}? Tego nie mo\u017Cna cofn\u0105\u0107!",resetPasswort:"Zresetuj has\u0142o",resetPasswordHeader:"Potwierd\u017A zmiane",resetPasswordMsg:"Czy na pewno chcesz zresetowa\u0107 has\u0142o dla {name}?"},jobList:{subheader:"Wszystkie oferty pracy z QBCore/Shared/jobs.lua. Zadania zarejestrowane przez QB-Exports/Functions nie s\u0105 wy\u015Bwietlane.",noData:"Nie pasuje",loadData:"Za\u0142aduj dane",createJob:"Utw\xF3rz prac\u0119",headers:{name:"Nazwa",label:"Etykieta",grades:"Liczba Stopni",defaultDuty:"Domy\u015Blny rodzaj s\u0142u\u017Cby",offDutyPay:"Wynagrodzenie poza s\u0142u\u017Cb\u0105"},recordsPerPage:"Widok na stronie",paginationLabel:"{from}-{to} z {total}"},jobCreate:{new:"Utw\xF3rz now\u0105 prac\u0119"},job:{name:"Nazwa",edit:"Edytuj prace",label:"Etykieta",defaultDuty:"Domy\u015Blny rodzaj s\u0142u\u017Cby",offDutyPay:"Wynagrodzenie poza s\u0142u\u017Cb\u0105",grades:"Stanowisko",gradesSub:"Ustaw rangi dla swojej pracy. Kolejno\u015B\u0107 idzie od najni\u017Cszej rangi do najwy\u017Cszej rangi, od g\xF3ry do do\u0142u.",customVariables:"Zmienne niestandardowe",customVarSub:"Tw\xF3rz w\u0142asne zmienne.",addCustomVar:"Dodaj now\u0105 zmienn\u0105",customVarName:"Zmienny",customVarValue:"Warto\u015B\u0107",msg:{error:{invalid_job_name:"Nazwa pracy '{name}' nie jest typu String.",job_exists:"Praca '{name}' ju\u017C istnieje.",job_not_exists:"Praca '{name}' nie istnieje.",file_error:"Zmiana pracy zosta\u0142a opublikowana. Wyst\u0105pi\u0142 jednak b\u0142\u0105d podczas zapisywania pliku .lua. Po ponownym uruchomieniu zmiany nie s\u0105 ju\u017C aktywne.",missingFields:"Wype\u0142nij wszystkie wymagane pola.",gradeNeeded:"Potrzebujesz przynajmniej jednej rangi.",uniqueVars:"Zmienne musz\u0105 by\u0107 unikalne."}},deleteHeader:"Usu\u0144",deleteMsg:"Czy na pewno chcesz usun\u0105\u0107 {name}? Tego nie mo\u017Cna cofn\u0105\u0107!",deleteGradeMsg:"Czy na pewno chcesz usun\u0105\u0107 {name}? Tego nie mo\u017Cna cofn\u0105\u0107!",deleteCustomVarMsg:"Czy na pewno chcesz usun\u0105\u0107 zmienn\u0105 {name}? Tego nie mo\u017Cna cofn\u0105\u0107!",headers:{name:"Nazwa",isboss:"Szef",payment:"Wynagrodzenie"},addGrade:"Dodaj Stanowisko"},gangList:{subheader:"Wszystkie gangi z QBCore/Shared/gangs.lua. Gangi zarejestrowane przez QB-Exports/Functions nie s\u0105 wy\u015Bwietlane.",noData:"Nie pasuje",loadData:"Za\u0142aduj dane",createGang:"Stw\xF3rz gang",headers:{name:"Nazwa",label:"Etykieta",grades:"Liczba Stopni"},recordsPerPage:"Widok na stronie",paginationLabel:"{from}-{to} z {total}"},gangCreate:{new:"Stw\xF3rz nowy gang"},gang:{name:"Nazwa",edit:"Edytuj gang",label:"Etykieta",grades:"Stanowisko",gradesSub:"Ustaw rangi dla swojego gangu. Kolejno\u015B\u0107 idzie od najni\u017Cszej rangi do najwy\u017Cszej rangi, od g\xF3ry do do\u0142u.",customVariables:"Zmienne niestandardowe",customVarSub:"Tw\xF3rz w\u0142asne zmienne.",addCustomVar:"Dodaj now\u0105 zmienn\u0105",customVarName:"Zmienny",customVarValue:"Warto\u015B\u0107",msg:{error:{invalid_gang_name:"Nazwa gangu '{name}' nie jest typu String.",gang_exists:"Gang '{name}' ju\u017C istnieje.",gang_not_exists:"Gang '{name}' nie istnieje.",file_error:"Zmiana gangu zosta\u0142a uruchomiona. Wyst\u0105pi\u0142 jednak b\u0142\u0105d podczas zapisywania pliku .lua. Po ponownym uruchomieniu zmiany nie s\u0105 ju\u017C aktywne.",missingFields:"Wype\u0142nij wszystkie wymagane pola.",gradeNeeded:"Potrzebujesz przynajmniej jednej rangi.",uniqueVars:"Zmienne musz\u0105 by\u0107 unikalne."}},deleteHeader:"Usu\u0144",deleteMsg:"Czy na pewno chcesz usun\u0105\u0107 {name}? Tego nie mo\u017Cna cofn\u0105\u0107!",deleteGradeMsg:"Czy na pewno chcesz usun\u0105\u0107 {name}? Tego nie mo\u017Cna cofn\u0105\u0107!",deleteCustomVarMsg:"Czy na pewno chcesz usun\u0105\u0107 zmienn\u0105 {name}? Tego nie mo\u017Cna cofn\u0105\u0107!",headers:{name:"Nazwa",isboss:"Szef"},addGrade:"Dodaj Stanowisko"},liveMap:{viewPlayerTab:"Zobacz rekord gracza",viewVehicleTab:"Zobacz rekord pojazdu",noOnlinePlayers:"Brak graczy online",noSpawnedVehicles:"Nie pojawi\u0142y si\u0119 \u017Cadne pojazdy",generalContextMenuHeader:"Og\xF3lne",teleportPlayerHeader:"Wybierz gracza do teleportacji",copyCoordsToClipboard:"Skopiuj wsp\xF3\u0142rz\u0119dne",teleportTo:"Teleportuj\u0105cy si\u0119 gracz",createWaypoint:"Utw\xF3rz punkt trasy",markers:{vehicles:"Pojazdy",players:"Gracze"},labels:{selectedPlayer:"Wybrany gracz"},btn:{loadFromWaypoint:"Za\u0142aduj punkt trasy"},msg:{success:{coordsCopied:"Wsp\xF3\u0142rz\u0119dne zosta\u0142y pomy\u015Blnie skopiowane do schowka."},error:{noPlayersOnline:"Obecnie \u017Caden gracz online nie mo\u017Ce si\u0119 teleportowa\u0107.",errorCopyCoords:"Nie mo\u017Cna skopiowa\u0107 wsp\xF3\u0142rz\u0119dnych do schowka."}}},playerList:{subheader:"Wszystkie zarejestrowane postacie.",noData:"Nie pasuje",loadData:"Za\u0142aduj dane",recordsPerPage:"Widok na stronie",paginationLabel:"{from}-{to} z {total}",headers:{firstname:"Imi\u0119",lastname:"Nazwisko",gang:"Gang",job:"Praca",online:"Online",citizenid:"Obywatel-ID",name:"Nazwa konta"}},player:{tabs:{general:"Og\xF3lne",vehicles:"Pojazdy",logs:"Logi",notes:"Notatki"},pastBans:"Ban/Historia ostrze\u017Ce\u0144",changeJobHeader:"Zmie\u0144 prac\u0119",changeGangHeader:"Zmie\u0144 gang",deleteHeader:"Usu\u0144 gracza",deletePlayerMsg:"Czy na pewno chcesz usun\u0105\u0107 gracza {name}? Tego nie mo\u017Cna cofn\u0105\u0107!",changeAccountHeader:"Zmiana licencji",changeAccountSub:"Czy naprawd\u0119 chcesz zmieni\u0107 licencj\u0119 dla gracza {name}? Tego nie da si\u0119 cofn\u0105\u0107!",playerScreenHeader:"Aktualny widok gracza",addMoneyHeader:"Dodaj pieni\u0105dze",addMoneyMsg:"Wpisz kwot\u0119",removeMoneyHeader:"Usu\u0144 pieni\u0105dze",removeMoneyMsg:"Wpisz kwot\u0119",buttons:{unban:"Odbanuj",warn:"Ostrze\u017Cenie",ban:"Zbanuj",kick:"Wyrzu\u0107",inventory:"Ekwipunek",screen:"Poka\u017C ekran",money:{set:"Ustaw",give:"Daj",remove:"Usu\u0144"}},banMsg:"\u{1F528} przez '{by}' za '{reason}' do {expire}.",moneyDisclaimer:"To nie obs\u0142uguje pieni\u0119dzy dowolnego typu jako przedmiotu.",headers:{general:"Og\xF3lne",charinfo:"Informacje o postaci",meta:"Metadane",money:"Pieni\u0105dze",gang:"Gang",job:"Prace",actions:"Dzia\u0142ania"},labels:{name:"Nazwa konta",citizenid:"Obywatel-ID",license:"Licencja",position:"Pozycja",firstname:"Imi\u0119",lastname:"Nazwisko",account:"NR.Konta Bankowego",cid:"Identyfikator znaku",gender:"P\u0142e\u0107",male:"M\u0119\u017Cczyzna",female:"Kobieta",birthdate:"Data Urodzenia",nationality:"Narodowo\u015B\u0107",phone:"Handy",backstory:"Charstory",isdead:"Nie \u017Cyje",ishandcuffed:"Skuty",walletid:"Portfel-ID",fingerprint:"Odcisk palca",bloodtype:"Grupa krwi",thirst:"Pragnienie",hunger:"G\u0142\xF3d",stress:"Stres",armor:"Pancerz",job:{name:"Nazwa",grade:"Stopie\u0144"},gang:{name:"Nazwa",grade:"Stopie\u0144"},money:{bank:"Bank",crypto:"Krypto",cash:"Got\xF3wka"},health:"Zdrowie",ip:"IP",discord:"Discord",bucket:"Wiadro"},msg:{success:{success:"Dane zapisane.",hunger:"G\u0142\xF3d zosta\u0142 zaspokojony.",thirst:"Pragnienie zosta\u0142o zaspokojone.",isdead:"Zmieniono status zdrowia.",ishandcuffed:"Zmieniono status zakucia.",changeJob:"Praca zosta\u0142a zmieniona.",changeGang:"Gang zosta\u0142 zmieniony.",changedBucket:"Wiadro zmienione.",stress:"Stres obni\u017Cony.",healed:"Gracz wyleczony."},error:{notOnline:"Gracz nie jest online.",notFound:"Nie znaleziono gracza",missingFields:"Brak wymaganych danych wej\u015Bciowych.",changeJob:"Nie uda\u0142o si\u0119 z\u0142o\u017Cy\u0107 podania o prac\u0119.",changeGang:"Nie uda\u0142o si\u0119 zastosowa\u0107 grupy.",failedFetchGangs:"Nie uda\u0142o si\u0119 pobra\u0107 gang\xF3w.",failedFetchJobs:"Nie uda\u0142o si\u0119 pobra\u0107 prac.",deleteError:"Co\u015B posz\u0142o nie tak.",couldNotFetchScreen:"B\u0142\u0105d podczas pobierania bie\u017C\u0105cego ekranu graczy.",invalid_citizenid:"Wydany dokument Citizen-ID jest niewa\u017Cny.",not_allowed:"Typ pieni\u0119dzy nie zosta\u0142 znaleziony lub nie jest dozwolona warto\u015B\u0107 ujemna."}}},vehicleList:{subheader:"Wszystkie pojazdy graczy.",noData:"Nie pasuje",loadData:"Za\u0142aduj dane",spawned:"Wyci\u0105gni\u0119ty",garage:"Gara\u017C",outside:"Na zewn\u0105trz",inpound:"Odholowany",headers:{owner:"W\u0142a\u015Bciciel",plate:"Rejestracja",vehicle:"Model",spawned:"Wyci\u0105gni\u0119ty",state:"Lokalizacja",engine:"Silnik",body:"Karoseria",fuel:"Paliwo"},recordsPerPage:"Widok na stronie",paginationLabel:"{from}-{to} z {total}",createVehicle:"Utw\xF3rz pojazd"},vehicle:{despawnHeader:"Znika\u0107",despawnMsg:"Czy naprawd\u0119 chcesz usun\u0105\u0107 obecny pojazd?",deleteHeader:"Usu\u0144",deleteMsg:"Czy naprawd\u0119 chcesz usun\u0105\u0107 bie\u017C\u0105cy pojazd z bazy danych i usun\u0105\u0107 go? Nie dotyczy to innych tabel dotycz\u0105cych pojazd\xF3w (np. baga\u017Cnika)!",changeOwnerHeader:"Wybierz nowego w\u0142a\u015Bciciela",changeOwnerInput:"Wpisz nowego w\u0142a\u015Bciciela Citizen-ID",buttons:{changeOwner:"Zmiana w\u0142a\u015Bciciela",despawnVehicle:"Znikni pojazd",repairVehicle:"Napraw pojazd",deleteVehicle:"Usu\u0144 pojazd",openTrunk:"Otw\xF3rz baga\u017Cnik",openGlovebox:"Otw\xF3rz schowek"},header:{owner:"W\u0142a\u015Bciciel",payment:"Zap\u0142ata",car:"Samoch\xF3d"},labels:{owner:"W\u0142a\u015Bciciel",citizenid:"Obywatel-ID",license:"Licencja",depotprice:"Cena magazynowa",balance:"Balans",paymentamount:"Ilo\u015B\u0107",paymentsleft:"Lewo",financetime:"Czas finans\xF3w",model:"Model",plate:"Rejestracja",fakeplate:"Fa\u0142szywa rejestracja",drivingdistance:"Przebieg",garage:"Gara\u017C",state:"Lokalizacja",fuel:"Paliwo",engine:"Silnik",body:"Karoseria"},msg:{error:{noMatch:"Nie mo\u017Cna znale\u017A\u0107 pojazdu. Mo\u017Ce zosta\u0142 usuni\u0119ty?",not_spawned:"Pojazd nie jest spawnowany.",not_found:"Co\u015B posz\u0142o nie tak. Nie mo\u017Cna znale\u017A\u0107 pojazdu.",missingData:"Brak danych nowego w\u0142a\u015Bciciela.",invalid_citizenid:"Wydany dow\xF3d osobisty nie jest wa\u017Cny.",sql_error:"Co\u015B posz\u0142o nie tak podczas uruchamiania zapyta\u0144 SQL. Nie dokonano \u017Cadnych zmian!",allowedCharsNumbers:"Na swojej p\u0142ytce mo\u017Cesz u\u017Cywa\u0107 tylko Spacji, Cyfr i Znak\xF3w.",plate_exists:"Ta p\u0142yta ju\u017C istnieje. Prosz\u0119 wybra\u0107 inn\u0105."}}},vehicleCreate:{new:"Utw\xF3rz nowy pojazd"},logs:{loadMore:"Przewijanie w g\xF3r\u0119 \u0142aduje wi\u0119cej log\xF3w."},configuration:{colorsHeader:"Kolor",colorsSub:"Dopasuj motyw do siebie.",colors:{primary:"Podstawa",secondary:"Tabele",accent:"Akcent",dark:"T\u0142o",positive:"Pozytywny",negative:"Negatywny",info:"Informacje",warning:"Ostrze\u017Cenie",main:"Tekst",sub:"Podtekst"},buttons:{undo:"Cofnij",defaults:"Domy\u015Blne"}},inventory:{playerInventory:"Gracz",supporterStash:"Szafka Administracji",itemName:"Nazwa",amount:"Ilo\u015B\u0107",infoSection:"Warto\u015Bci informacyjne",infoSectionSub:"Dodaj zmienne informacyjne do nowego elementu.",addInfoValue:"Dodaj nowe",infoName:"Klucz",infoValue:"Warto\u015B\u0107",deleteHeader:"Usu\u0144",deleteMsg:"Czy na pewno chcesz usun\u0105\u0107 ten element? Tego nie mo\u017Cna cofn\u0105\u0107!",deleteInfoHeader:"Usu\u0144",deleteInfoMsg:"Czy na pewno chcesz usun\u0105\u0107 informacje {name}? Tego nie mo\u017Cna cofn\u0105\u0107!",addItemTip:"Dodaj nowy przedmiot",addItemHeader:"Doda\u0107",clearInvTip:"Wyczy\u015B\u0107 ekwipunek",clearInvHeader:"Wyczy\u015B\u0107 ekwipunek",clearInvMsg:"Czy naprawd\u0119 chcesz wyczy\u015Bci\u0107 ca\u0142y ekwipunek gracza? Tego nie da si\u0119 cofn\u0105\u0107!",msg:{success:{fixedPlayerItems:"Fixed player items and saved deleted items into file (if browser allows)."},error:{failedFetchItems:"Pobieranie definicji przedmiot\xF3w nie powiod\u0142o si\u0119.",failedLoad:"Nie uda\u0142o si\u0119 pobra\u0107 danych o asortymencie.",noItemName:"Nie wybrano przedmiotu.",unknown_citizenid:"Gracz nie istnieje.",noSlot:"Brak wolnego slotu.",invalid_item:"Nie mog\u0119 znale\u017A\u0107 definicji przedmiotu, Mo\u017Ce usu\u0144 ten przedmiot.",moved:"Wygl\u0105da na to, \u017Ce przedmiot zosta\u0142 przeniesiony. Prosz\u0119 spr\xF3buj ponownie.",negative:"Nie mo\u017Cna przenie\u015B\u0107 ujemnej ilo\u015Bci przedmiotu.",not_enough:"Nie masz wystarczaj\u0105cej ilo\u015Bci tego przedmiotu.",internal:"B\u0142\u0105d wewn\u0119trzny. Skontaktuj si\u0119 z Unlimited.",uniqueInfo:"Zmienne informacyjne musz\u0105 by\u0107 unikalne.",fixPlayer:"Error in PlayerData",fixPlayerText:"This player has a broken PlayerData. Some times this can be caused by invalid item definitions. We can try to fix this by deleting not existing items from the players inventory. This is a experimental feature, be carefull! Should we try to fix it?"}}},devVehicleList:{subheader:"Wszystkie pojazdy z QBCore/Shared/vehicles.lua.",noData:"Nie pasuje",loadData:"Za\u0142aduj dane",headers:{name:"Nazwa",brand:"Marka",model:"Model",hash:"ID Modelu",price:"Cena",category:"Kategoria"},recordsPerPage:"Widok na stronie",paginationLabel:"{from}-{to} z {total}",createVehicle:"Utw\xF3rz pojazd"},devVehicle:{edit:"Edytuj pojazd",model:"Model",hash:"ID Modelu",name:"Nazwa",brand:"Marka",category:"Kategoria",categoryLabel:"Etykieta kategorii",price:"Cena",shop:"Sklep",customVariables:"Zmienne niestandardowe",customVarSub:"Tw\xF3rz w\u0142asne zmienne.",addCustomVar:"Dodaj now\u0105 zmienn\u0105",customVarName:"Zmienny",customVarValue:"Warto\u015B\u0107",msg:{error:{invalid_veh_name:"Nazwa pojazdu '{name}' nie jest typu String.",veh_exists:"Pojazd '{name}' ju\u017C istnieje.",veh_not_exists:"Pojazd '{name}' nie istnieje.",file_error:"Zmiana pojazdu zosta\u0142a opublikowana. Wyst\u0105pi\u0142 jednak b\u0142\u0105d podczas zapisywania pliku .lua. Po ponownym uruchomieniu zmiany nie s\u0105 ju\u017C aktywne.",missingFields:"Wype\u0142nij wszystkie wymagane pola.",uniqueVars:"Zmienne musz\u0105 by\u0107 unikalne."}},deleteHeader:"Usu\u0144",deleteMsg:"Czy na pewno chcesz usun\u0105\u0107 {model}? Tego nie mo\u017Cna cofn\u0105\u0107!",deleteCustomVarMsg:"Czy na pewno chcesz usun\u0105\u0107 zmienn\u0105 {name}? Tego nie mo\u017Cna cofn\u0105\u0107!"},devVehicleCreate:{new:"Utw\xF3rz nowy pojazd"},auth:{msg:{error:{not_supported:"Wybrany dostawca wydaje si\u0119 nie by\u0107 obs\u0142ugiwany.",internal_error:"B\u0142\u0105d wewn\u0119trzny. Skontaktuj si\u0119 z Unlimited podaj\u0105c komunikat o b\u0142\u0119dzie.",no_token:"Callback nie dostarczy\u0142 potrzebnych p\xF3l zapytania.",userdata_fetch_failed:"Nie mo\u017Cna pobra\u0107 danych u\u017Cytkownika z dostawcy.",no_fx_user:"Nie znaleziono u\u017Cytkownika o numerze cfx.re."}}},waypointList:{subheader:"Zarz\u0105dzaj swoimi punktami trasy.",createWaypoint:"Utw\xF3rz punkt trasy",noData:"Nie pasuje",loadData:"Za\u0142aduj dane",headers:{name:"Nazwa",label:"Etykieta",coords:"Wsp\xF3\u0142rz\u0119dne"},recordsPerPage:"Widok na stronie",paginationLabel:"{from}-{to} z {total}"},waypoint:{edit:"Edytuj punkt trasy",waypoint:"Punkt trasy",labels:{name:"Nazwa",label:"Etykieta",coords:"Wsp\xF3\u0142rz\u0119dne"},msg:{error:{waypoint_missing:"Punkt trasy o nazwie '{name}' nie istnieje (ju\u017C).",waypoint_exist:"Punkt trasy '{name}' ju\u017C istnieje.",no_waypoints:"Obecnie brak dost\u0119pnych punkt\xF3w trasy.",missingFields:"Wype\u0142nij wszystkie wymagane pola.",failedFetchWaypoints:"Nie mo\u017Cna pobra\u0107 punkt\xF3w trasy."}},deleteHeader:"Usu\u0144",deleteMsg:"Czy na pewno chcesz usun\u0105\u0107 {name}? Tego nie da si\u0119 cofn\u0105\u0107!",modalHeader:"Wybierz punkt trasy"},accountList:{subheader:"Zdob\u0105d\u017A graczy wed\u0142ug ich kont.",noData:"Nie pasuje",loadData:"Za\u0142aduj dane",headers:{name:"Nazwa",license:"Licencja",character_count:"Postacie",last_active:"Ostatnio online"},recordsPerPage:"Widok na stronie",paginationLabel:"{from}-{to} z {total}"},stashesList:{subheader:"Przegl\u0105d wszystkich skonfigurowanych schowk\xF3w.",noData:"Nie pasuje",loadData:"Za\u0142aduj dane",headers:{type:"Typ",identifier:"Identyfikator",items:"Sloty w u\u017Cyciu"},recordsPerPage:"Widok na stronie",paginationLabel:"{from}-{to} z {total}"},stashes:{stashStorage:"Szafka",supporterStash:"Szafka pomocnicza",itemName:"Nazwa",amount:"Kwota",infoSection:"Warto\u015Bci informacyjne",infoSectionSub:"Dodaj zmienne informacyjne do nowego elementu.",addInfoValue:"Dodaj nowe",infoName:"Klucz",infoValue:"Warto\u015B\u0107",deleteHeader:"Usu\u0144",deleteMsg:"Czy na pewno chcesz usun\u0105\u0107 ten element? Tego nie da si\u0119 cofn\u0105\u0107!",deleteInfoHeader:"Usu\u0144",deleteInfoMsg:"Czy na pewno chcesz usun\u0105\u0107 informacje {name}? Tego nie da si\u0119 cofn\u0105\u0107!",addItemTip:"Dodaj nowy przedmiot",addItemHeader:"Dodaj",clearStorageTip:"Wyczy\u015B\u0107 skrytk\u0119",clearStorageHeader:"Wyczy\u015B\u0107 skrytk\u0119",clearStorageMsg:"Czy na pewno chcesz wyczy\u015Bci\u0107 ca\u0142\u0105 skrytk\u0119? Tego nie da si\u0119 cofn\u0105\u0107!",msg:{error:{failedFetchItems:"Pobieranie definicji element\xF3w nie powiod\u0142o si\u0119.",failedLoad:"Nie uda\u0142o si\u0119 pobra\u0107 danych o asortymencie.",noItemName:"Nie wybrano pozycji.",unknown_storage:"Magazyn nie istnieje.",noSlot:"Brak wolnego slotu.",invalid_item:"Nie mog\u0119 znale\u017A\u0107 definicji elementu. Mo\u017Ce usu\u0144 ten element.",moved:"Wygl\u0105da na to, \u017Ce element zosta\u0142 przeniesiony. Prosz\u0119 spr\xF3buj ponownie.",negative:"Nie mo\u017Cna przenie\u015B\u0107 ujemnej ilo\u015Bci przedmiotu.",not_enough:"Nie masz wystarczaj\u0105cej ilo\u015Bci tego przedmiotu.",internal:"B\u0142\u0105d wewn\u0119trzny. Skontaktuj si\u0119 z Unlimited.",uniqueInfo:"Zmienne informacyjne musz\u0105 by\u0107 unikalne."}}}},Z_={general:jg,breadcrumb:Ng,rules:Mg,navigation:Ig,components:Vg},X_=Object.freeze(Object.defineProperty({__proto__:null,general:jg,breadcrumb:Ng,rules:Mg,navigation:Ig,components:Vg,default:Z_},Symbol.toStringTag,{value:"Module"})),Rg={timestamp:"Data",logout:"Sair",username:"Usu\xE1rio",password:"Senha",confirmPassword:"Confirma a Senha",setupToken:"Token",languages:{de:"German",en:"English",es:"Spanish",dk:"Danish",et:"Estonia",nl:"Holand\xEAs",no:"Norwegian",pl:"Polski",pt:"Portugu\xEAs",ta:"Indiano - Tamil",tr:"Turkish"},save:"Salvar",delete:"Apagar",search:"Procurar",change:"Mudar",success:"Sucesso",error:"Erro",saved:"Salvado com sucesso.",deleted:"Apagado com sucesso.",cleared:"Limpo com sucesso",ok:"Ok",cancel:"Cancelar",create:"Criar",back:"Voltar",changePassword:"Mudar Senha",kick:"Expulsar",ban:"Banir",fillUp:"Encher",relax:"Relaxar",add:"Adicionar",added:"Adicionado",teleport:"Teletransportar",teleported:"Teletransportado com sucesso.",cantReach:"N\xE3o \xE9 poss\xEDvel acessar o servidor.",male:"Masculino",female:"Feminino",yes:"Sim",no:"N\xE3o",reason:"Motivo",time:"Tempo",bantime:"Tempo em segundos.",warnHeader:"Aviso",warnMsg:"Escreva um motivo para o aviso ao jogador {name}.",warnBanHeader:"Ban/Aviso",banHeader:"Banir",banMsg:"Coloque um motivo e tempo para banir {name}.",banSuccess:"O jogador foi banido.",unbanHeader:"Remover ban",unbanMsg:"Quer mesmo remover o ban a {name}?",unbanSuccess:"O jogador foi desbanido.",kickHeader:"Expulsar",kickMsg:"Coloque um motivo para expulsar o {name}.",kickSuccess:"O jogador foi expulso.",toggleAll:"Ligar todos",heal:"Curar",offline:"Jogador offline",or:"ou",timeout:"A solicita\xE7\xE3o expirou."},Og={vehicles:"Ve\xEDculos",vehicle:"Ve\xEDculo",items:"Items",item:"Item",jobs:"Trabalhos",job:"Trabalho",gangs:"Gangs",gang:"Gang",users:"Usu\xE1rios",user:"Usu\xE1rio",roles:"Cargos",role:"Cargo",map:"Mapa",dashboard:"Painel",logs:"Logs",accounts:"Contas",account:"Contas",players:"Jogadores",player:"Jogador",inventory:"Invent\xE1rio",config:"Configura\xE7\xE3o",waypoints:"Parada",waypoint:"Parada",stashes:"Esconderijos",stash:"Estoque"},zg={required:"Este espa\xE7o \xE9 obrigat\xF3rio.",passwordConfirm:"As senhas n\xE3o s\xE3o iguais.",noSpace:"N\xE3o \xE9 permitido espa\xE7os.",numbers:"Apenas n\xFAmeros s\xE3o permitidos.",unique:"Este valor j\xE1 existe.",defaults:"Nenhuma chave padr\xE3o \xE9 permitida.",onlyCharsNumbers:"Apenas Espa\xE7os, N\xFAmeros e Carat\xE9res s\xE3o permitidos."},Fg={header:{gameserver:"Servidor",development:"Desenvolvimento",management:"Gerenciamento"},titles:{dashboard:"Painel",livemap:"Mapa em Direto",waypoint:"Parada",account:"Contas",player:"Jogadores",logs:"Logs",vehicle:"Ve\xEDculos",items:"Items",jobs:"Trabalhos",gangs:"Gangs",users:"Usu\xE1rios",roles:"Cargos",web:"Web",config:"Configura\xE7\xE3o",stashes:"Esconderijos"}},Bg={general:{changePasswordHeader:"Mudar Senha",changePasswordMsg:"Coloque uma senha nova.",msg:{error:{user_missing:"Usu\xE1rio n\xE3o encontrado."}}},dashboard:{cpu:"Uso de CPU",ram:"Uso de Mem\xF3ria",process:"Uso de RAM",onlinePlayers:"Jogadores online",gangOnline:"Membros da Gang online",jobsDuty:"Jogadores em trabalho",headers:{name:"Nome",character:"Personagem",job:"Trabalho",count:"Contagem",gang:"Gang",rank:"Classifica\xE7\xE3o"}},setup:{finishButton:"Terminar Confiruga\xE7\xE3o",backButton:"Anterior",nextButton:"Pr\xF3ximo",welcomeHeader:"Bem-Vindo",welcomeSub:"Bem-vindo ao seu Painel Unlimited! As configura\xE7\xF5es ir\xE3o inicializar uma experi\xEAncia incr\xEDvel.",langHeader:"Idiomas",langSub:"Escolha o seu Idioma",masterHeader:"Conta Principal",masterSub:"A Conta Principal tem e ter\xE1 acesso completo, Your Master Account always has full access rights, mesmo sem considerar as permiss\xF5es.",tokenHeader:"Configurar Token",tokenSub:"Copie o seu Token de Configura\xE7\xE3o do terminal do servidor para valida\xE7\xE3o.",tokenPlaceHolder:"Coloque o Token de Configura\xE7\xE3o"},login:{subtext:"Bem-Vindo ao Painel Unlimted. Por favor entre.",msg:{error:{not_supported:"O provedor selecionado n\xE3o parece ser suportado.",internal_error:"Erro Interno. Contate Unlimited com a sua mensagem de erro."}}},itemList:{subheader:"Todos os items do ficheiro QBCore/Shared/items.lua. Items registrados atrav\xE9s de QB-Exports/Functions n\xE3o s\xE3o mostrados.",noData:"Sem correspond\xEAncia",loadData:"Carregar items",headers:{label:"Label",type:"Tipo",weight:"Peso",name:"Nome",useable:"Utiliz\xE1vel",unique:"\xDAnico",shouldClose:"Fecha ao usar"},recordsPerPage:"Registro por p\xE1gina",paginationLabel:"{from}-{to} de {total}",createItem:"Criar Item"},item:{name:"Nome / Key",label:"Label",desc:"Descri\xE7\xE3o",image:"Icon",weight:"Peso",type:"Tipo",useable:"Utiliz\xE1vel",unique:"\xDAnico",shouldClose:"Fecha ao usar",edit:"Editar Item",customVariables:"Vari\xE1veis customiz\xE1veis",customVarSub:"Crie a sua vari\xE1vel",addCustomVar:"Adicionar nova vari\xE1vel",customVarName:"Vari\xE1vel",customVarValue:"Valor",combinability:"Combina\xE7\xE3o",combinabSub:"Aqui pode especificar com que Items pode ser combinado, o que ir\xE1 acontecer e com qual anima\xE7\xE3o, dura\xE7\xE3o e texto.",combinable:{accept:"Combinar com",reward:"Resultado",text:"Texto de Exibi\xE7\xE3o",timeOut:"Dura\xE7\xE3o",lib:"Lib da Anima\xE7\xE3o",dict:"Dict da Anima\xE7\xE3o"},deleteHeader:"Apagar",deleteMsg:"Quer mesmo apagar {itemLabel} [{itemName}]? N\xE3o pode voltar atr\xE1s!",deleteCustomVarMsg:"Quer mesmo apagar a vari\xE1vel {name}? N\xE3o pode voltar atr\xE1s!",msg:{error:{invalid_item_name:"O nome do Item '{name}' n\xE3o \xE9 do tipo 'String'.",item_exists:"O item '{name}' j\xE1 existe.",item_not_exists:"O item '{name}' n\xE3o existe.",file_error:"A mudan\xE7a no Item foi transmitida. Por\xE9m, um erro aconteceu ao salvar o ficheiro .lua. Depois de reiniciar as mudan\xE7as voltaram.",missingFields:"Preencha todas os campos obrigat\xF3rios.",uniqueVars:"As vari\xE1veis devem ser \xFAnicas.",filename_exists:"Nome do Ficheiro j\xE1 existe."}},uploadedImage:"Imagem carregada com sucesso.",uploadNew:"Carregar imagem",imageNotFound:"Esta imagem n\xE3o existe."},itemCreate:{new:"Criar novo item"},roleList:{subheader:"Gerir permiss\xF5es para a sua equipa com cargos customizados.",createRole:"Criar Cargo",noData:"Sem correspond\xEAncia",loadData:"Carregar dados",headers:{name:"Nome",desc:"Descri\xE7\xE3o",permissions:"Contagem de Permiss\xF5es",color:"Cor"},recordsPerPage:"Registro por p\xE1gina",paginationLabel:"{from}-{to} de {total}"},role:{name:"Nome",edit:"Editar cargo",desc:"Descri\xE7\xE3o",color:"Cor",permissions:"Permiss\xE3o",permissionSub:"Atribir as suas permiss\xF5es aos seu cargo.",resource:{gameserver:"Servidor",development:"Desenvolvimento",management:"Gerenciamento"},section:{liveMap:"Mapa em Direto",waypoint:"Parada",account:"Contas",player:"Jogadores",vehicles:"Ve\xEDculos",logs:"Logs",items:"Items",jobs:"Trabalhos",gangs:"Gangs",user:"Usu\xE1rios",roles:"Cargos",config:"Configura\xE7\xE3o",stashes:"Esconderijos"},action:{read:"Ler",modify:"Modificar",delete:"Apagar",despawn:"Despawn",repair:"Reparar",create:"Criar",player:"Mostrar jogadores",vehicle:"Mostrar ve\xEDculos",kick:"Expulsar",warn:"Aviso",ban:"Banir",money:"Dinheiro",meta:"MetaData",position:"Posi\xE7\xE3o",inventory:"Invent\xE1rio",screen:"Ver tela",license:"Licen\xE7a",job:"Emprego",gang:"Gang",logs:{game:"Jogo",player:"Jogador",dev:"Dev",web:"Web"}},msg:{error:{role_missing:"Cargo com o nome '{name}' n\xE3o existe (mais).",role_exist:"O cargo '{name}' j\xE1 existe.",missingFields:"Preencha todas os campos obrigat\xF3rios."}},deleteHeader:"Apagar",deleteMsg:"Quer mesmo apagar {name}? N\xE3o pode voltar atr\xE1s!"},roleCreate:{new:"Criar novo cargo"},userList:{subheader:"Gerir os Usu\xE1rios da sua Equipa.",noData:"Sem correspond\xEAncia",loadData:"Carregar dados",createUser:"Criar Usu\xE1rio",headers:{name:"Nome",role:"Cargo",master:"Principal"},recordsPerPage:"Registro por p\xE1gina",paginationLabel:"{from}-{to} de {total}"},user:{edit:"Editar usu\xE1rio",role:"Cargo",fxname:"cfx.re",msg:{error:{user_missing:"Usu\xE1rio com o nome '{name}' n\xE3o existe (mais).",user_exist:"O usu\xE1rio '{name}' j\xE1 existe.",user_master:"N\xE3o consegue apagar o Usu\xE1rio Principal.",missingFields:"Preencha todas os campos obrigat\xF3rios.",is_master:"N\xE3o consegue mudar a senha do Usu\xE1rio Principal",fx_used:"Usu\xE1rio cfx.re j\xE1 est\xE1 ser utilizado por outro usu\xE1rio."}},deleteHeader:"Apagar",deleteMsg:"Quer mesmo apagar {name}? N\xE3o pode voltar atr\xE1s!",resetPasswort:"Redefinir Senha",resetPasswordHeader:"Confirmar Redefini\xE7\xE3o",resetPasswordMsg:"Quer mesmo redifinir a senha do {name}?"},jobList:{subheader:"Todos os empregos do ficheiro QBCore/Shared/jobs.lua. Empregos registrados atrav\xE9s de QB-Exports/Functions n\xE3o s\xE3o mostrados.",noData:"Sem correspond\xEAncia",loadData:"Carregar dados",createJob:"Criar Emprego",headers:{name:"Nome",label:"Label",grades:"Contagem de Cargo",defaultDuty:"A trabalhar",offDutyPay:"Receber sem trabalhar"},recordsPerPage:"Registro por p\xE1gina",paginationLabel:"{from}-{to} de {total}"},jobCreate:{new:"Criar novo emprego"},job:{name:"Nome",edit:"Editar emprego",label:"Label",defaultDuty:"A trabalhar",offDutyPay:"Receber sem trabalhar",grades:"Cargo",gradesSub:"Definir o cargo para o trabalho. (Do cargo mais baixo para o mais alto, de cima para baixo)",customVariables:"Vari\xE1veis customiz\xE1veis",customVarSub:"Crie a sua vari\xE1vel",addCustomVar:"Adicionar nova vari\xE1vel",customVarName:"Vari\xE1vel",customVarValue:"Valor",msg:{error:{invalid_job_name:"O nome do emprego '{name}' n\xE3o \xE9 do tipo String.",job_exists:"O emprego '{name}' j\xE1 existe.",job_not_exists:"The job '{name}' n\xE3o existe.",file_error:"A mudan\xE7a nos trabalhos foi transmitida. Por\xE9m, um erro aconteceu ao salvar o ficheiro .lua. Depois de reiniciar as mudan\xE7as voltaram.",missingFields:"Preencha todas os campos obrigat\xF3rios.",gradeNeeded:"Precisa de ao menos um cargo.",uniqueVars:"Vari\xE1veis devem ser \xFAnicas."}},deleteHeader:"Apagar",deleteMsg:"Quer mesmo apagar {name}? N\xE3o pode voltar atr\xE1s!",deleteGradeMsg:"Quer mesmo apagar {name}? N\xE3o pode voltar atr\xE1s!",deleteCustomVarMsg:"Quer mesmo apagar a vari\xE1vel {name}? N\xE3o pode voltar atr\xE1s!",headers:{name:"Nome",isboss:"Chefe",payment:"Pagamento"},addGrade:"Adicionar cargo"},gangList:{subheader:"Todas as Gangs do ficheiro QBCore/Shared/gangs.lua. Gangs registradas via QB-Exports/Functions n\xE3o s\xE3o mostradas.",noData:"Sem correspond\xEAncia",loadData:"Carregar dados",createGang:"Criar Gang",headers:{name:"Nome",label:"Label",grades:"Contagem de Cargos"},recordsPerPage:"Registro por p\xE1gina",paginationLabel:"{from}-{to} de {total}"},gangCreate:{new:"Criar nova Gang"},gang:{name:"Nome",edit:"Editar Gang",label:"Label",grades:"Cargos",gradesSub:"Defina os cargos para a Gang. (Do cargo mais baixo para o mais alto, de cima para baixo)",customVariables:"Vari\xE1veis customiz\xE1veis",customVarSub:"Crie a sua vari\xE1vel",addCustomVar:"Adicionar nova vari\xE1vel",customVarName:"Vari\xE1vel",customVarValue:"Valor",msg:{error:{invalid_gang_name:"O nome da Gang '{name}' n\xE3o \xE9 do tipo String.",gang_exists:"A Gang '{name}' j\xE1 existe.",gang_not_exists:"A Gang '{name}' do not exist.",file_error:"As mudan\xE7as na Gang foram transmitidas. Por\xE9m, um erro aconteceu ao salvar o ficheiro .lua. Depois de reiniciar as mudan\xE7as voltaram.",missingFields:"Preencha todas os campos obrigat\xF3rios.",gradeNeeded:"Precisa de ao menos um cargo",uniqueVars:"Vari\xE1veis devem ser \xFAnicas."}},deleteHeader:"Apagar",deleteMsg:"Quer mesmo apagar {name}? N\xE3o pode voltar atr\xE1s!",deleteGradeMsg:"Quer mesmo apagar {name}? N\xE3o pode voltar atr\xE1s!",deleteCustomVarMsg:"Quer mesmo apagar a vari\xE1vel {name}? N\xE3o pode voltar atr\xE1s!",headers:{name:"Nome",isboss:"Chefe"},addGrade:"Adicionar cargo"},liveMap:{viewPlayerTab:"Ver registro do Jogador",viewVehicleTab:"Ver registro de Ve\xEDculos",noOnlinePlayers:"Sem jogadores online",noSpawnedVehicles:"Sem ve\xEDculos spawnados",generalContextMenuHeader:"Geral",teleportPlayerHeader:"Selecione o jogador para teletransportar",copyCoordsToClipboard:"Copiar coordenadas",teleportTo:"Teletransportar jogador",createWaypoint:"Criar Parada",markers:{vehicles:"Ve\xEDculos",players:"Jogadores"},labels:{selectedPlayer:"Jogador selecionado"},btn:{loadFromWaypoint:"Carregar Parada"},msg:{success:{coordsCopied:"Coordenadas copiadas com sucesso para a \xE1rea de transfer\xEAncias."},error:{noPlayersOnline:"De momento sem jogador online para teletransportar.",errorCopyCoords:"N\xE3o foi possivel copiar as coordenadas."}}},playerList:{subheader:"Todas as Personagems",noData:"Sem correspond\xEAncia",loadData:"Carregar dados",recordsPerPage:"Registro por p\xE1gina",paginationLabel:"{from}-{to} de {total}",headers:{firstname:"Primeiro Nome",lastname:"\xDAltimo Nome",gang:"Gang",job:"Emprego",online:"Online",citizenid:"Citizen-ID",name:"Nome da Conta"}},player:{tabs:{general:"Ve\xEDculos",vehicles:"Jogadores",logs:"Logs",notes:"Notas"},pastBans:"Hist\xF3rico Ban/Aviso",changeJobHeader:"Mudar emprego",changeGangHeader:"Mudar gang",deleteHeader:"Apagar jogador",deletePlayerMsg:"Quer mesmo apagar o jogador {name}? N\xE3o pode voltar atr\xE1s!",changeAccountHeader:"Mudar licen\xE7a",changeAccountSub:"Quer mesmo mudar a licen\xE7a do jogador {name}? N\xE3o pode voltar atr\xE1s!",playerScreenHeader:"Currente vis\xE3o do Jogador",addMoneyHeader:"Adicionar dinheiro",addMoneyMsg:"Escreva a quantidade",removeMoneyHeader:"Remover dinheiro",removeMoneyMsg:"Escreva a quantidade",buttons:{unban:"Desbanir",warn:"Aviso",ban:"Banir",kick:"Expulsar",inventory:"Invent\xE1rio",screen:"Mostrar tela",money:{set:"Colocar",give:"Adicionar",remove:"Remover"}},banMsg:"\u{1F528} por '{by}' pela '{reason}' at\xE9 {expire}.",moneyDisclaimer:"Isto n\xE3o suporta dinheiro do tipo Item.",headers:{general:"Geral",charinfo:"Informa\xE7\xE3o da Personagem",meta:"MetaData",money:"Dinheiro",gang:"Gang",job:"Emprego",actions:"A\xE7\xF5es"},labels:{name:"Nome da Conta",citizenid:"Citizen-ID",license:"Licen\xE7as",position:"Posi\xE7\xE3o",firstname:"Primeiro Nome",lastname:"\xDAltimo Nome",account:"Conta",cid:"Char-ID",gender:"G\xEAnero",male:"Masculino",female:"Feminino",birthdate:"Data de Nascimento",nationality:"Nacionalidade",phone:"Telem\xF3vel",backstory:"Hist\xF3ria",isdead:"Est\xE1 morto",ishandcuffed:"Est\xE1 algemado",walletid:"Wallet-ID",fingerprint:"Impress\xE3o Digital",bloodtype:"Tipo sangu\xEDneo",thirst:"Sede",hunger:"Fome",stress:"Estresse",armor:"Armadura",job:{name:"Nome",grade:"Cargo"},gang:{name:"Nome",grade:"Cargo"},money:{bank:"Banco",crypto:"Cripto",cash:"Dinheiro"},health:"Vida",ip:"IP",discord:"Discord",bucket:"Bucket"},msg:{success:{success:"Informa\xE7\xE3o salva.",hunger:"Fome preenchida.",thirst:"Sede preenchida.",isdead:"Valor 'Est\xE1 morto' alterado.",ishandcuffed:"Valor 'Est\xE1 algemado' alterado.",changeJob:"Emprego alterado.",changeGang:"Gang alterada.",changedBucket:"Bucket mudificado.",stress:"Estresse baixado.",healed:"Jogador curado."},error:{notOnline:"O jogador n\xE3o est\xE1 online.",notFound:"Jogador n\xE3o encontrado.",missingFields:"Est\xE1 faltando Entradas obrigat\xF3rias.",changeJob:"Erro ao aplicar o emprego.",changeGang:"Erro ao aplicar a gang.",failedFetchGangs:"Erro ao buscar as gangs.",failedFetchJobs:"Erro ao buscar is empregos.",deleteError:"Algo de errado aconteceu.",couldNotFetchScreen:"Erro ao verificar a tela currente dos jogadores.",invalid_citizenid:"O Citizen-ID emitido n\xE3o \xE9 v\xE1lido.",not_allowed:"O tipo do dinheiro n\xE3o foi encontrado ou valores negativos n\xE3o s\xE3o permitidos."}}},vehicleList:{subheader:"Todos os ve\xEDculos do Jogador.",noData:"Sem correspond\xEAncia",loadData:"Carregar dados",spawned:"Spawned",garage:"Garagem",outside:"Fora",inpound:"Apreendido",headers:{owner:"Dono",plate:"Placa",vehicle:"Modelo",spawned:"Spawned",state:"Estado",engine:"Motor",body:"Lataria",fuel:"Combust\xEDvel"},recordsPerPage:"Registro por p\xE1gina",paginationLabel:"{from}-{to} de {total}",createVehicle:"Crair ve\xEDculo"},vehicle:{despawnHeader:"Dispawn",despawnMsg:"Quer mesmo dar dispawn este ve\xEDculo?",deleteHeader:"Apagar",deleteMsg:"Quer mesmo apagar o ve\xEDculo da base de dados e dispawna-lo? Outras informa\xE7\xF5es do ve\xEDculo (p.e. porta-malas) n\xE3o s\xE3o alteradas!",changeOwnerHeader:"Selecione o novo dono",changeOwnerInput:"Insira o Citizen-ID dos novos donos",buttons:{changeOwner:"Alterar Dono",despawnVehicle:"Dispawn Ve\xEDculo",repairVehicle:"Reparar Ve\xEDculo",deleteVehicle:"Apagar Ve\xEDculo",openTrunk:"Tronco aberto",openGlovebox:"Abra o porta-luvas"},header:{owner:"Dono",payment:"Pagamento",car:"Carro"},labels:{owner:"Dono",citizenid:"Citizen-ID",license:"Licen\xE7a",depotprice:"Pre\xE7o do Dep\xF3sito",balance:"Saldo",paymentamount:"Quantidade",paymentsleft:"Sobra",financetime:"Tempo de Financiamento",model:"Modelo",plate:"Placa",fakeplate:"Placa Falsa",drivingdistance:"Milhagem",garage:"Garagem",state:"Estado",fuel:"Combust\xEDvel",engine:"Motor",body:"Lataria"},msg:{error:{noMatch:"N\xE3o consegui encontrar o ve\xEDculo. Talvez foi apagado?",not_spawned:"O Ve\xEDculo n\xE3o est\xE1 spawnado.",not_found:"Algo deu errado. N\xE3o consegui encontrar o ve\xEDculo.",missingData:"Faltando informa\xE7\xE3o do dono.",invalid_citizenid:"O Citizen-ID inserido n\xE3o \xE9 v\xE1lido.",sql_error:"Algo de errado aconteceu enquanto executava o SQL. Sem mudan\xE7as realizadas!",allowedCharsNumbers:"S\xF3 pode usar Espa\xE7os, N\xFAmeros e Carat\xE9res na sua matr\xEDcula.",plate_exists:"A matr\xEDcula j\xE1 existe. Por favor escolha outra."}}},vehicleCreate:{new:"Criar novo ve\xEDculo"},logs:{loadMore:"Dar scroll carega mais logs."},configuration:{colorsHeader:"Cores",colorsSub:"Ajuste o tema para condizer com a sua marca.",colors:{primary:"Prim\xE1ria",secondary:"Secund\xE1ria",accent:"Contraste",dark:"Fundo",positive:"Positivo",negative:"Negativo",info:"Informa\xE7\xE3o",warning:"Aviso",main:"Texto",sub:"Subtexto"},buttons:{undo:"Refazer",defaults:"Original"}},inventory:{playerInventory:"Jogador",supporterStash:"Invent\xE1rio Auxiliar",itemName:"Nome",amount:"Quantidade",infoSection:"Informa\xE7\xE3o dos Valores",infoSectionSub:"Adicione uma nova Vari\xE1vel de Informa\xE7\xE3o ao seu item.",addInfoValue:"Adicionar nova",infoName:"Chave",infoValue:"Valor",deleteHeader:"Apagar",deleteMsg:"Quer mesmo apagar este item? N\xE3o pode voltar atr\xE1s!",deleteInfoHeader:"Apagar",deleteInfoMsg:"Quer mesmo apagar a informa\xE7\xE3o {name}? N\xE3o pode voltar atr\xE1s!",addItemTip:"Adicionar novo item",addItemHeader:"Adicionar",clearInvTip:"Limpar invent\xE1rio",clearInvHeader:"Limpar Invent\xE1rio",clearInvMsg:"Quer mesmo limpar o invent\xE1rio completo do jogador? N\xE3o pode voltar atr\xE1s!",msg:{success:{fixedPlayerItems:"Fixed player items and saved deleted items into file (if browser allows)."},error:{failedFetchItems:"Erro ao buscar as defini\xE7\xF5es do item.",failedLoad:"Erro ao buscar os dados do invent\xE1rio.",noItemName:"Sem item selecionado.",unknown_citizenid:"Jogador n\xE3o existe.",noSlot:"Sem slots dispon\xEDveis.",invalid_item:"N\xE3o consegui encontrar as defini\xE7\xF5es do item. Talvez apague este item.",moved:"O item parece ter sido movido. Por favor tente novamente.",negative:"N\xE3o \xE9 poss\xEDvel mover quantidades negativas.",not_enough:"N\xE3o tem quantidade suficiente deste item.",internal:"Erro interno. Por favor contacte a Unlimited.",uniqueInfo:"Vari\xE1veis de Informa\xE7\xE3o devem ser \xFAnicas.",fixPlayer:"Error in PlayerData",fixPlayerText:"This player has a broken PlayerData. Some times this can be caused by invalid item definitions. We can try to fix this by deleting not existing items from the players inventory. This is a experimental feature, be carefull! Should we try to fix it?"}}},devVehicleList:{subheader:"Todos os ve\xEDculos do ficheiro QBCore/Shared/vehicles.lua.",noData:"Sem correspond\xEAncia",loadData:"Carregar dados",headers:{name:"Nome",brand:"Marca",model:"Modelo",hash:"Hash",price:"Pre\xE7o",category:"Categoria"},recordsPerPage:"Registro por p\xE1gina",paginationLabel:"{from}-{to} de {total}",createVehicle:"Criar Ve\xEDculo"},devVehicle:{edit:"Editar ve\xEDculo",model:"Modelo",hash:"Hash",name:"Nome",brand:"Marca",category:"Categoria",categoryLabel:"Categoria label",price:"Pre\xE7o",shop:"Loja",customVariables:"Vari\xE1veis customiz\xE1veis",customVarSub:"Crie a sua vari\xE1vel",addCustomVar:"Adicionar nova vari\xE1vel",customVarName:"Vari\xE1vel",customVarValue:"Valor",msg:{error:{invalid_veh_name:"O nome do ve\xEDculo '{name}' n\xE3o \xE9 do tipo String.",veh_exists:"O ve\xEDculo '{name}' j\xE1 existe.",veh_not_exists:"O ve\xEDculo '{name}' n\xE3o existe.",file_error:"As mudan\xE7as no ve\xEDculo foram transmitidas. Por\xE9m, um erro aconteceu ao salvar o ficheiro .lua. Depois de reiniciar as mudan\xE7as voltaram.",missingFields:"Preencha todas os campos obrigat\xF3rios.",uniqueVars:"As vari\xE1veis devem ser \xFAnicas."}},deleteHeader:"Apagar",deleteMsg:"Quer mesmo apagar {model}? N\xE3o pode voltar atr\xE1s!",deleteCustomVarMsg:"Quer mesmo apagar a vari\xE1vel {name}? N\xE3o pode voltar atr\xE1s!"},devVehicleCreate:{new:"Criar novo ve\xEDculo"},auth:{msg:{error:{not_supported:"O provedor selecionado n\xE3o parece ser suportado.",internal_error:"Erro Interno. Contate Unlimited com a sua mensagem de erro.",no_token:"O Callback n\xE3o forneceu os campos de pesquisa.",userdata_fetch_failed:"N\xE3o foi poss\xEDvel extrair os dados do usu\xE1rio do provedor.",no_fx_user:"Nenhum usu\xE1rio com esse cfx.re encontrado."}}},waypointList:{subheader:"Gerenciar as suas Paradas.",createWaypoint:"Criar Parada",noData:"Sem correspond\xEAncia",loadData:"Carregar Dados",headers:{name:"Nome",label:"Label",coords:"Coordenadas"},recordsPerPage:"Registros por p\xE1gina",paginationLabel:"{from}-{to} de {total}"},waypoint:{edit:"Editar parada",waypoint:"Parada",labels:{name:"Nome",label:"Label",coords:"Coordenadas"},msg:{error:{waypoint_missing:"Parada com o nome '{name}' n\xE3o existe (mais).",waypoint_exist:"Parada com o nome '{name}' j\xE1 existe.",no_waypoints:"Sem Paradas dispon\xEDveis.",missingFields:"Preenche todos campos obrigat\xF3rios.",failedFetchWaypoints:"N\xE3o foi poss\xEDvel coletar as Paradas."}},deleteHeader:"Apagar",deleteMsg:"Deseja realmente apagar {name}? Esta a\xE7\xE3o n\xE3o pode ser refeita!",modalHeader:"Selecionar Parada"},accountList:{subheader:"Pegar jogadores pela sua conta.",noData:"Sem correspond\xEAncia",loadData:"Carregar dados",headers:{name:"Nome",license:"Licen\xE7a",character_count:"Personagens",last_active:"\xDAltima vez online"},recordsPerPage:"Registros por p\xE1gina",paginationLabel:"{from}-{to} de {total}"},stashesList:{subheader:"Vis\xE3o geral dos Stashed configurados.",noData:"Sem correspond\xEAncia",loadData:"Carregar dados",headers:{type:"Tipo",identifier:"Identificador",items:"Slots em uso"},recordsPerPage:"Registro por p\xE1gina",paginationLabel:"{from}-{to} de {total}"},stashes:{stashStorage:"Stashes",supporterStash:"Stash Auxiliar",itemName:"Nome",amount:"Quantidade",infoSection:"Informa\xE7\xE3o dos Valores",infoSectionSub:"Adicione uma nova Vari\xE1vel de Informa\xE7\xE3o ao seu item.",addInfoValue:"Adicionar novo",infoName:"Chave",infoValue:"Valor",deleteHeader:"Apagar",deleteMsg:"Quer mesmo apagar este item? N\xE3o pode voltar atr\xE1s!",deleteInfoHeader:"Apagar",deleteInfoMsg:"Quer mesmo apagar a informa\xE7\xE3o {name}? N\xE3o pode voltar atr\xE1s!",addItemTip:"Adicionar novo item",addItemHeader:"Adicionar",clearStorageTip:"Limpar Stash",clearStorageHeader:"Limpar Stash",clearStorageMsg:"Quer mesmo limpar o Stash completo? N\xE3o pode voltar atr\xE1s!",msg:{error:{failedFetchItems:"Erro ao buscar as defini\xE7\xF5es do item.",failedLoad:"Erro ao buscar os dados do invent\xE1rio.",noItemName:"Sem item selecionado.",unknown_storage:"Stash n\xE3o existe.",noSlot:"Sem slots dispon\xEDveis.",invalid_item:"N\xE3o consegui encontrar as defini\xE7\xF5es do item. Talvez apague este item.",moved:"O item parece ter sido movido. Por favor tente novamente.",negative:"N\xE3o \xE9 poss\xEDvel mover quantidades negativas.",not_enough:"N\xE3o tem quantidade suficiente deste item.",internal:"Erro interno. Por favor contacte a Unlimited.",uniqueInfo:"Vari\xE1veis de Informa\xE7\xE3o devem ser \xFAnicas."}}}},eS={general:Rg,breadcrumb:Og,rules:zg,navigation:Fg,components:Bg},tS=Object.freeze(Object.defineProperty({__proto__:null,general:Rg,breadcrumb:Og,rules:zg,navigation:Fg,components:Bg,default:eS},Symbol.toStringTag,{value:"Module"})),Hg={timestamp:"\u0BA8\u0BC7\u0BB0 \u0BAE\u0BC1\u0BA4\u0BCD\u0BA4\u0BBF\u0BB0\u0BC8",logout:"\u0BB5\u0BC6\u0BB3\u0BBF\u0BAF\u0BC7\u0BB1\u0BC1",username:"\u0BAA\u0BAF\u0BA9\u0BB0\u0BCD \u0BAA\u0BC6\u0BAF\u0BB0\u0BCD",password:"\u0B95\u0B9F\u0BB5\u0BC1\u0B9A\u0BCD\u0B9A\u0BC6\u0BBE\u0BB2\u0BCD",confirmPassword:"\u0B95\u0B9F\u0BB5\u0BC1\u0B9A\u0BCD\u0B9A\u0BCA\u0BB2\u0BCD\u0BB2\u0BC8 \u0B89\u0BB1\u0BC1\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0B9F\u0BC1\u0BA4\u0BCD\u0BA4\u0BB5\u0BC1\u0BAE\u0BCD",setupToken:"Token",languages:{de:"German",en:"English",es:"Spanish",dk:"Danish",et:"Estonia",nl:"Dutch",no:"Norwegian",pl:"Polski",pt:"Portuguese",ta:"Indian - Tamil",tr:"Turkish"},save:"\u0B9A\u0BC7\u0BAE\u0BBF\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD",delete:"\u0B85\u0BB4\u0BBF",search:"\u0BA4\u0BC7\u0B9F\u0BC1",change:"\u0BAE\u0BBE\u0BB1\u0BCD\u0BB1\u0BB5\u0BC1\u0BAE\u0B82",success:"\u0BB5\u0BC6\u0BB1\u0BCD\u0BB1\u0BBF",error:"\u0BAA\u0BBF\u0BB4\u0BC8",saved:"\u0BB5\u0BC6\u0BB1\u0BCD\u0BB1\u0BBF\u0B95\u0BB0\u0BAE\u0BBE\u0B95 \u0B9A\u0BC7\u0BAE\u0BBF\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1.",deleted:"\u0BB5\u0BC6\u0BB1\u0BCD\u0BB1\u0BBF\u0B95\u0BB0\u0BAE\u0BBE\u0B95 \u0BA8\u0BC0\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1.",cleared:"\u0BB5\u0BC6\u0BB1\u0BCD\u0BB1\u0BBF\u0B95\u0BB0\u0BAE\u0BBE\u0B95 \u0B85\u0BB4\u0BBF\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1.",ok:"\u0B9A\u0BB0\u0BBF",cancel:"\u0BB0\u0BA4\u0BCD\u0BA4\u0BC1 \u0B9A\u0BC6\u0BAF\u0BCD",create:"\u0B89\u0BB0\u0BC1\u0BB5\u0BBE\u0B95\u0BCD\u0B95\u0BC1",back:"\u0BAA\u0BBF\u0BA9\u0BCD\u0BA9\u0BBE\u0BB2\u0BCD",changePassword:"\u0B95\u0B9F\u0BB5\u0BC1\u0B9A\u0BCD\u0B9A\u0BC6\u0BBE\u0BB2\u0BCD\u0BB2\u0BC8 \u0BAE\u0BBE\u0BB1\u0BCD\u0BB1\u0BB5\u0BC1\u0BAE\u0B82",kick:"\u0B89\u0BA4\u0BC8",ban:"\u0BA4\u0B9F\u0BC8 \u0B9A\u0BC6\u0BAF\u0BCD",fillUp:"\u0BA8\u0BBF\u0BB0\u0BAA\u0BCD\u0BAA\u0BB5\u0BC1\u0BAE\u0BCD",relax:"Relax",add:"\u0B9A\u0BC7\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0B82",added:"\u0B9A\u0BC7\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1",teleport:"Teleport",teleported:"Teleport \u0BB5\u0BC6\u0BB1\u0BCD\u0BB1\u0BBF\u0B95\u0BB0\u0BAE\u0BBE\u0B95 \u0B89\u0BB3\u0BCD\u0BB3\u0BA4\u0BC1.",cantReach:"\u0B9A\u0BC7\u0BB5\u0BC8\u0BAF\u0B95\u0BA4\u0BCD\u0BA4\u0BC8 \u0B85\u0B9F\u0BC8\u0BAF \u0BAE\u0BC1\u0B9F\u0BBF\u0BAF\u0BB5\u0BBF\u0BB2\u0BCD\u0BB2\u0BC8.",male:"\u0B86\u0BA3\u0BCD",female:"\u0BAA\u0BC6\u0BA3\u0BCD",yes:"\u0B86\u0BAE\u0BCD",no:"\u0B87\u0BB2\u0BCD\u0BB2\u0BC8",reason:"\u0B95\u0BBE\u0BB0\u0BA3\u0BAE\u0BCD",time:"\u0BA8\u0BC7\u0BB0\u0BAE\u0BCD",bantime:"\u0BA8\u0BCA\u0B9F\u0BBF\u0B95\u0BB3\u0BBF\u0BB2\u0BCD \u0BA8\u0BC7\u0BB0\u0BAE\u0BCD.",warnHeader:"\u0B8E\u0B9A\u0BCD\u0B9A\u0BB0\u0BBF\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD",warnMsg:"\u0B8E\u0B9A\u0BCD\u0B9A\u0BB0\u0BBF\u0B95\u0BCD\u0B95\u0BC8 \u0B95\u0BBE\u0BB0\u0BA3\u0BA4\u0BCD\u0BA4\u0BC8 \u0B89\u0BB3\u0BCD\u0BB3\u0BBF\u0B9F\u0BB5\u0BC1\u0BAE\u0BCD {name}.",warnBanHeader:"\u0BA4\u0B9F\u0BC8/\u0B8E\u0B9A\u0BCD\u0B9A\u0BB0\u0BBF\u0B95\u0BCD\u0B95\u0BC8",banHeader:"\u0BA4\u0B9F\u0BC8",banMsg:"\u0BA4\u0B9F\u0BC8\u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0B95\u0BBE\u0BB0\u0BA3\u0BA4\u0BCD\u0BA4\u0BC8\u0BAF\u0BC1\u0BAE\u0BCD \u0B85\u0BA4\u0BB1\u0BCD\u0B95\u0BBE\u0BA9 \u0BA8\u0BC7\u0BB0\u0BA4\u0BCD\u0BA4\u0BC8\u0BAF\u0BC1\u0BAE\u0BCD \u0B89\u0BB3\u0BCD\u0BB3\u0BBF\u0B9F\u0BB5\u0BC1\u0BAE\u0BCD {name}.",banSuccess:"\u0BB5\u0BC0\u0BB0\u0BB0\u0BCD \u0BA4\u0B9F\u0BC8 \u0B9A\u0BC6\u0BAF\u0BCD\u0BAF\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BBE\u0BB0\u0BCD.",unbanHeader:"\u0BA4\u0B9F\u0BC8\u0BAF\u0BC8 \u0BAE\u0BC0\u0B9F\u0BCD\u0B9F\u0BAE\u0BC8\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD",unbanMsg:"\u0BA8\u0BC0\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B89\u0BA3\u0BCD\u0BAE\u0BC8\u0BAF\u0BBF\u0BB2\u0BCD \u0BA4\u0B9F\u0BC8\u0BAF\u0BC8 \u0BA8\u0BC0\u0B95\u0BCD\u0B95 \u0BB5\u0BBF\u0BB0\u0BC1\u0BAE\u0BCD\u0BAA\u0BC1\u0B95\u0BBF\u0BB1\u0BC0\u0BB0\u0BCD\u0B95\u0BB3\u0BBE {name}?",unbanSuccess:"\u0BB5\u0BC0\u0BB0\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BC1 \u0BA4\u0B9F\u0BC8 \u0BB5\u0BBF\u0BA4\u0BBF\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BB5\u0BBF\u0BB2\u0BCD\u0BB2\u0BC8.",kickHeader:"\u0B89\u0BA4\u0BC8",kickMsg:"\u0B89\u0BA4\u0BC8\u0B95\u0BCD\u0B95\u0BC1\u0BAE\u0BCD \u0B95\u0BBE\u0BB0\u0BA3\u0BA4\u0BCD\u0BA4\u0BC8 \u0B89\u0BB3\u0BCD\u0BB3\u0BBF\u0B9F\u0BB5\u0BC1\u0BAE\u0BCD {name}.",kickSuccess:"\u0BB5\u0BC0\u0BB0\u0BB0\u0BCD \u0B89\u0BA4\u0BC8\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BBE\u0BB0\u0BCD.",toggleAll:"\u0B85\u0BA9\u0BC8\u0BA4\u0BCD\u0BA4\u0BC8\u0BAF\u0BC1\u0BAE\u0BCD \u0BA8\u0BBF\u0BB2\u0BC8\u0BAE\u0BBE\u0BB1\u0BCD\u0BB1\u0BC1",heal:"\u0B95\u0BC1\u0BA3\u0BAE\u0B9F\u0BC8\u0BAF\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD",offline:"\u0BB5\u0BC0\u0BB0\u0BB0\u0BCD \u0B86\u0B83\u0BAA\u0BCD\u0BB2\u0BC8\u0BA9\u0BCD",or:"\u0B85\u0BB2\u0BCD\u0BB2\u0BA4\u0BC1",timeout:"\u0B95\u0BCB\u0BB0\u0BBF\u0B95\u0BCD\u0B95\u0BC8 \u0BA8\u0BC7\u0BB0\u0BAE\u0BCD \u0BAE\u0BC1\u0B9F\u0BBF\u0BA8\u0BCD\u0BA4\u0BA4\u0BC1."},$g={vehicles:"\u0BB5\u0BBE\u0B95\u0BA9\u0B99\u0BCD\u0B95\u0BB3\u0BCD",vehicle:"\u0BB5\u0BBE\u0B95\u0BA9\u0BAE\u0BCD",items:"\u0BAA\u0BC6\u0BBE\u0BB0\u0BC1\u0B9F\u0BCD\u0B95\u0BB3\u0BCD",item:"\u0BAA\u0BC6\u0BBE\u0BB0\u0BC1\u0BB3\u0BCD",jobs:"\u0BB5\u0BC7\u0BB2\u0BC8\u0B95\u0BB3\u0BCD",job:"\u0BB5\u0BC7\u0BB2\u0BC8",gangs:"\u0B95\u0BC1\u0BAE\u0BCD\u0BAA\u0BB2\u0BCD\u0B95\u0BB3\u0BCD",gang:"\u0B95\u0BC1\u0BAE\u0BCD\u0BAA\u0BB2\u0BCD",users:"\u0BAA\u0BAF\u0BA9\u0BB0\u0BCD\u0B95\u0BB3\u0BCD",user:"\u0BAA\u0BAF\u0BA9\u0BB0\u0BCD",roles:"\u0BAA\u0BBE\u0BA4\u0BCD\u0BA4\u0BBF\u0BB0\u0B99\u0BCD\u0B95\u0BB3\u0BCD",role:"\u0BAA\u0BBE\u0BA4\u0BCD\u0BA4\u0BBF\u0BB0\u0BAE\u0BCD",map:"\u0BB5\u0BB0\u0BC8\u0BAA\u0B9F\u0BAE\u0BCD",dashboard:"\u0B95\u0B9F\u0BCD\u0B9F\u0BC1\u0BAA\u0BCD\u0BAA\u0BBE\u0B9F\u0BCD\u0B9F\u0BC1 \u0B85\u0BB1\u0BC8",logs:"\u0BAA\u0BA4\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD",accounts:"\u0B95\u0BA3\u0B95\u0BCD\u0B95\u0BC1\u0B95\u0BB3\u0BCD",account:"\u0B95\u0BA3\u0B95\u0BCD\u0B95\u0BC1\u0B95\u0BB3\u0BCD",players:"\u0BB5\u0BC0\u0BB0\u0BB0\u0BCD\u0B95\u0BB3\u0BCD",player:"\u0BB5\u0BC0\u0BB0\u0BB0\u0BCD",inventory:"Inventory",config:"\u0B95\u0B9F\u0BCD\u0B9F\u0BAE\u0BC8\u0BAA\u0BCD\u0BAA\u0BC1",waypoints:"\u0BB5\u0BB4\u0BBF\u0BAA\u0BCD \u0BAA\u0BC1\u0BB3\u0BCD\u0BB3\u0BBF\u0B95\u0BB3\u0BCD",waypoint:"\u0BB5\u0BB4\u0BBF\u0BAA\u0BCD \u0BAA\u0BC1\u0BB3\u0BCD\u0BB3\u0BBF\u0B95\u0BB3\u0BCD",stashes:"\u0BB8\u0BCD\u0B9F\u0BBE\u0BB7\u0BCD\u0B95\u0BB3\u0BCD",stash:"\u0BB8\u0BCD\u0B9F\u0BBE\u0BB7\u0BCD"},qg={required:"\u0B87\u0BA8\u0BCD\u0BA4 \u0BAA\u0BC1\u0BB2\u0BAE\u0BCD \u0BA4\u0BC7\u0BB5\u0BC8.",passwordConfirm:"\u0B95\u0B9F\u0BB5\u0BC1\u0B9A\u0BCD\u0B9A\u0BC6\u0BBE\u0BB1\u0BCD\u0B95\u0BB3\u0BCD \u0BAA\u0BC6\u0BBE\u0BB0\u0BC1\u0BA8\u0BCD\u0BA4\u0BB5\u0BBF\u0BB2\u0BCD\u0BB2\u0BC8.",noSpace:"\u0B87\u0B9F\u0BAE\u0BCD \u0B85\u0BA9\u0BC1\u0BAE\u0BA4\u0BBF\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BB5\u0BBF\u0BB2\u0BCD\u0BB2\u0BC8.",numbers:"\u0B8E\u0BA3\u0BCD\u0B95\u0BB3\u0BCD \u0BAE\u0B9F\u0BCD\u0B9F\u0BC1\u0BAE\u0BC7 \u0B85\u0BA9\u0BC1\u0BAE\u0BA4\u0BBF\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BC1\u0BAE\u0BCD.",unique:"\u0BA4\u0BA9\u0BBF\u0BA4\u0BCD\u0BA4\u0BC1\u0BB5\u0BAE\u0BBE\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD.",defaults:"\u0B87\u0BAF\u0BB2\u0BCD\u0BAA\u0BC1\u0BA8\u0BBF\u0BB2\u0BC8 \u0BB5\u0BBF\u0B9A\u0BC8\u0B95\u0BB3\u0BCD \u0B85\u0BA9\u0BC1\u0BAE\u0BA4\u0BBF\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BB5\u0BBF\u0BB2\u0BCD\u0BB2\u0BC8.",onlyCharsNumbers:"\u0B87\u0B9F\u0BAE\u0BCD, \u0B8E\u0BA3\u0BCD\u0B95\u0BB3\u0BCD \u0BAE\u0BB1\u0BCD\u0BB1\u0BC1\u0BAE\u0BCD \u0B8E\u0BB4\u0BC1\u0BA4\u0BCD\u0BA4\u0BC1\u0B95\u0BCD\u0B95\u0BB3\u0BCD \u0BAE\u0B9F\u0BCD\u0B9F\u0BC1\u0BAE\u0BC7 \u0B85\u0BA9\u0BC1\u0BAE\u0BA4\u0BBF\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BC1\u0B95\u0BBF\u0BA9\u0BCD\u0BB1\u0BA9."},Kg={header:{gameserver:"Gameserver",development:"Development",management:"Management"},titles:{dashboard:"\u0B95\u0B9F\u0BCD\u0B9F\u0BC1\u0BAA\u0BCD\u0BAA\u0BBE\u0B9F\u0BCD\u0B9F\u0BC1 \u0B85\u0BB1\u0BC8",livemap:"\u0BA8\u0BC7\u0BB0\u0B9F\u0BBF \u0BB5\u0BB0\u0BC8\u0BAA\u0B9F\u0BAE\u0BCD",waypoint:"\u0BB5\u0BB4\u0BBF\u0BAA\u0BCD \u0BAA\u0BC1\u0BB3\u0BCD\u0BB3\u0BBF\u0B95\u0BB3\u0BCD",account:"\u0B95\u0BA3\u0B95\u0BCD\u0B95\u0BC1\u0B95\u0BB3\u0BCD",player:"\u0BB5\u0BC0\u0BB0\u0BB0\u0BCD\u0B95\u0BB3\u0BCD",logs:"\u0BAA\u0BA4\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD",vehicle:"\u0BB5\u0BBE\u0B95\u0BA9\u0B99\u0BCD\u0B95\u0BB3\u0BCD",items:"\u0BAA\u0BC6\u0BBE\u0BB0\u0BC1\u0B9F\u0BCD\u0B95\u0BB3\u0BCD",jobs:"\u0BB5\u0BC7\u0BB2\u0BC8\u0B95\u0BB3\u0BCD",gangs:"\u0B95\u0BC1\u0BAE\u0BCD\u0BAA\u0BB2\u0BCD\u0B95\u0BB3\u0BCD",users:"\u0BAA\u0BAF\u0BA9\u0BB0\u0BCD\u0B95\u0BB3\u0BCD",roles:"\u0BAA\u0BBE\u0BA4\u0BCD\u0BA4\u0BBF\u0BB0\u0B99\u0BCD\u0B95\u0BB3\u0BCD",web:"\u0BB5\u0BB2\u0BC8",config:"\u0B95\u0B9F\u0BCD\u0B9F\u0BAE\u0BC8\u0BAA\u0BCD\u0BAA\u0BC1",stashes:"\u0BB8\u0BCD\u0B9F\u0BBE\u0BB7\u0BCD\u0B95\u0BB3\u0BCD"}},Gg={general:{changePasswordHeader:"\u0B95\u0B9F\u0BB5\u0BC1\u0B9A\u0BCD\u0B9A\u0BC6\u0BBE\u0BB2\u0BCD\u0BB2\u0BC8 \u0BAE\u0BBE\u0BB1\u0BCD\u0BB1\u0BB5\u0BC1\u0BAE\u0B82",changePasswordMsg:"\u0B89\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0BAA\u0BC1\u0BA4\u0BBF\u0BAF \u0B95\u0B9F\u0BB5\u0BC1\u0B9A\u0BCD\u0B9A\u0BCA\u0BB2\u0BCD\u0BB2\u0BC8 \u0B89\u0BB3\u0BCD\u0BB3\u0BBF\u0B9F\u0BB5\u0BC1\u0BAE\u0BCD.",msg:{error:{user_missing:"\u0B89\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0BAA\u0BAF\u0BA9\u0BB0\u0BCD \u0B95\u0BA3\u0B95\u0BCD\u0B95\u0BC8\u0B95\u0BCD \u0B95\u0BA3\u0BCD\u0B9F\u0BB1\u0BBF\u0BAF \u0BAE\u0BC1\u0B9F\u0BBF\u0BAF\u0BB5\u0BBF\u0BB2\u0BCD\u0BB2\u0BC8."}}},dashboard:{cpu:"CPU \u0BAA\u0BAF\u0BA9\u0BCD\u0BAA\u0BBE\u0B9F\u0BC1",ram:"Memory \u0BAA\u0BAF\u0BA9\u0BCD\u0BAA\u0BBE\u0B9F\u0BC1",process:"Process \u0BAA\u0BAF\u0BA9\u0BCD\u0BAA\u0BBE\u0B9F\u0BC1",onlinePlayers:"\u0BB5\u0BC0\u0BB0\u0BB0\u0BCD\u0B95\u0BB3\u0BCD \u0B86\u0BA9\u0BCD\u0BB2\u0BC8\u0BA9\u0BCD",gangOnline:"\u0B95\u0BC1\u0BAE\u0BCD\u0BAA\u0BB2\u0BCD \u0B89\u0BB1\u0BC1\u0BAA\u0BCD\u0BAA\u0BBF\u0BA9\u0BB0\u0BCD\u0B95\u0BB3\u0BCD \u0B86\u0BA9\u0BCD\u0BB2\u0BC8\u0BA9\u0BCD",jobsDuty:"\u0B95\u0B9F\u0BAE\u0BC8\u0BAF\u0BBF\u0BB2\u0BCD \u0B89\u0BB3\u0BCD\u0BB3 \u0BB5\u0BC0\u0BB0\u0BB0\u0BCD\u0B95\u0BB3\u0BCD",headers:{name:"\u0BAA\u0BC6\u0BAF\u0BB0\u0BCD",character:"\u0BAA\u0BBE\u0BA4\u0BCD\u0BA4\u0BBF\u0BB0\u0BAE\u0BCD",job:"\u0BB5\u0BC7\u0BB2\u0BC8",count:"\u0B8E\u0BA3\u0BCD\u0BA3\u0BC1",gang:"\u0B95\u0BC1\u0BAE\u0BCD\u0BAA\u0BB2\u0BCD",rank:"\u0BA4\u0BB0\u0BB5\u0BB0\u0BBF\u0B9A\u0BC8"}},setup:{finishButton:"\u0B85\u0BAE\u0BC8\u0BB5\u0BC8 \u0BAE\u0BC1\u0B9F\u0BBF\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD",backButton:"\u0BAE\u0BC1\u0BA8\u0BCD\u0BA4\u0BC8\u0BAF\u0BA4\u0BC1",nextButton:"\u0B85\u0B9F\u0BC1\u0BA4\u0BCD\u0BA4\u0BA4\u0BC1",welcomeHeader:"\u0BB5\u0BB0\u0BB5\u0BC7\u0BB1\u0BCD\u0BAA\u0BC1",welcomeSub:"Unlimited Webpanel \u0B89\u0B99\u0BCD\u0B95\u0BB3\u0BC8 \u0BB5\u0BB0\u0BB5\u0BC7\u0BB1\u0BCD\u0B95\u0BBF\u0BB1\u0BA4\u0BC1! \u0B87\u0BA8\u0BCD\u0BA4 \u0B85\u0BAE\u0BC8\u0BAA\u0BCD\u0BAA\u0BBE\u0BA9\u0BA4\u0BC1 \u0B89\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B85\u0BB1\u0BCD\u0BAA\u0BC1\u0BA4\u0BAE\u0BBE\u0BA9 \u0B85\u0BA9\u0BC1\u0BAA\u0BB5\u0BA4\u0BCD\u0BA4\u0BC8\u0BA4\u0BCD \u0BA4\u0BCA\u0B9F\u0B99\u0BCD\u0B95\u0BC1\u0BAE\u0BCD.",langHeader:"\u0BAE\u0BCA\u0BB4\u0BBF \u0BA4\u0BC7\u0BB0\u0BCD\u0BB5\u0BC1",langSub:"\u0B89\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0BAE\u0BCA\u0BB4\u0BBF\u0BAF\u0BC8\u0BA4\u0BCD \u0BA4\u0BC7\u0BB0\u0BCD\u0BA8\u0BCD\u0BA4\u0BC6\u0B9F\u0BC1\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD.",masterHeader:"\u0BAE\u0BC1\u0BA4\u0BA9\u0BCD\u0BAE\u0BC8 \u0B95\u0BA3\u0B95\u0BCD\u0B95\u0BC1",masterSub:"\u0B85\u0BA9\u0BC1\u0BAE\u0BA4\u0BBF\u0B95\u0BB3\u0BC8\u0BAA\u0BCD \u0BAA\u0BCA\u0BB0\u0BC1\u0B9F\u0BCD\u0BAA\u0B9F\u0BC1\u0BA4\u0BCD\u0BA4\u0BBE\u0BAE\u0BB2\u0BCD, \u0B89\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0BAE\u0BC1\u0BA4\u0BA9\u0BCD\u0BAE\u0BC8\u0B95\u0BCD \u0B95\u0BA3\u0B95\u0BCD\u0B95\u0BBF\u0BB1\u0BCD\u0B95\u0BC1 \u0B8E\u0BAA\u0BCD\u0BAA\u0BCB\u0BA4\u0BC1\u0BAE\u0BCD \u0BAE\u0BC1\u0BB4\u0BC1 \u0B85\u0BA3\u0BC1\u0B95\u0BB2\u0BCD \u0B89\u0BB0\u0BBF\u0BAE\u0BC8\u0B95\u0BB3\u0BCD \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95\u0BC1\u0BAE\u0BCD.",tokenHeader:"\u0B85\u0BAE\u0BC8\u0BB5\u0BC1 Token",tokenSub:"\u0B9A\u0BB0\u0BBF\u0BAA\u0BBE\u0BB0\u0BCD\u0BAA\u0BCD\u0BAA\u0BBF\u0BB1\u0BCD\u0B95\u0BBE\u0B95 \u0B89\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B85\u0BAE\u0BC8\u0BB5\u0BC1 \u0B9F\u0BCB\u0B95\u0BCD\u0B95\u0BA9\u0BC8 \u0B9A\u0BB0\u0BCD\u0BB5\u0BB0\u0BCD \u0B95\u0BA9\u0BCD\u0B9A\u0BCB\u0BB2\u0BBF\u0BB2\u0BCD \u0B87\u0BB0\u0BC1\u0BA8\u0BCD\u0BA4\u0BC1 \u0BA8\u0B95\u0BB2\u0BC6\u0B9F\u0BC1\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD.",tokenPlaceHolder:"\u0B85\u0BAE\u0BC8\u0BB5\u0BC1 \u0B9F\u0BCB\u0B95\u0BCD\u0B95\u0BA9\u0BC8\u0B9A\u0BCD \u0B9A\u0BC7\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD"},login:{subtext:" Unlimted Webpanel\u0B95\u0BCD\u0B95\u0BC1 \u0BB5\u0BB0\u0BB5\u0BC7\u0BB1\u0BCD\u0B95\u0BBF\u0BB1\u0BCB\u0BAE\u0BCD! \u0B89\u0BB3\u0BCD\u0BA8\u0BC1\u0BB4\u0BC8\u0BAF\u0BB5\u0BC1\u0BAE\u0BCD.",msg:{error:{not_supported:"\u0BA4\u0BC7\u0BB0\u0BCD\u0BA8\u0BCD\u0BA4\u0BC6\u0B9F\u0BC1\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F \u0BB5\u0BB4\u0B99\u0BCD\u0B95\u0BC1\u0BA8\u0BB0\u0BCD \u0B86\u0BA4\u0BB0\u0BBF\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BB5\u0BBF\u0BB2\u0BCD\u0BB2\u0BC8.",internal_error:"\u0B89\u0BB3\u0BCD \u0BAA\u0BBF\u0BB4\u0BC8. \u0B89\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0BAA\u0BBF\u0BB4\u0BC8 \u0B9A\u0BC6\u0BAF\u0BCD\u0BA4\u0BBF\u0BAF\u0BC1\u0B9F\u0BA9\u0BCD Unlimited \u0B9F\u0BC8 \u0BA4\u0BCA\u0B9F\u0BB0\u0BCD\u0BAA\u0BC1 \u0B95\u0BCA\u0BB3\u0BCD\u0BB3\u0BB5\u0BC1\u0BAE\u0BCD."}}},itemList:{subheader:"QBCore/Shared/items.lua \u0B87\u0BB2\u0BBF\u0BB0\u0BC1\u0BA8\u0BCD\u0BA4\u0BC1 \u0B85\u0BA9\u0BC8\u0BA4\u0BCD\u0BA4\u0BC1 \u0B89\u0BB0\u0BC1\u0BAA\u0BCD\u0BAA\u0B9F\u0BBF\u0B95\u0BB3\u0BC1\u0BAE\u0BCD QB-Exports/Functions \u0BAE\u0BC2\u0BB2\u0BAE\u0BCD \u0BAA\u0BA4\u0BBF\u0BB5\u0BC1\u0B9A\u0BC6\u0BAF\u0BCD\u0BAF\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F \u0B89\u0BB0\u0BC1\u0BAA\u0BCD\u0BAA\u0B9F\u0BBF\u0B95\u0BB3\u0BCD \u0B95\u0BBE\u0B9F\u0BCD\u0B9F\u0BAA\u0BCD\u0BAA\u0B9F\u0BBE\u0BA4\u0BC1.",noData:"\u0BAA\u0BC6\u0BBE\u0BB0\u0BC1\u0BA4\u0BCD\u0BA4\u0BAE\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8",loadData:"\u0BA4\u0BB0\u0BB5\u0BC8 \u0B8F\u0BB1\u0BCD\u0BB1\u0BB5\u0BC1\u0BAE\u0BCD",headers:{label:"Label",type:"\u0BB5\u0B95\u0BC8",weight:"\u0B8E\u0B9F\u0BC8",name:"\u0BAA\u0BC6\u0BAF\u0BB0\u0BCD",useable:"\u0BAA\u0BAF\u0BA9\u0BCD\u0BAA\u0B9F\u0BC1\u0BA4\u0BCD\u0BA4\u0B95\u0BCD\u0B95\u0BC2\u0B9F\u0BBF\u0BAF\u0BA4\u0BC1",unique:"\u0BA4\u0BA9\u0BBF\u0BA4\u0BCD\u0BA4\u0BC1\u0BB5\u0BAE\u0BBE\u0BA9",shouldClose:"\u0BA8\u0BC6\u0BB0\u0BC1\u0B95\u0BCD\u0B95\u0BAE\u0BBE\u0BA9"},recordsPerPage:"\u0B92\u0BB0\u0BC1 \u0BAA\u0B95\u0BCD\u0B95\u0BA4\u0BCD\u0BA4\u0BBF\u0BB1\u0BCD\u0B95\u0BC1 \u0BAA\u0BA4\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD",paginationLabel:"{from}-{to} \u0B87\u0BA9\u0BCD {total}",createItem:"\u0BAA\u0BCA\u0BB0\u0BC1\u0BB3\u0BC8 \u0B89\u0BB0\u0BC1\u0BB5\u0BBE\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD"},item:{name:"\u0BAA\u0BC6\u0BAF\u0BB0\u0BCD / \u0BA4\u0BBF\u0BB1\u0BB5\u0BC1\u0B95\u0BCB\u0BB2\u0BCD",label:"Label",desc:"\u0BB5\u0BBF\u0BB3\u0B95\u0BCD\u0B95\u0BAE\u0BCD",image:"Icon",weight:"\u0B8E\u0B9F\u0BC8",type:"\u0BB5\u0B95\u0BC8",useable:"\u0BAA\u0BAF\u0BA9\u0BCD\u0BAA\u0B9F\u0BC1\u0BA4\u0BCD\u0BA4\u0B95\u0BCD\u0B95\u0BC2\u0B9F\u0BBF\u0BAF\u0BA4\u0BC1",unique:"\u0BA4\u0BA9\u0BBF\u0BA4\u0BCD\u0BA4\u0BC1\u0BB5\u0BAE\u0BBE\u0BA9",shouldClose:"\u0BAA\u0BAF\u0BA9\u0BCD\u0BAA\u0BBE\u0B9F\u0BCD\u0B9F\u0BBF\u0BB1\u0BCD\u0B95\u0BC1 \u0BAA\u0BBF\u0BB1\u0B95\u0BC1 \u0BAE\u0BC2\u0B9F\u0BB5\u0BC1\u0BAE\u0BCD",edit:"\u0B89\u0BB0\u0BC1\u0BAA\u0BCD\u0BAA\u0B9F\u0BBF\u0BAF\u0BC8\u0BA4\u0BCD \u0BA4\u0BBF\u0BB0\u0BC1\u0BA4\u0BCD\u0BA4\u0BB5\u0BC1\u0BAE\u0BCD",customVariables:"\u0BB5\u0BBF\u0BB0\u0BC1\u0BAA\u0BCD\u0BAA \u0BAE\u0BBE\u0BB1\u0BBF\u0B95\u0BB3\u0BCD",customVarSub:"\u0B89\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B9A\u0BCA\u0BA8\u0BCD\u0BA4 \u0BAE\u0BBE\u0BB1\u0BBF\u0B95\u0BB3\u0BC8 \u0B89\u0BB0\u0BC1\u0BB5\u0BBE\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD.",addCustomVar:"\u0BAA\u0BC1\u0BA4\u0BBF\u0BAF \u0BAE\u0BBE\u0BB1\u0BBF\u0BAF\u0BC8\u0B9A\u0BCD \u0B9A\u0BC7\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD",customVarName:"\u0BAE\u0BBE\u0BB1\u0BBF",customVarValue:"\u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1",combinability:"\u0B9A\u0BC7\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BC8",combinabSub:"\u0B8E\u0BA8\u0BCD\u0BA4\u0BC6\u0BA8\u0BCD\u0BA4 \u0B89\u0BB0\u0BC1\u0BAA\u0BCD\u0BAA\u0B9F\u0BBF\u0B95\u0BB3\u0BC1\u0B9F\u0BA9\u0BCD \u0BA4\u0BA9\u0BBF\u0BA4\u0BCD\u0BA4\u0BA9\u0BBF\u0BAF\u0BBE\u0B95 \u0B89\u0BB0\u0BC1\u0BAA\u0BCD\u0BAA\u0B9F\u0BBF\u0BAF\u0BC8 \u0B87\u0BA3\u0BC8\u0B95\u0BCD\u0B95 \u0BAE\u0BC1\u0B9F\u0BBF\u0BAF\u0BC1\u0BAE\u0BCD, \u0B85\u0BA4\u0BA9\u0BCD \u0BB5\u0BBF\u0BB3\u0BC8\u0BB5\u0BBE\u0B95 \u0B8E\u0BA9\u0BCD\u0BA9 \u0B89\u0BB0\u0BC1\u0BB5\u0BBE\u0B95\u0BCD\u0B95\u0BC1\u0B95\u0BBF\u0BB1\u0BA4\u0BC1 \u0BAE\u0BB1\u0BCD\u0BB1\u0BC1\u0BAE\u0BCD \u0B8E\u0BA8\u0BCD\u0BA4 Animation \u0B8E\u0BB5\u0BCD\u0BB5\u0BB3\u0BB5\u0BC1 \u0BA8\u0BC7\u0BB0\u0BAE\u0BCD \u0BAE\u0BB1\u0BCD\u0BB1\u0BC1\u0BAE\u0BCD \u0B8E\u0BA8\u0BCD\u0BA4 \u0B89\u0BB0\u0BC8\u0B95\u0BCD\u0B95\u0BC1 \u0B95\u0BBE\u0B9F\u0BCD\u0B9F\u0BAA\u0BCD\u0BAA\u0B9F \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD \u0B8E\u0BA9\u0BCD\u0BAA\u0BA4\u0BC8 \u0B87\u0B99\u0BCD\u0B95\u0BC7 \u0BA8\u0BC0\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B95\u0BC1\u0BB1\u0BBF\u0BAA\u0BCD\u0BAA\u0BBF\u0B9F\u0BB2\u0BBE\u0BAE\u0BCD.",combinable:{accept:"\u0B87\u0BA3\u0BC8\u0BA8\u0BCD\u0BA4\u0BC1",reward:"\u0BB5\u0BBF\u0BB3\u0BC8\u0BB5\u0BBE\u0B95",text:"\u0B95\u0BBE\u0B9F\u0BCD\u0B9A\u0BBF \u0B89\u0BB0\u0BC8",timeOut:"\u0BA8\u0BC7\u0BB0\u0BAE\u0BCD",lib:"Animation Lib",dict:"Animation Dict"},deleteHeader:"\u0B85\u0BB4\u0BBF",deleteMsg:"\u0BA8\u0BC0\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B89\u0BA3\u0BCD\u0BAE\u0BC8\u0BAF\u0BBF\u0BB2\u0BCD \u0BA8\u0BC0\u0B95\u0BCD\u0B95 \u0BB5\u0BBF\u0BB0\u0BC1\u0BAE\u0BCD\u0BAA\u0BC1\u0B95\u0BBF\u0BB1\u0BC0\u0BB0\u0BCD\u0B95\u0BB3\u0BBE {itemLabel} [{itemName}]? \u0B87\u0BA4\u0BC8 \u0BAE\u0BC0\u0BA3\u0B82\u0B9F\u0BC2\u0BAE\u0B82 \u0B87\u0BAF\u0B95\u0BCD\u0B95 \u0BAE\u0BC1\u0B9F\u0BBF\u0BAF\u0BBE\u0BA4\u0BC1!",deleteCustomVarMsg:"\u0BA8\u0BC0\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B89\u0BA3\u0BCD\u0BAE\u0BC8\u0BAF\u0BBF\u0BB2\u0BCD \u0BAE\u0BBE\u0BB1\u0BBF\u0BAF\u0BC8 \u0BA8\u0BC0\u0B95\u0BCD\u0B95 \u0BB5\u0BBF\u0BB0\u0BC1\u0BAE\u0BCD\u0BAA\u0BC1\u0B95\u0BBF\u0BB1\u0BC0\u0BB0\u0BCD\u0B95\u0BB3\u0BBE {name}? \u0B87\u0BA4\u0BC8 \u0BAE\u0BC0\u0BA3\u0B82\u0B9F\u0BC2\u0BAE\u0B82 \u0B87\u0BAF\u0B95\u0BCD\u0B95 \u0BAE\u0BC1\u0B9F\u0BBF\u0BAF\u0BBE\u0BA4\u0BC1!",msg:{error:{invalid_item_name:"'{name}'\u0B8E\u0BA9\u0BC1\u0BAE\u0B82 \u0BAA\u0BCA\u0BB0\u0BC1\u0BB3\u0BBF\u0BA9\u0BCD \u0BAA\u0BC6\u0BAF\u0BB0\u0BCD \u0B9A\u0BB0\u0BAE\u0BCD \u0BB5\u0B95\u0BC8 \u0B85\u0BB2\u0BCD\u0BB2.",item_exists:"'{name}' \u0B8E\u0BA9\u0BC1\u0BAE\u0B82 \u0BAA\u0BC6\u0BBE\u0BB0\u0BC1\u0BB3\u0BCD \u0B8F\u0BB1\u0BCD\u0B95\u0BA9\u0BB5\u0BC7 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95\u0BBF\u0BB1\u0BA4\u0BC1.",item_not_exists:"'{name}'\u0B8E\u0BA9\u0BC1\u0BAE\u0B82 \u0BAA\u0BC6\u0BBE\u0BB0\u0BC1\u0BB3\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8.",file_error:"\u0B89\u0BB0\u0BC1\u0BAA\u0BCD\u0BAA\u0B9F\u0BBF \u0BAE\u0BBE\u0BB1\u0BCD\u0BB1\u0BAE\u0BCD \u0BA8\u0BC7\u0BB0\u0BB2\u0BC8\u0BAF\u0BBF\u0BB2\u0BCD \u0B89\u0BB3\u0BCD\u0BB3\u0BA4\u0BC1. \u0B87\u0BB0\u0BC1\u0BAA\u0BCD\u0BAA\u0BBF\u0BA9\u0BC1\u0BAE\u0BCD, .lua \u0B90\u0B9A\u0BCD \u0B9A\u0BC7\u0BAE\u0BBF\u0B95\u0BCD\u0B95\u0BC1\u0BAE\u0BCD \u0BAA\u0BCB\u0BA4\u0BC1 \u0BAA\u0BBF\u0BB4\u0BC8 \u0B8F\u0BB1\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1. \u0BAE\u0BB1\u0BC1\u0BA4\u0BCA\u0B9F\u0B95\u0BCD\u0B95\u0BAE\u0BCD \u0B9A\u0BC6\u0BAF\u0BCD\u0BA4 \u0BAA\u0BBF\u0BB1\u0B95\u0BC1, \u0BAE\u0BBE\u0BB1\u0BCD\u0BB1\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B9A\u0BC6\u0BAF\u0BB2\u0BBF\u0BB2\u0BCD \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95\u0BBE\u0BA4\u0BC1.",missingFields:"\u0BA4\u0BC7\u0BB5\u0BC8\u0BAF\u0BBE\u0BA9 \u0B85\u0BA9\u0BC8\u0BA4\u0BCD\u0BA4\u0BC1 \u0BAA\u0BC1\u0BB2\u0B99\u0BCD\u0B95\u0BB3\u0BC8\u0BAF\u0BC1\u0BAE\u0BCD \u0BA8\u0BBF\u0BB0\u0BAA\u0BCD\u0BAA\u0BB5\u0BC1\u0BAE\u0BCD.",uniqueVars:"\u0BAE\u0BBE\u0BB1\u0BBF\u0B95\u0BB3\u0BCD \u0BA4\u0BA9\u0BBF\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BBE\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD.",filename_exists:"\u0B95\u0BCB\u0BAA\u0BCD\u0BAA\u0BC1 \u0BAA\u0BC6\u0BAF\u0BB0\u0BCD \u0B8F\u0BB1\u0BCD\u0B95\u0BA9\u0BB5\u0BC7 \u0B89\u0BB3\u0BCD\u0BB3\u0BA4\u0BC1."}},uploadedImage:"\u0BAA\u0B9F\u0BAE\u0BCD \u0BB5\u0BC6\u0BB1\u0BCD\u0BB1\u0BBF\u0B95\u0BB0\u0BAE\u0BBE\u0B95 \u0BAA\u0BA4\u0BBF\u0BB5\u0BC7\u0BB1\u0BCD\u0BB1\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1.",uploadNew:"\u0BAA\u0B9F\u0BA4\u0BCD\u0BA4\u0BC8 \u0BAA\u0BA4\u0BBF\u0BB5\u0BC7\u0BB1\u0BCD\u0BB1\u0BAE\u0BCD \u0B9A\u0BC6\u0BAF\u0BCD\u0BAF\u0BB5\u0BC1\u0BAE\u0BCD",imageNotFound:"\u0B87\u0BA8\u0BCD\u0BA4 \u0BAA\u0B9F\u0BAE\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8."},itemCreate:{new:"\u0BAA\u0BC1\u0BA4\u0BBF\u0BAF \u0BAA\u0BCA\u0BB0\u0BC1\u0BB3\u0BC8 \u0B89\u0BB0\u0BC1\u0BB5\u0BBE\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD"},roleList:{subheader:"\u0BA4\u0BA9\u0BBF\u0BAA\u0BCD\u0BAA\u0BAF\u0BA9\u0BBE\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F \u0BAA\u0BBE\u0BA4\u0BCD\u0BA4\u0BBF\u0BB0\u0B99\u0BCD\u0B95\u0BB3\u0BC1\u0B9F\u0BA9\u0BCD \u0B89\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B95\u0BC1\u0BB4\u0BC1\u0BB5\u0BBF\u0BB1\u0BCD\u0B95\u0BBE\u0BA9 \u0B85\u0BA9\u0BC1\u0BAE\u0BA4\u0BBF\u0B95\u0BB3\u0BC8 \u0BA8\u0BBF\u0BB0\u0BCD\u0BB5\u0B95\u0BBF\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD.",createRole:"\u0BAA\u0BBE\u0BA4\u0BCD\u0BA4\u0BBF\u0BB0\u0BA4\u0BCD\u0BA4\u0BC8 \u0B89\u0BB0\u0BC1\u0BB5\u0BBE\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD",noData:"\u0BAA\u0BC6\u0BBE\u0BB0\u0BC1\u0BA4\u0BCD\u0BA4\u0BAE\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8",loadData:"\u0BA4\u0BB0\u0BB5\u0BC8 \u0B8F\u0BB1\u0BCD\u0BB1\u0BB5\u0BC1\u0BAE\u0BCD",headers:{name:"\u0BAA\u0BC6\u0BAF\u0BB0\u0BCD",desc:"\u0BB5\u0BBF\u0BB3\u0B95\u0BCD\u0B95\u0BAE\u0BCD",permissions:"\u0B85\u0BA9\u0BC1\u0BAE\u0BA4\u0BBF \u0B8E\u0BA3\u0BCD\u0BA3\u0BBF\u0B95\u0BCD\u0B95\u0BC8",color:"\u0BA8\u0BBF\u0BB1\u0BAE\u0BCD"},recordsPerPage:"\u0B92\u0BB0\u0BC1 \u0BAA\u0B95\u0BCD\u0B95\u0BA4\u0BCD\u0BA4\u0BBF\u0BB1\u0BCD\u0B95\u0BC1 \u0BAA\u0BA4\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD",paginationLabel:"{from}-{to} \u0B87\u0BA9\u0BCD {total}"},role:{name:"\u0BAA\u0BC6\u0BAF\u0BB0\u0BCD",edit:"\u0BAA\u0BBE\u0BA4\u0BCD\u0BA4\u0BBF\u0BB0\u0BA4\u0BCD\u0BA4\u0BC8\u0BA4\u0BCD \u0BA4\u0BBF\u0BB0\u0BC1\u0BA4\u0BCD\u0BA4\u0BB5\u0BC1\u0BAE\u0BCD",desc:"\u0BB5\u0BBF\u0BB3\u0B95\u0BCD\u0B95\u0BAE\u0BCD",color:"\u0BA8\u0BBF\u0BB1\u0BAE\u0BCD",permissions:"\u0B85\u0BA9\u0BC1\u0BAE\u0BA4\u0BBF",permissionSub:"\u0B89\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0BAA\u0BBE\u0BA4\u0BCD\u0BA4\u0BBF\u0BB0\u0BA4\u0BCD\u0BA4\u0BBF\u0BB1\u0BCD\u0B95\u0BC1 \u0B89\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B9A\u0BCA\u0BA8\u0BCD\u0BA4 \u0B89\u0BB0\u0BBF\u0BAE\u0BC8\u0B95\u0BB3\u0BC8 \u0B92\u0BA4\u0BC1\u0B95\u0BCD\u0B95\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD.",resource:{gameserver:"Gameserver",development:"Development",management:"Management"},section:{liveMap:"\u0BA8\u0BC7\u0BB0\u0B9F\u0BBF \u0BB5\u0BB0\u0BC8\u0BAA\u0B9F\u0BAE\u0BCD",waypoint:"\u0BB5\u0BB4\u0BBF\u0BAA\u0BCD \u0BAA\u0BC1\u0BB3\u0BCD\u0BB3\u0BBF\u0B95\u0BB3\u0BCD",account:"\u0B95\u0BA3\u0B95\u0BCD\u0B95\u0BC1\u0B95\u0BB3\u0BCD",player:"\u0BB5\u0BC0\u0BB0\u0BB0\u0BCD\u0B95\u0BB3\u0BCD",vehicles:"\u0BB5\u0BBE\u0B95\u0BA9\u0B99\u0BCD\u0B95\u0BB3\u0BCD",logs:"\u0BAA\u0BA4\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD",items:"\u0BAA\u0BC6\u0BBE\u0BB0\u0BC1\u0B9F\u0BCD\u0B95\u0BB3\u0BCD",jobs:"\u0BB5\u0BC7\u0BB2\u0BC8\u0B95\u0BB3\u0BCD",gangs:"\u0B95\u0BC1\u0BAE\u0BCD\u0BAA\u0BB2\u0BCD\u0B95\u0BB3\u0BCD",user:"\u0BAA\u0BAF\u0BA9\u0BB0\u0BCD\u0B95\u0BB3\u0BCD",roles:"\u0BAA\u0BBE\u0BA4\u0BCD\u0BA4\u0BBF\u0BB0\u0B99\u0BCD\u0B95\u0BB3\u0BCD",config:"\u0B95\u0B9F\u0BCD\u0B9F\u0BAE\u0BC8\u0BAA\u0BCD\u0BAA\u0BC1",stashes:"\u0BB8\u0BCD\u0B9F\u0BBE\u0BB7\u0BCD\u0B95\u0BB3\u0BCD"},action:{read:"\u0BAA\u0B9F\u0BBF",modify:"\u0BAE\u0BBE\u0BB1\u0BCD\u0BB1\u0BBF\u0BAF\u0BAE\u0BC8\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD",delete:"\u0B85\u0BB4\u0BBF",despawn:"\u0B9F\u0BC6\u0BB8\u0BCD\u0BAA\u0BBE\u0BA9\u0BCD",repair:"\u0BAA\u0BB4\u0BC1\u0BA4\u0BC1",create:"\u0B89\u0BB0\u0BC1\u0BB5\u0BBE\u0B95\u0BCD\u0B95\u0BC1",player:"\u0BB5\u0BC0\u0BB0\u0BB0\u0BCD\u0B95\u0BB3\u0BC8\u0B95\u0BCD \u0B95\u0BBE\u0B9F\u0BCD\u0B9F\u0BC1",vehicle:"\u0BB5\u0BBE\u0B95\u0BA9\u0B99\u0BCD\u0B95\u0BB3\u0BC8\u0B95\u0BCD \u0B95\u0BBE\u0B9F\u0BCD\u0B9F\u0BC1",kick:"\u0B89\u0BA4\u0BC8",warn:"\u0B8E\u0B9A\u0BCD\u0B9A\u0BB0\u0BBF\u0B95\u0BCD\u0B95\u0BC8",ban:"\u0BA4\u0B9F\u0BC8 \u0B9A\u0BC6\u0BAF\u0BCD",money:"\u0BAA\u0BA3\u0BAE\u0BCD",meta:"\u0BAE\u0BC6\u0B9F\u0BCD\u0B9F\u0BBE\u0B9F\u0BC7\u0B9F\u0BCD\u0B9F\u0BBE",position:"\u0BA8\u0BBF\u0BB2\u0BC8",inventory:"Inventory",screen:"\u0BA4\u0BBF\u0BB0\u0BC8\u0BAF\u0BC8\u0BAA\u0BCD \u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD",license:"\u0B89\u0BB0\u0BBF\u0BAE\u0BAE\u0BCD",job:"\u0BB5\u0BC7\u0BB2\u0BC8",gang:"\u0B95\u0BC1\u0BAE\u0BCD\u0BAA\u0BB2\u0BCD",logs:{game:"Game",player:"Player",dev:"Dev",web:"Web"}},msg:{error:{role_missing:"\u0BAA\u0BC6\u0BAF\u0BB0\u0BC1\u0B9F\u0BA9\u0BCD \u0BAA\u0BBE\u0BA4\u0BCD\u0BA4\u0BBF\u0BB0\u0BAE\u0BCD '{name}' \u0B87\u0BB2\u0BCD\u0BB2\u0BC8 (anymore).",role_exist:"\u0BAA\u0BBE\u0BA4\u0BCD\u0BA4\u0BBF\u0BB0\u0BAE\u0BCD '{name}' \u0B8F\u0BB1\u0BCD\u0B95\u0BA9\u0BB5\u0BC7 \u0B89\u0BB3\u0BCD\u0BB3\u0BA4\u0BC1.",missingFields:"\u0BA4\u0BC7\u0BB5\u0BC8\u0BAF\u0BBE\u0BA9 \u0B85\u0BA9\u0BC8\u0BA4\u0BCD\u0BA4\u0BC1 \u0BAA\u0BC1\u0BB2\u0B99\u0BCD\u0B95\u0BB3\u0BC8\u0BAF\u0BC1\u0BAE\u0BCD \u0BA8\u0BBF\u0BB0\u0BAA\u0BCD\u0BAA\u0BB5\u0BC1\u0BAE\u0BCD."}},deleteHeader:"\u0B85\u0BB4\u0BBF",deleteMsg:"\u0BA8\u0BC0\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B89\u0BA3\u0BCD\u0BAE\u0BC8\u0BAF\u0BBF\u0BB2\u0BCD \u0BA8\u0BC0\u0B95\u0BCD\u0B95 \u0BB5\u0BBF\u0BB0\u0BC1\u0BAE\u0BCD\u0BAA\u0BC1\u0B95\u0BBF\u0BB1\u0BC0\u0BB0\u0BCD\u0B95\u0BB3\u0BBE {name}? \u0B87\u0BA4\u0BC8 \u0BAE\u0BC0\u0BA3\u0B82\u0B9F\u0BC2\u0BAE\u0B82 \u0B87\u0BAF\u0B95\u0BCD\u0B95 \u0BAE\u0BC1\u0B9F\u0BBF\u0BAF\u0BBE\u0BA4\u0BC1!"},roleCreate:{new:"\u0BAA\u0BC1\u0BA4\u0BBF\u0BAF \u0BAA\u0BBE\u0BA4\u0BCD\u0BA4\u0BBF\u0BB0\u0BA4\u0BCD\u0BA4\u0BC8 \u0B89\u0BB0\u0BC1\u0BB5\u0BBE\u0B95\u0BCD\u0B95\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD"},userList:{subheader:"\u0B89\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B95\u0BC1\u0BB4\u0BC1 \u0B89\u0BB1\u0BC1\u0BAA\u0BCD\u0BAA\u0BBF\u0BA9\u0BB0\u0BCD\u0B95\u0BB3\u0BBF\u0BA9\u0BCD \u0BAA\u0BAF\u0BA9\u0BB0\u0BCD \u0B95\u0BA3\u0B95\u0BCD\u0B95\u0BC1\u0B95\u0BB3\u0BC8 \u0BA8\u0BBF\u0BB0\u0BCD\u0BB5\u0B95\u0BBF\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD",noData:"\u0BAA\u0BC6\u0BBE\u0BB0\u0BC1\u0BA4\u0BCD\u0BA4\u0BAE\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8",loadData:"\u0BA4\u0BB0\u0BB5\u0BC8 \u0B8F\u0BB1\u0BCD\u0BB1\u0BB5\u0BC1\u0BAE\u0BCD",createUser:"\u0BAA\u0BAF\u0BA9\u0BB0\u0BC8 \u0B89\u0BB0\u0BC1\u0BB5\u0BBE\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD",headers:{name:"\u0BAA\u0BC6\u0BAF\u0BB0\u0BCD",role:"\u0BAA\u0BBE\u0BA4\u0BCD\u0BA4\u0BBF\u0BB0\u0BAE\u0BCD",master:"\u0BA4\u0BB2\u0BC8\u0BB5\u0BA9\u0BCD"},recordsPerPage:"\u0B92\u0BB0\u0BC1 \u0BAA\u0B95\u0BCD\u0B95\u0BA4\u0BCD\u0BA4\u0BBF\u0BB1\u0BCD\u0B95\u0BC1 \u0BAA\u0BA4\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD",paginationLabel:"{from}-{to} \u0B87\u0BA9\u0BCD {total}"},user:{edit:"\u0BAA\u0BAF\u0BA9\u0BB0\u0BC8\u0BA4\u0BCD \u0BA4\u0BBF\u0BB0\u0BC1\u0BA4\u0BCD\u0BA4\u0BC1",role:"\u0BAA\u0BBE\u0BA4\u0BCD\u0BA4\u0BBF\u0BB0\u0BAE\u0BCD",fxname:"cfx.re",msg:{error:{user_missing:"\u0BAA\u0BC6\u0BAF\u0BB0\u0BCD \u0B95\u0BCA\u0BA3\u0BCD\u0B9F \u0BAA\u0BAF\u0BA9\u0BB0\u0BCD '{name}' \u0B95\u0BA3\u0BCD\u0B9F\u0BB1\u0BBF\u0BAF \u0BAE\u0BC1\u0B9F\u0BBF\u0BAF\u0BB5\u0BBF\u0BB2\u0BCD\u0BB2\u0BC8 (anymore).",user_exist:"\u0BAA\u0BAF\u0BA9\u0BB0\u0BCD '{name}' \u0B8F\u0BB1\u0BCD\u0B95\u0BA9\u0BB5\u0BC7 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95\u0BBF\u0BB1\u0BBE\u0BB0\u0BCD.",user_master:"\u0BAE\u0BC1\u0BA4\u0BA9\u0BCD\u0BAE\u0BC8 \u0BAA\u0BAF\u0BA9\u0BB0\u0BC8 \u0BA8\u0BC0\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0BA8\u0BC0\u0B95\u0BCD\u0B95 \u0BAE\u0BC1\u0B9F\u0BBF\u0BAF\u0BBE\u0BA4\u0BC1.",missingFields:"\u0BA4\u0BC7\u0BB5\u0BC8\u0BAF\u0BBE\u0BA9 \u0B85\u0BA9\u0BC8\u0BA4\u0BCD\u0BA4\u0BC1 \u0BAA\u0BC1\u0BB2\u0B99\u0BCD\u0B95\u0BB3\u0BC8\u0BAF\u0BC1\u0BAE\u0BCD \u0BA8\u0BBF\u0BB0\u0BAA\u0BCD\u0BAA\u0BB5\u0BC1\u0BAE\u0BCD.",is_master:"\u0BAE\u0BC1\u0BA4\u0BA9\u0BCD\u0BAE\u0BC8 \u0BAA\u0BAF\u0BA9\u0BB0\u0BBF\u0BA9\u0BCD \u0B95\u0B9F\u0BB5\u0BC1\u0B9A\u0BCD\u0B9A\u0BCA\u0BB2\u0BCD\u0BB2\u0BC8 \u0BAE\u0BBE\u0BB1\u0BCD\u0BB1 \u0BAE\u0BC1\u0B9F\u0BBF\u0BAF\u0BBE\u0BA4\u0BC1.",fx_used:"cfx.re \u0BAA\u0BAF\u0BA9\u0BB0\u0BCD \u0B8F\u0BB1\u0BCD\u0B95\u0BA9\u0BB5\u0BC7 \u0BAE\u0BB1\u0BCD\u0BB1\u0BCA\u0BB0\u0BC1 \u0BAA\u0BAF\u0BA9\u0BB0\u0BBE\u0BB2\u0BCD \u0BAA\u0BAF\u0BA9\u0BCD\u0BAA\u0BBE\u0B9F\u0BCD\u0B9F\u0BBF\u0BB2\u0BCD \u0B89\u0BB3\u0BCD\u0BB3\u0BA4\u0BC1."}},deleteHeader:"\u0B85\u0BB4\u0BBF",deleteMsg:"\u0BA8\u0BC0\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B89\u0BA3\u0BCD\u0BAE\u0BC8\u0BAF\u0BBF\u0BB2\u0BCD \u0BA8\u0BC0\u0B95\u0BCD\u0B95 \u0BB5\u0BBF\u0BB0\u0BC1\u0BAE\u0BCD\u0BAA\u0BC1\u0B95\u0BBF\u0BB1\u0BC0\u0BB0\u0BCD\u0B95\u0BB3\u0BBE {name}? \u0B87\u0BA4\u0BC8 \u0BAE\u0BC0\u0BA3\u0B82\u0B9F\u0BC2\u0BAE\u0B82 \u0B87\u0BAF\u0B95\u0BCD\u0B95 \u0BAE\u0BC1\u0B9F\u0BBF\u0BAF\u0BBE\u0BA4\u0BC1!",resetPasswort:"\u0B95\u0B9F\u0BB5\u0BC1\u0B9A\u0BCD\u0B9A\u0BC6\u0BBE\u0BB2\u0BCD\u0BB2\u0BC8 \u0BAE\u0BC0\u0B9F\u0BCD\u0B9F\u0BAE\u0BC8\u0B95\u0BCD\u0B95",resetPasswordHeader:"\u0BAE\u0BC0\u0B9F\u0BCD\u0B9F\u0BAE\u0BC8\u0BAA\u0BCD\u0BAA\u0BC8 \u0B89\u0BB1\u0BC1\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0B9F\u0BC1\u0BA4\u0BCD\u0BA4\u0BB5\u0BC1\u0BAE\u0BCD",resetPasswordMsg:"\u0BA8\u0BC0\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B89\u0BA3\u0BCD\u0BAE\u0BC8\u0BAF\u0BBF\u0BB2\u0BCD \u0B95\u0B9F\u0BB5\u0BC1\u0B9A\u0BCD\u0B9A\u0BCA\u0BB2\u0BCD\u0BB2\u0BC8 \u0BAE\u0BC0\u0B9F\u0BCD\u0B9F\u0BAE\u0BC8\u0B95\u0BCD\u0B95 \u0BB5\u0BBF\u0BB0\u0BC1\u0BAE\u0BCD\u0BAA\u0BC1\u0B95\u0BBF\u0BB1\u0BC0\u0BB0\u0BCD\u0B95\u0BB3\u0BBE {name}?"},jobList:{subheader:"QBCore/Shared/jobs.lua.\u0B87\u0BB2\u0BBF\u0BB0\u0BC1\u0BA8\u0BCD\u0BA4\u0BC1 \u0B85\u0BA9\u0BC8\u0BA4\u0BCD\u0BA4\u0BC1 \u0BB5\u0BC7\u0BB2\u0BC8\u0B95\u0BB3\u0BC1\u0BAE\u0BCD QB-Exports/Functions \u0BAE\u0BC2\u0BB2\u0BAE\u0BCD \u0BAA\u0BA4\u0BBF\u0BB5\u0BC1\u0B9A\u0BC6\u0BAF\u0BCD\u0BAF\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F \u0BB5\u0BC7\u0BB2\u0BC8\u0B95\u0BB3\u0BCD \u0B95\u0BBE\u0B9F\u0BCD\u0B9F\u0BAA\u0BCD\u0BAA\u0B9F\u0BBE\u0BA4\u0BC1.",noData:"\u0BAA\u0BC6\u0BBE\u0BB0\u0BC1\u0BA4\u0BCD\u0BA4\u0BAE\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8",loadData:"\u0BA4\u0BB0\u0BB5\u0BC8 \u0B8F\u0BB1\u0BCD\u0BB1\u0BB5\u0BC1\u0BAE\u0BCD",createJob:"\u0BB5\u0BC7\u0BB2\u0BC8\u0BAF\u0BC8 \u0B89\u0BB0\u0BC1\u0BB5\u0BBE\u0B95\u0BCD\u0B95\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD",headers:{name:"\u0BAA\u0BC6\u0BAF\u0BB0\u0BCD",label:"Label",grades:"\u0BA4\u0BB0 \u0B8E\u0BA3\u0BCD\u0BA3\u0BBF\u0B95\u0BCD\u0B95\u0BC8",defaultDuty:"\u0B87\u0BAF\u0BB2\u0BCD\u0BAA\u0BC1\u0BA8\u0BBF\u0BB2\u0BC8 \u0B95\u0B9F\u0BAE\u0BC8",offDutyPay:"\u0B95\u0B9F\u0BAE\u0BC8\u0BAF\u0BB1\u0BCD\u0BB1 \u0B8A\u0BA4\u0BBF\u0BAF\u0BAE\u0BCD"},recordsPerPage:"\u0B92\u0BB0\u0BC1 \u0BAA\u0B95\u0BCD\u0B95\u0BA4\u0BCD\u0BA4\u0BBF\u0BB1\u0BCD\u0B95\u0BC1 \u0BAA\u0BA4\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD",paginationLabel:"{from}-{to} \u0B87\u0BA9\u0BCD {total}"},jobCreate:{new:"\u0BAA\u0BC1\u0BA4\u0BBF\u0BAF \u0BB5\u0BC7\u0BB2\u0BC8\u0BAF\u0BC8 \u0B89\u0BB0\u0BC1\u0BB5\u0BBE\u0B95\u0BCD\u0B95\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD"},job:{name:"\u0BAA\u0BC6\u0BAF\u0BB0\u0BCD",edit:"\u0BB5\u0BC7\u0BB2\u0BC8\u0BAF\u0BC8\u0BA4\u0BCD \u0BA4\u0BBF\u0BB0\u0BC1\u0BA4\u0BCD\u0BA4\u0BB5\u0BC1\u0BAE\u0BCD",label:"Label",defaultDuty:"\u0B87\u0BAF\u0BB2\u0BCD\u0BAA\u0BC1\u0BA8\u0BBF\u0BB2\u0BC8 \u0B95\u0B9F\u0BAE\u0BC8",offDutyPay:"\u0B95\u0B9F\u0BAE\u0BC8\u0BAF\u0BB1\u0BCD\u0BB1 \u0B8A\u0BA4\u0BBF\u0BAF\u0BAE\u0BCD",grades:"\u0BA4\u0BB0 \u0B8E\u0BA3\u0BCD\u0BA3\u0BBF\u0B95\u0BCD\u0B95\u0BC8",gradesSub:"\u0B89\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0BB5\u0BC7\u0BB2\u0BC8\u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0BA4\u0BB0\u0BB5\u0BB0\u0BBF\u0B9A\u0BC8\u0B95\u0BB3\u0BC8 \u0B85\u0BAE\u0BC8\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD. \u0B86\u0BB0\u0BCD\u0B9F\u0BB0\u0BCD \u0B95\u0BC1\u0BB1\u0BC8\u0BA8\u0BCD\u0BA4 \u0BB0\u0BC7\u0B99\u0BCD\u0B95\u0BBF\u0BB2\u0BBF\u0BB0\u0BC1\u0BA8\u0BCD\u0BA4\u0BC1 \u0B89\u0BAF\u0BB0\u0BCD\u0BA8\u0BCD\u0BA4 \u0BB0\u0BC7\u0B99\u0BCD\u0B95\u0BBF\u0BB1\u0BCD\u0B95\u0BC1, \u0BAE\u0BC7\u0BB2\u0BBF\u0BB0\u0BC1\u0BA8\u0BCD\u0BA4\u0BC1 \u0B95\u0BC0\u0BB4\u0BBE\u0B95 \u0B9A\u0BC6\u0BB2\u0BCD\u0B95\u0BBF\u0BB1\u0BA4\u0BC1.",customVariables:"\u0BB5\u0BBF\u0BB0\u0BC1\u0BAA\u0BCD\u0BAA \u0BAE\u0BBE\u0BB1\u0BBF\u0B95\u0BB3\u0BCD",customVarSub:"\u0B89\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B9A\u0BCA\u0BA8\u0BCD\u0BA4 \u0BAE\u0BBE\u0BB1\u0BBF\u0B95\u0BB3\u0BC8 \u0B89\u0BB0\u0BC1\u0BB5\u0BBE\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD.",addCustomVar:"\u0BAA\u0BC1\u0BA4\u0BBF\u0BAF \u0BAE\u0BBE\u0BB1\u0BBF\u0BAF\u0BC8\u0B9A\u0BCD \u0B9A\u0BC7\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD",customVarName:"\u0BAE\u0BBE\u0BB1\u0BBF",customVarValue:"\u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1",msg:{error:{invalid_job_name:"'{name}' \u0B8E\u0BA9\u0BC1\u0BAE\u0B82 \u0BAA\u0BA3\u0BBF\u0BAF\u0BBF\u0BA9\u0BCD \u0BAA\u0BC6\u0BAF\u0BB0\u0BCD \u0B9A\u0BB0\u0BAE\u0BCD \u0BB5\u0B95\u0BC8 \u0B85\u0BB2\u0BCD\u0BB2.",job_exists:"'{name}' \u0B8E\u0BA9\u0BC1\u0BAE\u0B82 \u0BAA\u0BA3\u0BBF\u0BAF\u0BBF\u0BA9\u0BCD \u0BAA\u0BC6\u0BAF\u0BB0\u0BCD \u0B8F\u0BB1\u0BCD\u0B95\u0BA9\u0BB5\u0BC7 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95\u0BBF\u0BB1\u0BA4\u0BC1.",job_not_exists:"'{name}'\u0B8E\u0BA9\u0BC1\u0BAE\u0B82 \u0BAA\u0BA3\u0BBF\u0BAF\u0BBF\u0BA9\u0BCD \u0BAA\u0BC6\u0BAF\u0BB0\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8.",file_error:"\u0BB5\u0BC7\u0BB2\u0BC8 \u0BAE\u0BBE\u0BB1\u0BCD\u0BB1\u0BAE\u0BCD \u0BA8\u0BC7\u0BB0\u0BB2\u0BC8\u0BAF\u0BBF\u0BB2\u0BCD \u0B89\u0BB3\u0BCD\u0BB3\u0BA4\u0BC1. \u0B87\u0BB0\u0BC1\u0BAA\u0BCD\u0BAA\u0BBF\u0BA9\u0BC1\u0BAE\u0BCD, .lua \u0B90\u0B9A\u0BCD \u0B9A\u0BC7\u0BAE\u0BBF\u0B95\u0BCD\u0B95\u0BC1\u0BAE\u0BCD \u0BAA\u0BCB\u0BA4\u0BC1 \u0BAA\u0BBF\u0BB4\u0BC8 \u0B8F\u0BB1\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1. \u0BAE\u0BB1\u0BC1\u0BA4\u0BCA\u0B9F\u0B95\u0BCD\u0B95\u0BAE\u0BCD \u0B9A\u0BC6\u0BAF\u0BCD\u0BA4 \u0BAA\u0BBF\u0BB1\u0B95\u0BC1, \u0BAE\u0BBE\u0BB1\u0BCD\u0BB1\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B9A\u0BC6\u0BAF\u0BB2\u0BBF\u0BB2\u0BCD \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95\u0BBE\u0BA4\u0BC1.",missingFields:"\u0BA4\u0BC7\u0BB5\u0BC8\u0BAF\u0BBE\u0BA9 \u0B85\u0BA9\u0BC8\u0BA4\u0BCD\u0BA4\u0BC1 \u0BAA\u0BC1\u0BB2\u0B99\u0BCD\u0B95\u0BB3\u0BC8\u0BAF\u0BC1\u0BAE\u0BCD \u0BA8\u0BBF\u0BB0\u0BAA\u0BCD\u0BAA\u0BB5\u0BC1\u0BAE\u0BCD.",gradeNeeded:"\u0B89\u0B99\u0BCD\u0B95\u0BB3\u0BC1\u0B95\u0BCD\u0B95\u0BC1 \u0B95\u0BC1\u0BB1\u0BC8\u0BA8\u0BCD\u0BA4\u0BAA\u0B9F\u0BCD\u0B9A\u0BAE\u0BCD \u0B92\u0BB0\u0BC1 \u0BB0\u0BC7\u0B99\u0BCD\u0B95\u0BCD \u0BA4\u0BC7\u0BB5\u0BC8.",uniqueVars:"\u0BAE\u0BBE\u0BB1\u0BBF\u0B95\u0BB3\u0BCD \u0BA4\u0BA9\u0BBF\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BBE\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD."}},deleteHeader:"\u0B85\u0BB4\u0BBF",deleteMsg:"\u0BA8\u0BC0\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B89\u0BA3\u0BCD\u0BAE\u0BC8\u0BAF\u0BBF\u0BB2\u0BCD \u0BA8\u0BC0\u0B95\u0BCD\u0B95 \u0BB5\u0BBF\u0BB0\u0BC1\u0BAE\u0BCD\u0BAA\u0BC1\u0B95\u0BBF\u0BB1\u0BC0\u0BB0\u0BCD\u0B95\u0BB3\u0BBE {name}? \u0B87\u0BA4\u0BC8 \u0BAE\u0BC0\u0BA3\u0B82\u0B9F\u0BC2\u0BAE\u0B82 \u0B87\u0BAF\u0B95\u0BCD\u0B95 \u0BAE\u0BC1\u0B9F\u0BBF\u0BAF\u0BBE\u0BA4\u0BC1!",deleteGradeMsg:"\u0BA8\u0BC0\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B89\u0BA3\u0BCD\u0BAE\u0BC8\u0BAF\u0BBF\u0BB2\u0BCD \u0BA8\u0BC0\u0B95\u0BCD\u0B95 \u0BB5\u0BBF\u0BB0\u0BC1\u0BAE\u0BCD\u0BAA\u0BC1\u0B95\u0BBF\u0BB1\u0BC0\u0BB0\u0BCD\u0B95\u0BB3\u0BBE {name}? \u0B87\u0BA4\u0BC8 \u0BAE\u0BC0\u0BA3\u0B82\u0B9F\u0BC2\u0BAE\u0B82 \u0B87\u0BAF\u0B95\u0BCD\u0B95 \u0BAE\u0BC1\u0B9F\u0BBF\u0BAF\u0BBE\u0BA4\u0BC1!",deleteCustomVarMsg:"\u0BA8\u0BC0\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B89\u0BA3\u0BCD\u0BAE\u0BC8\u0BAF\u0BBF\u0BB2\u0BCD \u0BAE\u0BBE\u0BB1\u0BBF\u0BAF\u0BC8 \u0BA8\u0BC0\u0B95\u0BCD\u0B95 \u0BB5\u0BBF\u0BB0\u0BC1\u0BAE\u0BCD\u0BAA\u0BC1\u0B95\u0BBF\u0BB1\u0BC0\u0BB0\u0BCD\u0B95\u0BB3\u0BBE {name}? \u0B87\u0BA4\u0BC8 \u0BAE\u0BC0\u0BA3\u0B82\u0B9F\u0BC2\u0BAE\u0B82 \u0B87\u0BAF\u0B95\u0BCD\u0B95 \u0BAE\u0BC1\u0B9F\u0BBF\u0BAF\u0BBE\u0BA4\u0BC1!",headers:{name:"\u0BAA\u0BC6\u0BAF\u0BB0\u0BCD",isboss:"\u0BAE\u0BC1\u0BA4\u0BB2\u0BBE\u0BB3\u0BBF",payment:"\u0BAA\u0BA3\u0BAE\u0BCD \u0B9A\u0BC6\u0BB2\u0BC1\u0BA4\u0BCD\u0BA4\u0BC1\u0BA4\u0BB2\u0BCD"},addGrade:"\u0BA4\u0BB0\u0BA4\u0BCD\u0BA4\u0BC8\u0B9A\u0BCD \u0B9A\u0BC7\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD"},gangList:{subheader:"QBCore/Shared/gangs.lua.\u0B87\u0BB2\u0BBF\u0BB0\u0BC1\u0BA8\u0BCD\u0BA4\u0BC1 \u0B85\u0BA9\u0BC8\u0BA4\u0BCD\u0BA4\u0BC1 \u0B95\u0BC1\u0BAE\u0BCD\u0BAA\u0BB2\u0BCD\u0B95\u0BB3\u0BC1\u0BAE\u0BCD. QB-Exports/Functions \u0BAE\u0BC2\u0BB2\u0BAE\u0BCD \u0BAA\u0BA4\u0BBF\u0BB5\u0BC1\u0B9A\u0BC6\u0BAF\u0BCD\u0BAF\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F \u0B95\u0BC1\u0BAE\u0BCD\u0BAA\u0BB2\u0BCD\u0B95\u0BB3\u0BCD \u0B95\u0BBE\u0B9F\u0BCD\u0B9F\u0BAA\u0BCD\u0BAA\u0B9F\u0BBE\u0BA4\u0BC1.",noData:"\u0BAA\u0BC6\u0BBE\u0BB0\u0BC1\u0BA4\u0BCD\u0BA4\u0BAE\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8",loadData:"\u0BA4\u0BB0\u0BB5\u0BC8 \u0B8F\u0BB1\u0BCD\u0BB1\u0BB5\u0BC1\u0BAE\u0BCD",createGang:"\u0B95\u0BC1\u0BAE\u0BCD\u0BAA\u0BB2\u0BC8 \u0B89\u0BB0\u0BC1\u0BB5\u0BBE\u0B95\u0BCD\u0B95\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD",headers:{name:"\u0BAA\u0BC6\u0BAF\u0BB0\u0BCD",label:"Label",grades:"\u0BA4\u0BB0 \u0B8E\u0BA3\u0BCD\u0BA3\u0BBF\u0B95\u0BCD\u0B95\u0BC8"},recordsPerPage:"\u0B92\u0BB0\u0BC1 \u0BAA\u0B95\u0BCD\u0B95\u0BA4\u0BCD\u0BA4\u0BBF\u0BB1\u0BCD\u0B95\u0BC1 \u0BAA\u0BA4\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD",paginationLabel:"{from}-{to} \u0B87\u0BA9\u0BCD {total}"},gangCreate:{new:"\u0BAA\u0BC1\u0BA4\u0BBF\u0BAF \u0B95\u0BC1\u0BAE\u0BCD\u0BAA\u0BB2\u0BC8 \u0B89\u0BB0\u0BC1\u0BB5\u0BBE\u0B95\u0BCD\u0B95\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD"},gang:{name:"\u0BAA\u0BC6\u0BAF\u0BB0\u0BCD",edit:"\u0BA4\u0BBF\u0BB0\u0BC1\u0BA4\u0BCD\u0BA4 \u0B95\u0BC1\u0BAE\u0BCD\u0BAA\u0BB2\u0BCD",label:"Label",grades:"\u0BA4\u0BB0\u0B99\u0BCD\u0B95\u0BB3\u0BCD",gradesSub:"\u0B89\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B95\u0BC1\u0BAE\u0BCD\u0BAA\u0BB2\u0BC1\u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0BA4\u0BB0\u0BB5\u0BB0\u0BBF\u0B9A\u0BC8\u0B95\u0BB3\u0BC8 \u0B85\u0BAE\u0BC8\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD. \u0B86\u0BB0\u0BCD\u0B9F\u0BB0\u0BCD \u0B95\u0BC1\u0BB1\u0BC8\u0BA8\u0BCD\u0BA4 \u0BB0\u0BC7\u0B99\u0BCD\u0B95\u0BBF\u0BB2\u0BBF\u0BB0\u0BC1\u0BA8\u0BCD\u0BA4\u0BC1 \u0B89\u0BAF\u0BB0\u0BCD\u0BA8\u0BCD\u0BA4 \u0BB0\u0BC7\u0B99\u0BCD\u0B95\u0BBF\u0BB1\u0BCD\u0B95\u0BC1, \u0BAE\u0BC7\u0BB2\u0BBF\u0BB0\u0BC1\u0BA8\u0BCD\u0BA4\u0BC1 \u0B95\u0BC0\u0BB4\u0BBE\u0B95 \u0B9A\u0BC6\u0BB2\u0BCD\u0B95\u0BBF\u0BB1\u0BA4\u0BC1.",customVariables:"\u0BB5\u0BBF\u0BB0\u0BC1\u0BAA\u0BCD\u0BAA \u0BAE\u0BBE\u0BB1\u0BBF\u0B95\u0BB3\u0BCD",customVarSub:"\u0B89\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B9A\u0BCA\u0BA8\u0BCD\u0BA4 \u0BAE\u0BBE\u0BB1\u0BBF\u0B95\u0BB3\u0BC8 \u0B89\u0BB0\u0BC1\u0BB5\u0BBE\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD.",addCustomVar:"\u0BAA\u0BC1\u0BA4\u0BBF\u0BAF \u0BAE\u0BBE\u0BB1\u0BBF\u0BAF\u0BC8\u0B9A\u0BCD \u0B9A\u0BC7\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD",customVarName:"\u0BAE\u0BBE\u0BB1\u0BBF",customVarValue:"\u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1",msg:{error:{invalid_gang_name:"\u0B95\u0BC1\u0BAE\u0BCD\u0BAA\u0BB2\u0BBF\u0BA9\u0BCD \u0BAA\u0BC6\u0BAF\u0BB0\u0BCD '{name}' \u0B9A\u0BB0\u0BAE\u0BCD \u0BB5\u0B95\u0BC8 \u0B85\u0BB2\u0BCD\u0BB2.",gang_exists:"'{name}' \u0B95\u0BC1\u0BAE\u0BCD\u0BAA\u0BB2\u0BCD \u0B8F\u0BB1\u0BCD\u0B95\u0BA9\u0BB5\u0BC7 \u0B89\u0BB3\u0BCD\u0BB3\u0BA4\u0BC1",gang_not_exists:"'{name}'\u0B8E\u0BA9\u0BC1\u0BAE\u0B82 \u0B95\u0BC1\u0BAE\u0BCD\u0BAA\u0BB2\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8.",file_error:"\u0B95\u0BC1\u0BAE\u0BCD\u0BAA\u0BB2\u0BCD \u0BAE\u0BBE\u0BB1\u0BCD\u0BB1\u0BAE\u0BCD \u0BA8\u0BC7\u0BB0\u0BB2\u0BC8\u0BAF\u0BBF\u0BB2\u0BCD \u0B89\u0BB3\u0BCD\u0BB3\u0BA4\u0BC1. \u0B87\u0BB0\u0BC1\u0BAA\u0BCD\u0BAA\u0BBF\u0BA9\u0BC1\u0BAE\u0BCD, .lua \u0B90\u0B9A\u0BCD \u0B9A\u0BC7\u0BAE\u0BBF\u0B95\u0BCD\u0B95\u0BC1\u0BAE\u0BCD \u0BAA\u0BCB\u0BA4\u0BC1 \u0BAA\u0BBF\u0BB4\u0BC8 \u0B8F\u0BB1\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1. \u0BAE\u0BB1\u0BC1\u0BA4\u0BCA\u0B9F\u0B95\u0BCD\u0B95\u0BAE\u0BCD \u0B9A\u0BC6\u0BAF\u0BCD\u0BA4 \u0BAA\u0BBF\u0BB1\u0B95\u0BC1, \u0BAE\u0BBE\u0BB1\u0BCD\u0BB1\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B9A\u0BC6\u0BAF\u0BB2\u0BBF\u0BB2\u0BCD \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95\u0BBE\u0BA4\u0BC1.",missingFields:"\u0BA4\u0BC7\u0BB5\u0BC8\u0BAF\u0BBE\u0BA9 \u0B85\u0BA9\u0BC8\u0BA4\u0BCD\u0BA4\u0BC1 \u0BAA\u0BC1\u0BB2\u0B99\u0BCD\u0B95\u0BB3\u0BC8\u0BAF\u0BC1\u0BAE\u0BCD \u0BA8\u0BBF\u0BB0\u0BAA\u0BCD\u0BAA\u0BB5\u0BC1\u0BAE\u0BCD.",gradeNeeded:"\u0B89\u0B99\u0BCD\u0B95\u0BB3\u0BC1\u0B95\u0BCD\u0B95\u0BC1 \u0B95\u0BC1\u0BB1\u0BC8\u0BA8\u0BCD\u0BA4\u0BAA\u0B9F\u0BCD\u0B9A\u0BAE\u0BCD \u0B92\u0BB0\u0BC1 \u0BB0\u0BC7\u0B99\u0BCD\u0B95\u0BCD \u0BA4\u0BC7\u0BB5\u0BC8.",uniqueVars:"\u0BAE\u0BBE\u0BB1\u0BBF\u0B95\u0BB3\u0BCD \u0BA4\u0BA9\u0BBF\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BBE\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD."}},deleteHeader:"\u0B85\u0BB4\u0BBF",deleteMsg:"\u0BA8\u0BC0\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B89\u0BA3\u0BCD\u0BAE\u0BC8\u0BAF\u0BBF\u0BB2\u0BCD \u0BA8\u0BC0\u0B95\u0BCD\u0B95 \u0BB5\u0BBF\u0BB0\u0BC1\u0BAE\u0BCD\u0BAA\u0BC1\u0B95\u0BBF\u0BB1\u0BC0\u0BB0\u0BCD\u0B95\u0BB3\u0BBE {name}? \u0B87\u0BA4\u0BC8 \u0BAE\u0BC0\u0BA3\u0B82\u0B9F\u0BC2\u0BAE\u0B82 \u0B87\u0BAF\u0B95\u0BCD\u0B95 \u0BAE\u0BC1\u0B9F\u0BBF\u0BAF\u0BBE\u0BA4\u0BC1!",deleteGradeMsg:"\u0BA8\u0BC0\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B89\u0BA3\u0BCD\u0BAE\u0BC8\u0BAF\u0BBF\u0BB2\u0BCD \u0BA8\u0BC0\u0B95\u0BCD\u0B95 \u0BB5\u0BBF\u0BB0\u0BC1\u0BAE\u0BCD\u0BAA\u0BC1\u0B95\u0BBF\u0BB1\u0BC0\u0BB0\u0BCD\u0B95\u0BB3\u0BBE {name}? \u0B87\u0BA4\u0BC8 \u0BAE\u0BC0\u0BA3\u0B82\u0B9F\u0BC2\u0BAE\u0B82 \u0B87\u0BAF\u0B95\u0BCD\u0B95 \u0BAE\u0BC1\u0B9F\u0BBF\u0BAF\u0BBE\u0BA4\u0BC1!",deleteCustomVarMsg:"\u0BA8\u0BC0\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B89\u0BA3\u0BCD\u0BAE\u0BC8\u0BAF\u0BBF\u0BB2\u0BCD \u0BAE\u0BBE\u0BB1\u0BBF\u0BAF\u0BC8 \u0BA8\u0BC0\u0B95\u0BCD\u0B95 \u0BB5\u0BBF\u0BB0\u0BC1\u0BAE\u0BCD\u0BAA\u0BC1\u0B95\u0BBF\u0BB1\u0BC0\u0BB0\u0BCD\u0B95\u0BB3\u0BBE {name}? \u0B87\u0BA4\u0BC8 \u0BAE\u0BC0\u0BA3\u0B82\u0B9F\u0BC2\u0BAE\u0B82 \u0B87\u0BAF\u0B95\u0BCD\u0B95 \u0BAE\u0BC1\u0B9F\u0BBF\u0BAF\u0BBE\u0BA4\u0BC1!",headers:{name:"\u0BAA\u0BC6\u0BAF\u0BB0\u0BCD",isboss:"\u0BAE\u0BC1\u0BA4\u0BB2\u0BBE\u0BB3\u0BBF"},addGrade:"\u0BA4\u0BB0\u0BA4\u0BCD\u0BA4\u0BC8\u0B9A\u0BCD \u0B9A\u0BC7\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD"},liveMap:{viewPlayerTab:"\u0BB5\u0BC0\u0BB0\u0BB0\u0BCD \u0B9A\u0BBE\u0BA4\u0BA9\u0BC8\u0BAF\u0BC8\u0BAA\u0BCD \u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD",viewVehicleTab:"\u0BB5\u0BBE\u0B95\u0BA9 \u0BAA\u0BA4\u0BBF\u0BB5\u0BC8 \u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD",noOnlinePlayers:"\u0B86\u0BA9\u0BCD\u0BB2\u0BC8\u0BA9\u0BBF\u0BB2\u0BCD \u0BB5\u0BC0\u0BB0\u0BB0\u0BCD\u0B95\u0BB3\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8",noSpawnedVehicles:"\u0BB5\u0BBE\u0B95\u0BA9\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B8E\u0BA4\u0BC1\u0BB5\u0BC1\u0BAE\u0BCD \u0B89\u0BB0\u0BC1\u0BB5\u0BBE\u0B95\u0BB5\u0BBF\u0BB2\u0BCD\u0BB2\u0BC8",generalContextMenuHeader:"\u0BAA\u0BC6\u0BBE\u0BA4\u0BC1",teleportPlayerHeader:"\u0B9F\u0BC6\u0BB2\u0BBF\u0BAA\u0BCB\u0BB0\u0BCD\u0B9F\u0BCD \u0B9A\u0BC6\u0BAF\u0BCD\u0BAF \u0BAA\u0BBF\u0BB3\u0BC7\u0BAF\u0BB0\u0BC8\u0BA4\u0BCD \u0BA4\u0BC7\u0BB0\u0BCD\u0BA8\u0BCD\u0BA4\u0BC6\u0B9F\u0BC1\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD",copyCoordsToClipboard:"\u0BA8\u0B95\u0BB2\u0BCD coords",teleportTo:"\u0B9F\u0BC6\u0BB2\u0BBF\u0BAA\u0BCB\u0BB0\u0BCD\u0B9F\u0BCD \u0BAA\u0BBF\u0BB3\u0BC7\u0BAF\u0BB0\u0BCD",createWaypoint:"\u0BB5\u0BB4\u0BBF\u0BAA\u0BCD\u0BAA\u0BBE\u0BA4\u0BC8\u0BAF\u0BC8 \u0B89\u0BB0\u0BC1\u0BB5\u0BBE\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD",markers:{vehicles:"\u0BB5\u0BBE\u0B95\u0BA9\u0B99\u0BCD\u0B95\u0BB3\u0BCD",players:"\u0BB5\u0BC0\u0BB0\u0BB0\u0BCD\u0B95\u0BB3\u0BCD"},labels:{selectedPlayer:"\u0BA4\u0BC7\u0BB0\u0BCD\u0BA8\u0BCD\u0BA4\u0BC6\u0B9F\u0BC1\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F \u0BB5\u0BC0\u0BB0\u0BB0\u0BCD"},btn:{loadFromWaypoint:"\u0B8F\u0BB1\u0BCD\u0BB1 \u0BB5\u0BB4\u0BBF\u0BAA\u0BCD\u0BAA\u0BBE\u0B9F\u0BCD\u0B9F\u0BC1"},msg:{success:{coordsCopied:"\u0B87\u0BA3\u0BC8\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD \u0BB5\u0BC6\u0BB1\u0BCD\u0BB1\u0BBF\u0B95\u0BB0\u0BAE\u0BBE\u0B95 \u0B95\u0BBF\u0BB3\u0BBF\u0BAA\u0BCD\u0BAA\u0BCB\u0BB0\u0BCD\u0B9F\u0BC1\u0B95\u0BCD\u0B95\u0BC1 \u0BA8\u0B95\u0BB2\u0BC6\u0B9F\u0BC1\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA9."},error:{noPlayersOnline:"\u0B9F\u0BC6\u0BB2\u0BBF\u0BAA\u0BCB\u0BB0\u0BCD\u0B9F\u0BCD \u0B9A\u0BC6\u0BAF\u0BCD\u0BAF \u0BA4\u0BB1\u0BCD\u0BAA\u0BCB\u0BA4\u0BC1 \u0B8E\u0BA8\u0BCD\u0BA4 \u0BAA\u0BBF\u0BB3\u0BC7\u0BAF\u0BB0\u0BC1\u0BAE\u0BCD \u0B86\u0BA9\u0BCD\u0BB2\u0BC8\u0BA9\u0BBF\u0BB2\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8.",errorCopyCoords:"\u0B95\u0BBF\u0BB3\u0BBF\u0BAA\u0BCD\u0BAA\u0BCB\u0BB0\u0BCD\u0B9F\u0BC1\u0B95\u0BCD\u0B95\u0BC1 \u0B95\u0BCB\u0BB0\u0BCD\u0B9F\u0BC1\u0B95\u0BB3\u0BC8 \u0BA8\u0B95\u0BB2\u0BC6\u0B9F\u0BC1\u0B95\u0BCD\u0B95 \u0BAE\u0BC1\u0B9F\u0BBF\u0BAF\u0BB5\u0BBF\u0BB2\u0BCD\u0BB2\u0BC8."}}},playerList:{subheader:"\u0B85\u0BA9\u0BC8\u0BA4\u0BCD\u0BA4\u0BC1 \u0BAA\u0BA4\u0BBF\u0BB5\u0BC1 \u0B8E\u0BB4\u0BC1\u0BA4\u0BCD\u0BA4\u0BC1\u0B95\u0BCD\u0B95\u0BB3\u0BCD.",noData:"\u0BAA\u0BC6\u0BBE\u0BB0\u0BC1\u0BA4\u0BCD\u0BA4\u0BAE\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8",loadData:"\u0BA4\u0BB0\u0BB5\u0BC8 \u0B8F\u0BB1\u0BCD\u0BB1\u0BB5\u0BC1\u0BAE\u0BCD",recordsPerPage:"\u0B92\u0BB0\u0BC1 \u0BAA\u0B95\u0BCD\u0B95\u0BA4\u0BCD\u0BA4\u0BBF\u0BB1\u0BCD\u0B95\u0BC1 \u0BAA\u0BA4\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD",paginationLabel:"{from}-{to} \u0B87\u0BA9\u0BCD {total}",headers:{firstname:"Firstname",lastname:"Lastname",gang:"Gang",job:"Job",online:"Online",citizenid:"Citizen-ID",name:"Accountname"}},player:{tabs:{general:"General",vehicles:"Vehicles",logs:"Logs",notes:"Notes"},pastBans:"\u0BA4\u0B9F\u0BC8/\u0B8E\u0B9A\u0BCD\u0B9A\u0BB0\u0BBF\u0B95\u0BCD\u0B95\u0BC8 \u0BB5\u0BB0\u0BB2\u0BBE\u0BB1\u0BC1",changeJobHeader:"\u0BB5\u0BC7\u0BB2\u0BC8\u0BAF\u0BC8 \u0BAE\u0BBE\u0BB1\u0BCD\u0BB1\u0BB5\u0BC1\u0BAE\u0BCD",changeGangHeader:"\u0B95\u0BC1\u0BAE\u0BCD\u0BAA\u0BB2\u0BC8 \u0BAE\u0BBE\u0BB1\u0BCD\u0BB1\u0BB5\u0BC1\u0BAE\u0BCD",deleteHeader:"\u0BB5\u0BC0\u0BB0\u0BB0\u0BC8 \u0BA8\u0BC0\u0B95\u0BCD\u0B95\u0BC1",deletePlayerMsg:"\u0BA8\u0BC0\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B89\u0BA3\u0BCD\u0BAE\u0BC8\u0BAF\u0BBF\u0BB2\u0BCD \u0BB5\u0BC0\u0BB0\u0BB0\u0BC8 \u0BA8\u0BC0\u0B95\u0BCD\u0B95 \u0BB5\u0BBF\u0BB0\u0BC1\u0BAE\u0BCD\u0BAA\u0BC1\u0B95\u0BBF\u0BB1\u0BC0\u0BB0\u0BCD\u0B95\u0BB3\u0BBE {name}? \u0B87\u0BA4\u0BC8 \u0BAE\u0BC0\u0BA3\u0B82\u0B9F\u0BC2\u0BAE\u0B82 \u0B87\u0BAF\u0B95\u0BCD\u0B95 \u0BAE\u0BC1\u0B9F\u0BBF\u0BAF\u0BBE\u0BA4\u0BC1!",changeAccountHeader:"Change license",changeAccountSub:"\u0BAA\u0BBF\u0BB3\u0BC7\u0BAF\u0BB0\u0BC1\u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0B89\u0BB0\u0BBF\u0BAE\u0BA4\u0BCD\u0BA4\u0BC8 \u0BA8\u0BC0\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B89\u0BA3\u0BCD\u0BAE\u0BC8\u0BAF\u0BBF\u0BB2\u0BCD \u0BAE\u0BBE\u0BB1\u0BCD\u0BB1 \u0BB5\u0BBF\u0BB0\u0BC1\u0BAE\u0BCD\u0BAA\u0BC1\u0B95\u0BBF\u0BB1\u0BC0\u0BB0\u0BCD\u0B95\u0BB3\u0BBE {name}? \u0B87\u0BA4\u0BC8 \u0BAE\u0BC0\u0BA3\u0B82\u0B9F\u0BC2\u0BAE\u0B82 \u0B87\u0BAF\u0B95\u0BCD\u0B95 \u0BAE\u0BC1\u0B9F\u0BBF\u0BAF\u0BBE\u0BA4\u0BC1!",playerScreenHeader:"\u0BB5\u0BC0\u0BB0\u0BB0\u0BCD\u0B95\u0BB3\u0BBF\u0BA9\u0BCD \u0BA4\u0BB1\u0BCD\u0BAA\u0BCB\u0BA4\u0BC8\u0BAF \u0BAA\u0BBE\u0BB0\u0BCD\u0BB5\u0BC8",addMoneyHeader:"\u0BAA\u0BA3\u0BAE\u0BCD \u0B9A\u0BC7\u0BB0\u0BCD",addMoneyMsg:"\u0BA4\u0BCA\u0B95\u0BC8\u0BAF\u0BC8 \u0B89\u0BB3\u0BCD\u0BB3\u0BBF\u0B9F\u0BB5\u0BC1\u0BAE\u0BCD",removeMoneyHeader:"\u0BAA\u0BA3\u0BA4\u0BCD\u0BA4\u0BC8 \u0B85\u0B95\u0BB1\u0BCD\u0BB1\u0BC1",removeMoneyMsg:"\u0BA4\u0BCA\u0B95\u0BC8\u0BAF\u0BC8 \u0B89\u0BB3\u0BCD\u0BB3\u0BBF\u0B9F\u0BB5\u0BC1\u0BAE\u0BCD",buttons:{unban:"\u0BA4\u0B9F\u0BC8\u0BAF\u0BC8 \u0BAE\u0BC0\u0B9F\u0BCD\u0B9F\u0BAE\u0BC8\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD",warn:"\u0B8E\u0B9A\u0BCD\u0B9A\u0BB0\u0BBF\u0B95\u0BCD\u0B95\u0BC8",ban:"\u0BA4\u0B9F\u0BC8",kick:"\u0B89\u0BA4\u0BC8",inventory:"Inventory",screen:"\u0BA4\u0BBF\u0BB0\u0BC8\u0BAF\u0BC8\u0B95\u0BCD \u0B95\u0BBE\u0B9F\u0BCD\u0B9F\u0BC1",money:{set:"\u0B85\u0BAE\u0BC8\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD",give:"\u0B95\u0BCA\u0B9F\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD",remove:"\u0B85\u0B95\u0BB1\u0BCD\u0BB1\u0BC1"}},banMsg:"\u{1F528} '{by}'\u0BAE\u0BC2\u0BB2\u0BAE\u0BCD '{reason}'\u0B95\u0BCD\u0B95\u0BBE\u0BA9 {expire} \u0BB5\u0BB0\u0BC8 \u0BA4\u0B9F\u0BC8 \u0BB5\u0BBF\u0BA4\u0BBF\u0B95\u0B82\u0B95\u0BAA\u0B82\u0BAA\u0B9F\u0BC1\u0B95\u0BBF\u0BB1\u0BA4\u0BC1.",moneyDisclaimer:"\u0B87\u0BA4\u0BC1 \u0B8E\u0BA8\u0BCD\u0BA4 \u0BB5\u0B95\u0BC8\u0BAF\u0BBF\u0BB2\u0BC1\u0BAE\u0BCD \u0BAA\u0BA3\u0BA4\u0BCD\u0BA4\u0BC8 \u0B89\u0BB0\u0BC1\u0BAA\u0BCD\u0BAA\u0B9F\u0BBF\u0BAF\u0BBE\u0B95 \u0B86\u0BA4\u0BB0\u0BBF\u0B95\u0BCD\u0B95\u0BBE\u0BA4\u0BC1.",headers:{general:"General",charinfo:"Characterinfo",meta:"Metadata",money:"Money",gang:"Gang",job:"Job",actions:"Actions"},labels:{name:"Accountname",citizenid:"Citizen-ID",license:"License",position:"Position",firstname:"Firstname",lastname:"Lastname",account:"Account",cid:"Char-ID",gender:"Gender",male:"male",female:"female",birthdate:"Birthday",nationality:"Nationality",phone:"Handy",backstory:"Charstory",isdead:"Is dead",ishandcuffed:"Cuffed",walletid:"Wallet-ID",fingerprint:"Fingerprint",bloodtype:"Bloodtype",thirst:"Thirst",hunger:"Hunger",stress:"Stress",armor:"Armor",job:{name:"Name",grade:"Grade"},gang:{name:"Name",grade:"Grade"},money:{bank:"Bank",crypto:"Crypto",cash:"Cash"},health:"Health",ip:"IP",discord:"Discord",bucket:"Bucket"},msg:{success:{success:"\u0BA4\u0BB0\u0BB5\u0BC1 \u0B9A\u0BC7\u0BAE\u0BBF\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1.",hunger:"\u0BAA\u0B9A\u0BBF \u0BA8\u0BBF\u0BB0\u0BAE\u0BCD\u0BAA\u0BBF\u0BAF\u0BA4\u0BC1.",thirst:"\u0BA4\u0BBE\u0B95\u0BAE\u0BCD \u0BA8\u0BBF\u0BB0\u0BAE\u0BCD\u0BAA\u0BBF\u0BAF\u0BA4\u0BC1.",isdead:"\u0B87\u0BB1\u0BA8\u0BCD\u0BA4 \u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1 \u0BAE\u0BBE\u0BB1\u0BCD\u0BB1\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1.",ishandcuffed:"cuffed \u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1 \u0BAE\u0BBE\u0BB1\u0BCD\u0BB1\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1.",changeJob:"\u0BB5\u0BC7\u0BB2\u0BC8 \u0BAE\u0BBE\u0BB1\u0BBF\u0BAF\u0BA4\u0BC1.",changeGang:"\u0B95\u0BC1\u0BAE\u0BCD\u0BAA\u0BB2\u0BCD \u0BAE\u0BBE\u0BB1\u0BBF\u0BAF\u0BA4\u0BC1.",changedBucket:"Bucket \u0BAE\u0BBE\u0BB1\u0BBF\u0BAF\u0BA4\u0BC1.",stress:"\u0BAE\u0BA9 \u0B85\u0BB4\u0BC1\u0BA4\u0BCD\u0BA4\u0BAE\u0BCD \u0B95\u0BC1\u0BB1\u0BC8\u0BA8\u0BCD\u0BA4\u0BA4\u0BC1.",healed:"\u0BB5\u0BC0\u0BB0\u0BB0\u0BCD \u0B95\u0BC1\u0BA3\u0BAE\u0B9F\u0BC8\u0BA8\u0BCD\u0BA4\u0BBE\u0BB0\u0BCD."},error:{notOnline:"\u0BAA\u0BBF\u0BB3\u0BC7\u0BAF\u0BB0\u0BCD \u0B86\u0BA9\u0BCD\u0BB2\u0BC8\u0BA9\u0BBF\u0BB2\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8.",notFound:"\u0BAA\u0BBF\u0BB3\u0BC7\u0BAF\u0BB0\u0BCD \u0B95\u0BBF\u0B9F\u0BC8\u0B95\u0BCD\u0B95\u0BB5\u0BBF\u0BB2\u0BCD\u0BB2\u0BC8.",missingFields:"\u0BA4\u0BC7\u0BB5\u0BC8\u0BAF\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1\u0B95\u0BB3\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8.",changeJob:"\u0BB5\u0BC7\u0BB2\u0BC8\u0B95\u0BCD\u0B95\u0BC1 \u0BB5\u0BBF\u0BA3\u0BCD\u0BA3\u0BAA\u0BCD\u0BAA\u0BBF\u0B95\u0BCD\u0B95 \u0BAE\u0BC1\u0B9F\u0BBF\u0BAF\u0BB5\u0BBF\u0BB2\u0BCD\u0BB2\u0BC8.",changeGang:"\u0B95\u0BC1\u0BAE\u0BCD\u0BAA\u0BB2\u0BC8 \u0BB5\u0BBF\u0BA3\u0BCD\u0BA3\u0BAA\u0BCD\u0BAA\u0BBF\u0B95\u0BCD\u0B95 \u0BAE\u0BC1\u0B9F\u0BBF\u0BAF\u0BB5\u0BBF\u0BB2\u0BCD\u0BB2\u0BC8.",failedFetchGangs:"\u0B95\u0BC1\u0BAE\u0BCD\u0BAA\u0BB2\u0BC8\u0BAA\u0BCD \u0BAA\u0BBF\u0B9F\u0BBF\u0B95\u0BCD\u0B95 \u0BAE\u0BC1\u0B9F\u0BBF\u0BAF\u0BB5\u0BBF\u0BB2\u0BCD\u0BB2\u0BC8.",failedFetchJobs:"\u0BB5\u0BC7\u0BB2\u0BC8\u0B95\u0BB3\u0BC8\u0BAA\u0BCD \u0BAA\u0BC6\u0BB1 \u0BAE\u0BC1\u0B9F\u0BBF\u0BAF\u0BB5\u0BBF\u0BB2\u0BCD\u0BB2\u0BC8.",deleteError:"\u0B8F\u0BA4\u0BC7\u0BBE \u0BA4\u0BB5\u0BB1\u0BC1 \u0BA8\u0B9F\u0BA8\u0BCD\u0BA4\u0BC1\u0BB5\u0BBF\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1.",couldNotFetchScreen:"\u0BB5\u0BC0\u0BB0\u0BB0\u0BCD\u0B95\u0BB3\u0BBF\u0BA9\u0BCD \u0BA4\u0BB1\u0BCD\u0BAA\u0BCB\u0BA4\u0BC8\u0BAF \u0BA4\u0BBF\u0BB0\u0BC8\u0BAF\u0BC8\u0BAA\u0BCD \u0BAA\u0BC6\u0BB1\u0BC1\u0BB5\u0BA4\u0BBF\u0BB2\u0BCD \u0BAA\u0BBF\u0BB4\u0BC8.",invalid_citizenid:"\u0BB5\u0BB4\u0B99\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F Citizen-ID \u0BA4\u0BB5\u0BB1\u0BBE\u0BA9\u0BA4\u0BC1.",not_allowed:"\u0BAA\u0BA3 \u0BB5\u0B95 \u0B95\u0BA3\u0B9F\u0BAA\u0B9F\u0B95\u0B95\u0BAA\u0BAA\u0B9F\u0BB5\u0BB2\u0BB2 \u0B85\u0BB2\u0BB2\u0BA4 \u0B8E\u0BA4\u0BB0\u0BAE\u0BB1 \u0BAE\u0BA4\u0BAA\u0BAA \u0B85\u0BA9\u0BAE\u0BA4\u0B95\u0B95\u0BAA\u0BAA\u0B9F\u0BB5\u0BB2\u0BB2."}}},vehicleList:{subheader:"\u0B85\u0BA9\u0BC8\u0BA4\u0BCD\u0BA4\u0BC1 \u0BB5\u0BC0\u0BB0\u0BB0\u0BCD \u0BB5\u0BBE\u0B95\u0BA9\u0B99\u0BCD\u0B95\u0BB3\u0BCD.",noData:"\u0BAA\u0BC6\u0BBE\u0BB0\u0BC1\u0BA4\u0BCD\u0BA4\u0BAE\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8",loadData:"\u0BA4\u0BB0\u0BB5\u0BC8 \u0B8F\u0BB1\u0BCD\u0BB1\u0BB5\u0BC1\u0BAE\u0BCD",spawned:"Spawned",garage:"Garage",outside:"Outside",inpound:"Inpound",headers:{owner:"Owner",plate:"Plate",vehicle:"Model",spawned:"Spawned",state:"State",engine:"Engine",body:"Body",fuel:"Fuel"},recordsPerPage:"\u0B92\u0BB0\u0BC1 \u0BAA\u0B95\u0BCD\u0B95\u0BA4\u0BCD\u0BA4\u0BBF\u0BB1\u0BCD\u0B95\u0BC1 \u0BAA\u0BA4\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD",paginationLabel:"{from}-{to} \u0B87\u0BA9\u0BCD {total}",createVehicle:"\u0BB5\u0BBE\u0B95\u0BA9\u0BA4\u0BCD\u0BA4\u0BC8 \u0B89\u0BB0\u0BC1\u0BB5\u0BBE\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD"},vehicle:{despawnHeader:"Despawn",despawnMsg:"\u0BA8\u0BC0\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0BA4\u0BB1\u0BCD\u0BAA\u0BCB\u0BA4\u0BC8\u0BAF \u0BB5\u0BBE\u0B95\u0BA9\u0BA4\u0BCD\u0BA4\u0BC8 despawn \u0B9A\u0BC6\u0BAF\u0BCD\u0BAF \u0BB5\u0BBF\u0BB0\u0BC1\u0BAE\u0BCD\u0BAA\u0BC1\u0B95\u0BBF\u0BB1\u0BC0\u0BB0\u0BCD\u0B95\u0BB3\u0BBE?",deleteHeader:"\u0B85\u0BB4\u0BBF",deleteMsg:"\u0BA8\u0BC0\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0BA4\u0BB1\u0BCD\u0BAA\u0BCB\u0BA4\u0BC8\u0BAF \u0BB5\u0BBE\u0B95\u0BA9\u0BA4\u0BCD\u0BA4\u0BC8 \u0BA4\u0BB0\u0BB5\u0BC1\u0BA4\u0BCD\u0BA4\u0BB3\u0BA4\u0BCD\u0BA4\u0BBF\u0BB2\u0BCD \u0B87\u0BB0\u0BC1\u0BA8\u0BCD\u0BA4\u0BC1 \u0BA8\u0BC0\u0B95\u0BCD\u0B95\u0BBF \u0B85\u0BA4\u0BC8 despawn \u0B9A\u0BC6\u0BAF\u0BCD\u0BAF \u0BB5\u0BBF\u0BB0\u0BC1\u0BAE\u0BCD\u0BAA\u0BC1\u0B95\u0BBF\u0BB1\u0BC0\u0BB0\u0BCD\u0B95\u0BB3\u0BBE? \u0BAE\u0BB1\u0BCD\u0BB1 \u0BB5\u0BBE\u0B95\u0BA9\u0BAE\u0BCD \u0BA4\u0BCA\u0B9F\u0BB0\u0BCD\u0BAA\u0BBE\u0BA9 \u0B85\u0B9F\u0BCD\u0B9F\u0BB5\u0BA3\u0BC8\u0B95\u0BB3\u0BCD (e.g. trunk) \u0BAA\u0BBE\u0BA4\u0BBF\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BBE\u0BA4\u0BC1!",changeOwnerHeader:"\u0BAA\u0BC1\u0BA4\u0BBF\u0BAF \u0B89\u0BB0\u0BBF\u0BAE\u0BC8\u0BAF\u0BBE\u0BB3\u0BB0\u0BC8\u0BA4\u0BCD \u0BA4\u0BC7\u0BB0\u0BCD\u0BA8\u0BCD\u0BA4\u0BC6\u0B9F\u0BC1\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD",changeOwnerInput:"\u0BAA\u0BC1\u0BA4\u0BBF\u0BAF \u0B89\u0BB0\u0BBF\u0BAE\u0BC8\u0BAF\u0BBE\u0BB3\u0BB0\u0BCD\u0B95\u0BB3\u0BBF\u0BA9\u0BCD Citizen-ID \u0B9A\u0BC7\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD",buttons:{changeOwner:"\u0B89\u0BB0\u0BBF\u0BAE\u0BC8\u0BAF\u0BBE\u0BB3\u0BB0\u0BC8 \u0BAE\u0BBE\u0BB1\u0BCD\u0BB1\u0BB5\u0BC1\u0BAE\u0BCD",despawnVehicle:"\u0BB5\u0BBE\u0B95\u0BA9\u0BA4\u0BCD\u0BA4\u0BC8 Despawn \u0B9A\u0BC6\u0BAF\u0B82\u0BAF",repairVehicle:"\u0BB5\u0BBE\u0B95\u0BA9\u0BA4\u0BCD\u0BA4\u0BC8 \u0BAA\u0BB4\u0BC1\u0BA4\u0BC1 \u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0B82\u0B95",deleteVehicle:"\u0BB5\u0BBE\u0B95\u0BA9\u0BA4\u0BCD\u0BA4\u0BC8 \u0BA8\u0BC0\u0B95\u0BCD\u0B95",openTrunk:"\u0BA4\u0BBF\u0BB1\u0BA8\u0BCD\u0BA4 \u0BA4\u0BA3\u0BCD\u0B9F\u0BC1",openGlovebox:"\u0B95\u0BC8\u0BAF\u0BC1\u0BB1\u0BC8 \u0BAA\u0BC6\u0B9F\u0BCD\u0B9F\u0BBF\u0BAF\u0BC8\u0BA4\u0BCD \u0BA4\u0BBF\u0BB1\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD"},header:{owner:"\u0B89\u0BB0\u0BBF\u0BAE\u0BC8\u0BAF\u0BBE\u0BB3\u0BB0\u0BCD",payment:"\u0BAA\u0BA3\u0BAE\u0BCD \u0B9A\u0BC6\u0BB2\u0BC1\u0BA4\u0BCD\u0BA4\u0BC1\u0BA4\u0BB2\u0BCD",car:"\u0B95\u0BBE\u0BB0\u0BCD"},labels:{owner:"Owner",citizenid:"Citizen-ID",license:"\u0B89\u0BB0\u0BBF\u0BAE\u0BAE\u0BCD",depotprice:"Depot Price",balance:"Balance",paymentamount:"Amount",paymentsleft:"Left",financetime:"Finance Time",model:"Model",plate:"Plate",fakeplate:"Fakeplate",drivingdistance:"Mileage",garage:"Garage",state:"State",fuel:"Fuel",engine:"Engine",body:"Body"},msg:{error:{noMatch:"\u0BB5\u0BBE\u0B95\u0BA9\u0BA4\u0BCD\u0BA4\u0BC8\u0B95\u0BCD \u0B95\u0BA3\u0BCD\u0B9F\u0BC1\u0BAA\u0BBF\u0B9F\u0BBF\u0B95\u0BCD\u0B95 \u0BAE\u0BC1\u0B9F\u0BBF\u0BAF\u0BB5\u0BBF\u0BB2\u0BCD\u0BB2\u0BC8. \u0B92\u0BB0\u0BC1\u0BB5\u0BC7\u0BB3\u0BC8 \u0B85\u0BA4\u0BC1 \u0BA8\u0BC0\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BBE?",not_spawned:"\u0BB5\u0BBE\u0B95\u0BA9\u0BAE\u0BCD \u0B89\u0BB0\u0BC1\u0BB5\u0BBE\u0B95\u0BB5\u0BBF\u0BB2\u0BCD\u0BB2\u0BC8.",not_found:"\u0B8F\u0BA4\u0BC7\u0BBE \u0BA4\u0BB5\u0BB1\u0BC1 \u0BA8\u0B9F\u0BA8\u0BCD\u0BA4\u0BC1\u0BB5\u0BBF\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1. \u0BB5\u0BBE\u0B95\u0BA9\u0BA4\u0BCD\u0BA4\u0BC8\u0B95\u0BCD \u0B95\u0BA3\u0BCD\u0B9F\u0BC1\u0BAA\u0BBF\u0B9F\u0BBF\u0B95\u0BCD\u0B95 \u0BAE\u0BC1\u0B9F\u0BBF\u0BAF\u0BB5\u0BBF\u0BB2\u0BCD\u0BB2\u0BC8.",missingData:"\u0BAA\u0BC1\u0BA4\u0BBF\u0BAF \u0B89\u0BB0\u0BBF\u0BAE\u0BC8\u0BAF\u0BBE\u0BB3\u0BB0\u0BCD \u0BA4\u0BB0\u0BB5\u0BC1 \u0B87\u0BB2\u0BCD\u0BB2\u0BC8.",invalid_citizenid:"\u0BB5\u0BB4\u0B99\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F Citizen-ID \u0BA4\u0BB5\u0BB1\u0BBE\u0BA9\u0BA4\u0BC1.",sql_error:"SQL \u0BB5\u0BBF\u0BA9\u0BB5\u0BB2\u0BCD\u0B95\u0BB3\u0BC8 \u0B87\u0BAF\u0B95\u0BCD\u0B95\u0BC1\u0BAE\u0BCD\u0BAA\u0BCB\u0BA4\u0BC1 \u0B8F\u0BA4\u0BCB \u0BA4\u0BB5\u0BB1\u0BC1 \u0B8F\u0BB1\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1. \u0B8E\u0BA8\u0BCD\u0BA4 \u0BAE\u0BBE\u0BB1\u0BCD\u0BB1\u0BAE\u0BC1\u0BAE\u0BCD \u0B9A\u0BC6\u0BAF\u0BCD\u0BAF\u0BAA\u0BCD\u0BAA\u0B9F\u0BB5\u0BBF\u0BB2\u0BCD\u0BB2\u0BC8!",allowedCharsNumbers:"\u0B89\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0BA4\u0B9F\u0BCD\u0B9F\u0BBF\u0BB2\u0BCD \u0B87\u0B9F\u0BAE\u0BCD, \u0B8E\u0BA3\u0BCD\u0B95\u0BB3\u0BCD \u0BAE\u0BB1\u0BCD\u0BB1\u0BC1\u0BAE\u0BCD \u0B8E\u0BB4\u0BC1\u0BA4\u0BCD\u0BA4\u0BC1\u0B95\u0BCD\u0B95\u0BB3\u0BC8 \u0BAE\u0B9F\u0BCD\u0B9F\u0BC1\u0BAE\u0BC7 \u0BAA\u0BAF\u0BA9\u0BCD\u0BAA\u0B9F\u0BC1\u0BA4\u0BCD\u0BA4 \u0BAE\u0BC1\u0B9F\u0BBF\u0BAF\u0BC1\u0BAE\u0BCD.",plate_exists:"\u0BA4\u0B9F\u0BCD\u0B9F\u0BC1 \u0B8F\u0BB1\u0BCD\u0B95\u0BA9\u0BB5\u0BC7 \u0B89\u0BB3\u0BCD\u0BB3\u0BA4\u0BC1. \u0BA4\u0BAF\u0BB5\u0BC1\u0B9A\u0BC6\u0BAF\u0BCD\u0BA4\u0BC1 \u0BB5\u0BC7\u0BB1\u0BC1 \u0B92\u0BA9\u0BCD\u0BB1\u0BC8\u0BA4\u0BCD \u0BA4\u0BC7\u0BB0\u0BCD\u0BB5\u0BC1 \u0B9A\u0BC6\u0BAF\u0BCD\u0BAF\u0BB5\u0BC1\u0BAE\u0BCD."}}},vehicleCreate:{new:"\u0BAA\u0BC1\u0BA4\u0BBF\u0BAF \u0BB5\u0BBE\u0B95\u0BA9\u0BA4\u0BCD\u0BA4\u0BC8 \u0B89\u0BB0\u0BC1\u0BB5\u0BBE\u0B95\u0BCD\u0B95\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD"},logs:{loadMore:"\u0BAE\u0BC7\u0BB2\u0BC7 \u0BB8\u0BCD\u0B95\u0BCD\u0BB0\u0BCB\u0BB2\u0BCD \u0B9A\u0BC6\u0BAF\u0BCD\u0BB5\u0BA4\u0BC1 \u0B85\u0BA4\u0BBF\u0B95 \u0BAA\u0BA4\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BC8 \u0B8F\u0BB1\u0BCD\u0BB1\u0BC1\u0B95\u0BBF\u0BB1\u0BA4\u0BC1."},configuration:{colorsHeader:"\u0BB5\u0BA3\u0BCD\u0BA3\u0B99\u0BCD\u0B95\u0BB3\u0BCD",colorsSub:"\u0B89\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0BAA\u0BBF\u0BB0\u0BBE\u0BA3\u0BCD\u0B9F\u0BBF\u0BB1\u0BCD\u0B95\u0BC1 \u0B8F\u0BB1\u0BCD\u0BB1\u0BB5\u0BBE\u0BB1\u0BC1 \u0BA4\u0BC0\u0BAE\u0BBF\u0BA9\u0BC8\u0B9A\u0BCD \u0B9A\u0BB0\u0BBF\u0B9A\u0BC6\u0BAF\u0BCD\u0BAF\u0BB5\u0BC1\u0BAE\u0BCD.",colors:{primary:"Primary",secondary:"Secondary",accent:"Accent",dark:"Background",positive:"Positive",negative:"Negative",info:"Info",warning:"Warning",main:"Text",sub:"Subtext"},buttons:{undo:"Undo",defaults:"Defaults"}},inventory:{playerInventory:"\u0BB5\u0BC0\u0BB0\u0BB0\u0BCD",supporterStash:"Supporter Stash",itemName:"\u0BAA\u0BC6\u0BAF\u0BB0\u0BCD",amount:"\u0BA4\u0BCA\u0B95\u0BC8",infoSection:"\u0BA4\u0B95\u0BB5\u0BB2\u0BCD \u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD",infoSectionSub:"\u0B89\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0BAA\u0BC1\u0BA4\u0BBF\u0BAF \u0B89\u0BB0\u0BC1\u0BAA\u0BCD\u0BAA\u0B9F\u0BBF\u0BAF\u0BBF\u0BB2\u0BCD \u0BA4\u0B95\u0BB5\u0BB2\u0BCD \u0BAE\u0BBE\u0BB1\u0BBF\u0B95\u0BB3\u0BC8\u0B9A\u0BCD \u0B9A\u0BC7\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD.",addInfoValue:"\u0BAA\u0BC1\u0BA4\u0BBF\u0BAF\u0BA9\u0BB5\u0BB1\u0BCD\u0BB1\u0BC8 \u0B9A\u0BC7\u0BB0\u0BCD",infoName:"Key",infoValue:"\u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1",deleteHeader:"\u0B85\u0BB4\u0BBF",deleteMsg:"\u0BA8\u0BC0\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B89\u0BA3\u0BCD\u0BAE\u0BC8\u0BAF\u0BBF\u0BB2\u0BCD \u0B87\u0BA4\u0BC8 \u0BA8\u0BC0\u0B95\u0BCD\u0B95 \u0BB5\u0BBF\u0BB0\u0BC1\u0BAE\u0BCD\u0BAA\u0BC1\u0B95\u0BBF\u0BB1\u0BC0\u0BB0\u0BCD\u0B95\u0BB3\u0BBE? \u0B87\u0BA4\u0BC8 \u0BAE\u0BC0\u0BA3\u0B82\u0B9F\u0BC2\u0BAE\u0B82 \u0B87\u0BAF\u0B95\u0BCD\u0B95 \u0BAE\u0BC1\u0B9F\u0BBF\u0BAF\u0BBE\u0BA4\u0BC1!",deleteInfoHeader:"\u0B85\u0BB4\u0BBF",deleteInfoMsg:"\u0BA8\u0BC0\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B89\u0BA3\u0BCD\u0BAE\u0BC8\u0BAF\u0BBF\u0BB2\u0BC7\u0BAF\u0BC7 \u0BA4\u0B95\u0BB5\u0BB2\u0BC8 \u0BA8\u0BC0\u0B95\u0BCD\u0B95 \u0BB5\u0BBF\u0BB0\u0BC1\u0BAE\u0BCD\u0BAA\u0BC1\u0B95\u0BBF\u0BB1\u0BC0\u0BB0\u0BCD\u0B95\u0BB3\u0BBE? {name}? \u0B87\u0BA4\u0BC8 \u0BAE\u0BC0\u0BA3\u0B82\u0B9F\u0BC2\u0BAE\u0B82 \u0B87\u0BAF\u0B95\u0BCD\u0B95 \u0BAE\u0BC1\u0B9F\u0BBF\u0BAF\u0BBE\u0BA4\u0BC1!",addItemTip:"\u0BAA\u0BC1\u0BA4\u0BBF\u0BAF \u0B89\u0BB0\u0BC1\u0BAA\u0BCD\u0BAA\u0B9F\u0BBF\u0BAF\u0BC8\u0B9A\u0BCD \u0B9A\u0BC7\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD",addItemHeader:"\u0B9A\u0BC7\u0BB0\u0BCD\u0B95\u0BCD\u0B95",clearInvTip:"Clear inventory",clearInvHeader:"Clear Inventory",clearInvMsg:"\u0BAE\u0BC1\u0BB4\u0BC1\u0BAE\u0BC8\u0BAF\u0BBE\u0BA9 \u0BAA\u0BBF\u0BB3\u0BC7\u0BAF\u0BB0\u0BCD \u0B87\u0BB0\u0BC1\u0BAA\u0BCD\u0BAA\u0BC8 \u0B85\u0BB4\u0BBF\u0B95\u0BCD\u0B95 \u0BB5\u0BBF\u0BB0\u0BC1\u0BAE\u0BCD\u0BAA\u0BC1\u0B95\u0BBF\u0BB1\u0BC0\u0BB0\u0BCD\u0B95\u0BB3\u0BBE? \u0B87\u0BA4\u0BC8 \u0BAE\u0BC0\u0BA3\u0B82\u0B9F\u0BC2\u0BAE\u0B82 \u0B87\u0BAF\u0B95\u0BCD\u0B95 \u0BAE\u0BC1\u0B9F\u0BBF\u0BAF\u0BBE\u0BA4\u0BC1!",msg:{success:{fixedPlayerItems:"Fixed player items and saved deleted items into file (if browser allows)."},error:{failedFetchItems:"\u0B89\u0BB0\u0BC1\u0BAA\u0BCD\u0BAA\u0B9F\u0BBF \u0BB5\u0BB0\u0BC8\u0BAF\u0BB1\u0BC8\u0B95\u0BB3\u0BC8\u0BAA\u0BCD \u0BAA\u0BC6\u0BB1\u0BC1\u0BB5\u0BA4\u0BBF\u0BB2\u0BCD \u0BA4\u0BCB\u0BB2\u0BCD\u0BB5\u0BBF.",failedLoad:"\u0B87\u0BB0\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1\u0BA4\u0BCD \u0BA4\u0BB0\u0BB5\u0BC8\u0BAA\u0BCD \u0BAA\u0BC6\u0BB1\u0BC1\u0BB5\u0BA4\u0BBF\u0BB2\u0BCD \u0BA4\u0BCB\u0BB2\u0BCD\u0BB5\u0BBF.",noItemName:" \u0B89\u0BB0\u0BC1\u0BAA\u0BCD\u0BAA\u0B9F\u0BBF \u0B8E\u0BA4\u0BC1\u0BB5\u0BC1\u0BAE\u0BCD \u0BA4\u0BC7\u0BB0\u0BCD\u0BA8\u0BCD\u0BA4\u0BC6\u0B9F\u0BC1\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BB5\u0BBF\u0BB2\u0BCD\u0BB2\u0BC8.",unknown_citizenid:"\u0BAA\u0BBF\u0BB3\u0BC7\u0BAF\u0BB0\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8.",noSlot:"slot \u0B87\u0BB2\u0BB5\u0B9A\u0BAE\u0BBE\u0B95 \u0B87\u0BB2\u0BCD\u0BB2\u0BC8.",invalid_item:"\u0BAA\u0BCA\u0BB0\u0BC1\u0BB3\u0BBF\u0BA9\u0BCD \u0BB5\u0BB0\u0BC8\u0BAF\u0BB1\u0BC8\u0BAF\u0BC8 \u0B95\u0BA3\u0BCD\u0B9F\u0BC1\u0BAA\u0BBF\u0B9F\u0BBF\u0B95\u0BCD\u0B95 \u0BAE\u0BC1\u0B9F\u0BBF\u0BAF\u0BB5\u0BBF\u0BB2\u0BCD\u0BB2\u0BC8. \u0B92\u0BB0\u0BC1\u0BB5\u0BC7\u0BB3\u0BC8 \u0B87\u0BA8\u0BCD\u0BA4 \u0B89\u0BB0\u0BC1\u0BAA\u0BCD\u0BAA\u0B9F\u0BBF\u0BAF\u0BC8 \u0BA8\u0BC0\u0B95\u0BCD\u0B95\u0BB2\u0BBE\u0BAE\u0BCD.",moved:"\u0BAA\u0BCA\u0BB0\u0BC1\u0BB3\u0BCD \u0BA8\u0B95\u0BB0\u0BCD\u0BA8\u0BCD\u0BA4\u0BA4\u0BBE\u0B95\u0BA4\u0BCD \u0BA4\u0BC6\u0BB0\u0BBF\u0B95\u0BBF\u0BB1\u0BA4\u0BC1. \u0BA4\u0BAF\u0BB5\u0BC1 \u0B9A\u0BC6\u0BAF\u0BCD\u0BA4\u0BC1 \u0BAE\u0BC0\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD \u0BAE\u0BC1\u0BAF\u0BB1\u0BCD\u0B9A\u0BBF\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD.",negative:"\u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAE\u0BB1\u0BC8 \u0B89\u0BB0\u0BC1\u0BAA\u0BCD\u0BAA\u0B9F\u0BBF\u0BAF\u0BBF\u0BA9\u0BCD \u0B85\u0BB3\u0BB5\u0BC8 \u0BA8\u0B95\u0BB0\u0BCD\u0BA4\u0BCD\u0BA4 \u0BAE\u0BC1\u0B9F\u0BBF\u0BAF\u0BBE\u0BA4\u0BC1.",not_enough:"\u0B89\u0B99\u0BCD\u0B95\u0BB3\u0BBF\u0B9F\u0BAE\u0BCD \u0B87\u0BA8\u0BCD\u0BA4 \u0B89\u0BB0\u0BC1\u0BAA\u0BCD\u0BAA\u0B9F\u0BBF \u0BAA\u0BCB\u0BA4\u0BC1\u0BAE\u0BBE\u0BA9\u0BA4\u0BBE\u0B95 \u0B87\u0BB2\u0BCD\u0BB2\u0BC8.",internal:"\u0B89\u0BB3\u0BCD \u0BAA\u0BBF\u0BB4\u0BC8. Unlimited \u0BAF\u0BC8 \u0BA4\u0BCA\u0B9F\u0BB0\u0BCD\u0BAA\u0BC1 \u0B95\u0BCA\u0BB3\u0BCD\u0BB3\u0BB5\u0BC1\u0BAE\u0BCD",uniqueInfo:"\u0BA4\u0B95\u0BB5\u0BB2\u0BCD \u0BAE\u0BBE\u0BB1\u0BBF\u0B95\u0BB3\u0BCD \u0BA4\u0BA9\u0BBF\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BBE\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD.",fixPlayer:"Error in PlayerData",fixPlayerText:"This player has a broken PlayerData. Some times this can be caused by invalid item definitions. We can try to fix this by deleting not existing items from the players inventory. This is a experimental feature, be carefull! Should we try to fix it?"}}},devVehicleList:{subheader:"\u0B85\u0BA9\u0BC8\u0BA4\u0BCD\u0BA4\u0BC1 \u0BB5\u0BBE\u0B95\u0BA9\u0B99\u0BCD\u0B95\u0BB3\u0BC1\u0BAE\u0BCD QBCore/Shared/vehicles.lua.",noData:"\u0BAA\u0BC6\u0BBE\u0BB0\u0BC1\u0BA4\u0BCD\u0BA4\u0BAE\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8",loadData:"\u0BA4\u0BB0\u0BB5\u0BC8 \u0B8F\u0BB1\u0BCD\u0BB1\u0BB5\u0BC1\u0BAE\u0BCD",headers:{name:"Name",brand:"Brand",model:"Model",hash:"Hash",price:"Price",category:"Category"},recordsPerPage:"\u0B92\u0BB0\u0BC1 \u0BAA\u0B95\u0BCD\u0B95\u0BA4\u0BCD\u0BA4\u0BBF\u0BB1\u0BCD\u0B95\u0BC1 \u0BAA\u0BA4\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD",paginationLabel:"{from}-{to} \u0B87\u0BA9\u0BCD {total}",createVehicle:"\u0BB5\u0BBE\u0B95\u0BA9\u0BA4\u0BCD\u0BA4\u0BC8 \u0B89\u0BB0\u0BC1\u0BB5\u0BBE\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD"},devVehicle:{edit:"\u0BB5\u0BBE\u0B95\u0BA9\u0BA4\u0BCD\u0BA4\u0BC8\u0BA4\u0BCD \u0BA4\u0BBF\u0BB0\u0BC1\u0BA4\u0BCD\u0BA4\u0BB5\u0BC1\u0BAE\u0BCD",model:"Model",hash:"Hash",name:"Name",brand:"Brand",category:"Category",categoryLabel:"Category label",price:"Price",shop:"Shop",customVariables:"\u0BB5\u0BBF\u0BB0\u0BC1\u0BAA\u0BCD\u0BAA \u0BAE\u0BBE\u0BB1\u0BBF\u0B95\u0BB3\u0BCD",customVarSub:"\u0B89\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B9A\u0BCA\u0BA8\u0BCD\u0BA4 \u0BAE\u0BBE\u0BB1\u0BBF\u0B95\u0BB3\u0BC8 \u0B89\u0BB0\u0BC1\u0BB5\u0BBE\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD.",addCustomVar:"\u0BAA\u0BC1\u0BA4\u0BBF\u0BAF \u0BAE\u0BBE\u0BB1\u0BBF\u0BAF\u0BC8\u0B9A\u0BCD \u0B9A\u0BC7\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD",customVarName:"\u0BAE\u0BBE\u0BB1\u0BBF",customVarValue:"\u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1",msg:{error:{invalid_veh_name:"'{name}'\u0B8E\u0BA9\u0BC1\u0BAE\u0B82 \u0BB5\u0BBE\u0B95\u0BA9\u0BA4\u0BCD\u0BA4\u0BBF\u0BA9\u0BCD \u0BAA\u0BC6\u0BAF\u0BB0\u0BCD \u0B9A\u0BB0\u0BAE\u0BCD \u0BB5\u0B95\u0BC8 \u0B85\u0BB2\u0BCD\u0BB2.",veh_exists:"'{name}'\u0B8E\u0BA9\u0BC1\u0BAE\u0B82 \u0BB5\u0BBE\u0B95\u0BA9\u0BAE\u0BCD \u0B8F\u0BB1\u0BCD\u0B95\u0BA9\u0BB5\u0BC7 \u0B89\u0BB3\u0BCD\u0BB3\u0BA4\u0BC1.",veh_not_exists:"'{name}'\u0B8E\u0BA9\u0BC1\u0BAE\u0B82 \u0BB5\u0BBE\u0B95\u0BA9\u0BAE\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8.",file_error:"\u0BB5\u0BBE\u0B95\u0BA9 \u0BAE\u0BBE\u0BB1\u0BCD\u0BB1\u0BAE\u0BCD \u0BA8\u0BC7\u0BB0\u0BB2\u0BC8\u0BAF\u0BBF\u0BB2\u0BCD \u0B89\u0BB3\u0BCD\u0BB3\u0BA4\u0BC1. \u0B87\u0BB0\u0BC1\u0BAA\u0BCD\u0BAA\u0BBF\u0BA9\u0BC1\u0BAE\u0BCD, .lua \u0B90\u0B9A\u0BCD \u0B9A\u0BC7\u0BAE\u0BBF\u0B95\u0BCD\u0B95\u0BC1\u0BAE\u0BCD \u0BAA\u0BCB\u0BA4\u0BC1 \u0BAA\u0BBF\u0BB4\u0BC8 \u0B8F\u0BB1\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1. \u0BAE\u0BB1\u0BC1\u0BA4\u0BCA\u0B9F\u0B95\u0BCD\u0B95\u0BAE\u0BCD \u0B9A\u0BC6\u0BAF\u0BCD\u0BA4 \u0BAA\u0BBF\u0BB1\u0B95\u0BC1, \u0BAE\u0BBE\u0BB1\u0BCD\u0BB1\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B9A\u0BC6\u0BAF\u0BB2\u0BBF\u0BB2\u0BCD \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95\u0BBE\u0BA4\u0BC1.",missingFields:"\u0BA4\u0BC7\u0BB5\u0BC8\u0BAF\u0BBE\u0BA9 \u0B85\u0BA9\u0BC8\u0BA4\u0BCD\u0BA4\u0BC1 \u0BAA\u0BC1\u0BB2\u0B99\u0BCD\u0B95\u0BB3\u0BC8\u0BAF\u0BC1\u0BAE\u0BCD \u0BA8\u0BBF\u0BB0\u0BAA\u0BCD\u0BAA\u0BB5\u0BC1\u0BAE\u0BCD.",uniqueVars:"\u0BAE\u0BBE\u0BB1\u0BBF\u0B95\u0BB3\u0BCD \u0BA4\u0BA9\u0BBF\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BBE\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD."}},deleteHeader:"\u0B85\u0BB4\u0BBF",deleteMsg:"\u0BA8\u0BC0\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B89\u0BA3\u0BCD\u0BAE\u0BC8\u0BAF\u0BBF\u0BB2\u0BCD \u0BA8\u0BC0\u0B95\u0BCD\u0B95 \u0BB5\u0BBF\u0BB0\u0BC1\u0BAE\u0BCD\u0BAA\u0BC1\u0B95\u0BBF\u0BB1\u0BC0\u0BB0\u0BCD\u0B95\u0BB3\u0BBE {model}? \u0B87\u0BA4\u0BC8 \u0BAE\u0BC0\u0BA3\u0B82\u0B9F\u0BC2\u0BAE\u0B82 \u0B87\u0BAF\u0B95\u0BCD\u0B95 \u0BAE\u0BC1\u0B9F\u0BBF\u0BAF\u0BBE\u0BA4\u0BC1!",deleteCustomVarMsg:"\u0BA8\u0BC0\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B89\u0BA3\u0BCD\u0BAE\u0BC8\u0BAF\u0BBF\u0BB2\u0BCD \u0BAE\u0BBE\u0BB1\u0BBF\u0BAF\u0BC8 \u0BA8\u0BC0\u0B95\u0BCD\u0B95 \u0BB5\u0BBF\u0BB0\u0BC1\u0BAE\u0BCD\u0BAA\u0BC1\u0B95\u0BBF\u0BB1\u0BC0\u0BB0\u0BCD\u0B95\u0BB3\u0BBE {name}? \u0B87\u0BA4\u0BC8 \u0BAE\u0BC0\u0BA3\u0B82\u0B9F\u0BC2\u0BAE\u0B82 \u0B87\u0BAF\u0B95\u0BCD\u0B95 \u0BAE\u0BC1\u0B9F\u0BBF\u0BAF\u0BBE\u0BA4\u0BC1!"},devVehicleCreate:{new:"\u0BAA\u0BC1\u0BA4\u0BBF\u0BAF \u0BB5\u0BBE\u0B95\u0BA9\u0BA4\u0BCD\u0BA4\u0BC8 \u0B89\u0BB0\u0BC1\u0BB5\u0BBE\u0B95\u0BCD\u0B95\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD"},auth:{msg:{error:{not_supported:"\u0BA4\u0BC7\u0BB0\u0BCD\u0BA8\u0BCD\u0BA4\u0BC6\u0B9F\u0BC1\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F \u0BB5\u0BB4\u0B99\u0BCD\u0B95\u0BC1\u0BA8\u0BB0\u0BCD \u0B86\u0BA4\u0BB0\u0BBF\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BB5\u0BBF\u0BB2\u0BCD\u0BB2\u0BC8.",internal_error:"\u0B89\u0BB3\u0BCD \u0BAA\u0BBF\u0BB4\u0BC8. \u0B89\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0BAA\u0BBF\u0BB4\u0BC8 \u0B9A\u0BC6\u0BAF\u0BCD\u0BA4\u0BBF\u0BAF\u0BC1\u0B9F\u0BA9\u0BCD Unlimited \u0B9F\u0BC8 \u0BA4\u0BCA\u0B9F\u0BB0\u0BCD\u0BAA\u0BC1 \u0B95\u0BCA\u0BB3\u0BCD\u0BB3\u0BB5\u0BC1\u0BAE\u0BCD.",no_token:"Callback \u0BA4\u0BC7\u0BB5\u0BC8\u0BAF\u0BBE\u0BA9 \u0BB5\u0BBF\u0BA9\u0BB5\u0BB2\u0BCD \u0BAA\u0BC1\u0BB2\u0B99\u0BCD\u0B95\u0BB3\u0BC8 \u0BB5\u0BB4\u0B99\u0BCD\u0B95\u0BB5\u0BBF\u0BB2\u0BCD\u0BB2\u0BC8.",userdata_fetch_failed:"\u0BB5\u0BB4\u0B99\u0BCD\u0B95\u0BC1\u0BA8\u0BB0\u0BBF\u0BA9\u0BCD \u0BAA\u0BAF\u0BA9\u0BB0\u0BCD \u0BA4\u0BB0\u0BB5\u0BC8\u0BAA\u0BCD \u0BAA\u0BC6\u0BB1 \u0BAE\u0BC1\u0B9F\u0BBF\u0BAF\u0BB5\u0BBF\u0BB2\u0BCD\u0BB2\u0BC8.",no_fx_user:"\u0B89\u0B99\u0BCD\u0B95\u0BB3\u0BCD cfx.re \u0B89\u0B9F\u0BA9\u0BCD \u0B8E\u0BA8\u0BCD\u0BA4\u0BAA\u0BCD \u0BAA\u0BAF\u0BA9\u0BB0\u0BC1\u0BAE\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8."}}},waypointList:{subheader:"\u0B89\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0BB5\u0BB4\u0BBF\u0BAA\u0BCD \u0BAA\u0BC1\u0BB3\u0BCD\u0BB3\u0BBF\u0B95\u0BB3\u0BC8 \u0BA8\u0BBF\u0BB0\u0BCD\u0BB5\u0B95\u0BBF\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD.",createWaypoint:"\u0BB5\u0BB4\u0BBF\u0BAA\u0BCD\u0BAA\u0BBE\u0BA4\u0BC8\u0BAF\u0BC8 \u0B89\u0BB0\u0BC1\u0BB5\u0BBE\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD",noData:"\u0BAA\u0BC6\u0BBE\u0BB0\u0BC1\u0BA4\u0BCD\u0BA4\u0BAE\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8",loadData:"\u0BA4\u0BB0\u0BB5\u0BC8 \u0B8F\u0BB1\u0BCD\u0BB1\u0BB5\u0BC1\u0BAE\u0BCD",headers:{name:"Name",label:"Label",coords:"Coords"},recordsPerPage:"\u0B92\u0BB0\u0BC1 \u0BAA\u0B95\u0BCD\u0B95\u0BA4\u0BCD\u0BA4\u0BBF\u0BB1\u0BCD\u0B95\u0BC1 \u0BAA\u0BA4\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD",paginationLabel:"{from}-{to} \u0B87\u0BA9\u0BCD {total}"},waypoint:{edit:"\u0BB5\u0BB4\u0BBF\u0BAA\u0BCD\u0BAA\u0BBE\u0BA4\u0BC8\u0BAF\u0BC8\u0BA4\u0BCD \u0BA4\u0BBF\u0BB0\u0BC1\u0BA4\u0BCD\u0BA4\u0BB5\u0BC1\u0BAE\u0BCD",waypoint:"\u0BB5\u0BB4\u0BBF\u0BAA\u0BCD \u0BAA\u0BC1\u0BB3\u0BCD\u0BB3\u0BBF\u0B95\u0BB3\u0BCD",labels:{name:"Name",label:"Label",coords:"Coords"},msg:{error:{waypoint_missing:"\u0BAA\u0BC6\u0BAF\u0BB0\u0BC1\u0B9F\u0BA9\u0BCD \u0BB5\u0BB4\u0BBF\u0BAA\u0BCD\u0BAA\u0BBE\u0BA4\u0BC8 '{name}' \u0B87\u0BB2\u0BCD\u0BB2\u0BC8 (\u0B87\u0BA9\u0BBF).",waypoint_exist:"\u0BB5\u0BB4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1\u0BB3\u0BCD\u0BB3\u0BBF '{name}' \u0B8F\u0BB1\u0BCD\u0B95\u0BA9\u0BB5\u0BC7 \u0B89\u0BB3\u0BCD\u0BB3\u0BA4\u0BC1.",no_waypoints:"\u0BA4\u0BB1\u0BCD\u0BAA\u0BCB\u0BA4\u0BC1 \u0BB5\u0BB4\u0BBF\u0BAA\u0BCD \u0BAA\u0BC1\u0BB3\u0BCD\u0BB3\u0BBF\u0B95\u0BB3\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8.",missingFields:"\u0BA4\u0BC7\u0BB5\u0BC8\u0BAF\u0BBE\u0BA9 \u0B85\u0BA9\u0BC8\u0BA4\u0BCD\u0BA4\u0BC1 \u0BAA\u0BC1\u0BB2\u0B99\u0BCD\u0B95\u0BB3\u0BC8\u0BAF\u0BC1\u0BAE\u0BCD \u0BA8\u0BBF\u0BB0\u0BAA\u0BCD\u0BAA\u0BB5\u0BC1\u0BAE\u0BCD.",failedFetchWaypoints:"\u0BB5\u0BB4\u0BBF\u0BAA\u0BCD \u0BAA\u0BC1\u0BB3\u0BCD\u0BB3\u0BBF\u0B95\u0BB3\u0BC8\u0BAA\u0BCD \u0BAA\u0BC6\u0BB1 \u0BAE\u0BC1\u0B9F\u0BBF\u0BAF\u0BB5\u0BBF\u0BB2\u0BCD\u0BB2\u0BC8."}},deleteHeader:"\u0B85\u0BB4\u0BBF",deleteMsg:"\u0BA8\u0BC0\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B89\u0BA3\u0BCD\u0BAE\u0BC8\u0BAF\u0BBF\u0BB2\u0BCD \u0BA8\u0BC0\u0B95\u0BCD\u0B95 \u0BB5\u0BBF\u0BB0\u0BC1\u0BAE\u0BCD\u0BAA\u0BC1\u0B95\u0BBF\u0BB1\u0BC0\u0BB0\u0BCD\u0B95\u0BB3\u0BBE {name}? \u0B87\u0BA4\u0BC8 \u0BAE\u0BC1\u0B9F\u0BBF\u0B95\u0BCD\u0B95\u0BBE\u0BAE\u0BB2\u0BCD \u0BB5\u0BBF\u0B9F \u0B95\u0BC2\u0B9F\u0BBE\u0BA4\u0BC1!",modalHeader:"\u0B92\u0BB0\u0BC1 \u0BB5\u0BB4\u0BBF\u0BAA\u0BCD\u0BAA\u0BBE\u0BA4\u0BC8\u0BAF\u0BC8\u0BA4\u0BCD \u0BA4\u0BC7\u0BB0\u0BCD\u0BA8\u0BCD\u0BA4\u0BC6\u0B9F\u0BC1\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD"},accountList:{subheader:"\u0B85\u0BB5\u0BB0\u0BCD\u0B95\u0BB3\u0BBF\u0BA9\u0BCD \u0B95\u0BA3\u0B95\u0BCD\u0B95\u0BC1 \u0BAE\u0BC2\u0BB2\u0BAE\u0BCD \u0BB5\u0BC0\u0BB0\u0BB0\u0BCD\u0B95\u0BB3\u0BC8\u0BAA\u0BCD \u0BAA\u0BC6\u0BB1\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD.",noData:"\u0BAA\u0BC6\u0BBE\u0BB0\u0BC1\u0BA4\u0BCD\u0BA4\u0BAE\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8",loadData:"\u0BA4\u0BB0\u0BB5\u0BC8 \u0B8F\u0BB1\u0BCD\u0BB1\u0BB5\u0BC1\u0BAE\u0BCD",headers:{name:"Name",license:"License",character_count:"\u0BAA\u0BBE\u0BA4\u0BCD\u0BA4\u0BBF\u0BB0\u0B99\u0BCD\u0B95\u0BB3\u0BCD",last_active:"\u0B95\u0B9F\u0BC8\u0B9A\u0BBF\u0BAF\u0BBE\u0B95 \u0B86\u0BA9\u0BCD\u0BB2\u0BC8\u0BA9\u0BCD"},recordsPerPage:"\u0B92\u0BB0\u0BC1 \u0BAA\u0B95\u0BCD\u0B95\u0BA4\u0BCD\u0BA4\u0BBF\u0BB1\u0BCD\u0B95\u0BC1 \u0BAA\u0BA4\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD",paginationLabel:"{from}-{to} \u0B87\u0BA9\u0BCD {total}"},stashesList:{subheader:"Overview of all configured stashes.",noData:"No match",loadData:"Load data",headers:{type:"Type",identifier:"Identifier",items:"Slots in use"},recordsPerPage:"Records per page",paginationLabel:"{from}-{to} of {total}"},stashes:{stashStorage:"Stash",supporterStash:"Supporter Stash",itemName:"Name",amount:"Amount",infoSection:"Info values",infoSectionSub:"Add info variables to your new item.",addInfoValue:"Add new",infoName:"Key",infoValue:"Value",deleteHeader:"Delete",deleteMsg:"Do you really want to delete this item? This cannot be undone!",deleteInfoHeader:"Delete",deleteInfoMsg:"Do you really want to delete the info {name}? This cannot be undone!",addItemTip:"Add new item",addItemHeader:"Add",clearStorageTip:"Clear stash",clearStorageHeader:"Clear stash",clearStorageMsg:"Do you really want to clear the complete stash? This cannot be undone!",msg:{error:{failedFetchItems:"Failed fetching item definitions.",failedLoad:"Failed fetching inventory data.",noItemName:"No item selected.",unknown_storage:"Storage does not exist.",noSlot:"No free slot.",invalid_item:"Cant find item definition. Maybe delete this item.",moved:"The item seems to have moved. Please try again.",negative:"Cant move negative item amount.",not_enough:"You do not have enough of this item.",internal:"Internal error. Please contact Unlimited.",uniqueInfo:"Info variables must be unique."}}}},nS={general:Hg,breadcrumb:$g,rules:qg,navigation:Kg,components:Gg},aS=Object.freeze(Object.defineProperty({__proto__:null,general:Hg,breadcrumb:$g,rules:qg,navigation:Kg,components:Gg,default:nS},Symbol.toStringTag,{value:"Module"})),Wg={timestamp:"Zaman Dilimi",logout:"Oturumu Kapat",username:"Kullan\u0131c\u0131 Ad\u0131",password:"\u015Eifre",confirmPassword:"\u015Eifreyi onayla",setupToken:"Token",languages:{de:"German",en:"English",es:"Spanish",dk:"Danish",et:"Estonia",nl:"Dutch",no:"Norwegian",pl:"Polski",pt:"Portuguese",ta:"Indian - Tamil",tr:"Turkish"},save:"Kaydet",delete:"Sil",search:"Ara",change:"De\u011Fi\u015Ftir",success:"Ba\u015Far\u0131l\u0131",error:"Hata",saved:"Ba\u015Far\u0131yla kaydedildi.",deleted:"Ba\u015Far\u0131yla silindi.",cleared:"Ba\u015Far\u0131yla temizlendi.",ok:"Tamam",cancel:"\u0130ptal",create:"Olu\u015Ftur",back:"Geri",changePassword:"\u015Eifreyi de\u011Fi\u015Ftir",kick:"Sunucudan At",ban:"Sunucudan Yasakla",fillUp:"Doldur",relax:"Rahatla",add:"Ekle",added:"Eklendi",teleport:"I\u015F\u0131nlanma",teleported:"I\u015F\u0131nlanma ba\u015Far\u0131l\u0131.",cantReach:"Sunucuya ula\u015F\u0131lam\u0131yor.",male:"Erkek",female:"Kad\u0131n",yes:"Evet",no:"Hay\u0131r",reason:"Sebep",time:"Zaman",bantime:"Saniye cinsinden Zaman.",warnHeader:"Uyar\u0131",warnMsg:"Uyar\u0131 nedenini girin {name}.",warnBanHeader:"Yasakla/Uyar\u0131",banHeader:"Yasakla",banMsg:"Yasaklama nedenini ve zaman\u0131n\u0131 girin {name}.",banSuccess:"Oyuncu yasakland\u0131.",unbanHeader:"Yasa\u011F\u0131 Kald\u0131r",unbanMsg:"Ger\xE7ekten yasa\u011F\u0131 kald\u0131rmak istiyor musun? {name}?",unbanSuccess:"Oyuncunun yasa\u011F\u0131 kald\u0131r\u0131ld\u0131.",kickHeader:"At",kickMsg:"Sunucudan atma nedenini girin {name}.",kickSuccess:"Oyuncu At\u0131ld\u0131.",toggleAll:"T\xFCm\xFCn\xFC de\u011Fi\u015Ftir",heal:"\u0130yile\u015Ftir",offline:"Oyuncu \xE7evrimd\u0131\u015F\u0131",or:"veya",timeout:"\u0130stek zaman a\u015F\u0131m\u0131na u\u011Frad\u0131."},Ug={vehicles:"Ara\xE7lar",vehicle:"Ara\xE7",items:"E\u015Fyalar",item:"E\u015Fya",jobs:"Meslekler",job:"Meslek",gangs:"\xC7eteler",gang:"\xC7ete",users:"Kullan\u0131c\u0131lar",user:"Kullan\u0131c\u0131",roles:"Roller",role:"Rol",map:"Harita",dashboard:"G\xF6sterge Paneli",logs:"Log Kay\u0131tlar\u0131",accounts:"Hesaplar",account:"Hesap",players:"Oyuncular",player:"Oyuncu",inventory:"Envanter",config:"Yap\u0131land\u0131rma",waypoints:"Yol noktalar\u0131",waypoint:"Yol noktas\u0131",stashes:"Zulalar",stash:"Zula"},Jg={required:"Bu alan zorunludur.",passwordConfirm:"Parolalar e\u015Fle\u015Fmiyor.",noSpace:"Yer yok.",numbers:"Sadece say\u0131lara izin verilir.",unique:"Benzersiz olmas\u0131 gerekir.",defaults:"Varsay\u0131lan tu\u015Flara izin verilmez.",onlyCharsNumbers:"Yaln\u0131zca Bo\u015Fluk, Say\u0131lar ve Karakterlere izin verilir."},Yg={header:{gameserver:"Oyun Sunucusu",development:"Geli\u015Ftirici",management:"Y\xF6netim"},titles:{dashboard:"G\xF6sterge Paneli",livemap:"Canl\u0131 Harita",waypoint:"Yol Noktalar\u0131",account:"Hesaplar",player:"Oyuncular",logs:"Loglar",vehicle:"Ara\xE7lar",items:"E\u015Fyalar",jobs:"Meslekler",gangs:"\xC7eteler",users:"Kullan\u0131c\u0131lar",roles:"Roller",web:"Web",config:"Yap\u0131land\u0131rma",stashes:"Zulalar"}},Qg={general:{changePasswordHeader:"\u015Eifre de\u011Fi\u015Ftir",changePasswordMsg:"L\xFCtfen yeni \u015Fifrenizi giriniz.",msg:{error:{user_missing:"Kullan\u0131c\u0131 hesab\u0131n\u0131z bulunamad\u0131."}}},dashboard:{cpu:"CPU kullan\u0131m\u0131",ram:"Ram kullan\u0131m\u0131",process:"\u0130\u015Flemci Kullan\u0131m\u0131",onlinePlayers:"Online Oyuncular",gangOnline:"Online \xC7ete \xDCyeleri",jobsDuty:"G\xF6rev Ba\u015F\u0131ndaki Oyuncular",headers:{name:"\u0130sim",character:"Karakter",job:"Meslek",count:"Say\u0131",gang:"\xC7ete",rank:"R\xFCtbe"}},setup:{finishButton:"Kurulumu Bitir",backButton:"\xD6nceki",nextButton:"Sonraki",welcomeHeader:"Ho\u015F geldiniz",welcomeSub:"Unlimited Webpanel'inize ho\u015F geldiniz! Bu kurulum harika deneyiminizi ba\u015Flatacak.",langHeader:"Dil Se\xE7imi",langSub:"Dilinizi se\xE7in.",masterHeader:"Ana Hesap",masterSub:"Ana Hesab\u0131n\u0131z, izinlerden ba\u011F\u0131ms\u0131z olarak her zaman tam eri\u015Fim haklar\u0131na sahiptir.",tokenHeader:"Kurulum Token",tokenSub:"Do\u011Frulama i\xE7in kurulum token `ini sunucu konsolundan kopyalay\u0131n.",tokenPlaceHolder:"Kurulum Token`ini Ekle"},login:{subtext:"Unlimted Webpanel'e ho\u015F geldiniz. L\xFCtfen giri\u015F yap\u0131n.",msg:{error:{not_supported:"Se\xE7ilen sa\u011Flay\u0131c\u0131 desteklenmiyor gibi g\xF6r\xFCn\xFCyor.",internal_error:"Dahili hata. Hata mesaj\u0131n\u0131zla birlikte Unlimited ile ileti\u015Fime ge\xE7in."}}},itemList:{subheader:"QBCore/Shared/items.lua'daki t\xFCm \xF6\u011Feler. QB-Exports/Functions arac\u0131l\u0131\u011F\u0131yla kaydedilen \xF6\u011Feler g\xF6r\xFCnt\xFClenmez.",noData:"E\u015Fle\u015Fme yok",loadData:"Veri y\xFCkleyin",headers:{label:"Etiket",type:"Tip",weight:"A\u011F\u0131rl\u0131k",name:"\u0130sim",useable:"Kullan\u0131labilir",unique:"E\u015Fsiz",shouldClose:"Kapat"},recordsPerPage:"Sayfa ba\u015F\u0131na kay\u0131t",paginationLabel:"{from}-{to} of {total}",createItem:"\u0130tem Olu\u015Ftur"},item:{name:"\u0130sim / Anahtar",label:"Etiket",desc:"A\xE7\u0131klama",image:"Simge",weight:"A\u011F\u0131rl\u0131k",type:"Tip",useable:"Kullan\u0131labilir",unique:"E\u015Fsiz",shouldClose:"Kulland\u0131ktan sonra kapat\u0131n",edit:"\u0130temi D\xFCzenle",customVariables:"\xD6zel de\u011Fi\u015Fkenler",customVarSub:"Kendi de\u011Fi\u015Fkenlerinizi olu\u015Fturun.",addCustomVar:"Yeni de\u011Fi\u015Fken ekleyin",customVarName:"De\u011Fi\u015Fken",customVarValue:"De\u011Fer",combinability:"Bi\u0307rle\u015Febi\u0307li\u0307rli\u0307k",combinabSub:"Burada, itemin hangi itemlerle ayr\u0131 ayr\u0131 birle\u015Ftirilebilece\u011Fini, sonu\xE7 olarak ne \xFCretece\u011Fini ve hangi animasyonun ne kadar s\xFCreyle ve hangi metinle g\xF6r\xFCnt\xFClenece\u011Fini belirleyebilirsiniz.",combinable:{accept:"ile birle\u015Ftirin",reward:"Sonu\xE7",text:"Metni g\xF6r\xFCnt\xFCle",timeOut:"Zaman",lib:"Animasyon K\xFCt\xFCphanesi",dict:"Animasyon Diktesi"},deleteHeader:"Sil",deleteMsg:"Ger\xE7ekten silmek istiyor musun {itemLabel} [{itemName}]? Bu geri al\u0131namaz!",deleteCustomVarMsg:"De\u011Fi\u015Fkeni ger\xE7ekten silmek istiyor musunuz {name}? Bu geri al\u0131namaz!",msg:{error:{invalid_item_name:"\u0130tem Ad\u0131 '{name}' String t\xFCr\xFCnde de\u011Fildir.",item_exists:"Bu \u0130tem '{name}' zaten var.",item_not_exists:"Bu \u0130tem '{name}' mevcut de\u011Fil.",file_error:"Bu \u0130tem de\u011Fi\u015Fiklik yay\u0131na girdi. Ancak .lua kaydedilirken bir hata olu\u015Ftu. Yeniden ba\u015Flatman\u0131n ard\u0131ndan de\u011Fi\u015Fiklikler art\u0131k etkin de\u011Fil.",missingFields:"Gerekli t\xFCm alanlar\u0131 doldurun.",uniqueVars:"De\u011Fi\u015Fkenler benzersiz olmal\u0131d\u0131r.",filename_exists:"Dosya ad\u0131 zaten mevcut."}},uploadedImage:"Resim ba\u015Far\u0131yla y\xFCklendi.",uploadNew:"Resim y\xFCkle",imageNotFound:"Bu resim mevcut de\u011Fil."},itemCreate:{new:"Yeni \u0130tem Olu\u015Ftur"},roleList:{subheader:"\xD6zelle\u015Ftirilmi\u015F rollerle ekibiniz i\xE7in izinleri y\xF6netin.",createRole:"Rol Olu\u015Ftur",noData:"E\u015Fle\u015Fme yok",loadData:"Veri y\xFCkleyin",headers:{name:"\u0130sim",desc:"A\xE7\u0131klama",permissions:"\u0130zin say\u0131s\u0131",color:"Renk"},recordsPerPage:"Sayfa Say\u0131s\u0131",paginationLabel:"{from}-{to} of {total}"},role:{name:"\u0130sim",edit:"Rol\xFC d\xFCzenle",desc:"A\xE7\u0131klama",color:"Renk",permissions:"\u0130zinler",permissionSub:"Rol\xFCn\xFCze kendi haklar\u0131n\u0131z\u0131 atay\u0131n.",resource:{gameserver:"Oyun Sunucusu",development:"Geli\u015Ftirici",management:"Y\xF6netim"},section:{liveMap:"Canl\u0131 Harita",waypoint:"Yol Noktas\u0131",account:"Hesap",player:"Oyuncu",vehicles:"Ara\xE7lar",logs:"Loglar",items:"\u0130temler",jobs:"Meslekler",gangs:"\xC7eteler",user:"Kullan\u0131c\u0131lar",roles:"Roller",config:"Yap\u0131land\u0131rma",stashes:"Zulalar"},action:{read:"Okuyun",modify:"De\u011Fi\u015Ftirmek",delete:"Sil",despawn:"Yoket",repair:"Tamir",create:"Yarat",player:"Oyuncular\u0131 g\xF6ster",vehicle:"Ara\xE7lar\u0131 g\xF6ster",kick:"Sunucudan At",warn:"Uyar",ban:"Yasakla",money:"Para",meta:"Meta verileri",position:"Pozisyon",inventory:"Envanter",screen:"Ekran\u0131 g\xF6r\xFCnt\xFCle",license:"Lisans",job:"Meslek",gang:"\xC7ete",logs:{game:"Oyun",player:"Oyuncu",dev:"Dev",web:"Web"}},msg:{error:{role_missing:"\u0130simli rol '{name}' mevcut de\u011Fil (anymore).",role_exist:"Rol\xFC '{name}' zaten var.",missingFields:"Gerekli t\xFCm alanlar\u0131 doldurun."}},deleteHeader:"Sil",deleteMsg:"Ger\xE7ekten silmek istiyor musun? {name}? Bu geri al\u0131namaz!"},roleCreate:{new:"Yeni rol olu\u015Ftur"},userList:{subheader:"Ekip \xFCyelerinizin kullan\u0131c\u0131 hesaplar\u0131n\u0131 y\xF6netin.",noData:"E\u015Fle\u015Fme yok",loadData:"Veri y\xFCkleyin",createUser:"Kullan\u0131c\u0131 Olu\u015Ftur",headers:{name:"\u0130sim",role:"Rol",master:"Usta"},recordsPerPage:"Sayfa ba\u015F\u0131na kay\u0131t",paginationLabel:"{from}-{to} of {total}"},user:{edit:"Kullan\u0131c\u0131y\u0131 d\xFCzenle",role:"Rol",fxname:"cfx.re",msg:{error:{user_missing:"Ad\u0131 olan kullan\u0131c\u0131 '{name}' mevcut de\u011Fil (anymore).",user_exist:"Kullan\u0131c\u0131 '{name}' zaten var.",user_master:"Ana kullan\u0131c\u0131y\u0131 silemezsiniz.",missingFields:"Gerekli t\xFCm alanlar\u0131 doldurun.",is_master:"Ana kullan\u0131c\u0131n\u0131n \u015Fifresini de\u011Fi\u015Ftiremezsiniz.",fx_used:"cfx.re kullan\u0131c\u0131 zaten ba\u015Fka bir kullan\u0131c\u0131 taraf\u0131ndan kullan\u0131l\u0131yor."}},deleteHeader:"Sil",deleteMsg:"Ger\xE7ekten silmek istiyor musun? {name}? Bu geri al\u0131namaz!",resetPasswort:"\u015Eifreyi S\u0131f\u0131rla",resetPasswordHeader:"S\u0131f\u0131rlamay\u0131 onaylay\u0131n",resetPasswordMsg:"\u015Eifreyi ger\xE7ekten s\u0131f\u0131rlamak istiyor musunuz? {name}?"},jobList:{subheader:"QBCore/Shared/jobs.lua'daki t\xFCm i\u015Fler. QB-Exports/Functions arac\u0131l\u0131\u011F\u0131yla kaydedilen i\u015Fler g\xF6r\xFCnt\xFClenmez.",noData:"E\u015Fle\u015Fme yok",loadData:"Veri y\xFCkleyin",createJob:"Meslek Olu\u015Ftur",headers:{name:"\u0130sim",label:"Etiket",grades:"Notlar Say\u0131s\u0131",defaultDuty:"Varsay\u0131lan G\xF6rev",offDutyPay:"G\xF6rev d\u0131\u015F\u0131 \xF6deme"},recordsPerPage:"Sayfa ba\u015F\u0131na kay\u0131t",paginationLabel:"{from}-{to} of {total}"},jobCreate:{new:"Yeni Meslek Olu\u015Ftur"},job:{name:"\u0130sim",edit:"Mesle\u011Fi D\xFCzenle",label:"Etiket",defaultDuty:"Varsay\u0131lan G\xF6rev",offDutyPay:"G\xF6rev d\u0131\u015F\u0131 \xF6deme",grades:"S\u0131n\u0131flar",gradesSub:"Mesle\u011Finiz i\xE7in r\xFCtbeleri ayarlay\u0131n. S\u0131ralama en d\xFC\u015F\xFCk r\xFCtbeden en y\xFCksek r\xFCtbeye, yukar\u0131dan a\u015Fa\u011F\u0131ya do\u011Fru gider.",customVariables:"\xD6zel de\u011Fi\u015Fkenler",customVarSub:"Kendi de\u011Fi\u015Fkenlerinizi olu\u015Fturun.",addCustomVar:"Yeni de\u011Fi\u015Fken ekle",customVarName:"De\u011Fi\u015Fken",customVarValue:"De\u011Fer",msg:{error:{invalid_job_name:"Meslek Ad\u0131 '{name}' String t\xFCr\xFCnde de\u011Fildir.",job_exists:"Bu Meslek '{name}' zaten var.",job_not_exists:"Bu Meslek '{name}' mevcut de\u011Fil.",file_error:"Meslek de\u011Fi\u015Fikli\u011Fi i\u015Fleme al\u0131nd\u0131. Ancak .lua kaydedilirken bir hata olu\u015Ftu. Yeniden ba\u015Flatman\u0131n ard\u0131ndan de\u011Fi\u015Fiklikler art\u0131k etkin de\u011Fil.",missingFields:"Gerekli t\xFCm alanlar\u0131 doldurun.",gradeNeeded:"En az bir r\xFCtbeye ihtiyac\u0131n\u0131z var.",uniqueVars:"De\u011Fi\u015Fkenler benzersiz olmal\u0131d\u0131r."}},deleteHeader:"Sil",deleteMsg:"Ger\xE7ekten silmek istiyor musun? {name}? Bu geri al\u0131namaz!",deleteGradeMsg:"Ger\xE7ekten silmek istiyor musun? {name}? Bu geri al\u0131namaz!",deleteCustomVarMsg:"De\u011Fi\u015Fkeni ger\xE7ekten silmek istiyor musunuz {name}? Bu geri al\u0131namaz!",headers:{name:"\u0130sim",isboss:"Patron",payment:"\xD6deme"},addGrade:"Not ekleyin"},gangList:{subheader:"QBCore/Shared/gangs.lua'daki t\xFCm \xE7eteler. QB-Exports/Functions arac\u0131l\u0131\u011F\u0131yla kaydedilen \xE7eteler g\xF6r\xFCnt\xFClenmez.",noData:"E\u015Fle\u015Fme yok",loadData:"Veri y\xFCkleyin",createGang:"\xC7ete olu\u015Ftur",headers:{name:"\u0130sim",label:"Etiket",grades:"Notlar say\u0131s\u0131"},recordsPerPage:"Sayfa ba\u015F\u0131na kay\u0131t",paginationLabel:"{from}-{to} of {total}"},gangCreate:{new:"Yeni \xE7ete olu\u015Ftur"},gang:{name:"\u0130sim",edit:"\xC7eteyi d\xFCzenle",label:"Etiket",grades:"S\u0131n\u0131flar",gradesSub:"\xC7eteniz i\xE7in r\xFCtbeleri ayarlay\u0131n. S\u0131ralama en d\xFC\u015F\xFCk r\xFCtbeden en y\xFCksek r\xFCtbeye, yukar\u0131dan a\u015Fa\u011F\u0131ya do\u011Fru gider.",customVariables:"\xD6zel de\u011Fi\u015Fkenler",customVarSub:"Kendi de\u011Fi\u015Fkenlerinizi olu\u015Fturun.",addCustomVar:"Yeni de\u011Fi\u015Fken ekle",customVarName:"De\u011Fi\u015Fken",customVarValue:"De\u011Fer",msg:{error:{invalid_gang_name:"\xC7ete ad\u0131 '{name}' String t\xFCr\xFCnde de\u011Fildir.",gang_exists:"\xC7ete '{name}' zaten var.",gang_not_exists:"\xC7ete '{name}' do not exist.",file_error:"\xC7ete de\u011Fi\u015Fikli\u011Fi i\u015Fleme al\u0131nd\u0131. Ancak .lua kaydedilirken bir hata olu\u015Ftu. Yeniden ba\u015Flatman\u0131n ard\u0131ndan de\u011Fi\u015Fiklikler art\u0131k etkin de\u011Fil.",missingFields:"Gerekli t\xFCm alanlar\u0131 doldurun.",gradeNeeded:"En az bir r\xFCtbeye ihtiyac\u0131n\u0131z var.",uniqueVars:"De\u011Fi\u015Fkenler benzersiz olmal\u0131d\u0131r."}},deleteHeader:"Delete",deleteMsg:"Ger\xE7ekten silmek istiyor musun? {name}? Bu geri al\u0131namaz!",deleteGradeMsg:"Ger\xE7ekten silmek istiyor musun? {name}? Bu geri al\u0131namaz!",deleteCustomVarMsg:"De\u011Fi\u015Fkeni ger\xE7ekten silmek istiyor musunuz {name}? Bu geri al\u0131namaz!",headers:{name:"\u0130sim",isboss:"Patron"},addGrade:"Not ekleyin"},liveMap:{viewPlayerTab:"Oyuncu kayd\u0131n\u0131 g\xF6r\xFCnt\xFCle",viewVehicleTab:"Ara\xE7 kayd\u0131n\u0131 g\xF6r\xFCnt\xFCle",noOnlinePlayers:"Online oyuncu yok",noSpawnedVehicles:"Hi\xE7bir ara\xE7 ortaya \xE7\u0131kmad\u0131",generalContextMenuHeader:"Genel",teleportPlayerHeader:"I\u015F\u0131nlanacak oyuncuyu se\xE7in",copyCoordsToClipboard:"Koordinatlar\u0131 kopyala",teleportTo:"Oyuncuya I\u015F\u0131nlan",createWaypoint:"Yol Noktas\u0131 Olu\u015Ftur",markers:{vehicles:"Ara\xE7lar",players:"Oyuncular"},labels:{selectedPlayer:"Se\xE7ilen oyuncu"},btn:{loadFromWaypoint:"Yol Noktas\u0131 Y\xFCkle"},msg:{success:{coordsCopied:"Koordinatlar ba\u015Far\u0131yla panoya kopyaland\u0131."},error:{noPlayersOnline:"\u015Eu anda \u0131\u015F\u0131nlanacak \xE7evrimi\xE7i oyuncu yok.",errorCopyCoords:"Koordinatlar panoya kopyalanamad\u0131."}}},playerList:{subheader:"Kay\u0131tl\u0131 t\xFCm karakterler.",noData:"E\u015Fle\u015Fme yok",loadData:"Veri y\xFCkleyin",recordsPerPage:"Sayfa ba\u015F\u0131na kay\u0131t",paginationLabel:"{from}-{to} of {total}",headers:{firstname:"Ad\u0131",lastname:"Soyad\u0131",gang:"\xC7ete",job:"Meslek",online:"Online",citizenid:"Citizen-ID",name:"Hesap ad\u0131"}},player:{tabs:{general:"Genel",vehicles:"Ara\xE7lar",logs:"Loglar",notes:"Notlar"},pastBans:"Yasaklama/Uyar\u0131 ge\xE7mi\u015Fi",changeJobHeader:"Meslek De\u011Fi\u015Ftirme",changeGangHeader:"\xC7eteyi de\u011Fi\u015Ftir",deleteHeader:"Oyuncuyu sil",deletePlayerMsg:"Ger\xE7ekten silmek istiyor musun? Oyuncuyu {name}? Bu geri al\u0131namaz!",changeAccountHeader:"Lisans de\u011Fi\u015Ftirme",changeAccountSub:"Oyuncu lisans\u0131n\u0131 ger\xE7ekten de\u011Fi\u015Ftirmek istiyor musunuz? {name}? Bu geri al\u0131namaz!",playerScreenHeader:"Oyuncular\u0131n mevcut g\xF6r\xFCn\xFCm\xFC",addMoneyHeader:"Para ekleyin",addMoneyMsg:"Miktar\u0131 girin",removeMoneyHeader:"Remove money",removeMoneyMsg:"Miktar\u0131 girin",buttons:{unban:"Yasa\u011F\u0131 s\u0131f\u0131rla",warn:"Uyar\u0131",ban:"Yasakla",kick:"Sunucudan At",inventory:"Envanter",screen:"Ekran\u0131 G\xF6ster",money:{set:"Ayarla",give:"Ver",remove:"Kald\u0131r"}},banMsg:"\u{1F528} by '{by}' for '{reason}' until {expire}.",moneyDisclaimer:"Bu, herhangi bir t\xFCrdeki paray\u0131 \xF6\u011Fe olarak desteklemez.",headers:{general:"Genel",charinfo:"Karakter bilgisi",meta:"Meta veri",money:"Para",gang:"\xC7ete",job:"Meslek",actions:"Aksiyonlar"},labels:{name:"Hesap ad\u0131",citizenid:"Citizen-ID",license:"Lisans",position:"Pozisyon",firstname:"Ad\u0131",lastname:"Soyad\u0131",account:"Hesap",cid:"Karakter-ID",gender:"Cinsiyet",male:"erkek",female:"kad\u0131n",birthdate:"Do\u011Fum G\xFCn\xFC",nationality:"Uyruk",phone:"Telefon",backstory:"Karakter Hikayesi",isdead:"\xD6ld\xFCr",ishandcuffed:"Kelep\xE7ele",walletid:"C\xFCzdan-ID",fingerprint:"Parmak izi",bloodtype:"Kan grubu",thirst:"Susuzluk",hunger:"A\xE7l\u0131k",stress:"Stres",armor:"Z\u0131rh",job:{name:"\u0130sim",grade:"S\u0131n\u0131f"},gang:{name:"\u0130sim",grade:"S\u0131n\u0131f"},money:{bank:"Banka",crypto:"Kripto",cash:"Nakit"},health:"Sa\u011Fl\u0131k",ip:"IP",discord:"Discord",bucket:"Bucket"},msg:{success:{success:"Veri kaydedildi.",hunger:"A\xE7l\u0131k doldu\u0131.",thirst:"Susuzluk doldu.",isdead:"De\u011Fi\u015Fen \xF6l\xFC de\u011Ferdir.",ishandcuffed:"Kelep\xE7e de\u011Fi\u015Ftirildi.",changeJob:"Meslek De\u011Fi\u015Fti.",changeGang:"\xC7ete De\u011Fi\u015Fti.",changedBucket:"Paket de\u011Fi\u015Ftirildi.",stress:"Stres azalt\u0131ld\u0131.",healed:"Oyuncu iyile\u015Fti."},error:{notOnline:"Oyuncu \xE7evrimi\xE7i de\u011Fil.",notFound:"Oyuncu bulunamad\u0131.",missingFields:"Eksik gerekli girdiler.",changeJob:"Meslek De\u011Fi\u015Ftirilemedi.",changeGang:"\xC7ete De\u011Fi\u015Ftirilemedi.",failedFetchGangs:"\xC7eteleri getirmede ba\u015Far\u0131s\u0131z oldu.",failedFetchJobs:"Meslekler Getirilemedi.",deleteError:"Bir \u015Feyler ters gitti.",couldNotFetchScreen:"Oyuncular\u0131n mevcut ekran\u0131 getirilirken hata olu\u015Ftu.",invalid_citizenid:"Verilen Vatanda\u015Fl\u0131k Kimli\u011Fi ge\xE7erli de\u011Fil.",not_allowed:"Para t\xFCr\xFC bulunamad\u0131 veya negatif de\u011Fere izin verilmiyor."}}},vehicleList:{subheader:"T\xFCm oyuncu ara\xE7lar\u0131.",noData:"E\u015Fle\u015Fme yok",loadData:"Veri y\xFCkleyin",spawned:"Do\u011Fdu",garage:"Garaj",outside:"D\u0131\u015Far\u0131da",inpound:"haciz",headers:{owner:"Mal sahibi",plate:"Plaka",vehicle:"Modeli",spawned:"Do\u011Fdu",state:"Durum",engine:"Motor",body:"V\xFCcut",fuel:"Yak\u0131t"},recordsPerPage:"Sayfa ba\u015F\u0131na kay\u0131t",paginationLabel:"{from}-{to} of {total}",createVehicle:"Ara\xE7 Olu\u015Ftur"},vehicle:{despawnHeader:"Yoket",despawnMsg:"Mevcut arac\u0131n\u0131z\u0131 ger\xE7ekten yoketmek istiyor musunuz?",deleteHeader:"Sil",deleteMsg:"Ger\xE7ekten silmek istiyor musun? mevcut arac\u0131 veri taban\u0131ndan al\u0131p yoketmek ? Ara\xE7la ilgili di\u011Fer tablolar (\xF6rne\u011Fin bagaj) etkilenmez!",changeOwnerHeader:"Yeni sahibi se\xE7in",changeOwnerInput:"Yeni sahipleri ekleyin Citizen-ID",buttons:{changeOwner:"Sahibi De\u011Fi\u015Ftir",despawnVehicle:"Arac\u0131 G\xF6nder",repairVehicle:"Ara\xE7 Tamiri",deleteVehicle:"Arac\u0131 Sil",openTrunk:"Bagaj\u0131 A\xE7",openGlovebox:"Torpido g\xF6z\xFCn\xFC a\xE7"},header:{owner:"Mal sahibi",payment:"\xD6deme",car:"Araba"},labels:{owner:"Mal sahibi",citizenid:"Citizen-ID",license:"Lisans",depotprice:"Depo Fiyat\u0131",balance:"Denge",paymentamount:"Miktar",paymentsleft:"Sol",financetime:"Finans Zaman\u0131",model:"Modeli",plate:"Plaka",fakeplate:"Sahte plaka",drivingdistance:"Kilometre",garage:"Garaj",state:"Eyalet",fuel:"Yak\u0131t",engine:"Motor",body:"G\xF6vde"},msg:{error:{noMatch:"Arac\u0131 bulamad\u0131m. Belki silinmi\u015Ftir?",not_spawned:"Ara\xE7 ortaya \xE7\u0131kmad\u0131.",not_found:"Bir \u015Feyler ters gitti. Ara\xE7 bulunam\u0131yor.",missingData:"Eksik yeni sahip verileri.",invalid_citizenid:"Verilen Vatanda\u015Fl\u0131k Kimli\u011Fi ge\xE7erli de\u011Fil.",sql_error:"SQL sorgular\u0131 \xE7al\u0131\u015Ft\u0131r\u0131l\u0131rken bir \u015Feyler ters gitti. Hi\xE7bir de\u011Fi\u015Fiklik yap\u0131lmad\u0131!",allowedCharsNumbers:"Taba\u011F\u0131n\u0131zda yaln\u0131zca bo\u015Fluk, say\u0131 ve karakter kullanabilirsiniz.",plate_exists:"Plaka zaten var. L\xFCtfen ba\u015Fka bir tane se\xE7in."}}},vehicleCreate:{new:"Yeni ara\xE7 olu\u015Fturun"},logs:{loadMore:"Yukar\u0131 kayd\u0131rma daha fazla g\xFCnl\xFCk y\xFCkler."},configuration:{colorsHeader:"Renkler",colorsSub:"Temay\u0131 markan\u0131za uyacak \u015Fekilde ayarlay\u0131n.",colors:{primary:"Birincil",secondary:"\u0130kincil",accent:"Aksan",dark:"Arka plan",positive:"Pozitif",negative:"Negatif",info:"Bilgi",warning:"Uyar\u0131",main:"Metin",sub:"Alt metin"},buttons:{undo:"Geri al",defaults:"Varsay\u0131lanlar"}},inventory:{playerInventory:"Oyuncu",supporterStash:"Destek\xE7i Zulas\u0131",itemName:"\u0130sim",amount:"Miktar",infoSection:"Bilgi de\u011Ferleri",infoSectionSub:"Yeni iteminize bilgi de\u011Fi\u015Fkenleri ekleyin.",addInfoValue:"Yeni ekle",infoName:"Anahtar",infoValue:"De\u011Fer",deleteHeader:"Sil",deleteMsg:"Ger\xE7ekten silmek istiyor musun? this item? Bu geri al\u0131namaz!",deleteInfoHeader:"Sil",deleteInfoMsg:"Ger\xE7ekten silmek istiyor musun? the info {name}? Bu geri al\u0131namaz!",addItemTip:"Yeni item ekle",addItemHeader:"Ekle",clearInvTip:"Envanteri Temizleyin",clearInvHeader:"Envanteri Temizle",clearInvMsg:"Oyuncu envanterinin tamam\u0131n\u0131 ger\xE7ekten temizlemek istiyor musunuz?? Bu geri al\u0131namaz!",msg:{success:{fixedPlayerItems:"Fixed player items and saved deleted items into file (if browser allows)."},error:{failedFetchItems:"item tan\u0131mlar\u0131 al\u0131namad\u0131.",failedLoad:"Envanter verileri al\u0131namad\u0131.",noItemName:"Se\xE7ili item yok.",unknown_citizenid:"Oyuncu mevcut de\u011Fil.",noSlot:"Bo\u015F slot yok.",invalid_item:"\u0130tem tan\u0131m\u0131n\u0131 bulam\u0131yorum. Belki bu \xF6\u011Feyi silebilirsiniz.",moved:"Bu \u0130tem ta\u015F\u0131nm\u0131\u015F gibi g\xF6r\xFCn\xFCyor. L\xFCtfen tekrar deneyin.",negative:"Negatif kalem miktar\u0131 ta\u015F\u0131nam\u0131yor.",not_enough:"Bu \xFCr\xFCnden yeterince yok.",internal:"Dahili hata. L\xFCtfen Unlimited ile ileti\u015Fime ge\xE7in.",uniqueInfo:"Bilgi de\u011Fi\u015Fkenleri benzersiz olmal\u0131d\u0131r.",fixPlayer:"Error in PlayerData",fixPlayerText:"This player has a broken PlayerData. Some times this can be caused by invalid item definitions. We can try to fix this by deleting not existing items from the players inventory. This is a experimental feature, be carefull! Should we try to fix it?"}}},devVehicleList:{subheader:"QBCore/Shared/vehicles.lua'daki t\xFCm ara\xE7lar.",noData:"E\u015Fle\u015Fme yok",loadData:"Veri y\xFCkleyin",headers:{name:"\u0130sim",brand:"Marka",model:"Model",hash:"De\u011Fer",price:"Fiyat",category:"Kategori"},recordsPerPage:"Sayfa ba\u015F\u0131na kay\u0131t",paginationLabel:"{from}-{to} of {total}",createVehicle:"Ara\xE7 Olu\u015Ftur"},devVehicle:{edit:"Arac\u0131 d\xFCzenle",model:"Modeli",hash:"De\u011Fer",name:"\u0130sim",brand:"Marka",category:"Kategori",categoryLabel:"Kategori etiketi",price:"Fiyat",shop:"Ma\u011Faza",customVariables:"\xD6zel de\u011Fi\u015Fkenler",customVarSub:"Kendi de\u011Fi\u015Fkenlerinizi yarat\u0131n.",addCustomVar:"Yeni de\u011Fi\u015Fken ekle",customVarName:"De\u011Fi\u015Fken",customVarValue:"De\u011Fer",msg:{error:{invalid_veh_name:"Ara\xE7 ad\u0131 '{name}' String t\xFCr\xFCnde de\u011Fildir.",veh_exists:"Ara\xE7 '{name}' zaten var.",veh_not_exists:"Ara\xE7 '{name}' mevcut de\u011Fil.",file_error:"Ara\xE7 de\u011Fi\u015Fikli\u011Fi \u0130\u015Fleme Al\u0131nd\u0131. Ancak .lua kaydedilirken bir hata olu\u015Ftu. Yeniden ba\u015Flatman\u0131n ard\u0131ndan de\u011Fi\u015Fiklikler art\u0131k etkin de\u011Fil.",missingFields:"Gerekli t\xFCm alanlar\u0131 doldurun.",uniqueVars:"De\u011Fi\u015Fkenler benzersiz olmal\u0131d\u0131r."}},deleteHeader:"Sil",deleteMsg:"Ger\xE7ekten silmek istiyor musun? {model}? Bu geri al\u0131namaz!",deleteCustomVarMsg:"De\u011Fi\u015Fkeni ger\xE7ekten silmek istiyor musunuz {name}? Bu geri al\u0131namaz!"},devVehicleCreate:{new:"Yeni ara\xE7 olu\u015Fturun"},auth:{msg:{error:{not_supported:"Se\xE7ilen sa\u011Flay\u0131c\u0131 desteklenmiyor gibi g\xF6r\xFCn\xFCyor.",internal_error:"Dahili hata. Hata mesaj\u0131n\u0131zla birlikte Unlimited ile ileti\u015Fime ge\xE7in.",no_token:"Geri arama gerekli sorgu alanlar\u0131n\u0131 sa\u011Flamad\u0131.",userdata_fetch_failed:"Sa\u011Flay\u0131c\u0131dan kullan\u0131c\u0131 verileri al\u0131namad\u0131.",no_fx_user:"cfx.re dosyan\u0131za sahip kullan\u0131c\u0131 bulunamad\u0131."}}},waypointList:{subheader:"Yol noktalar\u0131n\u0131z\u0131 y\xF6netin.",createWaypoint:"Yol Noktas\u0131 Olu\u015Ftur",noData:"E\u015Fle\u015Fme yok",loadData:"Veri y\xFCkleyin",headers:{name:"\u0130sim",label:"Etiket",coords:"Koordinatlar"},recordsPerPage:"Sayfa ba\u015F\u0131na kay\u0131t",paginationLabel:"{from}-{to} of {total}"},waypoint:{edit:"Yol noktas\u0131n\u0131 d\xFCzenle",waypoint:"Yol noktas\u0131",labels:{name:"\u0130sim",label:"Etiket",coords:"Koordinatlar"},msg:{error:{waypoint_missing:"\u0130simli yol noktas\u0131 '{name}' mevcut de\u011Fil (anymore).",waypoint_exist:"Yol noktas\u0131 '{name}' zaten var.",no_waypoints:"\u015Eu anda mevcut yol noktas\u0131 yok.",missingFields:"Gerekli t\xFCm alanlar\u0131 doldurun.",failedFetchWaypoints:"Yol noktalar\u0131 al\u0131namad\u0131."}},deleteHeader:"Sil",deleteMsg:"Ger\xE7ekten silmek istiyor musun? {name}? Bu geri al\u0131namaz!",modalHeader:"Bir yol noktas\u0131 se\xE7in"},accountList:{subheader:"Oyuncular\u0131 hesaplar\u0131na g\xF6re bulun.",noData:"E\u015Fle\u015Fme yok",loadData:"Veri y\xFCkleyin",headers:{name:"\u0130sim",license:"Lisans",character_count:"Karakterler",last_active:"Son \xE7evrimi\xE7i"},recordsPerPage:"Sayfa ba\u015F\u0131na kay\u0131t",paginationLabel:"{from}-{to} of {total}"},stashesList:{subheader:"Yap\u0131land\u0131r\u0131lm\u0131\u015F t\xFCm zulalara genel bak\u0131\u015F.",noData:"E\u015Fle\u015Fme yok",loadData:"Veri y\xFCkleyin",headers:{type:"Tip",identifier:"Tan\u0131mlay\u0131c\u0131",items:"Kullan\u0131lan yuvalar"},recordsPerPage:"Sayfa ba\u015F\u0131na kay\u0131t",paginationLabel:"{from}-{to} of {total}"},stashes:{stashStorage:"Zula",supporterStash:"Destek\xE7i Zulas\u0131",itemName:"\u0130sim",amount:"Miktar",infoSection:"Bilgi de\u011Ferleri",infoSectionSub:"Yeni \xF6\u011Fenize bilgi de\u011Fi\u015Fkenleri ekleyin.",addInfoValue:"Yeni ekle",infoName:"Anahtar",infoValue:"De\u011Fer",deleteHeader:"Sil",deleteMsg:"Ger\xE7ekten silmek istiyor musun? bu itemi? Bu geri al\u0131namaz!",deleteInfoHeader:"Delete",deleteInfoMsg:"Ger\xE7ekten silmek istiyor musun? bu bilgiyi {name}? Bu geri al\u0131namaz!",addItemTip:"Yeni \u0130tem ekle",addItemHeader:"Ekle",clearStorageTip:"Zulay\u0131 temizleyin",clearStorageHeader:"Zulay\u0131 temizle",clearStorageMsg:"Ger\xE7ekten t\xFCm zulay\u0131 temizlemek istiyor musunuz? Bu geri al\u0131namaz!",msg:{error:{failedFetchItems:"\u0130tem tan\u0131mlar\u0131 al\u0131namad\u0131.",failedLoad:"Envanter verileri al\u0131namad\u0131.",noItemName:"Se\xE7ili item yok.",unknown_storage:"Depo mevcut de\u011Fil.",noSlot:"Bo\u015F slot yok.",invalid_item:"item tan\u0131m\u0131n\u0131 bulam\u0131yorum. Belki bu itemi silebilirsiniz.",moved:"Bu \u0130tem ta\u015F\u0131nm\u0131\u015F gibi g\xF6r\xFCn\xFCyor. L\xFCtfen tekrar deneyin.",negative:"Negatif item tutar\u0131 ta\u015F\u0131nam\u0131yor.",not_enough:"Bu item den yeterince yok.",internal:"Dahili hata. L\xFCtfen Unlimited ile ileti\u015Fime ge\xE7in.",uniqueInfo:"Bilgi de\u011Fi\u015Fkenleri benzersiz olmal\u0131d\u0131r."}}}},rS={general:Wg,breadcrumb:Ug,rules:Jg,navigation:Yg,components:Qg},iS=Object.freeze(Object.defineProperty({__proto__:null,general:Wg,breadcrumb:Ug,rules:Jg,navigation:Yg,components:Qg,default:rS},Symbol.toStringTag,{value:"Module"}));/*! - * shared v9.2.2 - * (c) 2022 kazuya kawaguchi - * Released under the MIT License. - */const qs=typeof window<"u",sS=typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol",yn=e=>sS?Symbol(e):e,oS=(e,t,n)=>lS({l:e,k:t,s:n}),lS=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),qe=e=>typeof e=="number"&&isFinite(e),uS=e=>al(e)==="[object Date]",gn=e=>al(e)==="[object RegExp]",Mi=e=>le(e)&&Object.keys(e).length===0;function cS(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const Ge=Object.assign;let Wu;const Ha=()=>Wu||(Wu=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Uu(e){return e.replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}const dS=Object.prototype.hasOwnProperty;function nl(e,t){return dS.call(e,t)}const Ae=Array.isArray,Oe=e=>typeof e=="function",X=e=>typeof e=="string",ke=e=>typeof e=="boolean",je=e=>e!==null&&typeof e=="object",Zg=Object.prototype.toString,al=e=>Zg.call(e),le=e=>al(e)==="[object Object]",mS=e=>e==null?"":Ae(e)||le(e)&&e.toString===Zg?JSON.stringify(e,null,2):String(e);/*! - * message-compiler v9.2.2 - * (c) 2022 kazuya kawaguchi - * Released under the MIT License. - */const Ee={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14,__EXTEND_POINT__:15};function Ii(e,t,n={}){const{domain:a,messages:r,args:i}=n,s=e,o=new SyntaxError(String(s));return o.code=e,t&&(o.location=t),o.domain=a,o}function fS(e){throw e}function gS(e,t,n){return{line:e,column:t,offset:n}}function Ks(e,t,n){const a={start:e,end:t};return n!=null&&(a.source=n),a}const zt=" ",pS="\r",at=` -`,hS=String.fromCharCode(8232),bS=String.fromCharCode(8233);function yS(e){const t=e;let n=0,a=1,r=1,i=0;const s=P=>t[P]===pS&&t[P+1]===at,o=P=>t[P]===at,l=P=>t[P]===bS,u=P=>t[P]===hS,c=P=>s(P)||o(P)||l(P)||u(P),f=()=>n,d=()=>a,p=()=>r,b=()=>i,C=P=>s(P)||l(P)||u(P)?at:t[P],x=()=>C(n),y=()=>C(n+i);function h(){return i=0,c(n)&&(a++,r=0),s(n)&&n++,n++,r++,t[n]}function _(){return s(n+i)&&i++,i++,t[n+i]}function w(){n=0,a=1,r=1,i=0}function E(P=0){i=P}function S(){const P=n+i;for(;P!==n;)h();i=0}return{index:f,line:d,column:p,peekOffset:b,charAt:C,currentChar:x,currentPeek:y,next:h,peek:_,reset:w,resetPeek:E,skipToPeek:S}}const Xt=void 0,Ju="'",vS="tokenizer";function kS(e,t={}){const n=t.location!==!1,a=yS(e),r=()=>a.index(),i=()=>gS(a.line(),a.column(),a.index()),s=i(),o=r(),l={currentType:14,offset:o,startLoc:s,endLoc:s,lastType:14,lastOffset:o,lastStartLoc:s,lastEndLoc:s,braceNest:0,inLinked:!1,text:""},u=()=>l,{onError:c}=t;function f(m,g,k,...L){const R=u();if(g.column+=k,g.offset+=k,c){const q=Ks(R.startLoc,g),G=Ii(m,q,{domain:vS,args:L});c(G)}}function d(m,g,k){m.endLoc=i(),m.currentType=g;const L={type:g};return n&&(L.loc=Ks(m.startLoc,m.endLoc)),k!=null&&(L.value=k),L}const p=m=>d(m,14);function b(m,g){return m.currentChar()===g?(m.next(),g):(f(Ee.EXPECTED_TOKEN,i(),0,g),"")}function C(m){let g="";for(;m.currentPeek()===zt||m.currentPeek()===at;)g+=m.currentPeek(),m.peek();return g}function x(m){const g=C(m);return m.skipToPeek(),g}function y(m){if(m===Xt)return!1;const g=m.charCodeAt(0);return g>=97&&g<=122||g>=65&&g<=90||g===95}function h(m){if(m===Xt)return!1;const g=m.charCodeAt(0);return g>=48&&g<=57}function _(m,g){const{currentType:k}=g;if(k!==2)return!1;C(m);const L=y(m.currentPeek());return m.resetPeek(),L}function w(m,g){const{currentType:k}=g;if(k!==2)return!1;C(m);const L=m.currentPeek()==="-"?m.peek():m.currentPeek(),R=h(L);return m.resetPeek(),R}function E(m,g){const{currentType:k}=g;if(k!==2)return!1;C(m);const L=m.currentPeek()===Ju;return m.resetPeek(),L}function S(m,g){const{currentType:k}=g;if(k!==8)return!1;C(m);const L=m.currentPeek()===".";return m.resetPeek(),L}function P(m,g){const{currentType:k}=g;if(k!==9)return!1;C(m);const L=y(m.currentPeek());return m.resetPeek(),L}function D(m,g){const{currentType:k}=g;if(!(k===8||k===12))return!1;C(m);const L=m.currentPeek()===":";return m.resetPeek(),L}function N(m,g){const{currentType:k}=g;if(k!==10)return!1;const L=()=>{const q=m.currentPeek();return q==="{"?y(m.peek()):q==="@"||q==="%"||q==="|"||q===":"||q==="."||q===zt||!q?!1:q===at?(m.peek(),L()):y(q)},R=L();return m.resetPeek(),R}function V(m){C(m);const g=m.currentPeek()==="|";return m.resetPeek(),g}function F(m){const g=C(m),k=m.currentPeek()==="%"&&m.peek()==="{";return m.resetPeek(),{isModulo:k,hasSpace:g.length>0}}function M(m,g=!0){const k=(R=!1,q="",G=!1)=>{const J=m.currentPeek();return J==="{"?q==="%"?!1:R:J==="@"||!J?q==="%"?!0:R:J==="%"?(m.peek(),k(R,"%",!0)):J==="|"?q==="%"||G?!0:!(q===zt||q===at):J===zt?(m.peek(),k(!0,zt,G)):J===at?(m.peek(),k(!0,at,G)):!0},L=k();return g&&m.resetPeek(),L}function K(m,g){const k=m.currentChar();return k===Xt?Xt:g(k)?(m.next(),k):null}function I(m){return K(m,k=>{const L=k.charCodeAt(0);return L>=97&&L<=122||L>=65&&L<=90||L>=48&&L<=57||L===95||L===36})}function ee(m){return K(m,k=>{const L=k.charCodeAt(0);return L>=48&&L<=57})}function ae(m){return K(m,k=>{const L=k.charCodeAt(0);return L>=48&&L<=57||L>=65&&L<=70||L>=97&&L<=102})}function O(m){let g="",k="";for(;g=ee(m);)k+=g;return k}function Q(m){x(m);const g=m.currentChar();return g!=="%"&&f(Ee.EXPECTED_TOKEN,i(),0,g),m.next(),"%"}function he(m){let g="";for(;;){const k=m.currentChar();if(k==="{"||k==="}"||k==="@"||k==="|"||!k)break;if(k==="%")if(M(m))g+=k,m.next();else break;else if(k===zt||k===at)if(M(m))g+=k,m.next();else{if(V(m))break;g+=k,m.next()}else g+=k,m.next()}return g}function U(m){x(m);let g="",k="";for(;g=I(m);)k+=g;return m.currentChar()===Xt&&f(Ee.UNTERMINATED_CLOSING_BRACE,i(),0),k}function ge(m){x(m);let g="";return m.currentChar()==="-"?(m.next(),g+=`-${O(m)}`):g+=O(m),m.currentChar()===Xt&&f(Ee.UNTERMINATED_CLOSING_BRACE,i(),0),g}function we(m){x(m),b(m,"'");let g="",k="";const L=q=>q!==Ju&&q!==at;for(;g=K(m,L);)g==="\\"?k+=Se(m):k+=g;const R=m.currentChar();return R===at||R===Xt?(f(Ee.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,i(),0),R===at&&(m.next(),b(m,"'")),k):(b(m,"'"),k)}function Se(m){const g=m.currentChar();switch(g){case"\\":case"'":return m.next(),`\\${g}`;case"u":return Ue(m,g,4);case"U":return Ue(m,g,6);default:return f(Ee.UNKNOWN_ESCAPE_SEQUENCE,i(),0,g),""}}function Ue(m,g,k){b(m,g);let L="";for(let R=0;RR!=="{"&&R!=="}"&&R!==zt&&R!==at;for(;g=K(m,L);)k+=g;return k}function Z(m){let g="",k="";for(;g=I(m);)k+=g;return k}function Y(m){const g=(k=!1,L)=>{const R=m.currentChar();return R==="{"||R==="%"||R==="@"||R==="|"||!R||R===zt?L:R===at?(L+=R,m.next(),g(k,L)):(L+=R,m.next(),g(!0,L))};return g(!1,"")}function W(m){x(m);const g=b(m,"|");return x(m),g}function re(m,g){let k=null;switch(m.currentChar()){case"{":return g.braceNest>=1&&f(Ee.NOT_ALLOW_NEST_PLACEHOLDER,i(),0),m.next(),k=d(g,2,"{"),x(m),g.braceNest++,k;case"}":return g.braceNest>0&&g.currentType===2&&f(Ee.EMPTY_PLACEHOLDER,i(),0),m.next(),k=d(g,3,"}"),g.braceNest--,g.braceNest>0&&x(m),g.inLinked&&g.braceNest===0&&(g.inLinked=!1),k;case"@":return g.braceNest>0&&f(Ee.UNTERMINATED_CLOSING_BRACE,i(),0),k=be(m,g)||p(g),g.braceNest=0,k;default:let R=!0,q=!0,G=!0;if(V(m))return g.braceNest>0&&f(Ee.UNTERMINATED_CLOSING_BRACE,i(),0),k=d(g,1,W(m)),g.braceNest=0,g.inLinked=!1,k;if(g.braceNest>0&&(g.currentType===5||g.currentType===6||g.currentType===7))return f(Ee.UNTERMINATED_CLOSING_BRACE,i(),0),g.braceNest=0,ie(m,g);if(R=_(m,g))return k=d(g,5,U(m)),x(m),k;if(q=w(m,g))return k=d(g,6,ge(m)),x(m),k;if(G=E(m,g))return k=d(g,7,we(m)),x(m),k;if(!R&&!q&&!G)return k=d(g,13,B(m)),f(Ee.INVALID_TOKEN_IN_PLACEHOLDER,i(),0,k.value),x(m),k;break}return k}function be(m,g){const{currentType:k}=g;let L=null;const R=m.currentChar();switch((k===8||k===9||k===12||k===10)&&(R===at||R===zt)&&f(Ee.INVALID_LINKED_FORMAT,i(),0),R){case"@":return m.next(),L=d(g,8,"@"),g.inLinked=!0,L;case".":return x(m),m.next(),d(g,9,".");case":":return x(m),m.next(),d(g,10,":");default:return V(m)?(L=d(g,1,W(m)),g.braceNest=0,g.inLinked=!1,L):S(m,g)||D(m,g)?(x(m),be(m,g)):P(m,g)?(x(m),d(g,12,Z(m))):N(m,g)?(x(m),R==="{"?re(m,g)||L:d(g,11,Y(m))):(k===8&&f(Ee.INVALID_LINKED_FORMAT,i(),0),g.braceNest=0,g.inLinked=!1,ie(m,g))}}function ie(m,g){let k={type:14};if(g.braceNest>0)return re(m,g)||p(g);if(g.inLinked)return be(m,g)||p(g);switch(m.currentChar()){case"{":return re(m,g)||p(g);case"}":return f(Ee.UNBALANCED_CLOSING_BRACE,i(),0),m.next(),d(g,3,"}");case"@":return be(m,g)||p(g);default:if(V(m))return k=d(g,1,W(m)),g.braceNest=0,g.inLinked=!1,k;const{isModulo:R,hasSpace:q}=F(m);if(R)return q?d(g,0,he(m)):d(g,4,Q(m));if(M(m))return d(g,0,he(m));break}return k}function v(){const{currentType:m,offset:g,startLoc:k,endLoc:L}=l;return l.lastType=m,l.lastOffset=g,l.lastStartLoc=k,l.lastEndLoc=L,l.offset=r(),l.startLoc=i(),a.currentChar()===Xt?d(l,14):ie(a,l)}return{nextToken:v,currentOffset:r,currentPosition:i,context:u}}const wS="parser",_S=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function SS(e,t,n){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const a=parseInt(t||n,16);return a<=55295||a>=57344?String.fromCodePoint(a):"\uFFFD"}}}function ES(e={}){const t=e.location!==!1,{onError:n}=e;function a(y,h,_,w,...E){const S=y.currentPosition();if(S.offset+=w,S.column+=w,n){const P=Ks(_,S),D=Ii(h,P,{domain:wS,args:E});n(D)}}function r(y,h,_){const w={type:y,start:h,end:h};return t&&(w.loc={start:_,end:_}),w}function i(y,h,_,w){y.end=h,w&&(y.type=w),t&&y.loc&&(y.loc.end=_)}function s(y,h){const _=y.context(),w=r(3,_.offset,_.startLoc);return w.value=h,i(w,y.currentOffset(),y.currentPosition()),w}function o(y,h){const _=y.context(),{lastOffset:w,lastStartLoc:E}=_,S=r(5,w,E);return S.index=parseInt(h,10),y.nextToken(),i(S,y.currentOffset(),y.currentPosition()),S}function l(y,h){const _=y.context(),{lastOffset:w,lastStartLoc:E}=_,S=r(4,w,E);return S.key=h,y.nextToken(),i(S,y.currentOffset(),y.currentPosition()),S}function u(y,h){const _=y.context(),{lastOffset:w,lastStartLoc:E}=_,S=r(9,w,E);return S.value=h.replace(_S,SS),y.nextToken(),i(S,y.currentOffset(),y.currentPosition()),S}function c(y){const h=y.nextToken(),_=y.context(),{lastOffset:w,lastStartLoc:E}=_,S=r(8,w,E);return h.type!==12?(a(y,Ee.UNEXPECTED_EMPTY_LINKED_MODIFIER,_.lastStartLoc,0),S.value="",i(S,w,E),{nextConsumeToken:h,node:S}):(h.value==null&&a(y,Ee.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,Lt(h)),S.value=h.value||"",i(S,y.currentOffset(),y.currentPosition()),{node:S})}function f(y,h){const _=y.context(),w=r(7,_.offset,_.startLoc);return w.value=h,i(w,y.currentOffset(),y.currentPosition()),w}function d(y){const h=y.context(),_=r(6,h.offset,h.startLoc);let w=y.nextToken();if(w.type===9){const E=c(y);_.modifier=E.node,w=E.nextConsumeToken||y.nextToken()}switch(w.type!==10&&a(y,Ee.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,Lt(w)),w=y.nextToken(),w.type===2&&(w=y.nextToken()),w.type){case 11:w.value==null&&a(y,Ee.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,Lt(w)),_.key=f(y,w.value||"");break;case 5:w.value==null&&a(y,Ee.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,Lt(w)),_.key=l(y,w.value||"");break;case 6:w.value==null&&a(y,Ee.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,Lt(w)),_.key=o(y,w.value||"");break;case 7:w.value==null&&a(y,Ee.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,Lt(w)),_.key=u(y,w.value||"");break;default:a(y,Ee.UNEXPECTED_EMPTY_LINKED_KEY,h.lastStartLoc,0);const E=y.context(),S=r(7,E.offset,E.startLoc);return S.value="",i(S,E.offset,E.startLoc),_.key=S,i(_,E.offset,E.startLoc),{nextConsumeToken:w,node:_}}return i(_,y.currentOffset(),y.currentPosition()),{node:_}}function p(y){const h=y.context(),_=h.currentType===1?y.currentOffset():h.offset,w=h.currentType===1?h.endLoc:h.startLoc,E=r(2,_,w);E.items=[];let S=null;do{const N=S||y.nextToken();switch(S=null,N.type){case 0:N.value==null&&a(y,Ee.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,Lt(N)),E.items.push(s(y,N.value||""));break;case 6:N.value==null&&a(y,Ee.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,Lt(N)),E.items.push(o(y,N.value||""));break;case 5:N.value==null&&a(y,Ee.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,Lt(N)),E.items.push(l(y,N.value||""));break;case 7:N.value==null&&a(y,Ee.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,Lt(N)),E.items.push(u(y,N.value||""));break;case 8:const V=d(y);E.items.push(V.node),S=V.nextConsumeToken||null;break}}while(h.currentType!==14&&h.currentType!==1);const P=h.currentType===1?h.lastOffset:y.currentOffset(),D=h.currentType===1?h.lastEndLoc:y.currentPosition();return i(E,P,D),E}function b(y,h,_,w){const E=y.context();let S=w.items.length===0;const P=r(1,h,_);P.cases=[],P.cases.push(w);do{const D=p(y);S||(S=D.items.length===0),P.cases.push(D)}while(E.currentType!==14);return S&&a(y,Ee.MUST_HAVE_MESSAGES_IN_PLURAL,_,0),i(P,y.currentOffset(),y.currentPosition()),P}function C(y){const h=y.context(),{offset:_,startLoc:w}=h,E=p(y);return h.currentType===14?E:b(y,_,w,E)}function x(y){const h=kS(y,Ge({},e)),_=h.context(),w=r(0,_.offset,_.startLoc);return t&&w.loc&&(w.loc.source=y),w.body=C(h),_.currentType!==14&&a(h,Ee.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,y[_.offset]||""),i(w,h.currentOffset(),h.currentPosition()),w}return{parse:x}}function Lt(e){if(e.type===14)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"\u2026":t}function CS(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:i=>(n.helpers.add(i),i)}}function Yu(e,t){for(let n=0;ns;function l(C,x){s.code+=C}function u(C,x=!0){const y=x?r:"";l(i?y+" ".repeat(C):y)}function c(C=!0){const x=++s.indentLevel;C&&u(x)}function f(C=!0){const x=--s.indentLevel;C&&u(x)}function d(){u(s.indentLevel)}return{context:o,push:l,indent:c,deindent:f,newline:d,helper:C=>`_${C}`,needIndent:()=>s.needIndent}}function DS(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),ma(e,t.key),t.modifier?(e.push(", "),ma(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function LS(e,t){const{helper:n,needIndent:a}=e;e.push(`${n("normalize")}([`),e.indent(a());const r=t.items.length;for(let i=0;i1){e.push(`${n("plural")}([`),e.indent(a());const r=t.cases.length;for(let i=0;i{const n=X(t.mode)?t.mode:"normal",a=X(t.filename)?t.filename:"message.intl",r=!!t.sourceMap,i=t.breakLineCode!=null?t.breakLineCode:n==="arrow"?";":` -`,s=t.needIndent?t.needIndent:n!=="arrow",o=e.helpers||[],l=PS(e,{mode:n,filename:a,sourceMap:r,breakLineCode:i,needIndent:s});l.push(n==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),l.indent(s),o.length>0&&(l.push(`const { ${o.map(f=>`${f}: _${f}`).join(", ")} } = ctx`),l.newline()),l.push("return "),ma(l,e),l.deindent(s),l.push("}");const{code:u,map:c}=l.context();return{ast:e,code:u,map:c?c.toJSON():void 0}};function NS(e,t={}){const n=Ge({},t),r=ES(n).parse(e);return xS(r,n),jS(r,n)}/*! - * devtools-if v9.2.2 - * (c) 2022 kazuya kawaguchi - * Released under the MIT License. - */const Xg={I18nInit:"i18n:init",FunctionTranslate:"function:translate"};/*! - * core-base v9.2.2 - * (c) 2022 kazuya kawaguchi - * Released under the MIT License. - */const vn=[];vn[0]={w:[0],i:[3,0],["["]:[4],o:[7]};vn[1]={w:[1],["."]:[2],["["]:[4],o:[7]};vn[2]={w:[2],i:[3,0],[0]:[3,0]};vn[3]={i:[3,0],[0]:[3,0],w:[1,1],["."]:[2,1],["["]:[4,1],o:[7,1]};vn[4]={["'"]:[5,0],['"']:[6,0],["["]:[4,2],["]"]:[1,3],o:8,l:[4,0]};vn[5]={["'"]:[4,0],o:8,l:[5,0]};vn[6]={['"']:[4,0],o:8,l:[6,0]};const MS=/^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;function IS(e){return MS.test(e)}function VS(e){const t=e.charCodeAt(0),n=e.charCodeAt(e.length-1);return t===n&&(t===34||t===39)?e.slice(1,-1):e}function RS(e){if(e==null)return"o";switch(e.charCodeAt(0)){case 91:case 93:case 46:case 34:case 39:return e;case 95:case 36:case 45:return"i";case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return"w"}return"i"}function OS(e){const t=e.trim();return e.charAt(0)==="0"&&isNaN(parseInt(e))?!1:IS(t)?VS(t):"*"+t}function zS(e){const t=[];let n=-1,a=0,r=0,i,s,o,l,u,c,f;const d=[];d[0]=()=>{s===void 0?s=o:s+=o},d[1]=()=>{s!==void 0&&(t.push(s),s=void 0)},d[2]=()=>{d[0](),r++},d[3]=()=>{if(r>0)r--,a=4,d[0]();else{if(r=0,s===void 0||(s=OS(s),s===!1))return!1;d[1]()}};function p(){const b=e[n+1];if(a===5&&b==="'"||a===6&&b==='"')return n++,o="\\"+b,d[0](),!0}for(;a!==null;)if(n++,i=e[n],!(i==="\\"&&p())){if(l=RS(i),f=vn[a],u=f[l]||f.l||8,u===8||(a=u[0],u[1]!==void 0&&(c=d[u[1]],c&&(o=i,c()===!1))))return;if(a===7)return t}}const Qu=new Map;function FS(e,t){return je(e)?e[t]:null}function BS(e,t){if(!je(e))return null;let n=Qu.get(t);if(n||(n=zS(t),n&&Qu.set(t,n)),!n)return null;const a=n.length;let r=e,i=0;for(;ie,$S=e=>"",qS="text",KS=e=>e.length===0?"":e.join(""),GS=mS;function Zu(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function WS(e){const t=qe(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(qe(e.named.count)||qe(e.named.n))?qe(e.named.count)?e.named.count:qe(e.named.n)?e.named.n:t:t}function US(e,t){t.count||(t.count=e),t.n||(t.n=e)}function JS(e={}){const t=e.locale,n=WS(e),a=je(e.pluralRules)&&X(t)&&Oe(e.pluralRules[t])?e.pluralRules[t]:Zu,r=je(e.pluralRules)&&X(t)&&Oe(e.pluralRules[t])?Zu:void 0,i=y=>y[a(n,y.length,r)],s=e.list||[],o=y=>s[y],l=e.named||{};qe(e.pluralIndex)&&US(n,l);const u=y=>l[y];function c(y){const h=Oe(e.messages)?e.messages(y):je(e.messages)?e.messages[y]:!1;return h||(e.parent?e.parent.message(y):$S)}const f=y=>e.modifiers?e.modifiers[y]:HS,d=le(e.processor)&&Oe(e.processor.normalize)?e.processor.normalize:KS,p=le(e.processor)&&Oe(e.processor.interpolate)?e.processor.interpolate:GS,b=le(e.processor)&&X(e.processor.type)?e.processor.type:qS,x={list:o,named:u,plural:i,linked:(y,...h)=>{const[_,w]=h;let E="text",S="";h.length===1?je(_)?(S=_.modifier||S,E=_.type||E):X(_)&&(S=_||S):h.length===2&&(X(_)&&(S=_||S),X(w)&&(E=w||E));let P=c(y)(x);return E==="vnode"&&Ae(P)&&S&&(P=P[0]),S?f(S)(P,E):P},message:c,type:b,interpolate:p,normalize:d};return x}let Xa=null;function YS(e){Xa=e}function QS(e,t,n){Xa&&Xa.emit(Xg.I18nInit,{timestamp:Date.now(),i18n:e,version:t,meta:n})}const ZS=XS(Xg.FunctionTranslate);function XS(e){return t=>Xa&&Xa.emit(e,t)}const eE={NOT_FOUND_KEY:1,FALLBACK_TO_TRANSLATE:2,CANNOT_FORMAT_NUMBER:3,FALLBACK_TO_NUMBER_FORMAT:4,CANNOT_FORMAT_DATE:5,FALLBACK_TO_DATE_FORMAT:6,__EXTEND_POINT__:7};function tE(e,t,n){return[...new Set([n,...Ae(t)?t:je(t)?Object.keys(t):X(t)?[t]:[n]])]}function ep(e,t,n){const a=X(n)?n:dr,r=e;r.__localeChainCache||(r.__localeChainCache=new Map);let i=r.__localeChainCache.get(a);if(!i){i=[];let s=[n];for(;Ae(s);)s=Xu(i,s,t);const o=Ae(t)||!le(t)?t:t.default?t.default:null;s=X(o)?[o]:o,Ae(s)&&Xu(i,s,!1),r.__localeChainCache.set(a,i)}return i}function Xu(e,t,n){let a=!0;for(let r=0;r`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function iE(){return{upper:(e,t)=>t==="text"&&X(e)?e.toUpperCase():t==="vnode"&&je(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&X(e)?e.toLowerCase():t==="vnode"&&je(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&X(e)?tc(e):t==="vnode"&&je(e)&&"__v_isVNode"in e?tc(e.children):e}}let tp;function sE(e){tp=e}let np;function oE(e){np=e}let ap;function lE(e){ap=e}let rp=null;const nc=e=>{rp=e},uE=()=>rp;let ip=null;const ac=e=>{ip=e},cE=()=>ip;let rc=0;function dE(e={}){const t=X(e.version)?e.version:rE,n=X(e.locale)?e.locale:dr,a=Ae(e.fallbackLocale)||le(e.fallbackLocale)||X(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:n,r=le(e.messages)?e.messages:{[n]:{}},i=le(e.datetimeFormats)?e.datetimeFormats:{[n]:{}},s=le(e.numberFormats)?e.numberFormats:{[n]:{}},o=Ge({},e.modifiers||{},iE()),l=e.pluralRules||{},u=Oe(e.missing)?e.missing:null,c=ke(e.missingWarn)||gn(e.missingWarn)?e.missingWarn:!0,f=ke(e.fallbackWarn)||gn(e.fallbackWarn)?e.fallbackWarn:!0,d=!!e.fallbackFormat,p=!!e.unresolving,b=Oe(e.postTranslation)?e.postTranslation:null,C=le(e.processor)?e.processor:null,x=ke(e.warnHtmlMessage)?e.warnHtmlMessage:!0,y=!!e.escapeParameter,h=Oe(e.messageCompiler)?e.messageCompiler:tp,_=Oe(e.messageResolver)?e.messageResolver:np||FS,w=Oe(e.localeFallbacker)?e.localeFallbacker:ap||tE,E=je(e.fallbackContext)?e.fallbackContext:void 0,S=Oe(e.onWarn)?e.onWarn:cS,P=e,D=je(P.__datetimeFormatters)?P.__datetimeFormatters:new Map,N=je(P.__numberFormatters)?P.__numberFormatters:new Map,V=je(P.__meta)?P.__meta:{};rc++;const F={version:t,cid:rc,locale:n,fallbackLocale:a,messages:r,modifiers:o,pluralRules:l,missing:u,missingWarn:c,fallbackWarn:f,fallbackFormat:d,unresolving:p,postTranslation:b,processor:C,warnHtmlMessage:x,escapeParameter:y,messageCompiler:h,messageResolver:_,localeFallbacker:w,fallbackContext:E,onWarn:S,__meta:V};return F.datetimeFormats=i,F.numberFormats=s,F.__datetimeFormatters=D,F.__numberFormatters=N,__INTLIFY_PROD_DEVTOOLS__&&QS(F,t,V),F}function il(e,t,n,a,r){const{missing:i,onWarn:s}=e;if(i!==null){const o=i(e,n,t,r);return X(o)?o:t}else return t}function Ca(e,t,n){const a=e;a.__localeChainCache=new Map,e.localeFallbacker(e,n,t)}const mE=e=>e;let ic=Object.create(null);function fE(e,t={}){{const a=(t.onCacheKey||mE)(e),r=ic[a];if(r)return r;let i=!1;const s=t.onError||fS;t.onError=u=>{i=!0,s(u)};const{code:o}=NS(e,t),l=new Function(`return ${o}`)();return i?l:ic[a]=l}}let sp=Ee.__EXTEND_POINT__;const ns=()=>++sp,ea={INVALID_ARGUMENT:sp,INVALID_DATE_ARGUMENT:ns(),INVALID_ISO_DATE_ARGUMENT:ns(),__EXTEND_POINT__:ns()};function ta(e){return Ii(e,null,void 0)}const sc=()=>"",jt=e=>Oe(e);function oc(e,...t){const{fallbackFormat:n,postTranslation:a,unresolving:r,messageCompiler:i,fallbackLocale:s,messages:o}=e,[l,u]=Gs(...t),c=ke(u.missingWarn)?u.missingWarn:e.missingWarn,f=ke(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn,d=ke(u.escapeParameter)?u.escapeParameter:e.escapeParameter,p=!!u.resolvedMessage,b=X(u.default)||ke(u.default)?ke(u.default)?i?l:()=>l:u.default:n?i?l:()=>l:"",C=n||b!=="",x=X(u.locale)?u.locale:e.locale;d&&gE(u);let[y,h,_]=p?[l,x,o[x]||{}]:op(e,l,x,s,f,c),w=y,E=l;if(!p&&!(X(w)||jt(w))&&C&&(w=b,E=w),!p&&(!(X(w)||jt(w))||!X(h)))return r?Vi:l;let S=!1;const P=()=>{S=!0},D=jt(w)?w:lp(e,l,h,w,E,P);if(S)return w;const N=bE(e,h,_,u),V=JS(N),F=pE(e,D,V),M=a?a(F,l):F;if(__INTLIFY_PROD_DEVTOOLS__){const K={timestamp:Date.now(),key:X(l)?l:jt(w)?w.key:"",locale:h||(jt(w)?w.locale:""),format:X(w)?w:jt(w)?w.source:"",message:M};K.meta=Ge({},e.__meta,uE()||{}),ZS(K)}return M}function gE(e){Ae(e.list)?e.list=e.list.map(t=>X(t)?Uu(t):t):je(e.named)&&Object.keys(e.named).forEach(t=>{X(e.named[t])&&(e.named[t]=Uu(e.named[t]))})}function op(e,t,n,a,r,i){const{messages:s,onWarn:o,messageResolver:l,localeFallbacker:u}=e,c=u(e,a,n);let f={},d,p=null;const b="translate";for(let C=0;Ca;return u.locale=n,u.key=t,u}const l=s(a,hE(e,n,r,a,o,i));return l.locale=n,l.key=t,l.source=a,l}function pE(e,t,n){return t(n)}function Gs(...e){const[t,n,a]=e,r={};if(!X(t)&&!qe(t)&&!jt(t))throw ta(ea.INVALID_ARGUMENT);const i=qe(t)?String(t):(jt(t),t);return qe(n)?r.plural=n:X(n)?r.default=n:le(n)&&!Mi(n)?r.named=n:Ae(n)&&(r.list=n),qe(a)?r.plural=a:X(a)?r.default=a:le(a)&&Ge(r,a),[i,r]}function hE(e,t,n,a,r,i){return{warnHtmlMessage:r,onError:s=>{throw i&&i(s),s},onCacheKey:s=>oS(t,n,s)}}function bE(e,t,n,a){const{modifiers:r,pluralRules:i,messageResolver:s,fallbackLocale:o,fallbackWarn:l,missingWarn:u,fallbackContext:c}=e,d={locale:t,modifiers:r,pluralRules:i,messages:p=>{let b=s(n,p);if(b==null&&c){const[,,C]=op(c,p,t,o,l,u);b=s(C,p)}if(X(b)){let C=!1;const y=lp(e,p,t,b,p,()=>{C=!0});return C?sc:y}else return jt(b)?b:sc}};return e.processor&&(d.processor=e.processor),a.list&&(d.list=a.list),a.named&&(d.named=a.named),qe(a.plural)&&(d.pluralIndex=a.plural),d}function lc(e,...t){const{datetimeFormats:n,unresolving:a,fallbackLocale:r,onWarn:i,localeFallbacker:s}=e,{__datetimeFormatters:o}=e,[l,u,c,f]=Ws(...t),d=ke(c.missingWarn)?c.missingWarn:e.missingWarn;ke(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn;const p=!!c.part,b=X(c.locale)?c.locale:e.locale,C=s(e,r,b);if(!X(l)||l==="")return new Intl.DateTimeFormat(b,f).format(u);let x={},y,h=null;const _="datetime format";for(let S=0;S{up.includes(l)?s[l]=n[l]:i[l]=n[l]}),X(a)?i.locale=a:le(a)&&(s=a),le(r)&&(s=r),[i.key||"",o,i,s]}function uc(e,t,n){const a=e;for(const r in n){const i=`${t}__${r}`;!a.__datetimeFormatters.has(i)||a.__datetimeFormatters.delete(i)}}function cc(e,...t){const{numberFormats:n,unresolving:a,fallbackLocale:r,onWarn:i,localeFallbacker:s}=e,{__numberFormatters:o}=e,[l,u,c,f]=Us(...t),d=ke(c.missingWarn)?c.missingWarn:e.missingWarn;ke(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn;const p=!!c.part,b=X(c.locale)?c.locale:e.locale,C=s(e,r,b);if(!X(l)||l==="")return new Intl.NumberFormat(b,f).format(u);let x={},y,h=null;const _="number format";for(let S=0;S{cp.includes(l)?s[l]=n[l]:i[l]=n[l]}),X(a)?i.locale=a:le(a)&&(s=a),le(r)&&(s=r),[i.key||"",o,i,s]}function dc(e,t,n){const a=e;for(const r in n){const i=`${t}__${r}`;!a.__numberFormatters.has(i)||a.__numberFormatters.delete(i)}}typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Ha().__INTLIFY_PROD_DEVTOOLS__=!1);/*! - * vue-i18n v9.2.2 - * (c) 2022 kazuya kawaguchi - * Released under the MIT License. - */const yE="9.2.2";function vE(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(Ha().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(Ha().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Ha().__INTLIFY_PROD_DEVTOOLS__=!1)}eE.__EXTEND_POINT__;let dp=Ee.__EXTEND_POINT__;const rt=()=>++dp,Be={UNEXPECTED_RETURN_TYPE:dp,INVALID_ARGUMENT:rt(),MUST_BE_CALL_SETUP_TOP:rt(),NOT_INSLALLED:rt(),NOT_AVAILABLE_IN_LEGACY_MODE:rt(),REQUIRED_VALUE:rt(),INVALID_VALUE:rt(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:rt(),NOT_INSLALLED_WITH_PROVIDE:rt(),UNEXPECTED_ERROR:rt(),NOT_COMPATIBLE_LEGACY_VUE_I18N:rt(),BRIDGE_SUPPORT_VUE_2_ONLY:rt(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:rt(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:rt(),__EXTEND_POINT__:rt()};function Ke(e,...t){return Ii(e,null,void 0)}const Js=yn("__transrateVNode"),Ys=yn("__datetimeParts"),Qs=yn("__numberParts"),mp=yn("__setPluralRules");yn("__intlifyMeta");const fp=yn("__injectWithOption");function Zs(e){if(!je(e))return e;for(const t in e)if(!!nl(e,t))if(!t.includes("."))je(e[t])&&Zs(e[t]);else{const n=t.split("."),a=n.length-1;let r=e;for(let i=0;i{if("locale"in o&&"resource"in o){const{locale:l,resource:u}=o;l?(s[l]=s[l]||{},$a(u,s[l])):$a(u,s)}else X(o)&&$a(JSON.parse(o),s)}),r==null&&i)for(const o in s)nl(s,o)&&Zs(s[o]);return s}const Cr=e=>!je(e)||Ae(e);function $a(e,t){if(Cr(e)||Cr(t))throw Ke(Be.INVALID_VALUE);for(const n in e)nl(e,n)&&(Cr(e[n])||Cr(t[n])?t[n]=e[n]:$a(e[n],t[n]))}function gp(e){return e.type}function pp(e,t,n){let a=je(t.messages)?t.messages:{};"__i18nGlobal"in n&&(a=Ri(e.locale.value,{messages:a,__i18n:n.__i18nGlobal}));const r=Object.keys(a);r.length&&r.forEach(i=>{e.mergeLocaleMessage(i,a[i])});{if(je(t.datetimeFormats)){const i=Object.keys(t.datetimeFormats);i.length&&i.forEach(s=>{e.mergeDateTimeFormat(s,t.datetimeFormats[s])})}if(je(t.numberFormats)){const i=Object.keys(t.numberFormats);i.length&&i.forEach(s=>{e.mergeNumberFormat(s,t.numberFormats[s])})}}}function mc(e){return Me(ki,null,e,0)}const fc="__INTLIFY_META__";let gc=0;function pc(e){return(t,n,a,r)=>e(n,a,Le()||void 0,r)}const kE=()=>{const e=Le();let t=null;return e&&(t=gp(e)[fc])?{[fc]:t}:null};function sl(e={},t){const{__root:n}=e,a=n===void 0;let r=ke(e.inheritLocale)?e.inheritLocale:!0;const i=se(n&&r?n.locale.value:X(e.locale)?e.locale:dr),s=se(n&&r?n.fallbackLocale.value:X(e.fallbackLocale)||Ae(e.fallbackLocale)||le(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:i.value),o=se(Ri(i.value,e)),l=se(le(e.datetimeFormats)?e.datetimeFormats:{[i.value]:{}}),u=se(le(e.numberFormats)?e.numberFormats:{[i.value]:{}});let c=n?n.missingWarn:ke(e.missingWarn)||gn(e.missingWarn)?e.missingWarn:!0,f=n?n.fallbackWarn:ke(e.fallbackWarn)||gn(e.fallbackWarn)?e.fallbackWarn:!0,d=n?n.fallbackRoot:ke(e.fallbackRoot)?e.fallbackRoot:!0,p=!!e.fallbackFormat,b=Oe(e.missing)?e.missing:null,C=Oe(e.missing)?pc(e.missing):null,x=Oe(e.postTranslation)?e.postTranslation:null,y=n?n.warnHtmlMessage:ke(e.warnHtmlMessage)?e.warnHtmlMessage:!0,h=!!e.escapeParameter;const _=n?n.modifiers:le(e.modifiers)?e.modifiers:{};let w=e.pluralRules||n&&n.pluralRules,E;E=(()=>{a&&ac(null);const T={version:yE,locale:i.value,fallbackLocale:s.value,messages:o.value,modifiers:_,pluralRules:w,missing:C===null?void 0:C,missingWarn:c,fallbackWarn:f,fallbackFormat:p,unresolving:!0,postTranslation:x===null?void 0:x,warnHtmlMessage:y,escapeParameter:h,messageResolver:e.messageResolver,__meta:{framework:"vue"}};T.datetimeFormats=l.value,T.numberFormats=u.value,T.__datetimeFormatters=le(E)?E.__datetimeFormatters:void 0,T.__numberFormatters=le(E)?E.__numberFormatters:void 0;const A=dE(T);return a&&ac(A),A})(),Ca(E,i.value,s.value);function P(){return[i.value,s.value,o.value,l.value,u.value]}const D=j({get:()=>i.value,set:T=>{i.value=T,E.locale=i.value}}),N=j({get:()=>s.value,set:T=>{s.value=T,E.fallbackLocale=s.value,Ca(E,i.value,T)}}),V=j(()=>o.value),F=j(()=>l.value),M=j(()=>u.value);function K(){return Oe(x)?x:null}function I(T){x=T,E.postTranslation=T}function ee(){return b}function ae(T){T!==null&&(C=pc(T)),b=T,E.missing=C}const O=(T,A,te,ne,pe,xe)=>{P();let ye;if(__INTLIFY_PROD_DEVTOOLS__)try{nc(kE()),a||(E.fallbackContext=n?cE():void 0),ye=T(E)}finally{nc(null),a||(E.fallbackContext=void 0)}else ye=T(E);if(qe(ye)&&ye===Vi){const[Ie,ct]=A();return n&&d?ne(n):pe(Ie)}else{if(xe(ye))return ye;throw Ke(Be.UNEXPECTED_RETURN_TYPE)}};function Q(...T){return O(A=>Reflect.apply(oc,null,[A,...T]),()=>Gs(...T),"translate",A=>Reflect.apply(A.t,A,[...T]),A=>A,A=>X(A))}function he(...T){const[A,te,ne]=T;if(ne&&!je(ne))throw Ke(Be.INVALID_ARGUMENT);return Q(A,te,Ge({resolvedMessage:!0},ne||{}))}function U(...T){return O(A=>Reflect.apply(lc,null,[A,...T]),()=>Ws(...T),"datetime format",A=>Reflect.apply(A.d,A,[...T]),()=>ec,A=>X(A))}function ge(...T){return O(A=>Reflect.apply(cc,null,[A,...T]),()=>Us(...T),"number format",A=>Reflect.apply(A.n,A,[...T]),()=>ec,A=>X(A))}function we(T){return T.map(A=>X(A)||qe(A)||ke(A)?mc(String(A)):A)}const Ue={normalize:we,interpolate:T=>T,type:"vnode"};function B(...T){return O(A=>{let te;const ne=A;try{ne.processor=Ue,te=Reflect.apply(oc,null,[ne,...T])}finally{ne.processor=null}return te},()=>Gs(...T),"translate",A=>A[Js](...T),A=>[mc(A)],A=>Ae(A))}function Z(...T){return O(A=>Reflect.apply(cc,null,[A,...T]),()=>Us(...T),"number format",A=>A[Qs](...T),()=>[],A=>X(A)||Ae(A))}function Y(...T){return O(A=>Reflect.apply(lc,null,[A,...T]),()=>Ws(...T),"datetime format",A=>A[Ys](...T),()=>[],A=>X(A)||Ae(A))}function W(T){w=T,E.pluralRules=w}function re(T,A){const te=X(A)?A:i.value,ne=v(te);return E.messageResolver(ne,T)!==null}function be(T){let A=null;const te=ep(E,s.value,i.value);for(let ne=0;ne{r&&(i.value=T,E.locale=T,Ca(E,i.value,s.value))}),Pe(n.fallbackLocale,T=>{r&&(s.value=T,E.fallbackLocale=T,Ca(E,i.value,s.value))}));const H={id:gc,locale:D,fallbackLocale:N,get inheritLocale(){return r},set inheritLocale(T){r=T,T&&n&&(i.value=n.locale.value,s.value=n.fallbackLocale.value,Ca(E,i.value,s.value))},get availableLocales(){return Object.keys(o.value).sort()},messages:V,get modifiers(){return _},get pluralRules(){return w||{}},get isGlobal(){return a},get missingWarn(){return c},set missingWarn(T){c=T,E.missingWarn=c},get fallbackWarn(){return f},set fallbackWarn(T){f=T,E.fallbackWarn=f},get fallbackRoot(){return d},set fallbackRoot(T){d=T},get fallbackFormat(){return p},set fallbackFormat(T){p=T,E.fallbackFormat=p},get warnHtmlMessage(){return y},set warnHtmlMessage(T){y=T,E.warnHtmlMessage=T},get escapeParameter(){return h},set escapeParameter(T){h=T,E.escapeParameter=T},t:Q,getLocaleMessage:v,setLocaleMessage:m,mergeLocaleMessage:g,getPostTranslationHandler:K,setPostTranslationHandler:I,getMissingHandler:ee,setMissingHandler:ae,[mp]:W};return H.datetimeFormats=F,H.numberFormats=M,H.rt=he,H.te=re,H.tm=ie,H.d=U,H.n=ge,H.getDateTimeFormat=k,H.setDateTimeFormat=L,H.mergeDateTimeFormat=R,H.getNumberFormat=q,H.setNumberFormat=G,H.mergeNumberFormat=J,H[fp]=e.__injectWithOption,H[Js]=B,H[Ys]=Y,H[Qs]=Z,H}function wE(e){const t=X(e.locale)?e.locale:dr,n=X(e.fallbackLocale)||Ae(e.fallbackLocale)||le(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,a=Oe(e.missing)?e.missing:void 0,r=ke(e.silentTranslationWarn)||gn(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,i=ke(e.silentFallbackWarn)||gn(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,s=ke(e.fallbackRoot)?e.fallbackRoot:!0,o=!!e.formatFallbackMessages,l=le(e.modifiers)?e.modifiers:{},u=e.pluralizationRules,c=Oe(e.postTranslation)?e.postTranslation:void 0,f=X(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,d=!!e.escapeParameterHtml,p=ke(e.sync)?e.sync:!0;let b=e.messages;if(le(e.sharedMessages)){const E=e.sharedMessages;b=Object.keys(E).reduce((P,D)=>{const N=P[D]||(P[D]={});return Ge(N,E[D]),P},b||{})}const{__i18n:C,__root:x,__injectWithOption:y}=e,h=e.datetimeFormats,_=e.numberFormats,w=e.flatJson;return{locale:t,fallbackLocale:n,messages:b,flatJson:w,datetimeFormats:h,numberFormats:_,missing:a,missingWarn:r,fallbackWarn:i,fallbackRoot:s,fallbackFormat:o,modifiers:l,pluralRules:u,postTranslation:c,warnHtmlMessage:f,escapeParameter:d,messageResolver:e.messageResolver,inheritLocale:p,__i18n:C,__root:x,__injectWithOption:y}}function Xs(e={},t){{const n=sl(wE(e)),a={id:n.id,get locale(){return n.locale.value},set locale(r){n.locale.value=r},get fallbackLocale(){return n.fallbackLocale.value},set fallbackLocale(r){n.fallbackLocale.value=r},get messages(){return n.messages.value},get datetimeFormats(){return n.datetimeFormats.value},get numberFormats(){return n.numberFormats.value},get availableLocales(){return n.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(r){},get missing(){return n.getMissingHandler()},set missing(r){n.setMissingHandler(r)},get silentTranslationWarn(){return ke(n.missingWarn)?!n.missingWarn:n.missingWarn},set silentTranslationWarn(r){n.missingWarn=ke(r)?!r:r},get silentFallbackWarn(){return ke(n.fallbackWarn)?!n.fallbackWarn:n.fallbackWarn},set silentFallbackWarn(r){n.fallbackWarn=ke(r)?!r:r},get modifiers(){return n.modifiers},get formatFallbackMessages(){return n.fallbackFormat},set formatFallbackMessages(r){n.fallbackFormat=r},get postTranslation(){return n.getPostTranslationHandler()},set postTranslation(r){n.setPostTranslationHandler(r)},get sync(){return n.inheritLocale},set sync(r){n.inheritLocale=r},get warnHtmlInMessage(){return n.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(r){n.warnHtmlMessage=r!=="off"},get escapeParameterHtml(){return n.escapeParameter},set escapeParameterHtml(r){n.escapeParameter=r},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(r){},get pluralizationRules(){return n.pluralRules||{}},__composer:n,t(...r){const[i,s,o]=r,l={};let u=null,c=null;if(!X(i))throw Ke(Be.INVALID_ARGUMENT);const f=i;return X(s)?l.locale=s:Ae(s)?u=s:le(s)&&(c=s),Ae(o)?u=o:le(o)&&(c=o),Reflect.apply(n.t,n,[f,u||c||{},l])},rt(...r){return Reflect.apply(n.rt,n,[...r])},tc(...r){const[i,s,o]=r,l={plural:1};let u=null,c=null;if(!X(i))throw Ke(Be.INVALID_ARGUMENT);const f=i;return X(s)?l.locale=s:qe(s)?l.plural=s:Ae(s)?u=s:le(s)&&(c=s),X(o)?l.locale=o:Ae(o)?u=o:le(o)&&(c=o),Reflect.apply(n.t,n,[f,u||c||{},l])},te(r,i){return n.te(r,i)},tm(r){return n.tm(r)},getLocaleMessage(r){return n.getLocaleMessage(r)},setLocaleMessage(r,i){n.setLocaleMessage(r,i)},mergeLocaleMessage(r,i){n.mergeLocaleMessage(r,i)},d(...r){return Reflect.apply(n.d,n,[...r])},getDateTimeFormat(r){return n.getDateTimeFormat(r)},setDateTimeFormat(r,i){n.setDateTimeFormat(r,i)},mergeDateTimeFormat(r,i){n.mergeDateTimeFormat(r,i)},n(...r){return Reflect.apply(n.n,n,[...r])},getNumberFormat(r){return n.getNumberFormat(r)},setNumberFormat(r,i){n.setNumberFormat(r,i)},mergeNumberFormat(r,i){n.mergeNumberFormat(r,i)},getChoiceIndex(r,i){return-1},__onComponentInstanceCreated(r){const{componentInstanceCreatedListener:i}=e;i&&i(r,a)}};return a}}const ol={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function _E({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((a,r)=>a=[...a,...Ae(r.children)?r.children:[r]],[]):t.reduce((n,a)=>{const r=e[a];return r&&(n[a]=r()),n},{})}function hp(e){return st}const hc={name:"i18n-t",props:Ge({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>qe(e)||!isNaN(e)}},ol),setup(e,t){const{slots:n,attrs:a}=t,r=e.i18n||ll({useScope:e.scope,__useComponent:!0});return()=>{const i=Object.keys(n).filter(f=>f!=="_"),s={};e.locale&&(s.locale=e.locale),e.plural!==void 0&&(s.plural=X(e.plural)?+e.plural:e.plural);const o=_E(t,i),l=r[Js](e.keypath,o,s),u=Ge({},a),c=X(e.tag)||je(e.tag)?e.tag:hp();return z(c,u,l)}}};function SE(e){return Ae(e)&&!X(e[0])}function bp(e,t,n,a){const{slots:r,attrs:i}=t;return()=>{const s={part:!0};let o={};e.locale&&(s.locale=e.locale),X(e.format)?s.key=e.format:je(e.format)&&(X(e.format.key)&&(s.key=e.format.key),o=Object.keys(e.format).reduce((d,p)=>n.includes(p)?Ge({},d,{[p]:e.format[p]}):d,{}));const l=a(e.value,s,o);let u=[s.key];Ae(l)?u=l.map((d,p)=>{const b=r[d.type],C=b?b({[d.type]:d.value,index:p,parts:l}):[d.value];return SE(C)&&(C[0].key=`${d.type}-${p}`),C}):X(l)&&(u=[l]);const c=Ge({},i),f=X(e.tag)||je(e.tag)?e.tag:hp();return z(f,c,u)}}const bc={name:"i18n-n",props:Ge({value:{type:Number,required:!0},format:{type:[String,Object]}},ol),setup(e,t){const n=e.i18n||ll({useScope:"parent",__useComponent:!0});return bp(e,t,cp,(...a)=>n[Qs](...a))}},yc={name:"i18n-d",props:Ge({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},ol),setup(e,t){const n=e.i18n||ll({useScope:"parent",__useComponent:!0});return bp(e,t,up,(...a)=>n[Ys](...a))}};function EE(e,t){const n=e;if(e.mode==="composition")return n.__getInstance(t)||e.global;{const a=n.__getInstance(t);return a!=null?a.__composer:e.global.__composer}}function CE(e){const t=s=>{const{instance:o,modifiers:l,value:u}=s;if(!o||!o.$)throw Ke(Be.UNEXPECTED_ERROR);const c=EE(e,o.$),f=vc(u);return[Reflect.apply(c.t,c,[...kc(f)]),c]};return{created:(s,o)=>{const[l,u]=t(o);qs&&e.global===u&&(s.__i18nWatcher=Pe(u.locale,()=>{o.instance&&o.instance.$forceUpdate()})),s.__composer=u,s.textContent=l},unmounted:s=>{qs&&s.__i18nWatcher&&(s.__i18nWatcher(),s.__i18nWatcher=void 0,delete s.__i18nWatcher),s.__composer&&(s.__composer=void 0,delete s.__composer)},beforeUpdate:(s,{value:o})=>{if(s.__composer){const l=s.__composer,u=vc(o);s.textContent=Reflect.apply(l.t,l,[...kc(u)])}},getSSRProps:s=>{const[o]=t(s);return{textContent:o}}}}function vc(e){if(X(e))return{path:e};if(le(e)){if(!("path"in e))throw Ke(Be.REQUIRED_VALUE,"path");return e}else throw Ke(Be.INVALID_VALUE)}function kc(e){const{path:t,locale:n,args:a,choice:r,plural:i}=e,s={},o=a||{};return X(n)&&(s.locale=n),qe(r)&&(s.plural=r),qe(i)&&(s.plural=i),[t,o,s]}function xE(e,t,...n){const a=le(n[0])?n[0]:{},r=!!a.useI18nComponentName;(ke(a.globalInstall)?a.globalInstall:!0)&&(e.component(r?"i18n":hc.name,hc),e.component(bc.name,bc),e.component(yc.name,yc)),e.directive("t",CE(t))}function PE(e,t,n){return{beforeCreate(){const a=Le();if(!a)throw Ke(Be.UNEXPECTED_ERROR);const r=this.$options;if(r.i18n){const i=r.i18n;r.__i18n&&(i.__i18n=r.__i18n),i.__root=t,this===this.$root?this.$i18n=wc(e,i):(i.__injectWithOption=!0,this.$i18n=Xs(i))}else r.__i18n?this===this.$root?this.$i18n=wc(e,r):this.$i18n=Xs({__i18n:r.__i18n,__injectWithOption:!0,__root:t}):this.$i18n=e;r.__i18nGlobal&&pp(t,r,r),e.__onComponentInstanceCreated(this.$i18n),n.__setInstance(a,this.$i18n),this.$t=(...i)=>this.$i18n.t(...i),this.$rt=(...i)=>this.$i18n.rt(...i),this.$tc=(...i)=>this.$i18n.tc(...i),this.$te=(i,s)=>this.$i18n.te(i,s),this.$d=(...i)=>this.$i18n.d(...i),this.$n=(...i)=>this.$i18n.n(...i),this.$tm=i=>this.$i18n.tm(i)},mounted(){},unmounted(){const a=Le();if(!a)throw Ke(Be.UNEXPECTED_ERROR);delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,n.__deleteInstance(a),delete this.$i18n}}}function wc(e,t){e.locale=t.locale||e.locale,e.fallbackLocale=t.fallbackLocale||e.fallbackLocale,e.missing=t.missing||e.missing,e.silentTranslationWarn=t.silentTranslationWarn||e.silentFallbackWarn,e.silentFallbackWarn=t.silentFallbackWarn||e.silentFallbackWarn,e.formatFallbackMessages=t.formatFallbackMessages||e.formatFallbackMessages,e.postTranslation=t.postTranslation||e.postTranslation,e.warnHtmlInMessage=t.warnHtmlInMessage||e.warnHtmlInMessage,e.escapeParameterHtml=t.escapeParameterHtml||e.escapeParameterHtml,e.sync=t.sync||e.sync,e.__composer[mp](t.pluralizationRules||e.pluralizationRules);const n=Ri(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(n).forEach(a=>e.mergeLocaleMessage(a,n[a])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(a=>e.mergeDateTimeFormat(a,t.datetimeFormats[a])),t.numberFormats&&Object.keys(t.numberFormats).forEach(a=>e.mergeNumberFormat(a,t.numberFormats[a])),e}const DE=yn("global-vue-i18n");function LE(e={},t){const n=__VUE_I18N_LEGACY_API__&&ke(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,a=ke(e.globalInjection)?e.globalInjection:!0,r=__VUE_I18N_LEGACY_API__&&n?!!e.allowComposition:!0,i=new Map,[s,o]=TE(e,n),l=yn("");function u(d){return i.get(d)||null}function c(d,p){i.set(d,p)}function f(d){i.delete(d)}{const d={get mode(){return __VUE_I18N_LEGACY_API__&&n?"legacy":"composition"},get allowComposition(){return r},async install(p,...b){p.__VUE_I18N_SYMBOL__=l,p.provide(p.__VUE_I18N_SYMBOL__,d),!n&&a&&zE(p,d.global),__VUE_I18N_FULL_INSTALL__&&xE(p,d,...b),__VUE_I18N_LEGACY_API__&&n&&p.mixin(PE(o,o.__composer,d));const C=p.unmount;p.unmount=()=>{d.dispose(),C()}},get global(){return o},dispose(){s.stop()},__instances:i,__getInstance:u,__setInstance:c,__deleteInstance:f};return d}}function ll(e={}){const t=Le();if(t==null)throw Ke(Be.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw Ke(Be.NOT_INSLALLED);const n=AE(t),a=NE(n),r=gp(t),i=jE(e,r);if(__VUE_I18N_LEGACY_API__&&n.mode==="legacy"&&!e.__useComponent){if(!n.allowComposition)throw Ke(Be.NOT_AVAILABLE_IN_LEGACY_MODE);return VE(t,i,a,e)}if(i==="global")return pp(a,e,r),a;if(i==="parent"){let l=ME(n,t,e.__useComponent);return l==null&&(l=a),l}const s=n;let o=s.__getInstance(t);if(o==null){const l=Ge({},e);"__i18n"in r&&(l.__i18n=r.__i18n),a&&(l.__root=a),o=sl(l),IE(s,t),s.__setInstance(t,o)}return o}function TE(e,t,n){const a=fo();{const r=__VUE_I18N_LEGACY_API__&&t?a.run(()=>Xs(e)):a.run(()=>sl(e));if(r==null)throw Ke(Be.UNEXPECTED_ERROR);return[a,r]}}function AE(e){{const t=bt(e.isCE?DE:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw Ke(e.isCE?Be.NOT_INSLALLED_WITH_PROVIDE:Be.UNEXPECTED_ERROR);return t}}function jE(e,t){return Mi(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function NE(e){return e.mode==="composition"?e.global:e.global.__composer}function ME(e,t,n=!1){let a=null;const r=t.root;let i=t.parent;for(;i!=null;){const s=e;if(e.mode==="composition")a=s.__getInstance(i);else if(__VUE_I18N_LEGACY_API__){const o=s.__getInstance(i);o!=null&&(a=o.__composer,n&&a&&!a[fp]&&(a=null))}if(a!=null||r===i)break;i=i.parent}return a}function IE(e,t,n){bn(()=>{},t),or(()=>{e.__deleteInstance(t)},t)}function VE(e,t,n,a={}){const r=t==="local",i=_d(null);if(r&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw Ke(Be.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const s=ke(a.inheritLocale)?a.inheritLocale:!0,o=se(r&&s?n.locale.value:X(a.locale)?a.locale:dr),l=se(r&&s?n.fallbackLocale.value:X(a.fallbackLocale)||Ae(a.fallbackLocale)||le(a.fallbackLocale)||a.fallbackLocale===!1?a.fallbackLocale:o.value),u=se(Ri(o.value,a)),c=se(le(a.datetimeFormats)?a.datetimeFormats:{[o.value]:{}}),f=se(le(a.numberFormats)?a.numberFormats:{[o.value]:{}}),d=r?n.missingWarn:ke(a.missingWarn)||gn(a.missingWarn)?a.missingWarn:!0,p=r?n.fallbackWarn:ke(a.fallbackWarn)||gn(a.fallbackWarn)?a.fallbackWarn:!0,b=r?n.fallbackRoot:ke(a.fallbackRoot)?a.fallbackRoot:!0,C=!!a.fallbackFormat,x=Oe(a.missing)?a.missing:null,y=Oe(a.postTranslation)?a.postTranslation:null,h=r?n.warnHtmlMessage:ke(a.warnHtmlMessage)?a.warnHtmlMessage:!0,_=!!a.escapeParameter,w=r?n.modifiers:le(a.modifiers)?a.modifiers:{},E=a.pluralRules||r&&n.pluralRules;function S(){return[o.value,l.value,u.value,c.value,f.value]}const P=j({get:()=>i.value?i.value.locale.value:o.value,set:g=>{i.value&&(i.value.locale.value=g),o.value=g}}),D=j({get:()=>i.value?i.value.fallbackLocale.value:l.value,set:g=>{i.value&&(i.value.fallbackLocale.value=g),l.value=g}}),N=j(()=>i.value?i.value.messages.value:u.value),V=j(()=>c.value),F=j(()=>f.value);function M(){return i.value?i.value.getPostTranslationHandler():y}function K(g){i.value&&i.value.setPostTranslationHandler(g)}function I(){return i.value?i.value.getMissingHandler():x}function ee(g){i.value&&i.value.setMissingHandler(g)}function ae(g){return S(),g()}function O(...g){return i.value?ae(()=>Reflect.apply(i.value.t,null,[...g])):ae(()=>"")}function Q(...g){return i.value?Reflect.apply(i.value.rt,null,[...g]):""}function he(...g){return i.value?ae(()=>Reflect.apply(i.value.d,null,[...g])):ae(()=>"")}function U(...g){return i.value?ae(()=>Reflect.apply(i.value.n,null,[...g])):ae(()=>"")}function ge(g){return i.value?i.value.tm(g):{}}function we(g,k){return i.value?i.value.te(g,k):!1}function Se(g){return i.value?i.value.getLocaleMessage(g):{}}function Ue(g,k){i.value&&(i.value.setLocaleMessage(g,k),u.value[g]=k)}function B(g,k){i.value&&i.value.mergeLocaleMessage(g,k)}function Z(g){return i.value?i.value.getDateTimeFormat(g):{}}function Y(g,k){i.value&&(i.value.setDateTimeFormat(g,k),c.value[g]=k)}function W(g,k){i.value&&i.value.mergeDateTimeFormat(g,k)}function re(g){return i.value?i.value.getNumberFormat(g):{}}function be(g,k){i.value&&(i.value.setNumberFormat(g,k),f.value[g]=k)}function ie(g,k){i.value&&i.value.mergeNumberFormat(g,k)}const v={get id(){return i.value?i.value.id:-1},locale:P,fallbackLocale:D,messages:N,datetimeFormats:V,numberFormats:F,get inheritLocale(){return i.value?i.value.inheritLocale:s},set inheritLocale(g){i.value&&(i.value.inheritLocale=g)},get availableLocales(){return i.value?i.value.availableLocales:Object.keys(u.value)},get modifiers(){return i.value?i.value.modifiers:w},get pluralRules(){return i.value?i.value.pluralRules:E},get isGlobal(){return i.value?i.value.isGlobal:!1},get missingWarn(){return i.value?i.value.missingWarn:d},set missingWarn(g){i.value&&(i.value.missingWarn=g)},get fallbackWarn(){return i.value?i.value.fallbackWarn:p},set fallbackWarn(g){i.value&&(i.value.missingWarn=g)},get fallbackRoot(){return i.value?i.value.fallbackRoot:b},set fallbackRoot(g){i.value&&(i.value.fallbackRoot=g)},get fallbackFormat(){return i.value?i.value.fallbackFormat:C},set fallbackFormat(g){i.value&&(i.value.fallbackFormat=g)},get warnHtmlMessage(){return i.value?i.value.warnHtmlMessage:h},set warnHtmlMessage(g){i.value&&(i.value.warnHtmlMessage=g)},get escapeParameter(){return i.value?i.value.escapeParameter:_},set escapeParameter(g){i.value&&(i.value.escapeParameter=g)},t:O,getPostTranslationHandler:M,setPostTranslationHandler:K,getMissingHandler:I,setMissingHandler:ee,rt:Q,d:he,n:U,tm:ge,te:we,getLocaleMessage:Se,setLocaleMessage:Ue,mergeLocaleMessage:B,getDateTimeFormat:Z,setDateTimeFormat:Y,mergeDateTimeFormat:W,getNumberFormat:re,setNumberFormat:be,mergeNumberFormat:ie};function m(g){g.locale.value=o.value,g.fallbackLocale.value=l.value,Object.keys(u.value).forEach(k=>{g.mergeLocaleMessage(k,u.value[k])}),Object.keys(c.value).forEach(k=>{g.mergeDateTimeFormat(k,c.value[k])}),Object.keys(f.value).forEach(k=>{g.mergeNumberFormat(k,f.value[k])}),g.escapeParameter=_,g.fallbackFormat=C,g.fallbackRoot=b,g.fallbackWarn=p,g.missingWarn=d,g.warnHtmlMessage=h}return Fd(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw Ke(Be.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const g=i.value=e.proxy.$i18n.__composer;t==="global"?(o.value=g.locale.value,l.value=g.fallbackLocale.value,u.value=g.messages.value,c.value=g.datetimeFormats.value,f.value=g.numberFormats.value):r&&m(g)}),v}const RE=["locale","fallbackLocale","availableLocales"],OE=["t","rt","d","n","tm"];function zE(e,t){const n=Object.create(null);RE.forEach(a=>{const r=Object.getOwnPropertyDescriptor(t,a);if(!r)throw Ke(Be.UNEXPECTED_ERROR);const i=Ve(r.value)?{get(){return r.value.value},set(s){r.value.value=s}}:{get(){return r.get&&r.get()}};Object.defineProperty(n,a,i)}),e.config.globalProperties.$i18n=n,OE.forEach(a=>{const r=Object.getOwnPropertyDescriptor(t,a);if(!r||!r.value)throw Ke(Be.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${a}`,r)})}sE(fE);oE(BS);lE(ep);vE();if(__INTLIFY_PROD_DEVTOOLS__){const e=Ha();e.__INTLIFY__=!0,YS(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}function FE(){const e=Object.assign({"./locales/de.json":z_,"./locales/dk.json":B_,"./locales/en.json":$_,"./locales/es.json":K_,"./locales/et.json":W_,"./locales/nl.json":J_,"./locales/no.json":Q_,"./locales/pl.json":X_,"./locales/pt.json":tS,"./locales/ta.json":aS,"./locales/tr.json":iS}),t={};for(const n in e){const a=n.match(/([A-Za-z0-9-_]+)\./i);t[a[1]]=e[n]}return t}const BE=new LE({locale:"en",fallbackLocale:"en",messages:FE()});function HE(e){if(e.hasOwnProperty("possibleRulesFor"))return e;var t=se(!0);e.on("updated",function(){t.value=!t.value});var n=e.possibleRulesFor.bind(e);return e.possibleRulesFor=function(a,r){return t.value=t.value,n(a,r)},e.can=e.can.bind(e),e.cannot=e.cannot.bind(e),e}var yp=Symbol("ability");function $E(){var e=bt(yp);if(!e)throw new Error("Cannot inject Ability instance because it was not provided");return e}function qE(e){return"a"in e?"a":"this"in e?"this":"an"in e?"an":""}ir({name:"Can",props:{I:String,do:String,a:[String,Function],an:[String,Function],this:[String,Function,Object],on:[String,Function,Object],not:Boolean,passThrough:Boolean,field:String},setup:function(t,n){var a=n.slots,r=t,i="do",s="on";if(i in t||(i="I",s=qE(t)),!r[i])throw new Error("Neither `I` nor `do` prop was passed in ");if(!a.default)throw new Error("Expects to receive default slot");var o=$E();return function(){var l=o.can(r[i],r[s],r.field),u=t.not?!l:l;return t.passThrough?a.default({allowed:u,ability:o}):u?a.default():null}}});function KE(e,t,n){if(!t||!(t instanceof Wo))throw new Error("Please provide an Ability instance to abilitiesPlugin plugin");e.provide(yp,HE(t)),n&&n.useGlobalProperties&&(e.config.globalProperties.$ability=t,e.config.globalProperties.$can=t.can.bind(t))}function mr(e,t,n,a){return Object.defineProperty(e,t,{get:n,set:a,enumerable:!0}),e}function PP(e,t){for(const n in t)mr(e,n,t[n]);return e}const pn=se(!1);let Oi;function GE(e,t){const n=/(edg|edge|edga|edgios)\/([\w.]+)/.exec(e)||/(opr)[\/]([\w.]+)/.exec(e)||/(vivaldi)[\/]([\w.]+)/.exec(e)||/(chrome|crios)[\/]([\w.]+)/.exec(e)||/(version)(applewebkit)[\/]([\w.]+).*(safari)[\/]([\w.]+)/.exec(e)||/(webkit)[\/]([\w.]+).*(version)[\/]([\w.]+).*(safari)[\/]([\w.]+)/.exec(e)||/(firefox|fxios)[\/]([\w.]+)/.exec(e)||/(webkit)[\/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[\/]([\w.]+)/.exec(e)||[];return{browser:n[5]||n[3]||n[1]||"",version:n[2]||n[4]||"0",versionNumber:n[4]||n[2]||"0",platform:t[0]||""}}function WE(e){return/(ipad)/.exec(e)||/(ipod)/.exec(e)||/(windows phone)/.exec(e)||/(iphone)/.exec(e)||/(kindle)/.exec(e)||/(silk)/.exec(e)||/(android)/.exec(e)||/(win)/.exec(e)||/(mac)/.exec(e)||/(linux)/.exec(e)||/(cros)/.exec(e)||/(playbook)/.exec(e)||/(bb)/.exec(e)||/(blackberry)/.exec(e)||[]}const vp="ontouchstart"in window||window.navigator.maxTouchPoints>0;function UE(e){Oi={is:{...e}},delete e.mac,delete e.desktop;const t=Math.min(window.innerHeight,window.innerWidth)>414?"ipad":"iphone";Object.assign(e,{mobile:!0,ios:!0,platform:t,[t]:!0})}function JE(e){const t=e.toLowerCase(),n=WE(t),a=GE(t,n),r={};a.browser&&(r[a.browser]=!0,r.version=a.version,r.versionNumber=parseInt(a.versionNumber,10)),a.platform&&(r[a.platform]=!0);const i=r.android||r.ios||r.bb||r.blackberry||r.ipad||r.iphone||r.ipod||r.kindle||r.playbook||r.silk||r["windows phone"];return i===!0||t.indexOf("mobile")>-1?(r.mobile=!0,r.edga||r.edgios?(r.edge=!0,a.browser="edge"):r.crios?(r.chrome=!0,a.browser="chrome"):r.fxios&&(r.firefox=!0,a.browser="firefox")):r.desktop=!0,(r.ipod||r.ipad||r.iphone)&&(r.ios=!0),r["windows phone"]&&(r.winphone=!0,delete r["windows phone"]),(r.chrome||r.opr||r.safari||r.vivaldi||r.mobile===!0&&r.ios!==!0&&i!==!0)&&(r.webkit=!0),r.edg&&(a.browser="edgechromium",r.edgeChromium=!0),(r.safari&&r.blackberry||r.bb)&&(a.browser="blackberry",r.blackberry=!0),r.safari&&r.playbook&&(a.browser="playbook",r.playbook=!0),r.opr&&(a.browser="opera",r.opera=!0),r.safari&&r.android&&(a.browser="android",r.android=!0),r.safari&&r.kindle&&(a.browser="kindle",r.kindle=!0),r.safari&&r.silk&&(a.browser="silk",r.silk=!0),r.vivaldi&&(a.browser="vivaldi",r.vivaldi=!0),r.name=a.browser,r.platform=a.platform,t.indexOf("electron")>-1?r.electron=!0:document.location.href.indexOf("-extension://")>-1?r.bex=!0:(window.Capacitor!==void 0?(r.capacitor=!0,r.nativeMobile=!0,r.nativeMobileWrapper="capacitor"):(window._cordovaNative!==void 0||window.cordova!==void 0)&&(r.cordova=!0,r.nativeMobile=!0,r.nativeMobileWrapper="cordova"),vp===!0&&r.mac===!0&&(r.desktop===!0&&r.safari===!0||r.nativeMobile===!0&&r.android!==!0&&r.ios!==!0&&r.ipad!==!0)&&UE(r)),r}const _c=navigator.userAgent||navigator.vendor||window.opera,YE={has:{touch:!1,webStorage:!1},within:{iframe:!1}},Fe={userAgent:_c,is:JE(_c),has:{touch:vp},within:{iframe:window.self!==window.top}},eo={install(e){const{$q:t}=e;pn.value===!0?(e.onSSRHydrated.push(()=>{pn.value=!1,Object.assign(t.platform,Fe),Oi=void 0}),t.platform=hn(this)):t.platform=this}};{let e;mr(Fe.has,"webStorage",()=>{if(e!==void 0)return e;try{if(window.localStorage)return e=!0,!0}catch{}return e=!1,!1}),Fe.is.ios===!0&&window.navigator.vendor.toLowerCase().indexOf("apple"),pn.value===!0?Object.assign(eo,Fe,Oi,YE):Object.assign(eo,Fe)}const zi=(e,t)=>{const n=hn(e);for(const a in e)mr(t,a,()=>n[a],r=>{n[a]=r});return t},it={hasPassive:!1,passiveCapture:!0,notPassiveCapture:!0};try{const e=Object.defineProperty({},"passive",{get(){Object.assign(it,{hasPassive:!0,passive:{passive:!0},notPassive:{passive:!1},passiveCapture:{passive:!0,capture:!0},notPassiveCapture:{passive:!1,capture:!0}})}});window.addEventListener("qtest",null,e),window.removeEventListener("qtest",null,e)}catch{}function er(){}function DP(e){return e.button===0}function QE(e){return e.touches&&e.touches[0]?e=e.touches[0]:e.changedTouches&&e.changedTouches[0]?e=e.changedTouches[0]:e.targetTouches&&e.targetTouches[0]&&(e=e.targetTouches[0]),{top:e.clientY,left:e.clientX}}function ZE(e){if(e.path)return e.path;if(e.composedPath)return e.composedPath();const t=[];let n=e.target;for(;n;){if(t.push(n),n.tagName==="HTML")return t.push(document),t.push(window),t;n=n.parentElement}}function ri(e){e.stopPropagation()}function on(e){e.cancelable!==!1&&e.preventDefault()}function pt(e){e.cancelable!==!1&&e.preventDefault(),e.stopPropagation()}function LP(e,t){if(e===void 0||t===!0&&e.__dragPrevented===!0)return;const n=t===!0?a=>{a.__dragPrevented=!0,a.addEventListener("dragstart",on,it.notPassiveCapture)}:a=>{delete a.__dragPrevented,a.removeEventListener("dragstart",on,it.notPassiveCapture)};e.querySelectorAll("a, img").forEach(n)}function XE(e,t,n){const a=`__q_${t}_evt`;e[a]=e[a]!==void 0?e[a].concat(n):n,n.forEach(r=>{r[0].addEventListener(r[1],e[r[2]],it[r[3]])})}function eC(e,t){const n=`__q_${t}_evt`;e[n]!==void 0&&(e[n].forEach(a=>{a[0].removeEventListener(a[1],e[a[2]],it[a[3]])}),e[n]=void 0)}function kp(e,t=250,n){let a;function r(){const i=arguments,s=()=>{a=void 0,n!==!0&&e.apply(this,i)};clearTimeout(a),n===!0&&a===void 0&&e.apply(this,i),a=setTimeout(s,t)}return r.cancel=()=>{clearTimeout(a)},r}const as=["sm","md","lg","xl"],{passive:Sc}=it,tC=zi({width:0,height:0,name:"xs",sizes:{sm:600,md:1024,lg:1440,xl:1920},lt:{sm:!0,md:!0,lg:!0,xl:!0},gt:{xs:!1,sm:!1,md:!1,lg:!1},xs:!0,sm:!1,md:!1,lg:!1,xl:!1},{setSizes:er,setDebounce:er,install({$q:e,onSSRHydrated:t}){if(e.screen=this,this.__installed===!0){e.config.screen!==void 0&&(e.config.screen.bodyClasses===!1?document.body.classList.remove(`screen--${this.name}`):this.__update(!0));return}const{visualViewport:n}=window,a=n||window,r=document.scrollingElement||document.documentElement,i=n===void 0||Fe.is.mobile===!0?()=>[Math.max(window.innerWidth,r.clientWidth),Math.max(window.innerHeight,r.clientHeight)]:()=>[n.width*n.scale+window.innerWidth-r.clientWidth,n.height*n.scale+window.innerHeight-r.clientHeight],s=e.config.screen!==void 0&&e.config.screen.bodyClasses===!0;this.__update=f=>{const[d,p]=i();if(p!==this.height&&(this.height=p),d!==this.width)this.width=d;else if(f!==!0)return;let b=this.sizes;this.gt.xs=d>=b.sm,this.gt.sm=d>=b.md,this.gt.md=d>=b.lg,this.gt.lg=d>=b.xl,this.lt.sm=d{as.forEach(d=>{f[d]!==void 0&&(l[d]=f[d])})},this.setDebounce=f=>{u=f};const c=()=>{const f=getComputedStyle(document.body);f.getPropertyValue("--q-size-sm")&&as.forEach(d=>{this.sizes[d]=parseInt(f.getPropertyValue(`--q-size-${d}`),10)}),this.setSizes=d=>{as.forEach(p=>{d[p]&&(this.sizes[p]=d[p])}),this.__update(!0)},this.setDebounce=d=>{o!==void 0&&a.removeEventListener("resize",o,Sc),o=d>0?kp(this.__update,d):this.__update,a.addEventListener("resize",o,Sc)},this.setDebounce(u),Object.keys(l).length>0?(this.setSizes(l),l=void 0):this.__update(),s===!0&&this.name==="xs"&&document.body.classList.add("screen--xs")};pn.value===!0?t.push(c):c()}}),Qe=zi({isActive:!1,mode:!1},{__media:void 0,set(e){Qe.mode=e,e==="auto"?(Qe.__media===void 0&&(Qe.__media=window.matchMedia("(prefers-color-scheme: dark)"),Qe.__updateMedia=()=>{Qe.set("auto")},Qe.__media.addListener(Qe.__updateMedia)),e=Qe.__media.matches):Qe.__media!==void 0&&(Qe.__media.removeListener(Qe.__updateMedia),Qe.__media=void 0),Qe.isActive=e===!0,document.body.classList.remove(`body--${e===!0?"light":"dark"}`),document.body.classList.add(`body--${e===!0?"dark":"light"}`)},toggle(){Qe.set(Qe.isActive===!1)},install({$q:e,onSSRHydrated:t,ssrContext:n}){const{dark:a}=e.config;if(e.dark=this,this.__installed===!0&&a===void 0)return;this.isActive=a===!0;const r=a!==void 0?a:!1;if(pn.value===!0){const i=o=>{this.__fromSSR=o},s=this.set;this.set=i,i(r),t.push(()=>{this.set=s,this.set(this.__fromSSR)})}else this.set(r)}}),wp=()=>!0;function nC(e){return typeof e=="string"&&e!==""&&e!=="/"&&e!=="#/"}function aC(e){return e.startsWith("#")===!0&&(e=e.substring(1)),e.startsWith("/")===!1&&(e="/"+e),e.endsWith("/")===!0&&(e=e.substring(0,e.length-1)),"#"+e}function rC(e){if(e.backButtonExit===!1)return()=>!1;if(e.backButtonExit==="*")return wp;const t=["#/"];return Array.isArray(e.backButtonExit)===!0&&t.push(...e.backButtonExit.filter(nC).map(aC)),()=>t.includes(window.location.hash)}const to={__history:[],add:er,remove:er,install({$q:e}){if(this.__installed===!0)return;const{cordova:t,capacitor:n}=Fe.is;if(t!==!0&&n!==!0)return;const a=e.config[t===!0?"cordova":"capacitor"];if(a!==void 0&&a.backButton===!1||n===!0&&(window.Capacitor===void 0||window.Capacitor.Plugins.App===void 0))return;this.add=s=>{s.condition===void 0&&(s.condition=wp),this.__history.push(s)},this.remove=s=>{const o=this.__history.indexOf(s);o>=0&&this.__history.splice(o,1)};const r=rC(Object.assign({backButtonExit:!0},a)),i=()=>{if(this.__history.length){const s=this.__history[this.__history.length-1];s.condition()===!0&&(this.__history.pop(),s.handler())}else r()===!0?navigator.app.exitApp():window.history.back()};t===!0?document.addEventListener("deviceready",()=>{document.addEventListener("backbutton",i,!1)}):window.Capacitor.Plugins.App.addListener("backButton",i)}},Ec={isoName:"en-US",nativeName:"English (US)",label:{clear:"Clear",ok:"OK",cancel:"Cancel",close:"Close",set:"Set",select:"Select",reset:"Reset",remove:"Remove",update:"Update",create:"Create",search:"Search",filter:"Filter",refresh:"Refresh",expand:e=>e?`Expand "${e}"`:"Expand",collapse:e=>e?`Collapse "${e}"`:"Collapse"},date:{days:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),daysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),firstDayOfWeek:0,format24h:!1,pluralDay:"days"},table:{noData:"No data available",noResults:"No matching records found",loading:"Loading...",selectedRecords:e=>e===1?"1 record selected.":(e===0?"No":e)+" records selected.",recordsPerPage:"Records per page:",allRows:"All",pagination:(e,t,n)=>e+"-"+t+" of "+n,columns:"Columns"},editor:{url:"URL",bold:"Bold",italic:"Italic",strikethrough:"Strikethrough",underline:"Underline",unorderedList:"Unordered List",orderedList:"Ordered List",subscript:"Subscript",superscript:"Superscript",hyperlink:"Hyperlink",toggleFullscreen:"Toggle Fullscreen",quote:"Quote",left:"Left align",center:"Center align",right:"Right align",justify:"Justify align",print:"Print",outdent:"Decrease indentation",indent:"Increase indentation",removeFormat:"Remove formatting",formatting:"Formatting",fontSize:"Font Size",align:"Align",hr:"Insert Horizontal Rule",undo:"Undo",redo:"Redo",heading1:"Heading 1",heading2:"Heading 2",heading3:"Heading 3",heading4:"Heading 4",heading5:"Heading 5",heading6:"Heading 6",paragraph:"Paragraph",code:"Code",size1:"Very small",size2:"A bit small",size3:"Normal",size4:"Medium-large",size5:"Big",size6:"Very big",size7:"Maximum",defaultFont:"Default Font",viewSource:"View Source"},tree:{noNodes:"No nodes available",noResults:"No matching nodes found"}};function Cc(){const e=Array.isArray(navigator.languages)===!0&&navigator.languages.length>0?navigator.languages[0]:navigator.language;if(typeof e=="string")return e.split(/[-_]/).map((t,n)=>n===0?t.toLowerCase():n>1||t.length<4?t.toUpperCase():t[0].toUpperCase()+t.slice(1).toLowerCase()).join("-")}const rn=zi({__langPack:{}},{getLocale:Cc,set(e=Ec,t){const n={...e,rtl:e.rtl===!0,getLocale:Cc};{const a=document.documentElement;a.setAttribute("dir",n.rtl===!0?"rtl":"ltr"),a.setAttribute("lang",n.isoName),n.set=rn.set,Object.assign(rn.__langPack,n),rn.props=n,rn.isoName=n.isoName,rn.nativeName=n.nativeName}},install({$q:e,lang:t,ssrContext:n}){e.lang=rn.__langPack,this.__installed===!0?t!==void 0&&this.set(t):this.set(t||Ec)}});let _p=!1;function iC(e){_p=e.isComposing===!0}function Sp(e){return _p===!0||e!==Object(e)||e.isComposing===!0||e.qKeyEvent===!0}function tr(e,t){return Sp(e)===!0?!1:[].concat(t).includes(e.keyCode)}function sC(e){if(e.ios===!0)return"ios";if(e.android===!0)return"android"}function oC({is:e,has:t,within:n},a){const r=[e.desktop===!0?"desktop":"mobile",`${t.touch===!1?"no-":""}touch`];if(e.mobile===!0){const i=sC(e);i!==void 0&&r.push("platform-"+i)}if(e.nativeMobile===!0){const i=e.nativeMobileWrapper;r.push(i),r.push("native-mobile"),e.ios===!0&&(a[i]===void 0||a[i].iosStatusBarPadding!==!1)&&r.push("q-ios-padding")}else e.electron===!0?r.push("electron"):e.bex===!0&&r.push("bex");return n.iframe===!0&&r.push("within-iframe"),r}function lC(){const e=document.body.className;let t=e;Oi!==void 0&&(t=t.replace("desktop","platform-ios mobile")),Fe.has.touch===!0&&(t=t.replace("no-touch","touch")),Fe.within.iframe===!0&&(t+=" within-iframe"),e!==t&&(document.body.className=t)}function uC(e){for(const t in e)pm(t,e[t])}const cC={install(e){if(this.__installed!==!0){if(pn.value===!0)lC();else{const{$q:t}=e;t.config.brand!==void 0&&uC(t.config.brand);const n=oC(Fe,t.config);document.body.classList.add.apply(document.body.classList,n)}Fe.is.ios===!0&&document.body.addEventListener("touchstart",er),window.addEventListener("keydown",iC,!0)}}},dC={name:"material-icons",type:{positive:"check_circle",negative:"warning",info:"info",warning:"priority_high"},arrow:{up:"arrow_upward",right:"arrow_forward",down:"arrow_downward",left:"arrow_back",dropdown:"arrow_drop_down"},chevron:{left:"chevron_left",right:"chevron_right"},colorPicker:{spectrum:"gradient",tune:"tune",palette:"style"},pullToRefresh:{icon:"refresh"},carousel:{left:"chevron_left",right:"chevron_right",up:"keyboard_arrow_up",down:"keyboard_arrow_down",navigationIcon:"lens"},chip:{remove:"cancel",selected:"check"},datetime:{arrowLeft:"chevron_left",arrowRight:"chevron_right",now:"access_time",today:"today"},editor:{bold:"format_bold",italic:"format_italic",strikethrough:"strikethrough_s",underline:"format_underlined",unorderedList:"format_list_bulleted",orderedList:"format_list_numbered",subscript:"vertical_align_bottom",superscript:"vertical_align_top",hyperlink:"link",toggleFullscreen:"fullscreen",quote:"format_quote",left:"format_align_left",center:"format_align_center",right:"format_align_right",justify:"format_align_justify",print:"print",outdent:"format_indent_decrease",indent:"format_indent_increase",removeFormat:"format_clear",formatting:"text_format",fontSize:"format_size",align:"format_align_left",hr:"remove",undo:"undo",redo:"redo",heading:"format_size",code:"code",size:"format_size",font:"font_download",viewSource:"code"},expansionItem:{icon:"keyboard_arrow_down",denseIcon:"arrow_drop_down"},fab:{icon:"add",activeIcon:"close"},field:{clear:"cancel",error:"error"},pagination:{first:"first_page",prev:"keyboard_arrow_left",next:"keyboard_arrow_right",last:"last_page"},rating:{icon:"grade"},stepper:{done:"check",active:"edit",error:"warning"},tabs:{left:"chevron_left",right:"chevron_right",up:"keyboard_arrow_up",down:"keyboard_arrow_down"},table:{arrowUp:"arrow_upward",warning:"warning",firstPage:"first_page",prevPage:"chevron_left",nextPage:"chevron_right",lastPage:"last_page"},tree:{icon:"play_arrow"},uploader:{done:"done",clear:"clear",add:"add_box",upload:"cloud_upload",removeQueue:"clear_all",removeUploaded:"done_all"}},ii=zi({iconMapFn:null,__icons:{}},{set(e,t){const n={...e,rtl:e.rtl===!0};n.set=ii.set,Object.assign(ii.__icons,n)},install({$q:e,iconSet:t,ssrContext:n}){e.config.iconMapFn!==void 0&&(this.iconMapFn=e.config.iconMapFn),e.iconSet=this.__icons,mr(e,"iconMapFn",()=>this.iconMapFn,a=>{this.iconMapFn=a}),this.__installed===!0?t!==void 0&&this.set(t):this.set(t||dC)}}),mC="_q_",TP="_q_s_",AP="_q_l_",jP="_q_pc_",fC="_q_fo_",NP="_q_tabs_",MP=()=>{},si={};let Ep=!1;function gC(){Ep=!0}function rs(e,t){if(e===t)return!0;if(e!==null&&t!==null&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;let n,a;if(e.constructor===Array){if(n=e.length,n!==t.length)return!1;for(a=n;a--!==0;)if(rs(e[a],t[a])!==!0)return!1;return!0}if(e.constructor===Map){if(e.size!==t.size)return!1;for(a=e.entries().next();a.done!==!0;){if(t.has(a.value[0])!==!0)return!1;a=a.next()}for(a=e.entries().next();a.done!==!0;){if(rs(a.value[1],t.get(a.value[0]))!==!0)return!1;a=a.next()}return!0}if(e.constructor===Set){if(e.size!==t.size)return!1;for(a=e.entries().next();a.done!==!0;){if(t.has(a.value[0])!==!0)return!1;a=a.next()}return!0}if(e.buffer!=null&&e.buffer.constructor===ArrayBuffer){if(n=e.length,n!==t.length)return!1;for(a=n;a--!==0;)if(e[a]!==t[a])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();const r=Object.keys(e).filter(i=>e[i]!==void 0);if(n=r.length,n!==Object.keys(t).filter(i=>t[i]!==void 0).length)return!1;for(a=n;a--!==0;){const i=r[a];if(rs(e[i],t[i])!==!0)return!1}return!0}return e!==e&&t!==t}function Mt(e){return e!==null&&typeof e=="object"&&Array.isArray(e)!==!0}function IP(e){return Object.prototype.toString.call(e)==="[object Date]"}function VP(e){return typeof e=="number"&&isFinite(e)}const xc=[eo,cC,Qe,tC,to,rn,ii];function Cp(e,t){const n=um(e);n.config.globalProperties=t.config.globalProperties;const{reload:a,...r}=t._context;return Object.assign(n._context,r),n}function Pc(e,t){t.forEach(n=>{n.install(e),n.__installed=!0})}function pC(e,t,n){e.config.globalProperties.$q=n.$q,e.provide(mC,n.$q),Pc(n,xc),t.components!==void 0&&Object.values(t.components).forEach(a=>{Mt(a)===!0&&a.name!==void 0&&e.component(a.name,a)}),t.directives!==void 0&&Object.values(t.directives).forEach(a=>{Mt(a)===!0&&a.name!==void 0&&e.directive(a.name,a)}),t.plugins!==void 0&&Pc(n,Object.values(t.plugins).filter(a=>typeof a.install=="function"&&xc.includes(a)===!1)),pn.value===!0&&(n.$q.onSSRHydrated=()=>{n.onSSRHydrated.forEach(a=>{a()}),n.$q.onSSRHydrated=()=>{}})}const hC=function(e,t={}){const n={version:"2.10.0"};Ep===!1?(t.config!==void 0&&Object.assign(si,t.config),n.config={...si},gC()):n.config=t.config||{},pC(e,t,{parentApp:e,$q:n,lang:t.lang,iconSet:t.iconSet,onSSRHydrated:[]})},bC={version:"2.10.0",install:hC,lang:rn,iconSet:ii},no={xs:18,sm:24,md:32,lg:38,xl:46},fr={size:String};function gr(e,t=no){return j(()=>e.size!==void 0?{fontSize:e.size in t?`${t[e.size]}px`:e.size}:null)}const tt=e=>qt(ir(e)),yC=e=>qt(e);function Ct(e,t){return e!==void 0&&e()||t}function RP(e,t){if(e!==void 0){const n=e();if(n!=null)return n.slice()}return t}function Dn(e,t){return e!==void 0?t.concat(e()):t}function vC(e,t){return e===void 0?t:t!==void 0?t.concat(e()):e()}function OP(e,t,n,a,r,i){t.key=a+r;const s=z(e,t,n);return r===!0?Hd(s,i()):s}const Dc="0 0 24 24",Lc=e=>e,is=e=>`ionicons ${e}`,xp={"mdi-":e=>`mdi ${e}`,"icon-":Lc,"bt-":e=>`bt ${e}`,"eva-":e=>`eva ${e}`,"ion-md":is,"ion-ios":is,"ion-logo":is,"iconfont ":Lc,"ti-":e=>`themify-icon ${e}`,"bi-":e=>`bootstrap-icons ${e}`},Pp={o_:"-outlined",r_:"-round",s_:"-sharp"},Dp={sym_o_:"-outlined",sym_r_:"-rounded",sym_s_:"-sharp"},kC=new RegExp("^("+Object.keys(xp).join("|")+")"),wC=new RegExp("^("+Object.keys(Pp).join("|")+")"),Tc=new RegExp("^("+Object.keys(Dp).join("|")+")"),_C=/^[Mm]\s?[-+]?\.?\d/,SC=/^img:/,EC=/^svguse:/,CC=/^ion-/,xC=/^(fa-(solid|regular|light|brands|duotone|thin)|[lf]a[srlbdk]?) /,Gt=tt({name:"QIcon",props:{...fr,tag:{type:String,default:"i"},name:String,color:String,left:Boolean,right:Boolean},setup(e,{slots:t}){const{proxy:{$q:n}}=Le(),a=gr(e),r=j(()=>"q-icon"+(e.left===!0?" on-left":"")+(e.right===!0?" on-right":"")+(e.color!==void 0?` text-${e.color}`:"")),i=j(()=>{let s,o=e.name;if(o==="none"||!o)return{none:!0};if(n.iconMapFn!==null){const c=n.iconMapFn(o);if(c!==void 0)if(c.icon!==void 0){if(o=c.icon,o==="none"||!o)return{none:!0}}else return{cls:c.cls,content:c.content!==void 0?c.content:" "}}if(_C.test(o)===!0){const[c,f=Dc]=o.split("|");return{svg:!0,viewBox:f,nodes:c.split("&&").map(d=>{const[p,b,C]=d.split("@@");return z("path",{style:b,d:p,transform:C})})}}if(SC.test(o)===!0)return{img:!0,src:o.substring(4)};if(EC.test(o)===!0){const[c,f=Dc]=o.split("|");return{svguse:!0,src:c.substring(7),viewBox:f}}let l=" ";const u=o.match(kC);if(u!==null)s=xp[u[1]](o);else if(xC.test(o)===!0)s=o;else if(CC.test(o)===!0)s=`ionicons ion-${n.platform.is.ios===!0?"ios":"md"}${o.substring(3)}`;else if(Tc.test(o)===!0){s="notranslate material-symbols";const c=o.match(Tc);c!==null&&(o=o.substring(6),s+=Dp[c[1]]),l=o}else{s="notranslate material-icons";const c=o.match(wC);c!==null&&(o=o.substring(2),s+=Pp[c[1]]),l=o}return{cls:s,content:l}});return()=>{const s={class:r.value,style:a.value,"aria-hidden":"true",role:"presentation"};return i.value.none===!0?z(e.tag,s,Ct(t.default)):i.value.img===!0?z("span",s,Dn(t.default,[z("img",{src:i.value.src})])):i.value.svg===!0?z("span",s,Dn(t.default,[z("svg",{viewBox:i.value.viewBox||"0 0 24 24"},i.value.nodes)])):i.value.svguse===!0?z("span",s,Dn(t.default,[z("svg",{viewBox:i.value.viewBox},[z("use",{"xlink:href":i.value.src})])])):(i.value.cls!==void 0&&(s.class+=" "+i.value.cls),z(e.tag,s,Dn(t.default,[i.value.content])))}}}),PC=tt({name:"QAvatar",props:{...fr,fontSize:String,color:String,textColor:String,icon:String,square:Boolean,rounded:Boolean},setup(e,{slots:t}){const n=gr(e),a=j(()=>"q-avatar"+(e.color?` bg-${e.color}`:"")+(e.textColor?` text-${e.textColor} q-chip--colored`:"")+(e.square===!0?" q-avatar--square":e.rounded===!0?" rounded-borders":"")),r=j(()=>e.fontSize?{fontSize:e.fontSize}:null);return()=>{const i=e.icon!==void 0?[z(Gt,{name:e.icon})]:void 0;return z("div",{class:a.value,style:n.value},[z("div",{class:"q-avatar__content row flex-center overflow-hidden",style:r.value},vC(t.default,i))])}}}),DC={size:{type:[Number,String],default:"1em"},color:String};function LC(e){return{cSize:j(()=>e.size in no?`${no[e.size]}px`:e.size),classes:j(()=>"q-spinner"+(e.color?` text-${e.color}`:""))}}const nr=tt({name:"QSpinner",props:{...DC,thickness:{type:Number,default:5}},setup(e){const{cSize:t,classes:n}=LC(e);return()=>z("svg",{class:n.value+" q-spinner-mat",width:t.value,height:t.value,viewBox:"25 25 50 50"},[z("circle",{class:"path",cx:"50",cy:"50",r:"20",fill:"none",stroke:"currentColor","stroke-width":e.thickness,"stroke-miterlimit":"10"})])}});function ao(e,t){const n=e.style;for(const a in t)n[a]=t[a]}function TC(e){if(e==null)return;if(typeof e=="string")try{return document.querySelector(e)||void 0}catch{return}const t=An(e);if(t)return t.$el||t}function AC(e,t){if(e==null||e.contains(t)===!0)return!0;for(let n=e.nextElementSibling;n!==null;n=n.nextElementSibling)if(n.contains(t))return!0;return!1}function jC(e,t=250){let n=!1,a;return function(){return n===!1&&(n=!0,setTimeout(()=>{n=!1},t),a=e.apply(this,arguments)),a}}function Ac(e,t,n,a){n.modifiers.stop===!0&&ri(e);const r=n.modifiers.color;let i=n.modifiers.center;i=i===!0||a===!0;const s=document.createElement("span"),o=document.createElement("span"),l=QE(e),{left:u,top:c,width:f,height:d}=t.getBoundingClientRect(),p=Math.sqrt(f*f+d*d),b=p/2,C=`${(f-p)/2}px`,x=i?C:`${l.left-u-b}px`,y=`${(d-p)/2}px`,h=i?y:`${l.top-c-b}px`;o.className="q-ripple__inner",ao(o,{height:`${p}px`,width:`${p}px`,transform:`translate3d(${x},${h},0) scale3d(.2,.2,1)`,opacity:0}),s.className=`q-ripple${r?" text-"+r:""}`,s.setAttribute("dir","ltr"),s.appendChild(o),t.appendChild(s);const _=()=>{s.remove(),clearTimeout(w)};n.abort.push(_);let w=setTimeout(()=>{o.classList.add("q-ripple__inner--enter"),o.style.transform=`translate3d(${C},${y},0) scale3d(1,1,1)`,o.style.opacity=.2,w=setTimeout(()=>{o.classList.remove("q-ripple__inner--enter"),o.classList.add("q-ripple__inner--leave"),o.style.opacity=0,w=setTimeout(()=>{s.remove(),n.abort.splice(n.abort.indexOf(_),1)},275)},250)},50)}function jc(e,{modifiers:t,value:n,arg:a}){const r=Object.assign({},e.cfg.ripple,t,n);e.modifiers={early:r.early===!0,stop:r.stop===!0,center:r.center===!0,color:r.color||a,keyCodes:[].concat(r.keyCodes||13)}}const NC=yC({name:"ripple",beforeMount(e,t){const n=t.instance.$.appContext.config.globalProperties.$q.config||{};if(n.ripple===!1)return;const a={cfg:n,enabled:t.value!==!1,modifiers:{},abort:[],start(r){a.enabled===!0&&r.qSkipRipple!==!0&&r.type===(a.modifiers.early===!0?"pointerdown":"click")&&Ac(r,e,a,r.qKeyEvent===!0)},keystart:jC(r=>{a.enabled===!0&&r.qSkipRipple!==!0&&tr(r,a.modifiers.keyCodes)===!0&&r.type===`key${a.modifiers.early===!0?"down":"up"}`&&Ac(r,e,a,!0)},300)};jc(a,t),e.__qripple=a,XE(a,"main",[[e,"pointerdown","start","passive"],[e,"click","start","passive"],[e,"keydown","keystart","passive"],[e,"keyup","keystart","passive"]])},updated(e,t){if(t.oldValue!==t.value){const n=e.__qripple;n!==void 0&&(n.enabled=t.value!==!1,n.enabled===!0&&Object(t.value)===t.value&&jc(n,t))}},beforeUnmount(e){const t=e.__qripple;t!==void 0&&(t.abort.forEach(n=>{n()}),eC(t,"main"),delete e._qripple)}}),Lp={left:"start",center:"center",right:"end",between:"between",around:"around",evenly:"evenly",stretch:"stretch"},MC=Object.keys(Lp),Tp={align:{type:String,validator:e=>MC.includes(e)}};function Ap(e){return j(()=>{const t=e.align===void 0?e.vertical===!0?"stretch":"left":e.align;return`${e.vertical===!0?"items":"justify"}-${Lp[t]}`})}function qr(e){if(Object(e.$parent)===e.$parent)return e.$parent;let{parent:t}=e.$;for(;Object(t)===t;){if(Object(t.proxy)===t.proxy)return t.proxy;t=t.parent}}function jp(e,t){typeof t.type=="symbol"?Array.isArray(t.children)===!0&&t.children.forEach(n=>{jp(e,n)}):e.add(t)}function zP(e){const t=new Set;return e.forEach(n=>{jp(t,n)}),Array.from(t)}function Np(e){return e.appContext.config.globalProperties.$router!==void 0}function Mp(e){return e.isUnmounted===!0||e.isDeactivated===!0}function Nc(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}function Mc(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function IC(e,t){for(const n in t){const a=t[n],r=e[n];if(typeof a=="string"){if(a!==r)return!1}else if(Array.isArray(r)===!1||r.length!==a.length||a.some((i,s)=>i!==r[s]))return!1}return!0}function Ic(e,t){return Array.isArray(t)===!0?e.length===t.length&&e.every((n,a)=>n===t[a]):e.length===1&&e[0]===t}function VC(e,t){return Array.isArray(e)===!0?Ic(e,t):Array.isArray(t)===!0?Ic(t,e):e===t}function RC(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(VC(e[n],t[n])===!1)return!1;return!0}const OC={to:[String,Object],replace:Boolean,exact:Boolean,activeClass:{type:String,default:"q-router-link--active"},exactActiveClass:{type:String,default:"q-router-link--exact-active"},href:String,target:String,disable:Boolean};function zC({fallbackTag:e,useDisableForRouterLinkProps:t=!0}={}){const n=Le(),{props:a,proxy:r,emit:i}=n,s=Np(n),o=j(()=>a.disable!==!0&&a.href!==void 0),l=j(t===!0?()=>s===!0&&a.disable!==!0&&o.value!==!0&&a.to!==void 0&&a.to!==null&&a.to!=="":()=>s===!0&&o.value!==!0&&a.to!==void 0&&a.to!==null&&a.to!==""),u=j(()=>l.value===!0?h(a.to):null),c=j(()=>u.value!==null),f=j(()=>o.value===!0||c.value===!0),d=j(()=>a.type==="a"||f.value===!0?"a":a.tag||e||"div"),p=j(()=>o.value===!0?{href:a.href,target:a.target}:c.value===!0?{href:u.value.href,target:a.target}:{}),b=j(()=>{if(c.value===!1)return-1;const{matched:E}=u.value,{length:S}=E,P=E[S-1];if(P===void 0)return-1;const D=r.$route.matched;if(D.length===0)return-1;const N=D.findIndex(Mc.bind(null,P));if(N>-1)return N;const V=Nc(E[S-2]);return S>1&&Nc(P)===V&&D[D.length-1].path!==V?D.findIndex(Mc.bind(null,E[S-2])):N}),C=j(()=>c.value===!0&&b.value!==-1&&IC(r.$route.params,u.value.params)),x=j(()=>C.value===!0&&b.value===r.$route.matched.length-1&&RC(r.$route.params,u.value.params)),y=j(()=>c.value===!0?x.value===!0?` ${a.exactActiveClass} ${a.activeClass}`:a.exact===!0?"":C.value===!0?` ${a.activeClass}`:"":"");function h(E){try{return r.$router.resolve(E)}catch{}return null}function _(E,{returnRouterError:S,to:P=a.to,replace:D=a.replace}={}){if(a.disable===!0)return E.preventDefault(),Promise.resolve(!1);if(E.metaKey||E.altKey||E.ctrlKey||E.shiftKey||E.button!==void 0&&E.button!==0||a.target==="_blank")return Promise.resolve(!1);E.preventDefault();const N=r.$router[D===!0?"replace":"push"](P);return S===!0?N:N.then(()=>{}).catch(()=>{})}function w(E){if(c.value===!0){const S=P=>_(E,P);i("click",E,S),E.defaultPrevented!==!0&&S()}else i("click",E)}return{hasRouterLink:c,hasHrefLink:o,hasLink:f,linkTag:d,resolvedLink:u,linkIsActive:C,linkIsExactActive:x,linkClass:y,linkAttrs:p,getLink:h,navigateToRouterLink:_,navigateOnClick:w}}const Vc={none:0,xs:4,sm:8,md:16,lg:24,xl:32},FC={xs:8,sm:10,md:14,lg:20,xl:24},BC=["button","submit","reset"],HC=/[^\s]\/[^\s]/,$C=["flat","outline","push","unelevated"],Ip=(e,t)=>e.flat===!0?"flat":e.outline===!0?"outline":e.push===!0?"push":e.unelevated===!0?"unelevated":t,FP=e=>{const t=Ip(e);return t!==void 0?{[t]:!0}:{}},qC={...fr,...OC,type:{type:String,default:"button"},label:[Number,String],icon:String,iconRight:String,...$C.reduce((e,t)=>(e[t]=Boolean)&&e,{}),square:Boolean,round:Boolean,rounded:Boolean,glossy:Boolean,size:String,fab:Boolean,fabMini:Boolean,padding:String,color:String,textColor:String,noCaps:Boolean,noWrap:Boolean,dense:Boolean,tabindex:[Number,String],ripple:{type:[Boolean,Object],default:!0},align:{...Tp.align,default:"center"},stack:Boolean,stretch:Boolean,loading:{type:Boolean,default:null},disable:Boolean};function KC(e){const t=gr(e,FC),n=Ap(e),{hasRouterLink:a,hasLink:r,linkTag:i,linkAttrs:s,navigateOnClick:o}=zC({fallbackTag:"button"}),l=j(()=>{const x=e.fab===!1&&e.fabMini===!1?t.value:{};return e.padding!==void 0?Object.assign({},x,{padding:e.padding.split(/\s+/).map(y=>y in Vc?Vc[y]+"px":y).join(" "),minWidth:"0",minHeight:"0"}):x}),u=j(()=>e.rounded===!0||e.fab===!0||e.fabMini===!0),c=j(()=>e.disable!==!0&&e.loading!==!0),f=j(()=>c.value===!0?e.tabindex||0:-1),d=j(()=>Ip(e,"standard")),p=j(()=>{const x={tabindex:f.value};return r.value===!0?Object.assign(x,s.value):BC.includes(e.type)===!0&&(x.type=e.type),i.value==="a"?(e.disable===!0?x["aria-disabled"]="true":x.href===void 0&&(x.role="button"),a.value!==!0&&HC.test(e.type)===!0&&(x.type=e.type)):e.disable===!0&&(x.disabled="",x["aria-disabled"]="true"),e.loading===!0&&e.percentage!==void 0&&Object.assign(x,{role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":e.percentage}),x}),b=j(()=>{let x;e.color!==void 0?e.flat===!0||e.outline===!0?x=`text-${e.textColor||e.color}`:x=`bg-${e.color} text-${e.textColor||"white"}`:e.textColor&&(x=`text-${e.textColor}`);const y=e.round===!0?"round":`rectangle${u.value===!0?" q-btn--rounded":e.square===!0?" q-btn--square":""}`;return`q-btn--${d.value} q-btn--${y}`+(x!==void 0?" "+x:"")+(c.value===!0?" q-btn--actionable q-focusable q-hoverable":e.disable===!0?" disabled":"")+(e.fab===!0?" q-btn--fab":e.fabMini===!0?" q-btn--fab-mini":"")+(e.noCaps===!0?" q-btn--no-uppercase":"")+(e.dense===!0?" q-btn--dense":"")+(e.stretch===!0?" no-border-radius self-stretch":"")+(e.glossy===!0?" glossy":"")+(e.square?" q-btn--square":"")}),C=j(()=>n.value+(e.stack===!0?" column":" row")+(e.noWrap===!0?" no-wrap text-no-wrap":"")+(e.loading===!0?" q-btn__content--hidden":""));return{classes:b,style:l,innerClasses:C,attributes:p,hasLink:r,linkTag:i,navigateOnClick:o,isActionable:c}}const{passiveCapture:mt}=it;let Un=null,Jn=null,Yn=null;const ro=tt({name:"QBtn",props:{...qC,percentage:Number,darkPercentage:Boolean,onTouchstart:[Function,Array]},emits:["click","keydown","mousedown","keyup"],setup(e,{slots:t,emit:n}){const{proxy:a}=Le(),{classes:r,style:i,innerClasses:s,attributes:o,hasLink:l,linkTag:u,navigateOnClick:c,isActionable:f}=KC(e),d=se(null),p=se(null);let b=null,C,x;const y=j(()=>e.label!==void 0&&e.label!==null&&e.label!==""),h=j(()=>e.disable===!0||e.ripple===!1?!1:{keyCodes:l.value===!0?[13,32]:[13],...e.ripple===!0?{}:e.ripple}),_=j(()=>({center:e.round})),w=j(()=>{const I=Math.max(0,Math.min(100,e.percentage));return I>0?{transition:"transform 0.6s",transform:`translateX(${I-100}%)`}:{}}),E=j(()=>{if(e.loading===!0)return{onMousedown:K,onTouchstart:K,onClick:K,onKeydown:K,onKeyup:K};if(f.value===!0){const I={onClick:P,onKeydown:D,onMousedown:V};if(a.$q.platform.has.touch===!0){const ee=e.onTouchstart!==void 0?"":"Passive";I[`onTouchstart${ee}`]=N}return I}return{onClick:pt}}),S=j(()=>({ref:d,class:"q-btn q-btn-item non-selectable no-outline "+r.value,style:i.value,...o.value,...E.value}));function P(I){if(d.value!==null){if(I!==void 0){if(I.defaultPrevented===!0)return;const ee=document.activeElement;if(e.type==="submit"&&ee!==document.body&&d.value.contains(ee)===!1&&ee.contains(d.value)===!1){d.value.focus();const ae=()=>{document.removeEventListener("keydown",pt,!0),document.removeEventListener("keyup",ae,mt),d.value!==null&&d.value.removeEventListener("blur",ae,mt)};document.addEventListener("keydown",pt,!0),document.addEventListener("keyup",ae,mt),d.value.addEventListener("blur",ae,mt)}}c(I)}}function D(I){d.value!==null&&(n("keydown",I),tr(I,[13,32])===!0&&Jn!==d.value&&(Jn!==null&&M(),I.defaultPrevented!==!0&&(d.value.focus(),Jn=d.value,d.value.classList.add("q-btn--active"),document.addEventListener("keyup",F,!0),d.value.addEventListener("blur",F,mt)),pt(I)))}function N(I){d.value!==null&&(n("touchstart",I),I.defaultPrevented!==!0&&(Un!==d.value&&(Un!==null&&M(),Un=d.value,b=I.target,b.addEventListener("touchcancel",F,mt),b.addEventListener("touchend",F,mt)),C=!0,clearTimeout(x),x=setTimeout(()=>{C=!1},200)))}function V(I){d.value!==null&&(I.qSkipRipple=C===!0,n("mousedown",I),I.defaultPrevented!==!0&&Yn!==d.value&&(Yn!==null&&M(),Yn=d.value,d.value.classList.add("q-btn--active"),document.addEventListener("mouseup",F,mt)))}function F(I){if(d.value!==null&&!(I!==void 0&&I.type==="blur"&&document.activeElement===d.value)){if(I!==void 0&&I.type==="keyup"){if(Jn===d.value&&tr(I,[13,32])===!0){const ee=new MouseEvent("click",I);ee.qKeyEvent=!0,I.defaultPrevented===!0&&on(ee),I.cancelBubble===!0&&ri(ee),d.value.dispatchEvent(ee),pt(I),I.qKeyEvent=!0}n("keyup",I)}M()}}function M(I){const ee=p.value;I!==!0&&(Un===d.value||Yn===d.value)&&ee!==null&&ee!==document.activeElement&&(ee.setAttribute("tabindex",-1),ee.focus()),Un===d.value&&(b!==null&&(b.removeEventListener("touchcancel",F,mt),b.removeEventListener("touchend",F,mt)),Un=b=null),Yn===d.value&&(document.removeEventListener("mouseup",F,mt),Yn=null),Jn===d.value&&(document.removeEventListener("keyup",F,!0),d.value!==null&&d.value.removeEventListener("blur",F,mt),Jn=null),d.value!==null&&d.value.classList.remove("q-btn--active")}function K(I){pt(I),I.qSkipRipple=!0}return kt(()=>{M(!0)}),Object.assign(a,{click:P}),()=>{let I=[];e.icon!==void 0&&I.push(z(Gt,{name:e.icon,left:e.stack===!1&&y.value===!0,role:"img","aria-hidden":"true"})),y.value===!0&&I.push(z("span",{class:"block"},[e.label])),I=Dn(t.default,I),e.iconRight!==void 0&&e.round===!1&&I.push(z(Gt,{name:e.iconRight,right:e.stack===!1&&y.value===!0,role:"img","aria-hidden":"true"}));const ee=[z("span",{class:"q-focus-helper",ref:p})];return e.loading===!0&&e.percentage!==void 0&&ee.push(z("span",{class:"q-btn__progress absolute-full overflow-hidden"+(e.darkPercentage===!0?" q-btn__progress--dark":"")},[z("span",{class:"q-btn__progress-indicator fit block",style:w.value})])),ee.push(z("span",{class:"q-btn__content text-center col items-center q-anchor--skip "+s.value},I)),e.loading!==null&&ee.push(z(Vn,{name:"q-transition--fade"},()=>e.loading===!0?[z("span",{key:"loading",class:"absolute-full flex flex-center"},t.loading!==void 0?t.loading():[z(nr)])]:null)),Hd(z(u.value,S.value,ee),[[NC,h.value,void 0,_.value]])}}});let GC=document.body;function ul(e){const t=document.createElement("div");if(e!==void 0&&(t.id=e),si.globalNodes!==void 0){const n=si.globalNodes.class;n!==void 0&&(t.className=n)}return GC.appendChild(t),t}function Vp(e){e.remove()}let WC=0;const Kr={},Gr={},_t={},Rp={},UC=/^\s*$/,Op=[],cl=["top-left","top-right","bottom-left","bottom-right","top","bottom","left","right","center"],JC=["top-left","top-right","bottom-left","bottom-right"],Xn={positive:{icon:e=>e.iconSet.type.positive,color:"positive"},negative:{icon:e=>e.iconSet.type.negative,color:"negative"},warning:{icon:e=>e.iconSet.type.warning,color:"warning",textColor:"dark"},info:{icon:e=>e.iconSet.type.info,color:"info"},ongoing:{group:!1,timeout:0,spinner:!0,color:"grey-8"}};function zp(e,t,n){if(!e)return xa("parameter required");let a;const r={textColor:"white"};if(e.ignoreDefaults!==!0&&Object.assign(r,Kr),Mt(e)===!1&&(r.type&&Object.assign(r,Xn[r.type]),e={message:e}),Object.assign(r,Xn[e.type||r.type],e),typeof r.icon=="function"&&(r.icon=r.icon(t)),r.spinner?(r.spinner===!0&&(r.spinner=nr),r.spinner=qt(r.spinner)):r.spinner=!1,r.meta={hasMedia:Boolean(r.spinner!==!1||r.icon||r.avatar),hasText:Rc(r.message)||Rc(r.caption)},r.position){if(cl.includes(r.position)===!1)return xa("wrong position",e)}else r.position="bottom";if(r.timeout===void 0)r.timeout=5e3;else{const l=parseInt(r.timeout,10);if(isNaN(l)||l<0)return xa("wrong timeout",e);r.timeout=l}r.timeout===0?r.progress=!1:r.progress===!0&&(r.meta.progressClass="q-notification__progress"+(r.progressClass?` ${r.progressClass}`:""),r.meta.progressStyle={animationDuration:`${r.timeout+1e3}ms`});const i=(Array.isArray(e.actions)===!0?e.actions:[]).concat(e.ignoreDefaults!==!0&&Array.isArray(Kr.actions)===!0?Kr.actions:[]).concat(Xn[e.type]!==void 0&&Array.isArray(Xn[e.type].actions)===!0?Xn[e.type].actions:[]),{closeBtn:s}=r;if(s&&i.push({label:typeof s=="string"?s:t.lang.label.close}),r.actions=i.map(({handler:l,noDismiss:u,...c})=>({flat:!0,...c,onClick:typeof l=="function"?()=>{l(),u!==!0&&o()}:()=>{o()}})),r.multiLine===void 0&&(r.multiLine=r.actions.length>1),Object.assign(r.meta,{class:`q-notification row items-stretch q-notification--${r.multiLine===!0?"multi-line":"standard"}`+(r.color!==void 0?` bg-${r.color}`:"")+(r.textColor!==void 0?` text-${r.textColor}`:"")+(r.classes!==void 0?` ${r.classes}`:""),wrapperClass:"q-notification__wrapper col relative-position border-radius-inherit "+(r.multiLine===!0?"column no-wrap justify-center":"row items-center"),contentClass:"q-notification__content row items-center"+(r.multiLine===!0?"":" col"),leftClass:r.meta.hasText===!0?"additional":"single",attrs:{role:"alert",...r.attrs}}),r.group===!1?(r.group=void 0,r.meta.group=void 0):((r.group===void 0||r.group===!0)&&(r.group=[r.message,r.caption,r.multiline].concat(r.actions.map(l=>`${l.label}*${l.icon}`)).join("|")),r.meta.group=r.group+"|"+r.position),r.actions.length===0?r.actions=void 0:r.meta.actionsClass="q-notification__actions row items-center "+(r.multiLine===!0?"justify-end":"col-auto")+(r.meta.hasMedia===!0?" q-notification__actions--with-media":""),n!==void 0){clearTimeout(n.notif.meta.timer),r.meta.uid=n.notif.meta.uid;const l=_t[r.position].value.indexOf(n.notif);_t[r.position].value[l]=r}else{const l=Gr[r.meta.group];if(l===void 0){if(r.meta.uid=WC++,r.meta.badge=1,["left","right","center"].indexOf(r.position)!==-1)_t[r.position].value.splice(Math.floor(_t[r.position].value.length/2),0,r);else{const u=r.position.indexOf("top")>-1?"unshift":"push";_t[r.position].value[u](r)}r.group!==void 0&&(Gr[r.meta.group]=r)}else{if(clearTimeout(l.meta.timer),r.badgePosition!==void 0){if(JC.includes(r.badgePosition)===!1)return xa("wrong badgePosition",e)}else r.badgePosition=`top-${r.position.indexOf("left")>-1?"right":"left"}`;r.meta.uid=l.meta.uid,r.meta.badge=l.meta.badge+1,r.meta.badgeClass=`q-notification__badge q-notification__badge--${r.badgePosition}`+(r.badgeColor!==void 0?` bg-${r.badgeColor}`:"")+(r.badgeTextColor!==void 0?` text-${r.badgeTextColor}`:"")+(r.badgeClass?` ${r.badgeClass}`:"");const u=_t[r.position].value.indexOf(l);_t[r.position].value[u]=Gr[r.meta.group]=r}}const o=()=>{YC(r),a=void 0};if(r.timeout>0&&(r.meta.timer=setTimeout(()=>{o()},r.timeout+1e3)),r.group!==void 0)return l=>{l!==void 0?xa("trying to update a grouped one which is forbidden",e):o()};if(a={dismiss:o,config:e,notif:r},n!==void 0){Object.assign(n,a);return}return l=>{if(a!==void 0)if(l===void 0)a.dismiss();else{const u=Object.assign({},a.config,l,{group:!1,position:r.position});zp(u,t,a)}}}function YC(e){clearTimeout(e.meta.timer);const t=_t[e.position].value.indexOf(e);if(t!==-1){e.group!==void 0&&delete Gr[e.meta.group];const n=Op[""+e.meta.uid];if(n){const{width:a,height:r}=getComputedStyle(n);n.style.left=`${n.offsetLeft}px`,n.style.width=a,n.style.height=r}_t[e.position].value.splice(t,1),typeof e.onDismiss=="function"&&e.onDismiss()}}function Rc(e){return e!=null&&UC.test(e)!==!0}function xa(e,t){return console.error(`Notify: ${e}`,t),!1}function QC(){return tt({name:"QNotifications",devtools:{hide:!0},setup(){return()=>z("div",{class:"q-notifications"},cl.map(e=>z(py,{key:e,class:Rp[e],tag:"div",name:`q-notification--${e}`},()=>_t[e].value.map(t=>{const n=t.meta,a=[];if(n.hasMedia===!0&&(t.spinner!==!1?a.push(z(t.spinner,{class:"q-notification__spinner q-notification__spinner--"+n.leftClass,color:t.spinnerColor,size:t.spinnerSize})):t.icon?a.push(z(Gt,{class:"q-notification__icon q-notification__icon--"+n.leftClass,name:t.icon,color:t.iconColor,size:t.iconSize,role:"img"})):t.avatar&&a.push(z(PC,{class:"q-notification__avatar q-notification__avatar--"+n.leftClass},()=>z("img",{src:t.avatar,"aria-hidden":"true"})))),n.hasText===!0){let i;const s={class:"q-notification__message col"};if(t.html===!0)s.innerHTML=t.caption?`
${t.message}
${t.caption}
`:t.message;else{const o=[t.message];i=t.caption?[z("div",o),z("div",{class:"q-notification__caption"},[t.caption])]:o}a.push(z("div",s,i))}const r=[z("div",{class:n.contentClass},a)];return t.progress===!0&&r.push(z("div",{key:`${n.uid}|p|${n.badge}`,class:n.progressClass,style:n.progressStyle})),t.actions!==void 0&&r.push(z("div",{class:n.actionsClass},t.actions.map(i=>z(ro,i)))),n.badge>1&&r.push(z("div",{key:`${n.uid}|${n.badge}`,class:t.meta.badgeClass,style:t.badgeStyle},[n.badge])),z("div",{ref:i=>{Op[""+n.uid]=i},key:n.uid,class:n.class,...n.attrs},[z("div",{class:n.wrapperClass},r)])}))))}})}const ZC={setDefaults(e){Mt(e)===!0&&Object.assign(Kr,e)},registerType(e,t){Mt(t)===!0&&(Xn[e]=t)},install({$q:e,parentApp:t}){if(e.notify=this.create=n=>zp(n,e),e.notify.setDefaults=this.setDefaults,e.notify.registerType=this.registerType,e.config.notify!==void 0&&this.setDefaults(e.config.notify),this.__installed!==!0){cl.forEach(a=>{_t[a]=se([]);const r=["left","center","right"].includes(a)===!0?"center":a.indexOf("top")>-1?"top":"bottom",i=a.indexOf("left")>-1?"start":a.indexOf("right")>-1?"end":"center",s=["left","right"].includes(a)?`items-${a==="left"?"start":"end"} justify-center`:a==="center"?"flex-center":`items-${i}`;Rp[a]=`q-notifications__list q-notifications__list--${r} fixed column no-wrap ${s}`});const n=ul("q-notify");Cp(QC(),t).mount(n)}}};function XC(e,t,n){let a;function r(){a!==void 0&&(to.remove(a),a=void 0)}return kt(()=>{e.value===!0&&r()}),{removeFromHistory:r,addToHistory(){a={condition:()=>n.value===!0,handler:t},to.add(a)}}}function ex(){let e;const t=Le();function n(){clearTimeout(e)}return yi(n),kt(n),{removeTimeout:n,registerTimeout(a,r){clearTimeout(e),Mp(t)===!1&&(e=setTimeout(a,r))}}}function tx(){let e;const t=Le();function n(){e=void 0}return yi(n),kt(n),{removeTick:n,registerTick(a){e=a,Xe(()=>{e===a&&(Mp(t)===!1&&e(),e=void 0)})}}}const nx={modelValue:{type:Boolean,default:null},"onUpdate:modelValue":[Function,Array]},ax=["before-show","show","before-hide","hide"];function rx({showing:e,canShow:t,hideOnRouteChange:n,handleShow:a,handleHide:r,processOnMount:i}){const s=Le(),{props:o,emit:l,proxy:u}=s;let c;function f(h){e.value===!0?b(h):d(h)}function d(h){if(o.disable===!0||h!==void 0&&h.qAnchorHandled===!0||t!==void 0&&t(h)!==!0)return;const _=o["onUpdate:modelValue"]!==void 0;_===!0&&(l("update:modelValue",!0),c=h,Xe(()=>{c===h&&(c=void 0)})),(o.modelValue===null||_===!1)&&p(h)}function p(h){e.value!==!0&&(e.value=!0,l("before-show",h),a!==void 0?a(h):l("show",h))}function b(h){if(o.disable===!0)return;const _=o["onUpdate:modelValue"]!==void 0;_===!0&&(l("update:modelValue",!1),c=h,Xe(()=>{c===h&&(c=void 0)})),(o.modelValue===null||_===!1)&&C(h)}function C(h){e.value!==!1&&(e.value=!1,l("before-hide",h),r!==void 0?r(h):l("hide",h))}function x(h){o.disable===!0&&h===!0?o["onUpdate:modelValue"]!==void 0&&l("update:modelValue",!1):h===!0!==e.value&&(h===!0?p:C)(c)}Pe(()=>o.modelValue,x),n!==void 0&&Np(s)===!0&&Pe(()=>u.$route.fullPath,()=>{n.value===!0&&e.value===!0&&b()}),i===!0&&bn(()=>{x(o.modelValue)});const y={show:d,hide:b,toggle:f};return Object.assign(u,y),y}const ix={transitionShow:{type:String,default:"fade"},transitionHide:{type:String,default:"fade"},transitionDuration:{type:[String,Number],default:300}};function BP(e,t){const n=se(t.value);return Pe(t,a=>{Xe(()=>{n.value=a})}),{transition:j(()=>"q-transition--"+(n.value===!0?e.transitionHide:e.transitionShow)),transitionStyle:j(()=>`--q-transition-duration: ${e.transitionDuration}ms`)}}let Ln=[],ar=[];function Fp(e){ar=ar.filter(t=>t!==e)}function sx(e){Fp(e),ar.push(e)}function Oc(e){Fp(e),ar.length===0&&Ln.length>0&&(Ln[Ln.length-1](),Ln=[])}function dl(e){ar.length===0?e():Ln.push(e)}function ox(e){Ln=Ln.filter(t=>t!==e)}const Wr=[];function HP(e){return Wr.find(t=>t.__qPortalInnerRef.value!==null&&t.__qPortalInnerRef.value.contains(e))}function lx(e,t){do{if(e.$options.name==="QMenu"){if(e.hide(t),e.$props.separateClosePopup===!0)return qr(e)}else if(e.__qPortalInnerRef!==void 0){const n=qr(e);return n!==void 0&&n.$options.name==="QPopupProxy"?(e.hide(t),n):e}e=qr(e)}while(e!=null)}function $P(e,t,n){for(;n!==0&&e!==void 0&&e!==null;){if(e.__qPortalInnerRef!==void 0){if(n--,e.$options.name==="QMenu"){e=lx(e,t);continue}e.hide(t)}e=qr(e)}}function ux(e){for(e=e.parent;e!=null;){if(e.type.name==="QGlobalDialog")return!0;if(e.type.name==="QDialog"||e.type.name==="QMenu")return!1;e=e.parent}return!1}function cx(e,t,n,a){const r=se(!1),i=se(!1);let s=null;const o={},l=a===!0&&ux(e);function u(f){if(f===!0){Oc(o),i.value=!0;return}i.value=!1,r.value===!1&&(l===!1&&s===null&&(s=ul()),r.value=!0,Wr.push(e.proxy),sx(o))}function c(f){if(i.value=!1,f!==!0)return;Oc(o),r.value=!1;const d=Wr.indexOf(e.proxy);d!==-1&&Wr.splice(d,1),s!==null&&(Vp(s),s=null)}return or(()=>{c(!0)}),e.proxy.__qPortalInnerRef=t,{showPortal:u,hidePortal:c,portalIsActive:r,portalIsAccessible:i,renderPortal:()=>l===!0?n():r.value===!0?[z(jb,{to:s},n())]:void 0}}const dx=[null,document,document.body,document.scrollingElement,document.documentElement];function qP(e,t){let n=TC(t);if(n===void 0){if(e==null)return window;n=e.closest(".scroll,.scroll-y,.overflow-auto")}return dx.includes(n)?window:n}function mx(e){return e===window?window.pageYOffset||window.scrollY||document.body.scrollTop||0:e.scrollTop}function fx(e){return e===window?window.pageXOffset||window.scrollX||document.body.scrollLeft||0:e.scrollLeft}let xr;function KP(){if(xr!==void 0)return xr;const e=document.createElement("p"),t=document.createElement("div");ao(e,{width:"100%",height:"200px"}),ao(t,{position:"absolute",top:"0px",left:"0px",visibility:"hidden",width:"200px",height:"150px",overflow:"hidden"}),t.appendChild(e),document.body.appendChild(t);const n=e.offsetWidth;t.style.overflow="scroll";let a=e.offsetWidth;return n===a&&(a=t.clientWidth),t.remove(),xr=n-a,xr}function gx(e,t=!0){return!e||e.nodeType!==Node.ELEMENT_NODE?!1:t?e.scrollHeight>e.clientHeight&&(e.classList.contains("scroll")||e.classList.contains("overflow-auto")||["auto","scroll"].includes(window.getComputedStyle(e)["overflow-y"])):e.scrollWidth>e.clientWidth&&(e.classList.contains("scroll")||e.classList.contains("overflow-auto")||["auto","scroll"].includes(window.getComputedStyle(e)["overflow-x"]))}let Pa=0,ss,os,Na,ls=!1,zc,Fc,Qn;function px(e){hx(e)&&pt(e)}function hx(e){if(e.target===document.body||e.target.classList.contains("q-layout__backdrop"))return!0;const t=ZE(e),n=e.shiftKey&&!e.deltaX,a=!n&&Math.abs(e.deltaX)<=Math.abs(e.deltaY),r=n||a?e.deltaY:e.deltaX;for(let i=0;i0&&s.scrollTop+s.clientHeight===s.scrollHeight:r<0&&s.scrollLeft===0?!0:r>0&&s.scrollLeft+s.clientWidth===s.scrollWidth}return!0}function Bc(e){e.target===document&&(document.scrollingElement.scrollTop=document.scrollingElement.scrollTop)}function Pr(e){ls!==!0&&(ls=!0,requestAnimationFrame(()=>{ls=!1;const{height:t}=e.target,{clientHeight:n,scrollTop:a}=document.scrollingElement;(Na===void 0||t!==window.innerHeight)&&(Na=n-t,document.scrollingElement.scrollTop=a),a>Na&&(document.scrollingElement.scrollTop-=Math.ceil((a-Na)/8))}))}function Hc(e){const t=document.body,n=window.visualViewport!==void 0;if(e==="add"){const{overflowY:a,overflowX:r}=window.getComputedStyle(t);ss=fx(window),os=mx(window),zc=t.style.left,Fc=t.style.top,t.style.left=`-${ss}px`,t.style.top=`-${os}px`,r!=="hidden"&&(r==="scroll"||t.scrollWidth>window.innerWidth)&&t.classList.add("q-body--force-scrollbar-x"),a!=="hidden"&&(a==="scroll"||t.scrollHeight>window.innerHeight)&&t.classList.add("q-body--force-scrollbar-y"),t.classList.add("q-body--prevent-scroll"),document.qScrollPrevented=!0,Fe.is.ios===!0&&(n===!0?(window.scrollTo(0,0),window.visualViewport.addEventListener("resize",Pr,it.passiveCapture),window.visualViewport.addEventListener("scroll",Pr,it.passiveCapture),window.scrollTo(0,0)):window.addEventListener("scroll",Bc,it.passiveCapture))}Fe.is.desktop===!0&&Fe.is.mac===!0&&window[`${e}EventListener`]("wheel",px,it.notPassive),e==="remove"&&(Fe.is.ios===!0&&(n===!0?(window.visualViewport.removeEventListener("resize",Pr,it.passiveCapture),window.visualViewport.removeEventListener("scroll",Pr,it.passiveCapture)):window.removeEventListener("scroll",Bc,it.passiveCapture)),t.classList.remove("q-body--prevent-scroll"),t.classList.remove("q-body--force-scrollbar-x"),t.classList.remove("q-body--force-scrollbar-y"),document.qScrollPrevented=!1,t.style.left=zc,t.style.top=Fc,window.scrollTo(ss,os),Na=void 0)}function bx(e){let t="add";if(e===!0){if(Pa++,Qn!==void 0){clearTimeout(Qn),Qn=void 0;return}if(Pa>1)return}else{if(Pa===0||(Pa--,Pa>0))return;if(t="remove",Fe.is.ios===!0&&Fe.is.nativeMobile===!0){clearTimeout(Qn),Qn=setTimeout(()=>{Hc(t),Qn=void 0},100);return}}Hc(t)}function yx(){let e;return{preventBodyScroll(t){t!==e&&(e!==void 0||t===!0)&&(e=t,bx(t))}}}const Mn=[];let fa;function vx(e){fa=e.keyCode===27}function kx(){fa===!0&&(fa=!1)}function wx(e){fa===!0&&(fa=!1,tr(e,27)===!0&&Mn[Mn.length-1](e))}function Bp(e){window[e]("keydown",vx),window[e]("blur",kx),window[e]("keyup",wx),fa=!1}function _x(e){Fe.is.desktop===!0&&(Mn.push(e),Mn.length===1&&Bp("addEventListener"))}function $c(e){const t=Mn.indexOf(e);t>-1&&(Mn.splice(t,1),Mn.length===0&&Bp("removeEventListener"))}const In=[];function Hp(e){In[In.length-1](e)}function Sx(e){Fe.is.desktop===!0&&(In.push(e),In.length===1&&document.body.addEventListener("focusin",Hp))}function qc(e){const t=In.indexOf(e);t>-1&&(In.splice(t,1),In.length===0&&document.body.removeEventListener("focusin",Hp))}let Dr=0;const Ex={standard:"fixed-full flex-center",top:"fixed-top justify-center",bottom:"fixed-bottom justify-center",right:"fixed-right items-center",left:"fixed-left items-center"},Kc={standard:["scale","scale"],top:["slide-down","slide-up"],bottom:["slide-up","slide-down"],right:["slide-left","slide-right"],left:["slide-right","slide-left"]},Cx=tt({name:"QDialog",inheritAttrs:!1,props:{...nx,...ix,transitionShow:String,transitionHide:String,persistent:Boolean,autoClose:Boolean,allowFocusOutside:Boolean,noEscDismiss:Boolean,noBackdropDismiss:Boolean,noRouteDismiss:Boolean,noRefocus:Boolean,noFocus:Boolean,noShake:Boolean,seamless:Boolean,maximized:Boolean,fullWidth:Boolean,fullHeight:Boolean,square:Boolean,position:{type:String,default:"standard",validator:e=>e==="standard"||["top","bottom","left","right"].includes(e)}},emits:[...ax,"shake","click","escape-key"],setup(e,{slots:t,emit:n,attrs:a}){const r=Le(),i=se(null),s=se(!1),o=se(!1),l=se(!1);let u,c=null,f,d;const p=j(()=>e.persistent!==!0&&e.noRouteDismiss!==!0&&e.seamless!==!0),{preventBodyScroll:b}=yx(),{registerTimeout:C}=ex(),{registerTick:x,removeTick:y}=tx(),{showPortal:h,hidePortal:_,portalIsAccessible:w,renderPortal:E}=cx(r,i,Y,!0),{hide:S}=rx({showing:s,hideOnRouteChange:p,handleShow:O,handleHide:Q,processOnMount:!0}),{addToHistory:P,removeFromHistory:D}=XC(s,S,p),N=j(()=>`q-dialog__inner flex no-pointer-events q-dialog__inner--${e.maximized===!0?"maximized":"minimized"} q-dialog__inner--${e.position} ${Ex[e.position]}`+(l.value===!0?" q-dialog__inner--animating":"")+(e.fullWidth===!0?" q-dialog__inner--fullwidth":"")+(e.fullHeight===!0?" q-dialog__inner--fullheight":"")+(e.square===!0?" q-dialog__inner--square":"")),V=j(()=>"q-transition--"+(e.transitionShow===void 0?Kc[e.position][0]:e.transitionShow)),F=j(()=>"q-transition--"+(e.transitionHide===void 0?Kc[e.position][1]:e.transitionHide)),M=j(()=>o.value===!0?F.value:V.value),K=j(()=>`--q-transition-duration: ${e.transitionDuration}ms`),I=j(()=>s.value===!0&&e.seamless!==!0),ee=j(()=>e.autoClose===!0?{onClick:Ue}:{}),ae=j(()=>[`q-dialog fullscreen no-pointer-events q-dialog--${I.value===!0?"modal":"seamless"}`,a.class]);Pe(s,W=>{Xe(()=>{o.value=W})}),Pe(()=>e.maximized,W=>{s.value===!0&&Se(W)}),Pe(I,W=>{b(W),W===!0?(Sx(Z),_x(ge)):(qc(Z),$c(ge))});function O(W){P(),c=e.noRefocus===!1&&document.activeElement!==null?document.activeElement:null,Se(e.maximized),h(),l.value=!0,e.noFocus!==!0?(document.activeElement!==null&&document.activeElement.blur(),x(he)):y(),C(()=>{if(r.proxy.$q.platform.is.ios===!0){if(e.seamless!==!0&&document.activeElement){const{top:re,bottom:be}=document.activeElement.getBoundingClientRect(),{innerHeight:ie}=window,v=window.visualViewport!==void 0?window.visualViewport.height:ie;re>0&&be>v/2&&(document.scrollingElement.scrollTop=Math.min(document.scrollingElement.scrollHeight-v,be>=ie?1/0:Math.ceil(document.scrollingElement.scrollTop+be-v/2))),document.activeElement.scrollIntoView()}d=!0,i.value.click(),d=!1}h(!0),l.value=!1,n("show",W)},e.transitionDuration)}function Q(W){y(),D(),we(!0),l.value=!0,_(),c!==null&&(c.focus(),c=null),C(()=>{_(!0),l.value=!1,n("hide",W)},e.transitionDuration)}function he(W){dl(()=>{let re=i.value;re===null||re.contains(document.activeElement)===!0||(re=re.querySelector(W||"[autofocus], [data-autofocus]")||re,re.focus({preventScroll:!0}))})}function U(){he(),n("shake");const W=i.value;W!==null&&(W.classList.remove("q-animate--scale"),W.classList.add("q-animate--scale"),clearTimeout(u),u=setTimeout(()=>{i.value!==null&&(W.classList.remove("q-animate--scale"),he())},170))}function ge(){e.seamless!==!0&&(e.persistent===!0||e.noEscDismiss===!0?e.maximized!==!0&&e.noShake!==!0&&U():(n("escape-key"),S()))}function we(W){clearTimeout(u),(W===!0||s.value===!0)&&(Se(!1),e.seamless!==!0&&(b(!1),qc(Z),$c(ge))),W!==!0&&(c=null)}function Se(W){W===!0?f!==!0&&(Dr<1&&document.body.classList.add("q-body--dialog"),Dr++,f=!0):f===!0&&(Dr<2&&document.body.classList.remove("q-body--dialog"),Dr--,f=!1)}function Ue(W){d!==!0&&(S(W),n("click",W))}function B(W){e.persistent!==!0&&e.noBackdropDismiss!==!0?S(W):e.noShake!==!0&&U()}function Z(W){e.allowFocusOutside!==!0&&w.value===!0&&AC(i.value,W.target)!==!0&&he('[tabindex]:not([tabindex="-1"])')}Object.assign(r.proxy,{focus:he,shake:U,__updateRefocusTarget(W){c=W||null}}),kt(we);function Y(){return z("div",{role:"dialog","aria-modal":I.value===!0?"true":"false",...a,class:ae.value},[z(Vn,{name:"q-transition--fade",appear:!0},()=>I.value===!0?z("div",{class:"q-dialog__backdrop fixed-full",style:K.value,"aria-hidden":"true",onMousedown:B}):null),z(Vn,{name:M.value,appear:!0},()=>s.value===!0?z("div",{ref:i,class:N.value,style:K.value,tabindex:-1,...ee.value},Ct(t.default)):null)])}return E}}),Fn={dark:{type:Boolean,default:null}};function Bn(e,t){return j(()=>e.dark===null?t.dark.isActive:e.dark)}const xx=tt({name:"QCard",props:{...Fn,tag:{type:String,default:"div"},square:Boolean,flat:Boolean,bordered:Boolean},setup(e,{slots:t}){const{proxy:{$q:n}}=Le(),a=Bn(e,n),r=j(()=>"q-card"+(a.value===!0?" q-card--dark q-dark":"")+(e.bordered===!0?" q-card--bordered":"")+(e.square===!0?" q-card--square no-border-radius":"")+(e.flat===!0?" q-card--flat no-shadow":""));return()=>z(e.tag,{class:r.value},Ct(t.default))}}),Da=tt({name:"QCardSection",props:{tag:{type:String,default:"div"},horizontal:Boolean},setup(e,{slots:t}){const n=j(()=>`q-card__section q-card__section--${e.horizontal===!0?"horiz row no-wrap":"vert"}`);return()=>z(e.tag,{class:n.value},Ct(t.default))}}),Px=tt({name:"QCardActions",props:{...Tp,vertical:Boolean},setup(e,{slots:t}){const n=Ap(e),a=j(()=>`q-card__actions ${n.value} q-card__actions--${e.vertical===!0?"vert column":"horiz row"}`);return()=>z("div",{class:a.value},Ct(t.default))}}),Dx={true:"inset",item:"item-inset","item-thumbnail":"item-thumbnail-inset"},us={xs:2,sm:4,md:8,lg:16,xl:24},Gc=tt({name:"QSeparator",props:{...Fn,spaced:[Boolean,String],inset:[Boolean,String],vertical:Boolean,color:String,size:String},setup(e){const t=Le(),n=Bn(e,t.proxy.$q),a=j(()=>e.vertical===!0?"vertical":"horizontal"),r=j(()=>` q-separator--${a.value}`),i=j(()=>e.inset!==!1?`${r.value}-${Dx[e.inset]}`:""),s=j(()=>`q-separator${r.value}${i.value}`+(e.color!==void 0?` bg-${e.color}`:"")+(n.value===!0?" q-separator--dark":"")),o=j(()=>{const l={};if(e.size!==void 0&&(l[e.vertical===!0?"width":"height"]=e.size),e.spaced!==!1){const u=e.spaced===!0?`${us.md}px`:e.spaced in us?`${us[e.spaced]}px`:e.spaced,c=e.vertical===!0?["Left","Right"]:["Top","Bottom"];l[`margin${c[0]}`]=l[`margin${c[1]}`]=u}return l});return()=>z("hr",{class:s.value,style:o.value,"aria-orientation":a.value})}});function Lx({validate:e,resetValidation:t,requiresQForm:n}){const a=bt(fC,!1);if(a!==!1){const{props:r,proxy:i}=Le();Object.assign(i,{validate:e,resetValidation:t}),Pe(()=>r.disable,s=>{s===!0?(typeof t=="function"&&t(),a.unbindComponent(i)):a.bindComponent(i)}),bn(()=>{r.disable!==!0&&a.bindComponent(i)}),kt(()=>{r.disable!==!0&&a.unbindComponent(i)})}else n===!0&&console.error("Parent QForm not found on useFormChild()!")}const Wc=/^#[0-9a-fA-F]{3}([0-9a-fA-F]{3})?$/,Uc=/^#[0-9a-fA-F]{4}([0-9a-fA-F]{4})?$/,Jc=/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/,Lr=/^rgb\(((0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5]),){2}(0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5])\)$/,Tr=/^rgba\(((0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5]),){2}(0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5]),(0|0\.[0-9]+[1-9]|0\.[1-9]+|1)\)$/,cs={date:e=>/^-?[\d]+\/[0-1]\d\/[0-3]\d$/.test(e),time:e=>/^([0-1]?\d|2[0-3]):[0-5]\d$/.test(e),fulltime:e=>/^([0-1]?\d|2[0-3]):[0-5]\d:[0-5]\d$/.test(e),timeOrFulltime:e=>/^([0-1]?\d|2[0-3]):[0-5]\d(:[0-5]\d)?$/.test(e),email:e=>/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e),hexColor:e=>Wc.test(e),hexaColor:e=>Uc.test(e),hexOrHexaColor:e=>Jc.test(e),rgbColor:e=>Lr.test(e),rgbaColor:e=>Tr.test(e),rgbOrRgbaColor:e=>Lr.test(e)||Tr.test(e),hexOrRgbColor:e=>Wc.test(e)||Lr.test(e),hexaOrRgbaColor:e=>Uc.test(e)||Tr.test(e),anyColor:e=>Jc.test(e)||Lr.test(e)||Tr.test(e)},Tx=[!0,!1,"ondemand"],Ax={modelValue:{},error:{type:Boolean,default:null},errorMessage:String,noErrorIcon:Boolean,rules:Array,reactiveRules:Boolean,lazyRules:{type:[Boolean,String],validator:e=>Tx.includes(e)}};function jx(e,t){const{props:n,proxy:a}=Le(),r=se(!1),i=se(null),s=se(null);Lx({validate:b,resetValidation:p});let o=0,l;const u=j(()=>n.rules!==void 0&&n.rules!==null&&n.rules.length>0),c=j(()=>n.disable!==!0&&u.value===!0),f=j(()=>n.error===!0||r.value===!0),d=j(()=>typeof n.errorMessage=="string"&&n.errorMessage.length>0?n.errorMessage:i.value);Pe(()=>n.modelValue,()=>{C()}),Pe(()=>n.reactiveRules,y=>{y===!0?l===void 0&&(l=Pe(()=>n.rules,()=>{C(!0)})):l!==void 0&&(l(),l=void 0)},{immediate:!0}),Pe(e,y=>{y===!0?s.value===null&&(s.value=!1):s.value===!1&&(s.value=!0,c.value===!0&&n.lazyRules!=="ondemand"&&t.value===!1&&x())});function p(){o++,t.value=!1,s.value=null,r.value=!1,i.value=null,x.cancel()}function b(y=n.modelValue){if(c.value!==!0)return!0;const h=++o,_=t.value!==!0?()=>{s.value=!0}:()=>{},w=(S,P)=>{S===!0&&_(),r.value=S,i.value=P||null,t.value=!1},E=[];for(let S=0;S{if(S===void 0||Array.isArray(S)===!1||S.length===0)return h===o&&w(!1),!0;const P=S.find(D=>D===!1||typeof D=="string");return h===o&&w(P!==void 0,P),P===void 0},S=>(h===o&&(console.error(S),w(!0)),!1)))}function C(y){c.value===!0&&n.lazyRules!=="ondemand"&&(s.value===!0||n.lazyRules!==!0&&y!==!0)&&x()}const x=kp(b,0);return kt(()=>{l!==void 0&&l(),x.cancel()}),Object.assign(a,{resetValidation:p,validate:b}),mr(a,"hasError",()=>f.value),{isDirtyModel:s,hasRules:u,hasError:f,errorMessage:d,validate:b,resetValidation:p}}const Yc=/^on[A-Z]/;function Nx(e,t){const n={listeners:se({}),attributes:se({})};function a(){const r={},i={};for(const s in e)s!=="class"&&s!=="style"&&Yc.test(s)===!1&&(r[s]=e[s]);for(const s in t.props)Yc.test(s)===!0&&(i[s]=t.props[s]);n.attributes.value=r,n.listeners.value=i}return Bd(a),a(),n}let ds,Ar=0;const Je=new Array(256);for(let e=0;e<256;e++)Je[e]=(e+256).toString(16).substring(1);const Mx=(()=>{const e=typeof crypto<"u"?crypto:typeof window<"u"?window.crypto||window.msCrypto:void 0;if(e!==void 0){if(e.randomBytes!==void 0)return e.randomBytes;if(e.getRandomValues!==void 0)return t=>{const n=new Uint8Array(t);return e.getRandomValues(n),n}}return t=>{const n=[];for(let a=t;a>0;a--)n.push(Math.floor(Math.random()*256));return n}})(),Qc=4096;function Ix(){(ds===void 0||Ar+16>Qc)&&(Ar=0,ds=Mx(Qc));const e=Array.prototype.slice.call(ds,Ar,Ar+=16);return e[6]=e[6]&15|64,e[8]=e[8]&63|128,Je[e[0]]+Je[e[1]]+Je[e[2]]+Je[e[3]]+"-"+Je[e[4]]+Je[e[5]]+"-"+Je[e[6]]+Je[e[7]]+"-"+Je[e[8]]+Je[e[9]]+"-"+Je[e[10]]+Je[e[11]]+Je[e[12]]+Je[e[13]]+Je[e[14]]+Je[e[15]]}function io(e){return e===void 0?`f_${Ix()}`:e}function so(e){return e!=null&&(""+e).length>0}const Vx={...Fn,...Ax,label:String,stackLabel:Boolean,hint:String,hideHint:Boolean,prefix:String,suffix:String,labelColor:String,color:String,bgColor:String,filled:Boolean,outlined:Boolean,borderless:Boolean,standout:[Boolean,String],square:Boolean,loading:Boolean,labelSlot:Boolean,bottomSlots:Boolean,hideBottomSpace:Boolean,rounded:Boolean,dense:Boolean,itemAligned:Boolean,counter:Boolean,clearable:Boolean,clearIcon:String,disable:Boolean,readonly:Boolean,autofocus:Boolean,for:String,maxlength:[Number,String]},Rx=["update:modelValue","clear","focus","blur","popup-show","popup-hide"];function Ox(){const{props:e,attrs:t,proxy:n,vnode:a}=Le();return{isDark:Bn(e,n.$q),editable:j(()=>e.disable!==!0&&e.readonly!==!0),innerLoading:se(!1),focused:se(!1),hasPopupOpen:!1,splitAttrs:Nx(t,a),targetUid:se(io(e.for)),rootRef:se(null),targetRef:se(null),controlRef:se(null)}}function zx(e){const{props:t,emit:n,slots:a,attrs:r,proxy:i}=Le(),{$q:s}=i;let o;e.hasValue===void 0&&(e.hasValue=j(()=>so(t.modelValue))),e.emitValue===void 0&&(e.emitValue=O=>{n("update:modelValue",O)}),e.controlEvents===void 0&&(e.controlEvents={onFocusin:N,onFocusout:V}),Object.assign(e,{clearValue:F,onControlFocusin:N,onControlFocusout:V,focus:P}),e.computedCounter===void 0&&(e.computedCounter=j(()=>{if(t.counter!==!1){const O=typeof t.modelValue=="string"||typeof t.modelValue=="number"?(""+t.modelValue).length:Array.isArray(t.modelValue)===!0?t.modelValue.length:0,Q=t.maxlength!==void 0?t.maxlength:t.maxValues;return O+(Q!==void 0?" / "+Q:"")}}));const{isDirtyModel:l,hasRules:u,hasError:c,errorMessage:f,resetValidation:d}=jx(e.focused,e.innerLoading),p=e.floatingLabel!==void 0?j(()=>t.stackLabel===!0||e.focused.value===!0||e.floatingLabel.value===!0):j(()=>t.stackLabel===!0||e.focused.value===!0||e.hasValue.value===!0),b=j(()=>t.bottomSlots===!0||t.hint!==void 0||u.value===!0||t.counter===!0||t.error!==null),C=j(()=>t.filled===!0?"filled":t.outlined===!0?"outlined":t.borderless===!0?"borderless":t.standout?"standout":"standard"),x=j(()=>`q-field row no-wrap items-start q-field--${C.value}`+(e.fieldClass!==void 0?` ${e.fieldClass.value}`:"")+(t.rounded===!0?" q-field--rounded":"")+(t.square===!0?" q-field--square":"")+(p.value===!0?" q-field--float":"")+(h.value===!0?" q-field--labeled":"")+(t.dense===!0?" q-field--dense":"")+(t.itemAligned===!0?" q-field--item-aligned q-item-type":"")+(e.isDark.value===!0?" q-field--dark":"")+(e.getControl===void 0?" q-field--auto-height":"")+(e.focused.value===!0?" q-field--focused":"")+(c.value===!0?" q-field--error":"")+(c.value===!0||e.focused.value===!0?" q-field--highlighted":"")+(t.hideBottomSpace!==!0&&b.value===!0?" q-field--with-bottom":"")+(t.disable===!0?" q-field--disabled":t.readonly===!0?" q-field--readonly":"")),y=j(()=>"q-field__control relative-position row no-wrap"+(t.bgColor!==void 0?` bg-${t.bgColor}`:"")+(c.value===!0?" text-negative":typeof t.standout=="string"&&t.standout.length>0&&e.focused.value===!0?` ${t.standout}`:t.color!==void 0?` text-${t.color}`:"")),h=j(()=>t.labelSlot===!0||t.label!==void 0),_=j(()=>"q-field__label no-pointer-events absolute ellipsis"+(t.labelColor!==void 0&&c.value!==!0?` text-${t.labelColor}`:"")),w=j(()=>({id:e.targetUid.value,editable:e.editable.value,focused:e.focused.value,floatingLabel:p.value,modelValue:t.modelValue,emitValue:e.emitValue})),E=j(()=>{const O={for:e.targetUid.value};return t.disable===!0?O["aria-disabled"]="true":t.readonly===!0&&(O["aria-readonly"]="true"),O});Pe(()=>t.for,O=>{e.targetUid.value=io(O)});function S(){const O=document.activeElement;let Q=e.targetRef!==void 0&&e.targetRef.value;Q&&(O===null||O.id!==e.targetUid.value)&&(Q.hasAttribute("tabindex")===!0||(Q=Q.querySelector("[tabindex]")),Q&&Q!==O&&Q.focus({preventScroll:!0}))}function P(){dl(S)}function D(){ox(S);const O=document.activeElement;O!==null&&e.rootRef.value.contains(O)&&O.blur()}function N(O){clearTimeout(o),e.editable.value===!0&&e.focused.value===!1&&(e.focused.value=!0,n("focus",O))}function V(O,Q){clearTimeout(o),o=setTimeout(()=>{document.hasFocus()===!0&&(e.hasPopupOpen===!0||e.controlRef===void 0||e.controlRef.value===null||e.controlRef.value.contains(document.activeElement)!==!1)||(e.focused.value===!0&&(e.focused.value=!1,n("blur",O)),Q!==void 0&&Q())})}function F(O){pt(O),s.platform.is.mobile!==!0?(e.targetRef!==void 0&&e.targetRef.value||e.rootRef.value).focus():e.rootRef.value.contains(document.activeElement)===!0&&document.activeElement.blur(),t.type==="file"&&(e.inputRef.value.value=null),n("update:modelValue",null),n("clear",t.modelValue),Xe(()=>{d(),s.platform.is.mobile!==!0&&(l.value=!1)})}function M(){const O=[];return a.prepend!==void 0&&O.push(z("div",{class:"q-field__prepend q-field__marginal row no-wrap items-center",key:"prepend",onClick:on},a.prepend())),O.push(z("div",{class:"q-field__control-container col relative-position row no-wrap q-anchor--skip"},K())),c.value===!0&&t.noErrorIcon===!1&&O.push(ee("error",[z(Gt,{name:s.iconSet.field.error,color:"negative"})])),t.loading===!0||e.innerLoading.value===!0?O.push(ee("inner-loading-append",a.loading!==void 0?a.loading():[z(nr,{color:t.color})])):t.clearable===!0&&e.hasValue.value===!0&&e.editable.value===!0&&O.push(ee("inner-clearable-append",[z(Gt,{class:"q-field__focusable-action",tag:"button",name:t.clearIcon||s.iconSet.field.clear,tabindex:0,type:"button","aria-hidden":null,role:null,onClick:F})])),a.append!==void 0&&O.push(z("div",{class:"q-field__append q-field__marginal row no-wrap items-center",key:"append",onClick:on},a.append())),e.getInnerAppend!==void 0&&O.push(ee("inner-append",e.getInnerAppend())),e.getControlChild!==void 0&&O.push(e.getControlChild()),O}function K(){const O=[];return t.prefix!==void 0&&t.prefix!==null&&O.push(z("div",{class:"q-field__prefix no-pointer-events row items-center"},t.prefix)),e.getShadowControl!==void 0&&e.hasShadow.value===!0&&O.push(e.getShadowControl()),e.getControl!==void 0?O.push(e.getControl()):a.rawControl!==void 0?O.push(a.rawControl()):a.control!==void 0&&O.push(z("div",{ref:e.targetRef,class:"q-field__native row",tabindex:-1,...e.splitAttrs.attributes.value,"data-autofocus":t.autofocus===!0||void 0},a.control(w.value))),h.value===!0&&O.push(z("div",{class:_.value},Ct(a.label,t.label))),t.suffix!==void 0&&t.suffix!==null&&O.push(z("div",{class:"q-field__suffix no-pointer-events row items-center"},t.suffix)),O.concat(Ct(a.default))}function I(){let O,Q;c.value===!0?f.value!==null?(O=[z("div",{role:"alert"},f.value)],Q=`q--slot-error-${f.value}`):(O=Ct(a.error),Q="q--slot-error"):(t.hideHint!==!0||e.focused.value===!0)&&(t.hint!==void 0?(O=[z("div",t.hint)],Q=`q--slot-hint-${t.hint}`):(O=Ct(a.hint),Q="q--slot-hint"));const he=t.counter===!0||a.counter!==void 0;if(t.hideBottomSpace===!0&&he===!1&&O===void 0)return;const U=z("div",{key:Q,class:"q-field__messages col"},O);return z("div",{class:"q-field__bottom row items-start q-field__bottom--"+(t.hideBottomSpace!==!0?"animated":"stale"),onClick:on},[t.hideBottomSpace===!0?U:z(Vn,{name:"q-transition--field-message"},()=>U),he===!0?z("div",{class:"q-field__counter"},a.counter!==void 0?a.counter():e.computedCounter.value):null])}function ee(O,Q){return Q===null?null:z("div",{key:O,class:"q-field__append q-field__marginal row no-wrap items-center q-anchor--skip"},Q)}let ae=!1;return yi(()=>{ae=!0}),Od(()=>{ae===!0&&t.autofocus===!0&&i.focus()}),bn(()=>{pn.value===!0&&t.for===void 0&&(e.targetUid.value=io()),t.autofocus===!0&&i.focus()}),kt(()=>{clearTimeout(o)}),Object.assign(i,{focus:P,blur:D}),function(){const Q=e.getControl===void 0&&a.control===void 0?{...e.splitAttrs.attributes.value,"data-autofocus":t.autofocus===!0||void 0,...E.value}:E.value;return z("label",{ref:e.rootRef,class:[x.value,r.class],style:r.style,...Q},[a.before!==void 0?z("div",{class:"q-field__before q-field__marginal row no-wrap items-center",onClick:on},a.before()):null,z("div",{class:"q-field__inner relative-position col self-stretch"},[z("div",{ref:e.controlRef,class:y.value,tabindex:-1,...e.controlEvents},M()),b.value===!0?I():null]),a.after!==void 0?z("div",{class:"q-field__after q-field__marginal row no-wrap items-center",onClick:on},a.after()):null])}}const Zc={date:"####/##/##",datetime:"####/##/## ##:##",time:"##:##",fulltime:"##:##:##",phone:"(###) ### - ####",card:"#### #### #### ####"},oi={"#":{pattern:"[\\d]",negate:"[^\\d]"},S:{pattern:"[a-zA-Z]",negate:"[^a-zA-Z]"},N:{pattern:"[0-9a-zA-Z]",negate:"[^0-9a-zA-Z]"},A:{pattern:"[a-zA-Z]",negate:"[^a-zA-Z]",transform:e=>e.toLocaleUpperCase()},a:{pattern:"[a-zA-Z]",negate:"[^a-zA-Z]",transform:e=>e.toLocaleLowerCase()},X:{pattern:"[0-9a-zA-Z]",negate:"[^0-9a-zA-Z]",transform:e=>e.toLocaleUpperCase()},x:{pattern:"[0-9a-zA-Z]",negate:"[^0-9a-zA-Z]",transform:e=>e.toLocaleLowerCase()}},$p=Object.keys(oi);$p.forEach(e=>{oi[e].regex=new RegExp(oi[e].pattern)});const Fx=new RegExp("\\\\([^.*+?^${}()|([\\]])|([.*+?^${}()|[\\]])|(["+$p.join("")+"])|(.)","g"),Xc=/[.*+?^${}()|[\]\\]/g,He=String.fromCharCode(1),Bx={mask:String,reverseFillMask:Boolean,fillMask:[Boolean,String],unmaskedValue:Boolean};function Hx(e,t,n,a){let r,i,s,o;const l=se(null),u=se(f());function c(){return e.autogrow===!0||["textarea","text","search","url","tel","password"].includes(e.type)}Pe(()=>e.type+e.autogrow,p),Pe(()=>e.mask,S=>{if(S!==void 0)b(u.value,!0);else{const P=w(u.value);p(),e.modelValue!==P&&t("update:modelValue",P)}}),Pe(()=>e.fillMask+e.reverseFillMask,()=>{l.value===!0&&b(u.value,!0)}),Pe(()=>e.unmaskedValue,()=>{l.value===!0&&b(u.value)});function f(){if(p(),l.value===!0){const S=h(w(e.modelValue));return e.fillMask!==!1?E(S):S}return e.modelValue}function d(S){if(S-1){for(let V=S-D.length;V>0;V--)P+=He;D=D.slice(0,N)+P+D.slice(N)}return D}function p(){if(l.value=e.mask!==void 0&&e.mask.length>0&&c(),l.value===!1){o=void 0,r="",i="";return}const S=Zc[e.mask]===void 0?e.mask:Zc[e.mask],P=typeof e.fillMask=="string"&&e.fillMask.length>0?e.fillMask.slice(0,1):"_",D=P.replace(Xc,"\\$&"),N=[],V=[],F=[];let M=e.reverseFillMask===!0,K="",I="";S.replace(Fx,(Q,he,U,ge,we)=>{if(ge!==void 0){const Se=oi[ge];F.push(Se),I=Se.negate,M===!0&&(V.push("(?:"+I+"+)?("+Se.pattern+"+)?(?:"+I+"+)?("+Se.pattern+"+)?"),M=!1),V.push("(?:"+I+"+)?("+Se.pattern+")?")}else if(U!==void 0)K="\\"+(U==="\\"?"":U),F.push(U),N.push("([^"+K+"]+)?"+K+"?");else{const Se=he!==void 0?he:we;K=Se==="\\"?"\\\\\\\\":Se.replace(Xc,"\\\\$&"),F.push(Se),N.push("([^"+K+"]+)?"+K+"?")}});const ee=new RegExp("^"+N.join("")+"("+(K===""?".":"[^"+K+"]")+"+)?"+(K===""?"":"["+K+"]*")+"$"),ae=V.length-1,O=V.map((Q,he)=>he===0&&e.reverseFillMask===!0?new RegExp("^"+D+"*"+Q):he===ae?new RegExp("^"+Q+"("+(I===""?".":I)+"+)?"+(e.reverseFillMask===!0?"$":D+"*")):new RegExp("^"+Q));s=F,o=Q=>{const he=ee.exec(Q);he!==null&&(Q=he.slice(1).join(""));const U=[],ge=O.length;for(let we=0,Se=Q;we0?U.join(""):Q},r=F.map(Q=>typeof Q=="string"?Q:He).join(""),i=r.split(He).join(P)}function b(S,P,D){const N=a.value,V=N.selectionEnd,F=N.value.length-V,M=w(S);P===!0&&p();const K=h(M),I=e.fillMask!==!1?E(K):K,ee=u.value!==I;N.value!==I&&(N.value=I),ee===!0&&(u.value=I),document.activeElement===N&&Xe(()=>{if(I===i){const O=e.reverseFillMask===!0?i.length:0;N.setSelectionRange(O,O,"forward");return}if(D==="insertFromPaste"&&e.reverseFillMask!==!0){const O=V-1;x.right(N,O,O);return}if(["deleteContentBackward","deleteContentForward"].indexOf(D)>-1){const O=e.reverseFillMask===!0?V===0?I.length>K.length?1:0:Math.max(0,I.length-(I===i?0:Math.min(K.length,F)+1))+1:V;N.setSelectionRange(O,O,"forward");return}if(e.reverseFillMask===!0)if(ee===!0){const O=Math.max(0,I.length-(I===i?0:Math.min(K.length,F+1)));O===1&&V===1?N.setSelectionRange(O,O,"forward"):x.rightReverse(N,O,O)}else{const O=I.length-F;N.setSelectionRange(O,O,"backward")}else if(ee===!0){const O=Math.max(0,r.indexOf(He),Math.min(K.length,V)-1);x.right(N,O,O)}else{const O=V-1;x.right(N,O,O)}});const ae=e.unmaskedValue===!0?w(I):I;String(e.modelValue)!==ae&&n(ae,!0)}function C(S,P,D){const N=h(w(S.value));P=Math.max(0,r.indexOf(He),Math.min(N.length,P)),S.setSelectionRange(P,D,"forward")}const x={left(S,P,D,N){const V=r.slice(P-1).indexOf(He)===-1;let F=Math.max(0,P-1);for(;F>=0;F--)if(r[F]===He){P=F,V===!0&&P++;break}if(F<0&&r[P]!==void 0&&r[P]!==He)return x.right(S,0,0);P>=0&&S.setSelectionRange(P,N===!0?D:P,"backward")},right(S,P,D,N){const V=S.value.length;let F=Math.min(V,D+1);for(;F<=V;F++)if(r[F]===He){D=F;break}else r[F-1]===He&&(D=F);if(F>V&&r[D-1]!==void 0&&r[D-1]!==He)return x.left(S,V,V);S.setSelectionRange(N?P:D,D,"forward")},leftReverse(S,P,D,N){const V=d(S.value.length);let F=Math.max(0,P-1);for(;F>=0;F--)if(V[F-1]===He){P=F;break}else if(V[F]===He&&(P=F,F===0))break;if(F<0&&V[P]!==void 0&&V[P]!==He)return x.rightReverse(S,0,0);P>=0&&S.setSelectionRange(P,N===!0?D:P,"backward")},rightReverse(S,P,D,N){const V=S.value.length,F=d(V),M=F.slice(0,D+1).indexOf(He)===-1;let K=Math.min(V,D+1);for(;K<=V;K++)if(F[K-1]===He){D=K,D>0&&M===!0&&D--;break}if(K>V&&F[D-1]!==void 0&&F[D-1]!==He)return x.leftReverse(S,V,V);S.setSelectionRange(N===!0?P:D,D,"forward")}};function y(S){if(Sp(S)===!0)return;const P=a.value,D=P.selectionStart,N=P.selectionEnd;if(S.keyCode===37||S.keyCode===39){const V=x[(S.keyCode===39?"right":"left")+(e.reverseFillMask===!0?"Reverse":"")];S.preventDefault(),V(P,D,N,S.shiftKey)}else S.keyCode===8&&e.reverseFillMask!==!0&&D===N?x.left(P,D,N,!0):S.keyCode===46&&e.reverseFillMask===!0&&D===N&&x.rightReverse(P,D,N,!0)}function h(S){if(S==null||S==="")return"";if(e.reverseFillMask===!0)return _(S);const P=s;let D=0,N="";for(let V=0;V=0&&N>-1;F--){const M=P[F];let K=S[N];if(typeof M=="string")V=M+V,K===M&&N--;else if(K!==void 0&&M.regex.test(K))do V=(M.transform!==void 0?M.transform(K):K)+V,N--,K=S[N];while(D===F&&K!==void 0&&M.regex.test(K));else return V}return V}function w(S){return typeof S!="string"||o===void 0?typeof S=="number"?o(""+S):S:o(S)}function E(S){return i.length-S.length<=0?S:e.reverseFillMask===!0&&S.length>0?i.slice(0,-S.length)+S:S+i.slice(S.length)}return{innerValue:u,hasMask:l,moveCursorForPaste:C,updateMaskValue:b,onMaskedKeydown:y}}const ml={name:String};function GP(e){return j(()=>({type:"hidden",name:e.name,value:e.modelValue}))}function qp(e={}){return(t,n,a)=>{t[n](z("input",{class:"hidden"+(a||""),...e.value}))}}function $x(e){return j(()=>e.name||e.for)}function qx(e,t){function n(){const a=e.modelValue;try{const r="DataTransfer"in window?new DataTransfer:"ClipboardEvent"in window?new ClipboardEvent("").clipboardData:void 0;return Object(a)===a&&("length"in a?Array.from(a):[a]).forEach(i=>{r.items.add(i)}),{files:r.files}}catch{return{files:void 0}}}return j(t===!0?()=>{if(e.type==="file")return n()}:n)}const Kx=/[\u3000-\u303f\u3040-\u309f\u30a0-\u30ff\uff00-\uff9f\u4e00-\u9faf\u3400-\u4dbf]/,Gx=/[\u4e00-\u9fff\u3400-\u4dbf\u{20000}-\u{2a6df}\u{2a700}-\u{2b73f}\u{2b740}-\u{2b81f}\u{2b820}-\u{2ceaf}\uf900-\ufaff\u3300-\u33ff\ufe30-\ufe4f\uf900-\ufaff\u{2f800}-\u{2fa1f}]/u,Wx=/[\u3131-\u314e\u314f-\u3163\uac00-\ud7a3]/,Ux=/[a-z0-9_ -]$/i;function Jx(e){return function(n){if(n.type==="compositionend"||n.type==="change"){if(n.target.qComposing!==!0)return;n.target.qComposing=!1,e(n)}else n.type==="compositionupdate"&&n.target.qComposing!==!0&&typeof n.data=="string"&&(Fe.is.firefox===!0?Ux.test(n.data)===!1:Kx.test(n.data)===!0||Gx.test(n.data)===!0||Wx.test(n.data)===!0)===!0&&(n.target.qComposing=!0)}}const Yx=tt({name:"QInput",inheritAttrs:!1,props:{...Vx,...Bx,...ml,modelValue:{required:!1},shadowText:String,type:{type:String,default:"text"},debounce:[String,Number],autogrow:Boolean,inputClass:[Array,String,Object],inputStyle:[Array,String,Object]},emits:[...Rx,"paste","change"],setup(e,{emit:t,attrs:n}){const{proxy:a}=Le(),{$q:r}=a,i={};let s=NaN,o,l,u,c;const f=se(null),d=$x(e),{innerValue:p,hasMask:b,moveCursorForPaste:C,updateMaskValue:x,onMaskedKeydown:y}=Hx(e,t,I,f),h=qx(e,!0),_=j(()=>so(p.value)),w=Jx(K),E=Ox(),S=j(()=>e.type==="textarea"||e.autogrow===!0),P=j(()=>S.value===!0||["text","search","url","tel","password"].includes(e.type)),D=j(()=>{const U={...E.splitAttrs.listeners.value,onInput:K,onPaste:M,onChange:ae,onBlur:O,onFocus:ri};return U.onCompositionstart=U.onCompositionupdate=U.onCompositionend=w,b.value===!0&&(U.onKeydown=y),e.autogrow===!0&&(U.onAnimationend=ee),U}),N=j(()=>{const U={tabindex:0,"data-autofocus":e.autofocus===!0||void 0,rows:e.type==="textarea"?6:void 0,"aria-label":e.label,name:d.value,...E.splitAttrs.attributes.value,id:E.targetUid.value,maxlength:e.maxlength,disabled:e.disable===!0,readonly:e.readonly===!0};return S.value===!1&&(U.type=e.type),e.autogrow===!0&&(U.rows=1),U});Pe(()=>e.type,()=>{f.value&&(f.value.value=e.modelValue)}),Pe(()=>e.modelValue,U=>{if(b.value===!0){if(l===!0&&(l=!1,String(U)===s))return;x(U)}else p.value!==U&&(p.value=U,e.type==="number"&&i.hasOwnProperty("value")===!0&&(o===!0?o=!1:delete i.value));e.autogrow===!0&&Xe(ee)}),Pe(()=>e.autogrow,U=>{U===!0?Xe(ee):f.value!==null&&n.rows>0&&(f.value.style.height="auto")}),Pe(()=>e.dense,()=>{e.autogrow===!0&&Xe(ee)});function V(){dl(()=>{const U=document.activeElement;f.value!==null&&f.value!==U&&(U===null||U.id!==E.targetUid.value)&&f.value.focus({preventScroll:!0})})}function F(){f.value!==null&&f.value.select()}function M(U){if(b.value===!0&&e.reverseFillMask!==!0){const ge=U.target;C(ge,ge.selectionStart,ge.selectionEnd)}t("paste",U)}function K(U){if(!U||!U.target)return;if(e.type==="file"){t("update:modelValue",U.target.files);return}const ge=U.target.value;if(U.target.qComposing===!0){i.value=ge;return}if(b.value===!0)x(ge,!1,U.inputType);else if(I(ge),P.value===!0&&U.target===document.activeElement){const{selectionStart:we,selectionEnd:Se}=U.target;we!==void 0&&Se!==void 0&&Xe(()=>{U.target===document.activeElement&&ge.indexOf(U.target.value)===0&&U.target.setSelectionRange(we,Se)})}e.autogrow===!0&&ee()}function I(U,ge){c=()=>{e.type!=="number"&&i.hasOwnProperty("value")===!0&&delete i.value,e.modelValue!==U&&s!==U&&(s=U,ge===!0&&(l=!0),t("update:modelValue",U),Xe(()=>{s===U&&(s=NaN)})),c=void 0},e.type==="number"&&(o=!0,i.value=U),e.debounce!==void 0?(clearTimeout(u),i.value=U,u=setTimeout(c,e.debounce)):c()}function ee(){requestAnimationFrame(()=>{const U=f.value;if(U!==null){const ge=U.parentNode.style,{overflow:we}=U.style;r.platform.is.firefox!==!0&&(U.style.overflow="hidden"),U.style.height="1px",ge.marginBottom=U.scrollHeight-1+"px",U.style.height=U.scrollHeight+"px",U.style.overflow=we,ge.marginBottom=""}})}function ae(U){w(U),clearTimeout(u),c!==void 0&&c(),t("change",U.target.value)}function O(U){U!==void 0&&ri(U),clearTimeout(u),c!==void 0&&c(),o=!1,l=!1,delete i.value,e.type!=="file"&&setTimeout(()=>{f.value!==null&&(f.value.value=p.value!==void 0?p.value:"")})}function Q(){return i.hasOwnProperty("value")===!0?i.value:p.value!==void 0?p.value:""}kt(()=>{O()}),bn(()=>{e.autogrow===!0&&ee()}),Object.assign(E,{innerValue:p,fieldClass:j(()=>`q-${S.value===!0?"textarea":"input"}`+(e.autogrow===!0?" q-textarea--autogrow":"")),hasShadow:j(()=>e.type!=="file"&&typeof e.shadowText=="string"&&e.shadowText.length>0),inputRef:f,emitValue:I,hasValue:_,floatingLabel:j(()=>_.value===!0||so(e.displayValue)),getControl:()=>z(S.value===!0?"textarea":"input",{ref:f,class:["q-field__native q-placeholder",e.inputClass],style:e.inputStyle,...N.value,...D.value,...e.type!=="file"?{value:Q()}:h.value}),getShadowControl:()=>z("div",{class:"q-field__native q-field__shadow absolute-bottom no-pointer-events"+(S.value===!0?"":" text-no-wrap")},[z("span",{class:"invisible"},Q()),z("span",e.shadowText)])});const he=zx(E);return Object.assign(a,{focus:V,select:F,getNativeElement:()=>f.value}),he}});function Kp(e,t){const n=se(null),a=j(()=>e.disable===!0?null:z("span",{ref:n,class:"no-outline",tabindex:-1}));function r(i){const s=t.value;i!==void 0&&i.type.indexOf("key")===0?s!==null&&document.activeElement!==s&&s.contains(document.activeElement)===!0&&s.focus():n.value!==null&&(i===void 0||s!==null&&s.contains(i.target)===!0)&&n.value.focus()}return{refocusTargetEl:a,refocusTarget:r}}const Gp={xs:30,sm:35,md:40,lg:50,xl:60},Qx=z("svg",{key:"svg",class:"q-radio__bg absolute non-selectable",viewBox:"0 0 24 24"},[z("path",{d:"M12,22a10,10 0 0 1 -10,-10a10,10 0 0 1 10,-10a10,10 0 0 1 10,10a10,10 0 0 1 -10,10m0,-22a12,12 0 0 0 -12,12a12,12 0 0 0 12,12a12,12 0 0 0 12,-12a12,12 0 0 0 -12,-12"}),z("path",{class:"q-radio__check",d:"M12,6a6,6 0 0 0 -6,6a6,6 0 0 0 6,6a6,6 0 0 0 6,-6a6,6 0 0 0 -6,-6"})]),Zx=tt({name:"QRadio",props:{...Fn,...fr,...ml,modelValue:{required:!0},val:{required:!0},label:String,leftLabel:Boolean,checkedIcon:String,uncheckedIcon:String,color:String,keepColor:Boolean,dense:Boolean,disable:Boolean,tabindex:[String,Number]},emits:["update:modelValue"],setup(e,{slots:t,emit:n}){const{proxy:a}=Le(),r=Bn(e,a.$q),i=gr(e,Gp),s=se(null),{refocusTargetEl:o,refocusTarget:l}=Kp(e,s),u=j(()=>fe(e.modelValue)===fe(e.val)),c=j(()=>"q-radio cursor-pointer no-outline row inline no-wrap items-center"+(e.disable===!0?" disabled":"")+(r.value===!0?" q-radio--dark":"")+(e.dense===!0?" q-radio--dense":"")+(e.leftLabel===!0?" reverse":"")),f=j(()=>{const _=e.color!==void 0&&(e.keepColor===!0||u.value===!0)?` text-${e.color}`:"";return`q-radio__inner relative-position q-radio__inner--${u.value===!0?"truthy":"falsy"}${_}`}),d=j(()=>(u.value===!0?e.checkedIcon:e.uncheckedIcon)||null),p=j(()=>e.disable===!0?-1:e.tabindex||0),b=j(()=>{const _={type:"radio"};return e.name!==void 0&&Object.assign(_,{"^checked":u.value===!0?"checked":void 0,name:e.name,value:e.val}),_}),C=qp(b);function x(_){_!==void 0&&(pt(_),l(_)),e.disable!==!0&&u.value!==!0&&n("update:modelValue",e.val,_)}function y(_){(_.keyCode===13||_.keyCode===32)&&pt(_)}function h(_){(_.keyCode===13||_.keyCode===32)&&x(_)}return Object.assign(a,{set:x}),()=>{const _=d.value!==null?[z("div",{key:"icon",class:"q-radio__icon-container absolute-full flex flex-center no-wrap"},[z(Gt,{class:"q-radio__icon",name:d.value})])]:[Qx];e.disable!==!0&&C(_,"unshift"," q-radio__native q-ma-none q-pa-none");const w=[z("div",{class:f.value,style:i.value,"aria-hidden":"true"},_)];o.value!==null&&w.push(o.value);const E=e.label!==void 0?Dn(t.default,[e.label]):Ct(t.default);return E!==void 0&&w.push(z("div",{class:"q-radio__label q-anchor--skip"},E)),z("div",{ref:s,class:c.value,tabindex:p.value,role:"radio","aria-label":e.label,"aria-checked":u.value===!0?"true":"false","aria-disabled":e.disable===!0?"true":void 0,onClick:x,onKeydown:y,onKeyup:h},w)}}}),Wp={...Fn,...fr,...ml,modelValue:{required:!0,default:null},val:{},trueValue:{default:!0},falseValue:{default:!1},indeterminateValue:{default:null},checkedIcon:String,uncheckedIcon:String,indeterminateIcon:String,toggleOrder:{type:String,validator:e=>e==="tf"||e==="ft"},toggleIndeterminate:Boolean,label:String,leftLabel:Boolean,color:String,keepColor:Boolean,dense:Boolean,disable:Boolean,tabindex:[String,Number]},Up=["update:modelValue"];function Jp(e,t){const{props:n,slots:a,emit:r,proxy:i}=Le(),{$q:s}=i,o=Bn(n,s),l=se(null),{refocusTargetEl:u,refocusTarget:c}=Kp(n,l),f=gr(n,Gp),d=j(()=>n.val!==void 0&&Array.isArray(n.modelValue)),p=j(()=>{const M=fe(n.val);return d.value===!0?n.modelValue.findIndex(K=>fe(K)===M):-1}),b=j(()=>d.value===!0?p.value>-1:fe(n.modelValue)===fe(n.trueValue)),C=j(()=>d.value===!0?p.value===-1:fe(n.modelValue)===fe(n.falseValue)),x=j(()=>b.value===!1&&C.value===!1),y=j(()=>n.disable===!0?-1:n.tabindex||0),h=j(()=>`q-${e} cursor-pointer no-outline row inline no-wrap items-center`+(n.disable===!0?" disabled":"")+(o.value===!0?` q-${e}--dark`:"")+(n.dense===!0?` q-${e}--dense`:"")+(n.leftLabel===!0?" reverse":"")),_=j(()=>{const M=b.value===!0?"truthy":C.value===!0?"falsy":"indet",K=n.color!==void 0&&(n.keepColor===!0||(e==="toggle"?b.value===!0:C.value!==!0))?` text-${n.color}`:"";return`q-${e}__inner relative-position non-selectable q-${e}__inner--${M}${K}`}),w=j(()=>{const M={type:"checkbox"};return n.name!==void 0&&Object.assign(M,{"^checked":b.value===!0?"checked":void 0,name:n.name,value:d.value===!0?n.val:n.trueValue}),M}),E=qp(w),S=j(()=>{const M={tabindex:y.value,role:e==="toggle"?"switch":"checkbox","aria-label":n.label,"aria-checked":x.value===!0?"mixed":b.value===!0?"true":"false"};return n.disable===!0&&(M["aria-disabled"]="true"),M});function P(M){M!==void 0&&(pt(M),c(M)),n.disable!==!0&&r("update:modelValue",D(),M)}function D(){if(d.value===!0){if(b.value===!0){const M=n.modelValue.slice();return M.splice(p.value,1),M}return n.modelValue.concat([n.val])}if(b.value===!0){if(n.toggleOrder!=="ft"||n.toggleIndeterminate===!1)return n.falseValue}else if(C.value===!0){if(n.toggleOrder==="ft"||n.toggleIndeterminate===!1)return n.trueValue}else return n.toggleOrder!=="ft"?n.trueValue:n.falseValue;return n.indeterminateValue}function N(M){(M.keyCode===13||M.keyCode===32)&&pt(M)}function V(M){(M.keyCode===13||M.keyCode===32)&&P(M)}const F=t(b,x);return Object.assign(i,{toggle:P}),()=>{const M=F();n.disable!==!0&&E(M,"unshift",` q-${e}__native absolute q-ma-none q-pa-none`);const K=[z("div",{class:_.value,style:f.value,"aria-hidden":"true"},M)];u.value!==null&&K.push(u.value);const I=n.label!==void 0?Dn(a.default,[n.label]):Ct(a.default);return I!==void 0&&K.push(z("div",{class:`q-${e}__label q-anchor--skip`},I)),z("div",{ref:l,class:h.value,...S.value,onClick:P,onKeydown:N,onKeyup:V},K)}}const Xx=z("div",{key:"svg",class:"q-checkbox__bg absolute"},[z("svg",{class:"q-checkbox__svg fit absolute-full",viewBox:"0 0 24 24"},[z("path",{class:"q-checkbox__truthy",fill:"none",d:"M1.73,12.91 8.1,19.28 22.79,4.59"}),z("path",{class:"q-checkbox__indet",d:"M4,14H20V10H4"})])]),eP=tt({name:"QCheckbox",props:Wp,emits:Up,setup(e){function t(n,a){const r=j(()=>(n.value===!0?e.checkedIcon:a.value===!0?e.indeterminateIcon:e.uncheckedIcon)||null);return()=>r.value!==null?[z("div",{key:"icon",class:"q-checkbox__icon-container absolute-full flex flex-center no-wrap"},[z(Gt,{class:"q-checkbox__icon",name:r.value})])]:[Xx]}return Jp("checkbox",t)}}),tP=tt({name:"QToggle",props:{...Wp,icon:String,iconColor:String},emits:Up,setup(e){function t(n,a){const r=j(()=>(n.value===!0?e.checkedIcon:a.value===!0?e.indeterminateIcon:e.uncheckedIcon)||e.icon),i=j(()=>n.value===!0?e.iconColor:null);return()=>[z("div",{class:"q-toggle__track"}),z("div",{class:"q-toggle__thumb absolute flex flex-center no-wrap"},r.value!==void 0?[z(Gt,{name:r.value,color:i.value})]:void 0)]}return Jp("toggle",t)}}),Yp={radio:Zx,checkbox:eP,toggle:tP},nP=Object.keys(Yp),aP=tt({name:"QOptionGroup",props:{...Fn,modelValue:{required:!0},options:{type:Array,validator:e=>e.every(t=>"value"in t&&"label"in t)},name:String,type:{default:"radio",validator:e=>nP.includes(e)},color:String,keepColor:Boolean,dense:Boolean,size:String,leftLabel:Boolean,inline:Boolean,disable:Boolean},emits:["update:modelValue"],setup(e,{emit:t,slots:n}){const{proxy:{$q:a}}=Le(),r=Array.isArray(e.modelValue);e.type==="radio"?r===!0&&console.error("q-option-group: model should not be array"):r===!1&&console.error("q-option-group: model should be array in your case");const i=Bn(e,a),s=j(()=>Yp[e.type]),o=j(()=>"q-option-group q-gutter-x-sm"+(e.inline===!0?" q-option-group--inline":"")),l=j(()=>{const c={role:"group"};return e.type==="radio"&&(c.role="radiogroup",e.disable===!0&&(c["aria-disabled"]="true")),c});function u(c){t("update:modelValue",c)}return()=>z("div",{class:o.value,...l.value},e.options.map((c,f)=>{const d=n["label-"+f]!==void 0?()=>n["label-"+f](c):n.label!==void 0?()=>n.label(c):void 0;return z("div",[z(s.value,{modelValue:e.modelValue,val:c.value,name:c.name===void 0?e.name:c.name,disable:e.disable||c.disable,label:d===void 0?c.label:null,leftLabel:c.leftLabel===void 0?e.leftLabel:c.leftLabel,color:c.color===void 0?e.color:c.color,checkedIcon:c.checkedIcon,uncheckedIcon:c.uncheckedIcon,dark:c.dark||i.value,size:c.size===void 0?e.size:c.size,dense:e.dense,keepColor:c.keepColor===void 0?e.keepColor:c.keepColor,"onUpdate:modelValue":u},d)])}))}}),rP=tt({name:"DialogPlugin",props:{...Fn,title:String,message:String,prompt:Object,options:Object,progress:[Boolean,Object],html:Boolean,ok:{type:[String,Object,Boolean],default:!0},cancel:[String,Object,Boolean],focus:{type:String,default:"ok",validator:e=>["ok","cancel","none"].includes(e)},stackButtons:Boolean,color:String,cardClass:[String,Array,Object],cardStyle:[String,Array,Object]},emits:["ok","hide"],setup(e,{emit:t}){const{proxy:n}=Le(),{$q:a}=n,r=Bn(e,a),i=se(null),s=se(e.prompt!==void 0?e.prompt.model:e.options!==void 0?e.options.model:void 0),o=j(()=>"q-dialog-plugin"+(r.value===!0?" q-dialog-plugin--dark q-dark":"")+(e.progress!==!1?" q-dialog-plugin--progress":"")),l=j(()=>e.color||(r.value===!0?"amber":"primary")),u=j(()=>e.progress===!1?null:Mt(e.progress)===!0?{component:e.progress.spinner||nr,props:{color:e.progress.color||l.value}}:{component:nr,props:{color:l.value}}),c=j(()=>e.prompt!==void 0||e.options!==void 0),f=j(()=>{if(c.value!==!0)return{};const{model:I,isValid:ee,items:ae,...O}=e.prompt!==void 0?e.prompt:e.options;return O}),d=j(()=>Mt(e.ok)===!0||e.ok===!0?a.lang.label.ok:e.ok),p=j(()=>Mt(e.cancel)===!0||e.cancel===!0?a.lang.label.cancel:e.cancel),b=j(()=>e.prompt!==void 0?e.prompt.isValid!==void 0&&e.prompt.isValid(s.value)!==!0:e.options!==void 0?e.options.isValid!==void 0&&e.options.isValid(s.value)!==!0:!1),C=j(()=>({color:l.value,label:d.value,ripple:!1,disable:b.value,...Mt(e.ok)===!0?e.ok:{flat:!0},"data-autofocus":e.focus==="ok"&&c.value!==!0||void 0,onClick:_})),x=j(()=>({color:l.value,label:p.value,ripple:!1,...Mt(e.cancel)===!0?e.cancel:{flat:!0},"data-autofocus":e.focus==="cancel"&&c.value!==!0||void 0,onClick:w}));Pe(()=>e.prompt&&e.prompt.model,S),Pe(()=>e.options&&e.options.model,S);function y(){i.value.show()}function h(){i.value.hide()}function _(){t("ok",fe(s.value)),h()}function w(){h()}function E(){t("hide")}function S(I){s.value=I}function P(I){b.value!==!0&&e.prompt.type!=="textarea"&&tr(I,13)===!0&&_()}function D(I,ee){return e.html===!0?z(Da,{class:I,innerHTML:ee}):z(Da,{class:I},()=>ee)}function N(){return[z(Yx,{modelValue:s.value,...f.value,color:l.value,dense:!0,autofocus:!0,dark:r.value,"onUpdate:modelValue":S,onKeyup:P})]}function V(){return[z(aP,{modelValue:s.value,...f.value,color:l.value,options:e.options.items,dark:r.value,"onUpdate:modelValue":S})]}function F(){const I=[];return e.cancel&&I.push(z(ro,x.value)),e.ok&&I.push(z(ro,C.value)),z(Px,{class:e.stackButtons===!0?"items-end":"",vertical:e.stackButtons,align:"right"},()=>I)}function M(){const I=[];return e.title&&I.push(D("q-dialog__title",e.title)),e.progress!==!1&&I.push(z(Da,{class:"q-dialog__progress"},()=>z(u.value.component,u.value.props))),e.message&&I.push(D("q-dialog__message",e.message)),e.prompt!==void 0?I.push(z(Da,{class:"scroll q-dialog-plugin__form"},N)):e.options!==void 0&&I.push(z(Gc,{dark:r.value}),z(Da,{class:"scroll q-dialog-plugin__form"},V),z(Gc,{dark:r.value})),(e.ok||e.cancel)&&I.push(F()),I}function K(){return[z(xx,{class:[o.value,e.cardClass],style:e.cardStyle,dark:r.value},M)]}return Object.assign(n,{show:y,hide:h}),()=>z(Cx,{ref:i,onHide:E},K)}});function Qp(e,t){for(const n in t)n!=="spinner"&&Object(t[n])===t[n]?(e[n]=Object(e[n])!==e[n]?{}:{...e[n]},Qp(e[n],t[n])):e[n]=t[n]}function iP(e,t,n){return a=>{let r,i;const s=t===!0&&a.component!==void 0;if(s===!0){const{component:h,componentProps:_}=a;r=typeof h=="string"?n.component(h):h,i=_||{}}else{const{class:h,style:_,...w}=a;r=e,i=w,h!==void 0&&(w.cardClass=h),_!==void 0&&(w.cardStyle=_)}let o,l=!1;const u=se(null),c=ul(),f=h=>{if(u.value!==null&&u.value[h]!==void 0){u.value[h]();return}const _=o.$.subTree;if(_&&_.component){if(_.component.proxy&&_.component.proxy[h]){_.component.proxy[h]();return}if(_.component.subTree&&_.component.subTree.component&&_.component.subTree.component.proxy&&_.component.subTree.component.proxy[h]){_.component.subTree.component.proxy[h]();return}}console.error("[Quasar] Incorrectly defined Dialog component")},d=[],p=[],b={onOk(h){return d.push(h),b},onCancel(h){return p.push(h),b},onDismiss(h){return d.push(h),p.push(h),b},hide(){return f("hide"),b},update(h){if(o!==null){if(s===!0)Object.assign(i,h);else{const{class:_,style:w,...E}=h;_!==void 0&&(E.cardClass=_),w!==void 0&&(E.cardStyle=w),Qp(i,E)}o.$forceUpdate()}return b}},C=h=>{l=!0,d.forEach(_=>{_(h)})},x=()=>{y.unmount(c),Vp(c),y=null,o=null,l!==!0&&p.forEach(h=>{h()})};let y=Cp({name:"QGlobalDialog",setup:()=>()=>z(r,{...i,ref:u,onOk:C,onHide:x,onVnodeMounted(...h){typeof i.onVnodeMounted=="function"&&i.onVnodeMounted(...h),Xe(()=>f("show"))}})},n);return o=y.mount(c),b}}const sP={install({$q:e,parentApp:t}){e.dialog=iP(rP,!0,t),this.__installed!==!0&&(this.create=e.dialog)}};const Hn=um(Fy);Hn.use(bC,{plugins:{Notify:ZC,Dialog:sP},config:{notify:{}}});Hn.use(new Tv({debug:!1,connection:ln.backend?`${ln.backend}`:"/",options:{autoConnect:!1,path:ln.socketPath}}));Hn.use(zn);Hn.use(BE);Hn.use(KE,Uo,{useGlobalProperties:!0});Hn.config.globalProperties.$axios=el;Hn.use(Yf).mount("#app");export{Ll as $,Ct as A,bt as B,MP as C,RP as D,nx as E,Fn as F,ax as G,Bn as H,ex as I,rx as J,XC as K,Hd as L,OP as M,yx as N,jP as O,ce as P,NC as Q,ue as R,Gt as S,ui as T,cP as U,Rb as V,Vb as W,vP as X,st as Y,pP as Z,Iy as _,Me as a,gr as a$,OC as a0,zC as a1,Tp as a2,Ap as a3,zP as a4,Da as a5,xx as a6,em as a7,wP as a8,Yx as a9,ri as aA,QE as aB,Oh as aC,Ix as aD,Gc as aE,SP as aF,yi as aG,Od as aH,Mp as aI,dl as aJ,fC as aK,de as aL,_d as aM,ir as aN,Ob as aO,uP as aP,Ib as aQ,gP as aR,li as aS,eP as aT,_P as aU,tP as aV,Vx as aW,Rx as aX,zx as aY,Ox as aZ,fr as a_,Px as aa,ro as ab,Cx as ac,My as ad,Ti as ae,Wn as af,PC as ag,bP as ah,ix as ai,tx as aj,BP as ak,cx as al,eC as am,XE as an,Vn as ao,pt as ap,zn as aq,Uo as ar,tr as as,on as at,Wr as au,Fe as av,eo as aw,yC as ax,DP as ay,LP as az,tt as b,vC as b0,Sx as b1,qc as b2,$c as b3,lx as b4,_x as b5,AC as b6,kp as b7,Fd as b8,ml as b9,fP as bA,nr as bB,yP as bC,DC as bD,LC as bE,hP as bF,dP as bG,mP as bH,cs as bI,jC as bJ,pm as bK,A_ as bL,el as bM,kP as bN,TP as bO,EP as bP,gm as bQ,$x as ba,Bd as bb,So as bc,so as bd,rs as be,Sp as bf,Jx as bg,CP as bh,M_ as bi,Np as bj,to as bk,VP as bl,IP as bm,Mt as bn,PP as bo,mr as bp,rn as bq,Ec as br,GP as bs,qp as bt,HP as bu,$P as bv,qC as bw,FP as bx,Nx as by,NP as bz,ei as c,Pe as d,bn as e,kt as f,qP as g,Le as h,mx as i,fx as j,se as k,it as l,pn as m,er as n,Xr as o,KP as p,j as q,mb as r,hn as s,Ir as t,or as u,Dn as v,Mr as w,z as x,AP as y,Xe as z}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/export-file.dc78ba05.js b/resources/[tools]/unlimited-spectre/html/assets/export-file.dc78ba05.js deleted file mode 100644 index 84e5207d9..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/export-file.dc78ba05.js +++ /dev/null @@ -1 +0,0 @@ -function r(t){setTimeout(()=>{window.URL.revokeObjectURL(t.href)},1e4),t.remove()}function u(t,o,n={}){const{mimeType:a,byteOrderMark:d,encoding:i}=typeof n=="string"?{mimeType:n}:n,c=i!==void 0?new TextEncoder(i).encode([o]):o,l=d!==void 0?[d,c]:[c],s=new Blob(l,{type:a||"application/octet-stream"}),e=document.createElement("a");e.href=window.URL.createObjectURL(s),e.setAttribute("download",t),typeof e.download>"u"&&e.setAttribute("target","_blank"),e.classList.add("hidden"),e.style.position="fixed",document.body.appendChild(e);try{return e.click(),r(e),!0}catch(b){return r(e),b}}export{u as e}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/externalHosting.js b/resources/[tools]/unlimited-spectre/html/assets/externalHosting.js deleted file mode 100644 index 9d0b28e18..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/externalHosting.js +++ /dev/null @@ -1 +0,0 @@ -const e={backend:"",base:"",webHistory:null,isSubPath:null,socketPath:"/socket.io"};export{e}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/fa-brands-400.8ea87917.woff2 b/resources/[tools]/unlimited-spectre/html/assets/fa-brands-400.8ea87917.woff2 deleted file mode 100644 index 402f81c0b..000000000 Binary files a/resources/[tools]/unlimited-spectre/html/assets/fa-brands-400.8ea87917.woff2 and /dev/null differ diff --git a/resources/[tools]/unlimited-spectre/html/assets/fa-brands-400.f9217f66.woff b/resources/[tools]/unlimited-spectre/html/assets/fa-brands-400.f9217f66.woff deleted file mode 100644 index 3375bef09..000000000 Binary files a/resources/[tools]/unlimited-spectre/html/assets/fa-brands-400.f9217f66.woff and /dev/null differ diff --git a/resources/[tools]/unlimited-spectre/html/assets/fa-regular-400.cb9e9e69.woff b/resources/[tools]/unlimited-spectre/html/assets/fa-regular-400.cb9e9e69.woff deleted file mode 100644 index ad077c6be..000000000 Binary files a/resources/[tools]/unlimited-spectre/html/assets/fa-regular-400.cb9e9e69.woff and /dev/null differ diff --git a/resources/[tools]/unlimited-spectre/html/assets/fa-regular-400.e42a8844.woff2 b/resources/[tools]/unlimited-spectre/html/assets/fa-regular-400.e42a8844.woff2 deleted file mode 100644 index 56328948b..000000000 Binary files a/resources/[tools]/unlimited-spectre/html/assets/fa-regular-400.e42a8844.woff2 and /dev/null differ diff --git a/resources/[tools]/unlimited-spectre/html/assets/fa-solid-900.3f6d3488.woff b/resources/[tools]/unlimited-spectre/html/assets/fa-solid-900.3f6d3488.woff deleted file mode 100644 index 23ee66344..000000000 Binary files a/resources/[tools]/unlimited-spectre/html/assets/fa-solid-900.3f6d3488.woff and /dev/null differ diff --git a/resources/[tools]/unlimited-spectre/html/assets/fa-solid-900.9834b82a.woff2 b/resources/[tools]/unlimited-spectre/html/assets/fa-solid-900.9834b82a.woff2 deleted file mode 100644 index 2217164f0..000000000 Binary files a/resources/[tools]/unlimited-spectre/html/assets/fa-solid-900.9834b82a.woff2 and /dev/null differ diff --git a/resources/[tools]/unlimited-spectre/html/assets/favicon.9275a8f0.ico b/resources/[tools]/unlimited-spectre/html/assets/favicon.9275a8f0.ico deleted file mode 100644 index 66dcc75aa..000000000 Binary files a/resources/[tools]/unlimited-spectre/html/assets/favicon.9275a8f0.ico and /dev/null differ diff --git a/resources/[tools]/unlimited-spectre/html/assets/fivem.53119c65.svg b/resources/[tools]/unlimited-spectre/html/assets/fivem.53119c65.svg deleted file mode 100644 index 07bbc00cf..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/fivem.53119c65.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/resources/[tools]/unlimited-spectre/html/assets/flUhRq6tzZclQEJ-Vdg-IuiaDsNa.fd84f88b.woff b/resources/[tools]/unlimited-spectre/html/assets/flUhRq6tzZclQEJ-Vdg-IuiaDsNa.fd84f88b.woff deleted file mode 100644 index 88fdf4d02..000000000 Binary files a/resources/[tools]/unlimited-spectre/html/assets/flUhRq6tzZclQEJ-Vdg-IuiaDsNa.fd84f88b.woff and /dev/null differ diff --git a/resources/[tools]/unlimited-spectre/html/assets/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.83be7b2f.woff2 b/resources/[tools]/unlimited-spectre/html/assets/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.83be7b2f.woff2 deleted file mode 100644 index 6bc97ed6b..000000000 Binary files a/resources/[tools]/unlimited-spectre/html/assets/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.83be7b2f.woff2 and /dev/null differ diff --git a/resources/[tools]/unlimited-spectre/html/assets/index.5cf5aafe.css b/resources/[tools]/unlimited-spectre/html/assets/index.5cf5aafe.css deleted file mode 100644 index a68a698be..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/index.5cf5aafe.css +++ /dev/null @@ -1,4 +0,0 @@ -@charset "UTF-8";body{margin:0}#loading-bg{width:100%;height:100%;background:var(--q-dark);display:block;position:absolute}.loading-logo{position:absolute;left:calc(50% - 45px);top:40%}.loading-logo img{width:70px;height:70px}.loading{position:absolute;left:calc(50% - 35px);top:50%;width:55px;height:55px;border-radius:50%;-webkit-box-sizing:border-box;box-sizing:border-box;border:3px solid transparent}.loading .effect-1,.loading .effect-2{position:absolute;width:100%;height:100%;border:3px solid transparent;border-left:3px solid var(--q-primary);border-radius:50%;-webkit-box-sizing:border-box;box-sizing:border-box}.loading .effect-1{animation:rotate 1s ease infinite}.loading .effect-2{animation:rotateOpacity 1s ease infinite .1s}.loading .effect-3{position:absolute;width:100%;height:100%;border:3px solid transparent;border-left:3px solid var(--q-primary);-webkit-animation:rotateOpacity 1s ease infinite .2s;animation:rotateOpacity 1s ease infinite .2s;border-radius:50%;-webkit-box-sizing:border-box;box-sizing:border-box}.loading .effects{transition:all .3s ease}@keyframes rotate{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes rotateOpacity{0%{-webkit-transform:rotate(0deg);transform:rotate(0);opacity:.1}to{-webkit-transform:rotate(1turn);transform:rotate(1turn);opacity:1}}:root{--q-main: #ffffff;--q-sub: #9e9e9e}.text-main{color:var(--q-main)!important}.bg-main{background:var(--q-main)!important}.text-sub{color:var(--q-sub)!important}.bg-sub{background:var(--q-sub)!important}html{background:var(--q-dark)}#app{font-family:Montserrat,Helvetica,Arial,serif}.scale-enter-active,.scale-leave-active{transition:all .5s ease}.scale-enter-from,.scale-leave-to{opacity:0;transform:scale(.9)}[v-cloak]{display:none}@font-face{font-family:Roboto;font-style:normal;font-weight:100;src:url(./KFOkCnqEu92Fr1MmgVxIIzQ.34e9582c.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-weight:300;src:url(./KFOlCnqEu92Fr1MmSU5fBBc-.bf14c7d7.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-weight:400;src:url(./KFOmCnqEu92Fr1Mu4mxM.f2abf7fb.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-weight:500;src:url(./KFOlCnqEu92Fr1MmEU9fBBc-.9ce7f3ac.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-weight:700;src:url(./KFOlCnqEu92Fr1MmWUlfBBc-.e0fd57c0.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-weight:900;src:url(./KFOlCnqEu92Fr1MmYUtfBBc-.f6537e32.woff) format("woff")}@font-face{font-family:Material Icons;font-style:normal;font-weight:400;font-display:block;src:url(./flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.83be7b2f.woff2) format("woff2"),url(./flUhRq6tzZclQEJ-Vdg-IuiaDsNa.fd84f88b.woff) format("woff")}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:"liga"}/*! - * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) - */.fa,.fas,.far,.fal,.fad,.fab{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:solid .08em #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fas.fa-pull-left,.far.fa-pull-left,.fal.fa-pull-left,.fab.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fas.fa-pull-right,.far.fa-pull-right,.fal.fa-pull-right,.fab.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1,1);transform:scaleX(-1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1,-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(-1,-1);transform:scale(-1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-flip-both{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-bacteria:before{content:"\e059"}.fa-bacterium:before{content:"\e05a"}.fa-bahai:before{content:"\f666"}.fa-balance-scale:before{content:"\f24e"}.fa-balance-scale-left:before{content:"\f515"}.fa-balance-scale-right:before{content:"\f516"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-battle-net:before{content:"\f835"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-biking:before{content:"\f84a"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-dead:before{content:"\f6b7"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bootstrap:before{content:"\f836"}.fa-border-all:before{content:"\f84c"}.fa-border-none:before{content:"\f850"}.fa-border-style:before{content:"\f853"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-box-tissue:before{content:"\e05b"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buy-n-large:before{content:"\f8a6"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caravan:before{content:"\f8ff"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clinic-medical:before{content:"\f7f2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudflare:before{content:"\e07d"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-alt:before{content:"\f422"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-cotton-bureau:before{content:"\f89e"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-critical-role:before{content:"\f6c9"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dailymotion:before{content:"\e052"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-deezer:before{content:"\e077"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-disease:before{content:"\f7fa"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edge-legacy:before{content:"\e078"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-evernote:before{content:"\f839"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-alt:before{content:"\f424"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fan:before{content:"\f863"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-faucet:before{content:"\e005"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-firefox-browser:before{content:"\e007"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-pay:before{content:"\e079"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guilded:before{content:"\e07e"}.fa-guitar:before{content:"\f7a6"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-holding-water:before{content:"\f4c1"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-sparkles:before{content:"\e05d"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-hands-wash:before{content:"\e05e"}.fa-handshake:before{content:"\f2b5"}.fa-handshake-alt-slash:before{content:"\e05f"}.fa-handshake-slash:before{content:"\e060"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-hat-wizard:before{content:"\f6e8"}.fa-hdd:before{content:"\f0a0"}.fa-head-side-cough:before{content:"\e061"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-head-side-mask:before{content:"\e063"}.fa-head-side-virus:before{content:"\e064"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hive:before{content:"\e07f"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hospital-user:before{content:"\f80d"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house-damage:before{content:"\f6f1"}.fa-house-user:before{content:"\e065"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-icons:before{content:"\f86d"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-ideal:before{content:"\e013"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-innosoft:before{content:"\e080"}.fa-instagram:before{content:"\f16d"}.fa-instagram-square:before{content:"\e055"}.fa-instalod:before{content:"\e081"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-house:before{content:"\e066"}.fa-laptop-medical:before{content:"\f812"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lungs:before{content:"\f604"}.fa-lungs-virus:before{content:"\e067"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-mdb:before{content:"\f8ca"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microblog:before{content:"\e01a"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mixer:before{content:"\e056"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mouse:before{content:"\f8cc"}.fa-mouse-pointer:before{content:"\f245"}.fa-mug-hot:before{content:"\f7b6"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-octopus-deploy:before{content:"\e082"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-orcid:before{content:"\f8d2"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-penny-arcade:before{content:"\f704"}.fa-people-arrows:before{content:"\e068"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-perbyte:before{content:"\e083"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before{content:"\f879"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-square-alt:before{content:"\f87b"}.fa-phone-volume:before{content:"\f2a0"}.fa-photo-video:before{content:"\f87c"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-square:before{content:"\e01e"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-plane-slash:before{content:"\e069"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pump-medical:before{content:"\e06a"}.fa-pump-soap:before{content:"\e06b"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-rainbow:before{content:"\f75b"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-record-vinyl:before{content:"\f8d9"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-remove-format:before{content:"\f87d"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-rust:before{content:"\e07a"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-shield-virus:before{content:"\e06c"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopify:before{content:"\e057"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-sink:before{content:"\e06d"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-sketch:before{content:"\f7c6"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-soap:before{content:"\e06e"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-down-alt:before{content:"\f884"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-amount-up-alt:before{content:"\f885"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-stopwatch-20:before{content:"\e06f"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-store-alt-slash:before{content:"\e070"}.fa-store-slash:before{content:"\e071"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swift:before{content:"\f8e1"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-symfony:before{content:"\f83d"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-tiktok:before{content:"\e07b"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-trailer:before{content:"\e041"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbraco:before{content:"\f8e8"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-uncharted:before{content:"\e084"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-unity:before{content:"\e049"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-unsplash:before{content:"\e07c"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-users-slash:before{content:"\e073"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-vest:before{content:"\e085"}.fa-vest-patches:before{content:"\e086"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-virus:before{content:"\e074"}.fa-virus-slash:before{content:"\e075"}.fa-viruses:before{content:"\e076"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-voicemail:before{content:"\f897"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-watchman-monitoring:before{content:"\e087"}.fa-water:before{content:"\f773"}.fa-wave-square:before{content:"\f83e"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wodu:before{content:"\e088"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:400;font-display:block;src:url(./fa-brands-400.8ea87917.woff2) format("woff2"),url(./fa-brands-400.f9217f66.woff) format("woff")}.fab{font-family:"Font Awesome 5 Brands"}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:block;src:url(./fa-regular-400.e42a8844.woff2) format("woff2"),url(./fa-regular-400.cb9e9e69.woff) format("woff")}.far{font-family:"Font Awesome 5 Free";font-weight:400}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:block;src:url(./fa-solid-900.9834b82a.woff2) format("woff2"),url(./fa-solid-900.3f6d3488.woff) format("woff")}.fa,.fas{font-family:"Font Awesome 5 Free";font-weight:900}*,*:before,*:after{box-sizing:inherit;-webkit-tap-highlight-color:transparent;-moz-tap-highlight-color:transparent}html,body,#q-app{width:100%;direction:ltr}body.platform-ios.within-iframe,body.platform-ios.within-iframe #q-app{width:100px;min-width:100%}html,body{margin:0;box-sizing:border-box}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}img{border-style:none}svg:not(:root){overflow:hidden}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}hr{box-sizing:content-box;height:0;overflow:visible}button,input,optgroup,select,textarea{font:inherit;font-family:inherit;margin:0}optgroup{font-weight:700}button,input,select{overflow:visible;text-transform:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}button:-moz-focusring,input:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.q-icon{line-height:1;width:1em;height:1em;flex-shrink:0;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;text-align:center;position:relative;box-sizing:content-box;fill:currentColor}.q-icon:before,.q-icon:after{width:100%;height:100%;display:flex!important;align-items:center;justify-content:center}.q-icon>svg,.q-icon>img{width:100%;height:100%}.q-icon,.material-icons,.material-icons-outlined,.material-icons-round,.material-icons-sharp,.material-symbols-outlined,.material-symbols-rounded,.material-symbols-sharp{user-select:none;cursor:inherit;font-size:inherit;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}.q-panel{height:100%;width:100%}.q-panel>div{height:100%;width:100%}.q-panel-parent{overflow:hidden;position:relative}.q-loading-bar{position:fixed;z-index:9998;transition:transform .5s cubic-bezier(0,0,.2,1),opacity .5s;background:#f44336}.q-loading-bar--top{left:0;right:0;top:0;width:100%}.q-loading-bar--bottom{left:0;right:0;bottom:0;width:100%}.q-loading-bar--right{top:0;bottom:0;right:0;height:100%}.q-loading-bar--left{top:0;bottom:0;left:0;height:100%}.q-avatar{position:relative;vertical-align:middle;display:inline-block;border-radius:50%;font-size:48px;height:1em;width:1em}.q-avatar__content{font-size:.5em;line-height:.5em}.q-avatar__content,.q-avatar img:not(.q-icon):not(.q-img__image){border-radius:inherit;height:inherit;width:inherit}.q-avatar--square{border-radius:0}.q-badge{background-color:var(--q-primary);color:#fff;padding:2px 6px;border-radius:4px;font-size:12px;line-height:12px;min-height:12px;font-weight:400;vertical-align:baseline}.q-badge--single-line{white-space:nowrap}.q-badge--multi-line{word-break:break-all;word-wrap:break-word}.q-badge--floating{position:absolute;top:-4px;right:-3px;cursor:inherit}.q-badge--transparent{opacity:.8}.q-badge--outline{background-color:transparent;border:1px solid currentColor}.q-badge--rounded{border-radius:1em}.q-banner{min-height:54px;padding:8px 16px;background:#fff}.q-banner--top-padding{padding-top:14px}.q-banner__avatar{min-width:1px!important}.q-banner__avatar>.q-avatar{font-size:46px}.q-banner__avatar>.q-icon{font-size:40px}.q-banner__avatar:not(:empty)+.q-banner__content{padding-left:16px}.q-banner__actions.col-auto{padding-left:16px}.q-banner__actions.col-all .q-btn-item{margin:4px 0 0 4px}.q-banner--dense{min-height:32px;padding:8px}.q-banner--dense.q-banner--top-padding{padding-top:12px}.q-banner--dense .q-banner__avatar>.q-avatar,.q-banner--dense .q-banner__avatar>.q-icon{font-size:28px}.q-banner--dense .q-banner__avatar:not(:empty)+.q-banner__content{padding-left:8px}.q-banner--dense .q-banner__actions.col-auto{padding-left:8px}.q-bar{background:rgba(0,0,0,.2)}.q-bar>.q-icon{margin-left:2px}.q-bar>div,.q-bar>div+.q-icon{margin-left:8px}.q-bar>.q-btn{margin-left:2px}.q-bar>.q-icon:first-child,.q-bar>.q-btn:first-child,.q-bar>div:first-child{margin-left:0}.q-bar--standard{padding:0 12px;height:32px;font-size:18px}.q-bar--standard>div{font-size:16px}.q-bar--standard .q-btn{font-size:11px}.q-bar--dense{padding:0 8px;height:24px;font-size:14px}.q-bar--dense .q-btn{font-size:8px}.q-bar--dark{background:rgba(255,255,255,.15)}.q-breadcrumbs__el{color:inherit}.q-breadcrumbs__el-icon{font-size:125%}.q-breadcrumbs__el-icon--with-label{margin-right:8px}[dir=rtl] .q-breadcrumbs__separator .q-icon{transform:scaleX(-1)}.q-btn{display:inline-flex;flex-direction:column;align-items:stretch;position:relative;outline:0;border:0;vertical-align:middle;font-size:14px;line-height:1.715em;text-decoration:none;color:inherit;background:transparent;font-weight:500;text-transform:uppercase;text-align:center;width:auto;height:auto;cursor:default;padding:4px 16px;min-height:2.572em}.q-btn .q-icon,.q-btn .q-spinner{font-size:1.715em}.q-btn.disabled{opacity:.7!important}.q-btn:before{content:"";display:block;position:absolute;left:0;right:0;top:0;bottom:0;border-radius:inherit;box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f}.q-btn--actionable{cursor:pointer}.q-btn--actionable.q-btn--standard:before{transition:box-shadow .3s cubic-bezier(.25,.8,.5,1)}.q-btn--actionable.q-btn--standard:active:before,.q-btn--actionable.q-btn--standard.q-btn--active:before{box-shadow:0 3px 5px -1px #0003,0 5px 8px #00000024,0 1px 14px #0000001f}.q-btn--no-uppercase{text-transform:none}.q-btn--rectangle{border-radius:3px}.q-btn--outline{background:transparent!important}.q-btn--outline:before{border:1px solid currentColor}.q-btn--push{border-radius:7px}.q-btn--push:before{border-bottom:3px solid rgba(0,0,0,.15)}.q-btn--push.q-btn--actionable{transition:transform .3s cubic-bezier(.25,.8,.5,1)}.q-btn--push.q-btn--actionable:before{transition:border-width .3s cubic-bezier(.25,.8,.5,1)}.q-btn--push.q-btn--actionable:active,.q-btn--push.q-btn--actionable.q-btn--active{transform:translateY(2px)}.q-btn--push.q-btn--actionable:active:before,.q-btn--push.q-btn--actionable.q-btn--active:before{border-bottom-width:0}.q-btn--rounded{border-radius:28px}.q-btn--round{border-radius:50%;padding:0;min-width:3em;min-height:3em}.q-btn--square{border-radius:0}.q-btn--flat:before,.q-btn--outline:before,.q-btn--unelevated:before{box-shadow:none}.q-btn--dense{padding:.285em;min-height:2em}.q-btn--dense.q-btn--round{padding:0;min-height:2.4em;min-width:2.4em}.q-btn--dense .on-left{margin-right:6px}.q-btn--dense .on-right{margin-left:6px}.q-btn--fab .q-icon,.q-btn--fab-mini .q-icon{font-size:24px}.q-btn--fab{padding:16px;min-height:56px;min-width:56px}.q-btn--fab .q-icon{margin:auto}.q-btn--fab-mini{padding:8px;min-height:40px;min-width:40px}.q-btn__content{transition:opacity .3s;z-index:0}.q-btn__content--hidden{opacity:0;pointer-events:none}.q-btn__progress{border-radius:inherit;z-index:0}.q-btn__progress-indicator{z-index:-1;transform:translate(-100%);background:rgba(255,255,255,.25)}.q-btn__progress--dark .q-btn__progress-indicator{background:rgba(0,0,0,.2)}.q-btn--flat .q-btn__progress-indicator,.q-btn--outline .q-btn__progress-indicator{opacity:.2;background:currentColor}.q-btn-dropdown--split .q-btn-dropdown__arrow-container{padding:0 4px}.q-btn-dropdown--split .q-btn-dropdown__arrow-container.q-btn--outline{border-left:1px solid currentColor}.q-btn-dropdown--split .q-btn-dropdown__arrow-container:not(.q-btn--outline){border-left:1px solid rgba(255,255,255,.3)}.q-btn-dropdown--simple *+.q-btn-dropdown__arrow{margin-left:8px}.q-btn-dropdown__arrow{transition:transform .28s}.q-btn-dropdown--current{flex-grow:1}.q-btn-group{border-radius:3px;box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f;vertical-align:middle}.q-btn-group>.q-btn-item{border-radius:inherit;align-self:stretch}.q-btn-group>.q-btn-item:before{box-shadow:none}.q-btn-group>.q-btn-item .q-badge--floating{right:0}.q-btn-group>.q-btn-group{box-shadow:none}.q-btn-group>.q-btn-group:first-child>.q-btn:first-child{border-top-left-radius:inherit;border-bottom-left-radius:inherit}.q-btn-group>.q-btn-group:last-child>.q-btn:last-child{border-top-right-radius:inherit;border-bottom-right-radius:inherit}.q-btn-group>.q-btn-group:not(:first-child)>.q-btn:first-child:before{border-left:0}.q-btn-group>.q-btn-group:not(:last-child)>.q-btn:last-child:before{border-right:0}.q-btn-group>.q-btn-item:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.q-btn-group>.q-btn-item:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.q-btn-group>.q-btn-item.q-btn--standard:before{z-index:-1}.q-btn-group--push{border-radius:7px}.q-btn-group--push>.q-btn--push.q-btn--actionable{transform:none}.q-btn-group--push>.q-btn--push.q-btn--actionable .q-btn__content{transition:margin-top .3s cubic-bezier(.25,.8,.5,1),margin-bottom .3s cubic-bezier(.25,.8,.5,1)}.q-btn-group--push>.q-btn--push.q-btn--actionable:active .q-btn__content,.q-btn-group--push>.q-btn--push.q-btn--actionable.q-btn--active .q-btn__content{margin-top:2px;margin-bottom:-2px}.q-btn-group--rounded{border-radius:28px}.q-btn-group--square{border-radius:0}.q-btn-group--flat,.q-btn-group--outline,.q-btn-group--unelevated{box-shadow:none}.q-btn-group--outline>.q-separator{display:none}.q-btn-group--outline>.q-btn-item+.q-btn-item:before{border-left:0}.q-btn-group--outline>.q-btn-item:not(:last-child):before{border-right:0}.q-btn-group--stretch{align-self:stretch;border-radius:0}.q-btn-group--glossy>.q-btn-item{background-image:linear-gradient(to bottom,rgba(255,255,255,.3),rgba(255,255,255,0) 50%,rgba(0,0,0,.12) 51%,rgba(0,0,0,.04))!important}.q-btn-group--spread>.q-btn-group{display:flex!important}.q-btn-group--spread>.q-btn-item,.q-btn-group--spread>.q-btn-group>.q-btn-item:not(.q-btn-dropdown__arrow-container){width:auto;min-width:0;max-width:100%;flex:10000 1 0%}.q-btn-toggle{position:relative}.q-card{box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f;border-radius:4px;vertical-align:top;background:#fff;position:relative}.q-card>div:first-child,.q-card>img:first-child{border-top:0;border-top-left-radius:inherit;border-top-right-radius:inherit}.q-card>div:last-child,.q-card>img:last-child{border-bottom:0;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.q-card>div:not(:first-child),.q-card>img:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.q-card>div:not(:last-child),.q-card>img:not(:last-child){border-bottom-left-radius:0;border-bottom-right-radius:0}.q-card>div{border-left:0;border-right:0;box-shadow:none}.q-card--bordered{border:1px solid rgba(0,0,0,.12)}.q-card--dark{border-color:#ffffff47}.q-card__section{position:relative}.q-card__section--vert{padding:16px}.q-card__section--horiz>div:first-child,.q-card__section--horiz>img:first-child{border-top-left-radius:inherit;border-bottom-left-radius:inherit}.q-card__section--horiz>div:last-child,.q-card__section--horiz>img:last-child{border-top-right-radius:inherit;border-bottom-right-radius:inherit}.q-card__section--horiz>div:not(:first-child),.q-card__section--horiz>img:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.q-card__section--horiz>div:not(:last-child),.q-card__section--horiz>img:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.q-card__section--horiz>div{border-top:0;border-bottom:0;box-shadow:none}.q-card__actions{padding:8px;align-items:center}.q-card__actions .q-btn{padding:0 8px}.q-card__actions--horiz>.q-btn-item+.q-btn-item,.q-card__actions--horiz>.q-btn-group+.q-btn-item,.q-card__actions--horiz>.q-btn-item+.q-btn-group{margin-left:8px}.q-card__actions--vert>.q-btn-item.q-btn--round{align-self:center}.q-card__actions--vert>.q-btn-item+.q-btn-item,.q-card__actions--vert>.q-btn-group+.q-btn-item,.q-card__actions--vert>.q-btn-item+.q-btn-group{margin-top:4px}.q-card__actions--vert>.q-btn-group>.q-btn-item{flex-grow:1}.q-card>img{display:block;width:100%;max-width:100%;border:0}.q-carousel{background-color:#fff;height:400px}.q-carousel__slide{min-height:100%;background-size:cover;background-position:50%}.q-carousel__slide,.q-carousel .q-carousel--padding{padding:16px}.q-carousel__slides-container{height:100%}.q-carousel__control{color:#fff}.q-carousel__arrow{pointer-events:none}.q-carousel__arrow .q-icon{font-size:28px}.q-carousel__arrow .q-btn{pointer-events:all}.q-carousel__prev-arrow--horizontal,.q-carousel__next-arrow--horizontal{top:16px;bottom:16px}.q-carousel__prev-arrow--horizontal{left:16px}.q-carousel__next-arrow--horizontal{right:16px}.q-carousel__prev-arrow--vertical,.q-carousel__next-arrow--vertical{left:16px;right:16px}.q-carousel__prev-arrow--vertical{top:16px}.q-carousel__next-arrow--vertical{bottom:16px}.q-carousel__navigation--top,.q-carousel__navigation--bottom{left:16px;right:16px;overflow-x:auto;overflow-y:hidden}.q-carousel__navigation--top{top:16px}.q-carousel__navigation--bottom{bottom:16px}.q-carousel__navigation--left,.q-carousel__navigation--right{top:16px;bottom:16px;overflow-x:hidden;overflow-y:auto}.q-carousel__navigation--left>.q-carousel__navigation-inner,.q-carousel__navigation--right>.q-carousel__navigation-inner{flex-direction:column}.q-carousel__navigation--left{left:16px}.q-carousel__navigation--right{right:16px}.q-carousel__navigation-inner{flex:1 1 auto}.q-carousel__navigation .q-btn{margin:6px 4px;padding:5px}.q-carousel__navigation-icon--inactive{opacity:.7}.q-carousel .q-carousel__thumbnail{margin:2px;height:50px;width:auto;display:inline-block;cursor:pointer;border:1px solid transparent;border-radius:4px;vertical-align:middle;opacity:.7;transition:opacity .3s}.q-carousel .q-carousel__thumbnail:hover,.q-carousel .q-carousel__thumbnail--active{opacity:1}.q-carousel .q-carousel__thumbnail--active{border-color:currentColor;cursor:default}.q-carousel--navigation-top.q-carousel--with-padding .q-carousel__slide,.q-carousel--navigation-top .q-carousel--padding,.q-carousel--arrows-vertical.q-carousel--with-padding .q-carousel__slide,.q-carousel--arrows-vertical .q-carousel--padding{padding-top:60px}.q-carousel--navigation-bottom.q-carousel--with-padding .q-carousel__slide,.q-carousel--navigation-bottom .q-carousel--padding,.q-carousel--arrows-vertical.q-carousel--with-padding .q-carousel__slide,.q-carousel--arrows-vertical .q-carousel--padding{padding-bottom:60px}.q-carousel--navigation-left.q-carousel--with-padding .q-carousel__slide,.q-carousel--navigation-left .q-carousel--padding,.q-carousel--arrows-horizontal.q-carousel--with-padding .q-carousel__slide,.q-carousel--arrows-horizontal .q-carousel--padding{padding-left:60px}.q-carousel--navigation-right.q-carousel--with-padding .q-carousel__slide,.q-carousel--navigation-right .q-carousel--padding,.q-carousel--arrows-horizontal.q-carousel--with-padding .q-carousel__slide,.q-carousel--arrows-horizontal .q-carousel--padding{padding-right:60px}.q-carousel.fullscreen{height:100%}.q-message-name,.q-message-stamp,.q-message-label{font-size:small}.q-message-label{margin:24px 0;text-align:center}.q-message-stamp{color:inherit;margin-top:4px;opacity:.6;display:none}.q-message-avatar{border-radius:50%;width:48px;height:48px;min-width:48px}.q-message{margin-bottom:8px}.q-message:first-child .q-message-label{margin-top:0}.q-message-avatar--received{margin-right:8px}.q-message-text--received{color:#81c784;border-radius:4px 4px 4px 0}.q-message-text--received:last-child:before{right:100%;border-right:0 solid transparent;border-left:8px solid transparent;border-bottom:8px solid currentColor}.q-message-text-content--received{color:#000}.q-message-name--sent{text-align:right}.q-message-avatar--sent{margin-left:8px}.q-message-container--sent{flex-direction:row-reverse}.q-message-text--sent{color:#e0e0e0;border-radius:4px 4px 0}.q-message-text--sent:last-child:before{left:100%;border-left:0 solid transparent;border-right:8px solid transparent;border-bottom:8px solid currentColor}.q-message-text-content--sent{color:#000}.q-message-text{background:currentColor;padding:8px;line-height:1.2;word-break:break-word;position:relative}.q-message-text+.q-message-text{margin-top:3px}.q-message-text:last-child{min-height:48px}.q-message-text:last-child .q-message-stamp{display:block}.q-message-text:last-child:before{content:"";position:absolute;bottom:0;width:0;height:0}.q-checkbox{vertical-align:middle}.q-checkbox__native{width:1px;height:1px}.q-checkbox__bg,.q-checkbox__icon-container{user-select:none}.q-checkbox__bg{top:25%;left:25%;width:50%;height:50%;border:2px solid currentColor;border-radius:2px;transition:background .22s cubic-bezier(0,0,.2,1) 0ms;-webkit-print-color-adjust:exact}.q-checkbox__icon{color:currentColor;font-size:.5em}.q-checkbox__svg{color:#fff}.q-checkbox__truthy{stroke:currentColor;stroke-width:3.12px;stroke-dashoffset:29.78334;stroke-dasharray:29.78334}.q-checkbox__indet{fill:currentColor;transform-origin:50% 50%;transform:rotate(-280deg) scale(0)}.q-checkbox__inner{font-size:40px;width:1em;min-width:1em;height:1em;outline:0;border-radius:50%;color:#0000008a}.q-checkbox__inner--truthy,.q-checkbox__inner--indet{color:var(--q-primary)}.q-checkbox__inner--truthy .q-checkbox__bg,.q-checkbox__inner--indet .q-checkbox__bg{background:currentColor}.q-checkbox__inner--truthy path{stroke-dashoffset:0;transition:stroke-dashoffset .18s cubic-bezier(.4,0,.6,1) 0ms}.q-checkbox__inner--indet .q-checkbox__indet{transform:rotate(0) scale(1);transition:transform .22s cubic-bezier(0,0,.2,1) 0ms}.q-checkbox.disabled{opacity:.75!important}.q-checkbox--dark .q-checkbox__inner{color:#ffffffb3}.q-checkbox--dark .q-checkbox__inner:before{opacity:.32!important}.q-checkbox--dark .q-checkbox__inner--truthy,.q-checkbox--dark .q-checkbox__inner--indet{color:var(--q-primary)}.q-checkbox--dense .q-checkbox__inner{width:.5em;min-width:.5em;height:.5em}.q-checkbox--dense .q-checkbox__bg{left:5%;top:5%;width:90%;height:90%}.q-checkbox--dense .q-checkbox__label{padding-left:.5em}.q-checkbox--dense.reverse .q-checkbox__label{padding-left:0;padding-right:.5em}body.desktop .q-checkbox:not(.disabled) .q-checkbox__inner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:currentColor;opacity:.12;transform:scale3d(0,0,1);transition:transform .22s cubic-bezier(0,0,.2,1)}body.desktop .q-checkbox:not(.disabled):focus .q-checkbox__inner:before,body.desktop .q-checkbox:not(.disabled):hover .q-checkbox__inner:before{transform:scaleZ(1)}body.desktop .q-checkbox--dense:not(.disabled):focus .q-checkbox__inner:before,body.desktop .q-checkbox--dense:not(.disabled):hover .q-checkbox__inner:before{transform:scale3d(1.4,1.4,1)}.q-chip{vertical-align:middle;border-radius:16px;outline:0;position:relative;height:2em;max-width:100%;margin:4px;background:#e0e0e0;color:#000000de;font-size:14px;padding:.5em .9em}.q-chip--colored .q-chip__icon,.q-chip--dark .q-chip__icon{color:inherit}.q-chip--outline{background:transparent!important;border:1px solid currentColor}.q-chip .q-avatar{font-size:2em;margin-left:-.45em;margin-right:.2em;border-radius:16px}.q-chip--selected .q-avatar{display:none}.q-chip__icon{color:#0000008a;font-size:1.5em;margin:-.2em}.q-chip__icon--left{margin-right:.2em}.q-chip__icon--right{margin-left:.2em}.q-chip__icon--remove{margin-left:.1em;margin-right:-.5em;opacity:.6;outline:0}.q-chip__icon--remove:hover,.q-chip__icon--remove:focus{opacity:1}.q-chip__content{white-space:nowrap}.q-chip--dense{border-radius:12px;padding:0 .4em;height:1.5em}.q-chip--dense .q-avatar{font-size:1.5em;margin-left:-.27em;margin-right:.1em;border-radius:12px}.q-chip--dense .q-chip__icon{font-size:1.25em}.q-chip--dense .q-chip__icon--left{margin-right:.195em}.q-chip--dense .q-chip__icon--remove{margin-right:-.25em}.q-chip--square{border-radius:4px}.q-chip--square .q-avatar{border-radius:3px 0 0 3px}body.desktop .q-chip--clickable:focus{box-shadow:0 1px 3px #0003,0 1px 1px #00000024,0 2px 1px -1px #0000001f}.q-circular-progress{display:inline-block;position:relative;vertical-align:middle;width:1em;height:1em;line-height:1}.q-circular-progress.q-focusable{border-radius:50%}.q-circular-progress__svg{width:100%;height:100%}.q-circular-progress__text{font-size:.25em}.q-circular-progress--indeterminate .q-circular-progress__svg{transform-origin:50% 50%;animation:q-spin 2s linear infinite}.q-circular-progress--indeterminate .q-circular-progress__circle{stroke-dasharray:1 400;stroke-dashoffset:0;animation:q-circular-progress-circle 1.5s ease-in-out infinite}@keyframes q-circular-progress-circle{0%{stroke-dasharray:1,400;stroke-dashoffset:0}50%{stroke-dasharray:400,400;stroke-dashoffset:-100}to{stroke-dasharray:400,400;stroke-dashoffset:-300}}.q-color-picker{overflow:hidden;background:#fff;max-width:350px;vertical-align:top;min-width:180px;border-radius:4px;box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f}.q-color-picker .q-tab{padding:0!important}.q-color-picker--bordered{border:1px solid rgba(0,0,0,.12)}.q-color-picker__header-tabs{height:32px}.q-color-picker__header input{line-height:24px;border:0}.q-color-picker__header .q-tab{min-height:32px!important;height:32px!important}.q-color-picker__header .q-tab--inactive{background:linear-gradient(to top,rgba(0,0,0,.3) 0%,rgba(0,0,0,.15) 25%,rgba(0,0,0,.1))}.q-color-picker__error-icon{bottom:2px;right:2px;font-size:24px;opacity:0;transition:opacity .3s ease-in}.q-color-picker__header-content{position:relative;background:#fff}.q-color-picker__header-content--light{color:#000}.q-color-picker__header-content--dark{color:#fff}.q-color-picker__header-content--dark .q-tab--inactive:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(255,255,255,.2)}.q-color-picker__header-banner{height:36px}.q-color-picker__header-bg{background:#fff;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAH0lEQVQoU2NkYGAwZkAFZ5G5jPRRgOYEVDeB3EBjBQBOZwTVugIGyAAAAABJRU5ErkJggg==)!important}.q-color-picker__footer{height:36px}.q-color-picker__footer .q-tab{min-height:36px!important;height:36px!important}.q-color-picker__footer .q-tab--inactive{background:linear-gradient(to bottom,rgba(0,0,0,.3) 0%,rgba(0,0,0,.15) 25%,rgba(0,0,0,.1))}.q-color-picker__spectrum{width:100%;height:100%}.q-color-picker__spectrum-tab{padding:0!important}.q-color-picker__spectrum-white{background:linear-gradient(to right,#fff,rgba(255,255,255,0))}.q-color-picker__spectrum-black{background:linear-gradient(to top,#000,rgba(0,0,0,0))}.q-color-picker__spectrum-circle{width:10px;height:10px;box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px #0000004d,0 0 1px 2px #0006;border-radius:50%;transform:translate(-5px,-5px)}.q-color-picker__hue .q-slider__track{background:linear-gradient(to right,#f00 0%,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,#f00 100%)!important;opacity:1}.q-color-picker__alpha .q-slider__track-container{padding-top:0}.q-color-picker__alpha .q-slider__track:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(90deg,rgba(255,255,255,0),#757575)}.q-color-picker__sliders{padding:0 16px}.q-color-picker__sliders .q-slider__thumb{color:#424242}.q-color-picker__sliders .q-slider__thumb path{stroke-width:2px;fill:transparent}.q-color-picker__sliders .q-slider--active path{stroke-width:3px}.q-color-picker__tune-tab .q-slider{margin-left:18px;margin-right:18px}.q-color-picker__tune-tab input{font-size:11px;border:1px solid #e0e0e0;border-radius:4px;width:3.5em}.q-color-picker__palette-tab{padding:0!important}.q-color-picker__palette-rows--editable .q-color-picker__cube{cursor:pointer}.q-color-picker__cube{padding-bottom:10%;width:10%!important}.q-color-picker input{color:inherit;background:transparent;outline:0;text-align:center}.q-color-picker .q-tabs{overflow:hidden}.q-color-picker .q-tab--active{box-shadow:0 0 14px 3px #0003}.q-color-picker .q-tab--active .q-focus-helper,.q-color-picker .q-tab__indicator{display:none}.q-color-picker .q-tab-panels{background:inherit}.q-color-picker--dark .q-color-picker__tune-tab input{border:1px solid rgba(255,255,255,.3)}.q-color-picker--dark .q-slider__thumb{color:#fafafa}.q-date{display:inline-flex;box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f;border-radius:4px;background:#fff;width:290px;min-width:290px;max-width:100%}.q-date--bordered{border:1px solid rgba(0,0,0,.12)}.q-date__header{border-top-left-radius:inherit;color:#fff;background-color:var(--q-primary);padding:16px}.q-date__actions{padding:0 16px 16px}.q-date__content,.q-date__main{outline:0}.q-date__content .q-btn{font-weight:400}.q-date__header-link{opacity:.64;outline:0;transition:opacity .3s ease-out}.q-date__header-link--active,.q-date__header-link:hover,.q-date__header-link:focus{opacity:1}.q-date__header-subtitle{font-size:14px;line-height:1.75;letter-spacing:.00938em}.q-date__header-title-label{font-size:24px;line-height:1.2;letter-spacing:.00735em}.q-date__view{height:100%;width:100%;min-height:290px;padding:16px}.q-date__navigation{height:12.5%}.q-date__navigation>div:first-child{width:8%;min-width:24px;justify-content:flex-end}.q-date__navigation>div:last-child{width:8%;min-width:24px;justify-content:flex-start}.q-date__calendar-weekdays{height:12.5%}.q-date__calendar-weekdays>div{opacity:.38;font-size:12px}.q-date__calendar-item{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;width:14.285%!important;height:12.5%!important;position:relative;padding:1px}.q-date__calendar-item:after{content:"";position:absolute;pointer-events:none;top:1px;right:0;bottom:1px;left:0;border-style:dashed;border-color:transparent;border-width:1px}.q-date__calendar-item>div,.q-date__calendar-item button{width:30px;height:30px;border-radius:50%}.q-date__calendar-item>div{line-height:30px;text-align:center}.q-date__calendar-item>button{line-height:22px}.q-date__calendar-item--out{opacity:.18}.q-date__calendar-item--fill{visibility:hidden}.q-date__range:before,.q-date__range-from:before,.q-date__range-to:before{content:"";background-color:currentColor;position:absolute;top:1px;bottom:1px;left:0;right:0;opacity:.3}.q-date__range:nth-child(7n-6):before,.q-date__range-from:nth-child(7n-6):before,.q-date__range-to:nth-child(7n-6):before{border-top-left-radius:0;border-bottom-left-radius:0}.q-date__range:nth-child(7n):before,.q-date__range-from:nth-child(7n):before,.q-date__range-to:nth-child(7n):before{border-top-right-radius:0;border-bottom-right-radius:0}.q-date__range-from:before{left:50%}.q-date__range-to:before{right:50%}.q-date__edit-range:after{border-color:currentColor transparent}.q-date__edit-range:nth-child(7n-6):after{border-top-left-radius:0;border-bottom-left-radius:0}.q-date__edit-range:nth-child(7n):after{border-top-right-radius:0;border-bottom-right-radius:0}.q-date__edit-range-from:after,.q-date__edit-range-from-to:after{left:4px;border-left-color:currentColor;border-top-color:currentColor;border-bottom-color:currentColor;border-top-left-radius:28px;border-bottom-left-radius:28px}.q-date__edit-range-to:after,.q-date__edit-range-from-to:after{right:4px;border-right-color:currentColor;border-top-color:currentColor;border-bottom-color:currentColor;border-top-right-radius:28px;border-bottom-right-radius:28px}.q-date__calendar-days-container{height:75%;min-height:192px}.q-date__calendar-days>div{height:16.66%!important}.q-date__event{position:absolute;bottom:2px;left:50%;height:5px;width:8px;border-radius:5px;background-color:var(--q-secondary);transform:translate3d(-50%,0,0)}.q-date__today{box-shadow:0 0 1px 0 currentColor}.q-date__years-content{padding:0 8px}.q-date__years-item,.q-date__months-item{flex:0 0 33.3333%}.q-date.disabled .q-date__header,.q-date.disabled .q-date__content,.q-date--readonly .q-date__header,.q-date--readonly .q-date__content{pointer-events:none}.q-date--readonly .q-date__navigation{display:none}.q-date--portrait{flex-direction:column}.q-date--portrait-standard .q-date__content{height:calc(100% - 86px)}.q-date--portrait-standard .q-date__header{border-top-right-radius:inherit;height:86px}.q-date--portrait-standard .q-date__header-title{align-items:center;height:30px}.q-date--portrait-minimal .q-date__content{height:100%}.q-date--landscape{flex-direction:row;align-items:stretch;min-width:420px}.q-date--landscape>div{display:flex;flex-direction:column}.q-date--landscape .q-date__content{height:100%}.q-date--landscape-standard{min-width:420px}.q-date--landscape-standard .q-date__header{border-bottom-left-radius:inherit;min-width:110px;width:110px}.q-date--landscape-standard .q-date__header-title{flex-direction:column}.q-date--landscape-standard .q-date__header-today{margin-top:12px;margin-left:-8px}.q-date--landscape-minimal{width:310px}.q-date--dark{border-color:#ffffff47}.q-dialog__title{font-size:1.25rem;font-weight:500;line-height:2rem;letter-spacing:.0125em}.q-dialog__progress{font-size:4rem}.q-dialog__inner{outline:0}.q-dialog__inner>div{pointer-events:all;overflow:auto;-webkit-overflow-scrolling:touch;will-change:scroll-position;border-radius:4px;box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.q-dialog__inner--square>div{border-radius:0!important}.q-dialog__inner>.q-card>.q-card__actions .q-btn--rectangle{min-width:64px}.q-dialog__inner--minimized{padding:24px}.q-dialog__inner--minimized>div{max-height:calc(100vh - 48px)}.q-dialog__inner--maximized>div{height:100%;width:100%;max-height:100vh;max-width:100vw;border-radius:0!important;top:0!important;left:0!important}.q-dialog__inner--top,.q-dialog__inner--bottom{padding-top:0!important;padding-bottom:0!important}.q-dialog__inner--right,.q-dialog__inner--left{padding-right:0!important;padding-left:0!important}.q-dialog__inner--left:not(.q-dialog__inner--animating)>div,.q-dialog__inner--top:not(.q-dialog__inner--animating)>div{border-top-left-radius:0}.q-dialog__inner--right:not(.q-dialog__inner--animating)>div,.q-dialog__inner--top:not(.q-dialog__inner--animating)>div{border-top-right-radius:0}.q-dialog__inner--left:not(.q-dialog__inner--animating)>div,.q-dialog__inner--bottom:not(.q-dialog__inner--animating)>div{border-bottom-left-radius:0}.q-dialog__inner--right:not(.q-dialog__inner--animating)>div,.q-dialog__inner--bottom:not(.q-dialog__inner--animating)>div{border-bottom-right-radius:0}.q-dialog__inner--fullwidth>div{width:100%!important;max-width:100%!important}.q-dialog__inner--fullheight>div{height:100%!important;max-height:100%!important}.q-dialog__backdrop{z-index:-1;pointer-events:all;outline:0;background:rgba(0,0,0,.4)}body.platform-ios .q-dialog__inner--minimized>div,body.platform-android:not(.native-mobile) .q-dialog__inner--minimized>div{max-height:calc(100vh - 108px)}body.q-ios-padding .q-dialog__inner{padding-top:20px!important;padding-top:env(safe-area-inset-top)!important;padding-bottom:env(safe-area-inset-bottom)!important}body.q-ios-padding .q-dialog__inner>div{max-height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important}@media (max-width: 599.98px){.q-dialog__inner--top,.q-dialog__inner--bottom{padding-left:0;padding-right:0}.q-dialog__inner--top>div,.q-dialog__inner--bottom>div{width:100%!important}}@media (min-width: 600px){.q-dialog__inner--minimized>div{max-width:560px}}.q-body--dialog{overflow:hidden}.q-bottom-sheet{padding-bottom:8px}.q-bottom-sheet__avatar{border-radius:50%}.q-bottom-sheet--list{width:400px}.q-bottom-sheet--list .q-icon,.q-bottom-sheet--list img{font-size:24px;width:24px;height:24px}.q-bottom-sheet--grid{width:700px}.q-bottom-sheet--grid .q-bottom-sheet__item{padding:8px;text-align:center;min-width:100px}.q-bottom-sheet--grid .q-icon,.q-bottom-sheet--grid img,.q-bottom-sheet--grid .q-bottom-sheet__empty-icon{font-size:48px;width:48px;height:48px;margin-bottom:8px}.q-bottom-sheet--grid .q-separator{margin:12px 0}.q-bottom-sheet__item{flex:0 0 33.3333%}@media (min-width: 600px){.q-bottom-sheet__item{flex:0 0 25%}}.q-dialog-plugin{width:400px}.q-dialog-plugin__form{max-height:50vh}.q-dialog-plugin .q-card__section+.q-card__section{padding-top:0}.q-dialog-plugin--progress{text-align:center}.q-editor{border:1px solid rgba(0,0,0,.12);border-radius:4px;background-color:#fff}.q-editor.disabled{border-style:dashed}.q-editor>div:first-child,.q-editor__toolbars-container,.q-editor__toolbars-container>div:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.q-editor__content{outline:0;padding:10px;min-height:10em;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;overflow:auto;max-width:100%}.q-editor__content pre{white-space:pre-wrap}.q-editor__content hr{border:0;outline:0;margin:1px;height:1px;background:rgba(0,0,0,.12)}.q-editor__content:empty:not(:focus):before{content:attr(placeholder);opacity:.7}.q-editor__toolbar{border-bottom:1px solid rgba(0,0,0,.12);min-height:32px}.q-editor__toolbars-container{max-width:100%}.q-editor .q-btn{margin:4px}.q-editor__toolbar-group{position:relative;margin:0 4px}.q-editor__toolbar-group+.q-editor__toolbar-group:before{content:"";position:absolute;left:-4px;top:4px;bottom:4px;width:1px;background:rgba(0,0,0,.12)}.q-editor__link-input{color:inherit;text-decoration:none;text-transform:none;border:none;border-radius:0;background:none;outline:0}.q-editor--flat,.q-editor--flat .q-editor__toolbar{border:0}.q-editor--dense .q-editor__toolbar-group{display:flex;align-items:center;flex-wrap:nowrap}.q-editor--dark{border-color:#ffffff47}.q-editor--dark .q-editor__content hr{background:rgba(255,255,255,.28)}.q-editor--dark .q-editor__toolbar{border-color:#ffffff47}.q-editor--dark .q-editor__toolbar-group+.q-editor__toolbar-group:before{background:rgba(255,255,255,.28)}.q-expansion-item__border{opacity:0}.q-expansion-item__toggle-icon{position:relative;transition:transform .3s}.q-expansion-item__toggle-icon--rotated{transform:rotate(180deg)}.q-expansion-item__toggle-focus{width:1em!important;height:1em!important;position:relative!important}.q-expansion-item__toggle-focus+.q-expansion-item__toggle-icon{margin-top:-1em}.q-expansion-item--standard.q-expansion-item--expanded>div>.q-expansion-item__border{opacity:1}.q-expansion-item--popup{transition:padding .5s}.q-expansion-item--popup>.q-expansion-item__container{border:1px solid rgba(0,0,0,.12)}.q-expansion-item--popup>.q-expansion-item__container>.q-separator{display:none}.q-expansion-item--popup.q-expansion-item--collapsed{padding:0 15px}.q-expansion-item--popup.q-expansion-item--expanded{padding:15px 0}.q-expansion-item--popup.q-expansion-item--expanded+.q-expansion-item--popup.q-expansion-item--expanded{padding-top:0}.q-expansion-item--popup.q-expansion-item--collapsed:not(:first-child)>.q-expansion-item__container{border-top-width:0}.q-expansion-item--popup.q-expansion-item--expanded+.q-expansion-item--popup.q-expansion-item--collapsed>.q-expansion-item__container{border-top-width:1px}.q-expansion-item__content>.q-card{box-shadow:none;border-radius:0}.q-expansion-item:first-child>div>.q-expansion-item__border--top{opacity:0}.q-expansion-item:last-child>div>.q-expansion-item__border--bottom{opacity:0}.q-expansion-item--expanded+.q-expansion-item--expanded>div>.q-expansion-item__border--top{opacity:0}.q-expansion-item--expanded .q-textarea--autogrow textarea{animation:q-expansion-done 0s}@keyframes q-expansion-done{0%{--q-exp-done: 1}}.z-fab{z-index:990}.q-fab{position:relative;vertical-align:middle}.q-fab>.q-btn{width:100%}.q-fab--form-rounded{border-radius:28px}.q-fab--form-square{border-radius:4px}.q-fab__icon,.q-fab__active-icon{transition:opacity .4s,transform .4s}.q-fab__icon{opacity:1;transform:rotate(0)}.q-fab__active-icon{opacity:0;transform:rotate(-180deg)}.q-fab__label--external{position:absolute;padding:0 8px;transition:opacity .18s cubic-bezier(.65,.815,.735,.395)}.q-fab__label--external-hidden{opacity:0;pointer-events:none}.q-fab__label--external-left{top:50%;left:-12px;transform:translate(-100%,-50%)}.q-fab__label--external-right{top:50%;right:-12px;transform:translate(100%,-50%)}.q-fab__label--external-bottom{bottom:-12px;left:50%;transform:translate(-50%,100%)}.q-fab__label--external-top{top:-12px;left:50%;transform:translate(-50%,-100%)}.q-fab__label--internal{padding:0;transition:font-size .12s cubic-bezier(.65,.815,.735,.395),max-height .12s cubic-bezier(.65,.815,.735,.395),opacity .07s cubic-bezier(.65,.815,.735,.395);max-height:30px}.q-fab__label--internal-hidden{font-size:0;opacity:0}.q-fab__label--internal-top{padding-bottom:.12em}.q-fab__label--internal-bottom{padding-top:.12em}.q-fab__label--internal-top.q-fab__label--internal-hidden,.q-fab__label--internal-bottom.q-fab__label--internal-hidden{max-height:0}.q-fab__label--internal-left{padding-left:.285em;padding-right:.571em}.q-fab__label--internal-right{padding-right:.285em;padding-left:.571em}.q-fab__icon-holder{min-width:24px;min-height:24px;position:relative}.q-fab__icon-holder--opened .q-fab__icon{transform:rotate(180deg);opacity:0}.q-fab__icon-holder--opened .q-fab__active-icon{transform:rotate(0);opacity:1}.q-fab__actions{position:absolute;opacity:0;transition:transform .18s ease-in,opacity .18s ease-in;pointer-events:none;align-items:center;justify-content:center;align-self:center;padding:3px}.q-fab__actions .q-btn{margin:5px}.q-fab__actions--right{transform-origin:0 50%;transform:scale(.4) translate(-62px);height:56px;left:100%;margin-left:9px}.q-fab__actions--left{transform-origin:100% 50%;transform:scale(.4) translate(62px);height:56px;right:100%;margin-right:9px;flex-direction:row-reverse}.q-fab__actions--up{transform-origin:50% 100%;transform:scale(.4) translateY(62px);width:56px;bottom:100%;margin-bottom:9px;flex-direction:column-reverse}.q-fab__actions--down{transform-origin:50% 0;transform:scale(.4) translateY(-62px);width:56px;top:100%;margin-top:9px;flex-direction:column}.q-fab__actions--up,.q-fab__actions--down{left:50%;margin-left:-28px}.q-fab__actions--opened{opacity:1;transform:scale(1) translate(0);pointer-events:all}.q-fab--align-left>.q-fab__actions--up,.q-fab--align-left>.q-fab__actions--down{align-items:flex-start;left:28px}.q-fab--align-right>.q-fab__actions--up,.q-fab--align-right>.q-fab__actions--down{align-items:flex-end;left:auto;right:0}.q-field{font-size:14px}.q-field ::-ms-clear,.q-field ::-ms-reveal{display:none}.q-field--with-bottom{padding-bottom:20px}.q-field__marginal{height:56px;color:#0000008a;font-size:24px}.q-field__marginal>*+*{margin-left:2px}.q-field__marginal .q-avatar{font-size:32px}.q-field__before,.q-field__prepend{padding-right:12px}.q-field__after,.q-field__append{padding-left:12px}.q-field__after:empty,.q-field__append:empty{display:none}.q-field__append+.q-field__append{padding-left:2px}.q-field__inner{text-align:left}.q-field__bottom{font-size:12px;min-height:20px;line-height:1;color:#0000008a;padding:8px 12px 0;backface-visibility:hidden}.q-field__bottom--animated{transform:translateY(100%);position:absolute;left:0;right:0;bottom:0}.q-field__messages{line-height:1}.q-field__messages>div{word-break:break-word;word-wrap:break-word;overflow-wrap:break-word}.q-field__messages>div+div{margin-top:4px}.q-field__counter{padding-left:8px;line-height:1}.q-field--item-aligned{padding:8px 16px}.q-field--item-aligned .q-field__before{min-width:56px}.q-field__control-container{height:inherit}.q-field__control{color:var(--q-primary);height:56px;max-width:100%;outline:none}.q-field__control:before,.q-field__control:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.q-field__control:before{border-radius:inherit}.q-field__shadow{top:8px;opacity:0;overflow:hidden;white-space:pre-wrap;transition:opacity .36s cubic-bezier(.4,0,.2,1)}.q-field__shadow+.q-field__native::placeholder{transition:opacity .36s cubic-bezier(.4,0,.2,1)}.q-field__shadow+.q-field__native:focus::placeholder{opacity:0}.q-field__native,.q-field__prefix,.q-field__suffix,.q-field__input{font-weight:400;line-height:28px;letter-spacing:.00937em;text-decoration:inherit;text-transform:inherit;border:none;border-radius:0;background:none;color:#000000de;outline:0;padding:6px 0}.q-field__native,.q-field__input{width:100%;min-width:0;outline:0!important;user-select:auto}.q-field__native:-webkit-autofill,.q-field__input:-webkit-autofill{-webkit-animation-name:q-autofill;-webkit-animation-fill-mode:both}.q-field__native:-webkit-autofill+.q-field__label,.q-field__input:-webkit-autofill+.q-field__label{transform:translateY(-40%) scale(.75)}.q-field__native[type=number]:invalid+.q-field__label,.q-field__input[type=number]:invalid+.q-field__label{transform:translateY(-40%) scale(.75)}.q-field__native:invalid,.q-field__input:invalid{box-shadow:none}.q-field__native[type=file]{line-height:1em}.q-field__input{padding:0;height:0;min-height:24px;line-height:24px}.q-field__prefix,.q-field__suffix{transition:opacity .36s cubic-bezier(.4,0,.2,1);white-space:nowrap}.q-field__prefix{padding-right:4px}.q-field__suffix{padding-left:4px}.q-field--readonly .q-placeholder,.q-field--disabled .q-placeholder{opacity:1!important}.q-field--readonly.q-field--labeled .q-field__native,.q-field--readonly.q-field--labeled .q-field__input{cursor:default}.q-field--readonly.q-field--float .q-field__native,.q-field--readonly.q-field--float .q-field__input{cursor:text}.q-field--disabled .q-field__inner{cursor:not-allowed}.q-field--disabled .q-field__control{pointer-events:none}.q-field--disabled .q-field__control>div{opacity:.6!important}.q-field--disabled .q-field__control>div,.q-field--disabled .q-field__control>div *{outline:0!important}.q-field__label{left:0;top:18px;max-width:100%;color:#0009;font-size:16px;line-height:20px;font-weight:400;letter-spacing:.00937em;text-decoration:inherit;text-transform:inherit;transform-origin:left top;transition:transform .36s cubic-bezier(.4,0,.2,1),max-width .324s cubic-bezier(.4,0,.2,1);backface-visibility:hidden}.q-field--float .q-field__label{max-width:133%;transform:translateY(-40%) scale(.75);transition:transform .36s cubic-bezier(.4,0,.2,1),max-width .396s cubic-bezier(.4,0,.2,1)}.q-field--highlighted .q-field__label{color:currentColor}.q-field--highlighted .q-field__shadow{opacity:.5}.q-field--filled .q-field__control{padding:0 12px;background:rgba(0,0,0,.05);border-radius:4px 4px 0 0}.q-field--filled .q-field__control:before{background:rgba(0,0,0,.05);border-bottom:1px solid rgba(0,0,0,.42);opacity:0;transition:opacity .36s cubic-bezier(.4,0,.2,1),background .36s cubic-bezier(.4,0,.2,1)}.q-field--filled .q-field__control:hover:before{opacity:1}.q-field--filled .q-field__control:after{height:2px;top:auto;transform-origin:center bottom;transform:scale3d(0,1,1);background:currentColor;transition:transform .36s cubic-bezier(.4,0,.2,1)}.q-field--filled.q-field--rounded .q-field__control{border-radius:28px 28px 0 0}.q-field--filled.q-field--highlighted .q-field__control:before{opacity:1;background:rgba(0,0,0,.12)}.q-field--filled.q-field--highlighted .q-field__control:after{transform:scaleZ(1)}.q-field--filled.q-field--dark .q-field__control,.q-field--filled.q-field--dark .q-field__control:before{background:rgba(255,255,255,.07)}.q-field--filled.q-field--dark.q-field--highlighted .q-field__control:before{background:rgba(255,255,255,.1)}.q-field--filled.q-field--readonly .q-field__control:before{opacity:1;background:transparent;border-bottom-style:dashed}.q-field--outlined .q-field__control{border-radius:4px;padding:0 12px}.q-field--outlined .q-field__control:before{border:1px solid rgba(0,0,0,.24);transition:border-color .36s cubic-bezier(.4,0,.2,1)}.q-field--outlined .q-field__control:hover:before{border-color:#000}.q-field--outlined .q-field__control:after{height:inherit;border-radius:inherit;border:2px solid transparent;transition:border-color .36s cubic-bezier(.4,0,.2,1)}.q-field--outlined .q-field__native:-webkit-autofill,.q-field--outlined .q-field__input:-webkit-autofill{margin-top:1px;margin-bottom:1px}.q-field--outlined.q-field--rounded .q-field__control{border-radius:28px}.q-field--outlined.q-field--highlighted .q-field__control:hover:before{border-color:transparent}.q-field--outlined.q-field--highlighted .q-field__control:after{border-color:currentColor;border-width:2px;transform:scaleZ(1)}.q-field--outlined.q-field--readonly .q-field__control:before{border-style:dashed}.q-field--standard .q-field__control:before{border-bottom:1px solid rgba(0,0,0,.24);transition:border-color .36s cubic-bezier(.4,0,.2,1)}.q-field--standard .q-field__control:hover:before{border-color:#000}.q-field--standard .q-field__control:after{height:2px;top:auto;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;transform-origin:center bottom;transform:scale3d(0,1,1);background:currentColor;transition:transform .36s cubic-bezier(.4,0,.2,1)}.q-field--standard.q-field--highlighted .q-field__control:after{transform:scaleZ(1)}.q-field--standard.q-field--readonly .q-field__control:before{border-bottom-style:dashed}.q-field--dark .q-field__control:before{border-color:#fff9}.q-field--dark .q-field__control:hover:before{border-color:#fff}.q-field--dark .q-field__native,.q-field--dark .q-field__prefix,.q-field--dark .q-field__suffix,.q-field--dark .q-field__input{color:#fff}.q-field--dark:not(.q-field--highlighted) .q-field__label,.q-field--dark .q-field__marginal,.q-field--dark .q-field__bottom{color:#ffffffb3}.q-field--standout .q-field__control{padding:0 12px;background:rgba(0,0,0,.05);border-radius:4px;transition:box-shadow .36s cubic-bezier(.4,0,.2,1),background-color .36s cubic-bezier(.4,0,.2,1)}.q-field--standout .q-field__control:before{background:rgba(0,0,0,.07);opacity:0;transition:opacity .36s cubic-bezier(.4,0,.2,1),background .36s cubic-bezier(.4,0,.2,1)}.q-field--standout .q-field__control:hover:before{opacity:1}.q-field--standout.q-field--rounded .q-field__control{border-radius:28px}.q-field--standout.q-field--highlighted .q-field__control{box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f;background:#000}.q-field--standout.q-field--highlighted .q-field__native,.q-field--standout.q-field--highlighted .q-field__prefix,.q-field--standout.q-field--highlighted .q-field__suffix,.q-field--standout.q-field--highlighted .q-field__prepend,.q-field--standout.q-field--highlighted .q-field__append,.q-field--standout.q-field--highlighted .q-field__input{color:#fff}.q-field--standout.q-field--readonly .q-field__control:before{opacity:1;background:transparent;border:1px dashed rgba(0,0,0,.24)}.q-field--standout.q-field--dark .q-field__control{background:rgba(255,255,255,.07)}.q-field--standout.q-field--dark .q-field__control:before{background:rgba(255,255,255,.07)}.q-field--standout.q-field--dark.q-field--highlighted .q-field__control{background:#fff}.q-field--standout.q-field--dark.q-field--highlighted .q-field__native,.q-field--standout.q-field--dark.q-field--highlighted .q-field__prefix,.q-field--standout.q-field--dark.q-field--highlighted .q-field__suffix,.q-field--standout.q-field--dark.q-field--highlighted .q-field__prepend,.q-field--standout.q-field--dark.q-field--highlighted .q-field__append,.q-field--standout.q-field--dark.q-field--highlighted .q-field__input{color:#000}.q-field--standout.q-field--dark.q-field--readonly .q-field__control:before{border-color:#ffffff3d}.q-field--labeled .q-field__native,.q-field--labeled .q-field__prefix,.q-field--labeled .q-field__suffix{line-height:24px;padding-top:24px;padding-bottom:8px}.q-field--labeled .q-field__shadow{top:0}.q-field--labeled:not(.q-field--float) .q-field__prefix,.q-field--labeled:not(.q-field--float) .q-field__suffix{opacity:0}.q-field--labeled:not(.q-field--float) .q-field__native::-webkit-input-placeholder,.q-field--labeled:not(.q-field--float) .q-field__input::-webkit-input-placeholder{color:transparent}.q-field--labeled:not(.q-field--float) .q-field__native::-moz-placeholder,.q-field--labeled:not(.q-field--float) .q-field__input::-moz-placeholder{color:transparent}.q-field--labeled:not(.q-field--float) .q-field__native:-ms-input-placeholder,.q-field--labeled:not(.q-field--float) .q-field__input:-ms-input-placeholder{color:transparent!important}.q-field--labeled:not(.q-field--float) .q-field__native::-ms-input-placeholder,.q-field--labeled:not(.q-field--float) .q-field__input::-ms-input-placeholder{color:transparent}.q-field--labeled:not(.q-field--float) .q-field__native::placeholder,.q-field--labeled:not(.q-field--float) .q-field__input::placeholder{color:transparent}.q-field--labeled.q-field--dense .q-field__native,.q-field--labeled.q-field--dense .q-field__prefix,.q-field--labeled.q-field--dense .q-field__suffix{padding-top:14px;padding-bottom:2px}.q-field--dense .q-field__shadow{top:0}.q-field--dense .q-field__control,.q-field--dense .q-field__marginal{height:40px}.q-field--dense .q-field__bottom{font-size:11px}.q-field--dense .q-field__label{font-size:14px;top:10px}.q-field--dense .q-field__before,.q-field--dense .q-field__prepend{padding-right:6px}.q-field--dense .q-field__after,.q-field--dense .q-field__append{padding-left:6px}.q-field--dense .q-field__append+.q-field__append{padding-left:2px}.q-field--dense .q-field__marginal .q-avatar{font-size:24px}.q-field--dense.q-field--float .q-field__label{transform:translateY(-30%) scale(.75)}.q-field--dense .q-field__native:-webkit-autofill+.q-field__label,.q-field--dense .q-field__input:-webkit-autofill+.q-field__label{transform:translateY(-30%) scale(.75)}.q-field--dense .q-field__native[type=number]:invalid+.q-field__label,.q-field--dense .q-field__input[type=number]:invalid+.q-field__label{transform:translateY(-30%) scale(.75)}.q-field--borderless .q-field__bottom,.q-field--borderless.q-field--dense .q-field__control,.q-field--standard .q-field__bottom,.q-field--standard.q-field--dense .q-field__control{padding-left:0;padding-right:0}.q-field--error .q-field__label{animation:q-field-label .36s}.q-field--error .q-field__bottom{color:var(--q-negative)}.q-field__focusable-action{opacity:.6;cursor:pointer;outline:0!important;border:0;color:inherit;background:transparent;padding:0}.q-field__focusable-action:hover,.q-field__focusable-action:focus{opacity:1}.q-field--auto-height .q-field__control{height:auto}.q-field--auto-height .q-field__control,.q-field--auto-height .q-field__native{min-height:56px}.q-field--auto-height .q-field__native{align-items:center}.q-field--auto-height .q-field__control-container{padding-top:0}.q-field--auto-height .q-field__native,.q-field--auto-height .q-field__prefix,.q-field--auto-height .q-field__suffix{line-height:18px}.q-field--auto-height.q-field--labeled .q-field__control-container{padding-top:24px}.q-field--auto-height.q-field--labeled .q-field__shadow{top:24px}.q-field--auto-height.q-field--labeled .q-field__native,.q-field--auto-height.q-field--labeled .q-field__prefix,.q-field--auto-height.q-field--labeled .q-field__suffix{padding-top:0}.q-field--auto-height.q-field--labeled .q-field__native{min-height:24px}.q-field--auto-height.q-field--dense .q-field__control,.q-field--auto-height.q-field--dense .q-field__native{min-height:40px}.q-field--auto-height.q-field--dense.q-field--labeled .q-field__control-container{padding-top:14px}.q-field--auto-height.q-field--dense.q-field--labeled .q-field__shadow{top:14px}.q-field--auto-height.q-field--dense.q-field--labeled .q-field__native{min-height:24px}.q-field--square .q-field__control{border-radius:0!important}.q-transition--field-message-enter-active,.q-transition--field-message-leave-active{transition:transform .6s cubic-bezier(.86,0,.07,1),opacity .6s cubic-bezier(.86,0,.07,1)}.q-transition--field-message-enter-from,.q-transition--field-message-leave-to{opacity:0;transform:translateY(-10px)}.q-transition--field-message-leave-from,.q-transition--field-message-leave-active{position:absolute}@keyframes q-field-label{40%{margin-left:2px}60%,80%{margin-left:-2px}70%,90%{margin-left:2px}}@keyframes q-autofill{to{background:transparent;color:inherit}}.q-file .q-field__native{word-break:break-all;overflow:hidden}.q-file .q-field__input{opacity:0!important}.q-file .q-field__input::-webkit-file-upload-button{cursor:pointer}.q-file__filler{visibility:hidden;width:100%;border:none;padding:0}.q-file__dnd{outline:1px dashed currentColor;outline-offset:-4px}.q-form{position:relative}.q-img{position:relative;width:100%;display:inline-block;vertical-align:middle;overflow:hidden}.q-img__loading .q-spinner{font-size:50px}.q-img__container{border-radius:inherit;font-size:0}.q-img__image{border-radius:inherit;width:100%;height:100%;opacity:0}.q-img__image--with-transition{transition:opacity .28s ease-in}.q-img__image--loaded{opacity:1}.q-img__content{border-radius:inherit;pointer-events:none}.q-img__content>div{pointer-events:all;position:absolute;padding:16px;color:#fff;background:rgba(0,0,0,.47)}.q-img--no-menu .q-img__image,.q-img--no-menu .q-img__placeholder{pointer-events:none}.q-inner-loading{background:rgba(255,255,255,.6)}.q-inner-loading--dark{background:rgba(0,0,0,.4)}.q-inner-loading__label{margin-top:8px}.q-textarea .q-field__control{min-height:56px;height:auto}.q-textarea .q-field__control-container{padding-top:2px;padding-bottom:2px}.q-textarea .q-field__shadow{top:2px;bottom:2px}.q-textarea .q-field__native,.q-textarea .q-field__prefix,.q-textarea .q-field__suffix{line-height:18px}.q-textarea .q-field__native{resize:vertical;padding-top:17px;min-height:52px}.q-textarea.q-field--labeled .q-field__control-container{padding-top:26px}.q-textarea.q-field--labeled .q-field__shadow{top:26px}.q-textarea.q-field--labeled .q-field__native,.q-textarea.q-field--labeled .q-field__prefix,.q-textarea.q-field--labeled .q-field__suffix{padding-top:0}.q-textarea.q-field--labeled .q-field__native{min-height:26px;padding-top:1px}.q-textarea--autogrow .q-field__native{resize:none}.q-textarea.q-field--dense .q-field__control,.q-textarea.q-field--dense .q-field__native{min-height:36px}.q-textarea.q-field--dense .q-field__native{padding-top:9px}.q-textarea.q-field--dense.q-field--labeled .q-field__control-container{padding-top:14px}.q-textarea.q-field--dense.q-field--labeled .q-field__shadow{top:14px}.q-textarea.q-field--dense.q-field--labeled .q-field__native{min-height:24px;padding-top:3px}.q-textarea.q-field--dense.q-field--labeled .q-field__prefix,.q-textarea.q-field--dense.q-field--labeled .q-field__suffix{padding-top:2px}body.mobile .q-textarea .q-field__native,.q-textarea.disabled .q-field__native{resize:none}.q-intersection{position:relative}.q-item{min-height:48px;padding:8px 16px;color:inherit;transition:color .3s,background-color .3s}.q-item__section--side{color:#757575;align-items:flex-start;padding-right:16px;width:auto;min-width:0;max-width:100%}.q-item__section--side>.q-icon{font-size:24px}.q-item__section--side>.q-avatar{font-size:40px}.q-item__section--avatar{color:inherit;min-width:56px}.q-item__section--thumbnail img{width:100px;height:56px}.q-item__section--nowrap{white-space:nowrap}.q-item>.q-item__section--thumbnail:first-child,.q-item>.q-focus-helper+.q-item__section--thumbnail{margin-left:-16px}.q-item>.q-item__section--thumbnail:last-of-type{margin-right:-16px}.q-item__label{line-height:1.2em!important;max-width:100%}.q-item__label--overline{color:#000000b3}.q-item__label--caption{color:#0000008a}.q-item__label--header{color:#757575;padding:16px;font-size:.875rem;line-height:1.25rem;letter-spacing:.01786em}.q-separator--spaced+.q-item__label--header,.q-list--padding .q-item__label--header{padding-top:8px}.q-item__label+.q-item__label{margin-top:4px}.q-item__section--main{width:auto;min-width:0;max-width:100%;flex:10000 1 0%}.q-item__section--main+.q-item__section--main{margin-left:8px}.q-item__section--main~.q-item__section--side{align-items:flex-end;padding-right:0;padding-left:16px}.q-item__section--main.q-item__section--thumbnail{margin-left:0;margin-right:-16px}.q-list--bordered{border:1px solid rgba(0,0,0,.12)}.q-list--separator>.q-item-type+.q-item-type,.q-list--separator>.q-virtual-scroll__content>.q-item-type+.q-item-type{border-top:1px solid rgba(0,0,0,.12)}.q-list--padding{padding:8px 0}.q-list--dense>.q-item,.q-item--dense{min-height:32px;padding:2px 16px}.q-list--dark.q-list--separator>.q-item-type+.q-item-type,.q-list--dark.q-list--separator>.q-virtual-scroll__content>.q-item-type+.q-item-type{border-top-color:#ffffff47}.q-list--dark,.q-item--dark{color:#fff;border-color:#ffffff47}.q-list--dark .q-item__section--side:not(.q-item__section--avatar),.q-item--dark .q-item__section--side:not(.q-item__section--avatar){color:#ffffffb3}.q-list--dark .q-item__label--header,.q-item--dark .q-item__label--header{color:#ffffffa3}.q-list--dark .q-item__label--overline,.q-list--dark .q-item__label--caption,.q-item--dark .q-item__label--overline,.q-item--dark .q-item__label--caption{color:#fffc}.q-item{position:relative}.q-item.q-router-link--active,.q-item--active{color:var(--q-primary)}.q-knob{font-size:48px}.q-knob--editable{cursor:pointer;outline:0}.q-knob--editable:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;box-shadow:none;transition:box-shadow .24s ease-in-out}.q-knob--editable:focus:before{box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.q-layout{width:100%}.q-layout-container{position:relative;width:100%;height:100%}.q-layout-container .q-layout{min-height:100%}.q-layout-container>div{transform:translateZ(0)}.q-layout-container>div>div{min-height:0;max-height:100%}.q-layout__shadow{width:100%}.q-layout__shadow:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:0 0 10px 2px #0003,0 0 10px #0000003d}.q-layout__section--marginal{background-color:var(--q-primary);color:#fff}.q-header--hidden{transform:translateY(-110%)}.q-header--bordered{border-bottom:1px solid rgba(0,0,0,.12)}.q-header .q-layout__shadow{bottom:-10px}.q-header .q-layout__shadow:after{bottom:10px}.q-footer--hidden{transform:translateY(110%)}.q-footer--bordered{border-top:1px solid rgba(0,0,0,.12)}.q-footer .q-layout__shadow{top:-10px}.q-footer .q-layout__shadow:after{top:10px}.q-header,.q-footer{z-index:2000}.q-drawer{position:absolute;top:0;bottom:0;background:#fff;z-index:1000}.q-drawer--on-top{z-index:3000}.q-drawer--left{left:0;transform:translate(-100%)}.q-drawer--left.q-drawer--bordered{border-right:1px solid rgba(0,0,0,.12)}.q-drawer--left .q-layout__shadow{left:10px;right:-10px}.q-drawer--left .q-layout__shadow:after{right:10px}.q-drawer--right{right:0;transform:translate(100%)}.q-drawer--right.q-drawer--bordered{border-left:1px solid rgba(0,0,0,.12)}.q-drawer--right .q-layout__shadow{left:-10px}.q-drawer--right .q-layout__shadow:after{left:10px}.q-drawer-container:not(.q-drawer--mini-animate) .q-drawer--mini{padding:0!important}.q-drawer-container:not(.q-drawer--mini-animate) .q-drawer--mini .q-item,.q-drawer-container:not(.q-drawer--mini-animate) .q-drawer--mini .q-item__section{text-align:center;justify-content:center;padding-left:0;padding-right:0;min-width:0}.q-drawer-container:not(.q-drawer--mini-animate) .q-drawer--mini .q-item__label,.q-drawer-container:not(.q-drawer--mini-animate) .q-drawer--mini .q-item__section--main,.q-drawer-container:not(.q-drawer--mini-animate) .q-drawer--mini .q-item__section--side~.q-item__section--side{display:none}.q-drawer--mini .q-mini-drawer-hide,.q-drawer--mini .q-expansion-item__content{display:none}.q-drawer--mini-animate .q-drawer__content{overflow-x:hidden!important;white-space:nowrap}.q-drawer--standard .q-mini-drawer-only,.q-drawer--mobile .q-mini-drawer-only,.q-drawer--mobile .q-mini-drawer-hide{display:none}.q-drawer__backdrop{z-index:2999!important;will-change:background-color}.q-drawer__opener{z-index:2001;height:100%;width:15px;user-select:none}.q-layout,.q-header,.q-footer,.q-page{position:relative}.q-page-sticky--shrink{pointer-events:none}.q-page-sticky--shrink>div{display:inline-block;pointer-events:auto}body.q-ios-padding .q-layout--standard .q-header>.q-toolbar:nth-child(1),body.q-ios-padding .q-layout--standard .q-header>.q-tabs:nth-child(1) .q-tabs-head,body.q-ios-padding .q-layout--standard .q-drawer--top-padding .q-drawer__content{padding-top:20px;min-height:70px;padding-top:env(safe-area-inset-top);min-height:calc(env(safe-area-inset-top) + 50px)}body.q-ios-padding .q-layout--standard .q-footer>.q-toolbar:last-child,body.q-ios-padding .q-layout--standard .q-footer>.q-tabs:last-child .q-tabs-head,body.q-ios-padding .q-layout--standard .q-drawer--top-padding .q-drawer__content{padding-bottom:env(safe-area-inset-bottom);min-height:calc(env(safe-area-inset-bottom) + 50px)}.q-body--layout-animate .q-drawer__backdrop{transition:background-color .12s!important}.q-body--layout-animate .q-drawer{transition:transform .12s,width .12s,top .12s,bottom .12s!important}.q-body--layout-animate .q-layout__section--marginal{transition:transform .12s,left .12s,right .12s!important}.q-body--layout-animate .q-page-container{transition:padding-top .12s,padding-right .12s,padding-bottom .12s,padding-left .12s!important}.q-body--layout-animate .q-page-sticky{transition:transform .12s,left .12s,right .12s,top .12s,bottom .12s!important}body:not(.q-body--layout-animate) .q-layout--prevent-focus{visibility:hidden}.q-body--drawer-toggle{overflow-x:hidden!important}@media (max-width: 599.98px){.q-layout-padding{padding:8px}}@media (min-width: 600px) and (max-width: 1439.98px){.q-layout-padding{padding:16px}}@media (min-width: 1440px){.q-layout-padding{padding:24px}}body.body--dark .q-header,body.body--dark .q-footer,body.body--dark .q-drawer{border-color:#ffffff47}body.platform-ios .q-layout--containerized{position:unset!important}.q-linear-progress{--q-linear-progress-speed: .3s;position:relative;width:100%;overflow:hidden;font-size:4px;height:1em;color:var(--q-primary);transform:scaleZ(1)}.q-linear-progress__model,.q-linear-progress__track{transform-origin:0 0}.q-linear-progress__model--with-transition,.q-linear-progress__track--with-transition{transition:transform var(--q-linear-progress-speed)}.q-linear-progress--reverse .q-linear-progress__model,.q-linear-progress--reverse .q-linear-progress__track{transform-origin:0 100%}.q-linear-progress__model--determinate{background:currentColor}.q-linear-progress__model--indeterminate,.q-linear-progress__model--query{transition:none}.q-linear-progress__model--indeterminate:before,.q-linear-progress__model--indeterminate:after,.q-linear-progress__model--query:before,.q-linear-progress__model--query:after{background:currentColor;content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:0 0}.q-linear-progress__model--indeterminate:before,.q-linear-progress__model--query:before{animation:q-linear-progress--indeterminate 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.q-linear-progress__model--indeterminate:after,.q-linear-progress__model--query:after{transform:translate3d(-101%,0,0) scaleZ(1);animation:q-linear-progress--indeterminate-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;animation-delay:1.15s}.q-linear-progress__track{opacity:.4}.q-linear-progress__track--light{background:rgba(0,0,0,.26)}.q-linear-progress__track--dark{background:rgba(255,255,255,.6)}.q-linear-progress__stripe{transition:width var(--q-linear-progress-speed);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,rgba(255,255,255,0) 25%,rgba(255,255,255,0) 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,rgba(255,255,255,0) 75%,rgba(255,255,255,0))!important;background-size:40px 40px!important}@keyframes q-linear-progress--indeterminate{0%{transform:translate3d(-35%,0,0) scale3d(.35,1,1)}60%{transform:translate3d(100%,0,0) scale3d(.9,1,1)}to{transform:translate3d(100%,0,0) scale3d(.9,1,1)}}@keyframes q-linear-progress--indeterminate-short{0%{transform:translate3d(-101%,0,0) scaleZ(1)}60%{transform:translate3d(107%,0,0) scale3d(.01,1,1)}to{transform:translate3d(107%,0,0) scale3d(.01,1,1)}}.q-menu{position:fixed!important;display:inline-block;max-width:95vw;box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f;background:#fff;border-radius:4px;overflow-y:auto;overflow-x:hidden;outline:0;max-height:65vh;z-index:6000}.q-menu--square{border-radius:0}.q-option-group--inline>div{display:inline-block}.q-pagination input{text-align:center;-moz-appearance:textfield}.q-pagination input::-webkit-outer-spin-button,.q-pagination input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.q-pagination__content{--q-pagination-gutter-parent: -2px;--q-pagination-gutter-child: 2px;margin-top:var(--q-pagination-gutter-parent);margin-left:var(--q-pagination-gutter-parent)}.q-pagination__content>.q-btn,.q-pagination__content>.q-input,.q-pagination__middle>.q-btn{margin-top:var(--q-pagination-gutter-child);margin-left:var(--q-pagination-gutter-child)}.q-parallax{position:relative;width:100%;overflow:hidden;border-radius:inherit}.q-parallax__media>img,.q-parallax__media>video{position:absolute;left:50%;bottom:0;min-width:100%;min-height:100%;will-change:transform;display:none}.q-popup-edit{padding:8px 16px}.q-popup-edit__buttons{margin-top:8px}.q-popup-edit__buttons .q-btn+.q-btn{margin-left:8px}.q-pull-to-refresh{position:relative}.q-pull-to-refresh__puller{border-radius:50%;width:40px;height:40px;color:var(--q-primary);background:#fff;box-shadow:0 0 4px #0000004d}.q-pull-to-refresh__puller--animating{transition:transform .3s,opacity .3s}.q-radio{vertical-align:middle}.q-radio__native{width:1px;height:1px}.q-radio__bg,.q-radio__icon-container{user-select:none}.q-radio__bg{top:25%;left:25%;width:50%;height:50%;-webkit-print-color-adjust:exact}.q-radio__bg path{fill:currentColor}.q-radio__icon{color:currentColor;font-size:.5em}.q-radio__check{transform-origin:50% 50%;transform:scale3d(0,0,1);transition:transform .22s cubic-bezier(0,0,.2,1) 0ms}.q-radio__inner{font-size:40px;width:1em;min-width:1em;height:1em;outline:0;border-radius:50%;color:#0000008a}.q-radio__inner--truthy{color:var(--q-primary)}.q-radio__inner--truthy .q-radio__check{transform:scaleZ(1)}.q-radio.disabled{opacity:.75!important}.q-radio--dark .q-radio__inner{color:#ffffffb3}.q-radio--dark .q-radio__inner:before{opacity:.32!important}.q-radio--dark .q-radio__inner--truthy{color:var(--q-primary)}.q-radio--dense .q-radio__inner{width:.5em;min-width:.5em;height:.5em}.q-radio--dense .q-radio__bg{left:0;top:0;width:100%;height:100%}.q-radio--dense .q-radio__label{padding-left:.5em}.q-radio--dense.reverse .q-radio__label{padding-left:0;padding-right:.5em}body.desktop .q-radio:not(.disabled) .q-radio__inner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:currentColor;opacity:.12;transform:scale3d(0,0,1);transition:transform .22s cubic-bezier(0,0,.2,1) 0ms}body.desktop .q-radio:not(.disabled):focus .q-radio__inner:before,body.desktop .q-radio:not(.disabled):hover .q-radio__inner:before{transform:scaleZ(1)}body.desktop .q-radio--dense:not(.disabled):focus .q-radio__inner:before,body.desktop .q-radio--dense:not(.disabled):hover .q-radio__inner:before{transform:scale3d(1.5,1.5,1)}.q-rating{color:#ffeb3b;vertical-align:middle}.q-rating__icon-container{height:1em;outline:0}.q-rating__icon-container+.q-rating__icon-container{margin-left:2px}.q-rating__icon{color:currentColor;text-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);position:relative;opacity:.4;transition:transform .2s ease-in,opacity .2s ease-in}.q-rating__icon--hovered{transform:scale(1.3)}.q-rating__icon--active{opacity:1}.q-rating__icon--exselected{opacity:.7}.q-rating--no-dimming .q-rating__icon{opacity:1}.q-rating--editable .q-rating__icon-container{cursor:pointer}.q-responsive{position:relative;max-width:100%;max-height:100%}.q-responsive__filler{width:inherit;max-width:inherit;height:inherit;max-height:inherit}.q-responsive__content{border-radius:inherit}.q-responsive__content>*{width:100%!important;height:100%!important;max-height:100%!important;max-width:100%!important}.q-scrollarea{position:relative;contain:strict}.q-scrollarea__bar,.q-scrollarea__thumb{opacity:.2;transition:opacity .3s;will-change:opacity;cursor:grab}.q-scrollarea__bar--v,.q-scrollarea__thumb--v{right:0;width:10px}.q-scrollarea__bar--h,.q-scrollarea__thumb--h{bottom:0;height:10px}.q-scrollarea__bar--invisible,.q-scrollarea__thumb--invisible{opacity:0!important;pointer-events:none}.q-scrollarea__thumb{background:#000;border-radius:3px}.q-scrollarea__thumb:hover{opacity:.3}.q-scrollarea__thumb:active{opacity:.5}.q-scrollarea__content{min-height:100%;min-width:100%}.q-scrollarea--dark .q-scrollarea__thumb{background:#fff}.q-select--without-input .q-field__control{cursor:pointer}.q-select--with-input .q-field__control{cursor:text}.q-select .q-field__input{min-width:50px!important;cursor:text}.q-select .q-field__input--padding{padding-left:4px}.q-select__focus-target,.q-select__autocomplete-input{position:absolute;outline:0!important;width:0;height:0;padding:0;border:0;opacity:0}.q-select__dropdown-icon{cursor:pointer;transition:transform .28s}.q-select.q-field--readonly .q-field__control,.q-select.q-field--readonly .q-select__dropdown-icon{cursor:default}.q-select__dialog{width:90vw!important;max-width:90vw!important;max-height:calc(100vh - 70px)!important;background:#fff;display:flex;flex-direction:column}.q-select__dialog>.scroll{position:relative;background:inherit}body.mobile:not(.native-mobile) .q-select__dialog{max-height:calc(100vh - 108px)!important}body.platform-android.native-mobile .q-dialog__inner--top .q-select__dialog{max-height:calc(100vh - 24px)!important}body.platform-android:not(.native-mobile) .q-dialog__inner--top .q-select__dialog{max-height:calc(100vh - 80px)!important}body.platform-ios.native-mobile .q-dialog__inner--top>div{border-radius:4px}body.platform-ios.native-mobile .q-dialog__inner--top .q-select__dialog--focused{max-height:47vh!important}body.platform-ios:not(.native-mobile) .q-dialog__inner--top .q-select__dialog--focused{max-height:50vh!important}.q-separator{border:0;background:rgba(0,0,0,.12);margin:0;transition:background .3s,opacity .3s;flex-shrink:0}.q-separator--dark{background:rgba(255,255,255,.28)}.q-separator--horizontal{display:block;height:1px}.q-separator--horizontal-inset{margin-left:16px;margin-right:16px}.q-separator--horizontal-item-inset{margin-left:72px;margin-right:0}.q-separator--horizontal-item-thumbnail-inset{margin-left:116px;margin-right:0}.q-separator--vertical{width:1px;height:auto;align-self:stretch}.q-separator--vertical-inset{margin-top:8px;margin-bottom:8px}.q-skeleton{--q-skeleton-speed: 1.5s;background:rgba(0,0,0,.12);border-radius:4px;box-sizing:border-box}.q-skeleton--anim{cursor:wait}.q-skeleton:before{content:"\a0"}.q-skeleton--type-text{transform:scaleY(.5)}.q-skeleton--type-circle,.q-skeleton--type-QAvatar{height:48px;width:48px;border-radius:50%}.q-skeleton--type-QBtn{width:90px;height:36px}.q-skeleton--type-QBadge{width:70px;height:16px}.q-skeleton--type-QChip{width:90px;height:28px;border-radius:16px}.q-skeleton--type-QToolbar{height:50px}.q-skeleton--type-QCheckbox,.q-skeleton--type-QRadio{width:40px;height:40px;border-radius:50%}.q-skeleton--type-QToggle{width:56px;height:40px;border-radius:7px}.q-skeleton--type-QSlider,.q-skeleton--type-QRange{height:40px}.q-skeleton--type-QInput{height:56px}.q-skeleton--bordered{border:1px solid rgba(0,0,0,.05)}.q-skeleton--square{border-radius:0}.q-skeleton--anim-fade{animation:q-skeleton--fade var(--q-skeleton-speed) linear .5s infinite}.q-skeleton--anim-pulse{animation:q-skeleton--pulse var(--q-skeleton-speed) ease-in-out .5s infinite}.q-skeleton--anim-pulse-x{animation:q-skeleton--pulse-x var(--q-skeleton-speed) ease-in-out .5s infinite}.q-skeleton--anim-pulse-y{animation:q-skeleton--pulse-y var(--q-skeleton-speed) ease-in-out .5s infinite}.q-skeleton--anim-wave,.q-skeleton--anim-blink,.q-skeleton--anim-pop{position:relative;overflow:hidden;z-index:1}.q-skeleton--anim-wave:after,.q-skeleton--anim-blink:after,.q-skeleton--anim-pop:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.q-skeleton--anim-blink:after{background:rgba(255,255,255,.7);animation:q-skeleton--fade var(--q-skeleton-speed) linear .5s infinite}.q-skeleton--anim-wave:after{background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.5),rgba(255,255,255,0));animation:q-skeleton--wave var(--q-skeleton-speed) linear .5s infinite}.q-skeleton--dark{background:rgba(255,255,255,.05)}.q-skeleton--dark.q-skeleton--bordered{border:1px solid rgba(255,255,255,.25)}.q-skeleton--dark.q-skeleton--anim-wave:after{background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.1),rgba(255,255,255,0))}.q-skeleton--dark.q-skeleton--anim-blink:after{background:rgba(255,255,255,.2)}@keyframes q-skeleton--fade{0%{opacity:1}50%{opacity:.4}to{opacity:1}}@keyframes q-skeleton--pulse{0%{transform:scale(1)}50%{transform:scale(.85)}to{transform:scale(1)}}@keyframes q-skeleton--pulse-x{0%{transform:scaleX(1)}50%{transform:scaleX(.75)}to{transform:scaleX(1)}}@keyframes q-skeleton--pulse-y{0%{transform:scaleY(1)}50%{transform:scaleY(.75)}to{transform:scaleY(1)}}@keyframes q-skeleton--wave{0%{transform:translate(-100%)}to{transform:translate(100%)}}.q-slide-item{position:relative;background:white}.q-slide-item__left,.q-slide-item__right,.q-slide-item__top,.q-slide-item__bottom{visibility:hidden;font-size:14px;color:#fff}.q-slide-item__left .q-icon,.q-slide-item__right .q-icon,.q-slide-item__top .q-icon,.q-slide-item__bottom .q-icon{font-size:1.714em}.q-slide-item__left{background:#4caf50;padding:8px 16px}.q-slide-item__left>div{transform-origin:left center}.q-slide-item__right{background:#ff9800;padding:8px 16px}.q-slide-item__right>div{transform-origin:right center}.q-slide-item__top{background:#2196f3;padding:16px 8px}.q-slide-item__top>div{transform-origin:top center}.q-slide-item__bottom{background:#9c27b0;padding:16px 8px}.q-slide-item__bottom>div{transform-origin:bottom center}.q-slide-item__content{background:inherit;transition:transform .2s ease-in;user-select:none;cursor:pointer}.q-slider{position:relative}.q-slider--h{width:100%}.q-slider--v{height:200px}.q-slider--editable .q-slider__track-container{cursor:grab}.q-slider__track-container{outline:0}.q-slider__track-container--h{width:100%;padding:12px 0}.q-slider__track-container--h .q-slider__selection{will-change:width,left}.q-slider__track-container--v{height:100%;padding:0 12px}.q-slider__track-container--v .q-slider__selection{will-change:height,top}.q-slider__track{color:var(--q-primary);background:rgba(0,0,0,.1);border-radius:4px;width:inherit;height:inherit}.q-slider__inner{background:rgba(0,0,0,.1);border-radius:inherit;width:100%;height:100%}.q-slider__selection{background:currentColor;border-radius:inherit;width:100%;height:100%}.q-slider__markers{color:#0000004d;border-radius:inherit;width:100%;height:100%}.q-slider__markers:after{content:"";position:absolute;background:currentColor}.q-slider__markers--h{background-image:repeating-linear-gradient(to right,currentColor,currentColor 2px,rgba(255,255,255,0) 0,rgba(255,255,255,0))}.q-slider__markers--h:after{height:100%;width:2px;top:0;right:0}.q-slider__markers--v{background-image:repeating-linear-gradient(to bottom,currentColor,currentColor 2px,rgba(255,255,255,0) 0,rgba(255,255,255,0))}.q-slider__markers--v:after{width:100%;height:2px;left:0;bottom:0}.q-slider__marker-labels-container{position:relative;width:100%;height:100%;min-height:24px;min-width:24px}.q-slider__marker-labels{position:absolute}.q-slider__marker-labels--h-standard{top:0}.q-slider__marker-labels--h-switched{bottom:0}.q-slider__marker-labels--h-ltr{transform:translate(-50%)}.q-slider__marker-labels--h-rtl{transform:translate(50%)}.q-slider__marker-labels--v-standard{left:4px}.q-slider__marker-labels--v-switched{right:4px}.q-slider__marker-labels--v-ltr{transform:translateY(-50%)}.q-slider__marker-labels--v-rtl{transform:translateY(50%)}.q-slider__thumb{z-index:1;outline:0;color:var(--q-primary);transition:transform .18s ease-out,fill .18s ease-out,stroke .18s ease-out}.q-slider__thumb.q-slider--focus{opacity:1!important}.q-slider__thumb--h{top:50%;will-change:left}.q-slider__thumb--h-ltr{transform:scale(1) translate(-50%,-50%)}.q-slider__thumb--h-rtl{transform:scale(1) translate(50%,-50%)}.q-slider__thumb--v{left:50%;will-change:top}.q-slider__thumb--v-ltr{transform:scale(1) translate(-50%,-50%)}.q-slider__thumb--v-rtl{transform:scale(1) translate(-50%,50%)}.q-slider__thumb-shape{top:0;left:0;stroke-width:3.5;stroke:currentColor;transition:transform .28s}.q-slider__thumb-shape path{stroke:currentColor;fill:currentColor}.q-slider__focus-ring{border-radius:50%;opacity:0;transition:transform .26667s ease-out,opacity .26667s ease-out,background-color .26667s ease-out;transition-delay:.14s}.q-slider__pin{opacity:0;white-space:nowrap;transition:opacity .28s ease-out;transition-delay:.14s}.q-slider__pin:before{content:"";width:0;height:0;position:absolute}.q-slider__pin--h:before{border-left:6px solid transparent;border-right:6px solid transparent;left:50%;transform:translate(-50%)}.q-slider__pin--h-standard{bottom:100%}.q-slider__pin--h-standard:before{bottom:2px;border-top:6px solid currentColor}.q-slider__pin--h-switched{top:100%}.q-slider__pin--h-switched:before{top:2px;border-bottom:6px solid currentColor}.q-slider__pin--v{top:0}.q-slider__pin--v:before{top:50%;transform:translateY(-50%);border-top:6px solid transparent;border-bottom:6px solid transparent}.q-slider__pin--v-standard{left:100%}.q-slider__pin--v-standard:before{left:2px;border-right:6px solid currentColor}.q-slider__pin--v-switched{right:100%}.q-slider__pin--v-switched:before{right:2px;border-left:6px solid currentColor}.q-slider__label{z-index:1;white-space:nowrap;position:absolute}.q-slider__label--h{left:50%;transform:translate(-50%)}.q-slider__label--h-standard{bottom:7px}.q-slider__label--h-switched{top:7px}.q-slider__label--v{top:50%;transform:translateY(-50%)}.q-slider__label--v-standard{left:7px}.q-slider__label--v-switched{right:7px}.q-slider__text-container{min-height:25px;padding:2px 8px;border-radius:4px;background:currentColor;position:relative;text-align:center}.q-slider__text{color:#fff;font-size:12px}.q-slider--no-value .q-slider__thumb,.q-slider--no-value .q-slider__inner,.q-slider--no-value .q-slider__selection{opacity:0}.q-slider--focus .q-slider__focus-ring,body.desktop .q-slider.q-slider--editable .q-slider__track-container:hover .q-slider__focus-ring{background:currentColor;transform:scale3d(1.55,1.55,1);opacity:.25}.q-slider--focus .q-slider__thumb,.q-slider--focus .q-slider__inner,.q-slider--focus .q-slider__selection,body.desktop .q-slider.q-slider--editable .q-slider__track-container:hover .q-slider__thumb,body.desktop .q-slider.q-slider--editable .q-slider__track-container:hover .q-slider__inner,body.desktop .q-slider.q-slider--editable .q-slider__track-container:hover .q-slider__selection{opacity:1}.q-slider--inactive .q-slider__thumb--h{transition:left .28s,right .28s}.q-slider--inactive .q-slider__thumb--v{transition:top .28s,bottom .28s}.q-slider--inactive .q-slider__selection{transition:width .28s,left .28s,right .28s,height .28s,top .28s,bottom .28s}.q-slider--inactive .q-slider__text-container{transition:transform .28s}.q-slider--active{cursor:grabbing}.q-slider--active .q-slider__thumb-shape{transform:scale(1.5)}.q-slider--active .q-slider__focus-ring,.q-slider--active.q-slider--label .q-slider__thumb-shape{transform:scale(0)!important}body.desktop .q-slider.q-slider--enabled .q-slider__track-container:hover .q-slider__pin,.q-slider--label.q-slider--active .q-slider__pin,.q-slider--label .q-slider--focus .q-slider__pin,.q-slider--label.q-slider--label-always .q-slider__pin{opacity:1}.q-slider--dark .q-slider__track,.q-slider--dark .q-slider__inner{background:rgba(255,255,255,.1)}.q-slider--dark .q-slider__markers{color:#ffffff4d}.q-slider--dense .q-slider__track-container--h{padding:6px 0}.q-slider--dense .q-slider__track-container--v{padding:0 6px}.q-space{flex-grow:1!important}.q-spinner{vertical-align:middle}.q-spinner-mat{animation:q-spin 2s linear infinite;transform-origin:center center}.q-spinner-mat .path{stroke-dasharray:1,200;stroke-dashoffset:0;animation:q-mat-dash 1.5s ease-in-out infinite}@keyframes q-spin{0%{transform:rotate3d(0,0,1,0)}25%{transform:rotate3d(0,0,1,90deg)}50%{transform:rotate3d(0,0,1,180deg)}75%{transform:rotate3d(0,0,1,270deg)}to{transform:rotate3d(0,0,1,359deg)}}@keyframes q-mat-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}.q-splitter__panel{position:relative;z-index:0}.q-splitter__panel>.q-splitter{width:100%;height:100%}.q-splitter__separator{background-color:#0000001f;user-select:none;position:relative;z-index:1}.q-splitter__separator-area>*{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.q-splitter--dark .q-splitter__separator{background-color:#ffffff47}.q-splitter--vertical>.q-splitter__panel{height:100%}.q-splitter--vertical.q-splitter--active{cursor:col-resize}.q-splitter--vertical>.q-splitter__separator{width:1px}.q-splitter--vertical>.q-splitter__separator>div{left:-6px;right:-6px}.q-splitter--vertical.q-splitter--workable>.q-splitter__separator{cursor:col-resize}.q-splitter--horizontal>.q-splitter__panel{width:100%}.q-splitter--horizontal.q-splitter--active{cursor:row-resize}.q-splitter--horizontal>.q-splitter__separator{height:1px}.q-splitter--horizontal>.q-splitter__separator>div{top:-6px;bottom:-6px}.q-splitter--horizontal.q-splitter--workable>.q-splitter__separator{cursor:row-resize}.q-splitter__before,.q-splitter__after{overflow:auto}.q-stepper{box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f;border-radius:4px;background:#fff}.q-stepper__title{font-size:14px;line-height:18px;letter-spacing:.1px}.q-stepper__caption{font-size:12px;line-height:14px}.q-stepper__dot{contain:layout;margin-right:8px;font-size:14px;width:24px;min-width:24px;height:24px;border-radius:50%;background:currentColor}.q-stepper__dot span{color:#fff}.q-stepper__tab{padding:8px 24px;font-size:14px;color:#9e9e9e;flex-direction:row}.q-stepper--dark .q-stepper__dot span{color:#000}.q-stepper__tab--navigation{user-select:none;cursor:pointer}.q-stepper__tab--active,.q-stepper__tab--done{color:var(--q-primary)}.q-stepper__tab--active .q-stepper__dot,.q-stepper__tab--active .q-stepper__label,.q-stepper__tab--done .q-stepper__dot,.q-stepper__tab--done .q-stepper__label{text-shadow:0 0 0 currentColor}.q-stepper__tab--disabled .q-stepper__dot{background:rgba(0,0,0,.22)}.q-stepper__tab--disabled .q-stepper__label{color:#00000052}.q-stepper__tab--error{color:var(--q-negative)}.q-stepper__tab--error-with-icon .q-stepper__dot{background:transparent!important}.q-stepper__tab--error-with-icon .q-stepper__dot span{color:currentColor;font-size:24px}.q-stepper__header{border-top-left-radius:inherit;border-top-right-radius:inherit}.q-stepper__header--border{border-bottom:1px solid rgba(0,0,0,.12)}.q-stepper__header--standard-labels .q-stepper__tab{min-height:72px;justify-content:center}.q-stepper__header--standard-labels .q-stepper__tab:first-child{justify-content:flex-start}.q-stepper__header--standard-labels .q-stepper__tab:last-child{justify-content:flex-end}.q-stepper__header--standard-labels .q-stepper__tab:only-child{justify-content:center}.q-stepper__header--standard-labels .q-stepper__dot:after{display:none}.q-stepper__header--alternative-labels .q-stepper__tab{min-height:104px;padding:24px 32px;flex-direction:column;justify-content:flex-start}.q-stepper__header--alternative-labels .q-stepper__dot{margin-right:0}.q-stepper__header--alternative-labels .q-stepper__label{margin-top:8px;text-align:center}.q-stepper__header--alternative-labels .q-stepper__label:before,.q-stepper__header--alternative-labels .q-stepper__label:after{display:none}.q-stepper__header--contracted,.q-stepper__header--contracted.q-stepper__header--alternative-labels .q-stepper__tab{min-height:72px}.q-stepper__header--contracted.q-stepper__header--alternative-labels .q-stepper__tab:first-child{align-items:flex-start}.q-stepper__header--contracted.q-stepper__header--alternative-labels .q-stepper__tab:last-child{align-items:flex-end}.q-stepper__header--contracted .q-stepper__tab{padding:24px 0}.q-stepper__header--contracted .q-stepper__tab:first-child .q-stepper__dot{transform:translate(24px)}.q-stepper__header--contracted .q-stepper__tab:last-child .q-stepper__dot{transform:translate(-24px)}.q-stepper__header--contracted .q-stepper__tab:not(:last-child) .q-stepper__dot:after{display:block!important}.q-stepper__header--contracted .q-stepper__dot{margin:0}.q-stepper__header--contracted .q-stepper__label{display:none}.q-stepper__nav{padding-top:24px}.q-stepper--bordered{border:1px solid rgba(0,0,0,.12)}.q-stepper--horizontal .q-stepper__step-inner{padding:24px}.q-stepper--horizontal .q-stepper__tab:first-child{border-top-left-radius:inherit}.q-stepper--horizontal .q-stepper__tab:last-child{border-top-right-radius:inherit}.q-stepper--horizontal .q-stepper__tab:first-child .q-stepper__dot:before,.q-stepper--horizontal .q-stepper__tab:last-child .q-stepper__label:after,.q-stepper--horizontal .q-stepper__tab:last-child .q-stepper__dot:after{display:none}.q-stepper--horizontal .q-stepper__tab{overflow:hidden}.q-stepper--horizontal .q-stepper__line{contain:layout}.q-stepper--horizontal .q-stepper__line:before,.q-stepper--horizontal .q-stepper__line:after{position:absolute;top:50%;height:1px;width:100vw;background:rgba(0,0,0,.12)}.q-stepper--horizontal .q-stepper__label:after,.q-stepper--horizontal .q-stepper__dot:after{content:"";left:100%;margin-left:8px}.q-stepper--horizontal .q-stepper__dot:before{content:"";right:100%;margin-right:8px}.q-stepper--horizontal>.q-stepper__nav{padding:0 24px 24px}.q-stepper--vertical{padding:16px 0}.q-stepper--vertical .q-stepper__tab{padding:12px 24px}.q-stepper--vertical .q-stepper__title{line-height:18px}.q-stepper--vertical .q-stepper__step-inner{padding:0 24px 32px 60px}.q-stepper--vertical>.q-stepper__nav{padding:24px 24px 0}.q-stepper--vertical .q-stepper__step{overflow:hidden}.q-stepper--vertical .q-stepper__dot{margin-right:12px}.q-stepper--vertical .q-stepper__dot:before,.q-stepper--vertical .q-stepper__dot:after{content:"";position:absolute;left:50%;width:1px;height:99999px;background:rgba(0,0,0,.12)}.q-stepper--vertical .q-stepper__dot:before{bottom:100%;margin-bottom:8px}.q-stepper--vertical .q-stepper__dot:after{top:100%;margin-top:8px}.q-stepper--vertical .q-stepper__step:first-child .q-stepper__dot:before,.q-stepper--vertical .q-stepper__step:last-child .q-stepper__dot:after{display:none}.q-stepper--vertical .q-stepper__step:last-child .q-stepper__step-inner{padding-bottom:8px}.q-stepper--dark.q-stepper--bordered,.q-stepper--dark .q-stepper__header--border{border-color:#ffffff47}.q-stepper--dark.q-stepper--horizontal .q-stepper__line:before,.q-stepper--dark.q-stepper--horizontal .q-stepper__line:after{background:rgba(255,255,255,.28)}.q-stepper--dark.q-stepper--vertical .q-stepper__dot:before,.q-stepper--dark.q-stepper--vertical .q-stepper__dot:after{background:rgba(255,255,255,.28)}.q-stepper--dark .q-stepper__tab--disabled{color:#ffffff47}.q-stepper--dark .q-stepper__tab--disabled .q-stepper__dot{background:rgba(255,255,255,.28)}.q-stepper--dark .q-stepper__tab--disabled .q-stepper__label{color:#ffffff8a}.q-tab-panels{background:#fff}.q-tab-panel{padding:16px}.q-markup-table{overflow:auto;background:#fff}.q-table{width:100%;max-width:100%;border-collapse:separate;border-spacing:0}.q-table thead tr,.q-table tbody td{height:48px}.q-table th{font-weight:500;font-size:12px;user-select:none}.q-table th.sortable{cursor:pointer}.q-table th.sortable:hover .q-table__sort-icon{opacity:.64}.q-table th.sorted .q-table__sort-icon{opacity:.86!important}.q-table th.sort-desc .q-table__sort-icon{transform:rotate(180deg)}.q-table th,.q-table td{padding:7px 16px;background-color:inherit}.q-table thead,.q-table td,.q-table th{border-style:solid;border-width:0}.q-table tbody td{font-size:13px}.q-table__card{color:#000;background-color:#fff;border-radius:4px;box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f}.q-table__card .q-table__middle{flex:1 1 auto}.q-table__card .q-table__top,.q-table__card .q-table__bottom{flex:0 0 auto}.q-table__container{position:relative}.q-table__container>div:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.q-table__container>div:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.q-table__container>.q-inner-loading{border-radius:inherit!important}.q-table__top{padding:12px 16px}.q-table__top .q-table__control{flex-wrap:wrap}.q-table__title{font-size:20px;letter-spacing:.005em;font-weight:400}.q-table__separator{min-width:8px!important}.q-table__progress{height:0!important}.q-table__progress th{padding:0!important;border:0!important}.q-table__progress .q-linear-progress{position:absolute;bottom:0}.q-table__middle{max-width:100%}.q-table__bottom{min-height:50px;padding:4px 14px 4px 16px;font-size:12px}.q-table__bottom .q-table__control{min-height:24px}.q-table__bottom-nodata-icon{font-size:200%;margin-right:8px}.q-table__bottom-item{margin-right:16px}.q-table__control{display:flex;align-items:center}.q-table__sort-icon{transition:transform .3s cubic-bezier(.25,.8,.5,1);opacity:0;font-size:120%}.q-table__sort-icon--left,.q-table__sort-icon--center{margin-left:4px}.q-table__sort-icon--right{margin-right:4px}.q-table--col-auto-width{width:1px}.q-table--flat{box-shadow:none}.q-table--bordered{border:1px solid rgba(0,0,0,.12)}.q-table--square{border-radius:0}.q-table__linear-progress{height:2px}.q-table--no-wrap th,.q-table--no-wrap td{white-space:nowrap}.q-table--grid{box-shadow:none;border-radius:4px}.q-table--grid .q-table__top{padding-bottom:4px}.q-table--grid .q-table__middle{min-height:2px;margin-bottom:4px}.q-table--grid .q-table__middle thead,.q-table--grid .q-table__middle thead th{border:0!important}.q-table--grid .q-table__linear-progress{bottom:0}.q-table--grid .q-table__bottom{border-top:0}.q-table--grid .q-table__grid-content{flex:1 1 auto}.q-table--grid.fullscreen{background:inherit}.q-table__grid-item-card{vertical-align:top;padding:12px}.q-table__grid-item-card .q-separator{margin:12px 0}.q-table__grid-item-row+.q-table__grid-item-row{margin-top:8px}.q-table__grid-item-title{opacity:.54;font-weight:500;font-size:12px}.q-table__grid-item-value{font-size:13px}.q-table__grid-item{padding:4px;transition:transform .3s cubic-bezier(.25,.8,.5,1)}.q-table__grid-item--selected{transform:scale(.95)}.q-table--horizontal-separator thead th,.q-table--horizontal-separator tbody tr:not(:last-child)>td,.q-table--cell-separator thead th,.q-table--cell-separator tbody tr:not(:last-child)>td{border-bottom-width:1px}.q-table--vertical-separator td,.q-table--vertical-separator th,.q-table--cell-separator td,.q-table--cell-separator th{border-left-width:1px}.q-table--vertical-separator thead tr:last-child th,.q-table--vertical-separator.q-table--loading tr:nth-last-child(2) th,.q-table--cell-separator thead tr:last-child th,.q-table--cell-separator.q-table--loading tr:nth-last-child(2) th{border-bottom-width:1px}.q-table--vertical-separator td:first-child,.q-table--vertical-separator th:first-child,.q-table--cell-separator td:first-child,.q-table--cell-separator th:first-child{border-left:0}.q-table--vertical-separator .q-table__top,.q-table--cell-separator .q-table__top{border-bottom:1px solid rgba(0,0,0,.12)}.q-table--dense .q-table__top{padding:6px 16px}.q-table--dense .q-table__bottom{min-height:33px}.q-table--dense .q-table__sort-icon{font-size:110%}.q-table--dense .q-table th,.q-table--dense .q-table td{padding:4px 8px}.q-table--dense .q-table thead tr,.q-table--dense .q-table tbody tr,.q-table--dense .q-table tbody td{height:28px}.q-table--dense .q-table th:first-child,.q-table--dense .q-table td:first-child{padding-left:16px}.q-table--dense .q-table th:last-child,.q-table--dense .q-table td:last-child{padding-right:16px}.q-table--dense .q-table__bottom-item{margin-right:8px}.q-table--dense .q-table__select .q-field__control,.q-table--dense .q-table__select .q-field__native{min-height:24px;padding:0}.q-table--dense .q-table__select .q-field__marginal{height:24px}.q-table__bottom{border-top:1px solid rgba(0,0,0,.12)}.q-table thead,.q-table tr,.q-table th,.q-table td{border-color:#0000001f}.q-table tbody td{position:relative}.q-table tbody td:before,.q-table tbody td:after{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}.q-table tbody td:before{background:rgba(0,0,0,.03)}.q-table tbody td:after{background:rgba(0,0,0,.06)}.q-table tbody tr.selected td:after{content:""}body.desktop .q-table>tbody>tr:not(.q-tr--no-hover):hover>td:not(.q-td--no-hover):before{content:""}.q-table__card--dark,.q-table--dark,.q-table--dark .q-table__bottom,.q-table--dark thead,.q-table--dark tr,.q-table--dark th,.q-table--dark td{border-color:#ffffff47}.q-table--dark tbody td:before{background:rgba(255,255,255,.07)}.q-table--dark tbody td:after{background:rgba(255,255,255,.1)}.q-table--dark.q-table--vertical-separator .q-table__top,.q-table--dark.q-table--cell-separator .q-table__top{border-color:#ffffff47}.q-tab{padding:0 16px;min-height:48px;transition:color .3s,background-color .3s;text-transform:uppercase;white-space:nowrap;color:inherit;text-decoration:none}.q-tab--full{min-height:72px}.q-tab--no-caps{text-transform:none}.q-tab__content{height:inherit;padding:4px 0;min-width:40px}.q-tab__content--inline .q-tab__icon+.q-tab__label{padding-left:8px}.q-tab__content .q-chip--floating{top:0;right:-16px}.q-tab__icon{width:24px;height:24px;font-size:24px}.q-tab__label{font-size:14px;line-height:1.715em;font-weight:500}.q-tab .q-badge{top:3px;right:-12px}.q-tab__alert,.q-tab__alert-icon{position:absolute}.q-tab__alert{top:7px;right:-9px;height:10px;width:10px;border-radius:50%;background:currentColor}.q-tab__alert-icon{top:2px;right:-12px;font-size:18px}.q-tab__indicator{opacity:0;height:2px;background:currentColor}.q-tab--active .q-tab__indicator{opacity:1;transform-origin:left}.q-tab--inactive{opacity:.85}.q-tabs{position:relative;transition:color .3s,background-color .3s}.q-tabs--scrollable.q-tabs__arrows--outside.q-tabs--horizontal{padding-left:36px;padding-right:36px}.q-tabs--scrollable.q-tabs__arrows--outside.q-tabs--vertical{padding-top:36px;padding-bottom:36px}.q-tabs--scrollable.q-tabs__arrows--outside .q-tabs__arrow--faded{opacity:.3;pointer-events:none}.q-tabs--scrollable.q-tabs__arrows--inside .q-tabs__arrow--faded,.q-tabs--not-scrollable .q-tabs__arrow{display:none}.q-tabs--not-scrollable .q-tabs__content{border-radius:inherit}.q-tabs__arrow{cursor:pointer;font-size:32px;min-width:36px;text-shadow:0 0 3px #fff,0 0 1px #fff,0 0 1px #000;transition:opacity .3s}.q-tabs__content{overflow:hidden;flex:1 1 auto}.q-tabs__content--align-center{justify-content:center}.q-tabs__content--align-right{justify-content:flex-end}.q-tabs__content--align-justify .q-tab{flex:1 1 auto}.q-tabs__offset{display:none}.q-tabs--horizontal .q-tabs__arrow{height:100%}.q-tabs--horizontal .q-tabs__arrow--left{top:0;left:0;bottom:0}.q-tabs--horizontal .q-tabs__arrow--right{top:0;right:0;bottom:0}.q-tabs--vertical,.q-tabs--vertical .q-tabs__content{display:block!important;height:100%}.q-tabs--vertical .q-tabs__arrow{width:100%;height:36px;text-align:center}.q-tabs--vertical .q-tabs__arrow--left{top:0;left:0;right:0}.q-tabs--vertical .q-tabs__arrow--right{left:0;right:0;bottom:0}.q-tabs--vertical .q-tab{padding:0 8px}.q-tabs--vertical .q-tab__indicator{height:unset;width:2px}.q-tabs--vertical.q-tabs--not-scrollable .q-tabs__content{height:100%}.q-tabs--vertical.q-tabs--dense .q-tab__content{min-width:24px}.q-tabs--dense .q-tab{min-height:36px}.q-tabs--dense .q-tab--full{min-height:52px}.q-time{box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f;border-radius:4px;background:#fff;outline:0;width:290px;min-width:290px;max-width:100%}.q-time--bordered{border:1px solid rgba(0,0,0,.12)}.q-time__header{border-top-left-radius:inherit;color:#fff;background-color:var(--q-primary);padding:16px;font-weight:300}.q-time__actions{padding:0 16px 16px}.q-time__header-label{font-size:28px;line-height:1;letter-spacing:-.00833em}.q-time__header-label>div+div{margin-left:4px}.q-time__link{opacity:.56;outline:0;transition:opacity .3s ease-out}.q-time__link--active,.q-time__link:hover,.q-time__link:focus{opacity:1}.q-time__header-ampm{font-size:16px;letter-spacing:.1em}.q-time__content{padding:16px}.q-time__content:before{content:"";display:block;padding-bottom:100%}.q-time__container-parent{padding:16px}.q-time__container-child{border-radius:50%;background:rgba(0,0,0,.12)}.q-time__clock{padding:24px;width:100%;height:100%;max-width:100%;max-height:100%;font-size:14px}.q-time__clock-circle{position:relative}.q-time__clock-center{height:6px;width:6px;margin:auto;border-radius:50%;min-height:0;background:currentColor}.q-time__clock-pointer{width:2px;height:50%;transform-origin:0 0;min-height:0;position:absolute;left:50%;right:0;bottom:0;color:var(--q-primary);background:currentColor;transform:translate(-50%)}.q-time__clock-pointer:before,.q-time__clock-pointer:after{content:"";position:absolute;left:50%;border-radius:50%;background:currentColor;transform:translate(-50%)}.q-time__clock-pointer:before{bottom:-4px;width:8px;height:8px}.q-time__clock-pointer:after{top:-3px;height:6px;width:6px}.q-time__clock-position{position:absolute;min-height:32px;width:32px;height:32px;font-size:12px;line-height:32px;margin:0;padding:0;transform:translate(-50%,-50%);border-radius:50%}.q-time__clock-position--disable{opacity:.4}.q-time__clock-position--active{background-color:var(--q-primary);color:#fff}.q-time__clock-pos-0{top:0%;left:50%}.q-time__clock-pos-1{top:6.7%;left:75%}.q-time__clock-pos-2{top:25%;left:93.3%}.q-time__clock-pos-3{top:50%;left:100%}.q-time__clock-pos-4{top:75%;left:93.3%}.q-time__clock-pos-5{top:93.3%;left:75%}.q-time__clock-pos-6{top:100%;left:50%}.q-time__clock-pos-7{top:93.3%;left:25%}.q-time__clock-pos-8{top:75%;left:6.7%}.q-time__clock-pos-9{top:50%;left:0%}.q-time__clock-pos-10{top:25%;left:6.7%}.q-time__clock-pos-11{top:6.7%;left:25%}.q-time__clock-pos-12{top:15%;left:50%}.q-time__clock-pos-13{top:19.69%;left:67.5%}.q-time__clock-pos-14{top:32.5%;left:80.31%}.q-time__clock-pos-15{top:50%;left:85%}.q-time__clock-pos-16{top:67.5%;left:80.31%}.q-time__clock-pos-17{top:80.31%;left:67.5%}.q-time__clock-pos-18{top:85%;left:50%}.q-time__clock-pos-19{top:80.31%;left:32.5%}.q-time__clock-pos-20{top:67.5%;left:19.69%}.q-time__clock-pos-21{top:50%;left:15%}.q-time__clock-pos-22{top:32.5%;left:19.69%}.q-time__clock-pos-23{top:19.69%;left:32.5%}.q-time__now-button{background-color:var(--q-primary);color:#fff;top:12px;right:12px}.q-time.disabled .q-time__header-ampm,.q-time.disabled .q-time__content,.q-time--readonly .q-time__header-ampm,.q-time--readonly .q-time__content{pointer-events:none}.q-time--portrait{display:inline-flex;flex-direction:column}.q-time--portrait .q-time__header{border-top-right-radius:inherit;min-height:86px}.q-time--portrait .q-time__header-ampm{margin-left:12px}.q-time--portrait.q-time--bordered .q-time__content{margin:1px 0}.q-time--landscape{display:inline-flex;align-items:stretch;min-width:420px}.q-time--landscape>div{display:flex;flex-direction:column;justify-content:center}.q-time--landscape .q-time__header{border-bottom-left-radius:inherit;min-width:156px}.q-time--landscape .q-time__header-ampm{margin-top:12px}.q-time--dark{border-color:#ffffff47}.q-timeline{padding:0;width:100%;list-style:none}.q-timeline h6{line-height:inherit}.q-timeline--dark{color:#fff}.q-timeline--dark .q-timeline__subtitle{opacity:.7}.q-timeline__content{padding-bottom:24px}.q-timeline__title{margin-top:0;margin-bottom:16px}.q-timeline__subtitle{font-size:12px;margin-bottom:8px;opacity:.6;text-transform:uppercase;letter-spacing:1px;font-weight:700}.q-timeline__dot{position:absolute;top:0;bottom:0;width:15px}.q-timeline__dot:before,.q-timeline__dot:after{content:"";background:currentColor;display:block;position:absolute}.q-timeline__dot:before{border:3px solid transparent;border-radius:100%;height:15px;width:15px;top:4px;left:0;transition:background .3s ease-in-out,border .3s ease-in-out}.q-timeline__dot:after{width:3px;opacity:.4;top:24px;bottom:0;left:6px}.q-timeline__dot .q-icon{position:absolute;top:0;left:0;right:0;font-size:16px;height:38px;line-height:38px;width:100%;color:#fff}.q-timeline__dot .q-icon>svg,.q-timeline__dot .q-icon>img{width:1em;height:1em}.q-timeline__dot-img{position:absolute;top:4px;left:0;right:0;height:31px;width:31px;background:currentColor;border-radius:50%}.q-timeline__heading{position:relative}.q-timeline__heading:first-child .q-timeline__heading-title{padding-top:0}.q-timeline__heading:last-child .q-timeline__heading-title{padding-bottom:0}.q-timeline__heading-title{padding:32px 0;margin:0}.q-timeline__entry{position:relative;line-height:22px}.q-timeline__entry:last-child{padding-bottom:0!important}.q-timeline__entry:last-child .q-timeline__dot:after{content:none}.q-timeline__entry--icon .q-timeline__dot{width:31px}.q-timeline__entry--icon .q-timeline__dot:before{height:31px;width:31px}.q-timeline__entry--icon .q-timeline__dot:after{top:41px;left:14px}.q-timeline__entry--icon .q-timeline__subtitle{padding-top:8px}.q-timeline--dense--right .q-timeline__entry{padding-left:40px}.q-timeline--dense--right .q-timeline__entry--icon .q-timeline__dot{left:-8px}.q-timeline--dense--right .q-timeline__dot{left:0}.q-timeline--dense--left .q-timeline__heading{text-align:right}.q-timeline--dense--left .q-timeline__entry{padding-right:40px}.q-timeline--dense--left .q-timeline__entry--icon .q-timeline__dot{right:-8px}.q-timeline--dense--left .q-timeline__content,.q-timeline--dense--left .q-timeline__title,.q-timeline--dense--left .q-timeline__subtitle{text-align:right}.q-timeline--dense--left .q-timeline__dot{right:0}.q-timeline--comfortable{display:table}.q-timeline--comfortable .q-timeline__heading{display:table-row;font-size:200%}.q-timeline--comfortable .q-timeline__heading>div{display:table-cell}.q-timeline--comfortable .q-timeline__entry{display:table-row;padding:0}.q-timeline--comfortable .q-timeline__entry--icon .q-timeline__content{padding-top:8px}.q-timeline--comfortable .q-timeline__subtitle,.q-timeline--comfortable .q-timeline__dot,.q-timeline--comfortable .q-timeline__content{display:table-cell;vertical-align:top}.q-timeline--comfortable .q-timeline__subtitle{width:35%}.q-timeline--comfortable .q-timeline__dot{position:relative;min-width:31px}.q-timeline--comfortable--right .q-timeline__heading .q-timeline__heading-title{margin-left:-50px}.q-timeline--comfortable--right .q-timeline__subtitle{text-align:right;padding-right:30px}.q-timeline--comfortable--right .q-timeline__content{padding-left:30px}.q-timeline--comfortable--right .q-timeline__entry--icon .q-timeline__dot{left:-8px}.q-timeline--comfortable--left .q-timeline__heading{text-align:right}.q-timeline--comfortable--left .q-timeline__heading .q-timeline__heading-title{margin-right:-50px}.q-timeline--comfortable--left .q-timeline__subtitle{padding-left:30px}.q-timeline--comfortable--left .q-timeline__content{padding-right:30px}.q-timeline--comfortable--left .q-timeline__content,.q-timeline--comfortable--left .q-timeline__title{text-align:right}.q-timeline--comfortable--left .q-timeline__entry--icon .q-timeline__dot{right:0}.q-timeline--comfortable--left .q-timeline__dot{right:-8px}.q-timeline--loose .q-timeline__heading-title{text-align:center;margin-left:0}.q-timeline--loose .q-timeline__entry,.q-timeline--loose .q-timeline__subtitle,.q-timeline--loose .q-timeline__dot,.q-timeline--loose .q-timeline__content{display:block;margin:0;padding:0}.q-timeline--loose .q-timeline__dot{position:absolute;left:50%;margin-left:-7.15px}.q-timeline--loose .q-timeline__entry{padding-bottom:24px;overflow:hidden}.q-timeline--loose .q-timeline__entry--icon .q-timeline__dot{margin-left:-15px}.q-timeline--loose .q-timeline__entry--icon .q-timeline__subtitle{line-height:38px}.q-timeline--loose .q-timeline__entry--icon .q-timeline__content{padding-top:8px}.q-timeline--loose .q-timeline__entry--left .q-timeline__content,.q-timeline--loose .q-timeline__entry--right .q-timeline__subtitle{float:left;padding-right:30px;text-align:right}.q-timeline--loose .q-timeline__entry--left .q-timeline__subtitle,.q-timeline--loose .q-timeline__entry--right .q-timeline__content{float:right;text-align:left;padding-left:30px}.q-timeline--loose .q-timeline__subtitle,.q-timeline--loose .q-timeline__content{width:50%}.q-toggle{vertical-align:middle}.q-toggle__native{width:1px;height:1px}.q-toggle__track{height:.35em;border-radius:.175em;opacity:.38;background:currentColor}.q-toggle__thumb{top:.25em;left:.25em;width:.5em;height:.5em;transition:left .22s cubic-bezier(.4,0,.2,1);user-select:none;z-index:0}.q-toggle__thumb:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:#fff;box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.q-toggle__thumb .q-icon{font-size:.3em;min-width:1em;color:#000;opacity:.54;z-index:1}.q-toggle__inner{font-size:40px;width:1.4em;min-width:1.4em;height:1em;padding:.325em .3em;-webkit-print-color-adjust:exact}.q-toggle__inner--indet .q-toggle__thumb{left:.45em}.q-toggle__inner--truthy{color:var(--q-primary)}.q-toggle__inner--truthy .q-toggle__track{opacity:.54}.q-toggle__inner--truthy .q-toggle__thumb{left:.65em}.q-toggle__inner--truthy .q-toggle__thumb:after{background-color:currentColor}.q-toggle__inner--truthy .q-toggle__thumb .q-icon{color:#fff;opacity:1}.q-toggle.disabled{opacity:.75!important}.q-toggle--dark .q-toggle__inner{color:#fff}.q-toggle--dark .q-toggle__inner--truthy{color:var(--q-primary)}.q-toggle--dark .q-toggle__thumb:before{opacity:.32!important}.q-toggle--dense .q-toggle__inner{width:.8em;min-width:.8em;height:.5em;padding:.07625em 0}.q-toggle--dense .q-toggle__thumb{top:0;left:0}.q-toggle--dense .q-toggle__inner--indet .q-toggle__thumb{left:.15em}.q-toggle--dense .q-toggle__inner--truthy .q-toggle__thumb{left:.3em}.q-toggle--dense .q-toggle__label{padding-left:.5em}.q-toggle--dense.reverse .q-toggle__label{padding-left:0;padding-right:.5em}body.desktop .q-toggle:not(.disabled) .q-toggle__thumb:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:currentColor;opacity:.12;transform:scale3d(0,0,1);transition:transform .22s cubic-bezier(0,0,.2,1)}body.desktop .q-toggle:not(.disabled):focus .q-toggle__thumb:before,body.desktop .q-toggle:not(.disabled):hover .q-toggle__thumb:before{transform:scale3d(2,2,1)}body.desktop .q-toggle--dense:not(.disabled):focus .q-toggle__thumb:before,body.desktop .q-toggle--dense:not(.disabled):hover .q-toggle__thumb:before{transform:scale3d(1.5,1.5,1)}.q-toolbar{position:relative;padding:0 12px;min-height:50px;width:100%}.q-toolbar--inset{padding-left:58px}.q-toolbar .q-avatar{font-size:38px}.q-toolbar__title{flex:1 1 0%;min-width:1px;max-width:100%;font-size:21px;font-weight:400;letter-spacing:.01em;padding:0 12px}.q-toolbar__title:first-child{padding-left:0}.q-toolbar__title:last-child{padding-right:0}.q-tooltip--style{font-size:10px;color:#fafafa;background:#757575;border-radius:4px;text-transform:none;font-weight:400}.q-tooltip{z-index:9000;position:fixed!important;overflow-y:auto;overflow-x:hidden;padding:6px 10px}@media (max-width: 599.98px){.q-tooltip{font-size:14px;padding:8px 16px}}.q-tree{position:relative;color:#9e9e9e}.q-tree__node{padding:0 0 3px 22px}.q-tree__node:after{content:"";position:absolute;top:-3px;bottom:0;width:2px;right:auto;left:-13px;border-left:1px solid currentColor}.q-tree__node:last-child:after{display:none}.q-tree__node--disabled{pointer-events:none}.q-tree__node--disabled .disabled{opacity:1!important}.q-tree__node--disabled>div,.q-tree__node--disabled>i,.q-tree__node--disabled>.disabled{opacity:.6!important}.q-tree__node--disabled>div .q-tree__node--disabled>div,.q-tree__node--disabled>div .q-tree__node--disabled>i,.q-tree__node--disabled>div .q-tree__node--disabled>.disabled,.q-tree__node--disabled>i .q-tree__node--disabled>div,.q-tree__node--disabled>i .q-tree__node--disabled>i,.q-tree__node--disabled>i .q-tree__node--disabled>.disabled,.q-tree__node--disabled>.disabled .q-tree__node--disabled>div,.q-tree__node--disabled>.disabled .q-tree__node--disabled>i,.q-tree__node--disabled>.disabled .q-tree__node--disabled>.disabled{opacity:1!important}.q-tree__node-header:before{content:"";position:absolute;top:-3px;bottom:50%;width:31px;left:-35px;border-left:1px solid currentColor;border-bottom:1px solid currentColor}.q-tree__children{padding-left:25px}.q-tree__node-body{padding:5px 0 8px 5px}.q-tree__node--parent{padding-left:2px}.q-tree__node--parent>.q-tree__node-header:before{width:15px;left:-15px}.q-tree__node--parent>.q-tree__node-collapsible>.q-tree__node-body{padding:5px 0 8px 27px}.q-tree__node--parent>.q-tree__node-collapsible>.q-tree__node-body:after{content:"";position:absolute;top:0;width:2px;height:100%;right:auto;left:12px;border-left:1px solid currentColor;bottom:50px}.q-tree__node--link{cursor:pointer}.q-tree__node-header{padding:4px;margin-top:3px;border-radius:4px;outline:0}.q-tree__node-header-content{color:#000;transition:color .3s}.q-tree__node--selected .q-tree__node-header-content{color:#9e9e9e}.q-tree__icon,.q-tree__node-header-content .q-icon{font-size:21px}.q-tree__img{height:42px;border-radius:2px}.q-tree__avatar,.q-tree__node-header-content .q-avatar{font-size:28px;border-radius:50%;width:28px;height:28px}.q-tree__arrow,.q-tree__spinner{font-size:16px;margin-right:4px}.q-tree__arrow{transition:transform .3s}.q-tree__arrow--rotate{transform:rotate3d(0,0,1,90deg)}.q-tree__tickbox{margin-right:4px}.q-tree>.q-tree__node{padding:0}.q-tree>.q-tree__node:after,.q-tree>.q-tree__node>.q-tree__node-header:before{display:none}.q-tree>.q-tree__node--child>.q-tree__node-header{padding-left:24px}.q-tree--dark .q-tree__node-header-content{color:#fff}.q-tree--no-connectors .q-tree__node:after,.q-tree--no-connectors .q-tree__node-header:before,.q-tree--no-connectors .q-tree__node-body:after{display:none!important}.q-tree--dense>.q-tree__node--child>.q-tree__node-header{padding-left:1px}.q-tree--dense .q-tree__arrow,.q-tree--dense .q-tree__spinner{margin-right:1px}.q-tree--dense .q-tree__img{height:32px}.q-tree--dense .q-tree__tickbox{margin-right:3px}.q-tree--dense .q-tree__node{padding:0}.q-tree--dense .q-tree__node:after{top:0;left:-8px}.q-tree--dense .q-tree__node-header{margin-top:0;padding:1px}.q-tree--dense .q-tree__node-header:before{top:0;left:-8px;width:8px}.q-tree--dense .q-tree__node--child{padding-left:17px}.q-tree--dense .q-tree__node--child>.q-tree__node-header:before{left:-25px;width:21px}.q-tree--dense .q-tree__node-body{padding:0 0 2px}.q-tree--dense .q-tree__node--parent>.q-tree__node-collapsible>.q-tree__node-body{padding:0 0 2px 20px}.q-tree--dense .q-tree__node--parent>.q-tree__node-collapsible>.q-tree__node-body:after{left:8px}.q-tree--dense .q-tree__children{padding-left:16px}[dir=rtl] .q-tree__arrow{transform:rotate3d(0,0,1,180deg)}[dir=rtl] .q-tree__arrow--rotate{transform:rotate3d(0,0,1,90deg)}.q-uploader{box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f;border-radius:4px;vertical-align:top;background:#fff;position:relative;width:320px;max-height:320px}.q-uploader--bordered{border:1px solid rgba(0,0,0,.12)}.q-uploader__input{opacity:0;width:100%;height:100%;cursor:pointer!important;z-index:1}.q-uploader__input::-webkit-file-upload-button{cursor:pointer}.q-uploader__file:before{content:"";border-top-left-radius:inherit;border-top-right-radius:inherit;position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:currentColor;opacity:.04}.q-uploader__header{position:relative;border-top-left-radius:inherit;border-top-right-radius:inherit;background-color:var(--q-primary);color:#fff;width:100%}.q-uploader__spinner{font-size:24px;margin-right:4px}.q-uploader__header-content{padding:8px}.q-uploader__dnd{outline:1px dashed currentColor;outline-offset:-4px;background:rgba(255,255,255,.6)}.q-uploader__overlay{font-size:36px;color:#000;background-color:#fff9}.q-uploader__list{position:relative;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;padding:8px;min-height:60px;flex:1 1 auto}.q-uploader__file{border-radius:4px 4px 0 0;border:1px solid rgba(0,0,0,.12)}.q-uploader__file .q-circular-progress{font-size:24px}.q-uploader__file--img{color:#fff;height:200px;min-width:200px;background-position:50% 50%;background-size:cover;background-repeat:no-repeat}.q-uploader__file--img:before{content:none}.q-uploader__file--img .q-circular-progress{color:#fff}.q-uploader__file--img .q-uploader__file-header{padding-bottom:24px;background:linear-gradient(to bottom,rgba(0,0,0,.7) 20%,rgba(255,255,255,0))}.q-uploader__file+.q-uploader__file{margin-top:8px}.q-uploader__file-header{position:relative;padding:4px 8px;border-top-left-radius:inherit;border-top-right-radius:inherit}.q-uploader__file-header-content{padding-right:8px}.q-uploader__file-status{font-size:24px;margin-right:4px}.q-uploader__title{font-size:14px;font-weight:700;line-height:18px;word-break:break-word}.q-uploader__subtitle{font-size:12px;line-height:18px}.q-uploader--disable .q-uploader__header,.q-uploader--disable .q-uploader__list{pointer-events:none}.q-uploader--dark,.q-uploader--dark .q-uploader__file{border-color:#ffffff47}.q-uploader--dark .q-uploader__dnd,.q-uploader--dark .q-uploader__overlay{background:rgba(255,255,255,.3)}.q-uploader--dark .q-uploader__overlay{color:#fff}img.responsive{max-width:100%;height:auto}.q-video{position:relative;overflow:hidden;border-radius:inherit}.q-video iframe,.q-video object,.q-video embed{width:100%;height:100%}.q-video--responsive{height:0}.q-video--responsive iframe,.q-video--responsive object,.q-video--responsive embed{position:absolute;top:0;left:0}.q-virtual-scroll:focus{outline:0}.q-virtual-scroll__content{outline:none;contain:content}.q-virtual-scroll__content>*{overflow-anchor:none}.q-virtual-scroll__content>[data-q-vs-anchor]{overflow-anchor:auto}.q-virtual-scroll__padding{background:linear-gradient(rgba(255,255,255,0),rgba(255,255,255,0) 20%,rgba(128,128,128,.03) 20%,rgba(128,128,128,.08) 50%,rgba(128,128,128,.03) 80%,rgba(255,255,255,0) 80%,rgba(255,255,255,0));background-size:var(--q-virtual-scroll-item-width, 100%) var(--q-virtual-scroll-item-height, 50px)}.q-table .q-virtual-scroll__padding tr{height:0!important}.q-table .q-virtual-scroll__padding td{padding:0!important}.q-virtual-scroll--horizontal{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:stretch}.q-virtual-scroll--horizontal .q-virtual-scroll__content{display:flex;flex-direction:row;flex-wrap:nowrap}.q-virtual-scroll--horizontal .q-virtual-scroll__padding,.q-virtual-scroll--horizontal .q-virtual-scroll__content,.q-virtual-scroll--horizontal .q-virtual-scroll__content>*{flex:0 0 auto}.q-virtual-scroll--horizontal .q-virtual-scroll__padding{background:linear-gradient(to left,rgba(255,255,255,0),rgba(255,255,255,0) 20%,rgba(128,128,128,.03) 20%,rgba(128,128,128,.08) 50%,rgba(128,128,128,.03) 80%,rgba(255,255,255,0) 80%,rgba(255,255,255,0));background-size:var(--q-virtual-scroll-item-width, 50px) var(--q-virtual-scroll-item-height, 100%)}.q-ripple{position:absolute;top:0;left:0;width:100%;height:100%;color:inherit;border-radius:inherit;z-index:0;pointer-events:none;overflow:hidden;contain:strict}.q-ripple__inner{position:absolute;top:0;left:0;opacity:0;color:inherit;border-radius:50%;background:currentColor;pointer-events:none;will-change:transform,opacity}.q-ripple__inner--enter{transition:transform .225s cubic-bezier(.4,0,.2,1),opacity .1s cubic-bezier(.4,0,.2,1)}.q-ripple__inner--leave{transition:opacity .25s cubic-bezier(.4,0,.2,1)}.q-morph--invisible,.q-morph--internal{opacity:0!important;pointer-events:none!important;position:fixed!important;right:200vw!important;bottom:200vh!important}.q-loading{color:#000;position:fixed!important}.q-loading__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;opacity:.5;z-index:-1;background-color:#000;transition:background-color .28s}.q-loading__box{border-radius:4px;padding:18px;color:#fff;max-width:450px}.q-loading__message{margin:40px 20px 0;text-align:center}.q-notifications__list{z-index:9500;pointer-events:none;left:0;right:0;margin-bottom:10px;position:relative}.q-notifications__list--center{top:0;bottom:0}.q-notifications__list--top{top:0}.q-notifications__list--bottom{bottom:0}body.q-ios-padding .q-notifications__list--center,body.q-ios-padding .q-notifications__list--top{top:20px;top:env(safe-area-inset-top)}body.q-ios-padding .q-notifications__list--center,body.q-ios-padding .q-notifications__list--bottom{bottom:env(safe-area-inset-bottom)}.q-notification{box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f;border-radius:4px;pointer-events:all;display:inline-flex;margin:10px 10px 0;transition:transform 1s,opacity 1s;z-index:9500;flex-shrink:0;max-width:95vw;background:#323232;color:#fff;font-size:14px}.q-notification__icon{font-size:24px;flex:0 0 1em}.q-notification__icon--additional{margin-right:16px}.q-notification__avatar{font-size:32px}.q-notification__avatar--additional{margin-right:8px}.q-notification__spinner{font-size:32px}.q-notification__spinner--additional{margin-right:8px}.q-notification__message{padding:8px 0}.q-notification__caption{font-size:.9em;opacity:.7}.q-notification__actions{color:var(--q-primary)}.q-notification__badge{animation:q-notif-badge .42s;padding:4px 8px;position:absolute;box-shadow:0 1px 3px #0003,0 1px 1px #00000024,0 2px 1px -1px #0000001f;background-color:var(--q-negative);color:#fff;border-radius:4px;font-size:12px;line-height:12px}.q-notification__badge--top-left,.q-notification__badge--top-right{top:-6px}.q-notification__badge--bottom-left,.q-notification__badge--bottom-right{bottom:-6px}.q-notification__badge--top-left,.q-notification__badge--bottom-left{left:-22px}.q-notification__badge--top-right,.q-notification__badge--bottom-right{right:-22px}.q-notification__progress{z-index:-1;position:absolute;height:3px;bottom:0;left:-10px;right:-10px;animation:q-notif-progress linear;background:currentColor;opacity:.3;border-radius:4px 4px 0 0;transform-origin:0 50%;transform:scaleX(0)}.q-notification--standard{padding:0 16px;min-height:48px}.q-notification--standard .q-notification__actions{padding:6px 0 6px 8px;margin-right:-8px}.q-notification--multi-line{min-height:68px;padding:8px 16px}.q-notification--multi-line .q-notification__badge--top-left,.q-notification--multi-line .q-notification__badge--top-right{top:-15px}.q-notification--multi-line .q-notification__badge--bottom-left,.q-notification--multi-line .q-notification__badge--bottom-right{bottom:-15px}.q-notification--multi-line .q-notification__progress{bottom:-8px}.q-notification--multi-line .q-notification__actions{padding:0}.q-notification--multi-line .q-notification__actions--with-media{padding-left:25px}.q-notification--top-left-enter-from,.q-notification--top-left-leave-to,.q-notification--top-enter-from,.q-notification--top-leave-to,.q-notification--top-right-enter-from,.q-notification--top-right-leave-to{opacity:0;transform:translateY(-50px);z-index:9499}.q-notification--left-enter-from,.q-notification--left-leave-to,.q-notification--center-enter-from,.q-notification--center-leave-to,.q-notification--right-enter-from,.q-notification--right-leave-to{opacity:0;transform:rotateX(90deg);z-index:9499}.q-notification--bottom-left-enter-from,.q-notification--bottom-left-leave-to,.q-notification--bottom-enter-from,.q-notification--bottom-leave-to,.q-notification--bottom-right-enter-from,.q-notification--bottom-right-leave-to{opacity:0;transform:translateY(50px);z-index:9499}.q-notification--top-left-leave-active,.q-notification--top-leave-active,.q-notification--top-right-leave-active,.q-notification--left-leave-active,.q-notification--center-leave-active,.q-notification--right-leave-active,.q-notification--bottom-left-leave-active,.q-notification--bottom-leave-active,.q-notification--bottom-right-leave-active{position:absolute;z-index:9499;margin-left:0;margin-right:0}.q-notification--top-leave-active,.q-notification--center-leave-active{top:0}.q-notification--bottom-left-leave-active,.q-notification--bottom-leave-active,.q-notification--bottom-right-leave-active{bottom:0}@media (min-width: 600px){.q-notification{max-width:65vw}}@keyframes q-notif-badge{15%{transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}}@keyframes q-notif-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}:root{--animate-duration: .3s;--animate-delay: .3s;--animate-repeat: 1}.animated{animation-duration:var(--animate-duration);animation-fill-mode:both}.animated.infinite{animation-iteration-count:infinite}.animated.hinge{animation-duration:2s}.animated.repeat-1{animation-iteration-count:var(--animate-repeat)}.animated.repeat-2{animation-iteration-count:calc(var(--animate-repeat) * 2)}.animated.repeat-3{animation-iteration-count:calc(var(--animate-repeat) * 3)}.animated.delay-1s{animation-delay:var(--animate-delay)}.animated.delay-2s{animation-delay:calc(var(--animate-delay) * 2)}.animated.delay-3s{animation-delay:calc(var(--animate-delay) * 3)}.animated.delay-4s{animation-delay:calc(var(--animate-delay) * 4)}.animated.delay-5s{animation-delay:calc(var(--animate-delay) * 5)}.animated.faster{animation-duration:calc(var(--animate-duration) / 2)}.animated.fast{animation-duration:calc(var(--animate-duration) * .8)}.animated.slow{animation-duration:calc(var(--animate-duration) * 2)}.animated.slower{animation-duration:calc(var(--animate-duration) * 3)}@media print,(prefers-reduced-motion: reduce){.animated{animation-duration:1ms!important;transition-duration:1ms!important;animation-iteration-count:1!important}.animated[class*=Out]{opacity:0}}.q-animate--scale{animation:q-scale .15s;animation-timing-function:cubic-bezier(.25,.8,.25,1)}@keyframes q-scale{0%{transform:scale(1)}50%{transform:scale(1.04)}to{transform:scale(1)}}.q-animate--fade{animation:q-fade .2s}@keyframes q-fade{0%{opacity:0}to{opacity:1}}:root{--q-primary: #7367f0;--q-secondary: #283046;--q-accent: #03DAC6;--q-positive: #4CAF50;--q-negative: #B00020;--q-info: #2196F3;--q-warning: #FB8C00;--q-dark: #161d31;--q-dark-page: #121212}.text-dark{color:var(--q-dark)!important}.bg-dark{background:var(--q-dark)!important}.text-primary{color:var(--q-primary)!important}.bg-primary{background:var(--q-primary)!important}.text-secondary{color:var(--q-secondary)!important}.bg-secondary{background:var(--q-secondary)!important}.text-accent{color:var(--q-accent)!important}.bg-accent{background:var(--q-accent)!important}.text-positive{color:var(--q-positive)!important}.bg-positive{background:var(--q-positive)!important}.text-negative{color:var(--q-negative)!important}.bg-negative{background:var(--q-negative)!important}.text-info{color:var(--q-info)!important}.bg-info{background:var(--q-info)!important}.text-warning{color:var(--q-warning)!important}.bg-warning{background:var(--q-warning)!important}.text-white{color:#fff!important}.bg-white{background:#fff!important}.text-black{color:#000!important}.bg-black{background:#000!important}.text-transparent{color:transparent!important}.bg-transparent{background:transparent!important}.text-separator{color:#0000001f!important}.bg-separator{background:rgba(0,0,0,.12)!important}.text-dark-separator{color:#ffffff47!important}.bg-dark-separator{background:rgba(255,255,255,.28)!important}.text-red{color:#f44336!important}.text-red-1{color:#ffebee!important}.text-red-2{color:#ffcdd2!important}.text-red-3{color:#ef9a9a!important}.text-red-4{color:#e57373!important}.text-red-5{color:#ef5350!important}.text-red-6{color:#f44336!important}.text-red-7{color:#e53935!important}.text-red-8{color:#d32f2f!important}.text-red-9{color:#c62828!important}.text-red-10{color:#b71c1c!important}.text-red-11{color:#ff8a80!important}.text-red-12{color:#ff5252!important}.text-red-13{color:#ff1744!important}.text-red-14{color:#d50000!important}.text-pink{color:#e91e63!important}.text-pink-1{color:#fce4ec!important}.text-pink-2{color:#f8bbd0!important}.text-pink-3{color:#f48fb1!important}.text-pink-4{color:#f06292!important}.text-pink-5{color:#ec407a!important}.text-pink-6{color:#e91e63!important}.text-pink-7{color:#d81b60!important}.text-pink-8{color:#c2185b!important}.text-pink-9{color:#ad1457!important}.text-pink-10{color:#880e4f!important}.text-pink-11{color:#ff80ab!important}.text-pink-12{color:#ff4081!important}.text-pink-13{color:#f50057!important}.text-pink-14{color:#c51162!important}.text-purple{color:#9c27b0!important}.text-purple-1{color:#f3e5f5!important}.text-purple-2{color:#e1bee7!important}.text-purple-3{color:#ce93d8!important}.text-purple-4{color:#ba68c8!important}.text-purple-5{color:#ab47bc!important}.text-purple-6{color:#9c27b0!important}.text-purple-7{color:#8e24aa!important}.text-purple-8{color:#7b1fa2!important}.text-purple-9{color:#6a1b9a!important}.text-purple-10{color:#4a148c!important}.text-purple-11{color:#ea80fc!important}.text-purple-12{color:#e040fb!important}.text-purple-13{color:#d500f9!important}.text-purple-14{color:#a0f!important}.text-deep-purple{color:#673ab7!important}.text-deep-purple-1{color:#ede7f6!important}.text-deep-purple-2{color:#d1c4e9!important}.text-deep-purple-3{color:#b39ddb!important}.text-deep-purple-4{color:#9575cd!important}.text-deep-purple-5{color:#7e57c2!important}.text-deep-purple-6{color:#673ab7!important}.text-deep-purple-7{color:#5e35b1!important}.text-deep-purple-8{color:#512da8!important}.text-deep-purple-9{color:#4527a0!important}.text-deep-purple-10{color:#311b92!important}.text-deep-purple-11{color:#b388ff!important}.text-deep-purple-12{color:#7c4dff!important}.text-deep-purple-13{color:#651fff!important}.text-deep-purple-14{color:#6200ea!important}.text-indigo{color:#3f51b5!important}.text-indigo-1{color:#e8eaf6!important}.text-indigo-2{color:#c5cae9!important}.text-indigo-3{color:#9fa8da!important}.text-indigo-4{color:#7986cb!important}.text-indigo-5{color:#5c6bc0!important}.text-indigo-6{color:#3f51b5!important}.text-indigo-7{color:#3949ab!important}.text-indigo-8{color:#303f9f!important}.text-indigo-9{color:#283593!important}.text-indigo-10{color:#1a237e!important}.text-indigo-11{color:#8c9eff!important}.text-indigo-12{color:#536dfe!important}.text-indigo-13{color:#3d5afe!important}.text-indigo-14{color:#304ffe!important}.text-blue{color:#2196f3!important}.text-blue-1{color:#e3f2fd!important}.text-blue-2{color:#bbdefb!important}.text-blue-3{color:#90caf9!important}.text-blue-4{color:#64b5f6!important}.text-blue-5{color:#42a5f5!important}.text-blue-6{color:#2196f3!important}.text-blue-7{color:#1e88e5!important}.text-blue-8{color:#1976d2!important}.text-blue-9{color:#1565c0!important}.text-blue-10{color:#0d47a1!important}.text-blue-11{color:#82b1ff!important}.text-blue-12{color:#448aff!important}.text-blue-13{color:#2979ff!important}.text-blue-14{color:#2962ff!important}.text-light-blue{color:#03a9f4!important}.text-light-blue-1{color:#e1f5fe!important}.text-light-blue-2{color:#b3e5fc!important}.text-light-blue-3{color:#81d4fa!important}.text-light-blue-4{color:#4fc3f7!important}.text-light-blue-5{color:#29b6f6!important}.text-light-blue-6{color:#03a9f4!important}.text-light-blue-7{color:#039be5!important}.text-light-blue-8{color:#0288d1!important}.text-light-blue-9{color:#0277bd!important}.text-light-blue-10{color:#01579b!important}.text-light-blue-11{color:#80d8ff!important}.text-light-blue-12{color:#40c4ff!important}.text-light-blue-13{color:#00b0ff!important}.text-light-blue-14{color:#0091ea!important}.text-cyan{color:#00bcd4!important}.text-cyan-1{color:#e0f7fa!important}.text-cyan-2{color:#b2ebf2!important}.text-cyan-3{color:#80deea!important}.text-cyan-4{color:#4dd0e1!important}.text-cyan-5{color:#26c6da!important}.text-cyan-6{color:#00bcd4!important}.text-cyan-7{color:#00acc1!important}.text-cyan-8{color:#0097a7!important}.text-cyan-9{color:#00838f!important}.text-cyan-10{color:#006064!important}.text-cyan-11{color:#84ffff!important}.text-cyan-12{color:#18ffff!important}.text-cyan-13{color:#00e5ff!important}.text-cyan-14{color:#00b8d4!important}.text-teal{color:#009688!important}.text-teal-1{color:#e0f2f1!important}.text-teal-2{color:#b2dfdb!important}.text-teal-3{color:#80cbc4!important}.text-teal-4{color:#4db6ac!important}.text-teal-5{color:#26a69a!important}.text-teal-6{color:#009688!important}.text-teal-7{color:#00897b!important}.text-teal-8{color:#00796b!important}.text-teal-9{color:#00695c!important}.text-teal-10{color:#004d40!important}.text-teal-11{color:#a7ffeb!important}.text-teal-12{color:#64ffda!important}.text-teal-13{color:#1de9b6!important}.text-teal-14{color:#00bfa5!important}.text-green{color:#4caf50!important}.text-green-1{color:#e8f5e9!important}.text-green-2{color:#c8e6c9!important}.text-green-3{color:#a5d6a7!important}.text-green-4{color:#81c784!important}.text-green-5{color:#66bb6a!important}.text-green-6{color:#4caf50!important}.text-green-7{color:#43a047!important}.text-green-8{color:#388e3c!important}.text-green-9{color:#2e7d32!important}.text-green-10{color:#1b5e20!important}.text-green-11{color:#b9f6ca!important}.text-green-12{color:#69f0ae!important}.text-green-13{color:#00e676!important}.text-green-14{color:#00c853!important}.text-light-green{color:#8bc34a!important}.text-light-green-1{color:#f1f8e9!important}.text-light-green-2{color:#dcedc8!important}.text-light-green-3{color:#c5e1a5!important}.text-light-green-4{color:#aed581!important}.text-light-green-5{color:#9ccc65!important}.text-light-green-6{color:#8bc34a!important}.text-light-green-7{color:#7cb342!important}.text-light-green-8{color:#689f38!important}.text-light-green-9{color:#558b2f!important}.text-light-green-10{color:#33691e!important}.text-light-green-11{color:#ccff90!important}.text-light-green-12{color:#b2ff59!important}.text-light-green-13{color:#76ff03!important}.text-light-green-14{color:#64dd17!important}.text-lime{color:#cddc39!important}.text-lime-1{color:#f9fbe7!important}.text-lime-2{color:#f0f4c3!important}.text-lime-3{color:#e6ee9c!important}.text-lime-4{color:#dce775!important}.text-lime-5{color:#d4e157!important}.text-lime-6{color:#cddc39!important}.text-lime-7{color:#c0ca33!important}.text-lime-8{color:#afb42b!important}.text-lime-9{color:#9e9d24!important}.text-lime-10{color:#827717!important}.text-lime-11{color:#f4ff81!important}.text-lime-12{color:#eeff41!important}.text-lime-13{color:#c6ff00!important}.text-lime-14{color:#aeea00!important}.text-yellow{color:#ffeb3b!important}.text-yellow-1{color:#fffde7!important}.text-yellow-2{color:#fff9c4!important}.text-yellow-3{color:#fff59d!important}.text-yellow-4{color:#fff176!important}.text-yellow-5{color:#ffee58!important}.text-yellow-6{color:#ffeb3b!important}.text-yellow-7{color:#fdd835!important}.text-yellow-8{color:#fbc02d!important}.text-yellow-9{color:#f9a825!important}.text-yellow-10{color:#f57f17!important}.text-yellow-11{color:#ffff8d!important}.text-yellow-12{color:#ff0!important}.text-yellow-13{color:#ffea00!important}.text-yellow-14{color:#ffd600!important}.text-amber{color:#ffc107!important}.text-amber-1{color:#fff8e1!important}.text-amber-2{color:#ffecb3!important}.text-amber-3{color:#ffe082!important}.text-amber-4{color:#ffd54f!important}.text-amber-5{color:#ffca28!important}.text-amber-6{color:#ffc107!important}.text-amber-7{color:#ffb300!important}.text-amber-8{color:#ffa000!important}.text-amber-9{color:#ff8f00!important}.text-amber-10{color:#ff6f00!important}.text-amber-11{color:#ffe57f!important}.text-amber-12{color:#ffd740!important}.text-amber-13{color:#ffc400!important}.text-amber-14{color:#ffab00!important}.text-orange{color:#ff9800!important}.text-orange-1{color:#fff3e0!important}.text-orange-2{color:#ffe0b2!important}.text-orange-3{color:#ffcc80!important}.text-orange-4{color:#ffb74d!important}.text-orange-5{color:#ffa726!important}.text-orange-6{color:#ff9800!important}.text-orange-7{color:#fb8c00!important}.text-orange-8{color:#f57c00!important}.text-orange-9{color:#ef6c00!important}.text-orange-10{color:#e65100!important}.text-orange-11{color:#ffd180!important}.text-orange-12{color:#ffab40!important}.text-orange-13{color:#ff9100!important}.text-orange-14{color:#ff6d00!important}.text-deep-orange{color:#ff5722!important}.text-deep-orange-1{color:#fbe9e7!important}.text-deep-orange-2{color:#ffccbc!important}.text-deep-orange-3{color:#ffab91!important}.text-deep-orange-4{color:#ff8a65!important}.text-deep-orange-5{color:#ff7043!important}.text-deep-orange-6{color:#ff5722!important}.text-deep-orange-7{color:#f4511e!important}.text-deep-orange-8{color:#e64a19!important}.text-deep-orange-9{color:#d84315!important}.text-deep-orange-10{color:#bf360c!important}.text-deep-orange-11{color:#ff9e80!important}.text-deep-orange-12{color:#ff6e40!important}.text-deep-orange-13{color:#ff3d00!important}.text-deep-orange-14{color:#dd2c00!important}.text-brown{color:#795548!important}.text-brown-1{color:#efebe9!important}.text-brown-2{color:#d7ccc8!important}.text-brown-3{color:#bcaaa4!important}.text-brown-4{color:#a1887f!important}.text-brown-5{color:#8d6e63!important}.text-brown-6{color:#795548!important}.text-brown-7{color:#6d4c41!important}.text-brown-8{color:#5d4037!important}.text-brown-9{color:#4e342e!important}.text-brown-10{color:#3e2723!important}.text-brown-11{color:#d7ccc8!important}.text-brown-12{color:#bcaaa4!important}.text-brown-13{color:#8d6e63!important}.text-brown-14{color:#5d4037!important}.text-grey{color:#9e9e9e!important}.text-grey-1{color:#fafafa!important}.text-grey-2{color:#f5f5f5!important}.text-grey-3{color:#eee!important}.text-grey-4{color:#e0e0e0!important}.text-grey-5{color:#bdbdbd!important}.text-grey-6{color:#9e9e9e!important}.text-grey-7{color:#757575!important}.text-grey-8{color:#616161!important}.text-grey-9{color:#424242!important}.text-grey-10{color:#212121!important}.text-grey-11{color:#f5f5f5!important}.text-grey-12{color:#eee!important}.text-grey-13{color:#bdbdbd!important}.text-grey-14{color:#616161!important}.text-blue-grey{color:#607d8b!important}.text-blue-grey-1{color:#eceff1!important}.text-blue-grey-2{color:#cfd8dc!important}.text-blue-grey-3{color:#b0bec5!important}.text-blue-grey-4{color:#90a4ae!important}.text-blue-grey-5{color:#78909c!important}.text-blue-grey-6{color:#607d8b!important}.text-blue-grey-7{color:#546e7a!important}.text-blue-grey-8{color:#455a64!important}.text-blue-grey-9{color:#37474f!important}.text-blue-grey-10{color:#263238!important}.text-blue-grey-11{color:#cfd8dc!important}.text-blue-grey-12{color:#b0bec5!important}.text-blue-grey-13{color:#78909c!important}.text-blue-grey-14{color:#455a64!important}.bg-red{background:#f44336!important}.bg-red-1{background:#ffebee!important}.bg-red-2{background:#ffcdd2!important}.bg-red-3{background:#ef9a9a!important}.bg-red-4{background:#e57373!important}.bg-red-5{background:#ef5350!important}.bg-red-6{background:#f44336!important}.bg-red-7{background:#e53935!important}.bg-red-8{background:#d32f2f!important}.bg-red-9{background:#c62828!important}.bg-red-10{background:#b71c1c!important}.bg-red-11{background:#ff8a80!important}.bg-red-12{background:#ff5252!important}.bg-red-13{background:#ff1744!important}.bg-red-14{background:#d50000!important}.bg-pink{background:#e91e63!important}.bg-pink-1{background:#fce4ec!important}.bg-pink-2{background:#f8bbd0!important}.bg-pink-3{background:#f48fb1!important}.bg-pink-4{background:#f06292!important}.bg-pink-5{background:#ec407a!important}.bg-pink-6{background:#e91e63!important}.bg-pink-7{background:#d81b60!important}.bg-pink-8{background:#c2185b!important}.bg-pink-9{background:#ad1457!important}.bg-pink-10{background:#880e4f!important}.bg-pink-11{background:#ff80ab!important}.bg-pink-12{background:#ff4081!important}.bg-pink-13{background:#f50057!important}.bg-pink-14{background:#c51162!important}.bg-purple{background:#9c27b0!important}.bg-purple-1{background:#f3e5f5!important}.bg-purple-2{background:#e1bee7!important}.bg-purple-3{background:#ce93d8!important}.bg-purple-4{background:#ba68c8!important}.bg-purple-5{background:#ab47bc!important}.bg-purple-6{background:#9c27b0!important}.bg-purple-7{background:#8e24aa!important}.bg-purple-8{background:#7b1fa2!important}.bg-purple-9{background:#6a1b9a!important}.bg-purple-10{background:#4a148c!important}.bg-purple-11{background:#ea80fc!important}.bg-purple-12{background:#e040fb!important}.bg-purple-13{background:#d500f9!important}.bg-purple-14{background:#aa00ff!important}.bg-deep-purple{background:#673ab7!important}.bg-deep-purple-1{background:#ede7f6!important}.bg-deep-purple-2{background:#d1c4e9!important}.bg-deep-purple-3{background:#b39ddb!important}.bg-deep-purple-4{background:#9575cd!important}.bg-deep-purple-5{background:#7e57c2!important}.bg-deep-purple-6{background:#673ab7!important}.bg-deep-purple-7{background:#5e35b1!important}.bg-deep-purple-8{background:#512da8!important}.bg-deep-purple-9{background:#4527a0!important}.bg-deep-purple-10{background:#311b92!important}.bg-deep-purple-11{background:#b388ff!important}.bg-deep-purple-12{background:#7c4dff!important}.bg-deep-purple-13{background:#651fff!important}.bg-deep-purple-14{background:#6200ea!important}.bg-indigo{background:#3f51b5!important}.bg-indigo-1{background:#e8eaf6!important}.bg-indigo-2{background:#c5cae9!important}.bg-indigo-3{background:#9fa8da!important}.bg-indigo-4{background:#7986cb!important}.bg-indigo-5{background:#5c6bc0!important}.bg-indigo-6{background:#3f51b5!important}.bg-indigo-7{background:#3949ab!important}.bg-indigo-8{background:#303f9f!important}.bg-indigo-9{background:#283593!important}.bg-indigo-10{background:#1a237e!important}.bg-indigo-11{background:#8c9eff!important}.bg-indigo-12{background:#536dfe!important}.bg-indigo-13{background:#3d5afe!important}.bg-indigo-14{background:#304ffe!important}.bg-blue{background:#2196f3!important}.bg-blue-1{background:#e3f2fd!important}.bg-blue-2{background:#bbdefb!important}.bg-blue-3{background:#90caf9!important}.bg-blue-4{background:#64b5f6!important}.bg-blue-5{background:#42a5f5!important}.bg-blue-6{background:#2196f3!important}.bg-blue-7{background:#1e88e5!important}.bg-blue-8{background:#1976d2!important}.bg-blue-9{background:#1565c0!important}.bg-blue-10{background:#0d47a1!important}.bg-blue-11{background:#82b1ff!important}.bg-blue-12{background:#448aff!important}.bg-blue-13{background:#2979ff!important}.bg-blue-14{background:#2962ff!important}.bg-light-blue{background:#03a9f4!important}.bg-light-blue-1{background:#e1f5fe!important}.bg-light-blue-2{background:#b3e5fc!important}.bg-light-blue-3{background:#81d4fa!important}.bg-light-blue-4{background:#4fc3f7!important}.bg-light-blue-5{background:#29b6f6!important}.bg-light-blue-6{background:#03a9f4!important}.bg-light-blue-7{background:#039be5!important}.bg-light-blue-8{background:#0288d1!important}.bg-light-blue-9{background:#0277bd!important}.bg-light-blue-10{background:#01579b!important}.bg-light-blue-11{background:#80d8ff!important}.bg-light-blue-12{background:#40c4ff!important}.bg-light-blue-13{background:#00b0ff!important}.bg-light-blue-14{background:#0091ea!important}.bg-cyan{background:#00bcd4!important}.bg-cyan-1{background:#e0f7fa!important}.bg-cyan-2{background:#b2ebf2!important}.bg-cyan-3{background:#80deea!important}.bg-cyan-4{background:#4dd0e1!important}.bg-cyan-5{background:#26c6da!important}.bg-cyan-6{background:#00bcd4!important}.bg-cyan-7{background:#00acc1!important}.bg-cyan-8{background:#0097a7!important}.bg-cyan-9{background:#00838f!important}.bg-cyan-10{background:#006064!important}.bg-cyan-11{background:#84ffff!important}.bg-cyan-12{background:#18ffff!important}.bg-cyan-13{background:#00e5ff!important}.bg-cyan-14{background:#00b8d4!important}.bg-teal{background:#009688!important}.bg-teal-1{background:#e0f2f1!important}.bg-teal-2{background:#b2dfdb!important}.bg-teal-3{background:#80cbc4!important}.bg-teal-4{background:#4db6ac!important}.bg-teal-5{background:#26a69a!important}.bg-teal-6{background:#009688!important}.bg-teal-7{background:#00897b!important}.bg-teal-8{background:#00796b!important}.bg-teal-9{background:#00695c!important}.bg-teal-10{background:#004d40!important}.bg-teal-11{background:#a7ffeb!important}.bg-teal-12{background:#64ffda!important}.bg-teal-13{background:#1de9b6!important}.bg-teal-14{background:#00bfa5!important}.bg-green{background:#4caf50!important}.bg-green-1{background:#e8f5e9!important}.bg-green-2{background:#c8e6c9!important}.bg-green-3{background:#a5d6a7!important}.bg-green-4{background:#81c784!important}.bg-green-5{background:#66bb6a!important}.bg-green-6{background:#4caf50!important}.bg-green-7{background:#43a047!important}.bg-green-8{background:#388e3c!important}.bg-green-9{background:#2e7d32!important}.bg-green-10{background:#1b5e20!important}.bg-green-11{background:#b9f6ca!important}.bg-green-12{background:#69f0ae!important}.bg-green-13{background:#00e676!important}.bg-green-14{background:#00c853!important}.bg-light-green{background:#8bc34a!important}.bg-light-green-1{background:#f1f8e9!important}.bg-light-green-2{background:#dcedc8!important}.bg-light-green-3{background:#c5e1a5!important}.bg-light-green-4{background:#aed581!important}.bg-light-green-5{background:#9ccc65!important}.bg-light-green-6{background:#8bc34a!important}.bg-light-green-7{background:#7cb342!important}.bg-light-green-8{background:#689f38!important}.bg-light-green-9{background:#558b2f!important}.bg-light-green-10{background:#33691e!important}.bg-light-green-11{background:#ccff90!important}.bg-light-green-12{background:#b2ff59!important}.bg-light-green-13{background:#76ff03!important}.bg-light-green-14{background:#64dd17!important}.bg-lime{background:#cddc39!important}.bg-lime-1{background:#f9fbe7!important}.bg-lime-2{background:#f0f4c3!important}.bg-lime-3{background:#e6ee9c!important}.bg-lime-4{background:#dce775!important}.bg-lime-5{background:#d4e157!important}.bg-lime-6{background:#cddc39!important}.bg-lime-7{background:#c0ca33!important}.bg-lime-8{background:#afb42b!important}.bg-lime-9{background:#9e9d24!important}.bg-lime-10{background:#827717!important}.bg-lime-11{background:#f4ff81!important}.bg-lime-12{background:#eeff41!important}.bg-lime-13{background:#c6ff00!important}.bg-lime-14{background:#aeea00!important}.bg-yellow{background:#ffeb3b!important}.bg-yellow-1{background:#fffde7!important}.bg-yellow-2{background:#fff9c4!important}.bg-yellow-3{background:#fff59d!important}.bg-yellow-4{background:#fff176!important}.bg-yellow-5{background:#ffee58!important}.bg-yellow-6{background:#ffeb3b!important}.bg-yellow-7{background:#fdd835!important}.bg-yellow-8{background:#fbc02d!important}.bg-yellow-9{background:#f9a825!important}.bg-yellow-10{background:#f57f17!important}.bg-yellow-11{background:#ffff8d!important}.bg-yellow-12{background:#ffff00!important}.bg-yellow-13{background:#ffea00!important}.bg-yellow-14{background:#ffd600!important}.bg-amber{background:#ffc107!important}.bg-amber-1{background:#fff8e1!important}.bg-amber-2{background:#ffecb3!important}.bg-amber-3{background:#ffe082!important}.bg-amber-4{background:#ffd54f!important}.bg-amber-5{background:#ffca28!important}.bg-amber-6{background:#ffc107!important}.bg-amber-7{background:#ffb300!important}.bg-amber-8{background:#ffa000!important}.bg-amber-9{background:#ff8f00!important}.bg-amber-10{background:#ff6f00!important}.bg-amber-11{background:#ffe57f!important}.bg-amber-12{background:#ffd740!important}.bg-amber-13{background:#ffc400!important}.bg-amber-14{background:#ffab00!important}.bg-orange{background:#ff9800!important}.bg-orange-1{background:#fff3e0!important}.bg-orange-2{background:#ffe0b2!important}.bg-orange-3{background:#ffcc80!important}.bg-orange-4{background:#ffb74d!important}.bg-orange-5{background:#ffa726!important}.bg-orange-6{background:#ff9800!important}.bg-orange-7{background:#fb8c00!important}.bg-orange-8{background:#f57c00!important}.bg-orange-9{background:#ef6c00!important}.bg-orange-10{background:#e65100!important}.bg-orange-11{background:#ffd180!important}.bg-orange-12{background:#ffab40!important}.bg-orange-13{background:#ff9100!important}.bg-orange-14{background:#ff6d00!important}.bg-deep-orange{background:#ff5722!important}.bg-deep-orange-1{background:#fbe9e7!important}.bg-deep-orange-2{background:#ffccbc!important}.bg-deep-orange-3{background:#ffab91!important}.bg-deep-orange-4{background:#ff8a65!important}.bg-deep-orange-5{background:#ff7043!important}.bg-deep-orange-6{background:#ff5722!important}.bg-deep-orange-7{background:#f4511e!important}.bg-deep-orange-8{background:#e64a19!important}.bg-deep-orange-9{background:#d84315!important}.bg-deep-orange-10{background:#bf360c!important}.bg-deep-orange-11{background:#ff9e80!important}.bg-deep-orange-12{background:#ff6e40!important}.bg-deep-orange-13{background:#ff3d00!important}.bg-deep-orange-14{background:#dd2c00!important}.bg-brown{background:#795548!important}.bg-brown-1{background:#efebe9!important}.bg-brown-2{background:#d7ccc8!important}.bg-brown-3{background:#bcaaa4!important}.bg-brown-4{background:#a1887f!important}.bg-brown-5{background:#8d6e63!important}.bg-brown-6{background:#795548!important}.bg-brown-7{background:#6d4c41!important}.bg-brown-8{background:#5d4037!important}.bg-brown-9{background:#4e342e!important}.bg-brown-10{background:#3e2723!important}.bg-brown-11{background:#d7ccc8!important}.bg-brown-12{background:#bcaaa4!important}.bg-brown-13{background:#8d6e63!important}.bg-brown-14{background:#5d4037!important}.bg-grey{background:#9e9e9e!important}.bg-grey-1{background:#fafafa!important}.bg-grey-2{background:#f5f5f5!important}.bg-grey-3{background:#eeeeee!important}.bg-grey-4{background:#e0e0e0!important}.bg-grey-5{background:#bdbdbd!important}.bg-grey-6{background:#9e9e9e!important}.bg-grey-7{background:#757575!important}.bg-grey-8{background:#616161!important}.bg-grey-9{background:#424242!important}.bg-grey-10{background:#212121!important}.bg-grey-11{background:#f5f5f5!important}.bg-grey-12{background:#eeeeee!important}.bg-grey-13{background:#bdbdbd!important}.bg-grey-14{background:#616161!important}.bg-blue-grey{background:#607d8b!important}.bg-blue-grey-1{background:#eceff1!important}.bg-blue-grey-2{background:#cfd8dc!important}.bg-blue-grey-3{background:#b0bec5!important}.bg-blue-grey-4{background:#90a4ae!important}.bg-blue-grey-5{background:#78909c!important}.bg-blue-grey-6{background:#607d8b!important}.bg-blue-grey-7{background:#546e7a!important}.bg-blue-grey-8{background:#455a64!important}.bg-blue-grey-9{background:#37474f!important}.bg-blue-grey-10{background:#263238!important}.bg-blue-grey-11{background:#cfd8dc!important}.bg-blue-grey-12{background:#b0bec5!important}.bg-blue-grey-13{background:#78909c!important}.bg-blue-grey-14{background:#455a64!important}.shadow-transition{transition:box-shadow .28s cubic-bezier(.4,0,.2,1)!important}.shadow-1{box-shadow:0 1px 3px #0003,0 1px 1px #00000024,0 2px 1px -1px #0000001f}.shadow-up-1{box-shadow:0 -1px 3px #0003,0 -1px 1px #00000024,0 -2px 1px -1px #0000001f}.shadow-2{box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f}.shadow-up-2{box-shadow:0 -1px 5px #0003,0 -2px 2px #00000024,0 -3px 1px -2px #0000001f}.shadow-3{box-shadow:0 1px 8px #0003,0 3px 4px #00000024,0 3px 3px -2px #0000001f}.shadow-up-3{box-shadow:0 -1px 8px #0003,0 -3px 4px #00000024,0 -3px 3px -2px #0000001f}.shadow-4{box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.shadow-up-4{box-shadow:0 -2px 4px -1px #0003,0 -4px 5px #00000024,0 -1px 10px #0000001f}.shadow-5{box-shadow:0 3px 5px -1px #0003,0 5px 8px #00000024,0 1px 14px #0000001f}.shadow-up-5{box-shadow:0 -3px 5px -1px #0003,0 -5px 8px #00000024,0 -1px 14px #0000001f}.shadow-6{box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f}.shadow-up-6{box-shadow:0 -3px 5px -1px #0003,0 -6px 10px #00000024,0 -1px 18px #0000001f}.shadow-7{box-shadow:0 4px 5px -2px #0003,0 7px 10px 1px #00000024,0 2px 16px 1px #0000001f}.shadow-up-7{box-shadow:0 -4px 5px -2px #0003,0 -7px 10px 1px #00000024,0 -2px 16px 1px #0000001f}.shadow-8{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.shadow-up-8{box-shadow:0 -5px 5px -3px #0003,0 -8px 10px 1px #00000024,0 -3px 14px 2px #0000001f}.shadow-9{box-shadow:0 5px 6px -3px #0003,0 9px 12px 1px #00000024,0 3px 16px 2px #0000001f}.shadow-up-9{box-shadow:0 -5px 6px -3px #0003,0 -9px 12px 1px #00000024,0 -3px 16px 2px #0000001f}.shadow-10{box-shadow:0 6px 6px -3px #0003,0 10px 14px 1px #00000024,0 4px 18px 3px #0000001f}.shadow-up-10{box-shadow:0 -6px 6px -3px #0003,0 -10px 14px 1px #00000024,0 -4px 18px 3px #0000001f}.shadow-11{box-shadow:0 6px 7px -4px #0003,0 11px 15px 1px #00000024,0 4px 20px 3px #0000001f}.shadow-up-11{box-shadow:0 -6px 7px -4px #0003,0 -11px 15px 1px #00000024,0 -4px 20px 3px #0000001f}.shadow-12{box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.shadow-up-12{box-shadow:0 -7px 8px -4px #0003,0 -12px 17px 2px #00000024,0 -5px 22px 4px #0000001f}.shadow-13{box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f}.shadow-up-13{box-shadow:0 -7px 8px -4px #0003,0 -13px 19px 2px #00000024,0 -5px 24px 4px #0000001f}.shadow-14{box-shadow:0 7px 9px -4px #0003,0 14px 21px 2px #00000024,0 5px 26px 4px #0000001f}.shadow-up-14{box-shadow:0 -7px 9px -4px #0003,0 -14px 21px 2px #00000024,0 -5px 26px 4px #0000001f}.shadow-15{box-shadow:0 8px 9px -5px #0003,0 15px 22px 2px #00000024,0 6px 28px 5px #0000001f}.shadow-up-15{box-shadow:0 -8px 9px -5px #0003,0 -15px 22px 2px #00000024,0 -6px 28px 5px #0000001f}.shadow-16{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.shadow-up-16{box-shadow:0 -8px 10px -5px #0003,0 -16px 24px 2px #00000024,0 -6px 30px 5px #0000001f}.shadow-17{box-shadow:0 8px 11px -5px #0003,0 17px 26px 2px #00000024,0 6px 32px 5px #0000001f}.shadow-up-17{box-shadow:0 -8px 11px -5px #0003,0 -17px 26px 2px #00000024,0 -6px 32px 5px #0000001f}.shadow-18{box-shadow:0 9px 11px -5px #0003,0 18px 28px 2px #00000024,0 7px 34px 6px #0000001f}.shadow-up-18{box-shadow:0 -9px 11px -5px #0003,0 -18px 28px 2px #00000024,0 -7px 34px 6px #0000001f}.shadow-19{box-shadow:0 9px 12px -6px #0003,0 19px 29px 2px #00000024,0 7px 36px 6px #0000001f}.shadow-up-19{box-shadow:0 -9px 12px -6px #0003,0 -19px 29px 2px #00000024,0 -7px 36px 6px #0000001f}.shadow-20{box-shadow:0 10px 13px -6px #0003,0 20px 31px 3px #00000024,0 8px 38px 7px #0000001f}.shadow-up-20{box-shadow:0 -10px 13px -6px #0003,0 -20px 31px 3px #00000024,0 -8px 38px 7px #0000001f}.shadow-21{box-shadow:0 10px 13px -6px #0003,0 21px 33px 3px #00000024,0 8px 40px 7px #0000001f}.shadow-up-21{box-shadow:0 -10px 13px -6px #0003,0 -21px 33px 3px #00000024,0 -8px 40px 7px #0000001f}.shadow-22{box-shadow:0 10px 14px -6px #0003,0 22px 35px 3px #00000024,0 8px 42px 7px #0000001f}.shadow-up-22{box-shadow:0 -10px 14px -6px #0003,0 -22px 35px 3px #00000024,0 -8px 42px 7px #0000001f}.shadow-23{box-shadow:0 11px 14px -7px #0003,0 23px 36px 3px #00000024,0 9px 44px 8px #0000001f}.shadow-up-23{box-shadow:0 -11px 14px -7px #0003,0 -23px 36px 3px #00000024,0 -9px 44px 8px #0000001f}.shadow-24{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.shadow-up-24{box-shadow:0 -11px 15px -7px #0003,0 -24px 38px 3px #00000024,0 -9px 46px 8px #0000001f}.no-shadow,.shadow-0{box-shadow:none!important}.inset-shadow{box-shadow:0 7px 9px -7px #000000b3 inset!important}.inset-shadow-down{box-shadow:0 -7px 9px -7px #000000b3 inset!important}.z-marginals{z-index:2000}.z-notify{z-index:9500}.z-fullscreen{z-index:6000}.z-inherit{z-index:inherit!important}.row,.column,.flex{display:flex;flex-wrap:wrap}.row.inline,.column.inline,.flex.inline{display:inline-flex}.row.reverse{flex-direction:row-reverse}.column{flex-direction:column}.column.reverse{flex-direction:column-reverse}.wrap{flex-wrap:wrap}.no-wrap{flex-wrap:nowrap}.reverse-wrap{flex-wrap:wrap-reverse}.order-first{order:-10000}.order-last{order:10000}.order-none{order:0}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center,.flex-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center,.flex-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.content-start{align-content:flex-start}.content-end{align-content:flex-end}.content-center{align-content:center}.content-stretch{align-content:stretch}.content-between{align-content:space-between}.content-around{align-content:space-around}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-baseline{align-self:baseline}.self-stretch{align-self:stretch}.q-gutter-x-none,.q-gutter-none{margin-left:0}.q-gutter-x-none>*,.q-gutter-none>*{margin-left:0}.q-gutter-y-none,.q-gutter-none{margin-top:0}.q-gutter-y-none>*,.q-gutter-none>*{margin-top:0}.q-col-gutter-x-none,.q-col-gutter-none{margin-left:0}.q-col-gutter-x-none>*,.q-col-gutter-none>*{padding-left:0}.q-col-gutter-y-none,.q-col-gutter-none{margin-top:0}.q-col-gutter-y-none>*,.q-col-gutter-none>*{padding-top:0}.q-gutter-x-xs,.q-gutter-xs{margin-left:-4px}.q-gutter-x-xs>*,.q-gutter-xs>*{margin-left:4px}.q-gutter-y-xs,.q-gutter-xs{margin-top:-4px}.q-gutter-y-xs>*,.q-gutter-xs>*{margin-top:4px}.q-col-gutter-x-xs,.q-col-gutter-xs{margin-left:-4px}.q-col-gutter-x-xs>*,.q-col-gutter-xs>*{padding-left:4px}.q-col-gutter-y-xs,.q-col-gutter-xs{margin-top:-4px}.q-col-gutter-y-xs>*,.q-col-gutter-xs>*{padding-top:4px}.q-gutter-x-sm,.q-gutter-sm{margin-left:-8px}.q-gutter-x-sm>*,.q-gutter-sm>*{margin-left:8px}.q-gutter-y-sm,.q-gutter-sm{margin-top:-8px}.q-gutter-y-sm>*,.q-gutter-sm>*{margin-top:8px}.q-col-gutter-x-sm,.q-col-gutter-sm{margin-left:-8px}.q-col-gutter-x-sm>*,.q-col-gutter-sm>*{padding-left:8px}.q-col-gutter-y-sm,.q-col-gutter-sm{margin-top:-8px}.q-col-gutter-y-sm>*,.q-col-gutter-sm>*{padding-top:8px}.q-gutter-x-md,.q-gutter-md{margin-left:-16px}.q-gutter-x-md>*,.q-gutter-md>*{margin-left:16px}.q-gutter-y-md,.q-gutter-md{margin-top:-16px}.q-gutter-y-md>*,.q-gutter-md>*{margin-top:16px}.q-col-gutter-x-md,.q-col-gutter-md{margin-left:-16px}.q-col-gutter-x-md>*,.q-col-gutter-md>*{padding-left:16px}.q-col-gutter-y-md,.q-col-gutter-md{margin-top:-16px}.q-col-gutter-y-md>*,.q-col-gutter-md>*{padding-top:16px}.q-gutter-x-lg,.q-gutter-lg{margin-left:-24px}.q-gutter-x-lg>*,.q-gutter-lg>*{margin-left:24px}.q-gutter-y-lg,.q-gutter-lg{margin-top:-24px}.q-gutter-y-lg>*,.q-gutter-lg>*{margin-top:24px}.q-col-gutter-x-lg,.q-col-gutter-lg{margin-left:-24px}.q-col-gutter-x-lg>*,.q-col-gutter-lg>*{padding-left:24px}.q-col-gutter-y-lg,.q-col-gutter-lg{margin-top:-24px}.q-col-gutter-y-lg>*,.q-col-gutter-lg>*{padding-top:24px}.q-gutter-x-xl,.q-gutter-xl{margin-left:-48px}.q-gutter-x-xl>*,.q-gutter-xl>*{margin-left:48px}.q-gutter-y-xl,.q-gutter-xl{margin-top:-48px}.q-gutter-y-xl>*,.q-gutter-xl>*{margin-top:48px}.q-col-gutter-x-xl,.q-col-gutter-xl{margin-left:-48px}.q-col-gutter-x-xl>*,.q-col-gutter-xl>*{padding-left:48px}.q-col-gutter-y-xl,.q-col-gutter-xl{margin-top:-48px}.q-col-gutter-y-xl>*,.q-col-gutter-xl>*{padding-top:48px}@media (min-width: 0){.row>.col,.flex>.col,.row>.col-auto,.flex>.col-auto,.row>.col-grow,.flex>.col-grow,.row>.col-shrink,.flex>.col-shrink,.row>.col-xs,.flex>.col-xs,.row>.col-xs-auto,.row>.col-12,.row>.col-xs-12,.row>.col-11,.row>.col-xs-11,.row>.col-10,.row>.col-xs-10,.row>.col-9,.row>.col-xs-9,.row>.col-8,.row>.col-xs-8,.row>.col-7,.row>.col-xs-7,.row>.col-6,.row>.col-xs-6,.row>.col-5,.row>.col-xs-5,.row>.col-4,.row>.col-xs-4,.row>.col-3,.row>.col-xs-3,.row>.col-2,.row>.col-xs-2,.row>.col-1,.row>.col-xs-1,.row>.col-0,.row>.col-xs-0,.flex>.col-xs-auto,.flex>.col-12,.flex>.col-xs-12,.flex>.col-11,.flex>.col-xs-11,.flex>.col-10,.flex>.col-xs-10,.flex>.col-9,.flex>.col-xs-9,.flex>.col-8,.flex>.col-xs-8,.flex>.col-7,.flex>.col-xs-7,.flex>.col-6,.flex>.col-xs-6,.flex>.col-5,.flex>.col-xs-5,.flex>.col-4,.flex>.col-xs-4,.flex>.col-3,.flex>.col-xs-3,.flex>.col-2,.flex>.col-xs-2,.flex>.col-1,.flex>.col-xs-1,.flex>.col-0,.flex>.col-xs-0,.row>.col-xs-grow,.flex>.col-xs-grow,.row>.col-xs-shrink,.flex>.col-xs-shrink{width:auto;min-width:0;max-width:100%}.column>.col,.flex>.col,.column>.col-auto,.flex>.col-auto,.column>.col-grow,.flex>.col-grow,.column>.col-shrink,.flex>.col-shrink,.column>.col-xs,.flex>.col-xs,.column>.col-xs-auto,.column>.col-12,.column>.col-xs-12,.column>.col-11,.column>.col-xs-11,.column>.col-10,.column>.col-xs-10,.column>.col-9,.column>.col-xs-9,.column>.col-8,.column>.col-xs-8,.column>.col-7,.column>.col-xs-7,.column>.col-6,.column>.col-xs-6,.column>.col-5,.column>.col-xs-5,.column>.col-4,.column>.col-xs-4,.column>.col-3,.column>.col-xs-3,.column>.col-2,.column>.col-xs-2,.column>.col-1,.column>.col-xs-1,.column>.col-0,.column>.col-xs-0,.flex>.col-xs-auto,.flex>.col-12,.flex>.col-xs-12,.flex>.col-11,.flex>.col-xs-11,.flex>.col-10,.flex>.col-xs-10,.flex>.col-9,.flex>.col-xs-9,.flex>.col-8,.flex>.col-xs-8,.flex>.col-7,.flex>.col-xs-7,.flex>.col-6,.flex>.col-xs-6,.flex>.col-5,.flex>.col-xs-5,.flex>.col-4,.flex>.col-xs-4,.flex>.col-3,.flex>.col-xs-3,.flex>.col-2,.flex>.col-xs-2,.flex>.col-1,.flex>.col-xs-1,.flex>.col-0,.flex>.col-xs-0,.column>.col-xs-grow,.flex>.col-xs-grow,.column>.col-xs-shrink,.flex>.col-xs-shrink{height:auto;min-height:0;max-height:100%}.col,.col-xs{flex:10000 1 0%}.col-auto,.col-xs-auto,.col-12,.col-xs-12,.col-11,.col-xs-11,.col-10,.col-xs-10,.col-9,.col-xs-9,.col-8,.col-xs-8,.col-7,.col-xs-7,.col-6,.col-xs-6,.col-5,.col-xs-5,.col-4,.col-xs-4,.col-3,.col-xs-3,.col-2,.col-xs-2,.col-1,.col-xs-1,.col-0,.col-xs-0{flex:0 0 auto}.col-grow,.col-xs-grow{flex:1 0 auto}.col-shrink,.col-xs-shrink{flex:0 1 auto}.row>.col-0,.row>.col-xs-0{height:auto;width:0%}.row>.offset-0,.row>.offset-xs-0{margin-left:0%}.column>.col-0,.column>.col-xs-0{height:0%;width:auto}.row>.col-1,.row>.col-xs-1{height:auto;width:8.3333%}.row>.offset-1,.row>.offset-xs-1{margin-left:8.3333%}.column>.col-1,.column>.col-xs-1{height:8.3333%;width:auto}.row>.col-2,.row>.col-xs-2{height:auto;width:16.6667%}.row>.offset-2,.row>.offset-xs-2{margin-left:16.6667%}.column>.col-2,.column>.col-xs-2{height:16.6667%;width:auto}.row>.col-3,.row>.col-xs-3{height:auto;width:25%}.row>.offset-3,.row>.offset-xs-3{margin-left:25%}.column>.col-3,.column>.col-xs-3{height:25%;width:auto}.row>.col-4,.row>.col-xs-4{height:auto;width:33.3333%}.row>.offset-4,.row>.offset-xs-4{margin-left:33.3333%}.column>.col-4,.column>.col-xs-4{height:33.3333%;width:auto}.row>.col-5,.row>.col-xs-5{height:auto;width:41.6667%}.row>.offset-5,.row>.offset-xs-5{margin-left:41.6667%}.column>.col-5,.column>.col-xs-5{height:41.6667%;width:auto}.row>.col-6,.row>.col-xs-6{height:auto;width:50%}.row>.offset-6,.row>.offset-xs-6{margin-left:50%}.column>.col-6,.column>.col-xs-6{height:50%;width:auto}.row>.col-7,.row>.col-xs-7{height:auto;width:58.3333%}.row>.offset-7,.row>.offset-xs-7{margin-left:58.3333%}.column>.col-7,.column>.col-xs-7{height:58.3333%;width:auto}.row>.col-8,.row>.col-xs-8{height:auto;width:66.6667%}.row>.offset-8,.row>.offset-xs-8{margin-left:66.6667%}.column>.col-8,.column>.col-xs-8{height:66.6667%;width:auto}.row>.col-9,.row>.col-xs-9{height:auto;width:75%}.row>.offset-9,.row>.offset-xs-9{margin-left:75%}.column>.col-9,.column>.col-xs-9{height:75%;width:auto}.row>.col-10,.row>.col-xs-10{height:auto;width:83.3333%}.row>.offset-10,.row>.offset-xs-10{margin-left:83.3333%}.column>.col-10,.column>.col-xs-10{height:83.3333%;width:auto}.row>.col-11,.row>.col-xs-11{height:auto;width:91.6667%}.row>.offset-11,.row>.offset-xs-11{margin-left:91.6667%}.column>.col-11,.column>.col-xs-11{height:91.6667%;width:auto}.row>.col-12,.row>.col-xs-12{height:auto;width:100%}.row>.offset-12,.row>.offset-xs-12{margin-left:100%}.column>.col-12,.column>.col-xs-12{height:100%;width:auto}.row>.col-all{height:auto;flex:0 0 100%}}@media (min-width: 600px){.row>.col-sm,.flex>.col-sm,.row>.col-sm-auto,.row>.col-sm-12,.row>.col-sm-11,.row>.col-sm-10,.row>.col-sm-9,.row>.col-sm-8,.row>.col-sm-7,.row>.col-sm-6,.row>.col-sm-5,.row>.col-sm-4,.row>.col-sm-3,.row>.col-sm-2,.row>.col-sm-1,.row>.col-sm-0,.flex>.col-sm-auto,.flex>.col-sm-12,.flex>.col-sm-11,.flex>.col-sm-10,.flex>.col-sm-9,.flex>.col-sm-8,.flex>.col-sm-7,.flex>.col-sm-6,.flex>.col-sm-5,.flex>.col-sm-4,.flex>.col-sm-3,.flex>.col-sm-2,.flex>.col-sm-1,.flex>.col-sm-0,.row>.col-sm-grow,.flex>.col-sm-grow,.row>.col-sm-shrink,.flex>.col-sm-shrink{width:auto;min-width:0;max-width:100%}.column>.col-sm,.flex>.col-sm,.column>.col-sm-auto,.column>.col-sm-12,.column>.col-sm-11,.column>.col-sm-10,.column>.col-sm-9,.column>.col-sm-8,.column>.col-sm-7,.column>.col-sm-6,.column>.col-sm-5,.column>.col-sm-4,.column>.col-sm-3,.column>.col-sm-2,.column>.col-sm-1,.column>.col-sm-0,.flex>.col-sm-auto,.flex>.col-sm-12,.flex>.col-sm-11,.flex>.col-sm-10,.flex>.col-sm-9,.flex>.col-sm-8,.flex>.col-sm-7,.flex>.col-sm-6,.flex>.col-sm-5,.flex>.col-sm-4,.flex>.col-sm-3,.flex>.col-sm-2,.flex>.col-sm-1,.flex>.col-sm-0,.column>.col-sm-grow,.flex>.col-sm-grow,.column>.col-sm-shrink,.flex>.col-sm-shrink{height:auto;min-height:0;max-height:100%}.col-sm{flex:10000 1 0%}.col-sm-auto,.col-sm-12,.col-sm-11,.col-sm-10,.col-sm-9,.col-sm-8,.col-sm-7,.col-sm-6,.col-sm-5,.col-sm-4,.col-sm-3,.col-sm-2,.col-sm-1,.col-sm-0{flex:0 0 auto}.col-sm-grow{flex:1 0 auto}.col-sm-shrink{flex:0 1 auto}.row>.col-sm-0{height:auto;width:0%}.row>.offset-sm-0{margin-left:0%}.column>.col-sm-0{height:0%;width:auto}.row>.col-sm-1{height:auto;width:8.3333%}.row>.offset-sm-1{margin-left:8.3333%}.column>.col-sm-1{height:8.3333%;width:auto}.row>.col-sm-2{height:auto;width:16.6667%}.row>.offset-sm-2{margin-left:16.6667%}.column>.col-sm-2{height:16.6667%;width:auto}.row>.col-sm-3{height:auto;width:25%}.row>.offset-sm-3{margin-left:25%}.column>.col-sm-3{height:25%;width:auto}.row>.col-sm-4{height:auto;width:33.3333%}.row>.offset-sm-4{margin-left:33.3333%}.column>.col-sm-4{height:33.3333%;width:auto}.row>.col-sm-5{height:auto;width:41.6667%}.row>.offset-sm-5{margin-left:41.6667%}.column>.col-sm-5{height:41.6667%;width:auto}.row>.col-sm-6{height:auto;width:50%}.row>.offset-sm-6{margin-left:50%}.column>.col-sm-6{height:50%;width:auto}.row>.col-sm-7{height:auto;width:58.3333%}.row>.offset-sm-7{margin-left:58.3333%}.column>.col-sm-7{height:58.3333%;width:auto}.row>.col-sm-8{height:auto;width:66.6667%}.row>.offset-sm-8{margin-left:66.6667%}.column>.col-sm-8{height:66.6667%;width:auto}.row>.col-sm-9{height:auto;width:75%}.row>.offset-sm-9{margin-left:75%}.column>.col-sm-9{height:75%;width:auto}.row>.col-sm-10{height:auto;width:83.3333%}.row>.offset-sm-10{margin-left:83.3333%}.column>.col-sm-10{height:83.3333%;width:auto}.row>.col-sm-11{height:auto;width:91.6667%}.row>.offset-sm-11{margin-left:91.6667%}.column>.col-sm-11{height:91.6667%;width:auto}.row>.col-sm-12{height:auto;width:100%}.row>.offset-sm-12{margin-left:100%}.column>.col-sm-12{height:100%;width:auto}}@media (min-width: 1024px){.row>.col-md,.flex>.col-md,.row>.col-md-auto,.row>.col-md-12,.row>.col-md-11,.row>.col-md-10,.row>.col-md-9,.row>.col-md-8,.row>.col-md-7,.row>.col-md-6,.row>.col-md-5,.row>.col-md-4,.row>.col-md-3,.row>.col-md-2,.row>.col-md-1,.row>.col-md-0,.flex>.col-md-auto,.flex>.col-md-12,.flex>.col-md-11,.flex>.col-md-10,.flex>.col-md-9,.flex>.col-md-8,.flex>.col-md-7,.flex>.col-md-6,.flex>.col-md-5,.flex>.col-md-4,.flex>.col-md-3,.flex>.col-md-2,.flex>.col-md-1,.flex>.col-md-0,.row>.col-md-grow,.flex>.col-md-grow,.row>.col-md-shrink,.flex>.col-md-shrink{width:auto;min-width:0;max-width:100%}.column>.col-md,.flex>.col-md,.column>.col-md-auto,.column>.col-md-12,.column>.col-md-11,.column>.col-md-10,.column>.col-md-9,.column>.col-md-8,.column>.col-md-7,.column>.col-md-6,.column>.col-md-5,.column>.col-md-4,.column>.col-md-3,.column>.col-md-2,.column>.col-md-1,.column>.col-md-0,.flex>.col-md-auto,.flex>.col-md-12,.flex>.col-md-11,.flex>.col-md-10,.flex>.col-md-9,.flex>.col-md-8,.flex>.col-md-7,.flex>.col-md-6,.flex>.col-md-5,.flex>.col-md-4,.flex>.col-md-3,.flex>.col-md-2,.flex>.col-md-1,.flex>.col-md-0,.column>.col-md-grow,.flex>.col-md-grow,.column>.col-md-shrink,.flex>.col-md-shrink{height:auto;min-height:0;max-height:100%}.col-md{flex:10000 1 0%}.col-md-auto,.col-md-12,.col-md-11,.col-md-10,.col-md-9,.col-md-8,.col-md-7,.col-md-6,.col-md-5,.col-md-4,.col-md-3,.col-md-2,.col-md-1,.col-md-0{flex:0 0 auto}.col-md-grow{flex:1 0 auto}.col-md-shrink{flex:0 1 auto}.row>.col-md-0{height:auto;width:0%}.row>.offset-md-0{margin-left:0%}.column>.col-md-0{height:0%;width:auto}.row>.col-md-1{height:auto;width:8.3333%}.row>.offset-md-1{margin-left:8.3333%}.column>.col-md-1{height:8.3333%;width:auto}.row>.col-md-2{height:auto;width:16.6667%}.row>.offset-md-2{margin-left:16.6667%}.column>.col-md-2{height:16.6667%;width:auto}.row>.col-md-3{height:auto;width:25%}.row>.offset-md-3{margin-left:25%}.column>.col-md-3{height:25%;width:auto}.row>.col-md-4{height:auto;width:33.3333%}.row>.offset-md-4{margin-left:33.3333%}.column>.col-md-4{height:33.3333%;width:auto}.row>.col-md-5{height:auto;width:41.6667%}.row>.offset-md-5{margin-left:41.6667%}.column>.col-md-5{height:41.6667%;width:auto}.row>.col-md-6{height:auto;width:50%}.row>.offset-md-6{margin-left:50%}.column>.col-md-6{height:50%;width:auto}.row>.col-md-7{height:auto;width:58.3333%}.row>.offset-md-7{margin-left:58.3333%}.column>.col-md-7{height:58.3333%;width:auto}.row>.col-md-8{height:auto;width:66.6667%}.row>.offset-md-8{margin-left:66.6667%}.column>.col-md-8{height:66.6667%;width:auto}.row>.col-md-9{height:auto;width:75%}.row>.offset-md-9{margin-left:75%}.column>.col-md-9{height:75%;width:auto}.row>.col-md-10{height:auto;width:83.3333%}.row>.offset-md-10{margin-left:83.3333%}.column>.col-md-10{height:83.3333%;width:auto}.row>.col-md-11{height:auto;width:91.6667%}.row>.offset-md-11{margin-left:91.6667%}.column>.col-md-11{height:91.6667%;width:auto}.row>.col-md-12{height:auto;width:100%}.row>.offset-md-12{margin-left:100%}.column>.col-md-12{height:100%;width:auto}}@media (min-width: 1440px){.row>.col-lg,.flex>.col-lg,.row>.col-lg-auto,.row>.col-lg-12,.row>.col-lg-11,.row>.col-lg-10,.row>.col-lg-9,.row>.col-lg-8,.row>.col-lg-7,.row>.col-lg-6,.row>.col-lg-5,.row>.col-lg-4,.row>.col-lg-3,.row>.col-lg-2,.row>.col-lg-1,.row>.col-lg-0,.flex>.col-lg-auto,.flex>.col-lg-12,.flex>.col-lg-11,.flex>.col-lg-10,.flex>.col-lg-9,.flex>.col-lg-8,.flex>.col-lg-7,.flex>.col-lg-6,.flex>.col-lg-5,.flex>.col-lg-4,.flex>.col-lg-3,.flex>.col-lg-2,.flex>.col-lg-1,.flex>.col-lg-0,.row>.col-lg-grow,.flex>.col-lg-grow,.row>.col-lg-shrink,.flex>.col-lg-shrink{width:auto;min-width:0;max-width:100%}.column>.col-lg,.flex>.col-lg,.column>.col-lg-auto,.column>.col-lg-12,.column>.col-lg-11,.column>.col-lg-10,.column>.col-lg-9,.column>.col-lg-8,.column>.col-lg-7,.column>.col-lg-6,.column>.col-lg-5,.column>.col-lg-4,.column>.col-lg-3,.column>.col-lg-2,.column>.col-lg-1,.column>.col-lg-0,.flex>.col-lg-auto,.flex>.col-lg-12,.flex>.col-lg-11,.flex>.col-lg-10,.flex>.col-lg-9,.flex>.col-lg-8,.flex>.col-lg-7,.flex>.col-lg-6,.flex>.col-lg-5,.flex>.col-lg-4,.flex>.col-lg-3,.flex>.col-lg-2,.flex>.col-lg-1,.flex>.col-lg-0,.column>.col-lg-grow,.flex>.col-lg-grow,.column>.col-lg-shrink,.flex>.col-lg-shrink{height:auto;min-height:0;max-height:100%}.col-lg{flex:10000 1 0%}.col-lg-auto,.col-lg-12,.col-lg-11,.col-lg-10,.col-lg-9,.col-lg-8,.col-lg-7,.col-lg-6,.col-lg-5,.col-lg-4,.col-lg-3,.col-lg-2,.col-lg-1,.col-lg-0{flex:0 0 auto}.col-lg-grow{flex:1 0 auto}.col-lg-shrink{flex:0 1 auto}.row>.col-lg-0{height:auto;width:0%}.row>.offset-lg-0{margin-left:0%}.column>.col-lg-0{height:0%;width:auto}.row>.col-lg-1{height:auto;width:8.3333%}.row>.offset-lg-1{margin-left:8.3333%}.column>.col-lg-1{height:8.3333%;width:auto}.row>.col-lg-2{height:auto;width:16.6667%}.row>.offset-lg-2{margin-left:16.6667%}.column>.col-lg-2{height:16.6667%;width:auto}.row>.col-lg-3{height:auto;width:25%}.row>.offset-lg-3{margin-left:25%}.column>.col-lg-3{height:25%;width:auto}.row>.col-lg-4{height:auto;width:33.3333%}.row>.offset-lg-4{margin-left:33.3333%}.column>.col-lg-4{height:33.3333%;width:auto}.row>.col-lg-5{height:auto;width:41.6667%}.row>.offset-lg-5{margin-left:41.6667%}.column>.col-lg-5{height:41.6667%;width:auto}.row>.col-lg-6{height:auto;width:50%}.row>.offset-lg-6{margin-left:50%}.column>.col-lg-6{height:50%;width:auto}.row>.col-lg-7{height:auto;width:58.3333%}.row>.offset-lg-7{margin-left:58.3333%}.column>.col-lg-7{height:58.3333%;width:auto}.row>.col-lg-8{height:auto;width:66.6667%}.row>.offset-lg-8{margin-left:66.6667%}.column>.col-lg-8{height:66.6667%;width:auto}.row>.col-lg-9{height:auto;width:75%}.row>.offset-lg-9{margin-left:75%}.column>.col-lg-9{height:75%;width:auto}.row>.col-lg-10{height:auto;width:83.3333%}.row>.offset-lg-10{margin-left:83.3333%}.column>.col-lg-10{height:83.3333%;width:auto}.row>.col-lg-11{height:auto;width:91.6667%}.row>.offset-lg-11{margin-left:91.6667%}.column>.col-lg-11{height:91.6667%;width:auto}.row>.col-lg-12{height:auto;width:100%}.row>.offset-lg-12{margin-left:100%}.column>.col-lg-12{height:100%;width:auto}}@media (min-width: 1920px){.row>.col-xl,.flex>.col-xl,.row>.col-xl-auto,.row>.col-xl-12,.row>.col-xl-11,.row>.col-xl-10,.row>.col-xl-9,.row>.col-xl-8,.row>.col-xl-7,.row>.col-xl-6,.row>.col-xl-5,.row>.col-xl-4,.row>.col-xl-3,.row>.col-xl-2,.row>.col-xl-1,.row>.col-xl-0,.flex>.col-xl-auto,.flex>.col-xl-12,.flex>.col-xl-11,.flex>.col-xl-10,.flex>.col-xl-9,.flex>.col-xl-8,.flex>.col-xl-7,.flex>.col-xl-6,.flex>.col-xl-5,.flex>.col-xl-4,.flex>.col-xl-3,.flex>.col-xl-2,.flex>.col-xl-1,.flex>.col-xl-0,.row>.col-xl-grow,.flex>.col-xl-grow,.row>.col-xl-shrink,.flex>.col-xl-shrink{width:auto;min-width:0;max-width:100%}.column>.col-xl,.flex>.col-xl,.column>.col-xl-auto,.column>.col-xl-12,.column>.col-xl-11,.column>.col-xl-10,.column>.col-xl-9,.column>.col-xl-8,.column>.col-xl-7,.column>.col-xl-6,.column>.col-xl-5,.column>.col-xl-4,.column>.col-xl-3,.column>.col-xl-2,.column>.col-xl-1,.column>.col-xl-0,.flex>.col-xl-auto,.flex>.col-xl-12,.flex>.col-xl-11,.flex>.col-xl-10,.flex>.col-xl-9,.flex>.col-xl-8,.flex>.col-xl-7,.flex>.col-xl-6,.flex>.col-xl-5,.flex>.col-xl-4,.flex>.col-xl-3,.flex>.col-xl-2,.flex>.col-xl-1,.flex>.col-xl-0,.column>.col-xl-grow,.flex>.col-xl-grow,.column>.col-xl-shrink,.flex>.col-xl-shrink{height:auto;min-height:0;max-height:100%}.col-xl{flex:10000 1 0%}.col-xl-auto,.col-xl-12,.col-xl-11,.col-xl-10,.col-xl-9,.col-xl-8,.col-xl-7,.col-xl-6,.col-xl-5,.col-xl-4,.col-xl-3,.col-xl-2,.col-xl-1,.col-xl-0{flex:0 0 auto}.col-xl-grow{flex:1 0 auto}.col-xl-shrink{flex:0 1 auto}.row>.col-xl-0{height:auto;width:0%}.row>.offset-xl-0{margin-left:0%}.column>.col-xl-0{height:0%;width:auto}.row>.col-xl-1{height:auto;width:8.3333%}.row>.offset-xl-1{margin-left:8.3333%}.column>.col-xl-1{height:8.3333%;width:auto}.row>.col-xl-2{height:auto;width:16.6667%}.row>.offset-xl-2{margin-left:16.6667%}.column>.col-xl-2{height:16.6667%;width:auto}.row>.col-xl-3{height:auto;width:25%}.row>.offset-xl-3{margin-left:25%}.column>.col-xl-3{height:25%;width:auto}.row>.col-xl-4{height:auto;width:33.3333%}.row>.offset-xl-4{margin-left:33.3333%}.column>.col-xl-4{height:33.3333%;width:auto}.row>.col-xl-5{height:auto;width:41.6667%}.row>.offset-xl-5{margin-left:41.6667%}.column>.col-xl-5{height:41.6667%;width:auto}.row>.col-xl-6{height:auto;width:50%}.row>.offset-xl-6{margin-left:50%}.column>.col-xl-6{height:50%;width:auto}.row>.col-xl-7{height:auto;width:58.3333%}.row>.offset-xl-7{margin-left:58.3333%}.column>.col-xl-7{height:58.3333%;width:auto}.row>.col-xl-8{height:auto;width:66.6667%}.row>.offset-xl-8{margin-left:66.6667%}.column>.col-xl-8{height:66.6667%;width:auto}.row>.col-xl-9{height:auto;width:75%}.row>.offset-xl-9{margin-left:75%}.column>.col-xl-9{height:75%;width:auto}.row>.col-xl-10{height:auto;width:83.3333%}.row>.offset-xl-10{margin-left:83.3333%}.column>.col-xl-10{height:83.3333%;width:auto}.row>.col-xl-11{height:auto;width:91.6667%}.row>.offset-xl-11{margin-left:91.6667%}.column>.col-xl-11{height:91.6667%;width:auto}.row>.col-xl-12{height:auto;width:100%}.row>.offset-xl-12{margin-left:100%}.column>.col-xl-12{height:100%;width:auto}}.rounded-borders{border-radius:4px}.border-radius-inherit{border-radius:inherit}.no-transition{transition:none!important}.transition-0{transition:0s!important}.glossy{background-image:linear-gradient(to bottom,rgba(255,255,255,.3),rgba(255,255,255,0) 50%,rgba(0,0,0,.12) 51%,rgba(0,0,0,.04))!important}.q-placeholder::-webkit-input-placeholder{color:inherit;opacity:.7}.q-placeholder::-moz-placeholder{color:inherit;opacity:.7}.q-placeholder:-ms-input-placeholder{color:inherit!important;opacity:.7!important}.q-placeholder::-ms-input-placeholder{color:inherit;opacity:.7}.q-placeholder::placeholder{color:inherit;opacity:.7}.q-body--fullscreen-mixin,.q-body--prevent-scroll{position:fixed!important}.q-body--force-scrollbar-x{overflow-x:scroll}.q-body--force-scrollbar-y{overflow-y:scroll}.q-no-input-spinner{-moz-appearance:textfield!important}.q-no-input-spinner::-webkit-outer-spin-button,.q-no-input-spinner::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.q-link{outline:0;text-decoration:none}.q-link--focusable:focus-visible{text-decoration:underline dashed currentColor 1px}body.electron .q-electron-drag{-webkit-user-select:none;-webkit-app-region:drag}body.electron .q-electron-drag .q-btn-item,body.electron .q-electron-drag--exception{-webkit-app-region:no-drag}img.responsive{max-width:100%;height:auto}.non-selectable{user-select:none!important}.scroll{overflow:auto}.scroll,.scroll-x,.scroll-y{-webkit-overflow-scrolling:touch;will-change:scroll-position}.scroll-x{overflow-x:auto}.scroll-y{overflow-y:auto}.no-scroll{overflow:hidden!important}.no-pointer-events,.no-pointer-events--children,.no-pointer-events--children *{pointer-events:none!important}.all-pointer-events{pointer-events:all!important}.cursor-pointer{cursor:pointer!important}.cursor-not-allowed{cursor:not-allowed!important}.cursor-inherit{cursor:inherit!important}.cursor-none{cursor:none!important}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled]{cursor:default}.rotate-45{transform:rotate(45deg)}.rotate-90{transform:rotate(90deg)}.rotate-135{transform:rotate(135deg)}.rotate-180{transform:rotate(180deg)}.rotate-225{transform:rotate(225deg)}.rotate-270{transform:rotate(270deg)}.rotate-315{transform:rotate(315deg)}.flip-horizontal{transform:scaleX(-1)}.flip-vertical{transform:scaleY(-1)}.float-left{float:left}.float-right{float:right}.relative-position{position:relative}.fixed,.fixed-full,.fullscreen,.fixed-center,.fixed-bottom,.fixed-left,.fixed-right,.fixed-top,.fixed-top-left,.fixed-top-right,.fixed-bottom-left,.fixed-bottom-right{position:fixed}.absolute,.absolute-full,.absolute-center,.absolute-bottom,.absolute-left,.absolute-right,.absolute-top,.absolute-top-left,.absolute-top-right,.absolute-bottom-left,.absolute-bottom-right{position:absolute}.fixed-top,.absolute-top{top:0;left:0;right:0}.fixed-right,.absolute-right{top:0;right:0;bottom:0}.fixed-bottom,.absolute-bottom{right:0;bottom:0;left:0}.fixed-left,.absolute-left{top:0;bottom:0;left:0}.fixed-top-left,.absolute-top-left{top:0;left:0}.fixed-top-right,.absolute-top-right{top:0;right:0}.fixed-bottom-left,.absolute-bottom-left{bottom:0;left:0}.fixed-bottom-right,.absolute-bottom-right{bottom:0;right:0}.fullscreen{z-index:6000;border-radius:0!important;max-width:100vw;max-height:100vh}body.q-ios-padding .fullscreen{padding-top:20px!important;padding-top:env(safe-area-inset-top)!important;padding-bottom:env(safe-area-inset-bottom)!important}.absolute-full,.fullscreen,.fixed-full{top:0;right:0;bottom:0;left:0}.fixed-center,.absolute-center{top:50%;left:50%;transform:translate(-50%,-50%)}.vertical-top{vertical-align:top!important}.vertical-middle{vertical-align:middle!important}.vertical-bottom{vertical-align:bottom!important}.on-left{margin-right:12px}.on-right{margin-left:12px}.q-position-engine{margin-top:var(--q-pe-top, 0)!important;margin-left:var(--q-pe-left, 0)!important;will-change:auto;visibility:collapse}:root{--q-size-xs: 0;--q-size-sm: 600px;--q-size-md: 1024px;--q-size-lg: 1440px;--q-size-xl: 1920px}.fit{width:100%!important;height:100%!important}.full-height{height:100%!important}.full-width{width:100%!important;margin-left:0!important;margin-right:0!important}.window-height{margin-top:0!important;margin-bottom:0!important;height:100vh!important}.window-width{margin-left:0!important;margin-right:0!important;width:100vw!important}.block{display:block!important}.inline-block{display:inline-block!important}.q-pa-none{padding:0}.q-pl-none{padding-left:0}.q-pr-none{padding-right:0}.q-pt-none{padding-top:0}.q-pb-none{padding-bottom:0}.q-px-none{padding-left:0;padding-right:0}.q-py-none{padding-top:0;padding-bottom:0}.q-ma-none{margin:0}.q-ml-none{margin-left:0}.q-mr-none{margin-right:0}.q-mt-none{margin-top:0}.q-mb-none{margin-bottom:0}.q-mx-none{margin-left:0;margin-right:0}.q-my-none{margin-top:0;margin-bottom:0}.q-pa-xs{padding:4px}.q-pl-xs{padding-left:4px}.q-pr-xs{padding-right:4px}.q-pt-xs{padding-top:4px}.q-pb-xs{padding-bottom:4px}.q-px-xs{padding-left:4px;padding-right:4px}.q-py-xs{padding-top:4px;padding-bottom:4px}.q-ma-xs{margin:4px}.q-ml-xs{margin-left:4px}.q-mr-xs{margin-right:4px}.q-mt-xs{margin-top:4px}.q-mb-xs{margin-bottom:4px}.q-mx-xs{margin-left:4px;margin-right:4px}.q-my-xs{margin-top:4px;margin-bottom:4px}.q-pa-sm{padding:8px}.q-pl-sm{padding-left:8px}.q-pr-sm{padding-right:8px}.q-pt-sm{padding-top:8px}.q-pb-sm{padding-bottom:8px}.q-px-sm{padding-left:8px;padding-right:8px}.q-py-sm{padding-top:8px;padding-bottom:8px}.q-ma-sm{margin:8px}.q-ml-sm{margin-left:8px}.q-mr-sm{margin-right:8px}.q-mt-sm{margin-top:8px}.q-mb-sm{margin-bottom:8px}.q-mx-sm{margin-left:8px;margin-right:8px}.q-my-sm{margin-top:8px;margin-bottom:8px}.q-pa-md{padding:16px}.q-pl-md{padding-left:16px}.q-pr-md{padding-right:16px}.q-pt-md{padding-top:16px}.q-pb-md{padding-bottom:16px}.q-px-md{padding-left:16px;padding-right:16px}.q-py-md{padding-top:16px;padding-bottom:16px}.q-ma-md{margin:16px}.q-ml-md{margin-left:16px}.q-mr-md{margin-right:16px}.q-mt-md{margin-top:16px}.q-mb-md{margin-bottom:16px}.q-mx-md{margin-left:16px;margin-right:16px}.q-my-md{margin-top:16px;margin-bottom:16px}.q-pa-lg{padding:24px}.q-pl-lg{padding-left:24px}.q-pr-lg{padding-right:24px}.q-pt-lg{padding-top:24px}.q-pb-lg{padding-bottom:24px}.q-px-lg{padding-left:24px;padding-right:24px}.q-py-lg{padding-top:24px;padding-bottom:24px}.q-ma-lg{margin:24px}.q-ml-lg{margin-left:24px}.q-mr-lg{margin-right:24px}.q-mt-lg{margin-top:24px}.q-mb-lg{margin-bottom:24px}.q-mx-lg{margin-left:24px;margin-right:24px}.q-my-lg{margin-top:24px;margin-bottom:24px}.q-pa-xl{padding:48px}.q-pl-xl{padding-left:48px}.q-pr-xl{padding-right:48px}.q-pt-xl{padding-top:48px}.q-pb-xl{padding-bottom:48px}.q-px-xl{padding-left:48px;padding-right:48px}.q-py-xl{padding-top:48px;padding-bottom:48px}.q-ma-xl{margin:48px}.q-ml-xl{margin-left:48px}.q-mr-xl{margin-right:48px}.q-mt-xl{margin-top:48px}.q-mb-xl{margin-bottom:48px}.q-mx-xl{margin-left:48px;margin-right:48px}.q-my-xl{margin-top:48px;margin-bottom:48px}.q-mt-auto,.q-my-auto{margin-top:auto}.q-ml-auto{margin-left:auto}.q-mb-auto,.q-my-auto{margin-bottom:auto}.q-mr-auto{margin-right:auto}.q-mx-auto{margin-left:auto;margin-right:auto}.q-touch{user-select:none;user-drag:none;-khtml-user-drag:none;-webkit-user-drag:none}.q-touch-x{touch-action:pan-x}.q-touch-y{touch-action:pan-y}:root{--q-transition-duration: .3s}.q-transition--slide-right-enter-active,.q-transition--slide-right-leave-active,.q-transition--slide-left-enter-active,.q-transition--slide-left-leave-active,.q-transition--slide-up-enter-active,.q-transition--slide-up-leave-active,.q-transition--slide-down-enter-active,.q-transition--slide-down-leave-active,.q-transition--jump-right-enter-active,.q-transition--jump-right-leave-active,.q-transition--jump-left-enter-active,.q-transition--jump-left-leave-active,.q-transition--jump-up-enter-active,.q-transition--jump-up-leave-active,.q-transition--jump-down-enter-active,.q-transition--jump-down-leave-active,.q-transition--fade-enter-active,.q-transition--fade-leave-active,.q-transition--scale-enter-active,.q-transition--scale-leave-active,.q-transition--rotate-enter-active,.q-transition--rotate-leave-active,.q-transition--flip-enter-active,.q-transition--flip-leave-active{--q-transition-duration: .3s;--q-transition-easing: cubic-bezier(.215,.61,.355,1)}.q-transition--slide-right-leave-active,.q-transition--slide-left-leave-active,.q-transition--slide-up-leave-active,.q-transition--slide-down-leave-active,.q-transition--jump-right-leave-active,.q-transition--jump-left-leave-active,.q-transition--jump-up-leave-active,.q-transition--jump-down-leave-active,.q-transition--fade-leave-active,.q-transition--scale-leave-active,.q-transition--rotate-leave-active,.q-transition--flip-leave-active{position:absolute}.q-transition--slide-right-enter-active,.q-transition--slide-right-leave-active,.q-transition--slide-left-enter-active,.q-transition--slide-left-leave-active,.q-transition--slide-up-enter-active,.q-transition--slide-up-leave-active,.q-transition--slide-down-enter-active,.q-transition--slide-down-leave-active{transition:transform var(--q-transition-duration) var(--q-transition-easing)}.q-transition--slide-right-enter-from{transform:translate3d(-100%,0,0)}.q-transition--slide-right-leave-to,.q-transition--slide-left-enter-from{transform:translate3d(100%,0,0)}.q-transition--slide-left-leave-to{transform:translate3d(-100%,0,0)}.q-transition--slide-up-enter-from{transform:translate3d(0,100%,0)}.q-transition--slide-up-leave-to,.q-transition--slide-down-enter-from{transform:translate3d(0,-100%,0)}.q-transition--slide-down-leave-to{transform:translate3d(0,100%,0)}.q-transition--jump-right-enter-active,.q-transition--jump-right-leave-active,.q-transition--jump-left-enter-active,.q-transition--jump-left-leave-active,.q-transition--jump-up-enter-active,.q-transition--jump-up-leave-active,.q-transition--jump-down-enter-active,.q-transition--jump-down-leave-active{transition:opacity var(--q-transition-duration),transform var(--q-transition-duration)}.q-transition--jump-right-enter-from,.q-transition--jump-right-leave-to,.q-transition--jump-left-enter-from,.q-transition--jump-left-leave-to,.q-transition--jump-up-enter-from,.q-transition--jump-up-leave-to,.q-transition--jump-down-enter-from,.q-transition--jump-down-leave-to{opacity:0}.q-transition--jump-right-enter-from{transform:translate3d(-15px,0,0)}.q-transition--jump-right-leave-to,.q-transition--jump-left-enter-from{transform:translate3d(15px,0,0)}.q-transition--jump-left-leave-to{transform:translate(-15px)}.q-transition--jump-up-enter-from{transform:translate3d(0,15px,0)}.q-transition--jump-up-leave-to,.q-transition--jump-down-enter-from{transform:translate3d(0,-15px,0)}.q-transition--jump-down-leave-to{transform:translate3d(0,15px,0)}.q-transition--fade-enter-active,.q-transition--fade-leave-active{transition:opacity var(--q-transition-duration) ease-out}.q-transition--fade-enter-from,.q-transition--fade-leave-to{opacity:0}.q-transition--scale-enter-active,.q-transition--scale-leave-active{transition:opacity var(--q-transition-duration),transform var(--q-transition-duration) var(--q-transition-easing)}.q-transition--scale-enter-from,.q-transition--scale-leave-to{opacity:0;transform:scale3d(0,0,1)}.q-transition--rotate-enter-active,.q-transition--rotate-leave-active{transition:opacity var(--q-transition-duration),transform var(--q-transition-duration) var(--q-transition-easing);transform-style:preserve-3d}.q-transition--rotate-enter-from,.q-transition--rotate-leave-to{opacity:0;transform:scale3d(0,0,1) rotate3d(0,0,1,90deg)}.q-transition--flip-right-enter-active,.q-transition--flip-right-leave-active,.q-transition--flip-left-enter-active,.q-transition--flip-left-leave-active,.q-transition--flip-up-enter-active,.q-transition--flip-up-leave-active,.q-transition--flip-down-enter-active,.q-transition--flip-down-leave-active{transition:transform var(--q-transition-duration);backface-visibility:hidden}.q-transition--flip-right-enter-to,.q-transition--flip-right-leave-from,.q-transition--flip-left-enter-to,.q-transition--flip-left-leave-from,.q-transition--flip-up-enter-to,.q-transition--flip-up-leave-from,.q-transition--flip-down-enter-to,.q-transition--flip-down-leave-from{transform:perspective(400px) rotate3d(1,1,0,0)}.q-transition--flip-right-enter-from{transform:perspective(400px) rotateY(-180deg)}.q-transition--flip-right-leave-to,.q-transition--flip-left-enter-from{transform:perspective(400px) rotateY(180deg)}.q-transition--flip-left-leave-to{transform:perspective(400px) rotateY(-180deg)}.q-transition--flip-up-enter-from{transform:perspective(400px) rotateX(-180deg)}.q-transition--flip-up-leave-to,.q-transition--flip-down-enter-from{transform:perspective(400px) rotateX(180deg)}.q-transition--flip-down-leave-to{transform:perspective(400px) rotateX(-180deg)}body{min-width:100px;min-height:100%;font-family:Roboto,-apple-system,Helvetica Neue,Helvetica,Arial,sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-smoothing:antialiased;line-height:1.5;font-size:14px}h1{font-size:6rem;font-weight:300;line-height:6rem;letter-spacing:-.01562em}h2{font-size:3.75rem;font-weight:300;line-height:3.75rem;letter-spacing:-.00833em}h3{font-size:3rem;font-weight:400;line-height:3.125rem;letter-spacing:normal}h4{font-size:2.125rem;font-weight:400;line-height:2.5rem;letter-spacing:.00735em}h5{font-size:1.5rem;font-weight:400;line-height:2rem;letter-spacing:normal}h6{font-size:1.25rem;font-weight:500;line-height:2rem;letter-spacing:.0125em}p{margin:0 0 16px}.text-h1{font-size:6rem;font-weight:300;line-height:6rem;letter-spacing:-.01562em}.text-h2{font-size:3.75rem;font-weight:300;line-height:3.75rem;letter-spacing:-.00833em}.text-h3{font-size:3rem;font-weight:400;line-height:3.125rem;letter-spacing:normal}.text-h4{font-size:2.125rem;font-weight:400;line-height:2.5rem;letter-spacing:.00735em}.text-h5{font-size:1.5rem;font-weight:400;line-height:2rem;letter-spacing:normal}.text-h6{font-size:1.25rem;font-weight:500;line-height:2rem;letter-spacing:.0125em}.text-subtitle1{font-size:1rem;font-weight:400;line-height:1.75rem;letter-spacing:.00937em}.text-subtitle2{font-size:.875rem;font-weight:500;line-height:1.375rem;letter-spacing:.00714em}.text-body1{font-size:1rem;font-weight:400;line-height:1.5rem;letter-spacing:.03125em}.text-body2{font-size:.875rem;font-weight:400;line-height:1.25rem;letter-spacing:.01786em}.text-overline{font-size:.75rem;font-weight:500;line-height:2rem;letter-spacing:.16667em}.text-caption{font-size:.75rem;font-weight:400;line-height:1.25rem;letter-spacing:.03333em}.text-uppercase{text-transform:uppercase}.text-lowercase{text-transform:lowercase}.text-capitalize{text-transform:capitalize}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-justify{text-align:justify;hyphens:auto}.text-italic{font-style:italic}.text-bold{font-weight:700}.text-no-wrap{white-space:nowrap}.text-strike{text-decoration:line-through}.text-weight-thin{font-weight:100}.text-weight-light{font-weight:300}.text-weight-regular{font-weight:400}.text-weight-medium{font-weight:500}.text-weight-bold{font-weight:700}.text-weight-bolder{font-weight:900}small{font-size:80%}big{font-size:170%}sub{bottom:-.25em}sup{top:-.5em}.no-margin{margin:0!important}.no-padding{padding:0!important}.no-border{border:0!important}.no-border-radius{border-radius:0!important}.no-box-shadow{box-shadow:none!important}.no-outline{outline:0!important}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ellipsis-2-lines,.ellipsis-3-lines{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.ellipsis-2-lines{-webkit-line-clamp:2}.ellipsis-3-lines{-webkit-line-clamp:3}.readonly{cursor:default!important}.disabled,.disabled *,[disabled],[disabled] *{outline:0!important;cursor:not-allowed!important}.disabled,[disabled]{opacity:.6!important}.hidden{display:none!important}.invisible{visibility:hidden!important}.transparent{background:transparent!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-hidden-y{overflow-y:hidden!important}.hide-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.hide-scrollbar::-webkit-scrollbar{width:0;height:0;display:none}.dimmed:after,.light-dimmed:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0}.dimmed:after{background:rgba(0,0,0,.4)!important}.light-dimmed:after{background:rgba(255,255,255,.6)!important}.z-top{z-index:7000!important}.z-max{z-index:9998!important}body:not(.desktop) .desktop-only,body.desktop .desktop-hide{display:none!important}body:not(.mobile) .mobile-only,body.mobile .mobile-hide{display:none!important}body:not(.native-mobile) .native-mobile-only,body.native-mobile .native-mobile-hide{display:none!important}body:not(.cordova) .cordova-only,body.cordova .cordova-hide{display:none!important}body:not(.capacitor) .capacitor-only,body.capacitor .capacitor-hide{display:none!important}body:not(.electron) .electron-only,body.electron .electron-hide{display:none!important}body:not(.touch) .touch-only,body.touch .touch-hide{display:none!important}body:not(.within-iframe) .within-iframe-only,body.within-iframe .within-iframe-hide{display:none!important}body:not(.platform-ios) .platform-ios-only,body.platform-ios .platform-ios-hide{display:none!important}body:not(.platform-android) .platform-android-only,body.platform-android .platform-android-hide{display:none!important}@media all and (orientation: portrait){.orientation-landscape{display:none!important}}@media all and (orientation: landscape){.orientation-portrait{display:none!important}}@media screen{.print-only{display:none!important}}@media print{.print-hide{display:none!important}}@media (max-width: 599.98px){.xs-hide,.gt-xs,.sm,.gt-sm,.md,.gt-md,.lg,.gt-lg,.xl{display:none!important}}@media (min-width: 600px) and (max-width: 1023.98px){.sm-hide,.xs,.lt-sm,.gt-sm,.md,.gt-md,.lg,.gt-lg,.xl{display:none!important}}@media (min-width: 1024px) and (max-width: 1439.98px){.md-hide,.xs,.lt-sm,.sm,.lt-md,.gt-md,.lg,.gt-lg,.xl{display:none!important}}@media (min-width: 1440px) and (max-width: 1919.98px){.lg-hide,.xs,.lt-sm,.sm,.lt-md,.md,.lt-lg,.gt-lg,.xl{display:none!important}}@media (min-width: 1920px){.xl-hide,.xs,.lt-sm,.sm,.lt-md,.md,.lt-lg,.lg,.lt-xl{display:none!important}}.q-focus-helper,.q-focusable,.q-manual-focusable,.q-hoverable{outline:0}body.desktop .q-focus-helper{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;border-radius:inherit;opacity:0;transition:background-color .3s cubic-bezier(.25,.8,.5,1),opacity .4s cubic-bezier(.25,.8,.5,1)}body.desktop .q-focus-helper:before,body.desktop .q-focus-helper:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;border-radius:inherit;transition:background-color .3s cubic-bezier(.25,.8,.5,1),opacity .6s cubic-bezier(.25,.8,.5,1)}body.desktop .q-focus-helper:before{background:#000}body.desktop .q-focus-helper:after{background:#fff}body.desktop .q-focus-helper--rounded{border-radius:4px}body.desktop .q-focus-helper--round{border-radius:50%}body.desktop .q-focusable:focus>.q-focus-helper,body.desktop .q-manual-focusable--focused>.q-focus-helper,body.desktop .q-hoverable:hover>.q-focus-helper{background:currentColor;opacity:.15}body.desktop .q-focusable:focus>.q-focus-helper:before,body.desktop .q-manual-focusable--focused>.q-focus-helper:before,body.desktop .q-hoverable:hover>.q-focus-helper:before{opacity:.1}body.desktop .q-focusable:focus>.q-focus-helper:after,body.desktop .q-manual-focusable--focused>.q-focus-helper:after,body.desktop .q-hoverable:hover>.q-focus-helper:after{opacity:.4}body.desktop .q-focusable:focus>.q-focus-helper,body.desktop .q-manual-focusable--focused>.q-focus-helper{opacity:.22}body.body--dark{color:#fff;background:var(--q-dark-page)}.q-dark{color:#fff;background:var(--q-dark)} diff --git a/resources/[tools]/unlimited-spectre/html/assets/index.7435630d.js b/resources/[tools]/unlimited-spectre/html/assets/index.7435630d.js deleted file mode 100644 index 4e6ce7303..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/index.7435630d.js +++ /dev/null @@ -1,4 +0,0 @@ -import{g as mr}from"./_commonjsHelpers.c10bf6cb.js";var gr=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var e={},t=Symbol("test"),n=Object(t);if(typeof t=="string"||Object.prototype.toString.call(t)!=="[object Symbol]"||Object.prototype.toString.call(n)!=="[object Symbol]")return!1;var o=42;e[t]=o;for(t in e)return!1;if(typeof Object.keys=="function"&&Object.keys(e).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(e).length!==0)return!1;var a=Object.getOwnPropertySymbols(e);if(a.length!==1||a[0]!==t||!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var f=Object.getOwnPropertyDescriptor(e,t);if(f.value!==o||f.enumerable!==!0)return!1}return!0},We=typeof Symbol<"u"&&Symbol,hr=gr,Sr=function(){return typeof We!="function"||typeof Symbol!="function"||typeof We("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:hr()},br="Function.prototype.bind called on incompatible ",se=Array.prototype.slice,Or=Object.prototype.toString,Ar="[object Function]",wr=function(e){var t=this;if(typeof t!="function"||Or.call(t)!==Ar)throw new TypeError(br+t);for(var n=se.call(arguments,1),o,a=function(){if(this instanceof o){var c=t.apply(this,n.concat(se.call(arguments)));return Object(c)===c?c:this}else return t.apply(e,n.concat(se.call(arguments)))},f=Math.max(0,t.length-n.length),i=[],l=0;l"u"?y:N(Uint8Array),Q={"%AggregateError%":typeof AggregateError>"u"?y:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?y:ArrayBuffer,"%ArrayIteratorPrototype%":k?N([][Symbol.iterator]()):y,"%AsyncFromSyncIteratorPrototype%":y,"%AsyncFunction%":z,"%AsyncGenerator%":z,"%AsyncGeneratorFunction%":z,"%AsyncIteratorPrototype%":z,"%Atomics%":typeof Atomics>"u"?y:Atomics,"%BigInt%":typeof BigInt>"u"?y:BigInt,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?y:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":typeof Float32Array>"u"?y:Float32Array,"%Float64Array%":typeof Float64Array>"u"?y:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?y:FinalizationRegistry,"%Function%":er,"%GeneratorFunction%":z,"%Int8Array%":typeof Int8Array>"u"?y:Int8Array,"%Int16Array%":typeof Int16Array>"u"?y:Int16Array,"%Int32Array%":typeof Int32Array>"u"?y:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":k?N(N([][Symbol.iterator]())):y,"%JSON%":typeof JSON=="object"?JSON:y,"%Map%":typeof Map>"u"?y:Map,"%MapIteratorPrototype%":typeof Map>"u"||!k?y:N(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?y:Promise,"%Proxy%":typeof Proxy>"u"?y:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":typeof Reflect>"u"?y:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?y:Set,"%SetIteratorPrototype%":typeof Set>"u"||!k?y:N(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?y:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":k?N(""[Symbol.iterator]()):y,"%Symbol%":k?Symbol:y,"%SyntaxError%":V,"%ThrowTypeError%":$r,"%TypedArray%":Fr,"%TypeError%":H,"%Uint8Array%":typeof Uint8Array>"u"?y:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?y:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?y:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?y:Uint32Array,"%URIError%":URIError,"%WeakMap%":typeof WeakMap>"u"?y:WeakMap,"%WeakRef%":typeof WeakRef>"u"?y:WeakRef,"%WeakSet%":typeof WeakSet>"u"?y:WeakSet},Ir=function r(e){var t;if(e==="%AsyncFunction%")t=ve("async function () {}");else if(e==="%GeneratorFunction%")t=ve("function* () {}");else if(e==="%AsyncGeneratorFunction%")t=ve("async function* () {}");else if(e==="%AsyncGenerator%"){var n=r("%AsyncGeneratorFunction%");n&&(t=n.prototype)}else if(e==="%AsyncIteratorPrototype%"){var o=r("%AsyncGenerator%");o&&(t=N(o.prototype))}return Q[e]=t,t},Le={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},ae=Re,le=xr,Rr=ae.call(Function.call,Array.prototype.concat),Nr=ae.call(Function.apply,Array.prototype.splice),Ge=ae.call(Function.call,String.prototype.replace),ue=ae.call(Function.call,String.prototype.slice),Mr=ae.call(Function.call,RegExp.prototype.exec),Tr=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,Dr=/\\(\\)?/g,Br=function(e){var t=ue(e,0,1),n=ue(e,-1);if(t==="%"&&n!=="%")throw new V("invalid intrinsic syntax, expected closing `%`");if(n==="%"&&t!=="%")throw new V("invalid intrinsic syntax, expected opening `%`");var o=[];return Ge(e,Tr,function(a,f,i,l){o[o.length]=i?Ge(l,Dr,"$1"):f||a}),o},Cr=function(e,t){var n=e,o;if(le(Le,n)&&(o=Le[n],n="%"+o[0]+"%"),le(Q,n)){var a=Q[n];if(a===z&&(a=Ir(n)),typeof a>"u"&&!t)throw new H("intrinsic "+e+" exists, but is not available. Please file an issue!");return{alias:o,name:n,value:a}}throw new V("intrinsic "+e+" does not exist!")},Ne=function(e,t){if(typeof e!="string"||e.length===0)throw new H("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof t!="boolean")throw new H('"allowMissing" argument must be a boolean');if(Mr(/^%?[^%]*%?$/,e)===null)throw new V("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=Br(e),o=n.length>0?n[0]:"",a=Cr("%"+o+"%",t),f=a.name,i=a.value,l=!1,u=a.alias;u&&(o=u[0],Nr(n,Rr([0,1],u)));for(var c=1,v=!0;c=n.length){var b=U(i,p);v=!!b,v&&"get"in b&&!("originalValue"in b.get)?i=b.get:i=i[p]}else v=le(i,p),i=i[p];v&&!l&&(Q[f]=i)}}return i},rr={exports:{}};(function(r){var e=Re,t=Ne,n=t("%Function.prototype.apply%"),o=t("%Function.prototype.call%"),a=t("%Reflect.apply%",!0)||e.call(o,n),f=t("%Object.getOwnPropertyDescriptor%",!0),i=t("%Object.defineProperty%",!0),l=t("%Math.max%");if(i)try{i({},"a",{value:1})}catch{i=null}r.exports=function(v){var p=a(e,o,arguments);if(f&&i){var m=f(p,"length");m.configurable&&i(p,"length",{value:1+l(0,v.length-(arguments.length-1))})}return p};var u=function(){return a(e,n,arguments)};i?i(r.exports,"apply",{value:u}):r.exports.apply=u})(rr);var tr=Ne,nr=rr.exports,_r=nr(tr("String.prototype.indexOf")),Ur=function(e,t){var n=tr(e,!!t);return typeof n=="function"&&_r(e,".prototype.")>-1?nr(n):n};const Wr={},Lr=Object.freeze(Object.defineProperty({__proto__:null,default:Wr},Symbol.toStringTag,{value:"Module"})),Gr=mr(Lr);var Me=typeof Map=="function"&&Map.prototype,me=Object.getOwnPropertyDescriptor&&Me?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,ce=Me&&me&&typeof me.get=="function"?me.get:null,kr=Me&&Map.prototype.forEach,Te=typeof Set=="function"&&Set.prototype,ge=Object.getOwnPropertyDescriptor&&Te?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,pe=Te&&ge&&typeof ge.get=="function"?ge.get:null,zr=Te&&Set.prototype.forEach,Hr=typeof WeakMap=="function"&&WeakMap.prototype,re=Hr?WeakMap.prototype.has:null,Qr=typeof WeakSet=="function"&&WeakSet.prototype,te=Qr?WeakSet.prototype.has:null,Vr=typeof WeakRef=="function"&&WeakRef.prototype,ke=Vr?WeakRef.prototype.deref:null,qr=Boolean.prototype.valueOf,Jr=Object.prototype.toString,Kr=Function.prototype.toString,jr=String.prototype.match,De=String.prototype.slice,T=String.prototype.replace,Yr=String.prototype.toUpperCase,ze=String.prototype.toLowerCase,ar=RegExp.prototype.test,He=Array.prototype.concat,w=Array.prototype.join,Xr=Array.prototype.slice,Qe=Math.floor,we=typeof BigInt=="function"?BigInt.prototype.valueOf:null,he=Object.getOwnPropertySymbols,Pe=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Symbol.prototype.toString:null,q=typeof Symbol=="function"&&typeof Symbol.iterator=="object",S=typeof Symbol=="function"&&Symbol.toStringTag&&(typeof Symbol.toStringTag===q?"object":"symbol")?Symbol.toStringTag:null,or=Object.prototype.propertyIsEnumerable,Ve=(typeof Reflect=="function"?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(r){return r.__proto__}:null);function qe(r,e){if(r===1/0||r===-1/0||r!==r||r&&r>-1e3&&r<1e3||ar.call(/e/,e))return e;var t=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if(typeof r=="number"){var n=r<0?-Qe(-r):Qe(r);if(n!==r){var o=String(n),a=De.call(e,o.length+1);return T.call(o,t,"$&_")+"."+T.call(T.call(a,/([0-9]{3})/g,"$&_"),/_$/,"")}}return T.call(e,t,"$&_")}var Ee=Gr,Je=Ee.custom,Ke=fr(Je)?Je:null,Zr=function r(e,t,n,o){var a=t||{};if(M(a,"quoteStyle")&&a.quoteStyle!=="single"&&a.quoteStyle!=="double")throw new TypeError('option "quoteStyle" must be "single" or "double"');if(M(a,"maxStringLength")&&(typeof a.maxStringLength=="number"?a.maxStringLength<0&&a.maxStringLength!==1/0:a.maxStringLength!==null))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var f=M(a,"customInspect")?a.customInspect:!0;if(typeof f!="boolean"&&f!=="symbol")throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(M(a,"indent")&&a.indent!==null&&a.indent!==" "&&!(parseInt(a.indent,10)===a.indent&&a.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(M(a,"numericSeparator")&&typeof a.numericSeparator!="boolean")throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var i=a.numericSeparator;if(typeof e>"u")return"undefined";if(e===null)return"null";if(typeof e=="boolean")return e?"true":"false";if(typeof e=="string")return ur(e,a);if(typeof e=="number"){if(e===0)return 1/0/e>0?"0":"-0";var l=String(e);return i?qe(e,l):l}if(typeof e=="bigint"){var u=String(e)+"n";return i?qe(e,u):u}var c=typeof a.depth>"u"?5:a.depth;if(typeof n>"u"&&(n=0),n>=c&&c>0&&typeof e=="object")return xe(e)?"[Array]":"[Object]";var v=gt(a,n);if(typeof o>"u")o=[];else if(lr(o,e)>=0)return"[Circular]";function p(O,R,x){if(R&&(o=Xr.call(o),o.push(R)),x){var Z={depth:a.depth};return M(a,"quoteStyle")&&(Z.quoteStyle=a.quoteStyle),r(O,Z,n+1,o)}return r(O,a,n+1,o)}if(typeof e=="function"&&!je(e)){var m=lt(e),d=oe(e,p);return"[Function"+(m?": "+m:" (anonymous)")+"]"+(d.length>0?" { "+w.call(d,", ")+" }":"")}if(fr(e)){var b=q?T.call(String(e),/^(Symbol\(.*\))_[^)]*$/,"$1"):Pe.call(e);return typeof e=="object"&&!q?ee(b):b}if(vt(e)){for(var P="<"+ze.call(String(e.nodeName)),s=e.attributes||[],E=0;E",P}if(xe(e)){if(e.length===0)return"[]";var F=oe(e,p);return v&&!mt(F)?"["+$e(F,v)+"]":"[ "+w.call(F,", ")+" ]"}if(tt(e)){var W=oe(e,p);return!("cause"in Error.prototype)&&"cause"in e&&!or.call(e,"cause")?"{ ["+String(e)+"] "+w.call(He.call("[cause]: "+p(e.cause),W),", ")+" }":W.length===0?"["+String(e)+"]":"{ ["+String(e)+"] "+w.call(W,", ")+" }"}if(typeof e=="object"&&f){if(Ke&&typeof e[Ke]=="function"&&Ee)return Ee(e,{depth:c-n});if(f!=="symbol"&&typeof e.inspect=="function")return e.inspect()}if(ut(e)){var j=[];return kr.call(e,function(O,R){j.push(p(R,e,!0)+" => "+p(O,e))}),Ye("Map",ce.call(e),j,v)}if(yt(e)){var Y=[];return zr.call(e,function(O){Y.push(p(O,e))}),Ye("Set",pe.call(e),Y,v)}if(ct(e))return Se("WeakMap");if(st(e))return Se("WeakSet");if(pt(e))return Se("WeakRef");if(at(e))return ee(p(Number(e)));if(it(e))return ee(p(we.call(e)));if(ot(e))return ee(qr.call(e));if(nt(e))return ee(p(String(e)));if(!rt(e)&&!je(e)){var B=oe(e,p),X=Ve?Ve(e)===Object.prototype:e instanceof Object||e.constructor===Object,I=e instanceof Object?"":"null prototype",L=!X&&S&&Object(e)===e&&S in e?De.call(D(e),8,-1):I?"Object":"",C=X||typeof e.constructor!="function"?"":e.constructor.name?e.constructor.name+" ":"",G=C+(L||I?"["+w.call(He.call([],L||[],I||[]),": ")+"] ":"");return B.length===0?G+"{}":v?G+"{"+$e(B,v)+"}":G+"{ "+w.call(B,", ")+" }"}return String(e)};function ir(r,e,t){var n=(t.quoteStyle||e)==="double"?'"':"'";return n+r+n}function et(r){return T.call(String(r),/"/g,""")}function xe(r){return D(r)==="[object Array]"&&(!S||!(typeof r=="object"&&S in r))}function rt(r){return D(r)==="[object Date]"&&(!S||!(typeof r=="object"&&S in r))}function je(r){return D(r)==="[object RegExp]"&&(!S||!(typeof r=="object"&&S in r))}function tt(r){return D(r)==="[object Error]"&&(!S||!(typeof r=="object"&&S in r))}function nt(r){return D(r)==="[object String]"&&(!S||!(typeof r=="object"&&S in r))}function at(r){return D(r)==="[object Number]"&&(!S||!(typeof r=="object"&&S in r))}function ot(r){return D(r)==="[object Boolean]"&&(!S||!(typeof r=="object"&&S in r))}function fr(r){if(q)return r&&typeof r=="object"&&r instanceof Symbol;if(typeof r=="symbol")return!0;if(!r||typeof r!="object"||!Pe)return!1;try{return Pe.call(r),!0}catch{}return!1}function it(r){if(!r||typeof r!="object"||!we)return!1;try{return we.call(r),!0}catch{}return!1}var ft=Object.prototype.hasOwnProperty||function(r){return r in this};function M(r,e){return ft.call(r,e)}function D(r){return Jr.call(r)}function lt(r){if(r.name)return r.name;var e=jr.call(Kr.call(r),/^function\s*([\w$]+)/);return e?e[1]:null}function lr(r,e){if(r.indexOf)return r.indexOf(e);for(var t=0,n=r.length;te.maxStringLength){var t=r.length-e.maxStringLength,n="... "+t+" more character"+(t>1?"s":"");return ur(De.call(r,0,e.maxStringLength),e)+n}var o=T.call(T.call(r,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,dt);return ir(o,"single",e)}function dt(r){var e=r.charCodeAt(0),t={8:"b",9:"t",10:"n",12:"f",13:"r"}[e];return t?"\\"+t:"\\x"+(e<16?"0":"")+Yr.call(e.toString(16))}function ee(r){return"Object("+r+")"}function Se(r){return r+" { ? }"}function Ye(r,e,t,n){var o=n?$e(t,n):w.call(t,", ");return r+" ("+e+") {"+o+"}"}function mt(r){for(var e=0;e=0)return!1;return!0}function gt(r,e){var t;if(r.indent===" ")t=" ";else if(typeof r.indent=="number"&&r.indent>0)t=w.call(Array(r.indent+1)," ");else return null;return{base:t,prev:w.call(Array(e+1),t)}}function $e(r,e){if(r.length===0)return"";var t=` -`+e.prev+e.base;return t+w.call(r,","+t)+` -`+e.prev}function oe(r,e){var t=xe(r),n=[];if(t){n.length=r.length;for(var o=0;o1;){var t=e.pop(),n=t.obj[t.prop];if(_(n)){for(var o=[],a=0;a=48&&u<=57||u>=65&&u<=90||u>=97&&u<=122||a===Mt.RFC1738&&(u===40||u===41)){i+=f.charAt(l);continue}if(u<128){i=i+A[u];continue}if(u<2048){i=i+(A[192|u>>6]+A[128|u&63]);continue}if(u<55296||u>=57344){i=i+(A[224|u>>12]+A[128|u>>6&63]+A[128|u&63]);continue}l+=1,u=65536+((u&1023)<<10|f.charCodeAt(l)&1023),i+=A[240|u>>18]+A[128|u>>12&63]+A[128|u>>6&63]+A[128|u&63]}return i},Ut=function(e){for(var t=[{obj:{o:e},prop:"o"}],n=[],o=0;o"u"&&(F=0)}if(typeof l=="function"?s=l(t,s):s instanceof Date?s=v(s):n==="comma"&&$(s)&&(s=Fe.maybeMap(s,function(ye){return ye instanceof Date?v(ye):ye})),s===null){if(a)return i&&!d?i(t,h.encoder,b,"key",p):t;s=""}if(qt(s)||Fe.isBuffer(s)){if(i){var Y=d?t:i(t,h.encoder,b,"key",p);if(n==="comma"&&d){for(var B=Ht.call(String(s),","),X="",I=0;I"u")return L;var C;if(n==="comma"&&$(s))C=[{value:s.length>0?s.join(",")||null:void 0}];else if($(l))C=l;else{var G=Object.keys(s);C=u?G.sort(u):G}for(var O=o&&$(s)&&s.length===1?t+"[]":t,R=0;R"u"?h.allowDots:!!e.allowDots,charset:t,charsetSentinel:typeof e.charsetSentinel=="boolean"?e.charsetSentinel:h.charsetSentinel,delimiter:typeof e.delimiter>"u"?h.delimiter:e.delimiter,encode:typeof e.encode=="boolean"?e.encode:h.encode,encoder:typeof e.encoder=="function"?e.encoder:h.encoder,encodeValuesOnly:typeof e.encodeValuesOnly=="boolean"?e.encodeValuesOnly:h.encodeValuesOnly,filter:a,format:n,formatter:o,serializeDate:typeof e.serializeDate=="function"?e.serializeDate:h.serializeDate,skipNulls:typeof e.skipNulls=="boolean"?e.skipNulls:h.skipNulls,sort:typeof e.sort=="function"?e.sort:null,strictNullHandling:typeof e.strictNullHandling=="boolean"?e.strictNullHandling:h.strictNullHandling}},jt=function(r,e){var t=r,n=Kt(e),o,a;typeof n.filter=="function"?(a=n.filter,t=a("",t)):$(n.filter)&&(a=n.filter,o=a);var f=[];if(typeof t!="object"||t===null)return"";var i;e&&e.arrayFormat in Xe?i=e.arrayFormat:e&&"indices"in e?i=e.indices?"indices":"repeat":i="indices";var l=Xe[i];if(e&&"commaRoundTrip"in e&&typeof e.commaRoundTrip!="boolean")throw new TypeError("`commaRoundTrip` must be a boolean, or absent");var u=l==="comma"&&e&&e.commaRoundTrip;o||(o=Object.keys(t)),n.sort&&o.sort(n.sort);for(var c=yr(),v=0;v0?d+m:""},J=pr,Ie=Object.prototype.hasOwnProperty,Yt=Array.isArray,g={allowDots:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decoder:J.decode,delimiter:"&",depth:5,ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictNullHandling:!1},Xt=function(r){return r.replace(/&#(\d+);/g,function(e,t){return String.fromCharCode(parseInt(t,10))})},vr=function(r,e){return r&&typeof r=="string"&&e.comma&&r.indexOf(",")>-1?r.split(","):r},Zt="utf8=%26%2310003%3B",en="utf8=%E2%9C%93",rn=function(e,t){var n={},o=t.ignoreQueryPrefix?e.replace(/^\?/,""):e,a=t.parameterLimit===1/0?void 0:t.parameterLimit,f=o.split(t.delimiter,a),i=-1,l,u=t.charset;if(t.charsetSentinel)for(l=0;l-1&&(d=Yt(d)?[d]:d),Ie.call(n,m)?n[m]=J.combine(n[m],d):n[m]=d}return n},tn=function(r,e,t,n){for(var o=n?e:vr(e,t),a=r.length-1;a>=0;--a){var f,i=r[a];if(i==="[]"&&t.parseArrays)f=[].concat(o);else{f=t.plainObjects?Object.create(null):{};var l=i.charAt(0)==="["&&i.charAt(i.length-1)==="]"?i.slice(1,-1):i,u=parseInt(l,10);!t.parseArrays&&l===""?f={0:o}:!isNaN(u)&&i!==l&&String(u)===l&&u>=0&&t.parseArrays&&u<=t.arrayLimit?(f=[],f[u]=o):l!=="__proto__"&&(f[l]=o)}o=f}return o},nn=function(e,t,n,o){if(!!e){var a=n.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,f=/(\[[^[\]]*])/,i=/(\[[^[\]]*])/g,l=n.depth>0&&f.exec(a),u=l?a.slice(0,l.index):a,c=[];if(u){if(!n.plainObjects&&Ie.call(Object.prototype,u)&&!n.allowPrototypes)return;c.push(u)}for(var v=0;n.depth>0&&(l=i.exec(a))!==null&&v"u"?g.charset:e.charset;return{allowDots:typeof e.allowDots>"u"?g.allowDots:!!e.allowDots,allowPrototypes:typeof e.allowPrototypes=="boolean"?e.allowPrototypes:g.allowPrototypes,allowSparse:typeof e.allowSparse=="boolean"?e.allowSparse:g.allowSparse,arrayLimit:typeof e.arrayLimit=="number"?e.arrayLimit:g.arrayLimit,charset:t,charsetSentinel:typeof e.charsetSentinel=="boolean"?e.charsetSentinel:g.charsetSentinel,comma:typeof e.comma=="boolean"?e.comma:g.comma,decoder:typeof e.decoder=="function"?e.decoder:g.decoder,delimiter:typeof e.delimiter=="string"||J.isRegExp(e.delimiter)?e.delimiter:g.delimiter,depth:typeof e.depth=="number"||e.depth===!1?+e.depth:g.depth,ignoreQueryPrefix:e.ignoreQueryPrefix===!0,interpretNumericEntities:typeof e.interpretNumericEntities=="boolean"?e.interpretNumericEntities:g.interpretNumericEntities,parameterLimit:typeof e.parameterLimit=="number"?e.parameterLimit:g.parameterLimit,parseArrays:e.parseArrays!==!1,plainObjects:typeof e.plainObjects=="boolean"?e.plainObjects:g.plainObjects,strictNullHandling:typeof e.strictNullHandling=="boolean"?e.strictNullHandling:g.strictNullHandling}},on=function(r,e){var t=an(e);if(r===""||r===null||typeof r>"u")return t.plainObjects?Object.create(null):{};for(var n=typeof r=="string"?rn(r,t):r,o=t.plainObjects?Object.create(null):{},a=Object.keys(n),f=0;fQ[w]})}}}return Object.freeze(Object.defineProperty(Wt,Symbol.toStringTag,{value:"Module"}))}var ce={exports:{}};/* @preserve - * Leaflet 1.9.2, a JS library for interactive maps. https://leafletjs.com - * (c) 2010-2022 Vladimir Agafonkin, (c) 2010-2011 CloudMade - */(function(Wt,Ut){(function(l,Q){Q(Ut)})(Uo,function(l){var Q="1.9.2";function w(t){var e,i,n,o;for(i=1,n=arguments.length;i"u"||!L||!L.Mixin)){t=V(t)?t:[t];for(var e=0;e0?Math.floor(t):Math.ceil(t)};p.prototype={clone:function(){return new p(this.x,this.y)},add:function(t){return this.clone()._add(_(t))},_add:function(t){return this.x+=t.x,this.y+=t.y,this},subtract:function(t){return this.clone()._subtract(_(t))},_subtract:function(t){return this.x-=t.x,this.y-=t.y,this},divideBy:function(t){return this.clone()._divideBy(t)},_divideBy:function(t){return this.x/=t,this.y/=t,this},multiplyBy:function(t){return this.clone()._multiplyBy(t)},_multiplyBy:function(t){return this.x*=t,this.y*=t,this},scaleBy:function(t){return new p(this.x*t.x,this.y*t.y)},unscaleBy:function(t){return new p(this.x/t.x,this.y/t.y)},round:function(){return this.clone()._round()},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},floor:function(){return this.clone()._floor()},_floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.clone()._ceil()},_ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},trunc:function(){return this.clone()._trunc()},_trunc:function(){return this.x=ni(this.x),this.y=ni(this.y),this},distanceTo:function(t){t=_(t);var e=t.x-this.x,i=t.y-this.y;return Math.sqrt(e*e+i*i)},equals:function(t){return t=_(t),t.x===this.x&&t.y===this.y},contains:function(t){return t=_(t),Math.abs(t.x)<=Math.abs(this.x)&&Math.abs(t.y)<=Math.abs(this.y)},toString:function(){return"Point("+K(this.x)+", "+K(this.y)+")"}};function _(t,e,i){return t instanceof p?t:V(t)?new p(t[0],t[1]):t==null?t:typeof t=="object"&&"x"in t&&"y"in t?new p(t.x,t.y):new p(t,e,i)}function z(t,e){if(!!t)for(var i=e?[t,e]:t,n=0,o=i.length;n=this.min.x&&i.x<=this.max.x&&e.y>=this.min.y&&i.y<=this.max.y},intersects:function(t){t=R(t);var e=this.min,i=this.max,n=t.min,o=t.max,s=o.x>=e.x&&n.x<=i.x,r=o.y>=e.y&&n.y<=i.y;return s&&r},overlaps:function(t){t=R(t);var e=this.min,i=this.max,n=t.min,o=t.max,s=o.x>e.x&&n.xe.y&&n.y=e.lat&&o.lat<=i.lat&&n.lng>=e.lng&&o.lng<=i.lng},intersects:function(t){t=A(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),o=t.getNorthEast(),s=o.lat>=e.lat&&n.lat<=i.lat,r=o.lng>=e.lng&&n.lng<=i.lng;return s&&r},overlaps:function(t){t=A(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),o=t.getNorthEast(),s=o.lat>e.lat&&n.late.lng&&n.lng1,En=function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("testPassiveEventSupport",Z,e),window.removeEventListener("testPassiveEventSupport",Z,e)}catch{}return t}(),Zn=function(){return!!document.createElement("canvas").getContext}(),Le=!!(document.createElementNS&&si("svg").createSVGRect),On=!!Le&&function(){var t=document.createElement("div");return t.innerHTML="",(t.firstChild&&t.firstChild.namespaceURI)==="http://www.w3.org/2000/svg"}(),In=!Le&&function(){try{var t=document.createElement("div");t.innerHTML='';var e=t.firstChild;return e.style.behavior="url(#default#VML)",e&&typeof e.adj=="object"}catch{return!1}}(),An=navigator.platform.indexOf("Mac")===0,Bn=navigator.platform.indexOf("Linux")===0;function Y(t){return navigator.userAgent.toLowerCase().indexOf(t)>=0}var f={ie:Vt,ielt9:yn,edge:ai,webkit:we,android:hi,android23:ui,androidStock:xn,opera:xe,chrome:li,gecko:ci,safari:Pn,phantom:fi,opera12:di,win:Ln,ie3d:_i,webkit3d:Pe,gecko3d:mi,any3d:Tn,mobile:zt,mobileWebkit:bn,mobileWebkit3d:Mn,msPointer:pi,pointer:vi,touch:Cn,touchNative:gi,mobileOpera:Sn,mobileGecko:zn,retina:kn,passiveEvents:En,canvas:Zn,svg:Le,vml:In,inlineSvg:On,mac:An,linux:Bn},yi=f.msPointer?"MSPointerDown":"pointerdown",wi=f.msPointer?"MSPointerMove":"pointermove",xi=f.msPointer?"MSPointerUp":"pointerup",Pi=f.msPointer?"MSPointerCancel":"pointercancel",Te={touchstart:yi,touchmove:wi,touchend:xi,touchcancel:Pi},Li={touchstart:Wn,touchmove:qt,touchend:qt,touchcancel:qt},gt={},Ti=!1;function Nn(t,e,i){return e==="touchstart"&&Fn(),Li[e]?(i=Li[e].bind(this,i),t.addEventListener(Te[e],i,!1),i):(console.warn("wrong event specified:",e),L.Util.falseFn)}function Rn(t,e,i){if(!Te[e]){console.warn("wrong event specified:",e);return}t.removeEventListener(Te[e],i,!1)}function Dn(t){gt[t.pointerId]=t}function Hn(t){gt[t.pointerId]&&(gt[t.pointerId]=t)}function bi(t){delete gt[t.pointerId]}function Fn(){Ti||(document.addEventListener(yi,Dn,!0),document.addEventListener(wi,Hn,!0),document.addEventListener(xi,bi,!0),document.addEventListener(Pi,bi,!0),Ti=!0)}function qt(t,e){if(e.pointerType!==(e.MSPOINTER_TYPE_MOUSE||"mouse")){e.touches=[];for(var i in gt)e.touches.push(gt[i]);e.changedTouches=[e],t(e)}}function Wn(t,e){e.MSPOINTER_TYPE_TOUCH&&e.pointerType===e.MSPOINTER_TYPE_TOUCH&&B(e),qt(t,e)}function Un(t){var e={},i,n;for(n in t)i=t[n],e[n]=i&&i.bind?i.bind(t):i;return t=e,e.type="dblclick",e.detail=2,e.isTrusted=!1,e._simulated=!0,e}var Gn=200;function Vn(t,e){t.addEventListener("dblclick",e);var i=0,n;function o(s){if(s.detail!==1){n=s.detail;return}if(!(s.pointerType==="mouse"||s.sourceCapabilities&&!s.sourceCapabilities.firesTouchEvents)){var r=ki(s);if(!(r.some(function(h){return h instanceof HTMLLabelElement&&h.attributes.for})&&!r.some(function(h){return h instanceof HTMLInputElement||h instanceof HTMLSelectElement}))){var a=Date.now();a-i<=Gn?(n++,n===2&&e(Un(s))):n=1,i=a}}}return t.addEventListener("click",o),{dblclick:e,simDblclick:o}}function qn(t,e){t.removeEventListener("dblclick",e.dblclick),t.removeEventListener("click",e.simDblclick)}var be=Yt(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),kt=Yt(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),Mi=kt==="webkitTransition"||kt==="OTransition"?kt+"End":"transitionend";function Ci(t){return typeof t=="string"?document.getElementById(t):t}function Et(t,e){var i=t.style[e]||t.currentStyle&&t.currentStyle[e];if((!i||i==="auto")&&document.defaultView){var n=document.defaultView.getComputedStyle(t,null);i=n?n[e]:null}return i==="auto"?null:i}function P(t,e,i){var n=document.createElement(t);return n.className=e||"",i&&i.appendChild(n),n}function k(t){var e=t.parentNode;e&&e.removeChild(t)}function jt(t){for(;t.firstChild;)t.removeChild(t.firstChild)}function yt(t){var e=t.parentNode;e&&e.lastChild!==t&&e.appendChild(t)}function wt(t){var e=t.parentNode;e&&e.firstChild!==t&&e.insertBefore(t,e.firstChild)}function Me(t,e){if(t.classList!==void 0)return t.classList.contains(e);var i=Kt(t);return i.length>0&&new RegExp("(^|\\s)"+e+"(\\s|$)").test(i)}function g(t,e){if(t.classList!==void 0)for(var i=lt(e),n=0,o=i.length;n0?2*window.devicePixelRatio:1;function Zi(t){return f.edge?t.wheelDeltaY/2:t.deltaY&&t.deltaMode===0?-t.deltaY/Yn:t.deltaY&&t.deltaMode===1?-t.deltaY*20:t.deltaY&&t.deltaMode===2?-t.deltaY*60:t.deltaX||t.deltaZ?0:t.wheelDelta?(t.wheelDeltaY||t.wheelDelta)/2:t.detail&&Math.abs(t.detail)<32765?-t.detail*20:t.detail?t.detail/-32765*60:0}function Re(t,e){var i=e.relatedTarget;if(!i)return!0;try{for(;i&&i!==t;)i=i.parentNode}catch{return!1}return i!==t}var Xn={__proto__:null,on:m,off:M,stopPropagation:dt,disableScrollPropagation:Ne,disableClickPropagation:At,preventDefault:B,stop:_t,getPropagationPath:ki,getMousePosition:Ei,getWheelDelta:Zi,isExternalTarget:Re,addListener:m,removeListener:M},Oi=Ct.extend({run:function(t,e,i,n){this.stop(),this._el=t,this._inProgress=!0,this._duration=i||.25,this._easeOutPower=1/Math.max(n||.5,.2),this._startPos=ft(t),this._offset=e.subtract(this._startPos),this._startTime=+new Date,this.fire("start"),this._animate()},stop:function(){!this._inProgress||(this._step(!0),this._complete())},_animate:function(){this._animId=N(this._animate,this),this._step()},_step:function(t){var e=+new Date-this._startTime,i=this._duration*1e3;ethis.options.maxZoom)?this.setZoom(t):this},panInsideBounds:function(t,e){this._enforcingBounds=!0;var i=this.getCenter(),n=this._limitCenter(i,this._zoom,A(t));return i.equals(n)||this.panTo(n,e),this._enforcingBounds=!1,this},panInside:function(t,e){e=e||{};var i=_(e.paddingTopLeft||e.padding||[0,0]),n=_(e.paddingBottomRight||e.padding||[0,0]),o=this.project(this.getCenter()),s=this.project(t),r=this.getPixelBounds(),a=R([r.min.add(i),r.max.subtract(n)]),h=a.getSize();if(!a.contains(s)){this._enforcingBounds=!0;var u=s.subtract(a.getCenter()),c=a.extend(s).getSize().subtract(h);o.x+=u.x<0?-c.x:c.x,o.y+=u.y<0?-c.y:c.y,this.panTo(this.unproject(o),e),this._enforcingBounds=!1}return this},invalidateSize:function(t){if(!this._loaded)return this;t=w({animate:!1,pan:!0},t===!0?{animate:!0}:t);var e=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var i=this.getSize(),n=e.divideBy(2).round(),o=i.divideBy(2).round(),s=n.subtract(o);return!s.x&&!s.y?this:(t.animate&&t.pan?this.panBy(s):(t.pan&&this._rawPanBy(s),this.fire("move"),t.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(C(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:e,newSize:i}))},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(t){if(t=this._locateOptions=w({timeout:1e4,watch:!1},t),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var e=C(this._handleGeolocationResponse,this),i=C(this._handleGeolocationError,this);return t.watch?this._locationWatchId=navigator.geolocation.watchPosition(e,i,t):navigator.geolocation.getCurrentPosition(e,i,t),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(t){if(!!this._container._leaflet_id){var e=t.code,i=t.message||(e===1?"permission denied":e===2?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:e,message:"Geolocation error: "+i+"."})}},_handleGeolocationResponse:function(t){if(!!this._container._leaflet_id){var e=t.coords.latitude,i=t.coords.longitude,n=new T(e,i),o=n.toBounds(t.coords.accuracy*2),s=this._locateOptions;if(s.setView){var r=this.getBoundsZoom(o);this.setView(n,s.maxZoom?Math.min(r,s.maxZoom):r)}var a={latlng:n,bounds:o,timestamp:t.timestamp};for(var h in t.coords)typeof t.coords[h]=="number"&&(a[h]=t.coords[h]);this.fire("locationfound",a)}},addHandler:function(t,e){if(!e)return this;var i=this[t]=new e(this);return this._handlers.push(i),this.options[t]&&i.enable(),this},remove:function(){if(this._initEvents(!0),this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch{this._container._leaflet_id=void 0,this._containerId=void 0}this._locationWatchId!==void 0&&this.stopLocate(),this._stop(),k(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(F(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload");var t;for(t in this._layers)this._layers[t].remove();for(t in this._panes)k(this._panes[t]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(t,e){var i="leaflet-pane"+(t?" leaflet-"+t.replace("Pane","")+"-pane":""),n=P("div",i,e||this._mapPane);return t&&(this._panes[t]=n),n},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter.clone():this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var t=this.getPixelBounds(),e=this.unproject(t.getBottomLeft()),i=this.unproject(t.getTopRight());return new D(e,i)},getMinZoom:function(){return this.options.minZoom===void 0?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return this.options.maxZoom===void 0?this._layersMaxZoom===void 0?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(t,e,i){t=A(t),i=_(i||[0,0]);var n=this.getZoom()||0,o=this.getMinZoom(),s=this.getMaxZoom(),r=t.getNorthWest(),a=t.getSouthEast(),h=this.getSize().subtract(i),u=R(this.project(a,n),this.project(r,n)).getSize(),c=f.any3d?this.options.zoomSnap:1,d=h.x/u.x,v=h.y/u.y,G=e?Math.max(d,v):Math.min(d,v);return n=this.getScaleZoom(G,n),c&&(n=Math.round(n/(c/100))*(c/100),n=e?Math.ceil(n/c)*c:Math.floor(n/c)*c),Math.max(o,Math.min(s,n))},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new p(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(t,e){var i=this._getTopLeftPoint(t,e);return new z(i,i.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(t){return this.options.crs.getProjectedBounds(t===void 0?this.getZoom():t)},getPane:function(t){return typeof t=="string"?this._panes[t]:t},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(t,e){var i=this.options.crs;return e=e===void 0?this._zoom:e,i.scale(t)/i.scale(e)},getScaleZoom:function(t,e){var i=this.options.crs;e=e===void 0?this._zoom:e;var n=i.zoom(t*i.scale(e));return isNaN(n)?1/0:n},project:function(t,e){return e=e===void 0?this._zoom:e,this.options.crs.latLngToPoint(b(t),e)},unproject:function(t,e){return e=e===void 0?this._zoom:e,this.options.crs.pointToLatLng(_(t),e)},layerPointToLatLng:function(t){var e=_(t).add(this.getPixelOrigin());return this.unproject(e)},latLngToLayerPoint:function(t){var e=this.project(b(t))._round();return e._subtract(this.getPixelOrigin())},wrapLatLng:function(t){return this.options.crs.wrapLatLng(b(t))},wrapLatLngBounds:function(t){return this.options.crs.wrapLatLngBounds(A(t))},distance:function(t,e){return this.options.crs.distance(b(t),b(e))},containerPointToLayerPoint:function(t){return _(t).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(t){return _(t).add(this._getMapPanePos())},containerPointToLatLng:function(t){var e=this.containerPointToLayerPoint(_(t));return this.layerPointToLatLng(e)},latLngToContainerPoint:function(t){return this.layerPointToContainerPoint(this.latLngToLayerPoint(b(t)))},mouseEventToContainerPoint:function(t){return Ei(t,this._container)},mouseEventToLayerPoint:function(t){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(t))},mouseEventToLatLng:function(t){return this.layerPointToLatLng(this.mouseEventToLayerPoint(t))},_initContainer:function(t){var e=this._container=Ci(t);if(e){if(e._leaflet_id)throw new Error("Map container is already initialized.")}else throw new Error("Map container not found.");m(e,"scroll",this._onScroll,this),this._containerId=x(e)},_initLayout:function(){var t=this._container;this._fadeAnimated=this.options.fadeAnimation&&f.any3d,g(t,"leaflet-container"+(f.touch?" leaflet-touch":"")+(f.retina?" leaflet-retina":"")+(f.ielt9?" leaflet-oldie":"")+(f.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var e=Et(t,"position");e!=="absolute"&&e!=="relative"&&e!=="fixed"&&(t.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var t=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),O(this._mapPane,new p(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(g(t.markerPane,"leaflet-zoom-hide"),g(t.shadowPane,"leaflet-zoom-hide"))},_resetView:function(t,e,i){O(this._mapPane,new p(0,0));var n=!this._loaded;this._loaded=!0,e=this._limitZoom(e),this.fire("viewprereset");var o=this._zoom!==e;this._moveStart(o,i)._move(t,e)._moveEnd(o),this.fire("viewreset"),n&&this.fire("load")},_moveStart:function(t,e){return t&&this.fire("zoomstart"),e||this.fire("movestart"),this},_move:function(t,e,i,n){e===void 0&&(e=this._zoom);var o=this._zoom!==e;return this._zoom=e,this._lastCenter=t,this._pixelOrigin=this._getNewPixelOrigin(t),n?i&&i.pinch&&this.fire("zoom",i):((o||i&&i.pinch)&&this.fire("zoom",i),this.fire("move",i)),this},_moveEnd:function(t){return t&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return F(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(t){O(this._mapPane,this._getMapPanePos().subtract(t))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(t){this._targets={},this._targets[x(this._container)]=this;var e=t?M:m;e(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&e(window,"resize",this._onResize,this),f.any3d&&this.options.transform3DLimit&&(t?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){F(this._resizeRequest),this._resizeRequest=N(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var t=this._getMapPanePos();Math.max(Math.abs(t.x),Math.abs(t.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(t,e){for(var i=[],n,o=e==="mouseout"||e==="mouseover",s=t.target||t.srcElement,r=!1;s;){if(n=this._targets[x(s)],n&&(e==="click"||e==="preclick")&&this._draggableMoved(n)){r=!0;break}if(n&&n.listens(e,!0)&&(o&&!Re(s,t)||(i.push(n),o))||s===this._container)break;s=s.parentNode}return!i.length&&!r&&!o&&this.listens(e,!0)&&(i=[this]),i},_isClickDisabled:function(t){for(;t&&t!==this._container;){if(t._leaflet_disable_click)return!0;t=t.parentNode}},_handleDOMEvent:function(t){var e=t.target||t.srcElement;if(!(!this._loaded||e._leaflet_disable_events||t.type==="click"&&this._isClickDisabled(e))){var i=t.type;i==="mousedown"&&Ze(e),this._fireDOMEvent(t,i)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(t,e,i){if(t.type==="click"){var n=w({},t);n.type="preclick",this._fireDOMEvent(n,n.type,i)}var o=this._findEventTargets(t,e);if(i){for(var s=[],r=0;r0?Math.round(t-e)/2:Math.max(0,Math.ceil(t))-Math.max(0,Math.floor(e))},_limitZoom:function(t){var e=this.getMinZoom(),i=this.getMaxZoom(),n=f.any3d?this.options.zoomSnap:1;return n&&(t=Math.round(t/n)*n),Math.max(e,Math.min(i,t))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){E(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(t,e){var i=this._getCenterOffset(t)._trunc();return(e&&e.animate)!==!0&&!this.getSize().contains(i)?!1:(this.panBy(i,e),!0)},_createAnimProxy:function(){var t=this._proxy=P("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(t),this.on("zoomanim",function(e){var i=be,n=this._proxy.style[i];ct(this._proxy,this.project(e.center,e.zoom),this.getZoomScale(e.zoom,1)),n===this._proxy.style[i]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){k(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var t=this.getCenter(),e=this.getZoom();ct(this._proxy,this.project(t,e),this.getZoomScale(e,1))},_catchTransitionEnd:function(t){this._animatingZoom&&t.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(t,e,i){if(this._animatingZoom)return!0;if(i=i||{},!this._zoomAnimated||i.animate===!1||this._nothingToAnimate()||Math.abs(e-this._zoom)>this.options.zoomAnimationThreshold)return!1;var n=this.getZoomScale(e),o=this._getCenterOffset(t)._divideBy(1-1/n);return i.animate!==!0&&!this.getSize().contains(o)?!1:(N(function(){this._moveStart(!0,!1)._animateZoom(t,e,!0)},this),!0)},_animateZoom:function(t,e,i,n){!this._mapPane||(i&&(this._animatingZoom=!0,this._animateToCenter=t,this._animateToZoom=e,g(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:t,zoom:e,noUpdate:n}),this._tempFireZoomEvent||(this._tempFireZoomEvent=this._zoom!==this._animateToZoom),this._move(this._animateToCenter,this._animateToZoom,void 0,!0),setTimeout(C(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){!this._animatingZoom||(this._mapPane&&E(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom,void 0,!0),this._tempFireZoomEvent&&this.fire("zoom"),delete this._tempFireZoomEvent,this.fire("move"),this._moveEnd(!0))}});function Jn(t,e){return new y(t,e)}var q=tt.extend({options:{position:"topright"},initialize:function(t){S(this,t)},getPosition:function(){return this.options.position},setPosition:function(t){var e=this._map;return e&&e.removeControl(this),this.options.position=t,e&&e.addControl(this),this},getContainer:function(){return this._container},addTo:function(t){this.remove(),this._map=t;var e=this._container=this.onAdd(t),i=this.getPosition(),n=t._controlCorners[i];return g(e,"leaflet-control"),i.indexOf("bottom")!==-1?n.insertBefore(e,n.firstChild):n.appendChild(e),this._map.on("unload",this.remove,this),this},remove:function(){return this._map?(k(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null,this):this},_refocusOnMap:function(t){this._map&&t&&t.screenX>0&&t.screenY>0&&this._map.getContainer().focus()}}),Bt=function(t){return new q(t)};y.include({addControl:function(t){return t.addTo(this),this},removeControl:function(t){return t.remove(),this},_initControlPos:function(){var t=this._controlCorners={},e="leaflet-",i=this._controlContainer=P("div",e+"control-container",this._container);function n(o,s){var r=e+o+" "+e+s;t[o+s]=P("div",r,i)}n("top","left"),n("top","right"),n("bottom","left"),n("bottom","right")},_clearControlPos:function(){for(var t in this._controlCorners)k(this._controlCorners[t]);k(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var Ii=q.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(t,e,i,n){return i1,this._baseLayersList.style.display=t?"":"none"),this._separator.style.display=e&&t?"":"none",this},_onLayerChange:function(t){this._handlingClick||this._update();var e=this._getLayer(x(t.target)),i=e.overlay?t.type==="add"?"overlayadd":"overlayremove":t.type==="add"?"baselayerchange":null;i&&this._map.fire(i,e)},_createRadioElement:function(t,e){var i='",n=document.createElement("div");return n.innerHTML=i,n.firstChild},_addItem:function(t){var e=document.createElement("label"),i=this._map.hasLayer(t.layer),n;t.overlay?(n=document.createElement("input"),n.type="checkbox",n.className="leaflet-control-layers-selector",n.defaultChecked=i):n=this._createRadioElement("leaflet-base-layers_"+x(this),i),this._layerControlInputs.push(n),n.layerId=x(t.layer),m(n,"click",this._onInputClick,this);var o=document.createElement("span");o.innerHTML=" "+t.name;var s=document.createElement("span");e.appendChild(s),s.appendChild(n),s.appendChild(o);var r=t.overlay?this._overlaysList:this._baseLayersList;return r.appendChild(e),this._checkDisabledLayers(),e},_onInputClick:function(){var t=this._layerControlInputs,e,i,n=[],o=[];this._handlingClick=!0;for(var s=t.length-1;s>=0;s--)e=t[s],i=this._getLayer(e.layerId).layer,e.checked?n.push(i):e.checked||o.push(i);for(s=0;s=0;o--)e=t[o],i=this._getLayer(e.layerId).layer,e.disabled=i.options.minZoom!==void 0&&ni.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this}}),$n=function(t,e,i){return new Ii(t,e,i)},De=q.extend({options:{position:"topleft",zoomInText:'',zoomInTitle:"Zoom in",zoomOutText:'',zoomOutTitle:"Zoom out"},onAdd:function(t){var e="leaflet-control-zoom",i=P("div",e+" leaflet-bar"),n=this.options;return this._zoomInButton=this._createButton(n.zoomInText,n.zoomInTitle,e+"-in",i,this._zoomIn),this._zoomOutButton=this._createButton(n.zoomOutText,n.zoomOutTitle,e+"-out",i,this._zoomOut),this._updateDisabled(),t.on("zoomend zoomlevelschange",this._updateDisabled,this),i},onRemove:function(t){t.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(t){!this._disabled&&this._map._zoomthis._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(t.shiftKey?3:1))},_createButton:function(t,e,i,n,o){var s=P("a",i,n);return s.innerHTML=t,s.href="#",s.title=e,s.setAttribute("role","button"),s.setAttribute("aria-label",e),At(s),m(s,"click",_t),m(s,"click",o,this),m(s,"click",this._refocusOnMap,this),s},_updateDisabled:function(){var t=this._map,e="leaflet-disabled";E(this._zoomInButton,e),E(this._zoomOutButton,e),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||t._zoom===t.getMinZoom())&&(g(this._zoomOutButton,e),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||t._zoom===t.getMaxZoom())&&(g(this._zoomInButton,e),this._zoomInButton.setAttribute("aria-disabled","true"))}});y.mergeOptions({zoomControl:!0}),y.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new De,this.addControl(this.zoomControl))});var Qn=function(t){return new De(t)},Ai=q.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(t){var e="leaflet-control-scale",i=P("div",e),n=this.options;return this._addScales(n,e+"-line",i),t.on(n.updateWhenIdle?"moveend":"move",this._update,this),t.whenReady(this._update,this),i},onRemove:function(t){t.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(t,e,i){t.metric&&(this._mScale=P("div",e,i)),t.imperial&&(this._iScale=P("div",e,i))},_update:function(){var t=this._map,e=t.getSize().y/2,i=t.distance(t.containerPointToLatLng([0,e]),t.containerPointToLatLng([this.options.maxWidth,e]));this._updateScales(i)},_updateScales:function(t){this.options.metric&&t&&this._updateMetric(t),this.options.imperial&&t&&this._updateImperial(t)},_updateMetric:function(t){var e=this._getRoundNum(t),i=e<1e3?e+" m":e/1e3+" km";this._updateScale(this._mScale,i,e/t)},_updateImperial:function(t){var e=t*3.2808399,i,n,o;e>5280?(i=e/5280,n=this._getRoundNum(i),this._updateScale(this._iScale,n+" mi",n/i)):(o=this._getRoundNum(e),this._updateScale(this._iScale,o+" ft",o/e))},_updateScale:function(t,e,i){t.style.width=Math.round(this.options.maxWidth*i)+"px",t.innerHTML=e},_getRoundNum:function(t){var e=Math.pow(10,(Math.floor(t)+"").length-1),i=t/e;return i=i>=10?10:i>=5?5:i>=3?3:i>=2?2:1,e*i}}),to=function(t){return new Ai(t)},eo='',He=q.extend({options:{position:"bottomright",prefix:''+(f.inlineSvg?eo+" ":"")+"Leaflet"},initialize:function(t){S(this,t),this._attributions={}},onAdd:function(t){t.attributionControl=this,this._container=P("div","leaflet-control-attribution"),At(this._container);for(var e in t._layers)t._layers[e].getAttribution&&this.addAttribution(t._layers[e].getAttribution());return this._update(),t.on("layeradd",this._addAttribution,this),this._container},onRemove:function(t){t.off("layeradd",this._addAttribution,this)},_addAttribution:function(t){t.layer.getAttribution&&(this.addAttribution(t.layer.getAttribution()),t.layer.once("remove",function(){this.removeAttribution(t.layer.getAttribution())},this))},setPrefix:function(t){return this.options.prefix=t,this._update(),this},addAttribution:function(t){return t?(this._attributions[t]||(this._attributions[t]=0),this._attributions[t]++,this._update(),this):this},removeAttribution:function(t){return t?(this._attributions[t]&&(this._attributions[t]--,this._update()),this):this},_update:function(){if(!!this._map){var t=[];for(var e in this._attributions)this._attributions[e]&&t.push(e);var i=[];this.options.prefix&&i.push(this.options.prefix),t.length&&i.push(t.join(", ")),this._container.innerHTML=i.join(' ')}}});y.mergeOptions({attributionControl:!0}),y.addInitHook(function(){this.options.attributionControl&&new He().addTo(this)});var io=function(t){return new He(t)};q.Layers=Ii,q.Zoom=De,q.Scale=Ai,q.Attribution=He,Bt.layers=$n,Bt.zoom=Qn,Bt.scale=to,Bt.attribution=io;var J=tt.extend({initialize:function(t){this._map=t},enable:function(){return this._enabled?this:(this._enabled=!0,this.addHooks(),this)},disable:function(){return this._enabled?(this._enabled=!1,this.removeHooks(),this):this},enabled:function(){return!!this._enabled}});J.addTo=function(t,e){return t.addHandler(e,this),this};var no={Events:H},Bi=f.touch?"touchstart mousedown":"mousedown",at=Ct.extend({options:{clickTolerance:3},initialize:function(t,e,i,n){S(this,n),this._element=t,this._dragStartTarget=e||t,this._preventOutline=i},enable:function(){this._enabled||(m(this._dragStartTarget,Bi,this._onDown,this),this._enabled=!0)},disable:function(){!this._enabled||(at._dragging===this&&this.finishDrag(!0),M(this._dragStartTarget,Bi,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(t){if(!!this._enabled&&(this._moved=!1,!Me(this._element,"leaflet-zoom-anim"))){if(t.touches&&t.touches.length!==1){at._dragging===this&&this.finishDrag();return}if(!(at._dragging||t.shiftKey||t.which!==1&&t.button!==1&&!t.touches)&&(at._dragging=this,this._preventOutline&&Ze(this._element),ze(),Zt(),!this._moving)){this.fire("down");var e=t.touches?t.touches[0]:t,i=Si(this._element);this._startPoint=new p(e.clientX,e.clientY),this._startPos=ft(this._element),this._parentScale=Oe(i);var n=t.type==="mousedown";m(document,n?"mousemove":"touchmove",this._onMove,this),m(document,n?"mouseup":"touchend touchcancel",this._onUp,this)}}},_onMove:function(t){if(!!this._enabled){if(t.touches&&t.touches.length>1){this._moved=!0;return}var e=t.touches&&t.touches.length===1?t.touches[0]:t,i=new p(e.clientX,e.clientY)._subtract(this._startPoint);!i.x&&!i.y||Math.abs(i.x)+Math.abs(i.y)s&&(r=a,s=h);s>i&&(e[r]=1,Fe(t,e,i,n,r),Fe(t,e,i,r,o))}function ro(t,e){for(var i=[t[0]],n=1,o=0,s=t.length;ne&&(i.push(t[n]),o=n);return oe.max.x&&(i|=2),t.ye.max.y&&(i|=8),i}function ao(t,e){var i=e.x-t.x,n=e.y-t.y;return i*i+n*n}function Nt(t,e,i,n){var o=e.x,s=e.y,r=i.x-o,a=i.y-s,h=r*r+a*a,u;return h>0&&(u=((t.x-o)*r+(t.y-s)*a)/h,u>1?(o=i.x,s=i.y):u>0&&(o+=r*u,s+=a*u)),r=t.x-o,a=t.y-s,n?r*r+a*a:new p(o,s)}function U(t){return!V(t[0])||typeof t[0][0]!="object"&&typeof t[0][0]<"u"}function Fi(t){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),U(t)}function Wi(t,e){var i,n,o,s,r,a,h,u;if(!t||t.length===0)throw new Error("latlngs not passed");U(t)||(console.warn("latlngs are not flat! Only the first ring will be used"),t=t[0]);var c=[];for(var d in t)c.push(e.project(b(t[d])));var v=c.length;for(i=0,n=0;in){h=(s-n)/o,u=[a.x-h*(a.x-r.x),a.y-h*(a.y-r.y)];break}return e.unproject(_(u))}var ho={__proto__:null,simplify:Ni,pointToSegmentDistance:Ri,closestPointOnSegment:oo,clipSegment:Hi,_getEdgeIntersection:$t,_getBitCode:mt,_sqClosestPointOnSegment:Nt,isFlat:U,_flat:Fi,polylineCenter:Wi};function Ui(t,e,i){var n,o=[1,4,2,8],s,r,a,h,u,c,d,v;for(s=0,c=t.length;s1e-7;a++)u=o*Math.sin(r),u=Math.pow((1-u)/(1+u),o/2),h=Math.PI/2-2*Math.atan(s*u)-r,r+=h;return new T(r*e,t.x*e/i)}},lo={__proto__:null,LonLat:We,Mercator:Ue,SphericalMercator:pe},co=w({},rt,{code:"EPSG:3395",projection:Ue,transformation:function(){var t=.5/(Math.PI*Ue.R);return St(t,.5,-t,.5)}()}),Vi=w({},rt,{code:"EPSG:4326",projection:We,transformation:St(1/180,1,-1/180,.5)}),fo=w({},et,{projection:We,transformation:St(1,0,-1,0),scale:function(t){return Math.pow(2,t)},zoom:function(t){return Math.log(t)/Math.LN2},distance:function(t,e){var i=e.lng-t.lng,n=e.lat-t.lat;return Math.sqrt(i*i+n*n)},infinite:!0});et.Earth=rt,et.EPSG3395=co,et.EPSG3857=ge,et.EPSG900913=gn,et.EPSG4326=Vi,et.Simple=fo;var j=Ct.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(t){return t.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(t){return t&&t.removeLayer(this),this},getPane:function(t){return this._map.getPane(t?this.options[t]||t:this.options.pane)},addInteractiveTarget:function(t){return this._map._targets[x(t)]=this,this},removeInteractiveTarget:function(t){return delete this._map._targets[x(t)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(t){var e=t.target;if(!!e.hasLayer(this)){if(this._map=e,this._zoomAnimated=e._zoomAnimated,this.getEvents){var i=this.getEvents();e.on(i,this),this.once("remove",function(){e.off(i,this)},this)}this.onAdd(e),this.fire("add"),e.fire("layeradd",{layer:this})}}});y.include({addLayer:function(t){if(!t._layerAdd)throw new Error("The provided object is not a Layer.");var e=x(t);return this._layers[e]?this:(this._layers[e]=t,t._mapToAdd=this,t.beforeAdd&&t.beforeAdd(this),this.whenReady(t._layerAdd,t),this)},removeLayer:function(t){var e=x(t);return this._layers[e]?(this._loaded&&t.onRemove(this),delete this._layers[e],this._loaded&&(this.fire("layerremove",{layer:t}),t.fire("remove")),t._map=t._mapToAdd=null,this):this},hasLayer:function(t){return x(t)in this._layers},eachLayer:function(t,e){for(var i in this._layers)t.call(e,this._layers[i]);return this},_addLayers:function(t){t=t?V(t)?t:[t]:[];for(var e=0,i=t.length;ethis._layersMaxZoom&&this.setZoom(this._layersMaxZoom),this.options.minZoom===void 0&&this._layersMinZoom&&this.getZoom()=2&&e[0]instanceof T&&e[0].equals(e[i-1])&&e.pop(),e},_setLatLngs:function(t){it.prototype._setLatLngs.call(this,t),U(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return U(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var t=this._renderer._bounds,e=this.options.weight,i=new p(e,e);if(t=new z(t.min.subtract(i),t.max.add(i)),this._parts=[],!(!this._pxBounds||!this._pxBounds.intersects(t))){if(this.options.noClip){this._parts=this._rings;return}for(var n=0,o=this._rings.length,s;nt.y!=o.y>t.y&&t.x<(o.x-n.x)*(t.y-n.y)/(o.y-n.y)+n.x&&(e=!e);return e||it.prototype._containsPoint.call(this,t,!0)}});function xo(t,e){return new Lt(t,e)}var nt=pt.extend({initialize:function(t,e){S(this,e),this._layers={},t&&this.addData(t)},addData:function(t){var e=V(t)?t:t.features,i,n,o;if(e){for(i=0,n=e.length;i0?n:[e.src];return}V(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&Object.prototype.hasOwnProperty.call(e.style,"objectFit")&&(e.style.objectFit="fill"),e.autoplay=!!this.options.autoplay,e.loop=!!this.options.loop,e.muted=!!this.options.muted,e.playsInline=!!this.options.playsInline;for(var s=0;so?(e.height=o+"px",g(t,s)):E(t,s),this._containerWidth=this._container.offsetWidth},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center),i=this._getAnchor();O(this._container,e.add(i))},_adjustPan:function(t){if(!!this.options.autoPan){this._map._panAnim&&this._map._panAnim.stop();var e=this._map,i=parseInt(Et(this._container,"marginBottom"),10)||0,n=this._container.offsetHeight+i,o=this._containerWidth,s=new p(this._containerLeft,-n-this._containerBottom);s._add(ft(this._container));var r=e.layerPointToContainerPoint(s),a=_(this.options.autoPanPadding),h=_(this.options.autoPanPaddingTopLeft||a),u=_(this.options.autoPanPaddingBottomRight||a),c=e.getSize(),d=0,v=0;r.x+o+u.x>c.x&&(d=r.x+o-c.x+u.x),r.x-d-h.x<0&&(d=r.x-h.x),r.y+n+u.y>c.y&&(v=r.y+n-c.y+u.y),r.y-v-h.y<0&&(v=r.y-h.y),(d||v)&&e.fire("autopanstart").panBy([d,v],{animate:t&&t.type==="moveend"})}},_getAnchor:function(){return _(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),Mo=function(t,e){return new re(t,e)};y.mergeOptions({closePopupOnClick:!0}),y.include({openPopup:function(t,e,i){return this._initOverlay(re,t,e,i).openOn(this),this},closePopup:function(t){return t=arguments.length?t:this._popup,t&&t.close(),this}}),j.include({bindPopup:function(t,e){return this._popup=this._initOverlay(re,this._popup,t,e),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(t){return this._popup&&this._popup._prepareOpen(t||this._latlng)&&this._popup.openOn(this._map),this},closePopup:function(){return this._popup&&this._popup.close(),this},togglePopup:function(){return this._popup&&this._popup.toggle(this),this},isPopupOpen:function(){return this._popup?this._popup.isOpen():!1},setPopupContent:function(t){return this._popup&&this._popup.setContent(t),this},getPopup:function(){return this._popup},_openPopup:function(t){if(!(!this._popup||!this._map)){_t(t);var e=t.layer||t.target;if(this._popup._source===e&&!(e instanceof ht)){this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(t.latlng);return}this._popup._source=e,this.openPopup(t.latlng)}},_movePopup:function(t){this._popup.setLatLng(t.latlng)},_onKeyPress:function(t){t.originalEvent.keyCode===13&&this._openPopup(t)}});var ae=$.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(t){$.prototype.onAdd.call(this,t),this.setOpacity(this.options.opacity),t.fire("tooltipopen",{tooltip:this}),this._source&&(this.addEventParent(this._source),this._source.fire("tooltipopen",{tooltip:this},!0))},onRemove:function(t){$.prototype.onRemove.call(this,t),t.fire("tooltipclose",{tooltip:this}),this._source&&(this.removeEventParent(this._source),this._source.fire("tooltipclose",{tooltip:this},!0))},getEvents:function(){var t=$.prototype.getEvents.call(this);return this.options.permanent||(t.preclick=this.close),t},_initLayout:function(){var t="leaflet-tooltip",e=t+" "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=P("div",e),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+x(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(t){var e,i,n=this._map,o=this._container,s=n.latLngToContainerPoint(n.getCenter()),r=n.layerPointToContainerPoint(t),a=this.options.direction,h=o.offsetWidth,u=o.offsetHeight,c=_(this.options.offset),d=this._getAnchor();a==="top"?(e=h/2,i=u):a==="bottom"?(e=h/2,i=0):a==="center"?(e=h/2,i=u/2):a==="right"?(e=0,i=u/2):a==="left"?(e=h,i=u/2):r.xthis.options.maxZoom||in?this._retainParent(o,s,r,n):!1)},_retainChildren:function(t,e,i,n){for(var o=2*t;o<2*t+2;o++)for(var s=2*e;s<2*e+2;s++){var r=new p(o,s);r.z=i+1;var a=this._tileCoordsToKey(r),h=this._tiles[a];if(h&&h.active){h.retain=!0;continue}else h&&h.loaded&&(h.retain=!0);i+1this.options.maxZoom||this.options.minZoom!==void 0&&o1){this._setView(t,i);return}for(var d=o.min.y;d<=o.max.y;d++)for(var v=o.min.x;v<=o.max.x;v++){var G=new p(v,d);if(G.z=this._tileZoom,!!this._isValidTile(G)){var vt=this._tiles[this._tileCoordsToKey(G)];vt?vt.current=!0:r.push(G)}}if(r.sort(function(ut,Ke){return ut.distanceTo(s)-Ke.distanceTo(s)}),r.length!==0){this._loading||(this._loading=!0,this.fire("loading"));var ue=document.createDocumentFragment();for(v=0;vi.max.x)||!e.wrapLat&&(t.yi.max.y))return!1}if(!this.options.bounds)return!0;var n=this._tileCoordsToBounds(t);return A(this.options.bounds).overlaps(n)},_keyToBounds:function(t){return this._tileCoordsToBounds(this._keyToTileCoords(t))},_tileCoordsToNwSe:function(t){var e=this._map,i=this.getTileSize(),n=t.scaleBy(i),o=n.add(i),s=e.unproject(n,t.z),r=e.unproject(o,t.z);return[s,r]},_tileCoordsToBounds:function(t){var e=this._tileCoordsToNwSe(t),i=new D(e[0],e[1]);return this.options.noWrap||(i=this._map.wrapLatLngBounds(i)),i},_tileCoordsToKey:function(t){return t.x+":"+t.y+":"+t.z},_keyToTileCoords:function(t){var e=t.split(":"),i=new p(+e[0],+e[1]);return i.z=+e[2],i},_removeTile:function(t){var e=this._tiles[t];!e||(k(e.el),delete this._tiles[t],this.fire("tileunload",{tile:e.el,coords:this._keyToTileCoords(t)}))},_initTile:function(t){g(t,"leaflet-tile");var e=this.getTileSize();t.style.width=e.x+"px",t.style.height=e.y+"px",t.onselectstart=Z,t.onmousemove=Z,f.ielt9&&this.options.opacity<1&&W(t,this.options.opacity)},_addTile:function(t,e){var i=this._getTilePos(t),n=this._tileCoordsToKey(t),o=this.createTile(this._wrapCoords(t),C(this._tileReady,this,t));this._initTile(o),this.createTile.length<2&&N(C(this._tileReady,this,t,null,o)),O(o,i),this._tiles[n]={el:o,coords:t,current:!0},e.appendChild(o),this.fire("tileloadstart",{tile:o,coords:t})},_tileReady:function(t,e,i){e&&this.fire("tileerror",{error:e,tile:i,coords:t});var n=this._tileCoordsToKey(t);i=this._tiles[n],i&&(i.loaded=+new Date,this._map._fadeAnimated?(W(i.el,0),F(this._fadeFrame),this._fadeFrame=N(this._updateOpacity,this)):(i.active=!0,this._pruneTiles()),e||(g(i.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:i.el,coords:t})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),f.ielt9||!this._map._fadeAnimated?N(this._pruneTiles,this):setTimeout(C(this._pruneTiles,this),250)))},_getTilePos:function(t){return t.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(t){var e=new p(this._wrapX?Mt(t.x,this._wrapX):t.x,this._wrapY?Mt(t.y,this._wrapY):t.y);return e.z=t.z,e},_pxBoundsToTileRange:function(t){var e=this.getTileSize();return new z(t.min.unscaleBy(e).floor(),t.max.unscaleBy(e).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var t in this._tiles)if(!this._tiles[t].loaded)return!1;return!0}});function zo(t){return new Dt(t)}var bt=Dt.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(t,e){this._url=t,e=S(this,e),e.detectRetina&&f.retina&&e.maxZoom>0?(e.tileSize=Math.floor(e.tileSize/2),e.zoomReverse?(e.zoomOffset--,e.minZoom=Math.min(e.maxZoom,e.minZoom+1)):(e.zoomOffset++,e.maxZoom=Math.max(e.minZoom,e.maxZoom-1)),e.minZoom=Math.max(0,e.minZoom)):e.zoomReverse?e.minZoom=Math.min(e.maxZoom,e.minZoom):e.maxZoom=Math.max(e.minZoom,e.maxZoom),typeof e.subdomains=="string"&&(e.subdomains=e.subdomains.split("")),this.on("tileunload",this._onTileRemove)},setUrl:function(t,e){return this._url===t&&e===void 0&&(e=!0),this._url=t,e||this.redraw(),this},createTile:function(t,e){var i=document.createElement("img");return m(i,"load",C(this._tileOnLoad,this,e,i)),m(i,"error",C(this._tileOnError,this,e,i)),(this.options.crossOrigin||this.options.crossOrigin==="")&&(i.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),typeof this.options.referrerPolicy=="string"&&(i.referrerPolicy=this.options.referrerPolicy),i.alt="",i.src=this.getTileUrl(t),i},getTileUrl:function(t){var e={r:f.retina?"@2x":"",s:this._getSubdomain(t),x:t.x,y:t.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var i=this._globalTileRange.max.y-t.y;this.options.tms&&(e.y=i),e["-y"]=i}return Qe(this._url,w(e,this.options))},_tileOnLoad:function(t,e){f.ielt9?setTimeout(C(t,this,null,e),0):t(null,e)},_tileOnError:function(t,e,i){var n=this.options.errorTileUrl;n&&e.getAttribute("src")!==n&&(e.src=n),t(i,e)},_onTileRemove:function(t){t.tile.onload=null},_getZoomForUrl:function(){var t=this._tileZoom,e=this.options.maxZoom,i=this.options.zoomReverse,n=this.options.zoomOffset;return i&&(t=e-t),t+n},_getSubdomain:function(t){var e=Math.abs(t.x+t.y)%this.options.subdomains.length;return this.options.subdomains[e]},_abortLoading:function(){var t,e;for(t in this._tiles)if(this._tiles[t].coords.z!==this._tileZoom&&(e=this._tiles[t].el,e.onload=Z,e.onerror=Z,!e.complete)){e.src=Gt;var i=this._tiles[t].coords;k(e),delete this._tiles[t],this.fire("tileabort",{tile:e,coords:i})}},_removeTile:function(t){var e=this._tiles[t];if(!!e)return e.el.setAttribute("src",Gt),Dt.prototype._removeTile.call(this,t)},_tileReady:function(t,e,i){if(!(!this._map||i&&i.getAttribute("src")===Gt))return Dt.prototype._tileReady.call(this,t,e,i)}});function $i(t,e){return new bt(t,e)}var Qi=bt.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(t,e){this._url=t;var i=w({},this.defaultWmsParams);for(var n in e)n in this.options||(i[n]=e[n]);e=S(this,e);var o=e.detectRetina&&f.retina?2:1,s=this.getTileSize();i.width=s.x*o,i.height=s.y*o,this.wmsParams=i},onAdd:function(t){this._crs=this.options.crs||t.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var e=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[e]=this._crs.code,bt.prototype.onAdd.call(this,t)},getTileUrl:function(t){var e=this._tileCoordsToNwSe(t),i=this._crs,n=R(i.project(e[0]),i.project(e[1])),o=n.min,s=n.max,r=(this._wmsVersion>=1.3&&this._crs===Vi?[o.y,o.x,s.y,s.x]:[o.x,o.y,s.x,s.y]).join(","),a=bt.prototype.getTileUrl.call(this,t);return a+$e(this.wmsParams,a,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+r},setParams:function(t,e){return w(this.wmsParams,t),e||this.redraw(),this}});function ko(t,e){return new Qi(t,e)}bt.WMS=Qi,$i.wms=ko;var ot=j.extend({options:{padding:.1},initialize:function(t){S(this,t),x(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),this._zoomAnimated&&g(this._container,"leaflet-zoom-animated")),this.getPane().appendChild(this._container),this._update(),this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this),this._destroyContainer()},getEvents:function(){var t={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(t.zoomanim=this._onAnimZoom),t},_onAnimZoom:function(t){this._updateTransform(t.center,t.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(t,e){var i=this._map.getZoomScale(e,this._zoom),n=this._map.getSize().multiplyBy(.5+this.options.padding),o=this._map.project(this._center,e),s=n.multiplyBy(-i).add(o).subtract(this._map._getNewPixelOrigin(t,e));f.any3d?ct(this._container,s,i):O(this._container,s)},_reset:function(){this._update(),this._updateTransform(this._center,this._zoom);for(var t in this._layers)this._layers[t]._reset()},_onZoomEnd:function(){for(var t in this._layers)this._layers[t]._project()},_updatePaths:function(){for(var t in this._layers)this._layers[t]._update()},_update:function(){var t=this.options.padding,e=this._map.getSize(),i=this._map.containerPointToLayerPoint(e.multiplyBy(-t)).round();this._bounds=new z(i,i.add(e.multiplyBy(1+t*2)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),tn=ot.extend({options:{tolerance:0},getEvents:function(){var t=ot.prototype.getEvents.call(this);return t.viewprereset=this._onViewPreReset,t},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){ot.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var t=this._container=document.createElement("canvas");m(t,"mousemove",this._onMouseMove,this),m(t,"click dblclick mousedown mouseup contextmenu",this._onClick,this),m(t,"mouseout",this._handleMouseOut,this),t._leaflet_disable_events=!0,this._ctx=t.getContext("2d")},_destroyContainer:function(){F(this._redrawRequest),delete this._ctx,k(this._container),M(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){var t;this._redrawBounds=null;for(var e in this._layers)t=this._layers[e],t._update();this._redraw()}},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){ot.prototype._update.call(this);var t=this._bounds,e=this._container,i=t.getSize(),n=f.retina?2:1;O(e,t.min),e.width=n*i.x,e.height=n*i.y,e.style.width=i.x+"px",e.style.height=i.y+"px",f.retina&&this._ctx.scale(2,2),this._ctx.translate(-t.min.x,-t.min.y),this.fire("update")}},_reset:function(){ot.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(t){this._updateDashArray(t),this._layers[x(t)]=t;var e=t._order={layer:t,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=e),this._drawLast=e,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(t){this._requestRedraw(t)},_removePath:function(t){var e=t._order,i=e.next,n=e.prev;i?i.prev=n:this._drawLast=n,n?n.next=i:this._drawFirst=i,delete t._order,delete this._layers[x(t)],this._requestRedraw(t)},_updatePath:function(t){this._extendRedrawBounds(t),t._project(),t._update(),this._requestRedraw(t)},_updateStyle:function(t){this._updateDashArray(t),this._requestRedraw(t)},_updateDashArray:function(t){if(typeof t.options.dashArray=="string"){var e=t.options.dashArray.split(/[, ]+/),i=[],n,o;for(o=0;o')}}catch{}return function(t){return document.createElement("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}(),Eo={_initContainer:function(){this._container=P("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(ot.prototype._update.call(this),this.fire("update"))},_initPath:function(t){var e=t._container=Ht("shape");g(e,"leaflet-vml-shape "+(this.options.className||"")),e.coordsize="1 1",t._path=Ht("path"),e.appendChild(t._path),this._updateStyle(t),this._layers[x(t)]=t},_addPath:function(t){var e=t._container;this._container.appendChild(e),t.options.interactive&&t.addInteractiveTarget(e)},_removePath:function(t){var e=t._container;k(e),t.removeInteractiveTarget(e),delete this._layers[x(t)]},_updateStyle:function(t){var e=t._stroke,i=t._fill,n=t.options,o=t._container;o.stroked=!!n.stroke,o.filled=!!n.fill,n.stroke?(e||(e=t._stroke=Ht("stroke")),o.appendChild(e),e.weight=n.weight+"px",e.color=n.color,e.opacity=n.opacity,n.dashArray?e.dashStyle=V(n.dashArray)?n.dashArray.join(" "):n.dashArray.replace(/( *, *)/g," "):e.dashStyle="",e.endcap=n.lineCap.replace("butt","flat"),e.joinstyle=n.lineJoin):e&&(o.removeChild(e),t._stroke=null),n.fill?(i||(i=t._fill=Ht("fill")),o.appendChild(i),i.color=n.fillColor||n.color,i.opacity=n.fillOpacity):i&&(o.removeChild(i),t._fill=null)},_updateCircle:function(t){var e=t._point.round(),i=Math.round(t._radius),n=Math.round(t._radiusY||i);this._setPath(t,t._empty()?"M0 0":"AL "+e.x+","+e.y+" "+i+","+n+" 0,"+65535*360)},_setPath:function(t,e){t._path.v=e},_bringToFront:function(t){yt(t._container)},_bringToBack:function(t){wt(t._container)}},he=f.vml?Ht:si,Ft=ot.extend({_initContainer:function(){this._container=he("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=he("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){k(this._container),M(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){ot.prototype._update.call(this);var t=this._bounds,e=t.getSize(),i=this._container;(!this._svgSize||!this._svgSize.equals(e))&&(this._svgSize=e,i.setAttribute("width",e.x),i.setAttribute("height",e.y)),O(i,t.min),i.setAttribute("viewBox",[t.min.x,t.min.y,e.x,e.y].join(" ")),this.fire("update")}},_initPath:function(t){var e=t._path=he("path");t.options.className&&g(e,t.options.className),t.options.interactive&&g(e,"leaflet-interactive"),this._updateStyle(t),this._layers[x(t)]=t},_addPath:function(t){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(t._path),t.addInteractiveTarget(t._path)},_removePath:function(t){k(t._path),t.removeInteractiveTarget(t._path),delete this._layers[x(t)]},_updatePath:function(t){t._project(),t._update()},_updateStyle:function(t){var e=t._path,i=t.options;!e||(i.stroke?(e.setAttribute("stroke",i.color),e.setAttribute("stroke-opacity",i.opacity),e.setAttribute("stroke-width",i.weight),e.setAttribute("stroke-linecap",i.lineCap),e.setAttribute("stroke-linejoin",i.lineJoin),i.dashArray?e.setAttribute("stroke-dasharray",i.dashArray):e.removeAttribute("stroke-dasharray"),i.dashOffset?e.setAttribute("stroke-dashoffset",i.dashOffset):e.removeAttribute("stroke-dashoffset")):e.setAttribute("stroke","none"),i.fill?(e.setAttribute("fill",i.fillColor||i.color),e.setAttribute("fill-opacity",i.fillOpacity),e.setAttribute("fill-rule",i.fillRule||"evenodd")):e.setAttribute("fill","none"))},_updatePoly:function(t,e){this._setPath(t,ri(t._parts,e))},_updateCircle:function(t){var e=t._point,i=Math.max(Math.round(t._radius),1),n=Math.max(Math.round(t._radiusY),1)||i,o="a"+i+","+n+" 0 1,0 ",s=t._empty()?"M0 0":"M"+(e.x-i)+","+e.y+o+i*2+",0 "+o+-i*2+",0 ";this._setPath(t,s)},_setPath:function(t,e){t._path.setAttribute("d",e)},_bringToFront:function(t){yt(t._path)},_bringToBack:function(t){wt(t._path)}});f.vml&&Ft.include(Eo);function nn(t){return f.svg||f.vml?new Ft(t):null}y.include({getRenderer:function(t){var e=t.options.renderer||this._getPaneRenderer(t.options.pane)||this.options.renderer||this._renderer;return e||(e=this._renderer=this._createRenderer()),this.hasLayer(e)||this.addLayer(e),e},_getPaneRenderer:function(t){if(t==="overlayPane"||t===void 0)return!1;var e=this._paneRenderers[t];return e===void 0&&(e=this._createRenderer({pane:t}),this._paneRenderers[t]=e),e},_createRenderer:function(t){return this.options.preferCanvas&&en(t)||nn(t)}});var on=Lt.extend({initialize:function(t,e){Lt.prototype.initialize.call(this,this._boundsToLatLngs(t),e)},setBounds:function(t){return this.setLatLngs(this._boundsToLatLngs(t))},_boundsToLatLngs:function(t){return t=A(t),[t.getSouthWest(),t.getNorthWest(),t.getNorthEast(),t.getSouthEast()]}});function Zo(t,e){return new on(t,e)}Ft.create=he,Ft.pointsToPath=ri,nt.geometryToLayer=ee,nt.coordsToLatLng=Ve,nt.coordsToLatLngs=ie,nt.latLngToCoords=qe,nt.latLngsToCoords=ne,nt.getFeature=Tt,nt.asFeature=oe,y.mergeOptions({boxZoom:!0});var sn=J.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane,this._resetStateTimeout=0,t.on("unload",this._destroy,this)},addHooks:function(){m(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){M(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){k(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){this._resetStateTimeout!==0&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(t){if(!t.shiftKey||t.which!==1&&t.button!==1)return!1;this._clearDeferredResetState(),this._resetState(),Zt(),ze(),this._startPoint=this._map.mouseEventToContainerPoint(t),m(document,{contextmenu:_t,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(t){this._moved||(this._moved=!0,this._box=P("div","leaflet-zoom-box",this._container),g(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(t);var e=new z(this._point,this._startPoint),i=e.getSize();O(this._box,e.min),this._box.style.width=i.x+"px",this._box.style.height=i.y+"px"},_finish:function(){this._moved&&(k(this._box),E(this._container,"leaflet-crosshair")),Ot(),ke(),M(document,{contextmenu:_t,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(t){if(!(t.which!==1&&t.button!==1)&&(this._finish(),!!this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(C(this._resetState,this),0);var e=new D(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(e).fire("boxzoomend",{boxZoomBounds:e})}},_onKeyDown:function(t){t.keyCode===27&&(this._finish(),this._clearDeferredResetState(),this._resetState())}});y.addInitHook("addHandler","boxZoom",sn),y.mergeOptions({doubleClickZoom:!0});var rn=J.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(t){var e=this._map,i=e.getZoom(),n=e.options.zoomDelta,o=t.originalEvent.shiftKey?i-n:i+n;e.options.doubleClickZoom==="center"?e.setZoom(o):e.setZoomAround(t.containerPoint,o)}});y.addInitHook("addHandler","doubleClickZoom",rn),y.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var an=J.extend({addHooks:function(){if(!this._draggable){var t=this._map;this._draggable=new at(t._mapPane,t._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),t.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),t.on("zoomend",this._onZoomEnd,this),t.whenReady(this._onZoomEnd,this))}g(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){E(this._map._container,"leaflet-grab"),E(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var t=this._map;if(t._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var e=A(this._map.options.maxBounds);this._offsetLimit=R(this._map.latLngToContainerPoint(e.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(e.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;t.fire("movestart").fire("dragstart"),t.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(t){if(this._map.options.inertia){var e=this._lastTime=+new Date,i=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(i),this._times.push(e),this._prunePositions(e)}this._map.fire("move",t).fire("drag",t)},_prunePositions:function(t){for(;this._positions.length>1&&t-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var t=this._map.getSize().divideBy(2),e=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=e.subtract(t).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(t,e){return t-(t-e)*this._viscosity},_onPreDragLimit:function(){if(!(!this._viscosity||!this._offsetLimit)){var t=this._draggable._newPos.subtract(this._draggable._startPos),e=this._offsetLimit;t.xe.max.x&&(t.x=this._viscousLimit(t.x,e.max.x)),t.y>e.max.y&&(t.y=this._viscousLimit(t.y,e.max.y)),this._draggable._newPos=this._draggable._startPos.add(t)}},_onPreDragWrap:function(){var t=this._worldWidth,e=Math.round(t/2),i=this._initialWorldOffset,n=this._draggable._newPos.x,o=(n-e+i)%t+e-i,s=(n+e+i)%t-e-i,r=Math.abs(o+i)0?s:-s))-e;this._delta=0,this._startTime=null,r&&(t.options.scrollWheelZoom==="center"?t.setZoom(e+r):t.setZoomAround(this._lastMousePos,e+r))}});y.addInitHook("addHandler","scrollWheelZoom",un);var Oo=600;y.mergeOptions({tapHold:f.touchNative&&f.safari&&f.mobile,tapTolerance:15});var ln=J.extend({addHooks:function(){m(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){M(this._map._container,"touchstart",this._onDown,this)},_onDown:function(t){if(clearTimeout(this._holdTimeout),t.touches.length===1){var e=t.touches[0];this._startPos=this._newPos=new p(e.clientX,e.clientY),this._holdTimeout=setTimeout(C(function(){this._cancel(),this._isTapValid()&&(m(document,"touchend",B),m(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",e))},this),Oo),m(document,"touchend touchcancel contextmenu",this._cancel,this),m(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function t(){M(document,"touchend",B),M(document,"touchend touchcancel",t)},_cancel:function(){clearTimeout(this._holdTimeout),M(document,"touchend touchcancel contextmenu",this._cancel,this),M(document,"touchmove",this._onMove,this)},_onMove:function(t){var e=t.touches[0];this._newPos=new p(e.clientX,e.clientY)},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_simulateEvent:function(t,e){var i=new MouseEvent(t,{bubbles:!0,cancelable:!0,view:window,screenX:e.screenX,screenY:e.screenY,clientX:e.clientX,clientY:e.clientY});i._simulated=!0,e.target.dispatchEvent(i)}});y.addInitHook("addHandler","tapHold",ln),y.mergeOptions({touchZoom:f.touch,bounceAtZoomLimits:!0});var cn=J.extend({addHooks:function(){g(this._map._container,"leaflet-touch-zoom"),m(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){E(this._map._container,"leaflet-touch-zoom"),M(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(t){var e=this._map;if(!(!t.touches||t.touches.length!==2||e._animatingZoom||this._zooming)){var i=e.mouseEventToContainerPoint(t.touches[0]),n=e.mouseEventToContainerPoint(t.touches[1]);this._centerPoint=e.getSize()._divideBy(2),this._startLatLng=e.containerPointToLatLng(this._centerPoint),e.options.touchZoom!=="center"&&(this._pinchStartLatLng=e.containerPointToLatLng(i.add(n)._divideBy(2))),this._startDist=i.distanceTo(n),this._startZoom=e.getZoom(),this._moved=!1,this._zooming=!0,e._stop(),m(document,"touchmove",this._onTouchMove,this),m(document,"touchend touchcancel",this._onTouchEnd,this),B(t)}},_onTouchMove:function(t){if(!(!t.touches||t.touches.length!==2||!this._zooming)){var e=this._map,i=e.mouseEventToContainerPoint(t.touches[0]),n=e.mouseEventToContainerPoint(t.touches[1]),o=i.distanceTo(n)/this._startDist;if(this._zoom=e.getScaleZoom(o,this._startZoom),!e.options.bounceAtZoomLimits&&(this._zoome.getMaxZoom()&&o>1)&&(this._zoom=e._limitZoom(this._zoom)),e.options.touchZoom==="center"){if(this._center=this._startLatLng,o===1)return}else{var s=i._add(n)._divideBy(2)._subtract(this._centerPoint);if(o===1&&s.x===0&&s.y===0)return;this._center=e.unproject(e.project(this._pinchStartLatLng,this._zoom).subtract(s),this._zoom)}this._moved||(e._moveStart(!0,!1),this._moved=!0),F(this._animRequest);var r=C(e._move,e,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=N(r,this,!0),B(t)}},_onTouchEnd:function(){if(!this._moved||!this._zooming){this._zooming=!1;return}this._zooming=!1,F(this._animRequest),M(document,"touchmove",this._onTouchMove,this),M(document,"touchend touchcancel",this._onTouchEnd,this),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))}});y.addInitHook("addHandler","touchZoom",cn),y.BoxZoom=sn,y.DoubleClickZoom=rn,y.Drag=an,y.Keyboard=hn,y.ScrollWheelZoom=un,y.TapHold=ln,y.TouchZoom=cn,l.Bounds=z,l.Browser=f,l.CRS=et,l.Canvas=tn,l.Circle=Ge,l.CircleMarker=te,l.Class=tt,l.Control=q,l.DivIcon=Ji,l.DivOverlay=$,l.DomEvent=Xn,l.DomUtil=Kn,l.Draggable=at,l.Evented=Ct,l.FeatureGroup=pt,l.GeoJSON=nt,l.GridLayer=Dt,l.Handler=J,l.Icon=Pt,l.ImageOverlay=se,l.LatLng=T,l.LatLngBounds=D,l.Layer=j,l.LayerGroup=xt,l.LineUtil=ho,l.Map=y,l.Marker=Qt,l.Mixin=no,l.Path=ht,l.Point=p,l.PolyUtil=uo,l.Polygon=Lt,l.Polyline=it,l.Popup=re,l.PosAnimation=Oi,l.Projection=lo,l.Rectangle=on,l.Renderer=ot,l.SVG=Ft,l.SVGOverlay=Xi,l.TileLayer=bt,l.Tooltip=ae,l.Transformation=ve,l.Util=pn,l.VideoOverlay=Yi,l.bind=C,l.bounds=R,l.canvas=en,l.circle=yo,l.circleMarker=go,l.control=Bt,l.divIcon=So,l.extend=w,l.featureGroup=mo,l.geoJSON=Ki,l.geoJson=Po,l.gridLayer=zo,l.icon=po,l.imageOverlay=Lo,l.latLng=b,l.latLngBounds=A,l.layerGroup=_o,l.map=Jn,l.marker=vo,l.point=_,l.polygon=xo,l.polyline=wo,l.popup=Mo,l.rectangle=Zo,l.setOptions=S,l.stamp=x,l.svg=nn,l.svgOverlay=bo,l.tileLayer=$i,l.tooltip=Co,l.transformation=St,l.version=Q,l.videoOverlay=To;var Io=window.L;l.noConflict=function(){return window.L=Io,this},window.L=l})})(ce,ce.exports);const Vo=ce.exports,jo=Go({__proto__:null,default:Vo},[ce.exports]);export{jo as l}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/logo.be249712.png b/resources/[tools]/unlimited-spectre/html/assets/logo.be249712.png deleted file mode 100644 index 82cadc3e5..000000000 Binary files a/resources/[tools]/unlimited-spectre/html/assets/logo.be249712.png and /dev/null differ diff --git a/resources/[tools]/unlimited-spectre/html/assets/marker-icon-2x.e233d1a6.js b/resources/[tools]/unlimited-spectre/html/assets/marker-icon-2x.e233d1a6.js deleted file mode 100644 index 56ccbd700..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/marker-icon-2x.e233d1a6.js +++ /dev/null @@ -1 +0,0 @@ -const c="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAABSCAMAAAAhFXfZAAAC91BMVEVMaXEzeak2f7I4g7g3g7cua5gzeKg8hJo3grY4g7c3grU0gLI2frE0daAubJc2gbQwd6QzeKk2gLMtd5sxdKIua5g1frA2f7IydaM0e6w2fq41fK01eqo3grgubJgta5cxdKI1f7AydaQydaMxc6EubJgvbJkwcZ4ubZkwcJwubZgubJcydqUydKIxapgubJctbJcubZcubJcvbJYubJcvbZkubJctbJctbZcubJg2f7AubJcrbZcubJcubJcua5g3grY0fq8ubJcubJdEkdEwhsw6i88vhswuhcsuhMtBjMgthMsrg8srgss6is8qgcs8i9A9iMYtg8spgcoogMo7hcMngMonf8olfso4gr8kfck5iM8jfMk4iM8he8k1fro7itAgesk2hs8eecgzfLcofssdeMg0hc4cd8g2hcsxeLQbdsgZdcgxeLImfcszhM0vda4xgckzhM4xg84wf8Yxgs4udKsvfcQucqhUndROmdM1fK0wcZ8vb5w0eqpQm9MzeKhXoNVcpdYydKNWn9VZotVKltJFjsIwcJ1Rms9OlslLmtH///8+kc9epdYzd6dbo9VHkMM2f7FHmNBClM8ydqVcpNY9hro3gLM9hLczealQmcw3fa46f7A8gLMxc6I3eagyc6FIldJMl9JSnNRSntNNl9JPnNJFi75UnM9ZodVKksg8kM45jc09e6ZHltFBk883gbRBh7pDk9EwcaBzn784g7dKkcY2i81Om9M7j85Llc81is09g7Q4grY/j9A0eqxKmdFFltBEjcXf6fFImdBCiLxJl9FGlNFBi78yiMxVndEvbpo6js74+vx+psPP3+o/ks5HkcpGmNCjwdZCkNDM3ehYoNJEls+lxNkxh8xHks0+jdC1zd5Lg6r+/v/H2ufz9/o3jM3t8/edvdM/k89Th61OiLBSjbZklbaTt9BfptdjmL1AicBHj8hGk9FAgK1dkLNTjLRekrdClc/k7fM0icy0y9tgp9c4jc2NtM9Dlc8zicxeXZn3AAAAQ3RSTlMAHDdTb4yPA+LtnEQmC4L2EmHqB7XA0d0sr478x4/Yd5i1zOfyPkf1sLVq4Nh3FvjxopQ2/STNuFzUwFIwxKaejILpIBEV9wAABhVJREFUeF6s1NdyFEcYBeBeoQIhRAkLlRDGrhIgY3BJL8CVeKzuyXFzzjkn5ZxzzuScg3PO8cKzu70JkO0LfxdTU//pM9vTu7Xgf6KqOVTb9X7toRrVEfBf1HTVjZccrT/2by1VV928Yty9ZbVuucdz90frG8DBjl9pVApbOstvmMuvVgaNXSfAAd6pGxpy6yxf5ph43pS/4f3uoaGm2rdu72S9xzOvMymkZFq/ptDrk90mhW7e4zl7HLzhxGWPR20xmSxJ/VqldG5m9XhaVOA1DadsNh3Pu5L2N6QtPO/32JpqQBVVk20oy/Pi2s23WEvyfHbe1thadVQttvm7Llf65gGmXK67XtupyoM7HQhmXdLS8oGWJNeOJ3C5fG5XCEJnkez3/oFdsvgJ4l2ANZwhrJKk/7OSXa+3Vw2WJMlKnGkobouYk6T0TyX30klOUnTD9HJ5qpckL3EW/w4XF3Xd0FGywXUrstrclVsqz5Pd/sXFYyDnPdrLcQODmGOK47IZb4CmibmMn+MYRzFZ5jg33ZL/EJrWcszHmANy3ARBK/IXtciJy8VsitPSdE3uuHxzougojcUdr8/32atnz/ev3f/K5wtpxUTpcaI45zusVDpYtZi+jg0oU9b3x74h7+n9ABvYEZeKaVq0sh0AtLKsFtqNBdeT0MrSzwwlq9+x6xAO4tgOtSzbCjrNQQiNvQUbUEubvzBUeGw26yDCsRHCoLkTHDa7IdOLIThs/gHvChszh2CimE8peRs47cxANI0lYNB5y1DljpOF0IhzBDPOZnDOqYYbeGKECbPzWnXludPphw5c2YBq5zlwXphIbO4VDCZ0gnPfUO1TwZoYwAs2ExPCedAu9DAjfQUjzITQb3jNj0KG2Sgt6BHaQUdYzWz+XmBktOHwanXjaSTcwwziBcuMOtwBmqPrTOxFQR/DRKKPqyur0aiW6cULYsx6tBm0jXpR/AUWR6HRq9WVW6MRhIq5jLyjbaCTDCijyYJNpCajdyobP/eTw0iexBAKkJ3gA5KcQb2zBXsIBckn+xVv8jkZSaEFHE+jFEleAEfayRU0MouNoBmB/L50Ai/HSLIHxcrpCvnhSQAuakKp2C/YbCylJjXRVy/z3+Kv/RrNcCo+WUzlVEhzKffnTQnxeN9fWF88fiNCUdSTsaufaChKWInHeysygfpIqagoakW+vV20J8uyl6TyNKEZWV4oRSPyCkWpgOLSbkCObT8o2r6tlG58HQquf6O0v50tB7JM7F4EORd2dx/K0w/KHsVkLPaoYrwgP/y7krr3SSMA4zj+OBgmjYkxcdIJQyQRKgg2viX9Hddi9UBb29LrKR7CVVEEEXWojUkXNyfTNDE14W9gbHJNuhjDettN3ZvbOvdOqCD3Jp/9l+/wJE+9PkYGjx/fqkys3S2rMozM/o2106rfMUINo6hVqz+eu/hd1c4xTg0TAfy5kV+4UG6+IthHTU9woWmxuKNbTfuCSfovBCxq7EtHqvYL4Sm6F8GVxsSXHMQ07TOi1DKtZxjWaaIyi4CXWjxPccUw8WVbMYY5wxC1mzEyXMJWkllpRloi+Kkoq69sxBTlElF6aAxYUbjXNlhlDZilDnM4U5SlN5biRsRHnbx3mbeWjEh4mEyiuJDl5XcWVmX5GvNkFgLWZM5qwsop4/AWfLhU1cR7k1VVvcYCWRkOI6Xy5gmnphCYIkvzuNYzHzosq2oNk2RtSs8khfUOfHIDgR6ysYBaMpl4uEgk2U/oJTs9AaTSwma7dT69geAE2ZpEjUsn2ieJNHeKfrI3EcAGJ2ZaNgVuC8EBctCLc57P5u5led6IOBkIYkuQMrmmjChs4VkfOerHqSBkPzZlhe06RslZ3zMjk2sscqKwY0RcjKK+LWbzd7KiHhkncs/siFJ+V5eXxD34B8nVuJEpGJNmxN2gH3vSvp7J70tF+D1Ej8qUJD1TkErAND2GZwTFg/LubvmgiBG3SOvdlsqFQrkEzJCL1rstlnVFROixZoDDSuXQFHESwVGlcuQcMb/b42NgjLowh5MTDFE3vNB5qStRIErdCQEh6pLPR92anSUb/wAIhldAaDMpGgAAAABJRU5ErkJggg==";export{c as default}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/marker-icon.34d9a2d9.js b/resources/[tools]/unlimited-spectre/html/assets/marker-icon.34d9a2d9.js deleted file mode 100644 index d9bc233fd..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/marker-icon.34d9a2d9.js +++ /dev/null @@ -1 +0,0 @@ -const A="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=";export{A as default}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/marker-shadow.ddd1f13b.js b/resources/[tools]/unlimited-spectre/html/assets/marker-shadow.ddd1f13b.js deleted file mode 100644 index 236ed6b4a..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/marker-shadow.ddd1f13b.js +++ /dev/null @@ -1 +0,0 @@ -const A="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACkAAAApCAQAAAACach9AAACMUlEQVR4Ae3ShY7jQBAE0Aoz/f9/HTMzhg1zrdKUrJbdx+Kd2nD8VNudfsL/Th///dyQN2TH6f3y/BGpC379rV+S+qqetBOxImNQXL8JCAr2V4iMQXHGNJxeCfZXhSRBcQMfvkOWUdtfzlLgAENmZDcmo2TVmt8OSM2eXxBp3DjHSMFutqS7SbmemzBiR+xpKCNUIRkdkkYxhAkyGoBvyQFEJEefwSmmvBfJuJ6aKqKWnAkvGZOaZXTUgFqYULWNSHUckZuR1HIIimUExutRxwzOLROIG4vKmCKQt364mIlhSyzAf1m9lHZHJZrlAOMMztRRiKimp/rpdJDc9Awry5xTZCte7FHtuS8wJgeYGrex28xNTd086Dik7vUMscQOa8y4DoGtCCSkAKlNwpgNtphjrC6MIHUkR6YWxxs6Sc5xqn222mmCRFzIt8lEdKx+ikCtg91qS2WpwVfBelJCiQJwvzixfI9cxZQWgiSJelKnwBElKYtDOb2MFbhmUigbReQBV0Cg4+qMXSxXSyGUn4UbF8l+7qdSGnTC0XLCmahIgUHLhLOhpVCtw4CzYXvLQWQbJNmxoCsOKAxSgBJno75avolkRw8iIAFcsdc02e9iyCd8tHwmeSSoKTowIgvscSGZUOA7PuCN5b2BX9mQM7S0wYhMNU74zgsPBj3HU7wguAfnxxjFQGBE6pwN+GjME9zHY7zGp8wVxMShYX9NXvEWD3HbwJf4giO4CFIQxXScH1/TM+04kkBiAAAAAElFTkSuQmCC";export{A as default}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/move.a5bc0ce3.js b/resources/[tools]/unlimited-spectre/html/assets/move.a5bc0ce3.js deleted file mode 100644 index 39c8cdd6c..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/move.a5bc0ce3.js +++ /dev/null @@ -1,6 +0,0 @@ -/**! - * Sortable 1.15.0 - * @author RubaXa - * @author owenm - * @license MIT - */function le(n,t){var e=Object.keys(n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(n);t&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),e.push.apply(e,o)}return e}function z(n){for(var t=1;t=0)&&(e[i]=n[i]);return e}function Fe(n,t){if(n==null)return{};var e=Me(n,t),o,i;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);for(i=0;i=0)&&(!Object.prototype.propertyIsEnumerable.call(n,o)||(e[o]=n[o]))}return e}var Xe="1.15.0";function q(n){if(typeof window<"u"&&window.navigator)return!!navigator.userAgent.match(n)}var V=q(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),Ct=q(/Edge/i),se=q(/firefox/i),yt=q(/safari/i)&&!q(/chrome/i)&&!q(/android/i),ve=q(/iP(ad|od|hone)/i),be=q(/chrome/i)&&q(/android/i),Ee={capture:!1,passive:!1};function E(n,t,e){n.addEventListener(t,e,!V&&Ee)}function b(n,t,e){n.removeEventListener(t,e,!V&&Ee)}function Rt(n,t){if(!!t){if(t[0]===">"&&(t=t.substring(1)),n)try{if(n.matches)return n.matches(t);if(n.msMatchesSelector)return n.msMatchesSelector(t);if(n.webkitMatchesSelector)return n.webkitMatchesSelector(t)}catch{return!1}return!1}}function Ye(n){return n.host&&n!==document&&n.host.nodeType?n.host:n.parentNode}function G(n,t,e,o){if(n){e=e||document;do{if(t!=null&&(t[0]===">"?n.parentNode===e&&Rt(n,t):Rt(n,t))||o&&n===e)return n;if(n===e)break}while(n=Ye(n))}return null}var ue=/\s+/g;function F(n,t,e){if(n&&t)if(n.classList)n.classList[e?"add":"remove"](t);else{var o=(" "+n.className+" ").replace(ue," ").replace(" "+t+" "," ");n.className=(o+(e?" "+t:"")).replace(ue," ")}}function h(n,t,e){var o=n&&n.style;if(o){if(e===void 0)return document.defaultView&&document.defaultView.getComputedStyle?e=document.defaultView.getComputedStyle(n,""):n.currentStyle&&(e=n.currentStyle),t===void 0?e:e[t];!(t in o)&&t.indexOf("webkit")===-1&&(t="-webkit-"+t),o[t]=e+(typeof e=="string"?"":"px")}}function ct(n,t){var e="";if(typeof n=="string")e=n;else do{var o=h(n,"transform");o&&o!=="none"&&(e=o+" "+e)}while(!t&&(n=n.parentNode));var i=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return i&&new i(e)}function we(n,t,e){if(n){var o=n.getElementsByTagName(t),i=0,r=o.length;if(e)for(;i=r:a=i<=r,!a)return o;if(o===L())break;o=tt(o,!1)}return!1}function dt(n,t,e,o){for(var i=0,r=0,a=n.children;r2&&arguments[2]!==void 0?arguments[2]:{},i=o.evt,r=Fe(o,ze);Ot.pluginEvent.bind(p)(t,e,z({dragEl:f,parentEl:S,ghostEl:g,rootEl:_,nextEl:at,lastDownEl:Ft,cloneEl:D,cloneHidden:J,dragStarted:bt,putSortable:O,activeSortable:p.active,originalEvent:i,oldIndex:ft,oldDraggableIndex:Dt,newIndex:X,newDraggableIndex:Q,hideGhostForTarget:Oe,unhideGhostForTarget:Ie,cloneNowHidden:function(){J=!0},cloneNowShown:function(){J=!1},dispatchSortableEvent:function(l){P({sortable:e,name:l,originalEvent:i})}},r))};function P(n){Le(z({putSortable:O,cloneEl:D,targetEl:f,rootEl:_,oldIndex:ft,oldDraggableIndex:Dt,newIndex:X,newDraggableIndex:Q},n))}var f,S,g,_,at,Ft,D,J,ft,X,Dt,Q,At,O,ut=!1,Bt=!1,Ht=[],it,H,Ut,qt,de,he,bt,st,St,Tt=!1,Pt=!1,Xt,I,$t=[],Jt=!1,Wt=[],Lt=typeof document<"u",Nt=ve,pe=Ct||V?"cssFloat":"float",je=Lt&&!be&&!ve&&"draggable"in document.createElement("div"),Se=function(){if(!!Lt){if(V)return!1;var n=document.createElement("x");return n.style.cssText="pointer-events:auto",n.style.pointerEvents==="auto"}}(),Te=function(t,e){var o=h(t),i=parseInt(o.width)-parseInt(o.paddingLeft)-parseInt(o.paddingRight)-parseInt(o.borderLeftWidth)-parseInt(o.borderRightWidth),r=dt(t,0,e),a=dt(t,1,e),l=r&&h(r),s=a&&h(a),u=l&&parseInt(l.marginLeft)+parseInt(l.marginRight)+C(r).width,d=s&&parseInt(s.marginLeft)+parseInt(s.marginRight)+C(a).width;if(o.display==="flex")return o.flexDirection==="column"||o.flexDirection==="column-reverse"?"vertical":"horizontal";if(o.display==="grid")return o.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(r&&l.float&&l.float!=="none"){var c=l.float==="left"?"left":"right";return a&&(s.clear==="both"||s.clear===c)?"vertical":"horizontal"}return r&&(l.display==="block"||l.display==="flex"||l.display==="table"||l.display==="grid"||u>=i&&o[pe]==="none"||a&&o[pe]==="none"&&u+d>i)?"vertical":"horizontal"},Ue=function(t,e,o){var i=o?t.left:t.top,r=o?t.right:t.bottom,a=o?t.width:t.height,l=o?e.left:e.top,s=o?e.right:e.bottom,u=o?e.width:e.height;return i===l||r===s||i+a/2===l+u/2},qe=function(t,e){var o;return Ht.some(function(i){var r=i[Y].options.emptyInsertThreshold;if(!(!r||oe(i))){var a=C(i),l=t>=a.left-r&&t<=a.right+r,s=e>=a.top-r&&e<=a.bottom+r;if(l&&s)return o=i}}),o},Ce=function(t){function e(r,a){return function(l,s,u,d){var c=l.options.group.name&&s.options.group.name&&l.options.group.name===s.options.group.name;if(r==null&&(a||c))return!0;if(r==null||r===!1)return!1;if(a&&r==="clone")return r;if(typeof r=="function")return e(r(l,s,u,d),a)(l,s,u,d);var m=(a?l:s).options.group.name;return r===!0||typeof r=="string"&&r===m||r.join&&r.indexOf(m)>-1}}var o={},i=t.group;(!i||Mt(i)!="object")&&(i={name:i}),o.name=i.name,o.checkPull=e(i.pull,!0),o.checkPut=e(i.put),o.revertClone=i.revertClone,t.group=o},Oe=function(){!Se&&g&&h(g,"display","none")},Ie=function(){!Se&&g&&h(g,"display","")};Lt&&!be&&document.addEventListener("click",function(n){if(Bt)return n.preventDefault(),n.stopPropagation&&n.stopPropagation(),n.stopImmediatePropagation&&n.stopImmediatePropagation(),Bt=!1,!1},!0);var rt=function(t){if(f){t=t.touches?t.touches[0]:t;var e=qe(t.clientX,t.clientY);if(e){var o={};for(var i in t)t.hasOwnProperty(i)&&(o[i]=t[i]);o.target=o.rootEl=e,o.preventDefault=void 0,o.stopPropagation=void 0,e[Y]._onDragOver(o)}}},$e=function(t){f&&f.parentNode[Y]._isOutsideThisEl(t.target)};function p(n,t){if(!(n&&n.nodeType&&n.nodeType===1))throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(n));this.el=n,this.options=t=$({},t),n[Y]=this;var e={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(n.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return Te(n,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(a,l){a.setData("Text",l.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:p.supportPointer!==!1&&"PointerEvent"in window&&!yt,emptyInsertThreshold:5};Ot.initializePlugins(this,n,e);for(var o in e)!(o in t)&&(t[o]=e[o]);Ce(t);for(var i in this)i.charAt(0)==="_"&&typeof this[i]=="function"&&(this[i]=this[i].bind(this));this.nativeDraggable=t.forceFallback?!1:je,this.nativeDraggable&&(this.options.touchStartThreshold=1),t.supportPointer?E(n,"pointerdown",this._onTapStart):(E(n,"mousedown",this._onTapStart),E(n,"touchstart",this._onTapStart)),this.nativeDraggable&&(E(n,"dragover",this),E(n,"dragenter",this)),Ht.push(this.el),t.store&&t.store.get&&this.sort(t.store.get(this)||[]),$(this,He())}p.prototype={constructor:p,_isOutsideThisEl:function(t){!this.el.contains(t)&&t!==this.el&&(st=null)},_getDirection:function(t,e){return typeof this.options.direction=="function"?this.options.direction.call(this,t,e,f):this.options.direction},_onTapStart:function(t){if(!!t.cancelable){var e=this,o=this.el,i=this.options,r=i.preventOnFilter,a=t.type,l=t.touches&&t.touches[0]||t.pointerType&&t.pointerType==="touch"&&t,s=(l||t).target,u=t.target.shadowRoot&&(t.path&&t.path[0]||t.composedPath&&t.composedPath()[0])||s,d=i.filter;if(nn(o),!f&&!(/mousedown|pointerdown/.test(a)&&t.button!==0||i.disabled)&&!u.isContentEditable&&!(!this.nativeDraggable&&yt&&s&&s.tagName.toUpperCase()==="SELECT")&&(s=G(s,i.draggable,o,!1),!(s&&s.animated)&&Ft!==s)){if(ft=k(s),Dt=k(s,i.draggable),typeof d=="function"){if(d.call(this,t,s,this)){P({sortable:e,rootEl:u,name:"filter",targetEl:s,toEl:o,fromEl:o}),N("filter",e,{evt:t}),r&&t.cancelable&&t.preventDefault();return}}else if(d&&(d=d.split(",").some(function(c){if(c=G(u,c.trim(),o,!1),c)return P({sortable:e,rootEl:c,name:"filter",targetEl:s,fromEl:o,toEl:o}),N("filter",e,{evt:t}),!0}),d)){r&&t.cancelable&&t.preventDefault();return}i.handle&&!G(u,i.handle,o,!1)||this._prepareDragStart(t,l,s)}}},_prepareDragStart:function(t,e,o){var i=this,r=i.el,a=i.options,l=r.ownerDocument,s;if(o&&!f&&o.parentNode===r){var u=C(o);if(_=r,f=o,S=f.parentNode,at=f.nextSibling,Ft=o,At=a.group,p.dragged=f,it={target:f,clientX:(e||t).clientX,clientY:(e||t).clientY},de=it.clientX-u.left,he=it.clientY-u.top,this._lastX=(e||t).clientX,this._lastY=(e||t).clientY,f.style["will-change"]="all",s=function(){if(N("delayEnded",i,{evt:t}),p.eventCanceled){i._onDrop();return}i._disableDelayedDragEvents(),!se&&i.nativeDraggable&&(f.draggable=!0),i._triggerDragStart(t,e),P({sortable:i,name:"choose",originalEvent:t}),F(f,a.chosenClass,!0)},a.ignore.split(",").forEach(function(d){we(f,d.trim(),Vt)}),E(l,"dragover",rt),E(l,"mousemove",rt),E(l,"touchmove",rt),E(l,"mouseup",i._onDrop),E(l,"touchend",i._onDrop),E(l,"touchcancel",i._onDrop),se&&this.nativeDraggable&&(this.options.touchStartThreshold=4,f.draggable=!0),N("delayStart",this,{evt:t}),a.delay&&(!a.delayOnTouchOnly||e)&&(!this.nativeDraggable||!(Ct||V))){if(p.eventCanceled){this._onDrop();return}E(l,"mouseup",i._disableDelayedDrag),E(l,"touchend",i._disableDelayedDrag),E(l,"touchcancel",i._disableDelayedDrag),E(l,"mousemove",i._delayedDragTouchMoveHandler),E(l,"touchmove",i._delayedDragTouchMoveHandler),a.supportPointer&&E(l,"pointermove",i._delayedDragTouchMoveHandler),i._dragStartTimer=setTimeout(s,a.delay)}else s()}},_delayedDragTouchMoveHandler:function(t){var e=t.touches?t.touches[0]:t;Math.max(Math.abs(e.clientX-this._lastX),Math.abs(e.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){f&&Vt(f),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var t=this.el.ownerDocument;b(t,"mouseup",this._disableDelayedDrag),b(t,"touchend",this._disableDelayedDrag),b(t,"touchcancel",this._disableDelayedDrag),b(t,"mousemove",this._delayedDragTouchMoveHandler),b(t,"touchmove",this._delayedDragTouchMoveHandler),b(t,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(t,e){e=e||t.pointerType=="touch"&&t,!this.nativeDraggable||e?this.options.supportPointer?E(document,"pointermove",this._onTouchMove):e?E(document,"touchmove",this._onTouchMove):E(document,"mousemove",this._onTouchMove):(E(f,"dragend",this),E(_,"dragstart",this._onDragStart));try{document.selection?Yt(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(t,e){if(ut=!1,_&&f){N("dragStarted",this,{evt:e}),this.nativeDraggable&&E(document,"dragover",$e);var o=this.options;!t&&F(f,o.dragClass,!1),F(f,o.ghostClass,!0),p.active=this,t&&this._appendGhost(),P({sortable:this,name:"start",originalEvent:e})}else this._nulling()},_emulateDragOver:function(){if(H){this._lastX=H.clientX,this._lastY=H.clientY,Oe();for(var t=document.elementFromPoint(H.clientX,H.clientY),e=t;t&&t.shadowRoot&&(t=t.shadowRoot.elementFromPoint(H.clientX,H.clientY),t!==e);)e=t;if(f.parentNode[Y]._isOutsideThisEl(t),e)do{if(e[Y]){var o=void 0;if(o=e[Y]._onDragOver({clientX:H.clientX,clientY:H.clientY,target:t,rootEl:e}),o&&!this.options.dragoverBubble)break}t=e}while(e=e.parentNode);Ie()}},_onTouchMove:function(t){if(it){var e=this.options,o=e.fallbackTolerance,i=e.fallbackOffset,r=t.touches?t.touches[0]:t,a=g&&ct(g,!0),l=g&&a&&a.a,s=g&&a&&a.d,u=Nt&&I&&ce(I),d=(r.clientX-it.clientX+i.x)/(l||1)+(u?u[0]-$t[0]:0)/(l||1),c=(r.clientY-it.clientY+i.y)/(s||1)+(u?u[1]-$t[1]:0)/(s||1);if(!p.active&&!ut){if(o&&Math.max(Math.abs(r.clientX-this._lastX),Math.abs(r.clientY-this._lastY))=0&&(P({rootEl:S,name:"add",toEl:S,fromEl:_,originalEvent:t}),P({sortable:this,name:"remove",toEl:S,originalEvent:t}),P({rootEl:S,name:"sort",toEl:S,fromEl:_,originalEvent:t}),P({sortable:this,name:"sort",toEl:S,originalEvent:t})),O&&O.save()):X!==ft&&X>=0&&(P({sortable:this,name:"update",toEl:S,originalEvent:t}),P({sortable:this,name:"sort",toEl:S,originalEvent:t})),p.active&&((X==null||X===-1)&&(X=ft,Q=Dt),P({sortable:this,name:"end",toEl:S,originalEvent:t}),this.save()))),this._nulling()},_nulling:function(){N("nulling",this),_=f=S=g=at=D=Ft=J=it=H=bt=X=Q=ft=Dt=st=St=O=At=p.dragged=p.ghost=p.clone=p.active=null,Wt.forEach(function(t){t.checked=!0}),Wt.length=Ut=qt=0},handleEvent:function(t){switch(t.type){case"drop":case"dragend":this._onDrop(t);break;case"dragenter":case"dragover":f&&(this._onDragOver(t),Ve(t));break;case"selectstart":t.preventDefault();break}},toArray:function(){for(var t=[],e,o=this.el.children,i=0,r=o.length,a=this.options;io.right+i||n.clientX<=o.right&&n.clientY>o.bottom&&n.clientX>=o.left:n.clientX>o.right&&n.clientY>o.top||n.clientX<=o.right&&n.clientY>o.bottom+i}function Je(n,t,e,o,i,r,a,l){var s=o?n.clientY:n.clientX,u=o?e.height:e.width,d=o?e.top:e.left,c=o?e.bottom:e.right,m=!1;if(!a){if(l&&Xtd+u*r/2:sc-Xt)return-St}else if(s>d+u*(1-i)/2&&sc-u*r/2)?s>d+u/2?1:-1:0}function tn(n){return k(f){n.show(o),o.qAnchorHandled=!0})},prevent:w,mobileTouch(o){if(r.mobileCleanup(o),u(o)!==!0)return;n.hide(o),i.value.classList.add("non-selectable");const h=o.target;y(r,"anchor",[[h,"touchmove","mobileCleanup","passive"],[h,"touchend","mobileCleanup","passive"],[h,"touchcancel","mobileCleanup","passive"],[i.value,"contextmenu","prevent","notPassive"]]),c=setTimeout(()=>{n.show(o),o.qAnchorHandled=!0},300)},mobileCleanup(o){i.value.classList.remove("non-selectable"),clearTimeout(c),e.value===!0&&o!==void 0&&z()}}),a=function(o=l.contextMenu){if(l.noParentEvent===!0||i.value===null)return;let h;o===!0?n.$q.platform.is.mobile===!0?h=[[i.value,"touchstart","mobileTouch","passive"]]:h=[[i.value,"mousedown","hide","passive"],[i.value,"contextmenu","contextClick","notPassive"]]:h=[[i.value,"click","toggle","passive"],[i.value,"keyup","toggleKey","passive"]],y(r,"anchor",h)});function d(){A(r,"anchor")}function C(o){for(i.value=o;i.value.classList.contains("q-anchor--skip");)i.value=i.value.parentNode;a()}function b(){if(l.target===!1||l.target===""||n.$el.parentNode===null)i.value=null;else if(l.target===!0)C(n.$el.parentNode);else{let o=l.target;if(typeof l.target=="string")try{o=document.querySelector(l.target)}catch{o=void 0}o!=null?(i.value=o.$el||o,a()):(i.value=null,console.error(`Anchor: target "${l.target}" not found`))}}return f(()=>l.contextMenu,o=>{i.value!==null&&(d(),a(o))}),f(()=>l.target,()=>{i.value!==null&&d(),b()}),f(()=>l.noParentEvent,o=>{i.value!==null&&(o===!0?d():a())}),$(()=>{b(),t!==!0&&l.modelValue===!0&&i.value===null&&s("update:modelValue",!1)}),M(()=>{clearTimeout(c),d()}),{anchorEl:i,canShow:u,anchorEvents:r}}function D(e,t){const a=E(null);let l;function n(c,u){const r=`${u!==void 0?"add":"remove"}EventListener`,d=u!==void 0?u:l;c!==window&&c[r]("scroll",d,x.passive),window[r]("scroll",d,x.passive),l=u}function s(){a.value!==null&&(n(a.value),a.value=null)}const i=f(()=>e.noParentEvent,()=>{a.value!==null&&(s(),t())});return M(i),{localScrollTarget:a,unconfigureScrollTarget:s,changeScrollEvent:n}}let L;const{notPassiveCapture:v}=x,m=[];function p(e){clearTimeout(L);const t=e.target;if(t===void 0||t.nodeType===8||t.classList.contains("no-pointer-events")===!0)return;let a=H.length-1;for(;a>=0;){const l=H[a].$;if(l.type.name!=="QDialog")break;if(l.props.seamless!==!0)return;a--}for(let l=m.length-1;l>=0;l--){const n=m[l];if((n.anchorEl.value===null||n.anchorEl.value.contains(t)===!1)&&(t===document.body||n.innerRef.value!==null&&n.innerRef.value.contains(t)===!1))e.qClickOutside=!0,n.onClickOutside(e);else return}}function F(e){m.push(e),m.length===1&&(document.addEventListener("mousedown",p,v),document.addEventListener("touchstart",p,v))}function Q(e){const t=m.findIndex(a=>a===e);t>-1&&(m.splice(t,1),m.length===0&&(clearTimeout(L),document.removeEventListener("mousedown",p,v),document.removeEventListener("touchstart",p,v)))}let W,T;function U(e){const t=e.split(" ");return t.length!==2?!1:["top","center","bottom"].includes(t[0])!==!0?(console.error("Anchor/Self position must start with one of top/center/bottom"),!1):["left","middle","right","start","end"].includes(t[1])!==!0?(console.error("Anchor/Self position must end with one of left/middle/right/start/end"),!1):!0}function X(e){return e?!(e.length!==2||typeof e[0]!="number"||typeof e[1]!="number"):!0}const g={"start#ltr":"left","start#rtl":"right","end#ltr":"right","end#rtl":"left"};["left","middle","right"].forEach(e=>{g[`${e}#ltr`]=e,g[`${e}#rtl`]=e});function Y(e,t){const a=e.split(" ");return{vertical:a[0],horizontal:g[`${a[1]}#${t===!0?"rtl":"ltr"}`]}}function R(e,t){let{top:a,left:l,right:n,bottom:s,width:i,height:c}=e.getBoundingClientRect();return t!==void 0&&(a-=t[1],l-=t[0],s+=t[1],n+=t[0],i+=t[0],c+=t[1]),{top:a,left:l,right:n,bottom:s,width:i,height:c,middle:l+(n-l)/2,center:a+(s-a)/2}}function V(e){return{top:0,center:e.offsetHeight/2,bottom:e.offsetHeight,left:0,middle:e.offsetWidth/2,right:e.offsetWidth}}function G(e){if(B.is.ios===!0&&window.visualViewport!==void 0){const c=document.body.style,{offsetLeft:u,offsetTop:r}=window.visualViewport;u!==W&&(c.setProperty("--q-pe-left",u+"px"),W=u),r!==T&&(c.setProperty("--q-pe-top",r+"px"),T=r)}let t;const{scrollLeft:a,scrollTop:l}=e.el;if(e.absoluteOffset===void 0)t=R(e.anchorEl,e.cover===!0?[0,0]:e.offset);else{const{top:c,left:u}=e.anchorEl.getBoundingClientRect(),r=c+e.absoluteOffset.top,d=u+e.absoluteOffset.left;t={top:r,left:d,width:1,height:1,right:d+1,center:r,middle:d,bottom:r+1}}let n={maxHeight:e.maxHeight,maxWidth:e.maxWidth,visibility:"visible"};(e.fit===!0||e.cover===!0)&&(n.minWidth=t.width+"px",e.cover===!0&&(n.minHeight=t.height+"px")),Object.assign(e.el.style,n);const s=V(e.el),i={top:t[e.anchorOrigin.vertical]-s[e.selfOrigin.vertical],left:t[e.anchorOrigin.horizontal]-s[e.selfOrigin.horizontal]};j(i,t,s,e.anchorOrigin,e.selfOrigin),n={top:i.top+"px",left:i.left+"px"},i.maxHeight!==void 0&&(n.maxHeight=i.maxHeight+"px",t.height>i.maxHeight&&(n.minHeight=n.maxHeight)),i.maxWidth!==void 0&&(n.maxWidth=i.maxWidth+"px",t.width>i.maxWidth&&(n.minWidth=n.maxWidth)),Object.assign(e.el.style,n),e.el.scrollTop!==l&&(e.el.scrollTop=l),e.el.scrollLeft!==a&&(e.el.scrollLeft=a)}function j(e,t,a,l,n){const s=a.bottom,i=a.right,c=P(),u=window.innerHeight-c,r=document.body.clientWidth;if(e.top<0||e.top+s>u)if(n.vertical==="center")e.top=t[l.vertical]>u/2?Math.max(0,u-s):0,e.maxHeight=Math.min(s,u);else if(t[l.vertical]>u/2){const d=Math.min(u,l.vertical==="center"?t.center:l.vertical===n.vertical?t.bottom:t.top);e.maxHeight=Math.min(s,d),e.top=Math.max(0,d-s)}else e.top=Math.max(0,l.vertical==="center"?t.center:l.vertical===n.vertical?t.top:t.bottom),e.maxHeight=Math.min(s,u-e.top);if(e.left<0||e.left+i>r)if(e.maxWidth=Math.min(i,r),n.horizontal==="middle")e.left=t[l.horizontal]>r/2?Math.max(0,r-i):0;else if(t[l.horizontal]>r/2){const d=Math.min(r,l.horizontal==="middle"?t.middle:l.horizontal===n.horizontal?t.right:t.left);e.maxWidth=Math.min(i,d),e.left=Math.max(0,d-e.maxWidth)}else e.left=Math.max(0,l.horizontal==="middle"?t.middle:l.horizontal===n.horizontal?t.left:t.right),e.maxWidth=Math.min(i,r-e.left)}export{X as a,D as b,O as c,F as d,Y as p,Q as r,G as s,N as u,U as v}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/rtl.b51694b1.js b/resources/[tools]/unlimited-spectre/html/assets/rtl.b51694b1.js deleted file mode 100644 index fb9b773cd..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/rtl.b51694b1.js +++ /dev/null @@ -1 +0,0 @@ -let l=!1;{const e=document.createElement("div");e.setAttribute("dir","rtl"),Object.assign(e.style,{width:"1px",height:"1px",overflow:"auto"});const t=document.createElement("div");Object.assign(t.style,{width:"1000px",height:"1px"}),document.body.appendChild(e),e.appendChild(t),e.scrollLeft=-1e3,l=e.scrollLeft>=0,e.remove()}export{l as r}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/selection.2a17b691.js b/resources/[tools]/unlimited-spectre/html/assets/selection.2a17b691.js deleted file mode 100644 index 4535fa2a4..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/selection.2a17b691.js +++ /dev/null @@ -1 +0,0 @@ -import{aw as o}from"./app-014d9ed9.js";function i(){if(window.getSelection!==void 0){const e=window.getSelection();e.empty!==void 0?e.empty():e.removeAllRanges!==void 0&&(e.removeAllRanges(),o.is.mobile!==!0&&e.addRange(document.createRange()))}else document.selection!==void 0&&document.selection.empty()}export{i as c}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/touch.70a9dd44.js b/resources/[tools]/unlimited-spectre/html/assets/touch.70a9dd44.js deleted file mode 100644 index e4fd8dc8a..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/touch.70a9dd44.js +++ /dev/null @@ -1 +0,0 @@ -const r={left:!0,right:!0,up:!0,down:!0,horizontal:!0,vertical:!0},o=Object.keys(r);r.all=!0;function u(e){const t={};for(const i of o)e[i]===!0&&(t[i]=!0);return Object.keys(t).length===0?r:(t.horizontal===!0?t.left=t.right=!0:t.left===!0&&t.right===!0&&(t.horizontal=!0),t.vertical===!0?t.up=t.down=!0:t.up===!0&&t.down===!0&&(t.vertical=!0),t.horizontal===!0&&t.vertical===!0&&(t.all=!0),t)}function n(e,t){return t.event===void 0&&e.target!==void 0&&e.target.draggable!==!0&&typeof t.handler=="function"&&e.target.nodeName.toUpperCase()!=="INPUT"&&(e.qClonedBy===void 0||e.qClonedBy.indexOf(t.uid)===-1)}export{u as g,n as s}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/tr.2092e75c.js b/resources/[tools]/unlimited-spectre/html/assets/tr.2092e75c.js deleted file mode 100644 index a62c4763f..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/tr.2092e75c.js +++ /dev/null @@ -1 +0,0 @@ -const A="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAA8AgMAAADtUfddAAAACVBMVEUAAADdAAD/zgDGIigcAAAAHElEQVR4AWMAgVEwCkJxgRElMyqzChcYSTKjMgBDzfIcJWmM/AAAAABJRU5ErkJggg==",B="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAA8CAYAAACQPx/OAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAAWJLR0QCZgt8ZAAAAAd0SU1FB+YKHQIpGLCkFg8AAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMTAtMjlUMDI6NDE6MjQrMDA6MDDHwYS0AAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTEwLTI5VDAyOjQxOjI0KzAwOjAwtpw8CAAAATVJREFUeF7t26FOw1AcRvH/bWBFEtQEbgGJm5pETIEiIUFgJiC8AIoHwKAneJ4FQcgCM4jtGVhCISQsBXF1bU+a8zNtPnvETZs2Pe0e1dGS3491DB7voz85z0uz19FZVC+LKHbKvHRPka+CMAiMQWAMAmMQGIPAGATGIDAGgTEIjEFgDAJjEBiDwBgExiAwBoExCIxBYAwCYxAYg8AYBCbNysP2vsv6WcfB9CH6Vxd5aTYfnkb1/BZF2ctL96TF+LK1IJvPr9i/vY69k+O8NFve3MX3+yrS9lZeuifV//K9ADxDYAwCYxAYg8AYBMYgMAaB8cEQxlcnMP5jCOMZAmMQGIPAGATGIDAGgTEIjEFgDAJjEBiDwBgExiAwBoExCIxBYAwCYxAYg8AYBMYgMAaBMQhKxB8HlkdMeQXmPwAAAABJRU5ErkJggg==",g="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAA8CAYAAACQPx/OAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAWbSURBVHhe7Zp/TFZVGMefC2MM5UeB6KbMP2pqtpVtYDgNtElZQy01NlHs19JSR2JOMJfTVmmuudHSCjM3rT9ookODSvkjAQUUmkmlYoFbAWYIBQiE8L50v897z/W9QH/0cptnnvPZrue85zn32TzPud9znnMw0pLXDpDErI1os2pqYDwy61U7IOPG3U3Xrv1p/brF6PAwLrtu9HDpz7+9A9zwl321wqqpQRD+CQ4OooyMFCo4vI3i4yezQRA79i7Ky1tPeR+v57o/CQlT+J3ly1PYh8BtfyrB/2uPx0ser+9Dqav7jUtByx9/UWhoCD+o+yP6ejwe9iFw259KqDkNJcZeQ6DrPd29PHN7enpp0uQ4+vlyI3carPnCFhYWSr29fRQ2KpRtMTGRbG9t7XDFHzia+wKXquBY1AUPJ95Hu3atpoJDpbR7d6EtH9D1zMxFtOSZZNrw2kd09uwlbgdYD44ceZPrixdvdchRIP4E5afet2pqMKxkXa5rpI6Obqqvb3ZoOeq/mG3t7V3Drg0VFT/R6dM/DlkbAvGnKo4vZMaM+6mq6gLPXAyWKOPiYtne2NgyxCbeAWgDaAcj9QdU+0I4IBiMN7ZkUEpKPG3YYErHmf8mRSUl39E7b39uB8JNf+9NGqKodzT2FzJ7zjRKSnqAPtxzjNraOsgwDBoY8A3GK6sXmHUyc4cv+bewRUdH0pq1C6m8/AcqPXme2wFsbvgDqiWGwy7qYP78GVRcfMYeRAEGLzU1kYqKqqyWW0w2d0voLXZT/gTiDyiZqQ8G0pGzKZ3e3bmS5UeA+k6zDTb08QdS9On+jbTffAZn4IH4U5VhA6K5fTgkKyQkmPr6PKzl06dP4QSvpqaOZzKUxuv18nkTEsDq6jpeG8Q7YN686aZkDdCJ4zX8e6T+wBebF1g1NbB3WRMmjKFnn3uc8vKKHDufiIhRNOfRaTyAWGg7O7stC9FYU5pWvTyfDh44QU1N1x27LLf8KZkYer0DfDqLGY4B86e/30PZ2UspJ2cp1/0JN/vinWXL57IPgdv+VMKWrKlTJ7JUQDba2jopPDyMbljnSdMeupfL89/Xcyls0dERLEeQmYsXf+VzK8z8mzf7XPEHlEwMrboNBnP7jpcoN/cwnTJzAn8pSkp+kNatW0ybX99nDxqIjY2ilStTOSD79hVTS0u7ZQnMn+CDmdFWTQ2GDQgW2cKjb9FnB0to794iq9UHNH7FisfoqYVbePYLgoIMKi3L5frs5CyH5ATiT6B0YiiuT6OiRvMsjowcRc3NrY7j8vHjY/igELMbh4L+V66wAbwDRuoP6MRQc1vhgGB2+t+BY6ZikcVsRtbtfweONtjQZ/AdOGx43PKnIrZkpS+bS2vWLKQnn9jEA+TPoYKthEOqtDTfKa0AW9qvvt5Be3YXUn7+t1arD7f8HVw1k0tVsAPixpXr/3GFq2RiCDAAOMrA4OGgD4eE2I5COmDDg3pW1hK2oQ/64h3YID/YSeFBfaT+VGVYocaVa7c5u+sbrto5A0C9vqGZurr+prpLQ69wcdNXWXnBcVQCAvGnKo5tL2YpbvcwczFYooyLG8P2xsbrQ2ziHYA2gHYwUn/gk6edf2h3p8MBwWDIeoWrWh4SPHFi4jZxi9fX10/Hv6lhLRd0m3KChbm2toHKSmutVh89PTf5/KmsrJauXPndavVd4QI3/M26oZaUqbnZlxjHGiIjyp1lbX9xm9QBWTTVtwFQBcPUe6kDohp6DZEMHRDJMBoO5GvJkgjj2D0JOiASoSVLMnRAJEMHRDKMcxvlTgxVQyeGkqElSzJ0QCTDaCou0ZIlEToxlAwtWZKhAyIZOiCSYVQ+n6nXEInQiaFkaMmSDB0QyTBaq89pyZIInRhKhpYsydABkQwdEMkwTqam6zVEGoj+AT2Krz0IoRhsAAAAAElFTkSuQmCC",E="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAA8CAYAAACQPx/OAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABYlAAAWJQFJUiTwAAAABmJLR0QA/wD/AP+gvaeTAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIzLTA5LTIxVDE0OjM5OjU3KzAwOjAwJPWh+AAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMy0wOS0yMVQxNDozOTo1NyswMDowMFWoGUQAAAgqSURBVHhe7Zx5bBTnGYefmfUeXttre/FtYww2DnHBkAYMlBuahKgXtBUKUJU2lXqQ0jZqUCWriEqt0iRtSKSSBAFN20SirURBCUJJMCWUKwQEJcYEDMYYYxvfx+56r9mj76wRov2vkW1GyzzSyuOdmW9W3+9739/7zqyt/CO3MI6JYVDv/DQxCKYgBsMUxGCYghgMUxCDYQpiMExBDIYpiMEwBTEYpiAGwxTEYJiCGAxTEIOhvE2JebfXQCjxekxBDIQS/qcpiJG47x6iyMtqHdk2uc+CWHQ1hAMnRRTbiDgPOuMqiCozbk0ZeenbfeEy6ttz+d3pLxPSshjS8hPRkjjGcuekB4xx8xB9knt8Ezh33YHF5qajq5fqSbfp8Dg5/kk6a5d3M+Sx0umdilX1UpRjYU5ZK/FYjNgD5HLjEiEpcpULbVM4/qmHlUvaGYrfZvXC2xR1OVFOh8mtmEfm0TTmlWho8SZWP9ZJeXELOw6XEsXxQKWycYkQ3R92fZjPrE4PfW8WErDkU5/ezPyuPLrx0bjRw+LXC4jI+ji5IMzck3EKZgU4v+QWK1eUMDG9jegDEiXj4yFRmF6h8MGedAJBG72TrmB5ZIDOcitdEg3OE0FuzlFonHmLVHczIavG9QupNDXmUJzd90ClrDGLkBS9atLllnyjBSRKnHDqjIiyPYt8awletQVnqkIgAkG3hhpQKOxz0otGhr+CtuoLbH02mjB3/QNaZDx9IxomqQUaE0H0ybtxwsGh46nMnKgxd61PzFlESoeuAdi2E1xVLtoDQcqlrPI3BMmYb+FIm4XH8uN4m4LU/kwGGhYBJLr6B22cPZWR8KJHv+AhK0NLWlHGJGWpMmprP7zX4Wf/ZRFIVnlEBLnaIjtlgqc8DIf3e7j4moWG3zpIOZBHpDaL+X+ycqsuyPJFcv41aG6Tc6U6U3wxdv01zF/2REgJy0Djk2jvC2MSIVY7bH8HPLLC/Ro893W43Q2XNsyUmikmF5SJtUbI0uyE8ND5601kr14B3rBERJy25kvkl9TQ2tjApup1HD4LJ6+MjL1iJiyskjQoqS4ZGZu1JpM1ryoHW+4qJkyoJitnJGrsEh6DLg9nl7VQ92QzDYX9iCWILwQZfPMEvVc+YfDlOnKOXEXb/xEOhycRUbMrwJm3iqjzcWrKZXh5L1kZE0F0v0jLLmfa4hfInvy1hBkrkrZUcfjBAj/R/ACpqVF6pg5h0V1f8pmyuISiwyk8RBkp+VXEP58tYsiJ8gn1lDdt6UsUzPgFUYm4ZGZMBFFSJW1lqgwN9hC80cWweIdkp0SDZw+q+NxphNxO1GBCDtRUG6FLHQxPshDIU7CWpKIOaFisolVIOvwmyWZXLxOIhXFkyfHiK8nKqHtIiojx6d8zOLVfKqlWL2GLA0+0QDJPKuLl9Lt8nNkwIF6iUfihi7IGK4HFj5BS+0NZ/SHse7so7Unn5kY37dc7cP70VwzZVdyhdkJ5kOUqYtGWbiaURYgloY+MeoQoEgmX/+wibpuB+s4hfLs280x9C4++1Ch7bdSvuUVI6uKLkVmEJvWwL3MuG4aeoGnlT/Cfb8e2qJjrmX0oEYUUGeube2/z1Hvy/rFLBDf/geamYTpPp6Em6S37URck6oPlO9opWJBORnkx/Wfg/TUuSqfH6JSoqNxdwZxX3XzjjX6cB8tpW9tPVtkgdQsmYr/aRH+Fi56lWfikP/GpEdKkqtqxvIS0HA3rtEpqFvr43HeHiEizmYyMuiB6GnFPh5LH2+j73gs8vOMNyr4SEynEB5a04//RDfyFw1i+2CXviBAttdTk1nHO+xT+A68RWreS+PM/IPCdr2L/fq04OtRURAhWPUl45wfUvBzFkqQlr86oC2KVbvxfP8/hyvooVqdC7/Z1TFvvQ5OeRBFDVwNi5FGFuE+8Y9UAW95/Ef+JKfym/hW0jFwGyxxk95UwUGUlZs8EibjFb3fi/f023Oc+Yu/cadz8tzVh+MnI6FdZUvIqrmHcL+bhfP45LLqpyKT+F3ppJb2ElgtTSy+ydvAAtvIhotmy+gfs9FYOUXAti7g6Um+EpanMrH4I786tpM9rxOGOJkrrZGTUBdH8sqI3B8idKPWqNy4XkJxzL3drOlFFRFFTJWKyrYTFI4hE2DPDTTyu4SsIELPIwfrxcqgasxDrjrOsNk5+cYxYkjaHox8hOrrhRnu4fvFdejsuSi08EhSJyf2fKyrxOP6wmIJfZTgnysYz/cSk0Yj4REr7SBjopzU3vEtH02GkZSFqesj/iWSp1hs3yOzegit4EG0IKsuht0d69bsRImIoMYa7QgS+9GMpc/soP5tLwKZQfi6XYXeIiln6vXZoE/93dW1hsvYyrbKtd+7Jyqg3hvqz82PXJrF+3xZyHD0MRzKZV3Set57eTW+The0H42TvKyJ78hBNVV5mz36VPH+dREAVPUe2Y8+34+tIo6Aoyrf+1imdJJRu202WbVA+rUr/sJ22rc8knrEkI6MviKzeY02lHG1bSku/m8rcbiIhL7984gAxWe2qA45+rNLiX4a1+Nu8cvJjHAMKqROtPD2rFFvDW8yovkBllaQmEUO/d/XsoU04bUFS1BjdHjt/XPM6mn5XMgkZm9vvekrR7zfpxqGPLq97JzDxxTh9n24R927r3iDnxsWwxd8TKLJPf/p4F/ldC97ZTkLGRBCTz475ZWuDYf45gsEw/xuQwRibPsTkM2MKYjBMQQyGKYjBMAUxGKYgBsMUxGCYghgMUxCDYQpiMExBDIYpiMEwBTEU8B9IA/th6iSb/wAAAABJRU5ErkJggg==",Q="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAA8CAYAAACQPx/OAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAAWJLR0QEj2jZUQAAAAd0SU1FB+YIFhUPLghoYSYAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDgtMjJUMjE6MTU6NDYrMDA6MDCENDU/AAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTA4LTIyVDIxOjE1OjQ2KzAwOjAw9WmNgwAAALlJREFUeF7t2bENgDAMAEGHkRmAEZmCPQIFQ1zxJ0VJ/7KbrDnvPWEc/x1EQTAFwRQEUxBMQTAFwRQEUxBMQTAFwRQEUxBMQTAFwRQEUxBMQTBrrqcvXMj6TkEgrSxMQTAFwRQEUxBMQTAFwRQEUxBMQTAFwRQEUxBMQTAFwRQEUxBMQTAFwaz9+d8BNCGYgmAKgikIpiCYgmAKgikIpiCYgmAKgikIpiCYgmAKgikIpiCYgmAKQpl5AeggChDdvkC+AAAAAElFTkSuQmCC",M="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAA8CAYAAACQPx/OAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAAWJLR0QCZgt8ZAAAAAd0SU1FB+cDDgspAsb3nV8AAAAldEVYdGRhdGU6Y3JlYXRlADIwMjMtMDMtMTRUMTE6NDE6MDIrMDA6MDBNOPu5AAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIzLTAzLTE0VDExOjQxOjAyKzAwOjAwPGVDBQAAAM5JREFUeF7t2SEaQWEQQNH3+yRNJpDI9sC2XmcdIlt8hLeIE+4pM/2GCTO+x+syhbFZZxAFwRQEUxBMQTAFwRQEUxBMQTAFwRQEUxBMQTAFwRQEUxBMQTDjc7j0MYSM93ZfEMhY/tY9gG4IpiCYgmAKgikIpiCYgmAKgikIpiCYgmAKgikIpiCYgmAKgikIpiCYgmDG7jb3U4eM0/1ZEMg4P14FgXRDMAXBFARTEExBMAXBFARTEExBMAXBFARTEExBMAXBFARTEExBKNP0A0VXD59PM7PLAAAAAElFTkSuQmCC",Y="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAA8CAYAAACQPx/OAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAABBdEVYdENvbW1lbnQAQ1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcgSlBFRyB2NjIpLCBxdWFsaXR5ID0gOTAKsEVYkwAAAn9JREFUeF7t2s9LFHEYx/GnQ6BbEURUrIbb9osOFp20Dnno5iU85I+K6C+IoiQ6lEIHyw5ht+jWH1CIbOFCp7r1A4JgS1iEQMgoWC0DA/dpZmfEyGc9LPX9fmb8PPAS2Z3ZLztvcGecleLmI+rChLTo/LuS/jnlT7Mqzd0qubO23QMq2f5465X5eOOePpW8uU7SMQgYBgHDIGAYBAyDgGEQMAwChkHAMAgYBgHDIGAYBAyDgGEQMAwChkHAMAgYBgHDIGAYBIwUJKcuPJYtOvfmfXxIo2k0SOnqbR2X7eY6SSfTY4/UhfLIA/05+y0+pNE0GuTri1davvvQXCfpJH6PTqYaqoY/o2k0SJrHaZC/h0FWj9cgc98XVDJBkDYjxnKQ1nUWZO+JS+rDvq7Lmjt+UaWlz44RajtTi3Lo5KD5Gmkkku0N/ix4slaMZWEUa9+0Mg8C+WM+SP6YD5I/tTMcX3LB50NN+Hs9wfPWvmklu06rN+GH2JpRwhgBa9+06jh1U3041jOsR7uvB1HCM606QeLT3q7eW+ZrpJHXC8PK/I/4Sr1OkNqF4UC89foY/usEbBgEbGRqaExdKF0Z0YWZz/Gy0TQa5EvxpX64Nmquk3RSkLy68ES2auX1P7pBNXhHx2WHuU7SSXHTYXXhv9zCNdZJOt5TB8MgYBgEDIOAYRAwDAKGQcAwCBgGAcMgYBgEDIOAYRAwDAKGQcAwCBgGAcMgYGQy064uTEjWDtIUBAm/EGdp7Q+C9MVbr0wYpCB7zHWSTp7v7FQXnm04oJW30ZcclhYXVatLWp6eUdnWo5mDF0xN+8/rxvy5eJ9f0X7BTA3f18nm9lVrJF+n/gYba933M4cOPAAAAABJRU5ErkJggg==",I="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAA8CAYAAACQPx/OAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAWJLR0QAiAUdSAAAAAd0SU1FB+UGBgcnF3wvq8oAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjEtMDYtMDZUMDc6Mzk6MjMrMDA6MDC+sDa2AAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIxLTA2LTA2VDA3OjM5OjIzKzAwOjAwz+2OCgAAALZJREFUeF7t2jERgFAMBcF8NOAAG/i3QIMXoEDEFrdNBNzMq7Kez4Sx/TeIgmAKgikIpiCYgmAKgikIpiCYgmAKgikIpiCYgmAKgikIpiCYgmAKgikIpiCYgmAKgikIpiCYgmAKgikIpiCYdc3R9ztk3ftZEEiThSkIpiCYgmAKgikIpiCYgmAKgikIpiCYgmAKgikIpiCYgmAKgikIpiCYgmAKgikIpiCYgmAKgikIpiCYglBmXryNCJZnaWuBAAAAAElFTkSuQmCC",C="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAA8CAYAAACQPx/OAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABYlAAAWJQFJUiTwAAAABmJLR0QA/wD/AP+gvaeTAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIyLTAzLTEwVDA4OjQ3OjExKzAwOjAwZOdSJAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMi0wMy0xMFQwODo0NzoxMSswMDowMBW66pgAAAqmSURBVHhe7Vp5UFXnHT3P99hBoE8ElU1c0AZcQNQILilqQswkLjE1OqOpreIaxpo2Zqxb1ETTqRoXjDXWxCW2dbJYa5RixSWKG8ggIeCGskZAfCAgAu/dnu/dywSdjtM/+vBevWfm8y7v3svzO/d3zvnd+wyYCQlqhScgrVPWnxG0U5Y6VAKdEJVBJ0Rl0AlRGXRCVAadEJVBJ0Rl0AlRGXRCVAadEJVBJ0Rl0AlRGdRNiEFZPkNQFyFWjiaO+xz1HHc5njE8+cfvNg5Bwj0gPATobwZiewI9AwAzb5cKNyCgklzl87DvgE6XAP+rgKv95KcPT44QQUQD0N4ZWPg8sPQNbntxUKYqCoDMQsCP2zZuG8u5jAJC/eynoI7j9jIgZB0QXMuNpwhPhpBGDsrTtpeBmZO43gwk7wc+zwDO3+K2kYMzf4mT3sT1mL7cJso4qgZSyaaRiDmAO7eztgBR84Cf2Y/QPtqeEN7R8UHA0SVc54zO4V2+9TzXnZQhyBBgGWQvAh5we0Cksq8VLBxZc4GIzUA11yuGAoMpaVpH2xJCk14eDyxLBNLORmDet14ob7DB3RuQ7IlKkr8M/7GwQg6/LqGZPtJrnIRGX7GfHxh4IJfOrCrPMgk5YQZUrrfgxcHXcfI9kr1GXEC7aDtCeBtvfBWYOxbY9S+g26530PHQHlye74L4ZMDXk8fYSbH/gybK2rfhVDZWyEB6iiu9RviJgInf+HatAanzgaFr7qN+8lyUJCxB3GvA1T8CwxfLx2kRRkRjubLuOFBfFsXQlDmpdk+IpXIlB+HYzHN4YK5GUVQ1Ig+TsToxeDBHXrAFWUkWVPe3oHOmBaHXLfCwyMOt2oJDf7BAcrGgIK6Wn4XjufcvwplprTaMgYCXCM9S/rbG4Pg+hNLSn57x4TvA5F8BQVxPv8jd9UaM+DUQ+AsgerBybCuYPVgZL9EXODq0V3a2QswQnpsADJtMBaOuebN6ztFHynKA7jT6lGDlQI3BsZIlrsz+4vLvGVG7MdW2mtjU0ZMRUPQFIKqGRt+lQyykHqGQmppgbJZQ2ImFFST8AvApsiG4VIK1HTdMJhhzr6HoQSac2IwYKG0VA+bA/FEyuncGcm6QdPYyqSRmalyLAGoHjiWE0TaWSSp1BXDsDH2CxuzEJBVB+cpIeBNxR/YpBwLFKSkIHD1a2ZJRIbp1zqgfm8PWKN6/H4FviMZFxncz5sA9IRmN35CM00Au43TcRuAmG8zebCK1BMdKFjV9Ov1CEkkpFBhCmYkhGYU/0qBFYmqNmhplRcaF78sRMmoHeiR8hpT0ImWvgtqHu0Fh/FHjKW+7WGnXSfgm+alLWZL8uZbgWEJortOZrA6kUdc/AM6my7vDA+Tl4+DibITZxxUBZjcmrJbm5H8D1Q7ZX7N5ZJ8iehQtwXGEUK4iu3NJudl+ikv2FdN2M8r+gzpfyN0skO+5ey97knIuRZRtjT49zBj/QlfE9QvA8GiaQyuYbIy9XH7Obv0Kl66sxMyDNPUZjL3RdtuCYSvDAJc14jtoCA6tEI8H1PF8YDXlRPoSyN8AvEx9ryc5tnsS0tZz8voAxxfw2AYj8subcCb7NrLyK+3nT38tHElvRsJqteHytSqk87Pc2428rhGpbAIbetCf/sQDebgUBYT9mRmBCa6e5BqZ6q7fBEpp8FqC4whh3J3IOOtP/SipAxKW0nB/xzuX5AxaDXizguKmUPOHUf85ma5OJny48xJipx/Aos3nUVBSg5GzD2FM0mFcyr+D97dnYsjUr7Hq00twYzIYMADoPJLXmMC/xf9FdBdemwHAxIoopt8HUOVCWFj1w+WvoxU4jhBOSD6ro7RUlphwEhNI+erIPkRoSg19xKUvvYUeUzeTFeNFkryYgRua4cOll4czrDYJzVaJ607w9mQ8E5+1d4aN8fn+NPlc0/M8n9pE/mFlDK5jx2/i51UMDtcZgctL7N9GM3AcIbxbr3Diu/XiZLNX2MAmMH0ltZ9Nm/QVJ/C+hN5ljKUFQN/7TEVWK1bO6odJlKlVs2PQgYa+avYALJgSifAQHyybGY1J43tjRWJ/3G1sRH8GLXHuc7yGEyWwhDJl4nVc2KH7f0rCSFIf/u3O9CstwaEeUqWEo0/YgxgoLd3eBUYtBn67hzsf6b6bS39Ee36bfavj0T3IGzV1jXB3dUJHXzdUWhoQ5O+JfR/Ew080kuWyx7TARp+4uZxxmo2gE0nw5M3gRm8R701ChftrCA6VrOxrXNLYE9l/wAe4wVbjKKVk/b+BM50ejrKG9SydVvihwIIV2zOwbm82LuZWKHtlGDZtU9ZkNEcxIlPC3NmDdKZMiueUNbPkyOslYpiG4NAKESTsPgBMYLISxNifCYj35pSYTd7iLZWMPN7R90pzUPa3VGUPzb6jB0rK65B304JAfw9lLz1p1yFY7l7FVZ4jUA1XdJl4BxFdAV/K18n5vBG4P4bh4dYn9q+gKTj2aS8nrYCTNGsMJzIXuEPnpQVgE1PQ2ik/4MqtRNRlZeDUMfYkgzihR3ZTqvqhQ99eaE9THxQdhHHxPTCsj5/9cnk7v0TlibE4xRBQPI+pjX3NldnvoS5kC4IZEgRtQQnACVZkaBj/c6wav4fVTfVw/PuQu0DaW0AEieggWmjiYgZwKAc4XTUQe3fUYt+CXPRiP3Kvin3KSyQuOBTtliyGe+xgGCQb6k6lw7ZyNXxLipBC8jw481d4jdgtg+Fz0Ygg42kcPw4MZ8R1pscIfHEUmDxKXtcSHE8Iq2KoP5DC5i/tLLCIHfVl8dDwDgejbmTXcbjwl8s4uvIaxsy2n/FYiN9GpNBCopdF4vjcfhjx9m77jyGqSOaJEyQplimLfy+N5LxwUj5HS3D8Cyq6VCE9ubYYmM/o+3P2CtsTgfcpJxOYiHw883D+1UgMWTsI5nLxMOXxENZhrfwNTq+gT5R9hSL2NvXMB24c5eVAIx29KJk3wWfy8VpD273CtQAf00vengrs/zvw1zy5kx/eDejEUct749w3b6H7tkYEHzsIQyNPaIU73maUvTIWeYnuiBy6FV1YegUMB+0oYbXsa268CPxyIlMcyYiYy7SlnKc1tB0hAvSTNZy4d1kpR9KAhM3K/ib6QkegZzCbOxdutxsB5+YuWBxmRZPJAJ89JpjcCuFWeQKBbP4kxluJYYHKBBYeig8DUfSek6yakY5/Ie1QtC0hAuxFXmFFHFzKdRpwEhu4jee4LogQrYkYQpfYiWcvoQSZ6BeUtkfBdgaZSSRig/zL07LRwJCfUrNm4dg+5L+BHfo/SzjvM4C9lJqPF/Ju38sozAmNsT8v5xAtNuXIylZFPHZpAQsD52No6ptIFG+jWJKRs1PuzJ8GMgTavkJaIOIS05afOyVsGLDwdW4rr2pvc+YzioAA5aekNvGGMZqSRo0SDxHF+8LStfSJj4AwpqunCU+OkBYIYkQVcJYjQ1klbPBafmztSzKK2HN04qTbf2x9GjBf4DbD2E+9+9OFJ09Ia4jHKi1DEMWILO3g8hlC23vI4yAMXXTaQrpECWjtQdT/Aeoi5FGop3bbDOom5BmETojKoBOiMuiEqAw6ISqDTojKoBOiMuiEqAw6ISqDTojKoBOiMuiEqArAfwA3sz2PNAAnOAAAAABJRU5ErkJggg==",R="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAA8CAYAAACQPx/OAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABYlAAAWJQFJUiTwAAAABmJLR0QA/wD/AP+gvaeTAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIyLTA0LTE5VDE0OjE0OjUwKzAwOjAwTEqdMwAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMi0wNC0xOVQxNDoxNDo1MCswMDowMD0XJY8AAAMuSURBVHhe7ZlNS1tBFIbfW6GtSlKtWq1fEUFRV7YqKnSl2J/gQlddhkKLggvpwqUFbUUphC4LutGlC1FRKBTUJraiVENsYlQUv9JoxCi1cjtnvN102dUZex6Y5GRmzkDmSWbunWvZ72tsCGy45bwLTBAhzBAhzBAhzBAhzBAhzBAhzBAhzBAhzBAhzBAhzBAhzBAhzBAhzBAhzBAhzBAhzBAhzLDs/ofyCJcRlq1wYoEBsmQxw1gho6NB1NV9gGX1qPLCKT26jtpMxbgla3FxD7W171SUjo6OerS3V6G8PBP0LdbX4xgZWcXAwIJqTyIQeI6amjydZwwkxBQGBwNq2jvtV68+OjW2vbJyYMdiSV0o/gP1ob5DQwGnxgyMETI5GVET/MwOhX7Yl5dX9sXFL9vv37WHh7/Zm5snulBMddRGfagv5VCuKRizZFlWJ2ZmXqKpyYO9vTMsLe1jf/8MGRl3sbNzqvsUFLhwfHyB3Nx0VFfnIi8vHbOzm2huHlQ/vLe6D3eM2NT7+z+r1wwtIxw+1pNcWOjCxsYJxse/Y2IiogvF0eiJbqM+4XBc51Du9Rj8MUKIz/cFvb1P9a9fLU3weNyYno7qTTwnJw1FRW5dKA6F4rqtpMSNra2EzqFcn++rMxpvjBASiRyqyU6Fy3UbVVXZ+opqfn5XLU1pCAZjarI/6UIxLVdzc7u4urJRWZmlc7KzU9UYB85ovJEbQ2YYIaS0NAeHh+c4Pf2J1dUjtcEDDQ35alNPoqIiC17vE10opo2+sTEfKSkW1tZiOufo6FyN8cAZjTdGCPF6H6O7e0pfUXk899Q+kkBLSwnKyjKVqCS2txO6UEw3idQWjSZQXOzWOZTr9T5yRuPNf3LZO6T2nTe6D3tIiAlMTf37jSHlmoIxQgg6Bvn76GR5+WYdnRh/uNjWdn24SNyEw0VjH1CNjQXR17cAvz+iPsWvK5GpZJWiq6sera0VTp1ZGCvkpiI3hsyw0A35hzDCuv/6jghhhCxZzBAhzBAhzBAhzBAhzBAhzBAhzBAhzBAhzBAhzBAhzBAhzBAhzBAhzBAhzBAhzBAhzBAhrAB+A0h3IP0H6HbcAAAAAElFTkSuQmCC",D="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAA8CAYAAACQPx/OAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAWJLR0QZ7G61iAAAAAd0SU1FB+cDDgwcIcPuOB4AAAAldEVYdGRhdGU6Y3JlYXRlADIwMjMtMDMtMTRUMTI6Mjg6MzMrMDA6MDDMqnqpAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIzLTAzLTE0VDEyOjI4OjMzKzAwOjAwvffCFQAABnlJREFUeF7tm3tsFEUcx79777u+W2gLLYX4AEJSFBBoY1AUI0TQ+A8REgSBCL6i9S9jBEMEYvxLBaNgCIhiYiQmihADIoKAIChEERMxJtB3Kdf2+rj37fqbucG03EGht3eZHvNpLnszO3e7t9/9Pea3U63BU2ZAIQ0WsVVIghJEMpQgkqEEkQwliGQoQSRDCSIZShDJUIJIhhJEMpQgkqEEkQw5BDFUffMqGa32GrEYjFAQBkLUitA2EY3/OaBZXIDTCU3TxJ7bg4wIYgRD0HUfXWgnPIsWwz1/Lhw102G/6w4xIg4bF/nzPIJHjiPw1R4EThwkEyZxHHnQbDYxKrtJqyBGJIJYpAOu6loUbnoHrtmzxJ6bp2fzVnTVvUaC9sHiKiLLye6wlzZBdH8XLLnFKD26H457q0Xv0OnZtAXeV56H1VoIjVxZtmK6IAYF6FjgMvKWrUbJJ1tE7/UxdB29H25DcN9+hE+fQdRbT7FFJ/dmga2kCo7pU+FaMA95Lz7LxzdXTkS0qR4WTz5vZxumCnJVjBFbtyN31XLRm5xoUwu8i5cjQBbE4gRFcGh2O8gE6KwokLPMiyUB5PZASYCOMDxzHkfpwT1of+IpBL7dQ6IU8O/KJkx1yHExdgwqRsfKl9BYORqhYydgdZfShS2il4cLwmIEy6z4ltqsn+1n44KHjuAi7XPOnA73Y/MpCQiKb8weTLMQFjNylj6Dkp03dlNN5Xcj2nYJFjcF6CGktMwKjUA3xaVpiDU0Qu/zDwj0bP9wTpVNEcSIRAGbFWP8baInOY0FldC7fXTH54ieoWNE6ZjMiq4Rwwj0QnPnDltRTHFZsYgXpd9/I1rJaXtgHonRYYoYDDYvuTYFZpYz4svPuetk4gxHUhbECIdhHz0ezvtrRE8igQM/xIN3mjMjA0F4Fj6JojXroQfaRe9AmGWxioGspC5ItA8F614XreR4Fy6D1V4sWulF93WjYP0auGbOprjWE3djFPxZjIuSS7WOKodtbJW0oqQmCP1Ylo7mLF8iOhIJn/sL0e6meEqbQcpOHoLmcHP3ZZ82BUXvvYuxlEKXnzuJ8IXfefyRkZTOyojpsLpG3rDO5N/1BR3ELVrpgVtBKEw3B9Hvzq/sasQ42ld+6kfk0SyfnWdDfh4szqFleJkgtdskGoFjymTRSE7o51P049nEz1zYDF/3+xHze7kV2O4ch+K1G2ApLhIjKPC7XeJdnMaiKjKMQmhs8ikpqVkIXRRLWaloJSfW2ESzb3PdAz+ux43cFU+jdO9ebgWj/j6DgrfeECMSaat9BHpXOzSX3HUwOR3pbUxKgrB5gN52WbSSYx1TQWbCvbtp8OP6A+jd/hkuL1jAyyktE6bC9+ZGMSKRMvZspXAkf+YiM6lZiM2O8Nk/RCM5ztoZFHTDomUeTBRW57J6SnidK/rvRXRQuqt3dIoR5NoCA2tdlZ310PWu7J2HaBQbYsH2eBnjOniWLKLsJyBa6YEXI52O+I/pF7AbCyu59bTOeAg973/Ez3NMdw/0UKe0M/nULIR+LCud9+3YJToScVRPgi2/QpTRM0dbzcMwwgFuPZHfzqKz7lVcorlQa3UNHOPvoRmkuW7ULFIThNBsOfCte1u0klOyeyd/lJsJLAX58FH6G/zlMLm0vLj1uFz0vhA2TxliLa2IXqqXNvVNXRCHA5HmCwgdPyl6EnE/OgfuWXMpEHeLnvSgwQX/7q/RuWEtLO6RoncgvCgp8Twks+V38um6T5Xfb0TKFsLQ7Da6ED54lz0nepLDShnW8nKaXXcMOaiyz+l+H+yTJkLL8fBJ4lW4exrGYjBMEYTBfHTPp1vR+/EO0ZOcipZ/kLdyFS93sLnEzQoTFyLAP1e4cT2v2hqdXQnPRIazGAzTBGGwjObK6hWDilK87QNUNjXDOatWCNNJLz/PxNgdz10P21Kb9bP9bJxrzoO8TBI6cRqB7/bxYJ1tpG8Z0NLVgz5fZ7AL//8yoF/PIHql3zKgEVVw3DdwGVBTxQTEmhvIItUyoFuCL5TLKULpsQPmLJSjiZ237oWsXyhnqsvqD4sp7PFu85TJaJ1ci+Dho2LPrdGzeQsaSISOupfjz16yWAxG2iykP7e02PrceQR/UoutM4L6d4TByaggisFJWwxRDA0liGQoQSRDCSIZShDJUIJIhhJEMpQgkqEEkQwliGQoQSRDCSIZShCpAP4Dufen1SHX50kAAAAASUVORK5CYII=";export{A as _,B as a,g as b,E as c,Q as d,M as e,Y as f,I as g,C as h,R as i,D as j}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/use-panel.c35d3e1e.js b/resources/[tools]/unlimited-spectre/html/assets/use-panel.c35d3e1e.js deleted file mode 100644 index 39c1dddaa..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/use-panel.c35d3e1e.js +++ /dev/null @@ -1 +0,0 @@ -import{ax as R,av as b,n as U,ay as j,an as q,az as T,aB as $,ap as E,am as V,k as I,q as m,d as G,h as H,x as C,ao as J,a4 as Q,A as F,z as Z,bA as ee}from"./app-014d9ed9.js";import{g as z,s as L}from"./touch.70a9dd44.js";import{c as te}from"./selection.2a17b691.js";function ne(t){const i=[.06,6,50];return typeof t=="string"&&t.length&&t.split(":").forEach((u,d)=>{const r=parseFloat(u);r&&(i[d]=r)}),i}const ie=R({name:"touch-swipe",beforeMount(t,{value:i,arg:u,modifiers:d}){if(d.mouse!==!0&&b.has.touch!==!0)return;const r=d.mouseCapture===!0?"Capture":"",e={handler:i,sensitivity:ne(u),direction:z(d),noop:U,mouseStart(o){L(o,e)&&j(o)&&(q(e,"temp",[[document,"mousemove","move",`notPassive${r}`],[document,"mouseup","end","notPassiveCapture"]]),e.start(o,!0))},touchStart(o){if(L(o,e)){const c=o.target;q(e,"temp",[[c,"touchmove","move","notPassiveCapture"],[c,"touchcancel","end","notPassiveCapture"],[c,"touchend","end","notPassiveCapture"]]),e.start(o)}},start(o,c){b.is.firefox===!0&&T(t,!0);const f=$(o);e.event={x:f.left,y:f.top,time:Date.now(),mouse:c===!0,dir:!1}},move(o){if(e.event===void 0)return;if(e.event.dir!==!1){E(o);return}const c=Date.now()-e.event.time;if(c===0)return;const f=$(o),h=f.left-e.event.x,l=Math.abs(h),g=f.top-e.event.y,s=Math.abs(g);if(e.event.mouse!==!0){if(le.sensitivity[0]&&(e.event.dir=g<0?"up":"down"),e.direction.horizontal===!0&&l>s&&s<100&&v>e.sensitivity[0]&&(e.event.dir=h<0?"left":"right"),e.direction.up===!0&&le.sensitivity[0]&&(e.event.dir="up"),e.direction.down===!0&&l0&&l<100&&y>e.sensitivity[0]&&(e.event.dir="down"),e.direction.left===!0&&l>s&&h<0&&s<100&&v>e.sensitivity[0]&&(e.event.dir="left"),e.direction.right===!0&&l>s&&h>0&&s<100&&v>e.sensitivity[0]&&(e.event.dir="right"),e.event.dir!==!1?(E(o),e.event.mouse===!0&&(document.body.classList.add("no-pointer-events--children"),document.body.classList.add("non-selectable"),te(),e.styleCleanup=A=>{e.styleCleanup=void 0,document.body.classList.remove("non-selectable");const x=()=>{document.body.classList.remove("no-pointer-events--children")};A===!0?setTimeout(x,50):x()}),e.handler({evt:o,touch:e.event.mouse!==!0,mouse:e.event.mouse,direction:e.event.dir,duration:c,distance:{x:l,y:s}})):e.end(o)},end(o){e.event!==void 0&&(V(e,"temp"),b.is.firefox===!0&&T(t,!1),e.styleCleanup!==void 0&&e.styleCleanup(!0),o!==void 0&&e.event.dir!==!1&&E(o),e.event=void 0)}};if(t.__qtouchswipe=e,d.mouse===!0){const o=d.mouseCapture===!0||d.mousecapture===!0?"Capture":"";q(e,"main",[[t,"mousedown","mouseStart",`passive${o}`]])}b.has.touch===!0&&q(e,"main",[[t,"touchstart","touchStart",`passive${d.capture===!0?"Capture":""}`],[t,"touchmove","noop","notPassiveCapture"]])},updated(t,i){const u=t.__qtouchswipe;u!==void 0&&(i.oldValue!==i.value&&(typeof i.value!="function"&&u.end(),u.handler=i.value),u.direction=z(i.modifiers))},beforeUnmount(t){const i=t.__qtouchswipe;i!==void 0&&(V(i,"main"),V(i,"temp"),b.is.firefox===!0&&T(t,!1),i.styleCleanup!==void 0&&i.styleCleanup(),delete t.__qtouchswipe)}});function oe(){const t=new Map;return{getCache:function(i,u){return t[i]===void 0?t[i]=u:t[i]},getCacheWithFn:function(i,u){return t[i]===void 0?t[i]=u():t[i]}}}const ue={name:{required:!0},disable:Boolean},W={setup(t,{slots:i}){return()=>C("div",{class:"q-panel scroll",role:"tabpanel"},F(i.default))}},le={modelValue:{required:!0},animated:Boolean,infinite:Boolean,swipeable:Boolean,vertical:Boolean,transitionPrev:String,transitionNext:String,transitionDuration:{type:[String,Number],default:300},keepAlive:Boolean,keepAliveInclude:[String,Array,RegExp],keepAliveExclude:[String,Array,RegExp],keepAliveMax:Number},ce=["update:modelValue","before-transition","transition"];function de(){const{props:t,emit:i,proxy:u}=H(),{getCacheWithFn:d}=oe();let r,e;const o=I(null),c=I(null);function f(n){const a=t.vertical===!0?"up":"left";P((u.$q.lang.rtl===!0?-1:1)*(n.direction===a?1:-1))}const h=m(()=>[[ie,f,void 0,{horizontal:t.vertical!==!0,vertical:t.vertical,mouse:!0}]]),l=m(()=>t.transitionPrev||`slide-${t.vertical===!0?"down":"right"}`),g=m(()=>t.transitionNext||`slide-${t.vertical===!0?"up":"left"}`),s=m(()=>`--q-transition-duration: ${t.transitionDuration}ms`),v=m(()=>typeof t.modelValue=="string"||typeof t.modelValue=="number"?t.modelValue:String(t.modelValue)),y=m(()=>({include:t.keepAliveInclude,exclude:t.keepAliveExclude,max:t.keepAliveMax})),A=m(()=>t.keepAliveInclude!==void 0||t.keepAliveExclude!==void 0);G(()=>t.modelValue,(n,a)=>{const p=S(n)===!0?k(n):-1;e!==!0&&D(p===-1?0:p{i("transition",n,a)}))});function x(){P(1)}function _(){P(-1)}function B(n){i("update:modelValue",n)}function S(n){return n!=null&&n!==""}function k(n){return r.findIndex(a=>a.props.name===n&&a.props.disable!==""&&a.props.disable!==!0)}function K(){return r.filter(n=>n.props.disable!==""&&n.props.disable!==!0)}function D(n){const a=n!==0&&t.animated===!0&&o.value!==-1?"q-transition--"+(n===-1?l.value:g.value):null;c.value!==a&&(c.value=a)}function P(n,a=o.value){let p=a+n;for(;p>-1&&p{e=!1});return}p+=n}t.infinite===!0&&r.length>0&&a!==-1&&a!==r.length&&P(n,n===-1?r.length:-1)}function N(){const n=k(t.modelValue);return o.value!==n&&(o.value=n),!0}function M(){const n=S(t.modelValue)===!0&&N()&&r[o.value];return t.keepAlive===!0?[C(ee,y.value,[C(A.value===!0?d(v.value,()=>({...W,name:v.value})):W,{key:v.value,style:s.value},()=>n)])]:[C("div",{class:"q-panel scroll",style:s.value,key:v.value,role:"tabpanel"},[n])]}function X(){if(r.length!==0)return t.animated===!0?[C(J,{name:c.value},M)]:M()}function Y(n){return r=Q(F(n.default,[])).filter(a=>a.props!==null&&a.props.slot===void 0&&S(a.props.name)===!0),r.length}function O(){return r}return Object.assign(u,{next:x,previous:_,goTo:B}),{panelIndex:o,panelDirectives:h,updatePanelsList:Y,updatePanelIndex:N,getPanelContent:X,getEnabledPanels:K,getPanels:O,isValidPanelName:S,keepAliveProps:y,needsUniqueKeepAliveWrapper:A,goToPanelByOffset:P,goToPanel:B,nextPanel:x,previousPanel:_}}export{ue as a,le as b,ce as c,de as d,oe as u}; diff --git a/resources/[tools]/unlimited-spectre/html/assets/utils.9ce591f3.js b/resources/[tools]/unlimited-spectre/html/assets/utils.9ce591f3.js deleted file mode 100644 index 6458d3dcf..000000000 --- a/resources/[tools]/unlimited-spectre/html/assets/utils.9ce591f3.js +++ /dev/null @@ -1 +0,0 @@ -import{ae as o,aq as s,ar as c}from"./app-014d9ed9.js";const t=o(s),i=e=>e.header?"vertical-nav-menu-header":e.children?"vertical-nav-menu-group":"vertical-nav-menu-link",n=(e,r)=>c.can?c.can(e,r)||t.IS_MASTER_USER:!0,l=e=>n(e.action,e.resource),v=e=>{const r=e.children.some(a=>n(a.action,a.resource));return e.action&&e.resource?n(e.action,e.resource)&&r:r},d=e=>e.children.some(r=>n(r.action,r.resource));export{d as a,v as b,l as c,n as d,i as r}; diff --git a/resources/[tools]/unlimited-spectre/html/index.html b/resources/[tools]/unlimited-spectre/html/index.html deleted file mode 100644 index ca9846c53..000000000 --- a/resources/[tools]/unlimited-spectre/html/index.html +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - Unlimited - Spectre - - - - - - -
- -
-
-
-
-
-
-
- - - - diff --git a/resources/[tools]/unlimited-spectre/log.log b/resources/[tools]/unlimited-spectre/log.log deleted file mode 100644 index 6a4b8db3d..000000000 --- a/resources/[tools]/unlimited-spectre/log.log +++ /dev/null @@ -1,6715 +0,0 @@ -[info][UnlSpectre][2025/04/25 00:30:36]: Successfully registered Exports -[info][UnlSpectre][2025/04/25 00:30:36]: Successfully loaded Items -[info][UnlSpectre][2025/04/25 00:30:36]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/25 00:30:36]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/25 00:30:36]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/25 00:30:36]: Successfully started GameController -[info][UnlSpectre][2025/04/25 00:30:36]: Successfully started PlayerController -[info][UnlSpectre][2025/04/25 00:30:36]: Successfully started VehicleController -[info][UnlSpectre][2025/04/25 00:30:36]: Setup Mode detected. -[info][UnlSpectre][2025/04/25 00:30:36]: Generated Setup Token. -[info][UnlSpectre][2025/04/25 00:30:37]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/25 10:09:29]: Successfully registered Exports -[info][UnlSpectre][2025/04/25 10:09:29]: Successfully loaded Items -[info][UnlSpectre][2025/04/25 10:09:29]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/25 10:09:29]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/25 10:09:29]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/25 10:09:29]: Successfully started GameController -[info][UnlSpectre][2025/04/25 10:09:29]: Successfully started PlayerController -[info][UnlSpectre][2025/04/25 10:09:29]: Successfully started VehicleController -[info][UnlSpectre][2025/04/25 10:09:29]: Setup Mode detected. -[info][UnlSpectre][2025/04/25 10:09:29]: Generated Setup Token. -[info][UnlSpectre][2025/04/25 10:09:30]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/25 10:16:59]: Successfully registered Exports -[info][UnlSpectre][2025/04/25 10:16:59]: Successfully loaded Items -[info][UnlSpectre][2025/04/25 10:16:59]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/25 10:16:59]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/25 10:16:59]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/25 10:16:59]: Successfully started GameController -[info][UnlSpectre][2025/04/25 10:16:59]: Successfully started PlayerController -[info][UnlSpectre][2025/04/25 10:16:59]: Successfully started VehicleController -[info][UnlSpectre][2025/04/25 10:17:00]: Setup Mode detected. -[info][UnlSpectre][2025/04/25 10:17:00]: Generated Setup Token. -[info][UnlSpectre][2025/04/25 10:17:01]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/25 10:56:39]: Successfully registered Exports -[info][UnlSpectre][2025/04/25 10:56:40]: Successfully loaded Items -[info][UnlSpectre][2025/04/25 10:56:40]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/25 10:56:40]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/25 10:56:40]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/25 10:56:40]: Successfully started GameController -[info][UnlSpectre][2025/04/25 10:56:40]: Successfully started PlayerController -[info][UnlSpectre][2025/04/25 10:56:40]: Successfully started VehicleController -[info][UnlSpectre][2025/04/25 10:56:40]: Setup Mode detected. -[info][UnlSpectre][2025/04/25 10:56:40]: Generated Setup Token. -[info][UnlSpectre][2025/04/25 10:56:41]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/25 10:59:45]: Successfully registered Exports -[info][UnlSpectre][2025/04/25 10:59:45]: Successfully loaded Items -[info][UnlSpectre][2025/04/25 10:59:45]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/25 10:59:45]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/25 10:59:45]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/25 10:59:45]: Successfully started GameController -[info][UnlSpectre][2025/04/25 10:59:45]: Successfully started PlayerController -[info][UnlSpectre][2025/04/25 10:59:45]: Successfully started VehicleController -[info][UnlSpectre][2025/04/25 10:59:45]: Setup Mode detected. -[info][UnlSpectre][2025/04/25 10:59:45]: Generated Setup Token. -[info][UnlSpectre][2025/04/25 10:59:46]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/25 11:34:19]: Successfully registered Exports -[info][UnlSpectre][2025/04/25 11:34:19]: Successfully loaded Items -[info][UnlSpectre][2025/04/25 11:34:19]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/25 11:34:19]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/25 11:34:19]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/25 11:34:19]: Successfully started GameController -[info][UnlSpectre][2025/04/25 11:34:19]: Successfully started PlayerController -[info][UnlSpectre][2025/04/25 11:34:19]: Successfully started VehicleController -[info][UnlSpectre][2025/04/25 11:34:20]: Setup Mode detected. -[info][UnlSpectre][2025/04/25 11:34:20]: Generated Setup Token. -[info][UnlSpectre][2025/04/25 11:34:20]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/25 11:50:28]: Successfully registered Exports -[info][UnlSpectre][2025/04/25 11:50:28]: Successfully loaded Items -[info][UnlSpectre][2025/04/25 11:50:28]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/25 11:50:28]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/25 11:50:28]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/25 11:50:28]: Successfully started GameController -[info][UnlSpectre][2025/04/25 11:50:28]: Successfully started PlayerController -[info][UnlSpectre][2025/04/25 11:50:28]: Successfully started VehicleController -[info][UnlSpectre][2025/04/25 11:50:28]: Setup Mode detected. -[info][UnlSpectre][2025/04/25 11:50:28]: Generated Setup Token. -[info][UnlSpectre][2025/04/25 11:50:29]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/25 12:25:08]: Successfully registered Exports -[info][UnlSpectre][2025/04/25 12:25:08]: Successfully loaded Items -[info][UnlSpectre][2025/04/25 12:25:08]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/25 12:25:08]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/25 12:25:08]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/25 12:25:08]: Successfully started GameController -[info][UnlSpectre][2025/04/25 12:25:08]: Successfully started PlayerController -[info][UnlSpectre][2025/04/25 12:25:08]: Successfully started VehicleController -[info][UnlSpectre][2025/04/25 12:25:09]: Setup Mode detected. -[info][UnlSpectre][2025/04/25 12:25:09]: Generated Setup Token. -[info][UnlSpectre][2025/04/25 12:25:09]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/25 12:46:49]: Successfully registered Exports -[info][UnlSpectre][2025/04/25 12:46:49]: Successfully loaded Items -[info][UnlSpectre][2025/04/25 12:46:49]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/25 12:46:49]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/25 12:46:49]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/25 12:46:49]: Successfully started GameController -[info][UnlSpectre][2025/04/25 12:46:49]: Successfully started PlayerController -[info][UnlSpectre][2025/04/25 12:46:49]: Successfully started VehicleController -[info][UnlSpectre][2025/04/25 12:46:49]: Setup Mode detected. -[info][UnlSpectre][2025/04/25 12:46:49]: Generated Setup Token. -[info][UnlSpectre][2025/04/25 12:46:50]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/25 15:57:46]: Successfully registered Exports -[info][UnlSpectre][2025/04/25 15:57:46]: Successfully loaded Items -[info][UnlSpectre][2025/04/25 15:57:46]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/25 15:57:46]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/25 15:57:46]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/25 15:57:46]: Successfully started GameController -[info][UnlSpectre][2025/04/25 15:57:46]: Successfully started PlayerController -[info][UnlSpectre][2025/04/25 15:57:46]: Successfully started VehicleController -[info][UnlSpectre][2025/04/25 15:57:46]: Setup Mode detected. -[info][UnlSpectre][2025/04/25 15:57:46]: Generated Setup Token. -[info][UnlSpectre][2025/04/25 15:57:47]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/25 18:01:11]: Successfully registered Exports -[info][UnlSpectre][2025/04/25 18:01:11]: Successfully loaded Items -[info][UnlSpectre][2025/04/25 18:01:11]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/25 18:01:11]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/25 18:01:11]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/25 18:01:11]: Successfully started GameController -[info][UnlSpectre][2025/04/25 18:01:11]: Successfully started PlayerController -[info][UnlSpectre][2025/04/25 18:01:11]: Successfully started VehicleController -[info][UnlSpectre][2025/04/25 18:01:11]: Setup Mode detected. -[info][UnlSpectre][2025/04/25 18:01:11]: Generated Setup Token. -[info][UnlSpectre][2025/04/25 18:01:12]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/25 18:02:06]: Successfully registered Exports -[info][UnlSpectre][2025/04/25 18:02:06]: Successfully loaded Items -[info][UnlSpectre][2025/04/25 18:02:06]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/25 18:02:06]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/25 18:02:06]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/25 18:02:06]: Successfully started GameController -[info][UnlSpectre][2025/04/25 18:02:06]: Successfully started PlayerController -[info][UnlSpectre][2025/04/25 18:02:06]: Successfully started VehicleController -[info][UnlSpectre][2025/04/25 18:02:06]: Setup Mode detected. -[info][UnlSpectre][2025/04/25 18:02:06]: Generated Setup Token. -[info][UnlSpectre][2025/04/25 18:02:07]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/25 18:20:40]: Successfully registered Exports -[info][UnlSpectre][2025/04/25 18:20:40]: Successfully loaded Items -[info][UnlSpectre][2025/04/25 18:20:40]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/25 18:20:40]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/25 18:20:40]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/25 18:20:40]: Successfully started GameController -[info][UnlSpectre][2025/04/25 18:20:40]: Successfully started PlayerController -[info][UnlSpectre][2025/04/25 18:20:40]: Successfully started VehicleController -[info][UnlSpectre][2025/04/25 18:20:40]: Setup Mode detected. -[info][UnlSpectre][2025/04/25 18:20:40]: Generated Setup Token. -[info][UnlSpectre][2025/04/25 18:20:41]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/25 19:32:58]: Successfully registered Exports -[info][UnlSpectre][2025/04/25 19:32:58]: Successfully loaded Items -[info][UnlSpectre][2025/04/25 19:32:58]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/25 19:32:58]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/25 19:32:58]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/25 19:32:58]: Successfully started GameController -[info][UnlSpectre][2025/04/25 19:32:58]: Successfully started PlayerController -[info][UnlSpectre][2025/04/25 19:32:58]: Successfully started VehicleController -[info][UnlSpectre][2025/04/25 19:32:58]: Setup Mode detected. -[info][UnlSpectre][2025/04/25 19:32:58]: Generated Setup Token. -[info][UnlSpectre][2025/04/25 19:32:59]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/25 20:08:33]: Successfully registered Exports -[info][UnlSpectre][2025/04/25 20:08:33]: Successfully loaded Items -[info][UnlSpectre][2025/04/25 20:08:33]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/25 20:08:33]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/25 20:08:33]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/25 20:08:33]: Successfully started GameController -[info][UnlSpectre][2025/04/25 20:08:33]: Successfully started PlayerController -[info][UnlSpectre][2025/04/25 20:08:33]: Successfully started VehicleController -[info][UnlSpectre][2025/04/25 20:08:34]: Setup Mode detected. -[info][UnlSpectre][2025/04/25 20:08:34]: Generated Setup Token. -[info][UnlSpectre][2025/04/25 20:08:34]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/25 21:03:30]: Successfully registered Exports -[info][UnlSpectre][2025/04/25 21:03:30]: Successfully loaded Items -[info][UnlSpectre][2025/04/25 21:03:30]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/25 21:03:30]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/25 21:03:30]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/25 21:03:30]: Successfully started GameController -[info][UnlSpectre][2025/04/25 21:03:30]: Successfully started PlayerController -[info][UnlSpectre][2025/04/25 21:03:30]: Successfully started VehicleController -[info][UnlSpectre][2025/04/25 21:03:30]: Setup Mode detected. -[info][UnlSpectre][2025/04/25 21:03:30]: Generated Setup Token. -[info][UnlSpectre][2025/04/25 21:03:31]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/25 21:12:50]: Successfully registered Exports -[info][UnlSpectre][2025/04/25 21:12:50]: Successfully loaded Items -[info][UnlSpectre][2025/04/25 21:12:50]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/25 21:12:50]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/25 21:12:50]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/25 21:12:50]: Successfully started GameController -[info][UnlSpectre][2025/04/25 21:12:50]: Successfully started PlayerController -[info][UnlSpectre][2025/04/25 21:12:50]: Successfully started VehicleController -[info][UnlSpectre][2025/04/25 21:12:51]: Setup Mode detected. -[info][UnlSpectre][2025/04/25 21:12:51]: Generated Setup Token. -[info][UnlSpectre][2025/04/25 21:12:51]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/25 21:19:22]: Successfully registered Exports -[info][UnlSpectre][2025/04/25 21:19:22]: Successfully loaded Items -[info][UnlSpectre][2025/04/25 21:19:22]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/25 21:19:22]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/25 21:19:22]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/25 21:19:22]: Successfully started GameController -[info][UnlSpectre][2025/04/25 21:19:22]: Successfully started PlayerController -[info][UnlSpectre][2025/04/25 21:19:22]: Successfully started VehicleController -[info][UnlSpectre][2025/04/25 21:19:23]: Setup Mode detected. -[info][UnlSpectre][2025/04/25 21:19:23]: Generated Setup Token. -[info][UnlSpectre][2025/04/25 21:19:24]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/25 21:22:51]: Successfully registered Exports -[info][UnlSpectre][2025/04/25 21:22:51]: Successfully loaded Items -[info][UnlSpectre][2025/04/25 21:22:51]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/25 21:22:51]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/25 21:22:51]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/25 21:22:51]: Successfully started GameController -[info][UnlSpectre][2025/04/25 21:22:51]: Successfully started PlayerController -[info][UnlSpectre][2025/04/25 21:22:51]: Successfully started VehicleController -[info][UnlSpectre][2025/04/25 21:22:52]: Setup Mode detected. -[info][UnlSpectre][2025/04/25 21:22:52]: Generated Setup Token. -[info][UnlSpectre][2025/04/25 21:22:52]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/26 00:59:52]: Successfully registered Exports -[info][UnlSpectre][2025/04/26 00:59:52]: Successfully loaded Items -[info][UnlSpectre][2025/04/26 00:59:52]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/26 00:59:52]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/26 00:59:52]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/26 00:59:52]: Successfully started GameController -[info][UnlSpectre][2025/04/26 00:59:52]: Successfully started PlayerController -[info][UnlSpectre][2025/04/26 00:59:52]: Successfully started VehicleController -[info][UnlSpectre][2025/04/26 00:59:52]: Setup Mode detected. -[info][UnlSpectre][2025/04/26 00:59:52]: Generated Setup Token. -[info][UnlSpectre][2025/04/26 00:59:54]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/26 09:13:08]: Successfully registered Exports -[info][UnlSpectre][2025/04/26 09:13:08]: Successfully loaded Items -[info][UnlSpectre][2025/04/26 09:13:08]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/26 09:13:08]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/26 09:13:08]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/26 09:13:08]: Successfully started GameController -[info][UnlSpectre][2025/04/26 09:13:08]: Successfully started PlayerController -[info][UnlSpectre][2025/04/26 09:13:08]: Successfully started VehicleController -[info][UnlSpectre][2025/04/26 09:13:08]: Setup Mode detected. -[info][UnlSpectre][2025/04/26 09:13:08]: Generated Setup Token. -[info][UnlSpectre][2025/04/26 09:13:09]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/26 09:16:21]: Successfully registered Exports -[info][UnlSpectre][2025/04/26 09:16:21]: Successfully loaded Items -[info][UnlSpectre][2025/04/26 09:16:21]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/26 09:16:21]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/26 09:16:21]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/26 09:16:21]: Successfully started GameController -[info][UnlSpectre][2025/04/26 09:16:21]: Successfully started PlayerController -[info][UnlSpectre][2025/04/26 09:16:21]: Successfully started VehicleController -[info][UnlSpectre][2025/04/26 09:16:21]: Setup Mode detected. -[info][UnlSpectre][2025/04/26 09:16:21]: Generated Setup Token. -[info][UnlSpectre][2025/04/26 09:16:22]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/26 09:19:26]: Successfully registered Exports -[info][UnlSpectre][2025/04/26 09:19:26]: Successfully loaded Items -[info][UnlSpectre][2025/04/26 09:19:26]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/26 09:19:26]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/26 09:19:26]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/26 09:19:26]: Successfully started GameController -[info][UnlSpectre][2025/04/26 09:19:26]: Successfully started PlayerController -[info][UnlSpectre][2025/04/26 09:19:26]: Successfully started VehicleController -[info][UnlSpectre][2025/04/26 09:19:26]: Setup Mode detected. -[info][UnlSpectre][2025/04/26 09:19:26]: Generated Setup Token. -[info][UnlSpectre][2025/04/26 09:19:27]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/26 09:22:44]: Successfully registered Exports -[info][UnlSpectre][2025/04/26 09:22:44]: Successfully loaded Items -[info][UnlSpectre][2025/04/26 09:22:44]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/26 09:22:44]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/26 09:22:44]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/26 09:22:44]: Successfully started GameController -[info][UnlSpectre][2025/04/26 09:22:44]: Successfully started PlayerController -[info][UnlSpectre][2025/04/26 09:22:44]: Successfully started VehicleController -[info][UnlSpectre][2025/04/26 09:22:44]: Setup Mode detected. -[info][UnlSpectre][2025/04/26 09:22:44]: Generated Setup Token. -[info][UnlSpectre][2025/04/26 09:22:44]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/26 09:53:15]: Successfully registered Exports -[info][UnlSpectre][2025/04/26 09:53:15]: Successfully loaded Items -[info][UnlSpectre][2025/04/26 09:53:15]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/26 09:53:15]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/26 09:53:15]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/26 09:53:15]: Successfully started GameController -[info][UnlSpectre][2025/04/26 09:53:15]: Successfully started PlayerController -[info][UnlSpectre][2025/04/26 09:53:15]: Successfully started VehicleController -[info][UnlSpectre][2025/04/26 09:53:15]: Setup Mode detected. -[info][UnlSpectre][2025/04/26 09:53:15]: Generated Setup Token. -[info][UnlSpectre][2025/04/26 09:53:16]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/26 10:07:38]: Successfully registered Exports -[info][UnlSpectre][2025/04/26 10:07:38]: Successfully loaded Items -[info][UnlSpectre][2025/04/26 10:07:38]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/26 10:07:38]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/26 10:07:38]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/26 10:07:38]: Successfully started GameController -[info][UnlSpectre][2025/04/26 10:07:38]: Successfully started PlayerController -[info][UnlSpectre][2025/04/26 10:07:38]: Successfully started VehicleController -[info][UnlSpectre][2025/04/26 10:07:40]: Setup Mode detected. -[info][UnlSpectre][2025/04/26 10:07:40]: Generated Setup Token. -[info][UnlSpectre][2025/04/26 10:07:40]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/26 10:09:05]: Successfully registered Exports -[info][UnlSpectre][2025/04/26 10:09:05]: Successfully loaded Items -[info][UnlSpectre][2025/04/26 10:09:05]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/26 10:09:05]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/26 10:09:05]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/26 10:09:05]: Successfully started GameController -[info][UnlSpectre][2025/04/26 10:09:05]: Successfully started PlayerController -[info][UnlSpectre][2025/04/26 10:09:05]: Successfully started VehicleController -[info][UnlSpectre][2025/04/26 10:09:06]: Setup Mode detected. -[info][UnlSpectre][2025/04/26 10:09:06]: Generated Setup Token. -[info][UnlSpectre][2025/04/26 10:09:06]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/26 10:10:43]: Successfully registered Exports -[info][UnlSpectre][2025/04/26 10:10:43]: Successfully loaded Items -[info][UnlSpectre][2025/04/26 10:10:43]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/26 10:10:43]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/26 10:10:43]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/26 10:10:43]: Successfully started GameController -[info][UnlSpectre][2025/04/26 10:10:43]: Successfully started PlayerController -[info][UnlSpectre][2025/04/26 10:10:43]: Successfully started VehicleController -[info][UnlSpectre][2025/04/26 10:10:43]: Setup Mode detected. -[info][UnlSpectre][2025/04/26 10:10:43]: Generated Setup Token. -[info][UnlSpectre][2025/04/26 10:10:44]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/26 11:39:20]: Successfully registered Exports -[info][UnlSpectre][2025/04/26 11:39:20]: Successfully loaded Items -[info][UnlSpectre][2025/04/26 11:39:20]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/26 11:39:20]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/26 11:39:20]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/26 11:39:20]: Successfully started GameController -[info][UnlSpectre][2025/04/26 11:39:20]: Successfully started PlayerController -[info][UnlSpectre][2025/04/26 11:39:20]: Successfully started VehicleController -[info][UnlSpectre][2025/04/26 11:39:21]: Setup Mode detected. -[info][UnlSpectre][2025/04/26 11:39:21]: Generated Setup Token. -[info][UnlSpectre][2025/04/26 11:39:22]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/26 11:58:34]: Successfully registered Exports -[info][UnlSpectre][2025/04/26 11:58:34]: Successfully loaded Items -[info][UnlSpectre][2025/04/26 11:58:34]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/26 11:58:34]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/26 11:58:34]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/26 11:58:34]: Successfully started GameController -[info][UnlSpectre][2025/04/26 11:58:34]: Successfully started PlayerController -[info][UnlSpectre][2025/04/26 11:58:34]: Successfully started VehicleController -[info][UnlSpectre][2025/04/26 11:58:35]: Setup Mode detected. -[info][UnlSpectre][2025/04/26 11:58:35]: Generated Setup Token. -[info][UnlSpectre][2025/04/26 11:58:35]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/26 12:01:13]: Successfully registered Exports -[info][UnlSpectre][2025/04/26 12:01:13]: Successfully loaded Items -[info][UnlSpectre][2025/04/26 12:01:13]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/26 12:01:13]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/26 12:01:13]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/26 12:01:13]: Successfully started GameController -[info][UnlSpectre][2025/04/26 12:01:13]: Successfully started PlayerController -[info][UnlSpectre][2025/04/26 12:01:13]: Successfully started VehicleController -[info][UnlSpectre][2025/04/26 12:01:14]: Setup Mode detected. -[info][UnlSpectre][2025/04/26 12:01:14]: Generated Setup Token. -[info][UnlSpectre][2025/04/26 12:01:14]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/26 12:10:31]: Successfully registered Exports -[info][UnlSpectre][2025/04/26 12:10:31]: Successfully loaded Items -[info][UnlSpectre][2025/04/26 12:10:31]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/26 12:10:31]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/26 12:10:31]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/26 12:10:31]: Successfully started GameController -[info][UnlSpectre][2025/04/26 12:10:31]: Successfully started PlayerController -[info][UnlSpectre][2025/04/26 12:10:31]: Successfully started VehicleController -[info][UnlSpectre][2025/04/26 12:10:31]: Setup Mode detected. -[info][UnlSpectre][2025/04/26 12:10:31]: Generated Setup Token. -[info][UnlSpectre][2025/04/26 12:10:33]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/26 12:16:57]: Successfully registered Exports -[info][UnlSpectre][2025/04/26 12:16:57]: Successfully loaded Items -[info][UnlSpectre][2025/04/26 12:16:57]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/26 12:16:57]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/26 12:16:57]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/26 12:16:57]: Successfully started GameController -[info][UnlSpectre][2025/04/26 12:16:57]: Successfully started PlayerController -[info][UnlSpectre][2025/04/26 12:16:57]: Successfully started VehicleController -[info][UnlSpectre][2025/04/26 12:16:58]: Setup Mode detected. -[info][UnlSpectre][2025/04/26 12:16:58]: Generated Setup Token. -[info][UnlSpectre][2025/04/26 12:16:58]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/26 14:12:54]: Successfully registered Exports -[info][UnlSpectre][2025/04/26 14:12:54]: Successfully loaded Items -[info][UnlSpectre][2025/04/26 14:12:54]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/26 14:12:54]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/26 14:12:54]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/26 14:12:54]: Successfully started GameController -[info][UnlSpectre][2025/04/26 14:12:54]: Successfully started PlayerController -[info][UnlSpectre][2025/04/26 14:12:54]: Successfully started VehicleController -[info][UnlSpectre][2025/04/26 14:12:54]: Setup Mode detected. -[info][UnlSpectre][2025/04/26 14:12:54]: Generated Setup Token. -[info][UnlSpectre][2025/04/26 14:12:55]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/26 14:14:52]: Successfully registered Exports -[info][UnlSpectre][2025/04/26 14:14:52]: Successfully loaded Items -[info][UnlSpectre][2025/04/26 14:14:52]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/26 14:14:52]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/26 14:14:52]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/26 14:14:52]: Successfully started GameController -[info][UnlSpectre][2025/04/26 14:14:52]: Successfully started PlayerController -[info][UnlSpectre][2025/04/26 14:14:52]: Successfully started VehicleController -[info][UnlSpectre][2025/04/26 14:14:53]: Setup Mode detected. -[info][UnlSpectre][2025/04/26 14:14:53]: Generated Setup Token. -[info][UnlSpectre][2025/04/26 14:14:54]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/26 14:32:00]: Successfully registered Exports -[info][UnlSpectre][2025/04/26 14:32:00]: Successfully loaded Items -[info][UnlSpectre][2025/04/26 14:32:00]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/26 14:32:00]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/26 14:32:00]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/26 14:32:00]: Successfully started GameController -[info][UnlSpectre][2025/04/26 14:32:00]: Successfully started PlayerController -[info][UnlSpectre][2025/04/26 14:32:00]: Successfully started VehicleController -[info][UnlSpectre][2025/04/26 14:32:00]: Setup Mode detected. -[info][UnlSpectre][2025/04/26 14:32:00]: Generated Setup Token. -[info][UnlSpectre][2025/04/26 14:32:01]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/26 14:39:42]: Weapon log got triggered with unknow weapon hash 861723357. Maybe check your hashes.json -[info][UnlSpectre][2025/04/26 14:39:46]: Weapon log got triggered with unknow weapon hash 861723357. Maybe check your hashes.json -[info][UnlSpectre][2025/04/26 14:39:50]: Weapon log got triggered with unknow weapon hash 861723357. Maybe check your hashes.json -[info][UnlSpectre][2025/04/26 14:41:58]: Weapon log got triggered with unknow weapon hash 861723357. Maybe check your hashes.json -[info][UnlSpectre][2025/04/26 14:41:58]: Weapon log got triggered with unknow weapon hash 861723357. Maybe check your hashes.json -[info][UnlSpectre][2025/04/26 14:42:02]: Weapon log got triggered with unknow weapon hash 861723357. Maybe check your hashes.json -[info][UnlSpectre][2025/04/26 14:42:04]: Weapon log got triggered with unknow weapon hash 861723357. Maybe check your hashes.json -[info][UnlSpectre][2025/04/26 14:42:04]: Weapon log got triggered with unknow weapon hash 861723357. Maybe check your hashes.json -[info][UnlSpectre][2025/04/26 22:32:09]: Successfully registered Exports -[info][UnlSpectre][2025/04/26 22:32:09]: Successfully loaded Items -[info][UnlSpectre][2025/04/26 22:32:09]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/26 22:32:09]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/26 22:32:09]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/26 22:32:09]: Successfully started GameController -[info][UnlSpectre][2025/04/26 22:32:09]: Successfully started PlayerController -[info][UnlSpectre][2025/04/26 22:32:09]: Successfully started VehicleController -[info][UnlSpectre][2025/04/26 22:32:09]: Setup Mode detected. -[info][UnlSpectre][2025/04/26 22:32:09]: Generated Setup Token. -[info][UnlSpectre][2025/04/26 22:32:10]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/26 22:54:51]: Successfully registered Exports -[info][UnlSpectre][2025/04/26 22:54:51]: Successfully loaded Items -[info][UnlSpectre][2025/04/26 22:54:51]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/26 22:54:51]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/26 22:54:51]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/26 22:54:51]: Successfully started GameController -[info][UnlSpectre][2025/04/26 22:54:51]: Successfully started PlayerController -[info][UnlSpectre][2025/04/26 22:54:51]: Successfully started VehicleController -[info][UnlSpectre][2025/04/26 22:54:52]: HTTP Server started on port 3000. -[error][UnlSpectre][2025/04/26 23:40:48]: ENOENT: no such file or directory, scandir '/home/evolution/files/resources//[inventory]/ox_inventory/html/images' -[error][UnlSpectre][2025/04/26 23:40:55]: ENOENT: no such file or directory, scandir '/home/evolution/files/resources//[inventory]/ox_inventory/html/images' -[error][UnlSpectre][2025/04/26 23:41:09]: ENOENT: no such file or directory, scandir '/home/evolution/files/resources//[inventory]/ox_inventory/html/images' -[error][UnlSpectre][2025/04/26 23:41:32]: ENOENT: no such file or directory, scandir '/home/evolution/files/resources//[inventory]/ox_inventory/html/images' -[error][UnlSpectre][2025/04/26 23:41:41]: ENOENT: no such file or directory, scandir '/home/evolution/files/resources//[inventory]/ox_inventory/html/images' -[error][UnlSpectre][2025/04/26 23:41:58]: ENOENT: no such file or directory, scandir '/home/evolution/files/resources//[inventory]/ox_inventory/html/images' -[error][UnlSpectre][2025/04/26 23:42:57]: ENOENT: no such file or directory, scandir '/home/evolution/files/resources//[inventory]/ox_inventory/html/images' -[error][UnlSpectre][2025/04/26 23:43:07]: ENOENT: no such file or directory, scandir '/home/evolution/files/resources//[inventory]/ox_inventory/html/images' -[error][UnlSpectre][2025/04/26 23:43:18]: ENOENT: no such file or directory, scandir '/home/evolution/files/resources//[inventory]/ox_inventory/html/images' -[error][UnlSpectre][2025/04/26 23:43:34]: ENOENT: no such file or directory, scandir '/home/evolution/files/resources//[inventory]/ox_inventory/html/images' -[error][UnlSpectre][2025/04/26 23:43:36]: ENOENT: no such file or directory, scandir '/home/evolution/files/resources//[inventory]/ox_inventory/html/images' -[error][UnlSpectre][2025/04/26 23:44:22]: ENOENT: no such file or directory, scandir '/home/evolution/files/resources//[inventory]/ox_inventory/html/images' -[error][UnlSpectre][2025/04/26 23:44:40]: ENOENT: no such file or directory, scandir '/home/evolution/files/resources//[inventory]/ox_inventory/html/images' -[error][UnlSpectre][2025/04/26 23:44:48]: ENOENT: no such file or directory, scandir '/home/evolution/files/resources//[inventory]/ox_inventory/html/images' -[error][UnlSpectre][2025/04/26 23:44:58]: ENOENT: no such file or directory, scandir '/home/evolution/files/resources//[inventory]/ox_inventory/html/images' -[error][UnlSpectre][2025/04/26 23:45:14]: ENOENT: no such file or directory, scandir '/home/evolution/files/resources//[inventory]/ox_inventory/html/images' -[error][UnlSpectre][2025/04/26 23:45:55]: ENOENT: no such file or directory, scandir '/home/evolution/files/resources//[inventory]/ox_inventory/html/images' -[error][UnlSpectre][2025/04/26 23:45:59]: ENOENT: no such file or directory, scandir '/home/evolution/files/resources//[inventory]/ox_inventory/html/images' -[info][UnlSpectre][2025/04/26 23:57:50]: Successfully registered Exports -[info][UnlSpectre][2025/04/26 23:57:50]: Successfully loaded Items -[info][UnlSpectre][2025/04/26 23:57:50]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/26 23:57:50]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/26 23:57:50]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/26 23:57:50]: Successfully started GameController -[info][UnlSpectre][2025/04/26 23:57:50]: Successfully started PlayerController -[info][UnlSpectre][2025/04/26 23:57:50]: Successfully started VehicleController -[info][UnlSpectre][2025/04/26 23:57:51]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/27 00:05:23]: Successfully registered Exports -[info][UnlSpectre][2025/04/27 00:05:23]: Successfully loaded Items -[info][UnlSpectre][2025/04/27 00:05:23]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/27 00:05:23]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/27 00:05:23]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/27 00:05:23]: Successfully started GameController -[info][UnlSpectre][2025/04/27 00:05:23]: Successfully started PlayerController -[info][UnlSpectre][2025/04/27 00:05:23]: Successfully started VehicleController -[info][UnlSpectre][2025/04/27 00:05:24]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/27 00:06:43]: Successfully registered Exports -[info][UnlSpectre][2025/04/27 00:06:43]: Successfully loaded Items -[info][UnlSpectre][2025/04/27 00:06:43]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/27 00:06:43]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/27 00:06:43]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/27 00:06:43]: Successfully started GameController -[info][UnlSpectre][2025/04/27 00:06:43]: Successfully started PlayerController -[info][UnlSpectre][2025/04/27 00:06:43]: Successfully started VehicleController -[info][UnlSpectre][2025/04/27 00:06:44]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/27 00:12:28]: Successfully registered Exports -[info][UnlSpectre][2025/04/27 00:12:28]: Successfully loaded Items -[info][UnlSpectre][2025/04/27 00:12:28]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/27 00:12:28]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/27 00:12:28]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/27 00:12:28]: Successfully started GameController -[info][UnlSpectre][2025/04/27 00:12:28]: Successfully started PlayerController -[info][UnlSpectre][2025/04/27 00:12:28]: Successfully started VehicleController -[info][UnlSpectre][2025/04/27 00:12:29]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/27 00:13:01]: Successfully registered Exports -[info][UnlSpectre][2025/04/27 00:13:01]: Successfully loaded Items -[info][UnlSpectre][2025/04/27 00:13:01]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/27 00:13:01]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/27 00:13:01]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/27 00:13:01]: Successfully started GameController -[info][UnlSpectre][2025/04/27 00:13:01]: Successfully started PlayerController -[info][UnlSpectre][2025/04/27 00:13:01]: Successfully started VehicleController -[info][UnlSpectre][2025/04/27 00:13:02]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/27 01:37:08]: Successfully registered Exports -[info][UnlSpectre][2025/04/27 01:37:08]: Successfully loaded Items -[info][UnlSpectre][2025/04/27 01:37:08]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/27 01:37:08]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/27 01:37:08]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/27 01:37:08]: Successfully started GameController -[info][UnlSpectre][2025/04/27 01:37:08]: Successfully started PlayerController -[info][UnlSpectre][2025/04/27 01:37:08]: Successfully started VehicleController -[info][UnlSpectre][2025/04/27 01:37:09]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/27 01:40:22]: Successfully registered Exports -[info][UnlSpectre][2025/04/27 01:40:22]: Successfully loaded Items -[info][UnlSpectre][2025/04/27 01:40:22]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/27 01:40:22]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/27 01:40:22]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/27 01:40:22]: Successfully started GameController -[info][UnlSpectre][2025/04/27 01:40:22]: Successfully started PlayerController -[info][UnlSpectre][2025/04/27 01:40:22]: Successfully started VehicleController -[info][UnlSpectre][2025/04/27 01:40:23]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/27 01:59:59]: Successfully registered Exports -[info][UnlSpectre][2025/04/27 01:59:59]: Successfully loaded Items -[info][UnlSpectre][2025/04/27 01:59:59]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/27 01:59:59]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/27 01:59:59]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/27 01:59:59]: Successfully started GameController -[info][UnlSpectre][2025/04/27 01:59:59]: Successfully started PlayerController -[info][UnlSpectre][2025/04/27 01:59:59]: Successfully started VehicleController -[info][UnlSpectre][2025/04/27 02:00:00]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/27 02:19:35]: Successfully registered Exports -[info][UnlSpectre][2025/04/27 02:19:35]: Successfully loaded Items -[info][UnlSpectre][2025/04/27 02:19:35]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/27 02:19:35]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/27 02:19:35]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/27 02:19:35]: Successfully started GameController -[info][UnlSpectre][2025/04/27 02:19:35]: Successfully started PlayerController -[info][UnlSpectre][2025/04/27 02:19:35]: Successfully started VehicleController -[info][UnlSpectre][2025/04/27 02:19:36]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/27 11:05:28]: Successfully registered Exports -[info][UnlSpectre][2025/04/27 11:05:28]: Successfully loaded Items -[info][UnlSpectre][2025/04/27 11:05:28]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/27 11:05:28]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/27 11:05:28]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/27 11:05:28]: Successfully started GameController -[info][UnlSpectre][2025/04/27 11:05:28]: Successfully started PlayerController -[info][UnlSpectre][2025/04/27 11:05:28]: Successfully started VehicleController -[info][UnlSpectre][2025/04/27 11:05:29]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/27 14:05:56]: Successfully registered Exports -[info][UnlSpectre][2025/04/27 14:05:56]: Successfully loaded Items -[info][UnlSpectre][2025/04/27 14:05:56]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/27 14:05:56]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/27 14:05:56]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/27 14:05:56]: Successfully started GameController -[info][UnlSpectre][2025/04/27 14:05:56]: Successfully started PlayerController -[info][UnlSpectre][2025/04/27 14:05:56]: Successfully started VehicleController -[info][UnlSpectre][2025/04/27 14:05:58]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/27 14:55:36]: Successfully registered Exports -[info][UnlSpectre][2025/04/27 14:55:36]: Successfully loaded Items -[info][UnlSpectre][2025/04/27 14:55:36]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/27 14:55:36]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/27 14:55:36]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/27 14:55:36]: Successfully started GameController -[info][UnlSpectre][2025/04/27 14:55:36]: Successfully started PlayerController -[info][UnlSpectre][2025/04/27 14:55:36]: Successfully started VehicleController -[info][UnlSpectre][2025/04/27 14:55:38]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/27 15:13:11]: Successfully registered Exports -[info][UnlSpectre][2025/04/27 15:13:11]: Successfully loaded Items -[info][UnlSpectre][2025/04/27 15:13:11]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/27 15:13:11]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/27 15:13:11]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/27 15:13:11]: Successfully started GameController -[info][UnlSpectre][2025/04/27 15:13:11]: Successfully started PlayerController -[info][UnlSpectre][2025/04/27 15:13:11]: Successfully started VehicleController -[info][UnlSpectre][2025/04/27 15:13:12]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/27 15:14:05]: Successfully registered Exports -[info][UnlSpectre][2025/04/27 15:14:05]: Successfully loaded Items -[info][UnlSpectre][2025/04/27 15:14:05]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/27 15:14:05]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/27 15:14:05]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/27 15:14:05]: Successfully started GameController -[info][UnlSpectre][2025/04/27 15:14:05]: Successfully started PlayerController -[info][UnlSpectre][2025/04/27 15:14:05]: Successfully started VehicleController -[info][UnlSpectre][2025/04/27 15:14:06]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/27 16:30:25]: Successfully registered Exports -[info][UnlSpectre][2025/04/27 16:30:25]: Successfully loaded Items -[info][UnlSpectre][2025/04/27 16:30:25]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/27 16:30:25]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/27 16:30:25]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/27 16:30:25]: Successfully started GameController -[info][UnlSpectre][2025/04/27 16:30:25]: Successfully started PlayerController -[info][UnlSpectre][2025/04/27 16:30:25]: Successfully started VehicleController -[info][UnlSpectre][2025/04/27 16:30:26]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/27 17:48:10]: Successfully registered Exports -[info][UnlSpectre][2025/04/27 17:48:10]: Successfully loaded Items -[info][UnlSpectre][2025/04/27 17:48:10]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/27 17:48:10]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/27 17:48:10]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/27 17:48:10]: Successfully started GameController -[info][UnlSpectre][2025/04/27 17:48:10]: Successfully started PlayerController -[info][UnlSpectre][2025/04/27 17:48:10]: Successfully started VehicleController -[info][UnlSpectre][2025/04/27 17:48:12]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/27 18:12:22]: Successfully registered Exports -[info][UnlSpectre][2025/04/27 18:12:22]: Successfully loaded Items -[info][UnlSpectre][2025/04/27 18:12:22]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/27 18:12:22]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/27 18:12:22]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/27 18:12:22]: Successfully started GameController -[info][UnlSpectre][2025/04/27 18:12:22]: Successfully started PlayerController -[info][UnlSpectre][2025/04/27 18:12:22]: Successfully started VehicleController -[info][UnlSpectre][2025/04/27 18:12:23]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/27 19:55:53]: Successfully registered Exports -[info][UnlSpectre][2025/04/27 19:55:53]: Successfully loaded Items -[info][UnlSpectre][2025/04/27 19:55:53]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/27 19:55:53]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/27 19:55:53]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/27 19:55:53]: Successfully started GameController -[info][UnlSpectre][2025/04/27 19:55:53]: Successfully started PlayerController -[info][UnlSpectre][2025/04/27 19:55:53]: Successfully started VehicleController -[info][UnlSpectre][2025/04/27 19:55:55]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/27 20:00:24]: Successfully registered Exports -[info][UnlSpectre][2025/04/27 20:00:24]: Successfully loaded Items -[info][UnlSpectre][2025/04/27 20:00:24]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/27 20:00:24]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/27 20:00:24]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/27 20:00:24]: Successfully started GameController -[info][UnlSpectre][2025/04/27 20:00:24]: Successfully started PlayerController -[info][UnlSpectre][2025/04/27 20:00:24]: Successfully started VehicleController -[info][UnlSpectre][2025/04/27 20:00:26]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/27 20:18:24]: Successfully registered Exports -[info][UnlSpectre][2025/04/27 20:18:24]: Successfully loaded Items -[info][UnlSpectre][2025/04/27 20:18:24]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/27 20:18:24]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/27 20:18:24]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/27 20:18:24]: Successfully started GameController -[info][UnlSpectre][2025/04/27 20:18:24]: Successfully started PlayerController -[info][UnlSpectre][2025/04/27 20:18:24]: Successfully started VehicleController -[info][UnlSpectre][2025/04/27 20:18:25]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/27 20:32:52]: Successfully registered Exports -[info][UnlSpectre][2025/04/27 20:32:52]: Successfully loaded Items -[info][UnlSpectre][2025/04/27 20:32:52]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/27 20:32:52]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/27 20:32:52]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/27 20:32:52]: Successfully started GameController -[info][UnlSpectre][2025/04/27 20:32:52]: Successfully started PlayerController -[info][UnlSpectre][2025/04/27 20:32:52]: Successfully started VehicleController -[info][UnlSpectre][2025/04/27 20:32:54]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/27 20:33:19]: Successfully registered Exports -[info][UnlSpectre][2025/04/27 20:33:19]: Successfully loaded Items -[info][UnlSpectre][2025/04/27 20:33:19]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/27 20:33:19]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/27 20:33:19]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/27 20:33:19]: Successfully started GameController -[info][UnlSpectre][2025/04/27 20:33:19]: Successfully started PlayerController -[info][UnlSpectre][2025/04/27 20:33:19]: Successfully started VehicleController -[info][UnlSpectre][2025/04/27 20:33:21]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/27 20:38:19]: Successfully registered Exports -[info][UnlSpectre][2025/04/27 20:38:19]: Successfully loaded Items -[info][UnlSpectre][2025/04/27 20:38:19]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/27 20:38:19]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/27 20:38:19]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/27 20:38:19]: Successfully started GameController -[info][UnlSpectre][2025/04/27 20:38:19]: Successfully started PlayerController -[info][UnlSpectre][2025/04/27 20:38:19]: Successfully started VehicleController -[info][UnlSpectre][2025/04/27 20:38:21]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/27 20:54:38]: Successfully registered Exports -[info][UnlSpectre][2025/04/27 20:54:38]: Successfully loaded Items -[info][UnlSpectre][2025/04/27 20:54:38]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/27 20:54:38]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/27 20:54:38]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/27 20:54:38]: Successfully started GameController -[info][UnlSpectre][2025/04/27 20:54:38]: Successfully started PlayerController -[info][UnlSpectre][2025/04/27 20:54:38]: Successfully started VehicleController -[info][UnlSpectre][2025/04/27 20:54:39]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/27 22:11:39]: Successfully registered Exports -[info][UnlSpectre][2025/04/27 22:11:39]: Successfully loaded Items -[info][UnlSpectre][2025/04/27 22:11:39]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/27 22:11:39]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/27 22:11:39]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/27 22:11:39]: Successfully started GameController -[info][UnlSpectre][2025/04/27 22:11:39]: Successfully started PlayerController -[info][UnlSpectre][2025/04/27 22:11:39]: Successfully started VehicleController -[info][UnlSpectre][2025/04/27 22:11:40]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/27 22:19:41]: Successfully registered Exports -[info][UnlSpectre][2025/04/27 22:19:41]: Successfully loaded Items -[info][UnlSpectre][2025/04/27 22:19:41]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/27 22:19:41]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/27 22:19:41]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/27 22:19:41]: Successfully started GameController -[info][UnlSpectre][2025/04/27 22:19:41]: Successfully started PlayerController -[info][UnlSpectre][2025/04/27 22:19:41]: Successfully started VehicleController -[info][UnlSpectre][2025/04/27 22:19:42]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/27 22:34:07]: Successfully registered Exports -[info][UnlSpectre][2025/04/27 22:34:07]: Successfully loaded Items -[info][UnlSpectre][2025/04/27 22:34:07]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/27 22:34:07]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/27 22:34:07]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/27 22:34:07]: Successfully started GameController -[info][UnlSpectre][2025/04/27 22:34:07]: Successfully started PlayerController -[info][UnlSpectre][2025/04/27 22:34:07]: Successfully started VehicleController -[info][UnlSpectre][2025/04/27 22:34:09]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/27 23:21:54]: Successfully registered Exports -[info][UnlSpectre][2025/04/27 23:21:54]: Successfully loaded Items -[info][UnlSpectre][2025/04/27 23:21:54]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/27 23:21:54]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/27 23:21:54]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/27 23:21:54]: Successfully started GameController -[info][UnlSpectre][2025/04/27 23:21:54]: Successfully started PlayerController -[info][UnlSpectre][2025/04/27 23:21:54]: Successfully started VehicleController -[info][UnlSpectre][2025/04/27 23:21:54]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/28 00:02:17]: Successfully registered Exports -[info][UnlSpectre][2025/04/28 00:02:17]: Successfully loaded Items -[info][UnlSpectre][2025/04/28 00:02:17]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/28 00:02:17]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/28 00:02:17]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/28 00:02:17]: Successfully started GameController -[info][UnlSpectre][2025/04/28 00:02:17]: Successfully started PlayerController -[info][UnlSpectre][2025/04/28 00:02:17]: Successfully started VehicleController -[info][UnlSpectre][2025/04/28 00:02:19]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/28 04:57:47]: Successfully registered Exports -[info][UnlSpectre][2025/04/28 04:57:47]: Successfully loaded Items -[info][UnlSpectre][2025/04/28 04:57:47]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/28 04:57:47]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/28 04:57:47]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/28 04:57:47]: Successfully started GameController -[info][UnlSpectre][2025/04/28 04:57:47]: Successfully started PlayerController -[info][UnlSpectre][2025/04/28 04:57:47]: Successfully started VehicleController -[info][UnlSpectre][2025/04/28 04:57:49]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/28 04:58:17]: Successfully registered Exports -[info][UnlSpectre][2025/04/28 04:58:17]: Successfully loaded Items -[info][UnlSpectre][2025/04/28 04:58:17]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/28 04:58:17]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/28 04:58:17]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/28 04:58:17]: Successfully started GameController -[info][UnlSpectre][2025/04/28 04:58:17]: Successfully started PlayerController -[info][UnlSpectre][2025/04/28 04:58:17]: Successfully started VehicleController -[info][UnlSpectre][2025/04/28 04:58:18]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/28 10:08:02]: Successfully registered Exports -[info][UnlSpectre][2025/04/28 10:08:02]: Successfully loaded Items -[info][UnlSpectre][2025/04/28 10:08:02]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/28 10:08:02]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/28 10:08:02]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/28 10:08:02]: Successfully started GameController -[info][UnlSpectre][2025/04/28 10:08:02]: Successfully started PlayerController -[info][UnlSpectre][2025/04/28 10:08:02]: Successfully started VehicleController -[info][UnlSpectre][2025/04/28 10:08:03]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/28 10:36:16]: Successfully registered Exports -[info][UnlSpectre][2025/04/28 10:36:16]: Successfully loaded Items -[info][UnlSpectre][2025/04/28 10:36:16]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/28 10:36:16]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/28 10:36:16]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/28 10:36:16]: Successfully started GameController -[info][UnlSpectre][2025/04/28 10:36:16]: Successfully started PlayerController -[info][UnlSpectre][2025/04/28 10:36:16]: Successfully started VehicleController -[info][UnlSpectre][2025/04/28 10:36:17]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/28 13:18:03]: Successfully registered Exports -[info][UnlSpectre][2025/04/28 13:18:03]: Successfully loaded Items -[info][UnlSpectre][2025/04/28 13:18:03]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/28 13:18:03]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/28 13:18:03]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/28 13:18:03]: Successfully started GameController -[info][UnlSpectre][2025/04/28 13:18:03]: Successfully started PlayerController -[info][UnlSpectre][2025/04/28 13:18:03]: Successfully started VehicleController -[info][UnlSpectre][2025/04/28 13:18:04]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/28 13:25:15]: Successfully registered Exports -[info][UnlSpectre][2025/04/28 13:25:15]: Successfully loaded Items -[info][UnlSpectre][2025/04/28 13:25:15]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/28 13:25:15]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/28 13:25:15]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/28 13:25:15]: Successfully started GameController -[info][UnlSpectre][2025/04/28 13:25:15]: Successfully started PlayerController -[info][UnlSpectre][2025/04/28 13:25:15]: Successfully started VehicleController -[info][UnlSpectre][2025/04/28 13:25:16]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/28 14:10:20]: Successfully registered Exports -[info][UnlSpectre][2025/04/28 14:10:20]: Successfully loaded Items -[info][UnlSpectre][2025/04/28 14:10:20]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/28 14:10:20]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/28 14:10:20]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/28 14:10:20]: Successfully started GameController -[info][UnlSpectre][2025/04/28 14:10:20]: Successfully started PlayerController -[info][UnlSpectre][2025/04/28 14:10:20]: Successfully started VehicleController -[info][UnlSpectre][2025/04/28 14:10:20]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/28 14:34:49]: Successfully registered Exports -[info][UnlSpectre][2025/04/28 14:34:49]: Successfully loaded Items -[info][UnlSpectre][2025/04/28 14:34:49]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/28 14:34:49]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/28 14:34:49]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/28 14:34:49]: Successfully started GameController -[info][UnlSpectre][2025/04/28 14:34:49]: Successfully started PlayerController -[info][UnlSpectre][2025/04/28 14:34:49]: Successfully started VehicleController -[info][UnlSpectre][2025/04/28 14:34:50]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/28 14:43:25]: Successfully registered Exports -[info][UnlSpectre][2025/04/28 14:43:25]: Successfully loaded Items -[info][UnlSpectre][2025/04/28 14:43:25]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/28 14:43:25]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/28 14:43:25]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/28 14:43:25]: Successfully started GameController -[info][UnlSpectre][2025/04/28 14:43:25]: Successfully started PlayerController -[info][UnlSpectre][2025/04/28 14:43:25]: Successfully started VehicleController -[info][UnlSpectre][2025/04/28 14:43:27]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/28 15:21:16]: Successfully registered Exports -[info][UnlSpectre][2025/04/28 15:21:16]: Successfully loaded Items -[info][UnlSpectre][2025/04/28 15:21:16]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/28 15:21:16]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/28 15:21:16]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/28 15:21:16]: Successfully started GameController -[info][UnlSpectre][2025/04/28 15:21:16]: Successfully started PlayerController -[info][UnlSpectre][2025/04/28 15:21:16]: Successfully started VehicleController -[info][UnlSpectre][2025/04/28 15:21:17]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/28 15:23:11]: Successfully registered Exports -[info][UnlSpectre][2025/04/28 15:23:11]: Successfully loaded Items -[info][UnlSpectre][2025/04/28 15:23:11]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/28 15:23:11]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/28 15:23:11]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/28 15:23:11]: Successfully started GameController -[info][UnlSpectre][2025/04/28 15:23:11]: Successfully started PlayerController -[info][UnlSpectre][2025/04/28 15:23:11]: Successfully started VehicleController -[info][UnlSpectre][2025/04/28 15:23:12]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/28 15:38:32]: Successfully registered Exports -[info][UnlSpectre][2025/04/28 15:38:32]: Successfully loaded Items -[info][UnlSpectre][2025/04/28 15:38:32]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/28 15:38:32]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/28 15:38:32]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/28 15:38:32]: Successfully started GameController -[info][UnlSpectre][2025/04/28 15:38:32]: Successfully started PlayerController -[info][UnlSpectre][2025/04/28 15:38:32]: Successfully started VehicleController -[info][UnlSpectre][2025/04/28 15:38:34]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/28 15:40:08]: Successfully registered Exports -[info][UnlSpectre][2025/04/28 15:40:08]: Successfully loaded Items -[info][UnlSpectre][2025/04/28 15:40:08]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/28 15:40:08]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/28 15:40:08]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/28 15:40:08]: Successfully started GameController -[info][UnlSpectre][2025/04/28 15:40:08]: Successfully started PlayerController -[info][UnlSpectre][2025/04/28 15:40:08]: Successfully started VehicleController -[info][UnlSpectre][2025/04/28 15:40:09]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/28 15:56:06]: Successfully registered Exports -[info][UnlSpectre][2025/04/28 15:56:06]: Successfully loaded Items -[info][UnlSpectre][2025/04/28 15:56:06]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/28 15:56:06]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/28 15:56:06]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/28 15:56:06]: Successfully started GameController -[info][UnlSpectre][2025/04/28 15:56:06]: Successfully started PlayerController -[info][UnlSpectre][2025/04/28 15:56:06]: Successfully started VehicleController -[info][UnlSpectre][2025/04/28 15:56:07]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/28 16:03:52]: Successfully registered Exports -[info][UnlSpectre][2025/04/28 16:03:52]: Successfully loaded Items -[info][UnlSpectre][2025/04/28 16:03:52]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/28 16:03:52]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/28 16:03:52]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/28 16:03:52]: Successfully started GameController -[info][UnlSpectre][2025/04/28 16:03:52]: Successfully started PlayerController -[info][UnlSpectre][2025/04/28 16:03:52]: Successfully started VehicleController -[info][UnlSpectre][2025/04/28 16:03:53]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/28 18:39:40]: Successfully registered Exports -[info][UnlSpectre][2025/04/28 18:39:40]: Successfully loaded Items -[info][UnlSpectre][2025/04/28 18:39:40]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/28 18:39:40]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/28 18:39:40]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/28 18:39:40]: Successfully started GameController -[info][UnlSpectre][2025/04/28 18:39:40]: Successfully started PlayerController -[info][UnlSpectre][2025/04/28 18:39:40]: Successfully started VehicleController -[info][UnlSpectre][2025/04/28 18:39:45]: HTTP Server started on port 3000. -[error][UnlSpectre][2025/04/28 18:48:28]: Cannot read properties of undefined (reading 'PlayerData') -[info][UnlSpectre][2025/04/28 20:15:01]: Successfully registered Exports -[info][UnlSpectre][2025/04/28 20:15:01]: Successfully loaded Items -[info][UnlSpectre][2025/04/28 20:15:01]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/28 20:15:01]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/28 20:15:01]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/28 20:15:01]: Successfully started GameController -[info][UnlSpectre][2025/04/28 20:15:01]: Successfully started PlayerController -[info][UnlSpectre][2025/04/28 20:15:01]: Successfully started VehicleController -[info][UnlSpectre][2025/04/28 20:15:02]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/28 21:05:01]: Successfully registered Exports -[info][UnlSpectre][2025/04/28 21:05:01]: Successfully loaded Items -[info][UnlSpectre][2025/04/28 21:05:01]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/28 21:05:01]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/28 21:05:01]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/28 21:05:01]: Successfully started GameController -[info][UnlSpectre][2025/04/28 21:05:01]: Successfully started PlayerController -[info][UnlSpectre][2025/04/28 21:05:01]: Successfully started VehicleController -[info][UnlSpectre][2025/04/28 21:05:02]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/28 21:07:03]: Successfully registered Exports -[info][UnlSpectre][2025/04/28 21:07:03]: Successfully loaded Items -[info][UnlSpectre][2025/04/28 21:07:03]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/28 21:07:03]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/28 21:07:03]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/28 21:07:03]: Successfully started GameController -[info][UnlSpectre][2025/04/28 21:07:03]: Successfully started PlayerController -[info][UnlSpectre][2025/04/28 21:07:03]: Successfully started VehicleController -[info][UnlSpectre][2025/04/28 21:07:04]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/28 21:07:32]: Successfully registered Exports -[info][UnlSpectre][2025/04/28 21:07:32]: Successfully loaded Items -[info][UnlSpectre][2025/04/28 21:07:32]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/28 21:07:32]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/28 21:07:32]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/28 21:07:32]: Successfully started GameController -[info][UnlSpectre][2025/04/28 21:07:32]: Successfully started PlayerController -[info][UnlSpectre][2025/04/28 21:07:32]: Successfully started VehicleController -[info][UnlSpectre][2025/04/28 21:07:34]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/28 21:26:35]: Successfully registered Exports -[info][UnlSpectre][2025/04/28 21:26:35]: Successfully loaded Items -[info][UnlSpectre][2025/04/28 21:26:35]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/28 21:26:35]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/28 21:26:35]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/28 21:26:35]: Successfully started GameController -[info][UnlSpectre][2025/04/28 21:26:35]: Successfully started PlayerController -[info][UnlSpectre][2025/04/28 21:26:35]: Successfully started VehicleController -[info][UnlSpectre][2025/04/28 21:26:36]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/28 21:43:31]: Successfully registered Exports -[info][UnlSpectre][2025/04/28 21:43:31]: Successfully loaded Items -[info][UnlSpectre][2025/04/28 21:43:31]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/28 21:43:31]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/28 21:43:31]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/28 21:43:31]: Successfully started GameController -[info][UnlSpectre][2025/04/28 21:43:31]: Successfully started PlayerController -[info][UnlSpectre][2025/04/28 21:43:31]: Successfully started VehicleController -[info][UnlSpectre][2025/04/28 21:43:32]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/29 04:10:24]: Successfully registered Exports -[info][UnlSpectre][2025/04/29 04:10:24]: Successfully loaded Items -[info][UnlSpectre][2025/04/29 04:10:24]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/29 04:10:24]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/29 04:10:24]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/29 04:10:24]: Successfully started GameController -[info][UnlSpectre][2025/04/29 04:10:24]: Successfully started PlayerController -[info][UnlSpectre][2025/04/29 04:10:24]: Successfully started VehicleController -[info][UnlSpectre][2025/04/29 04:10:25]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/29 04:16:20]: Successfully registered Exports -[info][UnlSpectre][2025/04/29 04:16:20]: Successfully loaded Items -[info][UnlSpectre][2025/04/29 04:16:20]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/29 04:16:20]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/29 04:16:20]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/29 04:16:20]: Successfully started GameController -[info][UnlSpectre][2025/04/29 04:16:20]: Successfully started PlayerController -[info][UnlSpectre][2025/04/29 04:16:20]: Successfully started VehicleController -[info][UnlSpectre][2025/04/29 04:16:21]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/29 04:24:50]: Successfully registered Exports -[info][UnlSpectre][2025/04/29 04:24:50]: Successfully loaded Items -[info][UnlSpectre][2025/04/29 04:24:50]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/29 04:24:50]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/29 04:24:50]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/29 04:24:50]: Successfully started GameController -[info][UnlSpectre][2025/04/29 04:24:50]: Successfully started PlayerController -[info][UnlSpectre][2025/04/29 04:24:50]: Successfully started VehicleController -[info][UnlSpectre][2025/04/29 04:24:51]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/29 04:41:53]: Successfully registered Exports -[info][UnlSpectre][2025/04/29 04:41:53]: Successfully loaded Items -[info][UnlSpectre][2025/04/29 04:41:53]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/29 04:41:53]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/29 04:41:53]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/29 04:41:53]: Successfully started GameController -[info][UnlSpectre][2025/04/29 04:41:53]: Successfully started PlayerController -[info][UnlSpectre][2025/04/29 04:41:53]: Successfully started VehicleController -[info][UnlSpectre][2025/04/29 04:41:54]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/29 06:38:02]: Successfully registered Exports -[info][UnlSpectre][2025/04/29 06:38:02]: Successfully loaded Items -[info][UnlSpectre][2025/04/29 06:38:02]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/29 06:38:02]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/29 06:38:02]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/29 06:38:02]: Successfully started GameController -[info][UnlSpectre][2025/04/29 06:38:02]: Successfully started PlayerController -[info][UnlSpectre][2025/04/29 06:38:02]: Successfully started VehicleController -[info][UnlSpectre][2025/04/29 06:38:03]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/29 06:38:14]: Successfully registered Exports -[info][UnlSpectre][2025/04/29 06:38:14]: Successfully loaded Items -[info][UnlSpectre][2025/04/29 06:38:14]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/29 06:38:14]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/29 06:38:14]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/29 06:38:14]: Successfully started GameController -[info][UnlSpectre][2025/04/29 06:38:14]: Successfully started PlayerController -[info][UnlSpectre][2025/04/29 06:38:14]: Successfully started VehicleController -[info][UnlSpectre][2025/04/29 06:38:16]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/29 06:54:09]: Successfully registered Exports -[info][UnlSpectre][2025/04/29 06:54:09]: Successfully loaded Items -[info][UnlSpectre][2025/04/29 06:54:09]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/29 06:54:09]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/29 06:54:09]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/29 06:54:09]: Successfully started GameController -[info][UnlSpectre][2025/04/29 06:54:09]: Successfully started PlayerController -[info][UnlSpectre][2025/04/29 06:54:09]: Successfully started VehicleController -[info][UnlSpectre][2025/04/29 06:54:10]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/29 07:02:40]: Successfully registered Exports -[info][UnlSpectre][2025/04/29 07:02:40]: Successfully loaded Items -[info][UnlSpectre][2025/04/29 07:02:40]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/29 07:02:40]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/29 07:02:40]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/29 07:02:40]: Successfully started GameController -[info][UnlSpectre][2025/04/29 07:02:40]: Successfully started PlayerController -[info][UnlSpectre][2025/04/29 07:02:40]: Successfully started VehicleController -[info][UnlSpectre][2025/04/29 07:02:41]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/29 07:19:29]: Successfully registered Exports -[info][UnlSpectre][2025/04/29 07:19:29]: Successfully loaded Items -[info][UnlSpectre][2025/04/29 07:19:29]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/29 07:19:29]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/29 07:19:29]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/29 07:19:29]: Successfully started GameController -[info][UnlSpectre][2025/04/29 07:19:29]: Successfully started PlayerController -[info][UnlSpectre][2025/04/29 07:19:29]: Successfully started VehicleController -[info][UnlSpectre][2025/04/29 07:19:30]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/29 10:51:42]: Successfully registered Exports -[info][UnlSpectre][2025/04/29 10:51:42]: Successfully loaded Items -[info][UnlSpectre][2025/04/29 10:51:42]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/29 10:51:42]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/29 10:51:42]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/29 10:51:42]: Successfully started GameController -[info][UnlSpectre][2025/04/29 10:51:42]: Successfully started PlayerController -[info][UnlSpectre][2025/04/29 10:51:42]: Successfully started VehicleController -[info][UnlSpectre][2025/04/29 10:51:44]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/29 11:37:17]: Successfully registered Exports -[info][UnlSpectre][2025/04/29 11:37:17]: Successfully loaded Items -[info][UnlSpectre][2025/04/29 11:37:18]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/29 11:37:18]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/29 11:37:18]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/29 11:37:18]: Successfully started GameController -[info][UnlSpectre][2025/04/29 11:37:18]: Successfully started PlayerController -[info][UnlSpectre][2025/04/29 11:37:18]: Successfully started VehicleController -[info][UnlSpectre][2025/04/29 11:37:18]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/29 16:37:37]: Successfully registered Exports -[info][UnlSpectre][2025/04/29 16:37:37]: Successfully loaded Items -[info][UnlSpectre][2025/04/29 16:37:37]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/29 16:37:37]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/29 16:37:37]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/29 16:37:37]: Successfully started GameController -[info][UnlSpectre][2025/04/29 16:37:37]: Successfully started PlayerController -[info][UnlSpectre][2025/04/29 16:37:37]: Successfully started VehicleController -[info][UnlSpectre][2025/04/29 16:37:38]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/29 17:09:12]: Successfully registered Exports -[info][UnlSpectre][2025/04/29 17:09:12]: Successfully loaded Items -[info][UnlSpectre][2025/04/29 17:09:12]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/29 17:09:12]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/29 17:09:12]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/29 17:09:12]: Successfully started GameController -[info][UnlSpectre][2025/04/29 17:09:12]: Successfully started PlayerController -[info][UnlSpectre][2025/04/29 17:09:12]: Successfully started VehicleController -[info][UnlSpectre][2025/04/29 17:09:13]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/29 19:58:27]: Successfully registered Exports -[info][UnlSpectre][2025/04/29 19:58:27]: Successfully loaded Items -[info][UnlSpectre][2025/04/29 19:58:27]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/29 19:58:27]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/29 19:58:27]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/29 19:58:27]: Successfully started GameController -[info][UnlSpectre][2025/04/29 19:58:27]: Successfully started PlayerController -[info][UnlSpectre][2025/04/29 19:58:27]: Successfully started VehicleController -[info][UnlSpectre][2025/04/29 19:58:28]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/29 22:34:19]: Successfully registered Exports -[info][UnlSpectre][2025/04/29 22:34:19]: Successfully loaded Items -[info][UnlSpectre][2025/04/29 22:34:19]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/29 22:34:19]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/29 22:34:19]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/29 22:34:19]: Successfully started GameController -[info][UnlSpectre][2025/04/29 22:34:19]: Successfully started PlayerController -[info][UnlSpectre][2025/04/29 22:34:19]: Successfully started VehicleController -[info][UnlSpectre][2025/04/29 22:34:20]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/29 22:37:51]: Successfully registered Exports -[info][UnlSpectre][2025/04/29 22:37:51]: Successfully loaded Items -[info][UnlSpectre][2025/04/29 22:37:51]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/29 22:37:51]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/29 22:37:51]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/29 22:37:51]: Successfully started GameController -[info][UnlSpectre][2025/04/29 22:37:51]: Successfully started PlayerController -[info][UnlSpectre][2025/04/29 22:37:51]: Successfully started VehicleController -[info][UnlSpectre][2025/04/29 22:37:52]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/29 23:13:49]: Successfully registered Exports -[info][UnlSpectre][2025/04/29 23:13:49]: Successfully loaded Items -[info][UnlSpectre][2025/04/29 23:13:49]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/29 23:13:49]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/29 23:13:49]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/29 23:13:49]: Successfully started GameController -[info][UnlSpectre][2025/04/29 23:13:49]: Successfully started PlayerController -[info][UnlSpectre][2025/04/29 23:13:49]: Successfully started VehicleController -[info][UnlSpectre][2025/04/29 23:13:50]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/30 12:33:52]: Successfully registered Exports -[info][UnlSpectre][2025/04/30 12:33:52]: Successfully loaded Items -[info][UnlSpectre][2025/04/30 12:33:52]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/30 12:33:52]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/30 12:33:52]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/30 12:33:52]: Successfully started GameController -[info][UnlSpectre][2025/04/30 12:33:52]: Successfully started PlayerController -[info][UnlSpectre][2025/04/30 12:33:52]: Successfully started VehicleController -[info][UnlSpectre][2025/04/30 12:33:53]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/30 12:57:49]: Successfully registered Exports -[info][UnlSpectre][2025/04/30 12:57:49]: Successfully loaded Items -[info][UnlSpectre][2025/04/30 12:57:49]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/30 12:57:49]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/30 12:57:49]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/30 12:57:49]: Successfully started GameController -[info][UnlSpectre][2025/04/30 12:57:49]: Successfully started PlayerController -[info][UnlSpectre][2025/04/30 12:57:49]: Successfully started VehicleController -[info][UnlSpectre][2025/04/30 12:57:49]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/30 19:35:26]: Successfully registered Exports -[info][UnlSpectre][2025/04/30 19:35:27]: Successfully loaded Items -[info][UnlSpectre][2025/04/30 19:35:27]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/30 19:35:27]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/30 19:35:27]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/30 19:35:27]: Successfully started GameController -[info][UnlSpectre][2025/04/30 19:35:27]: Successfully started PlayerController -[info][UnlSpectre][2025/04/30 19:35:27]: Successfully started VehicleController -[info][UnlSpectre][2025/04/30 19:35:28]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/30 20:27:39]: Successfully registered Exports -[info][UnlSpectre][2025/04/30 20:27:39]: Successfully loaded Items -[info][UnlSpectre][2025/04/30 20:27:39]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/30 20:27:39]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/30 20:27:39]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/30 20:27:39]: Successfully started GameController -[info][UnlSpectre][2025/04/30 20:27:39]: Successfully started PlayerController -[info][UnlSpectre][2025/04/30 20:27:39]: Successfully started VehicleController -[info][UnlSpectre][2025/04/30 20:27:40]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/30 20:27:59]: Successfully registered Exports -[info][UnlSpectre][2025/04/30 20:27:59]: Successfully loaded Items -[info][UnlSpectre][2025/04/30 20:27:59]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/30 20:27:59]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/30 20:27:59]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/30 20:27:59]: Successfully started GameController -[info][UnlSpectre][2025/04/30 20:27:59]: Successfully started PlayerController -[info][UnlSpectre][2025/04/30 20:27:59]: Successfully started VehicleController -[info][UnlSpectre][2025/04/30 20:28:00]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/04/30 22:56:24]: Successfully registered Exports -[info][UnlSpectre][2025/04/30 22:56:24]: Successfully loaded Items -[info][UnlSpectre][2025/04/30 22:56:24]: Successfully loaded Jobs -[info][UnlSpectre][2025/04/30 22:56:24]: Successfully loaded Gangs -[info][UnlSpectre][2025/04/30 22:56:24]: Successfully loaded Vehicles -[info][UnlSpectre][2025/04/30 22:56:24]: Successfully started GameController -[info][UnlSpectre][2025/04/30 22:56:24]: Successfully started PlayerController -[info][UnlSpectre][2025/04/30 22:56:24]: Successfully started VehicleController -[info][UnlSpectre][2025/04/30 22:56:26]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/01 00:22:43]: Successfully registered Exports -[info][UnlSpectre][2025/05/01 00:22:43]: Successfully loaded Items -[info][UnlSpectre][2025/05/01 00:22:43]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/01 00:22:43]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/01 00:22:43]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/01 00:22:43]: Successfully started GameController -[info][UnlSpectre][2025/05/01 00:22:43]: Successfully started PlayerController -[info][UnlSpectre][2025/05/01 00:22:43]: Successfully started VehicleController -[info][UnlSpectre][2025/05/01 00:22:44]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/01 00:36:34]: Successfully registered Exports -[info][UnlSpectre][2025/05/01 00:36:34]: Successfully loaded Items -[info][UnlSpectre][2025/05/01 00:36:34]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/01 00:36:34]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/01 00:36:34]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/01 00:36:34]: Successfully started GameController -[info][UnlSpectre][2025/05/01 00:36:34]: Successfully started PlayerController -[info][UnlSpectre][2025/05/01 00:36:34]: Successfully started VehicleController -[info][UnlSpectre][2025/05/01 00:36:35]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/01 00:45:45]: Successfully registered Exports -[info][UnlSpectre][2025/05/01 00:45:45]: Successfully loaded Items -[info][UnlSpectre][2025/05/01 00:45:45]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/01 00:45:45]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/01 00:45:45]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/01 00:45:45]: Successfully started GameController -[info][UnlSpectre][2025/05/01 00:45:45]: Successfully started PlayerController -[info][UnlSpectre][2025/05/01 00:45:45]: Successfully started VehicleController -[info][UnlSpectre][2025/05/01 00:45:46]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/01 01:09:05]: Successfully registered Exports -[info][UnlSpectre][2025/05/01 01:09:05]: Successfully loaded Items -[info][UnlSpectre][2025/05/01 01:09:05]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/01 01:09:05]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/01 01:09:05]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/01 01:09:05]: Successfully started GameController -[info][UnlSpectre][2025/05/01 01:09:05]: Successfully started PlayerController -[info][UnlSpectre][2025/05/01 01:09:05]: Successfully started VehicleController -[info][UnlSpectre][2025/05/01 01:09:06]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/01 02:17:38]: Successfully registered Exports -[info][UnlSpectre][2025/05/01 02:17:38]: Successfully loaded Items -[info][UnlSpectre][2025/05/01 02:17:38]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/01 02:17:38]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/01 02:17:38]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/01 02:17:38]: Successfully started GameController -[info][UnlSpectre][2025/05/01 02:17:38]: Successfully started PlayerController -[info][UnlSpectre][2025/05/01 02:17:38]: Successfully started VehicleController -[info][UnlSpectre][2025/05/01 02:17:39]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/01 02:49:08]: Successfully registered Exports -[info][UnlSpectre][2025/05/01 02:49:08]: Successfully loaded Items -[info][UnlSpectre][2025/05/01 02:49:08]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/01 02:49:08]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/01 02:49:08]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/01 02:49:08]: Successfully started GameController -[info][UnlSpectre][2025/05/01 02:49:08]: Successfully started PlayerController -[info][UnlSpectre][2025/05/01 02:49:08]: Successfully started VehicleController -[info][UnlSpectre][2025/05/01 02:49:09]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/01 02:53:57]: Successfully registered Exports -[info][UnlSpectre][2025/05/01 02:53:57]: Successfully loaded Items -[info][UnlSpectre][2025/05/01 02:53:57]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/01 02:53:57]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/01 02:53:57]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/01 02:53:57]: Successfully started GameController -[info][UnlSpectre][2025/05/01 02:53:57]: Successfully started PlayerController -[info][UnlSpectre][2025/05/01 02:53:57]: Successfully started VehicleController -[info][UnlSpectre][2025/05/01 02:53:58]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/01 02:59:21]: Successfully registered Exports -[info][UnlSpectre][2025/05/01 02:59:21]: Successfully loaded Items -[info][UnlSpectre][2025/05/01 02:59:21]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/01 02:59:21]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/01 02:59:21]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/01 02:59:21]: Successfully started GameController -[info][UnlSpectre][2025/05/01 02:59:21]: Successfully started PlayerController -[info][UnlSpectre][2025/05/01 02:59:21]: Successfully started VehicleController -[info][UnlSpectre][2025/05/01 02:59:22]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/01 03:01:20]: Successfully registered Exports -[info][UnlSpectre][2025/05/01 03:01:20]: Successfully loaded Items -[info][UnlSpectre][2025/05/01 03:01:20]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/01 03:01:20]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/01 03:01:20]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/01 03:01:20]: Successfully started GameController -[info][UnlSpectre][2025/05/01 03:01:20]: Successfully started PlayerController -[info][UnlSpectre][2025/05/01 03:01:20]: Successfully started VehicleController -[info][UnlSpectre][2025/05/01 03:01:22]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/01 03:02:39]: Successfully registered Exports -[info][UnlSpectre][2025/05/01 03:02:39]: Successfully loaded Items -[info][UnlSpectre][2025/05/01 03:02:39]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/01 03:02:39]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/01 03:02:39]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/01 03:02:39]: Successfully started GameController -[info][UnlSpectre][2025/05/01 03:02:39]: Successfully started PlayerController -[info][UnlSpectre][2025/05/01 03:02:39]: Successfully started VehicleController -[info][UnlSpectre][2025/05/01 03:02:41]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/01 03:07:40]: Successfully registered Exports -[info][UnlSpectre][2025/05/01 03:07:40]: Successfully loaded Items -[info][UnlSpectre][2025/05/01 03:07:40]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/01 03:07:41]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/01 03:07:41]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/01 03:07:41]: Successfully started GameController -[info][UnlSpectre][2025/05/01 03:07:41]: Successfully started PlayerController -[info][UnlSpectre][2025/05/01 03:07:41]: Successfully started VehicleController -[info][UnlSpectre][2025/05/01 03:07:42]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/01 03:10:54]: Successfully registered Exports -[info][UnlSpectre][2025/05/01 03:10:54]: Successfully loaded Items -[info][UnlSpectre][2025/05/01 03:10:54]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/01 03:10:54]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/01 03:10:54]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/01 03:10:54]: Successfully started GameController -[info][UnlSpectre][2025/05/01 03:10:54]: Successfully started PlayerController -[info][UnlSpectre][2025/05/01 03:10:54]: Successfully started VehicleController -[info][UnlSpectre][2025/05/01 03:10:55]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/01 03:11:48]: Successfully registered Exports -[info][UnlSpectre][2025/05/01 03:11:48]: Successfully loaded Items -[info][UnlSpectre][2025/05/01 03:11:48]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/01 03:11:48]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/01 03:11:48]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/01 03:11:48]: Successfully started GameController -[info][UnlSpectre][2025/05/01 03:11:48]: Successfully started PlayerController -[info][UnlSpectre][2025/05/01 03:11:48]: Successfully started VehicleController -[info][UnlSpectre][2025/05/01 03:11:49]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/01 10:19:39]: Successfully registered Exports -[info][UnlSpectre][2025/05/01 10:19:39]: Successfully loaded Items -[info][UnlSpectre][2025/05/01 10:19:39]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/01 10:19:39]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/01 10:19:39]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/01 10:19:39]: Successfully started GameController -[info][UnlSpectre][2025/05/01 10:19:39]: Successfully started PlayerController -[info][UnlSpectre][2025/05/01 10:19:39]: Successfully started VehicleController -[info][UnlSpectre][2025/05/01 10:19:40]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/01 14:59:45]: Successfully registered Exports -[info][UnlSpectre][2025/05/01 14:59:46]: Successfully loaded Items -[info][UnlSpectre][2025/05/01 14:59:46]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/01 14:59:46]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/01 14:59:46]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/01 14:59:46]: Successfully started GameController -[info][UnlSpectre][2025/05/01 14:59:46]: Successfully started PlayerController -[info][UnlSpectre][2025/05/01 14:59:46]: Successfully started VehicleController -[info][UnlSpectre][2025/05/01 14:59:47]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/01 17:35:08]: Successfully registered Exports -[info][UnlSpectre][2025/05/01 17:35:08]: Successfully loaded Items -[info][UnlSpectre][2025/05/01 17:35:08]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/01 17:35:08]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/01 17:35:08]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/01 17:35:08]: Successfully started GameController -[info][UnlSpectre][2025/05/01 17:35:08]: Successfully started PlayerController -[info][UnlSpectre][2025/05/01 17:35:08]: Successfully started VehicleController -[info][UnlSpectre][2025/05/01 17:35:09]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/01 18:49:24]: Successfully registered Exports -[info][UnlSpectre][2025/05/01 18:49:24]: Successfully loaded Items -[info][UnlSpectre][2025/05/01 18:49:24]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/01 18:49:24]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/01 18:49:24]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/01 18:49:24]: Successfully started GameController -[info][UnlSpectre][2025/05/01 18:49:24]: Successfully started PlayerController -[info][UnlSpectre][2025/05/01 18:49:24]: Successfully started VehicleController -[info][UnlSpectre][2025/05/01 18:49:26]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/01 19:26:06]: Successfully registered Exports -[info][UnlSpectre][2025/05/01 19:26:06]: Successfully loaded Items -[info][UnlSpectre][2025/05/01 19:26:06]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/01 19:26:06]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/01 19:26:06]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/01 19:26:06]: Successfully started GameController -[info][UnlSpectre][2025/05/01 19:26:06]: Successfully started PlayerController -[info][UnlSpectre][2025/05/01 19:26:06]: Successfully started VehicleController -[info][UnlSpectre][2025/05/01 19:26:08]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/01 22:12:43]: Successfully registered Exports -[info][UnlSpectre][2025/05/01 22:12:43]: Successfully loaded Items -[info][UnlSpectre][2025/05/01 22:12:43]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/01 22:12:43]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/01 22:12:43]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/01 22:12:43]: Successfully started GameController -[info][UnlSpectre][2025/05/01 22:12:43]: Successfully started PlayerController -[info][UnlSpectre][2025/05/01 22:12:43]: Successfully started VehicleController -[info][UnlSpectre][2025/05/01 22:12:44]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/01 22:25:49]: Successfully registered Exports -[info][UnlSpectre][2025/05/01 22:25:49]: Successfully loaded Items -[info][UnlSpectre][2025/05/01 22:25:49]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/01 22:25:49]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/01 22:25:49]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/01 22:25:49]: Successfully started GameController -[info][UnlSpectre][2025/05/01 22:25:49]: Successfully started PlayerController -[info][UnlSpectre][2025/05/01 22:25:49]: Successfully started VehicleController -[info][UnlSpectre][2025/05/01 22:25:50]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/01 22:31:36]: Successfully registered Exports -[info][UnlSpectre][2025/05/01 22:31:36]: Successfully loaded Items -[info][UnlSpectre][2025/05/01 22:31:36]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/01 22:31:36]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/01 22:31:36]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/01 22:31:36]: Successfully started GameController -[info][UnlSpectre][2025/05/01 22:31:36]: Successfully started PlayerController -[info][UnlSpectre][2025/05/01 22:31:36]: Successfully started VehicleController -[info][UnlSpectre][2025/05/01 22:31:37]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/02 00:20:48]: Successfully registered Exports -[info][UnlSpectre][2025/05/02 00:20:48]: Successfully loaded Items -[info][UnlSpectre][2025/05/02 00:20:48]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/02 00:20:48]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/02 00:20:48]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/02 00:20:48]: Successfully started GameController -[info][UnlSpectre][2025/05/02 00:20:48]: Successfully started PlayerController -[info][UnlSpectre][2025/05/02 00:20:48]: Successfully started VehicleController -[info][UnlSpectre][2025/05/02 00:20:49]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/02 00:54:45]: Successfully registered Exports -[info][UnlSpectre][2025/05/02 00:54:45]: Successfully loaded Items -[info][UnlSpectre][2025/05/02 00:54:45]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/02 00:54:45]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/02 00:54:45]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/02 00:54:45]: Successfully started GameController -[info][UnlSpectre][2025/05/02 00:54:45]: Successfully started PlayerController -[info][UnlSpectre][2025/05/02 00:54:45]: Successfully started VehicleController -[info][UnlSpectre][2025/05/02 00:54:46]: HTTP Server started on port 3000. -[error][UnlSpectre][2025/05/02 14:35:25]: Cannot read properties of undefined (reading 'PlayerData') -[error][UnlSpectre][2025/05/02 14:35:46]: Cannot read properties of undefined (reading 'PlayerData') -[info][UnlSpectre][2025/05/02 14:52:59]: Successfully registered Exports -[info][UnlSpectre][2025/05/02 14:52:59]: Successfully loaded Items -[info][UnlSpectre][2025/05/02 14:52:59]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/02 14:52:59]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/02 14:52:59]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/02 14:52:59]: Successfully started GameController -[info][UnlSpectre][2025/05/02 14:52:59]: Successfully started PlayerController -[info][UnlSpectre][2025/05/02 14:52:59]: Successfully started VehicleController -[info][UnlSpectre][2025/05/02 14:53:00]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/02 15:06:30]: Successfully registered Exports -[info][UnlSpectre][2025/05/02 15:06:30]: Successfully loaded Items -[info][UnlSpectre][2025/05/02 15:06:30]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/02 15:06:30]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/02 15:06:30]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/02 15:06:30]: Successfully started GameController -[info][UnlSpectre][2025/05/02 15:06:30]: Successfully started PlayerController -[info][UnlSpectre][2025/05/02 15:06:30]: Successfully started VehicleController -[info][UnlSpectre][2025/05/02 15:06:31]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/02 16:01:58]: Successfully registered Exports -[info][UnlSpectre][2025/05/02 16:01:58]: Successfully loaded Items -[info][UnlSpectre][2025/05/02 16:01:58]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/02 16:01:58]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/02 16:01:58]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/02 16:01:58]: Successfully started GameController -[info][UnlSpectre][2025/05/02 16:01:58]: Successfully started PlayerController -[info][UnlSpectre][2025/05/02 16:01:58]: Successfully started VehicleController -[info][UnlSpectre][2025/05/02 16:02:00]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/02 16:09:31]: Successfully registered Exports -[info][UnlSpectre][2025/05/02 16:09:31]: Successfully loaded Items -[info][UnlSpectre][2025/05/02 16:09:31]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/02 16:09:31]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/02 16:09:31]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/02 16:09:31]: Successfully started GameController -[info][UnlSpectre][2025/05/02 16:09:31]: Successfully started PlayerController -[info][UnlSpectre][2025/05/02 16:09:31]: Successfully started VehicleController -[info][UnlSpectre][2025/05/02 16:09:32]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/02 16:12:12]: Successfully registered Exports -[info][UnlSpectre][2025/05/02 16:12:12]: Successfully loaded Items -[info][UnlSpectre][2025/05/02 16:12:12]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/02 16:12:12]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/02 16:12:12]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/02 16:12:12]: Successfully started GameController -[info][UnlSpectre][2025/05/02 16:12:12]: Successfully started PlayerController -[info][UnlSpectre][2025/05/02 16:12:12]: Successfully started VehicleController -[info][UnlSpectre][2025/05/02 16:12:13]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/02 16:14:20]: Successfully registered Exports -[info][UnlSpectre][2025/05/02 16:14:20]: Successfully loaded Items -[info][UnlSpectre][2025/05/02 16:14:20]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/02 16:14:20]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/02 16:14:20]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/02 16:14:20]: Successfully started GameController -[info][UnlSpectre][2025/05/02 16:14:20]: Successfully started PlayerController -[info][UnlSpectre][2025/05/02 16:14:20]: Successfully started VehicleController -[info][UnlSpectre][2025/05/02 16:14:21]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/02 16:47:23]: Successfully registered Exports -[info][UnlSpectre][2025/05/02 16:47:23]: Successfully loaded Items -[info][UnlSpectre][2025/05/02 16:47:23]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/02 16:47:23]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/02 16:47:23]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/02 16:47:23]: Successfully started GameController -[info][UnlSpectre][2025/05/02 16:47:23]: Successfully started PlayerController -[info][UnlSpectre][2025/05/02 16:47:23]: Successfully started VehicleController -[info][UnlSpectre][2025/05/02 16:47:25]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/02 17:03:20]: Successfully registered Exports -[info][UnlSpectre][2025/05/02 17:03:20]: Successfully loaded Items -[info][UnlSpectre][2025/05/02 17:03:20]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/02 17:03:20]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/02 17:03:20]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/02 17:03:20]: Successfully started GameController -[info][UnlSpectre][2025/05/02 17:03:20]: Successfully started PlayerController -[info][UnlSpectre][2025/05/02 17:03:20]: Successfully started VehicleController -[info][UnlSpectre][2025/05/02 17:03:21]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/02 17:06:55]: Successfully registered Exports -[info][UnlSpectre][2025/05/02 17:06:55]: Successfully loaded Items -[info][UnlSpectre][2025/05/02 17:06:55]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/02 17:06:55]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/02 17:06:55]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/02 17:06:55]: Successfully started GameController -[info][UnlSpectre][2025/05/02 17:06:55]: Successfully started PlayerController -[info][UnlSpectre][2025/05/02 17:06:55]: Successfully started VehicleController -[info][UnlSpectre][2025/05/02 17:06:56]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/02 20:58:49]: Successfully registered Exports -[info][UnlSpectre][2025/05/02 20:58:49]: Successfully loaded Items -[info][UnlSpectre][2025/05/02 20:58:49]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/02 20:58:49]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/02 20:58:49]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/02 20:58:49]: Successfully started GameController -[info][UnlSpectre][2025/05/02 20:58:49]: Successfully started PlayerController -[info][UnlSpectre][2025/05/02 20:58:49]: Successfully started VehicleController -[info][UnlSpectre][2025/05/02 20:58:50]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/02 21:13:13]: Successfully registered Exports -[info][UnlSpectre][2025/05/02 21:13:13]: Successfully loaded Items -[info][UnlSpectre][2025/05/02 21:13:13]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/02 21:13:13]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/02 21:13:13]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/02 21:13:13]: Successfully started GameController -[info][UnlSpectre][2025/05/02 21:13:13]: Successfully started PlayerController -[info][UnlSpectre][2025/05/02 21:13:13]: Successfully started VehicleController -[info][UnlSpectre][2025/05/02 21:13:14]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/02 21:34:37]: Successfully registered Exports -[info][UnlSpectre][2025/05/02 21:34:37]: Successfully loaded Items -[info][UnlSpectre][2025/05/02 21:34:37]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/02 21:34:37]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/02 21:34:37]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/02 21:34:37]: Successfully started GameController -[info][UnlSpectre][2025/05/02 21:34:37]: Successfully started PlayerController -[info][UnlSpectre][2025/05/02 21:34:37]: Successfully started VehicleController -[info][UnlSpectre][2025/05/02 21:34:38]: HTTP Server started on port 3000. -[error][UnlSpectre][2025/05/03 00:13:51]: undefined -[info][UnlSpectre][2025/05/03 01:38:22]: Successfully registered Exports -[info][UnlSpectre][2025/05/03 01:38:22]: Successfully loaded Items -[info][UnlSpectre][2025/05/03 01:38:22]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/03 01:38:22]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/03 01:38:22]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/03 01:38:22]: Successfully started GameController -[info][UnlSpectre][2025/05/03 01:38:22]: Successfully started PlayerController -[info][UnlSpectre][2025/05/03 01:38:22]: Successfully started VehicleController -[info][UnlSpectre][2025/05/03 01:38:23]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/03 04:02:20]: Successfully registered Exports -[info][UnlSpectre][2025/05/03 04:02:20]: Successfully loaded Items -[info][UnlSpectre][2025/05/03 04:02:20]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/03 04:02:20]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/03 04:02:20]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/03 04:02:20]: Successfully started GameController -[info][UnlSpectre][2025/05/03 04:02:20]: Successfully started PlayerController -[info][UnlSpectre][2025/05/03 04:02:20]: Successfully started VehicleController -[info][UnlSpectre][2025/05/03 04:02:21]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/03 05:52:39]: Successfully registered Exports -[info][UnlSpectre][2025/05/03 05:52:39]: Successfully loaded Items -[info][UnlSpectre][2025/05/03 05:52:39]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/03 05:52:39]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/03 05:52:39]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/03 05:52:39]: Successfully started GameController -[info][UnlSpectre][2025/05/03 05:52:39]: Successfully started PlayerController -[info][UnlSpectre][2025/05/03 05:52:39]: Successfully started VehicleController -[info][UnlSpectre][2025/05/03 05:52:40]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/03 06:01:22]: Successfully registered Exports -[info][UnlSpectre][2025/05/03 06:01:22]: Successfully loaded Items -[info][UnlSpectre][2025/05/03 06:01:22]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/03 06:01:22]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/03 06:01:22]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/03 06:01:22]: Successfully started GameController -[info][UnlSpectre][2025/05/03 06:01:22]: Successfully started PlayerController -[info][UnlSpectre][2025/05/03 06:01:22]: Successfully started VehicleController -[info][UnlSpectre][2025/05/03 06:01:24]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/03 06:24:25]: Successfully registered Exports -[info][UnlSpectre][2025/05/03 06:24:25]: Successfully loaded Items -[info][UnlSpectre][2025/05/03 06:24:25]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/03 06:24:25]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/03 06:24:25]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/03 06:24:25]: Successfully started GameController -[info][UnlSpectre][2025/05/03 06:24:25]: Successfully started PlayerController -[info][UnlSpectre][2025/05/03 06:24:25]: Successfully started VehicleController -[info][UnlSpectre][2025/05/03 06:24:26]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/03 08:01:26]: Successfully registered Exports -[info][UnlSpectre][2025/05/03 08:01:26]: Successfully loaded Items -[info][UnlSpectre][2025/05/03 08:01:26]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/03 08:01:26]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/03 08:01:26]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/03 08:01:26]: Successfully started GameController -[info][UnlSpectre][2025/05/03 08:01:26]: Successfully started PlayerController -[info][UnlSpectre][2025/05/03 08:01:26]: Successfully started VehicleController -[info][UnlSpectre][2025/05/03 08:01:27]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/03 08:03:33]: Successfully registered Exports -[info][UnlSpectre][2025/05/03 08:03:33]: Successfully loaded Items -[info][UnlSpectre][2025/05/03 08:03:33]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/03 08:03:33]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/03 08:03:33]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/03 08:03:33]: Successfully started GameController -[info][UnlSpectre][2025/05/03 08:03:33]: Successfully started PlayerController -[info][UnlSpectre][2025/05/03 08:03:33]: Successfully started VehicleController -[info][UnlSpectre][2025/05/03 08:03:34]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/03 13:21:59]: Successfully registered Exports -[info][UnlSpectre][2025/05/03 13:21:59]: Successfully loaded Items -[info][UnlSpectre][2025/05/03 13:21:59]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/03 13:21:59]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/03 13:21:59]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/03 13:21:59]: Successfully started GameController -[info][UnlSpectre][2025/05/03 13:21:59]: Successfully started PlayerController -[info][UnlSpectre][2025/05/03 13:21:59]: Successfully started VehicleController -[info][UnlSpectre][2025/05/03 13:22:01]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/03 13:23:37]: Successfully registered Exports -[info][UnlSpectre][2025/05/03 13:23:38]: Successfully loaded Items -[info][UnlSpectre][2025/05/03 13:23:38]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/03 13:23:38]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/03 13:23:38]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/03 13:23:38]: Successfully started GameController -[info][UnlSpectre][2025/05/03 13:23:38]: Successfully started PlayerController -[info][UnlSpectre][2025/05/03 13:23:38]: Successfully started VehicleController -[info][UnlSpectre][2025/05/03 13:23:39]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/03 15:37:02]: Successfully registered Exports -[info][UnlSpectre][2025/05/03 15:37:02]: Successfully loaded Items -[info][UnlSpectre][2025/05/03 15:37:02]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/03 15:37:02]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/03 15:37:02]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/03 15:37:02]: Successfully started GameController -[info][UnlSpectre][2025/05/03 15:37:02]: Successfully started PlayerController -[info][UnlSpectre][2025/05/03 15:37:02]: Successfully started VehicleController -[info][UnlSpectre][2025/05/03 15:37:03]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/03 17:47:02]: Successfully registered Exports -[info][UnlSpectre][2025/05/03 17:47:02]: Successfully loaded Items -[info][UnlSpectre][2025/05/03 17:47:02]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/03 17:47:02]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/03 17:47:02]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/03 17:47:02]: Successfully started GameController -[info][UnlSpectre][2025/05/03 17:47:02]: Successfully started PlayerController -[info][UnlSpectre][2025/05/03 17:47:02]: Successfully started VehicleController -[info][UnlSpectre][2025/05/03 17:47:03]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/03 19:07:45]: Successfully registered Exports -[info][UnlSpectre][2025/05/03 19:07:45]: Successfully loaded Items -[info][UnlSpectre][2025/05/03 19:07:45]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/03 19:07:45]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/03 19:07:45]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/03 19:07:45]: Successfully started GameController -[info][UnlSpectre][2025/05/03 19:07:45]: Successfully started PlayerController -[info][UnlSpectre][2025/05/03 19:07:45]: Successfully started VehicleController -[info][UnlSpectre][2025/05/03 19:07:46]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/04 03:33:21]: Successfully registered Exports -[info][UnlSpectre][2025/05/04 03:33:21]: Successfully loaded Items -[info][UnlSpectre][2025/05/04 03:33:21]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/04 03:33:21]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/04 03:33:21]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/04 03:33:21]: Successfully started GameController -[info][UnlSpectre][2025/05/04 03:33:21]: Successfully started PlayerController -[info][UnlSpectre][2025/05/04 03:33:21]: Successfully started VehicleController -[info][UnlSpectre][2025/05/04 03:33:22]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/04 11:09:57]: Successfully registered Exports -[info][UnlSpectre][2025/05/04 11:09:57]: Successfully loaded Items -[info][UnlSpectre][2025/05/04 11:09:57]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/04 11:09:57]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/04 11:09:57]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/04 11:09:57]: Successfully started GameController -[info][UnlSpectre][2025/05/04 11:09:57]: Successfully started PlayerController -[info][UnlSpectre][2025/05/04 11:09:57]: Successfully started VehicleController -[info][UnlSpectre][2025/05/04 11:09:59]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/04 17:59:14]: Successfully registered Exports -[info][UnlSpectre][2025/05/04 17:59:14]: Successfully loaded Items -[info][UnlSpectre][2025/05/04 17:59:14]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/04 17:59:14]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/04 17:59:14]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/04 17:59:14]: Successfully started GameController -[info][UnlSpectre][2025/05/04 17:59:14]: Successfully started PlayerController -[info][UnlSpectre][2025/05/04 17:59:14]: Successfully started VehicleController -[info][UnlSpectre][2025/05/04 17:59:15]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/04 18:34:08]: Successfully registered Exports -[info][UnlSpectre][2025/05/04 18:34:09]: Successfully loaded Items -[info][UnlSpectre][2025/05/04 18:34:09]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/04 18:34:09]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/04 18:34:09]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/04 18:34:09]: Successfully started GameController -[info][UnlSpectre][2025/05/04 18:34:09]: Successfully started PlayerController -[info][UnlSpectre][2025/05/04 18:34:09]: Successfully started VehicleController -[info][UnlSpectre][2025/05/04 18:34:10]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/05 04:50:24]: Successfully registered Exports -[info][UnlSpectre][2025/05/05 04:50:24]: Successfully loaded Items -[info][UnlSpectre][2025/05/05 04:50:24]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/05 04:50:24]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/05 04:50:24]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/05 04:50:24]: Successfully started GameController -[info][UnlSpectre][2025/05/05 04:50:24]: Successfully started PlayerController -[info][UnlSpectre][2025/05/05 04:50:24]: Successfully started VehicleController -[info][UnlSpectre][2025/05/05 04:50:27]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/05 05:31:11]: Successfully registered Exports -[info][UnlSpectre][2025/05/05 05:31:11]: Successfully loaded Items -[info][UnlSpectre][2025/05/05 05:31:11]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/05 05:31:11]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/05 05:31:11]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/05 05:31:11]: Successfully started GameController -[info][UnlSpectre][2025/05/05 05:31:11]: Successfully started PlayerController -[info][UnlSpectre][2025/05/05 05:31:11]: Successfully started VehicleController -[info][UnlSpectre][2025/05/05 05:31:12]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/05 06:28:29]: Successfully registered Exports -[info][UnlSpectre][2025/05/05 06:28:29]: Successfully loaded Items -[info][UnlSpectre][2025/05/05 06:28:29]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/05 06:28:29]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/05 06:28:29]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/05 06:28:29]: Successfully started GameController -[info][UnlSpectre][2025/05/05 06:28:29]: Successfully started PlayerController -[info][UnlSpectre][2025/05/05 06:28:29]: Successfully started VehicleController -[info][UnlSpectre][2025/05/05 06:28:30]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/05 06:29:23]: Successfully registered Exports -[info][UnlSpectre][2025/05/05 06:29:23]: Successfully loaded Items -[info][UnlSpectre][2025/05/05 06:29:23]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/05 06:29:23]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/05 06:29:23]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/05 06:29:23]: Successfully started GameController -[info][UnlSpectre][2025/05/05 06:29:23]: Successfully started PlayerController -[info][UnlSpectre][2025/05/05 06:29:23]: Successfully started VehicleController -[info][UnlSpectre][2025/05/05 06:29:24]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/05 06:38:42]: Successfully registered Exports -[info][UnlSpectre][2025/05/05 06:38:43]: Successfully loaded Items -[info][UnlSpectre][2025/05/05 06:38:43]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/05 06:38:43]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/05 06:38:43]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/05 06:38:43]: Successfully started GameController -[info][UnlSpectre][2025/05/05 06:38:43]: Successfully started PlayerController -[info][UnlSpectre][2025/05/05 06:38:43]: Successfully started VehicleController -[info][UnlSpectre][2025/05/05 06:38:44]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/05 07:04:23]: Successfully registered Exports -[info][UnlSpectre][2025/05/05 07:04:23]: Successfully loaded Items -[info][UnlSpectre][2025/05/05 07:04:23]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/05 07:04:23]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/05 07:04:23]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/05 07:04:23]: Successfully started GameController -[info][UnlSpectre][2025/05/05 07:04:23]: Successfully started PlayerController -[info][UnlSpectre][2025/05/05 07:04:23]: Successfully started VehicleController -[info][UnlSpectre][2025/05/05 07:04:24]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/05 07:13:00]: Successfully registered Exports -[info][UnlSpectre][2025/05/05 07:13:00]: Successfully loaded Items -[info][UnlSpectre][2025/05/05 07:13:00]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/05 07:13:00]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/05 07:13:00]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/05 07:13:00]: Successfully started GameController -[info][UnlSpectre][2025/05/05 07:13:00]: Successfully started PlayerController -[info][UnlSpectre][2025/05/05 07:13:00]: Successfully started VehicleController -[info][UnlSpectre][2025/05/05 07:13:01]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/05 11:56:38]: Successfully registered Exports -[info][UnlSpectre][2025/05/05 11:56:38]: Successfully loaded Items -[info][UnlSpectre][2025/05/05 11:56:38]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/05 11:56:38]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/05 11:56:38]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/05 11:56:38]: Successfully started GameController -[info][UnlSpectre][2025/05/05 11:56:38]: Successfully started PlayerController -[info][UnlSpectre][2025/05/05 11:56:38]: Successfully started VehicleController -[info][UnlSpectre][2025/05/05 11:56:40]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/05 12:17:24]: Successfully registered Exports -[info][UnlSpectre][2025/05/05 12:17:24]: Successfully loaded Items -[info][UnlSpectre][2025/05/05 12:17:24]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/05 12:17:24]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/05 12:17:24]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/05 12:17:24]: Successfully started GameController -[info][UnlSpectre][2025/05/05 12:17:24]: Successfully started PlayerController -[info][UnlSpectre][2025/05/05 12:17:24]: Successfully started VehicleController -[info][UnlSpectre][2025/05/05 12:17:25]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/05 19:54:04]: Successfully registered Exports -[info][UnlSpectre][2025/05/05 19:54:05]: Successfully loaded Items -[info][UnlSpectre][2025/05/05 19:54:05]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/05 19:54:05]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/05 19:54:05]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/05 19:54:05]: Successfully started GameController -[info][UnlSpectre][2025/05/05 19:54:05]: Successfully started PlayerController -[info][UnlSpectre][2025/05/05 19:54:05]: Successfully started VehicleController -[info][UnlSpectre][2025/05/05 19:54:07]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/05 19:58:09]: Successfully registered Exports -[info][UnlSpectre][2025/05/05 19:58:09]: Successfully loaded Items -[info][UnlSpectre][2025/05/05 19:58:09]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/05 19:58:09]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/05 19:58:09]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/05 19:58:09]: Successfully started GameController -[info][UnlSpectre][2025/05/05 19:58:09]: Successfully started PlayerController -[info][UnlSpectre][2025/05/05 19:58:09]: Successfully started VehicleController -[info][UnlSpectre][2025/05/05 19:58:11]: HTTP Server started on port 3000. -[error][UnlSpectre][2025/05/05 20:01:24]: Not Found -[info][UnlSpectre][2025/05/05 20:05:52]: Successfully registered Exports -[info][UnlSpectre][2025/05/05 20:05:52]: Successfully loaded Items -[info][UnlSpectre][2025/05/05 20:05:52]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/05 20:05:52]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/05 20:05:52]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/05 20:05:52]: Successfully started GameController -[info][UnlSpectre][2025/05/05 20:05:52]: Successfully started PlayerController -[info][UnlSpectre][2025/05/05 20:05:52]: Successfully started VehicleController -[info][UnlSpectre][2025/05/05 20:05:53]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/05 20:12:51]: Successfully registered Exports -[info][UnlSpectre][2025/05/05 20:12:51]: Successfully loaded Items -[info][UnlSpectre][2025/05/05 20:12:51]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/05 20:12:51]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/05 20:12:51]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/05 20:12:51]: Successfully started GameController -[info][UnlSpectre][2025/05/05 20:12:51]: Successfully started PlayerController -[info][UnlSpectre][2025/05/05 20:12:51]: Successfully started VehicleController -[info][UnlSpectre][2025/05/05 20:12:53]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/05 21:02:03]: Successfully registered Exports -[info][UnlSpectre][2025/05/05 21:02:03]: Successfully loaded Items -[info][UnlSpectre][2025/05/05 21:02:03]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/05 21:02:03]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/05 21:02:03]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/05 21:02:03]: Successfully started GameController -[info][UnlSpectre][2025/05/05 21:02:03]: Successfully started PlayerController -[info][UnlSpectre][2025/05/05 21:02:03]: Successfully started VehicleController -[info][UnlSpectre][2025/05/05 21:02:04]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/05 21:23:45]: Successfully registered Exports -[info][UnlSpectre][2025/05/05 21:23:45]: Successfully loaded Items -[info][UnlSpectre][2025/05/05 21:23:45]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/05 21:23:45]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/05 21:23:45]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/05 21:23:45]: Successfully started GameController -[info][UnlSpectre][2025/05/05 21:23:45]: Successfully started PlayerController -[info][UnlSpectre][2025/05/05 21:23:45]: Successfully started VehicleController -[info][UnlSpectre][2025/05/05 21:23:47]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/05 21:31:44]: Successfully registered Exports -[info][UnlSpectre][2025/05/05 21:31:44]: Successfully loaded Items -[info][UnlSpectre][2025/05/05 21:31:44]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/05 21:31:44]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/05 21:31:44]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/05 21:31:44]: Successfully started GameController -[info][UnlSpectre][2025/05/05 21:31:44]: Successfully started PlayerController -[info][UnlSpectre][2025/05/05 21:31:44]: Successfully started VehicleController -[info][UnlSpectre][2025/05/05 21:31:45]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/05 22:11:04]: Successfully registered Exports -[info][UnlSpectre][2025/05/05 22:11:04]: Successfully loaded Items -[info][UnlSpectre][2025/05/05 22:11:04]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/05 22:11:04]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/05 22:11:04]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/05 22:11:04]: Successfully started GameController -[info][UnlSpectre][2025/05/05 22:11:04]: Successfully started PlayerController -[info][UnlSpectre][2025/05/05 22:11:04]: Successfully started VehicleController -[info][UnlSpectre][2025/05/05 22:11:05]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/05 22:19:59]: Successfully registered Exports -[info][UnlSpectre][2025/05/05 22:19:59]: Successfully loaded Items -[info][UnlSpectre][2025/05/05 22:19:59]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/05 22:19:59]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/05 22:19:59]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/05 22:19:59]: Successfully started GameController -[info][UnlSpectre][2025/05/05 22:19:59]: Successfully started PlayerController -[info][UnlSpectre][2025/05/05 22:19:59]: Successfully started VehicleController -[info][UnlSpectre][2025/05/05 22:20:00]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/05 22:29:23]: Successfully registered Exports -[info][UnlSpectre][2025/05/05 22:29:23]: Successfully loaded Items -[info][UnlSpectre][2025/05/05 22:29:23]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/05 22:29:23]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/05 22:29:23]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/05 22:29:23]: Successfully started GameController -[info][UnlSpectre][2025/05/05 22:29:23]: Successfully started PlayerController -[info][UnlSpectre][2025/05/05 22:29:23]: Successfully started VehicleController -[info][UnlSpectre][2025/05/05 22:29:25]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/06 17:58:55]: Successfully registered Exports -[info][UnlSpectre][2025/05/06 17:58:55]: Successfully loaded Items -[info][UnlSpectre][2025/05/06 17:58:55]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/06 17:58:55]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/06 17:58:55]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/06 17:58:55]: Successfully started GameController -[info][UnlSpectre][2025/05/06 17:58:55]: Successfully started PlayerController -[info][UnlSpectre][2025/05/06 17:58:55]: Successfully started VehicleController -[info][UnlSpectre][2025/05/06 17:58:56]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/06 18:46:14]: Successfully registered Exports -[info][UnlSpectre][2025/05/06 18:46:14]: Successfully loaded Items -[info][UnlSpectre][2025/05/06 18:46:14]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/06 18:46:14]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/06 18:46:14]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/06 18:46:14]: Successfully started GameController -[info][UnlSpectre][2025/05/06 18:46:14]: Successfully started PlayerController -[info][UnlSpectre][2025/05/06 18:46:14]: Successfully started VehicleController -[info][UnlSpectre][2025/05/06 18:46:15]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/06 18:54:49]: Successfully registered Exports -[info][UnlSpectre][2025/05/06 18:54:49]: Successfully loaded Items -[info][UnlSpectre][2025/05/06 18:54:49]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/06 18:54:49]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/06 18:54:49]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/06 18:54:49]: Successfully started GameController -[info][UnlSpectre][2025/05/06 18:54:49]: Successfully started PlayerController -[info][UnlSpectre][2025/05/06 18:54:49]: Successfully started VehicleController -[info][UnlSpectre][2025/05/06 18:54:50]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/06 19:06:20]: Successfully registered Exports -[info][UnlSpectre][2025/05/06 19:06:20]: Successfully loaded Items -[info][UnlSpectre][2025/05/06 19:06:20]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/06 19:06:20]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/06 19:06:20]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/06 19:06:20]: Successfully started GameController -[info][UnlSpectre][2025/05/06 19:06:20]: Successfully started PlayerController -[info][UnlSpectre][2025/05/06 19:06:20]: Successfully started VehicleController -[info][UnlSpectre][2025/05/06 19:06:21]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/06 19:34:48]: Successfully registered Exports -[info][UnlSpectre][2025/05/06 19:34:48]: Successfully loaded Items -[info][UnlSpectre][2025/05/06 19:34:48]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/06 19:34:48]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/06 19:34:48]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/06 19:34:48]: Successfully started GameController -[info][UnlSpectre][2025/05/06 19:34:48]: Successfully started PlayerController -[info][UnlSpectre][2025/05/06 19:34:48]: Successfully started VehicleController -[info][UnlSpectre][2025/05/06 19:34:50]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/06 20:11:41]: Successfully registered Exports -[info][UnlSpectre][2025/05/06 20:11:42]: Successfully loaded Items -[info][UnlSpectre][2025/05/06 20:11:42]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/06 20:11:42]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/06 20:11:42]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/06 20:11:42]: Successfully started GameController -[info][UnlSpectre][2025/05/06 20:11:42]: Successfully started PlayerController -[info][UnlSpectre][2025/05/06 20:11:42]: Successfully started VehicleController -[info][UnlSpectre][2025/05/06 20:11:43]: HTTP Server started on port 3000. -[error][UnlSpectre][2025/05/06 20:38:40]: undefined -[info][UnlSpectre][2025/05/06 21:18:28]: Successfully registered Exports -[info][UnlSpectre][2025/05/06 21:18:28]: Successfully loaded Items -[info][UnlSpectre][2025/05/06 21:18:28]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/06 21:18:28]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/06 21:18:28]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/06 21:18:28]: Successfully started GameController -[info][UnlSpectre][2025/05/06 21:18:28]: Successfully started PlayerController -[info][UnlSpectre][2025/05/06 21:18:28]: Successfully started VehicleController -[info][UnlSpectre][2025/05/06 21:18:30]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/06 21:37:51]: Successfully registered Exports -[info][UnlSpectre][2025/05/06 21:37:51]: Successfully loaded Items -[info][UnlSpectre][2025/05/06 21:37:51]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/06 21:37:51]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/06 21:37:51]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/06 21:37:51]: Successfully started GameController -[info][UnlSpectre][2025/05/06 21:37:51]: Successfully started PlayerController -[info][UnlSpectre][2025/05/06 21:37:51]: Successfully started VehicleController -[info][UnlSpectre][2025/05/06 21:37:52]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/06 21:50:31]: Weapon log got triggered with unknow weapon hash 2441047180. Maybe check your hashes.json -[info][UnlSpectre][2025/05/06 21:50:42]: Weapon log got triggered with unknow weapon hash 2441047180. Maybe check your hashes.json -[info][UnlSpectre][2025/05/06 21:50:44]: Weapon log got triggered with unknow weapon hash 2441047180. Maybe check your hashes.json -[info][UnlSpectre][2025/05/06 21:50:45]: Weapon log got triggered with unknow weapon hash 2441047180. Maybe check your hashes.json -[info][UnlSpectre][2025/05/06 21:51:42]: Weapon log got triggered with unknow weapon hash 2441047180. Maybe check your hashes.json -[info][UnlSpectre][2025/05/06 21:51:53]: Weapon log got triggered with unknow weapon hash 2441047180. Maybe check your hashes.json -[info][UnlSpectre][2025/05/06 21:52:08]: Weapon log got triggered with unknow weapon hash 2441047180. Maybe check your hashes.json -[info][UnlSpectre][2025/05/06 21:52:09]: Weapon log got triggered with unknow weapon hash 2441047180. Maybe check your hashes.json -[info][UnlSpectre][2025/05/06 21:52:11]: Weapon log got triggered with unknow weapon hash 2441047180. Maybe check your hashes.json -[info][UnlSpectre][2025/05/06 21:54:27]: Weapon log got triggered with unknow weapon hash 2441047180. Maybe check your hashes.json -[info][UnlSpectre][2025/05/06 21:54:29]: Weapon log got triggered with unknow weapon hash 2441047180. Maybe check your hashes.json -[info][UnlSpectre][2025/05/06 21:54:30]: Weapon log got triggered with unknow weapon hash 2441047180. Maybe check your hashes.json -[info][UnlSpectre][2025/05/06 21:57:33]: Successfully registered Exports -[info][UnlSpectre][2025/05/06 21:57:33]: Successfully loaded Items -[info][UnlSpectre][2025/05/06 21:57:33]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/06 21:57:33]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/06 21:57:33]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/06 21:57:33]: Successfully started GameController -[info][UnlSpectre][2025/05/06 21:57:33]: Successfully started PlayerController -[info][UnlSpectre][2025/05/06 21:57:33]: Successfully started VehicleController -[info][UnlSpectre][2025/05/06 21:57:35]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/06 22:07:04]: Successfully registered Exports -[info][UnlSpectre][2025/05/06 22:07:04]: Successfully loaded Items -[info][UnlSpectre][2025/05/06 22:07:04]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/06 22:07:04]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/06 22:07:04]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/06 22:07:04]: Successfully started GameController -[info][UnlSpectre][2025/05/06 22:07:04]: Successfully started PlayerController -[info][UnlSpectre][2025/05/06 22:07:04]: Successfully started VehicleController -[info][UnlSpectre][2025/05/06 22:07:06]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/06 22:18:33]: Successfully registered Exports -[info][UnlSpectre][2025/05/06 22:18:33]: Successfully loaded Items -[info][UnlSpectre][2025/05/06 22:18:33]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/06 22:18:33]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/06 22:18:33]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/06 22:18:33]: Successfully started GameController -[info][UnlSpectre][2025/05/06 22:18:33]: Successfully started PlayerController -[info][UnlSpectre][2025/05/06 22:18:33]: Successfully started VehicleController -[info][UnlSpectre][2025/05/06 22:18:35]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/06 23:59:42]: Successfully registered Exports -[info][UnlSpectre][2025/05/06 23:59:43]: Successfully loaded Items -[info][UnlSpectre][2025/05/06 23:59:43]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/06 23:59:43]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/06 23:59:43]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/06 23:59:43]: Successfully started GameController -[info][UnlSpectre][2025/05/06 23:59:43]: Successfully started PlayerController -[info][UnlSpectre][2025/05/06 23:59:43]: Successfully started VehicleController -[info][UnlSpectre][2025/05/06 23:59:44]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/07 00:29:56]: Successfully registered Exports -[info][UnlSpectre][2025/05/07 00:29:56]: Successfully loaded Items -[info][UnlSpectre][2025/05/07 00:29:56]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/07 00:29:56]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/07 00:29:56]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/07 00:29:56]: Successfully started GameController -[info][UnlSpectre][2025/05/07 00:29:56]: Successfully started PlayerController -[info][UnlSpectre][2025/05/07 00:29:56]: Successfully started VehicleController -[info][UnlSpectre][2025/05/07 00:29:57]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/07 00:43:54]: Successfully registered Exports -[info][UnlSpectre][2025/05/07 00:43:54]: Successfully loaded Items -[info][UnlSpectre][2025/05/07 00:43:54]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/07 00:43:54]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/07 00:43:54]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/07 00:43:54]: Successfully started GameController -[info][UnlSpectre][2025/05/07 00:43:54]: Successfully started PlayerController -[info][UnlSpectre][2025/05/07 00:43:54]: Successfully started VehicleController -[info][UnlSpectre][2025/05/07 00:43:55]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/07 00:44:46]: Successfully registered Exports -[info][UnlSpectre][2025/05/07 00:44:46]: Successfully loaded Items -[info][UnlSpectre][2025/05/07 00:44:46]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/07 00:44:46]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/07 00:44:46]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/07 00:44:46]: Successfully started GameController -[info][UnlSpectre][2025/05/07 00:44:46]: Successfully started PlayerController -[info][UnlSpectre][2025/05/07 00:44:46]: Successfully started VehicleController -[info][UnlSpectre][2025/05/07 00:44:47]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/07 00:52:39]: Successfully registered Exports -[info][UnlSpectre][2025/05/07 00:52:39]: Successfully loaded Items -[info][UnlSpectre][2025/05/07 00:52:39]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/07 00:52:39]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/07 00:52:39]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/07 00:52:39]: Successfully started GameController -[info][UnlSpectre][2025/05/07 00:52:39]: Successfully started PlayerController -[info][UnlSpectre][2025/05/07 00:52:39]: Successfully started VehicleController -[info][UnlSpectre][2025/05/07 00:52:40]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/07 01:02:18]: Successfully registered Exports -[info][UnlSpectre][2025/05/07 01:02:18]: Successfully loaded Items -[info][UnlSpectre][2025/05/07 01:02:18]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/07 01:02:18]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/07 01:02:18]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/07 01:02:18]: Successfully started GameController -[info][UnlSpectre][2025/05/07 01:02:18]: Successfully started PlayerController -[info][UnlSpectre][2025/05/07 01:02:18]: Successfully started VehicleController -[info][UnlSpectre][2025/05/07 01:02:20]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/07 12:37:43]: Successfully registered Exports -[info][UnlSpectre][2025/05/07 12:37:43]: Successfully loaded Items -[info][UnlSpectre][2025/05/07 12:37:43]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/07 12:37:43]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/07 12:37:43]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/07 12:37:43]: Successfully started GameController -[info][UnlSpectre][2025/05/07 12:37:43]: Successfully started PlayerController -[info][UnlSpectre][2025/05/07 12:37:43]: Successfully started VehicleController -[info][UnlSpectre][2025/05/07 12:37:44]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/07 14:11:00]: Successfully registered Exports -[info][UnlSpectre][2025/05/07 14:11:01]: Successfully loaded Items -[info][UnlSpectre][2025/05/07 14:11:01]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/07 14:11:01]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/07 14:11:01]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/07 14:11:01]: Successfully started GameController -[info][UnlSpectre][2025/05/07 14:11:01]: Successfully started PlayerController -[info][UnlSpectre][2025/05/07 14:11:01]: Successfully started VehicleController -[info][UnlSpectre][2025/05/07 14:11:02]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/07 19:21:13]: Successfully registered Exports -[info][UnlSpectre][2025/05/07 19:21:13]: Successfully loaded Items -[info][UnlSpectre][2025/05/07 19:21:13]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/07 19:21:13]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/07 19:21:13]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/07 19:21:13]: Successfully started GameController -[info][UnlSpectre][2025/05/07 19:21:13]: Successfully started PlayerController -[info][UnlSpectre][2025/05/07 19:21:13]: Successfully started VehicleController -[info][UnlSpectre][2025/05/07 19:21:14]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/07 19:36:40]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/05/07 20:41:38]: Successfully registered Exports -[info][UnlSpectre][2025/05/07 20:41:38]: Successfully loaded Items -[info][UnlSpectre][2025/05/07 20:41:38]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/07 20:41:38]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/07 20:41:38]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/07 20:41:38]: Successfully started GameController -[info][UnlSpectre][2025/05/07 20:41:38]: Successfully started PlayerController -[info][UnlSpectre][2025/05/07 20:41:38]: Successfully started VehicleController -[info][UnlSpectre][2025/05/07 20:41:39]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/07 21:52:37]: Successfully registered Exports -[info][UnlSpectre][2025/05/07 21:52:37]: Successfully loaded Items -[info][UnlSpectre][2025/05/07 21:52:37]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/07 21:52:37]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/07 21:52:37]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/07 21:52:37]: Successfully started GameController -[info][UnlSpectre][2025/05/07 21:52:37]: Successfully started PlayerController -[info][UnlSpectre][2025/05/07 21:52:37]: Successfully started VehicleController -[info][UnlSpectre][2025/05/07 21:52:38]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/07 22:51:33]: Successfully registered Exports -[info][UnlSpectre][2025/05/07 22:51:33]: Successfully loaded Items -[info][UnlSpectre][2025/05/07 22:51:33]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/07 22:51:33]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/07 22:51:33]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/07 22:51:33]: Successfully started GameController -[info][UnlSpectre][2025/05/07 22:51:33]: Successfully started PlayerController -[info][UnlSpectre][2025/05/07 22:51:33]: Successfully started VehicleController -[info][UnlSpectre][2025/05/07 22:51:34]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/07 22:53:15]: Successfully registered Exports -[info][UnlSpectre][2025/05/07 22:53:15]: Successfully loaded Items -[info][UnlSpectre][2025/05/07 22:53:15]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/07 22:53:15]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/07 22:53:15]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/07 22:53:15]: Successfully started GameController -[info][UnlSpectre][2025/05/07 22:53:15]: Successfully started PlayerController -[info][UnlSpectre][2025/05/07 22:53:15]: Successfully started VehicleController -[info][UnlSpectre][2025/05/07 22:53:17]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/07 22:58:48]: Successfully registered Exports -[info][UnlSpectre][2025/05/07 22:58:48]: Successfully loaded Items -[info][UnlSpectre][2025/05/07 22:58:48]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/07 22:58:48]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/07 22:58:48]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/07 22:58:48]: Successfully started GameController -[info][UnlSpectre][2025/05/07 22:58:48]: Successfully started PlayerController -[info][UnlSpectre][2025/05/07 22:58:48]: Successfully started VehicleController -[info][UnlSpectre][2025/05/07 22:58:49]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/08 19:34:33]: Successfully registered Exports -[info][UnlSpectre][2025/05/08 19:34:33]: Successfully loaded Items -[info][UnlSpectre][2025/05/08 19:34:33]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/08 19:34:33]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/08 19:34:33]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/08 19:34:33]: Successfully started GameController -[info][UnlSpectre][2025/05/08 19:34:33]: Successfully started PlayerController -[info][UnlSpectre][2025/05/08 19:34:33]: Successfully started VehicleController -[info][UnlSpectre][2025/05/08 19:34:35]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/08 20:20:48]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/05/09 00:41:35]: Successfully registered Exports -[info][UnlSpectre][2025/05/09 00:41:35]: Successfully loaded Items -[info][UnlSpectre][2025/05/09 00:41:35]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/09 00:41:35]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/09 00:41:35]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/09 00:41:35]: Successfully started GameController -[info][UnlSpectre][2025/05/09 00:41:35]: Successfully started PlayerController -[info][UnlSpectre][2025/05/09 00:41:35]: Successfully started VehicleController -[info][UnlSpectre][2025/05/09 00:41:36]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/09 02:51:05]: Successfully registered Exports -[info][UnlSpectre][2025/05/09 02:51:05]: Successfully loaded Items -[info][UnlSpectre][2025/05/09 02:51:05]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/09 02:51:05]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/09 02:51:05]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/09 02:51:05]: Successfully started GameController -[info][UnlSpectre][2025/05/09 02:51:05]: Successfully started PlayerController -[info][UnlSpectre][2025/05/09 02:51:05]: Successfully started VehicleController -[info][UnlSpectre][2025/05/09 02:51:06]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/09 02:55:37]: Successfully registered Exports -[info][UnlSpectre][2025/05/09 02:55:37]: Successfully loaded Items -[info][UnlSpectre][2025/05/09 02:55:37]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/09 02:55:37]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/09 02:55:37]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/09 02:55:37]: Successfully started GameController -[info][UnlSpectre][2025/05/09 02:55:37]: Successfully started PlayerController -[info][UnlSpectre][2025/05/09 02:55:37]: Successfully started VehicleController -[info][UnlSpectre][2025/05/09 02:55:38]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/09 03:38:38]: Successfully registered Exports -[info][UnlSpectre][2025/05/09 03:38:38]: Successfully loaded Items -[info][UnlSpectre][2025/05/09 03:38:38]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/09 03:38:38]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/09 03:38:38]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/09 03:38:38]: Successfully started GameController -[info][UnlSpectre][2025/05/09 03:38:38]: Successfully started PlayerController -[info][UnlSpectre][2025/05/09 03:38:38]: Successfully started VehicleController -[info][UnlSpectre][2025/05/09 03:38:40]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/09 03:42:52]: Successfully registered Exports -[info][UnlSpectre][2025/05/09 03:42:52]: Successfully loaded Items -[info][UnlSpectre][2025/05/09 03:42:52]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/09 03:42:52]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/09 03:42:52]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/09 03:42:52]: Successfully started GameController -[info][UnlSpectre][2025/05/09 03:42:52]: Successfully started PlayerController -[info][UnlSpectre][2025/05/09 03:42:52]: Successfully started VehicleController -[info][UnlSpectre][2025/05/09 03:42:54]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/09 04:32:06]: Successfully registered Exports -[info][UnlSpectre][2025/05/09 04:32:06]: Successfully loaded Items -[info][UnlSpectre][2025/05/09 04:32:06]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/09 04:32:06]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/09 04:32:06]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/09 04:32:06]: Successfully started GameController -[info][UnlSpectre][2025/05/09 04:32:06]: Successfully started PlayerController -[info][UnlSpectre][2025/05/09 04:32:06]: Successfully started VehicleController -[info][UnlSpectre][2025/05/09 04:32:07]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/09 04:33:26]: Successfully registered Exports -[info][UnlSpectre][2025/05/09 04:33:27]: Successfully loaded Items -[info][UnlSpectre][2025/05/09 04:33:27]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/09 04:33:27]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/09 04:33:27]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/09 04:33:27]: Successfully started GameController -[info][UnlSpectre][2025/05/09 04:33:27]: Successfully started PlayerController -[info][UnlSpectre][2025/05/09 04:33:27]: Successfully started VehicleController -[info][UnlSpectre][2025/05/09 04:33:29]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/09 04:39:13]: Successfully registered Exports -[info][UnlSpectre][2025/05/09 04:39:13]: Successfully loaded Items -[info][UnlSpectre][2025/05/09 04:39:13]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/09 04:39:13]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/09 04:39:13]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/09 04:39:13]: Successfully started GameController -[info][UnlSpectre][2025/05/09 04:39:13]: Successfully started PlayerController -[info][UnlSpectre][2025/05/09 04:39:13]: Successfully started VehicleController -[info][UnlSpectre][2025/05/09 04:39:15]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/09 06:09:33]: Successfully registered Exports -[info][UnlSpectre][2025/05/09 06:09:33]: Successfully loaded Items -[info][UnlSpectre][2025/05/09 06:09:33]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/09 06:09:33]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/09 06:09:33]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/09 06:09:33]: Successfully started GameController -[info][UnlSpectre][2025/05/09 06:09:33]: Successfully started PlayerController -[info][UnlSpectre][2025/05/09 06:09:33]: Successfully started VehicleController -[info][UnlSpectre][2025/05/09 06:09:36]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/09 06:13:41]: Successfully registered Exports -[info][UnlSpectre][2025/05/09 06:13:41]: Successfully loaded Items -[info][UnlSpectre][2025/05/09 06:13:41]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/09 06:13:41]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/09 06:13:41]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/09 06:13:41]: Successfully started GameController -[info][UnlSpectre][2025/05/09 06:13:41]: Successfully started PlayerController -[info][UnlSpectre][2025/05/09 06:13:41]: Successfully started VehicleController -[info][UnlSpectre][2025/05/09 06:13:43]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/09 06:28:52]: Successfully registered Exports -[info][UnlSpectre][2025/05/09 06:28:52]: Successfully loaded Items -[info][UnlSpectre][2025/05/09 06:28:52]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/09 06:28:52]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/09 06:28:52]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/09 06:28:52]: Successfully started GameController -[info][UnlSpectre][2025/05/09 06:28:52]: Successfully started PlayerController -[info][UnlSpectre][2025/05/09 06:28:52]: Successfully started VehicleController -[info][UnlSpectre][2025/05/09 06:28:53]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/09 07:03:35]: Successfully registered Exports -[info][UnlSpectre][2025/05/09 07:03:35]: Successfully loaded Items -[info][UnlSpectre][2025/05/09 07:03:35]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/09 07:03:35]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/09 07:03:35]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/09 07:03:35]: Successfully started GameController -[info][UnlSpectre][2025/05/09 07:03:35]: Successfully started PlayerController -[info][UnlSpectre][2025/05/09 07:03:35]: Successfully started VehicleController -[info][UnlSpectre][2025/05/09 07:03:36]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/09 07:09:49]: Successfully registered Exports -[info][UnlSpectre][2025/05/09 07:09:49]: Successfully loaded Items -[info][UnlSpectre][2025/05/09 07:09:49]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/09 07:09:49]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/09 07:09:49]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/09 07:09:49]: Successfully started GameController -[info][UnlSpectre][2025/05/09 07:09:49]: Successfully started PlayerController -[info][UnlSpectre][2025/05/09 07:09:49]: Successfully started VehicleController -[info][UnlSpectre][2025/05/09 07:09:50]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/09 07:23:25]: Successfully registered Exports -[info][UnlSpectre][2025/05/09 07:23:25]: Successfully loaded Items -[info][UnlSpectre][2025/05/09 07:23:25]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/09 07:23:25]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/09 07:23:25]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/09 07:23:25]: Successfully started GameController -[info][UnlSpectre][2025/05/09 07:23:25]: Successfully started PlayerController -[info][UnlSpectre][2025/05/09 07:23:25]: Successfully started VehicleController -[info][UnlSpectre][2025/05/09 07:23:26]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/09 12:33:46]: Successfully registered Exports -[info][UnlSpectre][2025/05/09 12:33:47]: Successfully loaded Items -[info][UnlSpectre][2025/05/09 12:33:47]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/09 12:33:47]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/09 12:33:47]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/09 12:33:47]: Successfully started GameController -[info][UnlSpectre][2025/05/09 12:33:47]: Successfully started PlayerController -[info][UnlSpectre][2025/05/09 12:33:47]: Successfully started VehicleController -[info][UnlSpectre][2025/05/09 12:33:47]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/09 13:15:26]: Successfully registered Exports -[info][UnlSpectre][2025/05/09 13:15:26]: Successfully loaded Items -[info][UnlSpectre][2025/05/09 13:15:26]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/09 13:15:26]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/09 13:15:26]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/09 13:15:26]: Successfully started GameController -[info][UnlSpectre][2025/05/09 13:15:26]: Successfully started PlayerController -[info][UnlSpectre][2025/05/09 13:15:26]: Successfully started VehicleController -[info][UnlSpectre][2025/05/09 13:15:27]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/09 13:53:54]: Successfully registered Exports -[info][UnlSpectre][2025/05/09 13:53:54]: Successfully loaded Items -[info][UnlSpectre][2025/05/09 13:53:54]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/09 13:53:54]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/09 13:53:54]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/09 13:53:54]: Successfully started GameController -[info][UnlSpectre][2025/05/09 13:53:54]: Successfully started PlayerController -[info][UnlSpectre][2025/05/09 13:53:54]: Successfully started VehicleController -[info][UnlSpectre][2025/05/09 13:53:56]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/09 14:03:47]: Successfully registered Exports -[info][UnlSpectre][2025/05/09 14:03:47]: Successfully loaded Items -[info][UnlSpectre][2025/05/09 14:03:47]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/09 14:03:47]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/09 14:03:47]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/09 14:03:47]: Successfully started GameController -[info][UnlSpectre][2025/05/09 14:03:47]: Successfully started PlayerController -[info][UnlSpectre][2025/05/09 14:03:47]: Successfully started VehicleController -[info][UnlSpectre][2025/05/09 14:03:48]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/09 20:14:41]: Successfully registered Exports -[info][UnlSpectre][2025/05/09 20:14:41]: Successfully loaded Items -[info][UnlSpectre][2025/05/09 20:14:41]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/09 20:14:41]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/09 20:14:41]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/09 20:14:41]: Successfully started GameController -[info][UnlSpectre][2025/05/09 20:14:41]: Successfully started PlayerController -[info][UnlSpectre][2025/05/09 20:14:41]: Successfully started VehicleController -[info][UnlSpectre][2025/05/09 20:14:50]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/09 20:20:56]: Successfully registered Exports -[info][UnlSpectre][2025/05/09 20:20:56]: Successfully loaded Items -[info][UnlSpectre][2025/05/09 20:20:56]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/09 20:20:56]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/09 20:20:56]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/09 20:20:56]: Successfully started GameController -[info][UnlSpectre][2025/05/09 20:20:56]: Successfully started PlayerController -[info][UnlSpectre][2025/05/09 20:20:56]: Successfully started VehicleController -[info][UnlSpectre][2025/05/09 20:20:58]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/09 20:35:27]: Successfully registered Exports -[info][UnlSpectre][2025/05/09 20:35:27]: Successfully loaded Items -[info][UnlSpectre][2025/05/09 20:35:27]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/09 20:35:27]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/09 20:35:27]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/09 20:35:27]: Successfully started GameController -[info][UnlSpectre][2025/05/09 20:35:27]: Successfully started PlayerController -[info][UnlSpectre][2025/05/09 20:35:27]: Successfully started VehicleController -[info][UnlSpectre][2025/05/09 20:35:29]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/09 20:38:53]: Successfully registered Exports -[info][UnlSpectre][2025/05/09 20:38:53]: Successfully loaded Items -[info][UnlSpectre][2025/05/09 20:38:53]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/09 20:38:53]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/09 20:38:53]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/09 20:38:53]: Successfully started GameController -[info][UnlSpectre][2025/05/09 20:38:53]: Successfully started PlayerController -[info][UnlSpectre][2025/05/09 20:38:53]: Successfully started VehicleController -[info][UnlSpectre][2025/05/09 20:38:54]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/09 20:41:44]: Successfully registered Exports -[info][UnlSpectre][2025/05/09 20:41:44]: Successfully loaded Items -[info][UnlSpectre][2025/05/09 20:41:44]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/09 20:41:44]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/09 20:41:44]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/09 20:41:44]: Successfully started GameController -[info][UnlSpectre][2025/05/09 20:41:44]: Successfully started PlayerController -[info][UnlSpectre][2025/05/09 20:41:44]: Successfully started VehicleController -[info][UnlSpectre][2025/05/09 20:41:48]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/09 20:52:04]: Successfully registered Exports -[info][UnlSpectre][2025/05/09 20:52:04]: Successfully loaded Items -[info][UnlSpectre][2025/05/09 20:52:04]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/09 20:52:04]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/09 20:52:04]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/09 20:52:04]: Successfully started GameController -[info][UnlSpectre][2025/05/09 20:52:04]: Successfully started PlayerController -[info][UnlSpectre][2025/05/09 20:52:04]: Successfully started VehicleController -[info][UnlSpectre][2025/05/09 20:52:05]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/09 21:15:14]: Successfully registered Exports -[info][UnlSpectre][2025/05/09 21:15:14]: Successfully loaded Items -[info][UnlSpectre][2025/05/09 21:15:14]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/09 21:15:14]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/09 21:15:14]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/09 21:15:14]: Successfully started GameController -[info][UnlSpectre][2025/05/09 21:15:14]: Successfully started PlayerController -[info][UnlSpectre][2025/05/09 21:15:14]: Successfully started VehicleController -[info][UnlSpectre][2025/05/09 21:15:16]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/09 22:08:50]: Successfully registered Exports -[info][UnlSpectre][2025/05/09 22:08:50]: Successfully loaded Items -[info][UnlSpectre][2025/05/09 22:08:50]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/09 22:08:50]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/09 22:08:50]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/09 22:08:50]: Successfully started GameController -[info][UnlSpectre][2025/05/09 22:08:50]: Successfully started PlayerController -[info][UnlSpectre][2025/05/09 22:08:50]: Successfully started VehicleController -[info][UnlSpectre][2025/05/09 22:08:52]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/09 22:50:33]: Successfully registered Exports -[info][UnlSpectre][2025/05/09 22:50:33]: Successfully loaded Items -[info][UnlSpectre][2025/05/09 22:50:33]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/09 22:50:33]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/09 22:50:33]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/09 22:50:33]: Successfully started GameController -[info][UnlSpectre][2025/05/09 22:50:33]: Successfully started PlayerController -[info][UnlSpectre][2025/05/09 22:50:33]: Successfully started VehicleController -[info][UnlSpectre][2025/05/09 22:50:35]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/09 23:58:11]: Successfully registered Exports -[info][UnlSpectre][2025/05/09 23:58:11]: Successfully loaded Items -[info][UnlSpectre][2025/05/09 23:58:11]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/09 23:58:11]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/09 23:58:11]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/09 23:58:11]: Successfully started GameController -[info][UnlSpectre][2025/05/09 23:58:11]: Successfully started PlayerController -[info][UnlSpectre][2025/05/09 23:58:11]: Successfully started VehicleController -[info][UnlSpectre][2025/05/09 23:58:13]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/09 23:58:43]: Successfully registered Exports -[info][UnlSpectre][2025/05/09 23:58:43]: Successfully loaded Items -[info][UnlSpectre][2025/05/09 23:58:43]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/09 23:58:43]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/09 23:58:43]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/09 23:58:43]: Successfully started GameController -[info][UnlSpectre][2025/05/09 23:58:43]: Successfully started PlayerController -[info][UnlSpectre][2025/05/09 23:58:43]: Successfully started VehicleController -[info][UnlSpectre][2025/05/09 23:58:45]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/10 01:32:11]: Successfully registered Exports -[info][UnlSpectre][2025/05/10 01:32:11]: Successfully loaded Items -[info][UnlSpectre][2025/05/10 01:32:11]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/10 01:32:11]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/10 01:32:11]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/10 01:32:11]: Successfully started GameController -[info][UnlSpectre][2025/05/10 01:32:11]: Successfully started PlayerController -[info][UnlSpectre][2025/05/10 01:32:11]: Successfully started VehicleController -[info][UnlSpectre][2025/05/10 01:32:26]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/10 02:56:16]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/05/10 02:56:16]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/05/10 02:56:27]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/05/10 02:56:30]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/05/10 02:56:48]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/05/10 02:56:51]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/05/10 02:56:52]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/05/10 02:56:55]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/05/10 17:10:09]: Successfully registered Exports -[info][UnlSpectre][2025/05/10 17:10:09]: Successfully loaded Items -[info][UnlSpectre][2025/05/10 17:10:09]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/10 17:10:09]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/10 17:10:09]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/10 17:10:09]: Successfully started GameController -[info][UnlSpectre][2025/05/10 17:10:09]: Successfully started PlayerController -[info][UnlSpectre][2025/05/10 17:10:09]: Successfully started VehicleController -[info][UnlSpectre][2025/05/10 17:10:11]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/10 17:36:00]: Successfully registered Exports -[info][UnlSpectre][2025/05/10 17:36:00]: Successfully loaded Items -[info][UnlSpectre][2025/05/10 17:36:00]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/10 17:36:00]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/10 17:36:00]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/10 17:36:00]: Successfully started GameController -[info][UnlSpectre][2025/05/10 17:36:00]: Successfully started PlayerController -[info][UnlSpectre][2025/05/10 17:36:00]: Successfully started VehicleController -[info][UnlSpectre][2025/05/10 17:36:02]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/10 17:46:50]: Successfully registered Exports -[info][UnlSpectre][2025/05/10 17:46:50]: Successfully loaded Items -[info][UnlSpectre][2025/05/10 17:46:50]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/10 17:46:50]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/10 17:46:50]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/10 17:46:50]: Successfully started GameController -[info][UnlSpectre][2025/05/10 17:46:50]: Successfully started PlayerController -[info][UnlSpectre][2025/05/10 17:46:50]: Successfully started VehicleController -[info][UnlSpectre][2025/05/10 17:46:52]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/10 17:51:49]: Successfully registered Exports -[info][UnlSpectre][2025/05/10 17:51:49]: Successfully loaded Items -[info][UnlSpectre][2025/05/10 17:51:49]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/10 17:51:49]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/10 17:51:49]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/10 17:51:49]: Successfully started GameController -[info][UnlSpectre][2025/05/10 17:51:49]: Successfully started PlayerController -[info][UnlSpectre][2025/05/10 17:51:49]: Successfully started VehicleController -[info][UnlSpectre][2025/05/10 17:51:51]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/10 18:03:38]: Successfully registered Exports -[info][UnlSpectre][2025/05/10 18:03:38]: Successfully loaded Items -[info][UnlSpectre][2025/05/10 18:03:38]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/10 18:03:38]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/10 18:03:38]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/10 18:03:38]: Successfully started GameController -[info][UnlSpectre][2025/05/10 18:03:38]: Successfully started PlayerController -[info][UnlSpectre][2025/05/10 18:03:38]: Successfully started VehicleController -[info][UnlSpectre][2025/05/10 18:03:40]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/10 19:11:57]: Successfully registered Exports -[info][UnlSpectre][2025/05/10 19:11:57]: Successfully loaded Items -[info][UnlSpectre][2025/05/10 19:11:57]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/10 19:11:57]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/10 19:11:57]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/10 19:11:57]: Successfully started GameController -[info][UnlSpectre][2025/05/10 19:11:57]: Successfully started PlayerController -[info][UnlSpectre][2025/05/10 19:11:57]: Successfully started VehicleController -[info][UnlSpectre][2025/05/10 19:11:59]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/10 19:38:13]: Successfully registered Exports -[info][UnlSpectre][2025/05/10 19:38:13]: Successfully loaded Items -[info][UnlSpectre][2025/05/10 19:38:14]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/10 19:38:14]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/10 19:38:14]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/10 19:38:14]: Successfully started GameController -[info][UnlSpectre][2025/05/10 19:38:14]: Successfully started PlayerController -[info][UnlSpectre][2025/05/10 19:38:14]: Successfully started VehicleController -[info][UnlSpectre][2025/05/10 19:38:15]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/10 20:59:12]: Successfully registered Exports -[info][UnlSpectre][2025/05/10 20:59:12]: Successfully loaded Items -[info][UnlSpectre][2025/05/10 20:59:12]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/10 20:59:12]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/10 20:59:12]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/10 20:59:12]: Successfully started GameController -[info][UnlSpectre][2025/05/10 20:59:12]: Successfully started PlayerController -[info][UnlSpectre][2025/05/10 20:59:12]: Successfully started VehicleController -[info][UnlSpectre][2025/05/10 20:59:13]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/10 22:35:08]: Successfully registered Exports -[info][UnlSpectre][2025/05/10 22:35:08]: Successfully loaded Items -[info][UnlSpectre][2025/05/10 22:35:08]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/10 22:35:08]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/10 22:35:08]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/10 22:35:08]: Successfully started GameController -[info][UnlSpectre][2025/05/10 22:35:08]: Successfully started PlayerController -[info][UnlSpectre][2025/05/10 22:35:08]: Successfully started VehicleController -[info][UnlSpectre][2025/05/10 22:35:10]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/10 22:36:25]: Successfully registered Exports -[info][UnlSpectre][2025/05/10 22:36:25]: Successfully loaded Items -[info][UnlSpectre][2025/05/10 22:36:25]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/10 22:36:25]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/10 22:36:25]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/10 22:36:25]: Successfully started GameController -[info][UnlSpectre][2025/05/10 22:36:25]: Successfully started PlayerController -[info][UnlSpectre][2025/05/10 22:36:25]: Successfully started VehicleController -[info][UnlSpectre][2025/05/10 22:36:27]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/12 20:41:09]: Successfully registered Exports -[info][UnlSpectre][2025/05/12 20:41:09]: Successfully loaded Items -[info][UnlSpectre][2025/05/12 20:41:09]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/12 20:41:09]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/12 20:41:09]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/12 20:41:09]: Successfully started GameController -[info][UnlSpectre][2025/05/12 20:41:09]: Successfully started PlayerController -[info][UnlSpectre][2025/05/12 20:41:09]: Successfully started VehicleController -[info][UnlSpectre][2025/05/12 20:41:12]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/12 20:58:35]: Successfully registered Exports -[info][UnlSpectre][2025/05/12 20:58:35]: Successfully loaded Items -[info][UnlSpectre][2025/05/12 20:58:35]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/12 20:58:35]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/12 20:58:35]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/12 20:58:35]: Successfully started GameController -[info][UnlSpectre][2025/05/12 20:58:35]: Successfully started PlayerController -[info][UnlSpectre][2025/05/12 20:58:35]: Successfully started VehicleController -[info][UnlSpectre][2025/05/12 20:58:37]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/12 21:15:04]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/05/12 21:16:17]: Successfully registered Exports -[info][UnlSpectre][2025/05/12 21:16:17]: Successfully loaded Items -[info][UnlSpectre][2025/05/12 21:16:17]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/12 21:16:17]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/12 21:16:17]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/12 21:16:17]: Successfully started GameController -[info][UnlSpectre][2025/05/12 21:16:17]: Successfully started PlayerController -[info][UnlSpectre][2025/05/12 21:16:17]: Successfully started VehicleController -[info][UnlSpectre][2025/05/12 21:16:21]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/12 21:17:01]: Successfully registered Exports -[info][UnlSpectre][2025/05/12 21:17:01]: Successfully loaded Items -[info][UnlSpectre][2025/05/12 21:17:01]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/12 21:17:01]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/12 21:17:01]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/12 21:17:01]: Successfully started GameController -[info][UnlSpectre][2025/05/12 21:17:01]: Successfully started PlayerController -[info][UnlSpectre][2025/05/12 21:17:01]: Successfully started VehicleController -[info][UnlSpectre][2025/05/12 21:17:03]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/12 22:36:08]: Successfully registered Exports -[info][UnlSpectre][2025/05/12 22:36:08]: Successfully loaded Items -[info][UnlSpectre][2025/05/12 22:36:08]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/12 22:36:08]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/12 22:36:08]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/12 22:36:08]: Successfully started GameController -[info][UnlSpectre][2025/05/12 22:36:08]: Successfully started PlayerController -[info][UnlSpectre][2025/05/12 22:36:08]: Successfully started VehicleController -[info][UnlSpectre][2025/05/12 22:36:12]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/12 23:01:23]: Successfully registered Exports -[info][UnlSpectre][2025/05/12 23:01:23]: Successfully loaded Items -[info][UnlSpectre][2025/05/12 23:01:23]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/12 23:01:23]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/12 23:01:23]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/12 23:01:23]: Successfully started GameController -[info][UnlSpectre][2025/05/12 23:01:23]: Successfully started PlayerController -[info][UnlSpectre][2025/05/12 23:01:23]: Successfully started VehicleController -[info][UnlSpectre][2025/05/12 23:01:27]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/13 04:53:17]: Successfully registered Exports -[info][UnlSpectre][2025/05/13 04:53:17]: Successfully loaded Items -[info][UnlSpectre][2025/05/13 04:53:17]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/13 04:53:17]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/13 04:53:17]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/13 04:53:17]: Successfully started GameController -[info][UnlSpectre][2025/05/13 04:53:17]: Successfully started PlayerController -[info][UnlSpectre][2025/05/13 04:53:17]: Successfully started VehicleController -[info][UnlSpectre][2025/05/13 04:53:25]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/13 07:44:41]: Successfully registered Exports -[info][UnlSpectre][2025/05/13 07:44:41]: Successfully loaded Items -[info][UnlSpectre][2025/05/13 07:44:41]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/13 07:44:41]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/13 07:44:41]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/13 07:44:41]: Successfully started GameController -[info][UnlSpectre][2025/05/13 07:44:41]: Successfully started PlayerController -[info][UnlSpectre][2025/05/13 07:44:41]: Successfully started VehicleController -[info][UnlSpectre][2025/05/13 07:44:48]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/13 20:46:00]: Successfully registered Exports -[info][UnlSpectre][2025/05/13 20:46:00]: Successfully loaded Items -[info][UnlSpectre][2025/05/13 20:46:00]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/13 20:46:00]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/13 20:46:00]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/13 20:46:00]: Successfully started GameController -[info][UnlSpectre][2025/05/13 20:46:00]: Successfully started PlayerController -[info][UnlSpectre][2025/05/13 20:46:00]: Successfully started VehicleController -[info][UnlSpectre][2025/05/13 20:46:02]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/13 21:16:00]: Successfully registered Exports -[info][UnlSpectre][2025/05/13 21:16:00]: Successfully loaded Items -[info][UnlSpectre][2025/05/13 21:16:00]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/13 21:16:00]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/13 21:16:00]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/13 21:16:00]: Successfully started GameController -[info][UnlSpectre][2025/05/13 21:16:00]: Successfully started PlayerController -[info][UnlSpectre][2025/05/13 21:16:00]: Successfully started VehicleController -[info][UnlSpectre][2025/05/13 21:16:07]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/13 21:20:56]: Successfully registered Exports -[info][UnlSpectre][2025/05/13 21:20:56]: Successfully loaded Items -[info][UnlSpectre][2025/05/13 21:20:56]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/13 21:20:56]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/13 21:20:56]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/13 21:20:56]: Successfully started GameController -[info][UnlSpectre][2025/05/13 21:20:56]: Successfully started PlayerController -[info][UnlSpectre][2025/05/13 21:20:56]: Successfully started VehicleController -[info][UnlSpectre][2025/05/13 21:20:58]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/13 21:25:25]: Successfully registered Exports -[info][UnlSpectre][2025/05/13 21:25:25]: Successfully loaded Items -[info][UnlSpectre][2025/05/13 21:25:25]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/13 21:25:25]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/13 21:25:25]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/13 21:25:25]: Successfully started GameController -[info][UnlSpectre][2025/05/13 21:25:25]: Successfully started PlayerController -[info][UnlSpectre][2025/05/13 21:25:25]: Successfully started VehicleController -[info][UnlSpectre][2025/05/13 21:25:27]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/13 22:50:10]: Successfully registered Exports -[info][UnlSpectre][2025/05/13 22:50:10]: Successfully loaded Items -[info][UnlSpectre][2025/05/13 22:50:10]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/13 22:50:10]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/13 22:50:10]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/13 22:50:10]: Successfully started GameController -[info][UnlSpectre][2025/05/13 22:50:10]: Successfully started PlayerController -[info][UnlSpectre][2025/05/13 22:50:10]: Successfully started VehicleController -[info][UnlSpectre][2025/05/13 22:50:13]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/13 23:55:29]: Successfully registered Exports -[info][UnlSpectre][2025/05/13 23:55:29]: Successfully loaded Items -[info][UnlSpectre][2025/05/13 23:55:29]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/13 23:55:29]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/13 23:55:29]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/13 23:55:29]: Successfully started GameController -[info][UnlSpectre][2025/05/13 23:55:29]: Successfully started PlayerController -[info][UnlSpectre][2025/05/13 23:55:29]: Successfully started VehicleController -[info][UnlSpectre][2025/05/13 23:55:31]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/14 00:13:53]: Successfully registered Exports -[info][UnlSpectre][2025/05/14 00:13:53]: Successfully loaded Items -[info][UnlSpectre][2025/05/14 00:13:53]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/14 00:13:53]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/14 00:13:53]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/14 00:13:53]: Successfully started GameController -[info][UnlSpectre][2025/05/14 00:13:53]: Successfully started PlayerController -[info][UnlSpectre][2025/05/14 00:13:53]: Successfully started VehicleController -[info][UnlSpectre][2025/05/14 00:13:54]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/14 02:49:41]: Successfully registered Exports -[info][UnlSpectre][2025/05/14 02:49:41]: Successfully loaded Items -[info][UnlSpectre][2025/05/14 02:49:41]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/14 02:49:41]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/14 02:49:41]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/14 02:49:41]: Successfully started GameController -[info][UnlSpectre][2025/05/14 02:49:41]: Successfully started PlayerController -[info][UnlSpectre][2025/05/14 02:49:41]: Successfully started VehicleController -[info][UnlSpectre][2025/05/14 02:49:44]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/14 02:51:57]: Successfully registered Exports -[info][UnlSpectre][2025/05/14 02:51:57]: Successfully loaded Items -[info][UnlSpectre][2025/05/14 02:51:57]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/14 02:51:57]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/14 02:51:57]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/14 02:51:57]: Successfully started GameController -[info][UnlSpectre][2025/05/14 02:51:57]: Successfully started PlayerController -[info][UnlSpectre][2025/05/14 02:51:57]: Successfully started VehicleController -[info][UnlSpectre][2025/05/14 02:51:59]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/14 23:16:15]: Successfully registered Exports -[info][UnlSpectre][2025/05/14 23:16:15]: Successfully loaded Items -[info][UnlSpectre][2025/05/14 23:16:15]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/14 23:16:15]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/14 23:16:15]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/14 23:16:15]: Successfully started GameController -[info][UnlSpectre][2025/05/14 23:16:15]: Successfully started PlayerController -[info][UnlSpectre][2025/05/14 23:16:15]: Successfully started VehicleController -[info][UnlSpectre][2025/05/14 23:16:17]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/14 23:36:42]: Successfully registered Exports -[info][UnlSpectre][2025/05/14 23:36:42]: Successfully loaded Items -[info][UnlSpectre][2025/05/14 23:36:42]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/14 23:36:42]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/14 23:36:42]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/14 23:36:42]: Successfully started GameController -[info][UnlSpectre][2025/05/14 23:36:42]: Successfully started PlayerController -[info][UnlSpectre][2025/05/14 23:36:42]: Successfully started VehicleController -[info][UnlSpectre][2025/05/14 23:36:44]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/16 00:47:10]: Successfully registered Exports -[info][UnlSpectre][2025/05/16 00:47:10]: Successfully loaded Items -[info][UnlSpectre][2025/05/16 00:47:10]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/16 00:47:10]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/16 00:47:10]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/16 00:47:10]: Successfully started GameController -[info][UnlSpectre][2025/05/16 00:47:10]: Successfully started PlayerController -[info][UnlSpectre][2025/05/16 00:47:10]: Successfully started VehicleController -[info][UnlSpectre][2025/05/16 00:47:12]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/16 00:50:01]: Successfully registered Exports -[info][UnlSpectre][2025/05/16 00:50:01]: Successfully loaded Items -[info][UnlSpectre][2025/05/16 00:50:01]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/16 00:50:01]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/16 00:50:01]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/16 00:50:01]: Successfully started GameController -[info][UnlSpectre][2025/05/16 00:50:01]: Successfully started PlayerController -[info][UnlSpectre][2025/05/16 00:50:01]: Successfully started VehicleController -[info][UnlSpectre][2025/05/16 00:50:03]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/16 05:37:31]: Successfully registered Exports -[info][UnlSpectre][2025/05/16 05:37:31]: Successfully loaded Items -[info][UnlSpectre][2025/05/16 05:37:31]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/16 05:37:31]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/16 05:37:31]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/16 05:37:31]: Successfully started GameController -[info][UnlSpectre][2025/05/16 05:37:31]: Successfully started PlayerController -[info][UnlSpectre][2025/05/16 05:37:31]: Successfully started VehicleController -[info][UnlSpectre][2025/05/16 05:37:34]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/16 06:29:53]: Successfully registered Exports -[info][UnlSpectre][2025/05/16 06:29:53]: Successfully loaded Items -[info][UnlSpectre][2025/05/16 06:29:53]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/16 06:29:53]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/16 06:29:53]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/16 06:29:53]: Successfully started GameController -[info][UnlSpectre][2025/05/16 06:29:53]: Successfully started PlayerController -[info][UnlSpectre][2025/05/16 06:29:53]: Successfully started VehicleController -[info][UnlSpectre][2025/05/16 06:29:55]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/16 06:37:30]: Successfully registered Exports -[info][UnlSpectre][2025/05/16 06:37:30]: Successfully loaded Items -[info][UnlSpectre][2025/05/16 06:37:30]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/16 06:37:30]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/16 06:37:30]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/16 06:37:30]: Successfully started GameController -[info][UnlSpectre][2025/05/16 06:37:30]: Successfully started PlayerController -[info][UnlSpectre][2025/05/16 06:37:30]: Successfully started VehicleController -[info][UnlSpectre][2025/05/16 06:37:32]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/16 06:44:21]: Successfully registered Exports -[info][UnlSpectre][2025/05/16 06:44:21]: Successfully loaded Items -[info][UnlSpectre][2025/05/16 06:44:21]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/16 06:44:21]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/16 06:44:21]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/16 06:44:21]: Successfully started GameController -[info][UnlSpectre][2025/05/16 06:44:21]: Successfully started PlayerController -[info][UnlSpectre][2025/05/16 06:44:21]: Successfully started VehicleController -[info][UnlSpectre][2025/05/16 06:44:22]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/16 08:03:42]: Successfully registered Exports -[info][UnlSpectre][2025/05/16 08:03:42]: Successfully loaded Items -[info][UnlSpectre][2025/05/16 08:03:42]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/16 08:03:42]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/16 08:03:42]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/16 08:03:42]: Successfully started GameController -[info][UnlSpectre][2025/05/16 08:03:42]: Successfully started PlayerController -[info][UnlSpectre][2025/05/16 08:03:42]: Successfully started VehicleController -[info][UnlSpectre][2025/05/16 08:03:44]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/16 08:42:18]: Successfully registered Exports -[info][UnlSpectre][2025/05/16 08:42:18]: Successfully loaded Items -[info][UnlSpectre][2025/05/16 08:42:18]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/16 08:42:18]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/16 08:42:18]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/16 08:42:18]: Successfully started GameController -[info][UnlSpectre][2025/05/16 08:42:18]: Successfully started PlayerController -[info][UnlSpectre][2025/05/16 08:42:18]: Successfully started VehicleController -[info][UnlSpectre][2025/05/16 08:42:21]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/16 08:50:34]: Successfully registered Exports -[info][UnlSpectre][2025/05/16 08:50:34]: Successfully loaded Items -[info][UnlSpectre][2025/05/16 08:50:34]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/16 08:50:34]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/16 08:50:34]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/16 08:50:34]: Successfully started GameController -[info][UnlSpectre][2025/05/16 08:50:34]: Successfully started PlayerController -[info][UnlSpectre][2025/05/16 08:50:34]: Successfully started VehicleController -[info][UnlSpectre][2025/05/16 08:50:37]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/16 09:02:03]: Successfully registered Exports -[info][UnlSpectre][2025/05/16 09:02:03]: Successfully loaded Items -[info][UnlSpectre][2025/05/16 09:02:03]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/16 09:02:03]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/16 09:02:03]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/16 09:02:03]: Successfully started GameController -[info][UnlSpectre][2025/05/16 09:02:03]: Successfully started PlayerController -[info][UnlSpectre][2025/05/16 09:02:03]: Successfully started VehicleController -[info][UnlSpectre][2025/05/16 09:02:05]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/16 09:59:14]: Successfully registered Exports -[info][UnlSpectre][2025/05/16 09:59:14]: Successfully loaded Items -[info][UnlSpectre][2025/05/16 09:59:14]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/16 09:59:14]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/16 09:59:14]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/16 09:59:14]: Successfully started GameController -[info][UnlSpectre][2025/05/16 09:59:14]: Successfully started PlayerController -[info][UnlSpectre][2025/05/16 09:59:14]: Successfully started VehicleController -[info][UnlSpectre][2025/05/16 09:59:16]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/16 10:07:55]: Successfully registered Exports -[info][UnlSpectre][2025/05/16 10:07:55]: Successfully loaded Items -[info][UnlSpectre][2025/05/16 10:07:55]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/16 10:07:55]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/16 10:07:55]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/16 10:07:55]: Successfully started GameController -[info][UnlSpectre][2025/05/16 10:07:55]: Successfully started PlayerController -[info][UnlSpectre][2025/05/16 10:07:55]: Successfully started VehicleController -[info][UnlSpectre][2025/05/16 10:07:57]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/17 20:10:11]: Successfully registered Exports -[info][UnlSpectre][2025/05/17 20:10:11]: Successfully loaded Items -[info][UnlSpectre][2025/05/17 20:10:11]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/17 20:10:11]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/17 20:10:11]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/17 20:10:11]: Successfully started GameController -[info][UnlSpectre][2025/05/17 20:10:11]: Successfully started PlayerController -[info][UnlSpectre][2025/05/17 20:10:11]: Successfully started VehicleController -[info][UnlSpectre][2025/05/17 20:10:14]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/17 23:25:22]: Successfully registered Exports -[info][UnlSpectre][2025/05/17 23:25:23]: Successfully loaded Items -[info][UnlSpectre][2025/05/17 23:25:23]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/17 23:25:23]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/17 23:25:23]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/17 23:25:23]: Successfully started GameController -[info][UnlSpectre][2025/05/17 23:25:23]: Successfully started PlayerController -[info][UnlSpectre][2025/05/17 23:25:23]: Successfully started VehicleController -[info][UnlSpectre][2025/05/17 23:25:25]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/18 00:42:41]: Successfully registered Exports -[info][UnlSpectre][2025/05/18 00:42:41]: Successfully loaded Items -[info][UnlSpectre][2025/05/18 00:42:41]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/18 00:42:41]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/18 00:42:41]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/18 00:42:41]: Successfully started GameController -[info][UnlSpectre][2025/05/18 00:42:41]: Successfully started PlayerController -[info][UnlSpectre][2025/05/18 00:42:41]: Successfully started VehicleController -[info][UnlSpectre][2025/05/18 00:42:43]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/18 09:51:00]: Successfully registered Exports -[info][UnlSpectre][2025/05/18 09:51:00]: Successfully loaded Items -[info][UnlSpectre][2025/05/18 09:51:00]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/18 09:51:00]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/18 09:51:00]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/18 09:51:00]: Successfully started GameController -[info][UnlSpectre][2025/05/18 09:51:00]: Successfully started PlayerController -[info][UnlSpectre][2025/05/18 09:51:00]: Successfully started VehicleController -[info][UnlSpectre][2025/05/18 09:51:10]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/18 10:13:09]: Successfully registered Exports -[info][UnlSpectre][2025/05/18 10:13:09]: Successfully loaded Items -[info][UnlSpectre][2025/05/18 10:13:09]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/18 10:13:09]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/18 10:13:09]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/18 10:13:09]: Successfully started GameController -[info][UnlSpectre][2025/05/18 10:13:09]: Successfully started PlayerController -[info][UnlSpectre][2025/05/18 10:13:09]: Successfully started VehicleController -[info][UnlSpectre][2025/05/18 10:13:11]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/18 14:52:55]: Successfully registered Exports -[info][UnlSpectre][2025/05/18 14:52:55]: Successfully loaded Items -[info][UnlSpectre][2025/05/18 14:52:55]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/18 14:52:55]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/18 14:52:55]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/18 14:52:55]: Successfully started GameController -[info][UnlSpectre][2025/05/18 14:52:55]: Successfully started PlayerController -[info][UnlSpectre][2025/05/18 14:52:55]: Successfully started VehicleController -[info][UnlSpectre][2025/05/18 14:52:57]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/18 16:28:14]: Successfully registered Exports -[info][UnlSpectre][2025/05/18 16:28:14]: Successfully loaded Items -[info][UnlSpectre][2025/05/18 16:28:14]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/18 16:28:14]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/18 16:28:14]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/18 16:28:14]: Successfully started GameController -[info][UnlSpectre][2025/05/18 16:28:14]: Successfully started PlayerController -[info][UnlSpectre][2025/05/18 16:28:14]: Successfully started VehicleController -[info][UnlSpectre][2025/05/18 16:28:16]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/18 17:44:50]: Successfully registered Exports -[info][UnlSpectre][2025/05/18 17:44:50]: Successfully loaded Items -[info][UnlSpectre][2025/05/18 17:44:50]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/18 17:44:50]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/18 17:44:50]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/18 17:44:50]: Successfully started GameController -[info][UnlSpectre][2025/05/18 17:44:50]: Successfully started PlayerController -[info][UnlSpectre][2025/05/18 17:44:50]: Successfully started VehicleController -[info][UnlSpectre][2025/05/18 17:44:52]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/18 18:25:40]: Successfully registered Exports -[info][UnlSpectre][2025/05/18 18:25:40]: Successfully loaded Items -[info][UnlSpectre][2025/05/18 18:25:40]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/18 18:25:40]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/18 18:25:40]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/18 18:25:40]: Successfully started GameController -[info][UnlSpectre][2025/05/18 18:25:40]: Successfully started PlayerController -[info][UnlSpectre][2025/05/18 18:25:40]: Successfully started VehicleController -[info][UnlSpectre][2025/05/18 18:25:42]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/18 20:12:03]: Successfully registered Exports -[info][UnlSpectre][2025/05/18 20:12:03]: Successfully loaded Items -[info][UnlSpectre][2025/05/18 20:12:03]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/18 20:12:03]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/18 20:12:03]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/18 20:12:03]: Successfully started GameController -[info][UnlSpectre][2025/05/18 20:12:03]: Successfully started PlayerController -[info][UnlSpectre][2025/05/18 20:12:03]: Successfully started VehicleController -[info][UnlSpectre][2025/05/18 20:12:06]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/18 20:20:34]: Successfully registered Exports -[info][UnlSpectre][2025/05/18 20:20:34]: Successfully loaded Items -[info][UnlSpectre][2025/05/18 20:20:34]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/18 20:20:34]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/18 20:20:34]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/18 20:20:34]: Successfully started GameController -[info][UnlSpectre][2025/05/18 20:20:34]: Successfully started PlayerController -[info][UnlSpectre][2025/05/18 20:20:34]: Successfully started VehicleController -[info][UnlSpectre][2025/05/18 20:20:37]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/18 20:45:42]: Successfully registered Exports -[info][UnlSpectre][2025/05/18 20:45:42]: Successfully loaded Items -[info][UnlSpectre][2025/05/18 20:45:42]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/18 20:45:42]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/18 20:45:42]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/18 20:45:42]: Successfully started GameController -[info][UnlSpectre][2025/05/18 20:45:42]: Successfully started PlayerController -[info][UnlSpectre][2025/05/18 20:45:42]: Successfully started VehicleController -[info][UnlSpectre][2025/05/18 20:45:44]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/18 20:50:00]: Successfully registered Exports -[info][UnlSpectre][2025/05/18 20:50:00]: Successfully loaded Items -[info][UnlSpectre][2025/05/18 20:50:00]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/18 20:50:00]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/18 20:50:00]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/18 20:50:00]: Successfully started GameController -[info][UnlSpectre][2025/05/18 20:50:00]: Successfully started PlayerController -[info][UnlSpectre][2025/05/18 20:50:00]: Successfully started VehicleController -[info][UnlSpectre][2025/05/18 20:50:03]: HTTP Server started on port 3000. -[error][UnlSpectre][2025/05/18 21:22:22]: Internal Server Error -[info][UnlSpectre][2025/05/18 21:34:15]: Successfully registered Exports -[info][UnlSpectre][2025/05/18 21:34:15]: Successfully loaded Items -[info][UnlSpectre][2025/05/18 21:34:15]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/18 21:34:15]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/18 21:34:15]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/18 21:34:15]: Successfully started GameController -[info][UnlSpectre][2025/05/18 21:34:15]: Successfully started PlayerController -[info][UnlSpectre][2025/05/18 21:34:15]: Successfully started VehicleController -[info][UnlSpectre][2025/05/18 21:34:17]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/18 21:40:16]: Successfully registered Exports -[info][UnlSpectre][2025/05/18 21:40:16]: Successfully loaded Items -[info][UnlSpectre][2025/05/18 21:40:16]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/18 21:40:16]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/18 21:40:16]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/18 21:40:16]: Successfully started GameController -[info][UnlSpectre][2025/05/18 21:40:16]: Successfully started PlayerController -[info][UnlSpectre][2025/05/18 21:40:16]: Successfully started VehicleController -[info][UnlSpectre][2025/05/18 21:40:18]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/18 22:48:20]: Successfully registered Exports -[info][UnlSpectre][2025/05/18 22:48:20]: Successfully loaded Items -[info][UnlSpectre][2025/05/18 22:48:20]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/18 22:48:20]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/18 22:48:20]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/18 22:48:20]: Successfully started GameController -[info][UnlSpectre][2025/05/18 22:48:20]: Successfully started PlayerController -[info][UnlSpectre][2025/05/18 22:48:20]: Successfully started VehicleController -[info][UnlSpectre][2025/05/18 22:48:36]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/19 11:18:30]: Successfully registered Exports -[info][UnlSpectre][2025/05/19 11:18:30]: Successfully loaded Items -[info][UnlSpectre][2025/05/19 11:18:30]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/19 11:18:30]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/19 11:18:30]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/19 11:18:30]: Successfully started GameController -[info][UnlSpectre][2025/05/19 11:18:30]: Successfully started PlayerController -[info][UnlSpectre][2025/05/19 11:18:30]: Successfully started VehicleController -[info][UnlSpectre][2025/05/19 11:18:33]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/19 19:35:09]: Successfully registered Exports -[info][UnlSpectre][2025/05/19 19:35:09]: Successfully loaded Items -[info][UnlSpectre][2025/05/19 19:35:09]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/19 19:35:09]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/19 19:35:09]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/19 19:35:09]: Successfully started GameController -[info][UnlSpectre][2025/05/19 19:35:09]: Successfully started PlayerController -[info][UnlSpectre][2025/05/19 19:35:09]: Successfully started VehicleController -[info][UnlSpectre][2025/05/19 19:35:11]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/19 20:54:01]: Successfully registered Exports -[info][UnlSpectre][2025/05/19 20:54:01]: Successfully loaded Items -[info][UnlSpectre][2025/05/19 20:54:01]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/19 20:54:01]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/19 20:54:01]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/19 20:54:01]: Successfully started GameController -[info][UnlSpectre][2025/05/19 20:54:01]: Successfully started PlayerController -[info][UnlSpectre][2025/05/19 20:54:01]: Successfully started VehicleController -[info][UnlSpectre][2025/05/19 20:54:03]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/19 21:06:54]: Successfully registered Exports -[info][UnlSpectre][2025/05/19 21:06:54]: Successfully loaded Items -[info][UnlSpectre][2025/05/19 21:06:54]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/19 21:06:54]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/19 21:06:54]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/19 21:06:54]: Successfully started GameController -[info][UnlSpectre][2025/05/19 21:06:54]: Successfully started PlayerController -[info][UnlSpectre][2025/05/19 21:06:54]: Successfully started VehicleController -[info][UnlSpectre][2025/05/19 21:06:56]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/19 22:32:55]: Successfully registered Exports -[info][UnlSpectre][2025/05/19 22:32:55]: Successfully loaded Items -[info][UnlSpectre][2025/05/19 22:32:55]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/19 22:32:55]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/19 22:32:55]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/19 22:32:55]: Successfully started GameController -[info][UnlSpectre][2025/05/19 22:32:55]: Successfully started PlayerController -[info][UnlSpectre][2025/05/19 22:32:55]: Successfully started VehicleController -[info][UnlSpectre][2025/05/19 22:32:57]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/19 23:07:37]: Successfully registered Exports -[info][UnlSpectre][2025/05/19 23:07:37]: Successfully loaded Items -[info][UnlSpectre][2025/05/19 23:07:37]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/19 23:07:37]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/19 23:07:37]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/19 23:07:37]: Successfully started GameController -[info][UnlSpectre][2025/05/19 23:07:37]: Successfully started PlayerController -[info][UnlSpectre][2025/05/19 23:07:37]: Successfully started VehicleController -[info][UnlSpectre][2025/05/19 23:07:39]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/19 23:11:05]: Successfully registered Exports -[info][UnlSpectre][2025/05/19 23:11:05]: Successfully loaded Items -[info][UnlSpectre][2025/05/19 23:11:05]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/19 23:11:05]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/19 23:11:05]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/19 23:11:05]: Successfully started GameController -[info][UnlSpectre][2025/05/19 23:11:05]: Successfully started PlayerController -[info][UnlSpectre][2025/05/19 23:11:05]: Successfully started VehicleController -[info][UnlSpectre][2025/05/19 23:11:08]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/19 23:23:29]: Successfully registered Exports -[info][UnlSpectre][2025/05/19 23:23:29]: Successfully loaded Items -[info][UnlSpectre][2025/05/19 23:23:29]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/19 23:23:29]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/19 23:23:29]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/19 23:23:29]: Successfully started GameController -[info][UnlSpectre][2025/05/19 23:23:29]: Successfully started PlayerController -[info][UnlSpectre][2025/05/19 23:23:29]: Successfully started VehicleController -[info][UnlSpectre][2025/05/19 23:23:31]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/20 00:07:20]: Successfully registered Exports -[info][UnlSpectre][2025/05/20 00:07:20]: Successfully loaded Items -[info][UnlSpectre][2025/05/20 00:07:20]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/20 00:07:20]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/20 00:07:20]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/20 00:07:20]: Successfully started GameController -[info][UnlSpectre][2025/05/20 00:07:20]: Successfully started PlayerController -[info][UnlSpectre][2025/05/20 00:07:20]: Successfully started VehicleController -[info][UnlSpectre][2025/05/20 00:07:22]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/20 00:17:26]: Successfully registered Exports -[info][UnlSpectre][2025/05/20 00:17:26]: Successfully loaded Items -[info][UnlSpectre][2025/05/20 00:17:26]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/20 00:17:26]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/20 00:17:26]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/20 00:17:26]: Successfully started GameController -[info][UnlSpectre][2025/05/20 00:17:26]: Successfully started PlayerController -[info][UnlSpectre][2025/05/20 00:17:26]: Successfully started VehicleController -[info][UnlSpectre][2025/05/20 00:17:28]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/20 01:47:52]: Successfully registered Exports -[info][UnlSpectre][2025/05/20 01:47:52]: Successfully loaded Items -[info][UnlSpectre][2025/05/20 01:47:52]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/20 01:47:52]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/20 01:47:52]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/20 01:47:52]: Successfully started GameController -[info][UnlSpectre][2025/05/20 01:47:52]: Successfully started PlayerController -[info][UnlSpectre][2025/05/20 01:47:52]: Successfully started VehicleController -[info][UnlSpectre][2025/05/20 01:47:54]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/20 02:22:55]: Successfully registered Exports -[info][UnlSpectre][2025/05/20 02:22:55]: Successfully loaded Items -[info][UnlSpectre][2025/05/20 02:22:55]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/20 02:22:55]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/20 02:22:55]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/20 02:22:55]: Successfully started GameController -[info][UnlSpectre][2025/05/20 02:22:55]: Successfully started PlayerController -[info][UnlSpectre][2025/05/20 02:22:55]: Successfully started VehicleController -[info][UnlSpectre][2025/05/20 02:22:58]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/20 02:23:21]: Successfully registered Exports -[info][UnlSpectre][2025/05/20 02:23:21]: Successfully loaded Items -[info][UnlSpectre][2025/05/20 02:23:21]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/20 02:23:21]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/20 02:23:21]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/20 02:23:21]: Successfully started GameController -[info][UnlSpectre][2025/05/20 02:23:21]: Successfully started PlayerController -[info][UnlSpectre][2025/05/20 02:23:21]: Successfully started VehicleController -[info][UnlSpectre][2025/05/20 02:23:23]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/20 03:05:10]: Successfully registered Exports -[info][UnlSpectre][2025/05/20 03:05:10]: Successfully loaded Items -[info][UnlSpectre][2025/05/20 03:05:10]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/20 03:05:10]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/20 03:05:10]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/20 03:05:10]: Successfully started GameController -[info][UnlSpectre][2025/05/20 03:05:10]: Successfully started PlayerController -[info][UnlSpectre][2025/05/20 03:05:10]: Successfully started VehicleController -[info][UnlSpectre][2025/05/20 03:05:13]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/20 03:30:20]: Successfully registered Exports -[info][UnlSpectre][2025/05/20 03:30:20]: Successfully loaded Items -[info][UnlSpectre][2025/05/20 03:30:20]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/20 03:30:20]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/20 03:30:20]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/20 03:30:20]: Successfully started GameController -[info][UnlSpectre][2025/05/20 03:30:20]: Successfully started PlayerController -[info][UnlSpectre][2025/05/20 03:30:20]: Successfully started VehicleController -[info][UnlSpectre][2025/05/20 03:30:22]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/20 05:08:49]: Successfully registered Exports -[info][UnlSpectre][2025/05/20 05:08:49]: Successfully loaded Items -[info][UnlSpectre][2025/05/20 05:08:49]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/20 05:08:49]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/20 05:08:49]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/20 05:08:49]: Successfully started GameController -[info][UnlSpectre][2025/05/20 05:08:49]: Successfully started PlayerController -[info][UnlSpectre][2025/05/20 05:08:49]: Successfully started VehicleController -[info][UnlSpectre][2025/05/20 05:08:51]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/20 12:02:26]: Successfully registered Exports -[info][UnlSpectre][2025/05/20 12:02:26]: Successfully loaded Items -[info][UnlSpectre][2025/05/20 12:02:26]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/20 12:02:26]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/20 12:02:26]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/20 12:02:26]: Successfully started GameController -[info][UnlSpectre][2025/05/20 12:02:26]: Successfully started PlayerController -[info][UnlSpectre][2025/05/20 12:02:26]: Successfully started VehicleController -[info][UnlSpectre][2025/05/20 12:02:29]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/20 12:14:59]: Successfully registered Exports -[info][UnlSpectre][2025/05/20 12:14:59]: Successfully loaded Items -[info][UnlSpectre][2025/05/20 12:14:59]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/20 12:14:59]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/20 12:14:59]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/20 12:14:59]: Successfully started GameController -[info][UnlSpectre][2025/05/20 12:14:59]: Successfully started PlayerController -[info][UnlSpectre][2025/05/20 12:14:59]: Successfully started VehicleController -[info][UnlSpectre][2025/05/20 12:15:08]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/20 22:17:33]: Successfully registered Exports -[info][UnlSpectre][2025/05/20 22:17:33]: Successfully loaded Items -[info][UnlSpectre][2025/05/20 22:17:33]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/20 22:17:33]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/20 22:17:33]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/20 22:17:33]: Successfully started GameController -[info][UnlSpectre][2025/05/20 22:17:33]: Successfully started PlayerController -[info][UnlSpectre][2025/05/20 22:17:33]: Successfully started VehicleController -[info][UnlSpectre][2025/05/20 22:17:37]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/20 22:31:10]: Successfully registered Exports -[info][UnlSpectre][2025/05/20 22:31:10]: Successfully loaded Items -[info][UnlSpectre][2025/05/20 22:31:10]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/20 22:31:10]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/20 22:31:10]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/20 22:31:10]: Successfully started GameController -[info][UnlSpectre][2025/05/20 22:31:10]: Successfully started PlayerController -[info][UnlSpectre][2025/05/20 22:31:10]: Successfully started VehicleController -[info][UnlSpectre][2025/05/20 22:31:13]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/20 23:01:16]: Successfully registered Exports -[info][UnlSpectre][2025/05/20 23:01:16]: Successfully loaded Items -[info][UnlSpectre][2025/05/20 23:01:16]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/20 23:01:16]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/20 23:01:16]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/20 23:01:16]: Successfully started GameController -[info][UnlSpectre][2025/05/20 23:01:16]: Successfully started PlayerController -[info][UnlSpectre][2025/05/20 23:01:16]: Successfully started VehicleController -[info][UnlSpectre][2025/05/20 23:01:19]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/20 23:14:58]: Successfully registered Exports -[info][UnlSpectre][2025/05/20 23:14:58]: Successfully loaded Items -[info][UnlSpectre][2025/05/20 23:14:58]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/20 23:14:58]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/20 23:14:58]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/20 23:14:58]: Successfully started GameController -[info][UnlSpectre][2025/05/20 23:14:58]: Successfully started PlayerController -[info][UnlSpectre][2025/05/20 23:14:58]: Successfully started VehicleController -[info][UnlSpectre][2025/05/20 23:15:00]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/20 23:15:11]: Successfully registered Exports -[info][UnlSpectre][2025/05/20 23:15:11]: Successfully loaded Items -[info][UnlSpectre][2025/05/20 23:15:11]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/20 23:15:11]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/20 23:15:11]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/20 23:15:11]: Successfully started GameController -[info][UnlSpectre][2025/05/20 23:15:11]: Successfully started PlayerController -[info][UnlSpectre][2025/05/20 23:15:11]: Successfully started VehicleController -[info][UnlSpectre][2025/05/20 23:15:13]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/20 23:16:14]: Successfully registered Exports -[info][UnlSpectre][2025/05/20 23:16:14]: Successfully loaded Items -[info][UnlSpectre][2025/05/20 23:16:14]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/20 23:16:14]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/20 23:16:14]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/20 23:16:14]: Successfully started GameController -[info][UnlSpectre][2025/05/20 23:16:14]: Successfully started PlayerController -[info][UnlSpectre][2025/05/20 23:16:14]: Successfully started VehicleController -[info][UnlSpectre][2025/05/20 23:16:16]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/20 23:25:33]: Successfully registered Exports -[info][UnlSpectre][2025/05/20 23:25:33]: Successfully loaded Items -[info][UnlSpectre][2025/05/20 23:25:33]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/20 23:25:33]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/20 23:25:33]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/20 23:25:33]: Successfully started GameController -[info][UnlSpectre][2025/05/20 23:25:33]: Successfully started PlayerController -[info][UnlSpectre][2025/05/20 23:25:33]: Successfully started VehicleController -[info][UnlSpectre][2025/05/20 23:25:35]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/20 23:30:30]: Successfully registered Exports -[info][UnlSpectre][2025/05/20 23:30:30]: Successfully loaded Items -[info][UnlSpectre][2025/05/20 23:30:30]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/20 23:30:30]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/20 23:30:30]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/20 23:30:30]: Successfully started GameController -[info][UnlSpectre][2025/05/20 23:30:30]: Successfully started PlayerController -[info][UnlSpectre][2025/05/20 23:30:30]: Successfully started VehicleController -[info][UnlSpectre][2025/05/20 23:30:32]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/20 23:33:33]: Successfully registered Exports -[info][UnlSpectre][2025/05/20 23:33:33]: Successfully loaded Items -[info][UnlSpectre][2025/05/20 23:33:33]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/20 23:33:33]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/20 23:33:33]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/20 23:33:33]: Successfully started GameController -[info][UnlSpectre][2025/05/20 23:33:33]: Successfully started PlayerController -[info][UnlSpectre][2025/05/20 23:33:33]: Successfully started VehicleController -[info][UnlSpectre][2025/05/20 23:33:35]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/20 23:42:03]: Successfully registered Exports -[info][UnlSpectre][2025/05/20 23:42:03]: Successfully loaded Items -[info][UnlSpectre][2025/05/20 23:42:03]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/20 23:42:03]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/20 23:42:03]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/20 23:42:03]: Successfully started GameController -[info][UnlSpectre][2025/05/20 23:42:03]: Successfully started PlayerController -[info][UnlSpectre][2025/05/20 23:42:03]: Successfully started VehicleController -[info][UnlSpectre][2025/05/20 23:42:05]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/21 16:50:23]: Successfully registered Exports -[info][UnlSpectre][2025/05/21 16:50:23]: Successfully loaded Items -[info][UnlSpectre][2025/05/21 16:50:23]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/21 16:50:23]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/21 16:50:23]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/21 16:50:23]: Successfully started GameController -[info][UnlSpectre][2025/05/21 16:50:23]: Successfully started PlayerController -[info][UnlSpectre][2025/05/21 16:50:23]: Successfully started VehicleController -[info][UnlSpectre][2025/05/21 16:50:25]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/21 16:51:04]: Successfully registered Exports -[info][UnlSpectre][2025/05/21 16:51:04]: Successfully loaded Items -[info][UnlSpectre][2025/05/21 16:51:04]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/21 16:51:04]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/21 16:51:04]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/21 16:51:04]: Successfully started GameController -[info][UnlSpectre][2025/05/21 16:51:04]: Successfully started PlayerController -[info][UnlSpectre][2025/05/21 16:51:04]: Successfully started VehicleController -[info][UnlSpectre][2025/05/21 16:51:06]: HTTP Server started on port 3000. -[error][UnlSpectre][2025/05/21 17:00:15]: Cannot read properties of null (reading 'undefined') -[info][UnlSpectre][2025/05/22 00:55:35]: Successfully registered Exports -[info][UnlSpectre][2025/05/22 00:55:36]: Successfully loaded Items -[info][UnlSpectre][2025/05/22 00:55:36]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/22 00:55:36]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/22 00:55:36]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/22 00:55:36]: Successfully started GameController -[info][UnlSpectre][2025/05/22 00:55:36]: Successfully started PlayerController -[info][UnlSpectre][2025/05/22 00:55:36]: Successfully started VehicleController -[info][UnlSpectre][2025/05/22 00:55:37]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/22 11:45:16]: Successfully registered Exports -[info][UnlSpectre][2025/05/22 11:45:16]: Successfully loaded Items -[info][UnlSpectre][2025/05/22 11:45:16]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/22 11:45:16]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/22 11:45:16]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/22 11:45:16]: Successfully started GameController -[info][UnlSpectre][2025/05/22 11:45:16]: Successfully started PlayerController -[info][UnlSpectre][2025/05/22 11:45:16]: Successfully started VehicleController -[info][UnlSpectre][2025/05/22 11:45:19]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/22 14:04:54]: Successfully registered Exports -[info][UnlSpectre][2025/05/22 14:04:54]: Successfully loaded Items -[info][UnlSpectre][2025/05/22 14:04:54]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/22 14:04:54]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/22 14:04:54]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/22 14:04:54]: Successfully started GameController -[info][UnlSpectre][2025/05/22 14:04:54]: Successfully started PlayerController -[info][UnlSpectre][2025/05/22 14:04:54]: Successfully started VehicleController -[info][UnlSpectre][2025/05/22 14:04:56]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/22 15:37:43]: Successfully registered Exports -[info][UnlSpectre][2025/05/22 15:37:43]: Successfully loaded Items -[info][UnlSpectre][2025/05/22 15:37:43]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/22 15:37:43]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/22 15:37:43]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/22 15:37:43]: Successfully started GameController -[info][UnlSpectre][2025/05/22 15:37:43]: Successfully started PlayerController -[info][UnlSpectre][2025/05/22 15:37:43]: Successfully started VehicleController -[info][UnlSpectre][2025/05/22 15:37:46]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/22 20:26:24]: Successfully registered Exports -[info][UnlSpectre][2025/05/22 20:26:24]: Successfully loaded Items -[info][UnlSpectre][2025/05/22 20:26:24]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/22 20:26:24]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/22 20:26:24]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/22 20:26:24]: Successfully started GameController -[info][UnlSpectre][2025/05/22 20:26:24]: Successfully started PlayerController -[info][UnlSpectre][2025/05/22 20:26:24]: Successfully started VehicleController -[info][UnlSpectre][2025/05/22 20:26:26]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/22 20:27:15]: Successfully registered Exports -[info][UnlSpectre][2025/05/22 20:27:15]: Successfully loaded Items -[info][UnlSpectre][2025/05/22 20:27:15]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/22 20:27:15]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/22 20:27:15]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/22 20:27:15]: Successfully started GameController -[info][UnlSpectre][2025/05/22 20:27:15]: Successfully started PlayerController -[info][UnlSpectre][2025/05/22 20:27:15]: Successfully started VehicleController -[info][UnlSpectre][2025/05/22 20:27:17]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/22 20:28:04]: Successfully registered Exports -[info][UnlSpectre][2025/05/22 20:28:04]: Successfully loaded Items -[info][UnlSpectre][2025/05/22 20:28:04]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/22 20:28:04]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/22 20:28:04]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/22 20:28:04]: Successfully started GameController -[info][UnlSpectre][2025/05/22 20:28:04]: Successfully started PlayerController -[info][UnlSpectre][2025/05/22 20:28:04]: Successfully started VehicleController -[info][UnlSpectre][2025/05/22 20:28:06]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/22 20:35:22]: Successfully registered Exports -[info][UnlSpectre][2025/05/22 20:35:22]: Successfully loaded Items -[info][UnlSpectre][2025/05/22 20:35:22]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/22 20:35:22]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/22 20:35:22]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/22 20:35:22]: Successfully started GameController -[info][UnlSpectre][2025/05/22 20:35:22]: Successfully started PlayerController -[info][UnlSpectre][2025/05/22 20:35:22]: Successfully started VehicleController -[info][UnlSpectre][2025/05/22 20:35:24]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/22 20:43:48]: Successfully registered Exports -[info][UnlSpectre][2025/05/22 20:43:48]: Successfully loaded Items -[info][UnlSpectre][2025/05/22 20:43:48]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/22 20:43:48]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/22 20:43:48]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/22 20:43:48]: Successfully started GameController -[info][UnlSpectre][2025/05/22 20:43:48]: Successfully started PlayerController -[info][UnlSpectre][2025/05/22 20:43:48]: Successfully started VehicleController -[info][UnlSpectre][2025/05/22 20:43:50]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/22 21:13:26]: Successfully registered Exports -[info][UnlSpectre][2025/05/22 21:13:26]: Successfully loaded Items -[info][UnlSpectre][2025/05/22 21:13:26]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/22 21:13:26]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/22 21:13:26]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/22 21:13:26]: Successfully started GameController -[info][UnlSpectre][2025/05/22 21:13:26]: Successfully started PlayerController -[info][UnlSpectre][2025/05/22 21:13:26]: Successfully started VehicleController -[info][UnlSpectre][2025/05/22 21:13:28]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/22 21:23:06]: Successfully registered Exports -[info][UnlSpectre][2025/05/22 21:23:06]: Successfully loaded Items -[info][UnlSpectre][2025/05/22 21:23:06]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/22 21:23:06]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/22 21:23:06]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/22 21:23:06]: Successfully started GameController -[info][UnlSpectre][2025/05/22 21:23:06]: Successfully started PlayerController -[info][UnlSpectre][2025/05/22 21:23:06]: Successfully started VehicleController -[info][UnlSpectre][2025/05/22 21:23:09]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/22 21:29:56]: Successfully registered Exports -[info][UnlSpectre][2025/05/22 21:29:56]: Successfully loaded Items -[info][UnlSpectre][2025/05/22 21:29:56]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/22 21:29:56]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/22 21:29:56]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/22 21:29:56]: Successfully started GameController -[info][UnlSpectre][2025/05/22 21:29:56]: Successfully started PlayerController -[info][UnlSpectre][2025/05/22 21:29:56]: Successfully started VehicleController -[info][UnlSpectre][2025/05/22 21:29:58]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/22 21:31:07]: Successfully registered Exports -[info][UnlSpectre][2025/05/22 21:31:07]: Successfully loaded Items -[info][UnlSpectre][2025/05/22 21:31:07]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/22 21:31:07]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/22 21:31:07]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/22 21:31:07]: Successfully started GameController -[info][UnlSpectre][2025/05/22 21:31:07]: Successfully started PlayerController -[info][UnlSpectre][2025/05/22 21:31:07]: Successfully started VehicleController -[info][UnlSpectre][2025/05/22 21:31:09]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/22 21:43:13]: Successfully registered Exports -[info][UnlSpectre][2025/05/22 21:43:13]: Successfully loaded Items -[info][UnlSpectre][2025/05/22 21:43:13]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/22 21:43:13]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/22 21:43:13]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/22 21:43:13]: Successfully started GameController -[info][UnlSpectre][2025/05/22 21:43:13]: Successfully started PlayerController -[info][UnlSpectre][2025/05/22 21:43:13]: Successfully started VehicleController -[info][UnlSpectre][2025/05/22 21:43:15]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/22 22:04:38]: Successfully registered Exports -[info][UnlSpectre][2025/05/22 22:04:38]: Successfully loaded Items -[info][UnlSpectre][2025/05/22 22:04:38]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/22 22:04:38]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/22 22:04:38]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/22 22:04:38]: Successfully started GameController -[info][UnlSpectre][2025/05/22 22:04:38]: Successfully started PlayerController -[info][UnlSpectre][2025/05/22 22:04:38]: Successfully started VehicleController -[info][UnlSpectre][2025/05/22 22:04:41]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/23 00:28:49]: Successfully registered Exports -[info][UnlSpectre][2025/05/23 00:28:49]: Successfully loaded Items -[info][UnlSpectre][2025/05/23 00:28:49]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/23 00:28:49]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/23 00:28:49]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/23 00:28:49]: Successfully started GameController -[info][UnlSpectre][2025/05/23 00:28:49]: Successfully started PlayerController -[info][UnlSpectre][2025/05/23 00:28:49]: Successfully started VehicleController -[info][UnlSpectre][2025/05/23 00:28:51]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/23 00:59:21]: Successfully registered Exports -[info][UnlSpectre][2025/05/23 00:59:21]: Successfully loaded Items -[info][UnlSpectre][2025/05/23 00:59:21]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/23 00:59:21]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/23 00:59:21]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/23 00:59:21]: Successfully started GameController -[info][UnlSpectre][2025/05/23 00:59:21]: Successfully started PlayerController -[info][UnlSpectre][2025/05/23 00:59:21]: Successfully started VehicleController -[info][UnlSpectre][2025/05/23 00:59:23]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/23 01:05:04]: Successfully registered Exports -[info][UnlSpectre][2025/05/23 01:05:04]: Successfully loaded Items -[info][UnlSpectre][2025/05/23 01:05:04]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/23 01:05:04]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/23 01:05:04]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/23 01:05:04]: Successfully started GameController -[info][UnlSpectre][2025/05/23 01:05:04]: Successfully started PlayerController -[info][UnlSpectre][2025/05/23 01:05:04]: Successfully started VehicleController -[info][UnlSpectre][2025/05/23 01:05:07]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/23 02:59:16]: Successfully registered Exports -[info][UnlSpectre][2025/05/23 02:59:16]: Successfully loaded Items -[info][UnlSpectre][2025/05/23 02:59:16]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/23 02:59:16]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/23 02:59:16]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/23 02:59:16]: Successfully started GameController -[info][UnlSpectre][2025/05/23 02:59:16]: Successfully started PlayerController -[info][UnlSpectre][2025/05/23 02:59:16]: Successfully started VehicleController -[info][UnlSpectre][2025/05/23 02:59:18]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/23 04:12:55]: Successfully registered Exports -[info][UnlSpectre][2025/05/23 04:12:55]: Successfully loaded Items -[info][UnlSpectre][2025/05/23 04:12:55]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/23 04:12:55]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/23 04:12:55]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/23 04:12:55]: Successfully started GameController -[info][UnlSpectre][2025/05/23 04:12:55]: Successfully started PlayerController -[info][UnlSpectre][2025/05/23 04:12:55]: Successfully started VehicleController -[info][UnlSpectre][2025/05/23 04:12:57]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/23 04:51:30]: Successfully registered Exports -[info][UnlSpectre][2025/05/23 04:51:30]: Successfully loaded Items -[info][UnlSpectre][2025/05/23 04:51:30]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/23 04:51:30]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/23 04:51:30]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/23 04:51:30]: Successfully started GameController -[info][UnlSpectre][2025/05/23 04:51:30]: Successfully started PlayerController -[info][UnlSpectre][2025/05/23 04:51:30]: Successfully started VehicleController -[info][UnlSpectre][2025/05/23 04:51:33]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/23 05:10:36]: Successfully registered Exports -[info][UnlSpectre][2025/05/23 05:10:36]: Successfully loaded Items -[info][UnlSpectre][2025/05/23 05:10:36]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/23 05:10:36]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/23 05:10:36]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/23 05:10:36]: Successfully started GameController -[info][UnlSpectre][2025/05/23 05:10:36]: Successfully started PlayerController -[info][UnlSpectre][2025/05/23 05:10:36]: Successfully started VehicleController -[info][UnlSpectre][2025/05/23 05:10:39]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/23 05:19:55]: Successfully registered Exports -[info][UnlSpectre][2025/05/23 05:19:55]: Successfully loaded Items -[info][UnlSpectre][2025/05/23 05:19:55]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/23 05:19:55]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/23 05:19:55]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/23 05:19:55]: Successfully started GameController -[info][UnlSpectre][2025/05/23 05:19:55]: Successfully started PlayerController -[info][UnlSpectre][2025/05/23 05:19:55]: Successfully started VehicleController -[info][UnlSpectre][2025/05/23 05:19:57]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/23 05:36:01]: Successfully registered Exports -[info][UnlSpectre][2025/05/23 05:36:01]: Successfully loaded Items -[info][UnlSpectre][2025/05/23 05:36:01]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/23 05:36:01]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/23 05:36:01]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/23 05:36:01]: Successfully started GameController -[info][UnlSpectre][2025/05/23 05:36:01]: Successfully started PlayerController -[info][UnlSpectre][2025/05/23 05:36:01]: Successfully started VehicleController -[info][UnlSpectre][2025/05/23 05:36:03]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/23 05:45:31]: Successfully registered Exports -[info][UnlSpectre][2025/05/23 05:45:31]: Successfully loaded Items -[info][UnlSpectre][2025/05/23 05:45:31]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/23 05:45:31]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/23 05:45:31]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/23 05:45:31]: Successfully started GameController -[info][UnlSpectre][2025/05/23 05:45:31]: Successfully started PlayerController -[info][UnlSpectre][2025/05/23 05:45:31]: Successfully started VehicleController -[info][UnlSpectre][2025/05/23 05:45:33]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/23 05:52:43]: Successfully registered Exports -[info][UnlSpectre][2025/05/23 05:52:43]: Successfully loaded Items -[info][UnlSpectre][2025/05/23 05:52:43]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/23 05:52:43]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/23 05:52:43]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/23 05:52:43]: Successfully started GameController -[info][UnlSpectre][2025/05/23 05:52:43]: Successfully started PlayerController -[info][UnlSpectre][2025/05/23 05:52:43]: Successfully started VehicleController -[info][UnlSpectre][2025/05/23 05:52:45]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/23 07:36:42]: Successfully registered Exports -[info][UnlSpectre][2025/05/23 07:36:42]: Successfully loaded Items -[info][UnlSpectre][2025/05/23 07:36:42]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/23 07:36:42]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/23 07:36:42]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/23 07:36:42]: Successfully started GameController -[info][UnlSpectre][2025/05/23 07:36:42]: Successfully started PlayerController -[info][UnlSpectre][2025/05/23 07:36:42]: Successfully started VehicleController -[info][UnlSpectre][2025/05/23 07:36:45]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/23 07:44:33]: Successfully registered Exports -[info][UnlSpectre][2025/05/23 07:44:33]: Successfully loaded Items -[info][UnlSpectre][2025/05/23 07:44:33]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/23 07:44:33]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/23 07:44:33]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/23 07:44:33]: Successfully started GameController -[info][UnlSpectre][2025/05/23 07:44:33]: Successfully started PlayerController -[info][UnlSpectre][2025/05/23 07:44:33]: Successfully started VehicleController -[info][UnlSpectre][2025/05/23 07:44:36]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/23 07:51:47]: Successfully registered Exports -[info][UnlSpectre][2025/05/23 07:51:47]: Successfully loaded Items -[info][UnlSpectre][2025/05/23 07:51:47]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/23 07:51:47]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/23 07:51:47]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/23 07:51:47]: Successfully started GameController -[info][UnlSpectre][2025/05/23 07:51:47]: Successfully started PlayerController -[info][UnlSpectre][2025/05/23 07:51:47]: Successfully started VehicleController -[info][UnlSpectre][2025/05/23 07:51:49]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/23 07:56:17]: Successfully registered Exports -[info][UnlSpectre][2025/05/23 07:56:17]: Successfully loaded Items -[info][UnlSpectre][2025/05/23 07:56:17]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/23 07:56:17]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/23 07:56:17]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/23 07:56:17]: Successfully started GameController -[info][UnlSpectre][2025/05/23 07:56:17]: Successfully started PlayerController -[info][UnlSpectre][2025/05/23 07:56:17]: Successfully started VehicleController -[info][UnlSpectre][2025/05/23 07:56:19]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/23 07:56:43]: Successfully registered Exports -[info][UnlSpectre][2025/05/23 07:56:43]: Successfully loaded Items -[info][UnlSpectre][2025/05/23 07:56:43]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/23 07:56:43]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/23 07:56:43]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/23 07:56:43]: Successfully started GameController -[info][UnlSpectre][2025/05/23 07:56:43]: Successfully started PlayerController -[info][UnlSpectre][2025/05/23 07:56:43]: Successfully started VehicleController -[info][UnlSpectre][2025/05/23 07:56:45]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/23 11:04:42]: Successfully registered Exports -[info][UnlSpectre][2025/05/23 11:04:43]: Successfully loaded Items -[info][UnlSpectre][2025/05/23 11:04:43]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/23 11:04:43]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/23 11:04:43]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/23 11:04:43]: Successfully started GameController -[info][UnlSpectre][2025/05/23 11:04:43]: Successfully started PlayerController -[info][UnlSpectre][2025/05/23 11:04:43]: Successfully started VehicleController -[info][UnlSpectre][2025/05/23 11:04:45]: HTTP Server started on port 3000. -[error][UnlSpectre][2025/05/23 14:29:19]: Cannot read properties of null (reading 'citizenid') -[info][UnlSpectre][2025/05/23 15:34:15]: Successfully registered Exports -[info][UnlSpectre][2025/05/23 15:34:15]: Successfully loaded Items -[info][UnlSpectre][2025/05/23 15:34:15]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/23 15:34:15]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/23 15:34:15]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/23 15:34:15]: Successfully started GameController -[info][UnlSpectre][2025/05/23 15:34:15]: Successfully started PlayerController -[info][UnlSpectre][2025/05/23 15:34:15]: Successfully started VehicleController -[info][UnlSpectre][2025/05/23 15:34:18]: HTTP Server started on port 3000. -[error][UnlSpectre][2025/05/23 15:35:41]: undefined -[info][UnlSpectre][2025/05/23 17:17:50]: Successfully registered Exports -[info][UnlSpectre][2025/05/23 17:17:50]: Successfully loaded Items -[info][UnlSpectre][2025/05/23 17:17:50]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/23 17:17:50]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/23 17:17:50]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/23 17:17:50]: Successfully started GameController -[info][UnlSpectre][2025/05/23 17:17:50]: Successfully started PlayerController -[info][UnlSpectre][2025/05/23 17:17:50]: Successfully started VehicleController -[info][UnlSpectre][2025/05/23 17:17:52]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/23 18:33:13]: Successfully registered Exports -[info][UnlSpectre][2025/05/23 18:33:13]: Successfully loaded Items -[info][UnlSpectre][2025/05/23 18:33:13]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/23 18:33:13]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/23 18:33:13]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/23 18:33:13]: Successfully started GameController -[info][UnlSpectre][2025/05/23 18:33:13]: Successfully started PlayerController -[info][UnlSpectre][2025/05/23 18:33:13]: Successfully started VehicleController -[info][UnlSpectre][2025/05/23 18:33:16]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/23 18:36:51]: Successfully registered Exports -[info][UnlSpectre][2025/05/23 18:36:51]: Successfully loaded Items -[info][UnlSpectre][2025/05/23 18:36:51]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/23 18:36:51]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/23 18:36:51]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/23 18:36:51]: Successfully started GameController -[info][UnlSpectre][2025/05/23 18:36:51]: Successfully started PlayerController -[info][UnlSpectre][2025/05/23 18:36:51]: Successfully started VehicleController -[info][UnlSpectre][2025/05/23 18:36:53]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/23 21:54:44]: Successfully registered Exports -[info][UnlSpectre][2025/05/23 21:54:44]: Successfully loaded Items -[info][UnlSpectre][2025/05/23 21:54:44]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/23 21:54:44]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/23 21:54:44]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/23 21:54:44]: Successfully started GameController -[info][UnlSpectre][2025/05/23 21:54:44]: Successfully started PlayerController -[info][UnlSpectre][2025/05/23 21:54:44]: Successfully started VehicleController -[info][UnlSpectre][2025/05/23 21:54:47]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/23 23:13:11]: Successfully registered Exports -[info][UnlSpectre][2025/05/23 23:13:12]: Successfully loaded Items -[info][UnlSpectre][2025/05/23 23:13:12]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/23 23:13:12]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/23 23:13:12]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/23 23:13:12]: Successfully started GameController -[info][UnlSpectre][2025/05/23 23:13:12]: Successfully started PlayerController -[info][UnlSpectre][2025/05/23 23:13:12]: Successfully started VehicleController -[info][UnlSpectre][2025/05/23 23:13:14]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/23 23:48:19]: Successfully registered Exports -[info][UnlSpectre][2025/05/23 23:48:20]: Successfully loaded Items -[info][UnlSpectre][2025/05/23 23:48:20]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/23 23:48:20]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/23 23:48:20]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/23 23:48:20]: Successfully started GameController -[info][UnlSpectre][2025/05/23 23:48:20]: Successfully started PlayerController -[info][UnlSpectre][2025/05/23 23:48:20]: Successfully started VehicleController -[info][UnlSpectre][2025/05/23 23:48:22]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/24 00:47:03]: Successfully registered Exports -[info][UnlSpectre][2025/05/24 00:47:03]: Successfully loaded Items -[info][UnlSpectre][2025/05/24 00:47:03]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/24 00:47:03]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/24 00:47:03]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/24 00:47:03]: Successfully started GameController -[info][UnlSpectre][2025/05/24 00:47:03]: Successfully started PlayerController -[info][UnlSpectre][2025/05/24 00:47:03]: Successfully started VehicleController -[info][UnlSpectre][2025/05/24 00:47:05]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/24 01:08:26]: Successfully registered Exports -[info][UnlSpectre][2025/05/24 01:08:26]: Successfully loaded Items -[info][UnlSpectre][2025/05/24 01:08:26]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/24 01:08:26]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/24 01:08:26]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/24 01:08:26]: Successfully started GameController -[info][UnlSpectre][2025/05/24 01:08:26]: Successfully started PlayerController -[info][UnlSpectre][2025/05/24 01:08:26]: Successfully started VehicleController -[info][UnlSpectre][2025/05/24 01:08:28]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/24 01:22:42]: Successfully registered Exports -[info][UnlSpectre][2025/05/24 01:22:42]: Successfully loaded Items -[info][UnlSpectre][2025/05/24 01:22:42]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/24 01:22:42]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/24 01:22:42]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/24 01:22:42]: Successfully started GameController -[info][UnlSpectre][2025/05/24 01:22:42]: Successfully started PlayerController -[info][UnlSpectre][2025/05/24 01:22:42]: Successfully started VehicleController -[info][UnlSpectre][2025/05/24 01:22:44]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/24 02:00:15]: Successfully registered Exports -[info][UnlSpectre][2025/05/24 02:00:15]: Successfully loaded Items -[info][UnlSpectre][2025/05/24 02:00:15]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/24 02:00:15]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/24 02:00:15]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/24 02:00:15]: Successfully started GameController -[info][UnlSpectre][2025/05/24 02:00:15]: Successfully started PlayerController -[info][UnlSpectre][2025/05/24 02:00:15]: Successfully started VehicleController -[info][UnlSpectre][2025/05/24 02:00:18]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/24 02:06:49]: Successfully registered Exports -[info][UnlSpectre][2025/05/24 02:06:49]: Successfully loaded Items -[info][UnlSpectre][2025/05/24 02:06:49]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/24 02:06:49]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/24 02:06:49]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/24 02:06:49]: Successfully started GameController -[info][UnlSpectre][2025/05/24 02:06:49]: Successfully started PlayerController -[info][UnlSpectre][2025/05/24 02:06:49]: Successfully started VehicleController -[info][UnlSpectre][2025/05/24 02:06:51]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/24 02:10:50]: Successfully registered Exports -[info][UnlSpectre][2025/05/24 02:10:50]: Successfully loaded Items -[info][UnlSpectre][2025/05/24 02:10:50]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/24 02:10:50]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/24 02:10:50]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/24 02:10:50]: Successfully started GameController -[info][UnlSpectre][2025/05/24 02:10:50]: Successfully started PlayerController -[info][UnlSpectre][2025/05/24 02:10:50]: Successfully started VehicleController -[info][UnlSpectre][2025/05/24 02:10:52]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/24 07:41:55]: Successfully registered Exports -[info][UnlSpectre][2025/05/24 07:41:55]: Successfully loaded Items -[info][UnlSpectre][2025/05/24 07:41:55]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/24 07:41:55]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/24 07:41:55]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/24 07:41:55]: Successfully started GameController -[info][UnlSpectre][2025/05/24 07:41:55]: Successfully started PlayerController -[info][UnlSpectre][2025/05/24 07:41:55]: Successfully started VehicleController -[info][UnlSpectre][2025/05/24 07:41:57]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/24 08:21:13]: Successfully registered Exports -[info][UnlSpectre][2025/05/24 08:21:13]: Successfully loaded Items -[info][UnlSpectre][2025/05/24 08:21:13]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/24 08:21:13]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/24 08:21:14]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/24 08:21:14]: Successfully started GameController -[info][UnlSpectre][2025/05/24 08:21:14]: Successfully started PlayerController -[info][UnlSpectre][2025/05/24 08:21:14]: Successfully started VehicleController -[info][UnlSpectre][2025/05/24 08:21:16]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/24 08:36:31]: Successfully registered Exports -[info][UnlSpectre][2025/05/24 08:36:31]: Successfully loaded Items -[info][UnlSpectre][2025/05/24 08:36:31]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/24 08:36:31]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/24 08:36:31]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/24 08:36:31]: Successfully started GameController -[info][UnlSpectre][2025/05/24 08:36:31]: Successfully started PlayerController -[info][UnlSpectre][2025/05/24 08:36:31]: Successfully started VehicleController -[info][UnlSpectre][2025/05/24 08:36:33]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/24 08:55:25]: Successfully registered Exports -[info][UnlSpectre][2025/05/24 08:55:25]: Successfully loaded Items -[info][UnlSpectre][2025/05/24 08:55:25]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/24 08:55:25]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/24 08:55:25]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/24 08:55:25]: Successfully started GameController -[info][UnlSpectre][2025/05/24 08:55:25]: Successfully started PlayerController -[info][UnlSpectre][2025/05/24 08:55:25]: Successfully started VehicleController -[info][UnlSpectre][2025/05/24 08:55:27]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/24 08:57:04]: Successfully registered Exports -[info][UnlSpectre][2025/05/24 08:57:04]: Successfully loaded Items -[info][UnlSpectre][2025/05/24 08:57:04]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/24 08:57:04]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/24 08:57:04]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/24 08:57:04]: Successfully started GameController -[info][UnlSpectre][2025/05/24 08:57:04]: Successfully started PlayerController -[info][UnlSpectre][2025/05/24 08:57:04]: Successfully started VehicleController -[info][UnlSpectre][2025/05/24 08:57:12]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/24 09:02:22]: Successfully registered Exports -[info][UnlSpectre][2025/05/24 09:02:22]: Successfully loaded Items -[info][UnlSpectre][2025/05/24 09:02:22]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/24 09:02:22]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/24 09:02:22]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/24 09:02:22]: Successfully started GameController -[info][UnlSpectre][2025/05/24 09:02:22]: Successfully started PlayerController -[info][UnlSpectre][2025/05/24 09:02:22]: Successfully started VehicleController -[info][UnlSpectre][2025/05/24 09:02:28]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/24 09:14:57]: Successfully registered Exports -[info][UnlSpectre][2025/05/24 09:14:57]: Successfully loaded Items -[info][UnlSpectre][2025/05/24 09:14:57]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/24 09:14:57]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/24 09:14:57]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/24 09:14:57]: Successfully started GameController -[info][UnlSpectre][2025/05/24 09:14:57]: Successfully started PlayerController -[info][UnlSpectre][2025/05/24 09:14:57]: Successfully started VehicleController -[info][UnlSpectre][2025/05/24 09:15:03]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/24 09:53:49]: Successfully registered Exports -[info][UnlSpectre][2025/05/24 09:53:49]: Successfully loaded Items -[info][UnlSpectre][2025/05/24 09:53:49]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/24 09:53:49]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/24 09:53:49]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/24 09:53:49]: Successfully started GameController -[info][UnlSpectre][2025/05/24 09:53:49]: Successfully started PlayerController -[info][UnlSpectre][2025/05/24 09:53:49]: Successfully started VehicleController -[info][UnlSpectre][2025/05/24 09:53:55]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/24 10:27:23]: Successfully registered Exports -[info][UnlSpectre][2025/05/24 10:27:23]: Successfully loaded Items -[info][UnlSpectre][2025/05/24 10:27:23]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/24 10:27:23]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/24 10:27:23]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/24 10:27:23]: Successfully started GameController -[info][UnlSpectre][2025/05/24 10:27:23]: Successfully started PlayerController -[info][UnlSpectre][2025/05/24 10:27:23]: Successfully started VehicleController -[info][UnlSpectre][2025/05/24 10:27:30]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/24 10:51:43]: Successfully registered Exports -[info][UnlSpectre][2025/05/24 10:51:43]: Successfully loaded Items -[info][UnlSpectre][2025/05/24 10:51:43]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/24 10:51:43]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/24 10:51:43]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/24 10:51:43]: Successfully started GameController -[info][UnlSpectre][2025/05/24 10:51:43]: Successfully started PlayerController -[info][UnlSpectre][2025/05/24 10:51:43]: Successfully started VehicleController -[info][UnlSpectre][2025/05/24 10:51:50]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/24 10:55:41]: Successfully registered Exports -[info][UnlSpectre][2025/05/24 10:55:41]: Successfully loaded Items -[info][UnlSpectre][2025/05/24 10:55:41]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/24 10:55:41]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/24 10:55:41]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/24 10:55:41]: Successfully started GameController -[info][UnlSpectre][2025/05/24 10:55:41]: Successfully started PlayerController -[info][UnlSpectre][2025/05/24 10:55:41]: Successfully started VehicleController -[info][UnlSpectre][2025/05/24 10:55:41]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/24 12:25:31]: Successfully registered Exports -[info][UnlSpectre][2025/05/24 12:25:31]: Successfully loaded Items -[info][UnlSpectre][2025/05/24 12:25:31]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/24 12:25:31]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/24 12:25:32]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/24 12:25:32]: Successfully started GameController -[info][UnlSpectre][2025/05/24 12:25:32]: Successfully started PlayerController -[info][UnlSpectre][2025/05/24 12:25:32]: Successfully started VehicleController -[info][UnlSpectre][2025/05/24 12:25:38]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/24 12:27:49]: Successfully registered Exports -[info][UnlSpectre][2025/05/24 12:27:49]: Successfully loaded Items -[info][UnlSpectre][2025/05/24 12:27:49]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/24 12:27:49]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/24 12:27:49]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/24 12:27:49]: Successfully started GameController -[info][UnlSpectre][2025/05/24 12:27:49]: Successfully started PlayerController -[info][UnlSpectre][2025/05/24 12:27:49]: Successfully started VehicleController -[info][UnlSpectre][2025/05/24 12:28:14]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/24 12:30:52]: Successfully registered Exports -[info][UnlSpectre][2025/05/24 12:30:52]: Successfully loaded Items -[info][UnlSpectre][2025/05/24 12:30:52]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/24 12:30:52]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/24 12:30:52]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/24 12:30:52]: Successfully started GameController -[info][UnlSpectre][2025/05/24 12:30:52]: Successfully started PlayerController -[info][UnlSpectre][2025/05/24 12:30:52]: Successfully started VehicleController -[info][UnlSpectre][2025/05/24 12:30:59]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/24 21:29:35]: Successfully registered Exports -[info][UnlSpectre][2025/05/24 21:29:35]: Successfully loaded Items -[info][UnlSpectre][2025/05/24 21:29:35]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/24 21:29:35]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/24 21:29:35]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/24 21:29:35]: Successfully started GameController -[info][UnlSpectre][2025/05/24 21:29:35]: Successfully started PlayerController -[info][UnlSpectre][2025/05/24 21:29:35]: Successfully started VehicleController -[info][UnlSpectre][2025/05/24 21:29:42]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/24 21:36:12]: Successfully registered Exports -[info][UnlSpectre][2025/05/24 21:36:12]: Successfully loaded Items -[info][UnlSpectre][2025/05/24 21:36:12]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/24 21:36:12]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/24 21:36:12]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/24 21:36:12]: Successfully started GameController -[info][UnlSpectre][2025/05/24 21:36:12]: Successfully started PlayerController -[info][UnlSpectre][2025/05/24 21:36:12]: Successfully started VehicleController -[info][UnlSpectre][2025/05/24 21:36:19]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/24 21:56:42]: Successfully registered Exports -[info][UnlSpectre][2025/05/24 21:56:42]: Successfully loaded Items -[info][UnlSpectre][2025/05/24 21:56:42]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/24 21:56:42]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/24 21:56:42]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/24 21:56:42]: Successfully started GameController -[info][UnlSpectre][2025/05/24 21:56:42]: Successfully started PlayerController -[info][UnlSpectre][2025/05/24 21:56:42]: Successfully started VehicleController -[info][UnlSpectre][2025/05/24 21:56:49]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/24 22:32:14]: Successfully registered Exports -[info][UnlSpectre][2025/05/24 22:32:14]: Successfully loaded Items -[info][UnlSpectre][2025/05/24 22:32:14]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/24 22:32:14]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/24 22:32:14]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/24 22:32:14]: Successfully started GameController -[info][UnlSpectre][2025/05/24 22:32:14]: Successfully started PlayerController -[info][UnlSpectre][2025/05/24 22:32:14]: Successfully started VehicleController -[info][UnlSpectre][2025/05/24 22:32:21]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/24 23:08:41]: Successfully registered Exports -[info][UnlSpectre][2025/05/24 23:08:41]: Successfully loaded Items -[info][UnlSpectre][2025/05/24 23:08:41]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/24 23:08:41]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/24 23:08:41]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/24 23:08:41]: Successfully started GameController -[info][UnlSpectre][2025/05/24 23:08:41]: Successfully started PlayerController -[info][UnlSpectre][2025/05/24 23:08:41]: Successfully started VehicleController -[info][UnlSpectre][2025/05/24 23:08:49]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/25 04:12:29]: Successfully registered Exports -[info][UnlSpectre][2025/05/25 04:12:29]: Successfully loaded Items -[info][UnlSpectre][2025/05/25 04:12:29]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/25 04:12:29]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/25 04:12:29]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/25 04:12:29]: Successfully started GameController -[info][UnlSpectre][2025/05/25 04:12:29]: Successfully started PlayerController -[info][UnlSpectre][2025/05/25 04:12:29]: Successfully started VehicleController -[info][UnlSpectre][2025/05/25 04:12:35]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/25 09:28:19]: Successfully registered Exports -[info][UnlSpectre][2025/05/25 09:28:19]: Successfully loaded Items -[info][UnlSpectre][2025/05/25 09:28:19]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/25 09:28:19]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/25 09:28:19]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/25 09:28:19]: Successfully started GameController -[info][UnlSpectre][2025/05/25 09:28:19]: Successfully started PlayerController -[info][UnlSpectre][2025/05/25 09:28:19]: Successfully started VehicleController -[info][UnlSpectre][2025/05/25 09:34:14]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/25 10:50:42]: Successfully registered Exports -[info][UnlSpectre][2025/05/25 10:50:42]: Successfully loaded Items -[info][UnlSpectre][2025/05/25 10:50:42]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/25 10:50:42]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/25 10:50:42]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/25 10:50:42]: Successfully started GameController -[info][UnlSpectre][2025/05/25 10:50:42]: Successfully started PlayerController -[info][UnlSpectre][2025/05/25 10:50:42]: Successfully started VehicleController -[info][UnlSpectre][2025/05/25 10:50:50]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/25 11:01:43]: Successfully registered Exports -[info][UnlSpectre][2025/05/25 11:01:43]: Successfully loaded Items -[info][UnlSpectre][2025/05/25 11:01:43]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/25 11:01:43]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/25 11:01:43]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/25 11:01:43]: Successfully started GameController -[info][UnlSpectre][2025/05/25 11:01:43]: Successfully started PlayerController -[info][UnlSpectre][2025/05/25 11:01:43]: Successfully started VehicleController -[info][UnlSpectre][2025/05/25 11:01:50]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/25 11:10:31]: Successfully registered Exports -[info][UnlSpectre][2025/05/25 11:10:31]: Successfully loaded Items -[info][UnlSpectre][2025/05/25 11:10:31]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/25 11:10:31]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/25 11:10:31]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/25 11:10:31]: Successfully started GameController -[info][UnlSpectre][2025/05/25 11:10:31]: Successfully started PlayerController -[info][UnlSpectre][2025/05/25 11:10:31]: Successfully started VehicleController -[info][UnlSpectre][2025/05/25 11:10:38]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/25 11:18:01]: Successfully registered Exports -[info][UnlSpectre][2025/05/25 11:18:01]: Successfully loaded Items -[info][UnlSpectre][2025/05/25 11:18:01]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/25 11:18:01]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/25 11:18:01]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/25 11:18:01]: Successfully started GameController -[info][UnlSpectre][2025/05/25 11:18:01]: Successfully started PlayerController -[info][UnlSpectre][2025/05/25 11:18:01]: Successfully started VehicleController -[info][UnlSpectre][2025/05/25 11:18:08]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/25 11:28:44]: Successfully registered Exports -[info][UnlSpectre][2025/05/25 11:28:44]: Successfully loaded Items -[info][UnlSpectre][2025/05/25 11:28:44]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/25 11:28:44]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/25 11:28:44]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/25 11:28:44]: Successfully started GameController -[info][UnlSpectre][2025/05/25 11:28:44]: Successfully started PlayerController -[info][UnlSpectre][2025/05/25 11:28:44]: Successfully started VehicleController -[info][UnlSpectre][2025/05/25 11:28:50]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/25 14:44:53]: Successfully registered Exports -[info][UnlSpectre][2025/05/25 14:44:53]: Successfully loaded Items -[info][UnlSpectre][2025/05/25 14:44:53]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/25 14:44:53]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/25 14:44:53]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/25 14:44:53]: Successfully started GameController -[info][UnlSpectre][2025/05/25 14:44:53]: Successfully started PlayerController -[info][UnlSpectre][2025/05/25 14:44:53]: Successfully started VehicleController -[info][UnlSpectre][2025/05/25 14:45:01]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/25 17:25:22]: Successfully registered Exports -[info][UnlSpectre][2025/05/25 17:25:22]: Successfully loaded Items -[info][UnlSpectre][2025/05/25 17:25:22]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/25 17:25:22]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/25 17:25:22]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/25 17:25:22]: Successfully started GameController -[info][UnlSpectre][2025/05/25 17:25:22]: Successfully started PlayerController -[info][UnlSpectre][2025/05/25 17:25:22]: Successfully started VehicleController -[info][UnlSpectre][2025/05/25 17:25:29]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/25 19:02:13]: Successfully registered Exports -[info][UnlSpectre][2025/05/25 19:02:13]: Successfully loaded Items -[info][UnlSpectre][2025/05/25 19:02:13]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/25 19:02:13]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/25 19:02:13]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/25 19:02:13]: Successfully started GameController -[info][UnlSpectre][2025/05/25 19:02:13]: Successfully started PlayerController -[info][UnlSpectre][2025/05/25 19:02:13]: Successfully started VehicleController -[info][UnlSpectre][2025/05/25 19:02:20]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/25 22:12:30]: Successfully registered Exports -[info][UnlSpectre][2025/05/25 22:12:30]: Successfully loaded Items -[info][UnlSpectre][2025/05/25 22:12:30]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/25 22:12:30]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/25 22:12:30]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/25 22:12:30]: Successfully started GameController -[info][UnlSpectre][2025/05/25 22:12:30]: Successfully started PlayerController -[info][UnlSpectre][2025/05/25 22:12:30]: Successfully started VehicleController -[info][UnlSpectre][2025/05/25 22:12:37]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/25 22:13:09]: Successfully registered Exports -[info][UnlSpectre][2025/05/25 22:13:09]: Successfully loaded Items -[info][UnlSpectre][2025/05/25 22:13:09]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/25 22:13:09]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/25 22:13:09]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/25 22:13:09]: Successfully started GameController -[info][UnlSpectre][2025/05/25 22:13:09]: Successfully started PlayerController -[info][UnlSpectre][2025/05/25 22:13:09]: Successfully started VehicleController -[info][UnlSpectre][2025/05/25 22:13:15]: HTTP Server started on port 3000. -[error][UnlSpectre][2025/05/25 22:17:26]: Internal Server Error -[error][UnlSpectre][2025/05/25 22:17:33]: Internal Server Error -[info][UnlSpectre][2025/05/26 11:25:57]: Successfully registered Exports -[info][UnlSpectre][2025/05/26 11:25:57]: Successfully loaded Items -[info][UnlSpectre][2025/05/26 11:25:57]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/26 11:25:57]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/26 11:25:57]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/26 11:25:57]: Successfully started GameController -[info][UnlSpectre][2025/05/26 11:25:57]: Successfully started PlayerController -[info][UnlSpectre][2025/05/26 11:25:57]: Successfully started VehicleController -[info][UnlSpectre][2025/05/26 11:26:22]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/26 12:01:03]: Successfully registered Exports -[info][UnlSpectre][2025/05/26 12:01:03]: Successfully loaded Items -[info][UnlSpectre][2025/05/26 12:01:03]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/26 12:01:03]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/26 12:01:03]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/26 12:01:03]: Successfully started GameController -[info][UnlSpectre][2025/05/26 12:01:03]: Successfully started PlayerController -[info][UnlSpectre][2025/05/26 12:01:03]: Successfully started VehicleController -[info][UnlSpectre][2025/05/26 12:01:11]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/26 13:14:16]: Successfully registered Exports -[info][UnlSpectre][2025/05/26 13:14:16]: Successfully loaded Items -[info][UnlSpectre][2025/05/26 13:14:16]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/26 13:14:16]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/26 13:14:16]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/26 13:14:16]: Successfully started GameController -[info][UnlSpectre][2025/05/26 13:14:16]: Successfully started PlayerController -[info][UnlSpectre][2025/05/26 13:14:16]: Successfully started VehicleController -[info][UnlSpectre][2025/05/26 13:14:22]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/26 18:37:26]: Successfully registered Exports -[info][UnlSpectre][2025/05/26 18:37:26]: Successfully loaded Items -[info][UnlSpectre][2025/05/26 18:37:26]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/26 18:37:26]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/26 18:37:26]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/26 18:37:26]: Successfully started GameController -[info][UnlSpectre][2025/05/26 18:37:26]: Successfully started PlayerController -[info][UnlSpectre][2025/05/26 18:37:26]: Successfully started VehicleController -[info][UnlSpectre][2025/05/26 18:37:33]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/26 19:36:01]: Successfully registered Exports -[info][UnlSpectre][2025/05/26 19:36:01]: Successfully loaded Items -[info][UnlSpectre][2025/05/26 19:36:01]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/26 19:36:01]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/26 19:36:01]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/26 19:36:01]: Successfully started GameController -[info][UnlSpectre][2025/05/26 19:36:01]: Successfully started PlayerController -[info][UnlSpectre][2025/05/26 19:36:01]: Successfully started VehicleController -[info][UnlSpectre][2025/05/26 19:36:08]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/26 19:47:09]: Successfully registered Exports -[info][UnlSpectre][2025/05/26 19:47:09]: Successfully loaded Items -[info][UnlSpectre][2025/05/26 19:47:09]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/26 19:47:09]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/26 19:47:09]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/26 19:47:09]: Successfully started GameController -[info][UnlSpectre][2025/05/26 19:47:09]: Successfully started PlayerController -[info][UnlSpectre][2025/05/26 19:47:09]: Successfully started VehicleController -[info][UnlSpectre][2025/05/26 19:47:15]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/26 21:56:46]: Successfully registered Exports -[info][UnlSpectre][2025/05/26 21:56:46]: Successfully loaded Items -[info][UnlSpectre][2025/05/26 21:56:46]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/26 21:56:46]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/26 21:56:46]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/26 21:56:46]: Successfully started GameController -[info][UnlSpectre][2025/05/26 21:56:46]: Successfully started PlayerController -[info][UnlSpectre][2025/05/26 21:56:46]: Successfully started VehicleController -[info][UnlSpectre][2025/05/26 21:56:55]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/26 22:01:28]: Successfully registered Exports -[info][UnlSpectre][2025/05/26 22:01:28]: Successfully loaded Items -[info][UnlSpectre][2025/05/26 22:01:28]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/26 22:01:28]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/26 22:01:28]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/26 22:01:28]: Successfully started GameController -[info][UnlSpectre][2025/05/26 22:01:28]: Successfully started PlayerController -[info][UnlSpectre][2025/05/26 22:01:28]: Successfully started VehicleController -[info][UnlSpectre][2025/05/26 22:01:34]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/26 23:09:36]: Successfully registered Exports -[info][UnlSpectre][2025/05/26 23:09:36]: Successfully loaded Items -[info][UnlSpectre][2025/05/26 23:09:36]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/26 23:09:36]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/26 23:09:36]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/26 23:09:36]: Successfully started GameController -[info][UnlSpectre][2025/05/26 23:09:36]: Successfully started PlayerController -[info][UnlSpectre][2025/05/26 23:09:36]: Successfully started VehicleController -[info][UnlSpectre][2025/05/26 23:09:43]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/27 20:29:57]: Successfully registered Exports -[info][UnlSpectre][2025/05/27 20:29:57]: Successfully loaded Items -[info][UnlSpectre][2025/05/27 20:29:57]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/27 20:29:57]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/27 20:29:57]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/27 20:29:57]: Successfully started GameController -[info][UnlSpectre][2025/05/27 20:29:57]: Successfully started PlayerController -[info][UnlSpectre][2025/05/27 20:29:57]: Successfully started VehicleController -[info][UnlSpectre][2025/05/27 20:30:04]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/27 21:35:47]: Successfully registered Exports -[info][UnlSpectre][2025/05/27 21:35:47]: Successfully loaded Items -[info][UnlSpectre][2025/05/27 21:35:47]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/27 21:35:47]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/27 21:35:47]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/27 21:35:47]: Successfully started GameController -[info][UnlSpectre][2025/05/27 21:35:47]: Successfully started PlayerController -[info][UnlSpectre][2025/05/27 21:35:47]: Successfully started VehicleController -[info][UnlSpectre][2025/05/27 21:35:55]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/27 22:08:02]: Successfully registered Exports -[info][UnlSpectre][2025/05/27 22:08:03]: Successfully loaded Items -[info][UnlSpectre][2025/05/27 22:08:03]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/27 22:08:03]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/27 22:08:03]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/27 22:08:03]: Successfully started GameController -[info][UnlSpectre][2025/05/27 22:08:03]: Successfully started PlayerController -[info][UnlSpectre][2025/05/27 22:08:03]: Successfully started VehicleController -[info][UnlSpectre][2025/05/27 22:08:09]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/28 11:46:24]: Successfully registered Exports -[info][UnlSpectre][2025/05/28 11:46:24]: Successfully loaded Items -[info][UnlSpectre][2025/05/28 11:46:24]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/28 11:46:24]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/28 11:46:24]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/28 11:46:24]: Successfully started GameController -[info][UnlSpectre][2025/05/28 11:46:24]: Successfully started PlayerController -[info][UnlSpectre][2025/05/28 11:46:24]: Successfully started VehicleController -[info][UnlSpectre][2025/05/28 11:46:32]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/28 12:27:51]: Successfully registered Exports -[info][UnlSpectre][2025/05/28 12:27:51]: Successfully loaded Items -[info][UnlSpectre][2025/05/28 12:27:51]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/28 12:27:51]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/28 12:27:51]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/28 12:27:51]: Successfully started GameController -[info][UnlSpectre][2025/05/28 12:27:51]: Successfully started PlayerController -[info][UnlSpectre][2025/05/28 12:27:51]: Successfully started VehicleController -[info][UnlSpectre][2025/05/28 12:27:58]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/28 12:44:13]: Successfully registered Exports -[info][UnlSpectre][2025/05/28 12:44:13]: Successfully loaded Items -[info][UnlSpectre][2025/05/28 12:44:13]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/28 12:44:13]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/28 12:44:13]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/28 12:44:13]: Successfully started GameController -[info][UnlSpectre][2025/05/28 12:44:13]: Successfully started PlayerController -[info][UnlSpectre][2025/05/28 12:44:13]: Successfully started VehicleController -[info][UnlSpectre][2025/05/28 12:44:19]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/28 12:55:20]: Successfully registered Exports -[info][UnlSpectre][2025/05/28 12:55:20]: Successfully loaded Items -[info][UnlSpectre][2025/05/28 12:55:20]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/28 12:55:20]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/28 12:55:20]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/28 12:55:20]: Successfully started GameController -[info][UnlSpectre][2025/05/28 12:55:20]: Successfully started PlayerController -[info][UnlSpectre][2025/05/28 12:55:20]: Successfully started VehicleController -[info][UnlSpectre][2025/05/28 12:55:26]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/28 13:43:03]: Successfully registered Exports -[info][UnlSpectre][2025/05/28 13:43:03]: Successfully loaded Items -[info][UnlSpectre][2025/05/28 13:43:03]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/28 13:43:03]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/28 13:43:03]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/28 13:43:03]: Successfully started GameController -[info][UnlSpectre][2025/05/28 13:43:03]: Successfully started PlayerController -[info][UnlSpectre][2025/05/28 13:43:03]: Successfully started VehicleController -[info][UnlSpectre][2025/05/28 13:43:09]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/28 15:10:58]: Successfully registered Exports -[info][UnlSpectre][2025/05/28 15:10:58]: Successfully loaded Items -[info][UnlSpectre][2025/05/28 15:10:58]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/28 15:10:58]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/28 15:10:58]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/28 15:10:58]: Successfully started GameController -[info][UnlSpectre][2025/05/28 15:10:58]: Successfully started PlayerController -[info][UnlSpectre][2025/05/28 15:10:58]: Successfully started VehicleController -[info][UnlSpectre][2025/05/28 15:11:04]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/28 16:10:21]: Successfully registered Exports -[info][UnlSpectre][2025/05/28 16:10:21]: Successfully loaded Items -[info][UnlSpectre][2025/05/28 16:10:21]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/28 16:10:21]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/28 16:10:21]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/28 16:10:21]: Successfully started GameController -[info][UnlSpectre][2025/05/28 16:10:21]: Successfully started PlayerController -[info][UnlSpectre][2025/05/28 16:10:21]: Successfully started VehicleController -[info][UnlSpectre][2025/05/28 16:10:28]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/28 19:47:41]: Successfully registered Exports -[info][UnlSpectre][2025/05/28 19:47:41]: Successfully loaded Items -[info][UnlSpectre][2025/05/28 19:47:41]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/28 19:47:41]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/28 19:47:41]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/28 19:47:41]: Successfully started GameController -[info][UnlSpectre][2025/05/28 19:47:41]: Successfully started PlayerController -[info][UnlSpectre][2025/05/28 19:47:41]: Successfully started VehicleController -[info][UnlSpectre][2025/05/28 19:47:48]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/28 20:34:59]: Successfully registered Exports -[info][UnlSpectre][2025/05/28 20:34:59]: Successfully loaded Items -[info][UnlSpectre][2025/05/28 20:34:59]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/28 20:34:59]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/28 20:34:59]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/28 20:34:59]: Successfully started GameController -[info][UnlSpectre][2025/05/28 20:34:59]: Successfully started PlayerController -[info][UnlSpectre][2025/05/28 20:34:59]: Successfully started VehicleController -[info][UnlSpectre][2025/05/28 20:35:07]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/28 21:04:07]: Successfully registered Exports -[info][UnlSpectre][2025/05/28 21:04:07]: Successfully loaded Items -[info][UnlSpectre][2025/05/28 21:04:07]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/28 21:04:07]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/28 21:04:07]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/28 21:04:07]: Successfully started GameController -[info][UnlSpectre][2025/05/28 21:04:07]: Successfully started PlayerController -[info][UnlSpectre][2025/05/28 21:04:07]: Successfully started VehicleController -[info][UnlSpectre][2025/05/28 21:04:14]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/28 21:15:22]: Successfully registered Exports -[info][UnlSpectre][2025/05/28 21:15:22]: Successfully loaded Items -[info][UnlSpectre][2025/05/28 21:15:22]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/28 21:15:22]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/28 21:15:22]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/28 21:15:22]: Successfully started GameController -[info][UnlSpectre][2025/05/28 21:15:22]: Successfully started PlayerController -[info][UnlSpectre][2025/05/28 21:15:22]: Successfully started VehicleController -[info][UnlSpectre][2025/05/28 21:15:30]: HTTP Server started on port 3000. -[error][UnlSpectre][2025/05/28 22:14:45]: undefined -[info][UnlSpectre][2025/05/29 00:42:24]: Successfully registered Exports -[info][UnlSpectre][2025/05/29 00:42:24]: Successfully loaded Items -[info][UnlSpectre][2025/05/29 00:42:24]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/29 00:42:24]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/29 00:42:24]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/29 00:42:24]: Successfully started GameController -[info][UnlSpectre][2025/05/29 00:42:24]: Successfully started PlayerController -[info][UnlSpectre][2025/05/29 00:42:24]: Successfully started VehicleController -[info][UnlSpectre][2025/05/29 00:42:31]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/29 01:39:47]: Successfully registered Exports -[info][UnlSpectre][2025/05/29 01:39:47]: Successfully loaded Items -[info][UnlSpectre][2025/05/29 01:39:47]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/29 01:39:47]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/29 01:39:47]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/29 01:39:47]: Successfully started GameController -[info][UnlSpectre][2025/05/29 01:39:47]: Successfully started PlayerController -[info][UnlSpectre][2025/05/29 01:39:47]: Successfully started VehicleController -[info][UnlSpectre][2025/05/29 01:39:57]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/29 11:54:46]: Successfully registered Exports -[info][UnlSpectre][2025/05/29 11:54:46]: Successfully loaded Items -[info][UnlSpectre][2025/05/29 11:54:46]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/29 11:54:46]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/29 11:54:46]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/29 11:54:46]: Successfully started GameController -[info][UnlSpectre][2025/05/29 11:54:46]: Successfully started PlayerController -[info][UnlSpectre][2025/05/29 11:54:46]: Successfully started VehicleController -[info][UnlSpectre][2025/05/29 11:54:58]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/29 16:16:26]: Successfully registered Exports -[info][UnlSpectre][2025/05/29 16:16:26]: Successfully loaded Items -[info][UnlSpectre][2025/05/29 16:16:26]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/29 16:16:26]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/29 16:16:26]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/29 16:16:26]: Successfully started GameController -[info][UnlSpectre][2025/05/29 16:16:26]: Successfully started PlayerController -[info][UnlSpectre][2025/05/29 16:16:26]: Successfully started VehicleController -[info][UnlSpectre][2025/05/29 16:16:33]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/29 16:17:37]: Successfully registered Exports -[info][UnlSpectre][2025/05/29 16:17:37]: Successfully loaded Items -[info][UnlSpectre][2025/05/29 16:17:37]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/29 16:17:37]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/29 16:17:37]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/29 16:17:37]: Successfully started GameController -[info][UnlSpectre][2025/05/29 16:17:37]: Successfully started PlayerController -[info][UnlSpectre][2025/05/29 16:17:37]: Successfully started VehicleController -[info][UnlSpectre][2025/05/29 16:17:44]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/29 17:16:26]: Successfully registered Exports -[info][UnlSpectre][2025/05/29 17:16:26]: Successfully loaded Items -[info][UnlSpectre][2025/05/29 17:16:26]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/29 17:16:26]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/29 17:16:26]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/29 17:16:26]: Successfully started GameController -[info][UnlSpectre][2025/05/29 17:16:26]: Successfully started PlayerController -[info][UnlSpectre][2025/05/29 17:16:26]: Successfully started VehicleController -[info][UnlSpectre][2025/05/29 17:16:33]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/29 17:59:17]: Successfully registered Exports -[info][UnlSpectre][2025/05/29 17:59:17]: Successfully loaded Items -[info][UnlSpectre][2025/05/29 17:59:17]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/29 17:59:17]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/29 17:59:17]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/29 17:59:17]: Successfully started GameController -[info][UnlSpectre][2025/05/29 17:59:17]: Successfully started PlayerController -[info][UnlSpectre][2025/05/29 17:59:17]: Successfully started VehicleController -[info][UnlSpectre][2025/05/29 17:59:24]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/29 18:00:45]: Successfully registered Exports -[info][UnlSpectre][2025/05/29 18:00:45]: Successfully loaded Items -[info][UnlSpectre][2025/05/29 18:00:45]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/29 18:00:45]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/29 18:00:45]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/29 18:00:45]: Successfully started GameController -[info][UnlSpectre][2025/05/29 18:00:45]: Successfully started PlayerController -[info][UnlSpectre][2025/05/29 18:00:45]: Successfully started VehicleController -[info][UnlSpectre][2025/05/29 18:00:51]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/29 21:29:09]: Successfully registered Exports -[info][UnlSpectre][2025/05/29 21:29:09]: Successfully loaded Items -[info][UnlSpectre][2025/05/29 21:29:09]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/29 21:29:09]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/29 21:29:09]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/29 21:29:09]: Successfully started GameController -[info][UnlSpectre][2025/05/29 21:29:09]: Successfully started PlayerController -[info][UnlSpectre][2025/05/29 21:29:09]: Successfully started VehicleController -[info][UnlSpectre][2025/05/29 21:29:17]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/29 23:57:32]: Successfully registered Exports -[info][UnlSpectre][2025/05/29 23:57:32]: Successfully loaded Items -[info][UnlSpectre][2025/05/29 23:57:32]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/29 23:57:32]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/29 23:57:32]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/29 23:57:32]: Successfully started GameController -[info][UnlSpectre][2025/05/29 23:57:32]: Successfully started PlayerController -[info][UnlSpectre][2025/05/29 23:57:32]: Successfully started VehicleController -[info][UnlSpectre][2025/05/29 23:57:39]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/30 00:05:59]: Successfully registered Exports -[info][UnlSpectre][2025/05/30 00:05:59]: Successfully loaded Items -[info][UnlSpectre][2025/05/30 00:05:59]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/30 00:05:59]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/30 00:05:59]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/30 00:05:59]: Successfully started GameController -[info][UnlSpectre][2025/05/30 00:05:59]: Successfully started PlayerController -[info][UnlSpectre][2025/05/30 00:05:59]: Successfully started VehicleController -[info][UnlSpectre][2025/05/30 00:06:06]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/30 00:52:34]: Successfully registered Exports -[info][UnlSpectre][2025/05/30 00:52:34]: Successfully loaded Items -[info][UnlSpectre][2025/05/30 00:52:34]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/30 00:52:34]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/30 00:52:34]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/30 00:52:34]: Successfully started GameController -[info][UnlSpectre][2025/05/30 00:52:34]: Successfully started PlayerController -[info][UnlSpectre][2025/05/30 00:52:34]: Successfully started VehicleController -[info][UnlSpectre][2025/05/30 00:52:41]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/30 00:58:01]: Successfully registered Exports -[info][UnlSpectre][2025/05/30 00:58:01]: Successfully loaded Items -[info][UnlSpectre][2025/05/30 00:58:01]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/30 00:58:01]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/30 00:58:01]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/30 00:58:01]: Successfully started GameController -[info][UnlSpectre][2025/05/30 00:58:01]: Successfully started PlayerController -[info][UnlSpectre][2025/05/30 00:58:01]: Successfully started VehicleController -[info][UnlSpectre][2025/05/30 00:58:08]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/30 10:44:17]: Successfully registered Exports -[info][UnlSpectre][2025/05/30 10:44:17]: Successfully loaded Items -[info][UnlSpectre][2025/05/30 10:44:17]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/30 10:44:17]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/30 10:44:17]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/30 10:44:17]: Successfully started GameController -[info][UnlSpectre][2025/05/30 10:44:17]: Successfully started PlayerController -[info][UnlSpectre][2025/05/30 10:44:17]: Successfully started VehicleController -[info][UnlSpectre][2025/05/30 10:44:25]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/30 10:45:32]: Successfully registered Exports -[info][UnlSpectre][2025/05/30 10:45:32]: Successfully loaded Items -[info][UnlSpectre][2025/05/30 10:45:32]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/30 10:45:32]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/30 10:45:32]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/30 10:45:32]: Successfully started GameController -[info][UnlSpectre][2025/05/30 10:45:32]: Successfully started PlayerController -[info][UnlSpectre][2025/05/30 10:45:32]: Successfully started VehicleController -[info][UnlSpectre][2025/05/30 10:45:39]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/30 11:20:38]: Successfully registered Exports -[info][UnlSpectre][2025/05/30 11:20:38]: Successfully loaded Items -[info][UnlSpectre][2025/05/30 11:20:38]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/30 11:20:38]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/30 11:20:38]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/30 11:20:38]: Successfully started GameController -[info][UnlSpectre][2025/05/30 11:20:38]: Successfully started PlayerController -[info][UnlSpectre][2025/05/30 11:20:38]: Successfully started VehicleController -[info][UnlSpectre][2025/05/30 11:20:45]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/30 11:23:22]: Successfully registered Exports -[info][UnlSpectre][2025/05/30 11:23:22]: Successfully loaded Items -[info][UnlSpectre][2025/05/30 11:23:22]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/30 11:23:22]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/30 11:23:22]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/30 11:23:22]: Successfully started GameController -[info][UnlSpectre][2025/05/30 11:23:22]: Successfully started PlayerController -[info][UnlSpectre][2025/05/30 11:23:22]: Successfully started VehicleController -[info][UnlSpectre][2025/05/30 11:23:28]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/30 12:26:49]: Successfully registered Exports -[info][UnlSpectre][2025/05/30 12:26:50]: Successfully loaded Items -[info][UnlSpectre][2025/05/30 12:26:50]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/30 12:26:50]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/30 12:26:50]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/30 12:26:50]: Successfully started GameController -[info][UnlSpectre][2025/05/30 12:26:50]: Successfully started PlayerController -[info][UnlSpectre][2025/05/30 12:26:50]: Successfully started VehicleController -[info][UnlSpectre][2025/05/30 12:26:56]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/30 12:27:10]: Successfully registered Exports -[info][UnlSpectre][2025/05/30 12:27:10]: Successfully loaded Items -[info][UnlSpectre][2025/05/30 12:27:10]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/30 12:27:10]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/30 12:27:10]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/30 12:27:10]: Successfully started GameController -[info][UnlSpectre][2025/05/30 12:27:10]: Successfully started PlayerController -[info][UnlSpectre][2025/05/30 12:27:10]: Successfully started VehicleController -[info][UnlSpectre][2025/05/30 12:27:16]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/30 12:40:44]: Successfully registered Exports -[info][UnlSpectre][2025/05/30 12:40:45]: Successfully loaded Items -[info][UnlSpectre][2025/05/30 12:40:45]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/30 12:40:45]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/30 12:40:45]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/30 12:40:45]: Successfully started GameController -[info][UnlSpectre][2025/05/30 12:40:45]: Successfully started PlayerController -[info][UnlSpectre][2025/05/30 12:40:45]: Successfully started VehicleController -[info][UnlSpectre][2025/05/30 12:40:51]: HTTP Server started on port 3000. -[error][UnlSpectre][2025/05/30 14:08:37]: Cannot read properties of null (reading 'citizenid') -[info][UnlSpectre][2025/05/30 16:27:29]: Successfully registered Exports -[info][UnlSpectre][2025/05/30 16:27:30]: Successfully loaded Items -[info][UnlSpectre][2025/05/30 16:27:30]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/30 16:27:30]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/30 16:27:30]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/30 16:27:30]: Successfully started GameController -[info][UnlSpectre][2025/05/30 16:27:30]: Successfully started PlayerController -[info][UnlSpectre][2025/05/30 16:27:30]: Successfully started VehicleController -[info][UnlSpectre][2025/05/30 16:27:36]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/30 21:55:35]: Successfully registered Exports -[info][UnlSpectre][2025/05/30 21:55:35]: Successfully loaded Items -[info][UnlSpectre][2025/05/30 21:55:35]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/30 21:55:35]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/30 21:55:35]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/30 21:55:35]: Successfully started GameController -[info][UnlSpectre][2025/05/30 21:55:35]: Successfully started PlayerController -[info][UnlSpectre][2025/05/30 21:55:35]: Successfully started VehicleController -[info][UnlSpectre][2025/05/30 21:55:44]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/30 23:53:14]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/05/30 23:54:29]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/05/30 23:54:32]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/05/31 01:00:55]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/05/31 01:01:00]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/05/31 01:01:06]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/05/31 01:01:19]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/05/31 01:01:22]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/05/31 01:01:32]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/05/31 01:01:36]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/05/31 01:01:39]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/05/31 01:01:41]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/05/31 01:01:43]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/05/31 01:01:46]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/05/31 01:01:47]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/05/31 01:01:52]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/05/31 01:01:54]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/05/31 01:01:57]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/05/31 01:02:04]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/05/31 01:08:59]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/05/31 01:09:01]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/05/31 01:09:05]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/05/31 01:09:07]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/05/31 01:09:10]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/05/31 01:09:15]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/05/31 02:52:10]: Successfully registered Exports -[info][UnlSpectre][2025/05/31 02:52:10]: Successfully loaded Items -[info][UnlSpectre][2025/05/31 02:52:10]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/31 02:52:10]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/31 02:52:10]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/31 02:52:10]: Successfully started GameController -[info][UnlSpectre][2025/05/31 02:52:10]: Successfully started PlayerController -[info][UnlSpectre][2025/05/31 02:52:10]: Successfully started VehicleController -[info][UnlSpectre][2025/05/31 02:52:17]: HTTP Server started on port 3000. -[error][UnlSpectre][2025/05/31 12:25:53]: Error in nested ref call for unlimited-spectre. unlimited-spectre tried to call a function reference in qb-core but the reference wasn't valid. (did qb-core restart recently?) -[error][UnlSpectre][2025/05/31 12:49:54]: Error in nested ref call for unlimited-spectre. unlimited-spectre tried to call a function reference in qb-core but the reference wasn't valid. (did qb-core restart recently?) -[error][UnlSpectre][2025/05/31 12:50:11]: Error in nested ref call for unlimited-spectre. unlimited-spectre tried to call a function reference in qb-core but the reference wasn't valid. (did qb-core restart recently?) -[info][UnlSpectre][2025/05/31 13:36:59]: Successfully registered Exports -[info][UnlSpectre][2025/05/31 13:36:59]: Successfully loaded Items -[info][UnlSpectre][2025/05/31 13:36:59]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/31 13:36:59]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/31 13:36:59]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/31 13:36:59]: Successfully started GameController -[info][UnlSpectre][2025/05/31 13:36:59]: Successfully started PlayerController -[info][UnlSpectre][2025/05/31 13:36:59]: Successfully started VehicleController -[info][UnlSpectre][2025/05/31 13:37:08]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/31 13:51:41]: Successfully registered Exports -[info][UnlSpectre][2025/05/31 13:51:41]: Successfully loaded Items -[info][UnlSpectre][2025/05/31 13:51:41]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/31 13:51:41]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/31 13:51:41]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/31 13:51:41]: Successfully started GameController -[info][UnlSpectre][2025/05/31 13:51:41]: Successfully started PlayerController -[info][UnlSpectre][2025/05/31 13:51:41]: Successfully started VehicleController -[info][UnlSpectre][2025/05/31 13:51:49]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/31 13:59:19]: Successfully registered Exports -[info][UnlSpectre][2025/05/31 13:59:20]: Successfully loaded Items -[info][UnlSpectre][2025/05/31 13:59:20]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/31 13:59:20]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/31 13:59:20]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/31 13:59:20]: Successfully started GameController -[info][UnlSpectre][2025/05/31 13:59:20]: Successfully started PlayerController -[info][UnlSpectre][2025/05/31 13:59:20]: Successfully started VehicleController -[info][UnlSpectre][2025/05/31 13:59:27]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/31 14:00:54]: Successfully registered Exports -[info][UnlSpectre][2025/05/31 14:00:54]: Successfully loaded Items -[info][UnlSpectre][2025/05/31 14:00:54]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/31 14:00:54]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/31 14:00:54]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/31 14:00:54]: Successfully started GameController -[info][UnlSpectre][2025/05/31 14:00:54]: Successfully started PlayerController -[info][UnlSpectre][2025/05/31 14:00:54]: Successfully started VehicleController -[info][UnlSpectre][2025/05/31 14:01:01]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/31 14:06:51]: Successfully registered Exports -[info][UnlSpectre][2025/05/31 14:06:51]: Successfully loaded Items -[info][UnlSpectre][2025/05/31 14:06:51]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/31 14:06:51]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/31 14:06:51]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/31 14:06:51]: Successfully started GameController -[info][UnlSpectre][2025/05/31 14:06:51]: Successfully started PlayerController -[info][UnlSpectre][2025/05/31 14:06:51]: Successfully started VehicleController -[info][UnlSpectre][2025/05/31 14:06:58]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/31 14:07:39]: Successfully registered Exports -[info][UnlSpectre][2025/05/31 14:07:39]: Successfully loaded Items -[info][UnlSpectre][2025/05/31 14:07:39]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/31 14:07:39]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/31 14:07:39]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/31 14:07:39]: Successfully started GameController -[info][UnlSpectre][2025/05/31 14:07:39]: Successfully started PlayerController -[info][UnlSpectre][2025/05/31 14:07:39]: Successfully started VehicleController -[info][UnlSpectre][2025/05/31 14:07:46]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/31 14:10:20]: Successfully registered Exports -[info][UnlSpectre][2025/05/31 14:10:20]: Successfully loaded Items -[info][UnlSpectre][2025/05/31 14:10:20]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/31 14:10:20]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/31 14:10:20]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/31 14:10:20]: Successfully started GameController -[info][UnlSpectre][2025/05/31 14:10:20]: Successfully started PlayerController -[info][UnlSpectre][2025/05/31 14:10:20]: Successfully started VehicleController -[info][UnlSpectre][2025/05/31 14:10:28]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/31 14:54:27]: Successfully registered Exports -[info][UnlSpectre][2025/05/31 14:54:27]: Successfully loaded Items -[info][UnlSpectre][2025/05/31 14:54:27]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/31 14:54:27]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/31 14:54:27]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/31 14:54:27]: Successfully started GameController -[info][UnlSpectre][2025/05/31 14:54:27]: Successfully started PlayerController -[info][UnlSpectre][2025/05/31 14:54:27]: Successfully started VehicleController -[info][UnlSpectre][2025/05/31 14:54:35]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/31 19:10:29]: Successfully registered Exports -[info][UnlSpectre][2025/05/31 19:10:29]: Successfully loaded Items -[info][UnlSpectre][2025/05/31 19:10:29]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/31 19:10:29]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/31 19:10:29]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/31 19:10:29]: Successfully started GameController -[info][UnlSpectre][2025/05/31 19:10:29]: Successfully started PlayerController -[info][UnlSpectre][2025/05/31 19:10:29]: Successfully started VehicleController -[info][UnlSpectre][2025/05/31 19:10:38]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/31 21:06:48]: Successfully registered Exports -[info][UnlSpectre][2025/05/31 21:06:48]: Successfully loaded Items -[info][UnlSpectre][2025/05/31 21:06:48]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/31 21:06:48]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/31 21:06:48]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/31 21:06:48]: Successfully started GameController -[info][UnlSpectre][2025/05/31 21:06:48]: Successfully started PlayerController -[info][UnlSpectre][2025/05/31 21:06:48]: Successfully started VehicleController -[info][UnlSpectre][2025/05/31 21:06:56]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/31 21:16:54]: Successfully registered Exports -[info][UnlSpectre][2025/05/31 21:16:54]: Successfully loaded Items -[info][UnlSpectre][2025/05/31 21:16:54]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/31 21:16:54]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/31 21:16:54]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/31 21:16:54]: Successfully started GameController -[info][UnlSpectre][2025/05/31 21:16:54]: Successfully started PlayerController -[info][UnlSpectre][2025/05/31 21:16:54]: Successfully started VehicleController -[info][UnlSpectre][2025/05/31 21:17:01]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/31 21:30:55]: Successfully registered Exports -[info][UnlSpectre][2025/05/31 21:30:55]: Successfully loaded Items -[info][UnlSpectre][2025/05/31 21:30:55]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/31 21:30:55]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/31 21:30:55]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/31 21:30:55]: Successfully started GameController -[info][UnlSpectre][2025/05/31 21:30:55]: Successfully started PlayerController -[info][UnlSpectre][2025/05/31 21:30:55]: Successfully started VehicleController -[info][UnlSpectre][2025/05/31 21:31:03]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/31 23:01:04]: Successfully registered Exports -[info][UnlSpectre][2025/05/31 23:01:04]: Successfully loaded Items -[info][UnlSpectre][2025/05/31 23:01:04]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/31 23:01:04]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/31 23:01:04]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/31 23:01:04]: Successfully started GameController -[info][UnlSpectre][2025/05/31 23:01:04]: Successfully started PlayerController -[info][UnlSpectre][2025/05/31 23:01:04]: Successfully started VehicleController -[info][UnlSpectre][2025/05/31 23:01:12]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/05/31 23:33:42]: Successfully registered Exports -[info][UnlSpectre][2025/05/31 23:33:42]: Successfully loaded Items -[info][UnlSpectre][2025/05/31 23:33:42]: Successfully loaded Jobs -[info][UnlSpectre][2025/05/31 23:33:42]: Successfully loaded Gangs -[info][UnlSpectre][2025/05/31 23:33:42]: Successfully loaded Vehicles -[info][UnlSpectre][2025/05/31 23:33:42]: Successfully started GameController -[info][UnlSpectre][2025/05/31 23:33:42]: Successfully started PlayerController -[info][UnlSpectre][2025/05/31 23:33:42]: Successfully started VehicleController -[info][UnlSpectre][2025/05/31 23:33:49]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/01 00:54:38]: Successfully registered Exports -[info][UnlSpectre][2025/06/01 00:54:38]: Successfully loaded Items -[info][UnlSpectre][2025/06/01 00:54:38]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/01 00:54:38]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/01 00:54:38]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/01 00:54:38]: Successfully started GameController -[info][UnlSpectre][2025/06/01 00:54:38]: Successfully started PlayerController -[info][UnlSpectre][2025/06/01 00:54:38]: Successfully started VehicleController -[info][UnlSpectre][2025/06/01 00:54:45]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/01 02:38:00]: Successfully registered Exports -[info][UnlSpectre][2025/06/01 02:38:00]: Successfully loaded Items -[info][UnlSpectre][2025/06/01 02:38:00]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/01 02:38:00]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/01 02:38:00]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/01 02:38:00]: Successfully started GameController -[info][UnlSpectre][2025/06/01 02:38:00]: Successfully started PlayerController -[info][UnlSpectre][2025/06/01 02:38:00]: Successfully started VehicleController -[info][UnlSpectre][2025/06/01 02:38:08]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/01 10:24:37]: Successfully registered Exports -[info][UnlSpectre][2025/06/01 10:24:37]: Successfully loaded Items -[info][UnlSpectre][2025/06/01 10:24:37]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/01 10:24:37]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/01 10:24:37]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/01 10:24:37]: Successfully started GameController -[info][UnlSpectre][2025/06/01 10:24:37]: Successfully started PlayerController -[info][UnlSpectre][2025/06/01 10:24:37]: Successfully started VehicleController -[info][UnlSpectre][2025/06/01 10:24:48]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/01 11:31:04]: Successfully registered Exports -[info][UnlSpectre][2025/06/01 11:31:04]: Successfully loaded Items -[info][UnlSpectre][2025/06/01 11:31:04]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/01 11:31:04]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/01 11:31:04]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/01 11:31:04]: Successfully started GameController -[info][UnlSpectre][2025/06/01 11:31:04]: Successfully started PlayerController -[info][UnlSpectre][2025/06/01 11:31:04]: Successfully started VehicleController -[info][UnlSpectre][2025/06/01 11:31:11]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/01 12:45:22]: Successfully registered Exports -[info][UnlSpectre][2025/06/01 12:45:22]: Successfully loaded Items -[info][UnlSpectre][2025/06/01 12:45:22]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/01 12:45:22]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/01 12:45:22]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/01 12:45:22]: Successfully started GameController -[info][UnlSpectre][2025/06/01 12:45:22]: Successfully started PlayerController -[info][UnlSpectre][2025/06/01 12:45:22]: Successfully started VehicleController -[info][UnlSpectre][2025/06/01 12:45:29]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/01 17:18:36]: Successfully registered Exports -[info][UnlSpectre][2025/06/01 17:18:36]: Successfully loaded Items -[info][UnlSpectre][2025/06/01 17:18:36]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/01 17:18:36]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/01 17:18:36]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/01 17:18:36]: Successfully started GameController -[info][UnlSpectre][2025/06/01 17:18:36]: Successfully started PlayerController -[info][UnlSpectre][2025/06/01 17:18:36]: Successfully started VehicleController -[info][UnlSpectre][2025/06/01 17:18:46]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/01 19:04:08]: Successfully registered Exports -[info][UnlSpectre][2025/06/01 19:04:08]: Successfully loaded Items -[info][UnlSpectre][2025/06/01 19:04:08]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/01 19:04:08]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/01 19:04:08]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/01 19:04:08]: Successfully started GameController -[info][UnlSpectre][2025/06/01 19:04:08]: Successfully started PlayerController -[info][UnlSpectre][2025/06/01 19:04:08]: Successfully started VehicleController -[info][UnlSpectre][2025/06/01 19:04:17]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/01 19:14:00]: Successfully registered Exports -[info][UnlSpectre][2025/06/01 19:14:01]: Successfully loaded Items -[info][UnlSpectre][2025/06/01 19:14:01]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/01 19:14:01]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/01 19:14:01]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/01 19:14:01]: Successfully started GameController -[info][UnlSpectre][2025/06/01 19:14:01]: Successfully started PlayerController -[info][UnlSpectre][2025/06/01 19:14:01]: Successfully started VehicleController -[info][UnlSpectre][2025/06/01 19:14:08]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/01 19:27:27]: Successfully registered Exports -[info][UnlSpectre][2025/06/01 19:27:27]: Successfully loaded Items -[info][UnlSpectre][2025/06/01 19:27:27]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/01 19:27:27]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/01 19:27:27]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/01 19:27:27]: Successfully started GameController -[info][UnlSpectre][2025/06/01 19:27:27]: Successfully started PlayerController -[info][UnlSpectre][2025/06/01 19:27:27]: Successfully started VehicleController -[info][UnlSpectre][2025/06/01 19:27:35]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/01 19:49:35]: Successfully registered Exports -[info][UnlSpectre][2025/06/01 19:49:35]: Successfully loaded Items -[info][UnlSpectre][2025/06/01 19:49:35]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/01 19:49:35]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/01 19:49:35]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/01 19:49:35]: Successfully started GameController -[info][UnlSpectre][2025/06/01 19:49:35]: Successfully started PlayerController -[info][UnlSpectre][2025/06/01 19:49:35]: Successfully started VehicleController -[info][UnlSpectre][2025/06/01 19:49:43]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/01 20:35:31]: Successfully registered Exports -[info][UnlSpectre][2025/06/01 20:35:31]: Successfully loaded Items -[info][UnlSpectre][2025/06/01 20:35:31]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/01 20:35:31]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/01 20:35:31]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/01 20:35:31]: Successfully started GameController -[info][UnlSpectre][2025/06/01 20:35:31]: Successfully started PlayerController -[info][UnlSpectre][2025/06/01 20:35:31]: Successfully started VehicleController -[info][UnlSpectre][2025/06/01 20:35:39]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/01 21:18:18]: Successfully registered Exports -[info][UnlSpectre][2025/06/01 21:18:18]: Successfully loaded Items -[info][UnlSpectre][2025/06/01 21:18:18]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/01 21:18:18]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/01 21:18:18]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/01 21:18:18]: Successfully started GameController -[info][UnlSpectre][2025/06/01 21:18:18]: Successfully started PlayerController -[info][UnlSpectre][2025/06/01 21:18:18]: Successfully started VehicleController -[info][UnlSpectre][2025/06/01 21:18:26]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/01 21:54:46]: Successfully registered Exports -[info][UnlSpectre][2025/06/01 21:54:46]: Successfully loaded Items -[info][UnlSpectre][2025/06/01 21:54:46]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/01 21:54:46]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/01 21:54:46]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/01 21:54:46]: Successfully started GameController -[info][UnlSpectre][2025/06/01 21:54:46]: Successfully started PlayerController -[info][UnlSpectre][2025/06/01 21:54:46]: Successfully started VehicleController -[info][UnlSpectre][2025/06/01 21:54:55]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/01 22:02:16]: The data.json file was modified or deleted by an external source, Unlimited - Spectre will try to restore it. -[info][UnlSpectre][2025/06/01 22:03:02]: The data.json file was modified or deleted by an external source, Unlimited - Spectre will try to restore it. -[info][UnlSpectre][2025/06/01 22:03:48]: Successfully registered Exports -[info][UnlSpectre][2025/06/01 22:03:48]: Successfully loaded Items -[info][UnlSpectre][2025/06/01 22:03:48]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/01 22:03:48]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/01 22:03:48]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/01 22:03:48]: Successfully started GameController -[info][UnlSpectre][2025/06/01 22:03:48]: Successfully started PlayerController -[info][UnlSpectre][2025/06/01 22:03:48]: Successfully started VehicleController -[info][UnlSpectre][2025/06/01 22:03:56]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/01 22:05:48]: The data.json file was modified or deleted by an external source, Unlimited - Spectre will try to restore it. -[info][UnlSpectre][2025/06/01 22:06:33]: The data.json file was modified or deleted by an external source, Unlimited - Spectre will try to restore it. -[info][UnlSpectre][2025/06/01 22:06:45]: Successfully registered Exports -[info][UnlSpectre][2025/06/01 22:06:45]: Successfully loaded Items -[info][UnlSpectre][2025/06/01 22:06:45]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/01 22:06:45]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/01 22:06:45]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/01 22:06:45]: Successfully started GameController -[info][UnlSpectre][2025/06/01 22:06:45]: Successfully started PlayerController -[info][UnlSpectre][2025/06/01 22:06:45]: Successfully started VehicleController -[info][UnlSpectre][2025/06/01 22:06:52]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/01 22:07:45]: The data.json file was modified or deleted by an external source, Unlimited - Spectre will try to restore it. -[info][UnlSpectre][2025/06/01 22:09:47]: Successfully registered Exports -[info][UnlSpectre][2025/06/01 22:09:47]: Successfully loaded Items -[info][UnlSpectre][2025/06/01 22:09:47]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/01 22:09:47]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/01 22:09:47]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/01 22:09:47]: Successfully started GameController -[info][UnlSpectre][2025/06/01 22:09:47]: Successfully started PlayerController -[info][UnlSpectre][2025/06/01 22:09:47]: Successfully started VehicleController -[info][UnlSpectre][2025/06/01 22:09:47]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/01 22:10:17]: The data.json file was modified or deleted by an external source, Unlimited - Spectre will try to restore it. -[info][UnlSpectre][2025/06/01 22:11:40]: Successfully registered Exports -[info][UnlSpectre][2025/06/01 22:11:40]: Successfully loaded Items -[info][UnlSpectre][2025/06/01 22:11:40]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/01 22:11:40]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/01 22:11:40]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/01 22:11:40]: Successfully started GameController -[info][UnlSpectre][2025/06/01 22:11:40]: Successfully started PlayerController -[info][UnlSpectre][2025/06/01 22:11:40]: Successfully started VehicleController -[info][UnlSpectre][2025/06/01 22:11:47]: HTTP Server started on port 3000. -[error][UnlSpectre][2025/06/01 22:12:12]: Internal Server Error -[error][UnlSpectre][2025/06/01 22:12:39]: Internal Server Error -[info][UnlSpectre][2025/06/01 22:26:25]: Successfully registered Exports -[info][UnlSpectre][2025/06/01 22:26:25]: Successfully loaded Items -[info][UnlSpectre][2025/06/01 22:26:25]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/01 22:26:25]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/01 22:26:25]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/01 22:26:25]: Successfully started GameController -[info][UnlSpectre][2025/06/01 22:26:25]: Successfully started PlayerController -[info][UnlSpectre][2025/06/01 22:26:25]: Successfully started VehicleController -[info][UnlSpectre][2025/06/01 22:26:26]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/01 22:44:50]: Successfully registered Exports -[info][UnlSpectre][2025/06/01 22:44:50]: Successfully loaded Items -[info][UnlSpectre][2025/06/01 22:44:50]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/01 22:44:50]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/01 22:44:50]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/01 22:44:50]: Successfully started GameController -[info][UnlSpectre][2025/06/01 22:44:50]: Successfully started PlayerController -[info][UnlSpectre][2025/06/01 22:44:50]: Successfully started VehicleController -[info][UnlSpectre][2025/06/01 22:44:58]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/01 23:35:01]: Successfully registered Exports -[info][UnlSpectre][2025/06/01 23:35:01]: Successfully loaded Items -[info][UnlSpectre][2025/06/01 23:35:01]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/01 23:35:01]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/01 23:35:01]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/01 23:35:01]: Successfully started GameController -[info][UnlSpectre][2025/06/01 23:35:01]: Successfully started PlayerController -[info][UnlSpectre][2025/06/01 23:35:01]: Successfully started VehicleController -[info][UnlSpectre][2025/06/01 23:35:08]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/01 23:47:04]: Successfully registered Exports -[info][UnlSpectre][2025/06/01 23:47:04]: Successfully loaded Items -[info][UnlSpectre][2025/06/01 23:47:05]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/01 23:47:05]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/01 23:47:05]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/01 23:47:05]: Successfully started GameController -[info][UnlSpectre][2025/06/01 23:47:05]: Successfully started PlayerController -[info][UnlSpectre][2025/06/01 23:47:05]: Successfully started VehicleController -[info][UnlSpectre][2025/06/01 23:47:12]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/02 01:59:24]: Successfully registered Exports -[info][UnlSpectre][2025/06/02 01:59:24]: Successfully loaded Items -[info][UnlSpectre][2025/06/02 01:59:24]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/02 01:59:24]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/02 01:59:24]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/02 01:59:24]: Successfully started GameController -[info][UnlSpectre][2025/06/02 01:59:24]: Successfully started PlayerController -[info][UnlSpectre][2025/06/02 01:59:24]: Successfully started VehicleController -[info][UnlSpectre][2025/06/02 01:59:31]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/02 10:58:42]: Successfully registered Exports -[info][UnlSpectre][2025/06/02 10:58:42]: Successfully loaded Items -[info][UnlSpectre][2025/06/02 10:58:42]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/02 10:58:42]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/02 10:58:42]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/02 10:58:42]: Successfully started GameController -[info][UnlSpectre][2025/06/02 10:58:42]: Successfully started PlayerController -[info][UnlSpectre][2025/06/02 10:58:42]: Successfully started VehicleController -[info][UnlSpectre][2025/06/02 10:59:13]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/02 11:07:09]: Successfully registered Exports -[info][UnlSpectre][2025/06/02 11:07:09]: Successfully loaded Items -[info][UnlSpectre][2025/06/02 11:07:09]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/02 11:07:09]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/02 11:07:09]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/02 11:07:09]: Successfully started GameController -[info][UnlSpectre][2025/06/02 11:07:09]: Successfully started PlayerController -[info][UnlSpectre][2025/06/02 11:07:09]: Successfully started VehicleController -[info][UnlSpectre][2025/06/02 11:07:16]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/02 12:21:20]: Successfully registered Exports -[info][UnlSpectre][2025/06/02 12:21:20]: Successfully loaded Items -[info][UnlSpectre][2025/06/02 12:21:20]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/02 12:21:20]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/02 12:21:20]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/02 12:21:20]: Successfully started GameController -[info][UnlSpectre][2025/06/02 12:21:20]: Successfully started PlayerController -[info][UnlSpectre][2025/06/02 12:21:20]: Successfully started VehicleController -[info][UnlSpectre][2025/06/02 12:21:28]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/02 12:22:13]: Successfully registered Exports -[info][UnlSpectre][2025/06/02 12:22:13]: Successfully loaded Items -[info][UnlSpectre][2025/06/02 12:22:13]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/02 12:22:13]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/02 12:22:13]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/02 12:22:14]: Successfully started GameController -[info][UnlSpectre][2025/06/02 12:22:14]: Successfully started PlayerController -[info][UnlSpectre][2025/06/02 12:22:14]: Successfully started VehicleController -[info][UnlSpectre][2025/06/02 12:22:20]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/02 14:53:12]: Successfully registered Exports -[info][UnlSpectre][2025/06/02 14:53:12]: Successfully loaded Items -[info][UnlSpectre][2025/06/02 14:53:12]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/02 14:53:12]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/02 14:53:12]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/02 14:53:12]: Successfully started GameController -[info][UnlSpectre][2025/06/02 14:53:12]: Successfully started PlayerController -[info][UnlSpectre][2025/06/02 14:53:12]: Successfully started VehicleController -[info][UnlSpectre][2025/06/02 14:53:20]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/02 18:32:03]: Successfully registered Exports -[info][UnlSpectre][2025/06/02 18:32:03]: Successfully loaded Items -[info][UnlSpectre][2025/06/02 18:32:04]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/02 18:32:04]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/02 18:32:04]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/02 18:32:04]: Successfully started GameController -[info][UnlSpectre][2025/06/02 18:32:04]: Successfully started PlayerController -[info][UnlSpectre][2025/06/02 18:32:04]: Successfully started VehicleController -[info][UnlSpectre][2025/06/02 18:32:12]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/02 19:22:25]: Successfully registered Exports -[info][UnlSpectre][2025/06/02 19:22:25]: Successfully loaded Items -[info][UnlSpectre][2025/06/02 19:22:25]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/02 19:22:25]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/02 19:22:25]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/02 19:22:25]: Successfully started GameController -[info][UnlSpectre][2025/06/02 19:22:25]: Successfully started PlayerController -[info][UnlSpectre][2025/06/02 19:22:25]: Successfully started VehicleController -[info][UnlSpectre][2025/06/02 19:22:32]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/03 00:18:58]: Successfully registered Exports -[info][UnlSpectre][2025/06/03 00:18:59]: Successfully loaded Items -[info][UnlSpectre][2025/06/03 00:18:59]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/03 00:18:59]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/03 00:18:59]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/03 00:18:59]: Successfully started GameController -[info][UnlSpectre][2025/06/03 00:18:59]: Successfully started PlayerController -[info][UnlSpectre][2025/06/03 00:18:59]: Successfully started VehicleController -[info][UnlSpectre][2025/06/03 00:19:07]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/03 00:25:40]: Successfully registered Exports -[info][UnlSpectre][2025/06/03 00:25:40]: Successfully loaded Items -[info][UnlSpectre][2025/06/03 00:25:40]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/03 00:25:40]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/03 00:25:40]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/03 00:25:40]: Successfully started GameController -[info][UnlSpectre][2025/06/03 00:25:40]: Successfully started PlayerController -[info][UnlSpectre][2025/06/03 00:25:40]: Successfully started VehicleController -[info][UnlSpectre][2025/06/03 00:25:47]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/03 00:31:17]: Successfully registered Exports -[info][UnlSpectre][2025/06/03 00:31:17]: Successfully loaded Items -[info][UnlSpectre][2025/06/03 00:31:17]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/03 00:31:17]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/03 00:31:17]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/03 00:31:17]: Successfully started GameController -[info][UnlSpectre][2025/06/03 00:31:17]: Successfully started PlayerController -[info][UnlSpectre][2025/06/03 00:31:17]: Successfully started VehicleController -[info][UnlSpectre][2025/06/03 00:31:24]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/03 01:06:20]: Successfully registered Exports -[info][UnlSpectre][2025/06/03 01:06:20]: Successfully loaded Items -[info][UnlSpectre][2025/06/03 01:06:20]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/03 01:06:20]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/03 01:06:20]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/03 01:06:20]: Successfully started GameController -[info][UnlSpectre][2025/06/03 01:06:20]: Successfully started PlayerController -[info][UnlSpectre][2025/06/03 01:06:20]: Successfully started VehicleController -[info][UnlSpectre][2025/06/03 01:06:27]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/03 10:21:37]: Successfully registered Exports -[info][UnlSpectre][2025/06/03 10:21:37]: Successfully loaded Items -[info][UnlSpectre][2025/06/03 10:21:37]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/03 10:21:37]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/03 10:21:37]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/03 10:21:37]: Successfully started GameController -[info][UnlSpectre][2025/06/03 10:21:37]: Successfully started PlayerController -[info][UnlSpectre][2025/06/03 10:21:37]: Successfully started VehicleController -[info][UnlSpectre][2025/06/03 10:21:49]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/03 11:32:11]: Successfully registered Exports -[info][UnlSpectre][2025/06/03 11:32:11]: Successfully loaded Items -[info][UnlSpectre][2025/06/03 11:32:11]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/03 11:32:11]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/03 11:32:11]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/03 11:32:11]: Successfully started GameController -[info][UnlSpectre][2025/06/03 11:32:11]: Successfully started PlayerController -[info][UnlSpectre][2025/06/03 11:32:11]: Successfully started VehicleController -[info][UnlSpectre][2025/06/03 11:32:19]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/03 12:33:24]: Successfully registered Exports -[info][UnlSpectre][2025/06/03 12:33:24]: Successfully loaded Items -[info][UnlSpectre][2025/06/03 12:33:24]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/03 12:33:24]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/03 12:33:24]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/03 12:33:24]: Successfully started GameController -[info][UnlSpectre][2025/06/03 12:33:24]: Successfully started PlayerController -[info][UnlSpectre][2025/06/03 12:33:24]: Successfully started VehicleController -[info][UnlSpectre][2025/06/03 12:33:34]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/03 12:45:29]: Successfully registered Exports -[info][UnlSpectre][2025/06/03 12:45:29]: Successfully loaded Items -[info][UnlSpectre][2025/06/03 12:45:29]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/03 12:45:29]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/03 12:45:29]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/03 12:45:29]: Successfully started GameController -[info][UnlSpectre][2025/06/03 12:45:29]: Successfully started PlayerController -[info][UnlSpectre][2025/06/03 12:45:29]: Successfully started VehicleController -[info][UnlSpectre][2025/06/03 12:45:36]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/03 12:46:52]: Successfully registered Exports -[info][UnlSpectre][2025/06/03 12:46:52]: Successfully loaded Items -[info][UnlSpectre][2025/06/03 12:46:52]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/03 12:46:52]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/03 12:46:52]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/03 12:46:52]: Successfully started GameController -[info][UnlSpectre][2025/06/03 12:46:52]: Successfully started PlayerController -[info][UnlSpectre][2025/06/03 12:46:52]: Successfully started VehicleController -[info][UnlSpectre][2025/06/03 12:46:58]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/03 13:06:59]: Successfully registered Exports -[info][UnlSpectre][2025/06/03 13:06:59]: Successfully loaded Items -[info][UnlSpectre][2025/06/03 13:06:59]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/03 13:06:59]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/03 13:06:59]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/03 13:06:59]: Successfully started GameController -[info][UnlSpectre][2025/06/03 13:06:59]: Successfully started PlayerController -[info][UnlSpectre][2025/06/03 13:06:59]: Successfully started VehicleController -[info][UnlSpectre][2025/06/03 13:07:06]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/03 14:44:46]: Successfully registered Exports -[info][UnlSpectre][2025/06/03 14:44:46]: Successfully loaded Items -[info][UnlSpectre][2025/06/03 14:44:46]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/03 14:44:46]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/03 14:44:46]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/03 14:44:46]: Successfully started GameController -[info][UnlSpectre][2025/06/03 14:44:46]: Successfully started PlayerController -[info][UnlSpectre][2025/06/03 14:44:46]: Successfully started VehicleController -[info][UnlSpectre][2025/06/03 14:44:53]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/03 19:02:17]: Successfully registered Exports -[info][UnlSpectre][2025/06/03 19:02:17]: Successfully loaded Items -[info][UnlSpectre][2025/06/03 19:02:17]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/03 19:02:17]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/03 19:02:17]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/03 19:02:17]: Successfully started GameController -[info][UnlSpectre][2025/06/03 19:02:17]: Successfully started PlayerController -[info][UnlSpectre][2025/06/03 19:02:17]: Successfully started VehicleController -[info][UnlSpectre][2025/06/03 19:02:26]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/03 19:08:30]: Successfully registered Exports -[info][UnlSpectre][2025/06/03 19:08:30]: Successfully loaded Items -[info][UnlSpectre][2025/06/03 19:08:30]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/03 19:08:30]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/03 19:08:30]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/03 19:08:30]: Successfully started GameController -[info][UnlSpectre][2025/06/03 19:08:30]: Successfully started PlayerController -[info][UnlSpectre][2025/06/03 19:08:30]: Successfully started VehicleController -[info][UnlSpectre][2025/06/03 19:08:38]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/03 23:27:54]: Successfully registered Exports -[info][UnlSpectre][2025/06/03 23:27:54]: Successfully loaded Items -[info][UnlSpectre][2025/06/03 23:27:54]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/03 23:27:54]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/03 23:27:54]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/03 23:27:54]: Successfully started GameController -[info][UnlSpectre][2025/06/03 23:27:54]: Successfully started PlayerController -[info][UnlSpectre][2025/06/03 23:27:54]: Successfully started VehicleController -[info][UnlSpectre][2025/06/03 23:28:01]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/03 23:44:43]: Successfully registered Exports -[info][UnlSpectre][2025/06/03 23:44:43]: Successfully loaded Items -[info][UnlSpectre][2025/06/03 23:44:43]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/03 23:44:43]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/03 23:44:43]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/03 23:44:43]: Successfully started GameController -[info][UnlSpectre][2025/06/03 23:44:43]: Successfully started PlayerController -[info][UnlSpectre][2025/06/03 23:44:43]: Successfully started VehicleController -[info][UnlSpectre][2025/06/03 23:44:50]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/04 00:14:52]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/06/04 00:14:55]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/06/04 00:15:02]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/06/04 00:15:06]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/06/04 00:15:09]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/06/04 16:44:51]: Successfully registered Exports -[info][UnlSpectre][2025/06/04 16:44:51]: Successfully loaded Items -[info][UnlSpectre][2025/06/04 16:44:51]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/04 16:44:51]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/04 16:44:51]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/04 16:44:51]: Successfully started GameController -[info][UnlSpectre][2025/06/04 16:44:51]: Successfully started PlayerController -[info][UnlSpectre][2025/06/04 16:44:51]: Successfully started VehicleController -[info][UnlSpectre][2025/06/04 16:45:01]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/04 16:57:33]: Successfully registered Exports -[info][UnlSpectre][2025/06/04 16:57:33]: Successfully loaded Items -[info][UnlSpectre][2025/06/04 16:57:33]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/04 16:57:33]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/04 16:57:33]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/04 16:57:33]: Successfully started GameController -[info][UnlSpectre][2025/06/04 16:57:33]: Successfully started PlayerController -[info][UnlSpectre][2025/06/04 16:57:33]: Successfully started VehicleController -[info][UnlSpectre][2025/06/04 16:57:40]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/04 16:59:34]: Successfully registered Exports -[info][UnlSpectre][2025/06/04 16:59:34]: Successfully loaded Items -[info][UnlSpectre][2025/06/04 16:59:34]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/04 16:59:34]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/04 16:59:34]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/04 16:59:34]: Successfully started GameController -[info][UnlSpectre][2025/06/04 16:59:34]: Successfully started PlayerController -[info][UnlSpectre][2025/06/04 16:59:34]: Successfully started VehicleController -[info][UnlSpectre][2025/06/04 16:59:41]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/04 17:37:56]: Successfully registered Exports -[info][UnlSpectre][2025/06/04 17:37:56]: Successfully loaded Items -[info][UnlSpectre][2025/06/04 17:37:56]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/04 17:37:56]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/04 17:37:56]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/04 17:37:56]: Successfully started GameController -[info][UnlSpectre][2025/06/04 17:37:56]: Successfully started PlayerController -[info][UnlSpectre][2025/06/04 17:37:56]: Successfully started VehicleController -[info][UnlSpectre][2025/06/04 17:38:03]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/04 17:49:26]: Successfully registered Exports -[info][UnlSpectre][2025/06/04 17:49:26]: Successfully loaded Items -[info][UnlSpectre][2025/06/04 17:49:26]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/04 17:49:26]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/04 17:49:26]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/04 17:49:26]: Successfully started GameController -[info][UnlSpectre][2025/06/04 17:49:26]: Successfully started PlayerController -[info][UnlSpectre][2025/06/04 17:49:26]: Successfully started VehicleController -[info][UnlSpectre][2025/06/04 17:49:33]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/04 19:02:26]: Successfully registered Exports -[info][UnlSpectre][2025/06/04 19:02:26]: Successfully loaded Items -[info][UnlSpectre][2025/06/04 19:02:26]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/04 19:02:26]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/04 19:02:26]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/04 19:02:26]: Successfully started GameController -[info][UnlSpectre][2025/06/04 19:02:26]: Successfully started PlayerController -[info][UnlSpectre][2025/06/04 19:02:26]: Successfully started VehicleController -[info][UnlSpectre][2025/06/04 19:02:33]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/04 19:21:24]: Successfully registered Exports -[info][UnlSpectre][2025/06/04 19:21:24]: Successfully loaded Items -[info][UnlSpectre][2025/06/04 19:21:24]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/04 19:21:24]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/04 19:21:24]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/04 19:21:24]: Successfully started GameController -[info][UnlSpectre][2025/06/04 19:21:24]: Successfully started PlayerController -[info][UnlSpectre][2025/06/04 19:21:24]: Successfully started VehicleController -[info][UnlSpectre][2025/06/04 19:21:31]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/04 20:49:32]: Weapon log got triggered with unknow weapon hash 2967132055. Maybe check your hashes.json -[info][UnlSpectre][2025/06/04 20:49:55]: Weapon log got triggered with unknow weapon hash 2967132055. Maybe check your hashes.json -[info][UnlSpectre][2025/06/04 20:50:12]: Weapon log got triggered with unknow weapon hash 2967132055. Maybe check your hashes.json -[info][UnlSpectre][2025/06/04 21:40:00]: Successfully registered Exports -[info][UnlSpectre][2025/06/04 21:40:00]: Successfully loaded Items -[info][UnlSpectre][2025/06/04 21:40:00]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/04 21:40:00]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/04 21:40:00]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/04 21:40:00]: Successfully started GameController -[info][UnlSpectre][2025/06/04 21:40:00]: Successfully started PlayerController -[info][UnlSpectre][2025/06/04 21:40:00]: Successfully started VehicleController -[info][UnlSpectre][2025/06/04 21:40:12]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/04 23:55:51]: Successfully registered Exports -[info][UnlSpectre][2025/06/04 23:55:51]: Successfully loaded Items -[info][UnlSpectre][2025/06/04 23:55:51]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/04 23:55:51]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/04 23:55:51]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/04 23:55:51]: Successfully started GameController -[info][UnlSpectre][2025/06/04 23:55:51]: Successfully started PlayerController -[info][UnlSpectre][2025/06/04 23:55:51]: Successfully started VehicleController -[info][UnlSpectre][2025/06/04 23:55:58]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/05 00:39:00]: Successfully registered Exports -[info][UnlSpectre][2025/06/05 00:39:00]: Successfully loaded Items -[info][UnlSpectre][2025/06/05 00:39:00]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/05 00:39:00]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/05 00:39:00]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/05 00:39:00]: Successfully started GameController -[info][UnlSpectre][2025/06/05 00:39:00]: Successfully started PlayerController -[info][UnlSpectre][2025/06/05 00:39:00]: Successfully started VehicleController -[info][UnlSpectre][2025/06/05 00:39:07]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/05 00:47:56]: Successfully registered Exports -[info][UnlSpectre][2025/06/05 00:47:56]: Successfully loaded Items -[info][UnlSpectre][2025/06/05 00:47:56]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/05 00:47:56]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/05 00:47:56]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/05 00:47:56]: Successfully started GameController -[info][UnlSpectre][2025/06/05 00:47:56]: Successfully started PlayerController -[info][UnlSpectre][2025/06/05 00:47:56]: Successfully started VehicleController -[info][UnlSpectre][2025/06/05 00:48:03]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/05 00:57:17]: Successfully registered Exports -[info][UnlSpectre][2025/06/05 00:57:18]: Successfully loaded Items -[info][UnlSpectre][2025/06/05 00:57:18]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/05 00:57:18]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/05 00:57:18]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/05 00:57:18]: Successfully started GameController -[info][UnlSpectre][2025/06/05 00:57:18]: Successfully started PlayerController -[info][UnlSpectre][2025/06/05 00:57:18]: Successfully started VehicleController -[info][UnlSpectre][2025/06/05 00:57:25]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/05 01:03:20]: Successfully registered Exports -[info][UnlSpectre][2025/06/05 01:03:20]: Successfully loaded Items -[info][UnlSpectre][2025/06/05 01:03:20]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/05 01:03:20]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/05 01:03:20]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/05 01:03:20]: Successfully started GameController -[info][UnlSpectre][2025/06/05 01:03:20]: Successfully started PlayerController -[info][UnlSpectre][2025/06/05 01:03:20]: Successfully started VehicleController -[info][UnlSpectre][2025/06/05 01:03:27]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/05 01:07:59]: Successfully registered Exports -[info][UnlSpectre][2025/06/05 01:07:59]: Successfully loaded Items -[info][UnlSpectre][2025/06/05 01:07:59]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/05 01:07:59]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/05 01:07:59]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/05 01:07:59]: Successfully started GameController -[info][UnlSpectre][2025/06/05 01:07:59]: Successfully started PlayerController -[info][UnlSpectre][2025/06/05 01:07:59]: Successfully started VehicleController -[info][UnlSpectre][2025/06/05 01:08:07]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/05 01:37:18]: Successfully registered Exports -[info][UnlSpectre][2025/06/05 01:37:18]: Successfully loaded Items -[info][UnlSpectre][2025/06/05 01:37:18]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/05 01:37:18]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/05 01:37:18]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/05 01:37:18]: Successfully started GameController -[info][UnlSpectre][2025/06/05 01:37:18]: Successfully started PlayerController -[info][UnlSpectre][2025/06/05 01:37:18]: Successfully started VehicleController -[info][UnlSpectre][2025/06/05 01:37:25]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/05 10:28:42]: Successfully registered Exports -[info][UnlSpectre][2025/06/05 10:28:42]: Successfully loaded Items -[info][UnlSpectre][2025/06/05 10:28:42]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/05 10:28:42]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/05 10:28:42]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/05 10:28:42]: Successfully started GameController -[info][UnlSpectre][2025/06/05 10:28:42]: Successfully started PlayerController -[info][UnlSpectre][2025/06/05 10:28:42]: Successfully started VehicleController -[info][UnlSpectre][2025/06/05 10:28:51]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/05 11:27:26]: Successfully registered Exports -[info][UnlSpectre][2025/06/05 11:27:26]: Successfully loaded Items -[info][UnlSpectre][2025/06/05 11:27:26]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/05 11:27:26]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/05 11:27:26]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/05 11:27:26]: Successfully started GameController -[info][UnlSpectre][2025/06/05 11:27:26]: Successfully started PlayerController -[info][UnlSpectre][2025/06/05 11:27:26]: Successfully started VehicleController -[info][UnlSpectre][2025/06/05 11:27:34]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/05 11:32:17]: Successfully registered Exports -[info][UnlSpectre][2025/06/05 11:32:17]: Successfully loaded Items -[info][UnlSpectre][2025/06/05 11:32:17]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/05 11:32:17]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/05 11:32:17]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/05 11:32:17]: Successfully started GameController -[info][UnlSpectre][2025/06/05 11:32:17]: Successfully started PlayerController -[info][UnlSpectre][2025/06/05 11:32:17]: Successfully started VehicleController -[info][UnlSpectre][2025/06/05 11:32:24]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/05 11:34:22]: Successfully registered Exports -[info][UnlSpectre][2025/06/05 11:34:22]: Successfully loaded Items -[info][UnlSpectre][2025/06/05 11:34:22]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/05 11:34:22]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/05 11:34:22]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/05 11:34:22]: Successfully started GameController -[info][UnlSpectre][2025/06/05 11:34:22]: Successfully started PlayerController -[info][UnlSpectre][2025/06/05 11:34:22]: Successfully started VehicleController -[info][UnlSpectre][2025/06/05 11:34:30]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/05 12:28:04]: Successfully registered Exports -[info][UnlSpectre][2025/06/05 12:28:04]: Successfully loaded Items -[info][UnlSpectre][2025/06/05 12:28:04]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/05 12:28:04]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/05 12:28:04]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/05 12:28:04]: Successfully started GameController -[info][UnlSpectre][2025/06/05 12:28:04]: Successfully started PlayerController -[info][UnlSpectre][2025/06/05 12:28:04]: Successfully started VehicleController -[info][UnlSpectre][2025/06/05 12:28:11]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/05 12:28:42]: Successfully registered Exports -[info][UnlSpectre][2025/06/05 12:28:42]: Successfully loaded Items -[info][UnlSpectre][2025/06/05 12:28:42]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/05 12:28:42]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/05 12:28:42]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/05 12:28:42]: Successfully started GameController -[info][UnlSpectre][2025/06/05 12:28:42]: Successfully started PlayerController -[info][UnlSpectre][2025/06/05 12:28:42]: Successfully started VehicleController -[info][UnlSpectre][2025/06/05 12:28:49]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/05 13:33:37]: Successfully registered Exports -[info][UnlSpectre][2025/06/05 13:33:37]: Successfully loaded Items -[info][UnlSpectre][2025/06/05 13:33:37]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/05 13:33:37]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/05 13:33:37]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/05 13:33:37]: Successfully started GameController -[info][UnlSpectre][2025/06/05 13:33:37]: Successfully started PlayerController -[info][UnlSpectre][2025/06/05 13:33:37]: Successfully started VehicleController -[info][UnlSpectre][2025/06/05 13:33:44]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/05 17:22:34]: Successfully registered Exports -[info][UnlSpectre][2025/06/05 17:22:34]: Successfully loaded Items -[info][UnlSpectre][2025/06/05 17:22:34]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/05 17:22:34]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/05 17:22:34]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/05 17:22:34]: Successfully started GameController -[info][UnlSpectre][2025/06/05 17:22:34]: Successfully started PlayerController -[info][UnlSpectre][2025/06/05 17:22:34]: Successfully started VehicleController -[info][UnlSpectre][2025/06/05 17:22:42]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/05 18:06:51]: Successfully registered Exports -[info][UnlSpectre][2025/06/05 18:06:51]: Successfully loaded Items -[info][UnlSpectre][2025/06/05 18:06:51]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/05 18:06:51]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/05 18:06:51]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/05 18:06:51]: Successfully started GameController -[info][UnlSpectre][2025/06/05 18:06:51]: Successfully started PlayerController -[info][UnlSpectre][2025/06/05 18:06:51]: Successfully started VehicleController -[info][UnlSpectre][2025/06/05 18:06:59]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/05 20:25:31]: Successfully registered Exports -[info][UnlSpectre][2025/06/05 20:25:31]: Successfully loaded Items -[info][UnlSpectre][2025/06/05 20:25:31]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/05 20:25:31]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/05 20:25:31]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/05 20:25:31]: Successfully started GameController -[info][UnlSpectre][2025/06/05 20:25:31]: Successfully started PlayerController -[info][UnlSpectre][2025/06/05 20:25:31]: Successfully started VehicleController -[info][UnlSpectre][2025/06/05 20:25:40]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/05 21:30:25]: Successfully registered Exports -[info][UnlSpectre][2025/06/05 21:30:25]: Successfully loaded Items -[info][UnlSpectre][2025/06/05 21:30:25]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/05 21:30:25]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/05 21:30:25]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/05 21:30:25]: Successfully started GameController -[info][UnlSpectre][2025/06/05 21:30:25]: Successfully started PlayerController -[info][UnlSpectre][2025/06/05 21:30:25]: Successfully started VehicleController -[info][UnlSpectre][2025/06/05 21:30:33]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/05 21:42:17]: Successfully registered Exports -[info][UnlSpectre][2025/06/05 21:42:17]: Successfully loaded Items -[info][UnlSpectre][2025/06/05 21:42:17]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/05 21:42:17]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/05 21:42:17]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/05 21:42:17]: Successfully started GameController -[info][UnlSpectre][2025/06/05 21:42:17]: Successfully started PlayerController -[info][UnlSpectre][2025/06/05 21:42:17]: Successfully started VehicleController -[info][UnlSpectre][2025/06/05 21:42:25]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/05 22:33:53]: Successfully registered Exports -[info][UnlSpectre][2025/06/05 22:33:53]: Successfully loaded Items -[info][UnlSpectre][2025/06/05 22:33:54]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/05 22:33:54]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/05 22:33:54]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/05 22:33:54]: Successfully started GameController -[info][UnlSpectre][2025/06/05 22:33:54]: Successfully started PlayerController -[info][UnlSpectre][2025/06/05 22:33:54]: Successfully started VehicleController -[info][UnlSpectre][2025/06/05 22:34:02]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/05 22:48:46]: Successfully registered Exports -[info][UnlSpectre][2025/06/05 22:48:46]: Successfully loaded Items -[info][UnlSpectre][2025/06/05 22:48:46]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/05 22:48:46]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/05 22:48:46]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/05 22:48:46]: Successfully started GameController -[info][UnlSpectre][2025/06/05 22:48:46]: Successfully started PlayerController -[info][UnlSpectre][2025/06/05 22:48:46]: Successfully started VehicleController -[info][UnlSpectre][2025/06/05 22:48:54]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/06 12:06:38]: Successfully registered Exports -[info][UnlSpectre][2025/06/06 12:06:38]: Successfully loaded Items -[info][UnlSpectre][2025/06/06 12:06:38]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/06 12:06:38]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/06 12:06:38]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/06 12:06:38]: Successfully started GameController -[info][UnlSpectre][2025/06/06 12:06:38]: Successfully started PlayerController -[info][UnlSpectre][2025/06/06 12:06:38]: Successfully started VehicleController -[info][UnlSpectre][2025/06/06 12:06:50]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/06 14:10:03]: Successfully registered Exports -[info][UnlSpectre][2025/06/06 14:10:03]: Successfully loaded Items -[info][UnlSpectre][2025/06/06 14:10:03]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/06 14:10:03]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/06 14:10:03]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/06 14:10:03]: Successfully started GameController -[info][UnlSpectre][2025/06/06 14:10:03]: Successfully started PlayerController -[info][UnlSpectre][2025/06/06 14:10:03]: Successfully started VehicleController -[info][UnlSpectre][2025/06/06 14:10:10]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/06 15:05:44]: Successfully registered Exports -[info][UnlSpectre][2025/06/06 15:05:44]: Successfully loaded Items -[info][UnlSpectre][2025/06/06 15:05:44]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/06 15:05:44]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/06 15:05:44]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/06 15:05:44]: Successfully started GameController -[info][UnlSpectre][2025/06/06 15:05:44]: Successfully started PlayerController -[info][UnlSpectre][2025/06/06 15:05:44]: Successfully started VehicleController -[info][UnlSpectre][2025/06/06 15:05:52]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/06 15:10:48]: Successfully registered Exports -[info][UnlSpectre][2025/06/06 15:10:48]: Successfully loaded Items -[info][UnlSpectre][2025/06/06 15:10:48]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/06 15:10:48]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/06 15:10:48]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/06 15:10:48]: Successfully started GameController -[info][UnlSpectre][2025/06/06 15:10:48]: Successfully started PlayerController -[info][UnlSpectre][2025/06/06 15:10:48]: Successfully started VehicleController -[info][UnlSpectre][2025/06/06 15:10:56]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/06 15:15:03]: Successfully registered Exports -[info][UnlSpectre][2025/06/06 15:15:03]: Successfully loaded Items -[info][UnlSpectre][2025/06/06 15:15:03]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/06 15:15:03]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/06 15:15:03]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/06 15:15:03]: Successfully started GameController -[info][UnlSpectre][2025/06/06 15:15:03]: Successfully started PlayerController -[info][UnlSpectre][2025/06/06 15:15:03]: Successfully started VehicleController -[info][UnlSpectre][2025/06/06 15:15:12]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/06 15:48:28]: Successfully registered Exports -[info][UnlSpectre][2025/06/06 15:48:28]: Successfully loaded Items -[info][UnlSpectre][2025/06/06 15:48:28]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/06 15:48:28]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/06 15:48:28]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/06 15:48:28]: Successfully started GameController -[info][UnlSpectre][2025/06/06 15:48:28]: Successfully started PlayerController -[info][UnlSpectre][2025/06/06 15:48:28]: Successfully started VehicleController -[info][UnlSpectre][2025/06/06 15:48:38]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/07 10:28:42]: Successfully registered Exports -[info][UnlSpectre][2025/06/07 10:28:42]: Successfully loaded Items -[info][UnlSpectre][2025/06/07 10:28:42]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/07 10:28:42]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/07 10:28:42]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/07 10:28:42]: Successfully started GameController -[info][UnlSpectre][2025/06/07 10:28:42]: Successfully started PlayerController -[info][UnlSpectre][2025/06/07 10:28:42]: Successfully started VehicleController -[info][UnlSpectre][2025/06/07 10:29:38]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/07 10:31:36]: Successfully registered Exports -[info][UnlSpectre][2025/06/07 10:31:36]: Successfully loaded Items -[info][UnlSpectre][2025/06/07 10:31:36]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/07 10:31:36]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/07 10:31:36]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/07 10:31:36]: Successfully started GameController -[info][UnlSpectre][2025/06/07 10:31:36]: Successfully started PlayerController -[info][UnlSpectre][2025/06/07 10:31:36]: Successfully started VehicleController -[info][UnlSpectre][2025/06/07 10:31:42]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/07 10:48:48]: Successfully registered Exports -[info][UnlSpectre][2025/06/07 10:48:48]: Successfully loaded Items -[info][UnlSpectre][2025/06/07 10:48:48]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/07 10:48:48]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/07 10:48:48]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/07 10:48:48]: Successfully started GameController -[info][UnlSpectre][2025/06/07 10:48:48]: Successfully started PlayerController -[info][UnlSpectre][2025/06/07 10:48:48]: Successfully started VehicleController -[info][UnlSpectre][2025/06/07 10:48:54]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/07 16:05:10]: Successfully registered Exports -[info][UnlSpectre][2025/06/07 16:05:10]: Successfully loaded Items -[info][UnlSpectre][2025/06/07 16:05:10]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/07 16:05:10]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/07 16:05:10]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/07 16:05:10]: Successfully started GameController -[info][UnlSpectre][2025/06/07 16:05:10]: Successfully started PlayerController -[info][UnlSpectre][2025/06/07 16:05:10]: Successfully started VehicleController -[info][UnlSpectre][2025/06/07 16:05:16]: HTTP Server started on port 3000. -[error][UnlSpectre][2025/06/07 17:58:37]: Internal Server Error -[info][UnlSpectre][2025/06/08 00:05:06]: Successfully registered Exports -[info][UnlSpectre][2025/06/08 00:05:06]: Successfully loaded Items -[info][UnlSpectre][2025/06/08 00:05:06]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/08 00:05:06]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/08 00:05:06]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/08 00:05:06]: Successfully started GameController -[info][UnlSpectre][2025/06/08 00:05:06]: Successfully started PlayerController -[info][UnlSpectre][2025/06/08 00:05:06]: Successfully started VehicleController -[info][UnlSpectre][2025/06/08 00:05:13]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/08 11:33:17]: Successfully registered Exports -[info][UnlSpectre][2025/06/08 11:33:17]: Successfully loaded Items -[info][UnlSpectre][2025/06/08 11:33:17]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/08 11:33:17]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/08 11:33:17]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/08 11:33:17]: Successfully started GameController -[info][UnlSpectre][2025/06/08 11:33:17]: Successfully started PlayerController -[info][UnlSpectre][2025/06/08 11:33:17]: Successfully started VehicleController -[info][UnlSpectre][2025/06/08 11:33:24]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/08 14:43:07]: Successfully registered Exports -[info][UnlSpectre][2025/06/08 14:43:07]: Successfully loaded Items -[info][UnlSpectre][2025/06/08 14:43:07]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/08 14:43:07]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/08 14:43:07]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/08 14:43:07]: Successfully started GameController -[info][UnlSpectre][2025/06/08 14:43:07]: Successfully started PlayerController -[info][UnlSpectre][2025/06/08 14:43:07]: Successfully started VehicleController -[info][UnlSpectre][2025/06/08 14:43:14]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/08 14:43:48]: Successfully registered Exports -[info][UnlSpectre][2025/06/08 14:43:48]: Successfully loaded Items -[info][UnlSpectre][2025/06/08 14:43:48]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/08 14:43:48]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/08 14:43:48]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/08 14:43:48]: Successfully started GameController -[info][UnlSpectre][2025/06/08 14:43:48]: Successfully started PlayerController -[info][UnlSpectre][2025/06/08 14:43:48]: Successfully started VehicleController -[info][UnlSpectre][2025/06/08 14:43:53]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/08 16:21:30]: Successfully registered Exports -[info][UnlSpectre][2025/06/08 16:21:30]: Successfully loaded Items -[info][UnlSpectre][2025/06/08 16:21:30]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/08 16:21:30]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/08 16:21:30]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/08 16:21:30]: Successfully started GameController -[info][UnlSpectre][2025/06/08 16:21:30]: Successfully started PlayerController -[info][UnlSpectre][2025/06/08 16:21:30]: Successfully started VehicleController -[info][UnlSpectre][2025/06/08 16:21:35]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/08 18:11:51]: Successfully registered Exports -[info][UnlSpectre][2025/06/08 18:11:52]: Successfully loaded Items -[info][UnlSpectre][2025/06/08 18:11:52]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/08 18:11:52]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/08 18:11:52]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/08 18:11:52]: Successfully started GameController -[info][UnlSpectre][2025/06/08 18:11:52]: Successfully started PlayerController -[info][UnlSpectre][2025/06/08 18:11:52]: Successfully started VehicleController -[info][UnlSpectre][2025/06/08 18:11:58]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/08 20:38:11]: Successfully registered Exports -[info][UnlSpectre][2025/06/08 20:38:11]: Successfully loaded Items -[info][UnlSpectre][2025/06/08 20:38:11]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/08 20:38:11]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/08 20:38:11]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/08 20:38:11]: Successfully started GameController -[info][UnlSpectre][2025/06/08 20:38:11]: Successfully started PlayerController -[info][UnlSpectre][2025/06/08 20:38:11]: Successfully started VehicleController -[info][UnlSpectre][2025/06/08 20:38:18]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/08 20:44:04]: Successfully registered Exports -[info][UnlSpectre][2025/06/08 20:44:04]: Successfully loaded Items -[info][UnlSpectre][2025/06/08 20:44:04]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/08 20:44:04]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/08 20:44:04]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/08 20:44:04]: Successfully started GameController -[info][UnlSpectre][2025/06/08 20:44:04]: Successfully started PlayerController -[info][UnlSpectre][2025/06/08 20:44:04]: Successfully started VehicleController -[info][UnlSpectre][2025/06/08 20:44:18]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/08 21:47:57]: Successfully registered Exports -[info][UnlSpectre][2025/06/08 21:47:57]: Successfully loaded Items -[info][UnlSpectre][2025/06/08 21:47:57]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/08 21:47:57]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/08 21:47:57]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/08 21:47:57]: Successfully started GameController -[info][UnlSpectre][2025/06/08 21:47:57]: Successfully started PlayerController -[info][UnlSpectre][2025/06/08 21:47:57]: Successfully started VehicleController -[info][UnlSpectre][2025/06/08 21:48:05]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/09 02:38:03]: Successfully registered Exports -[info][UnlSpectre][2025/06/09 02:38:03]: Successfully loaded Items -[info][UnlSpectre][2025/06/09 02:38:03]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/09 02:38:03]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/09 02:38:03]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/09 02:38:03]: Successfully started GameController -[info][UnlSpectre][2025/06/09 02:38:03]: Successfully started PlayerController -[info][UnlSpectre][2025/06/09 02:38:03]: Successfully started VehicleController -[info][UnlSpectre][2025/06/09 02:38:11]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/09 13:36:02]: Successfully registered Exports -[info][UnlSpectre][2025/06/09 13:36:02]: Successfully loaded Items -[info][UnlSpectre][2025/06/09 13:36:02]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/09 13:36:02]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/09 13:36:02]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/09 13:36:02]: Successfully started GameController -[info][UnlSpectre][2025/06/09 13:36:02]: Successfully started PlayerController -[info][UnlSpectre][2025/06/09 13:36:02]: Successfully started VehicleController -[info][UnlSpectre][2025/06/09 13:36:09]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/09 21:28:57]: Successfully registered Exports -[info][UnlSpectre][2025/06/09 21:28:57]: Successfully loaded Items -[info][UnlSpectre][2025/06/09 21:28:57]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/09 21:28:57]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/09 21:28:57]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/09 21:28:57]: Successfully started GameController -[info][UnlSpectre][2025/06/09 21:28:57]: Successfully started PlayerController -[info][UnlSpectre][2025/06/09 21:28:57]: Successfully started VehicleController -[info][UnlSpectre][2025/06/09 21:29:24]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/10 00:05:24]: Successfully registered Exports -[info][UnlSpectre][2025/06/10 00:05:24]: Successfully loaded Items -[info][UnlSpectre][2025/06/10 00:05:24]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/10 00:05:24]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/10 00:05:24]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/10 00:05:24]: Successfully started GameController -[info][UnlSpectre][2025/06/10 00:05:24]: Successfully started PlayerController -[info][UnlSpectre][2025/06/10 00:05:24]: Successfully started VehicleController -[info][UnlSpectre][2025/06/10 00:05:33]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/10 01:12:22]: Successfully registered Exports -[info][UnlSpectre][2025/06/10 01:12:22]: Successfully loaded Items -[info][UnlSpectre][2025/06/10 01:12:22]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/10 01:12:22]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/10 01:12:22]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/10 01:12:22]: Successfully started GameController -[info][UnlSpectre][2025/06/10 01:12:22]: Successfully started PlayerController -[info][UnlSpectre][2025/06/10 01:12:22]: Successfully started VehicleController -[info][UnlSpectre][2025/06/10 01:12:31]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/10 01:43:41]: Successfully registered Exports -[info][UnlSpectre][2025/06/10 01:43:41]: Successfully loaded Items -[info][UnlSpectre][2025/06/10 01:43:41]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/10 01:43:41]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/10 01:43:41]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/10 01:43:41]: Successfully started GameController -[info][UnlSpectre][2025/06/10 01:43:41]: Successfully started PlayerController -[info][UnlSpectre][2025/06/10 01:43:41]: Successfully started VehicleController -[info][UnlSpectre][2025/06/10 01:43:47]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/10 02:16:49]: Successfully registered Exports -[info][UnlSpectre][2025/06/10 02:16:49]: Successfully loaded Items -[info][UnlSpectre][2025/06/10 02:16:49]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/10 02:16:49]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/10 02:16:49]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/10 02:16:49]: Successfully started GameController -[info][UnlSpectre][2025/06/10 02:16:49]: Successfully started PlayerController -[info][UnlSpectre][2025/06/10 02:16:49]: Successfully started VehicleController -[info][UnlSpectre][2025/06/10 02:16:57]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/10 11:44:10]: Successfully registered Exports -[info][UnlSpectre][2025/06/10 11:44:10]: Successfully loaded Items -[info][UnlSpectre][2025/06/10 11:44:10]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/10 11:44:10]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/10 11:44:10]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/10 11:44:10]: Successfully started GameController -[info][UnlSpectre][2025/06/10 11:44:10]: Successfully started PlayerController -[info][UnlSpectre][2025/06/10 11:44:10]: Successfully started VehicleController -[info][UnlSpectre][2025/06/10 11:44:19]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/10 17:26:57]: Successfully registered Exports -[info][UnlSpectre][2025/06/10 17:26:57]: Successfully loaded Items -[info][UnlSpectre][2025/06/10 17:26:57]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/10 17:26:57]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/10 17:26:57]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/10 17:26:57]: Successfully started GameController -[info][UnlSpectre][2025/06/10 17:26:57]: Successfully started PlayerController -[info][UnlSpectre][2025/06/10 17:26:57]: Successfully started VehicleController -[info][UnlSpectre][2025/06/10 17:27:06]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/10 18:04:09]: Successfully registered Exports -[info][UnlSpectre][2025/06/10 18:04:09]: Successfully loaded Items -[info][UnlSpectre][2025/06/10 18:04:09]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/10 18:04:09]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/10 18:04:09]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/10 18:04:09]: Successfully started GameController -[info][UnlSpectre][2025/06/10 18:04:09]: Successfully started PlayerController -[info][UnlSpectre][2025/06/10 18:04:09]: Successfully started VehicleController -[info][UnlSpectre][2025/06/10 18:04:19]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/10 18:07:34]: Successfully registered Exports -[info][UnlSpectre][2025/06/10 18:07:34]: Successfully loaded Items -[info][UnlSpectre][2025/06/10 18:07:34]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/10 18:07:34]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/10 18:07:34]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/10 18:07:34]: Successfully started GameController -[info][UnlSpectre][2025/06/10 18:07:34]: Successfully started PlayerController -[info][UnlSpectre][2025/06/10 18:07:34]: Successfully started VehicleController -[info][UnlSpectre][2025/06/10 18:07:40]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/10 19:35:21]: Successfully registered Exports -[info][UnlSpectre][2025/06/10 19:35:21]: Successfully loaded Items -[info][UnlSpectre][2025/06/10 19:35:21]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/10 19:35:21]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/10 19:35:21]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/10 19:35:21]: Successfully started GameController -[info][UnlSpectre][2025/06/10 19:35:21]: Successfully started PlayerController -[info][UnlSpectre][2025/06/10 19:35:21]: Successfully started VehicleController -[info][UnlSpectre][2025/06/10 19:35:28]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/10 19:56:31]: Successfully registered Exports -[info][UnlSpectre][2025/06/10 19:56:31]: Successfully loaded Items -[info][UnlSpectre][2025/06/10 19:56:31]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/10 19:56:31]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/10 19:56:31]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/10 19:56:31]: Successfully started GameController -[info][UnlSpectre][2025/06/10 19:56:31]: Successfully started PlayerController -[info][UnlSpectre][2025/06/10 19:56:31]: Successfully started VehicleController -[info][UnlSpectre][2025/06/10 19:56:39]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/10 20:59:31]: Successfully registered Exports -[info][UnlSpectre][2025/06/10 20:59:31]: Successfully loaded Items -[info][UnlSpectre][2025/06/10 20:59:31]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/10 20:59:31]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/10 20:59:31]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/10 20:59:31]: Successfully started GameController -[info][UnlSpectre][2025/06/10 20:59:31]: Successfully started PlayerController -[info][UnlSpectre][2025/06/10 20:59:31]: Successfully started VehicleController -[info][UnlSpectre][2025/06/10 20:59:39]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/10 21:43:20]: Successfully registered Exports -[info][UnlSpectre][2025/06/10 21:43:20]: Successfully loaded Items -[info][UnlSpectre][2025/06/10 21:43:20]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/10 21:43:20]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/10 21:43:20]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/10 21:43:20]: Successfully started GameController -[info][UnlSpectre][2025/06/10 21:43:20]: Successfully started PlayerController -[info][UnlSpectre][2025/06/10 21:43:20]: Successfully started VehicleController -[info][UnlSpectre][2025/06/10 21:43:29]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/10 21:45:27]: Successfully registered Exports -[info][UnlSpectre][2025/06/10 21:45:27]: Successfully loaded Items -[info][UnlSpectre][2025/06/10 21:45:27]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/10 21:45:27]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/10 21:45:27]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/10 21:45:27]: Successfully started GameController -[info][UnlSpectre][2025/06/10 21:45:27]: Successfully started PlayerController -[info][UnlSpectre][2025/06/10 21:45:27]: Successfully started VehicleController -[info][UnlSpectre][2025/06/10 21:45:33]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/10 22:04:23]: Successfully registered Exports -[info][UnlSpectre][2025/06/10 22:04:23]: Successfully loaded Items -[info][UnlSpectre][2025/06/10 22:04:23]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/10 22:04:23]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/10 22:04:23]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/10 22:04:23]: Successfully started GameController -[info][UnlSpectre][2025/06/10 22:04:23]: Successfully started PlayerController -[info][UnlSpectre][2025/06/10 22:04:23]: Successfully started VehicleController -[info][UnlSpectre][2025/06/10 22:04:34]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/10 23:27:52]: Weapon log got triggered with unknow weapon hash 465894841. Maybe check your hashes.json -[info][UnlSpectre][2025/06/10 23:28:37]: Weapon log got triggered with unknow weapon hash 465894841. Maybe check your hashes.json -[info][UnlSpectre][2025/06/10 23:28:37]: Weapon log got triggered with unknow weapon hash 465894841. Maybe check your hashes.json -[info][UnlSpectre][2025/06/10 23:28:38]: Weapon log got triggered with unknow weapon hash 465894841. Maybe check your hashes.json -[info][UnlSpectre][2025/06/10 23:29:01]: Weapon log got triggered with unknow weapon hash 465894841. Maybe check your hashes.json -[info][UnlSpectre][2025/06/10 23:29:07]: Weapon log got triggered with unknow weapon hash 465894841. Maybe check your hashes.json -[info][UnlSpectre][2025/06/10 23:32:07]: Weapon log got triggered with unknow weapon hash 465894841. Maybe check your hashes.json -[info][UnlSpectre][2025/06/10 23:32:19]: Weapon log got triggered with unknow weapon hash 465894841. Maybe check your hashes.json -[info][UnlSpectre][2025/06/11 01:00:38]: Successfully registered Exports -[info][UnlSpectre][2025/06/11 01:00:38]: Successfully loaded Items -[info][UnlSpectre][2025/06/11 01:00:38]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/11 01:00:38]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/11 01:00:38]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/11 01:00:38]: Successfully started GameController -[info][UnlSpectre][2025/06/11 01:00:38]: Successfully started PlayerController -[info][UnlSpectre][2025/06/11 01:00:38]: Successfully started VehicleController -[info][UnlSpectre][2025/06/11 01:00:48]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/11 01:15:31]: Successfully registered Exports -[info][UnlSpectre][2025/06/11 01:15:31]: Successfully loaded Items -[info][UnlSpectre][2025/06/11 01:15:31]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/11 01:15:31]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/11 01:15:31]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/11 01:15:31]: Successfully started GameController -[info][UnlSpectre][2025/06/11 01:15:31]: Successfully started PlayerController -[info][UnlSpectre][2025/06/11 01:15:31]: Successfully started VehicleController -[info][UnlSpectre][2025/06/11 01:15:37]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/11 01:38:50]: Successfully registered Exports -[info][UnlSpectre][2025/06/11 01:38:50]: Successfully loaded Items -[info][UnlSpectre][2025/06/11 01:38:50]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/11 01:38:50]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/11 01:38:50]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/11 01:38:50]: Successfully started GameController -[info][UnlSpectre][2025/06/11 01:38:50]: Successfully started PlayerController -[info][UnlSpectre][2025/06/11 01:38:50]: Successfully started VehicleController -[info][UnlSpectre][2025/06/11 01:38:56]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/11 11:15:19]: Successfully registered Exports -[info][UnlSpectre][2025/06/11 11:15:19]: Successfully loaded Items -[info][UnlSpectre][2025/06/11 11:15:19]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/11 11:15:19]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/11 11:15:19]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/11 11:15:19]: Successfully started GameController -[info][UnlSpectre][2025/06/11 11:15:19]: Successfully started PlayerController -[info][UnlSpectre][2025/06/11 11:15:19]: Successfully started VehicleController -[info][UnlSpectre][2025/06/11 11:15:28]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/11 12:34:28]: Successfully registered Exports -[info][UnlSpectre][2025/06/11 12:34:28]: Successfully loaded Items -[info][UnlSpectre][2025/06/11 12:34:28]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/11 12:34:28]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/11 12:34:28]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/11 12:34:28]: Successfully started GameController -[info][UnlSpectre][2025/06/11 12:34:28]: Successfully started PlayerController -[info][UnlSpectre][2025/06/11 12:34:28]: Successfully started VehicleController -[info][UnlSpectre][2025/06/11 12:34:35]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/11 14:10:45]: Successfully registered Exports -[info][UnlSpectre][2025/06/11 14:10:45]: Successfully loaded Items -[info][UnlSpectre][2025/06/11 14:10:45]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/11 14:10:45]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/11 14:10:45]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/11 14:10:45]: Successfully started GameController -[info][UnlSpectre][2025/06/11 14:10:45]: Successfully started PlayerController -[info][UnlSpectre][2025/06/11 14:10:45]: Successfully started VehicleController -[info][UnlSpectre][2025/06/11 14:10:56]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/11 14:54:04]: Successfully registered Exports -[info][UnlSpectre][2025/06/11 14:54:04]: Successfully loaded Items -[info][UnlSpectre][2025/06/11 14:54:04]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/11 14:54:04]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/11 14:54:04]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/11 14:54:04]: Successfully started GameController -[info][UnlSpectre][2025/06/11 14:54:04]: Successfully started PlayerController -[info][UnlSpectre][2025/06/11 14:54:04]: Successfully started VehicleController -[info][UnlSpectre][2025/06/11 14:54:11]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/11 16:12:17]: Weapon log got triggered with unknow weapon hash 465894841. Maybe check your hashes.json -[info][UnlSpectre][2025/06/11 17:39:02]: Successfully registered Exports -[info][UnlSpectre][2025/06/11 17:39:02]: Successfully loaded Items -[info][UnlSpectre][2025/06/11 17:39:02]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/11 17:39:02]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/11 17:39:02]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/11 17:39:02]: Successfully started GameController -[info][UnlSpectre][2025/06/11 17:39:02]: Successfully started PlayerController -[info][UnlSpectre][2025/06/11 17:39:02]: Successfully started VehicleController -[info][UnlSpectre][2025/06/11 17:39:10]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/11 21:45:33]: Weapon log got triggered with unknow weapon hash 465894841. Maybe check your hashes.json -[info][UnlSpectre][2025/06/12 04:00:54]: Successfully registered Exports -[info][UnlSpectre][2025/06/12 04:00:54]: Successfully loaded Items -[info][UnlSpectre][2025/06/12 04:00:54]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/12 04:00:54]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/12 04:00:54]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/12 04:00:54]: Successfully started GameController -[info][UnlSpectre][2025/06/12 04:00:54]: Successfully started PlayerController -[info][UnlSpectre][2025/06/12 04:00:54]: Successfully started VehicleController -[info][UnlSpectre][2025/06/12 04:01:06]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/12 13:55:30]: Successfully registered Exports -[info][UnlSpectre][2025/06/12 13:55:30]: Successfully loaded Items -[info][UnlSpectre][2025/06/12 13:55:30]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/12 13:55:30]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/12 13:55:30]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/12 13:55:30]: Successfully started GameController -[info][UnlSpectre][2025/06/12 13:55:30]: Successfully started PlayerController -[info][UnlSpectre][2025/06/12 13:55:30]: Successfully started VehicleController -[info][UnlSpectre][2025/06/12 13:55:39]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/12 15:44:34]: Weapon log got triggered with unknow weapon hash 2967132055. Maybe check your hashes.json -[info][UnlSpectre][2025/06/12 15:44:36]: Weapon log got triggered with unknow weapon hash 2967132055. Maybe check your hashes.json -[info][UnlSpectre][2025/06/12 15:45:03]: Weapon log got triggered with unknow weapon hash 2967132055. Maybe check your hashes.json -[info][UnlSpectre][2025/06/12 15:48:42]: Weapon log got triggered with unknow weapon hash 2967132055. Maybe check your hashes.json -[info][UnlSpectre][2025/06/12 15:48:44]: Weapon log got triggered with unknow weapon hash 2967132055. Maybe check your hashes.json -[info][UnlSpectre][2025/06/12 17:17:16]: Successfully registered Exports -[info][UnlSpectre][2025/06/12 17:17:16]: Successfully loaded Items -[info][UnlSpectre][2025/06/12 17:17:16]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/12 17:17:16]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/12 17:17:16]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/12 17:17:16]: Successfully started GameController -[info][UnlSpectre][2025/06/12 17:17:16]: Successfully started PlayerController -[info][UnlSpectre][2025/06/12 17:17:16]: Successfully started VehicleController -[info][UnlSpectre][2025/06/12 17:17:24]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/12 17:37:36]: Successfully registered Exports -[info][UnlSpectre][2025/06/12 17:37:36]: Successfully loaded Items -[info][UnlSpectre][2025/06/12 17:37:36]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/12 17:37:36]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/12 17:37:36]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/12 17:37:36]: Successfully started GameController -[info][UnlSpectre][2025/06/12 17:37:36]: Successfully started PlayerController -[info][UnlSpectre][2025/06/12 17:37:36]: Successfully started VehicleController -[info][UnlSpectre][2025/06/12 17:37:42]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/12 17:40:41]: Successfully registered Exports -[info][UnlSpectre][2025/06/12 17:40:41]: Successfully loaded Items -[info][UnlSpectre][2025/06/12 17:40:41]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/12 17:40:41]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/12 17:40:41]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/12 17:40:41]: Successfully started GameController -[info][UnlSpectre][2025/06/12 17:40:41]: Successfully started PlayerController -[info][UnlSpectre][2025/06/12 17:40:41]: Successfully started VehicleController -[info][UnlSpectre][2025/06/12 17:40:48]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/12 19:59:34]: Successfully registered Exports -[info][UnlSpectre][2025/06/12 19:59:34]: Successfully loaded Items -[info][UnlSpectre][2025/06/12 19:59:34]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/12 19:59:34]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/12 19:59:34]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/12 19:59:34]: Successfully started GameController -[info][UnlSpectre][2025/06/12 19:59:34]: Successfully started PlayerController -[info][UnlSpectre][2025/06/12 19:59:34]: Successfully started VehicleController -[info][UnlSpectre][2025/06/12 19:59:43]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/12 20:33:38]: Successfully registered Exports -[info][UnlSpectre][2025/06/12 20:33:38]: Successfully loaded Items -[info][UnlSpectre][2025/06/12 20:33:38]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/12 20:33:38]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/12 20:33:38]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/12 20:33:38]: Successfully started GameController -[info][UnlSpectre][2025/06/12 20:33:38]: Successfully started PlayerController -[info][UnlSpectre][2025/06/12 20:33:38]: Successfully started VehicleController -[info][UnlSpectre][2025/06/12 20:33:48]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/12 22:27:50]: Successfully registered Exports -[info][UnlSpectre][2025/06/12 22:27:50]: Successfully loaded Items -[info][UnlSpectre][2025/06/12 22:27:50]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/12 22:27:50]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/12 22:27:50]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/12 22:27:50]: Successfully started GameController -[info][UnlSpectre][2025/06/12 22:27:50]: Successfully started PlayerController -[info][UnlSpectre][2025/06/12 22:27:50]: Successfully started VehicleController -[info][UnlSpectre][2025/06/12 22:27:58]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/13 02:00:43]: Successfully registered Exports -[info][UnlSpectre][2025/06/13 02:00:43]: Successfully loaded Items -[info][UnlSpectre][2025/06/13 02:00:43]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/13 02:00:43]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/13 02:00:43]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/13 02:00:43]: Successfully started GameController -[info][UnlSpectre][2025/06/13 02:00:43]: Successfully started PlayerController -[info][UnlSpectre][2025/06/13 02:00:43]: Successfully started VehicleController -[info][UnlSpectre][2025/06/13 02:00:53]: HTTP Server started on port 3000. -[error][UnlSpectre][2025/06/13 13:44:26]: Error in nested ref call for unlimited-spectre. unlimited-spectre tried to call a function reference in qb-core but the reference wasn't valid. (did qb-core restart recently?) -[info][UnlSpectre][2025/06/13 17:57:47]: Successfully registered Exports -[info][UnlSpectre][2025/06/13 17:57:47]: Successfully loaded Items -[info][UnlSpectre][2025/06/13 17:57:47]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/13 17:57:47]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/13 17:57:47]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/13 17:57:47]: Successfully started GameController -[info][UnlSpectre][2025/06/13 17:57:47]: Successfully started PlayerController -[info][UnlSpectre][2025/06/13 17:57:47]: Successfully started VehicleController -[info][UnlSpectre][2025/06/13 17:57:57]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/13 19:59:53]: Successfully registered Exports -[info][UnlSpectre][2025/06/13 19:59:53]: Successfully loaded Items -[info][UnlSpectre][2025/06/13 19:59:53]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/13 19:59:53]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/13 19:59:53]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/13 19:59:53]: Successfully started GameController -[info][UnlSpectre][2025/06/13 19:59:53]: Successfully started PlayerController -[info][UnlSpectre][2025/06/13 19:59:53]: Successfully started VehicleController -[info][UnlSpectre][2025/06/13 20:00:01]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/14 00:39:07]: Successfully registered Exports -[info][UnlSpectre][2025/06/14 00:39:07]: Successfully loaded Items -[info][UnlSpectre][2025/06/14 00:39:07]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/14 00:39:07]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/14 00:39:07]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/14 00:39:07]: Successfully started GameController -[info][UnlSpectre][2025/06/14 00:39:07]: Successfully started PlayerController -[info][UnlSpectre][2025/06/14 00:39:07]: Successfully started VehicleController -[info][UnlSpectre][2025/06/14 00:39:16]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/14 00:39:44]: Successfully registered Exports -[info][UnlSpectre][2025/06/14 00:39:44]: Successfully loaded Items -[info][UnlSpectre][2025/06/14 00:39:44]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/14 00:39:44]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/14 00:39:45]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/14 00:39:45]: Successfully started GameController -[info][UnlSpectre][2025/06/14 00:39:45]: Successfully started PlayerController -[info][UnlSpectre][2025/06/14 00:39:45]: Successfully started VehicleController -[info][UnlSpectre][2025/06/14 00:39:52]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/14 01:24:07]: Weapon log got triggered with unknow weapon hash 465894841. Maybe check your hashes.json -[info][UnlSpectre][2025/06/14 01:33:16]: Weapon log got triggered with unknow weapon hash 465894841. Maybe check your hashes.json -[info][UnlSpectre][2025/06/14 01:33:17]: Weapon log got triggered with unknow weapon hash 465894841. Maybe check your hashes.json -[info][UnlSpectre][2025/06/14 01:33:20]: Weapon log got triggered with unknow weapon hash 465894841. Maybe check your hashes.json -[info][UnlSpectre][2025/06/14 01:33:45]: Weapon log got triggered with unknow weapon hash 465894841. Maybe check your hashes.json -[info][UnlSpectre][2025/06/14 01:33:46]: Weapon log got triggered with unknow weapon hash 465894841. Maybe check your hashes.json -[info][UnlSpectre][2025/06/14 01:33:49]: Weapon log got triggered with unknow weapon hash 465894841. Maybe check your hashes.json -[info][UnlSpectre][2025/06/14 01:33:50]: Weapon log got triggered with unknow weapon hash 465894841. Maybe check your hashes.json -[info][UnlSpectre][2025/06/14 01:34:33]: Weapon log got triggered with unknow weapon hash 465894841. Maybe check your hashes.json -[info][UnlSpectre][2025/06/14 01:34:34]: Weapon log got triggered with unknow weapon hash 465894841. Maybe check your hashes.json -[info][UnlSpectre][2025/06/14 01:34:34]: Weapon log got triggered with unknow weapon hash 465894841. Maybe check your hashes.json -[info][UnlSpectre][2025/06/14 01:34:34]: Weapon log got triggered with unknow weapon hash 465894841. Maybe check your hashes.json -[info][UnlSpectre][2025/06/14 02:24:14]: Weapon log got triggered with unknow weapon hash 2967132055. Maybe check your hashes.json -[info][UnlSpectre][2025/06/14 02:24:15]: Weapon log got triggered with unknow weapon hash 2967132055. Maybe check your hashes.json -[info][UnlSpectre][2025/06/14 04:01:05]: Successfully registered Exports -[info][UnlSpectre][2025/06/14 04:01:06]: Successfully loaded Items -[info][UnlSpectre][2025/06/14 04:01:06]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/14 04:01:06]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/14 04:01:06]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/14 04:01:06]: Successfully started GameController -[info][UnlSpectre][2025/06/14 04:01:06]: Successfully started PlayerController -[info][UnlSpectre][2025/06/14 04:01:06]: Successfully started VehicleController -[info][UnlSpectre][2025/06/14 04:01:15]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/14 16:00:25]: Successfully registered Exports -[info][UnlSpectre][2025/06/14 16:00:25]: Successfully loaded Items -[info][UnlSpectre][2025/06/14 16:00:25]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/14 16:00:25]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/14 16:00:25]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/14 16:00:25]: Successfully started GameController -[info][UnlSpectre][2025/06/14 16:00:25]: Successfully started PlayerController -[info][UnlSpectre][2025/06/14 16:00:25]: Successfully started VehicleController -[info][UnlSpectre][2025/06/14 16:00:35]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/14 21:20:34]: Successfully registered Exports -[info][UnlSpectre][2025/06/14 21:20:34]: Successfully loaded Items -[info][UnlSpectre][2025/06/14 21:20:34]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/14 21:20:34]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/14 21:20:34]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/14 21:20:34]: Successfully started GameController -[info][UnlSpectre][2025/06/14 21:20:34]: Successfully started PlayerController -[info][UnlSpectre][2025/06/14 21:20:34]: Successfully started VehicleController -[info][UnlSpectre][2025/06/14 21:20:42]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/15 01:10:28]: Weapon log got triggered with unknow weapon hash 2967132055. Maybe check your hashes.json -[info][UnlSpectre][2025/06/15 01:10:50]: Weapon log got triggered with unknow weapon hash 2967132055. Maybe check your hashes.json -[info][UnlSpectre][2025/06/15 01:11:01]: Weapon log got triggered with unknow weapon hash 2967132055. Maybe check your hashes.json -[info][UnlSpectre][2025/06/15 01:11:46]: Weapon log got triggered with unknow weapon hash 2967132055. Maybe check your hashes.json -[info][UnlSpectre][2025/06/15 01:12:00]: Weapon log got triggered with unknow weapon hash 2967132055. Maybe check your hashes.json -[info][UnlSpectre][2025/06/15 03:02:44]: Successfully registered Exports -[info][UnlSpectre][2025/06/15 03:02:44]: Successfully loaded Items -[info][UnlSpectre][2025/06/15 03:02:44]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/15 03:02:44]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/15 03:02:44]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/15 03:02:44]: Successfully started GameController -[info][UnlSpectre][2025/06/15 03:02:44]: Successfully started PlayerController -[info][UnlSpectre][2025/06/15 03:02:44]: Successfully started VehicleController -[info][UnlSpectre][2025/06/15 03:02:55]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/15 04:20:00]: Successfully registered Exports -[info][UnlSpectre][2025/06/15 04:20:00]: Successfully loaded Items -[info][UnlSpectre][2025/06/15 04:20:00]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/15 04:20:00]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/15 04:20:00]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/15 04:20:00]: Successfully started GameController -[info][UnlSpectre][2025/06/15 04:20:00]: Successfully started PlayerController -[info][UnlSpectre][2025/06/15 04:20:00]: Successfully started VehicleController -[info][UnlSpectre][2025/06/15 04:20:09]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/15 04:56:23]: Successfully registered Exports -[info][UnlSpectre][2025/06/15 04:56:23]: Successfully loaded Items -[info][UnlSpectre][2025/06/15 04:56:23]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/15 04:56:23]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/15 04:56:23]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/15 04:56:23]: Successfully started GameController -[info][UnlSpectre][2025/06/15 04:56:23]: Successfully started PlayerController -[info][UnlSpectre][2025/06/15 04:56:23]: Successfully started VehicleController -[info][UnlSpectre][2025/06/15 04:56:30]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/15 04:56:56]: Successfully registered Exports -[info][UnlSpectre][2025/06/15 04:56:56]: Successfully loaded Items -[info][UnlSpectre][2025/06/15 04:56:56]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/15 04:56:56]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/15 04:56:56]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/15 04:56:56]: Successfully started GameController -[info][UnlSpectre][2025/06/15 04:56:56]: Successfully started PlayerController -[info][UnlSpectre][2025/06/15 04:56:56]: Successfully started VehicleController -[info][UnlSpectre][2025/06/15 04:57:02]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/15 16:01:03]: Successfully registered Exports -[info][UnlSpectre][2025/06/15 16:01:03]: Successfully loaded Items -[info][UnlSpectre][2025/06/15 16:01:03]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/15 16:01:03]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/15 16:01:03]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/15 16:01:03]: Successfully started GameController -[info][UnlSpectre][2025/06/15 16:01:03]: Successfully started PlayerController -[info][UnlSpectre][2025/06/15 16:01:03]: Successfully started VehicleController -[info][UnlSpectre][2025/06/15 16:01:14]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/15 22:22:13]: Successfully registered Exports -[info][UnlSpectre][2025/06/15 22:22:13]: Successfully loaded Items -[info][UnlSpectre][2025/06/15 22:22:13]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/15 22:22:13]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/15 22:22:13]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/15 22:22:13]: Successfully started GameController -[info][UnlSpectre][2025/06/15 22:22:13]: Successfully started PlayerController -[info][UnlSpectre][2025/06/15 22:22:13]: Successfully started VehicleController -[info][UnlSpectre][2025/06/15 22:22:22]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/15 22:26:12]: Successfully registered Exports -[info][UnlSpectre][2025/06/15 22:26:12]: Successfully loaded Items -[info][UnlSpectre][2025/06/15 22:26:12]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/15 22:26:12]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/15 22:26:12]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/15 22:26:12]: Successfully started GameController -[info][UnlSpectre][2025/06/15 22:26:12]: Successfully started PlayerController -[info][UnlSpectre][2025/06/15 22:26:12]: Successfully started VehicleController -[info][UnlSpectre][2025/06/15 22:26:19]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/15 22:30:20]: Successfully registered Exports -[info][UnlSpectre][2025/06/15 22:30:20]: Successfully loaded Items -[info][UnlSpectre][2025/06/15 22:30:20]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/15 22:30:20]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/15 22:30:20]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/15 22:30:20]: Successfully started GameController -[info][UnlSpectre][2025/06/15 22:30:20]: Successfully started PlayerController -[info][UnlSpectre][2025/06/15 22:30:20]: Successfully started VehicleController -[info][UnlSpectre][2025/06/15 22:30:27]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/15 22:31:19]: Successfully registered Exports -[info][UnlSpectre][2025/06/15 22:31:19]: Successfully loaded Items -[info][UnlSpectre][2025/06/15 22:31:19]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/15 22:31:19]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/15 22:31:19]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/15 22:31:19]: Successfully started GameController -[info][UnlSpectre][2025/06/15 22:31:19]: Successfully started PlayerController -[info][UnlSpectre][2025/06/15 22:31:19]: Successfully started VehicleController -[info][UnlSpectre][2025/06/15 22:31:25]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/15 22:36:13]: Successfully registered Exports -[info][UnlSpectre][2025/06/15 22:36:13]: Successfully loaded Items -[info][UnlSpectre][2025/06/15 22:36:13]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/15 22:36:13]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/15 22:36:13]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/15 22:36:13]: Successfully started GameController -[info][UnlSpectre][2025/06/15 22:36:13]: Successfully started PlayerController -[info][UnlSpectre][2025/06/15 22:36:13]: Successfully started VehicleController -[info][UnlSpectre][2025/06/15 22:36:19]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/15 22:51:34]: Successfully registered Exports -[info][UnlSpectre][2025/06/15 22:51:34]: Successfully loaded Items -[info][UnlSpectre][2025/06/15 22:51:34]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/15 22:51:34]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/15 22:51:34]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/15 22:51:34]: Successfully started GameController -[info][UnlSpectre][2025/06/15 22:51:34]: Successfully started PlayerController -[info][UnlSpectre][2025/06/15 22:51:34]: Successfully started VehicleController -[info][UnlSpectre][2025/06/15 22:51:40]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/15 23:01:33]: Successfully registered Exports -[info][UnlSpectre][2025/06/15 23:01:33]: Successfully loaded Items -[info][UnlSpectre][2025/06/15 23:01:33]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/15 23:01:33]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/15 23:01:33]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/15 23:01:33]: Successfully started GameController -[info][UnlSpectre][2025/06/15 23:01:33]: Successfully started PlayerController -[info][UnlSpectre][2025/06/15 23:01:33]: Successfully started VehicleController -[info][UnlSpectre][2025/06/15 23:01:42]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/16 04:00:23]: Successfully registered Exports -[info][UnlSpectre][2025/06/16 04:00:23]: Successfully loaded Items -[info][UnlSpectre][2025/06/16 04:00:23]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/16 04:00:23]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/16 04:00:23]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/16 04:00:23]: Successfully started GameController -[info][UnlSpectre][2025/06/16 04:00:23]: Successfully started PlayerController -[info][UnlSpectre][2025/06/16 04:00:23]: Successfully started VehicleController -[info][UnlSpectre][2025/06/16 04:00:32]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/16 16:00:39]: Successfully registered Exports -[info][UnlSpectre][2025/06/16 16:00:39]: Successfully loaded Items -[info][UnlSpectre][2025/06/16 16:00:39]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/16 16:00:39]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/16 16:00:39]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/16 16:00:39]: Successfully started GameController -[info][UnlSpectre][2025/06/16 16:00:39]: Successfully started PlayerController -[info][UnlSpectre][2025/06/16 16:00:39]: Successfully started VehicleController -[info][UnlSpectre][2025/06/16 16:00:49]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/17 04:00:57]: Successfully registered Exports -[info][UnlSpectre][2025/06/17 04:00:57]: Successfully loaded Items -[info][UnlSpectre][2025/06/17 04:00:57]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/17 04:00:57]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/17 04:00:57]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/17 04:00:57]: Successfully started GameController -[info][UnlSpectre][2025/06/17 04:00:57]: Successfully started PlayerController -[info][UnlSpectre][2025/06/17 04:00:57]: Successfully started VehicleController -[info][UnlSpectre][2025/06/17 04:01:07]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/17 14:59:01]: Successfully registered Exports -[info][UnlSpectre][2025/06/17 14:59:01]: Successfully loaded Items -[info][UnlSpectre][2025/06/17 14:59:01]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/17 14:59:01]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/17 14:59:01]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/17 14:59:01]: Successfully started GameController -[info][UnlSpectre][2025/06/17 14:59:01]: Successfully started PlayerController -[info][UnlSpectre][2025/06/17 14:59:01]: Successfully started VehicleController -[info][UnlSpectre][2025/06/17 14:59:10]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/17 22:41:53]: Successfully registered Exports -[info][UnlSpectre][2025/06/17 22:41:53]: Successfully loaded Items -[info][UnlSpectre][2025/06/17 22:41:53]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/17 22:41:53]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/17 22:41:53]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/17 22:41:53]: Successfully started GameController -[info][UnlSpectre][2025/06/17 22:41:53]: Successfully started PlayerController -[info][UnlSpectre][2025/06/17 22:41:53]: Successfully started VehicleController -[info][UnlSpectre][2025/06/17 22:42:02]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/17 22:44:29]: Successfully registered Exports -[info][UnlSpectre][2025/06/17 22:44:29]: Successfully loaded Items -[info][UnlSpectre][2025/06/17 22:44:29]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/17 22:44:29]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/17 22:44:29]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/17 22:44:29]: Successfully started GameController -[info][UnlSpectre][2025/06/17 22:44:29]: Successfully started PlayerController -[info][UnlSpectre][2025/06/17 22:44:29]: Successfully started VehicleController -[info][UnlSpectre][2025/06/17 22:44:36]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/18 01:18:37]: Successfully registered Exports -[info][UnlSpectre][2025/06/18 01:18:37]: Successfully loaded Items -[info][UnlSpectre][2025/06/18 01:18:37]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/18 01:18:37]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/18 01:18:37]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/18 01:18:37]: Successfully started GameController -[info][UnlSpectre][2025/06/18 01:18:37]: Successfully started PlayerController -[info][UnlSpectre][2025/06/18 01:18:37]: Successfully started VehicleController -[info][UnlSpectre][2025/06/18 01:18:46]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/18 01:50:39]: Successfully registered Exports -[info][UnlSpectre][2025/06/18 01:50:39]: Successfully loaded Items -[info][UnlSpectre][2025/06/18 01:50:39]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/18 01:50:39]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/18 01:50:39]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/18 01:50:39]: Successfully started GameController -[info][UnlSpectre][2025/06/18 01:50:39]: Successfully started PlayerController -[info][UnlSpectre][2025/06/18 01:50:39]: Successfully started VehicleController -[info][UnlSpectre][2025/06/18 01:50:45]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/18 04:00:34]: Successfully registered Exports -[info][UnlSpectre][2025/06/18 04:00:34]: Successfully loaded Items -[info][UnlSpectre][2025/06/18 04:00:34]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/18 04:00:34]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/18 04:00:34]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/18 04:00:34]: Successfully started GameController -[info][UnlSpectre][2025/06/18 04:00:34]: Successfully started PlayerController -[info][UnlSpectre][2025/06/18 04:00:34]: Successfully started VehicleController -[info][UnlSpectre][2025/06/18 04:00:44]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/18 05:21:14]: Successfully registered Exports -[info][UnlSpectre][2025/06/18 05:21:14]: Successfully loaded Items -[info][UnlSpectre][2025/06/18 05:21:14]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/18 05:21:14]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/18 05:21:14]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/18 05:21:14]: Successfully started GameController -[info][UnlSpectre][2025/06/18 05:21:14]: Successfully started PlayerController -[info][UnlSpectre][2025/06/18 05:21:14]: Successfully started VehicleController -[info][UnlSpectre][2025/06/18 05:21:23]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/18 06:31:49]: Successfully registered Exports -[info][UnlSpectre][2025/06/18 06:31:49]: Successfully loaded Items -[info][UnlSpectre][2025/06/18 06:31:49]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/18 06:31:49]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/18 06:31:49]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/18 06:31:49]: Successfully started GameController -[info][UnlSpectre][2025/06/18 06:31:49]: Successfully started PlayerController -[info][UnlSpectre][2025/06/18 06:31:49]: Successfully started VehicleController -[info][UnlSpectre][2025/06/18 06:31:58]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/18 06:47:13]: Successfully registered Exports -[info][UnlSpectre][2025/06/18 06:47:13]: Successfully loaded Items -[info][UnlSpectre][2025/06/18 06:47:13]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/18 06:47:13]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/18 06:47:13]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/18 06:47:13]: Successfully started GameController -[info][UnlSpectre][2025/06/18 06:47:13]: Successfully started PlayerController -[info][UnlSpectre][2025/06/18 06:47:13]: Successfully started VehicleController -[info][UnlSpectre][2025/06/18 06:47:20]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/18 16:00:54]: Successfully registered Exports -[info][UnlSpectre][2025/06/18 16:00:55]: Successfully loaded Items -[info][UnlSpectre][2025/06/18 16:00:55]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/18 16:00:55]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/18 16:00:55]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/18 16:00:55]: Successfully started GameController -[info][UnlSpectre][2025/06/18 16:00:55]: Successfully started PlayerController -[info][UnlSpectre][2025/06/18 16:00:55]: Successfully started VehicleController -[info][UnlSpectre][2025/06/18 16:01:04]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/18 20:52:37]: Successfully registered Exports -[info][UnlSpectre][2025/06/18 20:52:37]: Successfully loaded Items -[info][UnlSpectre][2025/06/18 20:52:37]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/18 20:52:37]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/18 20:52:37]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/18 20:52:37]: Successfully started GameController -[info][UnlSpectre][2025/06/18 20:52:37]: Successfully started PlayerController -[info][UnlSpectre][2025/06/18 20:52:37]: Successfully started VehicleController -[info][UnlSpectre][2025/06/18 20:52:46]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/18 21:06:30]: Successfully registered Exports -[info][UnlSpectre][2025/06/18 21:06:30]: Successfully loaded Items -[info][UnlSpectre][2025/06/18 21:06:30]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/18 21:06:30]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/18 21:06:30]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/18 21:06:30]: Successfully started GameController -[info][UnlSpectre][2025/06/18 21:06:30]: Successfully started PlayerController -[info][UnlSpectre][2025/06/18 21:06:30]: Successfully started VehicleController -[info][UnlSpectre][2025/06/18 21:06:40]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/18 21:11:53]: Successfully registered Exports -[info][UnlSpectre][2025/06/18 21:11:53]: Successfully loaded Items -[info][UnlSpectre][2025/06/18 21:11:53]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/18 21:11:53]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/18 21:11:53]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/18 21:11:53]: Successfully started GameController -[info][UnlSpectre][2025/06/18 21:11:53]: Successfully started PlayerController -[info][UnlSpectre][2025/06/18 21:11:53]: Successfully started VehicleController -[info][UnlSpectre][2025/06/18 21:12:00]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/19 04:00:13]: Successfully registered Exports -[info][UnlSpectre][2025/06/19 04:00:13]: Successfully loaded Items -[info][UnlSpectre][2025/06/19 04:00:13]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/19 04:00:13]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/19 04:00:13]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/19 04:00:13]: Successfully started GameController -[info][UnlSpectre][2025/06/19 04:00:13]: Successfully started PlayerController -[info][UnlSpectre][2025/06/19 04:00:13]: Successfully started VehicleController -[info][UnlSpectre][2025/06/19 04:00:23]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/19 16:00:34]: Successfully registered Exports -[info][UnlSpectre][2025/06/19 16:00:34]: Successfully loaded Items -[info][UnlSpectre][2025/06/19 16:00:34]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/19 16:00:34]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/19 16:00:34]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/19 16:00:34]: Successfully started GameController -[info][UnlSpectre][2025/06/19 16:00:34]: Successfully started PlayerController -[info][UnlSpectre][2025/06/19 16:00:34]: Successfully started VehicleController -[info][UnlSpectre][2025/06/19 16:00:43]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/19 22:53:22]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/06/19 22:53:23]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/06/20 02:48:23]: Successfully registered Exports -[info][UnlSpectre][2025/06/20 02:48:23]: Successfully loaded Items -[info][UnlSpectre][2025/06/20 02:48:23]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/20 02:48:23]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/20 02:48:23]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/20 02:48:23]: Successfully started GameController -[info][UnlSpectre][2025/06/20 02:48:23]: Successfully started PlayerController -[info][UnlSpectre][2025/06/20 02:48:23]: Successfully started VehicleController -[info][UnlSpectre][2025/06/20 02:48:31]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/20 02:55:11]: Successfully registered Exports -[info][UnlSpectre][2025/06/20 02:55:11]: Successfully loaded Items -[info][UnlSpectre][2025/06/20 02:55:11]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/20 02:55:11]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/20 02:55:11]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/20 02:55:11]: Successfully started GameController -[info][UnlSpectre][2025/06/20 02:55:11]: Successfully started PlayerController -[info][UnlSpectre][2025/06/20 02:55:11]: Successfully started VehicleController -[info][UnlSpectre][2025/06/20 02:55:18]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/20 16:00:13]: Successfully registered Exports -[info][UnlSpectre][2025/06/20 16:00:13]: Successfully loaded Items -[info][UnlSpectre][2025/06/20 16:00:13]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/20 16:00:13]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/20 16:00:13]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/20 16:00:13]: Successfully started GameController -[info][UnlSpectre][2025/06/20 16:00:13]: Successfully started PlayerController -[info][UnlSpectre][2025/06/20 16:00:13]: Successfully started VehicleController -[info][UnlSpectre][2025/06/20 16:00:22]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/21 04:00:33]: Successfully registered Exports -[info][UnlSpectre][2025/06/21 04:00:33]: Successfully loaded Items -[info][UnlSpectre][2025/06/21 04:00:33]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/21 04:00:33]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/21 04:00:33]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/21 04:00:33]: Successfully started GameController -[info][UnlSpectre][2025/06/21 04:00:33]: Successfully started PlayerController -[info][UnlSpectre][2025/06/21 04:00:33]: Successfully started VehicleController -[info][UnlSpectre][2025/06/21 04:00:42]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/21 16:00:56]: Successfully registered Exports -[info][UnlSpectre][2025/06/21 16:00:56]: Successfully loaded Items -[info][UnlSpectre][2025/06/21 16:00:56]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/21 16:00:56]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/21 16:00:56]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/21 16:00:56]: Successfully started GameController -[info][UnlSpectre][2025/06/21 16:00:56]: Successfully started PlayerController -[info][UnlSpectre][2025/06/21 16:00:56]: Successfully started VehicleController -[info][UnlSpectre][2025/06/21 16:01:06]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/21 22:31:13]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/06/21 22:31:15]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/06/21 22:31:17]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/06/21 22:31:20]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/06/21 22:31:22]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/06/21 22:31:24]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/06/21 22:31:26]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/06/21 22:31:29]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/06/21 22:31:31]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/06/21 22:31:43]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/06/21 22:31:52]: Weapon log got triggered with unknow weapon hash 1161062353. Maybe check your hashes.json -[info][UnlSpectre][2025/06/22 01:20:46]: Weapon log got triggered with unknow weapon hash 3146768957. Maybe check your hashes.json -[info][UnlSpectre][2025/06/22 01:20:48]: Weapon log got triggered with unknow weapon hash 3146768957. Maybe check your hashes.json -[info][UnlSpectre][2025/06/22 01:20:54]: Weapon log got triggered with unknow weapon hash 3146768957. Maybe check your hashes.json -[info][UnlSpectre][2025/06/22 04:00:16]: Successfully registered Exports -[info][UnlSpectre][2025/06/22 04:00:16]: Successfully loaded Items -[info][UnlSpectre][2025/06/22 04:00:16]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/22 04:00:16]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/22 04:00:16]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/22 04:00:16]: Successfully started GameController -[info][UnlSpectre][2025/06/22 04:00:16]: Successfully started PlayerController -[info][UnlSpectre][2025/06/22 04:00:16]: Successfully started VehicleController -[info][UnlSpectre][2025/06/22 04:00:25]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/22 08:02:30]: Successfully registered Exports -[info][UnlSpectre][2025/06/22 08:02:30]: Successfully loaded Items -[info][UnlSpectre][2025/06/22 08:02:30]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/22 08:02:30]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/22 08:02:30]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/22 08:02:30]: Successfully started GameController -[info][UnlSpectre][2025/06/22 08:02:30]: Successfully started PlayerController -[info][UnlSpectre][2025/06/22 08:02:30]: Successfully started VehicleController -[info][UnlSpectre][2025/06/22 08:02:40]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/22 10:31:32]: Successfully registered Exports -[info][UnlSpectre][2025/06/22 10:31:32]: Successfully loaded Items -[info][UnlSpectre][2025/06/22 10:31:32]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/22 10:31:32]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/22 10:31:32]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/22 10:31:32]: Successfully started GameController -[info][UnlSpectre][2025/06/22 10:31:32]: Successfully started PlayerController -[info][UnlSpectre][2025/06/22 10:31:32]: Successfully started VehicleController -[info][UnlSpectre][2025/06/22 10:31:42]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/22 16:00:38]: Successfully registered Exports -[info][UnlSpectre][2025/06/22 16:00:38]: Successfully loaded Items -[info][UnlSpectre][2025/06/22 16:00:38]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/22 16:00:38]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/22 16:00:38]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/22 16:00:38]: Successfully started GameController -[info][UnlSpectre][2025/06/22 16:00:38]: Successfully started PlayerController -[info][UnlSpectre][2025/06/22 16:00:38]: Successfully started VehicleController -[info][UnlSpectre][2025/06/22 16:00:47]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/22 21:10:51]: Successfully registered Exports -[info][UnlSpectre][2025/06/22 21:10:51]: Successfully loaded Items -[info][UnlSpectre][2025/06/22 21:10:51]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/22 21:10:51]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/22 21:10:51]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/22 21:10:51]: Successfully started GameController -[info][UnlSpectre][2025/06/22 21:10:51]: Successfully started PlayerController -[info][UnlSpectre][2025/06/22 21:10:51]: Successfully started VehicleController -[info][UnlSpectre][2025/06/22 21:11:01]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/23 04:00:56]: Successfully registered Exports -[info][UnlSpectre][2025/06/23 04:00:56]: Successfully loaded Items -[info][UnlSpectre][2025/06/23 04:00:56]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/23 04:00:56]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/23 04:00:56]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/23 04:00:56]: Successfully started GameController -[info][UnlSpectre][2025/06/23 04:00:56]: Successfully started PlayerController -[info][UnlSpectre][2025/06/23 04:00:56]: Successfully started VehicleController -[info][UnlSpectre][2025/06/23 04:01:05]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/23 16:00:18]: Successfully registered Exports -[info][UnlSpectre][2025/06/23 18:02:20]: Successfully registered Exports -[info][UnlSpectre][2025/06/23 18:20:27]: Successfully registered Exports -[info][UnlSpectre][2025/06/23 18:22:36]: Successfully registered Exports -[info][UnlSpectre][2025/06/23 18:22:36]: Successfully loaded Items -[info][UnlSpectre][2025/06/23 18:22:36]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/23 18:22:36]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/23 18:22:36]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/23 18:22:36]: Successfully started GameController -[info][UnlSpectre][2025/06/23 18:22:36]: Successfully started PlayerController -[info][UnlSpectre][2025/06/23 18:22:36]: Successfully started VehicleController -[info][UnlSpectre][2025/06/23 18:22:43]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/23 22:09:33]: Weapon log got triggered with unknow weapon hash 3146768957. Maybe check your hashes.json -[info][UnlSpectre][2025/06/23 22:27:56]: Weapon log got triggered with unknow weapon hash 3854032506. Maybe check your hashes.json -[info][UnlSpectre][2025/06/24 04:00:36]: Successfully registered Exports -[info][UnlSpectre][2025/06/24 04:00:36]: Successfully loaded Items -[info][UnlSpectre][2025/06/24 04:00:36]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/24 04:00:36]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/24 04:00:36]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/24 04:00:36]: Successfully started GameController -[info][UnlSpectre][2025/06/24 04:00:36]: Successfully started PlayerController -[info][UnlSpectre][2025/06/24 04:00:36]: Successfully started VehicleController -[info][UnlSpectre][2025/06/24 04:00:46]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/24 09:59:51]: Successfully registered Exports -[info][UnlSpectre][2025/06/24 09:59:51]: Successfully loaded Items -[info][UnlSpectre][2025/06/24 09:59:51]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/24 09:59:51]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/24 09:59:51]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/24 09:59:51]: Successfully started GameController -[info][UnlSpectre][2025/06/24 09:59:51]: Successfully started PlayerController -[info][UnlSpectre][2025/06/24 09:59:51]: Successfully started VehicleController -[info][UnlSpectre][2025/06/24 10:00:00]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/24 16:00:53]: Successfully registered Exports -[info][UnlSpectre][2025/06/24 16:00:53]: Successfully loaded Items -[info][UnlSpectre][2025/06/24 16:00:53]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/24 16:00:53]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/24 16:00:53]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/24 16:00:53]: Successfully started GameController -[info][UnlSpectre][2025/06/24 16:00:53]: Successfully started PlayerController -[info][UnlSpectre][2025/06/24 16:00:53]: Successfully started VehicleController -[info][UnlSpectre][2025/06/24 16:01:04]: HTTP Server started on port 3000. -[error][UnlSpectre][2025/06/24 17:08:42]: Error in nested ref call for unlimited-spectre. unlimited-spectre tried to call a function reference in qb-core but the reference wasn't valid. (did qb-core restart recently?) -[error][UnlSpectre][2025/06/24 17:08:43]: Error in nested ref call for unlimited-spectre. unlimited-spectre tried to call a function reference in qb-core but the reference wasn't valid. (did qb-core restart recently?) -[error][UnlSpectre][2025/06/25 00:38:36]: Cannot read properties of null (reading 'citizenid') -[info][UnlSpectre][2025/06/25 02:10:40]: Successfully registered Exports -[info][UnlSpectre][2025/06/25 02:10:40]: Successfully loaded Items -[info][UnlSpectre][2025/06/25 02:10:40]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/25 02:10:40]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/25 02:10:40]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/25 02:10:40]: Successfully started GameController -[info][UnlSpectre][2025/06/25 02:10:40]: Successfully started PlayerController -[info][UnlSpectre][2025/06/25 02:10:40]: Successfully started VehicleController -[info][UnlSpectre][2025/06/25 02:10:50]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/25 02:27:19]: Successfully registered Exports -[info][UnlSpectre][2025/06/25 02:27:19]: Successfully loaded Items -[info][UnlSpectre][2025/06/25 02:27:19]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/25 02:27:19]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/25 02:27:19]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/25 02:27:19]: Successfully started GameController -[info][UnlSpectre][2025/06/25 02:27:19]: Successfully started PlayerController -[info][UnlSpectre][2025/06/25 02:27:19]: Successfully started VehicleController -[info][UnlSpectre][2025/06/25 02:27:26]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/25 02:36:25]: Successfully registered Exports -[info][UnlSpectre][2025/06/25 02:36:25]: Successfully loaded Items -[info][UnlSpectre][2025/06/25 02:36:25]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/25 02:36:25]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/25 02:36:25]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/25 02:36:25]: Successfully started GameController -[info][UnlSpectre][2025/06/25 02:36:25]: Successfully started PlayerController -[info][UnlSpectre][2025/06/25 02:36:25]: Successfully started VehicleController -[info][UnlSpectre][2025/06/25 02:36:32]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/25 07:55:20]: Successfully registered Exports -[info][UnlSpectre][2025/06/25 07:55:20]: Successfully loaded Items -[info][UnlSpectre][2025/06/25 07:55:20]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/25 07:55:20]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/25 07:55:20]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/25 07:55:20]: Successfully started GameController -[info][UnlSpectre][2025/06/25 07:55:20]: Successfully started PlayerController -[info][UnlSpectre][2025/06/25 07:55:20]: Successfully started VehicleController -[info][UnlSpectre][2025/06/25 07:55:30]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/25 11:00:38]: Successfully registered Exports -[info][UnlSpectre][2025/06/25 11:00:38]: Successfully loaded Items -[info][UnlSpectre][2025/06/25 11:00:38]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/25 11:00:38]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/25 11:00:38]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/25 11:00:38]: Successfully started GameController -[info][UnlSpectre][2025/06/25 11:00:38]: Successfully started PlayerController -[info][UnlSpectre][2025/06/25 11:00:38]: Successfully started VehicleController -[info][UnlSpectre][2025/06/25 11:00:48]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/25 11:06:34]: Successfully registered Exports -[info][UnlSpectre][2025/06/25 11:06:34]: Successfully loaded Items -[info][UnlSpectre][2025/06/25 11:06:34]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/25 11:06:34]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/25 11:06:34]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/25 11:06:34]: Successfully started GameController -[info][UnlSpectre][2025/06/25 11:06:34]: Successfully started PlayerController -[info][UnlSpectre][2025/06/25 11:06:34]: Successfully started VehicleController -[info][UnlSpectre][2025/06/25 11:06:41]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/25 16:00:29]: Successfully registered Exports -[info][UnlSpectre][2025/06/25 16:00:29]: Successfully loaded Items -[info][UnlSpectre][2025/06/25 16:00:29]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/25 16:00:29]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/25 16:00:29]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/25 16:00:29]: Successfully started GameController -[info][UnlSpectre][2025/06/25 16:00:29]: Successfully started PlayerController -[info][UnlSpectre][2025/06/25 16:00:29]: Successfully started VehicleController -[info][UnlSpectre][2025/06/25 16:00:40]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/25 22:17:55]: Weapon log got triggered with unknow weapon hash 1703483498. Maybe check your hashes.json -[info][UnlSpectre][2025/06/25 22:17:58]: Weapon log got triggered with unknow weapon hash 1703483498. Maybe check your hashes.json -[info][UnlSpectre][2025/06/25 22:18:00]: Weapon log got triggered with unknow weapon hash 1703483498. Maybe check your hashes.json -[info][UnlSpectre][2025/06/25 22:18:02]: Weapon log got triggered with unknow weapon hash 1703483498. Maybe check your hashes.json -[info][UnlSpectre][2025/06/25 22:18:03]: Weapon log got triggered with unknow weapon hash 1703483498. Maybe check your hashes.json -[info][UnlSpectre][2025/06/25 22:18:05]: Weapon log got triggered with unknow weapon hash 1703483498. Maybe check your hashes.json -[info][UnlSpectre][2025/06/25 22:18:06]: Weapon log got triggered with unknow weapon hash 1703483498. Maybe check your hashes.json -[info][UnlSpectre][2025/06/25 22:18:08]: Weapon log got triggered with unknow weapon hash 1703483498. Maybe check your hashes.json -[info][UnlSpectre][2025/06/25 22:18:09]: Weapon log got triggered with unknow weapon hash 1703483498. Maybe check your hashes.json -[info][UnlSpectre][2025/06/25 22:18:11]: Weapon log got triggered with unknow weapon hash 1703483498. Maybe check your hashes.json -[info][UnlSpectre][2025/06/25 22:18:15]: Weapon log got triggered with unknow weapon hash 1703483498. Maybe check your hashes.json -[info][UnlSpectre][2025/06/25 22:18:21]: Weapon log got triggered with unknow weapon hash 1703483498. Maybe check your hashes.json -[info][UnlSpectre][2025/06/25 23:38:32]: Successfully registered Exports -[info][UnlSpectre][2025/06/25 23:38:32]: Successfully loaded Items -[info][UnlSpectre][2025/06/25 23:38:32]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/25 23:38:32]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/25 23:38:32]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/25 23:38:32]: Successfully started GameController -[info][UnlSpectre][2025/06/25 23:38:32]: Successfully started PlayerController -[info][UnlSpectre][2025/06/25 23:38:32]: Successfully started VehicleController -[info][UnlSpectre][2025/06/25 23:38:47]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/26 01:29:23]: Successfully registered Exports -[info][UnlSpectre][2025/06/26 01:29:23]: Successfully loaded Items -[info][UnlSpectre][2025/06/26 01:29:23]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/26 01:29:23]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/26 01:29:23]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/26 01:29:23]: Successfully started GameController -[info][UnlSpectre][2025/06/26 01:29:23]: Successfully started PlayerController -[info][UnlSpectre][2025/06/26 01:29:23]: Successfully started VehicleController -[info][UnlSpectre][2025/06/26 01:29:33]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/26 01:56:38]: Successfully registered Exports -[info][UnlSpectre][2025/06/26 01:56:38]: Successfully loaded Items -[info][UnlSpectre][2025/06/26 01:56:38]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/26 01:56:38]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/26 01:56:38]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/26 01:56:38]: Successfully started GameController -[info][UnlSpectre][2025/06/26 01:56:38]: Successfully started PlayerController -[info][UnlSpectre][2025/06/26 01:56:38]: Successfully started VehicleController -[info][UnlSpectre][2025/06/26 01:56:45]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/26 02:11:52]: Successfully registered Exports -[info][UnlSpectre][2025/06/26 02:11:52]: Successfully loaded Items -[info][UnlSpectre][2025/06/26 02:11:52]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/26 02:11:52]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/26 02:11:52]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/26 02:11:52]: Successfully started GameController -[info][UnlSpectre][2025/06/26 02:11:52]: Successfully started PlayerController -[info][UnlSpectre][2025/06/26 02:11:52]: Successfully started VehicleController -[info][UnlSpectre][2025/06/26 02:12:01]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/26 02:52:18]: Successfully registered Exports -[info][UnlSpectre][2025/06/26 02:52:18]: Successfully loaded Items -[info][UnlSpectre][2025/06/26 02:52:18]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/26 02:52:18]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/26 02:52:18]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/26 02:52:18]: Successfully started GameController -[info][UnlSpectre][2025/06/26 02:52:18]: Successfully started PlayerController -[info][UnlSpectre][2025/06/26 02:52:18]: Successfully started VehicleController -[info][UnlSpectre][2025/06/26 02:52:25]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/26 02:54:51]: Successfully registered Exports -[info][UnlSpectre][2025/06/26 02:54:51]: Successfully loaded Items -[info][UnlSpectre][2025/06/26 02:54:51]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/26 02:54:51]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/26 02:54:51]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/26 02:54:51]: Successfully started GameController -[info][UnlSpectre][2025/06/26 02:54:51]: Successfully started PlayerController -[info][UnlSpectre][2025/06/26 02:54:51]: Successfully started VehicleController -[info][UnlSpectre][2025/06/26 02:54:58]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/26 03:03:35]: Successfully registered Exports -[info][UnlSpectre][2025/06/26 03:03:35]: Successfully loaded Items -[info][UnlSpectre][2025/06/26 03:03:35]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/26 03:03:35]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/26 03:03:35]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/26 03:03:35]: Successfully started GameController -[info][UnlSpectre][2025/06/26 03:03:35]: Successfully started PlayerController -[info][UnlSpectre][2025/06/26 03:03:35]: Successfully started VehicleController -[info][UnlSpectre][2025/06/26 03:03:45]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/26 03:24:54]: Successfully registered Exports -[info][UnlSpectre][2025/06/26 03:24:54]: Successfully loaded Items -[info][UnlSpectre][2025/06/26 03:24:54]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/26 03:24:54]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/26 03:24:54]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/26 03:24:54]: Successfully started GameController -[info][UnlSpectre][2025/06/26 03:24:54]: Successfully started PlayerController -[info][UnlSpectre][2025/06/26 03:24:54]: Successfully started VehicleController -[info][UnlSpectre][2025/06/26 03:25:01]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/26 03:42:25]: Successfully registered Exports -[info][UnlSpectre][2025/06/26 03:42:25]: Successfully loaded Items -[info][UnlSpectre][2025/06/26 03:42:25]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/26 03:42:25]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/26 03:42:25]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/26 03:42:25]: Successfully started GameController -[info][UnlSpectre][2025/06/26 03:42:25]: Successfully started PlayerController -[info][UnlSpectre][2025/06/26 03:42:25]: Successfully started VehicleController -[info][UnlSpectre][2025/06/26 03:42:32]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/26 04:00:16]: Successfully registered Exports -[info][UnlSpectre][2025/06/26 04:00:16]: Successfully loaded Items -[info][UnlSpectre][2025/06/26 04:00:16]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/26 04:00:16]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/26 04:00:16]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/26 04:00:16]: Successfully started GameController -[info][UnlSpectre][2025/06/26 04:00:16]: Successfully started PlayerController -[info][UnlSpectre][2025/06/26 04:00:16]: Successfully started VehicleController -[info][UnlSpectre][2025/06/26 04:00:23]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/26 04:02:41]: Successfully registered Exports -[info][UnlSpectre][2025/06/26 04:02:41]: Successfully loaded Items -[info][UnlSpectre][2025/06/26 04:02:41]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/26 04:02:41]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/26 04:02:41]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/26 04:02:41]: Successfully started GameController -[info][UnlSpectre][2025/06/26 04:02:41]: Successfully started PlayerController -[info][UnlSpectre][2025/06/26 04:02:41]: Successfully started VehicleController -[info][UnlSpectre][2025/06/26 04:02:50]: HTTP Server started on port 3000. -[error][UnlSpectre][2025/06/26 04:04:41]: Error in nested ref call for unlimited-spectre. unlimited-spectre tried to call a function reference in qb-core but the reference wasn't valid. (did qb-core restart recently?) -[error][UnlSpectre][2025/06/26 04:04:42]: Error in nested ref call for unlimited-spectre. unlimited-spectre tried to call a function reference in qb-core but the reference wasn't valid. (did qb-core restart recently?) -[error][UnlSpectre][2025/06/26 04:04:43]: Error in nested ref call for unlimited-spectre. unlimited-spectre tried to call a function reference in qb-core but the reference wasn't valid. (did qb-core restart recently?) -[info][UnlSpectre][2025/06/26 04:35:44]: Successfully registered Exports -[info][UnlSpectre][2025/06/26 04:35:45]: Successfully loaded Items -[info][UnlSpectre][2025/06/26 04:35:45]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/26 04:35:45]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/26 04:35:45]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/26 04:35:45]: Successfully started GameController -[info][UnlSpectre][2025/06/26 04:35:45]: Successfully started PlayerController -[info][UnlSpectre][2025/06/26 04:35:45]: Successfully started VehicleController -[info][UnlSpectre][2025/06/26 04:35:51]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/26 06:02:46]: Successfully registered Exports -[info][UnlSpectre][2025/06/26 06:02:46]: Successfully loaded Items -[info][UnlSpectre][2025/06/26 06:02:46]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/26 06:02:46]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/26 06:02:46]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/26 06:02:46]: Successfully started GameController -[info][UnlSpectre][2025/06/26 06:02:46]: Successfully started PlayerController -[info][UnlSpectre][2025/06/26 06:02:46]: Successfully started VehicleController -[info][UnlSpectre][2025/06/26 06:02:57]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/26 16:07:59]: Successfully registered Exports -[info][UnlSpectre][2025/06/26 16:36:20]: Successfully registered Exports -[info][UnlSpectre][2025/06/26 16:41:59]: Successfully registered Exports -[info][UnlSpectre][2025/06/26 16:41:59]: Successfully loaded Items -[info][UnlSpectre][2025/06/26 16:41:59]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/26 16:41:59]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/26 16:41:59]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/26 16:41:59]: Successfully started GameController -[info][UnlSpectre][2025/06/26 16:41:59]: Successfully started PlayerController -[info][UnlSpectre][2025/06/26 16:41:59]: Successfully started VehicleController -[info][UnlSpectre][2025/06/26 16:42:07]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/26 18:51:20]: Successfully registered Exports -[info][UnlSpectre][2025/06/26 18:51:20]: Successfully loaded Items -[info][UnlSpectre][2025/06/26 18:51:20]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/26 18:51:20]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/26 18:51:20]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/26 18:51:20]: Successfully started GameController -[info][UnlSpectre][2025/06/26 18:51:20]: Successfully started PlayerController -[info][UnlSpectre][2025/06/26 18:51:20]: Successfully started VehicleController -[info][UnlSpectre][2025/06/26 18:51:44]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/27 04:00:27]: Successfully registered Exports -[info][UnlSpectre][2025/06/27 04:00:27]: Successfully loaded Items -[info][UnlSpectre][2025/06/27 04:00:27]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/27 04:00:27]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/27 04:00:27]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/27 04:00:27]: Successfully started GameController -[info][UnlSpectre][2025/06/27 04:00:27]: Successfully started PlayerController -[info][UnlSpectre][2025/06/27 04:00:27]: Successfully started VehicleController -[info][UnlSpectre][2025/06/27 04:00:37]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/27 10:16:01]: Successfully registered Exports -[info][UnlSpectre][2025/06/27 10:16:01]: Successfully loaded Items -[info][UnlSpectre][2025/06/27 10:16:01]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/27 10:16:01]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/27 10:16:01]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/27 10:16:01]: Successfully started GameController -[info][UnlSpectre][2025/06/27 10:16:01]: Successfully started PlayerController -[info][UnlSpectre][2025/06/27 10:16:01]: Successfully started VehicleController -[info][UnlSpectre][2025/06/27 10:16:10]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/27 11:17:22]: Successfully registered Exports -[info][UnlSpectre][2025/06/27 11:17:22]: Successfully loaded Items -[info][UnlSpectre][2025/06/27 11:17:22]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/27 11:17:22]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/27 11:17:22]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/27 11:17:22]: Successfully started GameController -[info][UnlSpectre][2025/06/27 11:17:22]: Successfully started PlayerController -[info][UnlSpectre][2025/06/27 11:17:22]: Successfully started VehicleController -[info][UnlSpectre][2025/06/27 11:17:31]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/27 16:00:46]: Successfully registered Exports -[info][UnlSpectre][2025/06/27 16:00:46]: Successfully loaded Items -[info][UnlSpectre][2025/06/27 16:00:46]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/27 16:00:46]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/27 16:00:46]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/27 16:00:46]: Successfully started GameController -[info][UnlSpectre][2025/06/27 16:00:46]: Successfully started PlayerController -[info][UnlSpectre][2025/06/27 16:00:46]: Successfully started VehicleController -[info][UnlSpectre][2025/06/27 16:00:58]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/28 04:01:05]: Successfully registered Exports -[info][UnlSpectre][2025/06/28 04:01:05]: Successfully loaded Items -[info][UnlSpectre][2025/06/28 04:01:05]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/28 04:01:05]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/28 04:01:05]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/28 04:01:05]: Successfully started GameController -[info][UnlSpectre][2025/06/28 04:01:05]: Successfully started PlayerController -[info][UnlSpectre][2025/06/28 04:01:05]: Successfully started VehicleController -[info][UnlSpectre][2025/06/28 04:01:16]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/28 13:58:18]: Weapon log got triggered with unknow weapon hash 966099553. Maybe check your hashes.json -[info][UnlSpectre][2025/06/28 16:00:25]: Successfully registered Exports -[info][UnlSpectre][2025/06/28 16:00:25]: Successfully loaded Items -[info][UnlSpectre][2025/06/28 16:00:25]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/28 16:00:25]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/28 16:00:25]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/28 16:00:25]: Successfully started GameController -[info][UnlSpectre][2025/06/28 16:00:25]: Successfully started PlayerController -[info][UnlSpectre][2025/06/28 16:00:25]: Successfully started VehicleController -[info][UnlSpectre][2025/06/28 16:00:35]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/28 16:27:25]: Successfully registered Exports -[info][UnlSpectre][2025/06/28 16:27:25]: Successfully loaded Items -[info][UnlSpectre][2025/06/28 16:27:25]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/28 16:27:25]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/28 16:27:25]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/28 16:27:25]: Successfully started GameController -[info][UnlSpectre][2025/06/28 16:27:25]: Successfully started PlayerController -[info][UnlSpectre][2025/06/28 16:27:25]: Successfully started VehicleController -[info][UnlSpectre][2025/06/28 16:27:33]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/29 00:35:36]: Successfully registered Exports -[info][UnlSpectre][2025/06/29 00:35:36]: Successfully loaded Items -[info][UnlSpectre][2025/06/29 00:35:36]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/29 00:35:36]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/29 00:35:36]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/29 00:35:36]: Successfully started GameController -[info][UnlSpectre][2025/06/29 00:35:36]: Successfully started PlayerController -[info][UnlSpectre][2025/06/29 00:35:36]: Successfully started VehicleController -[info][UnlSpectre][2025/06/29 00:35:46]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/29 04:00:45]: Successfully registered Exports -[info][UnlSpectre][2025/06/29 04:00:45]: Successfully loaded Items -[info][UnlSpectre][2025/06/29 04:00:45]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/29 04:00:45]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/29 04:00:45]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/29 04:00:45]: Successfully started GameController -[info][UnlSpectre][2025/06/29 04:00:45]: Successfully started PlayerController -[info][UnlSpectre][2025/06/29 04:00:45]: Successfully started VehicleController -[info][UnlSpectre][2025/06/29 04:00:56]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/29 04:45:24]: Successfully registered Exports -[info][UnlSpectre][2025/06/29 04:45:24]: Successfully loaded Items -[info][UnlSpectre][2025/06/29 04:45:24]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/29 04:45:24]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/29 04:45:24]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/29 04:45:24]: Successfully started GameController -[info][UnlSpectre][2025/06/29 04:45:24]: Successfully started PlayerController -[info][UnlSpectre][2025/06/29 04:45:24]: Successfully started VehicleController -[info][UnlSpectre][2025/06/29 04:45:31]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/29 16:01:04]: Successfully registered Exports -[info][UnlSpectre][2025/06/29 16:01:04]: Successfully loaded Items -[info][UnlSpectre][2025/06/29 16:01:04]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/29 16:01:04]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/29 16:01:04]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/29 16:01:04]: Successfully started GameController -[info][UnlSpectre][2025/06/29 16:01:04]: Successfully started PlayerController -[info][UnlSpectre][2025/06/29 16:01:04]: Successfully started VehicleController -[info][UnlSpectre][2025/06/29 16:01:14]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/29 20:39:04]: Successfully registered Exports -[info][UnlSpectre][2025/06/29 20:39:04]: Successfully loaded Items -[info][UnlSpectre][2025/06/29 20:39:04]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/29 20:39:04]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/29 20:39:04]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/29 20:39:04]: Successfully started GameController -[info][UnlSpectre][2025/06/29 20:39:04]: Successfully started PlayerController -[info][UnlSpectre][2025/06/29 20:39:04]: Successfully started VehicleController -[info][UnlSpectre][2025/06/29 20:39:14]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/29 20:44:30]: Successfully registered Exports -[info][UnlSpectre][2025/06/29 20:44:30]: Successfully loaded Items -[info][UnlSpectre][2025/06/29 20:44:30]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/29 20:44:30]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/29 20:44:30]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/29 20:44:30]: Successfully started GameController -[info][UnlSpectre][2025/06/29 20:44:30]: Successfully started PlayerController -[info][UnlSpectre][2025/06/29 20:44:30]: Successfully started VehicleController -[info][UnlSpectre][2025/06/29 20:44:37]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/29 20:49:40]: Successfully registered Exports -[info][UnlSpectre][2025/06/29 20:49:40]: Successfully loaded Items -[info][UnlSpectre][2025/06/29 20:49:40]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/29 20:49:40]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/29 20:49:40]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/29 20:49:40]: Successfully started GameController -[info][UnlSpectre][2025/06/29 20:49:40]: Successfully started PlayerController -[info][UnlSpectre][2025/06/29 20:49:40]: Successfully started VehicleController -[info][UnlSpectre][2025/06/29 20:49:48]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/29 22:12:29]: Successfully registered Exports -[info][UnlSpectre][2025/06/29 22:12:29]: Successfully loaded Items -[info][UnlSpectre][2025/06/29 22:12:29]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/29 22:12:29]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/29 22:12:29]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/29 22:12:29]: Successfully started GameController -[info][UnlSpectre][2025/06/29 22:12:29]: Successfully started PlayerController -[info][UnlSpectre][2025/06/29 22:12:29]: Successfully started VehicleController -[info][UnlSpectre][2025/06/29 22:12:40]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/29 23:59:24]: Successfully registered Exports -[info][UnlSpectre][2025/06/29 23:59:24]: Successfully loaded Items -[info][UnlSpectre][2025/06/29 23:59:24]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/29 23:59:24]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/29 23:59:24]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/29 23:59:24]: Successfully started GameController -[info][UnlSpectre][2025/06/29 23:59:24]: Successfully started PlayerController -[info][UnlSpectre][2025/06/29 23:59:24]: Successfully started VehicleController -[info][UnlSpectre][2025/06/29 23:59:40]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/30 01:47:29]: Successfully registered Exports -[info][UnlSpectre][2025/06/30 01:47:29]: Successfully loaded Items -[info][UnlSpectre][2025/06/30 01:47:29]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/30 01:47:29]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/30 01:47:29]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/30 01:47:29]: Successfully started GameController -[info][UnlSpectre][2025/06/30 01:47:29]: Successfully started PlayerController -[info][UnlSpectre][2025/06/30 01:47:29]: Successfully started VehicleController -[info][UnlSpectre][2025/06/30 01:47:38]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/30 02:10:33]: Successfully registered Exports -[info][UnlSpectre][2025/06/30 02:10:33]: Successfully loaded Items -[info][UnlSpectre][2025/06/30 02:10:33]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/30 02:10:33]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/30 02:10:33]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/30 02:10:33]: Successfully started GameController -[info][UnlSpectre][2025/06/30 02:10:33]: Successfully started PlayerController -[info][UnlSpectre][2025/06/30 02:10:33]: Successfully started VehicleController -[info][UnlSpectre][2025/06/30 02:10:44]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/30 02:13:05]: Successfully registered Exports -[info][UnlSpectre][2025/06/30 02:13:05]: Successfully loaded Items -[info][UnlSpectre][2025/06/30 02:13:05]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/30 02:13:05]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/30 02:13:05]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/30 02:13:05]: Successfully started GameController -[info][UnlSpectre][2025/06/30 02:13:05]: Successfully started PlayerController -[info][UnlSpectre][2025/06/30 02:13:05]: Successfully started VehicleController -[info][UnlSpectre][2025/06/30 02:13:13]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/30 11:24:46]: Successfully registered Exports -[info][UnlSpectre][2025/06/30 11:24:46]: Successfully loaded Items -[info][UnlSpectre][2025/06/30 11:24:46]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/30 11:24:46]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/30 11:24:46]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/30 11:24:46]: Successfully started GameController -[info][UnlSpectre][2025/06/30 11:24:46]: Successfully started PlayerController -[info][UnlSpectre][2025/06/30 11:24:46]: Successfully started VehicleController -[info][UnlSpectre][2025/06/30 11:24:56]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/30 11:26:10]: Successfully registered Exports -[info][UnlSpectre][2025/06/30 11:26:10]: Successfully loaded Items -[info][UnlSpectre][2025/06/30 11:26:10]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/30 11:26:10]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/30 11:26:10]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/30 11:26:10]: Successfully started GameController -[info][UnlSpectre][2025/06/30 11:26:10]: Successfully started PlayerController -[info][UnlSpectre][2025/06/30 11:26:10]: Successfully started VehicleController -[info][UnlSpectre][2025/06/30 11:26:18]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/30 12:28:47]: Successfully registered Exports -[info][UnlSpectre][2025/06/30 12:28:47]: Successfully loaded Items -[info][UnlSpectre][2025/06/30 12:28:47]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/30 12:28:47]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/30 12:28:47]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/30 12:28:47]: Successfully started GameController -[info][UnlSpectre][2025/06/30 12:28:47]: Successfully started PlayerController -[info][UnlSpectre][2025/06/30 12:28:47]: Successfully started VehicleController -[info][UnlSpectre][2025/06/30 12:28:57]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/30 12:37:05]: Successfully registered Exports -[info][UnlSpectre][2025/06/30 12:37:06]: Successfully loaded Items -[info][UnlSpectre][2025/06/30 12:37:06]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/30 12:37:06]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/30 12:37:06]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/30 12:37:06]: Successfully started GameController -[info][UnlSpectre][2025/06/30 12:37:06]: Successfully started PlayerController -[info][UnlSpectre][2025/06/30 12:37:06]: Successfully started VehicleController -[info][UnlSpectre][2025/06/30 12:37:13]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/30 14:40:12]: Weapon log got triggered with unknow weapon hash 4215380741. Maybe check your hashes.json -[info][UnlSpectre][2025/06/30 15:13:26]: Successfully registered Exports -[info][UnlSpectre][2025/06/30 15:13:26]: Successfully loaded Items -[info][UnlSpectre][2025/06/30 15:13:26]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/30 15:13:26]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/30 15:13:26]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/30 15:13:26]: Successfully started GameController -[info][UnlSpectre][2025/06/30 15:13:26]: Successfully started PlayerController -[info][UnlSpectre][2025/06/30 15:13:26]: Successfully started VehicleController -[info][UnlSpectre][2025/06/30 15:13:38]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/30 15:25:34]: Successfully registered Exports -[info][UnlSpectre][2025/06/30 15:25:34]: Successfully loaded Items -[info][UnlSpectre][2025/06/30 15:25:34]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/30 15:25:34]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/30 15:25:34]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/30 15:25:34]: Successfully started GameController -[info][UnlSpectre][2025/06/30 15:25:34]: Successfully started PlayerController -[info][UnlSpectre][2025/06/30 15:25:34]: Successfully started VehicleController -[info][UnlSpectre][2025/06/30 15:25:42]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/30 15:35:03]: Successfully registered Exports -[info][UnlSpectre][2025/06/30 15:35:03]: Successfully loaded Items -[info][UnlSpectre][2025/06/30 15:35:03]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/30 15:35:03]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/30 15:35:03]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/30 15:35:03]: Successfully started GameController -[info][UnlSpectre][2025/06/30 15:35:03]: Successfully started PlayerController -[info][UnlSpectre][2025/06/30 15:35:03]: Successfully started VehicleController -[info][UnlSpectre][2025/06/30 15:35:11]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/30 15:43:21]: Successfully registered Exports -[info][UnlSpectre][2025/06/30 15:43:21]: Successfully loaded Items -[info][UnlSpectre][2025/06/30 15:43:21]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/30 15:43:21]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/30 15:43:21]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/30 15:43:21]: Successfully started GameController -[info][UnlSpectre][2025/06/30 15:43:21]: Successfully started PlayerController -[info][UnlSpectre][2025/06/30 15:43:21]: Successfully started VehicleController -[info][UnlSpectre][2025/06/30 15:43:29]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/30 19:36:15]: Successfully registered Exports -[info][UnlSpectre][2025/06/30 19:36:15]: Successfully loaded Items -[info][UnlSpectre][2025/06/30 19:36:15]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/30 19:36:15]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/30 19:36:15]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/30 19:36:15]: Successfully started GameController -[info][UnlSpectre][2025/06/30 19:36:15]: Successfully started PlayerController -[info][UnlSpectre][2025/06/30 19:36:15]: Successfully started VehicleController -[info][UnlSpectre][2025/06/30 19:36:26]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/30 20:21:54]: Successfully registered Exports -[info][UnlSpectre][2025/06/30 20:21:54]: Successfully loaded Items -[info][UnlSpectre][2025/06/30 20:21:54]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/30 20:21:54]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/30 20:21:54]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/30 20:21:54]: Successfully started GameController -[info][UnlSpectre][2025/06/30 20:21:54]: Successfully started PlayerController -[info][UnlSpectre][2025/06/30 20:21:54]: Successfully started VehicleController -[info][UnlSpectre][2025/06/30 20:22:04]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/30 21:38:57]: Successfully registered Exports -[info][UnlSpectre][2025/06/30 21:38:57]: Successfully loaded Items -[info][UnlSpectre][2025/06/30 21:38:57]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/30 21:38:57]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/30 21:38:57]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/30 21:38:57]: Successfully started GameController -[info][UnlSpectre][2025/06/30 21:38:57]: Successfully started PlayerController -[info][UnlSpectre][2025/06/30 21:38:57]: Successfully started VehicleController -[info][UnlSpectre][2025/06/30 21:39:08]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/30 22:19:03]: Successfully registered Exports -[info][UnlSpectre][2025/06/30 22:19:03]: Successfully loaded Items -[info][UnlSpectre][2025/06/30 22:19:03]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/30 22:19:03]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/30 22:19:03]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/30 22:19:03]: Successfully started GameController -[info][UnlSpectre][2025/06/30 22:19:03]: Successfully started PlayerController -[info][UnlSpectre][2025/06/30 22:19:03]: Successfully started VehicleController -[info][UnlSpectre][2025/06/30 22:19:14]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/30 22:41:17]: Successfully registered Exports -[info][UnlSpectre][2025/06/30 22:41:17]: Successfully loaded Items -[info][UnlSpectre][2025/06/30 22:41:17]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/30 22:41:17]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/30 22:41:17]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/30 22:41:17]: Successfully started GameController -[info][UnlSpectre][2025/06/30 22:41:17]: Successfully started PlayerController -[info][UnlSpectre][2025/06/30 22:41:17]: Successfully started VehicleController -[info][UnlSpectre][2025/06/30 22:41:25]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/30 22:54:01]: Successfully registered Exports -[info][UnlSpectre][2025/06/30 22:54:01]: Successfully loaded Items -[info][UnlSpectre][2025/06/30 22:54:01]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/30 22:54:01]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/30 22:54:01]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/30 22:54:01]: Successfully started GameController -[info][UnlSpectre][2025/06/30 22:54:01]: Successfully started PlayerController -[info][UnlSpectre][2025/06/30 22:54:01]: Successfully started VehicleController -[info][UnlSpectre][2025/06/30 22:54:14]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/30 23:15:56]: Successfully registered Exports -[info][UnlSpectre][2025/06/30 23:15:56]: Successfully loaded Items -[info][UnlSpectre][2025/06/30 23:15:56]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/30 23:15:56]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/30 23:15:56]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/30 23:15:56]: Successfully started GameController -[info][UnlSpectre][2025/06/30 23:15:56]: Successfully started PlayerController -[info][UnlSpectre][2025/06/30 23:15:56]: Successfully started VehicleController -[info][UnlSpectre][2025/06/30 23:16:07]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/30 23:25:39]: Successfully registered Exports -[info][UnlSpectre][2025/06/30 23:25:39]: Successfully loaded Items -[info][UnlSpectre][2025/06/30 23:25:39]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/30 23:25:39]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/30 23:25:39]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/30 23:25:39]: Successfully started GameController -[info][UnlSpectre][2025/06/30 23:25:39]: Successfully started PlayerController -[info][UnlSpectre][2025/06/30 23:25:39]: Successfully started VehicleController -[info][UnlSpectre][2025/06/30 23:25:46]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/30 23:32:43]: Successfully registered Exports -[info][UnlSpectre][2025/06/30 23:32:43]: Successfully loaded Items -[info][UnlSpectre][2025/06/30 23:32:43]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/30 23:32:43]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/30 23:32:43]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/30 23:32:43]: Successfully started GameController -[info][UnlSpectre][2025/06/30 23:32:43]: Successfully started PlayerController -[info][UnlSpectre][2025/06/30 23:32:43]: Successfully started VehicleController -[info][UnlSpectre][2025/06/30 23:32:51]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/30 23:39:40]: Successfully registered Exports -[info][UnlSpectre][2025/06/30 23:39:40]: Successfully loaded Items -[info][UnlSpectre][2025/06/30 23:39:40]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/30 23:39:40]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/30 23:39:40]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/30 23:39:40]: Successfully started GameController -[info][UnlSpectre][2025/06/30 23:39:40]: Successfully started PlayerController -[info][UnlSpectre][2025/06/30 23:39:40]: Successfully started VehicleController -[info][UnlSpectre][2025/06/30 23:39:48]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/30 23:58:31]: Successfully registered Exports -[info][UnlSpectre][2025/06/30 23:58:31]: Successfully loaded Items -[info][UnlSpectre][2025/06/30 23:58:31]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/30 23:58:31]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/30 23:58:31]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/30 23:58:31]: Successfully started GameController -[info][UnlSpectre][2025/06/30 23:58:31]: Successfully started PlayerController -[info][UnlSpectre][2025/06/30 23:58:31]: Successfully started VehicleController -[info][UnlSpectre][2025/06/30 23:58:39]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/06/30 23:58:55]: Successfully registered Exports -[info][UnlSpectre][2025/06/30 23:58:55]: Successfully loaded Items -[info][UnlSpectre][2025/06/30 23:58:55]: Successfully loaded Jobs -[info][UnlSpectre][2025/06/30 23:58:55]: Successfully loaded Gangs -[info][UnlSpectre][2025/06/30 23:58:55]: Successfully loaded Vehicles -[info][UnlSpectre][2025/06/30 23:58:55]: Successfully started GameController -[info][UnlSpectre][2025/06/30 23:58:55]: Successfully started PlayerController -[info][UnlSpectre][2025/06/30 23:58:55]: Successfully started VehicleController -[info][UnlSpectre][2025/06/30 23:59:02]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/07/01 04:01:04]: Successfully registered Exports -[info][UnlSpectre][2025/07/01 04:01:04]: Successfully loaded Items -[info][UnlSpectre][2025/07/01 04:01:04]: Successfully loaded Jobs -[info][UnlSpectre][2025/07/01 04:01:04]: Successfully loaded Gangs -[info][UnlSpectre][2025/07/01 04:01:04]: Successfully loaded Vehicles -[info][UnlSpectre][2025/07/01 04:01:04]: Successfully started GameController -[info][UnlSpectre][2025/07/01 04:01:04]: Successfully started PlayerController -[info][UnlSpectre][2025/07/01 04:01:04]: Successfully started VehicleController -[info][UnlSpectre][2025/07/01 04:01:16]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/07/01 05:46:41]: Successfully registered Exports -[info][UnlSpectre][2025/07/01 05:46:41]: Successfully loaded Items -[info][UnlSpectre][2025/07/01 05:46:41]: Successfully loaded Jobs -[info][UnlSpectre][2025/07/01 05:46:41]: Successfully loaded Gangs -[info][UnlSpectre][2025/07/01 05:46:41]: Successfully loaded Vehicles -[info][UnlSpectre][2025/07/01 05:46:41]: Successfully started GameController -[info][UnlSpectre][2025/07/01 05:46:41]: Successfully started PlayerController -[info][UnlSpectre][2025/07/01 05:46:41]: Successfully started VehicleController -[info][UnlSpectre][2025/07/01 05:46:51]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/07/01 07:16:35]: Successfully registered Exports -[info][UnlSpectre][2025/07/01 07:16:35]: Successfully loaded Items -[info][UnlSpectre][2025/07/01 07:16:35]: Successfully loaded Jobs -[info][UnlSpectre][2025/07/01 07:16:35]: Successfully loaded Gangs -[info][UnlSpectre][2025/07/01 07:16:35]: Successfully loaded Vehicles -[info][UnlSpectre][2025/07/01 07:16:35]: Successfully started GameController -[info][UnlSpectre][2025/07/01 07:16:35]: Successfully started PlayerController -[info][UnlSpectre][2025/07/01 07:16:35]: Successfully started VehicleController -[info][UnlSpectre][2025/07/01 07:16:46]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/07/01 09:44:58]: Successfully registered Exports -[info][UnlSpectre][2025/07/01 09:44:58]: Successfully loaded Items -[info][UnlSpectre][2025/07/01 09:44:58]: Successfully loaded Jobs -[info][UnlSpectre][2025/07/01 09:44:58]: Successfully loaded Gangs -[info][UnlSpectre][2025/07/01 09:44:58]: Successfully loaded Vehicles -[info][UnlSpectre][2025/07/01 09:44:58]: Successfully started GameController -[info][UnlSpectre][2025/07/01 09:44:58]: Successfully started PlayerController -[info][UnlSpectre][2025/07/01 09:44:58]: Successfully started VehicleController -[info][UnlSpectre][2025/07/01 09:45:08]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/07/01 09:52:29]: Successfully registered Exports -[info][UnlSpectre][2025/07/01 09:52:29]: Successfully loaded Items -[info][UnlSpectre][2025/07/01 09:52:29]: Successfully loaded Jobs -[info][UnlSpectre][2025/07/01 09:52:29]: Successfully loaded Gangs -[info][UnlSpectre][2025/07/01 09:52:29]: Successfully loaded Vehicles -[info][UnlSpectre][2025/07/01 09:52:29]: Successfully started GameController -[info][UnlSpectre][2025/07/01 09:52:29]: Successfully started PlayerController -[info][UnlSpectre][2025/07/01 09:52:29]: Successfully started VehicleController -[info][UnlSpectre][2025/07/01 09:52:36]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/07/01 09:56:00]: Successfully registered Exports -[info][UnlSpectre][2025/07/01 09:56:00]: Successfully loaded Items -[info][UnlSpectre][2025/07/01 09:56:00]: Successfully loaded Jobs -[info][UnlSpectre][2025/07/01 09:56:00]: Successfully loaded Gangs -[info][UnlSpectre][2025/07/01 09:56:00]: Successfully loaded Vehicles -[info][UnlSpectre][2025/07/01 09:56:00]: Successfully started GameController -[info][UnlSpectre][2025/07/01 09:56:00]: Successfully started PlayerController -[info][UnlSpectre][2025/07/01 09:56:00]: Successfully started VehicleController -[info][UnlSpectre][2025/07/01 09:56:00]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/07/01 10:11:53]: Successfully registered Exports -[info][UnlSpectre][2025/07/01 10:11:53]: Successfully loaded Items -[info][UnlSpectre][2025/07/01 10:11:53]: Successfully loaded Jobs -[info][UnlSpectre][2025/07/01 10:11:53]: Successfully loaded Gangs -[info][UnlSpectre][2025/07/01 10:11:53]: Successfully loaded Vehicles -[info][UnlSpectre][2025/07/01 10:11:53]: Successfully started GameController -[info][UnlSpectre][2025/07/01 10:11:53]: Successfully started PlayerController -[info][UnlSpectre][2025/07/01 10:11:53]: Successfully started VehicleController -[info][UnlSpectre][2025/07/01 10:11:53]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/07/01 10:18:23]: The data.json file was modified or deleted by an external source, Unlimited - Spectre will try to restore it. -[info][UnlSpectre][2025/07/01 10:22:24]: The data.json file was modified or deleted by an external source, Unlimited - Spectre will try to restore it. -[info][UnlSpectre][2025/07/01 10:24:26]: Successfully registered Exports -[info][UnlSpectre][2025/07/01 10:24:26]: Successfully loaded Items -[info][UnlSpectre][2025/07/01 10:24:26]: Successfully loaded Jobs -[info][UnlSpectre][2025/07/01 10:24:26]: Successfully loaded Gangs -[info][UnlSpectre][2025/07/01 10:24:26]: Successfully loaded Vehicles -[info][UnlSpectre][2025/07/01 10:24:26]: Successfully started GameController -[info][UnlSpectre][2025/07/01 10:24:26]: Successfully started PlayerController -[info][UnlSpectre][2025/07/01 10:24:26]: Successfully started VehicleController -[info][UnlSpectre][2025/07/01 10:24:36]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/07/01 10:50:01]: Successfully registered Exports -[info][UnlSpectre][2025/07/01 10:50:01]: Successfully loaded Items -[info][UnlSpectre][2025/07/01 10:50:01]: Successfully loaded Jobs -[info][UnlSpectre][2025/07/01 10:50:01]: Successfully loaded Gangs -[info][UnlSpectre][2025/07/01 10:50:01]: Successfully loaded Vehicles -[info][UnlSpectre][2025/07/01 10:50:01]: Successfully started GameController -[info][UnlSpectre][2025/07/01 10:50:01]: Successfully started PlayerController -[info][UnlSpectre][2025/07/01 10:50:01]: Successfully started VehicleController -[info][UnlSpectre][2025/07/01 10:50:09]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/07/01 11:39:50]: Successfully registered Exports -[info][UnlSpectre][2025/07/01 11:39:50]: Successfully loaded Items -[info][UnlSpectre][2025/07/01 11:39:50]: Successfully loaded Jobs -[info][UnlSpectre][2025/07/01 11:39:50]: Successfully loaded Gangs -[info][UnlSpectre][2025/07/01 11:39:50]: Successfully loaded Vehicles -[info][UnlSpectre][2025/07/01 11:39:50]: Successfully started GameController -[info][UnlSpectre][2025/07/01 11:39:50]: Successfully started PlayerController -[info][UnlSpectre][2025/07/01 11:39:50]: Successfully started VehicleController -[info][UnlSpectre][2025/07/01 11:40:01]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/07/01 11:50:38]: Successfully registered Exports -[info][UnlSpectre][2025/07/01 11:50:38]: Successfully loaded Items -[info][UnlSpectre][2025/07/01 11:50:38]: Successfully loaded Jobs -[info][UnlSpectre][2025/07/01 11:50:38]: Successfully loaded Gangs -[info][UnlSpectre][2025/07/01 11:50:38]: Successfully loaded Vehicles -[info][UnlSpectre][2025/07/01 11:50:38]: Successfully started GameController -[info][UnlSpectre][2025/07/01 11:50:38]: Successfully started PlayerController -[info][UnlSpectre][2025/07/01 11:50:38]: Successfully started VehicleController -[info][UnlSpectre][2025/07/01 11:50:45]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/07/01 12:47:01]: Successfully registered Exports -[info][UnlSpectre][2025/07/01 12:47:01]: Successfully loaded Items -[info][UnlSpectre][2025/07/01 12:47:01]: Successfully loaded Jobs -[info][UnlSpectre][2025/07/01 12:47:01]: Successfully loaded Gangs -[info][UnlSpectre][2025/07/01 12:47:01]: Successfully loaded Vehicles -[info][UnlSpectre][2025/07/01 12:47:01]: Successfully started GameController -[info][UnlSpectre][2025/07/01 12:47:01]: Successfully started PlayerController -[info][UnlSpectre][2025/07/01 12:47:01]: Successfully started VehicleController -[info][UnlSpectre][2025/07/01 12:47:12]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/07/01 13:16:10]: Successfully registered Exports -[info][UnlSpectre][2025/07/01 13:16:10]: Successfully loaded Items -[info][UnlSpectre][2025/07/01 13:16:10]: Successfully loaded Jobs -[info][UnlSpectre][2025/07/01 13:16:10]: Successfully loaded Gangs -[info][UnlSpectre][2025/07/01 13:16:10]: Successfully loaded Vehicles -[info][UnlSpectre][2025/07/01 13:16:10]: Successfully started GameController -[info][UnlSpectre][2025/07/01 13:16:10]: Successfully started PlayerController -[info][UnlSpectre][2025/07/01 13:16:10]: Successfully started VehicleController -[info][UnlSpectre][2025/07/01 13:16:21]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/07/01 16:00:24]: Successfully registered Exports -[info][UnlSpectre][2025/07/01 16:00:24]: Successfully loaded Items -[info][UnlSpectre][2025/07/01 16:00:24]: Successfully loaded Jobs -[info][UnlSpectre][2025/07/01 16:00:24]: Successfully loaded Gangs -[info][UnlSpectre][2025/07/01 16:00:24]: Successfully loaded Vehicles -[info][UnlSpectre][2025/07/01 16:00:24]: Successfully started GameController -[info][UnlSpectre][2025/07/01 16:00:24]: Successfully started PlayerController -[info][UnlSpectre][2025/07/01 16:00:24]: Successfully started VehicleController -[info][UnlSpectre][2025/07/01 16:00:35]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/07/02 04:00:41]: Successfully registered Exports -[info][UnlSpectre][2025/07/02 04:00:41]: Successfully loaded Items -[info][UnlSpectre][2025/07/02 04:00:41]: Successfully loaded Jobs -[info][UnlSpectre][2025/07/02 04:00:41]: Successfully loaded Gangs -[info][UnlSpectre][2025/07/02 04:00:41]: Successfully loaded Vehicles -[info][UnlSpectre][2025/07/02 04:00:41]: Successfully started GameController -[info][UnlSpectre][2025/07/02 04:00:41]: Successfully started PlayerController -[info][UnlSpectre][2025/07/02 04:00:41]: Successfully started VehicleController -[info][UnlSpectre][2025/07/02 04:00:51]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/07/03 04:00:10]: Successfully registered Exports -[info][UnlSpectre][2025/07/03 04:00:11]: Successfully loaded Items -[info][UnlSpectre][2025/07/03 04:00:11]: Successfully loaded Jobs -[info][UnlSpectre][2025/07/03 04:00:11]: Successfully loaded Gangs -[info][UnlSpectre][2025/07/03 04:00:11]: Successfully loaded Vehicles -[info][UnlSpectre][2025/07/03 04:00:11]: Successfully started GameController -[info][UnlSpectre][2025/07/03 04:00:11]: Successfully started PlayerController -[info][UnlSpectre][2025/07/03 04:00:11]: Successfully started VehicleController -[info][UnlSpectre][2025/07/03 04:00:29]: HTTP Server started on port 3000. -[info][UnlSpectre][2025/07/03 10:39:01]: Successfully registered Exports -[info][UnlSpectre][2025/07/03 10:39:02]: Successfully loaded Items -[info][UnlSpectre][2025/07/03 10:39:02]: Successfully loaded Jobs -[info][UnlSpectre][2025/07/03 10:39:02]: Successfully loaded Gangs -[info][UnlSpectre][2025/07/03 10:39:02]: Successfully loaded Vehicles -[info][UnlSpectre][2025/07/03 10:39:02]: Successfully started GameController -[info][UnlSpectre][2025/07/03 10:39:02]: Successfully started PlayerController -[info][UnlSpectre][2025/07/03 10:39:02]: Successfully started VehicleController -[info][UnlSpectre][2025/07/03 10:39:11]: HTTP Server started on port 3000. diff --git a/resources/[tools]/unlimited-spectre/server/index.js b/resources/[tools]/unlimited-spectre/server/index.js deleted file mode 100644 index d56c70ab9..000000000 --- a/resources/[tools]/unlimited-spectre/server/index.js +++ /dev/null @@ -1,83612 +0,0 @@ -var __create = Object.create; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __getProtoOf = Object.getPrototypeOf; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; -var __esm = (fn2, res) => function __init() { - return fn2 && (res = (0, fn2[__getOwnPropNames(fn2)[0]])(fn2 = 0)), res; -}; -var __commonJS = (cb, mod2) => function __require() { - return mod2 || (0, cb[__getOwnPropNames(cb)[0]])((mod2 = { exports: {} }).exports, mod2), mod2.exports; -}; -var __export = (target, all3) => { - for (var name in all3) - __defProp(target, name, { get: all3[name], enumerable: true }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toESM = (mod2, isNodeMode, target) => (target = mod2 != null ? __create(__getProtoOf(mod2)) : {}, __copyProps( - isNodeMode || !mod2 || !mod2.__esModule ? __defProp(target, "default", { value: mod2, enumerable: true }) : target, - mod2 -)); -var __toCommonJS = (mod2) => __copyProps(__defProp({}, "__esModule", { value: true }), mod2); -var __publicField = (obj, key, value) => { - __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); - return value; -}; - -// node_modules/slash/index.js -function slash(path4) { - const isExtendedLengthPath = /^\\\\\?\\/.test(path4); - const hasNonAscii = /[^\u0000-\u0080]+/.test(path4); - if (isExtendedLengthPath || hasNonAscii) { - return path4; - } - return path4.replace(/\\/g, "/"); -} -var init_slash = __esm({ - "node_modules/slash/index.js"() { - } -}); - -// common/permissions.js -var RESOURCE, ACTION; -var init_permissions = __esm({ - "common/permissions.js"() { - RESOURCE = { - GENERAL: "general", - APP: "app", - GAME: "game", - DEV: "dev", - WEB: "web" - }; - ACTION = { - GENERAL: { - AUTH: "auth" - }, - APP: { - DASHBOARD: "dashboard:read" - }, - GAME: { - LIVEMAP: { - READ: "livemap:read", - PLAYER: "livemap:player", - VEHICLE: "livemap:vehicle" - }, - WAYPOINT: { - READ: "waypoint:read", - MODIFY: "waypoint:modify", - DELETE: "waypoint:delete", - CREATE: "waypoint:create" - }, - ACCOUNT: { - READ: "account:read" - }, - PLAYER: { - READ: "player:read", - MODIFY: "player:modify", - DELETE: "player:delete", - KICK: "player:kick", - WARN: "player:warn", - BAN: "player:ban", - MONEY: "player:money", - META: "player:meta", - POSITION: "player:position", - INVENTORY: "player:inventory", - SCREEN: "player:screen", - LICENSE: "player:license", - GANG: "player:gang", - JOB: "player:job" - }, - STASHES: { - READ: "stashes:read", - MODIFY: "stashes:modify", - DELETE: "stashes:delete" - }, - VEHICLE: { - READ: "vehicle:read", - MODIFY: "vehicle:modify", - DELETE: "vehicle:delete", - CREATE: "vehicle:create", - DESPAWN: "vehicle:despawn", - REPAIR: "vehicle:repair" - }, - LOGS: { - READ: "logs:read", - GAME: "logs:game", - PLAYER: "logs:player", - DEV: "logs:dev", - WEB: "logs:web" - } - }, - DEV: { - ITEM: { - READ: "item:read", - MODIFY: "item:modify", - DELETE: "item:delete", - CREATE: "item:create" - }, - JOB: { - READ: "job:read", - MODIFY: "job:modify", - DELETE: "job:delete", - CREATE: "job:create" - }, - GANG: { - READ: "gang:read", - MODIFY: "gang:modify", - DELETE: "gang:delete", - CREATE: "gang:create" - }, - VEHICLE: { - READ: "vehicle:read", - MODIFY: "vehicle:modify", - DELETE: "vehicle:delete", - CREATE: "vehicle:create" - } - }, - WEB: { - USER: { - READ: "user:read", - MODIFY: "user:modify", - DELETE: "user:delete", - CREATE: "user:create" - }, - ROLE: { - READ: "role:read", - MODIFY: "role:modify", - DELETE: "role:delete", - CREATE: "role:create" - }, - CONFIG: { - READ: "config:read", - MODIFY: "config:modify" - } - } - }; - } -}); - -// common/deepMergeObjects.js -function isObject(item) { - return item && typeof item === "object" && !Array.isArray(item); -} -function deepMergeObjects(target, ...sources) { - if (!sources.length) - return target; - const source2 = sources.shift(); - if (isObject(target) && isObject(source2)) { - for (const key in source2) { - if (isObject(source2[key])) { - if (!target[key]) - Object.assign(target, { [key]: {} }); - deepMergeObjects(target[key], source2[key]); - } else { - Object.assign(target, { [key]: source2[key] }); - } - } - } - return deepMergeObjects(target, ...sources); -} -var init_deepMergeObjects = __esm({ - "common/deepMergeObjects.js"() { - } -}); - -// server/config.default.json -var config_default_default; -var init_config_default = __esm({ - "server/config.default.json"() { - config_default_default = { - port: "3000", - unlDisableServe: "false", - unlMySQLSessions: "false", - QBName: "qb-core", - QBObject: "QBCore", - QBShared: "QBShared", - vehGarageColumn: "garage", - vehStateColumn: "state", - vehTables: [ - { - table: "trunkitems", - column: "plate" - }, - { - table: "gloveboxitems", - column: "plate" - } - ], - stashTables: [ - { - type: "Stash", - updateTriggerType: "stash", - identifier: "stash", - itemColumn: "items", - table: "stashitems", - maxSlots: 50 - }, - { - type: "Trunk", - updateTriggerType: "trunk", - identifier: "plate", - itemColumn: "items", - table: "trunkitems", - maxSlots: 30 - }, - { - type: "Glovebox", - updateTriggerType: "glovebox", - identifier: "plate", - itemColumn: "items", - table: "gloveboxitems", - maxSlots: 5 - } - ], - additionalMoneyTypes: {}, - usedInventory: "qb-inventory", - maxPlayerSlots: "41", - disableWeaponLogs: "false", - excludeWeaponLogsFromDiscord: "false", - unlDiscordHook: "false", - unlGameDiscordHook: "false", - unlPlayerDiscordHook: "false", - unlDevDiscordHook: "false", - unlWebDiscordHook: "false", - dashboardInterval: "5000", - mapInterval: "1250", - customHandleDeadEvent: "false", - customHandleCuffedEvent: "false" - }; - } -}); - -// server/Utils/config.load.js -var getConfig; -var init_config_load = __esm({ - "server/Utils/config.load.js"() { - init_deepMergeObjects(); - init_config_default(); - getConfig = () => { - const resourceName2 = GetCurrentResourceName(); - const config2 = JSON.parse(LoadResourceFile(resourceName2, "config.json")); - return deepMergeObjects({}, config_default_default, config2); - }; - } -}); - -// server/globalData.js -var import_path, fs, cleanPath, config, getConvarBool, getConvarString, unlDisableServe, unlMySQLSessions, unlQBName, unlQBObject, unlQBShared, inventory, maxPlayerSlots, inventoryImagePath, unlDiscordHook, unlGameDiscordHook, unlPlayerDiscordHook, unlDevDiscordHook, unlWebDiscordHook, unlWebPortConvar, unlWebPort, liveMapIntervalConvar, liveMapInterval, dashboardIntervalConvar, dashInterval, resourceName, unlWebVersion, unlWebResourcePath, unlWebResourcePathConvar, dataPath, configPath, loggerPaths, banFile, loggerPerms, unlEnv, qbPath, qbEnv; -var init_globalData = __esm({ - "server/globalData.js"() { - init_slash(); - import_path = __toESM(require("path")); - fs = __toESM(require("fs")); - init_permissions(); - init_config_load(); - cleanPath = (x) => { - return slash(import_path.default.normalize(x)); - }; - config = getConfig(); - getConvarBool = (convarName) => { - const cvar = GetConvar(convarName, config[convarName]).trim().toLowerCase(); - return ["true", "1", "on"].includes(cvar); - }; - getConvarString = (convarName) => { - const cvar = GetConvar(convarName, config[convarName]).trim(); - return cvar === "false" ? false : cvar; - }; - unlDisableServe = getConvarBool("unlDisableServe"); - unlMySQLSessions = getConvarBool("unlMySQLSessions"); - unlQBName = GetConvar("unlQBName", config.QBName).trim(); - unlQBObject = GetConvar("unlQBObject", config.QBObject).trim(); - unlQBShared = GetConvar("unlQBShared", config.QBShared).trim(); - inventory = GetConvar("unlUsedInventory", config.usedInventory).trim(); - maxPlayerSlots = parseInt( - GetConvar("unlMaxPlayerSlots", config.maxPlayerSlots).trim() - ); - inventoryImagePath = `${GetResourcePath(inventory)}/html/images`; - unlDiscordHook = getConvarString("unlDiscordHook"); - unlGameDiscordHook = getConvarString("unlGameDiscordHook"); - unlPlayerDiscordHook = getConvarString("unlPlayerDiscordHook"); - unlDevDiscordHook = getConvarString("unlDevDiscordHook"); - unlWebDiscordHook = getConvarString("unlWebDiscordHook"); - unlWebPortConvar = GetConvar("unlWebPort", config.port).trim(); - if (!/^\d+$/.test(unlWebPortConvar)) - console.info("unlWebPort is not valid."); - unlWebPort = parseInt(unlWebPortConvar); - liveMapIntervalConvar = GetConvar( - "unlWebMapInterval", - config.mapInterval - ).trim(); - if (!/^\d+$/.test(liveMapIntervalConvar)) - console.info("unlWebMapInterval is not valid."); - liveMapInterval = parseInt(liveMapIntervalConvar); - dashboardIntervalConvar = GetConvar( - "unlWebDashInterval", - config.dashboardInterval - ).trim(); - if (!/^\d+$/.test(dashboardIntervalConvar)) - console.info("unlWebMapInterval is not valid."); - dashInterval = parseInt(dashboardIntervalConvar); - resourceName = GetCurrentResourceName(); - unlWebVersion = GetResourceMetadata(resourceName, "version"); - if (typeof unlWebVersion !== "string" || unlWebVersion === "null") { - console.error("Unlimited - Spectre version not set or in the wrong format"); - } - unlWebResourcePathConvar = GetResourcePath(resourceName); - if (typeof unlWebResourcePathConvar !== "string" || unlWebResourcePathConvar === "null") { - console.error("Could not resolve Unlimited - Spectre resource path"); - } else { - unlWebResourcePath = cleanPath(unlWebResourcePathConvar); - } - dataPath = cleanPath(import_path.default.join(unlWebResourcePath, "unlWeb")); - try { - if (!fs.existsSync(dataPath)) - fs.mkdirSync(dataPath); - } catch (error) { - console.error( - `Failed to check or create '${dataPath}' with error: ${error.message}` - ); - } - configPath = `${dataPath}/data.json`; - loggerPaths = { - player: `${unlWebResourcePath}/unlWeb/logs/player.log`, - game: `${unlWebResourcePath}/unlWeb/logs/game.log`, - dev: `${unlWebResourcePath}/unlWeb/logs/dev.log`, - web: `${unlWebResourcePath}/unlWeb/logs/web.log`, - unlimited: `${unlWebResourcePath}/log.log` - }; - banFile = `${unlWebResourcePath}/bans.log`; - loggerPerms = { - player: ACTION.GAME.LOGS.PLAYER, - game: ACTION.GAME.LOGS.GAME, - dev: ACTION.GAME.LOGS.DEV, - web: ACTION.GAME.LOGS.WEB, - unlimited: ACTION.GAME.LOGS.READ - }; - unlEnv = Object.freeze({ - config, - unlDisableServe, - unlMySQLSessions, - unlQBName, - unlQBObject, - unlQBShared, - resourceName, - unlWebPort, - dashInterval, - liveMapInterval, - unlWebResourcePath, - unlWebVersion, - inventoryImagePath, - inventory, - maxPlayerSlots, - configPath, - loggerPaths, - banFile, - loggerPerms, - unlDiscordHook, - unlDevDiscordHook, - unlPlayerDiscordHook, - unlWebDiscordHook, - unlGameDiscordHook - }); - qbPath = GetResourcePath(unlQBName); - qbEnv = { - qbPath - }; - } -}); - -// node_modules/logform/format.js -var require_format = __commonJS({ - "node_modules/logform/format.js"(exports2, module2) { - "use strict"; - var InvalidFormatError = class extends Error { - constructor(formatFn) { - super(`Format functions must be synchronous taking a two arguments: (info, opts) -Found: ${formatFn.toString().split("\n")[0]} -`); - Error.captureStackTrace(this, InvalidFormatError); - } - }; - module2.exports = (formatFn) => { - if (formatFn.length > 2) { - throw new InvalidFormatError(formatFn); - } - function Format(options = {}) { - this.options = options; - } - Format.prototype.transform = formatFn; - function createFormatWrap(opts) { - return new Format(opts); - } - createFormatWrap.Format = Format; - return createFormatWrap; - }; - } -}); - -// node_modules/@colors/colors/lib/styles.js -var require_styles = __commonJS({ - "node_modules/@colors/colors/lib/styles.js"(exports2, module2) { - var styles = {}; - module2["exports"] = styles; - var codes = { - reset: [0, 0], - bold: [1, 22], - dim: [2, 22], - italic: [3, 23], - underline: [4, 24], - inverse: [7, 27], - hidden: [8, 28], - strikethrough: [9, 29], - black: [30, 39], - red: [31, 39], - green: [32, 39], - yellow: [33, 39], - blue: [34, 39], - magenta: [35, 39], - cyan: [36, 39], - white: [37, 39], - gray: [90, 39], - grey: [90, 39], - brightRed: [91, 39], - brightGreen: [92, 39], - brightYellow: [93, 39], - brightBlue: [94, 39], - brightMagenta: [95, 39], - brightCyan: [96, 39], - brightWhite: [97, 39], - bgBlack: [40, 49], - bgRed: [41, 49], - bgGreen: [42, 49], - bgYellow: [43, 49], - bgBlue: [44, 49], - bgMagenta: [45, 49], - bgCyan: [46, 49], - bgWhite: [47, 49], - bgGray: [100, 49], - bgGrey: [100, 49], - bgBrightRed: [101, 49], - bgBrightGreen: [102, 49], - bgBrightYellow: [103, 49], - bgBrightBlue: [104, 49], - bgBrightMagenta: [105, 49], - bgBrightCyan: [106, 49], - bgBrightWhite: [107, 49], - blackBG: [40, 49], - redBG: [41, 49], - greenBG: [42, 49], - yellowBG: [43, 49], - blueBG: [44, 49], - magentaBG: [45, 49], - cyanBG: [46, 49], - whiteBG: [47, 49] - }; - Object.keys(codes).forEach(function(key) { - var val = codes[key]; - var style = styles[key] = []; - style.open = "\x1B[" + val[0] + "m"; - style.close = "\x1B[" + val[1] + "m"; - }); - } -}); - -// node_modules/@colors/colors/lib/system/has-flag.js -var require_has_flag = __commonJS({ - "node_modules/@colors/colors/lib/system/has-flag.js"(exports2, module2) { - "use strict"; - module2.exports = function(flag, argv) { - argv = argv || process.argv; - var terminatorPos = argv.indexOf("--"); - var prefix = /^-{1,2}/.test(flag) ? "" : "--"; - var pos = argv.indexOf(prefix + flag); - return pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos); - }; - } -}); - -// node_modules/@colors/colors/lib/system/supports-colors.js -var require_supports_colors = __commonJS({ - "node_modules/@colors/colors/lib/system/supports-colors.js"(exports2, module2) { - "use strict"; - var os = require("os"); - var hasFlag = require_has_flag(); - var env = process.env; - var forceColor = void 0; - if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false")) { - forceColor = false; - } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) { - forceColor = true; - } - if ("FORCE_COLOR" in env) { - forceColor = env.FORCE_COLOR.length === 0 || parseInt(env.FORCE_COLOR, 10) !== 0; - } - function translateLevel(level) { - if (level === 0) { - return false; - } - return { - level, - hasBasic: true, - has256: level >= 2, - has16m: level >= 3 - }; - } - function supportsColor(stream4) { - if (forceColor === false) { - return 0; - } - if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) { - return 3; - } - if (hasFlag("color=256")) { - return 2; - } - if (stream4 && !stream4.isTTY && forceColor !== true) { - return 0; - } - var min = forceColor ? 1 : 0; - if (process.platform === "win32") { - var osRelease = os.release().split("."); - if (Number(process.versions.node.split(".")[0]) >= 8 && Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) { - return Number(osRelease[2]) >= 14931 ? 3 : 2; - } - return 1; - } - if ("CI" in env) { - if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI"].some(function(sign) { - return sign in env; - }) || env.CI_NAME === "codeship") { - return 1; - } - return min; - } - if ("TEAMCITY_VERSION" in env) { - return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0; - } - if ("TERM_PROGRAM" in env) { - var version = parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10); - switch (env.TERM_PROGRAM) { - case "iTerm.app": - return version >= 3 ? 3 : 2; - case "Hyper": - return 3; - case "Apple_Terminal": - return 2; - } - } - if (/-256(color)?$/i.test(env.TERM)) { - return 2; - } - if (/^screen|^xterm|^vt100|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) { - return 1; - } - if ("COLORTERM" in env) { - return 1; - } - if (env.TERM === "dumb") { - return min; - } - return min; - } - function getSupportLevel(stream4) { - var level = supportsColor(stream4); - return translateLevel(level); - } - module2.exports = { - supportsColor: getSupportLevel, - stdout: getSupportLevel(process.stdout), - stderr: getSupportLevel(process.stderr) - }; - } -}); - -// node_modules/@colors/colors/lib/custom/trap.js -var require_trap = __commonJS({ - "node_modules/@colors/colors/lib/custom/trap.js"(exports2, module2) { - module2["exports"] = function runTheTrap(text, options) { - var result = ""; - text = text || "Run the trap, drop the bass"; - text = text.split(""); - var trap = { - a: ["@", "\u0104", "\u023A", "\u0245", "\u0394", "\u039B", "\u0414"], - b: ["\xDF", "\u0181", "\u0243", "\u026E", "\u03B2", "\u0E3F"], - c: ["\xA9", "\u023B", "\u03FE"], - d: ["\xD0", "\u018A", "\u0500", "\u0501", "\u0502", "\u0503"], - e: [ - "\xCB", - "\u0115", - "\u018E", - "\u0258", - "\u03A3", - "\u03BE", - "\u04BC", - "\u0A6C" - ], - f: ["\u04FA"], - g: ["\u0262"], - h: ["\u0126", "\u0195", "\u04A2", "\u04BA", "\u04C7", "\u050A"], - i: ["\u0F0F"], - j: ["\u0134"], - k: ["\u0138", "\u04A0", "\u04C3", "\u051E"], - l: ["\u0139"], - m: ["\u028D", "\u04CD", "\u04CE", "\u0520", "\u0521", "\u0D69"], - n: ["\xD1", "\u014B", "\u019D", "\u0376", "\u03A0", "\u048A"], - o: [ - "\xD8", - "\xF5", - "\xF8", - "\u01FE", - "\u0298", - "\u047A", - "\u05DD", - "\u06DD", - "\u0E4F" - ], - p: ["\u01F7", "\u048E"], - q: ["\u09CD"], - r: ["\xAE", "\u01A6", "\u0210", "\u024C", "\u0280", "\u042F"], - s: ["\xA7", "\u03DE", "\u03DF", "\u03E8"], - t: ["\u0141", "\u0166", "\u0373"], - u: ["\u01B1", "\u054D"], - v: ["\u05D8"], - w: ["\u0428", "\u0460", "\u047C", "\u0D70"], - x: ["\u04B2", "\u04FE", "\u04FC", "\u04FD"], - y: ["\xA5", "\u04B0", "\u04CB"], - z: ["\u01B5", "\u0240"] - }; - text.forEach(function(c) { - c = c.toLowerCase(); - var chars = trap[c] || [" "]; - var rand = Math.floor(Math.random() * chars.length); - if (typeof trap[c] !== "undefined") { - result += trap[c][rand]; - } else { - result += c; - } - }); - return result; - }; - } -}); - -// node_modules/@colors/colors/lib/custom/zalgo.js -var require_zalgo = __commonJS({ - "node_modules/@colors/colors/lib/custom/zalgo.js"(exports2, module2) { - module2["exports"] = function zalgo(text, options) { - text = text || " he is here "; - var soul = { - "up": [ - "\u030D", - "\u030E", - "\u0304", - "\u0305", - "\u033F", - "\u0311", - "\u0306", - "\u0310", - "\u0352", - "\u0357", - "\u0351", - "\u0307", - "\u0308", - "\u030A", - "\u0342", - "\u0313", - "\u0308", - "\u034A", - "\u034B", - "\u034C", - "\u0303", - "\u0302", - "\u030C", - "\u0350", - "\u0300", - "\u0301", - "\u030B", - "\u030F", - "\u0312", - "\u0313", - "\u0314", - "\u033D", - "\u0309", - "\u0363", - "\u0364", - "\u0365", - "\u0366", - "\u0367", - "\u0368", - "\u0369", - "\u036A", - "\u036B", - "\u036C", - "\u036D", - "\u036E", - "\u036F", - "\u033E", - "\u035B", - "\u0346", - "\u031A" - ], - "down": [ - "\u0316", - "\u0317", - "\u0318", - "\u0319", - "\u031C", - "\u031D", - "\u031E", - "\u031F", - "\u0320", - "\u0324", - "\u0325", - "\u0326", - "\u0329", - "\u032A", - "\u032B", - "\u032C", - "\u032D", - "\u032E", - "\u032F", - "\u0330", - "\u0331", - "\u0332", - "\u0333", - "\u0339", - "\u033A", - "\u033B", - "\u033C", - "\u0345", - "\u0347", - "\u0348", - "\u0349", - "\u034D", - "\u034E", - "\u0353", - "\u0354", - "\u0355", - "\u0356", - "\u0359", - "\u035A", - "\u0323" - ], - "mid": [ - "\u0315", - "\u031B", - "\u0300", - "\u0301", - "\u0358", - "\u0321", - "\u0322", - "\u0327", - "\u0328", - "\u0334", - "\u0335", - "\u0336", - "\u035C", - "\u035D", - "\u035E", - "\u035F", - "\u0360", - "\u0362", - "\u0338", - "\u0337", - "\u0361", - " \u0489" - ] - }; - var all3 = [].concat(soul.up, soul.down, soul.mid); - function randomNumber(range) { - var r = Math.floor(Math.random() * range); - return r; - } - function isChar(character) { - var bool = false; - all3.filter(function(i) { - bool = i === character; - }); - return bool; - } - function heComes(text2, options2) { - var result = ""; - var counts; - var l; - options2 = options2 || {}; - options2["up"] = typeof options2["up"] !== "undefined" ? options2["up"] : true; - options2["mid"] = typeof options2["mid"] !== "undefined" ? options2["mid"] : true; - options2["down"] = typeof options2["down"] !== "undefined" ? options2["down"] : true; - options2["size"] = typeof options2["size"] !== "undefined" ? options2["size"] : "maxi"; - text2 = text2.split(""); - for (l in text2) { - if (isChar(l)) { - continue; - } - result = result + text2[l]; - counts = { "up": 0, "down": 0, "mid": 0 }; - switch (options2.size) { - case "mini": - counts.up = randomNumber(8); - counts.mid = randomNumber(2); - counts.down = randomNumber(8); - break; - case "maxi": - counts.up = randomNumber(16) + 3; - counts.mid = randomNumber(4) + 1; - counts.down = randomNumber(64) + 3; - break; - default: - counts.up = randomNumber(8) + 1; - counts.mid = randomNumber(6) / 2; - counts.down = randomNumber(8) + 1; - break; - } - var arr = ["up", "mid", "down"]; - for (var d in arr) { - var index = arr[d]; - for (var i = 0; i <= counts[index]; i++) { - if (options2[index]) { - result = result + soul[index][randomNumber(soul[index].length)]; - } - } - } - } - return result; - } - return heComes(text, options); - }; - } -}); - -// node_modules/@colors/colors/lib/maps/america.js -var require_america = __commonJS({ - "node_modules/@colors/colors/lib/maps/america.js"(exports2, module2) { - module2["exports"] = function(colors) { - return function(letter, i, exploded) { - if (letter === " ") - return letter; - switch (i % 3) { - case 0: - return colors.red(letter); - case 1: - return colors.white(letter); - case 2: - return colors.blue(letter); - } - }; - }; - } -}); - -// node_modules/@colors/colors/lib/maps/zebra.js -var require_zebra = __commonJS({ - "node_modules/@colors/colors/lib/maps/zebra.js"(exports2, module2) { - module2["exports"] = function(colors) { - return function(letter, i, exploded) { - return i % 2 === 0 ? letter : colors.inverse(letter); - }; - }; - } -}); - -// node_modules/@colors/colors/lib/maps/rainbow.js -var require_rainbow = __commonJS({ - "node_modules/@colors/colors/lib/maps/rainbow.js"(exports2, module2) { - module2["exports"] = function(colors) { - var rainbowColors = ["red", "yellow", "green", "blue", "magenta"]; - return function(letter, i, exploded) { - if (letter === " ") { - return letter; - } else { - return colors[rainbowColors[i++ % rainbowColors.length]](letter); - } - }; - }; - } -}); - -// node_modules/@colors/colors/lib/maps/random.js -var require_random = __commonJS({ - "node_modules/@colors/colors/lib/maps/random.js"(exports2, module2) { - module2["exports"] = function(colors) { - var available = [ - "underline", - "inverse", - "grey", - "yellow", - "red", - "green", - "blue", - "white", - "cyan", - "magenta", - "brightYellow", - "brightRed", - "brightGreen", - "brightBlue", - "brightWhite", - "brightCyan", - "brightMagenta" - ]; - return function(letter, i, exploded) { - return letter === " " ? letter : colors[available[Math.round(Math.random() * (available.length - 2))]](letter); - }; - }; - } -}); - -// node_modules/@colors/colors/lib/colors.js -var require_colors = __commonJS({ - "node_modules/@colors/colors/lib/colors.js"(exports2, module2) { - var colors = {}; - module2["exports"] = colors; - colors.themes = {}; - var util2 = require("util"); - var ansiStyles = colors.styles = require_styles(); - var defineProps = Object.defineProperties; - var newLineRegex = new RegExp(/[\r\n]+/g); - colors.supportsColor = require_supports_colors().supportsColor; - if (typeof colors.enabled === "undefined") { - colors.enabled = colors.supportsColor() !== false; - } - colors.enable = function() { - colors.enabled = true; - }; - colors.disable = function() { - colors.enabled = false; - }; - colors.stripColors = colors.strip = function(str) { - return ("" + str).replace(/\x1B\[\d+m/g, ""); - }; - var stylize = colors.stylize = function stylize2(str, style) { - if (!colors.enabled) { - return str + ""; - } - var styleMap = ansiStyles[style]; - if (!styleMap && style in colors) { - return colors[style](str); - } - return styleMap.open + str + styleMap.close; - }; - var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g; - var escapeStringRegexp = function(str) { - if (typeof str !== "string") { - throw new TypeError("Expected a string"); - } - return str.replace(matchOperatorsRe, "\\$&"); - }; - function build(_styles) { - var builder = function builder2() { - return applyStyle.apply(builder2, arguments); - }; - builder._styles = _styles; - builder.__proto__ = proto; - return builder; - } - var styles = function() { - var ret = {}; - ansiStyles.grey = ansiStyles.gray; - Object.keys(ansiStyles).forEach(function(key) { - ansiStyles[key].closeRe = new RegExp(escapeStringRegexp(ansiStyles[key].close), "g"); - ret[key] = { - get: function() { - return build(this._styles.concat(key)); - } - }; - }); - return ret; - }(); - var proto = defineProps(function colors2() { - }, styles); - function applyStyle() { - var args2 = Array.prototype.slice.call(arguments); - var str = args2.map(function(arg) { - if (arg != null && arg.constructor === String) { - return arg; - } else { - return util2.inspect(arg); - } - }).join(" "); - if (!colors.enabled || !str) { - return str; - } - var newLinesPresent = str.indexOf("\n") != -1; - var nestedStyles = this._styles; - var i = nestedStyles.length; - while (i--) { - var code = ansiStyles[nestedStyles[i]]; - str = code.open + str.replace(code.closeRe, code.open) + code.close; - if (newLinesPresent) { - str = str.replace(newLineRegex, function(match) { - return code.close + match + code.open; - }); - } - } - return str; - } - colors.setTheme = function(theme) { - if (typeof theme === "string") { - console.log("colors.setTheme now only accepts an object, not a string. If you are trying to set a theme from a file, it is now your (the caller's) responsibility to require the file. The old syntax looked like colors.setTheme(__dirname + '/../themes/generic-logging.js'); The new syntax looks like colors.setTheme(require(__dirname + '/../themes/generic-logging.js'));"); - return; - } - for (var style in theme) { - (function(style2) { - colors[style2] = function(str) { - if (typeof theme[style2] === "object") { - var out = str; - for (var i in theme[style2]) { - out = colors[theme[style2][i]](out); - } - return out; - } - return colors[theme[style2]](str); - }; - })(style); - } - }; - function init() { - var ret = {}; - Object.keys(styles).forEach(function(name) { - ret[name] = { - get: function() { - return build([name]); - } - }; - }); - return ret; - } - var sequencer = function sequencer2(map2, str) { - var exploded = str.split(""); - exploded = exploded.map(map2); - return exploded.join(""); - }; - colors.trap = require_trap(); - colors.zalgo = require_zalgo(); - colors.maps = {}; - colors.maps.america = require_america()(colors); - colors.maps.zebra = require_zebra()(colors); - colors.maps.rainbow = require_rainbow()(colors); - colors.maps.random = require_random()(colors); - for (map in colors.maps) { - (function(map2) { - colors[map2] = function(str) { - return sequencer(colors.maps[map2], str); - }; - })(map); - } - var map; - defineProps(colors, init()); - } -}); - -// node_modules/@colors/colors/safe.js -var require_safe = __commonJS({ - "node_modules/@colors/colors/safe.js"(exports2, module2) { - var colors = require_colors(); - module2["exports"] = colors; - } -}); - -// node_modules/triple-beam/config/cli.js -var require_cli = __commonJS({ - "node_modules/triple-beam/config/cli.js"(exports2) { - "use strict"; - exports2.levels = { - error: 0, - warn: 1, - help: 2, - data: 3, - info: 4, - debug: 5, - prompt: 6, - verbose: 7, - input: 8, - silly: 9 - }; - exports2.colors = { - error: "red", - warn: "yellow", - help: "cyan", - data: "grey", - info: "green", - debug: "blue", - prompt: "grey", - verbose: "cyan", - input: "grey", - silly: "magenta" - }; - } -}); - -// node_modules/triple-beam/config/npm.js -var require_npm = __commonJS({ - "node_modules/triple-beam/config/npm.js"(exports2) { - "use strict"; - exports2.levels = { - error: 0, - warn: 1, - info: 2, - http: 3, - verbose: 4, - debug: 5, - silly: 6 - }; - exports2.colors = { - error: "red", - warn: "yellow", - info: "green", - http: "green", - verbose: "cyan", - debug: "blue", - silly: "magenta" - }; - } -}); - -// node_modules/triple-beam/config/syslog.js -var require_syslog = __commonJS({ - "node_modules/triple-beam/config/syslog.js"(exports2) { - "use strict"; - exports2.levels = { - emerg: 0, - alert: 1, - crit: 2, - error: 3, - warning: 4, - notice: 5, - info: 6, - debug: 7 - }; - exports2.colors = { - emerg: "red", - alert: "yellow", - crit: "red", - error: "red", - warning: "red", - notice: "yellow", - info: "green", - debug: "blue" - }; - } -}); - -// node_modules/triple-beam/config/index.js -var require_config = __commonJS({ - "node_modules/triple-beam/config/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "cli", { - value: require_cli() - }); - Object.defineProperty(exports2, "npm", { - value: require_npm() - }); - Object.defineProperty(exports2, "syslog", { - value: require_syslog() - }); - } -}); - -// node_modules/triple-beam/index.js -var require_triple_beam = __commonJS({ - "node_modules/triple-beam/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "LEVEL", { - value: Symbol.for("level") - }); - Object.defineProperty(exports2, "MESSAGE", { - value: Symbol.for("message") - }); - Object.defineProperty(exports2, "SPLAT", { - value: Symbol.for("splat") - }); - Object.defineProperty(exports2, "configs", { - value: require_config() - }); - } -}); - -// node_modules/logform/colorize.js -var require_colorize = __commonJS({ - "node_modules/logform/colorize.js"(exports2, module2) { - "use strict"; - var colors = require_safe(); - var { LEVEL, MESSAGE } = require_triple_beam(); - colors.enabled = true; - var hasSpace = /\s+/; - var Colorizer = class { - constructor(opts = {}) { - if (opts.colors) { - this.addColors(opts.colors); - } - this.options = opts; - } - static addColors(clrs) { - const nextColors = Object.keys(clrs).reduce((acc, level) => { - acc[level] = hasSpace.test(clrs[level]) ? clrs[level].split(hasSpace) : clrs[level]; - return acc; - }, {}); - Colorizer.allColors = Object.assign({}, Colorizer.allColors || {}, nextColors); - return Colorizer.allColors; - } - addColors(clrs) { - return Colorizer.addColors(clrs); - } - colorize(lookup, level, message2) { - if (typeof message2 === "undefined") { - message2 = level; - } - if (!Array.isArray(Colorizer.allColors[lookup])) { - return colors[Colorizer.allColors[lookup]](message2); - } - for (let i = 0, len = Colorizer.allColors[lookup].length; i < len; i++) { - message2 = colors[Colorizer.allColors[lookup][i]](message2); - } - return message2; - } - transform(info, opts) { - if (opts.all && typeof info[MESSAGE] === "string") { - info[MESSAGE] = this.colorize(info[LEVEL], info.level, info[MESSAGE]); - } - if (opts.level || opts.all || !opts.message) { - info.level = this.colorize(info[LEVEL], info.level); - } - if (opts.all || opts.message) { - info.message = this.colorize(info[LEVEL], info.level, info.message); - } - return info; - } - }; - module2.exports = (opts) => new Colorizer(opts); - module2.exports.Colorizer = module2.exports.Format = Colorizer; - } -}); - -// node_modules/logform/levels.js -var require_levels = __commonJS({ - "node_modules/logform/levels.js"(exports2, module2) { - "use strict"; - var { Colorizer } = require_colorize(); - module2.exports = (config2) => { - Colorizer.addColors(config2.colors || config2); - return config2; - }; - } -}); - -// node_modules/logform/align.js -var require_align = __commonJS({ - "node_modules/logform/align.js"(exports2, module2) { - "use strict"; - var format2 = require_format(); - module2.exports = format2((info) => { - info.message = ` ${info.message}`; - return info; - }); - } -}); - -// node_modules/logform/errors.js -var require_errors = __commonJS({ - "node_modules/logform/errors.js"(exports2, module2) { - "use strict"; - var format2 = require_format(); - var { LEVEL, MESSAGE } = require_triple_beam(); - module2.exports = format2((einfo, { stack: stack2 }) => { - if (einfo instanceof Error) { - const info = Object.assign({}, einfo, { - level: einfo.level, - [LEVEL]: einfo[LEVEL] || einfo.level, - message: einfo.message, - [MESSAGE]: einfo[MESSAGE] || einfo.message - }); - if (stack2) - info.stack = einfo.stack; - return info; - } - if (!(einfo.message instanceof Error)) - return einfo; - const err = einfo.message; - Object.assign(einfo, err); - einfo.message = err.message; - einfo[MESSAGE] = err.message; - if (stack2) - einfo.stack = err.stack; - return einfo; - }); - } -}); - -// node_modules/logform/pad-levels.js -var require_pad_levels = __commonJS({ - "node_modules/logform/pad-levels.js"(exports2, module2) { - "use strict"; - var { configs, LEVEL, MESSAGE } = require_triple_beam(); - var Padder = class { - constructor(opts = { levels: configs.npm.levels }) { - this.paddings = Padder.paddingForLevels(opts.levels, opts.filler); - this.options = opts; - } - static getLongestLevel(levels) { - const lvls = Object.keys(levels).map((level) => level.length); - return Math.max(...lvls); - } - static paddingForLevel(level, filler, maxLength) { - const targetLen = maxLength + 1 - level.length; - const rep = Math.floor(targetLen / filler.length); - const padding = `${filler}${filler.repeat(rep)}`; - return padding.slice(0, targetLen); - } - static paddingForLevels(levels, filler = " ") { - const maxLength = Padder.getLongestLevel(levels); - return Object.keys(levels).reduce((acc, level) => { - acc[level] = Padder.paddingForLevel(level, filler, maxLength); - return acc; - }, {}); - } - transform(info, opts) { - info.message = `${this.paddings[info[LEVEL]]}${info.message}`; - if (info[MESSAGE]) { - info[MESSAGE] = `${this.paddings[info[LEVEL]]}${info[MESSAGE]}`; - } - return info; - } - }; - module2.exports = (opts) => new Padder(opts); - module2.exports.Padder = module2.exports.Format = Padder; - } -}); - -// node_modules/logform/cli.js -var require_cli2 = __commonJS({ - "node_modules/logform/cli.js"(exports2, module2) { - "use strict"; - var { Colorizer } = require_colorize(); - var { Padder } = require_pad_levels(); - var { configs, MESSAGE } = require_triple_beam(); - var CliFormat = class { - constructor(opts = {}) { - if (!opts.levels) { - opts.levels = configs.cli.levels; - } - this.colorizer = new Colorizer(opts); - this.padder = new Padder(opts); - this.options = opts; - } - transform(info, opts) { - this.colorizer.transform( - this.padder.transform(info, opts), - opts - ); - info[MESSAGE] = `${info.level}:${info.message}`; - return info; - } - }; - module2.exports = (opts) => new CliFormat(opts); - module2.exports.Format = CliFormat; - } -}); - -// node_modules/logform/combine.js -var require_combine = __commonJS({ - "node_modules/logform/combine.js"(exports2, module2) { - "use strict"; - var format2 = require_format(); - function cascade(formats) { - if (!formats.every(isValidFormat)) { - return; - } - return (info) => { - let obj = info; - for (let i = 0; i < formats.length; i++) { - obj = formats[i].transform(obj, formats[i].options); - if (!obj) { - return false; - } - } - return obj; - }; - } - function isValidFormat(fmt) { - if (typeof fmt.transform !== "function") { - throw new Error([ - "No transform function found on format. Did you create a format instance?", - "const myFormat = format(formatFn);", - "const instance = myFormat();" - ].join("\n")); - } - return true; - } - module2.exports = (...formats) => { - const combinedFormat = format2(cascade(formats)); - const instance = combinedFormat(); - instance.Format = combinedFormat.Format; - return instance; - }; - module2.exports.cascade = cascade; - } -}); - -// node_modules/safe-stable-stringify/index.js -var require_safe_stable_stringify = __commonJS({ - "node_modules/safe-stable-stringify/index.js"(exports2, module2) { - "use strict"; - var { hasOwnProperty: hasOwnProperty2 } = Object.prototype; - var stringify = configure(); - stringify.configure = configure; - stringify.stringify = stringify; - stringify.default = stringify; - exports2.stringify = stringify; - exports2.configure = configure; - module2.exports = stringify; - var strEscapeSequencesRegExp = /[\u0000-\u001f\u0022\u005c\ud800-\udfff]|[\ud800-\udbff](?![\udc00-\udfff])|(?:[^\ud800-\udbff]|^)[\udc00-\udfff]/; - var strEscapeSequencesReplacer = new RegExp(strEscapeSequencesRegExp, "g"); - var meta = [ - "\\u0000", - "\\u0001", - "\\u0002", - "\\u0003", - "\\u0004", - "\\u0005", - "\\u0006", - "\\u0007", - "\\b", - "\\t", - "\\n", - "\\u000b", - "\\f", - "\\r", - "\\u000e", - "\\u000f", - "\\u0010", - "\\u0011", - "\\u0012", - "\\u0013", - "\\u0014", - "\\u0015", - "\\u0016", - "\\u0017", - "\\u0018", - "\\u0019", - "\\u001a", - "\\u001b", - "\\u001c", - "\\u001d", - "\\u001e", - "\\u001f", - "", - "", - '\\"', - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "\\\\" - ]; - function escapeFn(str) { - if (str.length === 2) { - const charCode2 = str.charCodeAt(1); - return `${str[0]}\\u${charCode2.toString(16)}`; - } - const charCode = str.charCodeAt(0); - return meta.length > charCode ? meta[charCode] : `\\u${charCode.toString(16)}`; - } - function strEscape(str) { - if (str.length < 5e3 && !strEscapeSequencesRegExp.test(str)) { - return str; - } - if (str.length > 100) { - return str.replace(strEscapeSequencesReplacer, escapeFn); - } - let result = ""; - let last = 0; - for (let i = 0; i < str.length; i++) { - const point = str.charCodeAt(i); - if (point === 34 || point === 92 || point < 32) { - result += `${str.slice(last, i)}${meta[point]}`; - last = i + 1; - } else if (point >= 55296 && point <= 57343) { - if (point <= 56319 && i + 1 < str.length) { - const nextPoint = str.charCodeAt(i + 1); - if (nextPoint >= 56320 && nextPoint <= 57343) { - i++; - continue; - } - } - result += `${str.slice(last, i)}\\u${point.toString(16)}`; - last = i + 1; - } - } - result += str.slice(last); - return result; - } - function insertSort(array) { - if (array.length > 200) { - return array.sort(); - } - for (let i = 1; i < array.length; i++) { - const currentValue = array[i]; - let position = i; - while (position !== 0 && array[position - 1] > currentValue) { - array[position] = array[position - 1]; - position--; - } - array[position] = currentValue; - } - return array; - } - var typedArrayPrototypeGetSymbolToStringTag = Object.getOwnPropertyDescriptor( - Object.getPrototypeOf( - Object.getPrototypeOf( - new Int8Array() - ) - ), - Symbol.toStringTag - ).get; - function isTypedArrayWithEntries(value) { - return typedArrayPrototypeGetSymbolToStringTag.call(value) !== void 0 && value.length !== 0; - } - function stringifyTypedArray(array, separator, maximumBreadth) { - if (array.length < maximumBreadth) { - maximumBreadth = array.length; - } - const whitespace = separator === "," ? "" : " "; - let res = `"0":${whitespace}${array[0]}`; - for (let i = 1; i < maximumBreadth; i++) { - res += `${separator}"${i}":${whitespace}${array[i]}`; - } - return res; - } - function getCircularValueOption(options) { - if (hasOwnProperty2.call(options, "circularValue")) { - const circularValue = options.circularValue; - if (typeof circularValue === "string") { - return `"${circularValue}"`; - } - if (circularValue == null) { - return circularValue; - } - if (circularValue === Error || circularValue === TypeError) { - return { - toString() { - throw new TypeError("Converting circular structure to JSON"); - } - }; - } - throw new TypeError('The "circularValue" argument must be of type string or the value null or undefined'); - } - return '"[Circular]"'; - } - function getBooleanOption(options, key) { - let value; - if (hasOwnProperty2.call(options, key)) { - value = options[key]; - if (typeof value !== "boolean") { - throw new TypeError(`The "${key}" argument must be of type boolean`); - } - } - return value === void 0 ? true : value; - } - function getPositiveIntegerOption(options, key) { - let value; - if (hasOwnProperty2.call(options, key)) { - value = options[key]; - if (typeof value !== "number") { - throw new TypeError(`The "${key}" argument must be of type number`); - } - if (!Number.isInteger(value)) { - throw new TypeError(`The "${key}" argument must be an integer`); - } - if (value < 1) { - throw new RangeError(`The "${key}" argument must be >= 1`); - } - } - return value === void 0 ? Infinity : value; - } - function getItemCount(number) { - if (number === 1) { - return "1 item"; - } - return `${number} items`; - } - function getUniqueReplacerSet(replacerArray) { - const replacerSet = /* @__PURE__ */ new Set(); - for (const value of replacerArray) { - if (typeof value === "string" || typeof value === "number") { - replacerSet.add(String(value)); - } - } - return replacerSet; - } - function getStrictOption(options) { - if (hasOwnProperty2.call(options, "strict")) { - const value = options.strict; - if (typeof value !== "boolean") { - throw new TypeError('The "strict" argument must be of type boolean'); - } - if (value) { - return (value2) => { - let message2 = `Object can not safely be stringified. Received type ${typeof value2}`; - if (typeof value2 !== "function") - message2 += ` (${value2.toString()})`; - throw new Error(message2); - }; - } - } - } - function configure(options) { - options = { ...options }; - const fail = getStrictOption(options); - if (fail) { - if (options.bigint === void 0) { - options.bigint = false; - } - if (!("circularValue" in options)) { - options.circularValue = Error; - } - } - const circularValue = getCircularValueOption(options); - const bigint = getBooleanOption(options, "bigint"); - const deterministic = getBooleanOption(options, "deterministic"); - const maximumDepth = getPositiveIntegerOption(options, "maximumDepth"); - const maximumBreadth = getPositiveIntegerOption(options, "maximumBreadth"); - function stringifyFnReplacer(key, parent, stack2, replacer, spacer, indentation) { - let value = parent[key]; - if (typeof value === "object" && value !== null && typeof value.toJSON === "function") { - value = value.toJSON(key); - } - value = replacer.call(parent, key, value); - switch (typeof value) { - case "string": - return `"${strEscape(value)}"`; - case "object": { - if (value === null) { - return "null"; - } - if (stack2.indexOf(value) !== -1) { - return circularValue; - } - let res = ""; - let join2 = ","; - const originalIndentation = indentation; - if (Array.isArray(value)) { - if (value.length === 0) { - return "[]"; - } - if (maximumDepth < stack2.length + 1) { - return '"[Array]"'; - } - stack2.push(value); - if (spacer !== "") { - indentation += spacer; - res += ` -${indentation}`; - join2 = `, -${indentation}`; - } - const maximumValuesToStringify = Math.min(value.length, maximumBreadth); - let i = 0; - for (; i < maximumValuesToStringify - 1; i++) { - const tmp2 = stringifyFnReplacer(i, value, stack2, replacer, spacer, indentation); - res += tmp2 !== void 0 ? tmp2 : "null"; - res += join2; - } - const tmp = stringifyFnReplacer(i, value, stack2, replacer, spacer, indentation); - res += tmp !== void 0 ? tmp : "null"; - if (value.length - 1 > maximumBreadth) { - const removedKeys = value.length - maximumBreadth - 1; - res += `${join2}"... ${getItemCount(removedKeys)} not stringified"`; - } - if (spacer !== "") { - res += ` -${originalIndentation}`; - } - stack2.pop(); - return `[${res}]`; - } - let keys2 = Object.keys(value); - const keyLength = keys2.length; - if (keyLength === 0) { - return "{}"; - } - if (maximumDepth < stack2.length + 1) { - return '"[Object]"'; - } - let whitespace = ""; - let separator = ""; - if (spacer !== "") { - indentation += spacer; - join2 = `, -${indentation}`; - whitespace = " "; - } - let maximumPropertiesToStringify = Math.min(keyLength, maximumBreadth); - if (isTypedArrayWithEntries(value)) { - res += stringifyTypedArray(value, join2, maximumBreadth); - keys2 = keys2.slice(value.length); - maximumPropertiesToStringify -= value.length; - separator = join2; - } - if (deterministic) { - keys2 = insertSort(keys2); - } - stack2.push(value); - for (let i = 0; i < maximumPropertiesToStringify; i++) { - const key2 = keys2[i]; - const tmp = stringifyFnReplacer(key2, value, stack2, replacer, spacer, indentation); - if (tmp !== void 0) { - res += `${separator}"${strEscape(key2)}":${whitespace}${tmp}`; - separator = join2; - } - } - if (keyLength > maximumBreadth) { - const removedKeys = keyLength - maximumBreadth; - res += `${separator}"...":${whitespace}"${getItemCount(removedKeys)} not stringified"`; - separator = join2; - } - if (spacer !== "" && separator.length > 1) { - res = ` -${indentation}${res} -${originalIndentation}`; - } - stack2.pop(); - return `{${res}}`; - } - case "number": - return isFinite(value) ? String(value) : fail ? fail(value) : "null"; - case "boolean": - return value === true ? "true" : "false"; - case "undefined": - return void 0; - case "bigint": - if (bigint) { - return String(value); - } - default: - return fail ? fail(value) : void 0; - } - } - function stringifyArrayReplacer(key, value, stack2, replacer, spacer, indentation) { - if (typeof value === "object" && value !== null && typeof value.toJSON === "function") { - value = value.toJSON(key); - } - switch (typeof value) { - case "string": - return `"${strEscape(value)}"`; - case "object": { - if (value === null) { - return "null"; - } - if (stack2.indexOf(value) !== -1) { - return circularValue; - } - const originalIndentation = indentation; - let res = ""; - let join2 = ","; - if (Array.isArray(value)) { - if (value.length === 0) { - return "[]"; - } - if (maximumDepth < stack2.length + 1) { - return '"[Array]"'; - } - stack2.push(value); - if (spacer !== "") { - indentation += spacer; - res += ` -${indentation}`; - join2 = `, -${indentation}`; - } - const maximumValuesToStringify = Math.min(value.length, maximumBreadth); - let i = 0; - for (; i < maximumValuesToStringify - 1; i++) { - const tmp2 = stringifyArrayReplacer(i, value[i], stack2, replacer, spacer, indentation); - res += tmp2 !== void 0 ? tmp2 : "null"; - res += join2; - } - const tmp = stringifyArrayReplacer(i, value[i], stack2, replacer, spacer, indentation); - res += tmp !== void 0 ? tmp : "null"; - if (value.length - 1 > maximumBreadth) { - const removedKeys = value.length - maximumBreadth - 1; - res += `${join2}"... ${getItemCount(removedKeys)} not stringified"`; - } - if (spacer !== "") { - res += ` -${originalIndentation}`; - } - stack2.pop(); - return `[${res}]`; - } - if (replacer.size === 0) { - return "{}"; - } - stack2.push(value); - let whitespace = ""; - if (spacer !== "") { - indentation += spacer; - join2 = `, -${indentation}`; - whitespace = " "; - } - let separator = ""; - for (const key2 of replacer) { - const tmp = stringifyArrayReplacer(key2, value[key2], stack2, replacer, spacer, indentation); - if (tmp !== void 0) { - res += `${separator}"${strEscape(key2)}":${whitespace}${tmp}`; - separator = join2; - } - } - if (spacer !== "" && separator.length > 1) { - res = ` -${indentation}${res} -${originalIndentation}`; - } - stack2.pop(); - return `{${res}}`; - } - case "number": - return isFinite(value) ? String(value) : fail ? fail(value) : "null"; - case "boolean": - return value === true ? "true" : "false"; - case "undefined": - return void 0; - case "bigint": - if (bigint) { - return String(value); - } - default: - return fail ? fail(value) : void 0; - } - } - function stringifyIndent(key, value, stack2, spacer, indentation) { - switch (typeof value) { - case "string": - return `"${strEscape(value)}"`; - case "object": { - if (value === null) { - return "null"; - } - if (typeof value.toJSON === "function") { - value = value.toJSON(key); - if (typeof value !== "object") { - return stringifyIndent(key, value, stack2, spacer, indentation); - } - if (value === null) { - return "null"; - } - } - if (stack2.indexOf(value) !== -1) { - return circularValue; - } - const originalIndentation = indentation; - if (Array.isArray(value)) { - if (value.length === 0) { - return "[]"; - } - if (maximumDepth < stack2.length + 1) { - return '"[Array]"'; - } - stack2.push(value); - indentation += spacer; - let res2 = ` -${indentation}`; - const join3 = `, -${indentation}`; - const maximumValuesToStringify = Math.min(value.length, maximumBreadth); - let i = 0; - for (; i < maximumValuesToStringify - 1; i++) { - const tmp2 = stringifyIndent(i, value[i], stack2, spacer, indentation); - res2 += tmp2 !== void 0 ? tmp2 : "null"; - res2 += join3; - } - const tmp = stringifyIndent(i, value[i], stack2, spacer, indentation); - res2 += tmp !== void 0 ? tmp : "null"; - if (value.length - 1 > maximumBreadth) { - const removedKeys = value.length - maximumBreadth - 1; - res2 += `${join3}"... ${getItemCount(removedKeys)} not stringified"`; - } - res2 += ` -${originalIndentation}`; - stack2.pop(); - return `[${res2}]`; - } - let keys2 = Object.keys(value); - const keyLength = keys2.length; - if (keyLength === 0) { - return "{}"; - } - if (maximumDepth < stack2.length + 1) { - return '"[Object]"'; - } - indentation += spacer; - const join2 = `, -${indentation}`; - let res = ""; - let separator = ""; - let maximumPropertiesToStringify = Math.min(keyLength, maximumBreadth); - if (isTypedArrayWithEntries(value)) { - res += stringifyTypedArray(value, join2, maximumBreadth); - keys2 = keys2.slice(value.length); - maximumPropertiesToStringify -= value.length; - separator = join2; - } - if (deterministic) { - keys2 = insertSort(keys2); - } - stack2.push(value); - for (let i = 0; i < maximumPropertiesToStringify; i++) { - const key2 = keys2[i]; - const tmp = stringifyIndent(key2, value[key2], stack2, spacer, indentation); - if (tmp !== void 0) { - res += `${separator}"${strEscape(key2)}": ${tmp}`; - separator = join2; - } - } - if (keyLength > maximumBreadth) { - const removedKeys = keyLength - maximumBreadth; - res += `${separator}"...": "${getItemCount(removedKeys)} not stringified"`; - separator = join2; - } - if (separator !== "") { - res = ` -${indentation}${res} -${originalIndentation}`; - } - stack2.pop(); - return `{${res}}`; - } - case "number": - return isFinite(value) ? String(value) : fail ? fail(value) : "null"; - case "boolean": - return value === true ? "true" : "false"; - case "undefined": - return void 0; - case "bigint": - if (bigint) { - return String(value); - } - default: - return fail ? fail(value) : void 0; - } - } - function stringifySimple(key, value, stack2) { - switch (typeof value) { - case "string": - return `"${strEscape(value)}"`; - case "object": { - if (value === null) { - return "null"; - } - if (typeof value.toJSON === "function") { - value = value.toJSON(key); - if (typeof value !== "object") { - return stringifySimple(key, value, stack2); - } - if (value === null) { - return "null"; - } - } - if (stack2.indexOf(value) !== -1) { - return circularValue; - } - let res = ""; - if (Array.isArray(value)) { - if (value.length === 0) { - return "[]"; - } - if (maximumDepth < stack2.length + 1) { - return '"[Array]"'; - } - stack2.push(value); - const maximumValuesToStringify = Math.min(value.length, maximumBreadth); - let i = 0; - for (; i < maximumValuesToStringify - 1; i++) { - const tmp2 = stringifySimple(i, value[i], stack2); - res += tmp2 !== void 0 ? tmp2 : "null"; - res += ","; - } - const tmp = stringifySimple(i, value[i], stack2); - res += tmp !== void 0 ? tmp : "null"; - if (value.length - 1 > maximumBreadth) { - const removedKeys = value.length - maximumBreadth - 1; - res += `,"... ${getItemCount(removedKeys)} not stringified"`; - } - stack2.pop(); - return `[${res}]`; - } - let keys2 = Object.keys(value); - const keyLength = keys2.length; - if (keyLength === 0) { - return "{}"; - } - if (maximumDepth < stack2.length + 1) { - return '"[Object]"'; - } - let separator = ""; - let maximumPropertiesToStringify = Math.min(keyLength, maximumBreadth); - if (isTypedArrayWithEntries(value)) { - res += stringifyTypedArray(value, ",", maximumBreadth); - keys2 = keys2.slice(value.length); - maximumPropertiesToStringify -= value.length; - separator = ","; - } - if (deterministic) { - keys2 = insertSort(keys2); - } - stack2.push(value); - for (let i = 0; i < maximumPropertiesToStringify; i++) { - const key2 = keys2[i]; - const tmp = stringifySimple(key2, value[key2], stack2); - if (tmp !== void 0) { - res += `${separator}"${strEscape(key2)}":${tmp}`; - separator = ","; - } - } - if (keyLength > maximumBreadth) { - const removedKeys = keyLength - maximumBreadth; - res += `${separator}"...":"${getItemCount(removedKeys)} not stringified"`; - } - stack2.pop(); - return `{${res}}`; - } - case "number": - return isFinite(value) ? String(value) : fail ? fail(value) : "null"; - case "boolean": - return value === true ? "true" : "false"; - case "undefined": - return void 0; - case "bigint": - if (bigint) { - return String(value); - } - default: - return fail ? fail(value) : void 0; - } - } - function stringify2(value, replacer, space) { - if (arguments.length > 1) { - let spacer = ""; - if (typeof space === "number") { - spacer = " ".repeat(Math.min(space, 10)); - } else if (typeof space === "string") { - spacer = space.slice(0, 10); - } - if (replacer != null) { - if (typeof replacer === "function") { - return stringifyFnReplacer("", { "": value }, [], replacer, spacer, ""); - } - if (Array.isArray(replacer)) { - return stringifyArrayReplacer("", value, [], getUniqueReplacerSet(replacer), spacer, ""); - } - } - if (spacer.length !== 0) { - return stringifyIndent("", value, [], spacer, ""); - } - } - return stringifySimple("", value, []); - } - return stringify2; - } - } -}); - -// node_modules/logform/json.js -var require_json = __commonJS({ - "node_modules/logform/json.js"(exports2, module2) { - "use strict"; - var format2 = require_format(); - var { MESSAGE } = require_triple_beam(); - var stringify = require_safe_stable_stringify(); - function replacer(key, value) { - if (typeof value === "bigint") - return value.toString(); - return value; - } - module2.exports = format2((info, opts) => { - const jsonStringify = stringify.configure(opts); - info[MESSAGE] = jsonStringify(info, opts.replacer || replacer, opts.space); - return info; - }); - } -}); - -// node_modules/logform/label.js -var require_label = __commonJS({ - "node_modules/logform/label.js"(exports2, module2) { - "use strict"; - var format2 = require_format(); - module2.exports = format2((info, opts) => { - if (opts.message) { - info.message = `[${opts.label}] ${info.message}`; - return info; - } - info.label = opts.label; - return info; - }); - } -}); - -// node_modules/logform/logstash.js -var require_logstash = __commonJS({ - "node_modules/logform/logstash.js"(exports2, module2) { - "use strict"; - var format2 = require_format(); - var { MESSAGE } = require_triple_beam(); - var jsonStringify = require_safe_stable_stringify(); - module2.exports = format2((info) => { - const logstash = {}; - if (info.message) { - logstash["@message"] = info.message; - delete info.message; - } - if (info.timestamp) { - logstash["@timestamp"] = info.timestamp; - delete info.timestamp; - } - logstash["@fields"] = info; - info[MESSAGE] = jsonStringify(logstash); - return info; - }); - } -}); - -// node_modules/logform/metadata.js -var require_metadata = __commonJS({ - "node_modules/logform/metadata.js"(exports2, module2) { - "use strict"; - var format2 = require_format(); - function fillExcept(info, fillExceptKeys, metadataKey) { - const savedKeys = fillExceptKeys.reduce((acc, key) => { - acc[key] = info[key]; - delete info[key]; - return acc; - }, {}); - const metadata = Object.keys(info).reduce((acc, key) => { - acc[key] = info[key]; - delete info[key]; - return acc; - }, {}); - Object.assign(info, savedKeys, { - [metadataKey]: metadata - }); - return info; - } - function fillWith(info, fillWithKeys, metadataKey) { - info[metadataKey] = fillWithKeys.reduce((acc, key) => { - acc[key] = info[key]; - delete info[key]; - return acc; - }, {}); - return info; - } - module2.exports = format2((info, opts = {}) => { - let metadataKey = "metadata"; - if (opts.key) { - metadataKey = opts.key; - } - let fillExceptKeys = []; - if (!opts.fillExcept && !opts.fillWith) { - fillExceptKeys.push("level"); - fillExceptKeys.push("message"); - } - if (opts.fillExcept) { - fillExceptKeys = opts.fillExcept; - } - if (fillExceptKeys.length > 0) { - return fillExcept(info, fillExceptKeys, metadataKey); - } - if (opts.fillWith) { - return fillWith(info, opts.fillWith, metadataKey); - } - return info; - }); - } -}); - -// node_modules/ms/index.js -var require_ms = __commonJS({ - "node_modules/ms/index.js"(exports2, module2) { - var s = 1e3; - var m = s * 60; - var h = m * 60; - var d = h * 24; - var w = d * 7; - var y = d * 365.25; - module2.exports = function(val, options) { - options = options || {}; - var type = typeof val; - if (type === "string" && val.length > 0) { - return parse(val); - } else if (type === "number" && isFinite(val)) { - return options.long ? fmtLong(val) : fmtShort(val); - } - throw new Error( - "val is not a non-empty string or a valid number. val=" + JSON.stringify(val) - ); - }; - function parse(str) { - str = String(str); - if (str.length > 100) { - return; - } - var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec( - str - ); - if (!match) { - return; - } - var n = parseFloat(match[1]); - var type = (match[2] || "ms").toLowerCase(); - switch (type) { - case "years": - case "year": - case "yrs": - case "yr": - case "y": - return n * y; - case "weeks": - case "week": - case "w": - return n * w; - case "days": - case "day": - case "d": - return n * d; - case "hours": - case "hour": - case "hrs": - case "hr": - case "h": - return n * h; - case "minutes": - case "minute": - case "mins": - case "min": - case "m": - return n * m; - case "seconds": - case "second": - case "secs": - case "sec": - case "s": - return n * s; - case "milliseconds": - case "millisecond": - case "msecs": - case "msec": - case "ms": - return n; - default: - return void 0; - } - } - function fmtShort(ms) { - var msAbs = Math.abs(ms); - if (msAbs >= d) { - return Math.round(ms / d) + "d"; - } - if (msAbs >= h) { - return Math.round(ms / h) + "h"; - } - if (msAbs >= m) { - return Math.round(ms / m) + "m"; - } - if (msAbs >= s) { - return Math.round(ms / s) + "s"; - } - return ms + "ms"; - } - function fmtLong(ms) { - var msAbs = Math.abs(ms); - if (msAbs >= d) { - return plural(ms, msAbs, d, "day"); - } - if (msAbs >= h) { - return plural(ms, msAbs, h, "hour"); - } - if (msAbs >= m) { - return plural(ms, msAbs, m, "minute"); - } - if (msAbs >= s) { - return plural(ms, msAbs, s, "second"); - } - return ms + " ms"; - } - function plural(ms, msAbs, n, name) { - var isPlural = msAbs >= n * 1.5; - return Math.round(ms / n) + " " + name + (isPlural ? "s" : ""); - } - } -}); - -// node_modules/logform/ms.js -var require_ms2 = __commonJS({ - "node_modules/logform/ms.js"(exports2, module2) { - "use strict"; - var format2 = require_format(); - var ms = require_ms(); - module2.exports = format2((info) => { - const curr = +new Date(); - exports2.diff = curr - (exports2.prevTime || curr); - exports2.prevTime = curr; - info.ms = `+${ms(exports2.diff)}`; - return info; - }); - } -}); - -// node_modules/logform/pretty-print.js -var require_pretty_print = __commonJS({ - "node_modules/logform/pretty-print.js"(exports2, module2) { - "use strict"; - var inspect = require("util").inspect; - var format2 = require_format(); - var { LEVEL, MESSAGE, SPLAT } = require_triple_beam(); - module2.exports = format2((info, opts = {}) => { - const stripped = Object.assign({}, info); - delete stripped[LEVEL]; - delete stripped[MESSAGE]; - delete stripped[SPLAT]; - info[MESSAGE] = inspect(stripped, false, opts.depth || null, opts.colorize); - return info; - }); - } -}); - -// node_modules/logform/printf.js -var require_printf = __commonJS({ - "node_modules/logform/printf.js"(exports2, module2) { - "use strict"; - var { MESSAGE } = require_triple_beam(); - var Printf = class { - constructor(templateFn) { - this.template = templateFn; - } - transform(info) { - info[MESSAGE] = this.template(info); - return info; - } - }; - module2.exports = (opts) => new Printf(opts); - module2.exports.Printf = module2.exports.Format = Printf; - } -}); - -// node_modules/logform/simple.js -var require_simple = __commonJS({ - "node_modules/logform/simple.js"(exports2, module2) { - "use strict"; - var format2 = require_format(); - var { MESSAGE } = require_triple_beam(); - var jsonStringify = require_safe_stable_stringify(); - module2.exports = format2((info) => { - const stringifiedRest = jsonStringify(Object.assign({}, info, { - level: void 0, - message: void 0, - splat: void 0 - })); - const padding = info.padding && info.padding[info.level] || ""; - if (stringifiedRest !== "{}") { - info[MESSAGE] = `${info.level}:${padding} ${info.message} ${stringifiedRest}`; - } else { - info[MESSAGE] = `${info.level}:${padding} ${info.message}`; - } - return info; - }); - } -}); - -// node_modules/logform/splat.js -var require_splat = __commonJS({ - "node_modules/logform/splat.js"(exports2, module2) { - "use strict"; - var util2 = require("util"); - var { SPLAT } = require_triple_beam(); - var formatRegExp = /%[scdjifoO%]/g; - var escapedPercent = /%%/g; - var Splatter = class { - constructor(opts) { - this.options = opts; - } - _splat(info, tokens) { - const msg = info.message; - const splat = info[SPLAT] || info.splat || []; - const percents = msg.match(escapedPercent); - const escapes = percents && percents.length || 0; - const expectedSplat = tokens.length - escapes; - const extraSplat = expectedSplat - splat.length; - const metas = extraSplat < 0 ? splat.splice(extraSplat, -1 * extraSplat) : []; - const metalen = metas.length; - if (metalen) { - for (let i = 0; i < metalen; i++) { - Object.assign(info, metas[i]); - } - } - info.message = util2.format(msg, ...splat); - return info; - } - transform(info) { - const msg = info.message; - const splat = info[SPLAT] || info.splat; - if (!splat || !splat.length) { - return info; - } - const tokens = msg && msg.match && msg.match(formatRegExp); - if (!tokens && (splat || splat.length)) { - const metas = splat.length > 1 ? splat.splice(0) : splat; - const metalen = metas.length; - if (metalen) { - for (let i = 0; i < metalen; i++) { - Object.assign(info, metas[i]); - } - } - return info; - } - if (tokens) { - return this._splat(info, tokens); - } - return info; - } - }; - module2.exports = (opts) => new Splatter(opts); - } -}); - -// node_modules/fecha/lib/fecha.umd.js -var require_fecha_umd = __commonJS({ - "node_modules/fecha/lib/fecha.umd.js"(exports2, module2) { - (function(global2, factory) { - typeof exports2 === "object" && typeof module2 !== "undefined" ? factory(exports2) : typeof define === "function" && define.amd ? define(["exports"], factory) : factory(global2.fecha = {}); - })(exports2, function(exports3) { - "use strict"; - var token = /d{1,4}|M{1,4}|YY(?:YY)?|S{1,3}|Do|ZZ|Z|([HhMsDm])\1?|[aA]|"[^"]*"|'[^']*'/g; - var twoDigitsOptional = "\\d\\d?"; - var twoDigits = "\\d\\d"; - var threeDigits = "\\d{3}"; - var fourDigits = "\\d{4}"; - var word = "[^\\s]+"; - var literal = /\[([^]*?)\]/gm; - function shorten(arr, sLen) { - var newArr = []; - for (var i = 0, len = arr.length; i < len; i++) { - newArr.push(arr[i].substr(0, sLen)); - } - return newArr; - } - var monthUpdate = function(arrName) { - return function(v, i18n) { - var lowerCaseArr = i18n[arrName].map(function(v2) { - return v2.toLowerCase(); - }); - var index = lowerCaseArr.indexOf(v.toLowerCase()); - if (index > -1) { - return index; - } - return null; - }; - }; - function assign(origObj) { - var args2 = []; - for (var _i = 1; _i < arguments.length; _i++) { - args2[_i - 1] = arguments[_i]; - } - for (var _a = 0, args_1 = args2; _a < args_1.length; _a++) { - var obj = args_1[_a]; - for (var key in obj) { - origObj[key] = obj[key]; - } - } - return origObj; - } - var dayNames = [ - "Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday" - ]; - var monthNames = [ - "January", - "February", - "March", - "April", - "May", - "June", - "July", - "August", - "September", - "October", - "November", - "December" - ]; - var monthNamesShort = shorten(monthNames, 3); - var dayNamesShort = shorten(dayNames, 3); - var defaultI18n = { - dayNamesShort, - dayNames, - monthNamesShort, - monthNames, - amPm: ["am", "pm"], - DoFn: function(dayOfMonth) { - return dayOfMonth + ["th", "st", "nd", "rd"][dayOfMonth % 10 > 3 ? 0 : (dayOfMonth - dayOfMonth % 10 !== 10 ? 1 : 0) * dayOfMonth % 10]; - } - }; - var globalI18n = assign({}, defaultI18n); - var setGlobalDateI18n = function(i18n) { - return globalI18n = assign(globalI18n, i18n); - }; - var regexEscape = function(str) { - return str.replace(/[|\\{()[^$+*?.-]/g, "\\$&"); - }; - var pad = function(val, len) { - if (len === void 0) { - len = 2; - } - val = String(val); - while (val.length < len) { - val = "0" + val; - } - return val; - }; - var formatFlags = { - D: function(dateObj) { - return String(dateObj.getDate()); - }, - DD: function(dateObj) { - return pad(dateObj.getDate()); - }, - Do: function(dateObj, i18n) { - return i18n.DoFn(dateObj.getDate()); - }, - d: function(dateObj) { - return String(dateObj.getDay()); - }, - dd: function(dateObj) { - return pad(dateObj.getDay()); - }, - ddd: function(dateObj, i18n) { - return i18n.dayNamesShort[dateObj.getDay()]; - }, - dddd: function(dateObj, i18n) { - return i18n.dayNames[dateObj.getDay()]; - }, - M: function(dateObj) { - return String(dateObj.getMonth() + 1); - }, - MM: function(dateObj) { - return pad(dateObj.getMonth() + 1); - }, - MMM: function(dateObj, i18n) { - return i18n.monthNamesShort[dateObj.getMonth()]; - }, - MMMM: function(dateObj, i18n) { - return i18n.monthNames[dateObj.getMonth()]; - }, - YY: function(dateObj) { - return pad(String(dateObj.getFullYear()), 4).substr(2); - }, - YYYY: function(dateObj) { - return pad(dateObj.getFullYear(), 4); - }, - h: function(dateObj) { - return String(dateObj.getHours() % 12 || 12); - }, - hh: function(dateObj) { - return pad(dateObj.getHours() % 12 || 12); - }, - H: function(dateObj) { - return String(dateObj.getHours()); - }, - HH: function(dateObj) { - return pad(dateObj.getHours()); - }, - m: function(dateObj) { - return String(dateObj.getMinutes()); - }, - mm: function(dateObj) { - return pad(dateObj.getMinutes()); - }, - s: function(dateObj) { - return String(dateObj.getSeconds()); - }, - ss: function(dateObj) { - return pad(dateObj.getSeconds()); - }, - S: function(dateObj) { - return String(Math.round(dateObj.getMilliseconds() / 100)); - }, - SS: function(dateObj) { - return pad(Math.round(dateObj.getMilliseconds() / 10), 2); - }, - SSS: function(dateObj) { - return pad(dateObj.getMilliseconds(), 3); - }, - a: function(dateObj, i18n) { - return dateObj.getHours() < 12 ? i18n.amPm[0] : i18n.amPm[1]; - }, - A: function(dateObj, i18n) { - return dateObj.getHours() < 12 ? i18n.amPm[0].toUpperCase() : i18n.amPm[1].toUpperCase(); - }, - ZZ: function(dateObj) { - var offset = dateObj.getTimezoneOffset(); - return (offset > 0 ? "-" : "+") + pad(Math.floor(Math.abs(offset) / 60) * 100 + Math.abs(offset) % 60, 4); - }, - Z: function(dateObj) { - var offset = dateObj.getTimezoneOffset(); - return (offset > 0 ? "-" : "+") + pad(Math.floor(Math.abs(offset) / 60), 2) + ":" + pad(Math.abs(offset) % 60, 2); - } - }; - var monthParse = function(v) { - return +v - 1; - }; - var emptyDigits = [null, twoDigitsOptional]; - var emptyWord = [null, word]; - var amPm = [ - "isPm", - word, - function(v, i18n) { - var val = v.toLowerCase(); - if (val === i18n.amPm[0]) { - return 0; - } else if (val === i18n.amPm[1]) { - return 1; - } - return null; - } - ]; - var timezoneOffset = [ - "timezoneOffset", - "[^\\s]*?[\\+\\-]\\d\\d:?\\d\\d|[^\\s]*?Z?", - function(v) { - var parts = (v + "").match(/([+-]|\d\d)/gi); - if (parts) { - var minutes = +parts[1] * 60 + parseInt(parts[2], 10); - return parts[0] === "+" ? minutes : -minutes; - } - return 0; - } - ]; - var parseFlags = { - D: ["day", twoDigitsOptional], - DD: ["day", twoDigits], - Do: ["day", twoDigitsOptional + word, function(v) { - return parseInt(v, 10); - }], - M: ["month", twoDigitsOptional, monthParse], - MM: ["month", twoDigits, monthParse], - YY: [ - "year", - twoDigits, - function(v) { - var now = new Date(); - var cent = +("" + now.getFullYear()).substr(0, 2); - return +("" + (+v > 68 ? cent - 1 : cent) + v); - } - ], - h: ["hour", twoDigitsOptional, void 0, "isPm"], - hh: ["hour", twoDigits, void 0, "isPm"], - H: ["hour", twoDigitsOptional], - HH: ["hour", twoDigits], - m: ["minute", twoDigitsOptional], - mm: ["minute", twoDigits], - s: ["second", twoDigitsOptional], - ss: ["second", twoDigits], - YYYY: ["year", fourDigits], - S: ["millisecond", "\\d", function(v) { - return +v * 100; - }], - SS: ["millisecond", twoDigits, function(v) { - return +v * 10; - }], - SSS: ["millisecond", threeDigits], - d: emptyDigits, - dd: emptyDigits, - ddd: emptyWord, - dddd: emptyWord, - MMM: ["month", word, monthUpdate("monthNamesShort")], - MMMM: ["month", word, monthUpdate("monthNames")], - a: amPm, - A: amPm, - ZZ: timezoneOffset, - Z: timezoneOffset - }; - var globalMasks = { - default: "ddd MMM DD YYYY HH:mm:ss", - shortDate: "M/D/YY", - mediumDate: "MMM D, YYYY", - longDate: "MMMM D, YYYY", - fullDate: "dddd, MMMM D, YYYY", - isoDate: "YYYY-MM-DD", - isoDateTime: "YYYY-MM-DDTHH:mm:ssZ", - shortTime: "HH:mm", - mediumTime: "HH:mm:ss", - longTime: "HH:mm:ss.SSS" - }; - var setGlobalDateMasks = function(masks) { - return assign(globalMasks, masks); - }; - var format2 = function(dateObj, mask, i18n) { - if (mask === void 0) { - mask = globalMasks["default"]; - } - if (i18n === void 0) { - i18n = {}; - } - if (typeof dateObj === "number") { - dateObj = new Date(dateObj); - } - if (Object.prototype.toString.call(dateObj) !== "[object Date]" || isNaN(dateObj.getTime())) { - throw new Error("Invalid Date pass to format"); - } - mask = globalMasks[mask] || mask; - var literals = []; - mask = mask.replace(literal, function($0, $1) { - literals.push($1); - return "@@@"; - }); - var combinedI18nSettings = assign(assign({}, globalI18n), i18n); - mask = mask.replace(token, function($0) { - return formatFlags[$0](dateObj, combinedI18nSettings); - }); - return mask.replace(/@@@/g, function() { - return literals.shift(); - }); - }; - function parse(dateStr, format3, i18n) { - if (i18n === void 0) { - i18n = {}; - } - if (typeof format3 !== "string") { - throw new Error("Invalid format in fecha parse"); - } - format3 = globalMasks[format3] || format3; - if (dateStr.length > 1e3) { - return null; - } - var today = new Date(); - var dateInfo = { - year: today.getFullYear(), - month: 0, - day: 1, - hour: 0, - minute: 0, - second: 0, - millisecond: 0, - isPm: null, - timezoneOffset: null - }; - var parseInfo = []; - var literals = []; - var newFormat = format3.replace(literal, function($0, $1) { - literals.push(regexEscape($1)); - return "@@@"; - }); - var specifiedFields = {}; - var requiredFields = {}; - newFormat = regexEscape(newFormat).replace(token, function($0) { - var info = parseFlags[$0]; - var field2 = info[0], regex = info[1], requiredField = info[3]; - if (specifiedFields[field2]) { - throw new Error("Invalid format. " + field2 + " specified twice in format"); - } - specifiedFields[field2] = true; - if (requiredField) { - requiredFields[requiredField] = true; - } - parseInfo.push(info); - return "(" + regex + ")"; - }); - Object.keys(requiredFields).forEach(function(field2) { - if (!specifiedFields[field2]) { - throw new Error("Invalid format. " + field2 + " is required in specified format"); - } - }); - newFormat = newFormat.replace(/@@@/g, function() { - return literals.shift(); - }); - var matches = dateStr.match(new RegExp(newFormat, "i")); - if (!matches) { - return null; - } - var combinedI18nSettings = assign(assign({}, globalI18n), i18n); - for (var i = 1; i < matches.length; i++) { - var _a = parseInfo[i - 1], field = _a[0], parser = _a[2]; - var value = parser ? parser(matches[i], combinedI18nSettings) : +matches[i]; - if (value == null) { - return null; - } - dateInfo[field] = value; - } - if (dateInfo.isPm === 1 && dateInfo.hour != null && +dateInfo.hour !== 12) { - dateInfo.hour = +dateInfo.hour + 12; - } else if (dateInfo.isPm === 0 && +dateInfo.hour === 12) { - dateInfo.hour = 0; - } - var dateTZ; - if (dateInfo.timezoneOffset == null) { - dateTZ = new Date(dateInfo.year, dateInfo.month, dateInfo.day, dateInfo.hour, dateInfo.minute, dateInfo.second, dateInfo.millisecond); - var validateFields = [ - ["month", "getMonth"], - ["day", "getDate"], - ["hour", "getHours"], - ["minute", "getMinutes"], - ["second", "getSeconds"] - ]; - for (var i = 0, len = validateFields.length; i < len; i++) { - if (specifiedFields[validateFields[i][0]] && dateInfo[validateFields[i][0]] !== dateTZ[validateFields[i][1]]()) { - return null; - } - } - } else { - dateTZ = new Date(Date.UTC(dateInfo.year, dateInfo.month, dateInfo.day, dateInfo.hour, dateInfo.minute - dateInfo.timezoneOffset, dateInfo.second, dateInfo.millisecond)); - if (dateInfo.month > 11 || dateInfo.month < 0 || dateInfo.day > 31 || dateInfo.day < 1 || dateInfo.hour > 23 || dateInfo.hour < 0 || dateInfo.minute > 59 || dateInfo.minute < 0 || dateInfo.second > 59 || dateInfo.second < 0) { - return null; - } - } - return dateTZ; - } - var fecha = { - format: format2, - parse, - defaultI18n, - setGlobalDateI18n, - setGlobalDateMasks - }; - exports3.assign = assign; - exports3.default = fecha; - exports3.format = format2; - exports3.parse = parse; - exports3.defaultI18n = defaultI18n; - exports3.setGlobalDateI18n = setGlobalDateI18n; - exports3.setGlobalDateMasks = setGlobalDateMasks; - Object.defineProperty(exports3, "__esModule", { value: true }); - }); - } -}); - -// node_modules/logform/timestamp.js -var require_timestamp = __commonJS({ - "node_modules/logform/timestamp.js"(exports2, module2) { - "use strict"; - var fecha = require_fecha_umd(); - var format2 = require_format(); - module2.exports = format2((info, opts = {}) => { - if (opts.format) { - info.timestamp = typeof opts.format === "function" ? opts.format() : fecha.format(new Date(), opts.format); - } - if (!info.timestamp) { - info.timestamp = new Date().toISOString(); - } - if (opts.alias) { - info[opts.alias] = info.timestamp; - } - return info; - }); - } -}); - -// node_modules/logform/uncolorize.js -var require_uncolorize = __commonJS({ - "node_modules/logform/uncolorize.js"(exports2, module2) { - "use strict"; - var colors = require_safe(); - var format2 = require_format(); - var { MESSAGE } = require_triple_beam(); - module2.exports = format2((info, opts) => { - if (opts.level !== false) { - info.level = colors.strip(info.level); - } - if (opts.message !== false) { - info.message = colors.strip(String(info.message)); - } - if (opts.raw !== false && info[MESSAGE]) { - info[MESSAGE] = colors.strip(String(info[MESSAGE])); - } - return info; - }); - } -}); - -// node_modules/logform/index.js -var require_logform = __commonJS({ - "node_modules/logform/index.js"(exports2) { - "use strict"; - var format2 = exports2.format = require_format(); - exports2.levels = require_levels(); - function exposeFormat(name, requireFormat) { - Object.defineProperty(format2, name, { - get() { - return requireFormat(); - }, - configurable: true - }); - } - exposeFormat("align", function() { - return require_align(); - }); - exposeFormat("errors", function() { - return require_errors(); - }); - exposeFormat("cli", function() { - return require_cli2(); - }); - exposeFormat("combine", function() { - return require_combine(); - }); - exposeFormat("colorize", function() { - return require_colorize(); - }); - exposeFormat("json", function() { - return require_json(); - }); - exposeFormat("label", function() { - return require_label(); - }); - exposeFormat("logstash", function() { - return require_logstash(); - }); - exposeFormat("metadata", function() { - return require_metadata(); - }); - exposeFormat("ms", function() { - return require_ms2(); - }); - exposeFormat("padLevels", function() { - return require_pad_levels(); - }); - exposeFormat("prettyPrint", function() { - return require_pretty_print(); - }); - exposeFormat("printf", function() { - return require_printf(); - }); - exposeFormat("simple", function() { - return require_simple(); - }); - exposeFormat("splat", function() { - return require_splat(); - }); - exposeFormat("timestamp", function() { - return require_timestamp(); - }); - exposeFormat("uncolorize", function() { - return require_uncolorize(); - }); - } -}); - -// node_modules/winston/lib/winston/common.js -var require_common = __commonJS({ - "node_modules/winston/lib/winston/common.js"(exports2) { - "use strict"; - var { format: format2 } = require("util"); - exports2.warn = { - deprecated(prop) { - return () => { - throw new Error(format2("{ %s } was removed in winston@3.0.0.", prop)); - }; - }, - useFormat(prop) { - return () => { - throw new Error([ - format2("{ %s } was removed in winston@3.0.0.", prop), - "Use a custom winston.format = winston.format(function) instead." - ].join("\n")); - }; - }, - forFunctions(obj, type, props) { - props.forEach((prop) => { - obj[prop] = exports2.warn[type](prop); - }); - }, - moved(obj, movedTo, prop) { - function movedNotice() { - return () => { - throw new Error([ - format2("winston.%s was moved in winston@3.0.0.", prop), - format2("Use a winston.%s instead.", movedTo) - ].join("\n")); - }; - } - Object.defineProperty(obj, prop, { - get: movedNotice, - set: movedNotice - }); - }, - forProperties(obj, type, props) { - props.forEach((prop) => { - const notice = exports2.warn[type](prop); - Object.defineProperty(obj, prop, { - get: notice, - set: notice - }); - }); - } - }; - } -}); - -// node_modules/winston/package.json -var require_package = __commonJS({ - "node_modules/winston/package.json"(exports2, module2) { - module2.exports = { - name: "winston", - description: "A logger for just about everything.", - version: "3.8.2", - author: "Charlie Robbins ", - maintainers: [ - "David Hyde " - ], - repository: { - type: "git", - url: "https://github.com/winstonjs/winston.git" - }, - keywords: [ - "winston", - "logger", - "logging", - "logs", - "sysadmin", - "bunyan", - "pino", - "loglevel", - "tools", - "json", - "stream" - ], - dependencies: { - "@dabh/diagnostics": "^2.0.2", - "@colors/colors": "1.5.0", - async: "^3.2.3", - "is-stream": "^2.0.0", - logform: "^2.4.0", - "one-time": "^1.0.0", - "readable-stream": "^3.4.0", - "safe-stable-stringify": "^2.3.1", - "stack-trace": "0.0.x", - "triple-beam": "^1.3.0", - "winston-transport": "^4.5.0" - }, - devDependencies: { - "@babel/cli": "^7.17.0", - "@babel/core": "^7.17.2", - "@babel/preset-env": "^7.16.7", - "@dabh/eslint-config-populist": "^5.0.0", - "@types/node": "^18.0.0", - "abstract-winston-transport": "^0.5.1", - assume: "^2.2.0", - "cross-spawn-async": "^2.2.5", - eslint: "^8.9.0", - hock: "^1.4.1", - mocha: "8.1.3", - nyc: "^15.1.0", - rimraf: "^3.0.2", - split2: "^4.1.0", - "std-mocks": "^1.0.1", - through2: "^4.0.2", - "winston-compat": "^0.1.5" - }, - main: "./lib/winston.js", - browser: "./dist/winston", - types: "./index.d.ts", - scripts: { - lint: "eslint lib/*.js lib/winston/*.js lib/winston/**/*.js --resolve-plugins-relative-to ./node_modules/@dabh/eslint-config-populist", - test: "mocha", - "test:coverage": "nyc npm run test:unit", - "test:unit": "mocha test/unit", - "test:integration": "mocha test/integration", - build: "rimraf dist && babel lib -d dist", - prepublishOnly: "npm run build" - }, - engines: { - node: ">= 12.0.0" - }, - license: "MIT" - }; - } -}); - -// node_modules/util-deprecate/node.js -var require_node = __commonJS({ - "node_modules/util-deprecate/node.js"(exports2, module2) { - module2.exports = require("util").deprecate; - } -}); - -// node_modules/readable-stream/lib/internal/streams/stream.js -var require_stream = __commonJS({ - "node_modules/readable-stream/lib/internal/streams/stream.js"(exports2, module2) { - module2.exports = require("stream"); - } -}); - -// node_modules/readable-stream/lib/internal/streams/destroy.js -var require_destroy = __commonJS({ - "node_modules/readable-stream/lib/internal/streams/destroy.js"(exports2, module2) { - "use strict"; - function destroy(err, cb) { - var _this = this; - var readableDestroyed = this._readableState && this._readableState.destroyed; - var writableDestroyed = this._writableState && this._writableState.destroyed; - if (readableDestroyed || writableDestroyed) { - if (cb) { - cb(err); - } else if (err) { - if (!this._writableState) { - process.nextTick(emitErrorNT, this, err); - } else if (!this._writableState.errorEmitted) { - this._writableState.errorEmitted = true; - process.nextTick(emitErrorNT, this, err); - } - } - return this; - } - if (this._readableState) { - this._readableState.destroyed = true; - } - if (this._writableState) { - this._writableState.destroyed = true; - } - this._destroy(err || null, function(err2) { - if (!cb && err2) { - if (!_this._writableState) { - process.nextTick(emitErrorAndCloseNT, _this, err2); - } else if (!_this._writableState.errorEmitted) { - _this._writableState.errorEmitted = true; - process.nextTick(emitErrorAndCloseNT, _this, err2); - } else { - process.nextTick(emitCloseNT, _this); - } - } else if (cb) { - process.nextTick(emitCloseNT, _this); - cb(err2); - } else { - process.nextTick(emitCloseNT, _this); - } - }); - return this; - } - function emitErrorAndCloseNT(self2, err) { - emitErrorNT(self2, err); - emitCloseNT(self2); - } - function emitCloseNT(self2) { - if (self2._writableState && !self2._writableState.emitClose) - return; - if (self2._readableState && !self2._readableState.emitClose) - return; - self2.emit("close"); - } - function undestroy() { - if (this._readableState) { - this._readableState.destroyed = false; - this._readableState.reading = false; - this._readableState.ended = false; - this._readableState.endEmitted = false; - } - if (this._writableState) { - this._writableState.destroyed = false; - this._writableState.ended = false; - this._writableState.ending = false; - this._writableState.finalCalled = false; - this._writableState.prefinished = false; - this._writableState.finished = false; - this._writableState.errorEmitted = false; - } - } - function emitErrorNT(self2, err) { - self2.emit("error", err); - } - function errorOrDestroy(stream4, err) { - var rState = stream4._readableState; - var wState = stream4._writableState; - if (rState && rState.autoDestroy || wState && wState.autoDestroy) - stream4.destroy(err); - else - stream4.emit("error", err); - } - module2.exports = { - destroy, - undestroy, - errorOrDestroy - }; - } -}); - -// node_modules/readable-stream/errors.js -var require_errors2 = __commonJS({ - "node_modules/readable-stream/errors.js"(exports2, module2) { - "use strict"; - var codes = {}; - function createErrorType(code, message2, Base) { - if (!Base) { - Base = Error; - } - function getMessage(arg1, arg2, arg3) { - if (typeof message2 === "string") { - return message2; - } else { - return message2(arg1, arg2, arg3); - } - } - class NodeError extends Base { - constructor(arg1, arg2, arg3) { - super(getMessage(arg1, arg2, arg3)); - } - } - NodeError.prototype.name = Base.name; - NodeError.prototype.code = code; - codes[code] = NodeError; - } - function oneOf(expected, thing) { - if (Array.isArray(expected)) { - const len = expected.length; - expected = expected.map((i) => String(i)); - if (len > 2) { - return `one of ${thing} ${expected.slice(0, len - 1).join(", ")}, or ` + expected[len - 1]; - } else if (len === 2) { - return `one of ${thing} ${expected[0]} or ${expected[1]}`; - } else { - return `of ${thing} ${expected[0]}`; - } - } else { - return `of ${thing} ${String(expected)}`; - } - } - function startsWith(str, search, pos) { - return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search; - } - function endsWith2(str, search, this_len) { - if (this_len === void 0 || this_len > str.length) { - this_len = str.length; - } - return str.substring(this_len - search.length, this_len) === search; - } - function includes(str, search, start) { - if (typeof start !== "number") { - start = 0; - } - if (start + search.length > str.length) { - return false; - } else { - return str.indexOf(search, start) !== -1; - } - } - createErrorType("ERR_INVALID_OPT_VALUE", function(name, value) { - return 'The value "' + value + '" is invalid for option "' + name + '"'; - }, TypeError); - createErrorType("ERR_INVALID_ARG_TYPE", function(name, expected, actual) { - let determiner; - if (typeof expected === "string" && startsWith(expected, "not ")) { - determiner = "must not be"; - expected = expected.replace(/^not /, ""); - } else { - determiner = "must be"; - } - let msg; - if (endsWith2(name, " argument")) { - msg = `The ${name} ${determiner} ${oneOf(expected, "type")}`; - } else { - const type = includes(name, ".") ? "property" : "argument"; - msg = `The "${name}" ${type} ${determiner} ${oneOf(expected, "type")}`; - } - msg += `. Received type ${typeof actual}`; - return msg; - }, TypeError); - createErrorType("ERR_STREAM_PUSH_AFTER_EOF", "stream.push() after EOF"); - createErrorType("ERR_METHOD_NOT_IMPLEMENTED", function(name) { - return "The " + name + " method is not implemented"; - }); - createErrorType("ERR_STREAM_PREMATURE_CLOSE", "Premature close"); - createErrorType("ERR_STREAM_DESTROYED", function(name) { - return "Cannot call " + name + " after a stream was destroyed"; - }); - createErrorType("ERR_MULTIPLE_CALLBACK", "Callback called multiple times"); - createErrorType("ERR_STREAM_CANNOT_PIPE", "Cannot pipe, not readable"); - createErrorType("ERR_STREAM_WRITE_AFTER_END", "write after end"); - createErrorType("ERR_STREAM_NULL_VALUES", "May not write null values to stream", TypeError); - createErrorType("ERR_UNKNOWN_ENCODING", function(arg) { - return "Unknown encoding: " + arg; - }, TypeError); - createErrorType("ERR_STREAM_UNSHIFT_AFTER_END_EVENT", "stream.unshift() after end event"); - module2.exports.codes = codes; - } -}); - -// node_modules/readable-stream/lib/internal/streams/state.js -var require_state = __commonJS({ - "node_modules/readable-stream/lib/internal/streams/state.js"(exports2, module2) { - "use strict"; - var ERR_INVALID_OPT_VALUE = require_errors2().codes.ERR_INVALID_OPT_VALUE; - function highWaterMarkFrom(options, isDuplex, duplexKey) { - return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null; - } - function getHighWaterMark(state, options, duplexKey, isDuplex) { - var hwm = highWaterMarkFrom(options, isDuplex, duplexKey); - if (hwm != null) { - if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) { - var name = isDuplex ? duplexKey : "highWaterMark"; - throw new ERR_INVALID_OPT_VALUE(name, hwm); - } - return Math.floor(hwm); - } - return state.objectMode ? 16 : 16 * 1024; - } - module2.exports = { - getHighWaterMark - }; - } -}); - -// node_modules/inherits/inherits_browser.js -var require_inherits_browser = __commonJS({ - "node_modules/inherits/inherits_browser.js"(exports2, module2) { - if (typeof Object.create === "function") { - module2.exports = function inherits2(ctor, superCtor) { - if (superCtor) { - ctor.super_ = superCtor; - ctor.prototype = Object.create(superCtor.prototype, { - constructor: { - value: ctor, - enumerable: false, - writable: true, - configurable: true - } - }); - } - }; - } else { - module2.exports = function inherits2(ctor, superCtor) { - if (superCtor) { - ctor.super_ = superCtor; - var TempCtor = function() { - }; - TempCtor.prototype = superCtor.prototype; - ctor.prototype = new TempCtor(); - ctor.prototype.constructor = ctor; - } - }; - } - } -}); - -// node_modules/inherits/inherits.js -var require_inherits = __commonJS({ - "node_modules/inherits/inherits.js"(exports2, module2) { - try { - util2 = require("util"); - if (typeof util2.inherits !== "function") - throw ""; - module2.exports = util2.inherits; - } catch (e) { - module2.exports = require_inherits_browser(); - } - var util2; - } -}); - -// node_modules/readable-stream/lib/internal/streams/buffer_list.js -var require_buffer_list = __commonJS({ - "node_modules/readable-stream/lib/internal/streams/buffer_list.js"(exports2, module2) { - "use strict"; - function ownKeys(object, enumerableOnly) { - var keys2 = Object.keys(object); - if (Object.getOwnPropertySymbols) { - var symbols = Object.getOwnPropertySymbols(object); - if (enumerableOnly) - symbols = symbols.filter(function(sym) { - return Object.getOwnPropertyDescriptor(object, sym).enumerable; - }); - keys2.push.apply(keys2, symbols); - } - return keys2; - } - function _objectSpread(target) { - for (var i = 1; i < arguments.length; i++) { - var source2 = arguments[i] != null ? arguments[i] : {}; - if (i % 2) { - ownKeys(Object(source2), true).forEach(function(key) { - _defineProperty(target, key, source2[key]); - }); - } else if (Object.getOwnPropertyDescriptors) { - Object.defineProperties(target, Object.getOwnPropertyDescriptors(source2)); - } else { - ownKeys(Object(source2)).forEach(function(key) { - Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source2, key)); - }); - } - } - return target; - } - function _defineProperty(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); - } else { - obj[key] = value; - } - return obj; - } - function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } - } - function _defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i]; - descriptor.enumerable = descriptor.enumerable || false; - descriptor.configurable = true; - if ("value" in descriptor) - descriptor.writable = true; - Object.defineProperty(target, descriptor.key, descriptor); - } - } - function _createClass(Constructor, protoProps, staticProps) { - if (protoProps) - _defineProperties(Constructor.prototype, protoProps); - if (staticProps) - _defineProperties(Constructor, staticProps); - return Constructor; - } - var _require = require("buffer"); - var Buffer2 = _require.Buffer; - var _require2 = require("util"); - var inspect = _require2.inspect; - var custom = inspect && inspect.custom || "inspect"; - function copyBuffer(src, target, offset) { - Buffer2.prototype.copy.call(src, target, offset); - } - module2.exports = /* @__PURE__ */ function() { - function BufferList() { - _classCallCheck(this, BufferList); - this.head = null; - this.tail = null; - this.length = 0; - } - _createClass(BufferList, [{ - key: "push", - value: function push(v) { - var entry = { - data: v, - next: null - }; - if (this.length > 0) - this.tail.next = entry; - else - this.head = entry; - this.tail = entry; - ++this.length; - } - }, { - key: "unshift", - value: function unshift(v) { - var entry = { - data: v, - next: this.head - }; - if (this.length === 0) - this.tail = entry; - this.head = entry; - ++this.length; - } - }, { - key: "shift", - value: function shift() { - if (this.length === 0) - return; - var ret = this.head.data; - if (this.length === 1) - this.head = this.tail = null; - else - this.head = this.head.next; - --this.length; - return ret; - } - }, { - key: "clear", - value: function clear() { - this.head = this.tail = null; - this.length = 0; - } - }, { - key: "join", - value: function join2(s) { - if (this.length === 0) - return ""; - var p = this.head; - var ret = "" + p.data; - while (p = p.next) { - ret += s + p.data; - } - return ret; - } - }, { - key: "concat", - value: function concat(n) { - if (this.length === 0) - return Buffer2.alloc(0); - var ret = Buffer2.allocUnsafe(n >>> 0); - var p = this.head; - var i = 0; - while (p) { - copyBuffer(p.data, ret, i); - i += p.data.length; - p = p.next; - } - return ret; - } - }, { - key: "consume", - value: function consume(n, hasStrings) { - var ret; - if (n < this.head.data.length) { - ret = this.head.data.slice(0, n); - this.head.data = this.head.data.slice(n); - } else if (n === this.head.data.length) { - ret = this.shift(); - } else { - ret = hasStrings ? this._getString(n) : this._getBuffer(n); - } - return ret; - } - }, { - key: "first", - value: function first() { - return this.head.data; - } - }, { - key: "_getString", - value: function _getString(n) { - var p = this.head; - var c = 1; - var ret = p.data; - n -= ret.length; - while (p = p.next) { - var str = p.data; - var nb = n > str.length ? str.length : n; - if (nb === str.length) - ret += str; - else - ret += str.slice(0, n); - n -= nb; - if (n === 0) { - if (nb === str.length) { - ++c; - if (p.next) - this.head = p.next; - else - this.head = this.tail = null; - } else { - this.head = p; - p.data = str.slice(nb); - } - break; - } - ++c; - } - this.length -= c; - return ret; - } - }, { - key: "_getBuffer", - value: function _getBuffer(n) { - var ret = Buffer2.allocUnsafe(n); - var p = this.head; - var c = 1; - p.data.copy(ret); - n -= p.data.length; - while (p = p.next) { - var buf = p.data; - var nb = n > buf.length ? buf.length : n; - buf.copy(ret, ret.length - n, 0, nb); - n -= nb; - if (n === 0) { - if (nb === buf.length) { - ++c; - if (p.next) - this.head = p.next; - else - this.head = this.tail = null; - } else { - this.head = p; - p.data = buf.slice(nb); - } - break; - } - ++c; - } - this.length -= c; - return ret; - } - }, { - key: custom, - value: function value(_, options) { - return inspect(this, _objectSpread({}, options, { - depth: 0, - customInspect: false - })); - } - }]); - return BufferList; - }(); - } -}); - -// node_modules/safe-buffer/index.js -var require_safe_buffer = __commonJS({ - "node_modules/safe-buffer/index.js"(exports2, module2) { - var buffer = require("buffer"); - var Buffer2 = buffer.Buffer; - function copyProps(src, dst) { - for (var key in src) { - dst[key] = src[key]; - } - } - if (Buffer2.from && Buffer2.alloc && Buffer2.allocUnsafe && Buffer2.allocUnsafeSlow) { - module2.exports = buffer; - } else { - copyProps(buffer, exports2); - exports2.Buffer = SafeBuffer; - } - function SafeBuffer(arg, encodingOrOffset, length) { - return Buffer2(arg, encodingOrOffset, length); - } - SafeBuffer.prototype = Object.create(Buffer2.prototype); - copyProps(Buffer2, SafeBuffer); - SafeBuffer.from = function(arg, encodingOrOffset, length) { - if (typeof arg === "number") { - throw new TypeError("Argument must not be a number"); - } - return Buffer2(arg, encodingOrOffset, length); - }; - SafeBuffer.alloc = function(size, fill, encoding) { - if (typeof size !== "number") { - throw new TypeError("Argument must be a number"); - } - var buf = Buffer2(size); - if (fill !== void 0) { - if (typeof encoding === "string") { - buf.fill(fill, encoding); - } else { - buf.fill(fill); - } - } else { - buf.fill(0); - } - return buf; - }; - SafeBuffer.allocUnsafe = function(size) { - if (typeof size !== "number") { - throw new TypeError("Argument must be a number"); - } - return Buffer2(size); - }; - SafeBuffer.allocUnsafeSlow = function(size) { - if (typeof size !== "number") { - throw new TypeError("Argument must be a number"); - } - return buffer.SlowBuffer(size); - }; - } -}); - -// node_modules/string_decoder/lib/string_decoder.js -var require_string_decoder = __commonJS({ - "node_modules/string_decoder/lib/string_decoder.js"(exports2) { - "use strict"; - var Buffer2 = require_safe_buffer().Buffer; - var isEncoding = Buffer2.isEncoding || function(encoding) { - encoding = "" + encoding; - switch (encoding && encoding.toLowerCase()) { - case "hex": - case "utf8": - case "utf-8": - case "ascii": - case "binary": - case "base64": - case "ucs2": - case "ucs-2": - case "utf16le": - case "utf-16le": - case "raw": - return true; - default: - return false; - } - }; - function _normalizeEncoding(enc) { - if (!enc) - return "utf8"; - var retried; - while (true) { - switch (enc) { - case "utf8": - case "utf-8": - return "utf8"; - case "ucs2": - case "ucs-2": - case "utf16le": - case "utf-16le": - return "utf16le"; - case "latin1": - case "binary": - return "latin1"; - case "base64": - case "ascii": - case "hex": - return enc; - default: - if (retried) - return; - enc = ("" + enc).toLowerCase(); - retried = true; - } - } - } - function normalizeEncoding(enc) { - var nenc = _normalizeEncoding(enc); - if (typeof nenc !== "string" && (Buffer2.isEncoding === isEncoding || !isEncoding(enc))) - throw new Error("Unknown encoding: " + enc); - return nenc || enc; - } - exports2.StringDecoder = StringDecoder; - function StringDecoder(encoding) { - this.encoding = normalizeEncoding(encoding); - var nb; - switch (this.encoding) { - case "utf16le": - this.text = utf16Text; - this.end = utf16End; - nb = 4; - break; - case "utf8": - this.fillLast = utf8FillLast; - nb = 4; - break; - case "base64": - this.text = base64Text; - this.end = base64End; - nb = 3; - break; - default: - this.write = simpleWrite; - this.end = simpleEnd; - return; - } - this.lastNeed = 0; - this.lastTotal = 0; - this.lastChar = Buffer2.allocUnsafe(nb); - } - StringDecoder.prototype.write = function(buf) { - if (buf.length === 0) - return ""; - var r; - var i; - if (this.lastNeed) { - r = this.fillLast(buf); - if (r === void 0) - return ""; - i = this.lastNeed; - this.lastNeed = 0; - } else { - i = 0; - } - if (i < buf.length) - return r ? r + this.text(buf, i) : this.text(buf, i); - return r || ""; - }; - StringDecoder.prototype.end = utf8End; - StringDecoder.prototype.text = utf8Text; - StringDecoder.prototype.fillLast = function(buf) { - if (this.lastNeed <= buf.length) { - buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed); - return this.lastChar.toString(this.encoding, 0, this.lastTotal); - } - buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length); - this.lastNeed -= buf.length; - }; - function utf8CheckByte(byte) { - if (byte <= 127) - return 0; - else if (byte >> 5 === 6) - return 2; - else if (byte >> 4 === 14) - return 3; - else if (byte >> 3 === 30) - return 4; - return byte >> 6 === 2 ? -1 : -2; - } - function utf8CheckIncomplete(self2, buf, i) { - var j = buf.length - 1; - if (j < i) - return 0; - var nb = utf8CheckByte(buf[j]); - if (nb >= 0) { - if (nb > 0) - self2.lastNeed = nb - 1; - return nb; - } - if (--j < i || nb === -2) - return 0; - nb = utf8CheckByte(buf[j]); - if (nb >= 0) { - if (nb > 0) - self2.lastNeed = nb - 2; - return nb; - } - if (--j < i || nb === -2) - return 0; - nb = utf8CheckByte(buf[j]); - if (nb >= 0) { - if (nb > 0) { - if (nb === 2) - nb = 0; - else - self2.lastNeed = nb - 3; - } - return nb; - } - return 0; - } - function utf8CheckExtraBytes(self2, buf, p) { - if ((buf[0] & 192) !== 128) { - self2.lastNeed = 0; - return "\uFFFD"; - } - if (self2.lastNeed > 1 && buf.length > 1) { - if ((buf[1] & 192) !== 128) { - self2.lastNeed = 1; - return "\uFFFD"; - } - if (self2.lastNeed > 2 && buf.length > 2) { - if ((buf[2] & 192) !== 128) { - self2.lastNeed = 2; - return "\uFFFD"; - } - } - } - } - function utf8FillLast(buf) { - var p = this.lastTotal - this.lastNeed; - var r = utf8CheckExtraBytes(this, buf, p); - if (r !== void 0) - return r; - if (this.lastNeed <= buf.length) { - buf.copy(this.lastChar, p, 0, this.lastNeed); - return this.lastChar.toString(this.encoding, 0, this.lastTotal); - } - buf.copy(this.lastChar, p, 0, buf.length); - this.lastNeed -= buf.length; - } - function utf8Text(buf, i) { - var total = utf8CheckIncomplete(this, buf, i); - if (!this.lastNeed) - return buf.toString("utf8", i); - this.lastTotal = total; - var end = buf.length - (total - this.lastNeed); - buf.copy(this.lastChar, 0, end); - return buf.toString("utf8", i, end); - } - function utf8End(buf) { - var r = buf && buf.length ? this.write(buf) : ""; - if (this.lastNeed) - return r + "\uFFFD"; - return r; - } - function utf16Text(buf, i) { - if ((buf.length - i) % 2 === 0) { - var r = buf.toString("utf16le", i); - if (r) { - var c = r.charCodeAt(r.length - 1); - if (c >= 55296 && c <= 56319) { - this.lastNeed = 2; - this.lastTotal = 4; - this.lastChar[0] = buf[buf.length - 2]; - this.lastChar[1] = buf[buf.length - 1]; - return r.slice(0, -1); - } - } - return r; - } - this.lastNeed = 1; - this.lastTotal = 2; - this.lastChar[0] = buf[buf.length - 1]; - return buf.toString("utf16le", i, buf.length - 1); - } - function utf16End(buf) { - var r = buf && buf.length ? this.write(buf) : ""; - if (this.lastNeed) { - var end = this.lastTotal - this.lastNeed; - return r + this.lastChar.toString("utf16le", 0, end); - } - return r; - } - function base64Text(buf, i) { - var n = (buf.length - i) % 3; - if (n === 0) - return buf.toString("base64", i); - this.lastNeed = 3 - n; - this.lastTotal = 3; - if (n === 1) { - this.lastChar[0] = buf[buf.length - 1]; - } else { - this.lastChar[0] = buf[buf.length - 2]; - this.lastChar[1] = buf[buf.length - 1]; - } - return buf.toString("base64", i, buf.length - n); - } - function base64End(buf) { - var r = buf && buf.length ? this.write(buf) : ""; - if (this.lastNeed) - return r + this.lastChar.toString("base64", 0, 3 - this.lastNeed); - return r; - } - function simpleWrite(buf) { - return buf.toString(this.encoding); - } - function simpleEnd(buf) { - return buf && buf.length ? this.write(buf) : ""; - } - } -}); - -// node_modules/readable-stream/lib/internal/streams/end-of-stream.js -var require_end_of_stream = __commonJS({ - "node_modules/readable-stream/lib/internal/streams/end-of-stream.js"(exports2, module2) { - "use strict"; - var ERR_STREAM_PREMATURE_CLOSE = require_errors2().codes.ERR_STREAM_PREMATURE_CLOSE; - function once(callback) { - var called = false; - return function() { - if (called) - return; - called = true; - for (var _len = arguments.length, args2 = new Array(_len), _key = 0; _key < _len; _key++) { - args2[_key] = arguments[_key]; - } - callback.apply(this, args2); - }; - } - function noop2() { - } - function isRequest(stream4) { - return stream4.setHeader && typeof stream4.abort === "function"; - } - function eos(stream4, opts, callback) { - if (typeof opts === "function") - return eos(stream4, null, opts); - if (!opts) - opts = {}; - callback = once(callback || noop2); - var readable = opts.readable || opts.readable !== false && stream4.readable; - var writable = opts.writable || opts.writable !== false && stream4.writable; - var onlegacyfinish = function onlegacyfinish2() { - if (!stream4.writable) - onfinish(); - }; - var writableEnded = stream4._writableState && stream4._writableState.finished; - var onfinish = function onfinish2() { - writable = false; - writableEnded = true; - if (!readable) - callback.call(stream4); - }; - var readableEnded = stream4._readableState && stream4._readableState.endEmitted; - var onend = function onend2() { - readable = false; - readableEnded = true; - if (!writable) - callback.call(stream4); - }; - var onerror = function onerror2(err) { - callback.call(stream4, err); - }; - var onclose = function onclose2() { - var err; - if (readable && !readableEnded) { - if (!stream4._readableState || !stream4._readableState.ended) - err = new ERR_STREAM_PREMATURE_CLOSE(); - return callback.call(stream4, err); - } - if (writable && !writableEnded) { - if (!stream4._writableState || !stream4._writableState.ended) - err = new ERR_STREAM_PREMATURE_CLOSE(); - return callback.call(stream4, err); - } - }; - var onrequest = function onrequest2() { - stream4.req.on("finish", onfinish); - }; - if (isRequest(stream4)) { - stream4.on("complete", onfinish); - stream4.on("abort", onclose); - if (stream4.req) - onrequest(); - else - stream4.on("request", onrequest); - } else if (writable && !stream4._writableState) { - stream4.on("end", onlegacyfinish); - stream4.on("close", onlegacyfinish); - } - stream4.on("end", onend); - stream4.on("finish", onfinish); - if (opts.error !== false) - stream4.on("error", onerror); - stream4.on("close", onclose); - return function() { - stream4.removeListener("complete", onfinish); - stream4.removeListener("abort", onclose); - stream4.removeListener("request", onrequest); - if (stream4.req) - stream4.req.removeListener("finish", onfinish); - stream4.removeListener("end", onlegacyfinish); - stream4.removeListener("close", onlegacyfinish); - stream4.removeListener("finish", onfinish); - stream4.removeListener("end", onend); - stream4.removeListener("error", onerror); - stream4.removeListener("close", onclose); - }; - } - module2.exports = eos; - } -}); - -// node_modules/readable-stream/lib/internal/streams/async_iterator.js -var require_async_iterator = __commonJS({ - "node_modules/readable-stream/lib/internal/streams/async_iterator.js"(exports2, module2) { - "use strict"; - var _Object$setPrototypeO; - function _defineProperty(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); - } else { - obj[key] = value; - } - return obj; - } - var finished = require_end_of_stream(); - var kLastResolve = Symbol("lastResolve"); - var kLastReject = Symbol("lastReject"); - var kError = Symbol("error"); - var kEnded = Symbol("ended"); - var kLastPromise = Symbol("lastPromise"); - var kHandlePromise = Symbol("handlePromise"); - var kStream = Symbol("stream"); - function createIterResult(value, done) { - return { - value, - done - }; - } - function readAndResolve(iter) { - var resolve = iter[kLastResolve]; - if (resolve !== null) { - var data = iter[kStream].read(); - if (data !== null) { - iter[kLastPromise] = null; - iter[kLastResolve] = null; - iter[kLastReject] = null; - resolve(createIterResult(data, false)); - } - } - } - function onReadable(iter) { - process.nextTick(readAndResolve, iter); - } - function wrapForNext(lastPromise, iter) { - return function(resolve, reject) { - lastPromise.then(function() { - if (iter[kEnded]) { - resolve(createIterResult(void 0, true)); - return; - } - iter[kHandlePromise](resolve, reject); - }, reject); - }; - } - var AsyncIteratorPrototype = Object.getPrototypeOf(function() { - }); - var ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = { - get stream() { - return this[kStream]; - }, - next: function next() { - var _this = this; - var error = this[kError]; - if (error !== null) { - return Promise.reject(error); - } - if (this[kEnded]) { - return Promise.resolve(createIterResult(void 0, true)); - } - if (this[kStream].destroyed) { - return new Promise(function(resolve, reject) { - process.nextTick(function() { - if (_this[kError]) { - reject(_this[kError]); - } else { - resolve(createIterResult(void 0, true)); - } - }); - }); - } - var lastPromise = this[kLastPromise]; - var promise; - if (lastPromise) { - promise = new Promise(wrapForNext(lastPromise, this)); - } else { - var data = this[kStream].read(); - if (data !== null) { - return Promise.resolve(createIterResult(data, false)); - } - promise = new Promise(this[kHandlePromise]); - } - this[kLastPromise] = promise; - return promise; - } - }, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function() { - return this; - }), _defineProperty(_Object$setPrototypeO, "return", function _return() { - var _this2 = this; - return new Promise(function(resolve, reject) { - _this2[kStream].destroy(null, function(err) { - if (err) { - reject(err); - return; - } - resolve(createIterResult(void 0, true)); - }); - }); - }), _Object$setPrototypeO), AsyncIteratorPrototype); - var createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator2(stream4) { - var _Object$create; - var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, { - value: stream4, - writable: true - }), _defineProperty(_Object$create, kLastResolve, { - value: null, - writable: true - }), _defineProperty(_Object$create, kLastReject, { - value: null, - writable: true - }), _defineProperty(_Object$create, kError, { - value: null, - writable: true - }), _defineProperty(_Object$create, kEnded, { - value: stream4._readableState.endEmitted, - writable: true - }), _defineProperty(_Object$create, kHandlePromise, { - value: function value(resolve, reject) { - var data = iterator[kStream].read(); - if (data) { - iterator[kLastPromise] = null; - iterator[kLastResolve] = null; - iterator[kLastReject] = null; - resolve(createIterResult(data, false)); - } else { - iterator[kLastResolve] = resolve; - iterator[kLastReject] = reject; - } - }, - writable: true - }), _Object$create)); - iterator[kLastPromise] = null; - finished(stream4, function(err) { - if (err && err.code !== "ERR_STREAM_PREMATURE_CLOSE") { - var reject = iterator[kLastReject]; - if (reject !== null) { - iterator[kLastPromise] = null; - iterator[kLastResolve] = null; - iterator[kLastReject] = null; - reject(err); - } - iterator[kError] = err; - return; - } - var resolve = iterator[kLastResolve]; - if (resolve !== null) { - iterator[kLastPromise] = null; - iterator[kLastResolve] = null; - iterator[kLastReject] = null; - resolve(createIterResult(void 0, true)); - } - iterator[kEnded] = true; - }); - stream4.on("readable", onReadable.bind(null, iterator)); - return iterator; - }; - module2.exports = createReadableStreamAsyncIterator; - } -}); - -// node_modules/readable-stream/lib/internal/streams/from.js -var require_from = __commonJS({ - "node_modules/readable-stream/lib/internal/streams/from.js"(exports2, module2) { - "use strict"; - function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { - try { - var info = gen[key](arg); - var value = info.value; - } catch (error) { - reject(error); - return; - } - if (info.done) { - resolve(value); - } else { - Promise.resolve(value).then(_next, _throw); - } - } - function _asyncToGenerator(fn2) { - return function() { - var self2 = this, args2 = arguments; - return new Promise(function(resolve, reject) { - var gen = fn2.apply(self2, args2); - function _next(value) { - asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); - } - function _throw(err) { - asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); - } - _next(void 0); - }); - }; - } - function ownKeys(object, enumerableOnly) { - var keys2 = Object.keys(object); - if (Object.getOwnPropertySymbols) { - var symbols = Object.getOwnPropertySymbols(object); - if (enumerableOnly) - symbols = symbols.filter(function(sym) { - return Object.getOwnPropertyDescriptor(object, sym).enumerable; - }); - keys2.push.apply(keys2, symbols); - } - return keys2; - } - function _objectSpread(target) { - for (var i = 1; i < arguments.length; i++) { - var source2 = arguments[i] != null ? arguments[i] : {}; - if (i % 2) { - ownKeys(Object(source2), true).forEach(function(key) { - _defineProperty(target, key, source2[key]); - }); - } else if (Object.getOwnPropertyDescriptors) { - Object.defineProperties(target, Object.getOwnPropertyDescriptors(source2)); - } else { - ownKeys(Object(source2)).forEach(function(key) { - Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source2, key)); - }); - } - } - return target; - } - function _defineProperty(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); - } else { - obj[key] = value; - } - return obj; - } - var ERR_INVALID_ARG_TYPE = require_errors2().codes.ERR_INVALID_ARG_TYPE; - function from(Readable2, iterable, opts) { - var iterator; - if (iterable && typeof iterable.next === "function") { - iterator = iterable; - } else if (iterable && iterable[Symbol.asyncIterator]) - iterator = iterable[Symbol.asyncIterator](); - else if (iterable && iterable[Symbol.iterator]) - iterator = iterable[Symbol.iterator](); - else - throw new ERR_INVALID_ARG_TYPE("iterable", ["Iterable"], iterable); - var readable = new Readable2(_objectSpread({ - objectMode: true - }, opts)); - var reading = false; - readable._read = function() { - if (!reading) { - reading = true; - next(); - } - }; - function next() { - return _next2.apply(this, arguments); - } - function _next2() { - _next2 = _asyncToGenerator(function* () { - try { - var _ref = yield iterator.next(), value = _ref.value, done = _ref.done; - if (done) { - readable.push(null); - } else if (readable.push(yield value)) { - next(); - } else { - reading = false; - } - } catch (err) { - readable.destroy(err); - } - }); - return _next2.apply(this, arguments); - } - return readable; - } - module2.exports = from; - } -}); - -// node_modules/readable-stream/lib/_stream_readable.js -var require_stream_readable = __commonJS({ - "node_modules/readable-stream/lib/_stream_readable.js"(exports2, module2) { - "use strict"; - module2.exports = Readable2; - var Duplex; - Readable2.ReadableState = ReadableState; - var EE = require("events").EventEmitter; - var EElistenerCount = function EElistenerCount2(emitter, type) { - return emitter.listeners(type).length; - }; - var Stream = require_stream(); - var Buffer2 = require("buffer").Buffer; - var OurUint8Array = global.Uint8Array || function() { - }; - function _uint8ArrayToBuffer(chunk) { - return Buffer2.from(chunk); - } - function _isUint8Array(obj) { - return Buffer2.isBuffer(obj) || obj instanceof OurUint8Array; - } - var debugUtil = require("util"); - var debug; - if (debugUtil && debugUtil.debuglog) { - debug = debugUtil.debuglog("stream"); - } else { - debug = function debug2() { - }; - } - var BufferList = require_buffer_list(); - var destroyImpl = require_destroy(); - var _require = require_state(); - var getHighWaterMark = _require.getHighWaterMark; - var _require$codes = require_errors2().codes; - var ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE; - var ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF; - var ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED; - var ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT; - var StringDecoder; - var createReadableStreamAsyncIterator; - var from; - require_inherits()(Readable2, Stream); - var errorOrDestroy = destroyImpl.errorOrDestroy; - var kProxyEvents = ["error", "close", "destroy", "pause", "resume"]; - function prependListener(emitter, event, fn2) { - if (typeof emitter.prependListener === "function") - return emitter.prependListener(event, fn2); - if (!emitter._events || !emitter._events[event]) - emitter.on(event, fn2); - else if (Array.isArray(emitter._events[event])) - emitter._events[event].unshift(fn2); - else - emitter._events[event] = [fn2, emitter._events[event]]; - } - function ReadableState(options, stream4, isDuplex) { - Duplex = Duplex || require_stream_duplex(); - options = options || {}; - if (typeof isDuplex !== "boolean") - isDuplex = stream4 instanceof Duplex; - this.objectMode = !!options.objectMode; - if (isDuplex) - this.objectMode = this.objectMode || !!options.readableObjectMode; - this.highWaterMark = getHighWaterMark(this, options, "readableHighWaterMark", isDuplex); - this.buffer = new BufferList(); - this.length = 0; - this.pipes = null; - this.pipesCount = 0; - this.flowing = null; - this.ended = false; - this.endEmitted = false; - this.reading = false; - this.sync = true; - this.needReadable = false; - this.emittedReadable = false; - this.readableListening = false; - this.resumeScheduled = false; - this.paused = true; - this.emitClose = options.emitClose !== false; - this.autoDestroy = !!options.autoDestroy; - this.destroyed = false; - this.defaultEncoding = options.defaultEncoding || "utf8"; - this.awaitDrain = 0; - this.readingMore = false; - this.decoder = null; - this.encoding = null; - if (options.encoding) { - if (!StringDecoder) - StringDecoder = require_string_decoder().StringDecoder; - this.decoder = new StringDecoder(options.encoding); - this.encoding = options.encoding; - } - } - function Readable2(options) { - Duplex = Duplex || require_stream_duplex(); - if (!(this instanceof Readable2)) - return new Readable2(options); - var isDuplex = this instanceof Duplex; - this._readableState = new ReadableState(options, this, isDuplex); - this.readable = true; - if (options) { - if (typeof options.read === "function") - this._read = options.read; - if (typeof options.destroy === "function") - this._destroy = options.destroy; - } - Stream.call(this); - } - Object.defineProperty(Readable2.prototype, "destroyed", { - enumerable: false, - get: function get() { - if (this._readableState === void 0) { - return false; - } - return this._readableState.destroyed; - }, - set: function set(value) { - if (!this._readableState) { - return; - } - this._readableState.destroyed = value; - } - }); - Readable2.prototype.destroy = destroyImpl.destroy; - Readable2.prototype._undestroy = destroyImpl.undestroy; - Readable2.prototype._destroy = function(err, cb) { - cb(err); - }; - Readable2.prototype.push = function(chunk, encoding) { - var state = this._readableState; - var skipChunkCheck; - if (!state.objectMode) { - if (typeof chunk === "string") { - encoding = encoding || state.defaultEncoding; - if (encoding !== state.encoding) { - chunk = Buffer2.from(chunk, encoding); - encoding = ""; - } - skipChunkCheck = true; - } - } else { - skipChunkCheck = true; - } - return readableAddChunk(this, chunk, encoding, false, skipChunkCheck); - }; - Readable2.prototype.unshift = function(chunk) { - return readableAddChunk(this, chunk, null, true, false); - }; - function readableAddChunk(stream4, chunk, encoding, addToFront, skipChunkCheck) { - debug("readableAddChunk", chunk); - var state = stream4._readableState; - if (chunk === null) { - state.reading = false; - onEofChunk(stream4, state); - } else { - var er; - if (!skipChunkCheck) - er = chunkInvalid(state, chunk); - if (er) { - errorOrDestroy(stream4, er); - } else if (state.objectMode || chunk && chunk.length > 0) { - if (typeof chunk !== "string" && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer2.prototype) { - chunk = _uint8ArrayToBuffer(chunk); - } - if (addToFront) { - if (state.endEmitted) - errorOrDestroy(stream4, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT()); - else - addChunk(stream4, state, chunk, true); - } else if (state.ended) { - errorOrDestroy(stream4, new ERR_STREAM_PUSH_AFTER_EOF()); - } else if (state.destroyed) { - return false; - } else { - state.reading = false; - if (state.decoder && !encoding) { - chunk = state.decoder.write(chunk); - if (state.objectMode || chunk.length !== 0) - addChunk(stream4, state, chunk, false); - else - maybeReadMore(stream4, state); - } else { - addChunk(stream4, state, chunk, false); - } - } - } else if (!addToFront) { - state.reading = false; - maybeReadMore(stream4, state); - } - } - return !state.ended && (state.length < state.highWaterMark || state.length === 0); - } - function addChunk(stream4, state, chunk, addToFront) { - if (state.flowing && state.length === 0 && !state.sync) { - state.awaitDrain = 0; - stream4.emit("data", chunk); - } else { - state.length += state.objectMode ? 1 : chunk.length; - if (addToFront) - state.buffer.unshift(chunk); - else - state.buffer.push(chunk); - if (state.needReadable) - emitReadable(stream4); - } - maybeReadMore(stream4, state); - } - function chunkInvalid(state, chunk) { - var er; - if (!_isUint8Array(chunk) && typeof chunk !== "string" && chunk !== void 0 && !state.objectMode) { - er = new ERR_INVALID_ARG_TYPE("chunk", ["string", "Buffer", "Uint8Array"], chunk); - } - return er; - } - Readable2.prototype.isPaused = function() { - return this._readableState.flowing === false; - }; - Readable2.prototype.setEncoding = function(enc) { - if (!StringDecoder) - StringDecoder = require_string_decoder().StringDecoder; - var decoder = new StringDecoder(enc); - this._readableState.decoder = decoder; - this._readableState.encoding = this._readableState.decoder.encoding; - var p = this._readableState.buffer.head; - var content = ""; - while (p !== null) { - content += decoder.write(p.data); - p = p.next; - } - this._readableState.buffer.clear(); - if (content !== "") - this._readableState.buffer.push(content); - this._readableState.length = content.length; - return this; - }; - var MAX_HWM = 1073741824; - function computeNewHighWaterMark(n) { - if (n >= MAX_HWM) { - n = MAX_HWM; - } else { - n--; - n |= n >>> 1; - n |= n >>> 2; - n |= n >>> 4; - n |= n >>> 8; - n |= n >>> 16; - n++; - } - return n; - } - function howMuchToRead(n, state) { - if (n <= 0 || state.length === 0 && state.ended) - return 0; - if (state.objectMode) - return 1; - if (n !== n) { - if (state.flowing && state.length) - return state.buffer.head.data.length; - else - return state.length; - } - if (n > state.highWaterMark) - state.highWaterMark = computeNewHighWaterMark(n); - if (n <= state.length) - return n; - if (!state.ended) { - state.needReadable = true; - return 0; - } - return state.length; - } - Readable2.prototype.read = function(n) { - debug("read", n); - n = parseInt(n, 10); - var state = this._readableState; - var nOrig = n; - if (n !== 0) - state.emittedReadable = false; - if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) { - debug("read: emitReadable", state.length, state.ended); - if (state.length === 0 && state.ended) - endReadable(this); - else - emitReadable(this); - return null; - } - n = howMuchToRead(n, state); - if (n === 0 && state.ended) { - if (state.length === 0) - endReadable(this); - return null; - } - var doRead = state.needReadable; - debug("need readable", doRead); - if (state.length === 0 || state.length - n < state.highWaterMark) { - doRead = true; - debug("length less than watermark", doRead); - } - if (state.ended || state.reading) { - doRead = false; - debug("reading or ended", doRead); - } else if (doRead) { - debug("do read"); - state.reading = true; - state.sync = true; - if (state.length === 0) - state.needReadable = true; - this._read(state.highWaterMark); - state.sync = false; - if (!state.reading) - n = howMuchToRead(nOrig, state); - } - var ret; - if (n > 0) - ret = fromList(n, state); - else - ret = null; - if (ret === null) { - state.needReadable = state.length <= state.highWaterMark; - n = 0; - } else { - state.length -= n; - state.awaitDrain = 0; - } - if (state.length === 0) { - if (!state.ended) - state.needReadable = true; - if (nOrig !== n && state.ended) - endReadable(this); - } - if (ret !== null) - this.emit("data", ret); - return ret; - }; - function onEofChunk(stream4, state) { - debug("onEofChunk"); - if (state.ended) - return; - if (state.decoder) { - var chunk = state.decoder.end(); - if (chunk && chunk.length) { - state.buffer.push(chunk); - state.length += state.objectMode ? 1 : chunk.length; - } - } - state.ended = true; - if (state.sync) { - emitReadable(stream4); - } else { - state.needReadable = false; - if (!state.emittedReadable) { - state.emittedReadable = true; - emitReadable_(stream4); - } - } - } - function emitReadable(stream4) { - var state = stream4._readableState; - debug("emitReadable", state.needReadable, state.emittedReadable); - state.needReadable = false; - if (!state.emittedReadable) { - debug("emitReadable", state.flowing); - state.emittedReadable = true; - process.nextTick(emitReadable_, stream4); - } - } - function emitReadable_(stream4) { - var state = stream4._readableState; - debug("emitReadable_", state.destroyed, state.length, state.ended); - if (!state.destroyed && (state.length || state.ended)) { - stream4.emit("readable"); - state.emittedReadable = false; - } - state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark; - flow(stream4); - } - function maybeReadMore(stream4, state) { - if (!state.readingMore) { - state.readingMore = true; - process.nextTick(maybeReadMore_, stream4, state); - } - } - function maybeReadMore_(stream4, state) { - while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) { - var len = state.length; - debug("maybeReadMore read 0"); - stream4.read(0); - if (len === state.length) - break; - } - state.readingMore = false; - } - Readable2.prototype._read = function(n) { - errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED("_read()")); - }; - Readable2.prototype.pipe = function(dest, pipeOpts) { - var src = this; - var state = this._readableState; - switch (state.pipesCount) { - case 0: - state.pipes = dest; - break; - case 1: - state.pipes = [state.pipes, dest]; - break; - default: - state.pipes.push(dest); - break; - } - state.pipesCount += 1; - debug("pipe count=%d opts=%j", state.pipesCount, pipeOpts); - var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr; - var endFn = doEnd ? onend : unpipe; - if (state.endEmitted) - process.nextTick(endFn); - else - src.once("end", endFn); - dest.on("unpipe", onunpipe); - function onunpipe(readable, unpipeInfo) { - debug("onunpipe"); - if (readable === src) { - if (unpipeInfo && unpipeInfo.hasUnpiped === false) { - unpipeInfo.hasUnpiped = true; - cleanup(); - } - } - } - function onend() { - debug("onend"); - dest.end(); - } - var ondrain = pipeOnDrain(src); - dest.on("drain", ondrain); - var cleanedUp = false; - function cleanup() { - debug("cleanup"); - dest.removeListener("close", onclose); - dest.removeListener("finish", onfinish); - dest.removeListener("drain", ondrain); - dest.removeListener("error", onerror); - dest.removeListener("unpipe", onunpipe); - src.removeListener("end", onend); - src.removeListener("end", unpipe); - src.removeListener("data", ondata); - cleanedUp = true; - if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) - ondrain(); - } - src.on("data", ondata); - function ondata(chunk) { - debug("ondata"); - var ret = dest.write(chunk); - debug("dest.write", ret); - if (ret === false) { - if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) { - debug("false write response, pause", state.awaitDrain); - state.awaitDrain++; - } - src.pause(); - } - } - function onerror(er) { - debug("onerror", er); - unpipe(); - dest.removeListener("error", onerror); - if (EElistenerCount(dest, "error") === 0) - errorOrDestroy(dest, er); - } - prependListener(dest, "error", onerror); - function onclose() { - dest.removeListener("finish", onfinish); - unpipe(); - } - dest.once("close", onclose); - function onfinish() { - debug("onfinish"); - dest.removeListener("close", onclose); - unpipe(); - } - dest.once("finish", onfinish); - function unpipe() { - debug("unpipe"); - src.unpipe(dest); - } - dest.emit("pipe", src); - if (!state.flowing) { - debug("pipe resume"); - src.resume(); - } - return dest; - }; - function pipeOnDrain(src) { - return function pipeOnDrainFunctionResult() { - var state = src._readableState; - debug("pipeOnDrain", state.awaitDrain); - if (state.awaitDrain) - state.awaitDrain--; - if (state.awaitDrain === 0 && EElistenerCount(src, "data")) { - state.flowing = true; - flow(src); - } - }; - } - Readable2.prototype.unpipe = function(dest) { - var state = this._readableState; - var unpipeInfo = { - hasUnpiped: false - }; - if (state.pipesCount === 0) - return this; - if (state.pipesCount === 1) { - if (dest && dest !== state.pipes) - return this; - if (!dest) - dest = state.pipes; - state.pipes = null; - state.pipesCount = 0; - state.flowing = false; - if (dest) - dest.emit("unpipe", this, unpipeInfo); - return this; - } - if (!dest) { - var dests = state.pipes; - var len = state.pipesCount; - state.pipes = null; - state.pipesCount = 0; - state.flowing = false; - for (var i = 0; i < len; i++) { - dests[i].emit("unpipe", this, { - hasUnpiped: false - }); - } - return this; - } - var index = indexOf(state.pipes, dest); - if (index === -1) - return this; - state.pipes.splice(index, 1); - state.pipesCount -= 1; - if (state.pipesCount === 1) - state.pipes = state.pipes[0]; - dest.emit("unpipe", this, unpipeInfo); - return this; - }; - Readable2.prototype.on = function(ev, fn2) { - var res = Stream.prototype.on.call(this, ev, fn2); - var state = this._readableState; - if (ev === "data") { - state.readableListening = this.listenerCount("readable") > 0; - if (state.flowing !== false) - this.resume(); - } else if (ev === "readable") { - if (!state.endEmitted && !state.readableListening) { - state.readableListening = state.needReadable = true; - state.flowing = false; - state.emittedReadable = false; - debug("on readable", state.length, state.reading); - if (state.length) { - emitReadable(this); - } else if (!state.reading) { - process.nextTick(nReadingNextTick, this); - } - } - } - return res; - }; - Readable2.prototype.addListener = Readable2.prototype.on; - Readable2.prototype.removeListener = function(ev, fn2) { - var res = Stream.prototype.removeListener.call(this, ev, fn2); - if (ev === "readable") { - process.nextTick(updateReadableListening, this); - } - return res; - }; - Readable2.prototype.removeAllListeners = function(ev) { - var res = Stream.prototype.removeAllListeners.apply(this, arguments); - if (ev === "readable" || ev === void 0) { - process.nextTick(updateReadableListening, this); - } - return res; - }; - function updateReadableListening(self2) { - var state = self2._readableState; - state.readableListening = self2.listenerCount("readable") > 0; - if (state.resumeScheduled && !state.paused) { - state.flowing = true; - } else if (self2.listenerCount("data") > 0) { - self2.resume(); - } - } - function nReadingNextTick(self2) { - debug("readable nexttick read 0"); - self2.read(0); - } - Readable2.prototype.resume = function() { - var state = this._readableState; - if (!state.flowing) { - debug("resume"); - state.flowing = !state.readableListening; - resume(this, state); - } - state.paused = false; - return this; - }; - function resume(stream4, state) { - if (!state.resumeScheduled) { - state.resumeScheduled = true; - process.nextTick(resume_, stream4, state); - } - } - function resume_(stream4, state) { - debug("resume", state.reading); - if (!state.reading) { - stream4.read(0); - } - state.resumeScheduled = false; - stream4.emit("resume"); - flow(stream4); - if (state.flowing && !state.reading) - stream4.read(0); - } - Readable2.prototype.pause = function() { - debug("call pause flowing=%j", this._readableState.flowing); - if (this._readableState.flowing !== false) { - debug("pause"); - this._readableState.flowing = false; - this.emit("pause"); - } - this._readableState.paused = true; - return this; - }; - function flow(stream4) { - var state = stream4._readableState; - debug("flow", state.flowing); - while (state.flowing && stream4.read() !== null) { - ; - } - } - Readable2.prototype.wrap = function(stream4) { - var _this = this; - var state = this._readableState; - var paused = false; - stream4.on("end", function() { - debug("wrapped end"); - if (state.decoder && !state.ended) { - var chunk = state.decoder.end(); - if (chunk && chunk.length) - _this.push(chunk); - } - _this.push(null); - }); - stream4.on("data", function(chunk) { - debug("wrapped data"); - if (state.decoder) - chunk = state.decoder.write(chunk); - if (state.objectMode && (chunk === null || chunk === void 0)) - return; - else if (!state.objectMode && (!chunk || !chunk.length)) - return; - var ret = _this.push(chunk); - if (!ret) { - paused = true; - stream4.pause(); - } - }); - for (var i in stream4) { - if (this[i] === void 0 && typeof stream4[i] === "function") { - this[i] = function methodWrap(method) { - return function methodWrapReturnFunction() { - return stream4[method].apply(stream4, arguments); - }; - }(i); - } - } - for (var n = 0; n < kProxyEvents.length; n++) { - stream4.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n])); - } - this._read = function(n2) { - debug("wrapped _read", n2); - if (paused) { - paused = false; - stream4.resume(); - } - }; - return this; - }; - if (typeof Symbol === "function") { - Readable2.prototype[Symbol.asyncIterator] = function() { - if (createReadableStreamAsyncIterator === void 0) { - createReadableStreamAsyncIterator = require_async_iterator(); - } - return createReadableStreamAsyncIterator(this); - }; - } - Object.defineProperty(Readable2.prototype, "readableHighWaterMark", { - enumerable: false, - get: function get() { - return this._readableState.highWaterMark; - } - }); - Object.defineProperty(Readable2.prototype, "readableBuffer", { - enumerable: false, - get: function get() { - return this._readableState && this._readableState.buffer; - } - }); - Object.defineProperty(Readable2.prototype, "readableFlowing", { - enumerable: false, - get: function get() { - return this._readableState.flowing; - }, - set: function set(state) { - if (this._readableState) { - this._readableState.flowing = state; - } - } - }); - Readable2._fromList = fromList; - Object.defineProperty(Readable2.prototype, "readableLength", { - enumerable: false, - get: function get() { - return this._readableState.length; - } - }); - function fromList(n, state) { - if (state.length === 0) - return null; - var ret; - if (state.objectMode) - ret = state.buffer.shift(); - else if (!n || n >= state.length) { - if (state.decoder) - ret = state.buffer.join(""); - else if (state.buffer.length === 1) - ret = state.buffer.first(); - else - ret = state.buffer.concat(state.length); - state.buffer.clear(); - } else { - ret = state.buffer.consume(n, state.decoder); - } - return ret; - } - function endReadable(stream4) { - var state = stream4._readableState; - debug("endReadable", state.endEmitted); - if (!state.endEmitted) { - state.ended = true; - process.nextTick(endReadableNT, state, stream4); - } - } - function endReadableNT(state, stream4) { - debug("endReadableNT", state.endEmitted, state.length); - if (!state.endEmitted && state.length === 0) { - state.endEmitted = true; - stream4.readable = false; - stream4.emit("end"); - if (state.autoDestroy) { - var wState = stream4._writableState; - if (!wState || wState.autoDestroy && wState.finished) { - stream4.destroy(); - } - } - } - } - if (typeof Symbol === "function") { - Readable2.from = function(iterable, opts) { - if (from === void 0) { - from = require_from(); - } - return from(Readable2, iterable, opts); - }; - } - function indexOf(xs, x) { - for (var i = 0, l = xs.length; i < l; i++) { - if (xs[i] === x) - return i; - } - return -1; - } - } -}); - -// node_modules/readable-stream/lib/_stream_duplex.js -var require_stream_duplex = __commonJS({ - "node_modules/readable-stream/lib/_stream_duplex.js"(exports2, module2) { - "use strict"; - var objectKeys = Object.keys || function(obj) { - var keys3 = []; - for (var key in obj) { - keys3.push(key); - } - return keys3; - }; - module2.exports = Duplex; - var Readable2 = require_stream_readable(); - var Writable = require_stream_writable(); - require_inherits()(Duplex, Readable2); - { - keys2 = objectKeys(Writable.prototype); - for (v = 0; v < keys2.length; v++) { - method = keys2[v]; - if (!Duplex.prototype[method]) - Duplex.prototype[method] = Writable.prototype[method]; - } - } - var keys2; - var method; - var v; - function Duplex(options) { - if (!(this instanceof Duplex)) - return new Duplex(options); - Readable2.call(this, options); - Writable.call(this, options); - this.allowHalfOpen = true; - if (options) { - if (options.readable === false) - this.readable = false; - if (options.writable === false) - this.writable = false; - if (options.allowHalfOpen === false) { - this.allowHalfOpen = false; - this.once("end", onend); - } - } - } - Object.defineProperty(Duplex.prototype, "writableHighWaterMark", { - enumerable: false, - get: function get() { - return this._writableState.highWaterMark; - } - }); - Object.defineProperty(Duplex.prototype, "writableBuffer", { - enumerable: false, - get: function get() { - return this._writableState && this._writableState.getBuffer(); - } - }); - Object.defineProperty(Duplex.prototype, "writableLength", { - enumerable: false, - get: function get() { - return this._writableState.length; - } - }); - function onend() { - if (this._writableState.ended) - return; - process.nextTick(onEndNT, this); - } - function onEndNT(self2) { - self2.end(); - } - Object.defineProperty(Duplex.prototype, "destroyed", { - enumerable: false, - get: function get() { - if (this._readableState === void 0 || this._writableState === void 0) { - return false; - } - return this._readableState.destroyed && this._writableState.destroyed; - }, - set: function set(value) { - if (this._readableState === void 0 || this._writableState === void 0) { - return; - } - this._readableState.destroyed = value; - this._writableState.destroyed = value; - } - }); - } -}); - -// node_modules/readable-stream/lib/_stream_writable.js -var require_stream_writable = __commonJS({ - "node_modules/readable-stream/lib/_stream_writable.js"(exports2, module2) { - "use strict"; - module2.exports = Writable; - function CorkedRequest(state) { - var _this = this; - this.next = null; - this.entry = null; - this.finish = function() { - onCorkedFinish(_this, state); - }; - } - var Duplex; - Writable.WritableState = WritableState; - var internalUtil = { - deprecate: require_node() - }; - var Stream = require_stream(); - var Buffer2 = require("buffer").Buffer; - var OurUint8Array = global.Uint8Array || function() { - }; - function _uint8ArrayToBuffer(chunk) { - return Buffer2.from(chunk); - } - function _isUint8Array(obj) { - return Buffer2.isBuffer(obj) || obj instanceof OurUint8Array; - } - var destroyImpl = require_destroy(); - var _require = require_state(); - var getHighWaterMark = _require.getHighWaterMark; - var _require$codes = require_errors2().codes; - var ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE; - var ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED; - var ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK; - var ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE; - var ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED; - var ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES; - var ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END; - var ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING; - var errorOrDestroy = destroyImpl.errorOrDestroy; - require_inherits()(Writable, Stream); - function nop() { - } - function WritableState(options, stream4, isDuplex) { - Duplex = Duplex || require_stream_duplex(); - options = options || {}; - if (typeof isDuplex !== "boolean") - isDuplex = stream4 instanceof Duplex; - this.objectMode = !!options.objectMode; - if (isDuplex) - this.objectMode = this.objectMode || !!options.writableObjectMode; - this.highWaterMark = getHighWaterMark(this, options, "writableHighWaterMark", isDuplex); - this.finalCalled = false; - this.needDrain = false; - this.ending = false; - this.ended = false; - this.finished = false; - this.destroyed = false; - var noDecode = options.decodeStrings === false; - this.decodeStrings = !noDecode; - this.defaultEncoding = options.defaultEncoding || "utf8"; - this.length = 0; - this.writing = false; - this.corked = 0; - this.sync = true; - this.bufferProcessing = false; - this.onwrite = function(er) { - onwrite(stream4, er); - }; - this.writecb = null; - this.writelen = 0; - this.bufferedRequest = null; - this.lastBufferedRequest = null; - this.pendingcb = 0; - this.prefinished = false; - this.errorEmitted = false; - this.emitClose = options.emitClose !== false; - this.autoDestroy = !!options.autoDestroy; - this.bufferedRequestCount = 0; - this.corkedRequestsFree = new CorkedRequest(this); - } - WritableState.prototype.getBuffer = function getBuffer() { - var current = this.bufferedRequest; - var out = []; - while (current) { - out.push(current); - current = current.next; - } - return out; - }; - (function() { - try { - Object.defineProperty(WritableState.prototype, "buffer", { - get: internalUtil.deprecate(function writableStateBufferGetter() { - return this.getBuffer(); - }, "_writableState.buffer is deprecated. Use _writableState.getBuffer instead.", "DEP0003") - }); - } catch (_) { - } - })(); - var realHasInstance; - if (typeof Symbol === "function" && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === "function") { - realHasInstance = Function.prototype[Symbol.hasInstance]; - Object.defineProperty(Writable, Symbol.hasInstance, { - value: function value(object) { - if (realHasInstance.call(this, object)) - return true; - if (this !== Writable) - return false; - return object && object._writableState instanceof WritableState; - } - }); - } else { - realHasInstance = function realHasInstance2(object) { - return object instanceof this; - }; - } - function Writable(options) { - Duplex = Duplex || require_stream_duplex(); - var isDuplex = this instanceof Duplex; - if (!isDuplex && !realHasInstance.call(Writable, this)) - return new Writable(options); - this._writableState = new WritableState(options, this, isDuplex); - this.writable = true; - if (options) { - if (typeof options.write === "function") - this._write = options.write; - if (typeof options.writev === "function") - this._writev = options.writev; - if (typeof options.destroy === "function") - this._destroy = options.destroy; - if (typeof options.final === "function") - this._final = options.final; - } - Stream.call(this); - } - Writable.prototype.pipe = function() { - errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE()); - }; - function writeAfterEnd(stream4, cb) { - var er = new ERR_STREAM_WRITE_AFTER_END(); - errorOrDestroy(stream4, er); - process.nextTick(cb, er); - } - function validChunk(stream4, state, chunk, cb) { - var er; - if (chunk === null) { - er = new ERR_STREAM_NULL_VALUES(); - } else if (typeof chunk !== "string" && !state.objectMode) { - er = new ERR_INVALID_ARG_TYPE("chunk", ["string", "Buffer"], chunk); - } - if (er) { - errorOrDestroy(stream4, er); - process.nextTick(cb, er); - return false; - } - return true; - } - Writable.prototype.write = function(chunk, encoding, cb) { - var state = this._writableState; - var ret = false; - var isBuf = !state.objectMode && _isUint8Array(chunk); - if (isBuf && !Buffer2.isBuffer(chunk)) { - chunk = _uint8ArrayToBuffer(chunk); - } - if (typeof encoding === "function") { - cb = encoding; - encoding = null; - } - if (isBuf) - encoding = "buffer"; - else if (!encoding) - encoding = state.defaultEncoding; - if (typeof cb !== "function") - cb = nop; - if (state.ending) - writeAfterEnd(this, cb); - else if (isBuf || validChunk(this, state, chunk, cb)) { - state.pendingcb++; - ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb); - } - return ret; - }; - Writable.prototype.cork = function() { - this._writableState.corked++; - }; - Writable.prototype.uncork = function() { - var state = this._writableState; - if (state.corked) { - state.corked--; - if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) - clearBuffer(this, state); - } - }; - Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) { - if (typeof encoding === "string") - encoding = encoding.toLowerCase(); - if (!(["hex", "utf8", "utf-8", "ascii", "binary", "base64", "ucs2", "ucs-2", "utf16le", "utf-16le", "raw"].indexOf((encoding + "").toLowerCase()) > -1)) - throw new ERR_UNKNOWN_ENCODING(encoding); - this._writableState.defaultEncoding = encoding; - return this; - }; - Object.defineProperty(Writable.prototype, "writableBuffer", { - enumerable: false, - get: function get() { - return this._writableState && this._writableState.getBuffer(); - } - }); - function decodeChunk(state, chunk, encoding) { - if (!state.objectMode && state.decodeStrings !== false && typeof chunk === "string") { - chunk = Buffer2.from(chunk, encoding); - } - return chunk; - } - Object.defineProperty(Writable.prototype, "writableHighWaterMark", { - enumerable: false, - get: function get() { - return this._writableState.highWaterMark; - } - }); - function writeOrBuffer(stream4, state, isBuf, chunk, encoding, cb) { - if (!isBuf) { - var newChunk = decodeChunk(state, chunk, encoding); - if (chunk !== newChunk) { - isBuf = true; - encoding = "buffer"; - chunk = newChunk; - } - } - var len = state.objectMode ? 1 : chunk.length; - state.length += len; - var ret = state.length < state.highWaterMark; - if (!ret) - state.needDrain = true; - if (state.writing || state.corked) { - var last = state.lastBufferedRequest; - state.lastBufferedRequest = { - chunk, - encoding, - isBuf, - callback: cb, - next: null - }; - if (last) { - last.next = state.lastBufferedRequest; - } else { - state.bufferedRequest = state.lastBufferedRequest; - } - state.bufferedRequestCount += 1; - } else { - doWrite(stream4, state, false, len, chunk, encoding, cb); - } - return ret; - } - function doWrite(stream4, state, writev, len, chunk, encoding, cb) { - state.writelen = len; - state.writecb = cb; - state.writing = true; - state.sync = true; - if (state.destroyed) - state.onwrite(new ERR_STREAM_DESTROYED("write")); - else if (writev) - stream4._writev(chunk, state.onwrite); - else - stream4._write(chunk, encoding, state.onwrite); - state.sync = false; - } - function onwriteError(stream4, state, sync, er, cb) { - --state.pendingcb; - if (sync) { - process.nextTick(cb, er); - process.nextTick(finishMaybe, stream4, state); - stream4._writableState.errorEmitted = true; - errorOrDestroy(stream4, er); - } else { - cb(er); - stream4._writableState.errorEmitted = true; - errorOrDestroy(stream4, er); - finishMaybe(stream4, state); - } - } - function onwriteStateUpdate(state) { - state.writing = false; - state.writecb = null; - state.length -= state.writelen; - state.writelen = 0; - } - function onwrite(stream4, er) { - var state = stream4._writableState; - var sync = state.sync; - var cb = state.writecb; - if (typeof cb !== "function") - throw new ERR_MULTIPLE_CALLBACK(); - onwriteStateUpdate(state); - if (er) - onwriteError(stream4, state, sync, er, cb); - else { - var finished = needFinish(state) || stream4.destroyed; - if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) { - clearBuffer(stream4, state); - } - if (sync) { - process.nextTick(afterWrite, stream4, state, finished, cb); - } else { - afterWrite(stream4, state, finished, cb); - } - } - } - function afterWrite(stream4, state, finished, cb) { - if (!finished) - onwriteDrain(stream4, state); - state.pendingcb--; - cb(); - finishMaybe(stream4, state); - } - function onwriteDrain(stream4, state) { - if (state.length === 0 && state.needDrain) { - state.needDrain = false; - stream4.emit("drain"); - } - } - function clearBuffer(stream4, state) { - state.bufferProcessing = true; - var entry = state.bufferedRequest; - if (stream4._writev && entry && entry.next) { - var l = state.bufferedRequestCount; - var buffer = new Array(l); - var holder = state.corkedRequestsFree; - holder.entry = entry; - var count = 0; - var allBuffers = true; - while (entry) { - buffer[count] = entry; - if (!entry.isBuf) - allBuffers = false; - entry = entry.next; - count += 1; - } - buffer.allBuffers = allBuffers; - doWrite(stream4, state, true, state.length, buffer, "", holder.finish); - state.pendingcb++; - state.lastBufferedRequest = null; - if (holder.next) { - state.corkedRequestsFree = holder.next; - holder.next = null; - } else { - state.corkedRequestsFree = new CorkedRequest(state); - } - state.bufferedRequestCount = 0; - } else { - while (entry) { - var chunk = entry.chunk; - var encoding = entry.encoding; - var cb = entry.callback; - var len = state.objectMode ? 1 : chunk.length; - doWrite(stream4, state, false, len, chunk, encoding, cb); - entry = entry.next; - state.bufferedRequestCount--; - if (state.writing) { - break; - } - } - if (entry === null) - state.lastBufferedRequest = null; - } - state.bufferedRequest = entry; - state.bufferProcessing = false; - } - Writable.prototype._write = function(chunk, encoding, cb) { - cb(new ERR_METHOD_NOT_IMPLEMENTED("_write()")); - }; - Writable.prototype._writev = null; - Writable.prototype.end = function(chunk, encoding, cb) { - var state = this._writableState; - if (typeof chunk === "function") { - cb = chunk; - chunk = null; - encoding = null; - } else if (typeof encoding === "function") { - cb = encoding; - encoding = null; - } - if (chunk !== null && chunk !== void 0) - this.write(chunk, encoding); - if (state.corked) { - state.corked = 1; - this.uncork(); - } - if (!state.ending) - endWritable(this, state, cb); - return this; - }; - Object.defineProperty(Writable.prototype, "writableLength", { - enumerable: false, - get: function get() { - return this._writableState.length; - } - }); - function needFinish(state) { - return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing; - } - function callFinal(stream4, state) { - stream4._final(function(err) { - state.pendingcb--; - if (err) { - errorOrDestroy(stream4, err); - } - state.prefinished = true; - stream4.emit("prefinish"); - finishMaybe(stream4, state); - }); - } - function prefinish(stream4, state) { - if (!state.prefinished && !state.finalCalled) { - if (typeof stream4._final === "function" && !state.destroyed) { - state.pendingcb++; - state.finalCalled = true; - process.nextTick(callFinal, stream4, state); - } else { - state.prefinished = true; - stream4.emit("prefinish"); - } - } - } - function finishMaybe(stream4, state) { - var need = needFinish(state); - if (need) { - prefinish(stream4, state); - if (state.pendingcb === 0) { - state.finished = true; - stream4.emit("finish"); - if (state.autoDestroy) { - var rState = stream4._readableState; - if (!rState || rState.autoDestroy && rState.endEmitted) { - stream4.destroy(); - } - } - } - } - return need; - } - function endWritable(stream4, state, cb) { - state.ending = true; - finishMaybe(stream4, state); - if (cb) { - if (state.finished) - process.nextTick(cb); - else - stream4.once("finish", cb); - } - state.ended = true; - stream4.writable = false; - } - function onCorkedFinish(corkReq, state, err) { - var entry = corkReq.entry; - corkReq.entry = null; - while (entry) { - var cb = entry.callback; - state.pendingcb--; - cb(err); - entry = entry.next; - } - state.corkedRequestsFree.next = corkReq; - } - Object.defineProperty(Writable.prototype, "destroyed", { - enumerable: false, - get: function get() { - if (this._writableState === void 0) { - return false; - } - return this._writableState.destroyed; - }, - set: function set(value) { - if (!this._writableState) { - return; - } - this._writableState.destroyed = value; - } - }); - Writable.prototype.destroy = destroyImpl.destroy; - Writable.prototype._undestroy = destroyImpl.undestroy; - Writable.prototype._destroy = function(err, cb) { - cb(err); - }; - } -}); - -// node_modules/winston-transport/legacy.js -var require_legacy = __commonJS({ - "node_modules/winston-transport/legacy.js"(exports2, module2) { - "use strict"; - var util2 = require("util"); - var { LEVEL } = require_triple_beam(); - var TransportStream = require_winston_transport(); - var LegacyTransportStream = module2.exports = function LegacyTransportStream2(options = {}) { - TransportStream.call(this, options); - if (!options.transport || typeof options.transport.log !== "function") { - throw new Error("Invalid transport, must be an object with a log method."); - } - this.transport = options.transport; - this.level = this.level || options.transport.level; - this.handleExceptions = this.handleExceptions || options.transport.handleExceptions; - this._deprecated(); - function transportError(err) { - this.emit("error", err, this.transport); - } - if (!this.transport.__winstonError) { - this.transport.__winstonError = transportError.bind(this); - this.transport.on("error", this.transport.__winstonError); - } - }; - util2.inherits(LegacyTransportStream, TransportStream); - LegacyTransportStream.prototype._write = function _write(info, enc, callback) { - if (this.silent || info.exception === true && !this.handleExceptions) { - return callback(null); - } - if (!this.level || this.levels[this.level] >= this.levels[info[LEVEL]]) { - this.transport.log(info[LEVEL], info.message, info, this._nop); - } - callback(null); - }; - LegacyTransportStream.prototype._writev = function _writev(chunks, callback) { - for (let i = 0; i < chunks.length; i++) { - if (this._accept(chunks[i])) { - this.transport.log( - chunks[i].chunk[LEVEL], - chunks[i].chunk.message, - chunks[i].chunk, - this._nop - ); - chunks[i].callback(); - } - } - return callback(null); - }; - LegacyTransportStream.prototype._deprecated = function _deprecated() { - console.error([ - `${this.transport.name} is a legacy winston transport. Consider upgrading: `, - "- Upgrade docs: https://github.com/winstonjs/winston/blob/master/UPGRADE-3.0.md" - ].join("\n")); - }; - LegacyTransportStream.prototype.close = function close() { - if (this.transport.close) { - this.transport.close(); - } - if (this.transport.__winstonError) { - this.transport.removeListener("error", this.transport.__winstonError); - this.transport.__winstonError = null; - } - }; - } -}); - -// node_modules/winston-transport/index.js -var require_winston_transport = __commonJS({ - "node_modules/winston-transport/index.js"(exports2, module2) { - "use strict"; - var util2 = require("util"); - var Writable = require_stream_writable(); - var { LEVEL } = require_triple_beam(); - var TransportStream = module2.exports = function TransportStream2(options = {}) { - Writable.call(this, { objectMode: true, highWaterMark: options.highWaterMark }); - this.format = options.format; - this.level = options.level; - this.handleExceptions = options.handleExceptions; - this.handleRejections = options.handleRejections; - this.silent = options.silent; - if (options.log) - this.log = options.log; - if (options.logv) - this.logv = options.logv; - if (options.close) - this.close = options.close; - this.once("pipe", (logger) => { - this.levels = logger.levels; - this.parent = logger; - }); - this.once("unpipe", (src) => { - if (src === this.parent) { - this.parent = null; - if (this.close) { - this.close(); - } - } - }); - }; - util2.inherits(TransportStream, Writable); - TransportStream.prototype._write = function _write(info, enc, callback) { - if (this.silent || info.exception === true && !this.handleExceptions) { - return callback(null); - } - const level = this.level || this.parent && this.parent.level; - if (!level || this.levels[level] >= this.levels[info[LEVEL]]) { - if (info && !this.format) { - return this.log(info, callback); - } - let errState; - let transformed; - try { - transformed = this.format.transform(Object.assign({}, info), this.format.options); - } catch (err) { - errState = err; - } - if (errState || !transformed) { - callback(); - if (errState) - throw errState; - return; - } - return this.log(transformed, callback); - } - this._writableState.sync = false; - return callback(null); - }; - TransportStream.prototype._writev = function _writev(chunks, callback) { - if (this.logv) { - const infos = chunks.filter(this._accept, this); - if (!infos.length) { - return callback(null); - } - return this.logv(infos, callback); - } - for (let i = 0; i < chunks.length; i++) { - if (!this._accept(chunks[i])) - continue; - if (chunks[i].chunk && !this.format) { - this.log(chunks[i].chunk, chunks[i].callback); - continue; - } - let errState; - let transformed; - try { - transformed = this.format.transform( - Object.assign({}, chunks[i].chunk), - this.format.options - ); - } catch (err) { - errState = err; - } - if (errState || !transformed) { - chunks[i].callback(); - if (errState) { - callback(null); - throw errState; - } - } else { - this.log(transformed, chunks[i].callback); - } - } - return callback(null); - }; - TransportStream.prototype._accept = function _accept(write) { - const info = write.chunk; - if (this.silent) { - return false; - } - const level = this.level || this.parent && this.parent.level; - if (info.exception === true || !level || this.levels[level] >= this.levels[info[LEVEL]]) { - if (this.handleExceptions || info.exception !== true) { - return true; - } - } - return false; - }; - TransportStream.prototype._nop = function _nop() { - return void 0; - }; - module2.exports.LegacyTransportStream = require_legacy(); - } -}); - -// node_modules/winston/lib/winston/transports/console.js -var require_console = __commonJS({ - "node_modules/winston/lib/winston/transports/console.js"(exports2, module2) { - "use strict"; - var os = require("os"); - var { LEVEL, MESSAGE } = require_triple_beam(); - var TransportStream = require_winston_transport(); - module2.exports = class Console extends TransportStream { - constructor(options = {}) { - super(options); - this.name = options.name || "console"; - this.stderrLevels = this._stringArrayToSet(options.stderrLevels); - this.consoleWarnLevels = this._stringArrayToSet(options.consoleWarnLevels); - this.eol = typeof options.eol === "string" ? options.eol : os.EOL; - this.setMaxListeners(30); - } - log(info, callback) { - setImmediate(() => this.emit("logged", info)); - if (this.stderrLevels[info[LEVEL]]) { - if (console._stderr) { - console._stderr.write(`${info[MESSAGE]}${this.eol}`); - } else { - console.error(info[MESSAGE]); - } - if (callback) { - callback(); - } - return; - } else if (this.consoleWarnLevels[info[LEVEL]]) { - if (console._stderr) { - console._stderr.write(`${info[MESSAGE]}${this.eol}`); - } else { - console.warn(info[MESSAGE]); - } - if (callback) { - callback(); - } - return; - } - if (console._stdout) { - console._stdout.write(`${info[MESSAGE]}${this.eol}`); - } else { - console.log(info[MESSAGE]); - } - if (callback) { - callback(); - } - } - _stringArrayToSet(strArray, errMsg) { - if (!strArray) - return {}; - errMsg = errMsg || "Cannot make set from type other than Array of string elements"; - if (!Array.isArray(strArray)) { - throw new Error(errMsg); - } - return strArray.reduce((set, el) => { - if (typeof el !== "string") { - throw new Error(errMsg); - } - set[el] = true; - return set; - }, {}); - } - }; - } -}); - -// node_modules/async/internal/isArrayLike.js -var require_isArrayLike = __commonJS({ - "node_modules/async/internal/isArrayLike.js"(exports2, module2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.default = isArrayLike; - function isArrayLike(value) { - return value && typeof value.length === "number" && value.length >= 0 && value.length % 1 === 0; - } - module2.exports = exports2["default"]; - } -}); - -// node_modules/async/internal/initialParams.js -var require_initialParams = __commonJS({ - "node_modules/async/internal/initialParams.js"(exports2, module2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.default = function(fn2) { - return function(...args2) { - var callback = args2.pop(); - return fn2.call(this, args2, callback); - }; - }; - module2.exports = exports2["default"]; - } -}); - -// node_modules/async/internal/setImmediate.js -var require_setImmediate = __commonJS({ - "node_modules/async/internal/setImmediate.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.fallback = fallback; - exports2.wrap = wrap; - var hasQueueMicrotask = exports2.hasQueueMicrotask = typeof queueMicrotask === "function" && queueMicrotask; - var hasSetImmediate = exports2.hasSetImmediate = typeof setImmediate === "function" && setImmediate; - var hasNextTick = exports2.hasNextTick = typeof process === "object" && typeof process.nextTick === "function"; - function fallback(fn2) { - setTimeout(fn2, 0); - } - function wrap(defer) { - return (fn2, ...args2) => defer(() => fn2(...args2)); - } - var _defer; - if (hasQueueMicrotask) { - _defer = queueMicrotask; - } else if (hasSetImmediate) { - _defer = setImmediate; - } else if (hasNextTick) { - _defer = process.nextTick; - } else { - _defer = fallback; - } - exports2.default = wrap(_defer); - } -}); - -// node_modules/async/asyncify.js -var require_asyncify = __commonJS({ - "node_modules/async/asyncify.js"(exports2, module2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.default = asyncify; - var _initialParams = require_initialParams(); - var _initialParams2 = _interopRequireDefault(_initialParams); - var _setImmediate = require_setImmediate(); - var _setImmediate2 = _interopRequireDefault(_setImmediate); - var _wrapAsync = require_wrapAsync(); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - function asyncify(func) { - if ((0, _wrapAsync.isAsync)(func)) { - return function(...args2) { - const callback = args2.pop(); - const promise = func.apply(this, args2); - return handlePromise(promise, callback); - }; - } - return (0, _initialParams2.default)(function(args2, callback) { - var result; - try { - result = func.apply(this, args2); - } catch (e) { - return callback(e); - } - if (result && typeof result.then === "function") { - return handlePromise(result, callback); - } else { - callback(null, result); - } - }); - } - function handlePromise(promise, callback) { - return promise.then((value) => { - invokeCallback(callback, null, value); - }, (err) => { - invokeCallback(callback, err && err.message ? err : new Error(err)); - }); - } - function invokeCallback(callback, error, value) { - try { - callback(error, value); - } catch (err) { - (0, _setImmediate2.default)((e) => { - throw e; - }, err); - } - } - module2.exports = exports2["default"]; - } -}); - -// node_modules/async/internal/wrapAsync.js -var require_wrapAsync = __commonJS({ - "node_modules/async/internal/wrapAsync.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.isAsyncIterable = exports2.isAsyncGenerator = exports2.isAsync = void 0; - var _asyncify = require_asyncify(); - var _asyncify2 = _interopRequireDefault(_asyncify); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - function isAsync(fn2) { - return fn2[Symbol.toStringTag] === "AsyncFunction"; - } - function isAsyncGenerator(fn2) { - return fn2[Symbol.toStringTag] === "AsyncGenerator"; - } - function isAsyncIterable(obj) { - return typeof obj[Symbol.asyncIterator] === "function"; - } - function wrapAsync2(asyncFn) { - if (typeof asyncFn !== "function") - throw new Error("expected a function"); - return isAsync(asyncFn) ? (0, _asyncify2.default)(asyncFn) : asyncFn; - } - exports2.default = wrapAsync2; - exports2.isAsync = isAsync; - exports2.isAsyncGenerator = isAsyncGenerator; - exports2.isAsyncIterable = isAsyncIterable; - } -}); - -// node_modules/async/internal/awaitify.js -var require_awaitify = __commonJS({ - "node_modules/async/internal/awaitify.js"(exports2, module2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.default = awaitify; - function awaitify(asyncFn, arity = asyncFn.length) { - if (!arity) - throw new Error("arity is undefined"); - function awaitable(...args2) { - if (typeof args2[arity - 1] === "function") { - return asyncFn.apply(this, args2); - } - return new Promise((resolve, reject) => { - args2[arity - 1] = (err, ...cbArgs) => { - if (err) - return reject(err); - resolve(cbArgs.length > 1 ? cbArgs : cbArgs[0]); - }; - asyncFn.apply(this, args2); - }); - } - return awaitable; - } - module2.exports = exports2["default"]; - } -}); - -// node_modules/async/internal/parallel.js -var require_parallel = __commonJS({ - "node_modules/async/internal/parallel.js"(exports2, module2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var _isArrayLike = require_isArrayLike(); - var _isArrayLike2 = _interopRequireDefault(_isArrayLike); - var _wrapAsync = require_wrapAsync(); - var _wrapAsync2 = _interopRequireDefault(_wrapAsync); - var _awaitify = require_awaitify(); - var _awaitify2 = _interopRequireDefault(_awaitify); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - exports2.default = (0, _awaitify2.default)((eachfn, tasks, callback) => { - var results = (0, _isArrayLike2.default)(tasks) ? [] : {}; - eachfn(tasks, (task, key, taskCb) => { - (0, _wrapAsync2.default)(task)((err, ...result) => { - if (result.length < 2) { - [result] = result; - } - results[key] = result; - taskCb(err); - }); - }, (err) => callback(err, results)); - }, 3); - module2.exports = exports2["default"]; - } -}); - -// node_modules/async/internal/once.js -var require_once = __commonJS({ - "node_modules/async/internal/once.js"(exports2, module2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.default = once; - function once(fn2) { - function wrapper(...args2) { - if (fn2 === null) - return; - var callFn = fn2; - fn2 = null; - callFn.apply(this, args2); - } - Object.assign(wrapper, fn2); - return wrapper; - } - module2.exports = exports2["default"]; - } -}); - -// node_modules/async/internal/getIterator.js -var require_getIterator = __commonJS({ - "node_modules/async/internal/getIterator.js"(exports2, module2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.default = function(coll) { - return coll[Symbol.iterator] && coll[Symbol.iterator](); - }; - module2.exports = exports2["default"]; - } -}); - -// node_modules/async/internal/iterator.js -var require_iterator = __commonJS({ - "node_modules/async/internal/iterator.js"(exports2, module2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.default = createIterator; - var _isArrayLike = require_isArrayLike(); - var _isArrayLike2 = _interopRequireDefault(_isArrayLike); - var _getIterator = require_getIterator(); - var _getIterator2 = _interopRequireDefault(_getIterator); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - function createArrayIterator(coll) { - var i = -1; - var len = coll.length; - return function next() { - return ++i < len ? { value: coll[i], key: i } : null; - }; - } - function createES2015Iterator(iterator) { - var i = -1; - return function next() { - var item = iterator.next(); - if (item.done) - return null; - i++; - return { value: item.value, key: i }; - }; - } - function createObjectIterator(obj) { - var okeys = obj ? Object.keys(obj) : []; - var i = -1; - var len = okeys.length; - return function next() { - var key = okeys[++i]; - if (key === "__proto__") { - return next(); - } - return i < len ? { value: obj[key], key } : null; - }; - } - function createIterator(coll) { - if ((0, _isArrayLike2.default)(coll)) { - return createArrayIterator(coll); - } - var iterator = (0, _getIterator2.default)(coll); - return iterator ? createES2015Iterator(iterator) : createObjectIterator(coll); - } - module2.exports = exports2["default"]; - } -}); - -// node_modules/async/internal/onlyOnce.js -var require_onlyOnce = __commonJS({ - "node_modules/async/internal/onlyOnce.js"(exports2, module2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.default = onlyOnce; - function onlyOnce(fn2) { - return function(...args2) { - if (fn2 === null) - throw new Error("Callback was already called."); - var callFn = fn2; - fn2 = null; - callFn.apply(this, args2); - }; - } - module2.exports = exports2["default"]; - } -}); - -// node_modules/async/internal/breakLoop.js -var require_breakLoop = __commonJS({ - "node_modules/async/internal/breakLoop.js"(exports2, module2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var breakLoop = {}; - exports2.default = breakLoop; - module2.exports = exports2["default"]; - } -}); - -// node_modules/async/internal/asyncEachOfLimit.js -var require_asyncEachOfLimit = __commonJS({ - "node_modules/async/internal/asyncEachOfLimit.js"(exports2, module2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.default = asyncEachOfLimit; - var _breakLoop = require_breakLoop(); - var _breakLoop2 = _interopRequireDefault(_breakLoop); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - function asyncEachOfLimit(generator, limit, iteratee, callback) { - let done = false; - let canceled = false; - let awaiting = false; - let running = 0; - let idx = 0; - function replenish() { - if (running >= limit || awaiting || done) - return; - awaiting = true; - generator.next().then(({ value, done: iterDone }) => { - if (canceled || done) - return; - awaiting = false; - if (iterDone) { - done = true; - if (running <= 0) { - callback(null); - } - return; - } - running++; - iteratee(value, idx, iterateeCallback); - idx++; - replenish(); - }).catch(handleError); - } - function iterateeCallback(err, result) { - running -= 1; - if (canceled) - return; - if (err) - return handleError(err); - if (err === false) { - done = true; - canceled = true; - return; - } - if (result === _breakLoop2.default || done && running <= 0) { - done = true; - return callback(null); - } - replenish(); - } - function handleError(err) { - if (canceled) - return; - awaiting = false; - done = true; - callback(err); - } - replenish(); - } - module2.exports = exports2["default"]; - } -}); - -// node_modules/async/internal/eachOfLimit.js -var require_eachOfLimit = __commonJS({ - "node_modules/async/internal/eachOfLimit.js"(exports2, module2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var _once = require_once(); - var _once2 = _interopRequireDefault(_once); - var _iterator = require_iterator(); - var _iterator2 = _interopRequireDefault(_iterator); - var _onlyOnce = require_onlyOnce(); - var _onlyOnce2 = _interopRequireDefault(_onlyOnce); - var _wrapAsync = require_wrapAsync(); - var _asyncEachOfLimit = require_asyncEachOfLimit(); - var _asyncEachOfLimit2 = _interopRequireDefault(_asyncEachOfLimit); - var _breakLoop = require_breakLoop(); - var _breakLoop2 = _interopRequireDefault(_breakLoop); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - exports2.default = (limit) => { - return (obj, iteratee, callback) => { - callback = (0, _once2.default)(callback); - if (limit <= 0) { - throw new RangeError("concurrency limit cannot be less than 1"); - } - if (!obj) { - return callback(null); - } - if ((0, _wrapAsync.isAsyncGenerator)(obj)) { - return (0, _asyncEachOfLimit2.default)(obj, limit, iteratee, callback); - } - if ((0, _wrapAsync.isAsyncIterable)(obj)) { - return (0, _asyncEachOfLimit2.default)(obj[Symbol.asyncIterator](), limit, iteratee, callback); - } - var nextElem = (0, _iterator2.default)(obj); - var done = false; - var canceled = false; - var running = 0; - var looping = false; - function iterateeCallback(err, value) { - if (canceled) - return; - running -= 1; - if (err) { - done = true; - callback(err); - } else if (err === false) { - done = true; - canceled = true; - } else if (value === _breakLoop2.default || done && running <= 0) { - done = true; - return callback(null); - } else if (!looping) { - replenish(); - } - } - function replenish() { - looping = true; - while (running < limit && !done) { - var elem = nextElem(); - if (elem === null) { - done = true; - if (running <= 0) { - callback(null); - } - return; - } - running += 1; - iteratee(elem.value, elem.key, (0, _onlyOnce2.default)(iterateeCallback)); - } - looping = false; - } - replenish(); - }; - }; - module2.exports = exports2["default"]; - } -}); - -// node_modules/async/eachOfLimit.js -var require_eachOfLimit2 = __commonJS({ - "node_modules/async/eachOfLimit.js"(exports2, module2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var _eachOfLimit2 = require_eachOfLimit(); - var _eachOfLimit3 = _interopRequireDefault(_eachOfLimit2); - var _wrapAsync = require_wrapAsync(); - var _wrapAsync2 = _interopRequireDefault(_wrapAsync); - var _awaitify = require_awaitify(); - var _awaitify2 = _interopRequireDefault(_awaitify); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - function eachOfLimit(coll, limit, iteratee, callback) { - return (0, _eachOfLimit3.default)(limit)(coll, (0, _wrapAsync2.default)(iteratee), callback); - } - exports2.default = (0, _awaitify2.default)(eachOfLimit, 4); - module2.exports = exports2["default"]; - } -}); - -// node_modules/async/eachOfSeries.js -var require_eachOfSeries = __commonJS({ - "node_modules/async/eachOfSeries.js"(exports2, module2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var _eachOfLimit = require_eachOfLimit2(); - var _eachOfLimit2 = _interopRequireDefault(_eachOfLimit); - var _awaitify = require_awaitify(); - var _awaitify2 = _interopRequireDefault(_awaitify); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - function eachOfSeries(coll, iteratee, callback) { - return (0, _eachOfLimit2.default)(coll, 1, iteratee, callback); - } - exports2.default = (0, _awaitify2.default)(eachOfSeries, 3); - module2.exports = exports2["default"]; - } -}); - -// node_modules/async/series.js -var require_series = __commonJS({ - "node_modules/async/series.js"(exports2, module2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.default = series; - var _parallel2 = require_parallel(); - var _parallel3 = _interopRequireDefault(_parallel2); - var _eachOfSeries = require_eachOfSeries(); - var _eachOfSeries2 = _interopRequireDefault(_eachOfSeries); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - function series(tasks, callback) { - return (0, _parallel3.default)(_eachOfSeries2.default, tasks, callback); - } - module2.exports = exports2["default"]; - } -}); - -// node_modules/readable-stream/lib/_stream_transform.js -var require_stream_transform = __commonJS({ - "node_modules/readable-stream/lib/_stream_transform.js"(exports2, module2) { - "use strict"; - module2.exports = Transform; - var _require$codes = require_errors2().codes; - var ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED; - var ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK; - var ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING; - var ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0; - var Duplex = require_stream_duplex(); - require_inherits()(Transform, Duplex); - function afterTransform(er, data) { - var ts = this._transformState; - ts.transforming = false; - var cb = ts.writecb; - if (cb === null) { - return this.emit("error", new ERR_MULTIPLE_CALLBACK()); - } - ts.writechunk = null; - ts.writecb = null; - if (data != null) - this.push(data); - cb(er); - var rs = this._readableState; - rs.reading = false; - if (rs.needReadable || rs.length < rs.highWaterMark) { - this._read(rs.highWaterMark); - } - } - function Transform(options) { - if (!(this instanceof Transform)) - return new Transform(options); - Duplex.call(this, options); - this._transformState = { - afterTransform: afterTransform.bind(this), - needTransform: false, - transforming: false, - writecb: null, - writechunk: null, - writeencoding: null - }; - this._readableState.needReadable = true; - this._readableState.sync = false; - if (options) { - if (typeof options.transform === "function") - this._transform = options.transform; - if (typeof options.flush === "function") - this._flush = options.flush; - } - this.on("prefinish", prefinish); - } - function prefinish() { - var _this = this; - if (typeof this._flush === "function" && !this._readableState.destroyed) { - this._flush(function(er, data) { - done(_this, er, data); - }); - } else { - done(this, null, null); - } - } - Transform.prototype.push = function(chunk, encoding) { - this._transformState.needTransform = false; - return Duplex.prototype.push.call(this, chunk, encoding); - }; - Transform.prototype._transform = function(chunk, encoding, cb) { - cb(new ERR_METHOD_NOT_IMPLEMENTED("_transform()")); - }; - Transform.prototype._write = function(chunk, encoding, cb) { - var ts = this._transformState; - ts.writecb = cb; - ts.writechunk = chunk; - ts.writeencoding = encoding; - if (!ts.transforming) { - var rs = this._readableState; - if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) - this._read(rs.highWaterMark); - } - }; - Transform.prototype._read = function(n) { - var ts = this._transformState; - if (ts.writechunk !== null && !ts.transforming) { - ts.transforming = true; - this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform); - } else { - ts.needTransform = true; - } - }; - Transform.prototype._destroy = function(err, cb) { - Duplex.prototype._destroy.call(this, err, function(err2) { - cb(err2); - }); - }; - function done(stream4, er, data) { - if (er) - return stream4.emit("error", er); - if (data != null) - stream4.push(data); - if (stream4._writableState.length) - throw new ERR_TRANSFORM_WITH_LENGTH_0(); - if (stream4._transformState.transforming) - throw new ERR_TRANSFORM_ALREADY_TRANSFORMING(); - return stream4.push(null); - } - } -}); - -// node_modules/readable-stream/lib/_stream_passthrough.js -var require_stream_passthrough = __commonJS({ - "node_modules/readable-stream/lib/_stream_passthrough.js"(exports2, module2) { - "use strict"; - module2.exports = PassThrough; - var Transform = require_stream_transform(); - require_inherits()(PassThrough, Transform); - function PassThrough(options) { - if (!(this instanceof PassThrough)) - return new PassThrough(options); - Transform.call(this, options); - } - PassThrough.prototype._transform = function(chunk, encoding, cb) { - cb(null, chunk); - }; - } -}); - -// node_modules/readable-stream/lib/internal/streams/pipeline.js -var require_pipeline = __commonJS({ - "node_modules/readable-stream/lib/internal/streams/pipeline.js"(exports2, module2) { - "use strict"; - var eos; - function once(callback) { - var called = false; - return function() { - if (called) - return; - called = true; - callback.apply(void 0, arguments); - }; - } - var _require$codes = require_errors2().codes; - var ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS; - var ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED; - function noop2(err) { - if (err) - throw err; - } - function isRequest(stream4) { - return stream4.setHeader && typeof stream4.abort === "function"; - } - function destroyer(stream4, reading, writing, callback) { - callback = once(callback); - var closed = false; - stream4.on("close", function() { - closed = true; - }); - if (eos === void 0) - eos = require_end_of_stream(); - eos(stream4, { - readable: reading, - writable: writing - }, function(err) { - if (err) - return callback(err); - closed = true; - callback(); - }); - var destroyed = false; - return function(err) { - if (closed) - return; - if (destroyed) - return; - destroyed = true; - if (isRequest(stream4)) - return stream4.abort(); - if (typeof stream4.destroy === "function") - return stream4.destroy(); - callback(err || new ERR_STREAM_DESTROYED("pipe")); - }; - } - function call(fn2) { - fn2(); - } - function pipe(from, to) { - return from.pipe(to); - } - function popCallback(streams) { - if (!streams.length) - return noop2; - if (typeof streams[streams.length - 1] !== "function") - return noop2; - return streams.pop(); - } - function pipeline() { - for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) { - streams[_key] = arguments[_key]; - } - var callback = popCallback(streams); - if (Array.isArray(streams[0])) - streams = streams[0]; - if (streams.length < 2) { - throw new ERR_MISSING_ARGS("streams"); - } - var error; - var destroys = streams.map(function(stream4, i) { - var reading = i < streams.length - 1; - var writing = i > 0; - return destroyer(stream4, reading, writing, function(err) { - if (!error) - error = err; - if (err) - destroys.forEach(call); - if (reading) - return; - destroys.forEach(call); - callback(error); - }); - }); - return streams.reduce(pipe); - } - module2.exports = pipeline; - } -}); - -// node_modules/readable-stream/readable.js -var require_readable = __commonJS({ - "node_modules/readable-stream/readable.js"(exports2, module2) { - var Stream = require("stream"); - if (process.env.READABLE_STREAM === "disable" && Stream) { - module2.exports = Stream.Readable; - Object.assign(module2.exports, Stream); - module2.exports.Stream = Stream; - } else { - exports2 = module2.exports = require_stream_readable(); - exports2.Stream = Stream || exports2; - exports2.Readable = exports2; - exports2.Writable = require_stream_writable(); - exports2.Duplex = require_stream_duplex(); - exports2.Transform = require_stream_transform(); - exports2.PassThrough = require_stream_passthrough(); - exports2.finished = require_end_of_stream(); - exports2.pipeline = require_pipeline(); - } - } -}); - -// node_modules/@dabh/diagnostics/diagnostics.js -var require_diagnostics = __commonJS({ - "node_modules/@dabh/diagnostics/diagnostics.js"(exports2, module2) { - var adapters = []; - var modifiers = []; - var logger = function devnull() { - }; - function use(adapter2) { - if (~adapters.indexOf(adapter2)) - return false; - adapters.push(adapter2); - return true; - } - function set(custom) { - logger = custom; - } - function enabled(namespace) { - var async = []; - for (var i = 0; i < adapters.length; i++) { - if (adapters[i].async) { - async.push(adapters[i]); - continue; - } - if (adapters[i](namespace)) - return true; - } - if (!async.length) - return false; - return new Promise(function pinky(resolve) { - Promise.all( - async.map(function prebind(fn2) { - return fn2(namespace); - }) - ).then(function resolved(values) { - resolve(values.some(Boolean)); - }); - }); - } - function modify(fn2) { - if (~modifiers.indexOf(fn2)) - return false; - modifiers.push(fn2); - return true; - } - function write() { - logger.apply(logger, arguments); - } - function process2(message2) { - for (var i = 0; i < modifiers.length; i++) { - message2 = modifiers[i].apply(modifiers[i], arguments); - } - return message2; - } - function introduce(fn2, options) { - var has = Object.prototype.hasOwnProperty; - for (var key in options) { - if (has.call(options, key)) { - fn2[key] = options[key]; - } - } - return fn2; - } - function nope(options) { - options.enabled = false; - options.modify = modify; - options.set = set; - options.use = use; - return introduce(function diagnopes() { - return false; - }, options); - } - function yep(options) { - function diagnostics() { - var args2 = Array.prototype.slice.call(arguments, 0); - write.call(write, options, process2(args2, options)); - return true; - } - options.enabled = true; - options.modify = modify; - options.set = set; - options.use = use; - return introduce(diagnostics, options); - } - module2.exports = function create(diagnostics) { - diagnostics.introduce = introduce; - diagnostics.enabled = enabled; - diagnostics.process = process2; - diagnostics.modify = modify; - diagnostics.write = write; - diagnostics.nope = nope; - diagnostics.yep = yep; - diagnostics.set = set; - diagnostics.use = use; - return diagnostics; - }; - } -}); - -// node_modules/@dabh/diagnostics/node/production.js -var require_production = __commonJS({ - "node_modules/@dabh/diagnostics/node/production.js"(exports2, module2) { - var create = require_diagnostics(); - var diagnostics = create(function prod(namespace, options) { - options = options || {}; - options.namespace = namespace; - options.prod = true; - options.dev = false; - if (!(options.force || prod.force)) - return prod.nope(options); - return prod.yep(options); - }); - module2.exports = diagnostics; - } -}); - -// node_modules/color-name/index.js -var require_color_name = __commonJS({ - "node_modules/color-name/index.js"(exports2, module2) { - "use strict"; - module2.exports = { - "aliceblue": [240, 248, 255], - "antiquewhite": [250, 235, 215], - "aqua": [0, 255, 255], - "aquamarine": [127, 255, 212], - "azure": [240, 255, 255], - "beige": [245, 245, 220], - "bisque": [255, 228, 196], - "black": [0, 0, 0], - "blanchedalmond": [255, 235, 205], - "blue": [0, 0, 255], - "blueviolet": [138, 43, 226], - "brown": [165, 42, 42], - "burlywood": [222, 184, 135], - "cadetblue": [95, 158, 160], - "chartreuse": [127, 255, 0], - "chocolate": [210, 105, 30], - "coral": [255, 127, 80], - "cornflowerblue": [100, 149, 237], - "cornsilk": [255, 248, 220], - "crimson": [220, 20, 60], - "cyan": [0, 255, 255], - "darkblue": [0, 0, 139], - "darkcyan": [0, 139, 139], - "darkgoldenrod": [184, 134, 11], - "darkgray": [169, 169, 169], - "darkgreen": [0, 100, 0], - "darkgrey": [169, 169, 169], - "darkkhaki": [189, 183, 107], - "darkmagenta": [139, 0, 139], - "darkolivegreen": [85, 107, 47], - "darkorange": [255, 140, 0], - "darkorchid": [153, 50, 204], - "darkred": [139, 0, 0], - "darksalmon": [233, 150, 122], - "darkseagreen": [143, 188, 143], - "darkslateblue": [72, 61, 139], - "darkslategray": [47, 79, 79], - "darkslategrey": [47, 79, 79], - "darkturquoise": [0, 206, 209], - "darkviolet": [148, 0, 211], - "deeppink": [255, 20, 147], - "deepskyblue": [0, 191, 255], - "dimgray": [105, 105, 105], - "dimgrey": [105, 105, 105], - "dodgerblue": [30, 144, 255], - "firebrick": [178, 34, 34], - "floralwhite": [255, 250, 240], - "forestgreen": [34, 139, 34], - "fuchsia": [255, 0, 255], - "gainsboro": [220, 220, 220], - "ghostwhite": [248, 248, 255], - "gold": [255, 215, 0], - "goldenrod": [218, 165, 32], - "gray": [128, 128, 128], - "green": [0, 128, 0], - "greenyellow": [173, 255, 47], - "grey": [128, 128, 128], - "honeydew": [240, 255, 240], - "hotpink": [255, 105, 180], - "indianred": [205, 92, 92], - "indigo": [75, 0, 130], - "ivory": [255, 255, 240], - "khaki": [240, 230, 140], - "lavender": [230, 230, 250], - "lavenderblush": [255, 240, 245], - "lawngreen": [124, 252, 0], - "lemonchiffon": [255, 250, 205], - "lightblue": [173, 216, 230], - "lightcoral": [240, 128, 128], - "lightcyan": [224, 255, 255], - "lightgoldenrodyellow": [250, 250, 210], - "lightgray": [211, 211, 211], - "lightgreen": [144, 238, 144], - "lightgrey": [211, 211, 211], - "lightpink": [255, 182, 193], - "lightsalmon": [255, 160, 122], - "lightseagreen": [32, 178, 170], - "lightskyblue": [135, 206, 250], - "lightslategray": [119, 136, 153], - "lightslategrey": [119, 136, 153], - "lightsteelblue": [176, 196, 222], - "lightyellow": [255, 255, 224], - "lime": [0, 255, 0], - "limegreen": [50, 205, 50], - "linen": [250, 240, 230], - "magenta": [255, 0, 255], - "maroon": [128, 0, 0], - "mediumaquamarine": [102, 205, 170], - "mediumblue": [0, 0, 205], - "mediumorchid": [186, 85, 211], - "mediumpurple": [147, 112, 219], - "mediumseagreen": [60, 179, 113], - "mediumslateblue": [123, 104, 238], - "mediumspringgreen": [0, 250, 154], - "mediumturquoise": [72, 209, 204], - "mediumvioletred": [199, 21, 133], - "midnightblue": [25, 25, 112], - "mintcream": [245, 255, 250], - "mistyrose": [255, 228, 225], - "moccasin": [255, 228, 181], - "navajowhite": [255, 222, 173], - "navy": [0, 0, 128], - "oldlace": [253, 245, 230], - "olive": [128, 128, 0], - "olivedrab": [107, 142, 35], - "orange": [255, 165, 0], - "orangered": [255, 69, 0], - "orchid": [218, 112, 214], - "palegoldenrod": [238, 232, 170], - "palegreen": [152, 251, 152], - "paleturquoise": [175, 238, 238], - "palevioletred": [219, 112, 147], - "papayawhip": [255, 239, 213], - "peachpuff": [255, 218, 185], - "peru": [205, 133, 63], - "pink": [255, 192, 203], - "plum": [221, 160, 221], - "powderblue": [176, 224, 230], - "purple": [128, 0, 128], - "rebeccapurple": [102, 51, 153], - "red": [255, 0, 0], - "rosybrown": [188, 143, 143], - "royalblue": [65, 105, 225], - "saddlebrown": [139, 69, 19], - "salmon": [250, 128, 114], - "sandybrown": [244, 164, 96], - "seagreen": [46, 139, 87], - "seashell": [255, 245, 238], - "sienna": [160, 82, 45], - "silver": [192, 192, 192], - "skyblue": [135, 206, 235], - "slateblue": [106, 90, 205], - "slategray": [112, 128, 144], - "slategrey": [112, 128, 144], - "snow": [255, 250, 250], - "springgreen": [0, 255, 127], - "steelblue": [70, 130, 180], - "tan": [210, 180, 140], - "teal": [0, 128, 128], - "thistle": [216, 191, 216], - "tomato": [255, 99, 71], - "turquoise": [64, 224, 208], - "violet": [238, 130, 238], - "wheat": [245, 222, 179], - "white": [255, 255, 255], - "whitesmoke": [245, 245, 245], - "yellow": [255, 255, 0], - "yellowgreen": [154, 205, 50] - }; - } -}); - -// node_modules/is-arrayish/index.js -var require_is_arrayish = __commonJS({ - "node_modules/is-arrayish/index.js"(exports2, module2) { - module2.exports = function isArrayish(obj) { - if (!obj || typeof obj === "string") { - return false; - } - return obj instanceof Array || Array.isArray(obj) || obj.length >= 0 && (obj.splice instanceof Function || Object.getOwnPropertyDescriptor(obj, obj.length - 1) && obj.constructor.name !== "String"); - }; - } -}); - -// node_modules/simple-swizzle/index.js -var require_simple_swizzle = __commonJS({ - "node_modules/simple-swizzle/index.js"(exports2, module2) { - "use strict"; - var isArrayish = require_is_arrayish(); - var concat = Array.prototype.concat; - var slice = Array.prototype.slice; - var swizzle = module2.exports = function swizzle2(args2) { - var results = []; - for (var i = 0, len = args2.length; i < len; i++) { - var arg = args2[i]; - if (isArrayish(arg)) { - results = concat.call(results, slice.call(arg)); - } else { - results.push(arg); - } - } - return results; - }; - swizzle.wrap = function(fn2) { - return function() { - return fn2(swizzle(arguments)); - }; - }; - } -}); - -// node_modules/color-string/index.js -var require_color_string = __commonJS({ - "node_modules/color-string/index.js"(exports2, module2) { - var colorNames = require_color_name(); - var swizzle = require_simple_swizzle(); - var hasOwnProperty2 = Object.hasOwnProperty; - var reverseNames = /* @__PURE__ */ Object.create(null); - for (name in colorNames) { - if (hasOwnProperty2.call(colorNames, name)) { - reverseNames[colorNames[name]] = name; - } - } - var name; - var cs = module2.exports = { - to: {}, - get: {} - }; - cs.get = function(string) { - var prefix = string.substring(0, 3).toLowerCase(); - var val; - var model; - switch (prefix) { - case "hsl": - val = cs.get.hsl(string); - model = "hsl"; - break; - case "hwb": - val = cs.get.hwb(string); - model = "hwb"; - break; - default: - val = cs.get.rgb(string); - model = "rgb"; - break; - } - if (!val) { - return null; - } - return { model, value: val }; - }; - cs.get.rgb = function(string) { - if (!string) { - return null; - } - var abbr = /^#([a-f0-9]{3,4})$/i; - var hex = /^#([a-f0-9]{6})([a-f0-9]{2})?$/i; - var rgba = /^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/; - var per = /^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/; - var keyword = /^(\w+)$/; - var rgb = [0, 0, 0, 1]; - var match; - var i; - var hexAlpha; - if (match = string.match(hex)) { - hexAlpha = match[2]; - match = match[1]; - for (i = 0; i < 3; i++) { - var i2 = i * 2; - rgb[i] = parseInt(match.slice(i2, i2 + 2), 16); - } - if (hexAlpha) { - rgb[3] = parseInt(hexAlpha, 16) / 255; - } - } else if (match = string.match(abbr)) { - match = match[1]; - hexAlpha = match[3]; - for (i = 0; i < 3; i++) { - rgb[i] = parseInt(match[i] + match[i], 16); - } - if (hexAlpha) { - rgb[3] = parseInt(hexAlpha + hexAlpha, 16) / 255; - } - } else if (match = string.match(rgba)) { - for (i = 0; i < 3; i++) { - rgb[i] = parseInt(match[i + 1], 0); - } - if (match[4]) { - if (match[5]) { - rgb[3] = parseFloat(match[4]) * 0.01; - } else { - rgb[3] = parseFloat(match[4]); - } - } - } else if (match = string.match(per)) { - for (i = 0; i < 3; i++) { - rgb[i] = Math.round(parseFloat(match[i + 1]) * 2.55); - } - if (match[4]) { - if (match[5]) { - rgb[3] = parseFloat(match[4]) * 0.01; - } else { - rgb[3] = parseFloat(match[4]); - } - } - } else if (match = string.match(keyword)) { - if (match[1] === "transparent") { - return [0, 0, 0, 0]; - } - if (!hasOwnProperty2.call(colorNames, match[1])) { - return null; - } - rgb = colorNames[match[1]]; - rgb[3] = 1; - return rgb; - } else { - return null; - } - for (i = 0; i < 3; i++) { - rgb[i] = clamp(rgb[i], 0, 255); - } - rgb[3] = clamp(rgb[3], 0, 1); - return rgb; - }; - cs.get.hsl = function(string) { - if (!string) { - return null; - } - var hsl = /^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/; - var match = string.match(hsl); - if (match) { - var alpha = parseFloat(match[4]); - var h = (parseFloat(match[1]) % 360 + 360) % 360; - var s = clamp(parseFloat(match[2]), 0, 100); - var l = clamp(parseFloat(match[3]), 0, 100); - var a = clamp(isNaN(alpha) ? 1 : alpha, 0, 1); - return [h, s, l, a]; - } - return null; - }; - cs.get.hwb = function(string) { - if (!string) { - return null; - } - var hwb = /^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/; - var match = string.match(hwb); - if (match) { - var alpha = parseFloat(match[4]); - var h = (parseFloat(match[1]) % 360 + 360) % 360; - var w = clamp(parseFloat(match[2]), 0, 100); - var b = clamp(parseFloat(match[3]), 0, 100); - var a = clamp(isNaN(alpha) ? 1 : alpha, 0, 1); - return [h, w, b, a]; - } - return null; - }; - cs.to.hex = function() { - var rgba = swizzle(arguments); - return "#" + hexDouble(rgba[0]) + hexDouble(rgba[1]) + hexDouble(rgba[2]) + (rgba[3] < 1 ? hexDouble(Math.round(rgba[3] * 255)) : ""); - }; - cs.to.rgb = function() { - var rgba = swizzle(arguments); - return rgba.length < 4 || rgba[3] === 1 ? "rgb(" + Math.round(rgba[0]) + ", " + Math.round(rgba[1]) + ", " + Math.round(rgba[2]) + ")" : "rgba(" + Math.round(rgba[0]) + ", " + Math.round(rgba[1]) + ", " + Math.round(rgba[2]) + ", " + rgba[3] + ")"; - }; - cs.to.rgb.percent = function() { - var rgba = swizzle(arguments); - var r = Math.round(rgba[0] / 255 * 100); - var g = Math.round(rgba[1] / 255 * 100); - var b = Math.round(rgba[2] / 255 * 100); - return rgba.length < 4 || rgba[3] === 1 ? "rgb(" + r + "%, " + g + "%, " + b + "%)" : "rgba(" + r + "%, " + g + "%, " + b + "%, " + rgba[3] + ")"; - }; - cs.to.hsl = function() { - var hsla = swizzle(arguments); - return hsla.length < 4 || hsla[3] === 1 ? "hsl(" + hsla[0] + ", " + hsla[1] + "%, " + hsla[2] + "%)" : "hsla(" + hsla[0] + ", " + hsla[1] + "%, " + hsla[2] + "%, " + hsla[3] + ")"; - }; - cs.to.hwb = function() { - var hwba = swizzle(arguments); - var a = ""; - if (hwba.length >= 4 && hwba[3] !== 1) { - a = ", " + hwba[3]; - } - return "hwb(" + hwba[0] + ", " + hwba[1] + "%, " + hwba[2] + "%" + a + ")"; - }; - cs.to.keyword = function(rgb) { - return reverseNames[rgb.slice(0, 3)]; - }; - function clamp(num, min, max) { - return Math.min(Math.max(min, num), max); - } - function hexDouble(num) { - var str = Math.round(num).toString(16).toUpperCase(); - return str.length < 2 ? "0" + str : str; - } - } -}); - -// node_modules/color-convert/conversions.js -var require_conversions = __commonJS({ - "node_modules/color-convert/conversions.js"(exports2, module2) { - var cssKeywords = require_color_name(); - var reverseKeywords = {}; - for (key in cssKeywords) { - if (cssKeywords.hasOwnProperty(key)) { - reverseKeywords[cssKeywords[key]] = key; - } - } - var key; - var convert = module2.exports = { - rgb: { channels: 3, labels: "rgb" }, - hsl: { channels: 3, labels: "hsl" }, - hsv: { channels: 3, labels: "hsv" }, - hwb: { channels: 3, labels: "hwb" }, - cmyk: { channels: 4, labels: "cmyk" }, - xyz: { channels: 3, labels: "xyz" }, - lab: { channels: 3, labels: "lab" }, - lch: { channels: 3, labels: "lch" }, - hex: { channels: 1, labels: ["hex"] }, - keyword: { channels: 1, labels: ["keyword"] }, - ansi16: { channels: 1, labels: ["ansi16"] }, - ansi256: { channels: 1, labels: ["ansi256"] }, - hcg: { channels: 3, labels: ["h", "c", "g"] }, - apple: { channels: 3, labels: ["r16", "g16", "b16"] }, - gray: { channels: 1, labels: ["gray"] } - }; - for (model in convert) { - if (convert.hasOwnProperty(model)) { - if (!("channels" in convert[model])) { - throw new Error("missing channels property: " + model); - } - if (!("labels" in convert[model])) { - throw new Error("missing channel labels property: " + model); - } - if (convert[model].labels.length !== convert[model].channels) { - throw new Error("channel and label counts mismatch: " + model); - } - channels = convert[model].channels; - labels = convert[model].labels; - delete convert[model].channels; - delete convert[model].labels; - Object.defineProperty(convert[model], "channels", { value: channels }); - Object.defineProperty(convert[model], "labels", { value: labels }); - } - } - var channels; - var labels; - var model; - convert.rgb.hsl = function(rgb) { - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; - var min = Math.min(r, g, b); - var max = Math.max(r, g, b); - var delta = max - min; - var h; - var s; - var l; - if (max === min) { - h = 0; - } else if (r === max) { - h = (g - b) / delta; - } else if (g === max) { - h = 2 + (b - r) / delta; - } else if (b === max) { - h = 4 + (r - g) / delta; - } - h = Math.min(h * 60, 360); - if (h < 0) { - h += 360; - } - l = (min + max) / 2; - if (max === min) { - s = 0; - } else if (l <= 0.5) { - s = delta / (max + min); - } else { - s = delta / (2 - max - min); - } - return [h, s * 100, l * 100]; - }; - convert.rgb.hsv = function(rgb) { - var rdif; - var gdif; - var bdif; - var h; - var s; - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; - var v = Math.max(r, g, b); - var diff = v - Math.min(r, g, b); - var diffc = function(c) { - return (v - c) / 6 / diff + 1 / 2; - }; - if (diff === 0) { - h = s = 0; - } else { - s = diff / v; - rdif = diffc(r); - gdif = diffc(g); - bdif = diffc(b); - if (r === v) { - h = bdif - gdif; - } else if (g === v) { - h = 1 / 3 + rdif - bdif; - } else if (b === v) { - h = 2 / 3 + gdif - rdif; - } - if (h < 0) { - h += 1; - } else if (h > 1) { - h -= 1; - } - } - return [ - h * 360, - s * 100, - v * 100 - ]; - }; - convert.rgb.hwb = function(rgb) { - var r = rgb[0]; - var g = rgb[1]; - var b = rgb[2]; - var h = convert.rgb.hsl(rgb)[0]; - var w = 1 / 255 * Math.min(r, Math.min(g, b)); - b = 1 - 1 / 255 * Math.max(r, Math.max(g, b)); - return [h, w * 100, b * 100]; - }; - convert.rgb.cmyk = function(rgb) { - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; - var c; - var m; - var y; - var k; - k = Math.min(1 - r, 1 - g, 1 - b); - c = (1 - r - k) / (1 - k) || 0; - m = (1 - g - k) / (1 - k) || 0; - y = (1 - b - k) / (1 - k) || 0; - return [c * 100, m * 100, y * 100, k * 100]; - }; - function comparativeDistance(x, y) { - return Math.pow(x[0] - y[0], 2) + Math.pow(x[1] - y[1], 2) + Math.pow(x[2] - y[2], 2); - } - convert.rgb.keyword = function(rgb) { - var reversed = reverseKeywords[rgb]; - if (reversed) { - return reversed; - } - var currentClosestDistance = Infinity; - var currentClosestKeyword; - for (var keyword in cssKeywords) { - if (cssKeywords.hasOwnProperty(keyword)) { - var value = cssKeywords[keyword]; - var distance = comparativeDistance(rgb, value); - if (distance < currentClosestDistance) { - currentClosestDistance = distance; - currentClosestKeyword = keyword; - } - } - } - return currentClosestKeyword; - }; - convert.keyword.rgb = function(keyword) { - return cssKeywords[keyword]; - }; - convert.rgb.xyz = function(rgb) { - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; - r = r > 0.04045 ? Math.pow((r + 0.055) / 1.055, 2.4) : r / 12.92; - g = g > 0.04045 ? Math.pow((g + 0.055) / 1.055, 2.4) : g / 12.92; - b = b > 0.04045 ? Math.pow((b + 0.055) / 1.055, 2.4) : b / 12.92; - var x = r * 0.4124 + g * 0.3576 + b * 0.1805; - var y = r * 0.2126 + g * 0.7152 + b * 0.0722; - var z = r * 0.0193 + g * 0.1192 + b * 0.9505; - return [x * 100, y * 100, z * 100]; - }; - convert.rgb.lab = function(rgb) { - var xyz = convert.rgb.xyz(rgb); - var x = xyz[0]; - var y = xyz[1]; - var z = xyz[2]; - var l; - var a; - var b; - x /= 95.047; - y /= 100; - z /= 108.883; - x = x > 8856e-6 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116; - y = y > 8856e-6 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116; - z = z > 8856e-6 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116; - l = 116 * y - 16; - a = 500 * (x - y); - b = 200 * (y - z); - return [l, a, b]; - }; - convert.hsl.rgb = function(hsl) { - var h = hsl[0] / 360; - var s = hsl[1] / 100; - var l = hsl[2] / 100; - var t1; - var t2; - var t3; - var rgb; - var val; - if (s === 0) { - val = l * 255; - return [val, val, val]; - } - if (l < 0.5) { - t2 = l * (1 + s); - } else { - t2 = l + s - l * s; - } - t1 = 2 * l - t2; - rgb = [0, 0, 0]; - for (var i = 0; i < 3; i++) { - t3 = h + 1 / 3 * -(i - 1); - if (t3 < 0) { - t3++; - } - if (t3 > 1) { - t3--; - } - if (6 * t3 < 1) { - val = t1 + (t2 - t1) * 6 * t3; - } else if (2 * t3 < 1) { - val = t2; - } else if (3 * t3 < 2) { - val = t1 + (t2 - t1) * (2 / 3 - t3) * 6; - } else { - val = t1; - } - rgb[i] = val * 255; - } - return rgb; - }; - convert.hsl.hsv = function(hsl) { - var h = hsl[0]; - var s = hsl[1] / 100; - var l = hsl[2] / 100; - var smin = s; - var lmin = Math.max(l, 0.01); - var sv; - var v; - l *= 2; - s *= l <= 1 ? l : 2 - l; - smin *= lmin <= 1 ? lmin : 2 - lmin; - v = (l + s) / 2; - sv = l === 0 ? 2 * smin / (lmin + smin) : 2 * s / (l + s); - return [h, sv * 100, v * 100]; - }; - convert.hsv.rgb = function(hsv) { - var h = hsv[0] / 60; - var s = hsv[1] / 100; - var v = hsv[2] / 100; - var hi = Math.floor(h) % 6; - var f = h - Math.floor(h); - var p = 255 * v * (1 - s); - var q = 255 * v * (1 - s * f); - var t = 255 * v * (1 - s * (1 - f)); - v *= 255; - switch (hi) { - case 0: - return [v, t, p]; - case 1: - return [q, v, p]; - case 2: - return [p, v, t]; - case 3: - return [p, q, v]; - case 4: - return [t, p, v]; - case 5: - return [v, p, q]; - } - }; - convert.hsv.hsl = function(hsv) { - var h = hsv[0]; - var s = hsv[1] / 100; - var v = hsv[2] / 100; - var vmin = Math.max(v, 0.01); - var lmin; - var sl; - var l; - l = (2 - s) * v; - lmin = (2 - s) * vmin; - sl = s * vmin; - sl /= lmin <= 1 ? lmin : 2 - lmin; - sl = sl || 0; - l /= 2; - return [h, sl * 100, l * 100]; - }; - convert.hwb.rgb = function(hwb) { - var h = hwb[0] / 360; - var wh = hwb[1] / 100; - var bl = hwb[2] / 100; - var ratio = wh + bl; - var i; - var v; - var f; - var n; - if (ratio > 1) { - wh /= ratio; - bl /= ratio; - } - i = Math.floor(6 * h); - v = 1 - bl; - f = 6 * h - i; - if ((i & 1) !== 0) { - f = 1 - f; - } - n = wh + f * (v - wh); - var r; - var g; - var b; - switch (i) { - default: - case 6: - case 0: - r = v; - g = n; - b = wh; - break; - case 1: - r = n; - g = v; - b = wh; - break; - case 2: - r = wh; - g = v; - b = n; - break; - case 3: - r = wh; - g = n; - b = v; - break; - case 4: - r = n; - g = wh; - b = v; - break; - case 5: - r = v; - g = wh; - b = n; - break; - } - return [r * 255, g * 255, b * 255]; - }; - convert.cmyk.rgb = function(cmyk) { - var c = cmyk[0] / 100; - var m = cmyk[1] / 100; - var y = cmyk[2] / 100; - var k = cmyk[3] / 100; - var r; - var g; - var b; - r = 1 - Math.min(1, c * (1 - k) + k); - g = 1 - Math.min(1, m * (1 - k) + k); - b = 1 - Math.min(1, y * (1 - k) + k); - return [r * 255, g * 255, b * 255]; - }; - convert.xyz.rgb = function(xyz) { - var x = xyz[0] / 100; - var y = xyz[1] / 100; - var z = xyz[2] / 100; - var r; - var g; - var b; - r = x * 3.2406 + y * -1.5372 + z * -0.4986; - g = x * -0.9689 + y * 1.8758 + z * 0.0415; - b = x * 0.0557 + y * -0.204 + z * 1.057; - r = r > 31308e-7 ? 1.055 * Math.pow(r, 1 / 2.4) - 0.055 : r * 12.92; - g = g > 31308e-7 ? 1.055 * Math.pow(g, 1 / 2.4) - 0.055 : g * 12.92; - b = b > 31308e-7 ? 1.055 * Math.pow(b, 1 / 2.4) - 0.055 : b * 12.92; - r = Math.min(Math.max(0, r), 1); - g = Math.min(Math.max(0, g), 1); - b = Math.min(Math.max(0, b), 1); - return [r * 255, g * 255, b * 255]; - }; - convert.xyz.lab = function(xyz) { - var x = xyz[0]; - var y = xyz[1]; - var z = xyz[2]; - var l; - var a; - var b; - x /= 95.047; - y /= 100; - z /= 108.883; - x = x > 8856e-6 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116; - y = y > 8856e-6 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116; - z = z > 8856e-6 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116; - l = 116 * y - 16; - a = 500 * (x - y); - b = 200 * (y - z); - return [l, a, b]; - }; - convert.lab.xyz = function(lab) { - var l = lab[0]; - var a = lab[1]; - var b = lab[2]; - var x; - var y; - var z; - y = (l + 16) / 116; - x = a / 500 + y; - z = y - b / 200; - var y2 = Math.pow(y, 3); - var x2 = Math.pow(x, 3); - var z2 = Math.pow(z, 3); - y = y2 > 8856e-6 ? y2 : (y - 16 / 116) / 7.787; - x = x2 > 8856e-6 ? x2 : (x - 16 / 116) / 7.787; - z = z2 > 8856e-6 ? z2 : (z - 16 / 116) / 7.787; - x *= 95.047; - y *= 100; - z *= 108.883; - return [x, y, z]; - }; - convert.lab.lch = function(lab) { - var l = lab[0]; - var a = lab[1]; - var b = lab[2]; - var hr; - var h; - var c; - hr = Math.atan2(b, a); - h = hr * 360 / 2 / Math.PI; - if (h < 0) { - h += 360; - } - c = Math.sqrt(a * a + b * b); - return [l, c, h]; - }; - convert.lch.lab = function(lch) { - var l = lch[0]; - var c = lch[1]; - var h = lch[2]; - var a; - var b; - var hr; - hr = h / 360 * 2 * Math.PI; - a = c * Math.cos(hr); - b = c * Math.sin(hr); - return [l, a, b]; - }; - convert.rgb.ansi16 = function(args2) { - var r = args2[0]; - var g = args2[1]; - var b = args2[2]; - var value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args2)[2]; - value = Math.round(value / 50); - if (value === 0) { - return 30; - } - var ansi = 30 + (Math.round(b / 255) << 2 | Math.round(g / 255) << 1 | Math.round(r / 255)); - if (value === 2) { - ansi += 60; - } - return ansi; - }; - convert.hsv.ansi16 = function(args2) { - return convert.rgb.ansi16(convert.hsv.rgb(args2), args2[2]); - }; - convert.rgb.ansi256 = function(args2) { - var r = args2[0]; - var g = args2[1]; - var b = args2[2]; - if (r === g && g === b) { - if (r < 8) { - return 16; - } - if (r > 248) { - return 231; - } - return Math.round((r - 8) / 247 * 24) + 232; - } - var ansi = 16 + 36 * Math.round(r / 255 * 5) + 6 * Math.round(g / 255 * 5) + Math.round(b / 255 * 5); - return ansi; - }; - convert.ansi16.rgb = function(args2) { - var color = args2 % 10; - if (color === 0 || color === 7) { - if (args2 > 50) { - color += 3.5; - } - color = color / 10.5 * 255; - return [color, color, color]; - } - var mult = (~~(args2 > 50) + 1) * 0.5; - var r = (color & 1) * mult * 255; - var g = (color >> 1 & 1) * mult * 255; - var b = (color >> 2 & 1) * mult * 255; - return [r, g, b]; - }; - convert.ansi256.rgb = function(args2) { - if (args2 >= 232) { - var c = (args2 - 232) * 10 + 8; - return [c, c, c]; - } - args2 -= 16; - var rem; - var r = Math.floor(args2 / 36) / 5 * 255; - var g = Math.floor((rem = args2 % 36) / 6) / 5 * 255; - var b = rem % 6 / 5 * 255; - return [r, g, b]; - }; - convert.rgb.hex = function(args2) { - var integer = ((Math.round(args2[0]) & 255) << 16) + ((Math.round(args2[1]) & 255) << 8) + (Math.round(args2[2]) & 255); - var string = integer.toString(16).toUpperCase(); - return "000000".substring(string.length) + string; - }; - convert.hex.rgb = function(args2) { - var match = args2.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i); - if (!match) { - return [0, 0, 0]; - } - var colorString = match[0]; - if (match[0].length === 3) { - colorString = colorString.split("").map(function(char) { - return char + char; - }).join(""); - } - var integer = parseInt(colorString, 16); - var r = integer >> 16 & 255; - var g = integer >> 8 & 255; - var b = integer & 255; - return [r, g, b]; - }; - convert.rgb.hcg = function(rgb) { - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; - var max = Math.max(Math.max(r, g), b); - var min = Math.min(Math.min(r, g), b); - var chroma = max - min; - var grayscale; - var hue; - if (chroma < 1) { - grayscale = min / (1 - chroma); - } else { - grayscale = 0; - } - if (chroma <= 0) { - hue = 0; - } else if (max === r) { - hue = (g - b) / chroma % 6; - } else if (max === g) { - hue = 2 + (b - r) / chroma; - } else { - hue = 4 + (r - g) / chroma + 4; - } - hue /= 6; - hue %= 1; - return [hue * 360, chroma * 100, grayscale * 100]; - }; - convert.hsl.hcg = function(hsl) { - var s = hsl[1] / 100; - var l = hsl[2] / 100; - var c = 1; - var f = 0; - if (l < 0.5) { - c = 2 * s * l; - } else { - c = 2 * s * (1 - l); - } - if (c < 1) { - f = (l - 0.5 * c) / (1 - c); - } - return [hsl[0], c * 100, f * 100]; - }; - convert.hsv.hcg = function(hsv) { - var s = hsv[1] / 100; - var v = hsv[2] / 100; - var c = s * v; - var f = 0; - if (c < 1) { - f = (v - c) / (1 - c); - } - return [hsv[0], c * 100, f * 100]; - }; - convert.hcg.rgb = function(hcg) { - var h = hcg[0] / 360; - var c = hcg[1] / 100; - var g = hcg[2] / 100; - if (c === 0) { - return [g * 255, g * 255, g * 255]; - } - var pure = [0, 0, 0]; - var hi = h % 1 * 6; - var v = hi % 1; - var w = 1 - v; - var mg = 0; - switch (Math.floor(hi)) { - case 0: - pure[0] = 1; - pure[1] = v; - pure[2] = 0; - break; - case 1: - pure[0] = w; - pure[1] = 1; - pure[2] = 0; - break; - case 2: - pure[0] = 0; - pure[1] = 1; - pure[2] = v; - break; - case 3: - pure[0] = 0; - pure[1] = w; - pure[2] = 1; - break; - case 4: - pure[0] = v; - pure[1] = 0; - pure[2] = 1; - break; - default: - pure[0] = 1; - pure[1] = 0; - pure[2] = w; - } - mg = (1 - c) * g; - return [ - (c * pure[0] + mg) * 255, - (c * pure[1] + mg) * 255, - (c * pure[2] + mg) * 255 - ]; - }; - convert.hcg.hsv = function(hcg) { - var c = hcg[1] / 100; - var g = hcg[2] / 100; - var v = c + g * (1 - c); - var f = 0; - if (v > 0) { - f = c / v; - } - return [hcg[0], f * 100, v * 100]; - }; - convert.hcg.hsl = function(hcg) { - var c = hcg[1] / 100; - var g = hcg[2] / 100; - var l = g * (1 - c) + 0.5 * c; - var s = 0; - if (l > 0 && l < 0.5) { - s = c / (2 * l); - } else if (l >= 0.5 && l < 1) { - s = c / (2 * (1 - l)); - } - return [hcg[0], s * 100, l * 100]; - }; - convert.hcg.hwb = function(hcg) { - var c = hcg[1] / 100; - var g = hcg[2] / 100; - var v = c + g * (1 - c); - return [hcg[0], (v - c) * 100, (1 - v) * 100]; - }; - convert.hwb.hcg = function(hwb) { - var w = hwb[1] / 100; - var b = hwb[2] / 100; - var v = 1 - b; - var c = v - w; - var g = 0; - if (c < 1) { - g = (v - c) / (1 - c); - } - return [hwb[0], c * 100, g * 100]; - }; - convert.apple.rgb = function(apple) { - return [apple[0] / 65535 * 255, apple[1] / 65535 * 255, apple[2] / 65535 * 255]; - }; - convert.rgb.apple = function(rgb) { - return [rgb[0] / 255 * 65535, rgb[1] / 255 * 65535, rgb[2] / 255 * 65535]; - }; - convert.gray.rgb = function(args2) { - return [args2[0] / 100 * 255, args2[0] / 100 * 255, args2[0] / 100 * 255]; - }; - convert.gray.hsl = convert.gray.hsv = function(args2) { - return [0, 0, args2[0]]; - }; - convert.gray.hwb = function(gray) { - return [0, 100, gray[0]]; - }; - convert.gray.cmyk = function(gray) { - return [0, 0, 0, gray[0]]; - }; - convert.gray.lab = function(gray) { - return [gray[0], 0, 0]; - }; - convert.gray.hex = function(gray) { - var val = Math.round(gray[0] / 100 * 255) & 255; - var integer = (val << 16) + (val << 8) + val; - var string = integer.toString(16).toUpperCase(); - return "000000".substring(string.length) + string; - }; - convert.rgb.gray = function(rgb) { - var val = (rgb[0] + rgb[1] + rgb[2]) / 3; - return [val / 255 * 100]; - }; - } -}); - -// node_modules/color-convert/route.js -var require_route = __commonJS({ - "node_modules/color-convert/route.js"(exports2, module2) { - var conversions = require_conversions(); - function buildGraph() { - var graph = {}; - var models = Object.keys(conversions); - for (var len = models.length, i = 0; i < len; i++) { - graph[models[i]] = { - distance: -1, - parent: null - }; - } - return graph; - } - function deriveBFS(fromModel) { - var graph = buildGraph(); - var queue = [fromModel]; - graph[fromModel].distance = 0; - while (queue.length) { - var current = queue.pop(); - var adjacents = Object.keys(conversions[current]); - for (var len = adjacents.length, i = 0; i < len; i++) { - var adjacent = adjacents[i]; - var node = graph[adjacent]; - if (node.distance === -1) { - node.distance = graph[current].distance + 1; - node.parent = current; - queue.unshift(adjacent); - } - } - } - return graph; - } - function link(from, to) { - return function(args2) { - return to(from(args2)); - }; - } - function wrapConversion(toModel, graph) { - var path4 = [graph[toModel].parent, toModel]; - var fn2 = conversions[graph[toModel].parent][toModel]; - var cur = graph[toModel].parent; - while (graph[cur].parent) { - path4.unshift(graph[cur].parent); - fn2 = link(conversions[graph[cur].parent][cur], fn2); - cur = graph[cur].parent; - } - fn2.conversion = path4; - return fn2; - } - module2.exports = function(fromModel) { - var graph = deriveBFS(fromModel); - var conversion = {}; - var models = Object.keys(graph); - for (var len = models.length, i = 0; i < len; i++) { - var toModel = models[i]; - var node = graph[toModel]; - if (node.parent === null) { - continue; - } - conversion[toModel] = wrapConversion(toModel, graph); - } - return conversion; - }; - } -}); - -// node_modules/color-convert/index.js -var require_color_convert = __commonJS({ - "node_modules/color-convert/index.js"(exports2, module2) { - var conversions = require_conversions(); - var route = require_route(); - var convert = {}; - var models = Object.keys(conversions); - function wrapRaw(fn2) { - var wrappedFn = function(args2) { - if (args2 === void 0 || args2 === null) { - return args2; - } - if (arguments.length > 1) { - args2 = Array.prototype.slice.call(arguments); - } - return fn2(args2); - }; - if ("conversion" in fn2) { - wrappedFn.conversion = fn2.conversion; - } - return wrappedFn; - } - function wrapRounded(fn2) { - var wrappedFn = function(args2) { - if (args2 === void 0 || args2 === null) { - return args2; - } - if (arguments.length > 1) { - args2 = Array.prototype.slice.call(arguments); - } - var result = fn2(args2); - if (typeof result === "object") { - for (var len = result.length, i = 0; i < len; i++) { - result[i] = Math.round(result[i]); - } - } - return result; - }; - if ("conversion" in fn2) { - wrappedFn.conversion = fn2.conversion; - } - return wrappedFn; - } - models.forEach(function(fromModel) { - convert[fromModel] = {}; - Object.defineProperty(convert[fromModel], "channels", { value: conversions[fromModel].channels }); - Object.defineProperty(convert[fromModel], "labels", { value: conversions[fromModel].labels }); - var routes = route(fromModel); - var routeModels = Object.keys(routes); - routeModels.forEach(function(toModel) { - var fn2 = routes[toModel]; - convert[fromModel][toModel] = wrapRounded(fn2); - convert[fromModel][toModel].raw = wrapRaw(fn2); - }); - }); - module2.exports = convert; - } -}); - -// node_modules/color/index.js -var require_color = __commonJS({ - "node_modules/color/index.js"(exports2, module2) { - "use strict"; - var colorString = require_color_string(); - var convert = require_color_convert(); - var _slice = [].slice; - var skippedModels = [ - "keyword", - "gray", - "hex" - ]; - var hashedModelKeys = {}; - Object.keys(convert).forEach(function(model) { - hashedModelKeys[_slice.call(convert[model].labels).sort().join("")] = model; - }); - var limiters = {}; - function Color(obj, model) { - if (!(this instanceof Color)) { - return new Color(obj, model); - } - if (model && model in skippedModels) { - model = null; - } - if (model && !(model in convert)) { - throw new Error("Unknown model: " + model); - } - var i; - var channels; - if (obj == null) { - this.model = "rgb"; - this.color = [0, 0, 0]; - this.valpha = 1; - } else if (obj instanceof Color) { - this.model = obj.model; - this.color = obj.color.slice(); - this.valpha = obj.valpha; - } else if (typeof obj === "string") { - var result = colorString.get(obj); - if (result === null) { - throw new Error("Unable to parse color from string: " + obj); - } - this.model = result.model; - channels = convert[this.model].channels; - this.color = result.value.slice(0, channels); - this.valpha = typeof result.value[channels] === "number" ? result.value[channels] : 1; - } else if (obj.length) { - this.model = model || "rgb"; - channels = convert[this.model].channels; - var newArr = _slice.call(obj, 0, channels); - this.color = zeroArray(newArr, channels); - this.valpha = typeof obj[channels] === "number" ? obj[channels] : 1; - } else if (typeof obj === "number") { - obj &= 16777215; - this.model = "rgb"; - this.color = [ - obj >> 16 & 255, - obj >> 8 & 255, - obj & 255 - ]; - this.valpha = 1; - } else { - this.valpha = 1; - var keys2 = Object.keys(obj); - if ("alpha" in obj) { - keys2.splice(keys2.indexOf("alpha"), 1); - this.valpha = typeof obj.alpha === "number" ? obj.alpha : 0; - } - var hashedKeys = keys2.sort().join(""); - if (!(hashedKeys in hashedModelKeys)) { - throw new Error("Unable to parse color from object: " + JSON.stringify(obj)); - } - this.model = hashedModelKeys[hashedKeys]; - var labels = convert[this.model].labels; - var color = []; - for (i = 0; i < labels.length; i++) { - color.push(obj[labels[i]]); - } - this.color = zeroArray(color); - } - if (limiters[this.model]) { - channels = convert[this.model].channels; - for (i = 0; i < channels; i++) { - var limit = limiters[this.model][i]; - if (limit) { - this.color[i] = limit(this.color[i]); - } - } - } - this.valpha = Math.max(0, Math.min(1, this.valpha)); - if (Object.freeze) { - Object.freeze(this); - } - } - Color.prototype = { - toString: function() { - return this.string(); - }, - toJSON: function() { - return this[this.model](); - }, - string: function(places) { - var self2 = this.model in colorString.to ? this : this.rgb(); - self2 = self2.round(typeof places === "number" ? places : 1); - var args2 = self2.valpha === 1 ? self2.color : self2.color.concat(this.valpha); - return colorString.to[self2.model](args2); - }, - percentString: function(places) { - var self2 = this.rgb().round(typeof places === "number" ? places : 1); - var args2 = self2.valpha === 1 ? self2.color : self2.color.concat(this.valpha); - return colorString.to.rgb.percent(args2); - }, - array: function() { - return this.valpha === 1 ? this.color.slice() : this.color.concat(this.valpha); - }, - object: function() { - var result = {}; - var channels = convert[this.model].channels; - var labels = convert[this.model].labels; - for (var i = 0; i < channels; i++) { - result[labels[i]] = this.color[i]; - } - if (this.valpha !== 1) { - result.alpha = this.valpha; - } - return result; - }, - unitArray: function() { - var rgb = this.rgb().color; - rgb[0] /= 255; - rgb[1] /= 255; - rgb[2] /= 255; - if (this.valpha !== 1) { - rgb.push(this.valpha); - } - return rgb; - }, - unitObject: function() { - var rgb = this.rgb().object(); - rgb.r /= 255; - rgb.g /= 255; - rgb.b /= 255; - if (this.valpha !== 1) { - rgb.alpha = this.valpha; - } - return rgb; - }, - round: function(places) { - places = Math.max(places || 0, 0); - return new Color(this.color.map(roundToPlace(places)).concat(this.valpha), this.model); - }, - alpha: function(val) { - if (arguments.length) { - return new Color(this.color.concat(Math.max(0, Math.min(1, val))), this.model); - } - return this.valpha; - }, - red: getset("rgb", 0, maxfn(255)), - green: getset("rgb", 1, maxfn(255)), - blue: getset("rgb", 2, maxfn(255)), - hue: getset(["hsl", "hsv", "hsl", "hwb", "hcg"], 0, function(val) { - return (val % 360 + 360) % 360; - }), - saturationl: getset("hsl", 1, maxfn(100)), - lightness: getset("hsl", 2, maxfn(100)), - saturationv: getset("hsv", 1, maxfn(100)), - value: getset("hsv", 2, maxfn(100)), - chroma: getset("hcg", 1, maxfn(100)), - gray: getset("hcg", 2, maxfn(100)), - white: getset("hwb", 1, maxfn(100)), - wblack: getset("hwb", 2, maxfn(100)), - cyan: getset("cmyk", 0, maxfn(100)), - magenta: getset("cmyk", 1, maxfn(100)), - yellow: getset("cmyk", 2, maxfn(100)), - black: getset("cmyk", 3, maxfn(100)), - x: getset("xyz", 0, maxfn(100)), - y: getset("xyz", 1, maxfn(100)), - z: getset("xyz", 2, maxfn(100)), - l: getset("lab", 0, maxfn(100)), - a: getset("lab", 1), - b: getset("lab", 2), - keyword: function(val) { - if (arguments.length) { - return new Color(val); - } - return convert[this.model].keyword(this.color); - }, - hex: function(val) { - if (arguments.length) { - return new Color(val); - } - return colorString.to.hex(this.rgb().round().color); - }, - rgbNumber: function() { - var rgb = this.rgb().color; - return (rgb[0] & 255) << 16 | (rgb[1] & 255) << 8 | rgb[2] & 255; - }, - luminosity: function() { - var rgb = this.rgb().color; - var lum = []; - for (var i = 0; i < rgb.length; i++) { - var chan = rgb[i] / 255; - lum[i] = chan <= 0.03928 ? chan / 12.92 : Math.pow((chan + 0.055) / 1.055, 2.4); - } - return 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2]; - }, - contrast: function(color2) { - var lum1 = this.luminosity(); - var lum2 = color2.luminosity(); - if (lum1 > lum2) { - return (lum1 + 0.05) / (lum2 + 0.05); - } - return (lum2 + 0.05) / (lum1 + 0.05); - }, - level: function(color2) { - var contrastRatio = this.contrast(color2); - if (contrastRatio >= 7.1) { - return "AAA"; - } - return contrastRatio >= 4.5 ? "AA" : ""; - }, - isDark: function() { - var rgb = this.rgb().color; - var yiq = (rgb[0] * 299 + rgb[1] * 587 + rgb[2] * 114) / 1e3; - return yiq < 128; - }, - isLight: function() { - return !this.isDark(); - }, - negate: function() { - var rgb = this.rgb(); - for (var i = 0; i < 3; i++) { - rgb.color[i] = 255 - rgb.color[i]; - } - return rgb; - }, - lighten: function(ratio) { - var hsl = this.hsl(); - hsl.color[2] += hsl.color[2] * ratio; - return hsl; - }, - darken: function(ratio) { - var hsl = this.hsl(); - hsl.color[2] -= hsl.color[2] * ratio; - return hsl; - }, - saturate: function(ratio) { - var hsl = this.hsl(); - hsl.color[1] += hsl.color[1] * ratio; - return hsl; - }, - desaturate: function(ratio) { - var hsl = this.hsl(); - hsl.color[1] -= hsl.color[1] * ratio; - return hsl; - }, - whiten: function(ratio) { - var hwb = this.hwb(); - hwb.color[1] += hwb.color[1] * ratio; - return hwb; - }, - blacken: function(ratio) { - var hwb = this.hwb(); - hwb.color[2] += hwb.color[2] * ratio; - return hwb; - }, - grayscale: function() { - var rgb = this.rgb().color; - var val = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11; - return Color.rgb(val, val, val); - }, - fade: function(ratio) { - return this.alpha(this.valpha - this.valpha * ratio); - }, - opaquer: function(ratio) { - return this.alpha(this.valpha + this.valpha * ratio); - }, - rotate: function(degrees) { - var hsl = this.hsl(); - var hue = hsl.color[0]; - hue = (hue + degrees) % 360; - hue = hue < 0 ? 360 + hue : hue; - hsl.color[0] = hue; - return hsl; - }, - mix: function(mixinColor, weight) { - if (!mixinColor || !mixinColor.rgb) { - throw new Error('Argument to "mix" was not a Color instance, but rather an instance of ' + typeof mixinColor); - } - var color1 = mixinColor.rgb(); - var color2 = this.rgb(); - var p = weight === void 0 ? 0.5 : weight; - var w = 2 * p - 1; - var a = color1.alpha() - color2.alpha(); - var w1 = ((w * a === -1 ? w : (w + a) / (1 + w * a)) + 1) / 2; - var w2 = 1 - w1; - return Color.rgb( - w1 * color1.red() + w2 * color2.red(), - w1 * color1.green() + w2 * color2.green(), - w1 * color1.blue() + w2 * color2.blue(), - color1.alpha() * p + color2.alpha() * (1 - p) - ); - } - }; - Object.keys(convert).forEach(function(model) { - if (skippedModels.indexOf(model) !== -1) { - return; - } - var channels = convert[model].channels; - Color.prototype[model] = function() { - if (this.model === model) { - return new Color(this); - } - if (arguments.length) { - return new Color(arguments, model); - } - var newAlpha = typeof arguments[channels] === "number" ? channels : this.valpha; - return new Color(assertArray(convert[this.model][model].raw(this.color)).concat(newAlpha), model); - }; - Color[model] = function(color) { - if (typeof color === "number") { - color = zeroArray(_slice.call(arguments), channels); - } - return new Color(color, model); - }; - }); - function roundTo(num, places) { - return Number(num.toFixed(places)); - } - function roundToPlace(places) { - return function(num) { - return roundTo(num, places); - }; - } - function getset(model, channel, modifier) { - model = Array.isArray(model) ? model : [model]; - model.forEach(function(m) { - (limiters[m] || (limiters[m] = []))[channel] = modifier; - }); - model = model[0]; - return function(val) { - var result; - if (arguments.length) { - if (modifier) { - val = modifier(val); - } - result = this[model](); - result.color[channel] = val; - return result; - } - result = this[model]().color[channel]; - if (modifier) { - result = modifier(result); - } - return result; - }; - } - function maxfn(max) { - return function(v) { - return Math.max(0, Math.min(max, v)); - }; - } - function assertArray(val) { - return Array.isArray(val) ? val : [val]; - } - function zeroArray(arr, length) { - for (var i = 0; i < length; i++) { - if (typeof arr[i] !== "number") { - arr[i] = 0; - } - } - return arr; - } - module2.exports = Color; - } -}); - -// node_modules/text-hex/index.js -var require_text_hex = __commonJS({ - "node_modules/text-hex/index.js"(exports2, module2) { - "use strict"; - module2.exports = function hex(str) { - for (var i = 0, hash = 0; i < str.length; hash = str.charCodeAt(i++) + ((hash << 5) - hash)) - ; - var color = Math.floor( - Math.abs( - Math.sin(hash) * 1e4 % 1 * 16777216 - ) - ).toString(16); - return "#" + Array(6 - color.length + 1).join("0") + color; - }; - } -}); - -// node_modules/colorspace/index.js -var require_colorspace = __commonJS({ - "node_modules/colorspace/index.js"(exports2, module2) { - "use strict"; - var color = require_color(); - var hex = require_text_hex(); - module2.exports = function colorspace(namespace, delimiter) { - var split = namespace.split(delimiter || ":"); - var base = hex(split[0]); - if (!split.length) - return base; - for (var i = 0, l = split.length - 1; i < l; i++) { - base = color(base).mix(color(hex(split[i + 1]))).saturate(1).hex(); - } - return base; - }; - } -}); - -// node_modules/kuler/index.js -var require_kuler = __commonJS({ - "node_modules/kuler/index.js"(exports2, module2) { - "use strict"; - function Kuler(text, color) { - if (color) - return new Kuler(text).style(color); - if (!(this instanceof Kuler)) - return new Kuler(text); - this.text = text; - } - Kuler.prototype.prefix = "\x1B["; - Kuler.prototype.suffix = "m"; - Kuler.prototype.hex = function hex(color) { - color = color[0] === "#" ? color.substring(1) : color; - if (color.length === 3) { - color = color.split(""); - color[5] = color[2]; - color[4] = color[2]; - color[3] = color[1]; - color[2] = color[1]; - color[1] = color[0]; - color = color.join(""); - } - var r = color.substring(0, 2), g = color.substring(2, 4), b = color.substring(4, 6); - return [parseInt(r, 16), parseInt(g, 16), parseInt(b, 16)]; - }; - Kuler.prototype.rgb = function rgb(r, g, b) { - var red = r / 255 * 5, green = g / 255 * 5, blue = b / 255 * 5; - return this.ansi(red, green, blue); - }; - Kuler.prototype.ansi = function ansi(r, g, b) { - var red = Math.round(r), green = Math.round(g), blue = Math.round(b); - return 16 + red * 36 + green * 6 + blue; - }; - Kuler.prototype.reset = function reset() { - return this.prefix + "39;49" + this.suffix; - }; - Kuler.prototype.style = function style(color) { - return this.prefix + "38;5;" + this.rgb.apply(this, this.hex(color)) + this.suffix + this.text + this.reset(); - }; - module2.exports = Kuler; - } -}); - -// node_modules/@dabh/diagnostics/modifiers/namespace-ansi.js -var require_namespace_ansi = __commonJS({ - "node_modules/@dabh/diagnostics/modifiers/namespace-ansi.js"(exports2, module2) { - var colorspace = require_colorspace(); - var kuler = require_kuler(); - module2.exports = function ansiModifier(args2, options) { - var namespace = options.namespace; - var ansi = options.colors !== false ? kuler(namespace + ":", colorspace(namespace)) : namespace + ":"; - args2[0] = ansi + " " + args2[0]; - return args2; - }; - } -}); - -// node_modules/enabled/index.js -var require_enabled = __commonJS({ - "node_modules/enabled/index.js"(exports2, module2) { - "use strict"; - module2.exports = function enabled(name, variable) { - if (!variable) - return false; - var variables = variable.split(/[\s,]+/), i = 0; - for (; i < variables.length; i++) { - variable = variables[i].replace("*", ".*?"); - if ("-" === variable.charAt(0)) { - if (new RegExp("^" + variable.substr(1) + "$").test(name)) { - return false; - } - continue; - } - if (new RegExp("^" + variable + "$").test(name)) { - return true; - } - } - return false; - }; - } -}); - -// node_modules/@dabh/diagnostics/adapters/index.js -var require_adapters = __commonJS({ - "node_modules/@dabh/diagnostics/adapters/index.js"(exports2, module2) { - var enabled = require_enabled(); - module2.exports = function create(fn2) { - return function adapter2(namespace) { - try { - return enabled(namespace, fn2()); - } catch (e) { - } - return false; - }; - }; - } -}); - -// node_modules/@dabh/diagnostics/adapters/process.env.js -var require_process_env = __commonJS({ - "node_modules/@dabh/diagnostics/adapters/process.env.js"(exports2, module2) { - var adapter2 = require_adapters(); - module2.exports = adapter2(function processenv() { - return process.env.DEBUG || process.env.DIAGNOSTICS; - }); - } -}); - -// node_modules/@dabh/diagnostics/logger/console.js -var require_console2 = __commonJS({ - "node_modules/@dabh/diagnostics/logger/console.js"(exports2, module2) { - module2.exports = function(meta, messages) { - try { - Function.prototype.apply.call(console.log, console, messages); - } catch (e) { - } - }; - } -}); - -// node_modules/@dabh/diagnostics/node/development.js -var require_development = __commonJS({ - "node_modules/@dabh/diagnostics/node/development.js"(exports2, module2) { - var create = require_diagnostics(); - var tty = require("tty").isatty(1); - var diagnostics = create(function dev(namespace, options) { - options = options || {}; - options.colors = "colors" in options ? options.colors : tty; - options.namespace = namespace; - options.prod = false; - options.dev = true; - if (!dev.enabled(namespace) && !(options.force || dev.force)) { - return dev.nope(options); - } - return dev.yep(options); - }); - diagnostics.modify(require_namespace_ansi()); - diagnostics.use(require_process_env()); - diagnostics.set(require_console2()); - module2.exports = diagnostics; - } -}); - -// node_modules/@dabh/diagnostics/node/index.js -var require_node2 = __commonJS({ - "node_modules/@dabh/diagnostics/node/index.js"(exports2, module2) { - if (process.env.NODE_ENV === "production") { - module2.exports = require_production(); - } else { - module2.exports = require_development(); - } - } -}); - -// node_modules/winston/lib/winston/tail-file.js -var require_tail_file = __commonJS({ - "node_modules/winston/lib/winston/tail-file.js"(exports2, module2) { - "use strict"; - var fs7 = require("fs"); - var { StringDecoder } = require("string_decoder"); - var { Stream } = require_readable(); - function noop2() { - } - module2.exports = (options, iter) => { - const buffer = Buffer.alloc(64 * 1024); - const decode = new StringDecoder("utf8"); - const stream4 = new Stream(); - let buff = ""; - let pos = 0; - let row = 0; - if (options.start === -1) { - delete options.start; - } - stream4.readable = true; - stream4.destroy = () => { - stream4.destroyed = true; - stream4.emit("end"); - stream4.emit("close"); - }; - fs7.open(options.file, "a+", "0644", (err, fd) => { - if (err) { - if (!iter) { - stream4.emit("error", err); - } else { - iter(err); - } - stream4.destroy(); - return; - } - (function read() { - if (stream4.destroyed) { - fs7.close(fd, noop2); - return; - } - return fs7.read(fd, buffer, 0, buffer.length, pos, (error, bytes) => { - if (error) { - if (!iter) { - stream4.emit("error", error); - } else { - iter(error); - } - stream4.destroy(); - return; - } - if (!bytes) { - if (buff) { - if (options.start == null || row > options.start) { - if (!iter) { - stream4.emit("line", buff); - } else { - iter(null, buff); - } - } - row++; - buff = ""; - } - return setTimeout(read, 1e3); - } - let data = decode.write(buffer.slice(0, bytes)); - if (!iter) { - stream4.emit("data", data); - } - data = (buff + data).split(/\n+/); - const l = data.length - 1; - let i = 0; - for (; i < l; i++) { - if (options.start == null || row > options.start) { - if (!iter) { - stream4.emit("line", data[i]); - } else { - iter(null, data[i]); - } - } - row++; - } - buff = data[l]; - pos += bytes; - return read(); - }); - })(); - }); - if (!iter) { - return stream4; - } - return stream4.destroy; - }; - } -}); - -// node_modules/winston/lib/winston/transports/file.js -var require_file = __commonJS({ - "node_modules/winston/lib/winston/transports/file.js"(exports2, module2) { - "use strict"; - var fs7 = require("fs"); - var path4 = require("path"); - var asyncSeries = require_series(); - var zlib2 = require("zlib"); - var { MESSAGE } = require_triple_beam(); - var { Stream, PassThrough } = require_readable(); - var TransportStream = require_winston_transport(); - var debug = require_node2()("winston:file"); - var os = require("os"); - var tailFile = require_tail_file(); - module2.exports = class File extends TransportStream { - constructor(options = {}) { - super(options); - this.name = options.name || "file"; - function throwIf(target, ...args2) { - args2.slice(1).forEach((name) => { - if (options[name]) { - throw new Error(`Cannot set ${name} and ${target} together`); - } - }); - } - this._stream = new PassThrough(); - this._stream.setMaxListeners(30); - this._onError = this._onError.bind(this); - if (options.filename || options.dirname) { - throwIf("filename or dirname", "stream"); - this._basename = this.filename = options.filename ? path4.basename(options.filename) : "winston.log"; - this.dirname = options.dirname || path4.dirname(options.filename); - this.options = options.options || { flags: "a" }; - } else if (options.stream) { - console.warn("options.stream will be removed in winston@4. Use winston.transports.Stream"); - throwIf("stream", "filename", "maxsize"); - this._dest = this._stream.pipe(this._setupStream(options.stream)); - this.dirname = path4.dirname(this._dest.path); - } else { - throw new Error("Cannot log to file without filename or stream."); - } - this.maxsize = options.maxsize || null; - this.rotationFormat = options.rotationFormat || false; - this.zippedArchive = options.zippedArchive || false; - this.maxFiles = options.maxFiles || null; - this.eol = typeof options.eol === "string" ? options.eol : os.EOL; - this.tailable = options.tailable || false; - this._size = 0; - this._pendingSize = 0; - this._created = 0; - this._drain = false; - this._opening = false; - this._ending = false; - if (this.dirname) - this._createLogDirIfNotExist(this.dirname); - this.open(); - } - finishIfEnding() { - if (this._ending) { - if (this._opening) { - this.once("open", () => { - this._stream.once("finish", () => this.emit("finish")); - setImmediate(() => this._stream.end()); - }); - } else { - this._stream.once("finish", () => this.emit("finish")); - setImmediate(() => this._stream.end()); - } - } - } - log(info, callback = () => { - }) { - if (this.silent) { - callback(); - return true; - } - if (this._drain) { - this._stream.once("drain", () => { - this._drain = false; - this.log(info, callback); - }); - return; - } - if (this._rotate) { - this._stream.once("rotate", () => { - this._rotate = false; - this.log(info, callback); - }); - return; - } - const output = `${info[MESSAGE]}${this.eol}`; - const bytes = Buffer.byteLength(output); - function logged() { - this._size += bytes; - this._pendingSize -= bytes; - debug("logged %s %s", this._size, output); - this.emit("logged", info); - if (this._opening) { - return; - } - if (!this._needsNewFile()) { - return; - } - this._rotate = true; - this._endStream(() => this._rotateFile()); - } - this._pendingSize += bytes; - if (this._opening && !this.rotatedWhileOpening && this._needsNewFile(this._size + this._pendingSize)) { - this.rotatedWhileOpening = true; - } - const written = this._stream.write(output, logged.bind(this)); - if (!written) { - this._drain = true; - this._stream.once("drain", () => { - this._drain = false; - callback(); - }); - } else { - callback(); - } - debug("written", written, this._drain); - this.finishIfEnding(); - return written; - } - query(options, callback) { - if (typeof options === "function") { - callback = options; - options = {}; - } - options = normalizeQuery(options); - const file = path4.join(this.dirname, this.filename); - let buff = ""; - let results = []; - let row = 0; - const stream4 = fs7.createReadStream(file, { - encoding: "utf8" - }); - stream4.on("error", (err) => { - if (stream4.readable) { - stream4.destroy(); - } - if (!callback) { - return; - } - return err.code !== "ENOENT" ? callback(err) : callback(null, results); - }); - stream4.on("data", (data) => { - data = (buff + data).split(/\n+/); - const l = data.length - 1; - let i = 0; - for (; i < l; i++) { - if (!options.start || row >= options.start) { - add(data[i]); - } - row++; - } - buff = data[l]; - }); - stream4.on("close", () => { - if (buff) { - add(buff, true); - } - if (options.order === "desc") { - results = results.reverse(); - } - if (callback) - callback(null, results); - }); - function add(buff2, attempt) { - try { - const log2 = JSON.parse(buff2); - if (check(log2)) { - push(log2); - } - } catch (e) { - if (!attempt) { - stream4.emit("error", e); - } - } - } - function push(log2) { - if (options.rows && results.length >= options.rows && options.order !== "desc") { - if (stream4.readable) { - stream4.destroy(); - } - return; - } - if (options.fields) { - log2 = options.fields.reduce((obj, key) => { - obj[key] = log2[key]; - return obj; - }, {}); - } - if (options.order === "desc") { - if (results.length >= options.rows) { - results.shift(); - } - } - results.push(log2); - } - function check(log2) { - if (!log2) { - return; - } - if (typeof log2 !== "object") { - return; - } - const time = new Date(log2.timestamp); - if (options.from && time < options.from || options.until && time > options.until || options.level && options.level !== log2.level) { - return; - } - return true; - } - function normalizeQuery(options2) { - options2 = options2 || {}; - options2.rows = options2.rows || options2.limit || 10; - options2.start = options2.start || 0; - options2.until = options2.until || new Date(); - if (typeof options2.until !== "object") { - options2.until = new Date(options2.until); - } - options2.from = options2.from || options2.until - 24 * 60 * 60 * 1e3; - if (typeof options2.from !== "object") { - options2.from = new Date(options2.from); - } - options2.order = options2.order || "desc"; - return options2; - } - } - stream(options = {}) { - const file = path4.join(this.dirname, this.filename); - const stream4 = new Stream(); - const tail = { - file, - start: options.start - }; - stream4.destroy = tailFile(tail, (err, line) => { - if (err) { - return stream4.emit("error", err); - } - try { - stream4.emit("data", line); - line = JSON.parse(line); - stream4.emit("log", line); - } catch (e) { - stream4.emit("error", e); - } - }); - return stream4; - } - open() { - if (!this.filename) - return; - if (this._opening) - return; - this._opening = true; - this.stat((err, size) => { - if (err) { - return this.emit("error", err); - } - debug("stat done: %s { size: %s }", this.filename, size); - this._size = size; - this._dest = this._createStream(this._stream); - this._opening = false; - this.once("open", () => { - if (this._stream.eventNames().includes("rotate")) { - this._stream.emit("rotate"); - } else { - this._rotate = false; - } - }); - }); - } - stat(callback) { - const target = this._getFile(); - const fullpath = path4.join(this.dirname, target); - fs7.stat(fullpath, (err, stat) => { - if (err && err.code === "ENOENT") { - debug("ENOENT\xA0ok", fullpath); - this.filename = target; - return callback(null, 0); - } - if (err) { - debug(`err ${err.code} ${fullpath}`); - return callback(err); - } - if (!stat || this._needsNewFile(stat.size)) { - return this._incFile(() => this.stat(callback)); - } - this.filename = target; - callback(null, stat.size); - }); - } - close(cb) { - if (!this._stream) { - return; - } - this._stream.end(() => { - if (cb) { - cb(); - } - this.emit("flush"); - this.emit("closed"); - }); - } - _needsNewFile(size) { - size = size || this._size; - return this.maxsize && size >= this.maxsize; - } - _onError(err) { - this.emit("error", err); - } - _setupStream(stream4) { - stream4.on("error", this._onError); - return stream4; - } - _cleanupStream(stream4) { - stream4.removeListener("error", this._onError); - return stream4; - } - _rotateFile() { - this._incFile(() => this.open()); - } - _endStream(callback = () => { - }) { - if (this._dest) { - this._stream.unpipe(this._dest); - this._dest.end(() => { - this._cleanupStream(this._dest); - callback(); - }); - } else { - callback(); - } - } - _createStream(source2) { - const fullpath = path4.join(this.dirname, this.filename); - debug("create stream start", fullpath, this.options); - const dest = fs7.createWriteStream(fullpath, this.options).on("error", (err) => debug(err)).on("close", () => debug("close", dest.path, dest.bytesWritten)).on("open", () => { - debug("file open ok", fullpath); - this.emit("open", fullpath); - source2.pipe(dest); - if (this.rotatedWhileOpening) { - this._stream = new PassThrough(); - this._stream.setMaxListeners(30); - this._rotateFile(); - this.rotatedWhileOpening = false; - this._cleanupStream(dest); - source2.end(); - } - }); - debug("create stream ok", fullpath); - if (this.zippedArchive) { - const gzip = zlib2.createGzip(); - gzip.pipe(dest); - return gzip; - } - return dest; - } - _incFile(callback) { - debug("_incFile", this.filename); - const ext = path4.extname(this._basename); - const basename2 = path4.basename(this._basename, ext); - if (!this.tailable) { - this._created += 1; - this._checkMaxFilesIncrementing(ext, basename2, callback); - } else { - this._checkMaxFilesTailable(ext, basename2, callback); - } - } - _getFile() { - const ext = path4.extname(this._basename); - const basename2 = path4.basename(this._basename, ext); - const isRotation = this.rotationFormat ? this.rotationFormat() : this._created; - const target = !this.tailable && this._created ? `${basename2}${isRotation}${ext}` : `${basename2}${ext}`; - return this.zippedArchive && !this.tailable ? `${target}.gz` : target; - } - _checkMaxFilesIncrementing(ext, basename2, callback) { - if (!this.maxFiles || this._created < this.maxFiles) { - return setImmediate(callback); - } - const oldest = this._created - this.maxFiles; - const isOldest = oldest !== 0 ? oldest : ""; - const isZipped = this.zippedArchive ? ".gz" : ""; - const filePath = `${basename2}${isOldest}${ext}${isZipped}`; - const target = path4.join(this.dirname, filePath); - fs7.unlink(target, callback); - } - _checkMaxFilesTailable(ext, basename2, callback) { - const tasks = []; - if (!this.maxFiles) { - return; - } - const isZipped = this.zippedArchive ? ".gz" : ""; - for (let x = this.maxFiles - 1; x > 1; x--) { - tasks.push(function(i, cb) { - let fileName = `${basename2}${i - 1}${ext}${isZipped}`; - const tmppath = path4.join(this.dirname, fileName); - fs7.exists(tmppath, (exists) => { - if (!exists) { - return cb(null); - } - fileName = `${basename2}${i}${ext}${isZipped}`; - fs7.rename(tmppath, path4.join(this.dirname, fileName), cb); - }); - }.bind(this, x)); - } - asyncSeries(tasks, () => { - fs7.rename( - path4.join(this.dirname, `${basename2}${ext}`), - path4.join(this.dirname, `${basename2}1${ext}${isZipped}`), - callback - ); - }); - } - _createLogDirIfNotExist(dirPath) { - if (!fs7.existsSync(dirPath)) { - fs7.mkdirSync(dirPath, { recursive: true }); - } - } - }; - } -}); - -// node_modules/winston/lib/winston/transports/http.js -var require_http = __commonJS({ - "node_modules/winston/lib/winston/transports/http.js"(exports2, module2) { - "use strict"; - var http2 = require("http"); - var https2 = require("https"); - var { Stream } = require_readable(); - var TransportStream = require_winston_transport(); - var jsonStringify = require_safe_stable_stringify(); - module2.exports = class Http extends TransportStream { - constructor(options = {}) { - super(options); - this.options = options; - this.name = options.name || "http"; - this.ssl = !!options.ssl; - this.host = options.host || "localhost"; - this.port = options.port; - this.auth = options.auth; - this.path = options.path || ""; - this.agent = options.agent; - this.headers = options.headers || {}; - this.headers["content-type"] = "application/json"; - this.batch = options.batch || false; - this.batchInterval = options.batchInterval || 5e3; - this.batchCount = options.batchCount || 10; - this.batchOptions = []; - this.batchTimeoutID = -1; - this.batchCallback = {}; - if (!this.port) { - this.port = this.ssl ? 443 : 80; - } - } - log(info, callback) { - this._request(info, (err, res) => { - if (res && res.statusCode !== 200) { - err = new Error(`Invalid HTTP Status Code: ${res.statusCode}`); - } - if (err) { - this.emit("warn", err); - } else { - this.emit("logged", info); - } - }); - if (callback) { - setImmediate(callback); - } - } - query(options, callback) { - if (typeof options === "function") { - callback = options; - options = {}; - } - options = { - method: "query", - params: this.normalizeQuery(options) - }; - if (options.params.path) { - options.path = options.params.path; - delete options.params.path; - } - if (options.params.auth) { - options.auth = options.params.auth; - delete options.params.auth; - } - this._request(options, (err, res, body) => { - if (res && res.statusCode !== 200) { - err = new Error(`Invalid HTTP Status Code: ${res.statusCode}`); - } - if (err) { - return callback(err); - } - if (typeof body === "string") { - try { - body = JSON.parse(body); - } catch (e) { - return callback(e); - } - } - callback(null, body); - }); - } - stream(options = {}) { - const stream4 = new Stream(); - options = { - method: "stream", - params: options - }; - if (options.params.path) { - options.path = options.params.path; - delete options.params.path; - } - if (options.params.auth) { - options.auth = options.params.auth; - delete options.params.auth; - } - let buff = ""; - const req = this._request(options); - stream4.destroy = () => req.destroy(); - req.on("data", (data) => { - data = (buff + data).split(/\n+/); - const l = data.length - 1; - let i = 0; - for (; i < l; i++) { - try { - stream4.emit("log", JSON.parse(data[i])); - } catch (e) { - stream4.emit("error", e); - } - } - buff = data[l]; - }); - req.on("error", (err) => stream4.emit("error", err)); - return stream4; - } - _request(options, callback) { - options = options || {}; - const auth = options.auth || this.auth; - const path4 = options.path || this.path || ""; - delete options.auth; - delete options.path; - if (this.batch) { - this._doBatch(options, callback, auth, path4); - } else { - this._doRequest(options, callback, auth, path4); - } - } - _doBatch(options, callback, auth, path4) { - this.batchOptions.push(options); - if (this.batchOptions.length === 1) { - const me = this; - this.batchCallback = callback; - this.batchTimeoutID = setTimeout(function() { - me.batchTimeoutID = -1; - me._doBatchRequest(me.batchCallback, auth, path4); - }, this.batchInterval); - } - if (this.batchOptions.length === this.batchCount) { - this._doBatchRequest(this.batchCallback, auth, path4); - } - } - _doBatchRequest(callback, auth, path4) { - if (this.batchTimeoutID > 0) { - clearTimeout(this.batchTimeoutID); - this.batchTimeoutID = -1; - } - const batchOptionsCopy = this.batchOptions.slice(); - this.batchOptions = []; - this._doRequest(batchOptionsCopy, callback, auth, path4); - } - _doRequest(options, callback, auth, path4) { - const headers = Object.assign({}, this.headers); - if (auth && auth.bearer) { - headers.Authorization = `Bearer ${auth.bearer}`; - } - const req = (this.ssl ? https2 : http2).request({ - ...this.options, - method: "POST", - host: this.host, - port: this.port, - path: `/${path4.replace(/^\//, "")}`, - headers, - auth: auth && auth.username && auth.password ? `${auth.username}:${auth.password}` : "", - agent: this.agent - }); - req.on("error", callback); - req.on("response", (res) => res.on("end", () => callback(null, res)).resume()); - req.end(Buffer.from(jsonStringify(options, this.options.replacer), "utf8")); - } - }; - } -}); - -// node_modules/is-stream/index.js -var require_is_stream = __commonJS({ - "node_modules/is-stream/index.js"(exports2, module2) { - "use strict"; - var isStream2 = (stream4) => stream4 !== null && typeof stream4 === "object" && typeof stream4.pipe === "function"; - isStream2.writable = (stream4) => isStream2(stream4) && stream4.writable !== false && typeof stream4._write === "function" && typeof stream4._writableState === "object"; - isStream2.readable = (stream4) => isStream2(stream4) && stream4.readable !== false && typeof stream4._read === "function" && typeof stream4._readableState === "object"; - isStream2.duplex = (stream4) => isStream2.writable(stream4) && isStream2.readable(stream4); - isStream2.transform = (stream4) => isStream2.duplex(stream4) && typeof stream4._transform === "function"; - module2.exports = isStream2; - } -}); - -// node_modules/winston/lib/winston/transports/stream.js -var require_stream2 = __commonJS({ - "node_modules/winston/lib/winston/transports/stream.js"(exports2, module2) { - "use strict"; - var isStream2 = require_is_stream(); - var { MESSAGE } = require_triple_beam(); - var os = require("os"); - var TransportStream = require_winston_transport(); - module2.exports = class Stream extends TransportStream { - constructor(options = {}) { - super(options); - if (!options.stream || !isStream2(options.stream)) { - throw new Error("options.stream is required."); - } - this._stream = options.stream; - this._stream.setMaxListeners(Infinity); - this.isObjectMode = options.stream._writableState.objectMode; - this.eol = typeof options.eol === "string" ? options.eol : os.EOL; - } - log(info, callback) { - setImmediate(() => this.emit("logged", info)); - if (this.isObjectMode) { - this._stream.write(info); - if (callback) { - callback(); - } - return; - } - this._stream.write(`${info[MESSAGE]}${this.eol}`); - if (callback) { - callback(); - } - return; - } - }; - } -}); - -// node_modules/winston/lib/winston/transports/index.js -var require_transports = __commonJS({ - "node_modules/winston/lib/winston/transports/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "Console", { - configurable: true, - enumerable: true, - get() { - return require_console(); - } - }); - Object.defineProperty(exports2, "File", { - configurable: true, - enumerable: true, - get() { - return require_file(); - } - }); - Object.defineProperty(exports2, "Http", { - configurable: true, - enumerable: true, - get() { - return require_http(); - } - }); - Object.defineProperty(exports2, "Stream", { - configurable: true, - enumerable: true, - get() { - return require_stream2(); - } - }); - } -}); - -// node_modules/winston/lib/winston/config/index.js -var require_config2 = __commonJS({ - "node_modules/winston/lib/winston/config/index.js"(exports2) { - "use strict"; - var logform = require_logform(); - var { configs } = require_triple_beam(); - exports2.cli = logform.levels(configs.cli); - exports2.npm = logform.levels(configs.npm); - exports2.syslog = logform.levels(configs.syslog); - exports2.addColors = logform.levels; - } -}); - -// node_modules/async/eachOf.js -var require_eachOf = __commonJS({ - "node_modules/async/eachOf.js"(exports2, module2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var _isArrayLike = require_isArrayLike(); - var _isArrayLike2 = _interopRequireDefault(_isArrayLike); - var _breakLoop = require_breakLoop(); - var _breakLoop2 = _interopRequireDefault(_breakLoop); - var _eachOfLimit = require_eachOfLimit2(); - var _eachOfLimit2 = _interopRequireDefault(_eachOfLimit); - var _once = require_once(); - var _once2 = _interopRequireDefault(_once); - var _onlyOnce = require_onlyOnce(); - var _onlyOnce2 = _interopRequireDefault(_onlyOnce); - var _wrapAsync = require_wrapAsync(); - var _wrapAsync2 = _interopRequireDefault(_wrapAsync); - var _awaitify = require_awaitify(); - var _awaitify2 = _interopRequireDefault(_awaitify); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - function eachOfArrayLike(coll, iteratee, callback) { - callback = (0, _once2.default)(callback); - var index = 0, completed = 0, { length } = coll, canceled = false; - if (length === 0) { - callback(null); - } - function iteratorCallback(err, value) { - if (err === false) { - canceled = true; - } - if (canceled === true) - return; - if (err) { - callback(err); - } else if (++completed === length || value === _breakLoop2.default) { - callback(null); - } - } - for (; index < length; index++) { - iteratee(coll[index], index, (0, _onlyOnce2.default)(iteratorCallback)); - } - } - function eachOfGeneric(coll, iteratee, callback) { - return (0, _eachOfLimit2.default)(coll, Infinity, iteratee, callback); - } - function eachOf(coll, iteratee, callback) { - var eachOfImplementation = (0, _isArrayLike2.default)(coll) ? eachOfArrayLike : eachOfGeneric; - return eachOfImplementation(coll, (0, _wrapAsync2.default)(iteratee), callback); - } - exports2.default = (0, _awaitify2.default)(eachOf, 3); - module2.exports = exports2["default"]; - } -}); - -// node_modules/async/internal/withoutIndex.js -var require_withoutIndex = __commonJS({ - "node_modules/async/internal/withoutIndex.js"(exports2, module2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.default = _withoutIndex; - function _withoutIndex(iteratee) { - return (value, index, callback) => iteratee(value, callback); - } - module2.exports = exports2["default"]; - } -}); - -// node_modules/async/forEach.js -var require_forEach = __commonJS({ - "node_modules/async/forEach.js"(exports2, module2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var _eachOf = require_eachOf(); - var _eachOf2 = _interopRequireDefault(_eachOf); - var _withoutIndex = require_withoutIndex(); - var _withoutIndex2 = _interopRequireDefault(_withoutIndex); - var _wrapAsync = require_wrapAsync(); - var _wrapAsync2 = _interopRequireDefault(_wrapAsync); - var _awaitify = require_awaitify(); - var _awaitify2 = _interopRequireDefault(_awaitify); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - function eachLimit(coll, iteratee, callback) { - return (0, _eachOf2.default)(coll, (0, _withoutIndex2.default)((0, _wrapAsync2.default)(iteratee)), callback); - } - exports2.default = (0, _awaitify2.default)(eachLimit, 3); - module2.exports = exports2["default"]; - } -}); - -// node_modules/fn.name/index.js -var require_fn = __commonJS({ - "node_modules/fn.name/index.js"(exports2, module2) { - "use strict"; - var toString3 = Object.prototype.toString; - module2.exports = function name(fn2) { - if ("string" === typeof fn2.displayName && fn2.constructor.name) { - return fn2.displayName; - } else if ("string" === typeof fn2.name && fn2.name) { - return fn2.name; - } - if ("object" === typeof fn2 && fn2.constructor && "string" === typeof fn2.constructor.name) - return fn2.constructor.name; - var named = fn2.toString(), type = toString3.call(fn2).slice(8, -1); - if ("Function" === type) { - named = named.substring(named.indexOf("(") + 1, named.indexOf(")")); - } else { - named = type; - } - return named || "anonymous"; - }; - } -}); - -// node_modules/one-time/index.js -var require_one_time = __commonJS({ - "node_modules/one-time/index.js"(exports2, module2) { - "use strict"; - var name = require_fn(); - module2.exports = function one(fn2) { - var called = 0, value; - function onetime() { - if (called) - return value; - called = 1; - value = fn2.apply(this, arguments); - fn2 = null; - return value; - } - onetime.displayName = name(fn2); - return onetime; - }; - } -}); - -// node_modules/stack-trace/lib/stack-trace.js -var require_stack_trace = __commonJS({ - "node_modules/stack-trace/lib/stack-trace.js"(exports2) { - exports2.get = function(belowFn) { - var oldLimit = Error.stackTraceLimit; - Error.stackTraceLimit = Infinity; - var dummyObject = {}; - var v8Handler = Error.prepareStackTrace; - Error.prepareStackTrace = function(dummyObject2, v8StackTrace2) { - return v8StackTrace2; - }; - Error.captureStackTrace(dummyObject, belowFn || exports2.get); - var v8StackTrace = dummyObject.stack; - Error.prepareStackTrace = v8Handler; - Error.stackTraceLimit = oldLimit; - return v8StackTrace; - }; - exports2.parse = function(err) { - if (!err.stack) { - return []; - } - var self2 = this; - var lines = err.stack.split("\n").slice(1); - return lines.map(function(line) { - if (line.match(/^\s*[-]{4,}$/)) { - return self2._createParsedCallSite({ - fileName: line, - lineNumber: null, - functionName: null, - typeName: null, - methodName: null, - columnNumber: null, - "native": null - }); - } - var lineMatch = line.match(/at (?:(.+)\s+\()?(?:(.+?):(\d+)(?::(\d+))?|([^)]+))\)?/); - if (!lineMatch) { - return; - } - var object = null; - var method = null; - var functionName = null; - var typeName = null; - var methodName = null; - var isNative = lineMatch[5] === "native"; - if (lineMatch[1]) { - functionName = lineMatch[1]; - var methodStart = functionName.lastIndexOf("."); - if (functionName[methodStart - 1] == ".") - methodStart--; - if (methodStart > 0) { - object = functionName.substr(0, methodStart); - method = functionName.substr(methodStart + 1); - var objectEnd = object.indexOf(".Module"); - if (objectEnd > 0) { - functionName = functionName.substr(objectEnd + 1); - object = object.substr(0, objectEnd); - } - } - typeName = null; - } - if (method) { - typeName = object; - methodName = method; - } - if (method === "") { - methodName = null; - functionName = null; - } - var properties = { - fileName: lineMatch[2] || null, - lineNumber: parseInt(lineMatch[3], 10) || null, - functionName, - typeName, - methodName, - columnNumber: parseInt(lineMatch[4], 10) || null, - "native": isNative - }; - return self2._createParsedCallSite(properties); - }).filter(function(callSite) { - return !!callSite; - }); - }; - function CallSite(properties) { - for (var property in properties) { - this[property] = properties[property]; - } - } - var strProperties = [ - "this", - "typeName", - "functionName", - "methodName", - "fileName", - "lineNumber", - "columnNumber", - "function", - "evalOrigin" - ]; - var boolProperties = [ - "topLevel", - "eval", - "native", - "constructor" - ]; - strProperties.forEach(function(property) { - CallSite.prototype[property] = null; - CallSite.prototype["get" + property[0].toUpperCase() + property.substr(1)] = function() { - return this[property]; - }; - }); - boolProperties.forEach(function(property) { - CallSite.prototype[property] = false; - CallSite.prototype["is" + property[0].toUpperCase() + property.substr(1)] = function() { - return this[property]; - }; - }); - exports2._createParsedCallSite = function(properties) { - return new CallSite(properties); - }; - } -}); - -// node_modules/winston/lib/winston/exception-stream.js -var require_exception_stream = __commonJS({ - "node_modules/winston/lib/winston/exception-stream.js"(exports2, module2) { - "use strict"; - var { Writable } = require_readable(); - module2.exports = class ExceptionStream extends Writable { - constructor(transport) { - super({ objectMode: true }); - if (!transport) { - throw new Error("ExceptionStream requires a TransportStream instance."); - } - this.handleExceptions = true; - this.transport = transport; - } - _write(info, enc, callback) { - if (info.exception) { - return this.transport.log(info, callback); - } - callback(); - return true; - } - }; - } -}); - -// node_modules/winston/lib/winston/exception-handler.js -var require_exception_handler = __commonJS({ - "node_modules/winston/lib/winston/exception-handler.js"(exports2, module2) { - "use strict"; - var os = require("os"); - var asyncForEach = require_forEach(); - var debug = require_node2()("winston:exception"); - var once = require_one_time(); - var stackTrace = require_stack_trace(); - var ExceptionStream = require_exception_stream(); - module2.exports = class ExceptionHandler { - constructor(logger) { - if (!logger) { - throw new Error("Logger is required to handle exceptions"); - } - this.logger = logger; - this.handlers = /* @__PURE__ */ new Map(); - } - handle(...args2) { - args2.forEach((arg) => { - if (Array.isArray(arg)) { - return arg.forEach((handler) => this._addHandler(handler)); - } - this._addHandler(arg); - }); - if (!this.catcher) { - this.catcher = this._uncaughtException.bind(this); - process.on("uncaughtException", this.catcher); - } - } - unhandle() { - if (this.catcher) { - process.removeListener("uncaughtException", this.catcher); - this.catcher = false; - Array.from(this.handlers.values()).forEach((wrapper) => this.logger.unpipe(wrapper)); - } - } - getAllInfo(err) { - let { message: message2 } = err; - if (!message2 && typeof err === "string") { - message2 = err; - } - return { - error: err, - level: "error", - message: [ - `uncaughtException: ${message2 || "(no error message)"}`, - err.stack || " No stack trace" - ].join("\n"), - stack: err.stack, - exception: true, - date: new Date().toString(), - process: this.getProcessInfo(), - os: this.getOsInfo(), - trace: this.getTrace(err) - }; - } - getProcessInfo() { - return { - pid: process.pid, - uid: process.getuid ? process.getuid() : null, - gid: process.getgid ? process.getgid() : null, - cwd: process.cwd(), - execPath: process.execPath, - version: process.version, - argv: process.argv, - memoryUsage: process.memoryUsage() - }; - } - getOsInfo() { - return { - loadavg: os.loadavg(), - uptime: os.uptime() - }; - } - getTrace(err) { - const trace = err ? stackTrace.parse(err) : stackTrace.get(); - return trace.map((site2) => { - return { - column: site2.getColumnNumber(), - file: site2.getFileName(), - function: site2.getFunctionName(), - line: site2.getLineNumber(), - method: site2.getMethodName(), - native: site2.isNative() - }; - }); - } - _addHandler(handler) { - if (!this.handlers.has(handler)) { - handler.handleExceptions = true; - const wrapper = new ExceptionStream(handler); - this.handlers.set(handler, wrapper); - this.logger.pipe(wrapper); - } - } - _uncaughtException(err) { - const info = this.getAllInfo(err); - const handlers = this._getExceptionHandlers(); - let doExit = typeof this.logger.exitOnError === "function" ? this.logger.exitOnError(err) : this.logger.exitOnError; - let timeout; - if (!handlers.length && doExit) { - console.warn("winston: exitOnError cannot be true with no exception handlers."); - console.warn("winston: not exiting process."); - doExit = false; - } - function gracefulExit() { - debug("doExit", doExit); - debug("process._exiting", process._exiting); - if (doExit && !process._exiting) { - if (timeout) { - clearTimeout(timeout); - } - process.exit(1); - } - } - if (!handlers || handlers.length === 0) { - return process.nextTick(gracefulExit); - } - asyncForEach(handlers, (handler, next) => { - const done = once(next); - const transport = handler.transport || handler; - function onDone(event) { - return () => { - debug(event); - done(); - }; - } - transport._ending = true; - transport.once("finish", onDone("finished")); - transport.once("error", onDone("error")); - }, () => doExit && gracefulExit()); - this.logger.log(info); - if (doExit) { - timeout = setTimeout(gracefulExit, 3e3); - } - } - _getExceptionHandlers() { - return this.logger.transports.filter((wrap) => { - const transport = wrap.transport || wrap; - return transport.handleExceptions; - }); - } - }; - } -}); - -// node_modules/winston/lib/winston/rejection-handler.js -var require_rejection_handler = __commonJS({ - "node_modules/winston/lib/winston/rejection-handler.js"(exports2, module2) { - "use strict"; - var os = require("os"); - var asyncForEach = require_forEach(); - var debug = require_node2()("winston:rejection"); - var once = require_one_time(); - var stackTrace = require_stack_trace(); - var ExceptionStream = require_exception_stream(); - module2.exports = class RejectionHandler { - constructor(logger) { - if (!logger) { - throw new Error("Logger is required to handle rejections"); - } - this.logger = logger; - this.handlers = /* @__PURE__ */ new Map(); - } - handle(...args2) { - args2.forEach((arg) => { - if (Array.isArray(arg)) { - return arg.forEach((handler) => this._addHandler(handler)); - } - this._addHandler(arg); - }); - if (!this.catcher) { - this.catcher = this._unhandledRejection.bind(this); - process.on("unhandledRejection", this.catcher); - } - } - unhandle() { - if (this.catcher) { - process.removeListener("unhandledRejection", this.catcher); - this.catcher = false; - Array.from(this.handlers.values()).forEach( - (wrapper) => this.logger.unpipe(wrapper) - ); - } - } - getAllInfo(err) { - let message2 = null; - if (err) { - message2 = typeof err === "string" ? err : err.message; - } - return { - error: err, - level: "error", - message: [ - `unhandledRejection: ${message2 || "(no error message)"}`, - err && err.stack || " No stack trace" - ].join("\n"), - stack: err && err.stack, - exception: true, - date: new Date().toString(), - process: this.getProcessInfo(), - os: this.getOsInfo(), - trace: this.getTrace(err) - }; - } - getProcessInfo() { - return { - pid: process.pid, - uid: process.getuid ? process.getuid() : null, - gid: process.getgid ? process.getgid() : null, - cwd: process.cwd(), - execPath: process.execPath, - version: process.version, - argv: process.argv, - memoryUsage: process.memoryUsage() - }; - } - getOsInfo() { - return { - loadavg: os.loadavg(), - uptime: os.uptime() - }; - } - getTrace(err) { - const trace = err ? stackTrace.parse(err) : stackTrace.get(); - return trace.map((site2) => { - return { - column: site2.getColumnNumber(), - file: site2.getFileName(), - function: site2.getFunctionName(), - line: site2.getLineNumber(), - method: site2.getMethodName(), - native: site2.isNative() - }; - }); - } - _addHandler(handler) { - if (!this.handlers.has(handler)) { - handler.handleRejections = true; - const wrapper = new ExceptionStream(handler); - this.handlers.set(handler, wrapper); - this.logger.pipe(wrapper); - } - } - _unhandledRejection(err) { - const info = this.getAllInfo(err); - const handlers = this._getRejectionHandlers(); - let doExit = typeof this.logger.exitOnError === "function" ? this.logger.exitOnError(err) : this.logger.exitOnError; - let timeout; - if (!handlers.length && doExit) { - console.warn("winston: exitOnError cannot be true with no rejection handlers."); - console.warn("winston: not exiting process."); - doExit = false; - } - function gracefulExit() { - debug("doExit", doExit); - debug("process._exiting", process._exiting); - if (doExit && !process._exiting) { - if (timeout) { - clearTimeout(timeout); - } - process.exit(1); - } - } - if (!handlers || handlers.length === 0) { - return process.nextTick(gracefulExit); - } - asyncForEach( - handlers, - (handler, next) => { - const done = once(next); - const transport = handler.transport || handler; - function onDone(event) { - return () => { - debug(event); - done(); - }; - } - transport._ending = true; - transport.once("finish", onDone("finished")); - transport.once("error", onDone("error")); - }, - () => doExit && gracefulExit() - ); - this.logger.log(info); - if (doExit) { - timeout = setTimeout(gracefulExit, 3e3); - } - } - _getRejectionHandlers() { - return this.logger.transports.filter((wrap) => { - const transport = wrap.transport || wrap; - return transport.handleRejections; - }); - } - }; - } -}); - -// node_modules/winston/lib/winston/profiler.js -var require_profiler = __commonJS({ - "node_modules/winston/lib/winston/profiler.js"(exports2, module2) { - "use strict"; - module2.exports = class Profiler { - constructor(logger) { - if (!logger) { - throw new Error("Logger is required for profiling."); - } - this.logger = logger; - this.start = Date.now(); - } - done(...args2) { - if (typeof args2[args2.length - 1] === "function") { - console.warn("Callback function no longer supported as of winston@3.0.0"); - args2.pop(); - } - const info = typeof args2[args2.length - 1] === "object" ? args2.pop() : {}; - info.level = info.level || "info"; - info.durationMs = Date.now() - this.start; - return this.logger.write(info); - } - }; - } -}); - -// node_modules/winston/lib/winston/logger.js -var require_logger = __commonJS({ - "node_modules/winston/lib/winston/logger.js"(exports2, module2) { - "use strict"; - var { Stream, Transform } = require_readable(); - var asyncForEach = require_forEach(); - var { LEVEL, SPLAT } = require_triple_beam(); - var isStream2 = require_is_stream(); - var ExceptionHandler = require_exception_handler(); - var RejectionHandler = require_rejection_handler(); - var LegacyTransportStream = require_legacy(); - var Profiler = require_profiler(); - var { warn } = require_common(); - var config2 = require_config2(); - var formatRegExp = /%[scdjifoO%]/g; - var Logger = class extends Transform { - constructor(options) { - super({ objectMode: true }); - this.configure(options); - } - child(defaultRequestMetadata) { - const logger = this; - return Object.create(logger, { - write: { - value: function(info) { - const infoClone = Object.assign( - {}, - defaultRequestMetadata, - info - ); - if (info instanceof Error) { - infoClone.stack = info.stack; - infoClone.message = info.message; - } - logger.write(infoClone); - } - } - }); - } - configure({ - silent, - format: format2, - defaultMeta, - levels, - level = "info", - exitOnError = true, - transports: transports6, - colors, - emitErrs, - formatters, - padLevels, - rewriters, - stripColors, - exceptionHandlers, - rejectionHandlers - } = {}) { - if (this.transports.length) { - this.clear(); - } - this.silent = silent; - this.format = format2 || this.format || require_json()(); - this.defaultMeta = defaultMeta || null; - this.levels = levels || this.levels || config2.npm.levels; - this.level = level; - if (this.exceptions) { - this.exceptions.unhandle(); - } - if (this.rejections) { - this.rejections.unhandle(); - } - this.exceptions = new ExceptionHandler(this); - this.rejections = new RejectionHandler(this); - this.profilers = {}; - this.exitOnError = exitOnError; - if (transports6) { - transports6 = Array.isArray(transports6) ? transports6 : [transports6]; - transports6.forEach((transport) => this.add(transport)); - } - if (colors || emitErrs || formatters || padLevels || rewriters || stripColors) { - throw new Error( - [ - "{ colors, emitErrs, formatters, padLevels, rewriters, stripColors } were removed in winston@3.0.0.", - "Use a custom winston.format(function) instead.", - "See: https://github.com/winstonjs/winston/tree/master/UPGRADE-3.0.md" - ].join("\n") - ); - } - if (exceptionHandlers) { - this.exceptions.handle(exceptionHandlers); - } - if (rejectionHandlers) { - this.rejections.handle(rejectionHandlers); - } - } - isLevelEnabled(level) { - const givenLevelValue = getLevelValue(this.levels, level); - if (givenLevelValue === null) { - return false; - } - const configuredLevelValue = getLevelValue(this.levels, this.level); - if (configuredLevelValue === null) { - return false; - } - if (!this.transports || this.transports.length === 0) { - return configuredLevelValue >= givenLevelValue; - } - const index = this.transports.findIndex((transport) => { - let transportLevelValue = getLevelValue(this.levels, transport.level); - if (transportLevelValue === null) { - transportLevelValue = configuredLevelValue; - } - return transportLevelValue >= givenLevelValue; - }); - return index !== -1; - } - log(level, msg, ...splat) { - if (arguments.length === 1) { - level[LEVEL] = level.level; - this._addDefaultMeta(level); - this.write(level); - return this; - } - if (arguments.length === 2) { - if (msg && typeof msg === "object") { - msg[LEVEL] = msg.level = level; - this._addDefaultMeta(msg); - this.write(msg); - return this; - } - msg = { [LEVEL]: level, level, message: msg }; - this._addDefaultMeta(msg); - this.write(msg); - return this; - } - const [meta] = splat; - if (typeof meta === "object" && meta !== null) { - const tokens = msg && msg.match && msg.match(formatRegExp); - if (!tokens) { - const info = Object.assign({}, this.defaultMeta, meta, { - [LEVEL]: level, - [SPLAT]: splat, - level, - message: msg - }); - if (meta.message) - info.message = `${info.message} ${meta.message}`; - if (meta.stack) - info.stack = meta.stack; - this.write(info); - return this; - } - } - this.write(Object.assign({}, this.defaultMeta, { - [LEVEL]: level, - [SPLAT]: splat, - level, - message: msg - })); - return this; - } - _transform(info, enc, callback) { - if (this.silent) { - return callback(); - } - if (!info[LEVEL]) { - info[LEVEL] = info.level; - } - if (!this.levels[info[LEVEL]] && this.levels[info[LEVEL]] !== 0) { - console.error("[winston] Unknown logger level: %s", info[LEVEL]); - } - if (!this._readableState.pipes) { - console.error( - "[winston] Attempt to write logs with no transports, which can increase memory usage: %j", - info - ); - } - try { - this.push(this.format.transform(info, this.format.options)); - } finally { - this._writableState.sync = false; - callback(); - } - } - _final(callback) { - const transports6 = this.transports.slice(); - asyncForEach( - transports6, - (transport, next) => { - if (!transport || transport.finished) - return setImmediate(next); - transport.once("finish", next); - transport.end(); - }, - callback - ); - } - add(transport) { - const target = !isStream2(transport) || transport.log.length > 2 ? new LegacyTransportStream({ transport }) : transport; - if (!target._writableState || !target._writableState.objectMode) { - throw new Error( - "Transports must WritableStreams in objectMode. Set { objectMode: true }." - ); - } - this._onEvent("error", target); - this._onEvent("warn", target); - this.pipe(target); - if (transport.handleExceptions) { - this.exceptions.handle(); - } - if (transport.handleRejections) { - this.rejections.handle(); - } - return this; - } - remove(transport) { - if (!transport) - return this; - let target = transport; - if (!isStream2(transport) || transport.log.length > 2) { - target = this.transports.filter( - (match) => match.transport === transport - )[0]; - } - if (target) { - this.unpipe(target); - } - return this; - } - clear() { - this.unpipe(); - return this; - } - close() { - this.exceptions.unhandle(); - this.rejections.unhandle(); - this.clear(); - this.emit("close"); - return this; - } - setLevels() { - warn.deprecated("setLevels"); - } - query(options, callback) { - if (typeof options === "function") { - callback = options; - options = {}; - } - options = options || {}; - const results = {}; - const queryObject = Object.assign({}, options.query || {}); - function queryTransport(transport, next) { - if (options.query && typeof transport.formatQuery === "function") { - options.query = transport.formatQuery(queryObject); - } - transport.query(options, (err, res) => { - if (err) { - return next(err); - } - if (typeof transport.formatResults === "function") { - res = transport.formatResults(res, options.format); - } - next(null, res); - }); - } - function addResults(transport, next) { - queryTransport(transport, (err, result) => { - if (next) { - result = err || result; - if (result) { - results[transport.name] = result; - } - next(); - } - next = null; - }); - } - asyncForEach( - this.transports.filter((transport) => !!transport.query), - addResults, - () => callback(null, results) - ); - } - stream(options = {}) { - const out = new Stream(); - const streams = []; - out._streams = streams; - out.destroy = () => { - let i = streams.length; - while (i--) { - streams[i].destroy(); - } - }; - this.transports.filter((transport) => !!transport.stream).forEach((transport) => { - const str = transport.stream(options); - if (!str) { - return; - } - streams.push(str); - str.on("log", (log2) => { - log2.transport = log2.transport || []; - log2.transport.push(transport.name); - out.emit("log", log2); - }); - str.on("error", (err) => { - err.transport = err.transport || []; - err.transport.push(transport.name); - out.emit("error", err); - }); - }); - return out; - } - startTimer() { - return new Profiler(this); - } - profile(id, ...args2) { - const time = Date.now(); - if (this.profilers[id]) { - const timeEnd = this.profilers[id]; - delete this.profilers[id]; - if (typeof args2[args2.length - 2] === "function") { - console.warn( - "Callback function no longer supported as of winston@3.0.0" - ); - args2.pop(); - } - const info = typeof args2[args2.length - 1] === "object" ? args2.pop() : {}; - info.level = info.level || "info"; - info.durationMs = time - timeEnd; - info.message = info.message || id; - return this.write(info); - } - this.profilers[id] = time; - return this; - } - handleExceptions(...args2) { - console.warn( - "Deprecated: .handleExceptions() will be removed in winston@4. Use .exceptions.handle()" - ); - this.exceptions.handle(...args2); - } - unhandleExceptions(...args2) { - console.warn( - "Deprecated: .unhandleExceptions() will be removed in winston@4. Use .exceptions.unhandle()" - ); - this.exceptions.unhandle(...args2); - } - cli() { - throw new Error( - [ - "Logger.cli() was removed in winston@3.0.0", - "Use a custom winston.formats.cli() instead.", - "See: https://github.com/winstonjs/winston/tree/master/UPGRADE-3.0.md" - ].join("\n") - ); - } - _onEvent(event, transport) { - function transportEvent(err) { - if (event === "error" && !this.transports.includes(transport)) { - this.add(transport); - } - this.emit(event, err, transport); - } - if (!transport["__winston" + event]) { - transport["__winston" + event] = transportEvent.bind(this); - transport.on(event, transport["__winston" + event]); - } - } - _addDefaultMeta(msg) { - if (this.defaultMeta) { - Object.assign(msg, this.defaultMeta); - } - } - }; - function getLevelValue(levels, level) { - const value = levels[level]; - if (!value && value !== 0) { - return null; - } - return value; - } - Object.defineProperty(Logger.prototype, "transports", { - configurable: false, - enumerable: true, - get() { - const { pipes } = this._readableState; - return !Array.isArray(pipes) ? [pipes].filter(Boolean) : pipes; - } - }); - module2.exports = Logger; - } -}); - -// node_modules/winston/lib/winston/create-logger.js -var require_create_logger = __commonJS({ - "node_modules/winston/lib/winston/create-logger.js"(exports2, module2) { - "use strict"; - var { LEVEL } = require_triple_beam(); - var config2 = require_config2(); - var Logger = require_logger(); - var debug = require_node2()("winston:create-logger"); - function isLevelEnabledFunctionName(level) { - return "is" + level.charAt(0).toUpperCase() + level.slice(1) + "Enabled"; - } - module2.exports = function(opts = {}) { - opts.levels = opts.levels || config2.npm.levels; - class DerivedLogger extends Logger { - constructor(options) { - super(options); - } - } - const logger = new DerivedLogger(opts); - Object.keys(opts.levels).forEach(function(level) { - debug('Define prototype method for "%s"', level); - if (level === "log") { - console.warn('Level "log" not defined: conflicts with the method "log". Use a different level name.'); - return; - } - DerivedLogger.prototype[level] = function(...args2) { - const self2 = this || logger; - if (args2.length === 1) { - const [msg] = args2; - const info = msg && msg.message && msg || { message: msg }; - info.level = info[LEVEL] = level; - self2._addDefaultMeta(info); - self2.write(info); - return this || logger; - } - if (args2.length === 0) { - self2.log(level, ""); - return self2; - } - return self2.log(level, ...args2); - }; - DerivedLogger.prototype[isLevelEnabledFunctionName(level)] = function() { - return (this || logger).isLevelEnabled(level); - }; - }); - return logger; - }; - } -}); - -// node_modules/winston/lib/winston/container.js -var require_container = __commonJS({ - "node_modules/winston/lib/winston/container.js"(exports2, module2) { - "use strict"; - var createLogger = require_create_logger(); - module2.exports = class Container { - constructor(options = {}) { - this.loggers = /* @__PURE__ */ new Map(); - this.options = options; - } - add(id, options) { - if (!this.loggers.has(id)) { - options = Object.assign({}, options || this.options); - const existing = options.transports || this.options.transports; - options.transports = existing ? existing.slice() : []; - const logger = createLogger(options); - logger.on("close", () => this._delete(id)); - this.loggers.set(id, logger); - } - return this.loggers.get(id); - } - get(id, options) { - return this.add(id, options); - } - has(id) { - return !!this.loggers.has(id); - } - close(id) { - if (id) { - return this._removeLogger(id); - } - this.loggers.forEach((val, key) => this._removeLogger(key)); - } - _removeLogger(id) { - if (!this.loggers.has(id)) { - return; - } - const logger = this.loggers.get(id); - logger.close(); - this._delete(id); - } - _delete(id) { - this.loggers.delete(id); - } - }; - } -}); - -// node_modules/winston/lib/winston.js -var require_winston = __commonJS({ - "node_modules/winston/lib/winston.js"(exports2) { - "use strict"; - var logform = require_logform(); - var { warn } = require_common(); - exports2.version = require_package().version; - exports2.transports = require_transports(); - exports2.config = require_config2(); - exports2.addColors = logform.levels; - exports2.format = logform.format; - exports2.createLogger = require_create_logger(); - exports2.ExceptionHandler = require_exception_handler(); - exports2.RejectionHandler = require_rejection_handler(); - exports2.Container = require_container(); - exports2.Transport = require_winston_transport(); - exports2.loggers = new exports2.Container(); - var defaultLogger = exports2.createLogger(); - Object.keys(exports2.config.npm.levels).concat([ - "log", - "query", - "stream", - "add", - "remove", - "clear", - "profile", - "startTimer", - "handleExceptions", - "unhandleExceptions", - "handleRejections", - "unhandleRejections", - "configure", - "child" - ]).forEach( - (method) => exports2[method] = (...args2) => defaultLogger[method](...args2) - ); - Object.defineProperty(exports2, "level", { - get() { - return defaultLogger.level; - }, - set(val) { - defaultLogger.level = val; - } - }); - Object.defineProperty(exports2, "exceptions", { - get() { - return defaultLogger.exceptions; - } - }); - ["exitOnError"].forEach((prop) => { - Object.defineProperty(exports2, prop, { - get() { - return defaultLogger[prop]; - }, - set(val) { - defaultLogger[prop] = val; - } - }); - }); - Object.defineProperty(exports2, "default", { - get() { - return { - exceptionHandlers: defaultLogger.exceptionHandlers, - rejectionHandlers: defaultLogger.rejectionHandlers, - transports: defaultLogger.transports - }; - } - }); - warn.deprecated(exports2, "setLevels"); - warn.forFunctions(exports2, "useFormat", ["cli"]); - warn.forProperties(exports2, "useFormat", ["padLevels", "stripColors"]); - warn.forFunctions(exports2, "deprecated", [ - "addRewriter", - "addFilter", - "clone", - "extend" - ]); - warn.forProperties(exports2, "deprecated", ["emitErrs", "levelLength"]); - warn.moved(exports2, "createLogger", "Logger"); - } -}); - -// server/Logging/LoggerUtils.js -var timestamp; -var init_LoggerUtils = __esm({ - "server/Logging/LoggerUtils.js"() { - timestamp = () => { - const date = new Date(); - return date.getFullYear() + "/" + ("0" + (date.getMonth() + 1)).slice(-2) + "/" + ("0" + date.getDate()).slice(-2) + " " + ("0" + date.getHours()).slice(-2) + ":" + ("0" + date.getMinutes()).slice(-2) + ":" + ("0" + date.getSeconds()).slice(-2); - }; - } -}); - -// node_modules/axios/lib/helpers/bind.js -function bind(fn2, thisArg) { - return function wrap() { - return fn2.apply(thisArg, arguments); - }; -} -var init_bind = __esm({ - "node_modules/axios/lib/helpers/bind.js"() { - "use strict"; - } -}); - -// node_modules/axios/lib/utils.js -function isBuffer(val) { - return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val); -} -function isArrayBufferView(val) { - let result; - if (typeof ArrayBuffer !== "undefined" && ArrayBuffer.isView) { - result = ArrayBuffer.isView(val); - } else { - result = val && val.buffer && isArrayBuffer(val.buffer); - } - return result; -} -function forEach(obj, fn2, { allOwnKeys = false } = {}) { - if (obj === null || typeof obj === "undefined") { - return; - } - let i; - let l; - if (typeof obj !== "object") { - obj = [obj]; - } - if (isArray(obj)) { - for (i = 0, l = obj.length; i < l; i++) { - fn2.call(null, obj[i], i, obj); - } - } else { - const keys2 = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj); - const len = keys2.length; - let key; - for (i = 0; i < len; i++) { - key = keys2[i]; - fn2.call(null, obj[key], key, obj); - } - } -} -function findKey(obj, key) { - key = key.toLowerCase(); - const keys2 = Object.keys(obj); - let i = keys2.length; - let _key; - while (i-- > 0) { - _key = keys2[i]; - if (key === _key.toLowerCase()) { - return _key; - } - } - return null; -} -function merge() { - const { caseless } = isContextDefined(this) && this || {}; - const result = {}; - const assignValue = (val, key) => { - const targetKey = caseless && findKey(result, key) || key; - if (isPlainObject(result[targetKey]) && isPlainObject(val)) { - result[targetKey] = merge(result[targetKey], val); - } else if (isPlainObject(val)) { - result[targetKey] = merge({}, val); - } else if (isArray(val)) { - result[targetKey] = val.slice(); - } else { - result[targetKey] = val; - } - }; - for (let i = 0, l = arguments.length; i < l; i++) { - arguments[i] && forEach(arguments[i], assignValue); - } - return result; -} -function isSpecCompliantForm(thing) { - return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === "FormData" && thing[Symbol.iterator]); -} -var toString, getPrototypeOf, kindOf, kindOfTest, typeOfTest, isArray, isUndefined, isArrayBuffer, isString, isFunction, isNumber, isObject2, isBoolean, isPlainObject, isDate, isFile, isBlob, isFileList, isStream, isFormData, isURLSearchParams, trim, _global, isContextDefined, extend, stripBOM, inherits, toFlatObject, endsWith, toArray, isTypedArray, forEachEntry, matchAll, isHTMLForm, toCamelCase, hasOwnProperty, isRegExp, reduceDescriptors, freezeMethods, toObjectSet, noop, toFiniteNumber, ALPHA, DIGIT, ALPHABET, generateString, toJSONObject, isAsyncFn, isThenable, utils_default; -var init_utils = __esm({ - "node_modules/axios/lib/utils.js"() { - "use strict"; - init_bind(); - ({ toString } = Object.prototype); - ({ getPrototypeOf } = Object); - kindOf = ((cache) => (thing) => { - const str = toString.call(thing); - return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase()); - })(/* @__PURE__ */ Object.create(null)); - kindOfTest = (type) => { - type = type.toLowerCase(); - return (thing) => kindOf(thing) === type; - }; - typeOfTest = (type) => (thing) => typeof thing === type; - ({ isArray } = Array); - isUndefined = typeOfTest("undefined"); - isArrayBuffer = kindOfTest("ArrayBuffer"); - isString = typeOfTest("string"); - isFunction = typeOfTest("function"); - isNumber = typeOfTest("number"); - isObject2 = (thing) => thing !== null && typeof thing === "object"; - isBoolean = (thing) => thing === true || thing === false; - isPlainObject = (val) => { - if (kindOf(val) !== "object") { - return false; - } - const prototype3 = getPrototypeOf(val); - return (prototype3 === null || prototype3 === Object.prototype || Object.getPrototypeOf(prototype3) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val); - }; - isDate = kindOfTest("Date"); - isFile = kindOfTest("File"); - isBlob = kindOfTest("Blob"); - isFileList = kindOfTest("FileList"); - isStream = (val) => isObject2(val) && isFunction(val.pipe); - isFormData = (thing) => { - let kind; - return thing && (typeof FormData === "function" && thing instanceof FormData || isFunction(thing.append) && ((kind = kindOf(thing)) === "formdata" || kind === "object" && isFunction(thing.toString) && thing.toString() === "[object FormData]")); - }; - isURLSearchParams = kindOfTest("URLSearchParams"); - trim = (str) => str.trim ? str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ""); - _global = (() => { - if (typeof globalThis !== "undefined") - return globalThis; - return typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : global; - })(); - isContextDefined = (context) => !isUndefined(context) && context !== _global; - extend = (a, b, thisArg, { allOwnKeys } = {}) => { - forEach(b, (val, key) => { - if (thisArg && isFunction(val)) { - a[key] = bind(val, thisArg); - } else { - a[key] = val; - } - }, { allOwnKeys }); - return a; - }; - stripBOM = (content) => { - if (content.charCodeAt(0) === 65279) { - content = content.slice(1); - } - return content; - }; - inherits = (constructor, superConstructor, props, descriptors2) => { - constructor.prototype = Object.create(superConstructor.prototype, descriptors2); - constructor.prototype.constructor = constructor; - Object.defineProperty(constructor, "super", { - value: superConstructor.prototype - }); - props && Object.assign(constructor.prototype, props); - }; - toFlatObject = (sourceObj, destObj, filter2, propFilter) => { - let props; - let i; - let prop; - const merged = {}; - destObj = destObj || {}; - if (sourceObj == null) - return destObj; - do { - props = Object.getOwnPropertyNames(sourceObj); - i = props.length; - while (i-- > 0) { - prop = props[i]; - if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) { - destObj[prop] = sourceObj[prop]; - merged[prop] = true; - } - } - sourceObj = filter2 !== false && getPrototypeOf(sourceObj); - } while (sourceObj && (!filter2 || filter2(sourceObj, destObj)) && sourceObj !== Object.prototype); - return destObj; - }; - endsWith = (str, searchString, position) => { - str = String(str); - if (position === void 0 || position > str.length) { - position = str.length; - } - position -= searchString.length; - const lastIndex = str.indexOf(searchString, position); - return lastIndex !== -1 && lastIndex === position; - }; - toArray = (thing) => { - if (!thing) - return null; - if (isArray(thing)) - return thing; - let i = thing.length; - if (!isNumber(i)) - return null; - const arr = new Array(i); - while (i-- > 0) { - arr[i] = thing[i]; - } - return arr; - }; - isTypedArray = ((TypedArray) => { - return (thing) => { - return TypedArray && thing instanceof TypedArray; - }; - })(typeof Uint8Array !== "undefined" && getPrototypeOf(Uint8Array)); - forEachEntry = (obj, fn2) => { - const generator = obj && obj[Symbol.iterator]; - const iterator = generator.call(obj); - let result; - while ((result = iterator.next()) && !result.done) { - const pair = result.value; - fn2.call(obj, pair[0], pair[1]); - } - }; - matchAll = (regExp, str) => { - let matches; - const arr = []; - while ((matches = regExp.exec(str)) !== null) { - arr.push(matches); - } - return arr; - }; - isHTMLForm = kindOfTest("HTMLFormElement"); - toCamelCase = (str) => { - return str.toLowerCase().replace( - /[-_\s]([a-z\d])(\w*)/g, - function replacer(m, p1, p2) { - return p1.toUpperCase() + p2; - } - ); - }; - hasOwnProperty = (({ hasOwnProperty: hasOwnProperty2 }) => (obj, prop) => hasOwnProperty2.call(obj, prop))(Object.prototype); - isRegExp = kindOfTest("RegExp"); - reduceDescriptors = (obj, reducer) => { - const descriptors2 = Object.getOwnPropertyDescriptors(obj); - const reducedDescriptors = {}; - forEach(descriptors2, (descriptor, name) => { - if (reducer(descriptor, name, obj) !== false) { - reducedDescriptors[name] = descriptor; - } - }); - Object.defineProperties(obj, reducedDescriptors); - }; - freezeMethods = (obj) => { - reduceDescriptors(obj, (descriptor, name) => { - if (isFunction(obj) && ["arguments", "caller", "callee"].indexOf(name) !== -1) { - return false; - } - const value = obj[name]; - if (!isFunction(value)) - return; - descriptor.enumerable = false; - if ("writable" in descriptor) { - descriptor.writable = false; - return; - } - if (!descriptor.set) { - descriptor.set = () => { - throw Error("Can not rewrite read-only method '" + name + "'"); - }; - } - }); - }; - toObjectSet = (arrayOrString, delimiter) => { - const obj = {}; - const define2 = (arr) => { - arr.forEach((value) => { - obj[value] = true; - }); - }; - isArray(arrayOrString) ? define2(arrayOrString) : define2(String(arrayOrString).split(delimiter)); - return obj; - }; - noop = () => { - }; - toFiniteNumber = (value, defaultValue) => { - value = +value; - return Number.isFinite(value) ? value : defaultValue; - }; - ALPHA = "abcdefghijklmnopqrstuvwxyz"; - DIGIT = "0123456789"; - ALPHABET = { - DIGIT, - ALPHA, - ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT - }; - generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => { - let str = ""; - const { length } = alphabet; - while (size--) { - str += alphabet[Math.random() * length | 0]; - } - return str; - }; - toJSONObject = (obj) => { - const stack2 = new Array(10); - const visit = (source2, i) => { - if (isObject2(source2)) { - if (stack2.indexOf(source2) >= 0) { - return; - } - if (!("toJSON" in source2)) { - stack2[i] = source2; - const target = isArray(source2) ? [] : {}; - forEach(source2, (value, key) => { - const reducedValue = visit(value, i + 1); - !isUndefined(reducedValue) && (target[key] = reducedValue); - }); - stack2[i] = void 0; - return target; - } - } - return source2; - }; - return visit(obj, 0); - }; - isAsyncFn = kindOfTest("AsyncFunction"); - isThenable = (thing) => thing && (isObject2(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch); - utils_default = { - isArray, - isArrayBuffer, - isBuffer, - isFormData, - isArrayBufferView, - isString, - isNumber, - isBoolean, - isObject: isObject2, - isPlainObject, - isUndefined, - isDate, - isFile, - isBlob, - isRegExp, - isFunction, - isStream, - isURLSearchParams, - isTypedArray, - isFileList, - forEach, - merge, - extend, - trim, - stripBOM, - inherits, - toFlatObject, - kindOf, - kindOfTest, - endsWith, - toArray, - forEachEntry, - matchAll, - isHTMLForm, - hasOwnProperty, - hasOwnProp: hasOwnProperty, - reduceDescriptors, - freezeMethods, - toObjectSet, - toCamelCase, - noop, - toFiniteNumber, - findKey, - global: _global, - isContextDefined, - ALPHABET, - generateString, - isSpecCompliantForm, - toJSONObject, - isAsyncFn, - isThenable - }; - } -}); - -// node_modules/axios/lib/core/AxiosError.js -function AxiosError(message2, code, config2, request2, response) { - Error.call(this); - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } else { - this.stack = new Error().stack; - } - this.message = message2; - this.name = "AxiosError"; - code && (this.code = code); - config2 && (this.config = config2); - request2 && (this.request = request2); - response && (this.response = response); -} -var prototype, descriptors, AxiosError_default; -var init_AxiosError = __esm({ - "node_modules/axios/lib/core/AxiosError.js"() { - "use strict"; - init_utils(); - utils_default.inherits(AxiosError, Error, { - toJSON: function toJSON() { - return { - message: this.message, - name: this.name, - description: this.description, - number: this.number, - fileName: this.fileName, - lineNumber: this.lineNumber, - columnNumber: this.columnNumber, - stack: this.stack, - config: utils_default.toJSONObject(this.config), - code: this.code, - status: this.response && this.response.status ? this.response.status : null - }; - } - }); - prototype = AxiosError.prototype; - descriptors = {}; - [ - "ERR_BAD_OPTION_VALUE", - "ERR_BAD_OPTION", - "ECONNABORTED", - "ETIMEDOUT", - "ERR_NETWORK", - "ERR_FR_TOO_MANY_REDIRECTS", - "ERR_DEPRECATED", - "ERR_BAD_RESPONSE", - "ERR_BAD_REQUEST", - "ERR_CANCELED", - "ERR_NOT_SUPPORT", - "ERR_INVALID_URL" - ].forEach((code) => { - descriptors[code] = { value: code }; - }); - Object.defineProperties(AxiosError, descriptors); - Object.defineProperty(prototype, "isAxiosError", { value: true }); - AxiosError.from = (error, code, config2, request2, response, customProps) => { - const axiosError = Object.create(prototype); - utils_default.toFlatObject(error, axiosError, function filter2(obj) { - return obj !== Error.prototype; - }, (prop) => { - return prop !== "isAxiosError"; - }); - AxiosError.call(axiosError, error.message, code, config2, request2, response); - axiosError.cause = error; - axiosError.name = error.name; - customProps && Object.assign(axiosError, customProps); - return axiosError; - }; - AxiosError_default = AxiosError; - } -}); - -// node_modules/delayed-stream/lib/delayed_stream.js -var require_delayed_stream = __commonJS({ - "node_modules/delayed-stream/lib/delayed_stream.js"(exports2, module2) { - var Stream = require("stream").Stream; - var util2 = require("util"); - module2.exports = DelayedStream; - function DelayedStream() { - this.source = null; - this.dataSize = 0; - this.maxDataSize = 1024 * 1024; - this.pauseStream = true; - this._maxDataSizeExceeded = false; - this._released = false; - this._bufferedEvents = []; - } - util2.inherits(DelayedStream, Stream); - DelayedStream.create = function(source2, options) { - var delayedStream = new this(); - options = options || {}; - for (var option in options) { - delayedStream[option] = options[option]; - } - delayedStream.source = source2; - var realEmit = source2.emit; - source2.emit = function() { - delayedStream._handleEmit(arguments); - return realEmit.apply(source2, arguments); - }; - source2.on("error", function() { - }); - if (delayedStream.pauseStream) { - source2.pause(); - } - return delayedStream; - }; - Object.defineProperty(DelayedStream.prototype, "readable", { - configurable: true, - enumerable: true, - get: function() { - return this.source.readable; - } - }); - DelayedStream.prototype.setEncoding = function() { - return this.source.setEncoding.apply(this.source, arguments); - }; - DelayedStream.prototype.resume = function() { - if (!this._released) { - this.release(); - } - this.source.resume(); - }; - DelayedStream.prototype.pause = function() { - this.source.pause(); - }; - DelayedStream.prototype.release = function() { - this._released = true; - this._bufferedEvents.forEach(function(args2) { - this.emit.apply(this, args2); - }.bind(this)); - this._bufferedEvents = []; - }; - DelayedStream.prototype.pipe = function() { - var r = Stream.prototype.pipe.apply(this, arguments); - this.resume(); - return r; - }; - DelayedStream.prototype._handleEmit = function(args2) { - if (this._released) { - this.emit.apply(this, args2); - return; - } - if (args2[0] === "data") { - this.dataSize += args2[1].length; - this._checkIfMaxDataSizeExceeded(); - } - this._bufferedEvents.push(args2); - }; - DelayedStream.prototype._checkIfMaxDataSizeExceeded = function() { - if (this._maxDataSizeExceeded) { - return; - } - if (this.dataSize <= this.maxDataSize) { - return; - } - this._maxDataSizeExceeded = true; - var message2 = "DelayedStream#maxDataSize of " + this.maxDataSize + " bytes exceeded."; - this.emit("error", new Error(message2)); - }; - } -}); - -// node_modules/combined-stream/lib/combined_stream.js -var require_combined_stream = __commonJS({ - "node_modules/combined-stream/lib/combined_stream.js"(exports2, module2) { - var util2 = require("util"); - var Stream = require("stream").Stream; - var DelayedStream = require_delayed_stream(); - module2.exports = CombinedStream; - function CombinedStream() { - this.writable = false; - this.readable = true; - this.dataSize = 0; - this.maxDataSize = 2 * 1024 * 1024; - this.pauseStreams = true; - this._released = false; - this._streams = []; - this._currentStream = null; - this._insideLoop = false; - this._pendingNext = false; - } - util2.inherits(CombinedStream, Stream); - CombinedStream.create = function(options) { - var combinedStream = new this(); - options = options || {}; - for (var option in options) { - combinedStream[option] = options[option]; - } - return combinedStream; - }; - CombinedStream.isStreamLike = function(stream4) { - return typeof stream4 !== "function" && typeof stream4 !== "string" && typeof stream4 !== "boolean" && typeof stream4 !== "number" && !Buffer.isBuffer(stream4); - }; - CombinedStream.prototype.append = function(stream4) { - var isStreamLike = CombinedStream.isStreamLike(stream4); - if (isStreamLike) { - if (!(stream4 instanceof DelayedStream)) { - var newStream = DelayedStream.create(stream4, { - maxDataSize: Infinity, - pauseStream: this.pauseStreams - }); - stream4.on("data", this._checkDataSize.bind(this)); - stream4 = newStream; - } - this._handleErrors(stream4); - if (this.pauseStreams) { - stream4.pause(); - } - } - this._streams.push(stream4); - return this; - }; - CombinedStream.prototype.pipe = function(dest, options) { - Stream.prototype.pipe.call(this, dest, options); - this.resume(); - return dest; - }; - CombinedStream.prototype._getNext = function() { - this._currentStream = null; - if (this._insideLoop) { - this._pendingNext = true; - return; - } - this._insideLoop = true; - try { - do { - this._pendingNext = false; - this._realGetNext(); - } while (this._pendingNext); - } finally { - this._insideLoop = false; - } - }; - CombinedStream.prototype._realGetNext = function() { - var stream4 = this._streams.shift(); - if (typeof stream4 == "undefined") { - this.end(); - return; - } - if (typeof stream4 !== "function") { - this._pipeNext(stream4); - return; - } - var getStream = stream4; - getStream(function(stream5) { - var isStreamLike = CombinedStream.isStreamLike(stream5); - if (isStreamLike) { - stream5.on("data", this._checkDataSize.bind(this)); - this._handleErrors(stream5); - } - this._pipeNext(stream5); - }.bind(this)); - }; - CombinedStream.prototype._pipeNext = function(stream4) { - this._currentStream = stream4; - var isStreamLike = CombinedStream.isStreamLike(stream4); - if (isStreamLike) { - stream4.on("end", this._getNext.bind(this)); - stream4.pipe(this, { end: false }); - return; - } - var value = stream4; - this.write(value); - this._getNext(); - }; - CombinedStream.prototype._handleErrors = function(stream4) { - var self2 = this; - stream4.on("error", function(err) { - self2._emitError(err); - }); - }; - CombinedStream.prototype.write = function(data) { - this.emit("data", data); - }; - CombinedStream.prototype.pause = function() { - if (!this.pauseStreams) { - return; - } - if (this.pauseStreams && this._currentStream && typeof this._currentStream.pause == "function") - this._currentStream.pause(); - this.emit("pause"); - }; - CombinedStream.prototype.resume = function() { - if (!this._released) { - this._released = true; - this.writable = true; - this._getNext(); - } - if (this.pauseStreams && this._currentStream && typeof this._currentStream.resume == "function") - this._currentStream.resume(); - this.emit("resume"); - }; - CombinedStream.prototype.end = function() { - this._reset(); - this.emit("end"); - }; - CombinedStream.prototype.destroy = function() { - this._reset(); - this.emit("close"); - }; - CombinedStream.prototype._reset = function() { - this.writable = false; - this._streams = []; - this._currentStream = null; - }; - CombinedStream.prototype._checkDataSize = function() { - this._updateDataSize(); - if (this.dataSize <= this.maxDataSize) { - return; - } - var message2 = "DelayedStream#maxDataSize of " + this.maxDataSize + " bytes exceeded."; - this._emitError(new Error(message2)); - }; - CombinedStream.prototype._updateDataSize = function() { - this.dataSize = 0; - var self2 = this; - this._streams.forEach(function(stream4) { - if (!stream4.dataSize) { - return; - } - self2.dataSize += stream4.dataSize; - }); - if (this._currentStream && this._currentStream.dataSize) { - this.dataSize += this._currentStream.dataSize; - } - }; - CombinedStream.prototype._emitError = function(err) { - this._reset(); - this.emit("error", err); - }; - } -}); - -// node_modules/mime-db/db.json -var require_db = __commonJS({ - "node_modules/mime-db/db.json"(exports2, module2) { - module2.exports = { - "application/1d-interleaved-parityfec": { - source: "iana" - }, - "application/3gpdash-qoe-report+xml": { - source: "iana", - charset: "UTF-8", - compressible: true - }, - "application/3gpp-ims+xml": { - source: "iana", - compressible: true - }, - "application/3gpphal+json": { - source: "iana", - compressible: true - }, - "application/3gpphalforms+json": { - source: "iana", - compressible: true - }, - "application/a2l": { - source: "iana" - }, - "application/ace+cbor": { - source: "iana" - }, - "application/activemessage": { - source: "iana" - }, - "application/activity+json": { - source: "iana", - compressible: true - }, - "application/alto-costmap+json": { - source: "iana", - compressible: true - }, - "application/alto-costmapfilter+json": { - source: "iana", - compressible: true - }, - "application/alto-directory+json": { - source: "iana", - compressible: true - }, - "application/alto-endpointcost+json": { - source: "iana", - compressible: true - }, - "application/alto-endpointcostparams+json": { - source: "iana", - compressible: true - }, - "application/alto-endpointprop+json": { - source: "iana", - compressible: true - }, - "application/alto-endpointpropparams+json": { - source: "iana", - compressible: true - }, - "application/alto-error+json": { - source: "iana", - compressible: true - }, - "application/alto-networkmap+json": { - source: "iana", - compressible: true - }, - "application/alto-networkmapfilter+json": { - source: "iana", - compressible: true - }, - "application/alto-updatestreamcontrol+json": { - source: "iana", - compressible: true - }, - "application/alto-updatestreamparams+json": { - source: "iana", - compressible: true - }, - "application/aml": { - source: "iana" - }, - "application/andrew-inset": { - source: "iana", - extensions: ["ez"] - }, - "application/applefile": { - source: "iana" - }, - "application/applixware": { - source: "apache", - extensions: ["aw"] - }, - "application/at+jwt": { - source: "iana" - }, - "application/atf": { - source: "iana" - }, - "application/atfx": { - source: "iana" - }, - "application/atom+xml": { - source: "iana", - compressible: true, - extensions: ["atom"] - }, - "application/atomcat+xml": { - source: "iana", - compressible: true, - extensions: ["atomcat"] - }, - "application/atomdeleted+xml": { - source: "iana", - compressible: true, - extensions: ["atomdeleted"] - }, - "application/atomicmail": { - source: "iana" - }, - "application/atomsvc+xml": { - source: "iana", - compressible: true, - extensions: ["atomsvc"] - }, - "application/atsc-dwd+xml": { - source: "iana", - compressible: true, - extensions: ["dwd"] - }, - "application/atsc-dynamic-event-message": { - source: "iana" - }, - "application/atsc-held+xml": { - source: "iana", - compressible: true, - extensions: ["held"] - }, - "application/atsc-rdt+json": { - source: "iana", - compressible: true - }, - "application/atsc-rsat+xml": { - source: "iana", - compressible: true, - extensions: ["rsat"] - }, - "application/atxml": { - source: "iana" - }, - "application/auth-policy+xml": { - source: "iana", - compressible: true - }, - "application/bacnet-xdd+zip": { - source: "iana", - compressible: false - }, - "application/batch-smtp": { - source: "iana" - }, - "application/bdoc": { - compressible: false, - extensions: ["bdoc"] - }, - "application/beep+xml": { - source: "iana", - charset: "UTF-8", - compressible: true - }, - "application/calendar+json": { - source: "iana", - compressible: true - }, - "application/calendar+xml": { - source: "iana", - compressible: true, - extensions: ["xcs"] - }, - "application/call-completion": { - source: "iana" - }, - "application/cals-1840": { - source: "iana" - }, - "application/captive+json": { - source: "iana", - compressible: true - }, - "application/cbor": { - source: "iana" - }, - "application/cbor-seq": { - source: "iana" - }, - "application/cccex": { - source: "iana" - }, - "application/ccmp+xml": { - source: "iana", - compressible: true - }, - "application/ccxml+xml": { - source: "iana", - compressible: true, - extensions: ["ccxml"] - }, - "application/cdfx+xml": { - source: "iana", - compressible: true, - extensions: ["cdfx"] - }, - "application/cdmi-capability": { - source: "iana", - extensions: ["cdmia"] - }, - "application/cdmi-container": { - source: "iana", - extensions: ["cdmic"] - }, - "application/cdmi-domain": { - source: "iana", - extensions: ["cdmid"] - }, - "application/cdmi-object": { - source: "iana", - extensions: ["cdmio"] - }, - "application/cdmi-queue": { - source: "iana", - extensions: ["cdmiq"] - }, - "application/cdni": { - source: "iana" - }, - "application/cea": { - source: "iana" - }, - "application/cea-2018+xml": { - source: "iana", - compressible: true - }, - "application/cellml+xml": { - source: "iana", - compressible: true - }, - "application/cfw": { - source: "iana" - }, - "application/city+json": { - source: "iana", - compressible: true - }, - "application/clr": { - source: "iana" - }, - "application/clue+xml": { - source: "iana", - compressible: true - }, - "application/clue_info+xml": { - source: "iana", - compressible: true - }, - "application/cms": { - source: "iana" - }, - "application/cnrp+xml": { - source: "iana", - compressible: true - }, - "application/coap-group+json": { - source: "iana", - compressible: true - }, - "application/coap-payload": { - source: "iana" - }, - "application/commonground": { - source: "iana" - }, - "application/conference-info+xml": { - source: "iana", - compressible: true - }, - "application/cose": { - source: "iana" - }, - "application/cose-key": { - source: "iana" - }, - "application/cose-key-set": { - source: "iana" - }, - "application/cpl+xml": { - source: "iana", - compressible: true, - extensions: ["cpl"] - }, - "application/csrattrs": { - source: "iana" - }, - "application/csta+xml": { - source: "iana", - compressible: true - }, - "application/cstadata+xml": { - source: "iana", - compressible: true - }, - "application/csvm+json": { - source: "iana", - compressible: true - }, - "application/cu-seeme": { - source: "apache", - extensions: ["cu"] - }, - "application/cwt": { - source: "iana" - }, - "application/cybercash": { - source: "iana" - }, - "application/dart": { - compressible: true - }, - "application/dash+xml": { - source: "iana", - compressible: true, - extensions: ["mpd"] - }, - "application/dash-patch+xml": { - source: "iana", - compressible: true, - extensions: ["mpp"] - }, - "application/dashdelta": { - source: "iana" - }, - "application/davmount+xml": { - source: "iana", - compressible: true, - extensions: ["davmount"] - }, - "application/dca-rft": { - source: "iana" - }, - "application/dcd": { - source: "iana" - }, - "application/dec-dx": { - source: "iana" - }, - "application/dialog-info+xml": { - source: "iana", - compressible: true - }, - "application/dicom": { - source: "iana" - }, - "application/dicom+json": { - source: "iana", - compressible: true - }, - "application/dicom+xml": { - source: "iana", - compressible: true - }, - "application/dii": { - source: "iana" - }, - "application/dit": { - source: "iana" - }, - "application/dns": { - source: "iana" - }, - "application/dns+json": { - source: "iana", - compressible: true - }, - "application/dns-message": { - source: "iana" - }, - "application/docbook+xml": { - source: "apache", - compressible: true, - extensions: ["dbk"] - }, - "application/dots+cbor": { - source: "iana" - }, - "application/dskpp+xml": { - source: "iana", - compressible: true - }, - "application/dssc+der": { - source: "iana", - extensions: ["dssc"] - }, - "application/dssc+xml": { - source: "iana", - compressible: true, - extensions: ["xdssc"] - }, - "application/dvcs": { - source: "iana" - }, - "application/ecmascript": { - source: "iana", - compressible: true, - extensions: ["es", "ecma"] - }, - "application/edi-consent": { - source: "iana" - }, - "application/edi-x12": { - source: "iana", - compressible: false - }, - "application/edifact": { - source: "iana", - compressible: false - }, - "application/efi": { - source: "iana" - }, - "application/elm+json": { - source: "iana", - charset: "UTF-8", - compressible: true - }, - "application/elm+xml": { - source: "iana", - compressible: true - }, - "application/emergencycalldata.cap+xml": { - source: "iana", - charset: "UTF-8", - compressible: true - }, - "application/emergencycalldata.comment+xml": { - source: "iana", - compressible: true - }, - "application/emergencycalldata.control+xml": { - source: "iana", - compressible: true - }, - "application/emergencycalldata.deviceinfo+xml": { - source: "iana", - compressible: true - }, - "application/emergencycalldata.ecall.msd": { - source: "iana" - }, - "application/emergencycalldata.providerinfo+xml": { - source: "iana", - compressible: true - }, - "application/emergencycalldata.serviceinfo+xml": { - source: "iana", - compressible: true - }, - "application/emergencycalldata.subscriberinfo+xml": { - source: "iana", - compressible: true - }, - "application/emergencycalldata.veds+xml": { - source: "iana", - compressible: true - }, - "application/emma+xml": { - source: "iana", - compressible: true, - extensions: ["emma"] - }, - "application/emotionml+xml": { - source: "iana", - compressible: true, - extensions: ["emotionml"] - }, - "application/encaprtp": { - source: "iana" - }, - "application/epp+xml": { - source: "iana", - compressible: true - }, - "application/epub+zip": { - source: "iana", - compressible: false, - extensions: ["epub"] - }, - "application/eshop": { - source: "iana" - }, - "application/exi": { - source: "iana", - extensions: ["exi"] - }, - "application/expect-ct-report+json": { - source: "iana", - compressible: true - }, - "application/express": { - source: "iana", - extensions: ["exp"] - }, - "application/fastinfoset": { - source: "iana" - }, - "application/fastsoap": { - source: "iana" - }, - "application/fdt+xml": { - source: "iana", - compressible: true, - extensions: ["fdt"] - }, - "application/fhir+json": { - source: "iana", - charset: "UTF-8", - compressible: true - }, - "application/fhir+xml": { - source: "iana", - charset: "UTF-8", - compressible: true - }, - "application/fido.trusted-apps+json": { - compressible: true - }, - "application/fits": { - source: "iana" - }, - "application/flexfec": { - source: "iana" - }, - "application/font-sfnt": { - source: "iana" - }, - "application/font-tdpfr": { - source: "iana", - extensions: ["pfr"] - }, - "application/font-woff": { - source: "iana", - compressible: false - }, - "application/framework-attributes+xml": { - source: "iana", - compressible: true - }, - "application/geo+json": { - source: "iana", - compressible: true, - extensions: ["geojson"] - }, - "application/geo+json-seq": { - source: "iana" - }, - "application/geopackage+sqlite3": { - source: "iana" - }, - "application/geoxacml+xml": { - source: "iana", - compressible: true - }, - "application/gltf-buffer": { - source: "iana" - }, - "application/gml+xml": { - source: "iana", - compressible: true, - extensions: ["gml"] - }, - "application/gpx+xml": { - source: "apache", - compressible: true, - extensions: ["gpx"] - }, - "application/gxf": { - source: "apache", - extensions: ["gxf"] - }, - "application/gzip": { - source: "iana", - compressible: false, - extensions: ["gz"] - }, - "application/h224": { - source: "iana" - }, - "application/held+xml": { - source: "iana", - compressible: true - }, - "application/hjson": { - extensions: ["hjson"] - }, - "application/http": { - source: "iana" - }, - "application/hyperstudio": { - source: "iana", - extensions: ["stk"] - }, - "application/ibe-key-request+xml": { - source: "iana", - compressible: true - }, - "application/ibe-pkg-reply+xml": { - source: "iana", - compressible: true - }, - "application/ibe-pp-data": { - source: "iana" - }, - "application/iges": { - source: "iana" - }, - "application/im-iscomposing+xml": { - source: "iana", - charset: "UTF-8", - compressible: true - }, - "application/index": { - source: "iana" - }, - "application/index.cmd": { - source: "iana" - }, - "application/index.obj": { - source: "iana" - }, - "application/index.response": { - source: "iana" - }, - "application/index.vnd": { - source: "iana" - }, - "application/inkml+xml": { - source: "iana", - compressible: true, - extensions: ["ink", "inkml"] - }, - "application/iotp": { - source: "iana" - }, - "application/ipfix": { - source: "iana", - extensions: ["ipfix"] - }, - "application/ipp": { - source: "iana" - }, - "application/isup": { - source: "iana" - }, - "application/its+xml": { - source: "iana", - compressible: true, - extensions: ["its"] - }, - "application/java-archive": { - source: "apache", - compressible: false, - extensions: ["jar", "war", "ear"] - }, - "application/java-serialized-object": { - source: "apache", - compressible: false, - extensions: ["ser"] - }, - "application/java-vm": { - source: "apache", - compressible: false, - extensions: ["class"] - }, - "application/javascript": { - source: "iana", - charset: "UTF-8", - compressible: true, - extensions: ["js", "mjs"] - }, - "application/jf2feed+json": { - source: "iana", - compressible: true - }, - "application/jose": { - source: "iana" - }, - "application/jose+json": { - source: "iana", - compressible: true - }, - "application/jrd+json": { - source: "iana", - compressible: true - }, - "application/jscalendar+json": { - source: "iana", - compressible: true - }, - "application/json": { - source: "iana", - charset: "UTF-8", - compressible: true, - extensions: ["json", "map"] - }, - "application/json-patch+json": { - source: "iana", - compressible: true - }, - "application/json-seq": { - source: "iana" - }, - "application/json5": { - extensions: ["json5"] - }, - "application/jsonml+json": { - source: "apache", - compressible: true, - extensions: ["jsonml"] - }, - "application/jwk+json": { - source: "iana", - compressible: true - }, - "application/jwk-set+json": { - source: "iana", - compressible: true - }, - "application/jwt": { - source: "iana" - }, - "application/kpml-request+xml": { - source: "iana", - compressible: true - }, - "application/kpml-response+xml": { - source: "iana", - compressible: true - }, - "application/ld+json": { - source: "iana", - compressible: true, - extensions: ["jsonld"] - }, - "application/lgr+xml": { - source: "iana", - compressible: true, - extensions: ["lgr"] - }, - "application/link-format": { - source: "iana" - }, - "application/load-control+xml": { - source: "iana", - compressible: true - }, - "application/lost+xml": { - source: "iana", - compressible: true, - extensions: ["lostxml"] - }, - "application/lostsync+xml": { - source: "iana", - compressible: true - }, - "application/lpf+zip": { - source: "iana", - compressible: false - }, - "application/lxf": { - source: "iana" - }, - "application/mac-binhex40": { - source: "iana", - extensions: ["hqx"] - }, - "application/mac-compactpro": { - source: "apache", - extensions: ["cpt"] - }, - "application/macwriteii": { - source: "iana" - }, - "application/mads+xml": { - source: "iana", - compressible: true, - extensions: ["mads"] - }, - "application/manifest+json": { - source: "iana", - charset: "UTF-8", - compressible: true, - extensions: ["webmanifest"] - }, - "application/marc": { - source: "iana", - extensions: ["mrc"] - }, - "application/marcxml+xml": { - source: "iana", - compressible: true, - extensions: ["mrcx"] - }, - "application/mathematica": { - source: "iana", - extensions: ["ma", "nb", "mb"] - }, - "application/mathml+xml": { - source: "iana", - compressible: true, - extensions: ["mathml"] - }, - "application/mathml-content+xml": { - source: "iana", - compressible: true - }, - "application/mathml-presentation+xml": { - source: "iana", - compressible: true - }, - "application/mbms-associated-procedure-description+xml": { - source: "iana", - compressible: true - }, - "application/mbms-deregister+xml": { - source: "iana", - compressible: true - }, - "application/mbms-envelope+xml": { - source: "iana", - compressible: true - }, - "application/mbms-msk+xml": { - source: "iana", - compressible: true - }, - "application/mbms-msk-response+xml": { - source: "iana", - compressible: true - }, - "application/mbms-protection-description+xml": { - source: "iana", - compressible: true - }, - "application/mbms-reception-report+xml": { - source: "iana", - compressible: true - }, - "application/mbms-register+xml": { - source: "iana", - compressible: true - }, - "application/mbms-register-response+xml": { - source: "iana", - compressible: true - }, - "application/mbms-schedule+xml": { - source: "iana", - compressible: true - }, - "application/mbms-user-service-description+xml": { - source: "iana", - compressible: true - }, - "application/mbox": { - source: "iana", - extensions: ["mbox"] - }, - "application/media-policy-dataset+xml": { - source: "iana", - compressible: true, - extensions: ["mpf"] - }, - "application/media_control+xml": { - source: "iana", - compressible: true - }, - "application/mediaservercontrol+xml": { - source: "iana", - compressible: true, - extensions: ["mscml"] - }, - "application/merge-patch+json": { - source: "iana", - compressible: true - }, - "application/metalink+xml": { - source: "apache", - compressible: true, - extensions: ["metalink"] - }, - "application/metalink4+xml": { - source: "iana", - compressible: true, - extensions: ["meta4"] - }, - "application/mets+xml": { - source: "iana", - compressible: true, - extensions: ["mets"] - }, - "application/mf4": { - source: "iana" - }, - "application/mikey": { - source: "iana" - }, - "application/mipc": { - source: "iana" - }, - "application/missing-blocks+cbor-seq": { - source: "iana" - }, - "application/mmt-aei+xml": { - source: "iana", - compressible: true, - extensions: ["maei"] - }, - "application/mmt-usd+xml": { - source: "iana", - compressible: true, - extensions: ["musd"] - }, - "application/mods+xml": { - source: "iana", - compressible: true, - extensions: ["mods"] - }, - "application/moss-keys": { - source: "iana" - }, - "application/moss-signature": { - source: "iana" - }, - "application/mosskey-data": { - source: "iana" - }, - "application/mosskey-request": { - source: "iana" - }, - "application/mp21": { - source: "iana", - extensions: ["m21", "mp21"] - }, - "application/mp4": { - source: "iana", - extensions: ["mp4s", "m4p"] - }, - "application/mpeg4-generic": { - source: "iana" - }, - "application/mpeg4-iod": { - source: "iana" - }, - "application/mpeg4-iod-xmt": { - source: "iana" - }, - "application/mrb-consumer+xml": { - source: "iana", - compressible: true - }, - "application/mrb-publish+xml": { - source: "iana", - compressible: true - }, - "application/msc-ivr+xml": { - source: "iana", - charset: "UTF-8", - compressible: true - }, - "application/msc-mixer+xml": { - source: "iana", - charset: "UTF-8", - compressible: true - }, - "application/msword": { - source: "iana", - compressible: false, - extensions: ["doc", "dot"] - }, - "application/mud+json": { - source: "iana", - compressible: true - }, - "application/multipart-core": { - source: "iana" - }, - "application/mxf": { - source: "iana", - extensions: ["mxf"] - }, - "application/n-quads": { - source: "iana", - extensions: ["nq"] - }, - "application/n-triples": { - source: "iana", - extensions: ["nt"] - }, - "application/nasdata": { - source: "iana" - }, - "application/news-checkgroups": { - source: "iana", - charset: "US-ASCII" - }, - "application/news-groupinfo": { - source: "iana", - charset: "US-ASCII" - }, - "application/news-transmission": { - source: "iana" - }, - "application/nlsml+xml": { - source: "iana", - compressible: true - }, - "application/node": { - source: "iana", - extensions: ["cjs"] - }, - "application/nss": { - source: "iana" - }, - "application/oauth-authz-req+jwt": { - source: "iana" - }, - "application/oblivious-dns-message": { - source: "iana" - }, - "application/ocsp-request": { - source: "iana" - }, - "application/ocsp-response": { - source: "iana" - }, - "application/octet-stream": { - source: "iana", - compressible: false, - extensions: ["bin", "dms", "lrf", "mar", "so", "dist", "distz", "pkg", "bpk", "dump", "elc", "deploy", "exe", "dll", "deb", "dmg", "iso", "img", "msi", "msp", "msm", "buffer"] - }, - "application/oda": { - source: "iana", - extensions: ["oda"] - }, - "application/odm+xml": { - source: "iana", - compressible: true - }, - "application/odx": { - source: "iana" - }, - "application/oebps-package+xml": { - source: "iana", - compressible: true, - extensions: ["opf"] - }, - "application/ogg": { - source: "iana", - compressible: false, - extensions: ["ogx"] - }, - "application/omdoc+xml": { - source: "apache", - compressible: true, - extensions: ["omdoc"] - }, - "application/onenote": { - source: "apache", - extensions: ["onetoc", "onetoc2", "onetmp", "onepkg"] - }, - "application/opc-nodeset+xml": { - source: "iana", - compressible: true - }, - "application/oscore": { - source: "iana" - }, - "application/oxps": { - source: "iana", - extensions: ["oxps"] - }, - "application/p21": { - source: "iana" - }, - "application/p21+zip": { - source: "iana", - compressible: false - }, - "application/p2p-overlay+xml": { - source: "iana", - compressible: true, - extensions: ["relo"] - }, - "application/parityfec": { - source: "iana" - }, - "application/passport": { - source: "iana" - }, - "application/patch-ops-error+xml": { - source: "iana", - compressible: true, - extensions: ["xer"] - }, - "application/pdf": { - source: "iana", - compressible: false, - extensions: ["pdf"] - }, - "application/pdx": { - source: "iana" - }, - "application/pem-certificate-chain": { - source: "iana" - }, - "application/pgp-encrypted": { - source: "iana", - compressible: false, - extensions: ["pgp"] - }, - "application/pgp-keys": { - source: "iana", - extensions: ["asc"] - }, - "application/pgp-signature": { - source: "iana", - extensions: ["asc", "sig"] - }, - "application/pics-rules": { - source: "apache", - extensions: ["prf"] - }, - "application/pidf+xml": { - source: "iana", - charset: "UTF-8", - compressible: true - }, - "application/pidf-diff+xml": { - source: "iana", - charset: "UTF-8", - compressible: true - }, - "application/pkcs10": { - source: "iana", - extensions: ["p10"] - }, - "application/pkcs12": { - source: "iana" - }, - "application/pkcs7-mime": { - source: "iana", - extensions: ["p7m", "p7c"] - }, - "application/pkcs7-signature": { - source: "iana", - extensions: ["p7s"] - }, - "application/pkcs8": { - source: "iana", - extensions: ["p8"] - }, - "application/pkcs8-encrypted": { - source: "iana" - }, - "application/pkix-attr-cert": { - source: "iana", - extensions: ["ac"] - }, - "application/pkix-cert": { - source: "iana", - extensions: ["cer"] - }, - "application/pkix-crl": { - source: "iana", - extensions: ["crl"] - }, - "application/pkix-pkipath": { - source: "iana", - extensions: ["pkipath"] - }, - "application/pkixcmp": { - source: "iana", - extensions: ["pki"] - }, - "application/pls+xml": { - source: "iana", - compressible: true, - extensions: ["pls"] - }, - "application/poc-settings+xml": { - source: "iana", - charset: "UTF-8", - compressible: true - }, - "application/postscript": { - source: "iana", - compressible: true, - extensions: ["ai", "eps", "ps"] - }, - "application/ppsp-tracker+json": { - source: "iana", - compressible: true - }, - "application/problem+json": { - source: "iana", - compressible: true - }, - "application/problem+xml": { - source: "iana", - compressible: true - }, - "application/provenance+xml": { - source: "iana", - compressible: true, - extensions: ["provx"] - }, - "application/prs.alvestrand.titrax-sheet": { - source: "iana" - }, - "application/prs.cww": { - source: "iana", - extensions: ["cww"] - }, - "application/prs.cyn": { - source: "iana", - charset: "7-BIT" - }, - "application/prs.hpub+zip": { - source: "iana", - compressible: false - }, - "application/prs.nprend": { - source: "iana" - }, - "application/prs.plucker": { - source: "iana" - }, - "application/prs.rdf-xml-crypt": { - source: "iana" - }, - "application/prs.xsf+xml": { - source: "iana", - compressible: true - }, - "application/pskc+xml": { - source: "iana", - compressible: true, - extensions: ["pskcxml"] - }, - "application/pvd+json": { - source: "iana", - compressible: true - }, - "application/qsig": { - source: "iana" - }, - "application/raml+yaml": { - compressible: true, - extensions: ["raml"] - }, - "application/raptorfec": { - source: "iana" - }, - "application/rdap+json": { - source: "iana", - compressible: true - }, - "application/rdf+xml": { - source: "iana", - compressible: true, - extensions: ["rdf", "owl"] - }, - "application/reginfo+xml": { - source: "iana", - compressible: true, - extensions: ["rif"] - }, - "application/relax-ng-compact-syntax": { - source: "iana", - extensions: ["rnc"] - }, - "application/remote-printing": { - source: "iana" - }, - "application/reputon+json": { - source: "iana", - compressible: true - }, - "application/resource-lists+xml": { - source: "iana", - compressible: true, - extensions: ["rl"] - }, - "application/resource-lists-diff+xml": { - source: "iana", - compressible: true, - extensions: ["rld"] - }, - "application/rfc+xml": { - source: "iana", - compressible: true - }, - "application/riscos": { - source: "iana" - }, - "application/rlmi+xml": { - source: "iana", - compressible: true - }, - "application/rls-services+xml": { - source: "iana", - compressible: true, - extensions: ["rs"] - }, - "application/route-apd+xml": { - source: "iana", - compressible: true, - extensions: ["rapd"] - }, - "application/route-s-tsid+xml": { - source: "iana", - compressible: true, - extensions: ["sls"] - }, - "application/route-usd+xml": { - source: "iana", - compressible: true, - extensions: ["rusd"] - }, - "application/rpki-ghostbusters": { - source: "iana", - extensions: ["gbr"] - }, - "application/rpki-manifest": { - source: "iana", - extensions: ["mft"] - }, - "application/rpki-publication": { - source: "iana" - }, - "application/rpki-roa": { - source: "iana", - extensions: ["roa"] - }, - "application/rpki-updown": { - source: "iana" - }, - "application/rsd+xml": { - source: "apache", - compressible: true, - extensions: ["rsd"] - }, - "application/rss+xml": { - source: "apache", - compressible: true, - extensions: ["rss"] - }, - "application/rtf": { - source: "iana", - compressible: true, - extensions: ["rtf"] - }, - "application/rtploopback": { - source: "iana" - }, - "application/rtx": { - source: "iana" - }, - "application/samlassertion+xml": { - source: "iana", - compressible: true - }, - "application/samlmetadata+xml": { - source: "iana", - compressible: true - }, - "application/sarif+json": { - source: "iana", - compressible: true - }, - "application/sarif-external-properties+json": { - source: "iana", - compressible: true - }, - "application/sbe": { - source: "iana" - }, - "application/sbml+xml": { - source: "iana", - compressible: true, - extensions: ["sbml"] - }, - "application/scaip+xml": { - source: "iana", - compressible: true - }, - "application/scim+json": { - source: "iana", - compressible: true - }, - "application/scvp-cv-request": { - source: "iana", - extensions: ["scq"] - }, - "application/scvp-cv-response": { - source: "iana", - extensions: ["scs"] - }, - "application/scvp-vp-request": { - source: "iana", - extensions: ["spq"] - }, - "application/scvp-vp-response": { - source: "iana", - extensions: ["spp"] - }, - "application/sdp": { - source: "iana", - extensions: ["sdp"] - }, - "application/secevent+jwt": { - source: "iana" - }, - "application/senml+cbor": { - source: "iana" - }, - "application/senml+json": { - source: "iana", - compressible: true - }, - "application/senml+xml": { - source: "iana", - compressible: true, - extensions: ["senmlx"] - }, - "application/senml-etch+cbor": { - source: "iana" - }, - "application/senml-etch+json": { - source: "iana", - compressible: true - }, - "application/senml-exi": { - source: "iana" - }, - "application/sensml+cbor": { - source: "iana" - }, - "application/sensml+json": { - source: "iana", - compressible: true - }, - "application/sensml+xml": { - source: "iana", - compressible: true, - extensions: ["sensmlx"] - }, - "application/sensml-exi": { - source: "iana" - }, - "application/sep+xml": { - source: "iana", - compressible: true - }, - "application/sep-exi": { - source: "iana" - }, - "application/session-info": { - source: "iana" - }, - "application/set-payment": { - source: "iana" - }, - "application/set-payment-initiation": { - source: "iana", - extensions: ["setpay"] - }, - "application/set-registration": { - source: "iana" - }, - "application/set-registration-initiation": { - source: "iana", - extensions: ["setreg"] - }, - "application/sgml": { - source: "iana" - }, - "application/sgml-open-catalog": { - source: "iana" - }, - "application/shf+xml": { - source: "iana", - compressible: true, - extensions: ["shf"] - }, - "application/sieve": { - source: "iana", - extensions: ["siv", "sieve"] - }, - "application/simple-filter+xml": { - source: "iana", - compressible: true - }, - "application/simple-message-summary": { - source: "iana" - }, - "application/simplesymbolcontainer": { - source: "iana" - }, - "application/sipc": { - source: "iana" - }, - "application/slate": { - source: "iana" - }, - "application/smil": { - source: "iana" - }, - "application/smil+xml": { - source: "iana", - compressible: true, - extensions: ["smi", "smil"] - }, - "application/smpte336m": { - source: "iana" - }, - "application/soap+fastinfoset": { - source: "iana" - }, - "application/soap+xml": { - source: "iana", - compressible: true - }, - "application/sparql-query": { - source: "iana", - extensions: ["rq"] - }, - "application/sparql-results+xml": { - source: "iana", - compressible: true, - extensions: ["srx"] - }, - "application/spdx+json": { - source: "iana", - compressible: true - }, - "application/spirits-event+xml": { - source: "iana", - compressible: true - }, - "application/sql": { - source: "iana" - }, - "application/srgs": { - source: "iana", - extensions: ["gram"] - }, - "application/srgs+xml": { - source: "iana", - compressible: true, - extensions: ["grxml"] - }, - "application/sru+xml": { - source: "iana", - compressible: true, - extensions: ["sru"] - }, - "application/ssdl+xml": { - source: "apache", - compressible: true, - extensions: ["ssdl"] - }, - "application/ssml+xml": { - source: "iana", - compressible: true, - extensions: ["ssml"] - }, - "application/stix+json": { - source: "iana", - compressible: true - }, - "application/swid+xml": { - source: "iana", - compressible: true, - extensions: ["swidtag"] - }, - "application/tamp-apex-update": { - source: "iana" - }, - "application/tamp-apex-update-confirm": { - source: "iana" - }, - "application/tamp-community-update": { - source: "iana" - }, - "application/tamp-community-update-confirm": { - source: "iana" - }, - "application/tamp-error": { - source: "iana" - }, - "application/tamp-sequence-adjust": { - source: "iana" - }, - "application/tamp-sequence-adjust-confirm": { - source: "iana" - }, - "application/tamp-status-query": { - source: "iana" - }, - "application/tamp-status-response": { - source: "iana" - }, - "application/tamp-update": { - source: "iana" - }, - "application/tamp-update-confirm": { - source: "iana" - }, - "application/tar": { - compressible: true - }, - "application/taxii+json": { - source: "iana", - compressible: true - }, - "application/td+json": { - source: "iana", - compressible: true - }, - "application/tei+xml": { - source: "iana", - compressible: true, - extensions: ["tei", "teicorpus"] - }, - "application/tetra_isi": { - source: "iana" - }, - "application/thraud+xml": { - source: "iana", - compressible: true, - extensions: ["tfi"] - }, - "application/timestamp-query": { - source: "iana" - }, - "application/timestamp-reply": { - source: "iana" - }, - "application/timestamped-data": { - source: "iana", - extensions: ["tsd"] - }, - "application/tlsrpt+gzip": { - source: "iana" - }, - "application/tlsrpt+json": { - source: "iana", - compressible: true - }, - "application/tnauthlist": { - source: "iana" - }, - "application/token-introspection+jwt": { - source: "iana" - }, - "application/toml": { - compressible: true, - extensions: ["toml"] - }, - "application/trickle-ice-sdpfrag": { - source: "iana" - }, - "application/trig": { - source: "iana", - extensions: ["trig"] - }, - "application/ttml+xml": { - source: "iana", - compressible: true, - extensions: ["ttml"] - }, - "application/tve-trigger": { - source: "iana" - }, - "application/tzif": { - source: "iana" - }, - "application/tzif-leap": { - source: "iana" - }, - "application/ubjson": { - compressible: false, - extensions: ["ubj"] - }, - "application/ulpfec": { - source: "iana" - }, - "application/urc-grpsheet+xml": { - source: "iana", - compressible: true - }, - "application/urc-ressheet+xml": { - source: "iana", - compressible: true, - extensions: ["rsheet"] - }, - "application/urc-targetdesc+xml": { - source: "iana", - compressible: true, - extensions: ["td"] - }, - "application/urc-uisocketdesc+xml": { - source: "iana", - compressible: true - }, - "application/vcard+json": { - source: "iana", - compressible: true - }, - "application/vcard+xml": { - source: "iana", - compressible: true - }, - "application/vemmi": { - source: "iana" - }, - "application/vividence.scriptfile": { - source: "apache" - }, - "application/vnd.1000minds.decision-model+xml": { - source: "iana", - compressible: true, - extensions: ["1km"] - }, - "application/vnd.3gpp-prose+xml": { - source: "iana", - compressible: true - }, - "application/vnd.3gpp-prose-pc3ch+xml": { - source: "iana", - compressible: true - }, - "application/vnd.3gpp-v2x-local-service-information": { - source: "iana" - }, - "application/vnd.3gpp.5gnas": { - source: "iana" - }, - "application/vnd.3gpp.access-transfer-events+xml": { - source: "iana", - compressible: true - }, - "application/vnd.3gpp.bsf+xml": { - source: "iana", - compressible: true - }, - "application/vnd.3gpp.gmop+xml": { - source: "iana", - compressible: true - }, - "application/vnd.3gpp.gtpc": { - source: "iana" - }, - "application/vnd.3gpp.interworking-data": { - source: "iana" - }, - "application/vnd.3gpp.lpp": { - source: "iana" - }, - "application/vnd.3gpp.mc-signalling-ear": { - source: "iana" - }, - "application/vnd.3gpp.mcdata-affiliation-command+xml": { - source: "iana", - compressible: true - }, - "application/vnd.3gpp.mcdata-info+xml": { - source: "iana", - compressible: true - }, - "application/vnd.3gpp.mcdata-payload": { - source: "iana" - }, - "application/vnd.3gpp.mcdata-service-config+xml": { - source: "iana", - compressible: true - }, - "application/vnd.3gpp.mcdata-signalling": { - source: "iana" - }, - "application/vnd.3gpp.mcdata-ue-config+xml": { - source: "iana", - compressible: true - }, - "application/vnd.3gpp.mcdata-user-profile+xml": { - source: "iana", - compressible: true - }, - "application/vnd.3gpp.mcptt-affiliation-command+xml": { - source: "iana", - compressible: true - }, - "application/vnd.3gpp.mcptt-floor-request+xml": { - source: "iana", - compressible: true - }, - "application/vnd.3gpp.mcptt-info+xml": { - source: "iana", - compressible: true - }, - "application/vnd.3gpp.mcptt-location-info+xml": { - source: "iana", - compressible: true - }, - "application/vnd.3gpp.mcptt-mbms-usage-info+xml": { - source: "iana", - compressible: true - }, - "application/vnd.3gpp.mcptt-service-config+xml": { - source: "iana", - compressible: true - }, - "application/vnd.3gpp.mcptt-signed+xml": { - source: "iana", - compressible: true - }, - "application/vnd.3gpp.mcptt-ue-config+xml": { - source: "iana", - compressible: true - }, - "application/vnd.3gpp.mcptt-ue-init-config+xml": { - source: "iana", - compressible: true - }, - "application/vnd.3gpp.mcptt-user-profile+xml": { - source: "iana", - compressible: true - }, - "application/vnd.3gpp.mcvideo-affiliation-command+xml": { - source: "iana", - compressible: true - }, - "application/vnd.3gpp.mcvideo-affiliation-info+xml": { - source: "iana", - compressible: true - }, - "application/vnd.3gpp.mcvideo-info+xml": { - source: "iana", - compressible: true - }, - "application/vnd.3gpp.mcvideo-location-info+xml": { - source: "iana", - compressible: true - }, - "application/vnd.3gpp.mcvideo-mbms-usage-info+xml": { - source: "iana", - compressible: true - }, - "application/vnd.3gpp.mcvideo-service-config+xml": { - source: "iana", - compressible: true - }, - "application/vnd.3gpp.mcvideo-transmission-request+xml": { - source: "iana", - compressible: true - }, - "application/vnd.3gpp.mcvideo-ue-config+xml": { - source: "iana", - compressible: true - }, - "application/vnd.3gpp.mcvideo-user-profile+xml": { - source: "iana", - compressible: true - }, - "application/vnd.3gpp.mid-call+xml": { - source: "iana", - compressible: true - }, - "application/vnd.3gpp.ngap": { - source: "iana" - }, - "application/vnd.3gpp.pfcp": { - source: "iana" - }, - "application/vnd.3gpp.pic-bw-large": { - source: "iana", - extensions: ["plb"] - }, - "application/vnd.3gpp.pic-bw-small": { - source: "iana", - extensions: ["psb"] - }, - "application/vnd.3gpp.pic-bw-var": { - source: "iana", - extensions: ["pvb"] - }, - "application/vnd.3gpp.s1ap": { - source: "iana" - }, - "application/vnd.3gpp.sms": { - source: "iana" - }, - "application/vnd.3gpp.sms+xml": { - source: "iana", - compressible: true - }, - "application/vnd.3gpp.srvcc-ext+xml": { - source: "iana", - compressible: true - }, - "application/vnd.3gpp.srvcc-info+xml": { - source: "iana", - compressible: true - }, - "application/vnd.3gpp.state-and-event-info+xml": { - source: "iana", - compressible: true - }, - "application/vnd.3gpp.ussd+xml": { - source: "iana", - compressible: true - }, - "application/vnd.3gpp2.bcmcsinfo+xml": { - source: "iana", - compressible: true - }, - "application/vnd.3gpp2.sms": { - source: "iana" - }, - "application/vnd.3gpp2.tcap": { - source: "iana", - extensions: ["tcap"] - }, - "application/vnd.3lightssoftware.imagescal": { - source: "iana" - }, - "application/vnd.3m.post-it-notes": { - source: "iana", - extensions: ["pwn"] - }, - "application/vnd.accpac.simply.aso": { - source: "iana", - extensions: ["aso"] - }, - "application/vnd.accpac.simply.imp": { - source: "iana", - extensions: ["imp"] - }, - "application/vnd.acucobol": { - source: "iana", - extensions: ["acu"] - }, - "application/vnd.acucorp": { - source: "iana", - extensions: ["atc", "acutc"] - }, - "application/vnd.adobe.air-application-installer-package+zip": { - source: "apache", - compressible: false, - extensions: ["air"] - }, - "application/vnd.adobe.flash.movie": { - source: "iana" - }, - "application/vnd.adobe.formscentral.fcdt": { - source: "iana", - extensions: ["fcdt"] - }, - "application/vnd.adobe.fxp": { - source: "iana", - extensions: ["fxp", "fxpl"] - }, - "application/vnd.adobe.partial-upload": { - source: "iana" - }, - "application/vnd.adobe.xdp+xml": { - source: "iana", - compressible: true, - extensions: ["xdp"] - }, - "application/vnd.adobe.xfdf": { - source: "iana", - extensions: ["xfdf"] - }, - "application/vnd.aether.imp": { - source: "iana" - }, - "application/vnd.afpc.afplinedata": { - source: "iana" - }, - "application/vnd.afpc.afplinedata-pagedef": { - source: "iana" - }, - "application/vnd.afpc.cmoca-cmresource": { - source: "iana" - }, - "application/vnd.afpc.foca-charset": { - source: "iana" - }, - "application/vnd.afpc.foca-codedfont": { - source: "iana" - }, - "application/vnd.afpc.foca-codepage": { - source: "iana" - }, - "application/vnd.afpc.modca": { - source: "iana" - }, - "application/vnd.afpc.modca-cmtable": { - source: "iana" - }, - "application/vnd.afpc.modca-formdef": { - source: "iana" - }, - "application/vnd.afpc.modca-mediummap": { - source: "iana" - }, - "application/vnd.afpc.modca-objectcontainer": { - source: "iana" - }, - "application/vnd.afpc.modca-overlay": { - source: "iana" - }, - "application/vnd.afpc.modca-pagesegment": { - source: "iana" - }, - "application/vnd.age": { - source: "iana", - extensions: ["age"] - }, - "application/vnd.ah-barcode": { - source: "iana" - }, - "application/vnd.ahead.space": { - source: "iana", - extensions: ["ahead"] - }, - "application/vnd.airzip.filesecure.azf": { - source: "iana", - extensions: ["azf"] - }, - "application/vnd.airzip.filesecure.azs": { - source: "iana", - extensions: ["azs"] - }, - "application/vnd.amadeus+json": { - source: "iana", - compressible: true - }, - "application/vnd.amazon.ebook": { - source: "apache", - extensions: ["azw"] - }, - "application/vnd.amazon.mobi8-ebook": { - source: "iana" - }, - "application/vnd.americandynamics.acc": { - source: "iana", - extensions: ["acc"] - }, - "application/vnd.amiga.ami": { - source: "iana", - extensions: ["ami"] - }, - "application/vnd.amundsen.maze+xml": { - source: "iana", - compressible: true - }, - "application/vnd.android.ota": { - source: "iana" - }, - "application/vnd.android.package-archive": { - source: "apache", - compressible: false, - extensions: ["apk"] - }, - "application/vnd.anki": { - source: "iana" - }, - "application/vnd.anser-web-certificate-issue-initiation": { - source: "iana", - extensions: ["cii"] - }, - "application/vnd.anser-web-funds-transfer-initiation": { - source: "apache", - extensions: ["fti"] - }, - "application/vnd.antix.game-component": { - source: "iana", - extensions: ["atx"] - }, - "application/vnd.apache.arrow.file": { - source: "iana" - }, - "application/vnd.apache.arrow.stream": { - source: "iana" - }, - "application/vnd.apache.thrift.binary": { - source: "iana" - }, - "application/vnd.apache.thrift.compact": { - source: "iana" - }, - "application/vnd.apache.thrift.json": { - source: "iana" - }, - "application/vnd.api+json": { - source: "iana", - compressible: true - }, - "application/vnd.aplextor.warrp+json": { - source: "iana", - compressible: true - }, - "application/vnd.apothekende.reservation+json": { - source: "iana", - compressible: true - }, - "application/vnd.apple.installer+xml": { - source: "iana", - compressible: true, - extensions: ["mpkg"] - }, - "application/vnd.apple.keynote": { - source: "iana", - extensions: ["key"] - }, - "application/vnd.apple.mpegurl": { - source: "iana", - extensions: ["m3u8"] - }, - "application/vnd.apple.numbers": { - source: "iana", - extensions: ["numbers"] - }, - "application/vnd.apple.pages": { - source: "iana", - extensions: ["pages"] - }, - "application/vnd.apple.pkpass": { - compressible: false, - extensions: ["pkpass"] - }, - "application/vnd.arastra.swi": { - source: "iana" - }, - "application/vnd.aristanetworks.swi": { - source: "iana", - extensions: ["swi"] - }, - "application/vnd.artisan+json": { - source: "iana", - compressible: true - }, - "application/vnd.artsquare": { - source: "iana" - }, - "application/vnd.astraea-software.iota": { - source: "iana", - extensions: ["iota"] - }, - "application/vnd.audiograph": { - source: "iana", - extensions: ["aep"] - }, - "application/vnd.autopackage": { - source: "iana" - }, - "application/vnd.avalon+json": { - source: "iana", - compressible: true - }, - "application/vnd.avistar+xml": { - source: "iana", - compressible: true - }, - "application/vnd.balsamiq.bmml+xml": { - source: "iana", - compressible: true, - extensions: ["bmml"] - }, - "application/vnd.balsamiq.bmpr": { - source: "iana" - }, - "application/vnd.banana-accounting": { - source: "iana" - }, - "application/vnd.bbf.usp.error": { - source: "iana" - }, - "application/vnd.bbf.usp.msg": { - source: "iana" - }, - "application/vnd.bbf.usp.msg+json": { - source: "iana", - compressible: true - }, - "application/vnd.bekitzur-stech+json": { - source: "iana", - compressible: true - }, - "application/vnd.bint.med-content": { - source: "iana" - }, - "application/vnd.biopax.rdf+xml": { - source: "iana", - compressible: true - }, - "application/vnd.blink-idb-value-wrapper": { - source: "iana" - }, - "application/vnd.blueice.multipass": { - source: "iana", - extensions: ["mpm"] - }, - "application/vnd.bluetooth.ep.oob": { - source: "iana" - }, - "application/vnd.bluetooth.le.oob": { - source: "iana" - }, - "application/vnd.bmi": { - source: "iana", - extensions: ["bmi"] - }, - "application/vnd.bpf": { - source: "iana" - }, - "application/vnd.bpf3": { - source: "iana" - }, - "application/vnd.businessobjects": { - source: "iana", - extensions: ["rep"] - }, - "application/vnd.byu.uapi+json": { - source: "iana", - compressible: true - }, - "application/vnd.cab-jscript": { - source: "iana" - }, - "application/vnd.canon-cpdl": { - source: "iana" - }, - "application/vnd.canon-lips": { - source: "iana" - }, - "application/vnd.capasystems-pg+json": { - source: "iana", - compressible: true - }, - "application/vnd.cendio.thinlinc.clientconf": { - source: "iana" - }, - "application/vnd.century-systems.tcp_stream": { - source: "iana" - }, - "application/vnd.chemdraw+xml": { - source: "iana", - compressible: true, - extensions: ["cdxml"] - }, - "application/vnd.chess-pgn": { - source: "iana" - }, - "application/vnd.chipnuts.karaoke-mmd": { - source: "iana", - extensions: ["mmd"] - }, - "application/vnd.ciedi": { - source: "iana" - }, - "application/vnd.cinderella": { - source: "iana", - extensions: ["cdy"] - }, - "application/vnd.cirpack.isdn-ext": { - source: "iana" - }, - "application/vnd.citationstyles.style+xml": { - source: "iana", - compressible: true, - extensions: ["csl"] - }, - "application/vnd.claymore": { - source: "iana", - extensions: ["cla"] - }, - "application/vnd.cloanto.rp9": { - source: "iana", - extensions: ["rp9"] - }, - "application/vnd.clonk.c4group": { - source: "iana", - extensions: ["c4g", "c4d", "c4f", "c4p", "c4u"] - }, - "application/vnd.cluetrust.cartomobile-config": { - source: "iana", - extensions: ["c11amc"] - }, - "application/vnd.cluetrust.cartomobile-config-pkg": { - source: "iana", - extensions: ["c11amz"] - }, - "application/vnd.coffeescript": { - source: "iana" - }, - "application/vnd.collabio.xodocuments.document": { - source: "iana" - }, - "application/vnd.collabio.xodocuments.document-template": { - source: "iana" - }, - "application/vnd.collabio.xodocuments.presentation": { - source: "iana" - }, - "application/vnd.collabio.xodocuments.presentation-template": { - source: "iana" - }, - "application/vnd.collabio.xodocuments.spreadsheet": { - source: "iana" - }, - "application/vnd.collabio.xodocuments.spreadsheet-template": { - source: "iana" - }, - "application/vnd.collection+json": { - source: "iana", - compressible: true - }, - "application/vnd.collection.doc+json": { - source: "iana", - compressible: true - }, - "application/vnd.collection.next+json": { - source: "iana", - compressible: true - }, - "application/vnd.comicbook+zip": { - source: "iana", - compressible: false - }, - "application/vnd.comicbook-rar": { - source: "iana" - }, - "application/vnd.commerce-battelle": { - source: "iana" - }, - "application/vnd.commonspace": { - source: "iana", - extensions: ["csp"] - }, - "application/vnd.contact.cmsg": { - source: "iana", - extensions: ["cdbcmsg"] - }, - "application/vnd.coreos.ignition+json": { - source: "iana", - compressible: true - }, - "application/vnd.cosmocaller": { - source: "iana", - extensions: ["cmc"] - }, - "application/vnd.crick.clicker": { - source: "iana", - extensions: ["clkx"] - }, - "application/vnd.crick.clicker.keyboard": { - source: "iana", - extensions: ["clkk"] - }, - "application/vnd.crick.clicker.palette": { - source: "iana", - extensions: ["clkp"] - }, - "application/vnd.crick.clicker.template": { - source: "iana", - extensions: ["clkt"] - }, - "application/vnd.crick.clicker.wordbank": { - source: "iana", - extensions: ["clkw"] - }, - "application/vnd.criticaltools.wbs+xml": { - source: "iana", - compressible: true, - extensions: ["wbs"] - }, - "application/vnd.cryptii.pipe+json": { - source: "iana", - compressible: true - }, - "application/vnd.crypto-shade-file": { - source: "iana" - }, - "application/vnd.cryptomator.encrypted": { - source: "iana" - }, - "application/vnd.cryptomator.vault": { - source: "iana" - }, - "application/vnd.ctc-posml": { - source: "iana", - extensions: ["pml"] - }, - "application/vnd.ctct.ws+xml": { - source: "iana", - compressible: true - }, - "application/vnd.cups-pdf": { - source: "iana" - }, - "application/vnd.cups-postscript": { - source: "iana" - }, - "application/vnd.cups-ppd": { - source: "iana", - extensions: ["ppd"] - }, - "application/vnd.cups-raster": { - source: "iana" - }, - "application/vnd.cups-raw": { - source: "iana" - }, - "application/vnd.curl": { - source: "iana" - }, - "application/vnd.curl.car": { - source: "apache", - extensions: ["car"] - }, - "application/vnd.curl.pcurl": { - source: "apache", - extensions: ["pcurl"] - }, - "application/vnd.cyan.dean.root+xml": { - source: "iana", - compressible: true - }, - "application/vnd.cybank": { - source: "iana" - }, - "application/vnd.cyclonedx+json": { - source: "iana", - compressible: true - }, - "application/vnd.cyclonedx+xml": { - source: "iana", - compressible: true - }, - "application/vnd.d2l.coursepackage1p0+zip": { - source: "iana", - compressible: false - }, - "application/vnd.d3m-dataset": { - source: "iana" - }, - "application/vnd.d3m-problem": { - source: "iana" - }, - "application/vnd.dart": { - source: "iana", - compressible: true, - extensions: ["dart"] - }, - "application/vnd.data-vision.rdz": { - source: "iana", - extensions: ["rdz"] - }, - "application/vnd.datapackage+json": { - source: "iana", - compressible: true - }, - "application/vnd.dataresource+json": { - source: "iana", - compressible: true - }, - "application/vnd.dbf": { - source: "iana", - extensions: ["dbf"] - }, - "application/vnd.debian.binary-package": { - source: "iana" - }, - "application/vnd.dece.data": { - source: "iana", - extensions: ["uvf", "uvvf", "uvd", "uvvd"] - }, - "application/vnd.dece.ttml+xml": { - source: "iana", - compressible: true, - extensions: ["uvt", "uvvt"] - }, - "application/vnd.dece.unspecified": { - source: "iana", - extensions: ["uvx", "uvvx"] - }, - "application/vnd.dece.zip": { - source: "iana", - extensions: ["uvz", "uvvz"] - }, - "application/vnd.denovo.fcselayout-link": { - source: "iana", - extensions: ["fe_launch"] - }, - "application/vnd.desmume.movie": { - source: "iana" - }, - "application/vnd.dir-bi.plate-dl-nosuffix": { - source: "iana" - }, - "application/vnd.dm.delegation+xml": { - source: "iana", - compressible: true - }, - "application/vnd.dna": { - source: "iana", - extensions: ["dna"] - }, - "application/vnd.document+json": { - source: "iana", - compressible: true - }, - "application/vnd.dolby.mlp": { - source: "apache", - extensions: ["mlp"] - }, - "application/vnd.dolby.mobile.1": { - source: "iana" - }, - "application/vnd.dolby.mobile.2": { - source: "iana" - }, - "application/vnd.doremir.scorecloud-binary-document": { - source: "iana" - }, - "application/vnd.dpgraph": { - source: "iana", - extensions: ["dpg"] - }, - "application/vnd.dreamfactory": { - source: "iana", - extensions: ["dfac"] - }, - "application/vnd.drive+json": { - source: "iana", - compressible: true - }, - "application/vnd.ds-keypoint": { - source: "apache", - extensions: ["kpxx"] - }, - "application/vnd.dtg.local": { - source: "iana" - }, - "application/vnd.dtg.local.flash": { - source: "iana" - }, - "application/vnd.dtg.local.html": { - source: "iana" - }, - "application/vnd.dvb.ait": { - source: "iana", - extensions: ["ait"] - }, - "application/vnd.dvb.dvbisl+xml": { - source: "iana", - compressible: true - }, - "application/vnd.dvb.dvbj": { - source: "iana" - }, - "application/vnd.dvb.esgcontainer": { - source: "iana" - }, - "application/vnd.dvb.ipdcdftnotifaccess": { - source: "iana" - }, - "application/vnd.dvb.ipdcesgaccess": { - source: "iana" - }, - "application/vnd.dvb.ipdcesgaccess2": { - source: "iana" - }, - "application/vnd.dvb.ipdcesgpdd": { - source: "iana" - }, - "application/vnd.dvb.ipdcroaming": { - source: "iana" - }, - "application/vnd.dvb.iptv.alfec-base": { - source: "iana" - }, - "application/vnd.dvb.iptv.alfec-enhancement": { - source: "iana" - }, - "application/vnd.dvb.notif-aggregate-root+xml": { - source: "iana", - compressible: true - }, - "application/vnd.dvb.notif-container+xml": { - source: "iana", - compressible: true - }, - "application/vnd.dvb.notif-generic+xml": { - source: "iana", - compressible: true - }, - "application/vnd.dvb.notif-ia-msglist+xml": { - source: "iana", - compressible: true - }, - "application/vnd.dvb.notif-ia-registration-request+xml": { - source: "iana", - compressible: true - }, - "application/vnd.dvb.notif-ia-registration-response+xml": { - source: "iana", - compressible: true - }, - "application/vnd.dvb.notif-init+xml": { - source: "iana", - compressible: true - }, - "application/vnd.dvb.pfr": { - source: "iana" - }, - "application/vnd.dvb.service": { - source: "iana", - extensions: ["svc"] - }, - "application/vnd.dxr": { - source: "iana" - }, - "application/vnd.dynageo": { - source: "iana", - extensions: ["geo"] - }, - "application/vnd.dzr": { - source: "iana" - }, - "application/vnd.easykaraoke.cdgdownload": { - source: "iana" - }, - "application/vnd.ecdis-update": { - source: "iana" - }, - "application/vnd.ecip.rlp": { - source: "iana" - }, - "application/vnd.eclipse.ditto+json": { - source: "iana", - compressible: true - }, - "application/vnd.ecowin.chart": { - source: "iana", - extensions: ["mag"] - }, - "application/vnd.ecowin.filerequest": { - source: "iana" - }, - "application/vnd.ecowin.fileupdate": { - source: "iana" - }, - "application/vnd.ecowin.series": { - source: "iana" - }, - "application/vnd.ecowin.seriesrequest": { - source: "iana" - }, - "application/vnd.ecowin.seriesupdate": { - source: "iana" - }, - "application/vnd.efi.img": { - source: "iana" - }, - "application/vnd.efi.iso": { - source: "iana" - }, - "application/vnd.emclient.accessrequest+xml": { - source: "iana", - compressible: true - }, - "application/vnd.enliven": { - source: "iana", - extensions: ["nml"] - }, - "application/vnd.enphase.envoy": { - source: "iana" - }, - "application/vnd.eprints.data+xml": { - source: "iana", - compressible: true - }, - "application/vnd.epson.esf": { - source: "iana", - extensions: ["esf"] - }, - "application/vnd.epson.msf": { - source: "iana", - extensions: ["msf"] - }, - "application/vnd.epson.quickanime": { - source: "iana", - extensions: ["qam"] - }, - "application/vnd.epson.salt": { - source: "iana", - extensions: ["slt"] - }, - "application/vnd.epson.ssf": { - source: "iana", - extensions: ["ssf"] - }, - "application/vnd.ericsson.quickcall": { - source: "iana" - }, - "application/vnd.espass-espass+zip": { - source: "iana", - compressible: false - }, - "application/vnd.eszigno3+xml": { - source: "iana", - compressible: true, - extensions: ["es3", "et3"] - }, - "application/vnd.etsi.aoc+xml": { - source: "iana", - compressible: true - }, - "application/vnd.etsi.asic-e+zip": { - source: "iana", - compressible: false - }, - "application/vnd.etsi.asic-s+zip": { - source: "iana", - compressible: false - }, - "application/vnd.etsi.cug+xml": { - source: "iana", - compressible: true - }, - "application/vnd.etsi.iptvcommand+xml": { - source: "iana", - compressible: true - }, - "application/vnd.etsi.iptvdiscovery+xml": { - source: "iana", - compressible: true - }, - "application/vnd.etsi.iptvprofile+xml": { - source: "iana", - compressible: true - }, - "application/vnd.etsi.iptvsad-bc+xml": { - source: "iana", - compressible: true - }, - "application/vnd.etsi.iptvsad-cod+xml": { - source: "iana", - compressible: true - }, - "application/vnd.etsi.iptvsad-npvr+xml": { - source: "iana", - compressible: true - }, - "application/vnd.etsi.iptvservice+xml": { - source: "iana", - compressible: true - }, - "application/vnd.etsi.iptvsync+xml": { - source: "iana", - compressible: true - }, - "application/vnd.etsi.iptvueprofile+xml": { - source: "iana", - compressible: true - }, - "application/vnd.etsi.mcid+xml": { - source: "iana", - compressible: true - }, - "application/vnd.etsi.mheg5": { - source: "iana" - }, - "application/vnd.etsi.overload-control-policy-dataset+xml": { - source: "iana", - compressible: true - }, - "application/vnd.etsi.pstn+xml": { - source: "iana", - compressible: true - }, - "application/vnd.etsi.sci+xml": { - source: "iana", - compressible: true - }, - "application/vnd.etsi.simservs+xml": { - source: "iana", - compressible: true - }, - "application/vnd.etsi.timestamp-token": { - source: "iana" - }, - "application/vnd.etsi.tsl+xml": { - source: "iana", - compressible: true - }, - "application/vnd.etsi.tsl.der": { - source: "iana" - }, - "application/vnd.eu.kasparian.car+json": { - source: "iana", - compressible: true - }, - "application/vnd.eudora.data": { - source: "iana" - }, - "application/vnd.evolv.ecig.profile": { - source: "iana" - }, - "application/vnd.evolv.ecig.settings": { - source: "iana" - }, - "application/vnd.evolv.ecig.theme": { - source: "iana" - }, - "application/vnd.exstream-empower+zip": { - source: "iana", - compressible: false - }, - "application/vnd.exstream-package": { - source: "iana" - }, - "application/vnd.ezpix-album": { - source: "iana", - extensions: ["ez2"] - }, - "application/vnd.ezpix-package": { - source: "iana", - extensions: ["ez3"] - }, - "application/vnd.f-secure.mobile": { - source: "iana" - }, - "application/vnd.familysearch.gedcom+zip": { - source: "iana", - compressible: false - }, - "application/vnd.fastcopy-disk-image": { - source: "iana" - }, - "application/vnd.fdf": { - source: "iana", - extensions: ["fdf"] - }, - "application/vnd.fdsn.mseed": { - source: "iana", - extensions: ["mseed"] - }, - "application/vnd.fdsn.seed": { - source: "iana", - extensions: ["seed", "dataless"] - }, - "application/vnd.ffsns": { - source: "iana" - }, - "application/vnd.ficlab.flb+zip": { - source: "iana", - compressible: false - }, - "application/vnd.filmit.zfc": { - source: "iana" - }, - "application/vnd.fints": { - source: "iana" - }, - "application/vnd.firemonkeys.cloudcell": { - source: "iana" - }, - "application/vnd.flographit": { - source: "iana", - extensions: ["gph"] - }, - "application/vnd.fluxtime.clip": { - source: "iana", - extensions: ["ftc"] - }, - "application/vnd.font-fontforge-sfd": { - source: "iana" - }, - "application/vnd.framemaker": { - source: "iana", - extensions: ["fm", "frame", "maker", "book"] - }, - "application/vnd.frogans.fnc": { - source: "iana", - extensions: ["fnc"] - }, - "application/vnd.frogans.ltf": { - source: "iana", - extensions: ["ltf"] - }, - "application/vnd.fsc.weblaunch": { - source: "iana", - extensions: ["fsc"] - }, - "application/vnd.fujifilm.fb.docuworks": { - source: "iana" - }, - "application/vnd.fujifilm.fb.docuworks.binder": { - source: "iana" - }, - "application/vnd.fujifilm.fb.docuworks.container": { - source: "iana" - }, - "application/vnd.fujifilm.fb.jfi+xml": { - source: "iana", - compressible: true - }, - "application/vnd.fujitsu.oasys": { - source: "iana", - extensions: ["oas"] - }, - "application/vnd.fujitsu.oasys2": { - source: "iana", - extensions: ["oa2"] - }, - "application/vnd.fujitsu.oasys3": { - source: "iana", - extensions: ["oa3"] - }, - "application/vnd.fujitsu.oasysgp": { - source: "iana", - extensions: ["fg5"] - }, - "application/vnd.fujitsu.oasysprs": { - source: "iana", - extensions: ["bh2"] - }, - "application/vnd.fujixerox.art-ex": { - source: "iana" - }, - "application/vnd.fujixerox.art4": { - source: "iana" - }, - "application/vnd.fujixerox.ddd": { - source: "iana", - extensions: ["ddd"] - }, - "application/vnd.fujixerox.docuworks": { - source: "iana", - extensions: ["xdw"] - }, - "application/vnd.fujixerox.docuworks.binder": { - source: "iana", - extensions: ["xbd"] - }, - "application/vnd.fujixerox.docuworks.container": { - source: "iana" - }, - "application/vnd.fujixerox.hbpl": { - source: "iana" - }, - "application/vnd.fut-misnet": { - source: "iana" - }, - "application/vnd.futoin+cbor": { - source: "iana" - }, - "application/vnd.futoin+json": { - source: "iana", - compressible: true - }, - "application/vnd.fuzzysheet": { - source: "iana", - extensions: ["fzs"] - }, - "application/vnd.genomatix.tuxedo": { - source: "iana", - extensions: ["txd"] - }, - "application/vnd.gentics.grd+json": { - source: "iana", - compressible: true - }, - "application/vnd.geo+json": { - source: "iana", - compressible: true - }, - "application/vnd.geocube+xml": { - source: "iana", - compressible: true - }, - "application/vnd.geogebra.file": { - source: "iana", - extensions: ["ggb"] - }, - "application/vnd.geogebra.slides": { - source: "iana" - }, - "application/vnd.geogebra.tool": { - source: "iana", - extensions: ["ggt"] - }, - "application/vnd.geometry-explorer": { - source: "iana", - extensions: ["gex", "gre"] - }, - "application/vnd.geonext": { - source: "iana", - extensions: ["gxt"] - }, - "application/vnd.geoplan": { - source: "iana", - extensions: ["g2w"] - }, - "application/vnd.geospace": { - source: "iana", - extensions: ["g3w"] - }, - "application/vnd.gerber": { - source: "iana" - }, - "application/vnd.globalplatform.card-content-mgt": { - source: "iana" - }, - "application/vnd.globalplatform.card-content-mgt-response": { - source: "iana" - }, - "application/vnd.gmx": { - source: "iana", - extensions: ["gmx"] - }, - "application/vnd.google-apps.document": { - compressible: false, - extensions: ["gdoc"] - }, - "application/vnd.google-apps.presentation": { - compressible: false, - extensions: ["gslides"] - }, - "application/vnd.google-apps.spreadsheet": { - compressible: false, - extensions: ["gsheet"] - }, - "application/vnd.google-earth.kml+xml": { - source: "iana", - compressible: true, - extensions: ["kml"] - }, - "application/vnd.google-earth.kmz": { - source: "iana", - compressible: false, - extensions: ["kmz"] - }, - "application/vnd.gov.sk.e-form+xml": { - source: "iana", - compressible: true - }, - "application/vnd.gov.sk.e-form+zip": { - source: "iana", - compressible: false - }, - "application/vnd.gov.sk.xmldatacontainer+xml": { - source: "iana", - compressible: true - }, - "application/vnd.grafeq": { - source: "iana", - extensions: ["gqf", "gqs"] - }, - "application/vnd.gridmp": { - source: "iana" - }, - "application/vnd.groove-account": { - source: "iana", - extensions: ["gac"] - }, - "application/vnd.groove-help": { - source: "iana", - extensions: ["ghf"] - }, - "application/vnd.groove-identity-message": { - source: "iana", - extensions: ["gim"] - }, - "application/vnd.groove-injector": { - source: "iana", - extensions: ["grv"] - }, - "application/vnd.groove-tool-message": { - source: "iana", - extensions: ["gtm"] - }, - "application/vnd.groove-tool-template": { - source: "iana", - extensions: ["tpl"] - }, - "application/vnd.groove-vcard": { - source: "iana", - extensions: ["vcg"] - }, - "application/vnd.hal+json": { - source: "iana", - compressible: true - }, - "application/vnd.hal+xml": { - source: "iana", - compressible: true, - extensions: ["hal"] - }, - "application/vnd.handheld-entertainment+xml": { - source: "iana", - compressible: true, - extensions: ["zmm"] - }, - "application/vnd.hbci": { - source: "iana", - extensions: ["hbci"] - }, - "application/vnd.hc+json": { - source: "iana", - compressible: true - }, - "application/vnd.hcl-bireports": { - source: "iana" - }, - "application/vnd.hdt": { - source: "iana" - }, - "application/vnd.heroku+json": { - source: "iana", - compressible: true - }, - "application/vnd.hhe.lesson-player": { - source: "iana", - extensions: ["les"] - }, - "application/vnd.hl7cda+xml": { - source: "iana", - charset: "UTF-8", - compressible: true - }, - "application/vnd.hl7v2+xml": { - source: "iana", - charset: "UTF-8", - compressible: true - }, - "application/vnd.hp-hpgl": { - source: "iana", - extensions: ["hpgl"] - }, - "application/vnd.hp-hpid": { - source: "iana", - extensions: ["hpid"] - }, - "application/vnd.hp-hps": { - source: "iana", - extensions: ["hps"] - }, - "application/vnd.hp-jlyt": { - source: "iana", - extensions: ["jlt"] - }, - "application/vnd.hp-pcl": { - source: "iana", - extensions: ["pcl"] - }, - "application/vnd.hp-pclxl": { - source: "iana", - extensions: ["pclxl"] - }, - "application/vnd.httphone": { - source: "iana" - }, - "application/vnd.hydrostatix.sof-data": { - source: "iana", - extensions: ["sfd-hdstx"] - }, - "application/vnd.hyper+json": { - source: "iana", - compressible: true - }, - "application/vnd.hyper-item+json": { - source: "iana", - compressible: true - }, - "application/vnd.hyperdrive+json": { - source: "iana", - compressible: true - }, - "application/vnd.hzn-3d-crossword": { - source: "iana" - }, - "application/vnd.ibm.afplinedata": { - source: "iana" - }, - "application/vnd.ibm.electronic-media": { - source: "iana" - }, - "application/vnd.ibm.minipay": { - source: "iana", - extensions: ["mpy"] - }, - "application/vnd.ibm.modcap": { - source: "iana", - extensions: ["afp", "listafp", "list3820"] - }, - "application/vnd.ibm.rights-management": { - source: "iana", - extensions: ["irm"] - }, - "application/vnd.ibm.secure-container": { - source: "iana", - extensions: ["sc"] - }, - "application/vnd.iccprofile": { - source: "iana", - extensions: ["icc", "icm"] - }, - "application/vnd.ieee.1905": { - source: "iana" - }, - "application/vnd.igloader": { - source: "iana", - extensions: ["igl"] - }, - "application/vnd.imagemeter.folder+zip": { - source: "iana", - compressible: false - }, - "application/vnd.imagemeter.image+zip": { - source: "iana", - compressible: false - }, - "application/vnd.immervision-ivp": { - source: "iana", - extensions: ["ivp"] - }, - "application/vnd.immervision-ivu": { - source: "iana", - extensions: ["ivu"] - }, - "application/vnd.ims.imsccv1p1": { - source: "iana" - }, - "application/vnd.ims.imsccv1p2": { - source: "iana" - }, - "application/vnd.ims.imsccv1p3": { - source: "iana" - }, - "application/vnd.ims.lis.v2.result+json": { - source: "iana", - compressible: true - }, - "application/vnd.ims.lti.v2.toolconsumerprofile+json": { - source: "iana", - compressible: true - }, - "application/vnd.ims.lti.v2.toolproxy+json": { - source: "iana", - compressible: true - }, - "application/vnd.ims.lti.v2.toolproxy.id+json": { - source: "iana", - compressible: true - }, - "application/vnd.ims.lti.v2.toolsettings+json": { - source: "iana", - compressible: true - }, - "application/vnd.ims.lti.v2.toolsettings.simple+json": { - source: "iana", - compressible: true - }, - "application/vnd.informedcontrol.rms+xml": { - source: "iana", - compressible: true - }, - "application/vnd.informix-visionary": { - source: "iana" - }, - "application/vnd.infotech.project": { - source: "iana" - }, - "application/vnd.infotech.project+xml": { - source: "iana", - compressible: true - }, - "application/vnd.innopath.wamp.notification": { - source: "iana" - }, - "application/vnd.insors.igm": { - source: "iana", - extensions: ["igm"] - }, - "application/vnd.intercon.formnet": { - source: "iana", - extensions: ["xpw", "xpx"] - }, - "application/vnd.intergeo": { - source: "iana", - extensions: ["i2g"] - }, - "application/vnd.intertrust.digibox": { - source: "iana" - }, - "application/vnd.intertrust.nncp": { - source: "iana" - }, - "application/vnd.intu.qbo": { - source: "iana", - extensions: ["qbo"] - }, - "application/vnd.intu.qfx": { - source: "iana", - extensions: ["qfx"] - }, - "application/vnd.iptc.g2.catalogitem+xml": { - source: "iana", - compressible: true - }, - "application/vnd.iptc.g2.conceptitem+xml": { - source: "iana", - compressible: true - }, - "application/vnd.iptc.g2.knowledgeitem+xml": { - source: "iana", - compressible: true - }, - "application/vnd.iptc.g2.newsitem+xml": { - source: "iana", - compressible: true - }, - "application/vnd.iptc.g2.newsmessage+xml": { - source: "iana", - compressible: true - }, - "application/vnd.iptc.g2.packageitem+xml": { - source: "iana", - compressible: true - }, - "application/vnd.iptc.g2.planningitem+xml": { - source: "iana", - compressible: true - }, - "application/vnd.ipunplugged.rcprofile": { - source: "iana", - extensions: ["rcprofile"] - }, - "application/vnd.irepository.package+xml": { - source: "iana", - compressible: true, - extensions: ["irp"] - }, - "application/vnd.is-xpr": { - source: "iana", - extensions: ["xpr"] - }, - "application/vnd.isac.fcs": { - source: "iana", - extensions: ["fcs"] - }, - "application/vnd.iso11783-10+zip": { - source: "iana", - compressible: false - }, - "application/vnd.jam": { - source: "iana", - extensions: ["jam"] - }, - "application/vnd.japannet-directory-service": { - source: "iana" - }, - "application/vnd.japannet-jpnstore-wakeup": { - source: "iana" - }, - "application/vnd.japannet-payment-wakeup": { - source: "iana" - }, - "application/vnd.japannet-registration": { - source: "iana" - }, - "application/vnd.japannet-registration-wakeup": { - source: "iana" - }, - "application/vnd.japannet-setstore-wakeup": { - source: "iana" - }, - "application/vnd.japannet-verification": { - source: "iana" - }, - "application/vnd.japannet-verification-wakeup": { - source: "iana" - }, - "application/vnd.jcp.javame.midlet-rms": { - source: "iana", - extensions: ["rms"] - }, - "application/vnd.jisp": { - source: "iana", - extensions: ["jisp"] - }, - "application/vnd.joost.joda-archive": { - source: "iana", - extensions: ["joda"] - }, - "application/vnd.jsk.isdn-ngn": { - source: "iana" - }, - "application/vnd.kahootz": { - source: "iana", - extensions: ["ktz", "ktr"] - }, - "application/vnd.kde.karbon": { - source: "iana", - extensions: ["karbon"] - }, - "application/vnd.kde.kchart": { - source: "iana", - extensions: ["chrt"] - }, - "application/vnd.kde.kformula": { - source: "iana", - extensions: ["kfo"] - }, - "application/vnd.kde.kivio": { - source: "iana", - extensions: ["flw"] - }, - "application/vnd.kde.kontour": { - source: "iana", - extensions: ["kon"] - }, - "application/vnd.kde.kpresenter": { - source: "iana", - extensions: ["kpr", "kpt"] - }, - "application/vnd.kde.kspread": { - source: "iana", - extensions: ["ksp"] - }, - "application/vnd.kde.kword": { - source: "iana", - extensions: ["kwd", "kwt"] - }, - "application/vnd.kenameaapp": { - source: "iana", - extensions: ["htke"] - }, - "application/vnd.kidspiration": { - source: "iana", - extensions: ["kia"] - }, - "application/vnd.kinar": { - source: "iana", - extensions: ["kne", "knp"] - }, - "application/vnd.koan": { - source: "iana", - extensions: ["skp", "skd", "skt", "skm"] - }, - "application/vnd.kodak-descriptor": { - source: "iana", - extensions: ["sse"] - }, - "application/vnd.las": { - source: "iana" - }, - "application/vnd.las.las+json": { - source: "iana", - compressible: true - }, - "application/vnd.las.las+xml": { - source: "iana", - compressible: true, - extensions: ["lasxml"] - }, - "application/vnd.laszip": { - source: "iana" - }, - "application/vnd.leap+json": { - source: "iana", - compressible: true - }, - "application/vnd.liberty-request+xml": { - source: "iana", - compressible: true - }, - "application/vnd.llamagraphics.life-balance.desktop": { - source: "iana", - extensions: ["lbd"] - }, - "application/vnd.llamagraphics.life-balance.exchange+xml": { - source: "iana", - compressible: true, - extensions: ["lbe"] - }, - "application/vnd.logipipe.circuit+zip": { - source: "iana", - compressible: false - }, - "application/vnd.loom": { - source: "iana" - }, - "application/vnd.lotus-1-2-3": { - source: "iana", - extensions: ["123"] - }, - "application/vnd.lotus-approach": { - source: "iana", - extensions: ["apr"] - }, - "application/vnd.lotus-freelance": { - source: "iana", - extensions: ["pre"] - }, - "application/vnd.lotus-notes": { - source: "iana", - extensions: ["nsf"] - }, - "application/vnd.lotus-organizer": { - source: "iana", - extensions: ["org"] - }, - "application/vnd.lotus-screencam": { - source: "iana", - extensions: ["scm"] - }, - "application/vnd.lotus-wordpro": { - source: "iana", - extensions: ["lwp"] - }, - "application/vnd.macports.portpkg": { - source: "iana", - extensions: ["portpkg"] - }, - "application/vnd.mapbox-vector-tile": { - source: "iana", - extensions: ["mvt"] - }, - "application/vnd.marlin.drm.actiontoken+xml": { - source: "iana", - compressible: true - }, - "application/vnd.marlin.drm.conftoken+xml": { - source: "iana", - compressible: true - }, - "application/vnd.marlin.drm.license+xml": { - source: "iana", - compressible: true - }, - "application/vnd.marlin.drm.mdcf": { - source: "iana" - }, - "application/vnd.mason+json": { - source: "iana", - compressible: true - }, - "application/vnd.maxar.archive.3tz+zip": { - source: "iana", - compressible: false - }, - "application/vnd.maxmind.maxmind-db": { - source: "iana" - }, - "application/vnd.mcd": { - source: "iana", - extensions: ["mcd"] - }, - "application/vnd.medcalcdata": { - source: "iana", - extensions: ["mc1"] - }, - "application/vnd.mediastation.cdkey": { - source: "iana", - extensions: ["cdkey"] - }, - "application/vnd.meridian-slingshot": { - source: "iana" - }, - "application/vnd.mfer": { - source: "iana", - extensions: ["mwf"] - }, - "application/vnd.mfmp": { - source: "iana", - extensions: ["mfm"] - }, - "application/vnd.micro+json": { - source: "iana", - compressible: true - }, - "application/vnd.micrografx.flo": { - source: "iana", - extensions: ["flo"] - }, - "application/vnd.micrografx.igx": { - source: "iana", - extensions: ["igx"] - }, - "application/vnd.microsoft.portable-executable": { - source: "iana" - }, - "application/vnd.microsoft.windows.thumbnail-cache": { - source: "iana" - }, - "application/vnd.miele+json": { - source: "iana", - compressible: true - }, - "application/vnd.mif": { - source: "iana", - extensions: ["mif"] - }, - "application/vnd.minisoft-hp3000-save": { - source: "iana" - }, - "application/vnd.mitsubishi.misty-guard.trustweb": { - source: "iana" - }, - "application/vnd.mobius.daf": { - source: "iana", - extensions: ["daf"] - }, - "application/vnd.mobius.dis": { - source: "iana", - extensions: ["dis"] - }, - "application/vnd.mobius.mbk": { - source: "iana", - extensions: ["mbk"] - }, - "application/vnd.mobius.mqy": { - source: "iana", - extensions: ["mqy"] - }, - "application/vnd.mobius.msl": { - source: "iana", - extensions: ["msl"] - }, - "application/vnd.mobius.plc": { - source: "iana", - extensions: ["plc"] - }, - "application/vnd.mobius.txf": { - source: "iana", - extensions: ["txf"] - }, - "application/vnd.mophun.application": { - source: "iana", - extensions: ["mpn"] - }, - "application/vnd.mophun.certificate": { - source: "iana", - extensions: ["mpc"] - }, - "application/vnd.motorola.flexsuite": { - source: "iana" - }, - "application/vnd.motorola.flexsuite.adsi": { - source: "iana" - }, - "application/vnd.motorola.flexsuite.fis": { - source: "iana" - }, - "application/vnd.motorola.flexsuite.gotap": { - source: "iana" - }, - "application/vnd.motorola.flexsuite.kmr": { - source: "iana" - }, - "application/vnd.motorola.flexsuite.ttc": { - source: "iana" - }, - "application/vnd.motorola.flexsuite.wem": { - source: "iana" - }, - "application/vnd.motorola.iprm": { - source: "iana" - }, - "application/vnd.mozilla.xul+xml": { - source: "iana", - compressible: true, - extensions: ["xul"] - }, - "application/vnd.ms-3mfdocument": { - source: "iana" - }, - "application/vnd.ms-artgalry": { - source: "iana", - extensions: ["cil"] - }, - "application/vnd.ms-asf": { - source: "iana" - }, - "application/vnd.ms-cab-compressed": { - source: "iana", - extensions: ["cab"] - }, - "application/vnd.ms-color.iccprofile": { - source: "apache" - }, - "application/vnd.ms-excel": { - source: "iana", - compressible: false, - extensions: ["xls", "xlm", "xla", "xlc", "xlt", "xlw"] - }, - "application/vnd.ms-excel.addin.macroenabled.12": { - source: "iana", - extensions: ["xlam"] - }, - "application/vnd.ms-excel.sheet.binary.macroenabled.12": { - source: "iana", - extensions: ["xlsb"] - }, - "application/vnd.ms-excel.sheet.macroenabled.12": { - source: "iana", - extensions: ["xlsm"] - }, - "application/vnd.ms-excel.template.macroenabled.12": { - source: "iana", - extensions: ["xltm"] - }, - "application/vnd.ms-fontobject": { - source: "iana", - compressible: true, - extensions: ["eot"] - }, - "application/vnd.ms-htmlhelp": { - source: "iana", - extensions: ["chm"] - }, - "application/vnd.ms-ims": { - source: "iana", - extensions: ["ims"] - }, - "application/vnd.ms-lrm": { - source: "iana", - extensions: ["lrm"] - }, - "application/vnd.ms-office.activex+xml": { - source: "iana", - compressible: true - }, - "application/vnd.ms-officetheme": { - source: "iana", - extensions: ["thmx"] - }, - "application/vnd.ms-opentype": { - source: "apache", - compressible: true - }, - "application/vnd.ms-outlook": { - compressible: false, - extensions: ["msg"] - }, - "application/vnd.ms-package.obfuscated-opentype": { - source: "apache" - }, - "application/vnd.ms-pki.seccat": { - source: "apache", - extensions: ["cat"] - }, - "application/vnd.ms-pki.stl": { - source: "apache", - extensions: ["stl"] - }, - "application/vnd.ms-playready.initiator+xml": { - source: "iana", - compressible: true - }, - "application/vnd.ms-powerpoint": { - source: "iana", - compressible: false, - extensions: ["ppt", "pps", "pot"] - }, - "application/vnd.ms-powerpoint.addin.macroenabled.12": { - source: "iana", - extensions: ["ppam"] - }, - "application/vnd.ms-powerpoint.presentation.macroenabled.12": { - source: "iana", - extensions: ["pptm"] - }, - "application/vnd.ms-powerpoint.slide.macroenabled.12": { - source: "iana", - extensions: ["sldm"] - }, - "application/vnd.ms-powerpoint.slideshow.macroenabled.12": { - source: "iana", - extensions: ["ppsm"] - }, - "application/vnd.ms-powerpoint.template.macroenabled.12": { - source: "iana", - extensions: ["potm"] - }, - "application/vnd.ms-printdevicecapabilities+xml": { - source: "iana", - compressible: true - }, - "application/vnd.ms-printing.printticket+xml": { - source: "apache", - compressible: true - }, - "application/vnd.ms-printschematicket+xml": { - source: "iana", - compressible: true - }, - "application/vnd.ms-project": { - source: "iana", - extensions: ["mpp", "mpt"] - }, - "application/vnd.ms-tnef": { - source: "iana" - }, - "application/vnd.ms-windows.devicepairing": { - source: "iana" - }, - "application/vnd.ms-windows.nwprinting.oob": { - source: "iana" - }, - "application/vnd.ms-windows.printerpairing": { - source: "iana" - }, - "application/vnd.ms-windows.wsd.oob": { - source: "iana" - }, - "application/vnd.ms-wmdrm.lic-chlg-req": { - source: "iana" - }, - "application/vnd.ms-wmdrm.lic-resp": { - source: "iana" - }, - "application/vnd.ms-wmdrm.meter-chlg-req": { - source: "iana" - }, - "application/vnd.ms-wmdrm.meter-resp": { - source: "iana" - }, - "application/vnd.ms-word.document.macroenabled.12": { - source: "iana", - extensions: ["docm"] - }, - "application/vnd.ms-word.template.macroenabled.12": { - source: "iana", - extensions: ["dotm"] - }, - "application/vnd.ms-works": { - source: "iana", - extensions: ["wps", "wks", "wcm", "wdb"] - }, - "application/vnd.ms-wpl": { - source: "iana", - extensions: ["wpl"] - }, - "application/vnd.ms-xpsdocument": { - source: "iana", - compressible: false, - extensions: ["xps"] - }, - "application/vnd.msa-disk-image": { - source: "iana" - }, - "application/vnd.mseq": { - source: "iana", - extensions: ["mseq"] - }, - "application/vnd.msign": { - source: "iana" - }, - "application/vnd.multiad.creator": { - source: "iana" - }, - "application/vnd.multiad.creator.cif": { - source: "iana" - }, - "application/vnd.music-niff": { - source: "iana" - }, - "application/vnd.musician": { - source: "iana", - extensions: ["mus"] - }, - "application/vnd.muvee.style": { - source: "iana", - extensions: ["msty"] - }, - "application/vnd.mynfc": { - source: "iana", - extensions: ["taglet"] - }, - "application/vnd.nacamar.ybrid+json": { - source: "iana", - compressible: true - }, - "application/vnd.ncd.control": { - source: "iana" - }, - "application/vnd.ncd.reference": { - source: "iana" - }, - "application/vnd.nearst.inv+json": { - source: "iana", - compressible: true - }, - "application/vnd.nebumind.line": { - source: "iana" - }, - "application/vnd.nervana": { - source: "iana" - }, - "application/vnd.netfpx": { - source: "iana" - }, - "application/vnd.neurolanguage.nlu": { - source: "iana", - extensions: ["nlu"] - }, - "application/vnd.nimn": { - source: "iana" - }, - "application/vnd.nintendo.nitro.rom": { - source: "iana" - }, - "application/vnd.nintendo.snes.rom": { - source: "iana" - }, - "application/vnd.nitf": { - source: "iana", - extensions: ["ntf", "nitf"] - }, - "application/vnd.noblenet-directory": { - source: "iana", - extensions: ["nnd"] - }, - "application/vnd.noblenet-sealer": { - source: "iana", - extensions: ["nns"] - }, - "application/vnd.noblenet-web": { - source: "iana", - extensions: ["nnw"] - }, - "application/vnd.nokia.catalogs": { - source: "iana" - }, - "application/vnd.nokia.conml+wbxml": { - source: "iana" - }, - "application/vnd.nokia.conml+xml": { - source: "iana", - compressible: true - }, - "application/vnd.nokia.iptv.config+xml": { - source: "iana", - compressible: true - }, - "application/vnd.nokia.isds-radio-presets": { - source: "iana" - }, - "application/vnd.nokia.landmark+wbxml": { - source: "iana" - }, - "application/vnd.nokia.landmark+xml": { - source: "iana", - compressible: true - }, - "application/vnd.nokia.landmarkcollection+xml": { - source: "iana", - compressible: true - }, - "application/vnd.nokia.n-gage.ac+xml": { - source: "iana", - compressible: true, - extensions: ["ac"] - }, - "application/vnd.nokia.n-gage.data": { - source: "iana", - extensions: ["ngdat"] - }, - "application/vnd.nokia.n-gage.symbian.install": { - source: "iana", - extensions: ["n-gage"] - }, - "application/vnd.nokia.ncd": { - source: "iana" - }, - "application/vnd.nokia.pcd+wbxml": { - source: "iana" - }, - "application/vnd.nokia.pcd+xml": { - source: "iana", - compressible: true - }, - "application/vnd.nokia.radio-preset": { - source: "iana", - extensions: ["rpst"] - }, - "application/vnd.nokia.radio-presets": { - source: "iana", - extensions: ["rpss"] - }, - "application/vnd.novadigm.edm": { - source: "iana", - extensions: ["edm"] - }, - "application/vnd.novadigm.edx": { - source: "iana", - extensions: ["edx"] - }, - "application/vnd.novadigm.ext": { - source: "iana", - extensions: ["ext"] - }, - "application/vnd.ntt-local.content-share": { - source: "iana" - }, - "application/vnd.ntt-local.file-transfer": { - source: "iana" - }, - "application/vnd.ntt-local.ogw_remote-access": { - source: "iana" - }, - "application/vnd.ntt-local.sip-ta_remote": { - source: "iana" - }, - "application/vnd.ntt-local.sip-ta_tcp_stream": { - source: "iana" - }, - "application/vnd.oasis.opendocument.chart": { - source: "iana", - extensions: ["odc"] - }, - "application/vnd.oasis.opendocument.chart-template": { - source: "iana", - extensions: ["otc"] - }, - "application/vnd.oasis.opendocument.database": { - source: "iana", - extensions: ["odb"] - }, - "application/vnd.oasis.opendocument.formula": { - source: "iana", - extensions: ["odf"] - }, - "application/vnd.oasis.opendocument.formula-template": { - source: "iana", - extensions: ["odft"] - }, - "application/vnd.oasis.opendocument.graphics": { - source: "iana", - compressible: false, - extensions: ["odg"] - }, - "application/vnd.oasis.opendocument.graphics-template": { - source: "iana", - extensions: ["otg"] - }, - "application/vnd.oasis.opendocument.image": { - source: "iana", - extensions: ["odi"] - }, - "application/vnd.oasis.opendocument.image-template": { - source: "iana", - extensions: ["oti"] - }, - "application/vnd.oasis.opendocument.presentation": { - source: "iana", - compressible: false, - extensions: ["odp"] - }, - "application/vnd.oasis.opendocument.presentation-template": { - source: "iana", - extensions: ["otp"] - }, - "application/vnd.oasis.opendocument.spreadsheet": { - source: "iana", - compressible: false, - extensions: ["ods"] - }, - "application/vnd.oasis.opendocument.spreadsheet-template": { - source: "iana", - extensions: ["ots"] - }, - "application/vnd.oasis.opendocument.text": { - source: "iana", - compressible: false, - extensions: ["odt"] - }, - "application/vnd.oasis.opendocument.text-master": { - source: "iana", - extensions: ["odm"] - }, - "application/vnd.oasis.opendocument.text-template": { - source: "iana", - extensions: ["ott"] - }, - "application/vnd.oasis.opendocument.text-web": { - source: "iana", - extensions: ["oth"] - }, - "application/vnd.obn": { - source: "iana" - }, - "application/vnd.ocf+cbor": { - source: "iana" - }, - "application/vnd.oci.image.manifest.v1+json": { - source: "iana", - compressible: true - }, - "application/vnd.oftn.l10n+json": { - source: "iana", - compressible: true - }, - "application/vnd.oipf.contentaccessdownload+xml": { - source: "iana", - compressible: true - }, - "application/vnd.oipf.contentaccessstreaming+xml": { - source: "iana", - compressible: true - }, - "application/vnd.oipf.cspg-hexbinary": { - source: "iana" - }, - "application/vnd.oipf.dae.svg+xml": { - source: "iana", - compressible: true - }, - "application/vnd.oipf.dae.xhtml+xml": { - source: "iana", - compressible: true - }, - "application/vnd.oipf.mippvcontrolmessage+xml": { - source: "iana", - compressible: true - }, - "application/vnd.oipf.pae.gem": { - source: "iana" - }, - "application/vnd.oipf.spdiscovery+xml": { - source: "iana", - compressible: true - }, - "application/vnd.oipf.spdlist+xml": { - source: "iana", - compressible: true - }, - "application/vnd.oipf.ueprofile+xml": { - source: "iana", - compressible: true - }, - "application/vnd.oipf.userprofile+xml": { - source: "iana", - compressible: true - }, - "application/vnd.olpc-sugar": { - source: "iana", - extensions: ["xo"] - }, - "application/vnd.oma-scws-config": { - source: "iana" - }, - "application/vnd.oma-scws-http-request": { - source: "iana" - }, - "application/vnd.oma-scws-http-response": { - source: "iana" - }, - "application/vnd.oma.bcast.associated-procedure-parameter+xml": { - source: "iana", - compressible: true - }, - "application/vnd.oma.bcast.drm-trigger+xml": { - source: "iana", - compressible: true - }, - "application/vnd.oma.bcast.imd+xml": { - source: "iana", - compressible: true - }, - "application/vnd.oma.bcast.ltkm": { - source: "iana" - }, - "application/vnd.oma.bcast.notification+xml": { - source: "iana", - compressible: true - }, - "application/vnd.oma.bcast.provisioningtrigger": { - source: "iana" - }, - "application/vnd.oma.bcast.sgboot": { - source: "iana" - }, - "application/vnd.oma.bcast.sgdd+xml": { - source: "iana", - compressible: true - }, - "application/vnd.oma.bcast.sgdu": { - source: "iana" - }, - "application/vnd.oma.bcast.simple-symbol-container": { - source: "iana" - }, - "application/vnd.oma.bcast.smartcard-trigger+xml": { - source: "iana", - compressible: true - }, - "application/vnd.oma.bcast.sprov+xml": { - source: "iana", - compressible: true - }, - "application/vnd.oma.bcast.stkm": { - source: "iana" - }, - "application/vnd.oma.cab-address-book+xml": { - source: "iana", - compressible: true - }, - "application/vnd.oma.cab-feature-handler+xml": { - source: "iana", - compressible: true - }, - "application/vnd.oma.cab-pcc+xml": { - source: "iana", - compressible: true - }, - "application/vnd.oma.cab-subs-invite+xml": { - source: "iana", - compressible: true - }, - "application/vnd.oma.cab-user-prefs+xml": { - source: "iana", - compressible: true - }, - "application/vnd.oma.dcd": { - source: "iana" - }, - "application/vnd.oma.dcdc": { - source: "iana" - }, - "application/vnd.oma.dd2+xml": { - source: "iana", - compressible: true, - extensions: ["dd2"] - }, - "application/vnd.oma.drm.risd+xml": { - source: "iana", - compressible: true - }, - "application/vnd.oma.group-usage-list+xml": { - source: "iana", - compressible: true - }, - "application/vnd.oma.lwm2m+cbor": { - source: "iana" - }, - "application/vnd.oma.lwm2m+json": { - source: "iana", - compressible: true - }, - "application/vnd.oma.lwm2m+tlv": { - source: "iana" - }, - "application/vnd.oma.pal+xml": { - source: "iana", - compressible: true - }, - "application/vnd.oma.poc.detailed-progress-report+xml": { - source: "iana", - compressible: true - }, - "application/vnd.oma.poc.final-report+xml": { - source: "iana", - compressible: true - }, - "application/vnd.oma.poc.groups+xml": { - source: "iana", - compressible: true - }, - "application/vnd.oma.poc.invocation-descriptor+xml": { - source: "iana", - compressible: true - }, - "application/vnd.oma.poc.optimized-progress-report+xml": { - source: "iana", - compressible: true - }, - "application/vnd.oma.push": { - source: "iana" - }, - "application/vnd.oma.scidm.messages+xml": { - source: "iana", - compressible: true - }, - "application/vnd.oma.xcap-directory+xml": { - source: "iana", - compressible: true - }, - "application/vnd.omads-email+xml": { - source: "iana", - charset: "UTF-8", - compressible: true - }, - "application/vnd.omads-file+xml": { - source: "iana", - charset: "UTF-8", - compressible: true - }, - "application/vnd.omads-folder+xml": { - source: "iana", - charset: "UTF-8", - compressible: true - }, - "application/vnd.omaloc-supl-init": { - source: "iana" - }, - "application/vnd.onepager": { - source: "iana" - }, - "application/vnd.onepagertamp": { - source: "iana" - }, - "application/vnd.onepagertamx": { - source: "iana" - }, - "application/vnd.onepagertat": { - source: "iana" - }, - "application/vnd.onepagertatp": { - source: "iana" - }, - "application/vnd.onepagertatx": { - source: "iana" - }, - "application/vnd.openblox.game+xml": { - source: "iana", - compressible: true, - extensions: ["obgx"] - }, - "application/vnd.openblox.game-binary": { - source: "iana" - }, - "application/vnd.openeye.oeb": { - source: "iana" - }, - "application/vnd.openofficeorg.extension": { - source: "apache", - extensions: ["oxt"] - }, - "application/vnd.openstreetmap.data+xml": { - source: "iana", - compressible: true, - extensions: ["osm"] - }, - "application/vnd.opentimestamps.ots": { - source: "iana" - }, - "application/vnd.openxmlformats-officedocument.custom-properties+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.customxmlproperties+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.drawing+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.drawingml.chart+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.extended-properties+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.presentationml.comments+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.presentationml.presentation": { - source: "iana", - compressible: false, - extensions: ["pptx"] - }, - "application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.presentationml.presprops+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.presentationml.slide": { - source: "iana", - extensions: ["sldx"] - }, - "application/vnd.openxmlformats-officedocument.presentationml.slide+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.presentationml.slideshow": { - source: "iana", - extensions: ["ppsx"] - }, - "application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.presentationml.tags+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.presentationml.template": { - source: "iana", - extensions: ["potx"] - }, - "application/vnd.openxmlformats-officedocument.presentationml.template.main+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": { - source: "iana", - compressible: false, - extensions: ["xlsx"] - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.template": { - source: "iana", - extensions: ["xltx"] - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.theme+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.themeoverride+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.vmldrawing": { - source: "iana" - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.document": { - source: "iana", - compressible: false, - extensions: ["docx"] - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.template": { - source: "iana", - extensions: ["dotx"] - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-package.core-properties+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml": { - source: "iana", - compressible: true - }, - "application/vnd.openxmlformats-package.relationships+xml": { - source: "iana", - compressible: true - }, - "application/vnd.oracle.resource+json": { - source: "iana", - compressible: true - }, - "application/vnd.orange.indata": { - source: "iana" - }, - "application/vnd.osa.netdeploy": { - source: "iana" - }, - "application/vnd.osgeo.mapguide.package": { - source: "iana", - extensions: ["mgp"] - }, - "application/vnd.osgi.bundle": { - source: "iana" - }, - "application/vnd.osgi.dp": { - source: "iana", - extensions: ["dp"] - }, - "application/vnd.osgi.subsystem": { - source: "iana", - extensions: ["esa"] - }, - "application/vnd.otps.ct-kip+xml": { - source: "iana", - compressible: true - }, - "application/vnd.oxli.countgraph": { - source: "iana" - }, - "application/vnd.pagerduty+json": { - source: "iana", - compressible: true - }, - "application/vnd.palm": { - source: "iana", - extensions: ["pdb", "pqa", "oprc"] - }, - "application/vnd.panoply": { - source: "iana" - }, - "application/vnd.paos.xml": { - source: "iana" - }, - "application/vnd.patentdive": { - source: "iana" - }, - "application/vnd.patientecommsdoc": { - source: "iana" - }, - "application/vnd.pawaafile": { - source: "iana", - extensions: ["paw"] - }, - "application/vnd.pcos": { - source: "iana" - }, - "application/vnd.pg.format": { - source: "iana", - extensions: ["str"] - }, - "application/vnd.pg.osasli": { - source: "iana", - extensions: ["ei6"] - }, - "application/vnd.piaccess.application-licence": { - source: "iana" - }, - "application/vnd.picsel": { - source: "iana", - extensions: ["efif"] - }, - "application/vnd.pmi.widget": { - source: "iana", - extensions: ["wg"] - }, - "application/vnd.poc.group-advertisement+xml": { - source: "iana", - compressible: true - }, - "application/vnd.pocketlearn": { - source: "iana", - extensions: ["plf"] - }, - "application/vnd.powerbuilder6": { - source: "iana", - extensions: ["pbd"] - }, - "application/vnd.powerbuilder6-s": { - source: "iana" - }, - "application/vnd.powerbuilder7": { - source: "iana" - }, - "application/vnd.powerbuilder7-s": { - source: "iana" - }, - "application/vnd.powerbuilder75": { - source: "iana" - }, - "application/vnd.powerbuilder75-s": { - source: "iana" - }, - "application/vnd.preminet": { - source: "iana" - }, - "application/vnd.previewsystems.box": { - source: "iana", - extensions: ["box"] - }, - "application/vnd.proteus.magazine": { - source: "iana", - extensions: ["mgz"] - }, - "application/vnd.psfs": { - source: "iana" - }, - "application/vnd.publishare-delta-tree": { - source: "iana", - extensions: ["qps"] - }, - "application/vnd.pvi.ptid1": { - source: "iana", - extensions: ["ptid"] - }, - "application/vnd.pwg-multiplexed": { - source: "iana" - }, - "application/vnd.pwg-xhtml-print+xml": { - source: "iana", - compressible: true - }, - "application/vnd.qualcomm.brew-app-res": { - source: "iana" - }, - "application/vnd.quarantainenet": { - source: "iana" - }, - "application/vnd.quark.quarkxpress": { - source: "iana", - extensions: ["qxd", "qxt", "qwd", "qwt", "qxl", "qxb"] - }, - "application/vnd.quobject-quoxdocument": { - source: "iana" - }, - "application/vnd.radisys.moml+xml": { - source: "iana", - compressible: true - }, - "application/vnd.radisys.msml+xml": { - source: "iana", - compressible: true - }, - "application/vnd.radisys.msml-audit+xml": { - source: "iana", - compressible: true - }, - "application/vnd.radisys.msml-audit-conf+xml": { - source: "iana", - compressible: true - }, - "application/vnd.radisys.msml-audit-conn+xml": { - source: "iana", - compressible: true - }, - "application/vnd.radisys.msml-audit-dialog+xml": { - source: "iana", - compressible: true - }, - "application/vnd.radisys.msml-audit-stream+xml": { - source: "iana", - compressible: true - }, - "application/vnd.radisys.msml-conf+xml": { - source: "iana", - compressible: true - }, - "application/vnd.radisys.msml-dialog+xml": { - source: "iana", - compressible: true - }, - "application/vnd.radisys.msml-dialog-base+xml": { - source: "iana", - compressible: true - }, - "application/vnd.radisys.msml-dialog-fax-detect+xml": { - source: "iana", - compressible: true - }, - "application/vnd.radisys.msml-dialog-fax-sendrecv+xml": { - source: "iana", - compressible: true - }, - "application/vnd.radisys.msml-dialog-group+xml": { - source: "iana", - compressible: true - }, - "application/vnd.radisys.msml-dialog-speech+xml": { - source: "iana", - compressible: true - }, - "application/vnd.radisys.msml-dialog-transform+xml": { - source: "iana", - compressible: true - }, - "application/vnd.rainstor.data": { - source: "iana" - }, - "application/vnd.rapid": { - source: "iana" - }, - "application/vnd.rar": { - source: "iana", - extensions: ["rar"] - }, - "application/vnd.realvnc.bed": { - source: "iana", - extensions: ["bed"] - }, - "application/vnd.recordare.musicxml": { - source: "iana", - extensions: ["mxl"] - }, - "application/vnd.recordare.musicxml+xml": { - source: "iana", - compressible: true, - extensions: ["musicxml"] - }, - "application/vnd.renlearn.rlprint": { - source: "iana" - }, - "application/vnd.resilient.logic": { - source: "iana" - }, - "application/vnd.restful+json": { - source: "iana", - compressible: true - }, - "application/vnd.rig.cryptonote": { - source: "iana", - extensions: ["cryptonote"] - }, - "application/vnd.rim.cod": { - source: "apache", - extensions: ["cod"] - }, - "application/vnd.rn-realmedia": { - source: "apache", - extensions: ["rm"] - }, - "application/vnd.rn-realmedia-vbr": { - source: "apache", - extensions: ["rmvb"] - }, - "application/vnd.route66.link66+xml": { - source: "iana", - compressible: true, - extensions: ["link66"] - }, - "application/vnd.rs-274x": { - source: "iana" - }, - "application/vnd.ruckus.download": { - source: "iana" - }, - "application/vnd.s3sms": { - source: "iana" - }, - "application/vnd.sailingtracker.track": { - source: "iana", - extensions: ["st"] - }, - "application/vnd.sar": { - source: "iana" - }, - "application/vnd.sbm.cid": { - source: "iana" - }, - "application/vnd.sbm.mid2": { - source: "iana" - }, - "application/vnd.scribus": { - source: "iana" - }, - "application/vnd.sealed.3df": { - source: "iana" - }, - "application/vnd.sealed.csf": { - source: "iana" - }, - "application/vnd.sealed.doc": { - source: "iana" - }, - "application/vnd.sealed.eml": { - source: "iana" - }, - "application/vnd.sealed.mht": { - source: "iana" - }, - "application/vnd.sealed.net": { - source: "iana" - }, - "application/vnd.sealed.ppt": { - source: "iana" - }, - "application/vnd.sealed.tiff": { - source: "iana" - }, - "application/vnd.sealed.xls": { - source: "iana" - }, - "application/vnd.sealedmedia.softseal.html": { - source: "iana" - }, - "application/vnd.sealedmedia.softseal.pdf": { - source: "iana" - }, - "application/vnd.seemail": { - source: "iana", - extensions: ["see"] - }, - "application/vnd.seis+json": { - source: "iana", - compressible: true - }, - "application/vnd.sema": { - source: "iana", - extensions: ["sema"] - }, - "application/vnd.semd": { - source: "iana", - extensions: ["semd"] - }, - "application/vnd.semf": { - source: "iana", - extensions: ["semf"] - }, - "application/vnd.shade-save-file": { - source: "iana" - }, - "application/vnd.shana.informed.formdata": { - source: "iana", - extensions: ["ifm"] - }, - "application/vnd.shana.informed.formtemplate": { - source: "iana", - extensions: ["itp"] - }, - "application/vnd.shana.informed.interchange": { - source: "iana", - extensions: ["iif"] - }, - "application/vnd.shana.informed.package": { - source: "iana", - extensions: ["ipk"] - }, - "application/vnd.shootproof+json": { - source: "iana", - compressible: true - }, - "application/vnd.shopkick+json": { - source: "iana", - compressible: true - }, - "application/vnd.shp": { - source: "iana" - }, - "application/vnd.shx": { - source: "iana" - }, - "application/vnd.sigrok.session": { - source: "iana" - }, - "application/vnd.simtech-mindmapper": { - source: "iana", - extensions: ["twd", "twds"] - }, - "application/vnd.siren+json": { - source: "iana", - compressible: true - }, - "application/vnd.smaf": { - source: "iana", - extensions: ["mmf"] - }, - "application/vnd.smart.notebook": { - source: "iana" - }, - "application/vnd.smart.teacher": { - source: "iana", - extensions: ["teacher"] - }, - "application/vnd.snesdev-page-table": { - source: "iana" - }, - "application/vnd.software602.filler.form+xml": { - source: "iana", - compressible: true, - extensions: ["fo"] - }, - "application/vnd.software602.filler.form-xml-zip": { - source: "iana" - }, - "application/vnd.solent.sdkm+xml": { - source: "iana", - compressible: true, - extensions: ["sdkm", "sdkd"] - }, - "application/vnd.spotfire.dxp": { - source: "iana", - extensions: ["dxp"] - }, - "application/vnd.spotfire.sfs": { - source: "iana", - extensions: ["sfs"] - }, - "application/vnd.sqlite3": { - source: "iana" - }, - "application/vnd.sss-cod": { - source: "iana" - }, - "application/vnd.sss-dtf": { - source: "iana" - }, - "application/vnd.sss-ntf": { - source: "iana" - }, - "application/vnd.stardivision.calc": { - source: "apache", - extensions: ["sdc"] - }, - "application/vnd.stardivision.draw": { - source: "apache", - extensions: ["sda"] - }, - "application/vnd.stardivision.impress": { - source: "apache", - extensions: ["sdd"] - }, - "application/vnd.stardivision.math": { - source: "apache", - extensions: ["smf"] - }, - "application/vnd.stardivision.writer": { - source: "apache", - extensions: ["sdw", "vor"] - }, - "application/vnd.stardivision.writer-global": { - source: "apache", - extensions: ["sgl"] - }, - "application/vnd.stepmania.package": { - source: "iana", - extensions: ["smzip"] - }, - "application/vnd.stepmania.stepchart": { - source: "iana", - extensions: ["sm"] - }, - "application/vnd.street-stream": { - source: "iana" - }, - "application/vnd.sun.wadl+xml": { - source: "iana", - compressible: true, - extensions: ["wadl"] - }, - "application/vnd.sun.xml.calc": { - source: "apache", - extensions: ["sxc"] - }, - "application/vnd.sun.xml.calc.template": { - source: "apache", - extensions: ["stc"] - }, - "application/vnd.sun.xml.draw": { - source: "apache", - extensions: ["sxd"] - }, - "application/vnd.sun.xml.draw.template": { - source: "apache", - extensions: ["std"] - }, - "application/vnd.sun.xml.impress": { - source: "apache", - extensions: ["sxi"] - }, - "application/vnd.sun.xml.impress.template": { - source: "apache", - extensions: ["sti"] - }, - "application/vnd.sun.xml.math": { - source: "apache", - extensions: ["sxm"] - }, - "application/vnd.sun.xml.writer": { - source: "apache", - extensions: ["sxw"] - }, - "application/vnd.sun.xml.writer.global": { - source: "apache", - extensions: ["sxg"] - }, - "application/vnd.sun.xml.writer.template": { - source: "apache", - extensions: ["stw"] - }, - "application/vnd.sus-calendar": { - source: "iana", - extensions: ["sus", "susp"] - }, - "application/vnd.svd": { - source: "iana", - extensions: ["svd"] - }, - "application/vnd.swiftview-ics": { - source: "iana" - }, - "application/vnd.sycle+xml": { - source: "iana", - compressible: true - }, - "application/vnd.syft+json": { - source: "iana", - compressible: true - }, - "application/vnd.symbian.install": { - source: "apache", - extensions: ["sis", "sisx"] - }, - "application/vnd.syncml+xml": { - source: "iana", - charset: "UTF-8", - compressible: true, - extensions: ["xsm"] - }, - "application/vnd.syncml.dm+wbxml": { - source: "iana", - charset: "UTF-8", - extensions: ["bdm"] - }, - "application/vnd.syncml.dm+xml": { - source: "iana", - charset: "UTF-8", - compressible: true, - extensions: ["xdm"] - }, - "application/vnd.syncml.dm.notification": { - source: "iana" - }, - "application/vnd.syncml.dmddf+wbxml": { - source: "iana" - }, - "application/vnd.syncml.dmddf+xml": { - source: "iana", - charset: "UTF-8", - compressible: true, - extensions: ["ddf"] - }, - "application/vnd.syncml.dmtnds+wbxml": { - source: "iana" - }, - "application/vnd.syncml.dmtnds+xml": { - source: "iana", - charset: "UTF-8", - compressible: true - }, - "application/vnd.syncml.ds.notification": { - source: "iana" - }, - "application/vnd.tableschema+json": { - source: "iana", - compressible: true - }, - "application/vnd.tao.intent-module-archive": { - source: "iana", - extensions: ["tao"] - }, - "application/vnd.tcpdump.pcap": { - source: "iana", - extensions: ["pcap", "cap", "dmp"] - }, - "application/vnd.think-cell.ppttc+json": { - source: "iana", - compressible: true - }, - "application/vnd.tmd.mediaflex.api+xml": { - source: "iana", - compressible: true - }, - "application/vnd.tml": { - source: "iana" - }, - "application/vnd.tmobile-livetv": { - source: "iana", - extensions: ["tmo"] - }, - "application/vnd.tri.onesource": { - source: "iana" - }, - "application/vnd.trid.tpt": { - source: "iana", - extensions: ["tpt"] - }, - "application/vnd.triscape.mxs": { - source: "iana", - extensions: ["mxs"] - }, - "application/vnd.trueapp": { - source: "iana", - extensions: ["tra"] - }, - "application/vnd.truedoc": { - source: "iana" - }, - "application/vnd.ubisoft.webplayer": { - source: "iana" - }, - "application/vnd.ufdl": { - source: "iana", - extensions: ["ufd", "ufdl"] - }, - "application/vnd.uiq.theme": { - source: "iana", - extensions: ["utz"] - }, - "application/vnd.umajin": { - source: "iana", - extensions: ["umj"] - }, - "application/vnd.unity": { - source: "iana", - extensions: ["unityweb"] - }, - "application/vnd.uoml+xml": { - source: "iana", - compressible: true, - extensions: ["uoml"] - }, - "application/vnd.uplanet.alert": { - source: "iana" - }, - "application/vnd.uplanet.alert-wbxml": { - source: "iana" - }, - "application/vnd.uplanet.bearer-choice": { - source: "iana" - }, - "application/vnd.uplanet.bearer-choice-wbxml": { - source: "iana" - }, - "application/vnd.uplanet.cacheop": { - source: "iana" - }, - "application/vnd.uplanet.cacheop-wbxml": { - source: "iana" - }, - "application/vnd.uplanet.channel": { - source: "iana" - }, - "application/vnd.uplanet.channel-wbxml": { - source: "iana" - }, - "application/vnd.uplanet.list": { - source: "iana" - }, - "application/vnd.uplanet.list-wbxml": { - source: "iana" - }, - "application/vnd.uplanet.listcmd": { - source: "iana" - }, - "application/vnd.uplanet.listcmd-wbxml": { - source: "iana" - }, - "application/vnd.uplanet.signal": { - source: "iana" - }, - "application/vnd.uri-map": { - source: "iana" - }, - "application/vnd.valve.source.material": { - source: "iana" - }, - "application/vnd.vcx": { - source: "iana", - extensions: ["vcx"] - }, - "application/vnd.vd-study": { - source: "iana" - }, - "application/vnd.vectorworks": { - source: "iana" - }, - "application/vnd.vel+json": { - source: "iana", - compressible: true - }, - "application/vnd.verimatrix.vcas": { - source: "iana" - }, - "application/vnd.veritone.aion+json": { - source: "iana", - compressible: true - }, - "application/vnd.veryant.thin": { - source: "iana" - }, - "application/vnd.ves.encrypted": { - source: "iana" - }, - "application/vnd.vidsoft.vidconference": { - source: "iana" - }, - "application/vnd.visio": { - source: "iana", - extensions: ["vsd", "vst", "vss", "vsw"] - }, - "application/vnd.visionary": { - source: "iana", - extensions: ["vis"] - }, - "application/vnd.vividence.scriptfile": { - source: "iana" - }, - "application/vnd.vsf": { - source: "iana", - extensions: ["vsf"] - }, - "application/vnd.wap.sic": { - source: "iana" - }, - "application/vnd.wap.slc": { - source: "iana" - }, - "application/vnd.wap.wbxml": { - source: "iana", - charset: "UTF-8", - extensions: ["wbxml"] - }, - "application/vnd.wap.wmlc": { - source: "iana", - extensions: ["wmlc"] - }, - "application/vnd.wap.wmlscriptc": { - source: "iana", - extensions: ["wmlsc"] - }, - "application/vnd.webturbo": { - source: "iana", - extensions: ["wtb"] - }, - "application/vnd.wfa.dpp": { - source: "iana" - }, - "application/vnd.wfa.p2p": { - source: "iana" - }, - "application/vnd.wfa.wsc": { - source: "iana" - }, - "application/vnd.windows.devicepairing": { - source: "iana" - }, - "application/vnd.wmc": { - source: "iana" - }, - "application/vnd.wmf.bootstrap": { - source: "iana" - }, - "application/vnd.wolfram.mathematica": { - source: "iana" - }, - "application/vnd.wolfram.mathematica.package": { - source: "iana" - }, - "application/vnd.wolfram.player": { - source: "iana", - extensions: ["nbp"] - }, - "application/vnd.wordperfect": { - source: "iana", - extensions: ["wpd"] - }, - "application/vnd.wqd": { - source: "iana", - extensions: ["wqd"] - }, - "application/vnd.wrq-hp3000-labelled": { - source: "iana" - }, - "application/vnd.wt.stf": { - source: "iana", - extensions: ["stf"] - }, - "application/vnd.wv.csp+wbxml": { - source: "iana" - }, - "application/vnd.wv.csp+xml": { - source: "iana", - compressible: true - }, - "application/vnd.wv.ssp+xml": { - source: "iana", - compressible: true - }, - "application/vnd.xacml+json": { - source: "iana", - compressible: true - }, - "application/vnd.xara": { - source: "iana", - extensions: ["xar"] - }, - "application/vnd.xfdl": { - source: "iana", - extensions: ["xfdl"] - }, - "application/vnd.xfdl.webform": { - source: "iana" - }, - "application/vnd.xmi+xml": { - source: "iana", - compressible: true - }, - "application/vnd.xmpie.cpkg": { - source: "iana" - }, - "application/vnd.xmpie.dpkg": { - source: "iana" - }, - "application/vnd.xmpie.plan": { - source: "iana" - }, - "application/vnd.xmpie.ppkg": { - source: "iana" - }, - "application/vnd.xmpie.xlim": { - source: "iana" - }, - "application/vnd.yamaha.hv-dic": { - source: "iana", - extensions: ["hvd"] - }, - "application/vnd.yamaha.hv-script": { - source: "iana", - extensions: ["hvs"] - }, - "application/vnd.yamaha.hv-voice": { - source: "iana", - extensions: ["hvp"] - }, - "application/vnd.yamaha.openscoreformat": { - source: "iana", - extensions: ["osf"] - }, - "application/vnd.yamaha.openscoreformat.osfpvg+xml": { - source: "iana", - compressible: true, - extensions: ["osfpvg"] - }, - "application/vnd.yamaha.remote-setup": { - source: "iana" - }, - "application/vnd.yamaha.smaf-audio": { - source: "iana", - extensions: ["saf"] - }, - "application/vnd.yamaha.smaf-phrase": { - source: "iana", - extensions: ["spf"] - }, - "application/vnd.yamaha.through-ngn": { - source: "iana" - }, - "application/vnd.yamaha.tunnel-udpencap": { - source: "iana" - }, - "application/vnd.yaoweme": { - source: "iana" - }, - "application/vnd.yellowriver-custom-menu": { - source: "iana", - extensions: ["cmp"] - }, - "application/vnd.youtube.yt": { - source: "iana" - }, - "application/vnd.zul": { - source: "iana", - extensions: ["zir", "zirz"] - }, - "application/vnd.zzazz.deck+xml": { - source: "iana", - compressible: true, - extensions: ["zaz"] - }, - "application/voicexml+xml": { - source: "iana", - compressible: true, - extensions: ["vxml"] - }, - "application/voucher-cms+json": { - source: "iana", - compressible: true - }, - "application/vq-rtcpxr": { - source: "iana" - }, - "application/wasm": { - source: "iana", - compressible: true, - extensions: ["wasm"] - }, - "application/watcherinfo+xml": { - source: "iana", - compressible: true, - extensions: ["wif"] - }, - "application/webpush-options+json": { - source: "iana", - compressible: true - }, - "application/whoispp-query": { - source: "iana" - }, - "application/whoispp-response": { - source: "iana" - }, - "application/widget": { - source: "iana", - extensions: ["wgt"] - }, - "application/winhlp": { - source: "apache", - extensions: ["hlp"] - }, - "application/wita": { - source: "iana" - }, - "application/wordperfect5.1": { - source: "iana" - }, - "application/wsdl+xml": { - source: "iana", - compressible: true, - extensions: ["wsdl"] - }, - "application/wspolicy+xml": { - source: "iana", - compressible: true, - extensions: ["wspolicy"] - }, - "application/x-7z-compressed": { - source: "apache", - compressible: false, - extensions: ["7z"] - }, - "application/x-abiword": { - source: "apache", - extensions: ["abw"] - }, - "application/x-ace-compressed": { - source: "apache", - extensions: ["ace"] - }, - "application/x-amf": { - source: "apache" - }, - "application/x-apple-diskimage": { - source: "apache", - extensions: ["dmg"] - }, - "application/x-arj": { - compressible: false, - extensions: ["arj"] - }, - "application/x-authorware-bin": { - source: "apache", - extensions: ["aab", "x32", "u32", "vox"] - }, - "application/x-authorware-map": { - source: "apache", - extensions: ["aam"] - }, - "application/x-authorware-seg": { - source: "apache", - extensions: ["aas"] - }, - "application/x-bcpio": { - source: "apache", - extensions: ["bcpio"] - }, - "application/x-bdoc": { - compressible: false, - extensions: ["bdoc"] - }, - "application/x-bittorrent": { - source: "apache", - extensions: ["torrent"] - }, - "application/x-blorb": { - source: "apache", - extensions: ["blb", "blorb"] - }, - "application/x-bzip": { - source: "apache", - compressible: false, - extensions: ["bz"] - }, - "application/x-bzip2": { - source: "apache", - compressible: false, - extensions: ["bz2", "boz"] - }, - "application/x-cbr": { - source: "apache", - extensions: ["cbr", "cba", "cbt", "cbz", "cb7"] - }, - "application/x-cdlink": { - source: "apache", - extensions: ["vcd"] - }, - "application/x-cfs-compressed": { - source: "apache", - extensions: ["cfs"] - }, - "application/x-chat": { - source: "apache", - extensions: ["chat"] - }, - "application/x-chess-pgn": { - source: "apache", - extensions: ["pgn"] - }, - "application/x-chrome-extension": { - extensions: ["crx"] - }, - "application/x-cocoa": { - source: "nginx", - extensions: ["cco"] - }, - "application/x-compress": { - source: "apache" - }, - "application/x-conference": { - source: "apache", - extensions: ["nsc"] - }, - "application/x-cpio": { - source: "apache", - extensions: ["cpio"] - }, - "application/x-csh": { - source: "apache", - extensions: ["csh"] - }, - "application/x-deb": { - compressible: false - }, - "application/x-debian-package": { - source: "apache", - extensions: ["deb", "udeb"] - }, - "application/x-dgc-compressed": { - source: "apache", - extensions: ["dgc"] - }, - "application/x-director": { - source: "apache", - extensions: ["dir", "dcr", "dxr", "cst", "cct", "cxt", "w3d", "fgd", "swa"] - }, - "application/x-doom": { - source: "apache", - extensions: ["wad"] - }, - "application/x-dtbncx+xml": { - source: "apache", - compressible: true, - extensions: ["ncx"] - }, - "application/x-dtbook+xml": { - source: "apache", - compressible: true, - extensions: ["dtb"] - }, - "application/x-dtbresource+xml": { - source: "apache", - compressible: true, - extensions: ["res"] - }, - "application/x-dvi": { - source: "apache", - compressible: false, - extensions: ["dvi"] - }, - "application/x-envoy": { - source: "apache", - extensions: ["evy"] - }, - "application/x-eva": { - source: "apache", - extensions: ["eva"] - }, - "application/x-font-bdf": { - source: "apache", - extensions: ["bdf"] - }, - "application/x-font-dos": { - source: "apache" - }, - "application/x-font-framemaker": { - source: "apache" - }, - "application/x-font-ghostscript": { - source: "apache", - extensions: ["gsf"] - }, - "application/x-font-libgrx": { - source: "apache" - }, - "application/x-font-linux-psf": { - source: "apache", - extensions: ["psf"] - }, - "application/x-font-pcf": { - source: "apache", - extensions: ["pcf"] - }, - "application/x-font-snf": { - source: "apache", - extensions: ["snf"] - }, - "application/x-font-speedo": { - source: "apache" - }, - "application/x-font-sunos-news": { - source: "apache" - }, - "application/x-font-type1": { - source: "apache", - extensions: ["pfa", "pfb", "pfm", "afm"] - }, - "application/x-font-vfont": { - source: "apache" - }, - "application/x-freearc": { - source: "apache", - extensions: ["arc"] - }, - "application/x-futuresplash": { - source: "apache", - extensions: ["spl"] - }, - "application/x-gca-compressed": { - source: "apache", - extensions: ["gca"] - }, - "application/x-glulx": { - source: "apache", - extensions: ["ulx"] - }, - "application/x-gnumeric": { - source: "apache", - extensions: ["gnumeric"] - }, - "application/x-gramps-xml": { - source: "apache", - extensions: ["gramps"] - }, - "application/x-gtar": { - source: "apache", - extensions: ["gtar"] - }, - "application/x-gzip": { - source: "apache" - }, - "application/x-hdf": { - source: "apache", - extensions: ["hdf"] - }, - "application/x-httpd-php": { - compressible: true, - extensions: ["php"] - }, - "application/x-install-instructions": { - source: "apache", - extensions: ["install"] - }, - "application/x-iso9660-image": { - source: "apache", - extensions: ["iso"] - }, - "application/x-iwork-keynote-sffkey": { - extensions: ["key"] - }, - "application/x-iwork-numbers-sffnumbers": { - extensions: ["numbers"] - }, - "application/x-iwork-pages-sffpages": { - extensions: ["pages"] - }, - "application/x-java-archive-diff": { - source: "nginx", - extensions: ["jardiff"] - }, - "application/x-java-jnlp-file": { - source: "apache", - compressible: false, - extensions: ["jnlp"] - }, - "application/x-javascript": { - compressible: true - }, - "application/x-keepass2": { - extensions: ["kdbx"] - }, - "application/x-latex": { - source: "apache", - compressible: false, - extensions: ["latex"] - }, - "application/x-lua-bytecode": { - extensions: ["luac"] - }, - "application/x-lzh-compressed": { - source: "apache", - extensions: ["lzh", "lha"] - }, - "application/x-makeself": { - source: "nginx", - extensions: ["run"] - }, - "application/x-mie": { - source: "apache", - extensions: ["mie"] - }, - "application/x-mobipocket-ebook": { - source: "apache", - extensions: ["prc", "mobi"] - }, - "application/x-mpegurl": { - compressible: false - }, - "application/x-ms-application": { - source: "apache", - extensions: ["application"] - }, - "application/x-ms-shortcut": { - source: "apache", - extensions: ["lnk"] - }, - "application/x-ms-wmd": { - source: "apache", - extensions: ["wmd"] - }, - "application/x-ms-wmz": { - source: "apache", - extensions: ["wmz"] - }, - "application/x-ms-xbap": { - source: "apache", - extensions: ["xbap"] - }, - "application/x-msaccess": { - source: "apache", - extensions: ["mdb"] - }, - "application/x-msbinder": { - source: "apache", - extensions: ["obd"] - }, - "application/x-mscardfile": { - source: "apache", - extensions: ["crd"] - }, - "application/x-msclip": { - source: "apache", - extensions: ["clp"] - }, - "application/x-msdos-program": { - extensions: ["exe"] - }, - "application/x-msdownload": { - source: "apache", - extensions: ["exe", "dll", "com", "bat", "msi"] - }, - "application/x-msmediaview": { - source: "apache", - extensions: ["mvb", "m13", "m14"] - }, - "application/x-msmetafile": { - source: "apache", - extensions: ["wmf", "wmz", "emf", "emz"] - }, - "application/x-msmoney": { - source: "apache", - extensions: ["mny"] - }, - "application/x-mspublisher": { - source: "apache", - extensions: ["pub"] - }, - "application/x-msschedule": { - source: "apache", - extensions: ["scd"] - }, - "application/x-msterminal": { - source: "apache", - extensions: ["trm"] - }, - "application/x-mswrite": { - source: "apache", - extensions: ["wri"] - }, - "application/x-netcdf": { - source: "apache", - extensions: ["nc", "cdf"] - }, - "application/x-ns-proxy-autoconfig": { - compressible: true, - extensions: ["pac"] - }, - "application/x-nzb": { - source: "apache", - extensions: ["nzb"] - }, - "application/x-perl": { - source: "nginx", - extensions: ["pl", "pm"] - }, - "application/x-pilot": { - source: "nginx", - extensions: ["prc", "pdb"] - }, - "application/x-pkcs12": { - source: "apache", - compressible: false, - extensions: ["p12", "pfx"] - }, - "application/x-pkcs7-certificates": { - source: "apache", - extensions: ["p7b", "spc"] - }, - "application/x-pkcs7-certreqresp": { - source: "apache", - extensions: ["p7r"] - }, - "application/x-pki-message": { - source: "iana" - }, - "application/x-rar-compressed": { - source: "apache", - compressible: false, - extensions: ["rar"] - }, - "application/x-redhat-package-manager": { - source: "nginx", - extensions: ["rpm"] - }, - "application/x-research-info-systems": { - source: "apache", - extensions: ["ris"] - }, - "application/x-sea": { - source: "nginx", - extensions: ["sea"] - }, - "application/x-sh": { - source: "apache", - compressible: true, - extensions: ["sh"] - }, - "application/x-shar": { - source: "apache", - extensions: ["shar"] - }, - "application/x-shockwave-flash": { - source: "apache", - compressible: false, - extensions: ["swf"] - }, - "application/x-silverlight-app": { - source: "apache", - extensions: ["xap"] - }, - "application/x-sql": { - source: "apache", - extensions: ["sql"] - }, - "application/x-stuffit": { - source: "apache", - compressible: false, - extensions: ["sit"] - }, - "application/x-stuffitx": { - source: "apache", - extensions: ["sitx"] - }, - "application/x-subrip": { - source: "apache", - extensions: ["srt"] - }, - "application/x-sv4cpio": { - source: "apache", - extensions: ["sv4cpio"] - }, - "application/x-sv4crc": { - source: "apache", - extensions: ["sv4crc"] - }, - "application/x-t3vm-image": { - source: "apache", - extensions: ["t3"] - }, - "application/x-tads": { - source: "apache", - extensions: ["gam"] - }, - "application/x-tar": { - source: "apache", - compressible: true, - extensions: ["tar"] - }, - "application/x-tcl": { - source: "apache", - extensions: ["tcl", "tk"] - }, - "application/x-tex": { - source: "apache", - extensions: ["tex"] - }, - "application/x-tex-tfm": { - source: "apache", - extensions: ["tfm"] - }, - "application/x-texinfo": { - source: "apache", - extensions: ["texinfo", "texi"] - }, - "application/x-tgif": { - source: "apache", - extensions: ["obj"] - }, - "application/x-ustar": { - source: "apache", - extensions: ["ustar"] - }, - "application/x-virtualbox-hdd": { - compressible: true, - extensions: ["hdd"] - }, - "application/x-virtualbox-ova": { - compressible: true, - extensions: ["ova"] - }, - "application/x-virtualbox-ovf": { - compressible: true, - extensions: ["ovf"] - }, - "application/x-virtualbox-vbox": { - compressible: true, - extensions: ["vbox"] - }, - "application/x-virtualbox-vbox-extpack": { - compressible: false, - extensions: ["vbox-extpack"] - }, - "application/x-virtualbox-vdi": { - compressible: true, - extensions: ["vdi"] - }, - "application/x-virtualbox-vhd": { - compressible: true, - extensions: ["vhd"] - }, - "application/x-virtualbox-vmdk": { - compressible: true, - extensions: ["vmdk"] - }, - "application/x-wais-source": { - source: "apache", - extensions: ["src"] - }, - "application/x-web-app-manifest+json": { - compressible: true, - extensions: ["webapp"] - }, - "application/x-www-form-urlencoded": { - source: "iana", - compressible: true - }, - "application/x-x509-ca-cert": { - source: "iana", - extensions: ["der", "crt", "pem"] - }, - "application/x-x509-ca-ra-cert": { - source: "iana" - }, - "application/x-x509-next-ca-cert": { - source: "iana" - }, - "application/x-xfig": { - source: "apache", - extensions: ["fig"] - }, - "application/x-xliff+xml": { - source: "apache", - compressible: true, - extensions: ["xlf"] - }, - "application/x-xpinstall": { - source: "apache", - compressible: false, - extensions: ["xpi"] - }, - "application/x-xz": { - source: "apache", - extensions: ["xz"] - }, - "application/x-zmachine": { - source: "apache", - extensions: ["z1", "z2", "z3", "z4", "z5", "z6", "z7", "z8"] - }, - "application/x400-bp": { - source: "iana" - }, - "application/xacml+xml": { - source: "iana", - compressible: true - }, - "application/xaml+xml": { - source: "apache", - compressible: true, - extensions: ["xaml"] - }, - "application/xcap-att+xml": { - source: "iana", - compressible: true, - extensions: ["xav"] - }, - "application/xcap-caps+xml": { - source: "iana", - compressible: true, - extensions: ["xca"] - }, - "application/xcap-diff+xml": { - source: "iana", - compressible: true, - extensions: ["xdf"] - }, - "application/xcap-el+xml": { - source: "iana", - compressible: true, - extensions: ["xel"] - }, - "application/xcap-error+xml": { - source: "iana", - compressible: true - }, - "application/xcap-ns+xml": { - source: "iana", - compressible: true, - extensions: ["xns"] - }, - "application/xcon-conference-info+xml": { - source: "iana", - compressible: true - }, - "application/xcon-conference-info-diff+xml": { - source: "iana", - compressible: true - }, - "application/xenc+xml": { - source: "iana", - compressible: true, - extensions: ["xenc"] - }, - "application/xhtml+xml": { - source: "iana", - compressible: true, - extensions: ["xhtml", "xht"] - }, - "application/xhtml-voice+xml": { - source: "apache", - compressible: true - }, - "application/xliff+xml": { - source: "iana", - compressible: true, - extensions: ["xlf"] - }, - "application/xml": { - source: "iana", - compressible: true, - extensions: ["xml", "xsl", "xsd", "rng"] - }, - "application/xml-dtd": { - source: "iana", - compressible: true, - extensions: ["dtd"] - }, - "application/xml-external-parsed-entity": { - source: "iana" - }, - "application/xml-patch+xml": { - source: "iana", - compressible: true - }, - "application/xmpp+xml": { - source: "iana", - compressible: true - }, - "application/xop+xml": { - source: "iana", - compressible: true, - extensions: ["xop"] - }, - "application/xproc+xml": { - source: "apache", - compressible: true, - extensions: ["xpl"] - }, - "application/xslt+xml": { - source: "iana", - compressible: true, - extensions: ["xsl", "xslt"] - }, - "application/xspf+xml": { - source: "apache", - compressible: true, - extensions: ["xspf"] - }, - "application/xv+xml": { - source: "iana", - compressible: true, - extensions: ["mxml", "xhvml", "xvml", "xvm"] - }, - "application/yang": { - source: "iana", - extensions: ["yang"] - }, - "application/yang-data+json": { - source: "iana", - compressible: true - }, - "application/yang-data+xml": { - source: "iana", - compressible: true - }, - "application/yang-patch+json": { - source: "iana", - compressible: true - }, - "application/yang-patch+xml": { - source: "iana", - compressible: true - }, - "application/yin+xml": { - source: "iana", - compressible: true, - extensions: ["yin"] - }, - "application/zip": { - source: "iana", - compressible: false, - extensions: ["zip"] - }, - "application/zlib": { - source: "iana" - }, - "application/zstd": { - source: "iana" - }, - "audio/1d-interleaved-parityfec": { - source: "iana" - }, - "audio/32kadpcm": { - source: "iana" - }, - "audio/3gpp": { - source: "iana", - compressible: false, - extensions: ["3gpp"] - }, - "audio/3gpp2": { - source: "iana" - }, - "audio/aac": { - source: "iana" - }, - "audio/ac3": { - source: "iana" - }, - "audio/adpcm": { - source: "apache", - extensions: ["adp"] - }, - "audio/amr": { - source: "iana", - extensions: ["amr"] - }, - "audio/amr-wb": { - source: "iana" - }, - "audio/amr-wb+": { - source: "iana" - }, - "audio/aptx": { - source: "iana" - }, - "audio/asc": { - source: "iana" - }, - "audio/atrac-advanced-lossless": { - source: "iana" - }, - "audio/atrac-x": { - source: "iana" - }, - "audio/atrac3": { - source: "iana" - }, - "audio/basic": { - source: "iana", - compressible: false, - extensions: ["au", "snd"] - }, - "audio/bv16": { - source: "iana" - }, - "audio/bv32": { - source: "iana" - }, - "audio/clearmode": { - source: "iana" - }, - "audio/cn": { - source: "iana" - }, - "audio/dat12": { - source: "iana" - }, - "audio/dls": { - source: "iana" - }, - "audio/dsr-es201108": { - source: "iana" - }, - "audio/dsr-es202050": { - source: "iana" - }, - "audio/dsr-es202211": { - source: "iana" - }, - "audio/dsr-es202212": { - source: "iana" - }, - "audio/dv": { - source: "iana" - }, - "audio/dvi4": { - source: "iana" - }, - "audio/eac3": { - source: "iana" - }, - "audio/encaprtp": { - source: "iana" - }, - "audio/evrc": { - source: "iana" - }, - "audio/evrc-qcp": { - source: "iana" - }, - "audio/evrc0": { - source: "iana" - }, - "audio/evrc1": { - source: "iana" - }, - "audio/evrcb": { - source: "iana" - }, - "audio/evrcb0": { - source: "iana" - }, - "audio/evrcb1": { - source: "iana" - }, - "audio/evrcnw": { - source: "iana" - }, - "audio/evrcnw0": { - source: "iana" - }, - "audio/evrcnw1": { - source: "iana" - }, - "audio/evrcwb": { - source: "iana" - }, - "audio/evrcwb0": { - source: "iana" - }, - "audio/evrcwb1": { - source: "iana" - }, - "audio/evs": { - source: "iana" - }, - "audio/flexfec": { - source: "iana" - }, - "audio/fwdred": { - source: "iana" - }, - "audio/g711-0": { - source: "iana" - }, - "audio/g719": { - source: "iana" - }, - "audio/g722": { - source: "iana" - }, - "audio/g7221": { - source: "iana" - }, - "audio/g723": { - source: "iana" - }, - "audio/g726-16": { - source: "iana" - }, - "audio/g726-24": { - source: "iana" - }, - "audio/g726-32": { - source: "iana" - }, - "audio/g726-40": { - source: "iana" - }, - "audio/g728": { - source: "iana" - }, - "audio/g729": { - source: "iana" - }, - "audio/g7291": { - source: "iana" - }, - "audio/g729d": { - source: "iana" - }, - "audio/g729e": { - source: "iana" - }, - "audio/gsm": { - source: "iana" - }, - "audio/gsm-efr": { - source: "iana" - }, - "audio/gsm-hr-08": { - source: "iana" - }, - "audio/ilbc": { - source: "iana" - }, - "audio/ip-mr_v2.5": { - source: "iana" - }, - "audio/isac": { - source: "apache" - }, - "audio/l16": { - source: "iana" - }, - "audio/l20": { - source: "iana" - }, - "audio/l24": { - source: "iana", - compressible: false - }, - "audio/l8": { - source: "iana" - }, - "audio/lpc": { - source: "iana" - }, - "audio/melp": { - source: "iana" - }, - "audio/melp1200": { - source: "iana" - }, - "audio/melp2400": { - source: "iana" - }, - "audio/melp600": { - source: "iana" - }, - "audio/mhas": { - source: "iana" - }, - "audio/midi": { - source: "apache", - extensions: ["mid", "midi", "kar", "rmi"] - }, - "audio/mobile-xmf": { - source: "iana", - extensions: ["mxmf"] - }, - "audio/mp3": { - compressible: false, - extensions: ["mp3"] - }, - "audio/mp4": { - source: "iana", - compressible: false, - extensions: ["m4a", "mp4a"] - }, - "audio/mp4a-latm": { - source: "iana" - }, - "audio/mpa": { - source: "iana" - }, - "audio/mpa-robust": { - source: "iana" - }, - "audio/mpeg": { - source: "iana", - compressible: false, - extensions: ["mpga", "mp2", "mp2a", "mp3", "m2a", "m3a"] - }, - "audio/mpeg4-generic": { - source: "iana" - }, - "audio/musepack": { - source: "apache" - }, - "audio/ogg": { - source: "iana", - compressible: false, - extensions: ["oga", "ogg", "spx", "opus"] - }, - "audio/opus": { - source: "iana" - }, - "audio/parityfec": { - source: "iana" - }, - "audio/pcma": { - source: "iana" - }, - "audio/pcma-wb": { - source: "iana" - }, - "audio/pcmu": { - source: "iana" - }, - "audio/pcmu-wb": { - source: "iana" - }, - "audio/prs.sid": { - source: "iana" - }, - "audio/qcelp": { - source: "iana" - }, - "audio/raptorfec": { - source: "iana" - }, - "audio/red": { - source: "iana" - }, - "audio/rtp-enc-aescm128": { - source: "iana" - }, - "audio/rtp-midi": { - source: "iana" - }, - "audio/rtploopback": { - source: "iana" - }, - "audio/rtx": { - source: "iana" - }, - "audio/s3m": { - source: "apache", - extensions: ["s3m"] - }, - "audio/scip": { - source: "iana" - }, - "audio/silk": { - source: "apache", - extensions: ["sil"] - }, - "audio/smv": { - source: "iana" - }, - "audio/smv-qcp": { - source: "iana" - }, - "audio/smv0": { - source: "iana" - }, - "audio/sofa": { - source: "iana" - }, - "audio/sp-midi": { - source: "iana" - }, - "audio/speex": { - source: "iana" - }, - "audio/t140c": { - source: "iana" - }, - "audio/t38": { - source: "iana" - }, - "audio/telephone-event": { - source: "iana" - }, - "audio/tetra_acelp": { - source: "iana" - }, - "audio/tetra_acelp_bb": { - source: "iana" - }, - "audio/tone": { - source: "iana" - }, - "audio/tsvcis": { - source: "iana" - }, - "audio/uemclip": { - source: "iana" - }, - "audio/ulpfec": { - source: "iana" - }, - "audio/usac": { - source: "iana" - }, - "audio/vdvi": { - source: "iana" - }, - "audio/vmr-wb": { - source: "iana" - }, - "audio/vnd.3gpp.iufp": { - source: "iana" - }, - "audio/vnd.4sb": { - source: "iana" - }, - "audio/vnd.audiokoz": { - source: "iana" - }, - "audio/vnd.celp": { - source: "iana" - }, - "audio/vnd.cisco.nse": { - source: "iana" - }, - "audio/vnd.cmles.radio-events": { - source: "iana" - }, - "audio/vnd.cns.anp1": { - source: "iana" - }, - "audio/vnd.cns.inf1": { - source: "iana" - }, - "audio/vnd.dece.audio": { - source: "iana", - extensions: ["uva", "uvva"] - }, - "audio/vnd.digital-winds": { - source: "iana", - extensions: ["eol"] - }, - "audio/vnd.dlna.adts": { - source: "iana" - }, - "audio/vnd.dolby.heaac.1": { - source: "iana" - }, - "audio/vnd.dolby.heaac.2": { - source: "iana" - }, - "audio/vnd.dolby.mlp": { - source: "iana" - }, - "audio/vnd.dolby.mps": { - source: "iana" - }, - "audio/vnd.dolby.pl2": { - source: "iana" - }, - "audio/vnd.dolby.pl2x": { - source: "iana" - }, - "audio/vnd.dolby.pl2z": { - source: "iana" - }, - "audio/vnd.dolby.pulse.1": { - source: "iana" - }, - "audio/vnd.dra": { - source: "iana", - extensions: ["dra"] - }, - "audio/vnd.dts": { - source: "iana", - extensions: ["dts"] - }, - "audio/vnd.dts.hd": { - source: "iana", - extensions: ["dtshd"] - }, - "audio/vnd.dts.uhd": { - source: "iana" - }, - "audio/vnd.dvb.file": { - source: "iana" - }, - "audio/vnd.everad.plj": { - source: "iana" - }, - "audio/vnd.hns.audio": { - source: "iana" - }, - "audio/vnd.lucent.voice": { - source: "iana", - extensions: ["lvp"] - }, - "audio/vnd.ms-playready.media.pya": { - source: "iana", - extensions: ["pya"] - }, - "audio/vnd.nokia.mobile-xmf": { - source: "iana" - }, - "audio/vnd.nortel.vbk": { - source: "iana" - }, - "audio/vnd.nuera.ecelp4800": { - source: "iana", - extensions: ["ecelp4800"] - }, - "audio/vnd.nuera.ecelp7470": { - source: "iana", - extensions: ["ecelp7470"] - }, - "audio/vnd.nuera.ecelp9600": { - source: "iana", - extensions: ["ecelp9600"] - }, - "audio/vnd.octel.sbc": { - source: "iana" - }, - "audio/vnd.presonus.multitrack": { - source: "iana" - }, - "audio/vnd.qcelp": { - source: "iana" - }, - "audio/vnd.rhetorex.32kadpcm": { - source: "iana" - }, - "audio/vnd.rip": { - source: "iana", - extensions: ["rip"] - }, - "audio/vnd.rn-realaudio": { - compressible: false - }, - "audio/vnd.sealedmedia.softseal.mpeg": { - source: "iana" - }, - "audio/vnd.vmx.cvsd": { - source: "iana" - }, - "audio/vnd.wave": { - compressible: false - }, - "audio/vorbis": { - source: "iana", - compressible: false - }, - "audio/vorbis-config": { - source: "iana" - }, - "audio/wav": { - compressible: false, - extensions: ["wav"] - }, - "audio/wave": { - compressible: false, - extensions: ["wav"] - }, - "audio/webm": { - source: "apache", - compressible: false, - extensions: ["weba"] - }, - "audio/x-aac": { - source: "apache", - compressible: false, - extensions: ["aac"] - }, - "audio/x-aiff": { - source: "apache", - extensions: ["aif", "aiff", "aifc"] - }, - "audio/x-caf": { - source: "apache", - compressible: false, - extensions: ["caf"] - }, - "audio/x-flac": { - source: "apache", - extensions: ["flac"] - }, - "audio/x-m4a": { - source: "nginx", - extensions: ["m4a"] - }, - "audio/x-matroska": { - source: "apache", - extensions: ["mka"] - }, - "audio/x-mpegurl": { - source: "apache", - extensions: ["m3u"] - }, - "audio/x-ms-wax": { - source: "apache", - extensions: ["wax"] - }, - "audio/x-ms-wma": { - source: "apache", - extensions: ["wma"] - }, - "audio/x-pn-realaudio": { - source: "apache", - extensions: ["ram", "ra"] - }, - "audio/x-pn-realaudio-plugin": { - source: "apache", - extensions: ["rmp"] - }, - "audio/x-realaudio": { - source: "nginx", - extensions: ["ra"] - }, - "audio/x-tta": { - source: "apache" - }, - "audio/x-wav": { - source: "apache", - extensions: ["wav"] - }, - "audio/xm": { - source: "apache", - extensions: ["xm"] - }, - "chemical/x-cdx": { - source: "apache", - extensions: ["cdx"] - }, - "chemical/x-cif": { - source: "apache", - extensions: ["cif"] - }, - "chemical/x-cmdf": { - source: "apache", - extensions: ["cmdf"] - }, - "chemical/x-cml": { - source: "apache", - extensions: ["cml"] - }, - "chemical/x-csml": { - source: "apache", - extensions: ["csml"] - }, - "chemical/x-pdb": { - source: "apache" - }, - "chemical/x-xyz": { - source: "apache", - extensions: ["xyz"] - }, - "font/collection": { - source: "iana", - extensions: ["ttc"] - }, - "font/otf": { - source: "iana", - compressible: true, - extensions: ["otf"] - }, - "font/sfnt": { - source: "iana" - }, - "font/ttf": { - source: "iana", - compressible: true, - extensions: ["ttf"] - }, - "font/woff": { - source: "iana", - extensions: ["woff"] - }, - "font/woff2": { - source: "iana", - extensions: ["woff2"] - }, - "image/aces": { - source: "iana", - extensions: ["exr"] - }, - "image/apng": { - compressible: false, - extensions: ["apng"] - }, - "image/avci": { - source: "iana", - extensions: ["avci"] - }, - "image/avcs": { - source: "iana", - extensions: ["avcs"] - }, - "image/avif": { - source: "iana", - compressible: false, - extensions: ["avif"] - }, - "image/bmp": { - source: "iana", - compressible: true, - extensions: ["bmp"] - }, - "image/cgm": { - source: "iana", - extensions: ["cgm"] - }, - "image/dicom-rle": { - source: "iana", - extensions: ["drle"] - }, - "image/emf": { - source: "iana", - extensions: ["emf"] - }, - "image/fits": { - source: "iana", - extensions: ["fits"] - }, - "image/g3fax": { - source: "iana", - extensions: ["g3"] - }, - "image/gif": { - source: "iana", - compressible: false, - extensions: ["gif"] - }, - "image/heic": { - source: "iana", - extensions: ["heic"] - }, - "image/heic-sequence": { - source: "iana", - extensions: ["heics"] - }, - "image/heif": { - source: "iana", - extensions: ["heif"] - }, - "image/heif-sequence": { - source: "iana", - extensions: ["heifs"] - }, - "image/hej2k": { - source: "iana", - extensions: ["hej2"] - }, - "image/hsj2": { - source: "iana", - extensions: ["hsj2"] - }, - "image/ief": { - source: "iana", - extensions: ["ief"] - }, - "image/jls": { - source: "iana", - extensions: ["jls"] - }, - "image/jp2": { - source: "iana", - compressible: false, - extensions: ["jp2", "jpg2"] - }, - "image/jpeg": { - source: "iana", - compressible: false, - extensions: ["jpeg", "jpg", "jpe"] - }, - "image/jph": { - source: "iana", - extensions: ["jph"] - }, - "image/jphc": { - source: "iana", - extensions: ["jhc"] - }, - "image/jpm": { - source: "iana", - compressible: false, - extensions: ["jpm"] - }, - "image/jpx": { - source: "iana", - compressible: false, - extensions: ["jpx", "jpf"] - }, - "image/jxr": { - source: "iana", - extensions: ["jxr"] - }, - "image/jxra": { - source: "iana", - extensions: ["jxra"] - }, - "image/jxrs": { - source: "iana", - extensions: ["jxrs"] - }, - "image/jxs": { - source: "iana", - extensions: ["jxs"] - }, - "image/jxsc": { - source: "iana", - extensions: ["jxsc"] - }, - "image/jxsi": { - source: "iana", - extensions: ["jxsi"] - }, - "image/jxss": { - source: "iana", - extensions: ["jxss"] - }, - "image/ktx": { - source: "iana", - extensions: ["ktx"] - }, - "image/ktx2": { - source: "iana", - extensions: ["ktx2"] - }, - "image/naplps": { - source: "iana" - }, - "image/pjpeg": { - compressible: false - }, - "image/png": { - source: "iana", - compressible: false, - extensions: ["png"] - }, - "image/prs.btif": { - source: "iana", - extensions: ["btif"] - }, - "image/prs.pti": { - source: "iana", - extensions: ["pti"] - }, - "image/pwg-raster": { - source: "iana" - }, - "image/sgi": { - source: "apache", - extensions: ["sgi"] - }, - "image/svg+xml": { - source: "iana", - compressible: true, - extensions: ["svg", "svgz"] - }, - "image/t38": { - source: "iana", - extensions: ["t38"] - }, - "image/tiff": { - source: "iana", - compressible: false, - extensions: ["tif", "tiff"] - }, - "image/tiff-fx": { - source: "iana", - extensions: ["tfx"] - }, - "image/vnd.adobe.photoshop": { - source: "iana", - compressible: true, - extensions: ["psd"] - }, - "image/vnd.airzip.accelerator.azv": { - source: "iana", - extensions: ["azv"] - }, - "image/vnd.cns.inf2": { - source: "iana" - }, - "image/vnd.dece.graphic": { - source: "iana", - extensions: ["uvi", "uvvi", "uvg", "uvvg"] - }, - "image/vnd.djvu": { - source: "iana", - extensions: ["djvu", "djv"] - }, - "image/vnd.dvb.subtitle": { - source: "iana", - extensions: ["sub"] - }, - "image/vnd.dwg": { - source: "iana", - extensions: ["dwg"] - }, - "image/vnd.dxf": { - source: "iana", - extensions: ["dxf"] - }, - "image/vnd.fastbidsheet": { - source: "iana", - extensions: ["fbs"] - }, - "image/vnd.fpx": { - source: "iana", - extensions: ["fpx"] - }, - "image/vnd.fst": { - source: "iana", - extensions: ["fst"] - }, - "image/vnd.fujixerox.edmics-mmr": { - source: "iana", - extensions: ["mmr"] - }, - "image/vnd.fujixerox.edmics-rlc": { - source: "iana", - extensions: ["rlc"] - }, - "image/vnd.globalgraphics.pgb": { - source: "iana" - }, - "image/vnd.microsoft.icon": { - source: "iana", - compressible: true, - extensions: ["ico"] - }, - "image/vnd.mix": { - source: "iana" - }, - "image/vnd.mozilla.apng": { - source: "iana" - }, - "image/vnd.ms-dds": { - compressible: true, - extensions: ["dds"] - }, - "image/vnd.ms-modi": { - source: "iana", - extensions: ["mdi"] - }, - "image/vnd.ms-photo": { - source: "apache", - extensions: ["wdp"] - }, - "image/vnd.net-fpx": { - source: "iana", - extensions: ["npx"] - }, - "image/vnd.pco.b16": { - source: "iana", - extensions: ["b16"] - }, - "image/vnd.radiance": { - source: "iana" - }, - "image/vnd.sealed.png": { - source: "iana" - }, - "image/vnd.sealedmedia.softseal.gif": { - source: "iana" - }, - "image/vnd.sealedmedia.softseal.jpg": { - source: "iana" - }, - "image/vnd.svf": { - source: "iana" - }, - "image/vnd.tencent.tap": { - source: "iana", - extensions: ["tap"] - }, - "image/vnd.valve.source.texture": { - source: "iana", - extensions: ["vtf"] - }, - "image/vnd.wap.wbmp": { - source: "iana", - extensions: ["wbmp"] - }, - "image/vnd.xiff": { - source: "iana", - extensions: ["xif"] - }, - "image/vnd.zbrush.pcx": { - source: "iana", - extensions: ["pcx"] - }, - "image/webp": { - source: "apache", - extensions: ["webp"] - }, - "image/wmf": { - source: "iana", - extensions: ["wmf"] - }, - "image/x-3ds": { - source: "apache", - extensions: ["3ds"] - }, - "image/x-cmu-raster": { - source: "apache", - extensions: ["ras"] - }, - "image/x-cmx": { - source: "apache", - extensions: ["cmx"] - }, - "image/x-freehand": { - source: "apache", - extensions: ["fh", "fhc", "fh4", "fh5", "fh7"] - }, - "image/x-icon": { - source: "apache", - compressible: true, - extensions: ["ico"] - }, - "image/x-jng": { - source: "nginx", - extensions: ["jng"] - }, - "image/x-mrsid-image": { - source: "apache", - extensions: ["sid"] - }, - "image/x-ms-bmp": { - source: "nginx", - compressible: true, - extensions: ["bmp"] - }, - "image/x-pcx": { - source: "apache", - extensions: ["pcx"] - }, - "image/x-pict": { - source: "apache", - extensions: ["pic", "pct"] - }, - "image/x-portable-anymap": { - source: "apache", - extensions: ["pnm"] - }, - "image/x-portable-bitmap": { - source: "apache", - extensions: ["pbm"] - }, - "image/x-portable-graymap": { - source: "apache", - extensions: ["pgm"] - }, - "image/x-portable-pixmap": { - source: "apache", - extensions: ["ppm"] - }, - "image/x-rgb": { - source: "apache", - extensions: ["rgb"] - }, - "image/x-tga": { - source: "apache", - extensions: ["tga"] - }, - "image/x-xbitmap": { - source: "apache", - extensions: ["xbm"] - }, - "image/x-xcf": { - compressible: false - }, - "image/x-xpixmap": { - source: "apache", - extensions: ["xpm"] - }, - "image/x-xwindowdump": { - source: "apache", - extensions: ["xwd"] - }, - "message/cpim": { - source: "iana" - }, - "message/delivery-status": { - source: "iana" - }, - "message/disposition-notification": { - source: "iana", - extensions: [ - "disposition-notification" - ] - }, - "message/external-body": { - source: "iana" - }, - "message/feedback-report": { - source: "iana" - }, - "message/global": { - source: "iana", - extensions: ["u8msg"] - }, - "message/global-delivery-status": { - source: "iana", - extensions: ["u8dsn"] - }, - "message/global-disposition-notification": { - source: "iana", - extensions: ["u8mdn"] - }, - "message/global-headers": { - source: "iana", - extensions: ["u8hdr"] - }, - "message/http": { - source: "iana", - compressible: false - }, - "message/imdn+xml": { - source: "iana", - compressible: true - }, - "message/news": { - source: "iana" - }, - "message/partial": { - source: "iana", - compressible: false - }, - "message/rfc822": { - source: "iana", - compressible: true, - extensions: ["eml", "mime"] - }, - "message/s-http": { - source: "iana" - }, - "message/sip": { - source: "iana" - }, - "message/sipfrag": { - source: "iana" - }, - "message/tracking-status": { - source: "iana" - }, - "message/vnd.si.simp": { - source: "iana" - }, - "message/vnd.wfa.wsc": { - source: "iana", - extensions: ["wsc"] - }, - "model/3mf": { - source: "iana", - extensions: ["3mf"] - }, - "model/e57": { - source: "iana" - }, - "model/gltf+json": { - source: "iana", - compressible: true, - extensions: ["gltf"] - }, - "model/gltf-binary": { - source: "iana", - compressible: true, - extensions: ["glb"] - }, - "model/iges": { - source: "iana", - compressible: false, - extensions: ["igs", "iges"] - }, - "model/mesh": { - source: "iana", - compressible: false, - extensions: ["msh", "mesh", "silo"] - }, - "model/mtl": { - source: "iana", - extensions: ["mtl"] - }, - "model/obj": { - source: "iana", - extensions: ["obj"] - }, - "model/step": { - source: "iana" - }, - "model/step+xml": { - source: "iana", - compressible: true, - extensions: ["stpx"] - }, - "model/step+zip": { - source: "iana", - compressible: false, - extensions: ["stpz"] - }, - "model/step-xml+zip": { - source: "iana", - compressible: false, - extensions: ["stpxz"] - }, - "model/stl": { - source: "iana", - extensions: ["stl"] - }, - "model/vnd.collada+xml": { - source: "iana", - compressible: true, - extensions: ["dae"] - }, - "model/vnd.dwf": { - source: "iana", - extensions: ["dwf"] - }, - "model/vnd.flatland.3dml": { - source: "iana" - }, - "model/vnd.gdl": { - source: "iana", - extensions: ["gdl"] - }, - "model/vnd.gs-gdl": { - source: "apache" - }, - "model/vnd.gs.gdl": { - source: "iana" - }, - "model/vnd.gtw": { - source: "iana", - extensions: ["gtw"] - }, - "model/vnd.moml+xml": { - source: "iana", - compressible: true - }, - "model/vnd.mts": { - source: "iana", - extensions: ["mts"] - }, - "model/vnd.opengex": { - source: "iana", - extensions: ["ogex"] - }, - "model/vnd.parasolid.transmit.binary": { - source: "iana", - extensions: ["x_b"] - }, - "model/vnd.parasolid.transmit.text": { - source: "iana", - extensions: ["x_t"] - }, - "model/vnd.pytha.pyox": { - source: "iana" - }, - "model/vnd.rosette.annotated-data-model": { - source: "iana" - }, - "model/vnd.sap.vds": { - source: "iana", - extensions: ["vds"] - }, - "model/vnd.usdz+zip": { - source: "iana", - compressible: false, - extensions: ["usdz"] - }, - "model/vnd.valve.source.compiled-map": { - source: "iana", - extensions: ["bsp"] - }, - "model/vnd.vtu": { - source: "iana", - extensions: ["vtu"] - }, - "model/vrml": { - source: "iana", - compressible: false, - extensions: ["wrl", "vrml"] - }, - "model/x3d+binary": { - source: "apache", - compressible: false, - extensions: ["x3db", "x3dbz"] - }, - "model/x3d+fastinfoset": { - source: "iana", - extensions: ["x3db"] - }, - "model/x3d+vrml": { - source: "apache", - compressible: false, - extensions: ["x3dv", "x3dvz"] - }, - "model/x3d+xml": { - source: "iana", - compressible: true, - extensions: ["x3d", "x3dz"] - }, - "model/x3d-vrml": { - source: "iana", - extensions: ["x3dv"] - }, - "multipart/alternative": { - source: "iana", - compressible: false - }, - "multipart/appledouble": { - source: "iana" - }, - "multipart/byteranges": { - source: "iana" - }, - "multipart/digest": { - source: "iana" - }, - "multipart/encrypted": { - source: "iana", - compressible: false - }, - "multipart/form-data": { - source: "iana", - compressible: false - }, - "multipart/header-set": { - source: "iana" - }, - "multipart/mixed": { - source: "iana" - }, - "multipart/multilingual": { - source: "iana" - }, - "multipart/parallel": { - source: "iana" - }, - "multipart/related": { - source: "iana", - compressible: false - }, - "multipart/report": { - source: "iana" - }, - "multipart/signed": { - source: "iana", - compressible: false - }, - "multipart/vnd.bint.med-plus": { - source: "iana" - }, - "multipart/voice-message": { - source: "iana" - }, - "multipart/x-mixed-replace": { - source: "iana" - }, - "text/1d-interleaved-parityfec": { - source: "iana" - }, - "text/cache-manifest": { - source: "iana", - compressible: true, - extensions: ["appcache", "manifest"] - }, - "text/calendar": { - source: "iana", - extensions: ["ics", "ifb"] - }, - "text/calender": { - compressible: true - }, - "text/cmd": { - compressible: true - }, - "text/coffeescript": { - extensions: ["coffee", "litcoffee"] - }, - "text/cql": { - source: "iana" - }, - "text/cql-expression": { - source: "iana" - }, - "text/cql-identifier": { - source: "iana" - }, - "text/css": { - source: "iana", - charset: "UTF-8", - compressible: true, - extensions: ["css"] - }, - "text/csv": { - source: "iana", - compressible: true, - extensions: ["csv"] - }, - "text/csv-schema": { - source: "iana" - }, - "text/directory": { - source: "iana" - }, - "text/dns": { - source: "iana" - }, - "text/ecmascript": { - source: "iana" - }, - "text/encaprtp": { - source: "iana" - }, - "text/enriched": { - source: "iana" - }, - "text/fhirpath": { - source: "iana" - }, - "text/flexfec": { - source: "iana" - }, - "text/fwdred": { - source: "iana" - }, - "text/gff3": { - source: "iana" - }, - "text/grammar-ref-list": { - source: "iana" - }, - "text/html": { - source: "iana", - compressible: true, - extensions: ["html", "htm", "shtml"] - }, - "text/jade": { - extensions: ["jade"] - }, - "text/javascript": { - source: "iana", - compressible: true - }, - "text/jcr-cnd": { - source: "iana" - }, - "text/jsx": { - compressible: true, - extensions: ["jsx"] - }, - "text/less": { - compressible: true, - extensions: ["less"] - }, - "text/markdown": { - source: "iana", - compressible: true, - extensions: ["markdown", "md"] - }, - "text/mathml": { - source: "nginx", - extensions: ["mml"] - }, - "text/mdx": { - compressible: true, - extensions: ["mdx"] - }, - "text/mizar": { - source: "iana" - }, - "text/n3": { - source: "iana", - charset: "UTF-8", - compressible: true, - extensions: ["n3"] - }, - "text/parameters": { - source: "iana", - charset: "UTF-8" - }, - "text/parityfec": { - source: "iana" - }, - "text/plain": { - source: "iana", - compressible: true, - extensions: ["txt", "text", "conf", "def", "list", "log", "in", "ini"] - }, - "text/provenance-notation": { - source: "iana", - charset: "UTF-8" - }, - "text/prs.fallenstein.rst": { - source: "iana" - }, - "text/prs.lines.tag": { - source: "iana", - extensions: ["dsc"] - }, - "text/prs.prop.logic": { - source: "iana" - }, - "text/raptorfec": { - source: "iana" - }, - "text/red": { - source: "iana" - }, - "text/rfc822-headers": { - source: "iana" - }, - "text/richtext": { - source: "iana", - compressible: true, - extensions: ["rtx"] - }, - "text/rtf": { - source: "iana", - compressible: true, - extensions: ["rtf"] - }, - "text/rtp-enc-aescm128": { - source: "iana" - }, - "text/rtploopback": { - source: "iana" - }, - "text/rtx": { - source: "iana" - }, - "text/sgml": { - source: "iana", - extensions: ["sgml", "sgm"] - }, - "text/shaclc": { - source: "iana" - }, - "text/shex": { - source: "iana", - extensions: ["shex"] - }, - "text/slim": { - extensions: ["slim", "slm"] - }, - "text/spdx": { - source: "iana", - extensions: ["spdx"] - }, - "text/strings": { - source: "iana" - }, - "text/stylus": { - extensions: ["stylus", "styl"] - }, - "text/t140": { - source: "iana" - }, - "text/tab-separated-values": { - source: "iana", - compressible: true, - extensions: ["tsv"] - }, - "text/troff": { - source: "iana", - extensions: ["t", "tr", "roff", "man", "me", "ms"] - }, - "text/turtle": { - source: "iana", - charset: "UTF-8", - extensions: ["ttl"] - }, - "text/ulpfec": { - source: "iana" - }, - "text/uri-list": { - source: "iana", - compressible: true, - extensions: ["uri", "uris", "urls"] - }, - "text/vcard": { - source: "iana", - compressible: true, - extensions: ["vcard"] - }, - "text/vnd.a": { - source: "iana" - }, - "text/vnd.abc": { - source: "iana" - }, - "text/vnd.ascii-art": { - source: "iana" - }, - "text/vnd.curl": { - source: "iana", - extensions: ["curl"] - }, - "text/vnd.curl.dcurl": { - source: "apache", - extensions: ["dcurl"] - }, - "text/vnd.curl.mcurl": { - source: "apache", - extensions: ["mcurl"] - }, - "text/vnd.curl.scurl": { - source: "apache", - extensions: ["scurl"] - }, - "text/vnd.debian.copyright": { - source: "iana", - charset: "UTF-8" - }, - "text/vnd.dmclientscript": { - source: "iana" - }, - "text/vnd.dvb.subtitle": { - source: "iana", - extensions: ["sub"] - }, - "text/vnd.esmertec.theme-descriptor": { - source: "iana", - charset: "UTF-8" - }, - "text/vnd.familysearch.gedcom": { - source: "iana", - extensions: ["ged"] - }, - "text/vnd.ficlab.flt": { - source: "iana" - }, - "text/vnd.fly": { - source: "iana", - extensions: ["fly"] - }, - "text/vnd.fmi.flexstor": { - source: "iana", - extensions: ["flx"] - }, - "text/vnd.gml": { - source: "iana" - }, - "text/vnd.graphviz": { - source: "iana", - extensions: ["gv"] - }, - "text/vnd.hans": { - source: "iana" - }, - "text/vnd.hgl": { - source: "iana" - }, - "text/vnd.in3d.3dml": { - source: "iana", - extensions: ["3dml"] - }, - "text/vnd.in3d.spot": { - source: "iana", - extensions: ["spot"] - }, - "text/vnd.iptc.newsml": { - source: "iana" - }, - "text/vnd.iptc.nitf": { - source: "iana" - }, - "text/vnd.latex-z": { - source: "iana" - }, - "text/vnd.motorola.reflex": { - source: "iana" - }, - "text/vnd.ms-mediapackage": { - source: "iana" - }, - "text/vnd.net2phone.commcenter.command": { - source: "iana" - }, - "text/vnd.radisys.msml-basic-layout": { - source: "iana" - }, - "text/vnd.senx.warpscript": { - source: "iana" - }, - "text/vnd.si.uricatalogue": { - source: "iana" - }, - "text/vnd.sosi": { - source: "iana" - }, - "text/vnd.sun.j2me.app-descriptor": { - source: "iana", - charset: "UTF-8", - extensions: ["jad"] - }, - "text/vnd.trolltech.linguist": { - source: "iana", - charset: "UTF-8" - }, - "text/vnd.wap.si": { - source: "iana" - }, - "text/vnd.wap.sl": { - source: "iana" - }, - "text/vnd.wap.wml": { - source: "iana", - extensions: ["wml"] - }, - "text/vnd.wap.wmlscript": { - source: "iana", - extensions: ["wmls"] - }, - "text/vtt": { - source: "iana", - charset: "UTF-8", - compressible: true, - extensions: ["vtt"] - }, - "text/x-asm": { - source: "apache", - extensions: ["s", "asm"] - }, - "text/x-c": { - source: "apache", - extensions: ["c", "cc", "cxx", "cpp", "h", "hh", "dic"] - }, - "text/x-component": { - source: "nginx", - extensions: ["htc"] - }, - "text/x-fortran": { - source: "apache", - extensions: ["f", "for", "f77", "f90"] - }, - "text/x-gwt-rpc": { - compressible: true - }, - "text/x-handlebars-template": { - extensions: ["hbs"] - }, - "text/x-java-source": { - source: "apache", - extensions: ["java"] - }, - "text/x-jquery-tmpl": { - compressible: true - }, - "text/x-lua": { - extensions: ["lua"] - }, - "text/x-markdown": { - compressible: true, - extensions: ["mkd"] - }, - "text/x-nfo": { - source: "apache", - extensions: ["nfo"] - }, - "text/x-opml": { - source: "apache", - extensions: ["opml"] - }, - "text/x-org": { - compressible: true, - extensions: ["org"] - }, - "text/x-pascal": { - source: "apache", - extensions: ["p", "pas"] - }, - "text/x-processing": { - compressible: true, - extensions: ["pde"] - }, - "text/x-sass": { - extensions: ["sass"] - }, - "text/x-scss": { - extensions: ["scss"] - }, - "text/x-setext": { - source: "apache", - extensions: ["etx"] - }, - "text/x-sfv": { - source: "apache", - extensions: ["sfv"] - }, - "text/x-suse-ymp": { - compressible: true, - extensions: ["ymp"] - }, - "text/x-uuencode": { - source: "apache", - extensions: ["uu"] - }, - "text/x-vcalendar": { - source: "apache", - extensions: ["vcs"] - }, - "text/x-vcard": { - source: "apache", - extensions: ["vcf"] - }, - "text/xml": { - source: "iana", - compressible: true, - extensions: ["xml"] - }, - "text/xml-external-parsed-entity": { - source: "iana" - }, - "text/yaml": { - compressible: true, - extensions: ["yaml", "yml"] - }, - "video/1d-interleaved-parityfec": { - source: "iana" - }, - "video/3gpp": { - source: "iana", - extensions: ["3gp", "3gpp"] - }, - "video/3gpp-tt": { - source: "iana" - }, - "video/3gpp2": { - source: "iana", - extensions: ["3g2"] - }, - "video/av1": { - source: "iana" - }, - "video/bmpeg": { - source: "iana" - }, - "video/bt656": { - source: "iana" - }, - "video/celb": { - source: "iana" - }, - "video/dv": { - source: "iana" - }, - "video/encaprtp": { - source: "iana" - }, - "video/ffv1": { - source: "iana" - }, - "video/flexfec": { - source: "iana" - }, - "video/h261": { - source: "iana", - extensions: ["h261"] - }, - "video/h263": { - source: "iana", - extensions: ["h263"] - }, - "video/h263-1998": { - source: "iana" - }, - "video/h263-2000": { - source: "iana" - }, - "video/h264": { - source: "iana", - extensions: ["h264"] - }, - "video/h264-rcdo": { - source: "iana" - }, - "video/h264-svc": { - source: "iana" - }, - "video/h265": { - source: "iana" - }, - "video/iso.segment": { - source: "iana", - extensions: ["m4s"] - }, - "video/jpeg": { - source: "iana", - extensions: ["jpgv"] - }, - "video/jpeg2000": { - source: "iana" - }, - "video/jpm": { - source: "apache", - extensions: ["jpm", "jpgm"] - }, - "video/jxsv": { - source: "iana" - }, - "video/mj2": { - source: "iana", - extensions: ["mj2", "mjp2"] - }, - "video/mp1s": { - source: "iana" - }, - "video/mp2p": { - source: "iana" - }, - "video/mp2t": { - source: "iana", - extensions: ["ts"] - }, - "video/mp4": { - source: "iana", - compressible: false, - extensions: ["mp4", "mp4v", "mpg4"] - }, - "video/mp4v-es": { - source: "iana" - }, - "video/mpeg": { - source: "iana", - compressible: false, - extensions: ["mpeg", "mpg", "mpe", "m1v", "m2v"] - }, - "video/mpeg4-generic": { - source: "iana" - }, - "video/mpv": { - source: "iana" - }, - "video/nv": { - source: "iana" - }, - "video/ogg": { - source: "iana", - compressible: false, - extensions: ["ogv"] - }, - "video/parityfec": { - source: "iana" - }, - "video/pointer": { - source: "iana" - }, - "video/quicktime": { - source: "iana", - compressible: false, - extensions: ["qt", "mov"] - }, - "video/raptorfec": { - source: "iana" - }, - "video/raw": { - source: "iana" - }, - "video/rtp-enc-aescm128": { - source: "iana" - }, - "video/rtploopback": { - source: "iana" - }, - "video/rtx": { - source: "iana" - }, - "video/scip": { - source: "iana" - }, - "video/smpte291": { - source: "iana" - }, - "video/smpte292m": { - source: "iana" - }, - "video/ulpfec": { - source: "iana" - }, - "video/vc1": { - source: "iana" - }, - "video/vc2": { - source: "iana" - }, - "video/vnd.cctv": { - source: "iana" - }, - "video/vnd.dece.hd": { - source: "iana", - extensions: ["uvh", "uvvh"] - }, - "video/vnd.dece.mobile": { - source: "iana", - extensions: ["uvm", "uvvm"] - }, - "video/vnd.dece.mp4": { - source: "iana" - }, - "video/vnd.dece.pd": { - source: "iana", - extensions: ["uvp", "uvvp"] - }, - "video/vnd.dece.sd": { - source: "iana", - extensions: ["uvs", "uvvs"] - }, - "video/vnd.dece.video": { - source: "iana", - extensions: ["uvv", "uvvv"] - }, - "video/vnd.directv.mpeg": { - source: "iana" - }, - "video/vnd.directv.mpeg-tts": { - source: "iana" - }, - "video/vnd.dlna.mpeg-tts": { - source: "iana" - }, - "video/vnd.dvb.file": { - source: "iana", - extensions: ["dvb"] - }, - "video/vnd.fvt": { - source: "iana", - extensions: ["fvt"] - }, - "video/vnd.hns.video": { - source: "iana" - }, - "video/vnd.iptvforum.1dparityfec-1010": { - source: "iana" - }, - "video/vnd.iptvforum.1dparityfec-2005": { - source: "iana" - }, - "video/vnd.iptvforum.2dparityfec-1010": { - source: "iana" - }, - "video/vnd.iptvforum.2dparityfec-2005": { - source: "iana" - }, - "video/vnd.iptvforum.ttsavc": { - source: "iana" - }, - "video/vnd.iptvforum.ttsmpeg2": { - source: "iana" - }, - "video/vnd.motorola.video": { - source: "iana" - }, - "video/vnd.motorola.videop": { - source: "iana" - }, - "video/vnd.mpegurl": { - source: "iana", - extensions: ["mxu", "m4u"] - }, - "video/vnd.ms-playready.media.pyv": { - source: "iana", - extensions: ["pyv"] - }, - "video/vnd.nokia.interleaved-multimedia": { - source: "iana" - }, - "video/vnd.nokia.mp4vr": { - source: "iana" - }, - "video/vnd.nokia.videovoip": { - source: "iana" - }, - "video/vnd.objectvideo": { - source: "iana" - }, - "video/vnd.radgamettools.bink": { - source: "iana" - }, - "video/vnd.radgamettools.smacker": { - source: "iana" - }, - "video/vnd.sealed.mpeg1": { - source: "iana" - }, - "video/vnd.sealed.mpeg4": { - source: "iana" - }, - "video/vnd.sealed.swf": { - source: "iana" - }, - "video/vnd.sealedmedia.softseal.mov": { - source: "iana" - }, - "video/vnd.uvvu.mp4": { - source: "iana", - extensions: ["uvu", "uvvu"] - }, - "video/vnd.vivo": { - source: "iana", - extensions: ["viv"] - }, - "video/vnd.youtube.yt": { - source: "iana" - }, - "video/vp8": { - source: "iana" - }, - "video/vp9": { - source: "iana" - }, - "video/webm": { - source: "apache", - compressible: false, - extensions: ["webm"] - }, - "video/x-f4v": { - source: "apache", - extensions: ["f4v"] - }, - "video/x-fli": { - source: "apache", - extensions: ["fli"] - }, - "video/x-flv": { - source: "apache", - compressible: false, - extensions: ["flv"] - }, - "video/x-m4v": { - source: "apache", - extensions: ["m4v"] - }, - "video/x-matroska": { - source: "apache", - compressible: false, - extensions: ["mkv", "mk3d", "mks"] - }, - "video/x-mng": { - source: "apache", - extensions: ["mng"] - }, - "video/x-ms-asf": { - source: "apache", - extensions: ["asf", "asx"] - }, - "video/x-ms-vob": { - source: "apache", - extensions: ["vob"] - }, - "video/x-ms-wm": { - source: "apache", - extensions: ["wm"] - }, - "video/x-ms-wmv": { - source: "apache", - compressible: false, - extensions: ["wmv"] - }, - "video/x-ms-wmx": { - source: "apache", - extensions: ["wmx"] - }, - "video/x-ms-wvx": { - source: "apache", - extensions: ["wvx"] - }, - "video/x-msvideo": { - source: "apache", - extensions: ["avi"] - }, - "video/x-sgi-movie": { - source: "apache", - extensions: ["movie"] - }, - "video/x-smv": { - source: "apache", - extensions: ["smv"] - }, - "x-conference/x-cooltalk": { - source: "apache", - extensions: ["ice"] - }, - "x-shader/x-fragment": { - compressible: true - }, - "x-shader/x-vertex": { - compressible: true - } - }; - } -}); - -// node_modules/mime-db/index.js -var require_mime_db = __commonJS({ - "node_modules/mime-db/index.js"(exports2, module2) { - module2.exports = require_db(); - } -}); - -// node_modules/mime-types/index.js -var require_mime_types = __commonJS({ - "node_modules/mime-types/index.js"(exports2) { - "use strict"; - var db = require_mime_db(); - var extname = require("path").extname; - var EXTRACT_TYPE_REGEXP = /^\s*([^;\s]*)(?:;|\s|$)/; - var TEXT_TYPE_REGEXP = /^text\//i; - exports2.charset = charset; - exports2.charsets = { lookup: charset }; - exports2.contentType = contentType; - exports2.extension = extension; - exports2.extensions = /* @__PURE__ */ Object.create(null); - exports2.lookup = lookup; - exports2.types = /* @__PURE__ */ Object.create(null); - populateMaps(exports2.extensions, exports2.types); - function charset(type) { - if (!type || typeof type !== "string") { - return false; - } - var match = EXTRACT_TYPE_REGEXP.exec(type); - var mime = match && db[match[1].toLowerCase()]; - if (mime && mime.charset) { - return mime.charset; - } - if (match && TEXT_TYPE_REGEXP.test(match[1])) { - return "UTF-8"; - } - return false; - } - function contentType(str) { - if (!str || typeof str !== "string") { - return false; - } - var mime = str.indexOf("/") === -1 ? exports2.lookup(str) : str; - if (!mime) { - return false; - } - if (mime.indexOf("charset") === -1) { - var charset2 = exports2.charset(mime); - if (charset2) - mime += "; charset=" + charset2.toLowerCase(); - } - return mime; - } - function extension(type) { - if (!type || typeof type !== "string") { - return false; - } - var match = EXTRACT_TYPE_REGEXP.exec(type); - var exts = match && exports2.extensions[match[1].toLowerCase()]; - if (!exts || !exts.length) { - return false; - } - return exts[0]; - } - function lookup(path4) { - if (!path4 || typeof path4 !== "string") { - return false; - } - var extension2 = extname("x." + path4).toLowerCase().substr(1); - if (!extension2) { - return false; - } - return exports2.types[extension2] || false; - } - function populateMaps(extensions, types2) { - var preference = ["nginx", "apache", void 0, "iana"]; - Object.keys(db).forEach(function forEachMimeType(type) { - var mime = db[type]; - var exts = mime.extensions; - if (!exts || !exts.length) { - return; - } - extensions[type] = exts; - for (var i = 0; i < exts.length; i++) { - var extension2 = exts[i]; - if (types2[extension2]) { - var from = preference.indexOf(db[types2[extension2]].source); - var to = preference.indexOf(mime.source); - if (types2[extension2] !== "application/octet-stream" && (from > to || from === to && types2[extension2].substr(0, 12) === "application/")) { - continue; - } - } - types2[extension2] = type; - } - }); - } - } -}); - -// node_modules/asynckit/lib/defer.js -var require_defer = __commonJS({ - "node_modules/asynckit/lib/defer.js"(exports2, module2) { - module2.exports = defer; - function defer(fn2) { - var nextTick = typeof setImmediate == "function" ? setImmediate : typeof process == "object" && typeof process.nextTick == "function" ? process.nextTick : null; - if (nextTick) { - nextTick(fn2); - } else { - setTimeout(fn2, 0); - } - } - } -}); - -// node_modules/asynckit/lib/async.js -var require_async = __commonJS({ - "node_modules/asynckit/lib/async.js"(exports2, module2) { - var defer = require_defer(); - module2.exports = async; - function async(callback) { - var isAsync = false; - defer(function() { - isAsync = true; - }); - return function async_callback(err, result) { - if (isAsync) { - callback(err, result); - } else { - defer(function nextTick_callback() { - callback(err, result); - }); - } - }; - } - } -}); - -// node_modules/asynckit/lib/abort.js -var require_abort = __commonJS({ - "node_modules/asynckit/lib/abort.js"(exports2, module2) { - module2.exports = abort; - function abort(state) { - Object.keys(state.jobs).forEach(clean.bind(state)); - state.jobs = {}; - } - function clean(key) { - if (typeof this.jobs[key] == "function") { - this.jobs[key](); - } - } - } -}); - -// node_modules/asynckit/lib/iterate.js -var require_iterate = __commonJS({ - "node_modules/asynckit/lib/iterate.js"(exports2, module2) { - var async = require_async(); - var abort = require_abort(); - module2.exports = iterate; - function iterate(list, iterator, state, callback) { - var key = state["keyedList"] ? state["keyedList"][state.index] : state.index; - state.jobs[key] = runJob(iterator, key, list[key], function(error, output) { - if (!(key in state.jobs)) { - return; - } - delete state.jobs[key]; - if (error) { - abort(state); - } else { - state.results[key] = output; - } - callback(error, state.results); - }); - } - function runJob(iterator, key, item, callback) { - var aborter; - if (iterator.length == 2) { - aborter = iterator(item, async(callback)); - } else { - aborter = iterator(item, key, async(callback)); - } - return aborter; - } - } -}); - -// node_modules/asynckit/lib/state.js -var require_state2 = __commonJS({ - "node_modules/asynckit/lib/state.js"(exports2, module2) { - module2.exports = state; - function state(list, sortMethod) { - var isNamedList = !Array.isArray(list), initState = { - index: 0, - keyedList: isNamedList || sortMethod ? Object.keys(list) : null, - jobs: {}, - results: isNamedList ? {} : [], - size: isNamedList ? Object.keys(list).length : list.length - }; - if (sortMethod) { - initState.keyedList.sort(isNamedList ? sortMethod : function(a, b) { - return sortMethod(list[a], list[b]); - }); - } - return initState; - } - } -}); - -// node_modules/asynckit/lib/terminator.js -var require_terminator = __commonJS({ - "node_modules/asynckit/lib/terminator.js"(exports2, module2) { - var abort = require_abort(); - var async = require_async(); - module2.exports = terminator; - function terminator(callback) { - if (!Object.keys(this.jobs).length) { - return; - } - this.index = this.size; - abort(this); - async(callback)(null, this.results); - } - } -}); - -// node_modules/asynckit/parallel.js -var require_parallel2 = __commonJS({ - "node_modules/asynckit/parallel.js"(exports2, module2) { - var iterate = require_iterate(); - var initState = require_state2(); - var terminator = require_terminator(); - module2.exports = parallel; - function parallel(list, iterator, callback) { - var state = initState(list); - while (state.index < (state["keyedList"] || list).length) { - iterate(list, iterator, state, function(error, result) { - if (error) { - callback(error, result); - return; - } - if (Object.keys(state.jobs).length === 0) { - callback(null, state.results); - return; - } - }); - state.index++; - } - return terminator.bind(state, callback); - } - } -}); - -// node_modules/asynckit/serialOrdered.js -var require_serialOrdered = __commonJS({ - "node_modules/asynckit/serialOrdered.js"(exports2, module2) { - var iterate = require_iterate(); - var initState = require_state2(); - var terminator = require_terminator(); - module2.exports = serialOrdered; - module2.exports.ascending = ascending; - module2.exports.descending = descending; - function serialOrdered(list, iterator, sortMethod, callback) { - var state = initState(list, sortMethod); - iterate(list, iterator, state, function iteratorHandler(error, result) { - if (error) { - callback(error, result); - return; - } - state.index++; - if (state.index < (state["keyedList"] || list).length) { - iterate(list, iterator, state, iteratorHandler); - return; - } - callback(null, state.results); - }); - return terminator.bind(state, callback); - } - function ascending(a, b) { - return a < b ? -1 : a > b ? 1 : 0; - } - function descending(a, b) { - return -1 * ascending(a, b); - } - } -}); - -// node_modules/asynckit/serial.js -var require_serial = __commonJS({ - "node_modules/asynckit/serial.js"(exports2, module2) { - var serialOrdered = require_serialOrdered(); - module2.exports = serial; - function serial(list, iterator, callback) { - return serialOrdered(list, iterator, null, callback); - } - } -}); - -// node_modules/asynckit/index.js -var require_asynckit = __commonJS({ - "node_modules/asynckit/index.js"(exports2, module2) { - module2.exports = { - parallel: require_parallel2(), - serial: require_serial(), - serialOrdered: require_serialOrdered() - }; - } -}); - -// node_modules/form-data/lib/populate.js -var require_populate = __commonJS({ - "node_modules/form-data/lib/populate.js"(exports2, module2) { - module2.exports = function(dst, src) { - Object.keys(src).forEach(function(prop) { - dst[prop] = dst[prop] || src[prop]; - }); - return dst; - }; - } -}); - -// node_modules/form-data/lib/form_data.js -var require_form_data = __commonJS({ - "node_modules/form-data/lib/form_data.js"(exports2, module2) { - var CombinedStream = require_combined_stream(); - var util2 = require("util"); - var path4 = require("path"); - var http2 = require("http"); - var https2 = require("https"); - var parseUrl = require("url").parse; - var fs7 = require("fs"); - var Stream = require("stream").Stream; - var mime = require_mime_types(); - var asynckit = require_asynckit(); - var populate = require_populate(); - module2.exports = FormData3; - util2.inherits(FormData3, CombinedStream); - function FormData3(options) { - if (!(this instanceof FormData3)) { - return new FormData3(options); - } - this._overheadLength = 0; - this._valueLength = 0; - this._valuesToMeasure = []; - CombinedStream.call(this); - options = options || {}; - for (var option in options) { - this[option] = options[option]; - } - } - FormData3.LINE_BREAK = "\r\n"; - FormData3.DEFAULT_CONTENT_TYPE = "application/octet-stream"; - FormData3.prototype.append = function(field, value, options) { - options = options || {}; - if (typeof options == "string") { - options = { filename: options }; - } - var append2 = CombinedStream.prototype.append.bind(this); - if (typeof value == "number") { - value = "" + value; - } - if (util2.isArray(value)) { - this._error(new Error("Arrays are not supported.")); - return; - } - var header = this._multiPartHeader(field, value, options); - var footer = this._multiPartFooter(); - append2(header); - append2(value); - append2(footer); - this._trackLength(header, value, options); - }; - FormData3.prototype._trackLength = function(header, value, options) { - var valueLength = 0; - if (options.knownLength != null) { - valueLength += +options.knownLength; - } else if (Buffer.isBuffer(value)) { - valueLength = value.length; - } else if (typeof value === "string") { - valueLength = Buffer.byteLength(value); - } - this._valueLength += valueLength; - this._overheadLength += Buffer.byteLength(header) + FormData3.LINE_BREAK.length; - if (!value || !value.path && !(value.readable && value.hasOwnProperty("httpVersion")) && !(value instanceof Stream)) { - return; - } - if (!options.knownLength) { - this._valuesToMeasure.push(value); - } - }; - FormData3.prototype._lengthRetriever = function(value, callback) { - if (value.hasOwnProperty("fd")) { - if (value.end != void 0 && value.end != Infinity && value.start != void 0) { - callback(null, value.end + 1 - (value.start ? value.start : 0)); - } else { - fs7.stat(value.path, function(err, stat) { - var fileSize; - if (err) { - callback(err); - return; - } - fileSize = stat.size - (value.start ? value.start : 0); - callback(null, fileSize); - }); - } - } else if (value.hasOwnProperty("httpVersion")) { - callback(null, +value.headers["content-length"]); - } else if (value.hasOwnProperty("httpModule")) { - value.on("response", function(response) { - value.pause(); - callback(null, +response.headers["content-length"]); - }); - value.resume(); - } else { - callback("Unknown stream"); - } - }; - FormData3.prototype._multiPartHeader = function(field, value, options) { - if (typeof options.header == "string") { - return options.header; - } - var contentDisposition = this._getContentDisposition(value, options); - var contentType = this._getContentType(value, options); - var contents = ""; - var headers = { - "Content-Disposition": ["form-data", 'name="' + field + '"'].concat(contentDisposition || []), - "Content-Type": [].concat(contentType || []) - }; - if (typeof options.header == "object") { - populate(headers, options.header); - } - var header; - for (var prop in headers) { - if (!headers.hasOwnProperty(prop)) - continue; - header = headers[prop]; - if (header == null) { - continue; - } - if (!Array.isArray(header)) { - header = [header]; - } - if (header.length) { - contents += prop + ": " + header.join("; ") + FormData3.LINE_BREAK; - } - } - return "--" + this.getBoundary() + FormData3.LINE_BREAK + contents + FormData3.LINE_BREAK; - }; - FormData3.prototype._getContentDisposition = function(value, options) { - var filename, contentDisposition; - if (typeof options.filepath === "string") { - filename = path4.normalize(options.filepath).replace(/\\/g, "/"); - } else if (options.filename || value.name || value.path) { - filename = path4.basename(options.filename || value.name || value.path); - } else if (value.readable && value.hasOwnProperty("httpVersion")) { - filename = path4.basename(value.client._httpMessage.path || ""); - } - if (filename) { - contentDisposition = 'filename="' + filename + '"'; - } - return contentDisposition; - }; - FormData3.prototype._getContentType = function(value, options) { - var contentType = options.contentType; - if (!contentType && value.name) { - contentType = mime.lookup(value.name); - } - if (!contentType && value.path) { - contentType = mime.lookup(value.path); - } - if (!contentType && value.readable && value.hasOwnProperty("httpVersion")) { - contentType = value.headers["content-type"]; - } - if (!contentType && (options.filepath || options.filename)) { - contentType = mime.lookup(options.filepath || options.filename); - } - if (!contentType && typeof value == "object") { - contentType = FormData3.DEFAULT_CONTENT_TYPE; - } - return contentType; - }; - FormData3.prototype._multiPartFooter = function() { - return function(next) { - var footer = FormData3.LINE_BREAK; - var lastPart = this._streams.length === 0; - if (lastPart) { - footer += this._lastBoundary(); - } - next(footer); - }.bind(this); - }; - FormData3.prototype._lastBoundary = function() { - return "--" + this.getBoundary() + "--" + FormData3.LINE_BREAK; - }; - FormData3.prototype.getHeaders = function(userHeaders) { - var header; - var formHeaders = { - "content-type": "multipart/form-data; boundary=" + this.getBoundary() - }; - for (header in userHeaders) { - if (userHeaders.hasOwnProperty(header)) { - formHeaders[header.toLowerCase()] = userHeaders[header]; - } - } - return formHeaders; - }; - FormData3.prototype.setBoundary = function(boundary) { - this._boundary = boundary; - }; - FormData3.prototype.getBoundary = function() { - if (!this._boundary) { - this._generateBoundary(); - } - return this._boundary; - }; - FormData3.prototype.getBuffer = function() { - var dataBuffer = new Buffer.alloc(0); - var boundary = this.getBoundary(); - for (var i = 0, len = this._streams.length; i < len; i++) { - if (typeof this._streams[i] !== "function") { - if (Buffer.isBuffer(this._streams[i])) { - dataBuffer = Buffer.concat([dataBuffer, this._streams[i]]); - } else { - dataBuffer = Buffer.concat([dataBuffer, Buffer.from(this._streams[i])]); - } - if (typeof this._streams[i] !== "string" || this._streams[i].substring(2, boundary.length + 2) !== boundary) { - dataBuffer = Buffer.concat([dataBuffer, Buffer.from(FormData3.LINE_BREAK)]); - } - } - } - return Buffer.concat([dataBuffer, Buffer.from(this._lastBoundary())]); - }; - FormData3.prototype._generateBoundary = function() { - var boundary = "--------------------------"; - for (var i = 0; i < 24; i++) { - boundary += Math.floor(Math.random() * 10).toString(16); - } - this._boundary = boundary; - }; - FormData3.prototype.getLengthSync = function() { - var knownLength = this._overheadLength + this._valueLength; - if (this._streams.length) { - knownLength += this._lastBoundary().length; - } - if (!this.hasKnownLength()) { - this._error(new Error("Cannot calculate proper length in synchronous way.")); - } - return knownLength; - }; - FormData3.prototype.hasKnownLength = function() { - var hasKnownLength = true; - if (this._valuesToMeasure.length) { - hasKnownLength = false; - } - return hasKnownLength; - }; - FormData3.prototype.getLength = function(cb) { - var knownLength = this._overheadLength + this._valueLength; - if (this._streams.length) { - knownLength += this._lastBoundary().length; - } - if (!this._valuesToMeasure.length) { - process.nextTick(cb.bind(this, null, knownLength)); - return; - } - asynckit.parallel(this._valuesToMeasure, this._lengthRetriever, function(err, values) { - if (err) { - cb(err); - return; - } - values.forEach(function(length) { - knownLength += length; - }); - cb(null, knownLength); - }); - }; - FormData3.prototype.submit = function(params, cb) { - var request2, options, defaults2 = { method: "post" }; - if (typeof params == "string") { - params = parseUrl(params); - options = populate({ - port: params.port, - path: params.pathname, - host: params.hostname, - protocol: params.protocol - }, defaults2); - } else { - options = populate(params, defaults2); - if (!options.port) { - options.port = options.protocol == "https:" ? 443 : 80; - } - } - options.headers = this.getHeaders(params.headers); - if (options.protocol == "https:") { - request2 = https2.request(options); - } else { - request2 = http2.request(options); - } - this.getLength(function(err, length) { - if (err && err !== "Unknown stream") { - this._error(err); - return; - } - if (length) { - request2.setHeader("Content-Length", length); - } - this.pipe(request2); - if (cb) { - var onResponse; - var callback = function(error, responce) { - request2.removeListener("error", callback); - request2.removeListener("response", onResponse); - return cb.call(this, error, responce); - }; - onResponse = callback.bind(this, null); - request2.on("error", callback); - request2.on("response", onResponse); - } - }.bind(this)); - return request2; - }; - FormData3.prototype._error = function(err) { - if (!this.error) { - this.error = err; - this.pause(); - this.emit("error", err); - } - }; - FormData3.prototype.toString = function() { - return "[object FormData]"; - }; - } -}); - -// node_modules/axios/lib/platform/node/classes/FormData.js -var import_form_data, FormData_default; -var init_FormData = __esm({ - "node_modules/axios/lib/platform/node/classes/FormData.js"() { - import_form_data = __toESM(require_form_data(), 1); - FormData_default = import_form_data.default; - } -}); - -// node_modules/axios/lib/helpers/toFormData.js -function isVisitable(thing) { - return utils_default.isPlainObject(thing) || utils_default.isArray(thing); -} -function removeBrackets(key) { - return utils_default.endsWith(key, "[]") ? key.slice(0, -2) : key; -} -function renderKey(path4, key, dots) { - if (!path4) - return key; - return path4.concat(key).map(function each(token, i) { - token = removeBrackets(token); - return !dots && i ? "[" + token + "]" : token; - }).join(dots ? "." : ""); -} -function isFlatArray(arr) { - return utils_default.isArray(arr) && !arr.some(isVisitable); -} -function toFormData(obj, formData, options) { - if (!utils_default.isObject(obj)) { - throw new TypeError("target must be an object"); - } - formData = formData || new (FormData_default || FormData)(); - options = utils_default.toFlatObject(options, { - metaTokens: true, - dots: false, - indexes: false - }, false, function defined(option, source2) { - return !utils_default.isUndefined(source2[option]); - }); - const metaTokens = options.metaTokens; - const visitor = options.visitor || defaultVisitor; - const dots = options.dots; - const indexes = options.indexes; - const _Blob = options.Blob || typeof Blob !== "undefined" && Blob; - const useBlob = _Blob && utils_default.isSpecCompliantForm(formData); - if (!utils_default.isFunction(visitor)) { - throw new TypeError("visitor must be a function"); - } - function convertValue(value) { - if (value === null) - return ""; - if (utils_default.isDate(value)) { - return value.toISOString(); - } - if (!useBlob && utils_default.isBlob(value)) { - throw new AxiosError_default("Blob is not supported. Use a Buffer instead."); - } - if (utils_default.isArrayBuffer(value) || utils_default.isTypedArray(value)) { - return useBlob && typeof Blob === "function" ? new Blob([value]) : Buffer.from(value); - } - return value; - } - function defaultVisitor(value, key, path4) { - let arr = value; - if (value && !path4 && typeof value === "object") { - if (utils_default.endsWith(key, "{}")) { - key = metaTokens ? key : key.slice(0, -2); - value = JSON.stringify(value); - } else if (utils_default.isArray(value) && isFlatArray(value) || (utils_default.isFileList(value) || utils_default.endsWith(key, "[]")) && (arr = utils_default.toArray(value))) { - key = removeBrackets(key); - arr.forEach(function each(el, index) { - !(utils_default.isUndefined(el) || el === null) && formData.append( - indexes === true ? renderKey([key], index, dots) : indexes === null ? key : key + "[]", - convertValue(el) - ); - }); - return false; - } - } - if (isVisitable(value)) { - return true; - } - formData.append(renderKey(path4, key, dots), convertValue(value)); - return false; - } - const stack2 = []; - const exposedHelpers = Object.assign(predicates, { - defaultVisitor, - convertValue, - isVisitable - }); - function build(value, path4) { - if (utils_default.isUndefined(value)) - return; - if (stack2.indexOf(value) !== -1) { - throw Error("Circular reference detected in " + path4.join(".")); - } - stack2.push(value); - utils_default.forEach(value, function each(el, key) { - const result = !(utils_default.isUndefined(el) || el === null) && visitor.call( - formData, - el, - utils_default.isString(key) ? key.trim() : key, - path4, - exposedHelpers - ); - if (result === true) { - build(el, path4 ? path4.concat(key) : [key]); - } - }); - stack2.pop(); - } - if (!utils_default.isObject(obj)) { - throw new TypeError("data must be an object"); - } - build(obj); - return formData; -} -var predicates, toFormData_default; -var init_toFormData = __esm({ - "node_modules/axios/lib/helpers/toFormData.js"() { - "use strict"; - init_utils(); - init_AxiosError(); - init_FormData(); - predicates = utils_default.toFlatObject(utils_default, {}, null, function filter(prop) { - return /^is[A-Z]/.test(prop); - }); - toFormData_default = toFormData; - } -}); - -// node_modules/axios/lib/helpers/AxiosURLSearchParams.js -function encode(str) { - const charMap = { - "!": "%21", - "'": "%27", - "(": "%28", - ")": "%29", - "~": "%7E", - "%20": "+", - "%00": "\0" - }; - return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) { - return charMap[match]; - }); -} -function AxiosURLSearchParams(params, options) { - this._pairs = []; - params && toFormData_default(params, this, options); -} -var prototype2, AxiosURLSearchParams_default; -var init_AxiosURLSearchParams = __esm({ - "node_modules/axios/lib/helpers/AxiosURLSearchParams.js"() { - "use strict"; - init_toFormData(); - prototype2 = AxiosURLSearchParams.prototype; - prototype2.append = function append(name, value) { - this._pairs.push([name, value]); - }; - prototype2.toString = function toString2(encoder) { - const _encode = encoder ? function(value) { - return encoder.call(this, value, encode); - } : encode; - return this._pairs.map(function each(pair) { - return _encode(pair[0]) + "=" + _encode(pair[1]); - }, "").join("&"); - }; - AxiosURLSearchParams_default = AxiosURLSearchParams; - } -}); - -// node_modules/axios/lib/helpers/buildURL.js -function encode2(val) { - return encodeURIComponent(val).replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+").replace(/%5B/gi, "[").replace(/%5D/gi, "]"); -} -function buildURL(url2, params, options) { - if (!params) { - return url2; - } - const _encode = options && options.encode || encode2; - const serializeFn = options && options.serialize; - let serializedParams; - if (serializeFn) { - serializedParams = serializeFn(params, options); - } else { - serializedParams = utils_default.isURLSearchParams(params) ? params.toString() : new AxiosURLSearchParams_default(params, options).toString(_encode); - } - if (serializedParams) { - const hashmarkIndex = url2.indexOf("#"); - if (hashmarkIndex !== -1) { - url2 = url2.slice(0, hashmarkIndex); - } - url2 += (url2.indexOf("?") === -1 ? "?" : "&") + serializedParams; - } - return url2; -} -var init_buildURL = __esm({ - "node_modules/axios/lib/helpers/buildURL.js"() { - "use strict"; - init_utils(); - init_AxiosURLSearchParams(); - } -}); - -// node_modules/axios/lib/core/InterceptorManager.js -var InterceptorManager, InterceptorManager_default; -var init_InterceptorManager = __esm({ - "node_modules/axios/lib/core/InterceptorManager.js"() { - "use strict"; - init_utils(); - InterceptorManager = class { - constructor() { - this.handlers = []; - } - use(fulfilled, rejected, options) { - this.handlers.push({ - fulfilled, - rejected, - synchronous: options ? options.synchronous : false, - runWhen: options ? options.runWhen : null - }); - return this.handlers.length - 1; - } - eject(id) { - if (this.handlers[id]) { - this.handlers[id] = null; - } - } - clear() { - if (this.handlers) { - this.handlers = []; - } - } - forEach(fn2) { - utils_default.forEach(this.handlers, function forEachHandler(h) { - if (h !== null) { - fn2(h); - } - }); - } - }; - InterceptorManager_default = InterceptorManager; - } -}); - -// node_modules/axios/lib/defaults/transitional.js -var transitional_default; -var init_transitional = __esm({ - "node_modules/axios/lib/defaults/transitional.js"() { - "use strict"; - transitional_default = { - silentJSONParsing: true, - forcedJSONParsing: true, - clarifyTimeoutError: false - }; - } -}); - -// node_modules/axios/lib/platform/node/classes/URLSearchParams.js -var import_url, URLSearchParams_default; -var init_URLSearchParams = __esm({ - "node_modules/axios/lib/platform/node/classes/URLSearchParams.js"() { - "use strict"; - import_url = __toESM(require("url"), 1); - URLSearchParams_default = import_url.default.URLSearchParams; - } -}); - -// node_modules/axios/lib/platform/node/index.js -var node_default; -var init_node = __esm({ - "node_modules/axios/lib/platform/node/index.js"() { - init_URLSearchParams(); - init_FormData(); - node_default = { - isNode: true, - classes: { - URLSearchParams: URLSearchParams_default, - FormData: FormData_default, - Blob: typeof Blob !== "undefined" && Blob || null - }, - protocols: ["http", "https", "file", "data"] - }; - } -}); - -// node_modules/axios/lib/platform/index.js -var init_platform = __esm({ - "node_modules/axios/lib/platform/index.js"() { - init_node(); - } -}); - -// node_modules/axios/lib/helpers/toURLEncodedForm.js -function toURLEncodedForm(data, options) { - return toFormData_default(data, new node_default.classes.URLSearchParams(), Object.assign({ - visitor: function(value, key, path4, helpers) { - if (node_default.isNode && utils_default.isBuffer(value)) { - this.append(key, value.toString("base64")); - return false; - } - return helpers.defaultVisitor.apply(this, arguments); - } - }, options)); -} -var init_toURLEncodedForm = __esm({ - "node_modules/axios/lib/helpers/toURLEncodedForm.js"() { - "use strict"; - init_utils(); - init_toFormData(); - init_platform(); - } -}); - -// node_modules/axios/lib/helpers/formDataToJSON.js -function parsePropPath(name) { - return utils_default.matchAll(/\w+|\[(\w*)]/g, name).map((match) => { - return match[0] === "[]" ? "" : match[1] || match[0]; - }); -} -function arrayToObject(arr) { - const obj = {}; - const keys2 = Object.keys(arr); - let i; - const len = keys2.length; - let key; - for (i = 0; i < len; i++) { - key = keys2[i]; - obj[key] = arr[key]; - } - return obj; -} -function formDataToJSON(formData) { - function buildPath(path4, value, target, index) { - let name = path4[index++]; - const isNumericKey = Number.isFinite(+name); - const isLast = index >= path4.length; - name = !name && utils_default.isArray(target) ? target.length : name; - if (isLast) { - if (utils_default.hasOwnProp(target, name)) { - target[name] = [target[name], value]; - } else { - target[name] = value; - } - return !isNumericKey; - } - if (!target[name] || !utils_default.isObject(target[name])) { - target[name] = []; - } - const result = buildPath(path4, value, target[name], index); - if (result && utils_default.isArray(target[name])) { - target[name] = arrayToObject(target[name]); - } - return !isNumericKey; - } - if (utils_default.isFormData(formData) && utils_default.isFunction(formData.entries)) { - const obj = {}; - utils_default.forEachEntry(formData, (name, value) => { - buildPath(parsePropPath(name), value, obj, 0); - }); - return obj; - } - return null; -} -var formDataToJSON_default; -var init_formDataToJSON = __esm({ - "node_modules/axios/lib/helpers/formDataToJSON.js"() { - "use strict"; - init_utils(); - formDataToJSON_default = formDataToJSON; - } -}); - -// node_modules/axios/lib/defaults/index.js -function stringifySafely(rawValue, parser, encoder) { - if (utils_default.isString(rawValue)) { - try { - (parser || JSON.parse)(rawValue); - return utils_default.trim(rawValue); - } catch (e) { - if (e.name !== "SyntaxError") { - throw e; - } - } - } - return (encoder || JSON.stringify)(rawValue); -} -var DEFAULT_CONTENT_TYPE, defaults, defaults_default; -var init_defaults = __esm({ - "node_modules/axios/lib/defaults/index.js"() { - "use strict"; - init_utils(); - init_AxiosError(); - init_transitional(); - init_toFormData(); - init_toURLEncodedForm(); - init_platform(); - init_formDataToJSON(); - DEFAULT_CONTENT_TYPE = { - "Content-Type": void 0 - }; - defaults = { - transitional: transitional_default, - adapter: ["xhr", "http"], - transformRequest: [function transformRequest(data, headers) { - const contentType = headers.getContentType() || ""; - const hasJSONContentType = contentType.indexOf("application/json") > -1; - const isObjectPayload = utils_default.isObject(data); - if (isObjectPayload && utils_default.isHTMLForm(data)) { - data = new FormData(data); - } - const isFormData2 = utils_default.isFormData(data); - if (isFormData2) { - if (!hasJSONContentType) { - return data; - } - return hasJSONContentType ? JSON.stringify(formDataToJSON_default(data)) : data; - } - if (utils_default.isArrayBuffer(data) || utils_default.isBuffer(data) || utils_default.isStream(data) || utils_default.isFile(data) || utils_default.isBlob(data)) { - return data; - } - if (utils_default.isArrayBufferView(data)) { - return data.buffer; - } - if (utils_default.isURLSearchParams(data)) { - headers.setContentType("application/x-www-form-urlencoded;charset=utf-8", false); - return data.toString(); - } - let isFileList2; - if (isObjectPayload) { - if (contentType.indexOf("application/x-www-form-urlencoded") > -1) { - return toURLEncodedForm(data, this.formSerializer).toString(); - } - if ((isFileList2 = utils_default.isFileList(data)) || contentType.indexOf("multipart/form-data") > -1) { - const _FormData = this.env && this.env.FormData; - return toFormData_default( - isFileList2 ? { "files[]": data } : data, - _FormData && new _FormData(), - this.formSerializer - ); - } - } - if (isObjectPayload || hasJSONContentType) { - headers.setContentType("application/json", false); - return stringifySafely(data); - } - return data; - }], - transformResponse: [function transformResponse(data) { - const transitional2 = this.transitional || defaults.transitional; - const forcedJSONParsing = transitional2 && transitional2.forcedJSONParsing; - const JSONRequested = this.responseType === "json"; - if (data && utils_default.isString(data) && (forcedJSONParsing && !this.responseType || JSONRequested)) { - const silentJSONParsing = transitional2 && transitional2.silentJSONParsing; - const strictJSONParsing = !silentJSONParsing && JSONRequested; - try { - return JSON.parse(data); - } catch (e) { - if (strictJSONParsing) { - if (e.name === "SyntaxError") { - throw AxiosError_default.from(e, AxiosError_default.ERR_BAD_RESPONSE, this, null, this.response); - } - throw e; - } - } - } - return data; - }], - timeout: 0, - xsrfCookieName: "XSRF-TOKEN", - xsrfHeaderName: "X-XSRF-TOKEN", - maxContentLength: -1, - maxBodyLength: -1, - env: { - FormData: node_default.classes.FormData, - Blob: node_default.classes.Blob - }, - validateStatus: function validateStatus(status) { - return status >= 200 && status < 300; - }, - headers: { - common: { - "Accept": "application/json, text/plain, */*" - } - } - }; - utils_default.forEach(["delete", "get", "head"], function forEachMethodNoData(method) { - defaults.headers[method] = {}; - }); - utils_default.forEach(["post", "put", "patch"], function forEachMethodWithData(method) { - defaults.headers[method] = utils_default.merge(DEFAULT_CONTENT_TYPE); - }); - defaults_default = defaults; - } -}); - -// node_modules/axios/lib/helpers/parseHeaders.js -var ignoreDuplicateOf, parseHeaders_default; -var init_parseHeaders = __esm({ - "node_modules/axios/lib/helpers/parseHeaders.js"() { - "use strict"; - init_utils(); - ignoreDuplicateOf = utils_default.toObjectSet([ - "age", - "authorization", - "content-length", - "content-type", - "etag", - "expires", - "from", - "host", - "if-modified-since", - "if-unmodified-since", - "last-modified", - "location", - "max-forwards", - "proxy-authorization", - "referer", - "retry-after", - "user-agent" - ]); - parseHeaders_default = (rawHeaders) => { - const parsed = {}; - let key; - let val; - let i; - rawHeaders && rawHeaders.split("\n").forEach(function parser(line) { - i = line.indexOf(":"); - key = line.substring(0, i).trim().toLowerCase(); - val = line.substring(i + 1).trim(); - if (!key || parsed[key] && ignoreDuplicateOf[key]) { - return; - } - if (key === "set-cookie") { - if (parsed[key]) { - parsed[key].push(val); - } else { - parsed[key] = [val]; - } - } else { - parsed[key] = parsed[key] ? parsed[key] + ", " + val : val; - } - }); - return parsed; - }; - } -}); - -// node_modules/axios/lib/core/AxiosHeaders.js -function normalizeHeader(header) { - return header && String(header).trim().toLowerCase(); -} -function normalizeValue(value) { - if (value === false || value == null) { - return value; - } - return utils_default.isArray(value) ? value.map(normalizeValue) : String(value); -} -function parseTokens(str) { - const tokens = /* @__PURE__ */ Object.create(null); - const tokensRE = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g; - let match; - while (match = tokensRE.exec(str)) { - tokens[match[1]] = match[2]; - } - return tokens; -} -function matchHeaderValue(context, value, header, filter2, isHeaderNameFilter) { - if (utils_default.isFunction(filter2)) { - return filter2.call(this, value, header); - } - if (isHeaderNameFilter) { - value = header; - } - if (!utils_default.isString(value)) - return; - if (utils_default.isString(filter2)) { - return value.indexOf(filter2) !== -1; - } - if (utils_default.isRegExp(filter2)) { - return filter2.test(value); - } -} -function formatHeader(header) { - return header.trim().toLowerCase().replace(/([a-z\d])(\w*)/g, (w, char, str) => { - return char.toUpperCase() + str; - }); -} -function buildAccessors(obj, header) { - const accessorName = utils_default.toCamelCase(" " + header); - ["get", "set", "has"].forEach((methodName) => { - Object.defineProperty(obj, methodName + accessorName, { - value: function(arg1, arg2, arg3) { - return this[methodName].call(this, header, arg1, arg2, arg3); - }, - configurable: true - }); - }); -} -var $internals, isValidHeaderName, AxiosHeaders, AxiosHeaders_default; -var init_AxiosHeaders = __esm({ - "node_modules/axios/lib/core/AxiosHeaders.js"() { - "use strict"; - init_utils(); - init_parseHeaders(); - $internals = Symbol("internals"); - isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim()); - AxiosHeaders = class { - constructor(headers) { - headers && this.set(headers); - } - set(header, valueOrRewrite, rewrite) { - const self2 = this; - function setHeader(_value, _header, _rewrite) { - const lHeader = normalizeHeader(_header); - if (!lHeader) { - throw new Error("header name must be a non-empty string"); - } - const key = utils_default.findKey(self2, lHeader); - if (!key || self2[key] === void 0 || _rewrite === true || _rewrite === void 0 && self2[key] !== false) { - self2[key || _header] = normalizeValue(_value); - } - } - const setHeaders = (headers, _rewrite) => utils_default.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite)); - if (utils_default.isPlainObject(header) || header instanceof this.constructor) { - setHeaders(header, valueOrRewrite); - } else if (utils_default.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) { - setHeaders(parseHeaders_default(header), valueOrRewrite); - } else { - header != null && setHeader(valueOrRewrite, header, rewrite); - } - return this; - } - get(header, parser) { - header = normalizeHeader(header); - if (header) { - const key = utils_default.findKey(this, header); - if (key) { - const value = this[key]; - if (!parser) { - return value; - } - if (parser === true) { - return parseTokens(value); - } - if (utils_default.isFunction(parser)) { - return parser.call(this, value, key); - } - if (utils_default.isRegExp(parser)) { - return parser.exec(value); - } - throw new TypeError("parser must be boolean|regexp|function"); - } - } - } - has(header, matcher) { - header = normalizeHeader(header); - if (header) { - const key = utils_default.findKey(this, header); - return !!(key && this[key] !== void 0 && (!matcher || matchHeaderValue(this, this[key], key, matcher))); - } - return false; - } - delete(header, matcher) { - const self2 = this; - let deleted = false; - function deleteHeader(_header) { - _header = normalizeHeader(_header); - if (_header) { - const key = utils_default.findKey(self2, _header); - if (key && (!matcher || matchHeaderValue(self2, self2[key], key, matcher))) { - delete self2[key]; - deleted = true; - } - } - } - if (utils_default.isArray(header)) { - header.forEach(deleteHeader); - } else { - deleteHeader(header); - } - return deleted; - } - clear(matcher) { - const keys2 = Object.keys(this); - let i = keys2.length; - let deleted = false; - while (i--) { - const key = keys2[i]; - if (!matcher || matchHeaderValue(this, this[key], key, matcher, true)) { - delete this[key]; - deleted = true; - } - } - return deleted; - } - normalize(format2) { - const self2 = this; - const headers = {}; - utils_default.forEach(this, (value, header) => { - const key = utils_default.findKey(headers, header); - if (key) { - self2[key] = normalizeValue(value); - delete self2[header]; - return; - } - const normalized = format2 ? formatHeader(header) : String(header).trim(); - if (normalized !== header) { - delete self2[header]; - } - self2[normalized] = normalizeValue(value); - headers[normalized] = true; - }); - return this; - } - concat(...targets) { - return this.constructor.concat(this, ...targets); - } - toJSON(asStrings) { - const obj = /* @__PURE__ */ Object.create(null); - utils_default.forEach(this, (value, header) => { - value != null && value !== false && (obj[header] = asStrings && utils_default.isArray(value) ? value.join(", ") : value); - }); - return obj; - } - [Symbol.iterator]() { - return Object.entries(this.toJSON())[Symbol.iterator](); - } - toString() { - return Object.entries(this.toJSON()).map(([header, value]) => header + ": " + value).join("\n"); - } - get [Symbol.toStringTag]() { - return "AxiosHeaders"; - } - static from(thing) { - return thing instanceof this ? thing : new this(thing); - } - static concat(first, ...targets) { - const computed = new this(first); - targets.forEach((target) => computed.set(target)); - return computed; - } - static accessor(header) { - const internals = this[$internals] = this[$internals] = { - accessors: {} - }; - const accessors = internals.accessors; - const prototype3 = this.prototype; - function defineAccessor(_header) { - const lHeader = normalizeHeader(_header); - if (!accessors[lHeader]) { - buildAccessors(prototype3, _header); - accessors[lHeader] = true; - } - } - utils_default.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header); - return this; - } - }; - AxiosHeaders.accessor(["Content-Type", "Content-Length", "Accept", "Accept-Encoding", "User-Agent", "Authorization"]); - utils_default.freezeMethods(AxiosHeaders.prototype); - utils_default.freezeMethods(AxiosHeaders); - AxiosHeaders_default = AxiosHeaders; - } -}); - -// node_modules/axios/lib/core/transformData.js -function transformData(fns, response) { - const config2 = this || defaults_default; - const context = response || config2; - const headers = AxiosHeaders_default.from(context.headers); - let data = context.data; - utils_default.forEach(fns, function transform(fn2) { - data = fn2.call(config2, data, headers.normalize(), response ? response.status : void 0); - }); - headers.normalize(); - return data; -} -var init_transformData = __esm({ - "node_modules/axios/lib/core/transformData.js"() { - "use strict"; - init_utils(); - init_defaults(); - init_AxiosHeaders(); - } -}); - -// node_modules/axios/lib/cancel/isCancel.js -function isCancel(value) { - return !!(value && value.__CANCEL__); -} -var init_isCancel = __esm({ - "node_modules/axios/lib/cancel/isCancel.js"() { - "use strict"; - } -}); - -// node_modules/axios/lib/cancel/CanceledError.js -function CanceledError(message2, config2, request2) { - AxiosError_default.call(this, message2 == null ? "canceled" : message2, AxiosError_default.ERR_CANCELED, config2, request2); - this.name = "CanceledError"; -} -var CanceledError_default; -var init_CanceledError = __esm({ - "node_modules/axios/lib/cancel/CanceledError.js"() { - "use strict"; - init_AxiosError(); - init_utils(); - utils_default.inherits(CanceledError, AxiosError_default, { - __CANCEL__: true - }); - CanceledError_default = CanceledError; - } -}); - -// node_modules/axios/lib/core/settle.js -function settle(resolve, reject, response) { - const validateStatus2 = response.config.validateStatus; - if (!response.status || !validateStatus2 || validateStatus2(response.status)) { - resolve(response); - } else { - reject(new AxiosError_default( - "Request failed with status code " + response.status, - [AxiosError_default.ERR_BAD_REQUEST, AxiosError_default.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4], - response.config, - response.request, - response - )); - } -} -var init_settle = __esm({ - "node_modules/axios/lib/core/settle.js"() { - "use strict"; - init_AxiosError(); - } -}); - -// node_modules/axios/lib/helpers/isAbsoluteURL.js -function isAbsoluteURL(url2) { - return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url2); -} -var init_isAbsoluteURL = __esm({ - "node_modules/axios/lib/helpers/isAbsoluteURL.js"() { - "use strict"; - } -}); - -// node_modules/axios/lib/helpers/combineURLs.js -function combineURLs(baseURL, relativeURL) { - return relativeURL ? baseURL.replace(/\/+$/, "") + "/" + relativeURL.replace(/^\/+/, "") : baseURL; -} -var init_combineURLs = __esm({ - "node_modules/axios/lib/helpers/combineURLs.js"() { - "use strict"; - } -}); - -// node_modules/axios/lib/core/buildFullPath.js -function buildFullPath(baseURL, requestedURL) { - if (baseURL && !isAbsoluteURL(requestedURL)) { - return combineURLs(baseURL, requestedURL); - } - return requestedURL; -} -var init_buildFullPath = __esm({ - "node_modules/axios/lib/core/buildFullPath.js"() { - "use strict"; - init_isAbsoluteURL(); - init_combineURLs(); - } -}); - -// node_modules/proxy-from-env/index.js -var require_proxy_from_env = __commonJS({ - "node_modules/proxy-from-env/index.js"(exports2) { - "use strict"; - var parseUrl = require("url").parse; - var DEFAULT_PORTS = { - ftp: 21, - gopher: 70, - http: 80, - https: 443, - ws: 80, - wss: 443 - }; - var stringEndsWith = String.prototype.endsWith || function(s) { - return s.length <= this.length && this.indexOf(s, this.length - s.length) !== -1; - }; - function getProxyForUrl2(url2) { - var parsedUrl = typeof url2 === "string" ? parseUrl(url2) : url2 || {}; - var proto = parsedUrl.protocol; - var hostname2 = parsedUrl.host; - var port = parsedUrl.port; - if (typeof hostname2 !== "string" || !hostname2 || typeof proto !== "string") { - return ""; - } - proto = proto.split(":", 1)[0]; - hostname2 = hostname2.replace(/:\d*$/, ""); - port = parseInt(port) || DEFAULT_PORTS[proto] || 0; - if (!shouldProxy(hostname2, port)) { - return ""; - } - var proxy = getEnv("npm_config_" + proto + "_proxy") || getEnv(proto + "_proxy") || getEnv("npm_config_proxy") || getEnv("all_proxy"); - if (proxy && proxy.indexOf("://") === -1) { - proxy = proto + "://" + proxy; - } - return proxy; - } - function shouldProxy(hostname2, port) { - var NO_PROXY = (getEnv("npm_config_no_proxy") || getEnv("no_proxy")).toLowerCase(); - if (!NO_PROXY) { - return true; - } - if (NO_PROXY === "*") { - return false; - } - return NO_PROXY.split(/[,\s]/).every(function(proxy) { - if (!proxy) { - return true; - } - var parsedProxy = proxy.match(/^(.+):(\d+)$/); - var parsedProxyHostname = parsedProxy ? parsedProxy[1] : proxy; - var parsedProxyPort = parsedProxy ? parseInt(parsedProxy[2]) : 0; - if (parsedProxyPort && parsedProxyPort !== port) { - return true; - } - if (!/^[.*]/.test(parsedProxyHostname)) { - return hostname2 !== parsedProxyHostname; - } - if (parsedProxyHostname.charAt(0) === "*") { - parsedProxyHostname = parsedProxyHostname.slice(1); - } - return !stringEndsWith.call(hostname2, parsedProxyHostname); - }); - } - function getEnv(key) { - return process.env[key.toLowerCase()] || process.env[key.toUpperCase()] || ""; - } - exports2.getProxyForUrl = getProxyForUrl2; - } -}); - -// node_modules/debug/src/common.js -var require_common2 = __commonJS({ - "node_modules/debug/src/common.js"(exports2, module2) { - "use strict"; - function setup(env) { - createDebug.debug = createDebug; - createDebug.default = createDebug; - createDebug.coerce = coerce; - createDebug.disable = disable; - createDebug.enable = enable; - createDebug.enabled = enabled; - createDebug.humanize = require_ms(); - Object.keys(env).forEach(function(key) { - createDebug[key] = env[key]; - }); - createDebug.instances = []; - createDebug.names = []; - createDebug.skips = []; - createDebug.formatters = {}; - function selectColor(namespace) { - var hash = 0; - for (var i = 0; i < namespace.length; i++) { - hash = (hash << 5) - hash + namespace.charCodeAt(i); - hash |= 0; - } - return createDebug.colors[Math.abs(hash) % createDebug.colors.length]; - } - createDebug.selectColor = selectColor; - function createDebug(namespace) { - var prevTime; - function debug() { - if (!debug.enabled) { - return; - } - for (var _len = arguments.length, args2 = new Array(_len), _key = 0; _key < _len; _key++) { - args2[_key] = arguments[_key]; - } - var self2 = debug; - var curr = Number(new Date()); - var ms = curr - (prevTime || curr); - self2.diff = ms; - self2.prev = prevTime; - self2.curr = curr; - prevTime = curr; - args2[0] = createDebug.coerce(args2[0]); - if (typeof args2[0] !== "string") { - args2.unshift("%O"); - } - var index = 0; - args2[0] = args2[0].replace(/%([a-zA-Z%])/g, function(match, format2) { - if (match === "%%") { - return match; - } - index++; - var formatter = createDebug.formatters[format2]; - if (typeof formatter === "function") { - var val = args2[index]; - match = formatter.call(self2, val); - args2.splice(index, 1); - index--; - } - return match; - }); - createDebug.formatArgs.call(self2, args2); - var logFn = self2.log || createDebug.log; - logFn.apply(self2, args2); - } - debug.namespace = namespace; - debug.enabled = createDebug.enabled(namespace); - debug.useColors = createDebug.useColors(); - debug.color = selectColor(namespace); - debug.destroy = destroy; - debug.extend = extend2; - if (typeof createDebug.init === "function") { - createDebug.init(debug); - } - createDebug.instances.push(debug); - return debug; - } - function destroy() { - var index = createDebug.instances.indexOf(this); - if (index !== -1) { - createDebug.instances.splice(index, 1); - return true; - } - return false; - } - function extend2(namespace, delimiter) { - return createDebug(this.namespace + (typeof delimiter === "undefined" ? ":" : delimiter) + namespace); - } - function enable(namespaces) { - createDebug.save(namespaces); - createDebug.names = []; - createDebug.skips = []; - var i; - var split = (typeof namespaces === "string" ? namespaces : "").split(/[\s,]+/); - var len = split.length; - for (i = 0; i < len; i++) { - if (!split[i]) { - continue; - } - namespaces = split[i].replace(/\*/g, ".*?"); - if (namespaces[0] === "-") { - createDebug.skips.push(new RegExp("^" + namespaces.substr(1) + "$")); - } else { - createDebug.names.push(new RegExp("^" + namespaces + "$")); - } - } - for (i = 0; i < createDebug.instances.length; i++) { - var instance = createDebug.instances[i]; - instance.enabled = createDebug.enabled(instance.namespace); - } - } - function disable() { - createDebug.enable(""); - } - function enabled(name) { - if (name[name.length - 1] === "*") { - return true; - } - var i; - var len; - for (i = 0, len = createDebug.skips.length; i < len; i++) { - if (createDebug.skips[i].test(name)) { - return false; - } - } - for (i = 0, len = createDebug.names.length; i < len; i++) { - if (createDebug.names[i].test(name)) { - return true; - } - } - return false; - } - function coerce(val) { - if (val instanceof Error) { - return val.stack || val.message; - } - return val; - } - createDebug.enable(createDebug.load()); - return createDebug; - } - module2.exports = setup; - } -}); - -// node_modules/debug/src/browser.js -var require_browser = __commonJS({ - "node_modules/debug/src/browser.js"(exports2, module2) { - "use strict"; - function _typeof(obj) { - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - _typeof = function _typeof2(obj2) { - return typeof obj2; - }; - } else { - _typeof = function _typeof2(obj2) { - return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; - }; - } - return _typeof(obj); - } - exports2.log = log2; - exports2.formatArgs = formatArgs; - exports2.save = save; - exports2.load = load; - exports2.useColors = useColors; - exports2.storage = localstorage(); - exports2.colors = ["#0000CC", "#0000FF", "#0033CC", "#0033FF", "#0066CC", "#0066FF", "#0099CC", "#0099FF", "#00CC00", "#00CC33", "#00CC66", "#00CC99", "#00CCCC", "#00CCFF", "#3300CC", "#3300FF", "#3333CC", "#3333FF", "#3366CC", "#3366FF", "#3399CC", "#3399FF", "#33CC00", "#33CC33", "#33CC66", "#33CC99", "#33CCCC", "#33CCFF", "#6600CC", "#6600FF", "#6633CC", "#6633FF", "#66CC00", "#66CC33", "#9900CC", "#9900FF", "#9933CC", "#9933FF", "#99CC00", "#99CC33", "#CC0000", "#CC0033", "#CC0066", "#CC0099", "#CC00CC", "#CC00FF", "#CC3300", "#CC3333", "#CC3366", "#CC3399", "#CC33CC", "#CC33FF", "#CC6600", "#CC6633", "#CC9900", "#CC9933", "#CCCC00", "#CCCC33", "#FF0000", "#FF0033", "#FF0066", "#FF0099", "#FF00CC", "#FF00FF", "#FF3300", "#FF3333", "#FF3366", "#FF3399", "#FF33CC", "#FF33FF", "#FF6600", "#FF6633", "#FF9900", "#FF9933", "#FFCC00", "#FFCC33"]; - function useColors() { - if (typeof window !== "undefined" && window.process && (window.process.type === "renderer" || window.process.__nwjs)) { - return true; - } - if (typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { - return false; - } - return typeof document !== "undefined" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || typeof window !== "undefined" && window.console && (window.console.firebug || window.console.exception && window.console.table) || typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 || typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/); - } - function formatArgs(args2) { - args2[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + args2[0] + (this.useColors ? "%c " : " ") + "+" + module2.exports.humanize(this.diff); - if (!this.useColors) { - return; - } - var c = "color: " + this.color; - args2.splice(1, 0, c, "color: inherit"); - var index = 0; - var lastC = 0; - args2[0].replace(/%[a-zA-Z%]/g, function(match) { - if (match === "%%") { - return; - } - index++; - if (match === "%c") { - lastC = index; - } - }); - args2.splice(lastC, 0, c); - } - function log2() { - var _console; - return (typeof console === "undefined" ? "undefined" : _typeof(console)) === "object" && console.log && (_console = console).log.apply(_console, arguments); - } - function save(namespaces) { - try { - if (namespaces) { - exports2.storage.setItem("debug", namespaces); - } else { - exports2.storage.removeItem("debug"); - } - } catch (error) { - } - } - function load() { - var r; - try { - r = exports2.storage.getItem("debug"); - } catch (error) { - } - if (!r && typeof process !== "undefined" && "env" in process) { - r = process.env.DEBUG; - } - return r; - } - function localstorage() { - try { - return localStorage; - } catch (error) { - } - } - module2.exports = require_common2()(exports2); - var formatters = module2.exports.formatters; - formatters.j = function(v) { - try { - return JSON.stringify(v); - } catch (error) { - return "[UnexpectedJSONParseError]: " + error.message; - } - }; - } -}); - -// node_modules/debug/src/node.js -var require_node3 = __commonJS({ - "node_modules/debug/src/node.js"(exports2, module2) { - "use strict"; - var tty = require("tty"); - var util2 = require("util"); - exports2.init = init; - exports2.log = log2; - exports2.formatArgs = formatArgs; - exports2.save = save; - exports2.load = load; - exports2.useColors = useColors; - exports2.colors = [6, 2, 3, 4, 5, 1]; - try { - supportsColor = require("supports-color"); - if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) { - exports2.colors = [20, 21, 26, 27, 32, 33, 38, 39, 40, 41, 42, 43, 44, 45, 56, 57, 62, 63, 68, 69, 74, 75, 76, 77, 78, 79, 80, 81, 92, 93, 98, 99, 112, 113, 128, 129, 134, 135, 148, 149, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 178, 179, 184, 185, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 214, 215, 220, 221]; - } - } catch (error) { - } - var supportsColor; - exports2.inspectOpts = Object.keys(process.env).filter(function(key) { - return /^debug_/i.test(key); - }).reduce(function(obj, key) { - var prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, function(_, k) { - return k.toUpperCase(); - }); - var val = process.env[key]; - if (/^(yes|on|true|enabled)$/i.test(val)) { - val = true; - } else if (/^(no|off|false|disabled)$/i.test(val)) { - val = false; - } else if (val === "null") { - val = null; - } else { - val = Number(val); - } - obj[prop] = val; - return obj; - }, {}); - function useColors() { - return "colors" in exports2.inspectOpts ? Boolean(exports2.inspectOpts.colors) : tty.isatty(process.stderr.fd); - } - function formatArgs(args2) { - var name = this.namespace, useColors2 = this.useColors; - if (useColors2) { - var c = this.color; - var colorCode = "\x1B[3" + (c < 8 ? c : "8;5;" + c); - var prefix = " ".concat(colorCode, ";1m").concat(name, " \x1B[0m"); - args2[0] = prefix + args2[0].split("\n").join("\n" + prefix); - args2.push(colorCode + "m+" + module2.exports.humanize(this.diff) + "\x1B[0m"); - } else { - args2[0] = getDate() + name + " " + args2[0]; - } - } - function getDate() { - if (exports2.inspectOpts.hideDate) { - return ""; - } - return new Date().toISOString() + " "; - } - function log2() { - return process.stderr.write(util2.format.apply(util2, arguments) + "\n"); - } - function save(namespaces) { - if (namespaces) { - process.env.DEBUG = namespaces; - } else { - delete process.env.DEBUG; - } - } - function load() { - return process.env.DEBUG; - } - function init(debug) { - debug.inspectOpts = {}; - var keys2 = Object.keys(exports2.inspectOpts); - for (var i = 0; i < keys2.length; i++) { - debug.inspectOpts[keys2[i]] = exports2.inspectOpts[keys2[i]]; - } - } - module2.exports = require_common2()(exports2); - var formatters = module2.exports.formatters; - formatters.o = function(v) { - this.inspectOpts.colors = this.useColors; - return util2.inspect(v, this.inspectOpts).split("\n").map(function(str) { - return str.trim(); - }).join(" "); - }; - formatters.O = function(v) { - this.inspectOpts.colors = this.useColors; - return util2.inspect(v, this.inspectOpts); - }; - } -}); - -// node_modules/debug/src/index.js -var require_src = __commonJS({ - "node_modules/debug/src/index.js"(exports2, module2) { - "use strict"; - if (typeof process === "undefined" || process.type === "renderer" || process.browser === true || process.__nwjs) { - module2.exports = require_browser(); - } else { - module2.exports = require_node3(); - } - } -}); - -// node_modules/follow-redirects/debug.js -var require_debug = __commonJS({ - "node_modules/follow-redirects/debug.js"(exports2, module2) { - var debug; - module2.exports = function() { - if (!debug) { - try { - debug = require_src()("follow-redirects"); - } catch (error) { - } - if (typeof debug !== "function") { - debug = function() { - }; - } - } - debug.apply(null, arguments); - }; - } -}); - -// node_modules/follow-redirects/index.js -var require_follow_redirects = __commonJS({ - "node_modules/follow-redirects/index.js"(exports2, module2) { - var url2 = require("url"); - var URL2 = url2.URL; - var http2 = require("http"); - var https2 = require("https"); - var Writable = require("stream").Writable; - var assert = require("assert"); - var debug = require_debug(); - var events = ["abort", "aborted", "connect", "error", "socket", "timeout"]; - var eventHandlers = /* @__PURE__ */ Object.create(null); - events.forEach(function(event) { - eventHandlers[event] = function(arg1, arg2, arg3) { - this._redirectable.emit(event, arg1, arg2, arg3); - }; - }); - var InvalidUrlError = createErrorType( - "ERR_INVALID_URL", - "Invalid URL", - TypeError - ); - var RedirectionError = createErrorType( - "ERR_FR_REDIRECTION_FAILURE", - "Redirected request failed" - ); - var TooManyRedirectsError = createErrorType( - "ERR_FR_TOO_MANY_REDIRECTS", - "Maximum number of redirects exceeded" - ); - var MaxBodyLengthExceededError = createErrorType( - "ERR_FR_MAX_BODY_LENGTH_EXCEEDED", - "Request body larger than maxBodyLength limit" - ); - var WriteAfterEndError = createErrorType( - "ERR_STREAM_WRITE_AFTER_END", - "write after end" - ); - function RedirectableRequest(options, responseCallback) { - Writable.call(this); - this._sanitizeOptions(options); - this._options = options; - this._ended = false; - this._ending = false; - this._redirectCount = 0; - this._redirects = []; - this._requestBodyLength = 0; - this._requestBodyBuffers = []; - if (responseCallback) { - this.on("response", responseCallback); - } - var self2 = this; - this._onNativeResponse = function(response) { - self2._processResponse(response); - }; - this._performRequest(); - } - RedirectableRequest.prototype = Object.create(Writable.prototype); - RedirectableRequest.prototype.abort = function() { - abortRequest(this._currentRequest); - this.emit("abort"); - }; - RedirectableRequest.prototype.write = function(data, encoding, callback) { - if (this._ending) { - throw new WriteAfterEndError(); - } - if (!isString3(data) && !isBuffer2(data)) { - throw new TypeError("data should be a string, Buffer or Uint8Array"); - } - if (isFunction2(encoding)) { - callback = encoding; - encoding = null; - } - if (data.length === 0) { - if (callback) { - callback(); - } - return; - } - if (this._requestBodyLength + data.length <= this._options.maxBodyLength) { - this._requestBodyLength += data.length; - this._requestBodyBuffers.push({ data, encoding }); - this._currentRequest.write(data, encoding, callback); - } else { - this.emit("error", new MaxBodyLengthExceededError()); - this.abort(); - } - }; - RedirectableRequest.prototype.end = function(data, encoding, callback) { - if (isFunction2(data)) { - callback = data; - data = encoding = null; - } else if (isFunction2(encoding)) { - callback = encoding; - encoding = null; - } - if (!data) { - this._ended = this._ending = true; - this._currentRequest.end(null, null, callback); - } else { - var self2 = this; - var currentRequest = this._currentRequest; - this.write(data, encoding, function() { - self2._ended = true; - currentRequest.end(null, null, callback); - }); - this._ending = true; - } - }; - RedirectableRequest.prototype.setHeader = function(name, value) { - this._options.headers[name] = value; - this._currentRequest.setHeader(name, value); - }; - RedirectableRequest.prototype.removeHeader = function(name) { - delete this._options.headers[name]; - this._currentRequest.removeHeader(name); - }; - RedirectableRequest.prototype.setTimeout = function(msecs, callback) { - var self2 = this; - function destroyOnTimeout(socket) { - socket.setTimeout(msecs); - socket.removeListener("timeout", socket.destroy); - socket.addListener("timeout", socket.destroy); - } - function startTimer(socket) { - if (self2._timeout) { - clearTimeout(self2._timeout); - } - self2._timeout = setTimeout(function() { - self2.emit("timeout"); - clearTimer(); - }, msecs); - destroyOnTimeout(socket); - } - function clearTimer() { - if (self2._timeout) { - clearTimeout(self2._timeout); - self2._timeout = null; - } - self2.removeListener("abort", clearTimer); - self2.removeListener("error", clearTimer); - self2.removeListener("response", clearTimer); - if (callback) { - self2.removeListener("timeout", callback); - } - if (!self2.socket) { - self2._currentRequest.removeListener("socket", startTimer); - } - } - if (callback) { - this.on("timeout", callback); - } - if (this.socket) { - startTimer(this.socket); - } else { - this._currentRequest.once("socket", startTimer); - } - this.on("socket", destroyOnTimeout); - this.on("abort", clearTimer); - this.on("error", clearTimer); - this.on("response", clearTimer); - return this; - }; - [ - "flushHeaders", - "getHeader", - "setNoDelay", - "setSocketKeepAlive" - ].forEach(function(method) { - RedirectableRequest.prototype[method] = function(a, b) { - return this._currentRequest[method](a, b); - }; - }); - ["aborted", "connection", "socket"].forEach(function(property) { - Object.defineProperty(RedirectableRequest.prototype, property, { - get: function() { - return this._currentRequest[property]; - } - }); - }); - RedirectableRequest.prototype._sanitizeOptions = function(options) { - if (!options.headers) { - options.headers = {}; - } - if (options.host) { - if (!options.hostname) { - options.hostname = options.host; - } - delete options.host; - } - if (!options.pathname && options.path) { - var searchPos = options.path.indexOf("?"); - if (searchPos < 0) { - options.pathname = options.path; - } else { - options.pathname = options.path.substring(0, searchPos); - options.search = options.path.substring(searchPos); - } - } - }; - RedirectableRequest.prototype._performRequest = function() { - var protocol = this._options.protocol; - var nativeProtocol = this._options.nativeProtocols[protocol]; - if (!nativeProtocol) { - this.emit("error", new TypeError("Unsupported protocol " + protocol)); - return; - } - if (this._options.agents) { - var scheme = protocol.slice(0, -1); - this._options.agent = this._options.agents[scheme]; - } - var request2 = this._currentRequest = nativeProtocol.request(this._options, this._onNativeResponse); - request2._redirectable = this; - for (var event of events) { - request2.on(event, eventHandlers[event]); - } - this._currentUrl = /^\//.test(this._options.path) ? url2.format(this._options) : this._options.path; - if (this._isRedirect) { - var i = 0; - var self2 = this; - var buffers = this._requestBodyBuffers; - (function writeNext(error) { - if (request2 === self2._currentRequest) { - if (error) { - self2.emit("error", error); - } else if (i < buffers.length) { - var buffer = buffers[i++]; - if (!request2.finished) { - request2.write(buffer.data, buffer.encoding, writeNext); - } - } else if (self2._ended) { - request2.end(); - } - } - })(); - } - }; - RedirectableRequest.prototype._processResponse = function(response) { - var statusCode = response.statusCode; - if (this._options.trackRedirects) { - this._redirects.push({ - url: this._currentUrl, - headers: response.headers, - statusCode - }); - } - var location = response.headers.location; - if (!location || this._options.followRedirects === false || statusCode < 300 || statusCode >= 400) { - response.responseUrl = this._currentUrl; - response.redirects = this._redirects; - this.emit("response", response); - this._requestBodyBuffers = []; - return; - } - abortRequest(this._currentRequest); - response.destroy(); - if (++this._redirectCount > this._options.maxRedirects) { - this.emit("error", new TooManyRedirectsError()); - return; - } - var requestHeaders; - var beforeRedirect = this._options.beforeRedirect; - if (beforeRedirect) { - requestHeaders = Object.assign({ - Host: response.req.getHeader("host") - }, this._options.headers); - } - var method = this._options.method; - if ((statusCode === 301 || statusCode === 302) && this._options.method === "POST" || statusCode === 303 && !/^(?:GET|HEAD)$/.test(this._options.method)) { - this._options.method = "GET"; - this._requestBodyBuffers = []; - removeMatchingHeaders(/^content-/i, this._options.headers); - } - var currentHostHeader = removeMatchingHeaders(/^host$/i, this._options.headers); - var currentUrlParts = url2.parse(this._currentUrl); - var currentHost = currentHostHeader || currentUrlParts.host; - var currentUrl = /^\w+:/.test(location) ? this._currentUrl : url2.format(Object.assign(currentUrlParts, { host: currentHost })); - var redirectUrl; - try { - redirectUrl = url2.resolve(currentUrl, location); - } catch (cause) { - this.emit("error", new RedirectionError({ cause })); - return; - } - debug("redirecting to", redirectUrl); - this._isRedirect = true; - var redirectUrlParts = url2.parse(redirectUrl); - Object.assign(this._options, redirectUrlParts); - if (redirectUrlParts.protocol !== currentUrlParts.protocol && redirectUrlParts.protocol !== "https:" || redirectUrlParts.host !== currentHost && !isSubdomain(redirectUrlParts.host, currentHost)) { - removeMatchingHeaders(/^(?:authorization|cookie)$/i, this._options.headers); - } - if (isFunction2(beforeRedirect)) { - var responseDetails = { - headers: response.headers, - statusCode - }; - var requestDetails = { - url: currentUrl, - method, - headers: requestHeaders - }; - try { - beforeRedirect(this._options, responseDetails, requestDetails); - } catch (err) { - this.emit("error", err); - return; - } - this._sanitizeOptions(this._options); - } - try { - this._performRequest(); - } catch (cause) { - this.emit("error", new RedirectionError({ cause })); - } - }; - function wrap(protocols) { - var exports3 = { - maxRedirects: 21, - maxBodyLength: 10 * 1024 * 1024 - }; - var nativeProtocols = {}; - Object.keys(protocols).forEach(function(scheme) { - var protocol = scheme + ":"; - var nativeProtocol = nativeProtocols[protocol] = protocols[scheme]; - var wrappedProtocol = exports3[scheme] = Object.create(nativeProtocol); - function request2(input, options, callback) { - if (isString3(input)) { - var parsed; - try { - parsed = urlToOptions(new URL2(input)); - } catch (err) { - parsed = url2.parse(input); - } - if (!isString3(parsed.protocol)) { - throw new InvalidUrlError({ input }); - } - input = parsed; - } else if (URL2 && input instanceof URL2) { - input = urlToOptions(input); - } else { - callback = options; - options = input; - input = { protocol }; - } - if (isFunction2(options)) { - callback = options; - options = null; - } - options = Object.assign({ - maxRedirects: exports3.maxRedirects, - maxBodyLength: exports3.maxBodyLength - }, input, options); - options.nativeProtocols = nativeProtocols; - if (!isString3(options.host) && !isString3(options.hostname)) { - options.hostname = "::1"; - } - assert.equal(options.protocol, protocol, "protocol mismatch"); - debug("options", options); - return new RedirectableRequest(options, callback); - } - function get(input, options, callback) { - var wrappedRequest = wrappedProtocol.request(input, options, callback); - wrappedRequest.end(); - return wrappedRequest; - } - Object.defineProperties(wrappedProtocol, { - request: { value: request2, configurable: true, enumerable: true, writable: true }, - get: { value: get, configurable: true, enumerable: true, writable: true } - }); - }); - return exports3; - } - function noop2() { - } - function urlToOptions(urlObject) { - var options = { - protocol: urlObject.protocol, - hostname: urlObject.hostname.startsWith("[") ? urlObject.hostname.slice(1, -1) : urlObject.hostname, - hash: urlObject.hash, - search: urlObject.search, - pathname: urlObject.pathname, - path: urlObject.pathname + urlObject.search, - href: urlObject.href - }; - if (urlObject.port !== "") { - options.port = Number(urlObject.port); - } - return options; - } - function removeMatchingHeaders(regex, headers) { - var lastValue; - for (var header in headers) { - if (regex.test(header)) { - lastValue = headers[header]; - delete headers[header]; - } - } - return lastValue === null || typeof lastValue === "undefined" ? void 0 : String(lastValue).trim(); - } - function createErrorType(code, message2, baseClass) { - function CustomError(properties) { - Error.captureStackTrace(this, this.constructor); - Object.assign(this, properties || {}); - this.code = code; - this.message = this.cause ? message2 + ": " + this.cause.message : message2; - } - CustomError.prototype = new (baseClass || Error)(); - CustomError.prototype.constructor = CustomError; - CustomError.prototype.name = "Error [" + code + "]"; - return CustomError; - } - function abortRequest(request2) { - for (var event of events) { - request2.removeListener(event, eventHandlers[event]); - } - request2.on("error", noop2); - request2.abort(); - } - function isSubdomain(subdomain, domain) { - assert(isString3(subdomain) && isString3(domain)); - var dot = subdomain.length - domain.length - 1; - return dot > 0 && subdomain[dot] === "." && subdomain.endsWith(domain); - } - function isString3(value) { - return typeof value === "string" || value instanceof String; - } - function isFunction2(value) { - return typeof value === "function"; - } - function isBuffer2(value) { - return typeof value === "object" && "length" in value; - } - module2.exports = wrap({ http: http2, https: https2 }); - module2.exports.wrap = wrap; - } -}); - -// node_modules/axios/lib/env/data.js -var VERSION; -var init_data = __esm({ - "node_modules/axios/lib/env/data.js"() { - VERSION = "1.4.0"; - } -}); - -// node_modules/axios/lib/helpers/parseProtocol.js -function parseProtocol(url2) { - const match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url2); - return match && match[1] || ""; -} -var init_parseProtocol = __esm({ - "node_modules/axios/lib/helpers/parseProtocol.js"() { - "use strict"; - } -}); - -// node_modules/axios/lib/helpers/fromDataURI.js -function fromDataURI(uri, asBlob, options) { - const _Blob = options && options.Blob || node_default.classes.Blob; - const protocol = parseProtocol(uri); - if (asBlob === void 0 && _Blob) { - asBlob = true; - } - if (protocol === "data") { - uri = protocol.length ? uri.slice(protocol.length + 1) : uri; - const match = DATA_URL_PATTERN.exec(uri); - if (!match) { - throw new AxiosError_default("Invalid URL", AxiosError_default.ERR_INVALID_URL); - } - const mime = match[1]; - const isBase64 = match[2]; - const body = match[3]; - const buffer = Buffer.from(decodeURIComponent(body), isBase64 ? "base64" : "utf8"); - if (asBlob) { - if (!_Blob) { - throw new AxiosError_default("Blob is not supported", AxiosError_default.ERR_NOT_SUPPORT); - } - return new _Blob([buffer], { type: mime }); - } - return buffer; - } - throw new AxiosError_default("Unsupported protocol " + protocol, AxiosError_default.ERR_NOT_SUPPORT); -} -var DATA_URL_PATTERN; -var init_fromDataURI = __esm({ - "node_modules/axios/lib/helpers/fromDataURI.js"() { - "use strict"; - init_AxiosError(); - init_parseProtocol(); - init_platform(); - DATA_URL_PATTERN = /^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/; - } -}); - -// node_modules/axios/lib/helpers/throttle.js -function throttle(fn2, freq) { - let timestamp2 = 0; - const threshold = 1e3 / freq; - let timer = null; - return function throttled(force, args2) { - const now = Date.now(); - if (force || now - timestamp2 > threshold) { - if (timer) { - clearTimeout(timer); - timer = null; - } - timestamp2 = now; - return fn2.apply(null, args2); - } - if (!timer) { - timer = setTimeout(() => { - timer = null; - timestamp2 = Date.now(); - return fn2.apply(null, args2); - }, threshold - (now - timestamp2)); - } - }; -} -var throttle_default; -var init_throttle = __esm({ - "node_modules/axios/lib/helpers/throttle.js"() { - "use strict"; - throttle_default = throttle; - } -}); - -// node_modules/axios/lib/helpers/speedometer.js -function speedometer(samplesCount, min) { - samplesCount = samplesCount || 10; - const bytes = new Array(samplesCount); - const timestamps = new Array(samplesCount); - let head = 0; - let tail = 0; - let firstSampleTS; - min = min !== void 0 ? min : 1e3; - return function push(chunkLength) { - const now = Date.now(); - const startedAt = timestamps[tail]; - if (!firstSampleTS) { - firstSampleTS = now; - } - bytes[head] = chunkLength; - timestamps[head] = now; - let i = tail; - let bytesCount = 0; - while (i !== head) { - bytesCount += bytes[i++]; - i = i % samplesCount; - } - head = (head + 1) % samplesCount; - if (head === tail) { - tail = (tail + 1) % samplesCount; - } - if (now - firstSampleTS < min) { - return; - } - const passed = startedAt && now - startedAt; - return passed ? Math.round(bytesCount * 1e3 / passed) : void 0; - }; -} -var speedometer_default; -var init_speedometer = __esm({ - "node_modules/axios/lib/helpers/speedometer.js"() { - "use strict"; - speedometer_default = speedometer; - } -}); - -// node_modules/axios/lib/helpers/AxiosTransformStream.js -var import_stream, kInternals, AxiosTransformStream, AxiosTransformStream_default; -var init_AxiosTransformStream = __esm({ - "node_modules/axios/lib/helpers/AxiosTransformStream.js"() { - "use strict"; - import_stream = __toESM(require("stream"), 1); - init_utils(); - init_throttle(); - init_speedometer(); - kInternals = Symbol("internals"); - AxiosTransformStream = class extends import_stream.default.Transform { - constructor(options) { - options = utils_default.toFlatObject(options, { - maxRate: 0, - chunkSize: 64 * 1024, - minChunkSize: 100, - timeWindow: 500, - ticksRate: 2, - samplesCount: 15 - }, null, (prop, source2) => { - return !utils_default.isUndefined(source2[prop]); - }); - super({ - readableHighWaterMark: options.chunkSize - }); - const self2 = this; - const internals = this[kInternals] = { - length: options.length, - timeWindow: options.timeWindow, - ticksRate: options.ticksRate, - chunkSize: options.chunkSize, - maxRate: options.maxRate, - minChunkSize: options.minChunkSize, - bytesSeen: 0, - isCaptured: false, - notifiedBytesLoaded: 0, - ts: Date.now(), - bytes: 0, - onReadCallback: null - }; - const _speedometer = speedometer_default(internals.ticksRate * options.samplesCount, internals.timeWindow); - this.on("newListener", (event) => { - if (event === "progress") { - if (!internals.isCaptured) { - internals.isCaptured = true; - } - } - }); - let bytesNotified = 0; - internals.updateProgress = throttle_default(function throttledHandler() { - const totalBytes = internals.length; - const bytesTransferred = internals.bytesSeen; - const progressBytes = bytesTransferred - bytesNotified; - if (!progressBytes || self2.destroyed) - return; - const rate = _speedometer(progressBytes); - bytesNotified = bytesTransferred; - process.nextTick(() => { - self2.emit("progress", { - "loaded": bytesTransferred, - "total": totalBytes, - "progress": totalBytes ? bytesTransferred / totalBytes : void 0, - "bytes": progressBytes, - "rate": rate ? rate : void 0, - "estimated": rate && totalBytes && bytesTransferred <= totalBytes ? (totalBytes - bytesTransferred) / rate : void 0 - }); - }); - }, internals.ticksRate); - const onFinish = () => { - internals.updateProgress(true); - }; - this.once("end", onFinish); - this.once("error", onFinish); - } - _read(size) { - const internals = this[kInternals]; - if (internals.onReadCallback) { - internals.onReadCallback(); - } - return super._read(size); - } - _transform(chunk, encoding, callback) { - const self2 = this; - const internals = this[kInternals]; - const maxRate = internals.maxRate; - const readableHighWaterMark = this.readableHighWaterMark; - const timeWindow = internals.timeWindow; - const divider = 1e3 / timeWindow; - const bytesThreshold = maxRate / divider; - const minChunkSize = internals.minChunkSize !== false ? Math.max(internals.minChunkSize, bytesThreshold * 0.01) : 0; - function pushChunk(_chunk, _callback) { - const bytes = Buffer.byteLength(_chunk); - internals.bytesSeen += bytes; - internals.bytes += bytes; - if (internals.isCaptured) { - internals.updateProgress(); - } - if (self2.push(_chunk)) { - process.nextTick(_callback); - } else { - internals.onReadCallback = () => { - internals.onReadCallback = null; - process.nextTick(_callback); - }; - } - } - const transformChunk = (_chunk, _callback) => { - const chunkSize = Buffer.byteLength(_chunk); - let chunkRemainder = null; - let maxChunkSize = readableHighWaterMark; - let bytesLeft; - let passed = 0; - if (maxRate) { - const now = Date.now(); - if (!internals.ts || (passed = now - internals.ts) >= timeWindow) { - internals.ts = now; - bytesLeft = bytesThreshold - internals.bytes; - internals.bytes = bytesLeft < 0 ? -bytesLeft : 0; - passed = 0; - } - bytesLeft = bytesThreshold - internals.bytes; - } - if (maxRate) { - if (bytesLeft <= 0) { - return setTimeout(() => { - _callback(null, _chunk); - }, timeWindow - passed); - } - if (bytesLeft < maxChunkSize) { - maxChunkSize = bytesLeft; - } - } - if (maxChunkSize && chunkSize > maxChunkSize && chunkSize - maxChunkSize > minChunkSize) { - chunkRemainder = _chunk.subarray(maxChunkSize); - _chunk = _chunk.subarray(0, maxChunkSize); - } - pushChunk(_chunk, chunkRemainder ? () => { - process.nextTick(_callback, null, chunkRemainder); - } : _callback); - }; - transformChunk(chunk, function transformNextChunk(err, _chunk) { - if (err) { - return callback(err); - } - if (_chunk) { - transformChunk(_chunk, transformNextChunk); - } else { - callback(null); - } - }); - } - setLength(length) { - this[kInternals].length = +length; - return this; - } - }; - AxiosTransformStream_default = AxiosTransformStream; - } -}); - -// node_modules/axios/lib/helpers/readBlob.js -var asyncIterator, readBlob, readBlob_default; -var init_readBlob = __esm({ - "node_modules/axios/lib/helpers/readBlob.js"() { - ({ asyncIterator } = Symbol); - readBlob = async function* (blob) { - if (blob.stream) { - yield* blob.stream(); - } else if (blob.arrayBuffer) { - yield await blob.arrayBuffer(); - } else if (blob[asyncIterator]) { - yield* blob[asyncIterator](); - } else { - yield blob; - } - }; - readBlob_default = readBlob; - } -}); - -// node_modules/axios/lib/helpers/formDataToStream.js -var import_util, import_stream2, BOUNDARY_ALPHABET, textEncoder, CRLF, CRLF_BYTES, CRLF_BYTES_COUNT, FormDataPart, formDataToStream, formDataToStream_default; -var init_formDataToStream = __esm({ - "node_modules/axios/lib/helpers/formDataToStream.js"() { - import_util = require("util"); - import_stream2 = require("stream"); - init_utils(); - init_readBlob(); - BOUNDARY_ALPHABET = utils_default.ALPHABET.ALPHA_DIGIT + "-_"; - textEncoder = new import_util.TextEncoder(); - CRLF = "\r\n"; - CRLF_BYTES = textEncoder.encode(CRLF); - CRLF_BYTES_COUNT = 2; - FormDataPart = class { - constructor(name, value) { - const { escapeName } = this.constructor; - const isStringValue = utils_default.isString(value); - let headers = `Content-Disposition: form-data; name="${escapeName(name)}"${!isStringValue && value.name ? `; filename="${escapeName(value.name)}"` : ""}${CRLF}`; - if (isStringValue) { - value = textEncoder.encode(String(value).replace(/\r?\n|\r\n?/g, CRLF)); - } else { - headers += `Content-Type: ${value.type || "application/octet-stream"}${CRLF}`; - } - this.headers = textEncoder.encode(headers + CRLF); - this.contentLength = isStringValue ? value.byteLength : value.size; - this.size = this.headers.byteLength + this.contentLength + CRLF_BYTES_COUNT; - this.name = name; - this.value = value; - } - async *encode() { - yield this.headers; - const { value } = this; - if (utils_default.isTypedArray(value)) { - yield value; - } else { - yield* readBlob_default(value); - } - yield CRLF_BYTES; - } - static escapeName(name) { - return String(name).replace(/[\r\n"]/g, (match) => ({ - "\r": "%0D", - "\n": "%0A", - '"': "%22" - })[match]); - } - }; - formDataToStream = (form, headersHandler, options) => { - const { - tag = "form-data-boundary", - size = 25, - boundary = tag + "-" + utils_default.generateString(size, BOUNDARY_ALPHABET) - } = options || {}; - if (!utils_default.isFormData(form)) { - throw TypeError("FormData instance required"); - } - if (boundary.length < 1 || boundary.length > 70) { - throw Error("boundary must be 10-70 characters long"); - } - const boundaryBytes = textEncoder.encode("--" + boundary + CRLF); - const footerBytes = textEncoder.encode("--" + boundary + "--" + CRLF + CRLF); - let contentLength = footerBytes.byteLength; - const parts = Array.from(form.entries()).map(([name, value]) => { - const part = new FormDataPart(name, value); - contentLength += part.size; - return part; - }); - contentLength += boundaryBytes.byteLength * parts.length; - contentLength = utils_default.toFiniteNumber(contentLength); - const computedHeaders = { - "Content-Type": `multipart/form-data; boundary=${boundary}` - }; - if (Number.isFinite(contentLength)) { - computedHeaders["Content-Length"] = contentLength; - } - headersHandler && headersHandler(computedHeaders); - return import_stream2.Readable.from(async function* () { - for (const part of parts) { - yield boundaryBytes; - yield* part.encode(); - } - yield footerBytes; - }()); - }; - formDataToStream_default = formDataToStream; - } -}); - -// node_modules/axios/lib/helpers/ZlibHeaderTransformStream.js -var import_stream3, ZlibHeaderTransformStream, ZlibHeaderTransformStream_default; -var init_ZlibHeaderTransformStream = __esm({ - "node_modules/axios/lib/helpers/ZlibHeaderTransformStream.js"() { - "use strict"; - import_stream3 = __toESM(require("stream"), 1); - ZlibHeaderTransformStream = class extends import_stream3.default.Transform { - __transform(chunk, encoding, callback) { - this.push(chunk); - callback(); - } - _transform(chunk, encoding, callback) { - if (chunk.length !== 0) { - this._transform = this.__transform; - if (chunk[0] !== 120) { - const header = Buffer.alloc(2); - header[0] = 120; - header[1] = 156; - this.push(header, encoding); - } - } - this.__transform(chunk, encoding, callback); - } - }; - ZlibHeaderTransformStream_default = ZlibHeaderTransformStream; - } -}); - -// node_modules/axios/lib/helpers/callbackify.js -var callbackify, callbackify_default; -var init_callbackify = __esm({ - "node_modules/axios/lib/helpers/callbackify.js"() { - init_utils(); - callbackify = (fn2, reducer) => { - return utils_default.isAsyncFn(fn2) ? function(...args2) { - const cb = args2.pop(); - fn2.apply(this, args2).then((value) => { - try { - reducer ? cb(null, ...reducer(value)) : cb(null, value); - } catch (err) { - cb(err); - } - }, cb); - } : fn2; - }; - callbackify_default = callbackify; - } -}); - -// node_modules/axios/lib/adapters/http.js -function dispatchBeforeRedirect(options) { - if (options.beforeRedirects.proxy) { - options.beforeRedirects.proxy(options); - } - if (options.beforeRedirects.config) { - options.beforeRedirects.config(options); - } -} -function setProxy(options, configProxy, location) { - let proxy = configProxy; - if (!proxy && proxy !== false) { - const proxyUrl = (0, import_proxy_from_env.getProxyForUrl)(location); - if (proxyUrl) { - proxy = new URL(proxyUrl); - } - } - if (proxy) { - if (proxy.username) { - proxy.auth = (proxy.username || "") + ":" + (proxy.password || ""); - } - if (proxy.auth) { - if (proxy.auth.username || proxy.auth.password) { - proxy.auth = (proxy.auth.username || "") + ":" + (proxy.auth.password || ""); - } - const base64 = Buffer.from(proxy.auth, "utf8").toString("base64"); - options.headers["Proxy-Authorization"] = "Basic " + base64; - } - options.headers.host = options.hostname + (options.port ? ":" + options.port : ""); - const proxyHost = proxy.hostname || proxy.host; - options.hostname = proxyHost; - options.host = proxyHost; - options.port = proxy.port; - options.path = location; - if (proxy.protocol) { - options.protocol = proxy.protocol.includes(":") ? proxy.protocol : `${proxy.protocol}:`; - } - } - options.beforeRedirects.proxy = function beforeRedirect(redirectOptions) { - setProxy(redirectOptions, configProxy, redirectOptions.href); - }; -} -var import_proxy_from_env, import_http, import_https, import_util2, import_follow_redirects, import_zlib, import_stream4, import_events, zlibOptions, brotliOptions, isBrotliSupported, httpFollow, httpsFollow, isHttps, supportedProtocols, isHttpAdapterSupported, wrapAsync, http_default; -var init_http = __esm({ - "node_modules/axios/lib/adapters/http.js"() { - "use strict"; - init_utils(); - init_settle(); - init_buildFullPath(); - init_buildURL(); - import_proxy_from_env = __toESM(require_proxy_from_env(), 1); - import_http = __toESM(require("http"), 1); - import_https = __toESM(require("https"), 1); - import_util2 = __toESM(require("util"), 1); - import_follow_redirects = __toESM(require_follow_redirects(), 1); - import_zlib = __toESM(require("zlib"), 1); - init_data(); - init_transitional(); - init_AxiosError(); - init_CanceledError(); - init_platform(); - init_fromDataURI(); - import_stream4 = __toESM(require("stream"), 1); - init_AxiosHeaders(); - init_AxiosTransformStream(); - import_events = __toESM(require("events"), 1); - init_formDataToStream(); - init_readBlob(); - init_ZlibHeaderTransformStream(); - init_callbackify(); - zlibOptions = { - flush: import_zlib.default.constants.Z_SYNC_FLUSH, - finishFlush: import_zlib.default.constants.Z_SYNC_FLUSH - }; - brotliOptions = { - flush: import_zlib.default.constants.BROTLI_OPERATION_FLUSH, - finishFlush: import_zlib.default.constants.BROTLI_OPERATION_FLUSH - }; - isBrotliSupported = utils_default.isFunction(import_zlib.default.createBrotliDecompress); - ({ http: httpFollow, https: httpsFollow } = import_follow_redirects.default); - isHttps = /https:?/; - supportedProtocols = node_default.protocols.map((protocol) => { - return protocol + ":"; - }); - isHttpAdapterSupported = typeof process !== "undefined" && utils_default.kindOf(process) === "process"; - wrapAsync = (asyncExecutor) => { - return new Promise((resolve, reject) => { - let onDone; - let isDone; - const done = (value, isRejected) => { - if (isDone) - return; - isDone = true; - onDone && onDone(value, isRejected); - }; - const _resolve = (value) => { - done(value); - resolve(value); - }; - const _reject = (reason) => { - done(reason, true); - reject(reason); - }; - asyncExecutor(_resolve, _reject, (onDoneHandler) => onDone = onDoneHandler).catch(_reject); - }); - }; - http_default = isHttpAdapterSupported && function httpAdapter(config2) { - return wrapAsync(async function dispatchHttpRequest(resolve, reject, onDone) { - let { data, lookup, family } = config2; - const { responseType, responseEncoding } = config2; - const method = config2.method.toUpperCase(); - let isDone; - let rejected = false; - let req; - if (lookup && utils_default.isAsyncFn(lookup)) { - lookup = callbackify_default(lookup, (entry) => { - if (utils_default.isString(entry)) { - entry = [entry, entry.indexOf(".") < 0 ? 6 : 4]; - } else if (!utils_default.isArray(entry)) { - throw new TypeError("lookup async function must return an array [ip: string, family: number]]"); - } - return entry; - }); - } - const emitter = new import_events.default(); - const onFinished = () => { - if (config2.cancelToken) { - config2.cancelToken.unsubscribe(abort); - } - if (config2.signal) { - config2.signal.removeEventListener("abort", abort); - } - emitter.removeAllListeners(); - }; - onDone((value, isRejected) => { - isDone = true; - if (isRejected) { - rejected = true; - onFinished(); - } - }); - function abort(reason) { - emitter.emit("abort", !reason || reason.type ? new CanceledError_default(null, config2, req) : reason); - } - emitter.once("abort", reject); - if (config2.cancelToken || config2.signal) { - config2.cancelToken && config2.cancelToken.subscribe(abort); - if (config2.signal) { - config2.signal.aborted ? abort() : config2.signal.addEventListener("abort", abort); - } - } - const fullPath = buildFullPath(config2.baseURL, config2.url); - const parsed = new URL(fullPath, "http://localhost"); - const protocol = parsed.protocol || supportedProtocols[0]; - if (protocol === "data:") { - let convertedData; - if (method !== "GET") { - return settle(resolve, reject, { - status: 405, - statusText: "method not allowed", - headers: {}, - config: config2 - }); - } - try { - convertedData = fromDataURI(config2.url, responseType === "blob", { - Blob: config2.env && config2.env.Blob - }); - } catch (err) { - throw AxiosError_default.from(err, AxiosError_default.ERR_BAD_REQUEST, config2); - } - if (responseType === "text") { - convertedData = convertedData.toString(responseEncoding); - if (!responseEncoding || responseEncoding === "utf8") { - convertedData = utils_default.stripBOM(convertedData); - } - } else if (responseType === "stream") { - convertedData = import_stream4.default.Readable.from(convertedData); - } - return settle(resolve, reject, { - data: convertedData, - status: 200, - statusText: "OK", - headers: new AxiosHeaders_default(), - config: config2 - }); - } - if (supportedProtocols.indexOf(protocol) === -1) { - return reject(new AxiosError_default( - "Unsupported protocol " + protocol, - AxiosError_default.ERR_BAD_REQUEST, - config2 - )); - } - const headers = AxiosHeaders_default.from(config2.headers).normalize(); - headers.set("User-Agent", "axios/" + VERSION, false); - const onDownloadProgress = config2.onDownloadProgress; - const onUploadProgress = config2.onUploadProgress; - const maxRate = config2.maxRate; - let maxUploadRate = void 0; - let maxDownloadRate = void 0; - if (utils_default.isSpecCompliantForm(data)) { - const userBoundary = headers.getContentType(/boundary=([-_\w\d]{10,70})/i); - data = formDataToStream_default(data, (formHeaders) => { - headers.set(formHeaders); - }, { - tag: `axios-${VERSION}-boundary`, - boundary: userBoundary && userBoundary[1] || void 0 - }); - } else if (utils_default.isFormData(data) && utils_default.isFunction(data.getHeaders)) { - headers.set(data.getHeaders()); - if (!headers.hasContentLength()) { - try { - const knownLength = await import_util2.default.promisify(data.getLength).call(data); - Number.isFinite(knownLength) && knownLength >= 0 && headers.setContentLength(knownLength); - } catch (e) { - } - } - } else if (utils_default.isBlob(data)) { - data.size && headers.setContentType(data.type || "application/octet-stream"); - headers.setContentLength(data.size || 0); - data = import_stream4.default.Readable.from(readBlob_default(data)); - } else if (data && !utils_default.isStream(data)) { - if (Buffer.isBuffer(data)) { - } else if (utils_default.isArrayBuffer(data)) { - data = Buffer.from(new Uint8Array(data)); - } else if (utils_default.isString(data)) { - data = Buffer.from(data, "utf-8"); - } else { - return reject(new AxiosError_default( - "Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream", - AxiosError_default.ERR_BAD_REQUEST, - config2 - )); - } - headers.setContentLength(data.length, false); - if (config2.maxBodyLength > -1 && data.length > config2.maxBodyLength) { - return reject(new AxiosError_default( - "Request body larger than maxBodyLength limit", - AxiosError_default.ERR_BAD_REQUEST, - config2 - )); - } - } - const contentLength = utils_default.toFiniteNumber(headers.getContentLength()); - if (utils_default.isArray(maxRate)) { - maxUploadRate = maxRate[0]; - maxDownloadRate = maxRate[1]; - } else { - maxUploadRate = maxDownloadRate = maxRate; - } - if (data && (onUploadProgress || maxUploadRate)) { - if (!utils_default.isStream(data)) { - data = import_stream4.default.Readable.from(data, { objectMode: false }); - } - data = import_stream4.default.pipeline([data, new AxiosTransformStream_default({ - length: contentLength, - maxRate: utils_default.toFiniteNumber(maxUploadRate) - })], utils_default.noop); - onUploadProgress && data.on("progress", (progress) => { - onUploadProgress(Object.assign(progress, { - upload: true - })); - }); - } - let auth = void 0; - if (config2.auth) { - const username = config2.auth.username || ""; - const password = config2.auth.password || ""; - auth = username + ":" + password; - } - if (!auth && parsed.username) { - const urlUsername = parsed.username; - const urlPassword = parsed.password; - auth = urlUsername + ":" + urlPassword; - } - auth && headers.delete("authorization"); - let path4; - try { - path4 = buildURL( - parsed.pathname + parsed.search, - config2.params, - config2.paramsSerializer - ).replace(/^\?/, ""); - } catch (err) { - const customErr = new Error(err.message); - customErr.config = config2; - customErr.url = config2.url; - customErr.exists = true; - return reject(customErr); - } - headers.set( - "Accept-Encoding", - "gzip, compress, deflate" + (isBrotliSupported ? ", br" : ""), - false - ); - const options = { - path: path4, - method, - headers: headers.toJSON(), - agents: { http: config2.httpAgent, https: config2.httpsAgent }, - auth, - protocol, - family, - lookup, - beforeRedirect: dispatchBeforeRedirect, - beforeRedirects: {} - }; - if (config2.socketPath) { - options.socketPath = config2.socketPath; - } else { - options.hostname = parsed.hostname; - options.port = parsed.port; - setProxy(options, config2.proxy, protocol + "//" + parsed.hostname + (parsed.port ? ":" + parsed.port : "") + options.path); - } - let transport; - const isHttpsRequest = isHttps.test(options.protocol); - options.agent = isHttpsRequest ? config2.httpsAgent : config2.httpAgent; - if (config2.transport) { - transport = config2.transport; - } else if (config2.maxRedirects === 0) { - transport = isHttpsRequest ? import_https.default : import_http.default; - } else { - if (config2.maxRedirects) { - options.maxRedirects = config2.maxRedirects; - } - if (config2.beforeRedirect) { - options.beforeRedirects.config = config2.beforeRedirect; - } - transport = isHttpsRequest ? httpsFollow : httpFollow; - } - if (config2.maxBodyLength > -1) { - options.maxBodyLength = config2.maxBodyLength; - } else { - options.maxBodyLength = Infinity; - } - if (config2.insecureHTTPParser) { - options.insecureHTTPParser = config2.insecureHTTPParser; - } - req = transport.request(options, function handleResponse(res) { - if (req.destroyed) - return; - const streams = [res]; - const responseLength = +res.headers["content-length"]; - if (onDownloadProgress) { - const transformStream = new AxiosTransformStream_default({ - length: utils_default.toFiniteNumber(responseLength), - maxRate: utils_default.toFiniteNumber(maxDownloadRate) - }); - onDownloadProgress && transformStream.on("progress", (progress) => { - onDownloadProgress(Object.assign(progress, { - download: true - })); - }); - streams.push(transformStream); - } - let responseStream = res; - const lastRequest = res.req || req; - if (config2.decompress !== false && res.headers["content-encoding"]) { - if (method === "HEAD" || res.statusCode === 204) { - delete res.headers["content-encoding"]; - } - switch (res.headers["content-encoding"]) { - case "gzip": - case "x-gzip": - case "compress": - case "x-compress": - streams.push(import_zlib.default.createUnzip(zlibOptions)); - delete res.headers["content-encoding"]; - break; - case "deflate": - streams.push(new ZlibHeaderTransformStream_default()); - streams.push(import_zlib.default.createUnzip(zlibOptions)); - delete res.headers["content-encoding"]; - break; - case "br": - if (isBrotliSupported) { - streams.push(import_zlib.default.createBrotliDecompress(brotliOptions)); - delete res.headers["content-encoding"]; - } - } - } - responseStream = streams.length > 1 ? import_stream4.default.pipeline(streams, utils_default.noop) : streams[0]; - const offListeners = import_stream4.default.finished(responseStream, () => { - offListeners(); - onFinished(); - }); - const response = { - status: res.statusCode, - statusText: res.statusMessage, - headers: new AxiosHeaders_default(res.headers), - config: config2, - request: lastRequest - }; - if (responseType === "stream") { - response.data = responseStream; - settle(resolve, reject, response); - } else { - const responseBuffer = []; - let totalResponseBytes = 0; - responseStream.on("data", function handleStreamData(chunk) { - responseBuffer.push(chunk); - totalResponseBytes += chunk.length; - if (config2.maxContentLength > -1 && totalResponseBytes > config2.maxContentLength) { - rejected = true; - responseStream.destroy(); - reject(new AxiosError_default( - "maxContentLength size of " + config2.maxContentLength + " exceeded", - AxiosError_default.ERR_BAD_RESPONSE, - config2, - lastRequest - )); - } - }); - responseStream.on("aborted", function handlerStreamAborted() { - if (rejected) { - return; - } - const err = new AxiosError_default( - "maxContentLength size of " + config2.maxContentLength + " exceeded", - AxiosError_default.ERR_BAD_RESPONSE, - config2, - lastRequest - ); - responseStream.destroy(err); - reject(err); - }); - responseStream.on("error", function handleStreamError(err) { - if (req.destroyed) - return; - reject(AxiosError_default.from(err, null, config2, lastRequest)); - }); - responseStream.on("end", function handleStreamEnd() { - try { - let responseData = responseBuffer.length === 1 ? responseBuffer[0] : Buffer.concat(responseBuffer); - if (responseType !== "arraybuffer") { - responseData = responseData.toString(responseEncoding); - if (!responseEncoding || responseEncoding === "utf8") { - responseData = utils_default.stripBOM(responseData); - } - } - response.data = responseData; - } catch (err) { - reject(AxiosError_default.from(err, null, config2, response.request, response)); - } - settle(resolve, reject, response); - }); - } - emitter.once("abort", (err) => { - if (!responseStream.destroyed) { - responseStream.emit("error", err); - responseStream.destroy(); - } - }); - }); - emitter.once("abort", (err) => { - reject(err); - req.destroy(err); - }); - req.on("error", function handleRequestError(err) { - reject(AxiosError_default.from(err, null, config2, req)); - }); - req.on("socket", function handleRequestSocket(socket) { - socket.setKeepAlive(true, 1e3 * 60); - }); - if (config2.timeout) { - const timeout = parseInt(config2.timeout, 10); - if (isNaN(timeout)) { - reject(new AxiosError_default( - "error trying to parse `config.timeout` to int", - AxiosError_default.ERR_BAD_OPTION_VALUE, - config2, - req - )); - return; - } - req.setTimeout(timeout, function handleRequestTimeout() { - if (isDone) - return; - let timeoutErrorMessage = config2.timeout ? "timeout of " + config2.timeout + "ms exceeded" : "timeout exceeded"; - const transitional2 = config2.transitional || transitional_default; - if (config2.timeoutErrorMessage) { - timeoutErrorMessage = config2.timeoutErrorMessage; - } - reject(new AxiosError_default( - timeoutErrorMessage, - transitional2.clarifyTimeoutError ? AxiosError_default.ETIMEDOUT : AxiosError_default.ECONNABORTED, - config2, - req - )); - abort(); - }); - } - if (utils_default.isStream(data)) { - let ended = false; - let errored = false; - data.on("end", () => { - ended = true; - }); - data.once("error", (err) => { - errored = true; - req.destroy(err); - }); - data.on("close", () => { - if (!ended && !errored) { - abort(new CanceledError_default("Request stream has been aborted", config2, req)); - } - }); - data.pipe(req); - } else { - req.end(data); - } - }); - }; - } -}); - -// node_modules/axios/lib/helpers/cookies.js -var cookies_default; -var init_cookies = __esm({ - "node_modules/axios/lib/helpers/cookies.js"() { - "use strict"; - init_utils(); - init_platform(); - cookies_default = node_default.isStandardBrowserEnv ? function standardBrowserEnv() { - return { - write: function write(name, value, expires, path4, domain, secure) { - const cookie = []; - cookie.push(name + "=" + encodeURIComponent(value)); - if (utils_default.isNumber(expires)) { - cookie.push("expires=" + new Date(expires).toGMTString()); - } - if (utils_default.isString(path4)) { - cookie.push("path=" + path4); - } - if (utils_default.isString(domain)) { - cookie.push("domain=" + domain); - } - if (secure === true) { - cookie.push("secure"); - } - document.cookie = cookie.join("; "); - }, - read: function read(name) { - const match = document.cookie.match(new RegExp("(^|;\\s*)(" + name + ")=([^;]*)")); - return match ? decodeURIComponent(match[3]) : null; - }, - remove: function remove(name) { - this.write(name, "", Date.now() - 864e5); - } - }; - }() : function nonStandardBrowserEnv() { - return { - write: function write() { - }, - read: function read() { - return null; - }, - remove: function remove() { - } - }; - }(); - } -}); - -// node_modules/axios/lib/helpers/isURLSameOrigin.js -var isURLSameOrigin_default; -var init_isURLSameOrigin = __esm({ - "node_modules/axios/lib/helpers/isURLSameOrigin.js"() { - "use strict"; - init_utils(); - init_platform(); - isURLSameOrigin_default = node_default.isStandardBrowserEnv ? function standardBrowserEnv2() { - const msie = /(msie|trident)/i.test(navigator.userAgent); - const urlParsingNode = document.createElement("a"); - let originURL; - function resolveURL(url2) { - let href = url2; - if (msie) { - urlParsingNode.setAttribute("href", href); - href = urlParsingNode.href; - } - urlParsingNode.setAttribute("href", href); - return { - href: urlParsingNode.href, - protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, "") : "", - host: urlParsingNode.host, - search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, "") : "", - hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, "") : "", - hostname: urlParsingNode.hostname, - port: urlParsingNode.port, - pathname: urlParsingNode.pathname.charAt(0) === "/" ? urlParsingNode.pathname : "/" + urlParsingNode.pathname - }; - } - originURL = resolveURL(window.location.href); - return function isURLSameOrigin(requestURL) { - const parsed = utils_default.isString(requestURL) ? resolveURL(requestURL) : requestURL; - return parsed.protocol === originURL.protocol && parsed.host === originURL.host; - }; - }() : function nonStandardBrowserEnv2() { - return function isURLSameOrigin() { - return true; - }; - }(); - } -}); - -// node_modules/axios/lib/adapters/xhr.js -function progressEventReducer(listener, isDownloadStream) { - let bytesNotified = 0; - const _speedometer = speedometer_default(50, 250); - return (e) => { - const loaded = e.loaded; - const total = e.lengthComputable ? e.total : void 0; - const progressBytes = loaded - bytesNotified; - const rate = _speedometer(progressBytes); - const inRange = loaded <= total; - bytesNotified = loaded; - const data = { - loaded, - total, - progress: total ? loaded / total : void 0, - bytes: progressBytes, - rate: rate ? rate : void 0, - estimated: rate && total && inRange ? (total - loaded) / rate : void 0, - event: e - }; - data[isDownloadStream ? "download" : "upload"] = true; - listener(data); - }; -} -var isXHRAdapterSupported, xhr_default; -var init_xhr = __esm({ - "node_modules/axios/lib/adapters/xhr.js"() { - "use strict"; - init_utils(); - init_settle(); - init_cookies(); - init_buildURL(); - init_buildFullPath(); - init_isURLSameOrigin(); - init_transitional(); - init_AxiosError(); - init_CanceledError(); - init_parseProtocol(); - init_platform(); - init_AxiosHeaders(); - init_speedometer(); - isXHRAdapterSupported = typeof XMLHttpRequest !== "undefined"; - xhr_default = isXHRAdapterSupported && function(config2) { - return new Promise(function dispatchXhrRequest(resolve, reject) { - let requestData = config2.data; - const requestHeaders = AxiosHeaders_default.from(config2.headers).normalize(); - const responseType = config2.responseType; - let onCanceled; - function done() { - if (config2.cancelToken) { - config2.cancelToken.unsubscribe(onCanceled); - } - if (config2.signal) { - config2.signal.removeEventListener("abort", onCanceled); - } - } - if (utils_default.isFormData(requestData)) { - if (node_default.isStandardBrowserEnv || node_default.isStandardBrowserWebWorkerEnv) { - requestHeaders.setContentType(false); - } else { - requestHeaders.setContentType("multipart/form-data;", false); - } - } - let request2 = new XMLHttpRequest(); - if (config2.auth) { - const username = config2.auth.username || ""; - const password = config2.auth.password ? unescape(encodeURIComponent(config2.auth.password)) : ""; - requestHeaders.set("Authorization", "Basic " + btoa(username + ":" + password)); - } - const fullPath = buildFullPath(config2.baseURL, config2.url); - request2.open(config2.method.toUpperCase(), buildURL(fullPath, config2.params, config2.paramsSerializer), true); - request2.timeout = config2.timeout; - function onloadend() { - if (!request2) { - return; - } - const responseHeaders = AxiosHeaders_default.from( - "getAllResponseHeaders" in request2 && request2.getAllResponseHeaders() - ); - const responseData = !responseType || responseType === "text" || responseType === "json" ? request2.responseText : request2.response; - const response = { - data: responseData, - status: request2.status, - statusText: request2.statusText, - headers: responseHeaders, - config: config2, - request: request2 - }; - settle(function _resolve(value) { - resolve(value); - done(); - }, function _reject(err) { - reject(err); - done(); - }, response); - request2 = null; - } - if ("onloadend" in request2) { - request2.onloadend = onloadend; - } else { - request2.onreadystatechange = function handleLoad() { - if (!request2 || request2.readyState !== 4) { - return; - } - if (request2.status === 0 && !(request2.responseURL && request2.responseURL.indexOf("file:") === 0)) { - return; - } - setTimeout(onloadend); - }; - } - request2.onabort = function handleAbort() { - if (!request2) { - return; - } - reject(new AxiosError_default("Request aborted", AxiosError_default.ECONNABORTED, config2, request2)); - request2 = null; - }; - request2.onerror = function handleError() { - reject(new AxiosError_default("Network Error", AxiosError_default.ERR_NETWORK, config2, request2)); - request2 = null; - }; - request2.ontimeout = function handleTimeout() { - let timeoutErrorMessage = config2.timeout ? "timeout of " + config2.timeout + "ms exceeded" : "timeout exceeded"; - const transitional2 = config2.transitional || transitional_default; - if (config2.timeoutErrorMessage) { - timeoutErrorMessage = config2.timeoutErrorMessage; - } - reject(new AxiosError_default( - timeoutErrorMessage, - transitional2.clarifyTimeoutError ? AxiosError_default.ETIMEDOUT : AxiosError_default.ECONNABORTED, - config2, - request2 - )); - request2 = null; - }; - if (node_default.isStandardBrowserEnv) { - const xsrfValue = (config2.withCredentials || isURLSameOrigin_default(fullPath)) && config2.xsrfCookieName && cookies_default.read(config2.xsrfCookieName); - if (xsrfValue) { - requestHeaders.set(config2.xsrfHeaderName, xsrfValue); - } - } - requestData === void 0 && requestHeaders.setContentType(null); - if ("setRequestHeader" in request2) { - utils_default.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) { - request2.setRequestHeader(key, val); - }); - } - if (!utils_default.isUndefined(config2.withCredentials)) { - request2.withCredentials = !!config2.withCredentials; - } - if (responseType && responseType !== "json") { - request2.responseType = config2.responseType; - } - if (typeof config2.onDownloadProgress === "function") { - request2.addEventListener("progress", progressEventReducer(config2.onDownloadProgress, true)); - } - if (typeof config2.onUploadProgress === "function" && request2.upload) { - request2.upload.addEventListener("progress", progressEventReducer(config2.onUploadProgress)); - } - if (config2.cancelToken || config2.signal) { - onCanceled = (cancel) => { - if (!request2) { - return; - } - reject(!cancel || cancel.type ? new CanceledError_default(null, config2, request2) : cancel); - request2.abort(); - request2 = null; - }; - config2.cancelToken && config2.cancelToken.subscribe(onCanceled); - if (config2.signal) { - config2.signal.aborted ? onCanceled() : config2.signal.addEventListener("abort", onCanceled); - } - } - const protocol = parseProtocol(fullPath); - if (protocol && node_default.protocols.indexOf(protocol) === -1) { - reject(new AxiosError_default("Unsupported protocol " + protocol + ":", AxiosError_default.ERR_BAD_REQUEST, config2)); - return; - } - request2.send(requestData || null); - }); - }; - } -}); - -// node_modules/axios/lib/adapters/adapters.js -var knownAdapters, adapters_default; -var init_adapters = __esm({ - "node_modules/axios/lib/adapters/adapters.js"() { - init_utils(); - init_http(); - init_xhr(); - init_AxiosError(); - knownAdapters = { - http: http_default, - xhr: xhr_default - }; - utils_default.forEach(knownAdapters, (fn2, value) => { - if (fn2) { - try { - Object.defineProperty(fn2, "name", { value }); - } catch (e) { - } - Object.defineProperty(fn2, "adapterName", { value }); - } - }); - adapters_default = { - getAdapter: (adapters) => { - adapters = utils_default.isArray(adapters) ? adapters : [adapters]; - const { length } = adapters; - let nameOrAdapter; - let adapter2; - for (let i = 0; i < length; i++) { - nameOrAdapter = adapters[i]; - if (adapter2 = utils_default.isString(nameOrAdapter) ? knownAdapters[nameOrAdapter.toLowerCase()] : nameOrAdapter) { - break; - } - } - if (!adapter2) { - if (adapter2 === false) { - throw new AxiosError_default( - `Adapter ${nameOrAdapter} is not supported by the environment`, - "ERR_NOT_SUPPORT" - ); - } - throw new Error( - utils_default.hasOwnProp(knownAdapters, nameOrAdapter) ? `Adapter '${nameOrAdapter}' is not available in the build` : `Unknown adapter '${nameOrAdapter}'` - ); - } - if (!utils_default.isFunction(adapter2)) { - throw new TypeError("adapter is not a function"); - } - return adapter2; - }, - adapters: knownAdapters - }; - } -}); - -// node_modules/axios/lib/core/dispatchRequest.js -function throwIfCancellationRequested(config2) { - if (config2.cancelToken) { - config2.cancelToken.throwIfRequested(); - } - if (config2.signal && config2.signal.aborted) { - throw new CanceledError_default(null, config2); - } -} -function dispatchRequest(config2) { - throwIfCancellationRequested(config2); - config2.headers = AxiosHeaders_default.from(config2.headers); - config2.data = transformData.call( - config2, - config2.transformRequest - ); - if (["post", "put", "patch"].indexOf(config2.method) !== -1) { - config2.headers.setContentType("application/x-www-form-urlencoded", false); - } - const adapter2 = adapters_default.getAdapter(config2.adapter || defaults_default.adapter); - return adapter2(config2).then(function onAdapterResolution(response) { - throwIfCancellationRequested(config2); - response.data = transformData.call( - config2, - config2.transformResponse, - response - ); - response.headers = AxiosHeaders_default.from(response.headers); - return response; - }, function onAdapterRejection(reason) { - if (!isCancel(reason)) { - throwIfCancellationRequested(config2); - if (reason && reason.response) { - reason.response.data = transformData.call( - config2, - config2.transformResponse, - reason.response - ); - reason.response.headers = AxiosHeaders_default.from(reason.response.headers); - } - } - return Promise.reject(reason); - }); -} -var init_dispatchRequest = __esm({ - "node_modules/axios/lib/core/dispatchRequest.js"() { - "use strict"; - init_transformData(); - init_isCancel(); - init_defaults(); - init_CanceledError(); - init_AxiosHeaders(); - init_adapters(); - } -}); - -// node_modules/axios/lib/core/mergeConfig.js -function mergeConfig(config1, config2) { - config2 = config2 || {}; - const config3 = {}; - function getMergedValue(target, source2, caseless) { - if (utils_default.isPlainObject(target) && utils_default.isPlainObject(source2)) { - return utils_default.merge.call({ caseless }, target, source2); - } else if (utils_default.isPlainObject(source2)) { - return utils_default.merge({}, source2); - } else if (utils_default.isArray(source2)) { - return source2.slice(); - } - return source2; - } - function mergeDeepProperties(a, b, caseless) { - if (!utils_default.isUndefined(b)) { - return getMergedValue(a, b, caseless); - } else if (!utils_default.isUndefined(a)) { - return getMergedValue(void 0, a, caseless); - } - } - function valueFromConfig2(a, b) { - if (!utils_default.isUndefined(b)) { - return getMergedValue(void 0, b); - } - } - function defaultToConfig2(a, b) { - if (!utils_default.isUndefined(b)) { - return getMergedValue(void 0, b); - } else if (!utils_default.isUndefined(a)) { - return getMergedValue(void 0, a); - } - } - function mergeDirectKeys(a, b, prop) { - if (prop in config2) { - return getMergedValue(a, b); - } else if (prop in config1) { - return getMergedValue(void 0, a); - } - } - const mergeMap = { - url: valueFromConfig2, - method: valueFromConfig2, - data: valueFromConfig2, - baseURL: defaultToConfig2, - transformRequest: defaultToConfig2, - transformResponse: defaultToConfig2, - paramsSerializer: defaultToConfig2, - timeout: defaultToConfig2, - timeoutMessage: defaultToConfig2, - withCredentials: defaultToConfig2, - adapter: defaultToConfig2, - responseType: defaultToConfig2, - xsrfCookieName: defaultToConfig2, - xsrfHeaderName: defaultToConfig2, - onUploadProgress: defaultToConfig2, - onDownloadProgress: defaultToConfig2, - decompress: defaultToConfig2, - maxContentLength: defaultToConfig2, - maxBodyLength: defaultToConfig2, - beforeRedirect: defaultToConfig2, - transport: defaultToConfig2, - httpAgent: defaultToConfig2, - httpsAgent: defaultToConfig2, - cancelToken: defaultToConfig2, - socketPath: defaultToConfig2, - responseEncoding: defaultToConfig2, - validateStatus: mergeDirectKeys, - headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true) - }; - utils_default.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) { - const merge2 = mergeMap[prop] || mergeDeepProperties; - const configValue = merge2(config1[prop], config2[prop], prop); - utils_default.isUndefined(configValue) && merge2 !== mergeDirectKeys || (config3[prop] = configValue); - }); - return config3; -} -var headersToObject; -var init_mergeConfig = __esm({ - "node_modules/axios/lib/core/mergeConfig.js"() { - "use strict"; - init_utils(); - init_AxiosHeaders(); - headersToObject = (thing) => thing instanceof AxiosHeaders_default ? thing.toJSON() : thing; - } -}); - -// node_modules/axios/lib/helpers/validator.js -function assertOptions(options, schema, allowUnknown) { - if (typeof options !== "object") { - throw new AxiosError_default("options must be an object", AxiosError_default.ERR_BAD_OPTION_VALUE); - } - const keys2 = Object.keys(options); - let i = keys2.length; - while (i-- > 0) { - const opt = keys2[i]; - const validator = schema[opt]; - if (validator) { - const value = options[opt]; - const result = value === void 0 || validator(value, opt, options); - if (result !== true) { - throw new AxiosError_default("option " + opt + " must be " + result, AxiosError_default.ERR_BAD_OPTION_VALUE); - } - continue; - } - if (allowUnknown !== true) { - throw new AxiosError_default("Unknown option " + opt, AxiosError_default.ERR_BAD_OPTION); - } - } -} -var validators, deprecatedWarnings, validator_default; -var init_validator = __esm({ - "node_modules/axios/lib/helpers/validator.js"() { - "use strict"; - init_data(); - init_AxiosError(); - validators = {}; - ["object", "boolean", "number", "function", "string", "symbol"].forEach((type, i) => { - validators[type] = function validator(thing) { - return typeof thing === type || "a" + (i < 1 ? "n " : " ") + type; - }; - }); - deprecatedWarnings = {}; - validators.transitional = function transitional(validator, version, message2) { - function formatMessage(opt, desc) { - return "[Axios v" + VERSION + "] Transitional option '" + opt + "'" + desc + (message2 ? ". " + message2 : ""); - } - return (value, opt, opts) => { - if (validator === false) { - throw new AxiosError_default( - formatMessage(opt, " has been removed" + (version ? " in " + version : "")), - AxiosError_default.ERR_DEPRECATED - ); - } - if (version && !deprecatedWarnings[opt]) { - deprecatedWarnings[opt] = true; - console.warn( - formatMessage( - opt, - " has been deprecated since v" + version + " and will be removed in the near future" - ) - ); - } - return validator ? validator(value, opt, opts) : true; - }; - }; - validator_default = { - assertOptions, - validators - }; - } -}); - -// node_modules/axios/lib/core/Axios.js -var validators2, Axios, Axios_default; -var init_Axios = __esm({ - "node_modules/axios/lib/core/Axios.js"() { - "use strict"; - init_utils(); - init_buildURL(); - init_InterceptorManager(); - init_dispatchRequest(); - init_mergeConfig(); - init_buildFullPath(); - init_validator(); - init_AxiosHeaders(); - validators2 = validator_default.validators; - Axios = class { - constructor(instanceConfig) { - this.defaults = instanceConfig; - this.interceptors = { - request: new InterceptorManager_default(), - response: new InterceptorManager_default() - }; - } - request(configOrUrl, config2) { - if (typeof configOrUrl === "string") { - config2 = config2 || {}; - config2.url = configOrUrl; - } else { - config2 = configOrUrl || {}; - } - config2 = mergeConfig(this.defaults, config2); - const { transitional: transitional2, paramsSerializer, headers } = config2; - if (transitional2 !== void 0) { - validator_default.assertOptions(transitional2, { - silentJSONParsing: validators2.transitional(validators2.boolean), - forcedJSONParsing: validators2.transitional(validators2.boolean), - clarifyTimeoutError: validators2.transitional(validators2.boolean) - }, false); - } - if (paramsSerializer != null) { - if (utils_default.isFunction(paramsSerializer)) { - config2.paramsSerializer = { - serialize: paramsSerializer - }; - } else { - validator_default.assertOptions(paramsSerializer, { - encode: validators2.function, - serialize: validators2.function - }, true); - } - } - config2.method = (config2.method || this.defaults.method || "get").toLowerCase(); - let contextHeaders; - contextHeaders = headers && utils_default.merge( - headers.common, - headers[config2.method] - ); - contextHeaders && utils_default.forEach( - ["delete", "get", "head", "post", "put", "patch", "common"], - (method) => { - delete headers[method]; - } - ); - config2.headers = AxiosHeaders_default.concat(contextHeaders, headers); - const requestInterceptorChain = []; - let synchronousRequestInterceptors = true; - this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { - if (typeof interceptor.runWhen === "function" && interceptor.runWhen(config2) === false) { - return; - } - synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; - requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected); - }); - const responseInterceptorChain = []; - this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { - responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); - }); - let promise; - let i = 0; - let len; - if (!synchronousRequestInterceptors) { - const chain = [dispatchRequest.bind(this), void 0]; - chain.unshift.apply(chain, requestInterceptorChain); - chain.push.apply(chain, responseInterceptorChain); - len = chain.length; - promise = Promise.resolve(config2); - while (i < len) { - promise = promise.then(chain[i++], chain[i++]); - } - return promise; - } - len = requestInterceptorChain.length; - let newConfig = config2; - i = 0; - while (i < len) { - const onFulfilled = requestInterceptorChain[i++]; - const onRejected = requestInterceptorChain[i++]; - try { - newConfig = onFulfilled(newConfig); - } catch (error) { - onRejected.call(this, error); - break; - } - } - try { - promise = dispatchRequest.call(this, newConfig); - } catch (error) { - return Promise.reject(error); - } - i = 0; - len = responseInterceptorChain.length; - while (i < len) { - promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]); - } - return promise; - } - getUri(config2) { - config2 = mergeConfig(this.defaults, config2); - const fullPath = buildFullPath(config2.baseURL, config2.url); - return buildURL(fullPath, config2.params, config2.paramsSerializer); - } - }; - utils_default.forEach(["delete", "get", "head", "options"], function forEachMethodNoData2(method) { - Axios.prototype[method] = function(url2, config2) { - return this.request(mergeConfig(config2 || {}, { - method, - url: url2, - data: (config2 || {}).data - })); - }; - }); - utils_default.forEach(["post", "put", "patch"], function forEachMethodWithData2(method) { - function generateHTTPMethod(isForm) { - return function httpMethod(url2, data, config2) { - return this.request(mergeConfig(config2 || {}, { - method, - headers: isForm ? { - "Content-Type": "multipart/form-data" - } : {}, - url: url2, - data - })); - }; - } - Axios.prototype[method] = generateHTTPMethod(); - Axios.prototype[method + "Form"] = generateHTTPMethod(true); - }); - Axios_default = Axios; - } -}); - -// node_modules/axios/lib/cancel/CancelToken.js -var CancelToken, CancelToken_default; -var init_CancelToken = __esm({ - "node_modules/axios/lib/cancel/CancelToken.js"() { - "use strict"; - init_CanceledError(); - CancelToken = class { - constructor(executor) { - if (typeof executor !== "function") { - throw new TypeError("executor must be a function."); - } - let resolvePromise; - this.promise = new Promise(function promiseExecutor(resolve) { - resolvePromise = resolve; - }); - const token = this; - this.promise.then((cancel) => { - if (!token._listeners) - return; - let i = token._listeners.length; - while (i-- > 0) { - token._listeners[i](cancel); - } - token._listeners = null; - }); - this.promise.then = (onfulfilled) => { - let _resolve; - const promise = new Promise((resolve) => { - token.subscribe(resolve); - _resolve = resolve; - }).then(onfulfilled); - promise.cancel = function reject() { - token.unsubscribe(_resolve); - }; - return promise; - }; - executor(function cancel(message2, config2, request2) { - if (token.reason) { - return; - } - token.reason = new CanceledError_default(message2, config2, request2); - resolvePromise(token.reason); - }); - } - throwIfRequested() { - if (this.reason) { - throw this.reason; - } - } - subscribe(listener) { - if (this.reason) { - listener(this.reason); - return; - } - if (this._listeners) { - this._listeners.push(listener); - } else { - this._listeners = [listener]; - } - } - unsubscribe(listener) { - if (!this._listeners) { - return; - } - const index = this._listeners.indexOf(listener); - if (index !== -1) { - this._listeners.splice(index, 1); - } - } - static source() { - let cancel; - const token = new CancelToken(function executor(c) { - cancel = c; - }); - return { - token, - cancel - }; - } - }; - CancelToken_default = CancelToken; - } -}); - -// node_modules/axios/lib/helpers/spread.js -function spread(callback) { - return function wrap(arr) { - return callback.apply(null, arr); - }; -} -var init_spread = __esm({ - "node_modules/axios/lib/helpers/spread.js"() { - "use strict"; - } -}); - -// node_modules/axios/lib/helpers/isAxiosError.js -function isAxiosError(payload) { - return utils_default.isObject(payload) && payload.isAxiosError === true; -} -var init_isAxiosError = __esm({ - "node_modules/axios/lib/helpers/isAxiosError.js"() { - "use strict"; - init_utils(); - } -}); - -// node_modules/axios/lib/helpers/HttpStatusCode.js -var HttpStatusCode, HttpStatusCode_default; -var init_HttpStatusCode = __esm({ - "node_modules/axios/lib/helpers/HttpStatusCode.js"() { - HttpStatusCode = { - Continue: 100, - SwitchingProtocols: 101, - Processing: 102, - EarlyHints: 103, - Ok: 200, - Created: 201, - Accepted: 202, - NonAuthoritativeInformation: 203, - NoContent: 204, - ResetContent: 205, - PartialContent: 206, - MultiStatus: 207, - AlreadyReported: 208, - ImUsed: 226, - MultipleChoices: 300, - MovedPermanently: 301, - Found: 302, - SeeOther: 303, - NotModified: 304, - UseProxy: 305, - Unused: 306, - TemporaryRedirect: 307, - PermanentRedirect: 308, - BadRequest: 400, - Unauthorized: 401, - PaymentRequired: 402, - Forbidden: 403, - NotFound: 404, - MethodNotAllowed: 405, - NotAcceptable: 406, - ProxyAuthenticationRequired: 407, - RequestTimeout: 408, - Conflict: 409, - Gone: 410, - LengthRequired: 411, - PreconditionFailed: 412, - PayloadTooLarge: 413, - UriTooLong: 414, - UnsupportedMediaType: 415, - RangeNotSatisfiable: 416, - ExpectationFailed: 417, - ImATeapot: 418, - MisdirectedRequest: 421, - UnprocessableEntity: 422, - Locked: 423, - FailedDependency: 424, - TooEarly: 425, - UpgradeRequired: 426, - PreconditionRequired: 428, - TooManyRequests: 429, - RequestHeaderFieldsTooLarge: 431, - UnavailableForLegalReasons: 451, - InternalServerError: 500, - NotImplemented: 501, - BadGateway: 502, - ServiceUnavailable: 503, - GatewayTimeout: 504, - HttpVersionNotSupported: 505, - VariantAlsoNegotiates: 506, - InsufficientStorage: 507, - LoopDetected: 508, - NotExtended: 510, - NetworkAuthenticationRequired: 511 - }; - Object.entries(HttpStatusCode).forEach(([key, value]) => { - HttpStatusCode[value] = key; - }); - HttpStatusCode_default = HttpStatusCode; - } -}); - -// node_modules/axios/lib/axios.js -function createInstance(defaultConfig) { - const context = new Axios_default(defaultConfig); - const instance = bind(Axios_default.prototype.request, context); - utils_default.extend(instance, Axios_default.prototype, context, { allOwnKeys: true }); - utils_default.extend(instance, context, null, { allOwnKeys: true }); - instance.create = function create(instanceConfig) { - return createInstance(mergeConfig(defaultConfig, instanceConfig)); - }; - return instance; -} -var axios, axios_default; -var init_axios = __esm({ - "node_modules/axios/lib/axios.js"() { - "use strict"; - init_utils(); - init_bind(); - init_Axios(); - init_mergeConfig(); - init_defaults(); - init_formDataToJSON(); - init_CanceledError(); - init_CancelToken(); - init_isCancel(); - init_data(); - init_toFormData(); - init_AxiosError(); - init_spread(); - init_isAxiosError(); - init_AxiosHeaders(); - init_HttpStatusCode(); - axios = createInstance(defaults_default); - axios.Axios = Axios_default; - axios.CanceledError = CanceledError_default; - axios.CancelToken = CancelToken_default; - axios.isCancel = isCancel; - axios.VERSION = VERSION; - axios.toFormData = toFormData_default; - axios.AxiosError = AxiosError_default; - axios.Cancel = axios.CanceledError; - axios.all = function all(promises) { - return Promise.all(promises); - }; - axios.spread = spread; - axios.isAxiosError = isAxiosError; - axios.mergeConfig = mergeConfig; - axios.AxiosHeaders = AxiosHeaders_default; - axios.formToJSON = (thing) => formDataToJSON_default(utils_default.isHTMLForm(thing) ? new FormData(thing) : thing); - axios.HttpStatusCode = HttpStatusCode_default; - axios.default = axios; - axios_default = axios; - } -}); - -// node_modules/axios/index.js -var Axios2, AxiosError2, CanceledError2, isCancel2, CancelToken2, VERSION2, all2, Cancel, isAxiosError2, spread2, toFormData2, AxiosHeaders2, HttpStatusCode2, formToJSON, mergeConfig2; -var init_axios2 = __esm({ - "node_modules/axios/index.js"() { - init_axios(); - ({ - Axios: Axios2, - AxiosError: AxiosError2, - CanceledError: CanceledError2, - isCancel: isCancel2, - CancelToken: CancelToken2, - VERSION: VERSION2, - all: all2, - Cancel, - isAxiosError: isAxiosError2, - spread: spread2, - toFormData: toFormData2, - AxiosHeaders: AxiosHeaders2, - HttpStatusCode: HttpStatusCode2, - formToJSON, - mergeConfig: mergeConfig2 - } = axios_default); - } -}); - -// server/Middleware/discord.transport.js -var import_winston_transport, _DiscordTransport, DiscordTransport; -var init_discord_transport = __esm({ - "server/Middleware/discord.transport.js"() { - import_winston_transport = __toESM(require_winston_transport()); - init_axios2(); - _DiscordTransport = class extends import_winston_transport.default { - constructor(opts) { - super(opts); - this.webhook = opts.webhook; - this.defaultMeta = opts.defaultMeta; - } - log(info, callback) { - if (info.discord !== false) { - this.sendToDiscord(info).catch((err) => { - console.log("Error sending message to discord", err); - }); - } - callback(); - } - sendToDiscord = async (info) => { - const postBody = { - content: void 0, - embeds: [ - { - description: info.message, - color: _DiscordTransport.COLORS[info.level], - fields: [], - timestamp: new Date().toISOString() - } - ] - }; - if (info.level === "error" && info.error && info.error.stack) { - postBody.content = `\`\`\`${info.error.stack}\`\`\``; - } - if (this.defaultMeta) { - Object.keys(this.defaultMeta).forEach((key) => { - postBody.embeds[0].fields.push({ - name: key, - value: this.defaultMeta[key] - }); - }); - } - if (info.meta) { - Object.keys(info.meta).forEach((key) => { - postBody.embeds[0].fields.push({ - name: key, - value: info.meta[key] - }); - }); - } - try { - axios_default.post(this.webhook, postBody); - } catch (err) { - console.error("Error sending to discord"); - } - }; - }; - DiscordTransport = _DiscordTransport; - __publicField(DiscordTransport, "COLORS", { - error: 14362664, - warn: 16497928, - info: 7563248, - verbose: 6559689, - debug: 7563248, - silly: 2210373 - }); - } -}); - -// server/Logging/Modules/DevLogger.js -var import_winston, transports, devLogger; -var init_DevLogger = __esm({ - "server/Logging/Modules/DevLogger.js"() { - import_winston = __toESM(require_winston()); - init_globalData(); - init_LoggerUtils(); - init_discord_transport(); - transports = [ - new import_winston.default.transports.File({ - filename: unlEnv.loggerPaths.dev - }) - ]; - if (unlEnv.unlDevDiscordHook) - transports.push( - new DiscordTransport({ - webhook: unlEnv.unlDevDiscordHook, - defaultMeta: { Service: "Spectre", Logger: "Dev" } - }) - ); - devLogger = import_winston.default.createLogger({ - level: "info", - format: import_winston.default.format.combine( - import_winston.default.format.timestamp({ - format: timestamp - }), - import_winston.default.format.printf( - (info) => `[${info.level}][${[info.timestamp]}]: ${info.message}` - ) - ), - transports - }); - } -}); - -// server/Logging/Modules/GameLogger.js -var import_winston2, transports2, gameLogger; -var init_GameLogger = __esm({ - "server/Logging/Modules/GameLogger.js"() { - import_winston2 = __toESM(require_winston()); - init_globalData(); - init_LoggerUtils(); - init_discord_transport(); - transports2 = [ - new import_winston2.default.transports.File({ - filename: unlEnv.loggerPaths.game - }) - ]; - if (unlEnv.unlGameDiscordHook) - transports2.push( - new DiscordTransport({ - webhook: unlEnv.unlGameDiscordHook, - defaultMeta: { Service: "Spectre", Logger: "Game" } - }) - ); - gameLogger = import_winston2.default.createLogger({ - level: "info", - format: import_winston2.default.format.combine( - import_winston2.default.format.timestamp({ - format: timestamp - }), - import_winston2.default.format.printf( - (info) => `[${info.level}][${[info.timestamp]}]: ${info.message}` - ) - ), - transports: transports2 - }); - } -}); - -// server/Logging/Modules/PlayerLogger.js -var import_winston3, transports3, playerLogger; -var init_PlayerLogger = __esm({ - "server/Logging/Modules/PlayerLogger.js"() { - import_winston3 = __toESM(require_winston()); - init_globalData(); - init_LoggerUtils(); - init_discord_transport(); - transports3 = [ - new import_winston3.default.transports.File({ - filename: unlEnv.loggerPaths.player - }) - ]; - if (unlEnv.unlPlayerDiscordHook) - transports3.push( - new DiscordTransport({ - webhook: unlEnv.unlPlayerDiscordHook, - defaultMeta: { Service: "Spectre", Logger: "Player" } - }) - ); - playerLogger = import_winston3.default.createLogger({ - level: "info", - format: import_winston3.default.format.combine( - import_winston3.default.format.timestamp({ - format: timestamp - }), - import_winston3.default.format.printf( - (info) => `[${info.level}][${[info.timestamp]}]: ${info.message}` - ) - ), - transports: transports3 - }); - } -}); - -// server/Logging/Modules/WebLogger.js -var import_winston4, transports4, webLogger; -var init_WebLogger = __esm({ - "server/Logging/Modules/WebLogger.js"() { - import_winston4 = __toESM(require_winston()); - init_globalData(); - init_LoggerUtils(); - init_discord_transport(); - transports4 = [ - new import_winston4.default.transports.File({ - filename: unlEnv.loggerPaths.web - }) - ]; - if (unlEnv.unlWebDiscordHook) - transports4.push( - new DiscordTransport({ - webhook: unlEnv.unlWebDiscordHook, - defaultMeta: { Service: "Spectre", Logger: "Web" } - }) - ); - webLogger = import_winston4.default.createLogger({ - level: "info", - format: import_winston4.default.format.combine( - import_winston4.default.format.timestamp({ - format: timestamp - }), - import_winston4.default.format.printf( - (info) => `[${info.level}][${[info.timestamp]}]: ${info.message}` - ) - ), - transports: transports4 - }); - } -}); - -// server/Logging/Modules/BanFile.js -var import_winston5, banFile2; -var init_BanFile = __esm({ - "server/Logging/Modules/BanFile.js"() { - import_winston5 = __toESM(require_winston()); - init_globalData(); - init_LoggerUtils(); - banFile2 = import_winston5.default.createLogger({ - level: "info", - format: import_winston5.default.format.combine( - import_winston5.default.format.timestamp({ - format: timestamp - }), - import_winston5.default.format.printf((info) => `[${[info.timestamp]}]: ${info.message}`) - ), - transports: [ - new import_winston5.default.transports.File({ - filename: unlEnv.banFile - }) - ] - }); - } -}); - -// server/Logging/UnlLogger.js -var import_winston6, transports5, UnlLogger; -var init_UnlLogger = __esm({ - "server/Logging/UnlLogger.js"() { - import_winston6 = __toESM(require_winston()); - init_globalData(); - init_DevLogger(); - init_GameLogger(); - init_PlayerLogger(); - init_WebLogger(); - init_BanFile(); - init_LoggerUtils(); - init_discord_transport(); - transports5 = [ - new import_winston6.default.transports.File({ - filename: `${unlEnv.unlWebResourcePath}/error.log`, - level: "error" - }), - new import_winston6.default.transports.File({ - filename: unlEnv.loggerPaths.unlimited - }), - new import_winston6.default.transports.Console({}) - ]; - if (unlEnv.unlDiscordHook) - transports5.push( - new DiscordTransport({ - webhook: unlEnv.unlDiscordHook, - defaultMeta: { Service: "Spectre", Logger: "Unlimited" } - }) - ); - import_winston6.default.addColors({ - error: "red", - warn: "yellow", - info: "cyan", - debug: "green" - }); - UnlLogger = import_winston6.default.createLogger({ - level: "info", - format: import_winston6.default.format.combine( - import_winston6.default.format.colorize(), - import_winston6.default.format.label({ - label: `UnlSpectre` - }), - import_winston6.default.format.timestamp({ - format: timestamp - }), - import_winston6.default.format.printf( - (info) => `[${info.level}][${info.label}][${[info.timestamp]}]: ${info.message}` - ) - ), - transports: transports5 - }); - } -}); - -// node_modules/nanoid/index.js -var import_crypto, POOL_SIZE_MULTIPLIER, pool, poolOffset, fillPool, random, customRandom, customAlphabet; -var init_nanoid = __esm({ - "node_modules/nanoid/index.js"() { - import_crypto = require("crypto"); - POOL_SIZE_MULTIPLIER = 128; - fillPool = (bytes) => { - if (!pool || pool.length < bytes) { - pool = Buffer.allocUnsafe(bytes * POOL_SIZE_MULTIPLIER); - (0, import_crypto.randomFillSync)(pool); - poolOffset = 0; - } else if (poolOffset + bytes > pool.length) { - (0, import_crypto.randomFillSync)(pool); - poolOffset = 0; - } - poolOffset += bytes; - }; - random = (bytes) => { - fillPool(bytes -= 0); - return pool.subarray(poolOffset - bytes, poolOffset); - }; - customRandom = (alphabet, defaultSize, getRandom) => { - let mask = (2 << 31 - Math.clz32(alphabet.length - 1 | 1)) - 1; - let step = Math.ceil(1.6 * mask * defaultSize / alphabet.length); - return (size = defaultSize) => { - let id = ""; - while (true) { - let bytes = getRandom(step); - let i = step; - while (i--) { - id += alphabet[bytes[i] & mask] || ""; - if (id.length === size) - return id; - } - } - }; - }; - customAlphabet = (alphabet, size = 21) => customRandom(alphabet, size, random); - } -}); - -// node_modules/nanoid-dictionary/nolookalikes.js -var require_nolookalikes = __commonJS({ - "node_modules/nanoid-dictionary/nolookalikes.js"(exports2, module2) { - module2.exports = "2346789ABCDEFGHJKLMNPQRTUVWXYZabcdefghijkmnpqrtwxyz"; - } -}); - -// node_modules/lowdb/lib/adapters/Memory.js -var _Memory_data; -var init_Memory = __esm({ - "node_modules/lowdb/lib/adapters/Memory.js"() { - _Memory_data = /* @__PURE__ */ new WeakMap(); - } -}); - -// node_modules/lowdb/lib/adapters/MemorySync.js -var _MemorySync_data; -var init_MemorySync = __esm({ - "node_modules/lowdb/lib/adapters/MemorySync.js"() { - _MemorySync_data = /* @__PURE__ */ new WeakMap(); - } -}); - -// node_modules/lowdb/lib/MissingAdapterError.js -var MissingAdapterError; -var init_MissingAdapterError = __esm({ - "node_modules/lowdb/lib/MissingAdapterError.js"() { - MissingAdapterError = class extends Error { - constructor() { - super(); - this.message = "Missing Adapter"; - } - }; - } -}); - -// node_modules/lowdb/lib/Low.js -var Low; -var init_Low = __esm({ - "node_modules/lowdb/lib/Low.js"() { - init_MissingAdapterError(); - Low = class { - constructor(adapter2) { - Object.defineProperty(this, "adapter", { - enumerable: true, - configurable: true, - writable: true, - value: void 0 - }); - Object.defineProperty(this, "data", { - enumerable: true, - configurable: true, - writable: true, - value: null - }); - if (adapter2) { - this.adapter = adapter2; - } else { - throw new MissingAdapterError(); - } - } - async read() { - this.data = await this.adapter.read(); - } - async write() { - if (this.data) { - await this.adapter.write(this.data); - } - } - }; - } -}); - -// node_modules/lowdb/lib/LowSync.js -var init_LowSync = __esm({ - "node_modules/lowdb/lib/LowSync.js"() { - init_MissingAdapterError(); - } -}); - -// node_modules/lowdb/lib/index.js -var init_lib = __esm({ - "node_modules/lowdb/lib/index.js"() { - init_Memory(); - init_MemorySync(); - init_Low(); - init_LowSync(); - } -}); - -// node_modules/steno/lib/index.js -function getTempFilename(file) { - return (0, import_node_path.join)((0, import_node_path.dirname)(file), "." + (0, import_node_path.basename)(file) + ".tmp"); -} -var import_promises, import_node_path, __classPrivateFieldSet, __classPrivateFieldGet, _Writer_instances, _Writer_filename, _Writer_tempFilename, _Writer_locked, _Writer_prev, _Writer_next, _Writer_nextPromise, _Writer_nextData, _Writer_add, _Writer_write, Writer; -var init_lib2 = __esm({ - "node_modules/steno/lib/index.js"() { - import_promises = require("node:fs/promises"); - import_node_path = require("node:path"); - __classPrivateFieldSet = function(receiver, state, value, kind, f) { - if (kind === "m") - throw new TypeError("Private method is not writable"); - if (kind === "a" && !f) - throw new TypeError("Private accessor was defined without a setter"); - if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) - throw new TypeError("Cannot write private member to an object whose class did not declare it"); - return kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value; - }; - __classPrivateFieldGet = function(receiver, state, kind, f) { - if (kind === "a" && !f) - throw new TypeError("Private accessor was defined without a getter"); - if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) - throw new TypeError("Cannot read private member from an object whose class did not declare it"); - return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); - }; - Writer = class { - constructor(filename) { - _Writer_instances.add(this); - _Writer_filename.set(this, void 0); - _Writer_tempFilename.set(this, void 0); - _Writer_locked.set(this, false); - _Writer_prev.set(this, null); - _Writer_next.set(this, null); - _Writer_nextPromise.set(this, null); - _Writer_nextData.set( - this, - null - ); - __classPrivateFieldSet(this, _Writer_filename, filename, "f"); - __classPrivateFieldSet(this, _Writer_tempFilename, getTempFilename(filename), "f"); - } - async write(data) { - return __classPrivateFieldGet(this, _Writer_locked, "f") ? __classPrivateFieldGet(this, _Writer_instances, "m", _Writer_add).call(this, data) : __classPrivateFieldGet(this, _Writer_instances, "m", _Writer_write).call(this, data); - } - }; - _Writer_filename = /* @__PURE__ */ new WeakMap(), _Writer_tempFilename = /* @__PURE__ */ new WeakMap(), _Writer_locked = /* @__PURE__ */ new WeakMap(), _Writer_prev = /* @__PURE__ */ new WeakMap(), _Writer_next = /* @__PURE__ */ new WeakMap(), _Writer_nextPromise = /* @__PURE__ */ new WeakMap(), _Writer_nextData = /* @__PURE__ */ new WeakMap(), _Writer_instances = /* @__PURE__ */ new WeakSet(), _Writer_add = function _Writer_add2(data) { - __classPrivateFieldSet(this, _Writer_nextData, data, "f"); - __classPrivateFieldSet(this, _Writer_nextPromise, __classPrivateFieldGet(this, _Writer_nextPromise, "f") || new Promise((resolve, reject) => { - __classPrivateFieldSet(this, _Writer_next, [resolve, reject], "f"); - }), "f"); - return new Promise((resolve, reject) => { - var _a; - (_a = __classPrivateFieldGet(this, _Writer_nextPromise, "f")) == null ? void 0 : _a.then(resolve).catch(reject); - }); - }, _Writer_write = async function _Writer_write2(data) { - var _a, _b; - __classPrivateFieldSet(this, _Writer_locked, true, "f"); - try { - await (0, import_promises.writeFile)(__classPrivateFieldGet(this, _Writer_tempFilename, "f"), data, "utf-8"); - await (0, import_promises.rename)(__classPrivateFieldGet(this, _Writer_tempFilename, "f"), __classPrivateFieldGet(this, _Writer_filename, "f")); - (_a = __classPrivateFieldGet(this, _Writer_prev, "f")) == null ? void 0 : _a[0](); - } catch (err) { - if (err instanceof Error) { - (_b = __classPrivateFieldGet(this, _Writer_prev, "f")) == null ? void 0 : _b[1](err); - } - throw err; - } finally { - __classPrivateFieldSet(this, _Writer_locked, false, "f"); - __classPrivateFieldSet(this, _Writer_prev, __classPrivateFieldGet(this, _Writer_next, "f"), "f"); - __classPrivateFieldSet(this, _Writer_next, __classPrivateFieldSet(this, _Writer_nextPromise, null, "f"), "f"); - if (__classPrivateFieldGet(this, _Writer_nextData, "f") !== null) { - const nextData = __classPrivateFieldGet(this, _Writer_nextData, "f"); - __classPrivateFieldSet(this, _Writer_nextData, null, "f"); - await this.write(nextData); - } - } - }; - } -}); - -// node_modules/lowdb/lib/adapters/TextFile.js -var import_promises2, __classPrivateFieldSet2, __classPrivateFieldGet2, _TextFile_filename, _TextFile_writer, TextFile; -var init_TextFile = __esm({ - "node_modules/lowdb/lib/adapters/TextFile.js"() { - import_promises2 = __toESM(require("node:fs/promises"), 1); - init_lib2(); - __classPrivateFieldSet2 = function(receiver, state, value, kind, f) { - if (kind === "m") - throw new TypeError("Private method is not writable"); - if (kind === "a" && !f) - throw new TypeError("Private accessor was defined without a setter"); - if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) - throw new TypeError("Cannot write private member to an object whose class did not declare it"); - return kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value; - }; - __classPrivateFieldGet2 = function(receiver, state, kind, f) { - if (kind === "a" && !f) - throw new TypeError("Private accessor was defined without a getter"); - if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) - throw new TypeError("Cannot read private member from an object whose class did not declare it"); - return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); - }; - TextFile = class { - constructor(filename) { - _TextFile_filename.set(this, void 0); - _TextFile_writer.set(this, void 0); - __classPrivateFieldSet2(this, _TextFile_filename, filename, "f"); - __classPrivateFieldSet2(this, _TextFile_writer, new Writer(filename), "f"); - } - async read() { - let data; - try { - data = await import_promises2.default.readFile(__classPrivateFieldGet2(this, _TextFile_filename, "f"), "utf-8"); - } catch (e) { - if (e.code === "ENOENT") { - return null; - } - throw e; - } - return data; - } - write(str) { - return __classPrivateFieldGet2(this, _TextFile_writer, "f").write(str); - } - }; - _TextFile_filename = /* @__PURE__ */ new WeakMap(), _TextFile_writer = /* @__PURE__ */ new WeakMap(); - } -}); - -// node_modules/lowdb/lib/adapters/JSONFile.js -var __classPrivateFieldSet3, __classPrivateFieldGet3, _JSONFile_adapter, JSONFile; -var init_JSONFile = __esm({ - "node_modules/lowdb/lib/adapters/JSONFile.js"() { - init_TextFile(); - __classPrivateFieldSet3 = function(receiver, state, value, kind, f) { - if (kind === "m") - throw new TypeError("Private method is not writable"); - if (kind === "a" && !f) - throw new TypeError("Private accessor was defined without a setter"); - if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) - throw new TypeError("Cannot write private member to an object whose class did not declare it"); - return kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value; - }; - __classPrivateFieldGet3 = function(receiver, state, kind, f) { - if (kind === "a" && !f) - throw new TypeError("Private accessor was defined without a getter"); - if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) - throw new TypeError("Cannot read private member from an object whose class did not declare it"); - return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); - }; - JSONFile = class { - constructor(filename) { - _JSONFile_adapter.set(this, void 0); - __classPrivateFieldSet3(this, _JSONFile_adapter, new TextFile(filename), "f"); - } - async read() { - const data = await __classPrivateFieldGet3(this, _JSONFile_adapter, "f").read(); - if (data === null) { - return null; - } else { - return JSON.parse(data); - } - } - write(obj) { - return __classPrivateFieldGet3(this, _JSONFile_adapter, "f").write(JSON.stringify(obj, null, 2)); - } - }; - _JSONFile_adapter = /* @__PURE__ */ new WeakMap(); - } -}); - -// node_modules/lowdb/lib/adapters/TextFileSync.js -var _TextFileSync_tempFilename, _TextFileSync_filename; -var init_TextFileSync = __esm({ - "node_modules/lowdb/lib/adapters/TextFileSync.js"() { - _TextFileSync_tempFilename = /* @__PURE__ */ new WeakMap(), _TextFileSync_filename = /* @__PURE__ */ new WeakMap(); - } -}); - -// node_modules/lowdb/lib/adapters/JSONFileSync.js -var _JSONFileSync_adapter; -var init_JSONFileSync = __esm({ - "node_modules/lowdb/lib/adapters/JSONFileSync.js"() { - init_TextFileSync(); - _JSONFileSync_adapter = /* @__PURE__ */ new WeakMap(); - } -}); - -// node_modules/lowdb/lib/node.js -var init_node2 = __esm({ - "node_modules/lowdb/lib/node.js"() { - init_JSONFile(); - init_JSONFileSync(); - init_TextFile(); - init_TextFileSync(); - } -}); - -// node_modules/lodash/lodash.js -var require_lodash = __commonJS({ - "node_modules/lodash/lodash.js"(exports2, module2) { - (function() { - var undefined2; - var VERSION3 = "4.17.21"; - var LARGE_ARRAY_SIZE = 200; - var CORE_ERROR_TEXT = "Unsupported core-js use. Try https://npms.io/search?q=ponyfill.", FUNC_ERROR_TEXT = "Expected a function", INVALID_TEMPL_VAR_ERROR_TEXT = "Invalid `variable` option passed into `_.template`"; - var HASH_UNDEFINED = "__lodash_hash_undefined__"; - var MAX_MEMOIZE_SIZE = 500; - var PLACEHOLDER = "__lodash_placeholder__"; - var CLONE_DEEP_FLAG = 1, CLONE_FLAT_FLAG = 2, CLONE_SYMBOLS_FLAG = 4; - var COMPARE_PARTIAL_FLAG = 1, COMPARE_UNORDERED_FLAG = 2; - var WRAP_BIND_FLAG = 1, WRAP_BIND_KEY_FLAG = 2, WRAP_CURRY_BOUND_FLAG = 4, WRAP_CURRY_FLAG = 8, WRAP_CURRY_RIGHT_FLAG = 16, WRAP_PARTIAL_FLAG = 32, WRAP_PARTIAL_RIGHT_FLAG = 64, WRAP_ARY_FLAG = 128, WRAP_REARG_FLAG = 256, WRAP_FLIP_FLAG = 512; - var DEFAULT_TRUNC_LENGTH = 30, DEFAULT_TRUNC_OMISSION = "..."; - var HOT_COUNT = 800, HOT_SPAN = 16; - var LAZY_FILTER_FLAG = 1, LAZY_MAP_FLAG = 2, LAZY_WHILE_FLAG = 3; - var INFINITY = 1 / 0, MAX_SAFE_INTEGER = 9007199254740991, MAX_INTEGER = 17976931348623157e292, NAN = 0 / 0; - var MAX_ARRAY_LENGTH = 4294967295, MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1, HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1; - var wrapFlags = [ - ["ary", WRAP_ARY_FLAG], - ["bind", WRAP_BIND_FLAG], - ["bindKey", WRAP_BIND_KEY_FLAG], - ["curry", WRAP_CURRY_FLAG], - ["curryRight", WRAP_CURRY_RIGHT_FLAG], - ["flip", WRAP_FLIP_FLAG], - ["partial", WRAP_PARTIAL_FLAG], - ["partialRight", WRAP_PARTIAL_RIGHT_FLAG], - ["rearg", WRAP_REARG_FLAG] - ]; - var argsTag = "[object Arguments]", arrayTag = "[object Array]", asyncTag = "[object AsyncFunction]", boolTag = "[object Boolean]", dateTag = "[object Date]", domExcTag = "[object DOMException]", errorTag = "[object Error]", funcTag = "[object Function]", genTag = "[object GeneratorFunction]", mapTag = "[object Map]", numberTag = "[object Number]", nullTag = "[object Null]", objectTag = "[object Object]", promiseTag = "[object Promise]", proxyTag = "[object Proxy]", regexpTag = "[object RegExp]", setTag = "[object Set]", stringTag = "[object String]", symbolTag = "[object Symbol]", undefinedTag = "[object Undefined]", weakMapTag = "[object WeakMap]", weakSetTag = "[object WeakSet]"; - var arrayBufferTag = "[object ArrayBuffer]", dataViewTag = "[object DataView]", float32Tag = "[object Float32Array]", float64Tag = "[object Float64Array]", int8Tag = "[object Int8Array]", int16Tag = "[object Int16Array]", int32Tag = "[object Int32Array]", uint8Tag = "[object Uint8Array]", uint8ClampedTag = "[object Uint8ClampedArray]", uint16Tag = "[object Uint16Array]", uint32Tag = "[object Uint32Array]"; - var reEmptyStringLeading = /\b__p \+= '';/g, reEmptyStringMiddle = /\b(__p \+=) '' \+/g, reEmptyStringTrailing = /(__e\(.*?\)|\b__t\)) \+\n'';/g; - var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g, reUnescapedHtml = /[&<>"']/g, reHasEscapedHtml = RegExp(reEscapedHtml.source), reHasUnescapedHtml = RegExp(reUnescapedHtml.source); - var reEscape = /<%-([\s\S]+?)%>/g, reEvaluate = /<%([\s\S]+?)%>/g, reInterpolate = /<%=([\s\S]+?)%>/g; - var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, reIsPlainProp = /^\w*$/, rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; - var reRegExpChar = /[\\^$.*+?()[\]{}|]/g, reHasRegExpChar = RegExp(reRegExpChar.source); - var reTrimStart = /^\s+/; - var reWhitespace = /\s/; - var reWrapComment = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/, reWrapDetails = /\{\n\/\* \[wrapped with (.+)\] \*/, reSplitDetails = /,? & /; - var reAsciiWord = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g; - var reForbiddenIdentifierChars = /[()=,{}\[\]\/\s]/; - var reEscapeChar = /\\(\\)?/g; - var reEsTemplate = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g; - var reFlags = /\w*$/; - var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; - var reIsBinary = /^0b[01]+$/i; - var reIsHostCtor = /^\[object .+?Constructor\]$/; - var reIsOctal = /^0o[0-7]+$/i; - var reIsUint = /^(?:0|[1-9]\d*)$/; - var reLatin = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g; - var reNoMatch = /($^)/; - var reUnescapedString = /['\n\r\u2028\u2029\\]/g; - var rsAstralRange = "\\ud800-\\udfff", rsComboMarksRange = "\\u0300-\\u036f", reComboHalfMarksRange = "\\ufe20-\\ufe2f", rsComboSymbolsRange = "\\u20d0-\\u20ff", rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, rsDingbatRange = "\\u2700-\\u27bf", rsLowerRange = "a-z\\xdf-\\xf6\\xf8-\\xff", rsMathOpRange = "\\xac\\xb1\\xd7\\xf7", rsNonCharRange = "\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf", rsPunctuationRange = "\\u2000-\\u206f", rsSpaceRange = " \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000", rsUpperRange = "A-Z\\xc0-\\xd6\\xd8-\\xde", rsVarRange = "\\ufe0e\\ufe0f", rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange; - var rsApos = "['\u2019]", rsAstral = "[" + rsAstralRange + "]", rsBreak = "[" + rsBreakRange + "]", rsCombo = "[" + rsComboRange + "]", rsDigits = "\\d+", rsDingbat = "[" + rsDingbatRange + "]", rsLower = "[" + rsLowerRange + "]", rsMisc = "[^" + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + "]", rsFitz = "\\ud83c[\\udffb-\\udfff]", rsModifier = "(?:" + rsCombo + "|" + rsFitz + ")", rsNonAstral = "[^" + rsAstralRange + "]", rsRegional = "(?:\\ud83c[\\udde6-\\uddff]){2}", rsSurrPair = "[\\ud800-\\udbff][\\udc00-\\udfff]", rsUpper = "[" + rsUpperRange + "]", rsZWJ = "\\u200d"; - var rsMiscLower = "(?:" + rsLower + "|" + rsMisc + ")", rsMiscUpper = "(?:" + rsUpper + "|" + rsMisc + ")", rsOptContrLower = "(?:" + rsApos + "(?:d|ll|m|re|s|t|ve))?", rsOptContrUpper = "(?:" + rsApos + "(?:D|LL|M|RE|S|T|VE))?", reOptMod = rsModifier + "?", rsOptVar = "[" + rsVarRange + "]?", rsOptJoin = "(?:" + rsZWJ + "(?:" + [rsNonAstral, rsRegional, rsSurrPair].join("|") + ")" + rsOptVar + reOptMod + ")*", rsOrdLower = "\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])", rsOrdUpper = "\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])", rsSeq = rsOptVar + reOptMod + rsOptJoin, rsEmoji = "(?:" + [rsDingbat, rsRegional, rsSurrPair].join("|") + ")" + rsSeq, rsSymbol = "(?:" + [rsNonAstral + rsCombo + "?", rsCombo, rsRegional, rsSurrPair, rsAstral].join("|") + ")"; - var reApos = RegExp(rsApos, "g"); - var reComboMark = RegExp(rsCombo, "g"); - var reUnicode = RegExp(rsFitz + "(?=" + rsFitz + ")|" + rsSymbol + rsSeq, "g"); - var reUnicodeWord = RegExp([ - rsUpper + "?" + rsLower + "+" + rsOptContrLower + "(?=" + [rsBreak, rsUpper, "$"].join("|") + ")", - rsMiscUpper + "+" + rsOptContrUpper + "(?=" + [rsBreak, rsUpper + rsMiscLower, "$"].join("|") + ")", - rsUpper + "?" + rsMiscLower + "+" + rsOptContrLower, - rsUpper + "+" + rsOptContrUpper, - rsOrdUpper, - rsOrdLower, - rsDigits, - rsEmoji - ].join("|"), "g"); - var reHasUnicode = RegExp("[" + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + "]"); - var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/; - var contextProps = [ - "Array", - "Buffer", - "DataView", - "Date", - "Error", - "Float32Array", - "Float64Array", - "Function", - "Int8Array", - "Int16Array", - "Int32Array", - "Map", - "Math", - "Object", - "Promise", - "RegExp", - "Set", - "String", - "Symbol", - "TypeError", - "Uint8Array", - "Uint8ClampedArray", - "Uint16Array", - "Uint32Array", - "WeakMap", - "_", - "clearTimeout", - "isFinite", - "parseInt", - "setTimeout" - ]; - var templateCounter = -1; - var typedArrayTags = {}; - typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true; - typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false; - var cloneableTags = {}; - cloneableTags[argsTag] = cloneableTags[arrayTag] = cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] = cloneableTags[boolTag] = cloneableTags[dateTag] = cloneableTags[float32Tag] = cloneableTags[float64Tag] = cloneableTags[int8Tag] = cloneableTags[int16Tag] = cloneableTags[int32Tag] = cloneableTags[mapTag] = cloneableTags[numberTag] = cloneableTags[objectTag] = cloneableTags[regexpTag] = cloneableTags[setTag] = cloneableTags[stringTag] = cloneableTags[symbolTag] = cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true; - cloneableTags[errorTag] = cloneableTags[funcTag] = cloneableTags[weakMapTag] = false; - var deburredLetters = { - "\xC0": "A", - "\xC1": "A", - "\xC2": "A", - "\xC3": "A", - "\xC4": "A", - "\xC5": "A", - "\xE0": "a", - "\xE1": "a", - "\xE2": "a", - "\xE3": "a", - "\xE4": "a", - "\xE5": "a", - "\xC7": "C", - "\xE7": "c", - "\xD0": "D", - "\xF0": "d", - "\xC8": "E", - "\xC9": "E", - "\xCA": "E", - "\xCB": "E", - "\xE8": "e", - "\xE9": "e", - "\xEA": "e", - "\xEB": "e", - "\xCC": "I", - "\xCD": "I", - "\xCE": "I", - "\xCF": "I", - "\xEC": "i", - "\xED": "i", - "\xEE": "i", - "\xEF": "i", - "\xD1": "N", - "\xF1": "n", - "\xD2": "O", - "\xD3": "O", - "\xD4": "O", - "\xD5": "O", - "\xD6": "O", - "\xD8": "O", - "\xF2": "o", - "\xF3": "o", - "\xF4": "o", - "\xF5": "o", - "\xF6": "o", - "\xF8": "o", - "\xD9": "U", - "\xDA": "U", - "\xDB": "U", - "\xDC": "U", - "\xF9": "u", - "\xFA": "u", - "\xFB": "u", - "\xFC": "u", - "\xDD": "Y", - "\xFD": "y", - "\xFF": "y", - "\xC6": "Ae", - "\xE6": "ae", - "\xDE": "Th", - "\xFE": "th", - "\xDF": "ss", - "\u0100": "A", - "\u0102": "A", - "\u0104": "A", - "\u0101": "a", - "\u0103": "a", - "\u0105": "a", - "\u0106": "C", - "\u0108": "C", - "\u010A": "C", - "\u010C": "C", - "\u0107": "c", - "\u0109": "c", - "\u010B": "c", - "\u010D": "c", - "\u010E": "D", - "\u0110": "D", - "\u010F": "d", - "\u0111": "d", - "\u0112": "E", - "\u0114": "E", - "\u0116": "E", - "\u0118": "E", - "\u011A": "E", - "\u0113": "e", - "\u0115": "e", - "\u0117": "e", - "\u0119": "e", - "\u011B": "e", - "\u011C": "G", - "\u011E": "G", - "\u0120": "G", - "\u0122": "G", - "\u011D": "g", - "\u011F": "g", - "\u0121": "g", - "\u0123": "g", - "\u0124": "H", - "\u0126": "H", - "\u0125": "h", - "\u0127": "h", - "\u0128": "I", - "\u012A": "I", - "\u012C": "I", - "\u012E": "I", - "\u0130": "I", - "\u0129": "i", - "\u012B": "i", - "\u012D": "i", - "\u012F": "i", - "\u0131": "i", - "\u0134": "J", - "\u0135": "j", - "\u0136": "K", - "\u0137": "k", - "\u0138": "k", - "\u0139": "L", - "\u013B": "L", - "\u013D": "L", - "\u013F": "L", - "\u0141": "L", - "\u013A": "l", - "\u013C": "l", - "\u013E": "l", - "\u0140": "l", - "\u0142": "l", - "\u0143": "N", - "\u0145": "N", - "\u0147": "N", - "\u014A": "N", - "\u0144": "n", - "\u0146": "n", - "\u0148": "n", - "\u014B": "n", - "\u014C": "O", - "\u014E": "O", - "\u0150": "O", - "\u014D": "o", - "\u014F": "o", - "\u0151": "o", - "\u0154": "R", - "\u0156": "R", - "\u0158": "R", - "\u0155": "r", - "\u0157": "r", - "\u0159": "r", - "\u015A": "S", - "\u015C": "S", - "\u015E": "S", - "\u0160": "S", - "\u015B": "s", - "\u015D": "s", - "\u015F": "s", - "\u0161": "s", - "\u0162": "T", - "\u0164": "T", - "\u0166": "T", - "\u0163": "t", - "\u0165": "t", - "\u0167": "t", - "\u0168": "U", - "\u016A": "U", - "\u016C": "U", - "\u016E": "U", - "\u0170": "U", - "\u0172": "U", - "\u0169": "u", - "\u016B": "u", - "\u016D": "u", - "\u016F": "u", - "\u0171": "u", - "\u0173": "u", - "\u0174": "W", - "\u0175": "w", - "\u0176": "Y", - "\u0177": "y", - "\u0178": "Y", - "\u0179": "Z", - "\u017B": "Z", - "\u017D": "Z", - "\u017A": "z", - "\u017C": "z", - "\u017E": "z", - "\u0132": "IJ", - "\u0133": "ij", - "\u0152": "Oe", - "\u0153": "oe", - "\u0149": "'n", - "\u017F": "s" - }; - var htmlEscapes = { - "&": "&", - "<": "<", - ">": ">", - '"': """, - "'": "'" - }; - var htmlUnescapes = { - "&": "&", - "<": "<", - ">": ">", - """: '"', - "'": "'" - }; - var stringEscapes = { - "\\": "\\", - "'": "'", - "\n": "n", - "\r": "r", - "\u2028": "u2028", - "\u2029": "u2029" - }; - var freeParseFloat = parseFloat, freeParseInt = parseInt; - var freeGlobal = typeof global == "object" && global && global.Object === Object && global; - var freeSelf = typeof self == "object" && self && self.Object === Object && self; - var root = freeGlobal || freeSelf || Function("return this")(); - var freeExports = typeof exports2 == "object" && exports2 && !exports2.nodeType && exports2; - var freeModule = freeExports && typeof module2 == "object" && module2 && !module2.nodeType && module2; - var moduleExports = freeModule && freeModule.exports === freeExports; - var freeProcess = moduleExports && freeGlobal.process; - var nodeUtil = function() { - try { - var types2 = freeModule && freeModule.require && freeModule.require("util").types; - if (types2) { - return types2; - } - return freeProcess && freeProcess.binding && freeProcess.binding("util"); - } catch (e) { - } - }(); - var nodeIsArrayBuffer = nodeUtil && nodeUtil.isArrayBuffer, nodeIsDate = nodeUtil && nodeUtil.isDate, nodeIsMap = nodeUtil && nodeUtil.isMap, nodeIsRegExp = nodeUtil && nodeUtil.isRegExp, nodeIsSet = nodeUtil && nodeUtil.isSet, nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; - function apply(func, thisArg, args2) { - switch (args2.length) { - case 0: - return func.call(thisArg); - case 1: - return func.call(thisArg, args2[0]); - case 2: - return func.call(thisArg, args2[0], args2[1]); - case 3: - return func.call(thisArg, args2[0], args2[1], args2[2]); - } - return func.apply(thisArg, args2); - } - function arrayAggregator(array, setter, iteratee, accumulator) { - var index = -1, length = array == null ? 0 : array.length; - while (++index < length) { - var value = array[index]; - setter(accumulator, value, iteratee(value), array); - } - return accumulator; - } - function arrayEach(array, iteratee) { - var index = -1, length = array == null ? 0 : array.length; - while (++index < length) { - if (iteratee(array[index], index, array) === false) { - break; - } - } - return array; - } - function arrayEachRight(array, iteratee) { - var length = array == null ? 0 : array.length; - while (length--) { - if (iteratee(array[length], length, array) === false) { - break; - } - } - return array; - } - function arrayEvery(array, predicate) { - var index = -1, length = array == null ? 0 : array.length; - while (++index < length) { - if (!predicate(array[index], index, array)) { - return false; - } - } - return true; - } - function arrayFilter(array, predicate) { - var index = -1, length = array == null ? 0 : array.length, resIndex = 0, result = []; - while (++index < length) { - var value = array[index]; - if (predicate(value, index, array)) { - result[resIndex++] = value; - } - } - return result; - } - function arrayIncludes(array, value) { - var length = array == null ? 0 : array.length; - return !!length && baseIndexOf(array, value, 0) > -1; - } - function arrayIncludesWith(array, value, comparator) { - var index = -1, length = array == null ? 0 : array.length; - while (++index < length) { - if (comparator(value, array[index])) { - return true; - } - } - return false; - } - function arrayMap(array, iteratee) { - var index = -1, length = array == null ? 0 : array.length, result = Array(length); - while (++index < length) { - result[index] = iteratee(array[index], index, array); - } - return result; - } - function arrayPush(array, values) { - var index = -1, length = values.length, offset = array.length; - while (++index < length) { - array[offset + index] = values[index]; - } - return array; - } - function arrayReduce(array, iteratee, accumulator, initAccum) { - var index = -1, length = array == null ? 0 : array.length; - if (initAccum && length) { - accumulator = array[++index]; - } - while (++index < length) { - accumulator = iteratee(accumulator, array[index], index, array); - } - return accumulator; - } - function arrayReduceRight(array, iteratee, accumulator, initAccum) { - var length = array == null ? 0 : array.length; - if (initAccum && length) { - accumulator = array[--length]; - } - while (length--) { - accumulator = iteratee(accumulator, array[length], length, array); - } - return accumulator; - } - function arraySome(array, predicate) { - var index = -1, length = array == null ? 0 : array.length; - while (++index < length) { - if (predicate(array[index], index, array)) { - return true; - } - } - return false; - } - var asciiSize = baseProperty("length"); - function asciiToArray(string) { - return string.split(""); - } - function asciiWords(string) { - return string.match(reAsciiWord) || []; - } - function baseFindKey(collection, predicate, eachFunc) { - var result; - eachFunc(collection, function(value, key, collection2) { - if (predicate(value, key, collection2)) { - result = key; - return false; - } - }); - return result; - } - function baseFindIndex(array, predicate, fromIndex, fromRight) { - var length = array.length, index = fromIndex + (fromRight ? 1 : -1); - while (fromRight ? index-- : ++index < length) { - if (predicate(array[index], index, array)) { - return index; - } - } - return -1; - } - function baseIndexOf(array, value, fromIndex) { - return value === value ? strictIndexOf(array, value, fromIndex) : baseFindIndex(array, baseIsNaN, fromIndex); - } - function baseIndexOfWith(array, value, fromIndex, comparator) { - var index = fromIndex - 1, length = array.length; - while (++index < length) { - if (comparator(array[index], value)) { - return index; - } - } - return -1; - } - function baseIsNaN(value) { - return value !== value; - } - function baseMean(array, iteratee) { - var length = array == null ? 0 : array.length; - return length ? baseSum(array, iteratee) / length : NAN; - } - function baseProperty(key) { - return function(object) { - return object == null ? undefined2 : object[key]; - }; - } - function basePropertyOf(object) { - return function(key) { - return object == null ? undefined2 : object[key]; - }; - } - function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) { - eachFunc(collection, function(value, index, collection2) { - accumulator = initAccum ? (initAccum = false, value) : iteratee(accumulator, value, index, collection2); - }); - return accumulator; - } - function baseSortBy(array, comparer) { - var length = array.length; - array.sort(comparer); - while (length--) { - array[length] = array[length].value; - } - return array; - } - function baseSum(array, iteratee) { - var result, index = -1, length = array.length; - while (++index < length) { - var current = iteratee(array[index]); - if (current !== undefined2) { - result = result === undefined2 ? current : result + current; - } - } - return result; - } - function baseTimes(n, iteratee) { - var index = -1, result = Array(n); - while (++index < n) { - result[index] = iteratee(index); - } - return result; - } - function baseToPairs(object, props) { - return arrayMap(props, function(key) { - return [key, object[key]]; - }); - } - function baseTrim(string) { - return string ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, "") : string; - } - function baseUnary(func) { - return function(value) { - return func(value); - }; - } - function baseValues(object, props) { - return arrayMap(props, function(key) { - return object[key]; - }); - } - function cacheHas(cache, key) { - return cache.has(key); - } - function charsStartIndex(strSymbols, chrSymbols) { - var index = -1, length = strSymbols.length; - while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) { - } - return index; - } - function charsEndIndex(strSymbols, chrSymbols) { - var index = strSymbols.length; - while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) { - } - return index; - } - function countHolders(array, placeholder) { - var length = array.length, result = 0; - while (length--) { - if (array[length] === placeholder) { - ++result; - } - } - return result; - } - var deburrLetter = basePropertyOf(deburredLetters); - var escapeHtmlChar = basePropertyOf(htmlEscapes); - function escapeStringChar(chr) { - return "\\" + stringEscapes[chr]; - } - function getValue(object, key) { - return object == null ? undefined2 : object[key]; - } - function hasUnicode(string) { - return reHasUnicode.test(string); - } - function hasUnicodeWord(string) { - return reHasUnicodeWord.test(string); - } - function iteratorToArray(iterator) { - var data, result = []; - while (!(data = iterator.next()).done) { - result.push(data.value); - } - return result; - } - function mapToArray(map) { - var index = -1, result = Array(map.size); - map.forEach(function(value, key) { - result[++index] = [key, value]; - }); - return result; - } - function overArg(func, transform) { - return function(arg) { - return func(transform(arg)); - }; - } - function replaceHolders(array, placeholder) { - var index = -1, length = array.length, resIndex = 0, result = []; - while (++index < length) { - var value = array[index]; - if (value === placeholder || value === PLACEHOLDER) { - array[index] = PLACEHOLDER; - result[resIndex++] = index; - } - } - return result; - } - function setToArray(set) { - var index = -1, result = Array(set.size); - set.forEach(function(value) { - result[++index] = value; - }); - return result; - } - function setToPairs(set) { - var index = -1, result = Array(set.size); - set.forEach(function(value) { - result[++index] = [value, value]; - }); - return result; - } - function strictIndexOf(array, value, fromIndex) { - var index = fromIndex - 1, length = array.length; - while (++index < length) { - if (array[index] === value) { - return index; - } - } - return -1; - } - function strictLastIndexOf(array, value, fromIndex) { - var index = fromIndex + 1; - while (index--) { - if (array[index] === value) { - return index; - } - } - return index; - } - function stringSize(string) { - return hasUnicode(string) ? unicodeSize(string) : asciiSize(string); - } - function stringToArray(string) { - return hasUnicode(string) ? unicodeToArray(string) : asciiToArray(string); - } - function trimmedEndIndex(string) { - var index = string.length; - while (index-- && reWhitespace.test(string.charAt(index))) { - } - return index; - } - var unescapeHtmlChar = basePropertyOf(htmlUnescapes); - function unicodeSize(string) { - var result = reUnicode.lastIndex = 0; - while (reUnicode.test(string)) { - ++result; - } - return result; - } - function unicodeToArray(string) { - return string.match(reUnicode) || []; - } - function unicodeWords(string) { - return string.match(reUnicodeWord) || []; - } - var runInContext = function runInContext2(context) { - context = context == null ? root : _.defaults(root.Object(), context, _.pick(root, contextProps)); - var Array2 = context.Array, Date2 = context.Date, Error2 = context.Error, Function2 = context.Function, Math2 = context.Math, Object2 = context.Object, RegExp2 = context.RegExp, String2 = context.String, TypeError2 = context.TypeError; - var arrayProto = Array2.prototype, funcProto = Function2.prototype, objectProto = Object2.prototype; - var coreJsData = context["__core-js_shared__"]; - var funcToString = funcProto.toString; - var hasOwnProperty2 = objectProto.hasOwnProperty; - var idCounter = 0; - var maskSrcKey = function() { - var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ""); - return uid ? "Symbol(src)_1." + uid : ""; - }(); - var nativeObjectToString = objectProto.toString; - var objectCtorString = funcToString.call(Object2); - var oldDash = root._; - var reIsNative = RegExp2( - "^" + funcToString.call(hasOwnProperty2).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$" - ); - var Buffer2 = moduleExports ? context.Buffer : undefined2, Symbol2 = context.Symbol, Uint8Array2 = context.Uint8Array, allocUnsafe = Buffer2 ? Buffer2.allocUnsafe : undefined2, getPrototype = overArg(Object2.getPrototypeOf, Object2), objectCreate = Object2.create, propertyIsEnumerable = objectProto.propertyIsEnumerable, splice = arrayProto.splice, spreadableSymbol = Symbol2 ? Symbol2.isConcatSpreadable : undefined2, symIterator = Symbol2 ? Symbol2.iterator : undefined2, symToStringTag = Symbol2 ? Symbol2.toStringTag : undefined2; - var defineProperty = function() { - try { - var func = getNative(Object2, "defineProperty"); - func({}, "", {}); - return func; - } catch (e) { - } - }(); - var ctxClearTimeout = context.clearTimeout !== root.clearTimeout && context.clearTimeout, ctxNow = Date2 && Date2.now !== root.Date.now && Date2.now, ctxSetTimeout = context.setTimeout !== root.setTimeout && context.setTimeout; - var nativeCeil = Math2.ceil, nativeFloor = Math2.floor, nativeGetSymbols = Object2.getOwnPropertySymbols, nativeIsBuffer = Buffer2 ? Buffer2.isBuffer : undefined2, nativeIsFinite = context.isFinite, nativeJoin = arrayProto.join, nativeKeys = overArg(Object2.keys, Object2), nativeMax = Math2.max, nativeMin = Math2.min, nativeNow = Date2.now, nativeParseInt = context.parseInt, nativeRandom = Math2.random, nativeReverse = arrayProto.reverse; - var DataView2 = getNative(context, "DataView"), Map2 = getNative(context, "Map"), Promise2 = getNative(context, "Promise"), Set2 = getNative(context, "Set"), WeakMap2 = getNative(context, "WeakMap"), nativeCreate = getNative(Object2, "create"); - var metaMap = WeakMap2 && new WeakMap2(); - var realNames = {}; - var dataViewCtorString = toSource(DataView2), mapCtorString = toSource(Map2), promiseCtorString = toSource(Promise2), setCtorString = toSource(Set2), weakMapCtorString = toSource(WeakMap2); - var symbolProto = Symbol2 ? Symbol2.prototype : undefined2, symbolValueOf = symbolProto ? symbolProto.valueOf : undefined2, symbolToString = symbolProto ? symbolProto.toString : undefined2; - function lodash2(value) { - if (isObjectLike(value) && !isArray3(value) && !(value instanceof LazyWrapper)) { - if (value instanceof LodashWrapper) { - return value; - } - if (hasOwnProperty2.call(value, "__wrapped__")) { - return wrapperClone(value); - } - } - return new LodashWrapper(value); - } - var baseCreate = function() { - function object() { - } - return function(proto) { - if (!isObject4(proto)) { - return {}; - } - if (objectCreate) { - return objectCreate(proto); - } - object.prototype = proto; - var result2 = new object(); - object.prototype = undefined2; - return result2; - }; - }(); - function baseLodash() { - } - function LodashWrapper(value, chainAll) { - this.__wrapped__ = value; - this.__actions__ = []; - this.__chain__ = !!chainAll; - this.__index__ = 0; - this.__values__ = undefined2; - } - lodash2.templateSettings = { - "escape": reEscape, - "evaluate": reEvaluate, - "interpolate": reInterpolate, - "variable": "", - "imports": { - "_": lodash2 - } - }; - lodash2.prototype = baseLodash.prototype; - lodash2.prototype.constructor = lodash2; - LodashWrapper.prototype = baseCreate(baseLodash.prototype); - LodashWrapper.prototype.constructor = LodashWrapper; - function LazyWrapper(value) { - this.__wrapped__ = value; - this.__actions__ = []; - this.__dir__ = 1; - this.__filtered__ = false; - this.__iteratees__ = []; - this.__takeCount__ = MAX_ARRAY_LENGTH; - this.__views__ = []; - } - function lazyClone() { - var result2 = new LazyWrapper(this.__wrapped__); - result2.__actions__ = copyArray(this.__actions__); - result2.__dir__ = this.__dir__; - result2.__filtered__ = this.__filtered__; - result2.__iteratees__ = copyArray(this.__iteratees__); - result2.__takeCount__ = this.__takeCount__; - result2.__views__ = copyArray(this.__views__); - return result2; - } - function lazyReverse() { - if (this.__filtered__) { - var result2 = new LazyWrapper(this); - result2.__dir__ = -1; - result2.__filtered__ = true; - } else { - result2 = this.clone(); - result2.__dir__ *= -1; - } - return result2; - } - function lazyValue() { - var array = this.__wrapped__.value(), dir = this.__dir__, isArr = isArray3(array), isRight = dir < 0, arrLength = isArr ? array.length : 0, view = getView(0, arrLength, this.__views__), start = view.start, end = view.end, length = end - start, index = isRight ? end : start - 1, iteratees = this.__iteratees__, iterLength = iteratees.length, resIndex = 0, takeCount = nativeMin(length, this.__takeCount__); - if (!isArr || !isRight && arrLength == length && takeCount == length) { - return baseWrapperValue(array, this.__actions__); - } - var result2 = []; - outer: - while (length-- && resIndex < takeCount) { - index += dir; - var iterIndex = -1, value = array[index]; - while (++iterIndex < iterLength) { - var data = iteratees[iterIndex], iteratee2 = data.iteratee, type = data.type, computed = iteratee2(value); - if (type == LAZY_MAP_FLAG) { - value = computed; - } else if (!computed) { - if (type == LAZY_FILTER_FLAG) { - continue outer; - } else { - break outer; - } - } - } - result2[resIndex++] = value; - } - return result2; - } - LazyWrapper.prototype = baseCreate(baseLodash.prototype); - LazyWrapper.prototype.constructor = LazyWrapper; - function Hash(entries) { - var index = -1, length = entries == null ? 0 : entries.length; - this.clear(); - while (++index < length) { - var entry = entries[index]; - this.set(entry[0], entry[1]); - } - } - function hashClear() { - this.__data__ = nativeCreate ? nativeCreate(null) : {}; - this.size = 0; - } - function hashDelete(key) { - var result2 = this.has(key) && delete this.__data__[key]; - this.size -= result2 ? 1 : 0; - return result2; - } - function hashGet(key) { - var data = this.__data__; - if (nativeCreate) { - var result2 = data[key]; - return result2 === HASH_UNDEFINED ? undefined2 : result2; - } - return hasOwnProperty2.call(data, key) ? data[key] : undefined2; - } - function hashHas(key) { - var data = this.__data__; - return nativeCreate ? data[key] !== undefined2 : hasOwnProperty2.call(data, key); - } - function hashSet(key, value) { - var data = this.__data__; - this.size += this.has(key) ? 0 : 1; - data[key] = nativeCreate && value === undefined2 ? HASH_UNDEFINED : value; - return this; - } - Hash.prototype.clear = hashClear; - Hash.prototype["delete"] = hashDelete; - Hash.prototype.get = hashGet; - Hash.prototype.has = hashHas; - Hash.prototype.set = hashSet; - function ListCache(entries) { - var index = -1, length = entries == null ? 0 : entries.length; - this.clear(); - while (++index < length) { - var entry = entries[index]; - this.set(entry[0], entry[1]); - } - } - function listCacheClear() { - this.__data__ = []; - this.size = 0; - } - function listCacheDelete(key) { - var data = this.__data__, index = assocIndexOf(data, key); - if (index < 0) { - return false; - } - var lastIndex = data.length - 1; - if (index == lastIndex) { - data.pop(); - } else { - splice.call(data, index, 1); - } - --this.size; - return true; - } - function listCacheGet(key) { - var data = this.__data__, index = assocIndexOf(data, key); - return index < 0 ? undefined2 : data[index][1]; - } - function listCacheHas(key) { - return assocIndexOf(this.__data__, key) > -1; - } - function listCacheSet(key, value) { - var data = this.__data__, index = assocIndexOf(data, key); - if (index < 0) { - ++this.size; - data.push([key, value]); - } else { - data[index][1] = value; - } - return this; - } - ListCache.prototype.clear = listCacheClear; - ListCache.prototype["delete"] = listCacheDelete; - ListCache.prototype.get = listCacheGet; - ListCache.prototype.has = listCacheHas; - ListCache.prototype.set = listCacheSet; - function MapCache(entries) { - var index = -1, length = entries == null ? 0 : entries.length; - this.clear(); - while (++index < length) { - var entry = entries[index]; - this.set(entry[0], entry[1]); - } - } - function mapCacheClear() { - this.size = 0; - this.__data__ = { - "hash": new Hash(), - "map": new (Map2 || ListCache)(), - "string": new Hash() - }; - } - function mapCacheDelete(key) { - var result2 = getMapData(this, key)["delete"](key); - this.size -= result2 ? 1 : 0; - return result2; - } - function mapCacheGet(key) { - return getMapData(this, key).get(key); - } - function mapCacheHas(key) { - return getMapData(this, key).has(key); - } - function mapCacheSet(key, value) { - var data = getMapData(this, key), size2 = data.size; - data.set(key, value); - this.size += data.size == size2 ? 0 : 1; - return this; - } - MapCache.prototype.clear = mapCacheClear; - MapCache.prototype["delete"] = mapCacheDelete; - MapCache.prototype.get = mapCacheGet; - MapCache.prototype.has = mapCacheHas; - MapCache.prototype.set = mapCacheSet; - function SetCache(values2) { - var index = -1, length = values2 == null ? 0 : values2.length; - this.__data__ = new MapCache(); - while (++index < length) { - this.add(values2[index]); - } - } - function setCacheAdd(value) { - this.__data__.set(value, HASH_UNDEFINED); - return this; - } - function setCacheHas(value) { - return this.__data__.has(value); - } - SetCache.prototype.add = SetCache.prototype.push = setCacheAdd; - SetCache.prototype.has = setCacheHas; - function Stack(entries) { - var data = this.__data__ = new ListCache(entries); - this.size = data.size; - } - function stackClear() { - this.__data__ = new ListCache(); - this.size = 0; - } - function stackDelete(key) { - var data = this.__data__, result2 = data["delete"](key); - this.size = data.size; - return result2; - } - function stackGet(key) { - return this.__data__.get(key); - } - function stackHas(key) { - return this.__data__.has(key); - } - function stackSet(key, value) { - var data = this.__data__; - if (data instanceof ListCache) { - var pairs = data.__data__; - if (!Map2 || pairs.length < LARGE_ARRAY_SIZE - 1) { - pairs.push([key, value]); - this.size = ++data.size; - return this; - } - data = this.__data__ = new MapCache(pairs); - } - data.set(key, value); - this.size = data.size; - return this; - } - Stack.prototype.clear = stackClear; - Stack.prototype["delete"] = stackDelete; - Stack.prototype.get = stackGet; - Stack.prototype.has = stackHas; - Stack.prototype.set = stackSet; - function arrayLikeKeys(value, inherited) { - var isArr = isArray3(value), isArg = !isArr && isArguments(value), isBuff = !isArr && !isArg && isBuffer2(value), isType = !isArr && !isArg && !isBuff && isTypedArray2(value), skipIndexes = isArr || isArg || isBuff || isType, result2 = skipIndexes ? baseTimes(value.length, String2) : [], length = result2.length; - for (var key in value) { - if ((inherited || hasOwnProperty2.call(value, key)) && !(skipIndexes && (key == "length" || isBuff && (key == "offset" || key == "parent") || isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || isIndex(key, length)))) { - result2.push(key); - } - } - return result2; - } - function arraySample(array) { - var length = array.length; - return length ? array[baseRandom(0, length - 1)] : undefined2; - } - function arraySampleSize(array, n) { - return shuffleSelf(copyArray(array), baseClamp(n, 0, array.length)); - } - function arrayShuffle(array) { - return shuffleSelf(copyArray(array)); - } - function assignMergeValue(object, key, value) { - if (value !== undefined2 && !eq(object[key], value) || value === undefined2 && !(key in object)) { - baseAssignValue(object, key, value); - } - } - function assignValue(object, key, value) { - var objValue = object[key]; - if (!(hasOwnProperty2.call(object, key) && eq(objValue, value)) || value === undefined2 && !(key in object)) { - baseAssignValue(object, key, value); - } - } - function assocIndexOf(array, key) { - var length = array.length; - while (length--) { - if (eq(array[length][0], key)) { - return length; - } - } - return -1; - } - function baseAggregator(collection, setter, iteratee2, accumulator) { - baseEach(collection, function(value, key, collection2) { - setter(accumulator, value, iteratee2(value), collection2); - }); - return accumulator; - } - function baseAssign(object, source2) { - return object && copyObject(source2, keys2(source2), object); - } - function baseAssignIn(object, source2) { - return object && copyObject(source2, keysIn(source2), object); - } - function baseAssignValue(object, key, value) { - if (key == "__proto__" && defineProperty) { - defineProperty(object, key, { - "configurable": true, - "enumerable": true, - "value": value, - "writable": true - }); - } else { - object[key] = value; - } - } - function baseAt(object, paths) { - var index = -1, length = paths.length, result2 = Array2(length), skip = object == null; - while (++index < length) { - result2[index] = skip ? undefined2 : get(object, paths[index]); - } - return result2; - } - function baseClamp(number, lower, upper) { - if (number === number) { - if (upper !== undefined2) { - number = number <= upper ? number : upper; - } - if (lower !== undefined2) { - number = number >= lower ? number : lower; - } - } - return number; - } - function baseClone(value, bitmask, customizer, key, object, stack2) { - var result2, isDeep = bitmask & CLONE_DEEP_FLAG, isFlat = bitmask & CLONE_FLAT_FLAG, isFull = bitmask & CLONE_SYMBOLS_FLAG; - if (customizer) { - result2 = object ? customizer(value, key, object, stack2) : customizer(value); - } - if (result2 !== undefined2) { - return result2; - } - if (!isObject4(value)) { - return value; - } - var isArr = isArray3(value); - if (isArr) { - result2 = initCloneArray(value); - if (!isDeep) { - return copyArray(value, result2); - } - } else { - var tag = getTag(value), isFunc = tag == funcTag || tag == genTag; - if (isBuffer2(value)) { - return cloneBuffer(value, isDeep); - } - if (tag == objectTag || tag == argsTag || isFunc && !object) { - result2 = isFlat || isFunc ? {} : initCloneObject(value); - if (!isDeep) { - return isFlat ? copySymbolsIn(value, baseAssignIn(result2, value)) : copySymbols(value, baseAssign(result2, value)); - } - } else { - if (!cloneableTags[tag]) { - return object ? value : {}; - } - result2 = initCloneByTag(value, tag, isDeep); - } - } - stack2 || (stack2 = new Stack()); - var stacked = stack2.get(value); - if (stacked) { - return stacked; - } - stack2.set(value, result2); - if (isSet(value)) { - value.forEach(function(subValue) { - result2.add(baseClone(subValue, bitmask, customizer, subValue, value, stack2)); - }); - } else if (isMap(value)) { - value.forEach(function(subValue, key2) { - result2.set(key2, baseClone(subValue, bitmask, customizer, key2, value, stack2)); - }); - } - var keysFunc = isFull ? isFlat ? getAllKeysIn : getAllKeys : isFlat ? keysIn : keys2; - var props = isArr ? undefined2 : keysFunc(value); - arrayEach(props || value, function(subValue, key2) { - if (props) { - key2 = subValue; - subValue = value[key2]; - } - assignValue(result2, key2, baseClone(subValue, bitmask, customizer, key2, value, stack2)); - }); - return result2; - } - function baseConforms(source2) { - var props = keys2(source2); - return function(object) { - return baseConformsTo(object, source2, props); - }; - } - function baseConformsTo(object, source2, props) { - var length = props.length; - if (object == null) { - return !length; - } - object = Object2(object); - while (length--) { - var key = props[length], predicate = source2[key], value = object[key]; - if (value === undefined2 && !(key in object) || !predicate(value)) { - return false; - } - } - return true; - } - function baseDelay(func, wait, args2) { - if (typeof func != "function") { - throw new TypeError2(FUNC_ERROR_TEXT); - } - return setTimeout2(function() { - func.apply(undefined2, args2); - }, wait); - } - function baseDifference(array, values2, iteratee2, comparator) { - var index = -1, includes2 = arrayIncludes, isCommon = true, length = array.length, result2 = [], valuesLength = values2.length; - if (!length) { - return result2; - } - if (iteratee2) { - values2 = arrayMap(values2, baseUnary(iteratee2)); - } - if (comparator) { - includes2 = arrayIncludesWith; - isCommon = false; - } else if (values2.length >= LARGE_ARRAY_SIZE) { - includes2 = cacheHas; - isCommon = false; - values2 = new SetCache(values2); - } - outer: - while (++index < length) { - var value = array[index], computed = iteratee2 == null ? value : iteratee2(value); - value = comparator || value !== 0 ? value : 0; - if (isCommon && computed === computed) { - var valuesIndex = valuesLength; - while (valuesIndex--) { - if (values2[valuesIndex] === computed) { - continue outer; - } - } - result2.push(value); - } else if (!includes2(values2, computed, comparator)) { - result2.push(value); - } - } - return result2; - } - var baseEach = createBaseEach(baseForOwn); - var baseEachRight = createBaseEach(baseForOwnRight, true); - function baseEvery(collection, predicate) { - var result2 = true; - baseEach(collection, function(value, index, collection2) { - result2 = !!predicate(value, index, collection2); - return result2; - }); - return result2; - } - function baseExtremum(array, iteratee2, comparator) { - var index = -1, length = array.length; - while (++index < length) { - var value = array[index], current = iteratee2(value); - if (current != null && (computed === undefined2 ? current === current && !isSymbol(current) : comparator(current, computed))) { - var computed = current, result2 = value; - } - } - return result2; - } - function baseFill(array, value, start, end) { - var length = array.length; - start = toInteger(start); - if (start < 0) { - start = -start > length ? 0 : length + start; - } - end = end === undefined2 || end > length ? length : toInteger(end); - if (end < 0) { - end += length; - } - end = start > end ? 0 : toLength(end); - while (start < end) { - array[start++] = value; - } - return array; - } - function baseFilter(collection, predicate) { - var result2 = []; - baseEach(collection, function(value, index, collection2) { - if (predicate(value, index, collection2)) { - result2.push(value); - } - }); - return result2; - } - function baseFlatten(array, depth, predicate, isStrict, result2) { - var index = -1, length = array.length; - predicate || (predicate = isFlattenable); - result2 || (result2 = []); - while (++index < length) { - var value = array[index]; - if (depth > 0 && predicate(value)) { - if (depth > 1) { - baseFlatten(value, depth - 1, predicate, isStrict, result2); - } else { - arrayPush(result2, value); - } - } else if (!isStrict) { - result2[result2.length] = value; - } - } - return result2; - } - var baseFor = createBaseFor(); - var baseForRight = createBaseFor(true); - function baseForOwn(object, iteratee2) { - return object && baseFor(object, iteratee2, keys2); - } - function baseForOwnRight(object, iteratee2) { - return object && baseForRight(object, iteratee2, keys2); - } - function baseFunctions(object, props) { - return arrayFilter(props, function(key) { - return isFunction2(object[key]); - }); - } - function baseGet(object, path4) { - path4 = castPath(path4, object); - var index = 0, length = path4.length; - while (object != null && index < length) { - object = object[toKey(path4[index++])]; - } - return index && index == length ? object : undefined2; - } - function baseGetAllKeys(object, keysFunc, symbolsFunc) { - var result2 = keysFunc(object); - return isArray3(object) ? result2 : arrayPush(result2, symbolsFunc(object)); - } - function baseGetTag(value) { - if (value == null) { - return value === undefined2 ? undefinedTag : nullTag; - } - return symToStringTag && symToStringTag in Object2(value) ? getRawTag(value) : objectToString(value); - } - function baseGt(value, other) { - return value > other; - } - function baseHas(object, key) { - return object != null && hasOwnProperty2.call(object, key); - } - function baseHasIn(object, key) { - return object != null && key in Object2(object); - } - function baseInRange(number, start, end) { - return number >= nativeMin(start, end) && number < nativeMax(start, end); - } - function baseIntersection(arrays, iteratee2, comparator) { - var includes2 = comparator ? arrayIncludesWith : arrayIncludes, length = arrays[0].length, othLength = arrays.length, othIndex = othLength, caches = Array2(othLength), maxLength = Infinity, result2 = []; - while (othIndex--) { - var array = arrays[othIndex]; - if (othIndex && iteratee2) { - array = arrayMap(array, baseUnary(iteratee2)); - } - maxLength = nativeMin(array.length, maxLength); - caches[othIndex] = !comparator && (iteratee2 || length >= 120 && array.length >= 120) ? new SetCache(othIndex && array) : undefined2; - } - array = arrays[0]; - var index = -1, seen = caches[0]; - outer: - while (++index < length && result2.length < maxLength) { - var value = array[index], computed = iteratee2 ? iteratee2(value) : value; - value = comparator || value !== 0 ? value : 0; - if (!(seen ? cacheHas(seen, computed) : includes2(result2, computed, comparator))) { - othIndex = othLength; - while (--othIndex) { - var cache = caches[othIndex]; - if (!(cache ? cacheHas(cache, computed) : includes2(arrays[othIndex], computed, comparator))) { - continue outer; - } - } - if (seen) { - seen.push(computed); - } - result2.push(value); - } - } - return result2; - } - function baseInverter(object, setter, iteratee2, accumulator) { - baseForOwn(object, function(value, key, object2) { - setter(accumulator, iteratee2(value), key, object2); - }); - return accumulator; - } - function baseInvoke(object, path4, args2) { - path4 = castPath(path4, object); - object = parent(object, path4); - var func = object == null ? object : object[toKey(last(path4))]; - return func == null ? undefined2 : apply(func, object, args2); - } - function baseIsArguments(value) { - return isObjectLike(value) && baseGetTag(value) == argsTag; - } - function baseIsArrayBuffer(value) { - return isObjectLike(value) && baseGetTag(value) == arrayBufferTag; - } - function baseIsDate(value) { - return isObjectLike(value) && baseGetTag(value) == dateTag; - } - function baseIsEqual(value, other, bitmask, customizer, stack2) { - if (value === other) { - return true; - } - if (value == null || other == null || !isObjectLike(value) && !isObjectLike(other)) { - return value !== value && other !== other; - } - return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack2); - } - function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack2) { - var objIsArr = isArray3(object), othIsArr = isArray3(other), objTag = objIsArr ? arrayTag : getTag(object), othTag = othIsArr ? arrayTag : getTag(other); - objTag = objTag == argsTag ? objectTag : objTag; - othTag = othTag == argsTag ? objectTag : othTag; - var objIsObj = objTag == objectTag, othIsObj = othTag == objectTag, isSameTag = objTag == othTag; - if (isSameTag && isBuffer2(object)) { - if (!isBuffer2(other)) { - return false; - } - objIsArr = true; - objIsObj = false; - } - if (isSameTag && !objIsObj) { - stack2 || (stack2 = new Stack()); - return objIsArr || isTypedArray2(object) ? equalArrays(object, other, bitmask, customizer, equalFunc, stack2) : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack2); - } - if (!(bitmask & COMPARE_PARTIAL_FLAG)) { - var objIsWrapped = objIsObj && hasOwnProperty2.call(object, "__wrapped__"), othIsWrapped = othIsObj && hasOwnProperty2.call(other, "__wrapped__"); - if (objIsWrapped || othIsWrapped) { - var objUnwrapped = objIsWrapped ? object.value() : object, othUnwrapped = othIsWrapped ? other.value() : other; - stack2 || (stack2 = new Stack()); - return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack2); - } - } - if (!isSameTag) { - return false; - } - stack2 || (stack2 = new Stack()); - return equalObjects(object, other, bitmask, customizer, equalFunc, stack2); - } - function baseIsMap(value) { - return isObjectLike(value) && getTag(value) == mapTag; - } - function baseIsMatch(object, source2, matchData, customizer) { - var index = matchData.length, length = index, noCustomizer = !customizer; - if (object == null) { - return !length; - } - object = Object2(object); - while (index--) { - var data = matchData[index]; - if (noCustomizer && data[2] ? data[1] !== object[data[0]] : !(data[0] in object)) { - return false; - } - } - while (++index < length) { - data = matchData[index]; - var key = data[0], objValue = object[key], srcValue = data[1]; - if (noCustomizer && data[2]) { - if (objValue === undefined2 && !(key in object)) { - return false; - } - } else { - var stack2 = new Stack(); - if (customizer) { - var result2 = customizer(objValue, srcValue, key, object, source2, stack2); - } - if (!(result2 === undefined2 ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack2) : result2)) { - return false; - } - } - } - return true; - } - function baseIsNative(value) { - if (!isObject4(value) || isMasked(value)) { - return false; - } - var pattern = isFunction2(value) ? reIsNative : reIsHostCtor; - return pattern.test(toSource(value)); - } - function baseIsRegExp(value) { - return isObjectLike(value) && baseGetTag(value) == regexpTag; - } - function baseIsSet(value) { - return isObjectLike(value) && getTag(value) == setTag; - } - function baseIsTypedArray(value) { - return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)]; - } - function baseIteratee(value) { - if (typeof value == "function") { - return value; - } - if (value == null) { - return identity; - } - if (typeof value == "object") { - return isArray3(value) ? baseMatchesProperty(value[0], value[1]) : baseMatches(value); - } - return property(value); - } - function baseKeys(object) { - if (!isPrototype(object)) { - return nativeKeys(object); - } - var result2 = []; - for (var key in Object2(object)) { - if (hasOwnProperty2.call(object, key) && key != "constructor") { - result2.push(key); - } - } - return result2; - } - function baseKeysIn(object) { - if (!isObject4(object)) { - return nativeKeysIn(object); - } - var isProto = isPrototype(object), result2 = []; - for (var key in object) { - if (!(key == "constructor" && (isProto || !hasOwnProperty2.call(object, key)))) { - result2.push(key); - } - } - return result2; - } - function baseLt(value, other) { - return value < other; - } - function baseMap(collection, iteratee2) { - var index = -1, result2 = isArrayLike(collection) ? Array2(collection.length) : []; - baseEach(collection, function(value, key, collection2) { - result2[++index] = iteratee2(value, key, collection2); - }); - return result2; - } - function baseMatches(source2) { - var matchData = getMatchData(source2); - if (matchData.length == 1 && matchData[0][2]) { - return matchesStrictComparable(matchData[0][0], matchData[0][1]); - } - return function(object) { - return object === source2 || baseIsMatch(object, source2, matchData); - }; - } - function baseMatchesProperty(path4, srcValue) { - if (isKey(path4) && isStrictComparable(srcValue)) { - return matchesStrictComparable(toKey(path4), srcValue); - } - return function(object) { - var objValue = get(object, path4); - return objValue === undefined2 && objValue === srcValue ? hasIn(object, path4) : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG); - }; - } - function baseMerge(object, source2, srcIndex, customizer, stack2) { - if (object === source2) { - return; - } - baseFor(source2, function(srcValue, key) { - stack2 || (stack2 = new Stack()); - if (isObject4(srcValue)) { - baseMergeDeep(object, source2, key, srcIndex, baseMerge, customizer, stack2); - } else { - var newValue = customizer ? customizer(safeGet(object, key), srcValue, key + "", object, source2, stack2) : undefined2; - if (newValue === undefined2) { - newValue = srcValue; - } - assignMergeValue(object, key, newValue); - } - }, keysIn); - } - function baseMergeDeep(object, source2, key, srcIndex, mergeFunc, customizer, stack2) { - var objValue = safeGet(object, key), srcValue = safeGet(source2, key), stacked = stack2.get(srcValue); - if (stacked) { - assignMergeValue(object, key, stacked); - return; - } - var newValue = customizer ? customizer(objValue, srcValue, key + "", object, source2, stack2) : undefined2; - var isCommon = newValue === undefined2; - if (isCommon) { - var isArr = isArray3(srcValue), isBuff = !isArr && isBuffer2(srcValue), isTyped = !isArr && !isBuff && isTypedArray2(srcValue); - newValue = srcValue; - if (isArr || isBuff || isTyped) { - if (isArray3(objValue)) { - newValue = objValue; - } else if (isArrayLikeObject(objValue)) { - newValue = copyArray(objValue); - } else if (isBuff) { - isCommon = false; - newValue = cloneBuffer(srcValue, true); - } else if (isTyped) { - isCommon = false; - newValue = cloneTypedArray(srcValue, true); - } else { - newValue = []; - } - } else if (isPlainObject2(srcValue) || isArguments(srcValue)) { - newValue = objValue; - if (isArguments(objValue)) { - newValue = toPlainObject(objValue); - } else if (!isObject4(objValue) || isFunction2(objValue)) { - newValue = initCloneObject(srcValue); - } - } else { - isCommon = false; - } - } - if (isCommon) { - stack2.set(srcValue, newValue); - mergeFunc(newValue, srcValue, srcIndex, customizer, stack2); - stack2["delete"](srcValue); - } - assignMergeValue(object, key, newValue); - } - function baseNth(array, n) { - var length = array.length; - if (!length) { - return; - } - n += n < 0 ? length : 0; - return isIndex(n, length) ? array[n] : undefined2; - } - function baseOrderBy(collection, iteratees, orders) { - if (iteratees.length) { - iteratees = arrayMap(iteratees, function(iteratee2) { - if (isArray3(iteratee2)) { - return function(value) { - return baseGet(value, iteratee2.length === 1 ? iteratee2[0] : iteratee2); - }; - } - return iteratee2; - }); - } else { - iteratees = [identity]; - } - var index = -1; - iteratees = arrayMap(iteratees, baseUnary(getIteratee())); - var result2 = baseMap(collection, function(value, key, collection2) { - var criteria = arrayMap(iteratees, function(iteratee2) { - return iteratee2(value); - }); - return { "criteria": criteria, "index": ++index, "value": value }; - }); - return baseSortBy(result2, function(object, other) { - return compareMultiple(object, other, orders); - }); - } - function basePick(object, paths) { - return basePickBy(object, paths, function(value, path4) { - return hasIn(object, path4); - }); - } - function basePickBy(object, paths, predicate) { - var index = -1, length = paths.length, result2 = {}; - while (++index < length) { - var path4 = paths[index], value = baseGet(object, path4); - if (predicate(value, path4)) { - baseSet(result2, castPath(path4, object), value); - } - } - return result2; - } - function basePropertyDeep(path4) { - return function(object) { - return baseGet(object, path4); - }; - } - function basePullAll(array, values2, iteratee2, comparator) { - var indexOf2 = comparator ? baseIndexOfWith : baseIndexOf, index = -1, length = values2.length, seen = array; - if (array === values2) { - values2 = copyArray(values2); - } - if (iteratee2) { - seen = arrayMap(array, baseUnary(iteratee2)); - } - while (++index < length) { - var fromIndex = 0, value = values2[index], computed = iteratee2 ? iteratee2(value) : value; - while ((fromIndex = indexOf2(seen, computed, fromIndex, comparator)) > -1) { - if (seen !== array) { - splice.call(seen, fromIndex, 1); - } - splice.call(array, fromIndex, 1); - } - } - return array; - } - function basePullAt(array, indexes) { - var length = array ? indexes.length : 0, lastIndex = length - 1; - while (length--) { - var index = indexes[length]; - if (length == lastIndex || index !== previous) { - var previous = index; - if (isIndex(index)) { - splice.call(array, index, 1); - } else { - baseUnset(array, index); - } - } - } - return array; - } - function baseRandom(lower, upper) { - return lower + nativeFloor(nativeRandom() * (upper - lower + 1)); - } - function baseRange(start, end, step, fromRight) { - var index = -1, length = nativeMax(nativeCeil((end - start) / (step || 1)), 0), result2 = Array2(length); - while (length--) { - result2[fromRight ? length : ++index] = start; - start += step; - } - return result2; - } - function baseRepeat(string, n) { - var result2 = ""; - if (!string || n < 1 || n > MAX_SAFE_INTEGER) { - return result2; - } - do { - if (n % 2) { - result2 += string; - } - n = nativeFloor(n / 2); - if (n) { - string += string; - } - } while (n); - return result2; - } - function baseRest(func, start) { - return setToString(overRest(func, start, identity), func + ""); - } - function baseSample(collection) { - return arraySample(values(collection)); - } - function baseSampleSize(collection, n) { - var array = values(collection); - return shuffleSelf(array, baseClamp(n, 0, array.length)); - } - function baseSet(object, path4, value, customizer) { - if (!isObject4(object)) { - return object; - } - path4 = castPath(path4, object); - var index = -1, length = path4.length, lastIndex = length - 1, nested = object; - while (nested != null && ++index < length) { - var key = toKey(path4[index]), newValue = value; - if (key === "__proto__" || key === "constructor" || key === "prototype") { - return object; - } - if (index != lastIndex) { - var objValue = nested[key]; - newValue = customizer ? customizer(objValue, key, nested) : undefined2; - if (newValue === undefined2) { - newValue = isObject4(objValue) ? objValue : isIndex(path4[index + 1]) ? [] : {}; - } - } - assignValue(nested, key, newValue); - nested = nested[key]; - } - return object; - } - var baseSetData = !metaMap ? identity : function(func, data) { - metaMap.set(func, data); - return func; - }; - var baseSetToString = !defineProperty ? identity : function(func, string) { - return defineProperty(func, "toString", { - "configurable": true, - "enumerable": false, - "value": constant(string), - "writable": true - }); - }; - function baseShuffle(collection) { - return shuffleSelf(values(collection)); - } - function baseSlice(array, start, end) { - var index = -1, length = array.length; - if (start < 0) { - start = -start > length ? 0 : length + start; - } - end = end > length ? length : end; - if (end < 0) { - end += length; - } - length = start > end ? 0 : end - start >>> 0; - start >>>= 0; - var result2 = Array2(length); - while (++index < length) { - result2[index] = array[index + start]; - } - return result2; - } - function baseSome(collection, predicate) { - var result2; - baseEach(collection, function(value, index, collection2) { - result2 = predicate(value, index, collection2); - return !result2; - }); - return !!result2; - } - function baseSortedIndex(array, value, retHighest) { - var low = 0, high = array == null ? low : array.length; - if (typeof value == "number" && value === value && high <= HALF_MAX_ARRAY_LENGTH) { - while (low < high) { - var mid = low + high >>> 1, computed = array[mid]; - if (computed !== null && !isSymbol(computed) && (retHighest ? computed <= value : computed < value)) { - low = mid + 1; - } else { - high = mid; - } - } - return high; - } - return baseSortedIndexBy(array, value, identity, retHighest); - } - function baseSortedIndexBy(array, value, iteratee2, retHighest) { - var low = 0, high = array == null ? 0 : array.length; - if (high === 0) { - return 0; - } - value = iteratee2(value); - var valIsNaN = value !== value, valIsNull = value === null, valIsSymbol = isSymbol(value), valIsUndefined = value === undefined2; - while (low < high) { - var mid = nativeFloor((low + high) / 2), computed = iteratee2(array[mid]), othIsDefined = computed !== undefined2, othIsNull = computed === null, othIsReflexive = computed === computed, othIsSymbol = isSymbol(computed); - if (valIsNaN) { - var setLow = retHighest || othIsReflexive; - } else if (valIsUndefined) { - setLow = othIsReflexive && (retHighest || othIsDefined); - } else if (valIsNull) { - setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull); - } else if (valIsSymbol) { - setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol); - } else if (othIsNull || othIsSymbol) { - setLow = false; - } else { - setLow = retHighest ? computed <= value : computed < value; - } - if (setLow) { - low = mid + 1; - } else { - high = mid; - } - } - return nativeMin(high, MAX_ARRAY_INDEX); - } - function baseSortedUniq(array, iteratee2) { - var index = -1, length = array.length, resIndex = 0, result2 = []; - while (++index < length) { - var value = array[index], computed = iteratee2 ? iteratee2(value) : value; - if (!index || !eq(computed, seen)) { - var seen = computed; - result2[resIndex++] = value === 0 ? 0 : value; - } - } - return result2; - } - function baseToNumber(value) { - if (typeof value == "number") { - return value; - } - if (isSymbol(value)) { - return NAN; - } - return +value; - } - function baseToString(value) { - if (typeof value == "string") { - return value; - } - if (isArray3(value)) { - return arrayMap(value, baseToString) + ""; - } - if (isSymbol(value)) { - return symbolToString ? symbolToString.call(value) : ""; - } - var result2 = value + ""; - return result2 == "0" && 1 / value == -INFINITY ? "-0" : result2; - } - function baseUniq(array, iteratee2, comparator) { - var index = -1, includes2 = arrayIncludes, length = array.length, isCommon = true, result2 = [], seen = result2; - if (comparator) { - isCommon = false; - includes2 = arrayIncludesWith; - } else if (length >= LARGE_ARRAY_SIZE) { - var set2 = iteratee2 ? null : createSet(array); - if (set2) { - return setToArray(set2); - } - isCommon = false; - includes2 = cacheHas; - seen = new SetCache(); - } else { - seen = iteratee2 ? [] : result2; - } - outer: - while (++index < length) { - var value = array[index], computed = iteratee2 ? iteratee2(value) : value; - value = comparator || value !== 0 ? value : 0; - if (isCommon && computed === computed) { - var seenIndex = seen.length; - while (seenIndex--) { - if (seen[seenIndex] === computed) { - continue outer; - } - } - if (iteratee2) { - seen.push(computed); - } - result2.push(value); - } else if (!includes2(seen, computed, comparator)) { - if (seen !== result2) { - seen.push(computed); - } - result2.push(value); - } - } - return result2; - } - function baseUnset(object, path4) { - path4 = castPath(path4, object); - object = parent(object, path4); - return object == null || delete object[toKey(last(path4))]; - } - function baseUpdate(object, path4, updater, customizer) { - return baseSet(object, path4, updater(baseGet(object, path4)), customizer); - } - function baseWhile(array, predicate, isDrop, fromRight) { - var length = array.length, index = fromRight ? length : -1; - while ((fromRight ? index-- : ++index < length) && predicate(array[index], index, array)) { - } - return isDrop ? baseSlice(array, fromRight ? 0 : index, fromRight ? index + 1 : length) : baseSlice(array, fromRight ? index + 1 : 0, fromRight ? length : index); - } - function baseWrapperValue(value, actions) { - var result2 = value; - if (result2 instanceof LazyWrapper) { - result2 = result2.value(); - } - return arrayReduce(actions, function(result3, action) { - return action.func.apply(action.thisArg, arrayPush([result3], action.args)); - }, result2); - } - function baseXor(arrays, iteratee2, comparator) { - var length = arrays.length; - if (length < 2) { - return length ? baseUniq(arrays[0]) : []; - } - var index = -1, result2 = Array2(length); - while (++index < length) { - var array = arrays[index], othIndex = -1; - while (++othIndex < length) { - if (othIndex != index) { - result2[index] = baseDifference(result2[index] || array, arrays[othIndex], iteratee2, comparator); - } - } - } - return baseUniq(baseFlatten(result2, 1), iteratee2, comparator); - } - function baseZipObject(props, values2, assignFunc) { - var index = -1, length = props.length, valsLength = values2.length, result2 = {}; - while (++index < length) { - var value = index < valsLength ? values2[index] : undefined2; - assignFunc(result2, props[index], value); - } - return result2; - } - function castArrayLikeObject(value) { - return isArrayLikeObject(value) ? value : []; - } - function castFunction(value) { - return typeof value == "function" ? value : identity; - } - function castPath(value, object) { - if (isArray3(value)) { - return value; - } - return isKey(value, object) ? [value] : stringToPath(toString3(value)); - } - var castRest = baseRest; - function castSlice(array, start, end) { - var length = array.length; - end = end === undefined2 ? length : end; - return !start && end >= length ? array : baseSlice(array, start, end); - } - var clearTimeout2 = ctxClearTimeout || function(id) { - return root.clearTimeout(id); - }; - function cloneBuffer(buffer, isDeep) { - if (isDeep) { - return buffer.slice(); - } - var length = buffer.length, result2 = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length); - buffer.copy(result2); - return result2; - } - function cloneArrayBuffer(arrayBuffer) { - var result2 = new arrayBuffer.constructor(arrayBuffer.byteLength); - new Uint8Array2(result2).set(new Uint8Array2(arrayBuffer)); - return result2; - } - function cloneDataView(dataView, isDeep) { - var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer; - return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength); - } - function cloneRegExp(regexp) { - var result2 = new regexp.constructor(regexp.source, reFlags.exec(regexp)); - result2.lastIndex = regexp.lastIndex; - return result2; - } - function cloneSymbol(symbol) { - return symbolValueOf ? Object2(symbolValueOf.call(symbol)) : {}; - } - function cloneTypedArray(typedArray, isDeep) { - var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer; - return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length); - } - function compareAscending(value, other) { - if (value !== other) { - var valIsDefined = value !== undefined2, valIsNull = value === null, valIsReflexive = value === value, valIsSymbol = isSymbol(value); - var othIsDefined = other !== undefined2, othIsNull = other === null, othIsReflexive = other === other, othIsSymbol = isSymbol(other); - if (!othIsNull && !othIsSymbol && !valIsSymbol && value > other || valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol || valIsNull && othIsDefined && othIsReflexive || !valIsDefined && othIsReflexive || !valIsReflexive) { - return 1; - } - if (!valIsNull && !valIsSymbol && !othIsSymbol && value < other || othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol || othIsNull && valIsDefined && valIsReflexive || !othIsDefined && valIsReflexive || !othIsReflexive) { - return -1; - } - } - return 0; - } - function compareMultiple(object, other, orders) { - var index = -1, objCriteria = object.criteria, othCriteria = other.criteria, length = objCriteria.length, ordersLength = orders.length; - while (++index < length) { - var result2 = compareAscending(objCriteria[index], othCriteria[index]); - if (result2) { - if (index >= ordersLength) { - return result2; - } - var order = orders[index]; - return result2 * (order == "desc" ? -1 : 1); - } - } - return object.index - other.index; - } - function composeArgs(args2, partials, holders, isCurried) { - var argsIndex = -1, argsLength = args2.length, holdersLength = holders.length, leftIndex = -1, leftLength = partials.length, rangeLength = nativeMax(argsLength - holdersLength, 0), result2 = Array2(leftLength + rangeLength), isUncurried = !isCurried; - while (++leftIndex < leftLength) { - result2[leftIndex] = partials[leftIndex]; - } - while (++argsIndex < holdersLength) { - if (isUncurried || argsIndex < argsLength) { - result2[holders[argsIndex]] = args2[argsIndex]; - } - } - while (rangeLength--) { - result2[leftIndex++] = args2[argsIndex++]; - } - return result2; - } - function composeArgsRight(args2, partials, holders, isCurried) { - var argsIndex = -1, argsLength = args2.length, holdersIndex = -1, holdersLength = holders.length, rightIndex = -1, rightLength = partials.length, rangeLength = nativeMax(argsLength - holdersLength, 0), result2 = Array2(rangeLength + rightLength), isUncurried = !isCurried; - while (++argsIndex < rangeLength) { - result2[argsIndex] = args2[argsIndex]; - } - var offset = argsIndex; - while (++rightIndex < rightLength) { - result2[offset + rightIndex] = partials[rightIndex]; - } - while (++holdersIndex < holdersLength) { - if (isUncurried || argsIndex < argsLength) { - result2[offset + holders[holdersIndex]] = args2[argsIndex++]; - } - } - return result2; - } - function copyArray(source2, array) { - var index = -1, length = source2.length; - array || (array = Array2(length)); - while (++index < length) { - array[index] = source2[index]; - } - return array; - } - function copyObject(source2, props, object, customizer) { - var isNew = !object; - object || (object = {}); - var index = -1, length = props.length; - while (++index < length) { - var key = props[index]; - var newValue = customizer ? customizer(object[key], source2[key], key, object, source2) : undefined2; - if (newValue === undefined2) { - newValue = source2[key]; - } - if (isNew) { - baseAssignValue(object, key, newValue); - } else { - assignValue(object, key, newValue); - } - } - return object; - } - function copySymbols(source2, object) { - return copyObject(source2, getSymbols(source2), object); - } - function copySymbolsIn(source2, object) { - return copyObject(source2, getSymbolsIn(source2), object); - } - function createAggregator(setter, initializer) { - return function(collection, iteratee2) { - var func = isArray3(collection) ? arrayAggregator : baseAggregator, accumulator = initializer ? initializer() : {}; - return func(collection, setter, getIteratee(iteratee2, 2), accumulator); - }; - } - function createAssigner(assigner) { - return baseRest(function(object, sources) { - var index = -1, length = sources.length, customizer = length > 1 ? sources[length - 1] : undefined2, guard = length > 2 ? sources[2] : undefined2; - customizer = assigner.length > 3 && typeof customizer == "function" ? (length--, customizer) : undefined2; - if (guard && isIterateeCall(sources[0], sources[1], guard)) { - customizer = length < 3 ? undefined2 : customizer; - length = 1; - } - object = Object2(object); - while (++index < length) { - var source2 = sources[index]; - if (source2) { - assigner(object, source2, index, customizer); - } - } - return object; - }); - } - function createBaseEach(eachFunc, fromRight) { - return function(collection, iteratee2) { - if (collection == null) { - return collection; - } - if (!isArrayLike(collection)) { - return eachFunc(collection, iteratee2); - } - var length = collection.length, index = fromRight ? length : -1, iterable = Object2(collection); - while (fromRight ? index-- : ++index < length) { - if (iteratee2(iterable[index], index, iterable) === false) { - break; - } - } - return collection; - }; - } - function createBaseFor(fromRight) { - return function(object, iteratee2, keysFunc) { - var index = -1, iterable = Object2(object), props = keysFunc(object), length = props.length; - while (length--) { - var key = props[fromRight ? length : ++index]; - if (iteratee2(iterable[key], key, iterable) === false) { - break; - } - } - return object; - }; - } - function createBind(func, bitmask, thisArg) { - var isBind = bitmask & WRAP_BIND_FLAG, Ctor = createCtor(func); - function wrapper() { - var fn2 = this && this !== root && this instanceof wrapper ? Ctor : func; - return fn2.apply(isBind ? thisArg : this, arguments); - } - return wrapper; - } - function createCaseFirst(methodName) { - return function(string) { - string = toString3(string); - var strSymbols = hasUnicode(string) ? stringToArray(string) : undefined2; - var chr = strSymbols ? strSymbols[0] : string.charAt(0); - var trailing = strSymbols ? castSlice(strSymbols, 1).join("") : string.slice(1); - return chr[methodName]() + trailing; - }; - } - function createCompounder(callback) { - return function(string) { - return arrayReduce(words(deburr(string).replace(reApos, "")), callback, ""); - }; - } - function createCtor(Ctor) { - return function() { - var args2 = arguments; - switch (args2.length) { - case 0: - return new Ctor(); - case 1: - return new Ctor(args2[0]); - case 2: - return new Ctor(args2[0], args2[1]); - case 3: - return new Ctor(args2[0], args2[1], args2[2]); - case 4: - return new Ctor(args2[0], args2[1], args2[2], args2[3]); - case 5: - return new Ctor(args2[0], args2[1], args2[2], args2[3], args2[4]); - case 6: - return new Ctor(args2[0], args2[1], args2[2], args2[3], args2[4], args2[5]); - case 7: - return new Ctor(args2[0], args2[1], args2[2], args2[3], args2[4], args2[5], args2[6]); - } - var thisBinding = baseCreate(Ctor.prototype), result2 = Ctor.apply(thisBinding, args2); - return isObject4(result2) ? result2 : thisBinding; - }; - } - function createCurry(func, bitmask, arity) { - var Ctor = createCtor(func); - function wrapper() { - var length = arguments.length, args2 = Array2(length), index = length, placeholder = getHolder(wrapper); - while (index--) { - args2[index] = arguments[index]; - } - var holders = length < 3 && args2[0] !== placeholder && args2[length - 1] !== placeholder ? [] : replaceHolders(args2, placeholder); - length -= holders.length; - if (length < arity) { - return createRecurry( - func, - bitmask, - createHybrid, - wrapper.placeholder, - undefined2, - args2, - holders, - undefined2, - undefined2, - arity - length - ); - } - var fn2 = this && this !== root && this instanceof wrapper ? Ctor : func; - return apply(fn2, this, args2); - } - return wrapper; - } - function createFind(findIndexFunc) { - return function(collection, predicate, fromIndex) { - var iterable = Object2(collection); - if (!isArrayLike(collection)) { - var iteratee2 = getIteratee(predicate, 3); - collection = keys2(collection); - predicate = function(key) { - return iteratee2(iterable[key], key, iterable); - }; - } - var index = findIndexFunc(collection, predicate, fromIndex); - return index > -1 ? iterable[iteratee2 ? collection[index] : index] : undefined2; - }; - } - function createFlow(fromRight) { - return flatRest(function(funcs) { - var length = funcs.length, index = length, prereq = LodashWrapper.prototype.thru; - if (fromRight) { - funcs.reverse(); - } - while (index--) { - var func = funcs[index]; - if (typeof func != "function") { - throw new TypeError2(FUNC_ERROR_TEXT); - } - if (prereq && !wrapper && getFuncName(func) == "wrapper") { - var wrapper = new LodashWrapper([], true); - } - } - index = wrapper ? index : length; - while (++index < length) { - func = funcs[index]; - var funcName = getFuncName(func), data = funcName == "wrapper" ? getData(func) : undefined2; - if (data && isLaziable(data[0]) && data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) && !data[4].length && data[9] == 1) { - wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]); - } else { - wrapper = func.length == 1 && isLaziable(func) ? wrapper[funcName]() : wrapper.thru(func); - } - } - return function() { - var args2 = arguments, value = args2[0]; - if (wrapper && args2.length == 1 && isArray3(value)) { - return wrapper.plant(value).value(); - } - var index2 = 0, result2 = length ? funcs[index2].apply(this, args2) : value; - while (++index2 < length) { - result2 = funcs[index2].call(this, result2); - } - return result2; - }; - }); - } - function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary2, arity) { - var isAry = bitmask & WRAP_ARY_FLAG, isBind = bitmask & WRAP_BIND_FLAG, isBindKey = bitmask & WRAP_BIND_KEY_FLAG, isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG), isFlip = bitmask & WRAP_FLIP_FLAG, Ctor = isBindKey ? undefined2 : createCtor(func); - function wrapper() { - var length = arguments.length, args2 = Array2(length), index = length; - while (index--) { - args2[index] = arguments[index]; - } - if (isCurried) { - var placeholder = getHolder(wrapper), holdersCount = countHolders(args2, placeholder); - } - if (partials) { - args2 = composeArgs(args2, partials, holders, isCurried); - } - if (partialsRight) { - args2 = composeArgsRight(args2, partialsRight, holdersRight, isCurried); - } - length -= holdersCount; - if (isCurried && length < arity) { - var newHolders = replaceHolders(args2, placeholder); - return createRecurry( - func, - bitmask, - createHybrid, - wrapper.placeholder, - thisArg, - args2, - newHolders, - argPos, - ary2, - arity - length - ); - } - var thisBinding = isBind ? thisArg : this, fn2 = isBindKey ? thisBinding[func] : func; - length = args2.length; - if (argPos) { - args2 = reorder(args2, argPos); - } else if (isFlip && length > 1) { - args2.reverse(); - } - if (isAry && ary2 < length) { - args2.length = ary2; - } - if (this && this !== root && this instanceof wrapper) { - fn2 = Ctor || createCtor(fn2); - } - return fn2.apply(thisBinding, args2); - } - return wrapper; - } - function createInverter(setter, toIteratee) { - return function(object, iteratee2) { - return baseInverter(object, setter, toIteratee(iteratee2), {}); - }; - } - function createMathOperation(operator, defaultValue) { - return function(value, other) { - var result2; - if (value === undefined2 && other === undefined2) { - return defaultValue; - } - if (value !== undefined2) { - result2 = value; - } - if (other !== undefined2) { - if (result2 === undefined2) { - return other; - } - if (typeof value == "string" || typeof other == "string") { - value = baseToString(value); - other = baseToString(other); - } else { - value = baseToNumber(value); - other = baseToNumber(other); - } - result2 = operator(value, other); - } - return result2; - }; - } - function createOver(arrayFunc) { - return flatRest(function(iteratees) { - iteratees = arrayMap(iteratees, baseUnary(getIteratee())); - return baseRest(function(args2) { - var thisArg = this; - return arrayFunc(iteratees, function(iteratee2) { - return apply(iteratee2, thisArg, args2); - }); - }); - }); - } - function createPadding(length, chars) { - chars = chars === undefined2 ? " " : baseToString(chars); - var charsLength = chars.length; - if (charsLength < 2) { - return charsLength ? baseRepeat(chars, length) : chars; - } - var result2 = baseRepeat(chars, nativeCeil(length / stringSize(chars))); - return hasUnicode(chars) ? castSlice(stringToArray(result2), 0, length).join("") : result2.slice(0, length); - } - function createPartial(func, bitmask, thisArg, partials) { - var isBind = bitmask & WRAP_BIND_FLAG, Ctor = createCtor(func); - function wrapper() { - var argsIndex = -1, argsLength = arguments.length, leftIndex = -1, leftLength = partials.length, args2 = Array2(leftLength + argsLength), fn2 = this && this !== root && this instanceof wrapper ? Ctor : func; - while (++leftIndex < leftLength) { - args2[leftIndex] = partials[leftIndex]; - } - while (argsLength--) { - args2[leftIndex++] = arguments[++argsIndex]; - } - return apply(fn2, isBind ? thisArg : this, args2); - } - return wrapper; - } - function createRange(fromRight) { - return function(start, end, step) { - if (step && typeof step != "number" && isIterateeCall(start, end, step)) { - end = step = undefined2; - } - start = toFinite(start); - if (end === undefined2) { - end = start; - start = 0; - } else { - end = toFinite(end); - } - step = step === undefined2 ? start < end ? 1 : -1 : toFinite(step); - return baseRange(start, end, step, fromRight); - }; - } - function createRelationalOperation(operator) { - return function(value, other) { - if (!(typeof value == "string" && typeof other == "string")) { - value = toNumber(value); - other = toNumber(other); - } - return operator(value, other); - }; - } - function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary2, arity) { - var isCurry = bitmask & WRAP_CURRY_FLAG, newHolders = isCurry ? holders : undefined2, newHoldersRight = isCurry ? undefined2 : holders, newPartials = isCurry ? partials : undefined2, newPartialsRight = isCurry ? undefined2 : partials; - bitmask |= isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG; - bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG); - if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) { - bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG); - } - var newData = [ - func, - bitmask, - thisArg, - newPartials, - newHolders, - newPartialsRight, - newHoldersRight, - argPos, - ary2, - arity - ]; - var result2 = wrapFunc.apply(undefined2, newData); - if (isLaziable(func)) { - setData(result2, newData); - } - result2.placeholder = placeholder; - return setWrapToString(result2, func, bitmask); - } - function createRound(methodName) { - var func = Math2[methodName]; - return function(number, precision) { - number = toNumber(number); - precision = precision == null ? 0 : nativeMin(toInteger(precision), 292); - if (precision && nativeIsFinite(number)) { - var pair = (toString3(number) + "e").split("e"), value = func(pair[0] + "e" + (+pair[1] + precision)); - pair = (toString3(value) + "e").split("e"); - return +(pair[0] + "e" + (+pair[1] - precision)); - } - return func(number); - }; - } - var createSet = !(Set2 && 1 / setToArray(new Set2([, -0]))[1] == INFINITY) ? noop2 : function(values2) { - return new Set2(values2); - }; - function createToPairs(keysFunc) { - return function(object) { - var tag = getTag(object); - if (tag == mapTag) { - return mapToArray(object); - } - if (tag == setTag) { - return setToPairs(object); - } - return baseToPairs(object, keysFunc(object)); - }; - } - function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary2, arity) { - var isBindKey = bitmask & WRAP_BIND_KEY_FLAG; - if (!isBindKey && typeof func != "function") { - throw new TypeError2(FUNC_ERROR_TEXT); - } - var length = partials ? partials.length : 0; - if (!length) { - bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG); - partials = holders = undefined2; - } - ary2 = ary2 === undefined2 ? ary2 : nativeMax(toInteger(ary2), 0); - arity = arity === undefined2 ? arity : toInteger(arity); - length -= holders ? holders.length : 0; - if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) { - var partialsRight = partials, holdersRight = holders; - partials = holders = undefined2; - } - var data = isBindKey ? undefined2 : getData(func); - var newData = [ - func, - bitmask, - thisArg, - partials, - holders, - partialsRight, - holdersRight, - argPos, - ary2, - arity - ]; - if (data) { - mergeData(newData, data); - } - func = newData[0]; - bitmask = newData[1]; - thisArg = newData[2]; - partials = newData[3]; - holders = newData[4]; - arity = newData[9] = newData[9] === undefined2 ? isBindKey ? 0 : func.length : nativeMax(newData[9] - length, 0); - if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) { - bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG); - } - if (!bitmask || bitmask == WRAP_BIND_FLAG) { - var result2 = createBind(func, bitmask, thisArg); - } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) { - result2 = createCurry(func, bitmask, arity); - } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) { - result2 = createPartial(func, bitmask, thisArg, partials); - } else { - result2 = createHybrid.apply(undefined2, newData); - } - var setter = data ? baseSetData : setData; - return setWrapToString(setter(result2, newData), func, bitmask); - } - function customDefaultsAssignIn(objValue, srcValue, key, object) { - if (objValue === undefined2 || eq(objValue, objectProto[key]) && !hasOwnProperty2.call(object, key)) { - return srcValue; - } - return objValue; - } - function customDefaultsMerge(objValue, srcValue, key, object, source2, stack2) { - if (isObject4(objValue) && isObject4(srcValue)) { - stack2.set(srcValue, objValue); - baseMerge(objValue, srcValue, undefined2, customDefaultsMerge, stack2); - stack2["delete"](srcValue); - } - return objValue; - } - function customOmitClone(value) { - return isPlainObject2(value) ? undefined2 : value; - } - function equalArrays(array, other, bitmask, customizer, equalFunc, stack2) { - var isPartial = bitmask & COMPARE_PARTIAL_FLAG, arrLength = array.length, othLength = other.length; - if (arrLength != othLength && !(isPartial && othLength > arrLength)) { - return false; - } - var arrStacked = stack2.get(array); - var othStacked = stack2.get(other); - if (arrStacked && othStacked) { - return arrStacked == other && othStacked == array; - } - var index = -1, result2 = true, seen = bitmask & COMPARE_UNORDERED_FLAG ? new SetCache() : undefined2; - stack2.set(array, other); - stack2.set(other, array); - while (++index < arrLength) { - var arrValue = array[index], othValue = other[index]; - if (customizer) { - var compared = isPartial ? customizer(othValue, arrValue, index, other, array, stack2) : customizer(arrValue, othValue, index, array, other, stack2); - } - if (compared !== undefined2) { - if (compared) { - continue; - } - result2 = false; - break; - } - if (seen) { - if (!arraySome(other, function(othValue2, othIndex) { - if (!cacheHas(seen, othIndex) && (arrValue === othValue2 || equalFunc(arrValue, othValue2, bitmask, customizer, stack2))) { - return seen.push(othIndex); - } - })) { - result2 = false; - break; - } - } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack2))) { - result2 = false; - break; - } - } - stack2["delete"](array); - stack2["delete"](other); - return result2; - } - function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack2) { - switch (tag) { - case dataViewTag: - if (object.byteLength != other.byteLength || object.byteOffset != other.byteOffset) { - return false; - } - object = object.buffer; - other = other.buffer; - case arrayBufferTag: - if (object.byteLength != other.byteLength || !equalFunc(new Uint8Array2(object), new Uint8Array2(other))) { - return false; - } - return true; - case boolTag: - case dateTag: - case numberTag: - return eq(+object, +other); - case errorTag: - return object.name == other.name && object.message == other.message; - case regexpTag: - case stringTag: - return object == other + ""; - case mapTag: - var convert = mapToArray; - case setTag: - var isPartial = bitmask & COMPARE_PARTIAL_FLAG; - convert || (convert = setToArray); - if (object.size != other.size && !isPartial) { - return false; - } - var stacked = stack2.get(object); - if (stacked) { - return stacked == other; - } - bitmask |= COMPARE_UNORDERED_FLAG; - stack2.set(object, other); - var result2 = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack2); - stack2["delete"](object); - return result2; - case symbolTag: - if (symbolValueOf) { - return symbolValueOf.call(object) == symbolValueOf.call(other); - } - } - return false; - } - function equalObjects(object, other, bitmask, customizer, equalFunc, stack2) { - var isPartial = bitmask & COMPARE_PARTIAL_FLAG, objProps = getAllKeys(object), objLength = objProps.length, othProps = getAllKeys(other), othLength = othProps.length; - if (objLength != othLength && !isPartial) { - return false; - } - var index = objLength; - while (index--) { - var key = objProps[index]; - if (!(isPartial ? key in other : hasOwnProperty2.call(other, key))) { - return false; - } - } - var objStacked = stack2.get(object); - var othStacked = stack2.get(other); - if (objStacked && othStacked) { - return objStacked == other && othStacked == object; - } - var result2 = true; - stack2.set(object, other); - stack2.set(other, object); - var skipCtor = isPartial; - while (++index < objLength) { - key = objProps[index]; - var objValue = object[key], othValue = other[key]; - if (customizer) { - var compared = isPartial ? customizer(othValue, objValue, key, other, object, stack2) : customizer(objValue, othValue, key, object, other, stack2); - } - if (!(compared === undefined2 ? objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack2) : compared)) { - result2 = false; - break; - } - skipCtor || (skipCtor = key == "constructor"); - } - if (result2 && !skipCtor) { - var objCtor = object.constructor, othCtor = other.constructor; - if (objCtor != othCtor && ("constructor" in object && "constructor" in other) && !(typeof objCtor == "function" && objCtor instanceof objCtor && typeof othCtor == "function" && othCtor instanceof othCtor)) { - result2 = false; - } - } - stack2["delete"](object); - stack2["delete"](other); - return result2; - } - function flatRest(func) { - return setToString(overRest(func, undefined2, flatten), func + ""); - } - function getAllKeys(object) { - return baseGetAllKeys(object, keys2, getSymbols); - } - function getAllKeysIn(object) { - return baseGetAllKeys(object, keysIn, getSymbolsIn); - } - var getData = !metaMap ? noop2 : function(func) { - return metaMap.get(func); - }; - function getFuncName(func) { - var result2 = func.name + "", array = realNames[result2], length = hasOwnProperty2.call(realNames, result2) ? array.length : 0; - while (length--) { - var data = array[length], otherFunc = data.func; - if (otherFunc == null || otherFunc == func) { - return data.name; - } - } - return result2; - } - function getHolder(func) { - var object = hasOwnProperty2.call(lodash2, "placeholder") ? lodash2 : func; - return object.placeholder; - } - function getIteratee() { - var result2 = lodash2.iteratee || iteratee; - result2 = result2 === iteratee ? baseIteratee : result2; - return arguments.length ? result2(arguments[0], arguments[1]) : result2; - } - function getMapData(map2, key) { - var data = map2.__data__; - return isKeyable(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map; - } - function getMatchData(object) { - var result2 = keys2(object), length = result2.length; - while (length--) { - var key = result2[length], value = object[key]; - result2[length] = [key, value, isStrictComparable(value)]; - } - return result2; - } - function getNative(object, key) { - var value = getValue(object, key); - return baseIsNative(value) ? value : undefined2; - } - function getRawTag(value) { - var isOwn = hasOwnProperty2.call(value, symToStringTag), tag = value[symToStringTag]; - try { - value[symToStringTag] = undefined2; - var unmasked = true; - } catch (e) { - } - var result2 = nativeObjectToString.call(value); - if (unmasked) { - if (isOwn) { - value[symToStringTag] = tag; - } else { - delete value[symToStringTag]; - } - } - return result2; - } - var getSymbols = !nativeGetSymbols ? stubArray : function(object) { - if (object == null) { - return []; - } - object = Object2(object); - return arrayFilter(nativeGetSymbols(object), function(symbol) { - return propertyIsEnumerable.call(object, symbol); - }); - }; - var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) { - var result2 = []; - while (object) { - arrayPush(result2, getSymbols(object)); - object = getPrototype(object); - } - return result2; - }; - var getTag = baseGetTag; - if (DataView2 && getTag(new DataView2(new ArrayBuffer(1))) != dataViewTag || Map2 && getTag(new Map2()) != mapTag || Promise2 && getTag(Promise2.resolve()) != promiseTag || Set2 && getTag(new Set2()) != setTag || WeakMap2 && getTag(new WeakMap2()) != weakMapTag) { - getTag = function(value) { - var result2 = baseGetTag(value), Ctor = result2 == objectTag ? value.constructor : undefined2, ctorString = Ctor ? toSource(Ctor) : ""; - if (ctorString) { - switch (ctorString) { - case dataViewCtorString: - return dataViewTag; - case mapCtorString: - return mapTag; - case promiseCtorString: - return promiseTag; - case setCtorString: - return setTag; - case weakMapCtorString: - return weakMapTag; - } - } - return result2; - }; - } - function getView(start, end, transforms) { - var index = -1, length = transforms.length; - while (++index < length) { - var data = transforms[index], size2 = data.size; - switch (data.type) { - case "drop": - start += size2; - break; - case "dropRight": - end -= size2; - break; - case "take": - end = nativeMin(end, start + size2); - break; - case "takeRight": - start = nativeMax(start, end - size2); - break; - } - } - return { "start": start, "end": end }; - } - function getWrapDetails(source2) { - var match = source2.match(reWrapDetails); - return match ? match[1].split(reSplitDetails) : []; - } - function hasPath(object, path4, hasFunc) { - path4 = castPath(path4, object); - var index = -1, length = path4.length, result2 = false; - while (++index < length) { - var key = toKey(path4[index]); - if (!(result2 = object != null && hasFunc(object, key))) { - break; - } - object = object[key]; - } - if (result2 || ++index != length) { - return result2; - } - length = object == null ? 0 : object.length; - return !!length && isLength(length) && isIndex(key, length) && (isArray3(object) || isArguments(object)); - } - function initCloneArray(array) { - var length = array.length, result2 = new array.constructor(length); - if (length && typeof array[0] == "string" && hasOwnProperty2.call(array, "index")) { - result2.index = array.index; - result2.input = array.input; - } - return result2; - } - function initCloneObject(object) { - return typeof object.constructor == "function" && !isPrototype(object) ? baseCreate(getPrototype(object)) : {}; - } - function initCloneByTag(object, tag, isDeep) { - var Ctor = object.constructor; - switch (tag) { - case arrayBufferTag: - return cloneArrayBuffer(object); - case boolTag: - case dateTag: - return new Ctor(+object); - case dataViewTag: - return cloneDataView(object, isDeep); - case float32Tag: - case float64Tag: - case int8Tag: - case int16Tag: - case int32Tag: - case uint8Tag: - case uint8ClampedTag: - case uint16Tag: - case uint32Tag: - return cloneTypedArray(object, isDeep); - case mapTag: - return new Ctor(); - case numberTag: - case stringTag: - return new Ctor(object); - case regexpTag: - return cloneRegExp(object); - case setTag: - return new Ctor(); - case symbolTag: - return cloneSymbol(object); - } - } - function insertWrapDetails(source2, details) { - var length = details.length; - if (!length) { - return source2; - } - var lastIndex = length - 1; - details[lastIndex] = (length > 1 ? "& " : "") + details[lastIndex]; - details = details.join(length > 2 ? ", " : " "); - return source2.replace(reWrapComment, "{\n/* [wrapped with " + details + "] */\n"); - } - function isFlattenable(value) { - return isArray3(value) || isArguments(value) || !!(spreadableSymbol && value && value[spreadableSymbol]); - } - function isIndex(value, length) { - var type = typeof value; - length = length == null ? MAX_SAFE_INTEGER : length; - return !!length && (type == "number" || type != "symbol" && reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length); - } - function isIterateeCall(value, index, object) { - if (!isObject4(object)) { - return false; - } - var type = typeof index; - if (type == "number" ? isArrayLike(object) && isIndex(index, object.length) : type == "string" && index in object) { - return eq(object[index], value); - } - return false; - } - function isKey(value, object) { - if (isArray3(value)) { - return false; - } - var type = typeof value; - if (type == "number" || type == "symbol" || type == "boolean" || value == null || isSymbol(value)) { - return true; - } - return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || object != null && value in Object2(object); - } - function isKeyable(value) { - var type = typeof value; - return type == "string" || type == "number" || type == "symbol" || type == "boolean" ? value !== "__proto__" : value === null; - } - function isLaziable(func) { - var funcName = getFuncName(func), other = lodash2[funcName]; - if (typeof other != "function" || !(funcName in LazyWrapper.prototype)) { - return false; - } - if (func === other) { - return true; - } - var data = getData(other); - return !!data && func === data[0]; - } - function isMasked(func) { - return !!maskSrcKey && maskSrcKey in func; - } - var isMaskable = coreJsData ? isFunction2 : stubFalse; - function isPrototype(value) { - var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto; - return value === proto; - } - function isStrictComparable(value) { - return value === value && !isObject4(value); - } - function matchesStrictComparable(key, srcValue) { - return function(object) { - if (object == null) { - return false; - } - return object[key] === srcValue && (srcValue !== undefined2 || key in Object2(object)); - }; - } - function memoizeCapped(func) { - var result2 = memoize(func, function(key) { - if (cache.size === MAX_MEMOIZE_SIZE) { - cache.clear(); - } - return key; - }); - var cache = result2.cache; - return result2; - } - function mergeData(data, source2) { - var bitmask = data[1], srcBitmask = source2[1], newBitmask = bitmask | srcBitmask, isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG); - var isCombo = srcBitmask == WRAP_ARY_FLAG && bitmask == WRAP_CURRY_FLAG || srcBitmask == WRAP_ARY_FLAG && bitmask == WRAP_REARG_FLAG && data[7].length <= source2[8] || srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG) && source2[7].length <= source2[8] && bitmask == WRAP_CURRY_FLAG; - if (!(isCommon || isCombo)) { - return data; - } - if (srcBitmask & WRAP_BIND_FLAG) { - data[2] = source2[2]; - newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG; - } - var value = source2[3]; - if (value) { - var partials = data[3]; - data[3] = partials ? composeArgs(partials, value, source2[4]) : value; - data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source2[4]; - } - value = source2[5]; - if (value) { - partials = data[5]; - data[5] = partials ? composeArgsRight(partials, value, source2[6]) : value; - data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source2[6]; - } - value = source2[7]; - if (value) { - data[7] = value; - } - if (srcBitmask & WRAP_ARY_FLAG) { - data[8] = data[8] == null ? source2[8] : nativeMin(data[8], source2[8]); - } - if (data[9] == null) { - data[9] = source2[9]; - } - data[0] = source2[0]; - data[1] = newBitmask; - return data; - } - function nativeKeysIn(object) { - var result2 = []; - if (object != null) { - for (var key in Object2(object)) { - result2.push(key); - } - } - return result2; - } - function objectToString(value) { - return nativeObjectToString.call(value); - } - function overRest(func, start, transform2) { - start = nativeMax(start === undefined2 ? func.length - 1 : start, 0); - return function() { - var args2 = arguments, index = -1, length = nativeMax(args2.length - start, 0), array = Array2(length); - while (++index < length) { - array[index] = args2[start + index]; - } - index = -1; - var otherArgs = Array2(start + 1); - while (++index < start) { - otherArgs[index] = args2[index]; - } - otherArgs[start] = transform2(array); - return apply(func, this, otherArgs); - }; - } - function parent(object, path4) { - return path4.length < 2 ? object : baseGet(object, baseSlice(path4, 0, -1)); - } - function reorder(array, indexes) { - var arrLength = array.length, length = nativeMin(indexes.length, arrLength), oldArray = copyArray(array); - while (length--) { - var index = indexes[length]; - array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined2; - } - return array; - } - function safeGet(object, key) { - if (key === "constructor" && typeof object[key] === "function") { - return; - } - if (key == "__proto__") { - return; - } - return object[key]; - } - var setData = shortOut(baseSetData); - var setTimeout2 = ctxSetTimeout || function(func, wait) { - return root.setTimeout(func, wait); - }; - var setToString = shortOut(baseSetToString); - function setWrapToString(wrapper, reference, bitmask) { - var source2 = reference + ""; - return setToString(wrapper, insertWrapDetails(source2, updateWrapDetails(getWrapDetails(source2), bitmask))); - } - function shortOut(func) { - var count = 0, lastCalled = 0; - return function() { - var stamp = nativeNow(), remaining = HOT_SPAN - (stamp - lastCalled); - lastCalled = stamp; - if (remaining > 0) { - if (++count >= HOT_COUNT) { - return arguments[0]; - } - } else { - count = 0; - } - return func.apply(undefined2, arguments); - }; - } - function shuffleSelf(array, size2) { - var index = -1, length = array.length, lastIndex = length - 1; - size2 = size2 === undefined2 ? length : size2; - while (++index < size2) { - var rand = baseRandom(index, lastIndex), value = array[rand]; - array[rand] = array[index]; - array[index] = value; - } - array.length = size2; - return array; - } - var stringToPath = memoizeCapped(function(string) { - var result2 = []; - if (string.charCodeAt(0) === 46) { - result2.push(""); - } - string.replace(rePropName, function(match, number, quote, subString) { - result2.push(quote ? subString.replace(reEscapeChar, "$1") : number || match); - }); - return result2; - }); - function toKey(value) { - if (typeof value == "string" || isSymbol(value)) { - return value; - } - var result2 = value + ""; - return result2 == "0" && 1 / value == -INFINITY ? "-0" : result2; - } - function toSource(func) { - if (func != null) { - try { - return funcToString.call(func); - } catch (e) { - } - try { - return func + ""; - } catch (e) { - } - } - return ""; - } - function updateWrapDetails(details, bitmask) { - arrayEach(wrapFlags, function(pair) { - var value = "_." + pair[0]; - if (bitmask & pair[1] && !arrayIncludes(details, value)) { - details.push(value); - } - }); - return details.sort(); - } - function wrapperClone(wrapper) { - if (wrapper instanceof LazyWrapper) { - return wrapper.clone(); - } - var result2 = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__); - result2.__actions__ = copyArray(wrapper.__actions__); - result2.__index__ = wrapper.__index__; - result2.__values__ = wrapper.__values__; - return result2; - } - function chunk(array, size2, guard) { - if (guard ? isIterateeCall(array, size2, guard) : size2 === undefined2) { - size2 = 1; - } else { - size2 = nativeMax(toInteger(size2), 0); - } - var length = array == null ? 0 : array.length; - if (!length || size2 < 1) { - return []; - } - var index = 0, resIndex = 0, result2 = Array2(nativeCeil(length / size2)); - while (index < length) { - result2[resIndex++] = baseSlice(array, index, index += size2); - } - return result2; - } - function compact(array) { - var index = -1, length = array == null ? 0 : array.length, resIndex = 0, result2 = []; - while (++index < length) { - var value = array[index]; - if (value) { - result2[resIndex++] = value; - } - } - return result2; - } - function concat() { - var length = arguments.length; - if (!length) { - return []; - } - var args2 = Array2(length - 1), array = arguments[0], index = length; - while (index--) { - args2[index - 1] = arguments[index]; - } - return arrayPush(isArray3(array) ? copyArray(array) : [array], baseFlatten(args2, 1)); - } - var difference = baseRest(function(array, values2) { - return isArrayLikeObject(array) ? baseDifference(array, baseFlatten(values2, 1, isArrayLikeObject, true)) : []; - }); - var differenceBy = baseRest(function(array, values2) { - var iteratee2 = last(values2); - if (isArrayLikeObject(iteratee2)) { - iteratee2 = undefined2; - } - return isArrayLikeObject(array) ? baseDifference(array, baseFlatten(values2, 1, isArrayLikeObject, true), getIteratee(iteratee2, 2)) : []; - }); - var differenceWith = baseRest(function(array, values2) { - var comparator = last(values2); - if (isArrayLikeObject(comparator)) { - comparator = undefined2; - } - return isArrayLikeObject(array) ? baseDifference(array, baseFlatten(values2, 1, isArrayLikeObject, true), undefined2, comparator) : []; - }); - function drop(array, n, guard) { - var length = array == null ? 0 : array.length; - if (!length) { - return []; - } - n = guard || n === undefined2 ? 1 : toInteger(n); - return baseSlice(array, n < 0 ? 0 : n, length); - } - function dropRight(array, n, guard) { - var length = array == null ? 0 : array.length; - if (!length) { - return []; - } - n = guard || n === undefined2 ? 1 : toInteger(n); - n = length - n; - return baseSlice(array, 0, n < 0 ? 0 : n); - } - function dropRightWhile(array, predicate) { - return array && array.length ? baseWhile(array, getIteratee(predicate, 3), true, true) : []; - } - function dropWhile(array, predicate) { - return array && array.length ? baseWhile(array, getIteratee(predicate, 3), true) : []; - } - function fill(array, value, start, end) { - var length = array == null ? 0 : array.length; - if (!length) { - return []; - } - if (start && typeof start != "number" && isIterateeCall(array, value, start)) { - start = 0; - end = length; - } - return baseFill(array, value, start, end); - } - function findIndex(array, predicate, fromIndex) { - var length = array == null ? 0 : array.length; - if (!length) { - return -1; - } - var index = fromIndex == null ? 0 : toInteger(fromIndex); - if (index < 0) { - index = nativeMax(length + index, 0); - } - return baseFindIndex(array, getIteratee(predicate, 3), index); - } - function findLastIndex(array, predicate, fromIndex) { - var length = array == null ? 0 : array.length; - if (!length) { - return -1; - } - var index = length - 1; - if (fromIndex !== undefined2) { - index = toInteger(fromIndex); - index = fromIndex < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1); - } - return baseFindIndex(array, getIteratee(predicate, 3), index, true); - } - function flatten(array) { - var length = array == null ? 0 : array.length; - return length ? baseFlatten(array, 1) : []; - } - function flattenDeep(array) { - var length = array == null ? 0 : array.length; - return length ? baseFlatten(array, INFINITY) : []; - } - function flattenDepth(array, depth) { - var length = array == null ? 0 : array.length; - if (!length) { - return []; - } - depth = depth === undefined2 ? 1 : toInteger(depth); - return baseFlatten(array, depth); - } - function fromPairs(pairs) { - var index = -1, length = pairs == null ? 0 : pairs.length, result2 = {}; - while (++index < length) { - var pair = pairs[index]; - result2[pair[0]] = pair[1]; - } - return result2; - } - function head(array) { - return array && array.length ? array[0] : undefined2; - } - function indexOf(array, value, fromIndex) { - var length = array == null ? 0 : array.length; - if (!length) { - return -1; - } - var index = fromIndex == null ? 0 : toInteger(fromIndex); - if (index < 0) { - index = nativeMax(length + index, 0); - } - return baseIndexOf(array, value, index); - } - function initial(array) { - var length = array == null ? 0 : array.length; - return length ? baseSlice(array, 0, -1) : []; - } - var intersection = baseRest(function(arrays) { - var mapped = arrayMap(arrays, castArrayLikeObject); - return mapped.length && mapped[0] === arrays[0] ? baseIntersection(mapped) : []; - }); - var intersectionBy = baseRest(function(arrays) { - var iteratee2 = last(arrays), mapped = arrayMap(arrays, castArrayLikeObject); - if (iteratee2 === last(mapped)) { - iteratee2 = undefined2; - } else { - mapped.pop(); - } - return mapped.length && mapped[0] === arrays[0] ? baseIntersection(mapped, getIteratee(iteratee2, 2)) : []; - }); - var intersectionWith = baseRest(function(arrays) { - var comparator = last(arrays), mapped = arrayMap(arrays, castArrayLikeObject); - comparator = typeof comparator == "function" ? comparator : undefined2; - if (comparator) { - mapped.pop(); - } - return mapped.length && mapped[0] === arrays[0] ? baseIntersection(mapped, undefined2, comparator) : []; - }); - function join2(array, separator) { - return array == null ? "" : nativeJoin.call(array, separator); - } - function last(array) { - var length = array == null ? 0 : array.length; - return length ? array[length - 1] : undefined2; - } - function lastIndexOf(array, value, fromIndex) { - var length = array == null ? 0 : array.length; - if (!length) { - return -1; - } - var index = length; - if (fromIndex !== undefined2) { - index = toInteger(fromIndex); - index = index < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1); - } - return value === value ? strictLastIndexOf(array, value, index) : baseFindIndex(array, baseIsNaN, index, true); - } - function nth(array, n) { - return array && array.length ? baseNth(array, toInteger(n)) : undefined2; - } - var pull = baseRest(pullAll); - function pullAll(array, values2) { - return array && array.length && values2 && values2.length ? basePullAll(array, values2) : array; - } - function pullAllBy(array, values2, iteratee2) { - return array && array.length && values2 && values2.length ? basePullAll(array, values2, getIteratee(iteratee2, 2)) : array; - } - function pullAllWith(array, values2, comparator) { - return array && array.length && values2 && values2.length ? basePullAll(array, values2, undefined2, comparator) : array; - } - var pullAt = flatRest(function(array, indexes) { - var length = array == null ? 0 : array.length, result2 = baseAt(array, indexes); - basePullAt(array, arrayMap(indexes, function(index) { - return isIndex(index, length) ? +index : index; - }).sort(compareAscending)); - return result2; - }); - function remove(array, predicate) { - var result2 = []; - if (!(array && array.length)) { - return result2; - } - var index = -1, indexes = [], length = array.length; - predicate = getIteratee(predicate, 3); - while (++index < length) { - var value = array[index]; - if (predicate(value, index, array)) { - result2.push(value); - indexes.push(index); - } - } - basePullAt(array, indexes); - return result2; - } - function reverse(array) { - return array == null ? array : nativeReverse.call(array); - } - function slice(array, start, end) { - var length = array == null ? 0 : array.length; - if (!length) { - return []; - } - if (end && typeof end != "number" && isIterateeCall(array, start, end)) { - start = 0; - end = length; - } else { - start = start == null ? 0 : toInteger(start); - end = end === undefined2 ? length : toInteger(end); - } - return baseSlice(array, start, end); - } - function sortedIndex(array, value) { - return baseSortedIndex(array, value); - } - function sortedIndexBy(array, value, iteratee2) { - return baseSortedIndexBy(array, value, getIteratee(iteratee2, 2)); - } - function sortedIndexOf(array, value) { - var length = array == null ? 0 : array.length; - if (length) { - var index = baseSortedIndex(array, value); - if (index < length && eq(array[index], value)) { - return index; - } - } - return -1; - } - function sortedLastIndex(array, value) { - return baseSortedIndex(array, value, true); - } - function sortedLastIndexBy(array, value, iteratee2) { - return baseSortedIndexBy(array, value, getIteratee(iteratee2, 2), true); - } - function sortedLastIndexOf(array, value) { - var length = array == null ? 0 : array.length; - if (length) { - var index = baseSortedIndex(array, value, true) - 1; - if (eq(array[index], value)) { - return index; - } - } - return -1; - } - function sortedUniq(array) { - return array && array.length ? baseSortedUniq(array) : []; - } - function sortedUniqBy(array, iteratee2) { - return array && array.length ? baseSortedUniq(array, getIteratee(iteratee2, 2)) : []; - } - function tail(array) { - var length = array == null ? 0 : array.length; - return length ? baseSlice(array, 1, length) : []; - } - function take(array, n, guard) { - if (!(array && array.length)) { - return []; - } - n = guard || n === undefined2 ? 1 : toInteger(n); - return baseSlice(array, 0, n < 0 ? 0 : n); - } - function takeRight(array, n, guard) { - var length = array == null ? 0 : array.length; - if (!length) { - return []; - } - n = guard || n === undefined2 ? 1 : toInteger(n); - n = length - n; - return baseSlice(array, n < 0 ? 0 : n, length); - } - function takeRightWhile(array, predicate) { - return array && array.length ? baseWhile(array, getIteratee(predicate, 3), false, true) : []; - } - function takeWhile(array, predicate) { - return array && array.length ? baseWhile(array, getIteratee(predicate, 3)) : []; - } - var union = baseRest(function(arrays) { - return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true)); - }); - var unionBy = baseRest(function(arrays) { - var iteratee2 = last(arrays); - if (isArrayLikeObject(iteratee2)) { - iteratee2 = undefined2; - } - return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), getIteratee(iteratee2, 2)); - }); - var unionWith = baseRest(function(arrays) { - var comparator = last(arrays); - comparator = typeof comparator == "function" ? comparator : undefined2; - return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), undefined2, comparator); - }); - function uniq(array) { - return array && array.length ? baseUniq(array) : []; - } - function uniqBy(array, iteratee2) { - return array && array.length ? baseUniq(array, getIteratee(iteratee2, 2)) : []; - } - function uniqWith(array, comparator) { - comparator = typeof comparator == "function" ? comparator : undefined2; - return array && array.length ? baseUniq(array, undefined2, comparator) : []; - } - function unzip(array) { - if (!(array && array.length)) { - return []; - } - var length = 0; - array = arrayFilter(array, function(group) { - if (isArrayLikeObject(group)) { - length = nativeMax(group.length, length); - return true; - } - }); - return baseTimes(length, function(index) { - return arrayMap(array, baseProperty(index)); - }); - } - function unzipWith(array, iteratee2) { - if (!(array && array.length)) { - return []; - } - var result2 = unzip(array); - if (iteratee2 == null) { - return result2; - } - return arrayMap(result2, function(group) { - return apply(iteratee2, undefined2, group); - }); - } - var without = baseRest(function(array, values2) { - return isArrayLikeObject(array) ? baseDifference(array, values2) : []; - }); - var xor = baseRest(function(arrays) { - return baseXor(arrayFilter(arrays, isArrayLikeObject)); - }); - var xorBy = baseRest(function(arrays) { - var iteratee2 = last(arrays); - if (isArrayLikeObject(iteratee2)) { - iteratee2 = undefined2; - } - return baseXor(arrayFilter(arrays, isArrayLikeObject), getIteratee(iteratee2, 2)); - }); - var xorWith = baseRest(function(arrays) { - var comparator = last(arrays); - comparator = typeof comparator == "function" ? comparator : undefined2; - return baseXor(arrayFilter(arrays, isArrayLikeObject), undefined2, comparator); - }); - var zip = baseRest(unzip); - function zipObject(props, values2) { - return baseZipObject(props || [], values2 || [], assignValue); - } - function zipObjectDeep(props, values2) { - return baseZipObject(props || [], values2 || [], baseSet); - } - var zipWith = baseRest(function(arrays) { - var length = arrays.length, iteratee2 = length > 1 ? arrays[length - 1] : undefined2; - iteratee2 = typeof iteratee2 == "function" ? (arrays.pop(), iteratee2) : undefined2; - return unzipWith(arrays, iteratee2); - }); - function chain(value) { - var result2 = lodash2(value); - result2.__chain__ = true; - return result2; - } - function tap(value, interceptor) { - interceptor(value); - return value; - } - function thru(value, interceptor) { - return interceptor(value); - } - var wrapperAt = flatRest(function(paths) { - var length = paths.length, start = length ? paths[0] : 0, value = this.__wrapped__, interceptor = function(object) { - return baseAt(object, paths); - }; - if (length > 1 || this.__actions__.length || !(value instanceof LazyWrapper) || !isIndex(start)) { - return this.thru(interceptor); - } - value = value.slice(start, +start + (length ? 1 : 0)); - value.__actions__.push({ - "func": thru, - "args": [interceptor], - "thisArg": undefined2 - }); - return new LodashWrapper(value, this.__chain__).thru(function(array) { - if (length && !array.length) { - array.push(undefined2); - } - return array; - }); - }); - function wrapperChain() { - return chain(this); - } - function wrapperCommit() { - return new LodashWrapper(this.value(), this.__chain__); - } - function wrapperNext() { - if (this.__values__ === undefined2) { - this.__values__ = toArray2(this.value()); - } - var done = this.__index__ >= this.__values__.length, value = done ? undefined2 : this.__values__[this.__index__++]; - return { "done": done, "value": value }; - } - function wrapperToIterator() { - return this; - } - function wrapperPlant(value) { - var result2, parent2 = this; - while (parent2 instanceof baseLodash) { - var clone2 = wrapperClone(parent2); - clone2.__index__ = 0; - clone2.__values__ = undefined2; - if (result2) { - previous.__wrapped__ = clone2; - } else { - result2 = clone2; - } - var previous = clone2; - parent2 = parent2.__wrapped__; - } - previous.__wrapped__ = value; - return result2; - } - function wrapperReverse() { - var value = this.__wrapped__; - if (value instanceof LazyWrapper) { - var wrapped = value; - if (this.__actions__.length) { - wrapped = new LazyWrapper(this); - } - wrapped = wrapped.reverse(); - wrapped.__actions__.push({ - "func": thru, - "args": [reverse], - "thisArg": undefined2 - }); - return new LodashWrapper(wrapped, this.__chain__); - } - return this.thru(reverse); - } - function wrapperValue() { - return baseWrapperValue(this.__wrapped__, this.__actions__); - } - var countBy = createAggregator(function(result2, value, key) { - if (hasOwnProperty2.call(result2, key)) { - ++result2[key]; - } else { - baseAssignValue(result2, key, 1); - } - }); - function every(collection, predicate, guard) { - var func = isArray3(collection) ? arrayEvery : baseEvery; - if (guard && isIterateeCall(collection, predicate, guard)) { - predicate = undefined2; - } - return func(collection, getIteratee(predicate, 3)); - } - function filter2(collection, predicate) { - var func = isArray3(collection) ? arrayFilter : baseFilter; - return func(collection, getIteratee(predicate, 3)); - } - var find = createFind(findIndex); - var findLast = createFind(findLastIndex); - function flatMap(collection, iteratee2) { - return baseFlatten(map(collection, iteratee2), 1); - } - function flatMapDeep(collection, iteratee2) { - return baseFlatten(map(collection, iteratee2), INFINITY); - } - function flatMapDepth(collection, iteratee2, depth) { - depth = depth === undefined2 ? 1 : toInteger(depth); - return baseFlatten(map(collection, iteratee2), depth); - } - function forEach2(collection, iteratee2) { - var func = isArray3(collection) ? arrayEach : baseEach; - return func(collection, getIteratee(iteratee2, 3)); - } - function forEachRight(collection, iteratee2) { - var func = isArray3(collection) ? arrayEachRight : baseEachRight; - return func(collection, getIteratee(iteratee2, 3)); - } - var groupBy = createAggregator(function(result2, value, key) { - if (hasOwnProperty2.call(result2, key)) { - result2[key].push(value); - } else { - baseAssignValue(result2, key, [value]); - } - }); - function includes(collection, value, fromIndex, guard) { - collection = isArrayLike(collection) ? collection : values(collection); - fromIndex = fromIndex && !guard ? toInteger(fromIndex) : 0; - var length = collection.length; - if (fromIndex < 0) { - fromIndex = nativeMax(length + fromIndex, 0); - } - return isString3(collection) ? fromIndex <= length && collection.indexOf(value, fromIndex) > -1 : !!length && baseIndexOf(collection, value, fromIndex) > -1; - } - var invokeMap = baseRest(function(collection, path4, args2) { - var index = -1, isFunc = typeof path4 == "function", result2 = isArrayLike(collection) ? Array2(collection.length) : []; - baseEach(collection, function(value) { - result2[++index] = isFunc ? apply(path4, value, args2) : baseInvoke(value, path4, args2); - }); - return result2; - }); - var keyBy = createAggregator(function(result2, value, key) { - baseAssignValue(result2, key, value); - }); - function map(collection, iteratee2) { - var func = isArray3(collection) ? arrayMap : baseMap; - return func(collection, getIteratee(iteratee2, 3)); - } - function orderBy(collection, iteratees, orders, guard) { - if (collection == null) { - return []; - } - if (!isArray3(iteratees)) { - iteratees = iteratees == null ? [] : [iteratees]; - } - orders = guard ? undefined2 : orders; - if (!isArray3(orders)) { - orders = orders == null ? [] : [orders]; - } - return baseOrderBy(collection, iteratees, orders); - } - var partition = createAggregator(function(result2, value, key) { - result2[key ? 0 : 1].push(value); - }, function() { - return [[], []]; - }); - function reduce(collection, iteratee2, accumulator) { - var func = isArray3(collection) ? arrayReduce : baseReduce, initAccum = arguments.length < 3; - return func(collection, getIteratee(iteratee2, 4), accumulator, initAccum, baseEach); - } - function reduceRight(collection, iteratee2, accumulator) { - var func = isArray3(collection) ? arrayReduceRight : baseReduce, initAccum = arguments.length < 3; - return func(collection, getIteratee(iteratee2, 4), accumulator, initAccum, baseEachRight); - } - function reject(collection, predicate) { - var func = isArray3(collection) ? arrayFilter : baseFilter; - return func(collection, negate(getIteratee(predicate, 3))); - } - function sample(collection) { - var func = isArray3(collection) ? arraySample : baseSample; - return func(collection); - } - function sampleSize(collection, n, guard) { - if (guard ? isIterateeCall(collection, n, guard) : n === undefined2) { - n = 1; - } else { - n = toInteger(n); - } - var func = isArray3(collection) ? arraySampleSize : baseSampleSize; - return func(collection, n); - } - function shuffle(collection) { - var func = isArray3(collection) ? arrayShuffle : baseShuffle; - return func(collection); - } - function size(collection) { - if (collection == null) { - return 0; - } - if (isArrayLike(collection)) { - return isString3(collection) ? stringSize(collection) : collection.length; - } - var tag = getTag(collection); - if (tag == mapTag || tag == setTag) { - return collection.size; - } - return baseKeys(collection).length; - } - function some(collection, predicate, guard) { - var func = isArray3(collection) ? arraySome : baseSome; - if (guard && isIterateeCall(collection, predicate, guard)) { - predicate = undefined2; - } - return func(collection, getIteratee(predicate, 3)); - } - var sortBy = baseRest(function(collection, iteratees) { - if (collection == null) { - return []; - } - var length = iteratees.length; - if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) { - iteratees = []; - } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) { - iteratees = [iteratees[0]]; - } - return baseOrderBy(collection, baseFlatten(iteratees, 1), []); - }); - var now = ctxNow || function() { - return root.Date.now(); - }; - function after(n, func) { - if (typeof func != "function") { - throw new TypeError2(FUNC_ERROR_TEXT); - } - n = toInteger(n); - return function() { - if (--n < 1) { - return func.apply(this, arguments); - } - }; - } - function ary(func, n, guard) { - n = guard ? undefined2 : n; - n = func && n == null ? func.length : n; - return createWrap(func, WRAP_ARY_FLAG, undefined2, undefined2, undefined2, undefined2, n); - } - function before(n, func) { - var result2; - if (typeof func != "function") { - throw new TypeError2(FUNC_ERROR_TEXT); - } - n = toInteger(n); - return function() { - if (--n > 0) { - result2 = func.apply(this, arguments); - } - if (n <= 1) { - func = undefined2; - } - return result2; - }; - } - var bind2 = baseRest(function(func, thisArg, partials) { - var bitmask = WRAP_BIND_FLAG; - if (partials.length) { - var holders = replaceHolders(partials, getHolder(bind2)); - bitmask |= WRAP_PARTIAL_FLAG; - } - return createWrap(func, bitmask, thisArg, partials, holders); - }); - var bindKey = baseRest(function(object, key, partials) { - var bitmask = WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG; - if (partials.length) { - var holders = replaceHolders(partials, getHolder(bindKey)); - bitmask |= WRAP_PARTIAL_FLAG; - } - return createWrap(key, bitmask, object, partials, holders); - }); - function curry(func, arity, guard) { - arity = guard ? undefined2 : arity; - var result2 = createWrap(func, WRAP_CURRY_FLAG, undefined2, undefined2, undefined2, undefined2, undefined2, arity); - result2.placeholder = curry.placeholder; - return result2; - } - function curryRight(func, arity, guard) { - arity = guard ? undefined2 : arity; - var result2 = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined2, undefined2, undefined2, undefined2, undefined2, arity); - result2.placeholder = curryRight.placeholder; - return result2; - } - function debounce(func, wait, options) { - var lastArgs, lastThis, maxWait, result2, timerId, lastCallTime, lastInvokeTime = 0, leading = false, maxing = false, trailing = true; - if (typeof func != "function") { - throw new TypeError2(FUNC_ERROR_TEXT); - } - wait = toNumber(wait) || 0; - if (isObject4(options)) { - leading = !!options.leading; - maxing = "maxWait" in options; - maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait; - trailing = "trailing" in options ? !!options.trailing : trailing; - } - function invokeFunc(time) { - var args2 = lastArgs, thisArg = lastThis; - lastArgs = lastThis = undefined2; - lastInvokeTime = time; - result2 = func.apply(thisArg, args2); - return result2; - } - function leadingEdge(time) { - lastInvokeTime = time; - timerId = setTimeout2(timerExpired, wait); - return leading ? invokeFunc(time) : result2; - } - function remainingWait(time) { - var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime, timeWaiting = wait - timeSinceLastCall; - return maxing ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) : timeWaiting; - } - function shouldInvoke(time) { - var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime; - return lastCallTime === undefined2 || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait; - } - function timerExpired() { - var time = now(); - if (shouldInvoke(time)) { - return trailingEdge(time); - } - timerId = setTimeout2(timerExpired, remainingWait(time)); - } - function trailingEdge(time) { - timerId = undefined2; - if (trailing && lastArgs) { - return invokeFunc(time); - } - lastArgs = lastThis = undefined2; - return result2; - } - function cancel() { - if (timerId !== undefined2) { - clearTimeout2(timerId); - } - lastInvokeTime = 0; - lastArgs = lastCallTime = lastThis = timerId = undefined2; - } - function flush() { - return timerId === undefined2 ? result2 : trailingEdge(now()); - } - function debounced() { - var time = now(), isInvoking = shouldInvoke(time); - lastArgs = arguments; - lastThis = this; - lastCallTime = time; - if (isInvoking) { - if (timerId === undefined2) { - return leadingEdge(lastCallTime); - } - if (maxing) { - clearTimeout2(timerId); - timerId = setTimeout2(timerExpired, wait); - return invokeFunc(lastCallTime); - } - } - if (timerId === undefined2) { - timerId = setTimeout2(timerExpired, wait); - } - return result2; - } - debounced.cancel = cancel; - debounced.flush = flush; - return debounced; - } - var defer = baseRest(function(func, args2) { - return baseDelay(func, 1, args2); - }); - var delay = baseRest(function(func, wait, args2) { - return baseDelay(func, toNumber(wait) || 0, args2); - }); - function flip(func) { - return createWrap(func, WRAP_FLIP_FLAG); - } - function memoize(func, resolver) { - if (typeof func != "function" || resolver != null && typeof resolver != "function") { - throw new TypeError2(FUNC_ERROR_TEXT); - } - var memoized = function() { - var args2 = arguments, key = resolver ? resolver.apply(this, args2) : args2[0], cache = memoized.cache; - if (cache.has(key)) { - return cache.get(key); - } - var result2 = func.apply(this, args2); - memoized.cache = cache.set(key, result2) || cache; - return result2; - }; - memoized.cache = new (memoize.Cache || MapCache)(); - return memoized; - } - memoize.Cache = MapCache; - function negate(predicate) { - if (typeof predicate != "function") { - throw new TypeError2(FUNC_ERROR_TEXT); - } - return function() { - var args2 = arguments; - switch (args2.length) { - case 0: - return !predicate.call(this); - case 1: - return !predicate.call(this, args2[0]); - case 2: - return !predicate.call(this, args2[0], args2[1]); - case 3: - return !predicate.call(this, args2[0], args2[1], args2[2]); - } - return !predicate.apply(this, args2); - }; - } - function once(func) { - return before(2, func); - } - var overArgs = castRest(function(func, transforms) { - transforms = transforms.length == 1 && isArray3(transforms[0]) ? arrayMap(transforms[0], baseUnary(getIteratee())) : arrayMap(baseFlatten(transforms, 1), baseUnary(getIteratee())); - var funcsLength = transforms.length; - return baseRest(function(args2) { - var index = -1, length = nativeMin(args2.length, funcsLength); - while (++index < length) { - args2[index] = transforms[index].call(this, args2[index]); - } - return apply(func, this, args2); - }); - }); - var partial = baseRest(function(func, partials) { - var holders = replaceHolders(partials, getHolder(partial)); - return createWrap(func, WRAP_PARTIAL_FLAG, undefined2, partials, holders); - }); - var partialRight = baseRest(function(func, partials) { - var holders = replaceHolders(partials, getHolder(partialRight)); - return createWrap(func, WRAP_PARTIAL_RIGHT_FLAG, undefined2, partials, holders); - }); - var rearg = flatRest(function(func, indexes) { - return createWrap(func, WRAP_REARG_FLAG, undefined2, undefined2, undefined2, indexes); - }); - function rest(func, start) { - if (typeof func != "function") { - throw new TypeError2(FUNC_ERROR_TEXT); - } - start = start === undefined2 ? start : toInteger(start); - return baseRest(func, start); - } - function spread3(func, start) { - if (typeof func != "function") { - throw new TypeError2(FUNC_ERROR_TEXT); - } - start = start == null ? 0 : nativeMax(toInteger(start), 0); - return baseRest(function(args2) { - var array = args2[start], otherArgs = castSlice(args2, 0, start); - if (array) { - arrayPush(otherArgs, array); - } - return apply(func, this, otherArgs); - }); - } - function throttle2(func, wait, options) { - var leading = true, trailing = true; - if (typeof func != "function") { - throw new TypeError2(FUNC_ERROR_TEXT); - } - if (isObject4(options)) { - leading = "leading" in options ? !!options.leading : leading; - trailing = "trailing" in options ? !!options.trailing : trailing; - } - return debounce(func, wait, { - "leading": leading, - "maxWait": wait, - "trailing": trailing - }); - } - function unary(func) { - return ary(func, 1); - } - function wrap(value, wrapper) { - return partial(castFunction(wrapper), value); - } - function castArray() { - if (!arguments.length) { - return []; - } - var value = arguments[0]; - return isArray3(value) ? value : [value]; - } - function clone(value) { - return baseClone(value, CLONE_SYMBOLS_FLAG); - } - function cloneWith(value, customizer) { - customizer = typeof customizer == "function" ? customizer : undefined2; - return baseClone(value, CLONE_SYMBOLS_FLAG, customizer); - } - function cloneDeep(value) { - return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG); - } - function cloneDeepWith(value, customizer) { - customizer = typeof customizer == "function" ? customizer : undefined2; - return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer); - } - function conformsTo(object, source2) { - return source2 == null || baseConformsTo(object, source2, keys2(source2)); - } - function eq(value, other) { - return value === other || value !== value && other !== other; - } - var gt = createRelationalOperation(baseGt); - var gte = createRelationalOperation(function(value, other) { - return value >= other; - }); - var isArguments = baseIsArguments(function() { - return arguments; - }()) ? baseIsArguments : function(value) { - return isObjectLike(value) && hasOwnProperty2.call(value, "callee") && !propertyIsEnumerable.call(value, "callee"); - }; - var isArray3 = Array2.isArray; - var isArrayBuffer2 = nodeIsArrayBuffer ? baseUnary(nodeIsArrayBuffer) : baseIsArrayBuffer; - function isArrayLike(value) { - return value != null && isLength(value.length) && !isFunction2(value); - } - function isArrayLikeObject(value) { - return isObjectLike(value) && isArrayLike(value); - } - function isBoolean3(value) { - return value === true || value === false || isObjectLike(value) && baseGetTag(value) == boolTag; - } - var isBuffer2 = nativeIsBuffer || stubFalse; - var isDate2 = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate; - function isElement(value) { - return isObjectLike(value) && value.nodeType === 1 && !isPlainObject2(value); - } - function isEmpty2(value) { - if (value == null) { - return true; - } - if (isArrayLike(value) && (isArray3(value) || typeof value == "string" || typeof value.splice == "function" || isBuffer2(value) || isTypedArray2(value) || isArguments(value))) { - return !value.length; - } - var tag = getTag(value); - if (tag == mapTag || tag == setTag) { - return !value.size; - } - if (isPrototype(value)) { - return !baseKeys(value).length; - } - for (var key in value) { - if (hasOwnProperty2.call(value, key)) { - return false; - } - } - return true; - } - function isEqual(value, other) { - return baseIsEqual(value, other); - } - function isEqualWith(value, other, customizer) { - customizer = typeof customizer == "function" ? customizer : undefined2; - var result2 = customizer ? customizer(value, other) : undefined2; - return result2 === undefined2 ? baseIsEqual(value, other, undefined2, customizer) : !!result2; - } - function isError(value) { - if (!isObjectLike(value)) { - return false; - } - var tag = baseGetTag(value); - return tag == errorTag || tag == domExcTag || typeof value.message == "string" && typeof value.name == "string" && !isPlainObject2(value); - } - function isFinite2(value) { - return typeof value == "number" && nativeIsFinite(value); - } - function isFunction2(value) { - if (!isObject4(value)) { - return false; - } - var tag = baseGetTag(value); - return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; - } - function isInteger(value) { - return typeof value == "number" && value == toInteger(value); - } - function isLength(value) { - return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; - } - function isObject4(value) { - var type = typeof value; - return value != null && (type == "object" || type == "function"); - } - function isObjectLike(value) { - return value != null && typeof value == "object"; - } - var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap; - function isMatch(object, source2) { - return object === source2 || baseIsMatch(object, source2, getMatchData(source2)); - } - function isMatchWith(object, source2, customizer) { - customizer = typeof customizer == "function" ? customizer : undefined2; - return baseIsMatch(object, source2, getMatchData(source2), customizer); - } - function isNaN2(value) { - return isNumber3(value) && value != +value; - } - function isNative(value) { - if (isMaskable(value)) { - throw new Error2(CORE_ERROR_TEXT); - } - return baseIsNative(value); - } - function isNull2(value) { - return value === null; - } - function isNil(value) { - return value == null; - } - function isNumber3(value) { - return typeof value == "number" || isObjectLike(value) && baseGetTag(value) == numberTag; - } - function isPlainObject2(value) { - if (!isObjectLike(value) || baseGetTag(value) != objectTag) { - return false; - } - var proto = getPrototype(value); - if (proto === null) { - return true; - } - var Ctor = hasOwnProperty2.call(proto, "constructor") && proto.constructor; - return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString; - } - var isRegExp2 = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp; - function isSafeInteger(value) { - return isInteger(value) && value >= -MAX_SAFE_INTEGER && value <= MAX_SAFE_INTEGER; - } - var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet; - function isString3(value) { - return typeof value == "string" || !isArray3(value) && isObjectLike(value) && baseGetTag(value) == stringTag; - } - function isSymbol(value) { - return typeof value == "symbol" || isObjectLike(value) && baseGetTag(value) == symbolTag; - } - var isTypedArray2 = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; - function isUndefined2(value) { - return value === undefined2; - } - function isWeakMap(value) { - return isObjectLike(value) && getTag(value) == weakMapTag; - } - function isWeakSet(value) { - return isObjectLike(value) && baseGetTag(value) == weakSetTag; - } - var lt = createRelationalOperation(baseLt); - var lte = createRelationalOperation(function(value, other) { - return value <= other; - }); - function toArray2(value) { - if (!value) { - return []; - } - if (isArrayLike(value)) { - return isString3(value) ? stringToArray(value) : copyArray(value); - } - if (symIterator && value[symIterator]) { - return iteratorToArray(value[symIterator]()); - } - var tag = getTag(value), func = tag == mapTag ? mapToArray : tag == setTag ? setToArray : values; - return func(value); - } - function toFinite(value) { - if (!value) { - return value === 0 ? value : 0; - } - value = toNumber(value); - if (value === INFINITY || value === -INFINITY) { - var sign = value < 0 ? -1 : 1; - return sign * MAX_INTEGER; - } - return value === value ? value : 0; - } - function toInteger(value) { - var result2 = toFinite(value), remainder = result2 % 1; - return result2 === result2 ? remainder ? result2 - remainder : result2 : 0; - } - function toLength(value) { - return value ? baseClamp(toInteger(value), 0, MAX_ARRAY_LENGTH) : 0; - } - function toNumber(value) { - if (typeof value == "number") { - return value; - } - if (isSymbol(value)) { - return NAN; - } - if (isObject4(value)) { - var other = typeof value.valueOf == "function" ? value.valueOf() : value; - value = isObject4(other) ? other + "" : other; - } - if (typeof value != "string") { - return value === 0 ? value : +value; - } - value = baseTrim(value); - var isBinary = reIsBinary.test(value); - return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value; - } - function toPlainObject(value) { - return copyObject(value, keysIn(value)); - } - function toSafeInteger(value) { - return value ? baseClamp(toInteger(value), -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER) : value === 0 ? value : 0; - } - function toString3(value) { - return value == null ? "" : baseToString(value); - } - var assign = createAssigner(function(object, source2) { - if (isPrototype(source2) || isArrayLike(source2)) { - copyObject(source2, keys2(source2), object); - return; - } - for (var key in source2) { - if (hasOwnProperty2.call(source2, key)) { - assignValue(object, key, source2[key]); - } - } - }); - var assignIn = createAssigner(function(object, source2) { - copyObject(source2, keysIn(source2), object); - }); - var assignInWith = createAssigner(function(object, source2, srcIndex, customizer) { - copyObject(source2, keysIn(source2), object, customizer); - }); - var assignWith = createAssigner(function(object, source2, srcIndex, customizer) { - copyObject(source2, keys2(source2), object, customizer); - }); - var at = flatRest(baseAt); - function create(prototype3, properties) { - var result2 = baseCreate(prototype3); - return properties == null ? result2 : baseAssign(result2, properties); - } - var defaults2 = baseRest(function(object, sources) { - object = Object2(object); - var index = -1; - var length = sources.length; - var guard = length > 2 ? sources[2] : undefined2; - if (guard && isIterateeCall(sources[0], sources[1], guard)) { - length = 1; - } - while (++index < length) { - var source2 = sources[index]; - var props = keysIn(source2); - var propsIndex = -1; - var propsLength = props.length; - while (++propsIndex < propsLength) { - var key = props[propsIndex]; - var value = object[key]; - if (value === undefined2 || eq(value, objectProto[key]) && !hasOwnProperty2.call(object, key)) { - object[key] = source2[key]; - } - } - } - return object; - }); - var defaultsDeep = baseRest(function(args2) { - args2.push(undefined2, customDefaultsMerge); - return apply(mergeWith, undefined2, args2); - }); - function findKey2(object, predicate) { - return baseFindKey(object, getIteratee(predicate, 3), baseForOwn); - } - function findLastKey(object, predicate) { - return baseFindKey(object, getIteratee(predicate, 3), baseForOwnRight); - } - function forIn(object, iteratee2) { - return object == null ? object : baseFor(object, getIteratee(iteratee2, 3), keysIn); - } - function forInRight(object, iteratee2) { - return object == null ? object : baseForRight(object, getIteratee(iteratee2, 3), keysIn); - } - function forOwn(object, iteratee2) { - return object && baseForOwn(object, getIteratee(iteratee2, 3)); - } - function forOwnRight(object, iteratee2) { - return object && baseForOwnRight(object, getIteratee(iteratee2, 3)); - } - function functions(object) { - return object == null ? [] : baseFunctions(object, keys2(object)); - } - function functionsIn(object) { - return object == null ? [] : baseFunctions(object, keysIn(object)); - } - function get(object, path4, defaultValue) { - var result2 = object == null ? undefined2 : baseGet(object, path4); - return result2 === undefined2 ? defaultValue : result2; - } - function has(object, path4) { - return object != null && hasPath(object, path4, baseHas); - } - function hasIn(object, path4) { - return object != null && hasPath(object, path4, baseHasIn); - } - var invert = createInverter(function(result2, value, key) { - if (value != null && typeof value.toString != "function") { - value = nativeObjectToString.call(value); - } - result2[value] = key; - }, constant(identity)); - var invertBy = createInverter(function(result2, value, key) { - if (value != null && typeof value.toString != "function") { - value = nativeObjectToString.call(value); - } - if (hasOwnProperty2.call(result2, value)) { - result2[value].push(key); - } else { - result2[value] = [key]; - } - }, getIteratee); - var invoke = baseRest(baseInvoke); - function keys2(object) { - return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); - } - function keysIn(object) { - return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object); - } - function mapKeys(object, iteratee2) { - var result2 = {}; - iteratee2 = getIteratee(iteratee2, 3); - baseForOwn(object, function(value, key, object2) { - baseAssignValue(result2, iteratee2(value, key, object2), value); - }); - return result2; - } - function mapValues(object, iteratee2) { - var result2 = {}; - iteratee2 = getIteratee(iteratee2, 3); - baseForOwn(object, function(value, key, object2) { - baseAssignValue(result2, key, iteratee2(value, key, object2)); - }); - return result2; - } - var merge2 = createAssigner(function(object, source2, srcIndex) { - baseMerge(object, source2, srcIndex); - }); - var mergeWith = createAssigner(function(object, source2, srcIndex, customizer) { - baseMerge(object, source2, srcIndex, customizer); - }); - var omit = flatRest(function(object, paths) { - var result2 = {}; - if (object == null) { - return result2; - } - var isDeep = false; - paths = arrayMap(paths, function(path4) { - path4 = castPath(path4, object); - isDeep || (isDeep = path4.length > 1); - return path4; - }); - copyObject(object, getAllKeysIn(object), result2); - if (isDeep) { - result2 = baseClone(result2, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone); - } - var length = paths.length; - while (length--) { - baseUnset(result2, paths[length]); - } - return result2; - }); - function omitBy(object, predicate) { - return pickBy(object, negate(getIteratee(predicate))); - } - var pick = flatRest(function(object, paths) { - return object == null ? {} : basePick(object, paths); - }); - function pickBy(object, predicate) { - if (object == null) { - return {}; - } - var props = arrayMap(getAllKeysIn(object), function(prop) { - return [prop]; - }); - predicate = getIteratee(predicate); - return basePickBy(object, props, function(value, path4) { - return predicate(value, path4[0]); - }); - } - function result(object, path4, defaultValue) { - path4 = castPath(path4, object); - var index = -1, length = path4.length; - if (!length) { - length = 1; - object = undefined2; - } - while (++index < length) { - var value = object == null ? undefined2 : object[toKey(path4[index])]; - if (value === undefined2) { - index = length; - value = defaultValue; - } - object = isFunction2(value) ? value.call(object) : value; - } - return object; - } - function set(object, path4, value) { - return object == null ? object : baseSet(object, path4, value); - } - function setWith(object, path4, value, customizer) { - customizer = typeof customizer == "function" ? customizer : undefined2; - return object == null ? object : baseSet(object, path4, value, customizer); - } - var toPairs = createToPairs(keys2); - var toPairsIn = createToPairs(keysIn); - function transform(object, iteratee2, accumulator) { - var isArr = isArray3(object), isArrLike = isArr || isBuffer2(object) || isTypedArray2(object); - iteratee2 = getIteratee(iteratee2, 4); - if (accumulator == null) { - var Ctor = object && object.constructor; - if (isArrLike) { - accumulator = isArr ? new Ctor() : []; - } else if (isObject4(object)) { - accumulator = isFunction2(Ctor) ? baseCreate(getPrototype(object)) : {}; - } else { - accumulator = {}; - } - } - (isArrLike ? arrayEach : baseForOwn)(object, function(value, index, object2) { - return iteratee2(accumulator, value, index, object2); - }); - return accumulator; - } - function unset(object, path4) { - return object == null ? true : baseUnset(object, path4); - } - function update(object, path4, updater) { - return object == null ? object : baseUpdate(object, path4, castFunction(updater)); - } - function updateWith(object, path4, updater, customizer) { - customizer = typeof customizer == "function" ? customizer : undefined2; - return object == null ? object : baseUpdate(object, path4, castFunction(updater), customizer); - } - function values(object) { - return object == null ? [] : baseValues(object, keys2(object)); - } - function valuesIn(object) { - return object == null ? [] : baseValues(object, keysIn(object)); - } - function clamp(number, lower, upper) { - if (upper === undefined2) { - upper = lower; - lower = undefined2; - } - if (upper !== undefined2) { - upper = toNumber(upper); - upper = upper === upper ? upper : 0; - } - if (lower !== undefined2) { - lower = toNumber(lower); - lower = lower === lower ? lower : 0; - } - return baseClamp(toNumber(number), lower, upper); - } - function inRange(number, start, end) { - start = toFinite(start); - if (end === undefined2) { - end = start; - start = 0; - } else { - end = toFinite(end); - } - number = toNumber(number); - return baseInRange(number, start, end); - } - function random2(lower, upper, floating) { - if (floating && typeof floating != "boolean" && isIterateeCall(lower, upper, floating)) { - upper = floating = undefined2; - } - if (floating === undefined2) { - if (typeof upper == "boolean") { - floating = upper; - upper = undefined2; - } else if (typeof lower == "boolean") { - floating = lower; - lower = undefined2; - } - } - if (lower === undefined2 && upper === undefined2) { - lower = 0; - upper = 1; - } else { - lower = toFinite(lower); - if (upper === undefined2) { - upper = lower; - lower = 0; - } else { - upper = toFinite(upper); - } - } - if (lower > upper) { - var temp = lower; - lower = upper; - upper = temp; - } - if (floating || lower % 1 || upper % 1) { - var rand = nativeRandom(); - return nativeMin(lower + rand * (upper - lower + freeParseFloat("1e-" + ((rand + "").length - 1))), upper); - } - return baseRandom(lower, upper); - } - var camelCase = createCompounder(function(result2, word, index) { - word = word.toLowerCase(); - return result2 + (index ? capitalize(word) : word); - }); - function capitalize(string) { - return upperFirst(toString3(string).toLowerCase()); - } - function deburr(string) { - string = toString3(string); - return string && string.replace(reLatin, deburrLetter).replace(reComboMark, ""); - } - function endsWith2(string, target, position) { - string = toString3(string); - target = baseToString(target); - var length = string.length; - position = position === undefined2 ? length : baseClamp(toInteger(position), 0, length); - var end = position; - position -= target.length; - return position >= 0 && string.slice(position, end) == target; - } - function escape2(string) { - string = toString3(string); - return string && reHasUnescapedHtml.test(string) ? string.replace(reUnescapedHtml, escapeHtmlChar) : string; - } - function escapeRegExp(string) { - string = toString3(string); - return string && reHasRegExpChar.test(string) ? string.replace(reRegExpChar, "\\$&") : string; - } - var kebabCase = createCompounder(function(result2, word, index) { - return result2 + (index ? "-" : "") + word.toLowerCase(); - }); - var lowerCase = createCompounder(function(result2, word, index) { - return result2 + (index ? " " : "") + word.toLowerCase(); - }); - var lowerFirst = createCaseFirst("toLowerCase"); - function pad(string, length, chars) { - string = toString3(string); - length = toInteger(length); - var strLength = length ? stringSize(string) : 0; - if (!length || strLength >= length) { - return string; - } - var mid = (length - strLength) / 2; - return createPadding(nativeFloor(mid), chars) + string + createPadding(nativeCeil(mid), chars); - } - function padEnd(string, length, chars) { - string = toString3(string); - length = toInteger(length); - var strLength = length ? stringSize(string) : 0; - return length && strLength < length ? string + createPadding(length - strLength, chars) : string; - } - function padStart(string, length, chars) { - string = toString3(string); - length = toInteger(length); - var strLength = length ? stringSize(string) : 0; - return length && strLength < length ? createPadding(length - strLength, chars) + string : string; - } - function parseInt2(string, radix, guard) { - if (guard || radix == null) { - radix = 0; - } else if (radix) { - radix = +radix; - } - return nativeParseInt(toString3(string).replace(reTrimStart, ""), radix || 0); - } - function repeat2(string, n, guard) { - if (guard ? isIterateeCall(string, n, guard) : n === undefined2) { - n = 1; - } else { - n = toInteger(n); - } - return baseRepeat(toString3(string), n); - } - function replace() { - var args2 = arguments, string = toString3(args2[0]); - return args2.length < 3 ? string : string.replace(args2[1], args2[2]); - } - var snakeCase = createCompounder(function(result2, word, index) { - return result2 + (index ? "_" : "") + word.toLowerCase(); - }); - function split(string, separator, limit) { - if (limit && typeof limit != "number" && isIterateeCall(string, separator, limit)) { - separator = limit = undefined2; - } - limit = limit === undefined2 ? MAX_ARRAY_LENGTH : limit >>> 0; - if (!limit) { - return []; - } - string = toString3(string); - if (string && (typeof separator == "string" || separator != null && !isRegExp2(separator))) { - separator = baseToString(separator); - if (!separator && hasUnicode(string)) { - return castSlice(stringToArray(string), 0, limit); - } - } - return string.split(separator, limit); - } - var startCase = createCompounder(function(result2, word, index) { - return result2 + (index ? " " : "") + upperFirst(word); - }); - function startsWith(string, target, position) { - string = toString3(string); - position = position == null ? 0 : baseClamp(toInteger(position), 0, string.length); - target = baseToString(target); - return string.slice(position, position + target.length) == target; - } - function template(string, options, guard) { - var settings = lodash2.templateSettings; - if (guard && isIterateeCall(string, options, guard)) { - options = undefined2; - } - string = toString3(string); - options = assignInWith({}, options, settings, customDefaultsAssignIn); - var imports = assignInWith({}, options.imports, settings.imports, customDefaultsAssignIn), importsKeys = keys2(imports), importsValues = baseValues(imports, importsKeys); - var isEscaping, isEvaluating, index = 0, interpolate = options.interpolate || reNoMatch, source2 = "__p += '"; - var reDelimiters = RegExp2( - (options.escape || reNoMatch).source + "|" + interpolate.source + "|" + (interpolate === reInterpolate ? reEsTemplate : reNoMatch).source + "|" + (options.evaluate || reNoMatch).source + "|$", - "g" - ); - var sourceURL = "//# sourceURL=" + (hasOwnProperty2.call(options, "sourceURL") ? (options.sourceURL + "").replace(/\s/g, " ") : "lodash.templateSources[" + ++templateCounter + "]") + "\n"; - string.replace(reDelimiters, function(match, escapeValue, interpolateValue, esTemplateValue, evaluateValue, offset) { - interpolateValue || (interpolateValue = esTemplateValue); - source2 += string.slice(index, offset).replace(reUnescapedString, escapeStringChar); - if (escapeValue) { - isEscaping = true; - source2 += "' +\n__e(" + escapeValue + ") +\n'"; - } - if (evaluateValue) { - isEvaluating = true; - source2 += "';\n" + evaluateValue + ";\n__p += '"; - } - if (interpolateValue) { - source2 += "' +\n((__t = (" + interpolateValue + ")) == null ? '' : __t) +\n'"; - } - index = offset + match.length; - return match; - }); - source2 += "';\n"; - var variable = hasOwnProperty2.call(options, "variable") && options.variable; - if (!variable) { - source2 = "with (obj) {\n" + source2 + "\n}\n"; - } else if (reForbiddenIdentifierChars.test(variable)) { - throw new Error2(INVALID_TEMPL_VAR_ERROR_TEXT); - } - source2 = (isEvaluating ? source2.replace(reEmptyStringLeading, "") : source2).replace(reEmptyStringMiddle, "$1").replace(reEmptyStringTrailing, "$1;"); - source2 = "function(" + (variable || "obj") + ") {\n" + (variable ? "" : "obj || (obj = {});\n") + "var __t, __p = ''" + (isEscaping ? ", __e = _.escape" : "") + (isEvaluating ? ", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n" : ";\n") + source2 + "return __p\n}"; - var result2 = attempt(function() { - return Function2(importsKeys, sourceURL + "return " + source2).apply(undefined2, importsValues); - }); - result2.source = source2; - if (isError(result2)) { - throw result2; - } - return result2; - } - function toLower(value) { - return toString3(value).toLowerCase(); - } - function toUpper(value) { - return toString3(value).toUpperCase(); - } - function trim2(string, chars, guard) { - string = toString3(string); - if (string && (guard || chars === undefined2)) { - return baseTrim(string); - } - if (!string || !(chars = baseToString(chars))) { - return string; - } - var strSymbols = stringToArray(string), chrSymbols = stringToArray(chars), start = charsStartIndex(strSymbols, chrSymbols), end = charsEndIndex(strSymbols, chrSymbols) + 1; - return castSlice(strSymbols, start, end).join(""); - } - function trimEnd(string, chars, guard) { - string = toString3(string); - if (string && (guard || chars === undefined2)) { - return string.slice(0, trimmedEndIndex(string) + 1); - } - if (!string || !(chars = baseToString(chars))) { - return string; - } - var strSymbols = stringToArray(string), end = charsEndIndex(strSymbols, stringToArray(chars)) + 1; - return castSlice(strSymbols, 0, end).join(""); - } - function trimStart(string, chars, guard) { - string = toString3(string); - if (string && (guard || chars === undefined2)) { - return string.replace(reTrimStart, ""); - } - if (!string || !(chars = baseToString(chars))) { - return string; - } - var strSymbols = stringToArray(string), start = charsStartIndex(strSymbols, stringToArray(chars)); - return castSlice(strSymbols, start).join(""); - } - function truncate(string, options) { - var length = DEFAULT_TRUNC_LENGTH, omission = DEFAULT_TRUNC_OMISSION; - if (isObject4(options)) { - var separator = "separator" in options ? options.separator : separator; - length = "length" in options ? toInteger(options.length) : length; - omission = "omission" in options ? baseToString(options.omission) : omission; - } - string = toString3(string); - var strLength = string.length; - if (hasUnicode(string)) { - var strSymbols = stringToArray(string); - strLength = strSymbols.length; - } - if (length >= strLength) { - return string; - } - var end = length - stringSize(omission); - if (end < 1) { - return omission; - } - var result2 = strSymbols ? castSlice(strSymbols, 0, end).join("") : string.slice(0, end); - if (separator === undefined2) { - return result2 + omission; - } - if (strSymbols) { - end += result2.length - end; - } - if (isRegExp2(separator)) { - if (string.slice(end).search(separator)) { - var match, substring = result2; - if (!separator.global) { - separator = RegExp2(separator.source, toString3(reFlags.exec(separator)) + "g"); - } - separator.lastIndex = 0; - while (match = separator.exec(substring)) { - var newEnd = match.index; - } - result2 = result2.slice(0, newEnd === undefined2 ? end : newEnd); - } - } else if (string.indexOf(baseToString(separator), end) != end) { - var index = result2.lastIndexOf(separator); - if (index > -1) { - result2 = result2.slice(0, index); - } - } - return result2 + omission; - } - function unescape2(string) { - string = toString3(string); - return string && reHasEscapedHtml.test(string) ? string.replace(reEscapedHtml, unescapeHtmlChar) : string; - } - var upperCase = createCompounder(function(result2, word, index) { - return result2 + (index ? " " : "") + word.toUpperCase(); - }); - var upperFirst = createCaseFirst("toUpperCase"); - function words(string, pattern, guard) { - string = toString3(string); - pattern = guard ? undefined2 : pattern; - if (pattern === undefined2) { - return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string); - } - return string.match(pattern) || []; - } - var attempt = baseRest(function(func, args2) { - try { - return apply(func, undefined2, args2); - } catch (e) { - return isError(e) ? e : new Error2(e); - } - }); - var bindAll = flatRest(function(object, methodNames) { - arrayEach(methodNames, function(key) { - key = toKey(key); - baseAssignValue(object, key, bind2(object[key], object)); - }); - return object; - }); - function cond(pairs) { - var length = pairs == null ? 0 : pairs.length, toIteratee = getIteratee(); - pairs = !length ? [] : arrayMap(pairs, function(pair) { - if (typeof pair[1] != "function") { - throw new TypeError2(FUNC_ERROR_TEXT); - } - return [toIteratee(pair[0]), pair[1]]; - }); - return baseRest(function(args2) { - var index = -1; - while (++index < length) { - var pair = pairs[index]; - if (apply(pair[0], this, args2)) { - return apply(pair[1], this, args2); - } - } - }); - } - function conforms(source2) { - return baseConforms(baseClone(source2, CLONE_DEEP_FLAG)); - } - function constant(value) { - return function() { - return value; - }; - } - function defaultTo(value, defaultValue) { - return value == null || value !== value ? defaultValue : value; - } - var flow = createFlow(); - var flowRight = createFlow(true); - function identity(value) { - return value; - } - function iteratee(func) { - return baseIteratee(typeof func == "function" ? func : baseClone(func, CLONE_DEEP_FLAG)); - } - function matches(source2) { - return baseMatches(baseClone(source2, CLONE_DEEP_FLAG)); - } - function matchesProperty(path4, srcValue) { - return baseMatchesProperty(path4, baseClone(srcValue, CLONE_DEEP_FLAG)); - } - var method = baseRest(function(path4, args2) { - return function(object) { - return baseInvoke(object, path4, args2); - }; - }); - var methodOf = baseRest(function(object, args2) { - return function(path4) { - return baseInvoke(object, path4, args2); - }; - }); - function mixin(object, source2, options) { - var props = keys2(source2), methodNames = baseFunctions(source2, props); - if (options == null && !(isObject4(source2) && (methodNames.length || !props.length))) { - options = source2; - source2 = object; - object = this; - methodNames = baseFunctions(source2, keys2(source2)); - } - var chain2 = !(isObject4(options) && "chain" in options) || !!options.chain, isFunc = isFunction2(object); - arrayEach(methodNames, function(methodName) { - var func = source2[methodName]; - object[methodName] = func; - if (isFunc) { - object.prototype[methodName] = function() { - var chainAll = this.__chain__; - if (chain2 || chainAll) { - var result2 = object(this.__wrapped__), actions = result2.__actions__ = copyArray(this.__actions__); - actions.push({ "func": func, "args": arguments, "thisArg": object }); - result2.__chain__ = chainAll; - return result2; - } - return func.apply(object, arrayPush([this.value()], arguments)); - }; - } - }); - return object; - } - function noConflict() { - if (root._ === this) { - root._ = oldDash; - } - return this; - } - function noop2() { - } - function nthArg(n) { - n = toInteger(n); - return baseRest(function(args2) { - return baseNth(args2, n); - }); - } - var over = createOver(arrayMap); - var overEvery = createOver(arrayEvery); - var overSome = createOver(arraySome); - function property(path4) { - return isKey(path4) ? baseProperty(toKey(path4)) : basePropertyDeep(path4); - } - function propertyOf(object) { - return function(path4) { - return object == null ? undefined2 : baseGet(object, path4); - }; - } - var range = createRange(); - var rangeRight = createRange(true); - function stubArray() { - return []; - } - function stubFalse() { - return false; - } - function stubObject() { - return {}; - } - function stubString() { - return ""; - } - function stubTrue() { - return true; - } - function times(n, iteratee2) { - n = toInteger(n); - if (n < 1 || n > MAX_SAFE_INTEGER) { - return []; - } - var index = MAX_ARRAY_LENGTH, length = nativeMin(n, MAX_ARRAY_LENGTH); - iteratee2 = getIteratee(iteratee2); - n -= MAX_ARRAY_LENGTH; - var result2 = baseTimes(length, iteratee2); - while (++index < n) { - iteratee2(index); - } - return result2; - } - function toPath(value) { - if (isArray3(value)) { - return arrayMap(value, toKey); - } - return isSymbol(value) ? [value] : copyArray(stringToPath(toString3(value))); - } - function uniqueId(prefix) { - var id = ++idCounter; - return toString3(prefix) + id; - } - var add = createMathOperation(function(augend, addend) { - return augend + addend; - }, 0); - var ceil = createRound("ceil"); - var divide = createMathOperation(function(dividend, divisor) { - return dividend / divisor; - }, 1); - var floor = createRound("floor"); - function max(array) { - return array && array.length ? baseExtremum(array, identity, baseGt) : undefined2; - } - function maxBy(array, iteratee2) { - return array && array.length ? baseExtremum(array, getIteratee(iteratee2, 2), baseGt) : undefined2; - } - function mean(array) { - return baseMean(array, identity); - } - function meanBy(array, iteratee2) { - return baseMean(array, getIteratee(iteratee2, 2)); - } - function min(array) { - return array && array.length ? baseExtremum(array, identity, baseLt) : undefined2; - } - function minBy(array, iteratee2) { - return array && array.length ? baseExtremum(array, getIteratee(iteratee2, 2), baseLt) : undefined2; - } - var multiply = createMathOperation(function(multiplier, multiplicand) { - return multiplier * multiplicand; - }, 1); - var round = createRound("round"); - var subtract = createMathOperation(function(minuend, subtrahend) { - return minuend - subtrahend; - }, 0); - function sum(array) { - return array && array.length ? baseSum(array, identity) : 0; - } - function sumBy(array, iteratee2) { - return array && array.length ? baseSum(array, getIteratee(iteratee2, 2)) : 0; - } - lodash2.after = after; - lodash2.ary = ary; - lodash2.assign = assign; - lodash2.assignIn = assignIn; - lodash2.assignInWith = assignInWith; - lodash2.assignWith = assignWith; - lodash2.at = at; - lodash2.before = before; - lodash2.bind = bind2; - lodash2.bindAll = bindAll; - lodash2.bindKey = bindKey; - lodash2.castArray = castArray; - lodash2.chain = chain; - lodash2.chunk = chunk; - lodash2.compact = compact; - lodash2.concat = concat; - lodash2.cond = cond; - lodash2.conforms = conforms; - lodash2.constant = constant; - lodash2.countBy = countBy; - lodash2.create = create; - lodash2.curry = curry; - lodash2.curryRight = curryRight; - lodash2.debounce = debounce; - lodash2.defaults = defaults2; - lodash2.defaultsDeep = defaultsDeep; - lodash2.defer = defer; - lodash2.delay = delay; - lodash2.difference = difference; - lodash2.differenceBy = differenceBy; - lodash2.differenceWith = differenceWith; - lodash2.drop = drop; - lodash2.dropRight = dropRight; - lodash2.dropRightWhile = dropRightWhile; - lodash2.dropWhile = dropWhile; - lodash2.fill = fill; - lodash2.filter = filter2; - lodash2.flatMap = flatMap; - lodash2.flatMapDeep = flatMapDeep; - lodash2.flatMapDepth = flatMapDepth; - lodash2.flatten = flatten; - lodash2.flattenDeep = flattenDeep; - lodash2.flattenDepth = flattenDepth; - lodash2.flip = flip; - lodash2.flow = flow; - lodash2.flowRight = flowRight; - lodash2.fromPairs = fromPairs; - lodash2.functions = functions; - lodash2.functionsIn = functionsIn; - lodash2.groupBy = groupBy; - lodash2.initial = initial; - lodash2.intersection = intersection; - lodash2.intersectionBy = intersectionBy; - lodash2.intersectionWith = intersectionWith; - lodash2.invert = invert; - lodash2.invertBy = invertBy; - lodash2.invokeMap = invokeMap; - lodash2.iteratee = iteratee; - lodash2.keyBy = keyBy; - lodash2.keys = keys2; - lodash2.keysIn = keysIn; - lodash2.map = map; - lodash2.mapKeys = mapKeys; - lodash2.mapValues = mapValues; - lodash2.matches = matches; - lodash2.matchesProperty = matchesProperty; - lodash2.memoize = memoize; - lodash2.merge = merge2; - lodash2.mergeWith = mergeWith; - lodash2.method = method; - lodash2.methodOf = methodOf; - lodash2.mixin = mixin; - lodash2.negate = negate; - lodash2.nthArg = nthArg; - lodash2.omit = omit; - lodash2.omitBy = omitBy; - lodash2.once = once; - lodash2.orderBy = orderBy; - lodash2.over = over; - lodash2.overArgs = overArgs; - lodash2.overEvery = overEvery; - lodash2.overSome = overSome; - lodash2.partial = partial; - lodash2.partialRight = partialRight; - lodash2.partition = partition; - lodash2.pick = pick; - lodash2.pickBy = pickBy; - lodash2.property = property; - lodash2.propertyOf = propertyOf; - lodash2.pull = pull; - lodash2.pullAll = pullAll; - lodash2.pullAllBy = pullAllBy; - lodash2.pullAllWith = pullAllWith; - lodash2.pullAt = pullAt; - lodash2.range = range; - lodash2.rangeRight = rangeRight; - lodash2.rearg = rearg; - lodash2.reject = reject; - lodash2.remove = remove; - lodash2.rest = rest; - lodash2.reverse = reverse; - lodash2.sampleSize = sampleSize; - lodash2.set = set; - lodash2.setWith = setWith; - lodash2.shuffle = shuffle; - lodash2.slice = slice; - lodash2.sortBy = sortBy; - lodash2.sortedUniq = sortedUniq; - lodash2.sortedUniqBy = sortedUniqBy; - lodash2.split = split; - lodash2.spread = spread3; - lodash2.tail = tail; - lodash2.take = take; - lodash2.takeRight = takeRight; - lodash2.takeRightWhile = takeRightWhile; - lodash2.takeWhile = takeWhile; - lodash2.tap = tap; - lodash2.throttle = throttle2; - lodash2.thru = thru; - lodash2.toArray = toArray2; - lodash2.toPairs = toPairs; - lodash2.toPairsIn = toPairsIn; - lodash2.toPath = toPath; - lodash2.toPlainObject = toPlainObject; - lodash2.transform = transform; - lodash2.unary = unary; - lodash2.union = union; - lodash2.unionBy = unionBy; - lodash2.unionWith = unionWith; - lodash2.uniq = uniq; - lodash2.uniqBy = uniqBy; - lodash2.uniqWith = uniqWith; - lodash2.unset = unset; - lodash2.unzip = unzip; - lodash2.unzipWith = unzipWith; - lodash2.update = update; - lodash2.updateWith = updateWith; - lodash2.values = values; - lodash2.valuesIn = valuesIn; - lodash2.without = without; - lodash2.words = words; - lodash2.wrap = wrap; - lodash2.xor = xor; - lodash2.xorBy = xorBy; - lodash2.xorWith = xorWith; - lodash2.zip = zip; - lodash2.zipObject = zipObject; - lodash2.zipObjectDeep = zipObjectDeep; - lodash2.zipWith = zipWith; - lodash2.entries = toPairs; - lodash2.entriesIn = toPairsIn; - lodash2.extend = assignIn; - lodash2.extendWith = assignInWith; - mixin(lodash2, lodash2); - lodash2.add = add; - lodash2.attempt = attempt; - lodash2.camelCase = camelCase; - lodash2.capitalize = capitalize; - lodash2.ceil = ceil; - lodash2.clamp = clamp; - lodash2.clone = clone; - lodash2.cloneDeep = cloneDeep; - lodash2.cloneDeepWith = cloneDeepWith; - lodash2.cloneWith = cloneWith; - lodash2.conformsTo = conformsTo; - lodash2.deburr = deburr; - lodash2.defaultTo = defaultTo; - lodash2.divide = divide; - lodash2.endsWith = endsWith2; - lodash2.eq = eq; - lodash2.escape = escape2; - lodash2.escapeRegExp = escapeRegExp; - lodash2.every = every; - lodash2.find = find; - lodash2.findIndex = findIndex; - lodash2.findKey = findKey2; - lodash2.findLast = findLast; - lodash2.findLastIndex = findLastIndex; - lodash2.findLastKey = findLastKey; - lodash2.floor = floor; - lodash2.forEach = forEach2; - lodash2.forEachRight = forEachRight; - lodash2.forIn = forIn; - lodash2.forInRight = forInRight; - lodash2.forOwn = forOwn; - lodash2.forOwnRight = forOwnRight; - lodash2.get = get; - lodash2.gt = gt; - lodash2.gte = gte; - lodash2.has = has; - lodash2.hasIn = hasIn; - lodash2.head = head; - lodash2.identity = identity; - lodash2.includes = includes; - lodash2.indexOf = indexOf; - lodash2.inRange = inRange; - lodash2.invoke = invoke; - lodash2.isArguments = isArguments; - lodash2.isArray = isArray3; - lodash2.isArrayBuffer = isArrayBuffer2; - lodash2.isArrayLike = isArrayLike; - lodash2.isArrayLikeObject = isArrayLikeObject; - lodash2.isBoolean = isBoolean3; - lodash2.isBuffer = isBuffer2; - lodash2.isDate = isDate2; - lodash2.isElement = isElement; - lodash2.isEmpty = isEmpty2; - lodash2.isEqual = isEqual; - lodash2.isEqualWith = isEqualWith; - lodash2.isError = isError; - lodash2.isFinite = isFinite2; - lodash2.isFunction = isFunction2; - lodash2.isInteger = isInteger; - lodash2.isLength = isLength; - lodash2.isMap = isMap; - lodash2.isMatch = isMatch; - lodash2.isMatchWith = isMatchWith; - lodash2.isNaN = isNaN2; - lodash2.isNative = isNative; - lodash2.isNil = isNil; - lodash2.isNull = isNull2; - lodash2.isNumber = isNumber3; - lodash2.isObject = isObject4; - lodash2.isObjectLike = isObjectLike; - lodash2.isPlainObject = isPlainObject2; - lodash2.isRegExp = isRegExp2; - lodash2.isSafeInteger = isSafeInteger; - lodash2.isSet = isSet; - lodash2.isString = isString3; - lodash2.isSymbol = isSymbol; - lodash2.isTypedArray = isTypedArray2; - lodash2.isUndefined = isUndefined2; - lodash2.isWeakMap = isWeakMap; - lodash2.isWeakSet = isWeakSet; - lodash2.join = join2; - lodash2.kebabCase = kebabCase; - lodash2.last = last; - lodash2.lastIndexOf = lastIndexOf; - lodash2.lowerCase = lowerCase; - lodash2.lowerFirst = lowerFirst; - lodash2.lt = lt; - lodash2.lte = lte; - lodash2.max = max; - lodash2.maxBy = maxBy; - lodash2.mean = mean; - lodash2.meanBy = meanBy; - lodash2.min = min; - lodash2.minBy = minBy; - lodash2.stubArray = stubArray; - lodash2.stubFalse = stubFalse; - lodash2.stubObject = stubObject; - lodash2.stubString = stubString; - lodash2.stubTrue = stubTrue; - lodash2.multiply = multiply; - lodash2.nth = nth; - lodash2.noConflict = noConflict; - lodash2.noop = noop2; - lodash2.now = now; - lodash2.pad = pad; - lodash2.padEnd = padEnd; - lodash2.padStart = padStart; - lodash2.parseInt = parseInt2; - lodash2.random = random2; - lodash2.reduce = reduce; - lodash2.reduceRight = reduceRight; - lodash2.repeat = repeat2; - lodash2.replace = replace; - lodash2.result = result; - lodash2.round = round; - lodash2.runInContext = runInContext2; - lodash2.sample = sample; - lodash2.size = size; - lodash2.snakeCase = snakeCase; - lodash2.some = some; - lodash2.sortedIndex = sortedIndex; - lodash2.sortedIndexBy = sortedIndexBy; - lodash2.sortedIndexOf = sortedIndexOf; - lodash2.sortedLastIndex = sortedLastIndex; - lodash2.sortedLastIndexBy = sortedLastIndexBy; - lodash2.sortedLastIndexOf = sortedLastIndexOf; - lodash2.startCase = startCase; - lodash2.startsWith = startsWith; - lodash2.subtract = subtract; - lodash2.sum = sum; - lodash2.sumBy = sumBy; - lodash2.template = template; - lodash2.times = times; - lodash2.toFinite = toFinite; - lodash2.toInteger = toInteger; - lodash2.toLength = toLength; - lodash2.toLower = toLower; - lodash2.toNumber = toNumber; - lodash2.toSafeInteger = toSafeInteger; - lodash2.toString = toString3; - lodash2.toUpper = toUpper; - lodash2.trim = trim2; - lodash2.trimEnd = trimEnd; - lodash2.trimStart = trimStart; - lodash2.truncate = truncate; - lodash2.unescape = unescape2; - lodash2.uniqueId = uniqueId; - lodash2.upperCase = upperCase; - lodash2.upperFirst = upperFirst; - lodash2.each = forEach2; - lodash2.eachRight = forEachRight; - lodash2.first = head; - mixin(lodash2, function() { - var source2 = {}; - baseForOwn(lodash2, function(func, methodName) { - if (!hasOwnProperty2.call(lodash2.prototype, methodName)) { - source2[methodName] = func; - } - }); - return source2; - }(), { "chain": false }); - lodash2.VERSION = VERSION3; - arrayEach(["bind", "bindKey", "curry", "curryRight", "partial", "partialRight"], function(methodName) { - lodash2[methodName].placeholder = lodash2; - }); - arrayEach(["drop", "take"], function(methodName, index) { - LazyWrapper.prototype[methodName] = function(n) { - n = n === undefined2 ? 1 : nativeMax(toInteger(n), 0); - var result2 = this.__filtered__ && !index ? new LazyWrapper(this) : this.clone(); - if (result2.__filtered__) { - result2.__takeCount__ = nativeMin(n, result2.__takeCount__); - } else { - result2.__views__.push({ - "size": nativeMin(n, MAX_ARRAY_LENGTH), - "type": methodName + (result2.__dir__ < 0 ? "Right" : "") - }); - } - return result2; - }; - LazyWrapper.prototype[methodName + "Right"] = function(n) { - return this.reverse()[methodName](n).reverse(); - }; - }); - arrayEach(["filter", "map", "takeWhile"], function(methodName, index) { - var type = index + 1, isFilter = type == LAZY_FILTER_FLAG || type == LAZY_WHILE_FLAG; - LazyWrapper.prototype[methodName] = function(iteratee2) { - var result2 = this.clone(); - result2.__iteratees__.push({ - "iteratee": getIteratee(iteratee2, 3), - "type": type - }); - result2.__filtered__ = result2.__filtered__ || isFilter; - return result2; - }; - }); - arrayEach(["head", "last"], function(methodName, index) { - var takeName = "take" + (index ? "Right" : ""); - LazyWrapper.prototype[methodName] = function() { - return this[takeName](1).value()[0]; - }; - }); - arrayEach(["initial", "tail"], function(methodName, index) { - var dropName = "drop" + (index ? "" : "Right"); - LazyWrapper.prototype[methodName] = function() { - return this.__filtered__ ? new LazyWrapper(this) : this[dropName](1); - }; - }); - LazyWrapper.prototype.compact = function() { - return this.filter(identity); - }; - LazyWrapper.prototype.find = function(predicate) { - return this.filter(predicate).head(); - }; - LazyWrapper.prototype.findLast = function(predicate) { - return this.reverse().find(predicate); - }; - LazyWrapper.prototype.invokeMap = baseRest(function(path4, args2) { - if (typeof path4 == "function") { - return new LazyWrapper(this); - } - return this.map(function(value) { - return baseInvoke(value, path4, args2); - }); - }); - LazyWrapper.prototype.reject = function(predicate) { - return this.filter(negate(getIteratee(predicate))); - }; - LazyWrapper.prototype.slice = function(start, end) { - start = toInteger(start); - var result2 = this; - if (result2.__filtered__ && (start > 0 || end < 0)) { - return new LazyWrapper(result2); - } - if (start < 0) { - result2 = result2.takeRight(-start); - } else if (start) { - result2 = result2.drop(start); - } - if (end !== undefined2) { - end = toInteger(end); - result2 = end < 0 ? result2.dropRight(-end) : result2.take(end - start); - } - return result2; - }; - LazyWrapper.prototype.takeRightWhile = function(predicate) { - return this.reverse().takeWhile(predicate).reverse(); - }; - LazyWrapper.prototype.toArray = function() { - return this.take(MAX_ARRAY_LENGTH); - }; - baseForOwn(LazyWrapper.prototype, function(func, methodName) { - var checkIteratee = /^(?:filter|find|map|reject)|While$/.test(methodName), isTaker = /^(?:head|last)$/.test(methodName), lodashFunc = lodash2[isTaker ? "take" + (methodName == "last" ? "Right" : "") : methodName], retUnwrapped = isTaker || /^find/.test(methodName); - if (!lodashFunc) { - return; - } - lodash2.prototype[methodName] = function() { - var value = this.__wrapped__, args2 = isTaker ? [1] : arguments, isLazy = value instanceof LazyWrapper, iteratee2 = args2[0], useLazy = isLazy || isArray3(value); - var interceptor = function(value2) { - var result3 = lodashFunc.apply(lodash2, arrayPush([value2], args2)); - return isTaker && chainAll ? result3[0] : result3; - }; - if (useLazy && checkIteratee && typeof iteratee2 == "function" && iteratee2.length != 1) { - isLazy = useLazy = false; - } - var chainAll = this.__chain__, isHybrid = !!this.__actions__.length, isUnwrapped = retUnwrapped && !chainAll, onlyLazy = isLazy && !isHybrid; - if (!retUnwrapped && useLazy) { - value = onlyLazy ? value : new LazyWrapper(this); - var result2 = func.apply(value, args2); - result2.__actions__.push({ "func": thru, "args": [interceptor], "thisArg": undefined2 }); - return new LodashWrapper(result2, chainAll); - } - if (isUnwrapped && onlyLazy) { - return func.apply(this, args2); - } - result2 = this.thru(interceptor); - return isUnwrapped ? isTaker ? result2.value()[0] : result2.value() : result2; - }; - }); - arrayEach(["pop", "push", "shift", "sort", "splice", "unshift"], function(methodName) { - var func = arrayProto[methodName], chainName = /^(?:push|sort|unshift)$/.test(methodName) ? "tap" : "thru", retUnwrapped = /^(?:pop|shift)$/.test(methodName); - lodash2.prototype[methodName] = function() { - var args2 = arguments; - if (retUnwrapped && !this.__chain__) { - var value = this.value(); - return func.apply(isArray3(value) ? value : [], args2); - } - return this[chainName](function(value2) { - return func.apply(isArray3(value2) ? value2 : [], args2); - }); - }; - }); - baseForOwn(LazyWrapper.prototype, function(func, methodName) { - var lodashFunc = lodash2[methodName]; - if (lodashFunc) { - var key = lodashFunc.name + ""; - if (!hasOwnProperty2.call(realNames, key)) { - realNames[key] = []; - } - realNames[key].push({ "name": methodName, "func": lodashFunc }); - } - }); - realNames[createHybrid(undefined2, WRAP_BIND_KEY_FLAG).name] = [{ - "name": "wrapper", - "func": undefined2 - }]; - LazyWrapper.prototype.clone = lazyClone; - LazyWrapper.prototype.reverse = lazyReverse; - LazyWrapper.prototype.value = lazyValue; - lodash2.prototype.at = wrapperAt; - lodash2.prototype.chain = wrapperChain; - lodash2.prototype.commit = wrapperCommit; - lodash2.prototype.next = wrapperNext; - lodash2.prototype.plant = wrapperPlant; - lodash2.prototype.reverse = wrapperReverse; - lodash2.prototype.toJSON = lodash2.prototype.valueOf = lodash2.prototype.value = wrapperValue; - lodash2.prototype.first = lodash2.prototype.head; - if (symIterator) { - lodash2.prototype[symIterator] = wrapperToIterator; - } - return lodash2; - }; - var _ = runInContext(); - if (typeof define == "function" && typeof define.amd == "object" && define.amd) { - root._ = _; - define(function() { - return _; - }); - } else if (freeModule) { - (freeModule.exports = _)._ = _; - freeExports._ = _; - } else { - root._ = _; - } - }).call(exports2); - } -}); - -// server/Modules/system/auth/auth.service.js -var getHashedPassword, checkCredentials; -var init_auth_service = __esm({ - "server/Modules/system/auth/auth.service.js"() { - init_server(); - getHashedPassword = (password) => { - const sha256 = crypto.createHash("sha256"); - return sha256.update(password).digest("base64"); - }; - checkCredentials = async (username, password) => { - const hashedPassword = getHashedPassword(password); - const success = Database.checkCredentials(username, hashedPassword); - return success ? Database.getUser(username) : false; - }; - } -}); - -// server/Utils/db.controller.js -var import_node_crypto, fs3, import_lodash, import_nolookalikes, deepClone, LowWithLodash, adapter, DatabaseController; -var init_db_controller = __esm({ - "server/Utils/db.controller.js"() { - import_node_crypto = require("node:crypto"); - fs3 = __toESM(require("fs")); - init_lib(); - init_node2(); - import_lodash = __toESM(require_lodash()); - import_nolookalikes = __toESM(require_nolookalikes()); - init_server(); - init_auth_service(); - init_globalData(); - init_UnlLogger(); - deepClone = (data) => { - return JSON.parse(JSON.stringify(data)); - }; - LowWithLodash = class extends Low { - chain = import_lodash.default.chain(this).get("data"); - }; - adapter = new JSONFile(unlEnv.configPath); - DatabaseController = class { - constructor() { - this.db = new LowWithLodash(adapter); - this.adminsFileHash = null; - } - async init() { - await this.db.read(); - if (!this.db.data) { - setSetupMode(true); - this.db.data = { - lang: "en", - user: [], - roles: [], - waypoints: [] - }; - } - if (!this.db.data.waypoints) { - this.db.data.waypoints = []; - } - this.refreshRoutine = setInterval(() => { - this.checkAdminsFile(); - }, 15e3); - } - async checkAdminsFile() { - try { - if (getSetupMode()) - return; - const jsonData = JSON.stringify(this.db.data, null, 2); - this.adminsFileHash = (0, import_node_crypto.createHash)("sha1").update(jsonData).digest("hex"); - const fileJsonData = fs3.readFileSync(unlEnv.configPath, "utf8"); - const inboundHash = (0, import_node_crypto.createHash)("sha1").update(fileJsonData).digest("hex"); - if (this.adminsFileHash !== inboundHash) { - UnlLogger.info( - "The data.json file was modified or deleted by an external source, Unlimited - Spectre will try to restore it." - ); - await this.save(); - } - } catch (e) { - UnlLogger.error(e); - await this.save(); - } - } - save() { - return this.db.write(); - } - async updateConfigValue(key, val, save = true) { - this.db.data[key] = val; - if (save) - await this.save(); - } - getConfigValue(key) { - return this.db.data[key]; - } - checkCredentials(username, password) { - return !!this.db.data.user.find( - (user) => user.name === username.toLowerCase() && user.password === password - ); - } - isUsernameUsed(username) { - return !!this.db.data.user.find( - (user) => user.name === username.toLowerCase() - ); - } - async createUser(username, password, isMaster, roleId = null, fxname = "") { - const isUsed = this.isUsernameUsed(username); - if (isUsed) - return { resCode: false, resMsg: "user_exist" }; - if (fxname !== "") { - const user = this.getUserByFx(fxname); - if (user && user.name !== username.toLowerCase()) - return { resCode: false, resMsg: "fx_used" }; - } - const hashedPassword = getHashedPassword(password); - this.db.data.user.push({ - name: username.toLowerCase(), - password: hashedPassword, - isMaster, - roleId, - fxname - }); - await this.save(); - return { resCode: true, resMsg: "success" }; - } - async updateUser(username, roleId = null, fxname = "") { - const isUsed = this.isUsernameUsed(username); - if (!isUsed) - return { resCode: false, resMsg: "user_missing" }; - if (fxname !== "") { - const user = this.getUserByFx(fxname); - if (user && user.name !== username.toLowerCase()) - return { resCode: false, resMsg: "fx_used" }; - } - this.db.chain.get("user").find({ name: username.toLowerCase() }).assign({ - roleId, - fxname - }).value(); - await this.save(); - return { resCode: true, resMsg: "success" }; - } - async updatePassword(username, password) { - const isUsed = this.isUsernameUsed(username); - if (!isUsed) - return { resCode: false, resMsg: "user_missing" }; - const hashedPassword = getHashedPassword(password); - this.db.chain.get("user").find({ name: username.toLowerCase() }).assign({ - password: hashedPassword - }).value(); - await this.save(); - return { resCode: true, resMsg: "success" }; - } - async deleteUser(username) { - const isUsed = this.isUsernameUsed(username); - if (!isUsed) - return { resCode: false, resMsg: "user_missing" }; - const curUser = this.db.data.user.find( - (user) => user.name === username.toLowerCase() - ); - if (curUser.isMaster) - return { resCode: false, resMsg: "user_master" }; - this.db.chain.get("user").remove((r) => { - return r.name === username.toLowerCase(); - }).value(); - await this.save(); - return { resCode: true, resMsg: "success" }; - } - getUser(username, removePassword = true) { - const user = deepClone( - this.db.data.user.find((user2) => user2.name === username.toLowerCase()) - ); - return this.db.data.user.find((user2) => user2.name === username.toLowerCase()); - } - getUserByFx(fxname) { - return this.db.data.user.find( - (user) => { - var _a; - return ((_a = user.fxname) == null ? void 0 : _a.toLowerCase()) === fxname.toLowerCase(); - } - ); - } - getUsers() { - const users = deepClone(this.db.data.user); - return users.map(function(user) { - delete user.password; - return user; - }); - } - isRolenameUsed(name) { - return !!this.db.data.roles.find( - (role) => role.name.toLowerCase() === name.toLowerCase() - ); - } - async createRole(name, desc, permissions, color) { - const isUsed = this.isRolenameUsed(name); - if (isUsed) - return { resCode: false, resMsg: "role_exist" }; - this.db.data.roles.push({ - name, - desc, - permissions, - color - }); - await this.save(); - return { resCode: true, resMsg: "success" }; - } - async updateRole(name, desc, permissions, color) { - const isUsed = this.isRolenameUsed(name); - if (!isUsed) - return { resCode: false, resMsg: "role_missing" }; - this.db.chain.get("roles").find({ name }).assign({ desc, permissions, color }).value(); - await this.save(); - return { resCode: true, resMsg: "success" }; - } - async deleteRole(name) { - const isUsed = this.isRolenameUsed(name); - if (!isUsed) - return { resCode: false, resMsg: "role_missing" }; - this.db.chain.get("roles").remove((r) => { - return r.name === name; - }).value(); - this.db.chain.get("user").find({ roleId: name }).assign({ roleId: null }).value(); - await this.save(); - return { resCode: true, resMsg: "success" }; - } - getRole(name) { - return this.db.data.roles.find((role) => role.name === name); - } - getRoles() { - return this.db.data.roles; - } - hasNote(cId) { - return !!this.db.data.notes.find((note) => note.cId === cId); - } - getNote(cId) { - var _a; - if (!this.db.data.notes) - return ""; - return (_a = this.db.data.notes.find((note) => note.cId === cId)) == null ? void 0 : _a.note; - } - async saveNote(cId, note) { - if (!this.db.data.notes) - this.db.data.notes = []; - if (!this.hasNote(cId) && note !== "") { - this.db.data.notes.push({ - cId, - note - }); - } else if (note === "") { - this.db.chain.get("notes").remove((r) => { - return r.cId === cId; - }).value(); - } else { - this.db.chain.get("notes").find({ cId }).assign({ note }).value(); - } - await this.save(); - return { resCode: true, resMsg: "success" }; - } - isWaypointNameUsed(name) { - return !!this.db.data.waypoints.find( - (waypoint) => waypoint.name.toLowerCase() === name.toLowerCase() - ); - } - async createWaypoint(name, label, coords) { - const isUsed = this.isWaypointNameUsed(name); - if (isUsed) - return { resCode: false, resMsg: "waypoint_exist" }; - this.db.data.waypoints.push({ - name, - label, - coords - }); - await this.save(); - return { resCode: true, resMsg: "success" }; - } - async updateWaypoint(name, label, coords) { - const isUsed = this.isWaypointNameUsed(name); - if (!isUsed) - return { resCode: false, resMsg: "waypoint_missing" }; - this.db.chain.get("waypoints").find({ name }).assign({ label, coords }).value(); - await this.save(); - return { resCode: true, resMsg: "success" }; - } - async deleteWaypoint(name) { - const isUsed = this.isWaypointNameUsed(name); - if (!isUsed) - return { resCode: false, resMsg: "waypoint_missing" }; - this.db.chain.get("waypoints").remove((r) => { - return r.name === name; - }).value(); - await this.save(); - return { resCode: true, resMsg: "success" }; - } - getWaypoint(name) { - return this.db.data.waypoints.find( - (waypoint) => waypoint.name.toLowerCase() === name.toLowerCase() - ); - } - getWaypoints() { - return this.db.data.waypoints; - } - }; - } -}); - -// server/Utils/lua.format.js -var import_lodash2, formatLuaString, valueKeys, formatLuaKey, format; -var init_lua_format = __esm({ - "server/Utils/lua.format.js"() { - import_lodash2 = __toESM(require_lodash()); - formatLuaString = (string, singleQuote) => { - if (string[0] === "`" && string[string.length - 1] === "`") - return `${string.replace(/'/g, "\\'")}`; - return singleQuote ? `'${string.replace(/'/g, "\\'")}'` : `"${string.replace(/"/g, '\\"')}"`; - }; - valueKeys = { false: "false", true: "true", null: "nil" }; - formatLuaKey = (string, singleQuote) => valueKeys[string] ? `[${valueKeys[string]}]` : string.match(/^[a-zA-Z_][a-zA-Z_0-9]*$/) ? string : `[${formatLuaString(string, singleQuote)}]`; - format = (value, options = { eol: "\n", singleQuote: true, spaces: 2 }) => { - options = options || {}; - const eol = options.eol = (0, import_lodash2.isString)(options.eol) ? options.eol : "\n"; - options.singleQuote = (0, import_lodash2.isBoolean)(options.singleQuote) ? options.singleQuote : true; - options.spaces = (0, import_lodash2.isNull)(options.spaces) || (0, import_lodash2.isNumber)(options.spaces) || (0, import_lodash2.isString)(options.spaces) ? options.spaces : 2; - const rec = (value2, i = 0) => { - if ((0, import_lodash2.isNull)(value2)) { - return "nil"; - } - if ((0, import_lodash2.isBoolean)(value2) || (0, import_lodash2.isNumber)(value2)) { - return value2.toString(); - } - if ((0, import_lodash2.isString)(value2)) { - return formatLuaString(value2, options.singleQuote); - } - if ((0, import_lodash2.isArray)(value2)) { - if ((0, import_lodash2.isEmpty)(value2)) { - return "{}"; - } - if (options.spaces) { - const spaces = (0, import_lodash2.isNumber)(options.spaces) ? (0, import_lodash2.repeat)(" ", options.spaces * (i + 1)) : (0, import_lodash2.repeat)(options.spaces, i + 1); - const spacesEnd = (0, import_lodash2.isNumber)(options.spaces) ? (0, import_lodash2.repeat)(" ", options.spaces * i) : (0, import_lodash2.repeat)(options.spaces, i); - return `{${eol}${value2.map((e) => `${spaces}${rec(e, i + 1)},`).join(eol)}${eol}${spacesEnd}}`; - } - return `{${value2.map((e) => `${rec(e, i + 1)},`).join("")}}`; - } - if ((0, import_lodash2.isObject)(value2)) { - if ((0, import_lodash2.isEmpty)(value2)) { - return "{}"; - } - if (options.spaces) { - const spaces = (0, import_lodash2.isNumber)(options.spaces) ? (0, import_lodash2.repeat)(" ", options.spaces * (i + 1)) : (0, import_lodash2.repeat)(options.spaces, i + 1); - const spacesEnd = (0, import_lodash2.isNumber)(options.spaces) ? (0, import_lodash2.repeat)(" ", options.spaces * i) : (0, import_lodash2.repeat)(options.spaces, i); - return `{${eol}${(0, import_lodash2.keys)(value2).map( - (key) => `${spaces}${formatLuaKey(key, options.singleQuote)} = ${rec( - value2[key], - i + 1 - )},` - ).join(eol)}${eol}${spacesEnd}}`; - } - return `{${(0, import_lodash2.keys)(value2).map( - (key) => `${formatLuaKey(key, options.singleQuote)}=${rec( - value2[key], - i + 1 - )},` - ).join("")}}`; - } - throw new Error(`can't format ${typeof value2}`); - }; - return `${options.spaces ? " " : ""}${rec(value)}`; - }; - } -}); - -// server/Game/GameController.js -var import_fs, GameController; -var init_GameController = __esm({ - "server/Game/GameController.js"() { - import_fs = __toESM(require("fs")); - init_globalData(); - init_lua_format(); - init_UnlLogger(); - GameController = class { - constructor() { - this.QBCore = global.exports[unlEnv.unlQBName].GetCoreObject(); - this.Items = global.exports[unlEnv.resourceName].loadSharedFile( - unlEnv.unlQBName, - "items", - `${unlEnv.unlQBShared}.Items` - ); - UnlLogger.info("Successfully loaded Items", { discord: false }); - let TempJobs = global.exports[unlEnv.resourceName].loadSharedFile( - unlEnv.unlQBName, - "jobs", - unlEnv.unlQBShared - ); - this.Jobs = TempJobs.Jobs; - this.ForceJobDefaultDutyAtLogin = TempJobs.ForceJobDefaultDutyAtLogin; - TempJobs = null; - UnlLogger.info("Successfully loaded Jobs", { discord: false }); - this.Gangs = global.exports[unlEnv.resourceName].loadSharedFile( - unlEnv.unlQBName, - "gangs", - `${unlEnv.unlQBShared}.Gangs` - ); - UnlLogger.info("Successfully loaded Gangs", { discord: false }); - this.Vehicles = global.exports[unlEnv.resourceName].loadSharedFile( - unlEnv.unlQBName, - "vehicles", - `${unlEnv.unlQBShared}.Vehicles` - ); - UnlLogger.info("Successfully loaded Vehicles", { discord: false }); - UnlLogger.info("Successfully started GameController", { discord: false }); - } - updateQBCore() { - this.QBCore = global.exports[unlEnv.unlQBName].GetCoreObject(); - } - getItem(itemId) { - return this.Items[itemId]; - } - getItems() { - return this.Items; - } - async updateItem(itemName, item) { - let [resCodeQB, resMsgQB] = global.exports[unlEnv.unlQBName].UpdateItem( - itemName.toLowerCase(), - item - ); - if (!resCodeQB) - return { resCode: resCodeQB, resMsg: resMsgQB }; - this.Items[itemName.toLowerCase()] = item; - const { resCode, resMsg } = await this.saveItems(); - return { resCode, resMsg }; - } - async addItem(itemName, item) { - const [resCodeQB, resMsgQB] = global.exports[unlEnv.unlQBName].AddItem( - itemName.toLowerCase(), - item - ); - if (!resCodeQB) - return { resCode: resCodeQB, resMsg: resMsgQB }; - this.Items[itemName.toLowerCase()] = item; - const { resCode, resMsg } = await this.saveItems(); - return { resCode, resMsg }; - } - async deleteItem(itemName) { - const [resCodeQB, resMsgQB] = global.exports[unlEnv.unlQBName].RemoveItem( - itemName.toLowerCase() - ); - if (!resCodeQB) - return { resCode: resCodeQB, resMsg: resMsgQB }; - delete this.Items[itemName.toLowerCase()]; - const { resCode, resMsg } = await this.saveItems(); - return { resCode, resMsg }; - } - getJob(jobId) { - return this.Jobs[jobId]; - } - getJobs() { - return this.Jobs; - } - async updateJob(jobName, job) { - let [resCodeQB, resMsgQB] = global.exports[unlEnv.unlQBName].UpdateJob( - jobName.toLowerCase(), - job - ); - if (!resCodeQB) - return { resCode: resCodeQB, resMsg: resMsgQB }; - this.Jobs[jobName.toLowerCase()] = job; - const { resCode, resMsg } = await this.saveJobs(); - return { resCode, resMsg }; - } - async addJob(jobName, job) { - let [resCodeQB, resMsgQB] = global.exports[unlEnv.unlQBName].AddJob( - jobName.toLowerCase(), - job - ); - if (!resCodeQB) - return { resCode: resCodeQB, resMsg: resMsgQB }; - delete job.name; - this.Jobs[jobName.toLowerCase()] = job; - const { resCode, resMsg } = await this.saveJobs(); - return { resCode, resMsg }; - } - async deleteJob(jobName) { - let [resCodeQB, resMsgQB] = global.exports[unlEnv.unlQBName].RemoveJob( - jobName.toLowerCase() - ); - if (!resCodeQB) - return { resCode: resCodeQB, resMsg: resMsgQB }; - delete this.Jobs[jobName.toLowerCase()]; - const { resCode, resMsg } = await this.saveJobs(); - return { resCode, resMsg }; - } - getGang(gangId) { - return this.Gangs[gangId]; - } - getGangs() { - return this.Gangs; - } - async updateGang(gangName, gang) { - let [resCodeQB, resMsgQB] = global.exports[unlEnv.unlQBName].UpdateGang( - gangName.toLowerCase(), - gang - ); - if (!resCodeQB) - return { resCode: resCodeQB, resMsg: resMsgQB }; - this.Gangs[gangName.toLowerCase()] = gang; - const { resCode, resMsg } = await this.saveGangs(); - return { resCode, resMsg }; - } - async addGang(gangName, gang) { - let [resCodeQB, resMsgQB] = global.exports[unlEnv.unlQBName].AddGang( - gangName.toLowerCase(), - gang - ); - if (!resCodeQB) - return { resCode: resCodeQB, resMsg: resMsgQB }; - delete gang.name; - this.Gangs[gangName.toLowerCase()] = gang; - const { resCode, resMsg } = await this.saveGangs(); - return { resCode, resMsg }; - } - async deleteGang(gangName) { - let [resCodeQB, resMsgQB] = global.exports[unlEnv.unlQBName].RemoveGang( - gangName.toLowerCase() - ); - if (!resCodeQB) - return { resCode: resCodeQB, resMsg: resMsgQB }; - delete this.Gangs[gangName.toLowerCase()]; - const { resCode, resMsg } = await this.saveGangs(); - return { resCode, resMsg }; - } - getPlayers() { - return this.QBCore.Functions.GetPlayers(); - } - getVehicle(vehicleId) { - return this.Vehicles[vehicleId]; - } - getVehicles() { - return this.Vehicles; - } - async updateVehicle(vehName, veh) { - let [resCodeQB, resMsgQB] = this.QBCore.Functions.UpdateVehicle( - vehName.toLowerCase(), - veh - ); - if (!resCodeQB) - return { resCode: resCodeQB, resMsg: resMsgQB }; - veh.hash = GetHashKey(vehName); - this.Vehicles[vehName.toLowerCase()] = veh; - const { resCode, resMsg } = await this.saveVehicles(); - return { resCode, resMsg }; - } - async addVehicle(vehName, veh) { - let [resCodeQB, resMsgQB] = this.QBCore.Functions.AddVehicle( - vehName.toLowerCase(), - veh - ); - if (!resCodeQB) - return { resCode: resCodeQB, resMsg: resMsgQB }; - veh.hash = GetHashKey(vehName); - this.Vehicles[vehName.toLowerCase()] = veh; - const { resCode, resMsg } = await this.saveVehicles(); - return { resCode, resMsg }; - } - async deleteVehicle(vehName) { - let [resCodeQB, resMsgQB] = this.QBCore.Functions.RemoveVehicle( - vehName.toLowerCase() - ); - if (!resCodeQB) - return { resCode: resCodeQB, resMsg: resMsgQB }; - delete this.Vehicles[vehName.toLowerCase()]; - const { resCode, resMsg } = await this.saveVehicles(); - return { resCode, resMsg }; - } - async saveItems() { - try { - await import_fs.default.promises.writeFile( - `${qbEnv.qbPath}/shared/items.lua`, - `${unlEnv.unlQBShared} = ${unlEnv.unlQBShared} or {} - -${unlEnv.unlQBShared}.Items = ${format(this.Items)}` - ); - return { resCode: true, resMsg: "success" }; - } catch (e) { - UnlLogger.error(e); - return { resCode: false, resMsg: "file_error" }; - } - } - async saveJobs() { - try { - await import_fs.default.promises.writeFile( - `${qbEnv.qbPath}/shared/jobs.lua`, - `${unlEnv.unlQBShared} = ${unlEnv.unlQBShared} or {} -${unlEnv.unlQBShared}.ForceJobDefaultDutyAtLogin = ${this.ForceJobDefaultDutyAtLogin} -- true: Force duty state to jobdefaultDuty | false: set duty state from database last saved - -${unlEnv.unlQBShared}.Jobs = ${format(this.Jobs)}` - ); - return { resCode: true, resMsg: "success" }; - } catch (e) { - UnlLogger.error(e); - return { resCode: false, resMsg: "file_error" }; - } - } - async saveGangs() { - try { - await import_fs.default.promises.writeFile( - `${qbEnv.qbPath}/shared/gangs.lua`, - `${unlEnv.unlQBShared} = ${unlEnv.unlQBShared} or {} - -${unlEnv.unlQBShared}.Gangs = ${format(this.Gangs)}` - ); - return { resCode: true, resMsg: "success" }; - } catch (e) { - UnlLogger.error(e); - return { resCode: false, resMsg: "file_error" }; - } - } - async saveVehicles() { - try { - const tmpVeh = JSON.parse(JSON.stringify(this.Vehicles)); - for (const [key, value] of Object.entries(tmpVeh)) { - value.hash = "`" + key + "`"; - } - await import_fs.default.promises.writeFile( - `${qbEnv.qbPath}/shared/vehicles.lua`, - `${unlEnv.unlQBShared} = ${unlEnv.unlQBShared} or {} -${unlEnv.unlQBShared}.VehicleHashes = {} - -${unlEnv.unlQBShared}.Vehicles = ${format( - tmpVeh - )} - -for _, v in pairs(${unlEnv.unlQBShared}.Vehicles) do - ${unlEnv.unlQBShared}.VehicleHashes[v.hash] = v -end -` - ); - return { resCode: true, resMsg: "success" }; - } catch (e) { - UnlLogger.error(e); - return { resCode: false, resMsg: "file_error" }; - } - } - }; - } -}); - -// server/Game/PlayerController.js -var PlayerController; -var init_PlayerController = __esm({ - "server/Game/PlayerController.js"() { - init_server(); - init_UnlLogger(); - PlayerController = class { - constructor() { - UnlLogger.info("Successfully started PlayerController", { discord: false }); - } - GetLiveMapPlayer() { - const playerSources = Game.getPlayers(); - let playerObject = []; - playerSources.forEach((src) => { - const ped = GetPlayerPed(src); - const coords = GetEntityCoords(ped, false); - const QBPlayer = Game.QBCore.Functions.GetPlayer(src); - const name = `${QBPlayer.PlayerData.charinfo.firstname} ${QBPlayer.PlayerData.charinfo.lastname}`; - playerObject.push({ - source: src, - name, - coords: { x: coords[0], y: coords[1] }, - citizenid: QBPlayer.PlayerData.citizenid - }); - }); - return playerObject; - } - }; - } -}); - -// node_modules/@overextended/oxmysql/MySQL.js -var require_MySQL = __commonJS({ - "node_modules/@overextended/oxmysql/MySQL.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.oxmysql = void 0; - var QueryStore = []; - function assert(condition, message2) { - if (!condition) - throw new TypeError(message2); - } - var safeArgs = (query, params, cb, transaction) => { - if (typeof query === "number") - query = QueryStore[query]; - if (transaction) { - assert(typeof query === "object", `First argument expected object, recieved ${typeof query}`); - } else { - assert(typeof query === "string", `First argument expected string, received ${typeof query}`); - } - if (params) { - const paramType = typeof params; - assert(paramType === "object" || paramType === "function", `Second argument expected object or function, received ${paramType}`); - if (!cb && paramType === "function") { - cb = params; - params = void 0; - } - } - if (cb !== void 0) - assert(typeof cb === "function", `Third argument expected function, received ${typeof cb}`); - return [query, params, cb]; - }; - var exp = global.exports.oxmysql; - var currentResourceName = GetCurrentResourceName(); - function execute(method, query, params) { - return new Promise((resolve, reject) => { - exp[method](query, params, (result, error) => { - if (error) - return reject(error); - resolve(result); - }, currentResourceName, true); - }); - } - exports2.oxmysql = { - store(query) { - assert(typeof query !== "string", `Query expects a string, received ${typeof query}`); - return QueryStore.push(query); - }, - ready(callback) { - setImmediate(async () => { - while (GetResourceState("oxmysql") !== "started") - await new Promise((resolve) => setTimeout(resolve, 50)); - callback(); - }); - }, - async query(query, params, cb) { - [query, params, cb] = safeArgs(query, params, cb); - const result = await execute("query", query, params); - return cb ? cb(result) : result; - }, - async single(query, params, cb) { - [query, params, cb] = safeArgs(query, params, cb); - const result = await execute("single", query, params); - return cb ? cb(result) : result; - }, - async scalar(query, params, cb) { - [query, params, cb] = safeArgs(query, params, cb); - const result = await execute("scalar", query, params); - return cb ? cb(result) : result; - }, - async update(query, params, cb) { - [query, params, cb] = safeArgs(query, params, cb); - const result = await execute("update", query, params); - return cb ? cb(result) : result; - }, - async insert(query, params, cb) { - [query, params, cb] = safeArgs(query, params, cb); - const result = await execute("insert", query, params); - return cb ? cb(result) : result; - }, - async prepare(query, params, cb) { - [query, params, cb] = safeArgs(query, params, cb); - const result = await execute("prepare", query, params); - return cb ? cb(result) : result; - }, - async transaction(query, params, cb) { - [query, params, cb] = safeArgs(query, params, cb, true); - const result = await execute("transaction", query, params); - return cb ? cb(result) : result; - } - }; - } -}); - -// server/Modules/game/vehicle/vehicle.service.js -var import_oxmysql, getOwnedVehiclesPartial, getPlayerOwnedVehiclesPartial, getDatabaseVehicleCount, getPlayerDatabaseVehicleCount, getVehicleByPlate, getVehicleById, updateVehicleOwner, updateVehicleField, repairVehicle, deleteVehicleDataset, updateVehiclePlate, createPlayerVehicle; -var init_vehicle_service = __esm({ - "server/Modules/game/vehicle/vehicle.service.js"() { - import_oxmysql = __toESM(require_MySQL()); - init_globalData(); - init_UnlLogger(); - getOwnedVehiclesPartial = async (start, count, filter2, orderBy, desc) => { - const DESC = desc ? "DESC" : "ASC"; - const query = `SELECT id, plate, vehicle, engine, body, fuel, citizenid FROM player_vehicles WHERE license LIKE ? or citizenid LIKE ? or plate LIKE ? or garage LIKE ? or vehicle LIKE ? ORDER BY ${orderBy} ${DESC} LIMIT ?, ?`; - return await import_oxmysql.oxmysql.query(query, [ - `%${filter2}%`, - `%${filter2}%`, - `%${filter2}%`, - `%${filter2}%`, - `%${filter2}%`, - start, - count - ]); - }; - getPlayerOwnedVehiclesPartial = async (start, count, filter2, orderBy, desc, citizenid) => { - const DESC = desc ? "DESC" : "ASC"; - const query = `SELECT id, plate, vehicle, engine, body, fuel, citizenid FROM player_vehicles WHERE citizenid = ? AND (plate LIKE ? or garage LIKE ?) ORDER BY ${orderBy} ${DESC} LIMIT ?, ?`; - return await import_oxmysql.oxmysql.query(query, [ - citizenid, - `%${filter2}%`, - `%${filter2}%`, - start, - count - ]); - }; - getDatabaseVehicleCount = async (filter2) => { - return await import_oxmysql.oxmysql.query( - "SELECT count(*) as count FROM player_vehicles WHERE license LIKE ? or citizenid LIKE ? or plate LIKE ?", - [`%${filter2}%`, `%${filter2}%`, `%${filter2}%`] - ); - }; - getPlayerDatabaseVehicleCount = async (citizenid, filter2) => { - return await import_oxmysql.oxmysql.query( - "SELECT count(*) as count FROM player_vehicles WHERE citizenid = ? AND (plate LIKE ? or license LIKE ?)", - [citizenid, `%${filter2}%`, `%${filter2}%`] - ); - }; - getVehicleByPlate = async (plate) => { - return await import_oxmysql.oxmysql.query( - "SELECT id, plate FROM player_vehicles WHERE plate = ?", - [plate] - ); - }; - getVehicleById = async (id) => { - return await import_oxmysql.oxmysql.query("SELECT * FROM player_vehicles WHERE id = ?", [id]); - }; - updateVehicleOwner = async (id, citizenid, license) => { - return await import_oxmysql.oxmysql.update( - `UPDATE player_vehicles SET citizenid = ?, license = ? WHERE id = ?`, - [citizenid, license, id], - (affectedRows) => { - return !!affectedRows; - } - ); - }; - updateVehicleField = async (id, field, value) => { - return await import_oxmysql.oxmysql.update( - `UPDATE player_vehicles SET ?? = ? WHERE id = ?`, - [field, value, id], - (affectedRows) => { - return !!affectedRows; - } - ); - }; - repairVehicle = async (id) => { - return await import_oxmysql.oxmysql.update( - "UPDATE player_vehicles SET fuel = 100, body = 1000, engine = 1000 WHERE id = ?", - [id], - (affectedRows) => { - return !!affectedRows; - } - ); - }; - deleteVehicleDataset = async (id) => { - return await import_oxmysql.oxmysql.update( - "DELETE FROM player_vehicles WHERE id = ? LIMIT 1", - [id], - (affectedRows) => { - return !!affectedRows; - } - ); - }; - updateVehiclePlate = async (id, plate, newPlate) => { - const queries = [ - { - query: "UPDATE player_vehicles SET `mods` = JSON_REPLACE(`mods`, '$.plate', :newPlate), plate = :newPlate WHERE plate = :plate AND id = :id", - values: { newPlate, plate, id } - } - ]; - unlEnv.config.vehTables.forEach((veh) => { - queries.push({ - query: `UPDATE ${veh.table} SET ${veh.column} = :newPlate WHERE ${veh.column} = :plate`, - values: { newPlate, plate } - }); - }); - const success = await import_oxmysql.oxmysql.transaction(queries); - return { resCode: success, resMsg: success ? "success" : "sql_error" }; - }; - createPlayerVehicle = async (player, vehicle) => { - try { - const success = await import_oxmysql.oxmysql.insert( - "INSERT INTO player_vehicles (license, citizenid, vehicle, hash, mods, plate, garage, state) VALUES (?, ?, ?, ?, ?, ?, ?, ?)", - [ - player.PlayerData.license, - player.PlayerData.citizenid, - vehicle.model, - GetHashKey(vehicle.model), - "{}", - vehicle.plate.toUpperCase(), - vehicle.garage, - vehicle.state || 1 - ] - ); - return { resCode: success, resMsg: success ? "success" : "sql_error" }; - } catch (e) { - UnlLogger.error(e); - return { resCode: false, resMsg: "internal_error" }; - } - }; - } -}); - -// server/Game/VehicleController.js -var VehicleController; -var init_VehicleController = __esm({ - "server/Game/VehicleController.js"() { - init_UnlLogger(); - init_vehicle_service(); - VehicleController = class { - constructor() { - UnlLogger.info("Successfully started VehicleController", { - discord: false - }); - } - async GetLiveMapVehicles() { - const vehicleHandles = GetAllVehicles(); - let vehicles = []; - for (const handle of vehicleHandles) { - try { - if (!DoesEntityExist(handle)) - continue; - const plate = GetVehicleNumberPlateText(handle); - const isOwnedVehicle = await getVehicleByPlate(plate); - if (isOwnedVehicle[0]) { - const [vehX, vehY, vehZ] = GetEntityCoords(handle); - isOwnedVehicle[0].coords = { x: vehX, y: vehY }; - vehicles.push(isOwnedVehicle[0]); - } - } catch (e) { - } - } - return vehicles; - } - }; - } -}); - -// server/Interactions/exports.js -function gameLog(type, msg = "No Message") { - const res = GetInvokingResource(); - if (!types.includes(type)) { - UnlLogger.error( - `[GameLogger] Resource "${res}" called unknown log type "${type}"` - ); - return; - } - gameLogger.log(type, `[${res}] ${msg}`); -} -var import_oxmysql2, types, playerLog; -var init_exports = __esm({ - "server/Interactions/exports.js"() { - init_GameLogger(); - init_UnlLogger(); - init_PlayerLogger(); - import_oxmysql2 = __toESM(require_MySQL()); - types = ["info", "error", "warn", "debug"]; - playerLog = (cId, type, msg = "No Message") => { - const res = GetInvokingResource(); - if (!types.includes(type)) { - UnlLogger.error( - `[PlayerLogger] Resource "${res}" called unknown log type "${type}"` - ); - return; - } - import_oxmysql2.oxmysql.scalar("SELECT 1 FROM players WHERE citizenid = ?", [cId], (result) => { - if (!result) { - UnlLogger.error( - `[PlayerLogger] Resource "${res}" called player log with unused citizenId "${cId}"` - ); - return; - } - playerLogger.log(type, `[${res}][${cId}] ${msg}`); - }).catch(console.error); - }; - global.exports("GameLog", gameLog); - global.exports("PlayerLog", playerLog); - UnlLogger.info("Successfully registered Exports", { discord: false }); - } -}); - -// server/Interactions/logs.js -var WEAPONS, gotHitByPlayer, aimedAtPlayer; -var init_logs = __esm({ - "server/Interactions/logs.js"() { - init_server(); - init_UnlLogger(); - init_GameLogger(); - init_PlayerLogger(); - init_globalData(); - WEAPONS = JSON.parse( - LoadResourceFile(GetCurrentResourceName(), "hashes.json") - ); - gotHitByPlayer = (attackerSource, data) => { - if (data.damageType === 0 || data.damageType === 1) - return; - const victims = data.hitGlobalIds; - const weapon = WEAPONS[data.weaponType]; - if (!weapon) { - UnlLogger.info( - `Weapon log got triggered with unknow weapon hash ${data.weaponType}. Maybe check your hashes.json` - ); - } - const players = Game.getPlayers(); - victims.forEach((victim) => { - let victimSource = null; - let victimPed = null; - players.some((src) => { - const playerPed = GetPlayerPed(src); - const playerPedNetId = NetworkGetNetworkIdFromEntity(playerPed); - if (playerPedNetId === victim) { - victimSource = src; - victimPed = playerPed; - return true; - } - }); - if (!victimSource || !victimPed) - return; - const attackerPlayer = Game.QBCore.Functions.GetPlayer( - parseInt(attackerSource) - ); - const victimPlayer = Game.QBCore.Functions.GetPlayer(parseInt(victimSource)); - if (!victimPlayer || !attackerPlayer) { - UnlLogger.error( - `Logging player got ${willKill ? "kill" : "hit"} by triggered without victimPlayer or attackerPlayer` - ); - return; - } - const victimHealth = GetEntityHealth(victimPed); - const willKill = victimHealth - data.weaponDamage <= 100; - gameLogger.info( - `${victimPlayer.PlayerData.charinfo.firstname} ${victimPlayer.PlayerData.charinfo.lastname} got ${willKill ? "killed" : "hit"} by ${attackerPlayer.PlayerData.charinfo.firstname} ${attackerPlayer.PlayerData.charinfo.lastname} with ${weapon} causing ${data.weaponDamage} damage.`, - { discord: unlEnv.config.excludeWeaponLogsFromDiscord === "false" } - ); - playerLogger.info( - `[${victimPlayer.PlayerData.citizenid}] Got ${willKill ? "killed" : "hit"} by ${attackerPlayer.PlayerData.charinfo.firstname} ${attackerPlayer.PlayerData.charinfo.lastname} (${attackerPlayer.PlayerData.citizenid}) with ${weapon} causing ${data.weaponDamage} damage.`, - { discord: unlEnv.config.excludeWeaponLogsFromDiscord === "false" } - ); - }); - }; - aimedAtPlayer = (targetId, weapon) => { - const aimingPlayer = Game.QBCore.Functions.GetPlayer(source); - const targetPlayer = Game.QBCore.Functions.GetPlayer(targetId); - if (!aimingPlayer || !targetPlayer) { - UnlLogger.error( - "Logging player aimed triggered without aimingPlayer or targetPlayer" - ); - return; - } - gameLogger.info( - `${aimingPlayer.PlayerData.charinfo.firstname} ${aimingPlayer.PlayerData.charinfo.lastname} aimed at ${targetPlayer.PlayerData.charinfo.firstname} ${targetPlayer.PlayerData.charinfo.lastname} with ${weapon}.`, - { discord: unlEnv.config.excludeWeaponLogsFromDiscord === "false" } - ); - playerLogger.info( - `[${aimingPlayer.PlayerData.citizenid}] Aimed at ${targetPlayer.PlayerData.charinfo.firstname} ${targetPlayer.PlayerData.charinfo.lastname} (${targetPlayer.PlayerData.citizenid}) with ${weapon}.`, - { discord: unlEnv.config.excludeWeaponLogsFromDiscord === "false" } - ); - }; - } -}); - -// server/Interactions/ban.js -var import_oxmysql3, checkPlayerBan; -var init_ban = __esm({ - "server/Interactions/ban.js"() { - import_oxmysql3 = __toESM(require_MySQL()); - init_globalData(); - checkPlayerBan = async (name, setKickReason, deferrals) => { - deferrals.defer(); - const source2 = global.source; - const playerTokens = global.exports[unlEnv.resourceName].getHWID(source2); - const banned = await import_oxmysql3.oxmysql.query( - "SELECT id, expire, reason, bannedby FROM bans WHERE tokens = ?;", - [playerTokens] - ); - const timestamp2 = global.exports[unlEnv.resourceName].getOsTime(); - if (banned.length > 0) { - banned.forEach((ban) => { - if (timestamp2 < ban.expire) { - deferrals.done( - `Banned by "${ban.bannedby}" for "${ban.reason ? ban.reason : "No reason given"}" until ${new Date(ban.expire * 1e3)}` - ); - } else { - import_oxmysql3.oxmysql.query("DELETE FROM bans WHERE id = ?", [ban.id]); - } - }); - } - deferrals.done(); - }; - } -}); - -// server/Interactions/events.js -var init_events = __esm({ - "server/Interactions/events.js"() { - init_logs(); - init_ban(); - init_globalData(); - if (unlEnv.config.disableWeaponLogs !== "true") { - on("weaponDamageEvent", gotHitByPlayer); - onNet("unlimited::spectre::aimedAtPlayer", aimedAtPlayer); - } - on("playerConnecting", checkPlayerBan); - } -}); - -// node_modules/has-symbols/shams.js -var require_shams = __commonJS({ - "node_modules/has-symbols/shams.js"(exports2, module2) { - "use strict"; - module2.exports = function hasSymbols() { - if (typeof Symbol !== "function" || typeof Object.getOwnPropertySymbols !== "function") { - return false; - } - if (typeof Symbol.iterator === "symbol") { - return true; - } - var obj = {}; - var sym = Symbol("test"); - var symObj = Object(sym); - if (typeof sym === "string") { - return false; - } - if (Object.prototype.toString.call(sym) !== "[object Symbol]") { - return false; - } - if (Object.prototype.toString.call(symObj) !== "[object Symbol]") { - return false; - } - var symVal = 42; - obj[sym] = symVal; - for (sym in obj) { - return false; - } - if (typeof Object.keys === "function" && Object.keys(obj).length !== 0) { - return false; - } - if (typeof Object.getOwnPropertyNames === "function" && Object.getOwnPropertyNames(obj).length !== 0) { - return false; - } - var syms = Object.getOwnPropertySymbols(obj); - if (syms.length !== 1 || syms[0] !== sym) { - return false; - } - if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { - return false; - } - if (typeof Object.getOwnPropertyDescriptor === "function") { - var descriptor = Object.getOwnPropertyDescriptor(obj, sym); - if (descriptor.value !== symVal || descriptor.enumerable !== true) { - return false; - } - } - return true; - }; - } -}); - -// node_modules/has-tostringtag/shams.js -var require_shams2 = __commonJS({ - "node_modules/has-tostringtag/shams.js"(exports2, module2) { - "use strict"; - var hasSymbols = require_shams(); - module2.exports = function hasToStringTagShams() { - return hasSymbols() && !!Symbol.toStringTag; - }; - } -}); - -// node_modules/is-generator-function/index.js -var require_is_generator_function = __commonJS({ - "node_modules/is-generator-function/index.js"(exports2, module2) { - "use strict"; - var toStr = Object.prototype.toString; - var fnToStr = Function.prototype.toString; - var isFnRegex = /^\s*(?:function)?\*/; - var hasToStringTag = require_shams2()(); - var getProto = Object.getPrototypeOf; - var getGeneratorFunc = function() { - if (!hasToStringTag) { - return false; - } - try { - return Function("return function*() {}")(); - } catch (e) { - } - }; - var GeneratorFunction; - module2.exports = function isGeneratorFunction(fn2) { - if (typeof fn2 !== "function") { - return false; - } - if (isFnRegex.test(fnToStr.call(fn2))) { - return true; - } - if (!hasToStringTag) { - var str = toStr.call(fn2); - return str === "[object GeneratorFunction]"; - } - if (!getProto) { - return false; - } - if (typeof GeneratorFunction === "undefined") { - var generatorFunc = getGeneratorFunc(); - GeneratorFunction = generatorFunc ? getProto(generatorFunc) : false; - } - return getProto(fn2) === GeneratorFunction; - }; - } -}); - -// node_modules/koa/node_modules/ms/index.js -var require_ms3 = __commonJS({ - "node_modules/koa/node_modules/ms/index.js"(exports2, module2) { - var s = 1e3; - var m = s * 60; - var h = m * 60; - var d = h * 24; - var w = d * 7; - var y = d * 365.25; - module2.exports = function(val, options) { - options = options || {}; - var type = typeof val; - if (type === "string" && val.length > 0) { - return parse(val); - } else if (type === "number" && isFinite(val)) { - return options.long ? fmtLong(val) : fmtShort(val); - } - throw new Error( - "val is not a non-empty string or a valid number. val=" + JSON.stringify(val) - ); - }; - function parse(str) { - str = String(str); - if (str.length > 100) { - return; - } - var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec( - str - ); - if (!match) { - return; - } - var n = parseFloat(match[1]); - var type = (match[2] || "ms").toLowerCase(); - switch (type) { - case "years": - case "year": - case "yrs": - case "yr": - case "y": - return n * y; - case "weeks": - case "week": - case "w": - return n * w; - case "days": - case "day": - case "d": - return n * d; - case "hours": - case "hour": - case "hrs": - case "hr": - case "h": - return n * h; - case "minutes": - case "minute": - case "mins": - case "min": - case "m": - return n * m; - case "seconds": - case "second": - case "secs": - case "sec": - case "s": - return n * s; - case "milliseconds": - case "millisecond": - case "msecs": - case "msec": - case "ms": - return n; - default: - return void 0; - } - } - function fmtShort(ms) { - var msAbs = Math.abs(ms); - if (msAbs >= d) { - return Math.round(ms / d) + "d"; - } - if (msAbs >= h) { - return Math.round(ms / h) + "h"; - } - if (msAbs >= m) { - return Math.round(ms / m) + "m"; - } - if (msAbs >= s) { - return Math.round(ms / s) + "s"; - } - return ms + "ms"; - } - function fmtLong(ms) { - var msAbs = Math.abs(ms); - if (msAbs >= d) { - return plural(ms, msAbs, d, "day"); - } - if (msAbs >= h) { - return plural(ms, msAbs, h, "hour"); - } - if (msAbs >= m) { - return plural(ms, msAbs, m, "minute"); - } - if (msAbs >= s) { - return plural(ms, msAbs, s, "second"); - } - return ms + " ms"; - } - function plural(ms, msAbs, n, name) { - var isPlural = msAbs >= n * 1.5; - return Math.round(ms / n) + " " + name + (isPlural ? "s" : ""); - } - } -}); - -// node_modules/koa/node_modules/debug/src/common.js -var require_common3 = __commonJS({ - "node_modules/koa/node_modules/debug/src/common.js"(exports2, module2) { - function setup(env) { - createDebug.debug = createDebug; - createDebug.default = createDebug; - createDebug.coerce = coerce; - createDebug.disable = disable; - createDebug.enable = enable; - createDebug.enabled = enabled; - createDebug.humanize = require_ms3(); - createDebug.destroy = destroy; - Object.keys(env).forEach((key) => { - createDebug[key] = env[key]; - }); - createDebug.names = []; - createDebug.skips = []; - createDebug.formatters = {}; - function selectColor(namespace) { - let hash = 0; - for (let i = 0; i < namespace.length; i++) { - hash = (hash << 5) - hash + namespace.charCodeAt(i); - hash |= 0; - } - return createDebug.colors[Math.abs(hash) % createDebug.colors.length]; - } - createDebug.selectColor = selectColor; - function createDebug(namespace) { - let prevTime; - let enableOverride = null; - let namespacesCache; - let enabledCache; - function debug(...args2) { - if (!debug.enabled) { - return; - } - const self2 = debug; - const curr = Number(new Date()); - const ms = curr - (prevTime || curr); - self2.diff = ms; - self2.prev = prevTime; - self2.curr = curr; - prevTime = curr; - args2[0] = createDebug.coerce(args2[0]); - if (typeof args2[0] !== "string") { - args2.unshift("%O"); - } - let index = 0; - args2[0] = args2[0].replace(/%([a-zA-Z%])/g, (match, format2) => { - if (match === "%%") { - return "%"; - } - index++; - const formatter = createDebug.formatters[format2]; - if (typeof formatter === "function") { - const val = args2[index]; - match = formatter.call(self2, val); - args2.splice(index, 1); - index--; - } - return match; - }); - createDebug.formatArgs.call(self2, args2); - const logFn = self2.log || createDebug.log; - logFn.apply(self2, args2); - } - debug.namespace = namespace; - debug.useColors = createDebug.useColors(); - debug.color = createDebug.selectColor(namespace); - debug.extend = extend2; - debug.destroy = createDebug.destroy; - Object.defineProperty(debug, "enabled", { - enumerable: true, - configurable: false, - get: () => { - if (enableOverride !== null) { - return enableOverride; - } - if (namespacesCache !== createDebug.namespaces) { - namespacesCache = createDebug.namespaces; - enabledCache = createDebug.enabled(namespace); - } - return enabledCache; - }, - set: (v) => { - enableOverride = v; - } - }); - if (typeof createDebug.init === "function") { - createDebug.init(debug); - } - return debug; - } - function extend2(namespace, delimiter) { - const newDebug = createDebug(this.namespace + (typeof delimiter === "undefined" ? ":" : delimiter) + namespace); - newDebug.log = this.log; - return newDebug; - } - function enable(namespaces) { - createDebug.save(namespaces); - createDebug.namespaces = namespaces; - createDebug.names = []; - createDebug.skips = []; - let i; - const split = (typeof namespaces === "string" ? namespaces : "").split(/[\s,]+/); - const len = split.length; - for (i = 0; i < len; i++) { - if (!split[i]) { - continue; - } - namespaces = split[i].replace(/\*/g, ".*?"); - if (namespaces[0] === "-") { - createDebug.skips.push(new RegExp("^" + namespaces.slice(1) + "$")); - } else { - createDebug.names.push(new RegExp("^" + namespaces + "$")); - } - } - } - function disable() { - const namespaces = [ - ...createDebug.names.map(toNamespace), - ...createDebug.skips.map(toNamespace).map((namespace) => "-" + namespace) - ].join(","); - createDebug.enable(""); - return namespaces; - } - function enabled(name) { - if (name[name.length - 1] === "*") { - return true; - } - let i; - let len; - for (i = 0, len = createDebug.skips.length; i < len; i++) { - if (createDebug.skips[i].test(name)) { - return false; - } - } - for (i = 0, len = createDebug.names.length; i < len; i++) { - if (createDebug.names[i].test(name)) { - return true; - } - } - return false; - } - function toNamespace(regexp) { - return regexp.toString().substring(2, regexp.toString().length - 2).replace(/\.\*\?$/, "*"); - } - function coerce(val) { - if (val instanceof Error) { - return val.stack || val.message; - } - return val; - } - function destroy() { - console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."); - } - createDebug.enable(createDebug.load()); - return createDebug; - } - module2.exports = setup; - } -}); - -// node_modules/koa/node_modules/debug/src/browser.js -var require_browser2 = __commonJS({ - "node_modules/koa/node_modules/debug/src/browser.js"(exports2, module2) { - exports2.formatArgs = formatArgs; - exports2.save = save; - exports2.load = load; - exports2.useColors = useColors; - exports2.storage = localstorage(); - exports2.destroy = (() => { - let warned = false; - return () => { - if (!warned) { - warned = true; - console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."); - } - }; - })(); - exports2.colors = [ - "#0000CC", - "#0000FF", - "#0033CC", - "#0033FF", - "#0066CC", - "#0066FF", - "#0099CC", - "#0099FF", - "#00CC00", - "#00CC33", - "#00CC66", - "#00CC99", - "#00CCCC", - "#00CCFF", - "#3300CC", - "#3300FF", - "#3333CC", - "#3333FF", - "#3366CC", - "#3366FF", - "#3399CC", - "#3399FF", - "#33CC00", - "#33CC33", - "#33CC66", - "#33CC99", - "#33CCCC", - "#33CCFF", - "#6600CC", - "#6600FF", - "#6633CC", - "#6633FF", - "#66CC00", - "#66CC33", - "#9900CC", - "#9900FF", - "#9933CC", - "#9933FF", - "#99CC00", - "#99CC33", - "#CC0000", - "#CC0033", - "#CC0066", - "#CC0099", - "#CC00CC", - "#CC00FF", - "#CC3300", - "#CC3333", - "#CC3366", - "#CC3399", - "#CC33CC", - "#CC33FF", - "#CC6600", - "#CC6633", - "#CC9900", - "#CC9933", - "#CCCC00", - "#CCCC33", - "#FF0000", - "#FF0033", - "#FF0066", - "#FF0099", - "#FF00CC", - "#FF00FF", - "#FF3300", - "#FF3333", - "#FF3366", - "#FF3399", - "#FF33CC", - "#FF33FF", - "#FF6600", - "#FF6633", - "#FF9900", - "#FF9933", - "#FFCC00", - "#FFCC33" - ]; - function useColors() { - if (typeof window !== "undefined" && window.process && (window.process.type === "renderer" || window.process.__nwjs)) { - return true; - } - if (typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { - return false; - } - return typeof document !== "undefined" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || typeof window !== "undefined" && window.console && (window.console.firebug || window.console.exception && window.console.table) || typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 || typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/); - } - function formatArgs(args2) { - args2[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + args2[0] + (this.useColors ? "%c " : " ") + "+" + module2.exports.humanize(this.diff); - if (!this.useColors) { - return; - } - const c = "color: " + this.color; - args2.splice(1, 0, c, "color: inherit"); - let index = 0; - let lastC = 0; - args2[0].replace(/%[a-zA-Z%]/g, (match) => { - if (match === "%%") { - return; - } - index++; - if (match === "%c") { - lastC = index; - } - }); - args2.splice(lastC, 0, c); - } - exports2.log = console.debug || console.log || (() => { - }); - function save(namespaces) { - try { - if (namespaces) { - exports2.storage.setItem("debug", namespaces); - } else { - exports2.storage.removeItem("debug"); - } - } catch (error) { - } - } - function load() { - let r; - try { - r = exports2.storage.getItem("debug"); - } catch (error) { - } - if (!r && typeof process !== "undefined" && "env" in process) { - r = process.env.DEBUG; - } - return r; - } - function localstorage() { - try { - return localStorage; - } catch (error) { - } - } - module2.exports = require_common3()(exports2); - var { formatters } = module2.exports; - formatters.j = function(v) { - try { - return JSON.stringify(v); - } catch (error) { - return "[UnexpectedJSONParseError]: " + error.message; - } - }; - } -}); - -// node_modules/koa/node_modules/debug/src/node.js -var require_node4 = __commonJS({ - "node_modules/koa/node_modules/debug/src/node.js"(exports2, module2) { - var tty = require("tty"); - var util2 = require("util"); - exports2.init = init; - exports2.log = log2; - exports2.formatArgs = formatArgs; - exports2.save = save; - exports2.load = load; - exports2.useColors = useColors; - exports2.destroy = util2.deprecate( - () => { - }, - "Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`." - ); - exports2.colors = [6, 2, 3, 4, 5, 1]; - try { - const supportsColor = require("supports-color"); - if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) { - exports2.colors = [ - 20, - 21, - 26, - 27, - 32, - 33, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 56, - 57, - 62, - 63, - 68, - 69, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 92, - 93, - 98, - 99, - 112, - 113, - 128, - 129, - 134, - 135, - 148, - 149, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 178, - 179, - 184, - 185, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 214, - 215, - 220, - 221 - ]; - } - } catch (error) { - } - exports2.inspectOpts = Object.keys(process.env).filter((key) => { - return /^debug_/i.test(key); - }).reduce((obj, key) => { - const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_, k) => { - return k.toUpperCase(); - }); - let val = process.env[key]; - if (/^(yes|on|true|enabled)$/i.test(val)) { - val = true; - } else if (/^(no|off|false|disabled)$/i.test(val)) { - val = false; - } else if (val === "null") { - val = null; - } else { - val = Number(val); - } - obj[prop] = val; - return obj; - }, {}); - function useColors() { - return "colors" in exports2.inspectOpts ? Boolean(exports2.inspectOpts.colors) : tty.isatty(process.stderr.fd); - } - function formatArgs(args2) { - const { namespace: name, useColors: useColors2 } = this; - if (useColors2) { - const c = this.color; - const colorCode = "\x1B[3" + (c < 8 ? c : "8;5;" + c); - const prefix = ` ${colorCode};1m${name} \x1B[0m`; - args2[0] = prefix + args2[0].split("\n").join("\n" + prefix); - args2.push(colorCode + "m+" + module2.exports.humanize(this.diff) + "\x1B[0m"); - } else { - args2[0] = getDate() + name + " " + args2[0]; - } - } - function getDate() { - if (exports2.inspectOpts.hideDate) { - return ""; - } - return new Date().toISOString() + " "; - } - function log2(...args2) { - return process.stderr.write(util2.format(...args2) + "\n"); - } - function save(namespaces) { - if (namespaces) { - process.env.DEBUG = namespaces; - } else { - delete process.env.DEBUG; - } - } - function load() { - return process.env.DEBUG; - } - function init(debug) { - debug.inspectOpts = {}; - const keys2 = Object.keys(exports2.inspectOpts); - for (let i = 0; i < keys2.length; i++) { - debug.inspectOpts[keys2[i]] = exports2.inspectOpts[keys2[i]]; - } - } - module2.exports = require_common3()(exports2); - var { formatters } = module2.exports; - formatters.o = function(v) { - this.inspectOpts.colors = this.useColors; - return util2.inspect(v, this.inspectOpts).split("\n").map((str) => str.trim()).join(" "); - }; - formatters.O = function(v) { - this.inspectOpts.colors = this.useColors; - return util2.inspect(v, this.inspectOpts); - }; - } -}); - -// node_modules/koa/node_modules/debug/src/index.js -var require_src2 = __commonJS({ - "node_modules/koa/node_modules/debug/src/index.js"(exports2, module2) { - if (typeof process === "undefined" || process.type === "renderer" || process.browser === true || process.__nwjs) { - module2.exports = require_browser2(); - } else { - module2.exports = require_node4(); - } - } -}); - -// node_modules/ee-first/index.js -var require_ee_first = __commonJS({ - "node_modules/ee-first/index.js"(exports2, module2) { - "use strict"; - module2.exports = first; - function first(stuff, done) { - if (!Array.isArray(stuff)) - throw new TypeError("arg must be an array of [ee, events...] arrays"); - var cleanups = []; - for (var i = 0; i < stuff.length; i++) { - var arr = stuff[i]; - if (!Array.isArray(arr) || arr.length < 2) - throw new TypeError("each array member must be [ee, events...]"); - var ee = arr[0]; - for (var j = 1; j < arr.length; j++) { - var event = arr[j]; - var fn2 = listener(event, callback); - ee.on(event, fn2); - cleanups.push({ - ee, - event, - fn: fn2 - }); - } - } - function callback() { - cleanup(); - done.apply(null, arguments); - } - function cleanup() { - var x; - for (var i2 = 0; i2 < cleanups.length; i2++) { - x = cleanups[i2]; - x.ee.removeListener(x.event, x.fn); - } - } - function thunk(fn3) { - done = fn3; - } - thunk.cancel = cleanup; - return thunk; - } - function listener(event, done) { - return function onevent(arg1) { - var args2 = new Array(arguments.length); - var ee = this; - var err = event === "error" ? arg1 : null; - for (var i = 0; i < args2.length; i++) { - args2[i] = arguments[i]; - } - done(err, ee, event, args2); - }; - } - } -}); - -// node_modules/on-finished/index.js -var require_on_finished = __commonJS({ - "node_modules/on-finished/index.js"(exports2, module2) { - "use strict"; - module2.exports = onFinished; - module2.exports.isFinished = isFinished; - var asyncHooks = tryRequireAsyncHooks(); - var first = require_ee_first(); - var defer = typeof setImmediate === "function" ? setImmediate : function(fn2) { - process.nextTick(fn2.bind.apply(fn2, arguments)); - }; - function onFinished(msg, listener) { - if (isFinished(msg) !== false) { - defer(listener, null, msg); - return msg; - } - attachListener(msg, wrap(listener)); - return msg; - } - function isFinished(msg) { - var socket = msg.socket; - if (typeof msg.finished === "boolean") { - return Boolean(msg.finished || socket && !socket.writable); - } - if (typeof msg.complete === "boolean") { - return Boolean(msg.upgrade || !socket || !socket.readable || msg.complete && !msg.readable); - } - return void 0; - } - function attachFinishedListener(msg, callback) { - var eeMsg; - var eeSocket; - var finished = false; - function onFinish(error) { - eeMsg.cancel(); - eeSocket.cancel(); - finished = true; - callback(error); - } - eeMsg = eeSocket = first([[msg, "end", "finish"]], onFinish); - function onSocket(socket) { - msg.removeListener("socket", onSocket); - if (finished) - return; - if (eeMsg !== eeSocket) - return; - eeSocket = first([[socket, "error", "close"]], onFinish); - } - if (msg.socket) { - onSocket(msg.socket); - return; - } - msg.on("socket", onSocket); - if (msg.socket === void 0) { - patchAssignSocket(msg, onSocket); - } - } - function attachListener(msg, listener) { - var attached = msg.__onFinished; - if (!attached || !attached.queue) { - attached = msg.__onFinished = createListener(msg); - attachFinishedListener(msg, attached); - } - attached.queue.push(listener); - } - function createListener(msg) { - function listener(err) { - if (msg.__onFinished === listener) - msg.__onFinished = null; - if (!listener.queue) - return; - var queue = listener.queue; - listener.queue = null; - for (var i = 0; i < queue.length; i++) { - queue[i](err, msg); - } - } - listener.queue = []; - return listener; - } - function patchAssignSocket(res, callback) { - var assignSocket = res.assignSocket; - if (typeof assignSocket !== "function") - return; - res.assignSocket = function _assignSocket(socket) { - assignSocket.call(this, socket); - callback(socket); - }; - } - function tryRequireAsyncHooks() { - try { - return require("async_hooks"); - } catch (e) { - return {}; - } - } - function wrap(fn2) { - var res; - if (asyncHooks.AsyncResource) { - res = new asyncHooks.AsyncResource(fn2.name || "bound-anonymous-fn"); - } - if (!res || !res.runInAsyncScope) { - return fn2; - } - return res.runInAsyncScope.bind(res, fn2, null); - } - } -}); - -// node_modules/content-disposition/index.js -var require_content_disposition = __commonJS({ - "node_modules/content-disposition/index.js"(exports2, module2) { - "use strict"; - module2.exports = contentDisposition; - module2.exports.parse = parse; - var basename2 = require("path").basename; - var Buffer2 = require_safe_buffer().Buffer; - var ENCODE_URL_ATTR_CHAR_REGEXP = /[\x00-\x20"'()*,/:;<=>?@[\\\]{}\x7f]/g; - var HEX_ESCAPE_REGEXP = /%[0-9A-Fa-f]{2}/; - var HEX_ESCAPE_REPLACE_REGEXP = /%([0-9A-Fa-f]{2})/g; - var NON_LATIN1_REGEXP = /[^\x20-\x7e\xa0-\xff]/g; - var QESC_REGEXP = /\\([\u0000-\u007f])/g; - var QUOTE_REGEXP = /([\\"])/g; - var PARAM_REGEXP = /;[\x09\x20]*([!#$%&'*+.0-9A-Z^_`a-z|~-]+)[\x09\x20]*=[\x09\x20]*("(?:[\x20!\x23-\x5b\x5d-\x7e\x80-\xff]|\\[\x20-\x7e])*"|[!#$%&'*+.0-9A-Z^_`a-z|~-]+)[\x09\x20]*/g; - var TEXT_REGEXP = /^[\x20-\x7e\x80-\xff]+$/; - var TOKEN_REGEXP = /^[!#$%&'*+.0-9A-Z^_`a-z|~-]+$/; - var EXT_VALUE_REGEXP = /^([A-Za-z0-9!#$%&+\-^_`{}~]+)'(?:[A-Za-z]{2,3}(?:-[A-Za-z]{3}){0,3}|[A-Za-z]{4,8}|)'((?:%[0-9A-Fa-f]{2}|[A-Za-z0-9!#$&+.^_`|~-])+)$/; - var DISPOSITION_TYPE_REGEXP = /^([!#$%&'*+.0-9A-Z^_`a-z|~-]+)[\x09\x20]*(?:$|;)/; - function contentDisposition(filename, options) { - var opts = options || {}; - var type = opts.type || "attachment"; - var params = createparams(filename, opts.fallback); - return format2(new ContentDisposition(type, params)); - } - function createparams(filename, fallback) { - if (filename === void 0) { - return; - } - var params = {}; - if (typeof filename !== "string") { - throw new TypeError("filename must be a string"); - } - if (fallback === void 0) { - fallback = true; - } - if (typeof fallback !== "string" && typeof fallback !== "boolean") { - throw new TypeError("fallback must be a string or boolean"); - } - if (typeof fallback === "string" && NON_LATIN1_REGEXP.test(fallback)) { - throw new TypeError("fallback must be ISO-8859-1 string"); - } - var name = basename2(filename); - var isQuotedString = TEXT_REGEXP.test(name); - var fallbackName = typeof fallback !== "string" ? fallback && getlatin1(name) : basename2(fallback); - var hasFallback = typeof fallbackName === "string" && fallbackName !== name; - if (hasFallback || !isQuotedString || HEX_ESCAPE_REGEXP.test(name)) { - params["filename*"] = name; - } - if (isQuotedString || hasFallback) { - params.filename = hasFallback ? fallbackName : name; - } - return params; - } - function format2(obj) { - var parameters = obj.parameters; - var type = obj.type; - if (!type || typeof type !== "string" || !TOKEN_REGEXP.test(type)) { - throw new TypeError("invalid type"); - } - var string = String(type).toLowerCase(); - if (parameters && typeof parameters === "object") { - var param; - var params = Object.keys(parameters).sort(); - for (var i = 0; i < params.length; i++) { - param = params[i]; - var val = param.substr(-1) === "*" ? ustring(parameters[param]) : qstring(parameters[param]); - string += "; " + param + "=" + val; - } - } - return string; - } - function decodefield(str) { - var match = EXT_VALUE_REGEXP.exec(str); - if (!match) { - throw new TypeError("invalid extended field value"); - } - var charset = match[1].toLowerCase(); - var encoded = match[2]; - var value; - var binary = encoded.replace(HEX_ESCAPE_REPLACE_REGEXP, pdecode); - switch (charset) { - case "iso-8859-1": - value = getlatin1(binary); - break; - case "utf-8": - value = Buffer2.from(binary, "binary").toString("utf8"); - break; - default: - throw new TypeError("unsupported charset in extended field"); - } - return value; - } - function getlatin1(val) { - return String(val).replace(NON_LATIN1_REGEXP, "?"); - } - function parse(string) { - if (!string || typeof string !== "string") { - throw new TypeError("argument string is required"); - } - var match = DISPOSITION_TYPE_REGEXP.exec(string); - if (!match) { - throw new TypeError("invalid type format"); - } - var index = match[0].length; - var type = match[1].toLowerCase(); - var key; - var names = []; - var params = {}; - var value; - index = PARAM_REGEXP.lastIndex = match[0].substr(-1) === ";" ? index - 1 : index; - while (match = PARAM_REGEXP.exec(string)) { - if (match.index !== index) { - throw new TypeError("invalid parameter format"); - } - index += match[0].length; - key = match[1].toLowerCase(); - value = match[2]; - if (names.indexOf(key) !== -1) { - throw new TypeError("invalid duplicate parameter"); - } - names.push(key); - if (key.indexOf("*") + 1 === key.length) { - key = key.slice(0, -1); - value = decodefield(value); - params[key] = value; - continue; - } - if (typeof params[key] === "string") { - continue; - } - if (value[0] === '"') { - value = value.substr(1, value.length - 2).replace(QESC_REGEXP, "$1"); - } - params[key] = value; - } - if (index !== -1 && index !== string.length) { - throw new TypeError("invalid parameter format"); - } - return new ContentDisposition(type, params); - } - function pdecode(str, hex) { - return String.fromCharCode(parseInt(hex, 16)); - } - function pencode(char) { - return "%" + String(char).charCodeAt(0).toString(16).toUpperCase(); - } - function qstring(val) { - var str = String(val); - return '"' + str.replace(QUOTE_REGEXP, "\\$1") + '"'; - } - function ustring(val) { - var str = String(val); - var encoded = encodeURIComponent(str).replace(ENCODE_URL_ATTR_CHAR_REGEXP, pencode); - return "UTF-8''" + encoded; - } - function ContentDisposition(type, parameters) { - this.type = type; - this.parameters = parameters; - } - } -}); - -// node_modules/ylru/index.js -var require_ylru = __commonJS({ - "node_modules/ylru/index.js"(exports2, module2) { - "use strict"; - var LRU = class { - constructor(max) { - this.max = max; - this.size = 0; - this.cache = /* @__PURE__ */ new Map(); - this._cache = /* @__PURE__ */ new Map(); - } - get(key, options) { - let item = this.cache.get(key); - const maxAge = options && options.maxAge; - let now; - function getNow() { - now = now || Date.now(); - return now; - } - if (item) { - if (item.expired && getNow() > item.expired) { - item.expired = 0; - item.value = void 0; - } else { - if (maxAge !== void 0) { - const expired = maxAge ? getNow() + maxAge : 0; - item.expired = expired; - } - } - return item.value; - } - item = this._cache.get(key); - if (item) { - if (item.expired && getNow() > item.expired) { - item.expired = 0; - item.value = void 0; - } else { - this._update(key, item); - if (maxAge !== void 0) { - const expired = maxAge ? getNow() + maxAge : 0; - item.expired = expired; - } - } - return item.value; - } - } - set(key, value, options) { - const maxAge = options && options.maxAge; - const expired = maxAge ? Date.now() + maxAge : 0; - let item = this.cache.get(key); - if (item) { - item.expired = expired; - item.value = value; - } else { - item = { - value, - expired - }; - this._update(key, item); - } - } - keys() { - const cacheKeys = /* @__PURE__ */ new Set(); - const now = Date.now(); - for (const entry of this.cache.entries()) { - checkEntry(entry); - } - for (const entry of this._cache.entries()) { - checkEntry(entry); - } - function checkEntry(entry) { - const key = entry[0]; - const item = entry[1]; - if (entry[1].value && !entry[1].expired || item.expired >= now) { - cacheKeys.add(key); - } - } - return Array.from(cacheKeys.keys()); - } - _update(key, item) { - this.cache.set(key, item); - this.size++; - if (this.size >= this.max) { - this.size = 0; - this._cache = this.cache; - this.cache = /* @__PURE__ */ new Map(); - } - } - }; - module2.exports = LRU; - } -}); - -// node_modules/cache-content-type/index.js -var require_cache_content_type = __commonJS({ - "node_modules/cache-content-type/index.js"(exports2, module2) { - "use strict"; - var mimeTypes = require_mime_types(); - var LRU = require_ylru(); - var typeLRUCache = new LRU(100); - module2.exports = (type) => { - let mimeType = typeLRUCache.get(type); - if (!mimeType) { - mimeType = mimeTypes.contentType(type); - typeLRUCache.set(type, mimeType); - } - return mimeType; - }; - } -}); - -// node_modules/escape-html/index.js -var require_escape_html = __commonJS({ - "node_modules/escape-html/index.js"(exports2, module2) { - "use strict"; - var matchHtmlRegExp = /["'&<>]/; - module2.exports = escapeHtml; - function escapeHtml(string) { - var str = "" + string; - var match = matchHtmlRegExp.exec(str); - if (!match) { - return str; - } - var escape2; - var html = ""; - var index = 0; - var lastIndex = 0; - for (index = match.index; index < str.length; index++) { - switch (str.charCodeAt(index)) { - case 34: - escape2 = """; - break; - case 38: - escape2 = "&"; - break; - case 39: - escape2 = "'"; - break; - case 60: - escape2 = "<"; - break; - case 62: - escape2 = ">"; - break; - default: - continue; - } - if (lastIndex !== index) { - html += str.substring(lastIndex, index); - } - lastIndex = index + 1; - html += escape2; - } - return lastIndex !== index ? html + str.substring(lastIndex, index) : html; - } - } -}); - -// node_modules/media-typer/index.js -var require_media_typer = __commonJS({ - "node_modules/media-typer/index.js"(exports2) { - var paramRegExp = /; *([!#$%&'\*\+\-\.0-9A-Z\^_`a-z\|~]+) *= *("(?:[ !\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u0020-\u007e])*"|[!#$%&'\*\+\-\.0-9A-Z\^_`a-z\|~]+) */g; - var textRegExp = /^[\u0020-\u007e\u0080-\u00ff]+$/; - var tokenRegExp = /^[!#$%&'\*\+\-\.0-9A-Z\^_`a-z\|~]+$/; - var qescRegExp = /\\([\u0000-\u007f])/g; - var quoteRegExp = /([\\"])/g; - var subtypeNameRegExp = /^[A-Za-z0-9][A-Za-z0-9!#$&^_.-]{0,126}$/; - var typeNameRegExp = /^[A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126}$/; - var typeRegExp = /^ *([A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126})\/([A-Za-z0-9][A-Za-z0-9!#$&^_.+-]{0,126}) *$/; - exports2.format = format2; - exports2.parse = parse; - function format2(obj) { - if (!obj || typeof obj !== "object") { - throw new TypeError("argument obj is required"); - } - var parameters = obj.parameters; - var subtype = obj.subtype; - var suffix = obj.suffix; - var type = obj.type; - if (!type || !typeNameRegExp.test(type)) { - throw new TypeError("invalid type"); - } - if (!subtype || !subtypeNameRegExp.test(subtype)) { - throw new TypeError("invalid subtype"); - } - var string = type + "/" + subtype; - if (suffix) { - if (!typeNameRegExp.test(suffix)) { - throw new TypeError("invalid suffix"); - } - string += "+" + suffix; - } - if (parameters && typeof parameters === "object") { - var param; - var params = Object.keys(parameters).sort(); - for (var i = 0; i < params.length; i++) { - param = params[i]; - if (!tokenRegExp.test(param)) { - throw new TypeError("invalid parameter name"); - } - string += "; " + param + "=" + qstring(parameters[param]); - } - } - return string; - } - function parse(string) { - if (!string) { - throw new TypeError("argument string is required"); - } - if (typeof string === "object") { - string = getcontenttype(string); - } - if (typeof string !== "string") { - throw new TypeError("argument string is required to be a string"); - } - var index = string.indexOf(";"); - var type = index !== -1 ? string.substr(0, index) : string; - var key; - var match; - var obj = splitType(type); - var params = {}; - var value; - paramRegExp.lastIndex = index; - while (match = paramRegExp.exec(string)) { - if (match.index !== index) { - throw new TypeError("invalid parameter format"); - } - index += match[0].length; - key = match[1].toLowerCase(); - value = match[2]; - if (value[0] === '"') { - value = value.substr(1, value.length - 2).replace(qescRegExp, "$1"); - } - params[key] = value; - } - if (index !== -1 && index !== string.length) { - throw new TypeError("invalid parameter format"); - } - obj.parameters = params; - return obj; - } - function getcontenttype(obj) { - if (typeof obj.getHeader === "function") { - return obj.getHeader("content-type"); - } - if (typeof obj.headers === "object") { - return obj.headers && obj.headers["content-type"]; - } - } - function qstring(val) { - var str = String(val); - if (tokenRegExp.test(str)) { - return str; - } - if (str.length > 0 && !textRegExp.test(str)) { - throw new TypeError("invalid parameter value"); - } - return '"' + str.replace(quoteRegExp, "\\$1") + '"'; - } - function splitType(string) { - var match = typeRegExp.exec(string.toLowerCase()); - if (!match) { - throw new TypeError("invalid media type"); - } - var type = match[1]; - var subtype = match[2]; - var suffix; - var index = subtype.lastIndexOf("+"); - if (index !== -1) { - suffix = subtype.substr(index + 1); - subtype = subtype.substr(0, index); - } - var obj = { - type, - subtype, - suffix - }; - return obj; - } - } -}); - -// node_modules/type-is/index.js -var require_type_is = __commonJS({ - "node_modules/type-is/index.js"(exports2, module2) { - "use strict"; - var typer = require_media_typer(); - var mime = require_mime_types(); - module2.exports = typeofrequest; - module2.exports.is = typeis; - module2.exports.hasBody = hasbody; - module2.exports.normalize = normalize; - module2.exports.match = mimeMatch; - function typeis(value, types_) { - var i; - var types2 = types_; - var val = tryNormalizeType(value); - if (!val) { - return false; - } - if (types2 && !Array.isArray(types2)) { - types2 = new Array(arguments.length - 1); - for (i = 0; i < types2.length; i++) { - types2[i] = arguments[i + 1]; - } - } - if (!types2 || !types2.length) { - return val; - } - var type; - for (i = 0; i < types2.length; i++) { - if (mimeMatch(normalize(type = types2[i]), val)) { - return type[0] === "+" || type.indexOf("*") !== -1 ? val : type; - } - } - return false; - } - function hasbody(req) { - return req.headers["transfer-encoding"] !== void 0 || !isNaN(req.headers["content-length"]); - } - function typeofrequest(req, types_) { - var types2 = types_; - if (!hasbody(req)) { - return null; - } - if (arguments.length > 2) { - types2 = new Array(arguments.length - 1); - for (var i = 0; i < types2.length; i++) { - types2[i] = arguments[i + 1]; - } - } - var value = req.headers["content-type"]; - return typeis(value, types2); - } - function normalize(type) { - if (typeof type !== "string") { - return false; - } - switch (type) { - case "urlencoded": - return "application/x-www-form-urlencoded"; - case "multipart": - return "multipart/*"; - } - if (type[0] === "+") { - return "*/*" + type; - } - return type.indexOf("/") === -1 ? mime.lookup(type) : type; - } - function mimeMatch(expected, actual) { - if (expected === false) { - return false; - } - var actualParts = actual.split("/"); - var expectedParts = expected.split("/"); - if (actualParts.length !== 2 || expectedParts.length !== 2) { - return false; - } - if (expectedParts[0] !== "*" && expectedParts[0] !== actualParts[0]) { - return false; - } - if (expectedParts[1].substr(0, 2) === "*+") { - return expectedParts[1].length <= actualParts[1].length + 1 && expectedParts[1].substr(1) === actualParts[1].substr(1 - expectedParts[1].length); - } - if (expectedParts[1] !== "*" && expectedParts[1] !== actualParts[1]) { - return false; - } - return true; - } - function normalizeType(value) { - var type = typer.parse(value); - type.parameters = void 0; - return typer.format(type); - } - function tryNormalizeType(value) { - if (!value) { - return null; - } - try { - return normalizeType(value); - } catch (err) { - return null; - } - } - } -}); - -// node_modules/koa/node_modules/statuses/codes.json -var require_codes = __commonJS({ - "node_modules/koa/node_modules/statuses/codes.json"(exports2, module2) { - module2.exports = { - "100": "Continue", - "101": "Switching Protocols", - "102": "Processing", - "103": "Early Hints", - "200": "OK", - "201": "Created", - "202": "Accepted", - "203": "Non-Authoritative Information", - "204": "No Content", - "205": "Reset Content", - "206": "Partial Content", - "207": "Multi-Status", - "208": "Already Reported", - "226": "IM Used", - "300": "Multiple Choices", - "301": "Moved Permanently", - "302": "Found", - "303": "See Other", - "304": "Not Modified", - "305": "Use Proxy", - "306": "(Unused)", - "307": "Temporary Redirect", - "308": "Permanent Redirect", - "400": "Bad Request", - "401": "Unauthorized", - "402": "Payment Required", - "403": "Forbidden", - "404": "Not Found", - "405": "Method Not Allowed", - "406": "Not Acceptable", - "407": "Proxy Authentication Required", - "408": "Request Timeout", - "409": "Conflict", - "410": "Gone", - "411": "Length Required", - "412": "Precondition Failed", - "413": "Payload Too Large", - "414": "URI Too Long", - "415": "Unsupported Media Type", - "416": "Range Not Satisfiable", - "417": "Expectation Failed", - "418": "I'm a teapot", - "421": "Misdirected Request", - "422": "Unprocessable Entity", - "423": "Locked", - "424": "Failed Dependency", - "425": "Unordered Collection", - "426": "Upgrade Required", - "428": "Precondition Required", - "429": "Too Many Requests", - "431": "Request Header Fields Too Large", - "451": "Unavailable For Legal Reasons", - "500": "Internal Server Error", - "501": "Not Implemented", - "502": "Bad Gateway", - "503": "Service Unavailable", - "504": "Gateway Timeout", - "505": "HTTP Version Not Supported", - "506": "Variant Also Negotiates", - "507": "Insufficient Storage", - "508": "Loop Detected", - "509": "Bandwidth Limit Exceeded", - "510": "Not Extended", - "511": "Network Authentication Required" - }; - } -}); - -// node_modules/koa/node_modules/statuses/index.js -var require_statuses = __commonJS({ - "node_modules/koa/node_modules/statuses/index.js"(exports2, module2) { - "use strict"; - var codes = require_codes(); - module2.exports = status; - status.STATUS_CODES = codes; - status.codes = populateStatusesMap(status, codes); - status.redirect = { - 300: true, - 301: true, - 302: true, - 303: true, - 305: true, - 307: true, - 308: true - }; - status.empty = { - 204: true, - 205: true, - 304: true - }; - status.retry = { - 502: true, - 503: true, - 504: true - }; - function populateStatusesMap(statuses, codes2) { - var arr = []; - Object.keys(codes2).forEach(function forEachCode(code) { - var message2 = codes2[code]; - var status2 = Number(code); - statuses[status2] = message2; - statuses[message2] = status2; - statuses[message2.toLowerCase()] = status2; - arr.push(status2); - }); - return arr; - } - function status(code) { - if (typeof code === "number") { - if (!status[code]) - throw new Error("invalid status code: " + code); - return code; - } - if (typeof code !== "string") { - throw new TypeError("code must be a number or string"); - } - var n = parseInt(code, 10); - if (!isNaN(n)) { - if (!status[n]) - throw new Error("invalid status code: " + n); - return n; - } - n = status[code.toLowerCase()]; - if (!n) - throw new Error('invalid status message: "' + code + '"'); - return n; - } - } -}); - -// node_modules/destroy/index.js -var require_destroy2 = __commonJS({ - "node_modules/destroy/index.js"(exports2, module2) { - "use strict"; - var EventEmitter2 = require("events").EventEmitter; - var ReadStream = require("fs").ReadStream; - var Stream = require("stream"); - var Zlib = require("zlib"); - module2.exports = destroy; - function destroy(stream4, suppress) { - if (isFsReadStream(stream4)) { - destroyReadStream(stream4); - } else if (isZlibStream(stream4)) { - destroyZlibStream(stream4); - } else if (hasDestroy(stream4)) { - stream4.destroy(); - } - if (isEventEmitter(stream4) && suppress) { - stream4.removeAllListeners("error"); - stream4.addListener("error", noop2); - } - return stream4; - } - function destroyReadStream(stream4) { - stream4.destroy(); - if (typeof stream4.close === "function") { - stream4.on("open", onOpenClose); - } - } - function closeZlibStream(stream4) { - if (stream4._hadError === true) { - var prop = stream4._binding === null ? "_binding" : "_handle"; - stream4[prop] = { - close: function() { - this[prop] = null; - } - }; - } - stream4.close(); - } - function destroyZlibStream(stream4) { - if (typeof stream4.destroy === "function") { - if (stream4._binding) { - stream4.destroy(); - if (stream4._processing) { - stream4._needDrain = true; - stream4.once("drain", onDrainClearBinding); - } else { - stream4._binding.clear(); - } - } else if (stream4._destroy && stream4._destroy !== Stream.Transform.prototype._destroy) { - stream4.destroy(); - } else if (stream4._destroy && typeof stream4.close === "function") { - stream4.destroyed = true; - stream4.close(); - } else { - stream4.destroy(); - } - } else if (typeof stream4.close === "function") { - closeZlibStream(stream4); - } - } - function hasDestroy(stream4) { - return stream4 instanceof Stream && typeof stream4.destroy === "function"; - } - function isEventEmitter(val) { - return val instanceof EventEmitter2; - } - function isFsReadStream(stream4) { - return stream4 instanceof ReadStream; - } - function isZlibStream(stream4) { - return stream4 instanceof Zlib.Gzip || stream4 instanceof Zlib.Gunzip || stream4 instanceof Zlib.Deflate || stream4 instanceof Zlib.DeflateRaw || stream4 instanceof Zlib.Inflate || stream4 instanceof Zlib.InflateRaw || stream4 instanceof Zlib.Unzip; - } - function noop2() { - } - function onDrainClearBinding() { - this._binding.clear(); - } - function onOpenClose() { - if (typeof this.fd === "number") { - this.close(); - } - } - } -}); - -// node_modules/vary/index.js -var require_vary = __commonJS({ - "node_modules/vary/index.js"(exports2, module2) { - "use strict"; - module2.exports = vary; - module2.exports.append = append2; - var FIELD_NAME_REGEXP = /^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/; - function append2(header, field) { - if (typeof header !== "string") { - throw new TypeError("header argument is required"); - } - if (!field) { - throw new TypeError("field argument is required"); - } - var fields = !Array.isArray(field) ? parse(String(field)) : field; - for (var j = 0; j < fields.length; j++) { - if (!FIELD_NAME_REGEXP.test(fields[j])) { - throw new TypeError("field argument contains an invalid header name"); - } - } - if (header === "*") { - return header; - } - var val = header; - var vals = parse(header.toLowerCase()); - if (fields.indexOf("*") !== -1 || vals.indexOf("*") !== -1) { - return "*"; - } - for (var i = 0; i < fields.length; i++) { - var fld = fields[i].toLowerCase(); - if (vals.indexOf(fld) === -1) { - vals.push(fld); - val = val ? val + ", " + fields[i] : fields[i]; - } - } - return val; - } - function parse(header) { - var end = 0; - var list = []; - var start = 0; - for (var i = 0, len = header.length; i < len; i++) { - switch (header.charCodeAt(i)) { - case 32: - if (start === end) { - start = end = i + 1; - } - break; - case 44: - list.push(header.substring(start, end)); - start = end = i + 1; - break; - default: - end = i + 1; - break; - } - } - list.push(header.substring(start, end)); - return list; - } - function vary(res, field) { - if (!res || !res.getHeader || !res.setHeader) { - throw new TypeError("res argument is required"); - } - var val = res.getHeader("Vary") || ""; - var header = Array.isArray(val) ? val.join(", ") : String(val); - if (val = append2(header, field)) { - res.setHeader("Vary", val); - } - } - } -}); - -// node_modules/only/index.js -var require_only = __commonJS({ - "node_modules/only/index.js"(exports2, module2) { - module2.exports = function(obj, keys2) { - obj = obj || {}; - if ("string" == typeof keys2) - keys2 = keys2.split(/ +/); - return keys2.reduce(function(ret, key) { - if (null == obj[key]) - return ret; - ret[key] = obj[key]; - return ret; - }, {}); - }; - } -}); - -// node_modules/encodeurl/index.js -var require_encodeurl = __commonJS({ - "node_modules/encodeurl/index.js"(exports2, module2) { - "use strict"; - module2.exports = encodeUrl; - var ENCODE_CHARS_REGEXP = /(?:[^\x21\x25\x26-\x3B\x3D\x3F-\x5B\x5D\x5F\x61-\x7A\x7E]|%(?:[^0-9A-Fa-f]|[0-9A-Fa-f][^0-9A-Fa-f]|$))+/g; - var UNMATCHED_SURROGATE_PAIR_REGEXP = /(^|[^\uD800-\uDBFF])[\uDC00-\uDFFF]|[\uD800-\uDBFF]([^\uDC00-\uDFFF]|$)/g; - var UNMATCHED_SURROGATE_PAIR_REPLACE = "$1\uFFFD$2"; - function encodeUrl(url2) { - return String(url2).replace(UNMATCHED_SURROGATE_PAIR_REGEXP, UNMATCHED_SURROGATE_PAIR_REPLACE).replace(ENCODE_CHARS_REGEXP, encodeURI); - } - } -}); - -// node_modules/koa/lib/response.js -var require_response = __commonJS({ - "node_modules/koa/lib/response.js"(exports2, module2) { - "use strict"; - var contentDisposition = require_content_disposition(); - var getType = require_cache_content_type(); - var onFinish = require_on_finished(); - var escape2 = require_escape_html(); - var typeis = require_type_is().is; - var statuses = require_statuses(); - var destroy = require_destroy2(); - var assert = require("assert"); - var extname = require("path").extname; - var vary = require_vary(); - var only = require_only(); - var util2 = require("util"); - var encodeUrl = require_encodeurl(); - var Stream = require("stream"); - module2.exports = { - get socket() { - return this.res.socket; - }, - get header() { - const { res } = this; - return typeof res.getHeaders === "function" ? res.getHeaders() : res._headers || {}; - }, - get headers() { - return this.header; - }, - get status() { - return this.res.statusCode; - }, - set status(code) { - if (this.headerSent) - return; - assert(Number.isInteger(code), "status code must be a number"); - assert(code >= 100 && code <= 999, `invalid status code: ${code}`); - this._explicitStatus = true; - this.res.statusCode = code; - if (this.req.httpVersionMajor < 2) - this.res.statusMessage = statuses[code]; - if (this.body && statuses.empty[code]) - this.body = null; - }, - get message() { - return this.res.statusMessage || statuses[this.status]; - }, - set message(msg) { - this.res.statusMessage = msg; - }, - get body() { - return this._body; - }, - set body(val) { - const original = this._body; - this._body = val; - if (null == val) { - if (!statuses.empty[this.status]) - this.status = 204; - if (val === null) - this._explicitNullBody = true; - this.remove("Content-Type"); - this.remove("Content-Length"); - this.remove("Transfer-Encoding"); - return; - } - if (!this._explicitStatus) - this.status = 200; - const setType = !this.has("Content-Type"); - if ("string" === typeof val) { - if (setType) - this.type = /^\s* this.ctx.onerror(err)); - if (null != original) - this.remove("Content-Length"); - } - if (setType) - this.type = "bin"; - return; - } - this.remove("Content-Length"); - this.type = "json"; - }, - set length(n) { - if (!this.has("Transfer-Encoding")) { - this.set("Content-Length", n); - } - }, - get length() { - if (this.has("Content-Length")) { - return parseInt(this.get("Content-Length"), 10) || 0; - } - const { body } = this; - if (!body || body instanceof Stream) - return void 0; - if ("string" === typeof body) - return Buffer.byteLength(body); - if (Buffer.isBuffer(body)) - return body.length; - return Buffer.byteLength(JSON.stringify(body)); - }, - get headerSent() { - return this.res.headersSent; - }, - vary(field) { - if (this.headerSent) - return; - vary(this.res, field); - }, - redirect(url2, alt) { - if ("back" === url2) - url2 = this.ctx.get("Referrer") || alt || "/"; - this.set("Location", encodeUrl(url2)); - if (!statuses.redirect[this.status]) - this.status = 302; - if (this.ctx.accepts("html")) { - url2 = escape2(url2); - this.type = "text/html; charset=utf-8"; - this.body = `Redirecting to ${url2}.`; - return; - } - this.type = "text/plain; charset=utf-8"; - this.body = `Redirecting to ${url2}.`; - }, - attachment(filename, options) { - if (filename) - this.type = extname(filename); - this.set("Content-Disposition", contentDisposition(filename, options)); - }, - set type(type) { - type = getType(type); - if (type) { - this.set("Content-Type", type); - } else { - this.remove("Content-Type"); - } - }, - set lastModified(val) { - if ("string" === typeof val) - val = new Date(val); - this.set("Last-Modified", val.toUTCString()); - }, - get lastModified() { - const date = this.get("last-modified"); - if (date) - return new Date(date); - }, - set etag(val) { - if (!/^(W\/)?"/.test(val)) - val = `"${val}"`; - this.set("ETag", val); - }, - get etag() { - return this.get("ETag"); - }, - get type() { - const type = this.get("Content-Type"); - if (!type) - return ""; - return type.split(";", 1)[0]; - }, - is(type, ...types2) { - return typeis(this.type, type, ...types2); - }, - get(field) { - return this.header[field.toLowerCase()] || ""; - }, - has(field) { - return typeof this.res.hasHeader === "function" ? this.res.hasHeader(field) : field.toLowerCase() in this.headers; - }, - set(field, val) { - if (this.headerSent) - return; - if (2 === arguments.length) { - if (Array.isArray(val)) - val = val.map((v) => typeof v === "string" ? v : String(v)); - else if (typeof val !== "string") - val = String(val); - this.res.setHeader(field, val); - } else { - for (const key in field) { - this.set(key, field[key]); - } - } - }, - append(field, val) { - const prev = this.get(field); - if (prev) { - val = Array.isArray(prev) ? prev.concat(val) : [prev].concat(val); - } - return this.set(field, val); - }, - remove(field) { - if (this.headerSent) - return; - this.res.removeHeader(field); - }, - get writable() { - if (this.res.writableEnded || this.res.finished) - return false; - const socket = this.res.socket; - if (!socket) - return true; - return socket.writable; - }, - inspect() { - if (!this.res) - return; - const o = this.toJSON(); - o.body = this.body; - return o; - }, - toJSON() { - return only(this, [ - "status", - "message", - "header" - ]); - }, - flushHeaders() { - this.res.flushHeaders(); - } - }; - if (util2.inspect.custom) { - module2.exports[util2.inspect.custom] = module2.exports.inspect; - } - } -}); - -// node_modules/koa-compose/index.js -var require_koa_compose = __commonJS({ - "node_modules/koa-compose/index.js"(exports2, module2) { - "use strict"; - module2.exports = compose; - function compose(middleware) { - if (!Array.isArray(middleware)) - throw new TypeError("Middleware stack must be an array!"); - for (const fn2 of middleware) { - if (typeof fn2 !== "function") - throw new TypeError("Middleware must be composed of functions!"); - } - return function(context, next) { - let index = -1; - return dispatch(0); - function dispatch(i) { - if (i <= index) - return Promise.reject(new Error("next() called multiple times")); - index = i; - let fn2 = middleware[i]; - if (i === middleware.length) - fn2 = next; - if (!fn2) - return Promise.resolve(); - try { - return Promise.resolve(fn2(context, dispatch.bind(null, i + 1))); - } catch (err) { - return Promise.reject(err); - } - } - }; - } - } -}); - -// node_modules/koa/node_modules/http-errors/node_modules/depd/lib/compat/callsite-tostring.js -var require_callsite_tostring = __commonJS({ - "node_modules/koa/node_modules/http-errors/node_modules/depd/lib/compat/callsite-tostring.js"(exports2, module2) { - "use strict"; - module2.exports = callSiteToString2; - function callSiteFileLocation(callSite) { - var fileName; - var fileLocation = ""; - if (callSite.isNative()) { - fileLocation = "native"; - } else if (callSite.isEval()) { - fileName = callSite.getScriptNameOrSourceURL(); - if (!fileName) { - fileLocation = callSite.getEvalOrigin(); - } - } else { - fileName = callSite.getFileName(); - } - if (fileName) { - fileLocation += fileName; - var lineNumber = callSite.getLineNumber(); - if (lineNumber != null) { - fileLocation += ":" + lineNumber; - var columnNumber = callSite.getColumnNumber(); - if (columnNumber) { - fileLocation += ":" + columnNumber; - } - } - } - return fileLocation || "unknown source"; - } - function callSiteToString2(callSite) { - var addSuffix = true; - var fileLocation = callSiteFileLocation(callSite); - var functionName = callSite.getFunctionName(); - var isConstructor = callSite.isConstructor(); - var isMethodCall = !(callSite.isToplevel() || isConstructor); - var line = ""; - if (isMethodCall) { - var methodName = callSite.getMethodName(); - var typeName = getConstructorName(callSite); - if (functionName) { - if (typeName && functionName.indexOf(typeName) !== 0) { - line += typeName + "."; - } - line += functionName; - if (methodName && functionName.lastIndexOf("." + methodName) !== functionName.length - methodName.length - 1) { - line += " [as " + methodName + "]"; - } - } else { - line += typeName + "." + (methodName || ""); - } - } else if (isConstructor) { - line += "new " + (functionName || ""); - } else if (functionName) { - line += functionName; - } else { - addSuffix = false; - line += fileLocation; - } - if (addSuffix) { - line += " (" + fileLocation + ")"; - } - return line; - } - function getConstructorName(obj) { - var receiver = obj.receiver; - return receiver.constructor && receiver.constructor.name || null; - } - } -}); - -// node_modules/koa/node_modules/http-errors/node_modules/depd/lib/compat/event-listener-count.js -var require_event_listener_count = __commonJS({ - "node_modules/koa/node_modules/http-errors/node_modules/depd/lib/compat/event-listener-count.js"(exports2, module2) { - "use strict"; - module2.exports = eventListenerCount2; - function eventListenerCount2(emitter, type) { - return emitter.listeners(type).length; - } - } -}); - -// node_modules/koa/node_modules/http-errors/node_modules/depd/lib/compat/index.js -var require_compat = __commonJS({ - "node_modules/koa/node_modules/http-errors/node_modules/depd/lib/compat/index.js"(exports2, module2) { - "use strict"; - var EventEmitter2 = require("events").EventEmitter; - lazyProperty(module2.exports, "callSiteToString", function callSiteToString2() { - var limit = Error.stackTraceLimit; - var obj = {}; - var prep = Error.prepareStackTrace; - function prepareObjectStackTrace2(obj2, stack3) { - return stack3; - } - Error.prepareStackTrace = prepareObjectStackTrace2; - Error.stackTraceLimit = 2; - Error.captureStackTrace(obj); - var stack2 = obj.stack.slice(); - Error.prepareStackTrace = prep; - Error.stackTraceLimit = limit; - return stack2[0].toString ? toString3 : require_callsite_tostring(); - }); - lazyProperty(module2.exports, "eventListenerCount", function eventListenerCount2() { - return EventEmitter2.listenerCount || require_event_listener_count(); - }); - function lazyProperty(obj, prop, getter) { - function get() { - var val = getter(); - Object.defineProperty(obj, prop, { - configurable: true, - enumerable: true, - value: val - }); - return val; - } - Object.defineProperty(obj, prop, { - configurable: true, - enumerable: true, - get - }); - } - function toString3(obj) { - return obj.toString(); - } - } -}); - -// node_modules/koa/node_modules/http-errors/node_modules/depd/index.js -var require_depd = __commonJS({ - "node_modules/koa/node_modules/http-errors/node_modules/depd/index.js"(exports, module) { - var callSiteToString = require_compat().callSiteToString; - var eventListenerCount = require_compat().eventListenerCount; - var relative = require("path").relative; - module.exports = depd; - var basePath = process.cwd(); - function containsNamespace(str, namespace) { - var vals = str.split(/[ ,]+/); - var ns = String(namespace).toLowerCase(); - for (var i = 0; i < vals.length; i++) { - var val = vals[i]; - if (val && (val === "*" || val.toLowerCase() === ns)) { - return true; - } - } - return false; - } - function convertDataDescriptorToAccessor(obj, prop, message2) { - var descriptor = Object.getOwnPropertyDescriptor(obj, prop); - var value = descriptor.value; - descriptor.get = function getter() { - return value; - }; - if (descriptor.writable) { - descriptor.set = function setter(val) { - return value = val; - }; - } - delete descriptor.value; - delete descriptor.writable; - Object.defineProperty(obj, prop, descriptor); - return descriptor; - } - function createArgumentsString(arity) { - var str = ""; - for (var i = 0; i < arity; i++) { - str += ", arg" + i; - } - return str.substr(2); - } - function createStackString(stack2) { - var str = this.name + ": " + this.namespace; - if (this.message) { - str += " deprecated " + this.message; - } - for (var i = 0; i < stack2.length; i++) { - str += "\n at " + callSiteToString(stack2[i]); - } - return str; - } - function depd(namespace) { - if (!namespace) { - throw new TypeError("argument namespace is required"); - } - var stack2 = getStack(); - var site2 = callSiteLocation(stack2[1]); - var file = site2[0]; - function deprecate2(message2) { - log.call(deprecate2, message2); - } - deprecate2._file = file; - deprecate2._ignored = isignored(namespace); - deprecate2._namespace = namespace; - deprecate2._traced = istraced(namespace); - deprecate2._warned = /* @__PURE__ */ Object.create(null); - deprecate2.function = wrapfunction; - deprecate2.property = wrapproperty; - return deprecate2; - } - function isignored(namespace) { - if (process.noDeprecation) { - return true; - } - var str = process.env.NO_DEPRECATION || ""; - return containsNamespace(str, namespace); - } - function istraced(namespace) { - if (process.traceDeprecation) { - return true; - } - var str = process.env.TRACE_DEPRECATION || ""; - return containsNamespace(str, namespace); - } - function log(message2, site2) { - var haslisteners = eventListenerCount(process, "deprecation") !== 0; - if (!haslisteners && this._ignored) { - return; - } - var caller; - var callFile; - var callSite; - var depSite; - var i = 0; - var seen = false; - var stack2 = getStack(); - var file = this._file; - if (site2) { - depSite = site2; - callSite = callSiteLocation(stack2[1]); - callSite.name = depSite.name; - file = callSite[0]; - } else { - i = 2; - depSite = callSiteLocation(stack2[i]); - callSite = depSite; - } - for (; i < stack2.length; i++) { - caller = callSiteLocation(stack2[i]); - callFile = caller[0]; - if (callFile === file) { - seen = true; - } else if (callFile === this._file) { - file = this._file; - } else if (seen) { - break; - } - } - var key = caller ? depSite.join(":") + "__" + caller.join(":") : void 0; - if (key !== void 0 && key in this._warned) { - return; - } - this._warned[key] = true; - var msg = message2; - if (!msg) { - msg = callSite === depSite || !callSite.name ? defaultMessage(depSite) : defaultMessage(callSite); - } - if (haslisteners) { - var err = DeprecationError(this._namespace, msg, stack2.slice(i)); - process.emit("deprecation", err); - return; - } - var format2 = process.stderr.isTTY ? formatColor : formatPlain; - var output = format2.call(this, msg, caller, stack2.slice(i)); - process.stderr.write(output + "\n", "utf8"); - } - function callSiteLocation(callSite) { - var file = callSite.getFileName() || ""; - var line = callSite.getLineNumber(); - var colm = callSite.getColumnNumber(); - if (callSite.isEval()) { - file = callSite.getEvalOrigin() + ", " + file; - } - var site2 = [file, line, colm]; - site2.callSite = callSite; - site2.name = callSite.getFunctionName(); - return site2; - } - function defaultMessage(site2) { - var callSite = site2.callSite; - var funcName = site2.name; - if (!funcName) { - funcName = ""; - } - var context = callSite.getThis(); - var typeName = context && callSite.getTypeName(); - if (typeName === "Object") { - typeName = void 0; - } - if (typeName === "Function") { - typeName = context.name || typeName; - } - return typeName && callSite.getMethodName() ? typeName + "." + funcName : funcName; - } - function formatPlain(msg, caller, stack2) { - var timestamp2 = new Date().toUTCString(); - var formatted = timestamp2 + " " + this._namespace + " deprecated " + msg; - if (this._traced) { - for (var i = 0; i < stack2.length; i++) { - formatted += "\n at " + callSiteToString(stack2[i]); - } - return formatted; - } - if (caller) { - formatted += " at " + formatLocation(caller); - } - return formatted; - } - function formatColor(msg, caller, stack2) { - var formatted = "\x1B[36;1m" + this._namespace + "\x1B[22;39m \x1B[33;1mdeprecated\x1B[22;39m \x1B[0m" + msg + "\x1B[39m"; - if (this._traced) { - for (var i = 0; i < stack2.length; i++) { - formatted += "\n \x1B[36mat " + callSiteToString(stack2[i]) + "\x1B[39m"; - } - return formatted; - } - if (caller) { - formatted += " \x1B[36m" + formatLocation(caller) + "\x1B[39m"; - } - return formatted; - } - function formatLocation(callSite) { - return relative(basePath, callSite[0]) + ":" + callSite[1] + ":" + callSite[2]; - } - function getStack() { - var limit = Error.stackTraceLimit; - var obj = {}; - var prep = Error.prepareStackTrace; - Error.prepareStackTrace = prepareObjectStackTrace; - Error.stackTraceLimit = Math.max(10, limit); - Error.captureStackTrace(obj); - var stack2 = obj.stack.slice(1); - Error.prepareStackTrace = prep; - Error.stackTraceLimit = limit; - return stack2; - } - function prepareObjectStackTrace(obj, stack2) { - return stack2; - } - function wrapfunction(fn, message) { - if (typeof fn !== "function") { - throw new TypeError("argument fn must be a function"); - } - var args = createArgumentsString(fn.length); - var deprecate = this; - var stack = getStack(); - var site = callSiteLocation(stack[1]); - site.name = fn.name; - var deprecatedfn = eval("(function (" + args + ') {\n"use strict"\nlog.call(deprecate, message, site)\nreturn fn.apply(this, arguments)\n})'); - return deprecatedfn; - } - function wrapproperty(obj, prop, message2) { - if (!obj || typeof obj !== "object" && typeof obj !== "function") { - throw new TypeError("argument obj must be object"); - } - var descriptor = Object.getOwnPropertyDescriptor(obj, prop); - if (!descriptor) { - throw new TypeError("must call property on owner object"); - } - if (!descriptor.configurable) { - throw new TypeError("property must be configurable"); - } - var deprecate2 = this; - var stack2 = getStack(); - var site2 = callSiteLocation(stack2[1]); - site2.name = prop; - if ("value" in descriptor) { - descriptor = convertDataDescriptorToAccessor(obj, prop, message2); - } - var get = descriptor.get; - var set = descriptor.set; - if (typeof get === "function") { - descriptor.get = function getter() { - log.call(deprecate2, message2, site2); - return get.apply(this, arguments); - }; - } - if (typeof set === "function") { - descriptor.set = function setter() { - log.call(deprecate2, message2, site2); - return set.apply(this, arguments); - }; - } - Object.defineProperty(obj, prop, descriptor); - } - function DeprecationError(namespace, message2, stack2) { - var error = new Error(); - var stackString; - Object.defineProperty(error, "constructor", { - value: DeprecationError - }); - Object.defineProperty(error, "message", { - configurable: true, - enumerable: false, - value: message2, - writable: true - }); - Object.defineProperty(error, "name", { - enumerable: false, - configurable: true, - value: "DeprecationError", - writable: true - }); - Object.defineProperty(error, "namespace", { - configurable: true, - enumerable: false, - value: namespace, - writable: true - }); - Object.defineProperty(error, "stack", { - configurable: true, - enumerable: false, - get: function() { - if (stackString !== void 0) { - return stackString; - } - return stackString = createStackString.call(this, stack2); - }, - set: function setter(val) { - stackString = val; - } - }); - return error; - } - } -}); - -// node_modules/setprototypeof/index.js -var require_setprototypeof = __commonJS({ - "node_modules/setprototypeof/index.js"(exports2, module2) { - "use strict"; - module2.exports = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array ? setProtoOf : mixinProperties); - function setProtoOf(obj, proto) { - obj.__proto__ = proto; - return obj; - } - function mixinProperties(obj, proto) { - for (var prop in proto) { - if (!Object.prototype.hasOwnProperty.call(obj, prop)) { - obj[prop] = proto[prop]; - } - } - return obj; - } - } -}); - -// node_modules/toidentifier/index.js -var require_toidentifier = __commonJS({ - "node_modules/toidentifier/index.js"(exports2, module2) { - "use strict"; - module2.exports = toIdentifier; - function toIdentifier(str) { - return str.split(" ").map(function(token) { - return token.slice(0, 1).toUpperCase() + token.slice(1); - }).join("").replace(/[^ _0-9a-z]/gi, ""); - } - } -}); - -// node_modules/koa/node_modules/http-errors/index.js -var require_http_errors = __commonJS({ - "node_modules/koa/node_modules/http-errors/index.js"(exports2, module2) { - "use strict"; - var deprecate2 = require_depd()("http-errors"); - var setPrototypeOf = require_setprototypeof(); - var statuses = require_statuses(); - var inherits2 = require_inherits(); - var toIdentifier = require_toidentifier(); - module2.exports = createError; - module2.exports.HttpError = createHttpErrorConstructor(); - module2.exports.isHttpError = createIsHttpErrorFunction(module2.exports.HttpError); - populateConstructorExports(module2.exports, statuses.codes, module2.exports.HttpError); - function codeClass(status) { - return Number(String(status).charAt(0) + "00"); - } - function createError() { - var err; - var msg; - var status = 500; - var props = {}; - for (var i = 0; i < arguments.length; i++) { - var arg = arguments[i]; - if (arg instanceof Error) { - err = arg; - status = err.status || err.statusCode || status; - continue; - } - switch (typeof arg) { - case "string": - msg = arg; - break; - case "number": - status = arg; - if (i !== 0) { - deprecate2("non-first-argument status code; replace with createError(" + arg + ", ...)"); - } - break; - case "object": - props = arg; - break; - } - } - if (typeof status === "number" && (status < 400 || status >= 600)) { - deprecate2("non-error status code; use only 4xx or 5xx status codes"); - } - if (typeof status !== "number" || !statuses[status] && (status < 400 || status >= 600)) { - status = 500; - } - var HttpError2 = createError[status] || createError[codeClass(status)]; - if (!err) { - err = HttpError2 ? new HttpError2(msg) : new Error(msg || statuses[status]); - Error.captureStackTrace(err, createError); - } - if (!HttpError2 || !(err instanceof HttpError2) || err.status !== status) { - err.expose = status < 500; - err.status = err.statusCode = status; - } - for (var key in props) { - if (key !== "status" && key !== "statusCode") { - err[key] = props[key]; - } - } - return err; - } - function createHttpErrorConstructor() { - function HttpError2() { - throw new TypeError("cannot construct abstract class"); - } - inherits2(HttpError2, Error); - return HttpError2; - } - function createClientErrorConstructor(HttpError2, name, code) { - var className = toClassName(name); - function ClientError(message2) { - var msg = message2 != null ? message2 : statuses[code]; - var err = new Error(msg); - Error.captureStackTrace(err, ClientError); - setPrototypeOf(err, ClientError.prototype); - Object.defineProperty(err, "message", { - enumerable: true, - configurable: true, - value: msg, - writable: true - }); - Object.defineProperty(err, "name", { - enumerable: false, - configurable: true, - value: className, - writable: true - }); - return err; - } - inherits2(ClientError, HttpError2); - nameFunc(ClientError, className); - ClientError.prototype.status = code; - ClientError.prototype.statusCode = code; - ClientError.prototype.expose = true; - return ClientError; - } - function createIsHttpErrorFunction(HttpError2) { - return function isHttpError(val) { - if (!val || typeof val !== "object") { - return false; - } - if (val instanceof HttpError2) { - return true; - } - return val instanceof Error && typeof val.expose === "boolean" && typeof val.statusCode === "number" && val.status === val.statusCode; - }; - } - function createServerErrorConstructor(HttpError2, name, code) { - var className = toClassName(name); - function ServerError(message2) { - var msg = message2 != null ? message2 : statuses[code]; - var err = new Error(msg); - Error.captureStackTrace(err, ServerError); - setPrototypeOf(err, ServerError.prototype); - Object.defineProperty(err, "message", { - enumerable: true, - configurable: true, - value: msg, - writable: true - }); - Object.defineProperty(err, "name", { - enumerable: false, - configurable: true, - value: className, - writable: true - }); - return err; - } - inherits2(ServerError, HttpError2); - nameFunc(ServerError, className); - ServerError.prototype.status = code; - ServerError.prototype.statusCode = code; - ServerError.prototype.expose = false; - return ServerError; - } - function nameFunc(func, name) { - var desc = Object.getOwnPropertyDescriptor(func, "name"); - if (desc && desc.configurable) { - desc.value = name; - Object.defineProperty(func, "name", desc); - } - } - function populateConstructorExports(exports3, codes, HttpError2) { - codes.forEach(function forEachCode(code) { - var CodeError; - var name = toIdentifier(statuses[code]); - switch (codeClass(code)) { - case 400: - CodeError = createClientErrorConstructor(HttpError2, name, code); - break; - case 500: - CodeError = createServerErrorConstructor(HttpError2, name, code); - break; - } - if (CodeError) { - exports3[code] = CodeError; - exports3[name] = CodeError; - } - }); - exports3["I'mateapot"] = deprecate2.function( - exports3.ImATeapot, - `"I'mateapot"; use "ImATeapot" instead` - ); - } - function toClassName(name) { - return name.substr(-5) !== "Error" ? name + "Error" : name; - } - } -}); - -// node_modules/http-assert/node_modules/depd/lib/compat/callsite-tostring.js -var require_callsite_tostring2 = __commonJS({ - "node_modules/http-assert/node_modules/depd/lib/compat/callsite-tostring.js"(exports2, module2) { - "use strict"; - module2.exports = callSiteToString2; - function callSiteFileLocation(callSite) { - var fileName; - var fileLocation = ""; - if (callSite.isNative()) { - fileLocation = "native"; - } else if (callSite.isEval()) { - fileName = callSite.getScriptNameOrSourceURL(); - if (!fileName) { - fileLocation = callSite.getEvalOrigin(); - } - } else { - fileName = callSite.getFileName(); - } - if (fileName) { - fileLocation += fileName; - var lineNumber = callSite.getLineNumber(); - if (lineNumber != null) { - fileLocation += ":" + lineNumber; - var columnNumber = callSite.getColumnNumber(); - if (columnNumber) { - fileLocation += ":" + columnNumber; - } - } - } - return fileLocation || "unknown source"; - } - function callSiteToString2(callSite) { - var addSuffix = true; - var fileLocation = callSiteFileLocation(callSite); - var functionName = callSite.getFunctionName(); - var isConstructor = callSite.isConstructor(); - var isMethodCall = !(callSite.isToplevel() || isConstructor); - var line = ""; - if (isMethodCall) { - var methodName = callSite.getMethodName(); - var typeName = getConstructorName(callSite); - if (functionName) { - if (typeName && functionName.indexOf(typeName) !== 0) { - line += typeName + "."; - } - line += functionName; - if (methodName && functionName.lastIndexOf("." + methodName) !== functionName.length - methodName.length - 1) { - line += " [as " + methodName + "]"; - } - } else { - line += typeName + "." + (methodName || ""); - } - } else if (isConstructor) { - line += "new " + (functionName || ""); - } else if (functionName) { - line += functionName; - } else { - addSuffix = false; - line += fileLocation; - } - if (addSuffix) { - line += " (" + fileLocation + ")"; - } - return line; - } - function getConstructorName(obj) { - var receiver = obj.receiver; - return receiver.constructor && receiver.constructor.name || null; - } - } -}); - -// node_modules/http-assert/node_modules/depd/lib/compat/event-listener-count.js -var require_event_listener_count2 = __commonJS({ - "node_modules/http-assert/node_modules/depd/lib/compat/event-listener-count.js"(exports2, module2) { - "use strict"; - module2.exports = eventListenerCount2; - function eventListenerCount2(emitter, type) { - return emitter.listeners(type).length; - } - } -}); - -// node_modules/http-assert/node_modules/depd/lib/compat/index.js -var require_compat2 = __commonJS({ - "node_modules/http-assert/node_modules/depd/lib/compat/index.js"(exports2, module2) { - "use strict"; - var EventEmitter2 = require("events").EventEmitter; - lazyProperty(module2.exports, "callSiteToString", function callSiteToString2() { - var limit = Error.stackTraceLimit; - var obj = {}; - var prep = Error.prepareStackTrace; - function prepareObjectStackTrace2(obj2, stack3) { - return stack3; - } - Error.prepareStackTrace = prepareObjectStackTrace2; - Error.stackTraceLimit = 2; - Error.captureStackTrace(obj); - var stack2 = obj.stack.slice(); - Error.prepareStackTrace = prep; - Error.stackTraceLimit = limit; - return stack2[0].toString ? toString3 : require_callsite_tostring2(); - }); - lazyProperty(module2.exports, "eventListenerCount", function eventListenerCount2() { - return EventEmitter2.listenerCount || require_event_listener_count2(); - }); - function lazyProperty(obj, prop, getter) { - function get() { - var val = getter(); - Object.defineProperty(obj, prop, { - configurable: true, - enumerable: true, - value: val - }); - return val; - } - Object.defineProperty(obj, prop, { - configurable: true, - enumerable: true, - get - }); - } - function toString3(obj) { - return obj.toString(); - } - } -}); - -// node_modules/http-assert/node_modules/depd/index.js -var require_depd2 = __commonJS({ - "node_modules/http-assert/node_modules/depd/index.js"(exports, module) { - var callSiteToString = require_compat2().callSiteToString; - var eventListenerCount = require_compat2().eventListenerCount; - var relative = require("path").relative; - module.exports = depd; - var basePath = process.cwd(); - function containsNamespace(str, namespace) { - var vals = str.split(/[ ,]+/); - var ns = String(namespace).toLowerCase(); - for (var i = 0; i < vals.length; i++) { - var val = vals[i]; - if (val && (val === "*" || val.toLowerCase() === ns)) { - return true; - } - } - return false; - } - function convertDataDescriptorToAccessor(obj, prop, message2) { - var descriptor = Object.getOwnPropertyDescriptor(obj, prop); - var value = descriptor.value; - descriptor.get = function getter() { - return value; - }; - if (descriptor.writable) { - descriptor.set = function setter(val) { - return value = val; - }; - } - delete descriptor.value; - delete descriptor.writable; - Object.defineProperty(obj, prop, descriptor); - return descriptor; - } - function createArgumentsString(arity) { - var str = ""; - for (var i = 0; i < arity; i++) { - str += ", arg" + i; - } - return str.substr(2); - } - function createStackString(stack2) { - var str = this.name + ": " + this.namespace; - if (this.message) { - str += " deprecated " + this.message; - } - for (var i = 0; i < stack2.length; i++) { - str += "\n at " + callSiteToString(stack2[i]); - } - return str; - } - function depd(namespace) { - if (!namespace) { - throw new TypeError("argument namespace is required"); - } - var stack2 = getStack(); - var site2 = callSiteLocation(stack2[1]); - var file = site2[0]; - function deprecate2(message2) { - log.call(deprecate2, message2); - } - deprecate2._file = file; - deprecate2._ignored = isignored(namespace); - deprecate2._namespace = namespace; - deprecate2._traced = istraced(namespace); - deprecate2._warned = /* @__PURE__ */ Object.create(null); - deprecate2.function = wrapfunction; - deprecate2.property = wrapproperty; - return deprecate2; - } - function isignored(namespace) { - if (process.noDeprecation) { - return true; - } - var str = process.env.NO_DEPRECATION || ""; - return containsNamespace(str, namespace); - } - function istraced(namespace) { - if (process.traceDeprecation) { - return true; - } - var str = process.env.TRACE_DEPRECATION || ""; - return containsNamespace(str, namespace); - } - function log(message2, site2) { - var haslisteners = eventListenerCount(process, "deprecation") !== 0; - if (!haslisteners && this._ignored) { - return; - } - var caller; - var callFile; - var callSite; - var depSite; - var i = 0; - var seen = false; - var stack2 = getStack(); - var file = this._file; - if (site2) { - depSite = site2; - callSite = callSiteLocation(stack2[1]); - callSite.name = depSite.name; - file = callSite[0]; - } else { - i = 2; - depSite = callSiteLocation(stack2[i]); - callSite = depSite; - } - for (; i < stack2.length; i++) { - caller = callSiteLocation(stack2[i]); - callFile = caller[0]; - if (callFile === file) { - seen = true; - } else if (callFile === this._file) { - file = this._file; - } else if (seen) { - break; - } - } - var key = caller ? depSite.join(":") + "__" + caller.join(":") : void 0; - if (key !== void 0 && key in this._warned) { - return; - } - this._warned[key] = true; - var msg = message2; - if (!msg) { - msg = callSite === depSite || !callSite.name ? defaultMessage(depSite) : defaultMessage(callSite); - } - if (haslisteners) { - var err = DeprecationError(this._namespace, msg, stack2.slice(i)); - process.emit("deprecation", err); - return; - } - var format2 = process.stderr.isTTY ? formatColor : formatPlain; - var output = format2.call(this, msg, caller, stack2.slice(i)); - process.stderr.write(output + "\n", "utf8"); - } - function callSiteLocation(callSite) { - var file = callSite.getFileName() || ""; - var line = callSite.getLineNumber(); - var colm = callSite.getColumnNumber(); - if (callSite.isEval()) { - file = callSite.getEvalOrigin() + ", " + file; - } - var site2 = [file, line, colm]; - site2.callSite = callSite; - site2.name = callSite.getFunctionName(); - return site2; - } - function defaultMessage(site2) { - var callSite = site2.callSite; - var funcName = site2.name; - if (!funcName) { - funcName = ""; - } - var context = callSite.getThis(); - var typeName = context && callSite.getTypeName(); - if (typeName === "Object") { - typeName = void 0; - } - if (typeName === "Function") { - typeName = context.name || typeName; - } - return typeName && callSite.getMethodName() ? typeName + "." + funcName : funcName; - } - function formatPlain(msg, caller, stack2) { - var timestamp2 = new Date().toUTCString(); - var formatted = timestamp2 + " " + this._namespace + " deprecated " + msg; - if (this._traced) { - for (var i = 0; i < stack2.length; i++) { - formatted += "\n at " + callSiteToString(stack2[i]); - } - return formatted; - } - if (caller) { - formatted += " at " + formatLocation(caller); - } - return formatted; - } - function formatColor(msg, caller, stack2) { - var formatted = "\x1B[36;1m" + this._namespace + "\x1B[22;39m \x1B[33;1mdeprecated\x1B[22;39m \x1B[0m" + msg + "\x1B[39m"; - if (this._traced) { - for (var i = 0; i < stack2.length; i++) { - formatted += "\n \x1B[36mat " + callSiteToString(stack2[i]) + "\x1B[39m"; - } - return formatted; - } - if (caller) { - formatted += " \x1B[36m" + formatLocation(caller) + "\x1B[39m"; - } - return formatted; - } - function formatLocation(callSite) { - return relative(basePath, callSite[0]) + ":" + callSite[1] + ":" + callSite[2]; - } - function getStack() { - var limit = Error.stackTraceLimit; - var obj = {}; - var prep = Error.prepareStackTrace; - Error.prepareStackTrace = prepareObjectStackTrace; - Error.stackTraceLimit = Math.max(10, limit); - Error.captureStackTrace(obj); - var stack2 = obj.stack.slice(1); - Error.prepareStackTrace = prep; - Error.stackTraceLimit = limit; - return stack2; - } - function prepareObjectStackTrace(obj, stack2) { - return stack2; - } - function wrapfunction(fn, message) { - if (typeof fn !== "function") { - throw new TypeError("argument fn must be a function"); - } - var args = createArgumentsString(fn.length); - var deprecate = this; - var stack = getStack(); - var site = callSiteLocation(stack[1]); - site.name = fn.name; - var deprecatedfn = eval("(function (" + args + ') {\n"use strict"\nlog.call(deprecate, message, site)\nreturn fn.apply(this, arguments)\n})'); - return deprecatedfn; - } - function wrapproperty(obj, prop, message2) { - if (!obj || typeof obj !== "object" && typeof obj !== "function") { - throw new TypeError("argument obj must be object"); - } - var descriptor = Object.getOwnPropertyDescriptor(obj, prop); - if (!descriptor) { - throw new TypeError("must call property on owner object"); - } - if (!descriptor.configurable) { - throw new TypeError("property must be configurable"); - } - var deprecate2 = this; - var stack2 = getStack(); - var site2 = callSiteLocation(stack2[1]); - site2.name = prop; - if ("value" in descriptor) { - descriptor = convertDataDescriptorToAccessor(obj, prop, message2); - } - var get = descriptor.get; - var set = descriptor.set; - if (typeof get === "function") { - descriptor.get = function getter() { - log.call(deprecate2, message2, site2); - return get.apply(this, arguments); - }; - } - if (typeof set === "function") { - descriptor.set = function setter() { - log.call(deprecate2, message2, site2); - return set.apply(this, arguments); - }; - } - Object.defineProperty(obj, prop, descriptor); - } - function DeprecationError(namespace, message2, stack2) { - var error = new Error(); - var stackString; - Object.defineProperty(error, "constructor", { - value: DeprecationError - }); - Object.defineProperty(error, "message", { - configurable: true, - enumerable: false, - value: message2, - writable: true - }); - Object.defineProperty(error, "name", { - enumerable: false, - configurable: true, - value: "DeprecationError", - writable: true - }); - Object.defineProperty(error, "namespace", { - configurable: true, - enumerable: false, - value: namespace, - writable: true - }); - Object.defineProperty(error, "stack", { - configurable: true, - enumerable: false, - get: function() { - if (stackString !== void 0) { - return stackString; - } - return stackString = createStackString.call(this, stack2); - }, - set: function setter(val) { - stackString = val; - } - }); - return error; - } - } -}); - -// node_modules/http-assert/node_modules/statuses/codes.json -var require_codes2 = __commonJS({ - "node_modules/http-assert/node_modules/statuses/codes.json"(exports2, module2) { - module2.exports = { - "100": "Continue", - "101": "Switching Protocols", - "102": "Processing", - "103": "Early Hints", - "200": "OK", - "201": "Created", - "202": "Accepted", - "203": "Non-Authoritative Information", - "204": "No Content", - "205": "Reset Content", - "206": "Partial Content", - "207": "Multi-Status", - "208": "Already Reported", - "226": "IM Used", - "300": "Multiple Choices", - "301": "Moved Permanently", - "302": "Found", - "303": "See Other", - "304": "Not Modified", - "305": "Use Proxy", - "306": "(Unused)", - "307": "Temporary Redirect", - "308": "Permanent Redirect", - "400": "Bad Request", - "401": "Unauthorized", - "402": "Payment Required", - "403": "Forbidden", - "404": "Not Found", - "405": "Method Not Allowed", - "406": "Not Acceptable", - "407": "Proxy Authentication Required", - "408": "Request Timeout", - "409": "Conflict", - "410": "Gone", - "411": "Length Required", - "412": "Precondition Failed", - "413": "Payload Too Large", - "414": "URI Too Long", - "415": "Unsupported Media Type", - "416": "Range Not Satisfiable", - "417": "Expectation Failed", - "418": "I'm a teapot", - "421": "Misdirected Request", - "422": "Unprocessable Entity", - "423": "Locked", - "424": "Failed Dependency", - "425": "Unordered Collection", - "426": "Upgrade Required", - "428": "Precondition Required", - "429": "Too Many Requests", - "431": "Request Header Fields Too Large", - "451": "Unavailable For Legal Reasons", - "500": "Internal Server Error", - "501": "Not Implemented", - "502": "Bad Gateway", - "503": "Service Unavailable", - "504": "Gateway Timeout", - "505": "HTTP Version Not Supported", - "506": "Variant Also Negotiates", - "507": "Insufficient Storage", - "508": "Loop Detected", - "509": "Bandwidth Limit Exceeded", - "510": "Not Extended", - "511": "Network Authentication Required" - }; - } -}); - -// node_modules/http-assert/node_modules/statuses/index.js -var require_statuses2 = __commonJS({ - "node_modules/http-assert/node_modules/statuses/index.js"(exports2, module2) { - "use strict"; - var codes = require_codes2(); - module2.exports = status; - status.STATUS_CODES = codes; - status.codes = populateStatusesMap(status, codes); - status.redirect = { - 300: true, - 301: true, - 302: true, - 303: true, - 305: true, - 307: true, - 308: true - }; - status.empty = { - 204: true, - 205: true, - 304: true - }; - status.retry = { - 502: true, - 503: true, - 504: true - }; - function populateStatusesMap(statuses, codes2) { - var arr = []; - Object.keys(codes2).forEach(function forEachCode(code) { - var message2 = codes2[code]; - var status2 = Number(code); - statuses[status2] = message2; - statuses[message2] = status2; - statuses[message2.toLowerCase()] = status2; - arr.push(status2); - }); - return arr; - } - function status(code) { - if (typeof code === "number") { - if (!status[code]) - throw new Error("invalid status code: " + code); - return code; - } - if (typeof code !== "string") { - throw new TypeError("code must be a number or string"); - } - var n = parseInt(code, 10); - if (!isNaN(n)) { - if (!status[n]) - throw new Error("invalid status code: " + n); - return n; - } - n = status[code.toLowerCase()]; - if (!n) - throw new Error('invalid status message: "' + code + '"'); - return n; - } - } -}); - -// node_modules/http-assert/node_modules/http-errors/index.js -var require_http_errors2 = __commonJS({ - "node_modules/http-assert/node_modules/http-errors/index.js"(exports2, module2) { - "use strict"; - var deprecate2 = require_depd2()("http-errors"); - var setPrototypeOf = require_setprototypeof(); - var statuses = require_statuses2(); - var inherits2 = require_inherits(); - var toIdentifier = require_toidentifier(); - module2.exports = createError; - module2.exports.HttpError = createHttpErrorConstructor(); - module2.exports.isHttpError = createIsHttpErrorFunction(module2.exports.HttpError); - populateConstructorExports(module2.exports, statuses.codes, module2.exports.HttpError); - function codeClass(status) { - return Number(String(status).charAt(0) + "00"); - } - function createError() { - var err; - var msg; - var status = 500; - var props = {}; - for (var i = 0; i < arguments.length; i++) { - var arg = arguments[i]; - if (arg instanceof Error) { - err = arg; - status = err.status || err.statusCode || status; - continue; - } - switch (typeof arg) { - case "string": - msg = arg; - break; - case "number": - status = arg; - if (i !== 0) { - deprecate2("non-first-argument status code; replace with createError(" + arg + ", ...)"); - } - break; - case "object": - props = arg; - break; - } - } - if (typeof status === "number" && (status < 400 || status >= 600)) { - deprecate2("non-error status code; use only 4xx or 5xx status codes"); - } - if (typeof status !== "number" || !statuses[status] && (status < 400 || status >= 600)) { - status = 500; - } - var HttpError2 = createError[status] || createError[codeClass(status)]; - if (!err) { - err = HttpError2 ? new HttpError2(msg) : new Error(msg || statuses[status]); - Error.captureStackTrace(err, createError); - } - if (!HttpError2 || !(err instanceof HttpError2) || err.status !== status) { - err.expose = status < 500; - err.status = err.statusCode = status; - } - for (var key in props) { - if (key !== "status" && key !== "statusCode") { - err[key] = props[key]; - } - } - return err; - } - function createHttpErrorConstructor() { - function HttpError2() { - throw new TypeError("cannot construct abstract class"); - } - inherits2(HttpError2, Error); - return HttpError2; - } - function createClientErrorConstructor(HttpError2, name, code) { - var className = toClassName(name); - function ClientError(message2) { - var msg = message2 != null ? message2 : statuses[code]; - var err = new Error(msg); - Error.captureStackTrace(err, ClientError); - setPrototypeOf(err, ClientError.prototype); - Object.defineProperty(err, "message", { - enumerable: true, - configurable: true, - value: msg, - writable: true - }); - Object.defineProperty(err, "name", { - enumerable: false, - configurable: true, - value: className, - writable: true - }); - return err; - } - inherits2(ClientError, HttpError2); - nameFunc(ClientError, className); - ClientError.prototype.status = code; - ClientError.prototype.statusCode = code; - ClientError.prototype.expose = true; - return ClientError; - } - function createIsHttpErrorFunction(HttpError2) { - return function isHttpError(val) { - if (!val || typeof val !== "object") { - return false; - } - if (val instanceof HttpError2) { - return true; - } - return val instanceof Error && typeof val.expose === "boolean" && typeof val.statusCode === "number" && val.status === val.statusCode; - }; - } - function createServerErrorConstructor(HttpError2, name, code) { - var className = toClassName(name); - function ServerError(message2) { - var msg = message2 != null ? message2 : statuses[code]; - var err = new Error(msg); - Error.captureStackTrace(err, ServerError); - setPrototypeOf(err, ServerError.prototype); - Object.defineProperty(err, "message", { - enumerable: true, - configurable: true, - value: msg, - writable: true - }); - Object.defineProperty(err, "name", { - enumerable: false, - configurable: true, - value: className, - writable: true - }); - return err; - } - inherits2(ServerError, HttpError2); - nameFunc(ServerError, className); - ServerError.prototype.status = code; - ServerError.prototype.statusCode = code; - ServerError.prototype.expose = false; - return ServerError; - } - function nameFunc(func, name) { - var desc = Object.getOwnPropertyDescriptor(func, "name"); - if (desc && desc.configurable) { - desc.value = name; - Object.defineProperty(func, "name", desc); - } - } - function populateConstructorExports(exports3, codes, HttpError2) { - codes.forEach(function forEachCode(code) { - var CodeError; - var name = toIdentifier(statuses[code]); - switch (codeClass(code)) { - case 400: - CodeError = createClientErrorConstructor(HttpError2, name, code); - break; - case 500: - CodeError = createServerErrorConstructor(HttpError2, name, code); - break; - } - if (CodeError) { - exports3[code] = CodeError; - exports3[name] = CodeError; - } - }); - exports3["I'mateapot"] = deprecate2.function( - exports3.ImATeapot, - `"I'mateapot"; use "ImATeapot" instead` - ); - } - function toClassName(name) { - return name.substr(-5) !== "Error" ? name + "Error" : name; - } - } -}); - -// node_modules/deep-equal/lib/keys.js -var require_keys = __commonJS({ - "node_modules/deep-equal/lib/keys.js"(exports2, module2) { - exports2 = module2.exports = typeof Object.keys === "function" ? Object.keys : shim; - exports2.shim = shim; - function shim(obj) { - var keys2 = []; - for (var key in obj) - keys2.push(key); - return keys2; - } - } -}); - -// node_modules/deep-equal/lib/is_arguments.js -var require_is_arguments = __commonJS({ - "node_modules/deep-equal/lib/is_arguments.js"(exports2, module2) { - var supportsArgumentsClass = function() { - return Object.prototype.toString.call(arguments); - }() == "[object Arguments]"; - exports2 = module2.exports = supportsArgumentsClass ? supported : unsupported; - exports2.supported = supported; - function supported(object) { - return Object.prototype.toString.call(object) == "[object Arguments]"; - } - exports2.unsupported = unsupported; - function unsupported(object) { - return object && typeof object == "object" && typeof object.length == "number" && Object.prototype.hasOwnProperty.call(object, "callee") && !Object.prototype.propertyIsEnumerable.call(object, "callee") || false; - } - } -}); - -// node_modules/deep-equal/index.js -var require_deep_equal = __commonJS({ - "node_modules/deep-equal/index.js"(exports2, module2) { - var pSlice = Array.prototype.slice; - var objectKeys = require_keys(); - var isArguments = require_is_arguments(); - var deepEqual = module2.exports = function(actual, expected, opts) { - if (!opts) - opts = {}; - if (actual === expected) { - return true; - } else if (actual instanceof Date && expected instanceof Date) { - return actual.getTime() === expected.getTime(); - } else if (!actual || !expected || typeof actual != "object" && typeof expected != "object") { - return opts.strict ? actual === expected : actual == expected; - } else { - return objEquiv(actual, expected, opts); - } - }; - function isUndefinedOrNull(value) { - return value === null || value === void 0; - } - function isBuffer2(x) { - if (!x || typeof x !== "object" || typeof x.length !== "number") - return false; - if (typeof x.copy !== "function" || typeof x.slice !== "function") { - return false; - } - if (x.length > 0 && typeof x[0] !== "number") - return false; - return true; - } - function objEquiv(a, b, opts) { - var i, key; - if (isUndefinedOrNull(a) || isUndefinedOrNull(b)) - return false; - if (a.prototype !== b.prototype) - return false; - if (isArguments(a)) { - if (!isArguments(b)) { - return false; - } - a = pSlice.call(a); - b = pSlice.call(b); - return deepEqual(a, b, opts); - } - if (isBuffer2(a)) { - if (!isBuffer2(b)) { - return false; - } - if (a.length !== b.length) - return false; - for (i = 0; i < a.length; i++) { - if (a[i] !== b[i]) - return false; - } - return true; - } - try { - var ka = objectKeys(a), kb = objectKeys(b); - } catch (e) { - return false; - } - if (ka.length != kb.length) - return false; - ka.sort(); - kb.sort(); - for (i = ka.length - 1; i >= 0; i--) { - if (ka[i] != kb[i]) - return false; - } - for (i = ka.length - 1; i >= 0; i--) { - key = ka[i]; - if (!deepEqual(a[key], b[key], opts)) - return false; - } - return typeof a === typeof b; - } - } -}); - -// node_modules/http-assert/index.js -var require_http_assert = __commonJS({ - "node_modules/http-assert/index.js"(exports2, module2) { - var createError = require_http_errors2(); - var eql = require_deep_equal(); - module2.exports = assert; - function assert(value, status, msg, opts) { - if (value) - return; - throw createError(status, msg, opts); - } - assert.fail = function(status, msg, opts) { - assert(false, status, msg, opts); - }; - assert.equal = function(a, b, status, msg, opts) { - assert(a == b, status, msg, opts); - }; - assert.notEqual = function(a, b, status, msg, opts) { - assert(a != b, status, msg, opts); - }; - assert.ok = function(value, status, msg, opts) { - assert(value, status, msg, opts); - }; - assert.strictEqual = function(a, b, status, msg, opts) { - assert(a === b, status, msg, opts); - }; - assert.notStrictEqual = function(a, b, status, msg, opts) { - assert(a !== b, status, msg, opts); - }; - assert.deepEqual = function(a, b, status, msg, opts) { - assert(eql(a, b), status, msg, opts); - }; - assert.notDeepEqual = function(a, b, status, msg, opts) { - assert(!eql(a, b), status, msg, opts); - }; - } -}); - -// node_modules/delegates/index.js -var require_delegates = __commonJS({ - "node_modules/delegates/index.js"(exports2, module2) { - module2.exports = Delegator; - function Delegator(proto, target) { - if (!(this instanceof Delegator)) - return new Delegator(proto, target); - this.proto = proto; - this.target = target; - this.methods = []; - this.getters = []; - this.setters = []; - this.fluents = []; - } - Delegator.prototype.method = function(name) { - var proto = this.proto; - var target = this.target; - this.methods.push(name); - proto[name] = function() { - return this[target][name].apply(this[target], arguments); - }; - return this; - }; - Delegator.prototype.access = function(name) { - return this.getter(name).setter(name); - }; - Delegator.prototype.getter = function(name) { - var proto = this.proto; - var target = this.target; - this.getters.push(name); - proto.__defineGetter__(name, function() { - return this[target][name]; - }); - return this; - }; - Delegator.prototype.setter = function(name) { - var proto = this.proto; - var target = this.target; - this.setters.push(name); - proto.__defineSetter__(name, function(val) { - return this[target][name] = val; - }); - return this; - }; - Delegator.prototype.fluent = function(name) { - var proto = this.proto; - var target = this.target; - this.fluents.push(name); - proto[name] = function(val) { - if ("undefined" != typeof val) { - this[target][name] = val; - return this; - } else { - return this[target][name]; - } - }; - return this; - }; - } -}); - -// node_modules/depd/index.js -var require_depd3 = __commonJS({ - "node_modules/depd/index.js"(exports2, module2) { - var relative2 = require("path").relative; - module2.exports = depd2; - var basePath2 = process.cwd(); - function containsNamespace2(str, namespace) { - var vals = str.split(/[ ,]+/); - var ns = String(namespace).toLowerCase(); - for (var i = 0; i < vals.length; i++) { - var val = vals[i]; - if (val && (val === "*" || val.toLowerCase() === ns)) { - return true; - } - } - return false; - } - function convertDataDescriptorToAccessor2(obj, prop, message2) { - var descriptor = Object.getOwnPropertyDescriptor(obj, prop); - var value = descriptor.value; - descriptor.get = function getter() { - return value; - }; - if (descriptor.writable) { - descriptor.set = function setter(val) { - return value = val; - }; - } - delete descriptor.value; - delete descriptor.writable; - Object.defineProperty(obj, prop, descriptor); - return descriptor; - } - function createArgumentsString2(arity) { - var str = ""; - for (var i = 0; i < arity; i++) { - str += ", arg" + i; - } - return str.substr(2); - } - function createStackString2(stack2) { - var str = this.name + ": " + this.namespace; - if (this.message) { - str += " deprecated " + this.message; - } - for (var i = 0; i < stack2.length; i++) { - str += "\n at " + stack2[i].toString(); - } - return str; - } - function depd2(namespace) { - if (!namespace) { - throw new TypeError("argument namespace is required"); - } - var stack2 = getStack2(); - var site2 = callSiteLocation2(stack2[1]); - var file = site2[0]; - function deprecate2(message2) { - log2.call(deprecate2, message2); - } - deprecate2._file = file; - deprecate2._ignored = isignored2(namespace); - deprecate2._namespace = namespace; - deprecate2._traced = istraced2(namespace); - deprecate2._warned = /* @__PURE__ */ Object.create(null); - deprecate2.function = wrapfunction2; - deprecate2.property = wrapproperty2; - return deprecate2; - } - function eehaslisteners(emitter, type) { - var count = typeof emitter.listenerCount !== "function" ? emitter.listeners(type).length : emitter.listenerCount(type); - return count > 0; - } - function isignored2(namespace) { - if (process.noDeprecation) { - return true; - } - var str = process.env.NO_DEPRECATION || ""; - return containsNamespace2(str, namespace); - } - function istraced2(namespace) { - if (process.traceDeprecation) { - return true; - } - var str = process.env.TRACE_DEPRECATION || ""; - return containsNamespace2(str, namespace); - } - function log2(message2, site2) { - var haslisteners = eehaslisteners(process, "deprecation"); - if (!haslisteners && this._ignored) { - return; - } - var caller; - var callFile; - var callSite; - var depSite; - var i = 0; - var seen = false; - var stack2 = getStack2(); - var file = this._file; - if (site2) { - depSite = site2; - callSite = callSiteLocation2(stack2[1]); - callSite.name = depSite.name; - file = callSite[0]; - } else { - i = 2; - depSite = callSiteLocation2(stack2[i]); - callSite = depSite; - } - for (; i < stack2.length; i++) { - caller = callSiteLocation2(stack2[i]); - callFile = caller[0]; - if (callFile === file) { - seen = true; - } else if (callFile === this._file) { - file = this._file; - } else if (seen) { - break; - } - } - var key = caller ? depSite.join(":") + "__" + caller.join(":") : void 0; - if (key !== void 0 && key in this._warned) { - return; - } - this._warned[key] = true; - var msg = message2; - if (!msg) { - msg = callSite === depSite || !callSite.name ? defaultMessage2(depSite) : defaultMessage2(callSite); - } - if (haslisteners) { - var err = DeprecationError2(this._namespace, msg, stack2.slice(i)); - process.emit("deprecation", err); - return; - } - var format2 = process.stderr.isTTY ? formatColor2 : formatPlain2; - var output = format2.call(this, msg, caller, stack2.slice(i)); - process.stderr.write(output + "\n", "utf8"); - } - function callSiteLocation2(callSite) { - var file = callSite.getFileName() || ""; - var line = callSite.getLineNumber(); - var colm = callSite.getColumnNumber(); - if (callSite.isEval()) { - file = callSite.getEvalOrigin() + ", " + file; - } - var site2 = [file, line, colm]; - site2.callSite = callSite; - site2.name = callSite.getFunctionName(); - return site2; - } - function defaultMessage2(site2) { - var callSite = site2.callSite; - var funcName = site2.name; - if (!funcName) { - funcName = ""; - } - var context = callSite.getThis(); - var typeName = context && callSite.getTypeName(); - if (typeName === "Object") { - typeName = void 0; - } - if (typeName === "Function") { - typeName = context.name || typeName; - } - return typeName && callSite.getMethodName() ? typeName + "." + funcName : funcName; - } - function formatPlain2(msg, caller, stack2) { - var timestamp2 = new Date().toUTCString(); - var formatted = timestamp2 + " " + this._namespace + " deprecated " + msg; - if (this._traced) { - for (var i = 0; i < stack2.length; i++) { - formatted += "\n at " + stack2[i].toString(); - } - return formatted; - } - if (caller) { - formatted += " at " + formatLocation2(caller); - } - return formatted; - } - function formatColor2(msg, caller, stack2) { - var formatted = "\x1B[36;1m" + this._namespace + "\x1B[22;39m \x1B[33;1mdeprecated\x1B[22;39m \x1B[0m" + msg + "\x1B[39m"; - if (this._traced) { - for (var i = 0; i < stack2.length; i++) { - formatted += "\n \x1B[36mat " + stack2[i].toString() + "\x1B[39m"; - } - return formatted; - } - if (caller) { - formatted += " \x1B[36m" + formatLocation2(caller) + "\x1B[39m"; - } - return formatted; - } - function formatLocation2(callSite) { - return relative2(basePath2, callSite[0]) + ":" + callSite[1] + ":" + callSite[2]; - } - function getStack2() { - var limit = Error.stackTraceLimit; - var obj = {}; - var prep = Error.prepareStackTrace; - Error.prepareStackTrace = prepareObjectStackTrace2; - Error.stackTraceLimit = Math.max(10, limit); - Error.captureStackTrace(obj); - var stack2 = obj.stack.slice(1); - Error.prepareStackTrace = prep; - Error.stackTraceLimit = limit; - return stack2; - } - function prepareObjectStackTrace2(obj, stack2) { - return stack2; - } - function wrapfunction2(fn2, message2) { - if (typeof fn2 !== "function") { - throw new TypeError("argument fn must be a function"); - } - var args2 = createArgumentsString2(fn2.length); - var stack2 = getStack2(); - var site2 = callSiteLocation2(stack2[1]); - site2.name = fn2.name; - var deprecatedfn2 = new Function( - "fn", - "log", - "deprecate", - "message", - "site", - '"use strict"\nreturn function (' + args2 + ") {log.call(deprecate, message, site)\nreturn fn.apply(this, arguments)\n}" - )(fn2, log2, this, message2, site2); - return deprecatedfn2; - } - function wrapproperty2(obj, prop, message2) { - if (!obj || typeof obj !== "object" && typeof obj !== "function") { - throw new TypeError("argument obj must be object"); - } - var descriptor = Object.getOwnPropertyDescriptor(obj, prop); - if (!descriptor) { - throw new TypeError("must call property on owner object"); - } - if (!descriptor.configurable) { - throw new TypeError("property must be configurable"); - } - var deprecate2 = this; - var stack2 = getStack2(); - var site2 = callSiteLocation2(stack2[1]); - site2.name = prop; - if ("value" in descriptor) { - descriptor = convertDataDescriptorToAccessor2(obj, prop, message2); - } - var get = descriptor.get; - var set = descriptor.set; - if (typeof get === "function") { - descriptor.get = function getter() { - log2.call(deprecate2, message2, site2); - return get.apply(this, arguments); - }; - } - if (typeof set === "function") { - descriptor.set = function setter() { - log2.call(deprecate2, message2, site2); - return set.apply(this, arguments); - }; - } - Object.defineProperty(obj, prop, descriptor); - } - function DeprecationError2(namespace, message2, stack2) { - var error = new Error(); - var stackString; - Object.defineProperty(error, "constructor", { - value: DeprecationError2 - }); - Object.defineProperty(error, "message", { - configurable: true, - enumerable: false, - value: message2, - writable: true - }); - Object.defineProperty(error, "name", { - enumerable: false, - configurable: true, - value: "DeprecationError", - writable: true - }); - Object.defineProperty(error, "namespace", { - configurable: true, - enumerable: false, - value: namespace, - writable: true - }); - Object.defineProperty(error, "stack", { - configurable: true, - enumerable: false, - get: function() { - if (stackString !== void 0) { - return stackString; - } - return stackString = createStackString2.call(this, stack2); - }, - set: function setter(val) { - stackString = val; - } - }); - return error; - } - } -}); - -// node_modules/tsscmp/lib/index.js -var require_lib = __commonJS({ - "node_modules/tsscmp/lib/index.js"(exports2, module2) { - "use strict"; - var crypto4 = require("crypto"); - function bufferEqual(a, b) { - if (a.length !== b.length) { - return false; - } - if (crypto4.timingSafeEqual) { - return crypto4.timingSafeEqual(a, b); - } - for (var i = 0; i < a.length; i++) { - if (a[i] !== b[i]) { - return false; - } - } - return true; - } - function timeSafeCompare(a, b) { - var sa = String(a); - var sb = String(b); - var key = crypto4.pseudoRandomBytes(32); - var ah = crypto4.createHmac("sha256", key).update(sa).digest(); - var bh = crypto4.createHmac("sha256", key).update(sb).digest(); - return bufferEqual(ah, bh) && a === b; - } - module2.exports = timeSafeCompare; - } -}); - -// node_modules/keygrip/index.js -var require_keygrip = __commonJS({ - "node_modules/keygrip/index.js"(exports2, module2) { - "use strict"; - var compare = require_lib(); - var crypto4 = require("crypto"); - function Keygrip(keys2, algorithm, encoding) { - if (!algorithm) - algorithm = "sha1"; - if (!encoding) - encoding = "base64"; - if (!(this instanceof Keygrip)) - return new Keygrip(keys2, algorithm, encoding); - if (!keys2 || !(0 in keys2)) { - throw new Error("Keys must be provided."); - } - function sign(data, key) { - return crypto4.createHmac(algorithm, key).update(data).digest(encoding).replace(/\/|\+|=/g, function(x) { - return { "/": "_", "+": "-", "=": "" }[x]; - }); - } - this.sign = function(data) { - return sign(data, keys2[0]); - }; - this.verify = function(data, digest) { - return this.index(data, digest) > -1; - }; - this.index = function(data, digest) { - for (var i = 0, l = keys2.length; i < l; i++) { - if (compare(digest, sign(data, keys2[i]))) { - return i; - } - } - return -1; - }; - } - Keygrip.sign = Keygrip.verify = Keygrip.index = function() { - throw new Error("Usage: require('keygrip')()"); - }; - module2.exports = Keygrip; - } -}); - -// node_modules/cookies/index.js -var require_cookies = __commonJS({ - "node_modules/cookies/index.js"(exports2, module2) { - "use strict"; - var deprecate2 = require_depd3()("cookies"); - var Keygrip = require_keygrip(); - var http2 = require("http"); - var cache = {}; - var fieldContentRegExp = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/; - var SAME_SITE_REGEXP = /^(?:lax|none|strict)$/i; - function Cookies(request2, response, options) { - if (!(this instanceof Cookies)) - return new Cookies(request2, response, options); - this.secure = void 0; - this.request = request2; - this.response = response; - if (options) { - if (Array.isArray(options)) { - deprecate2('"keys" argument; provide using options {"keys": [...]}'); - this.keys = new Keygrip(options); - } else if (options.constructor && options.constructor.name === "Keygrip") { - deprecate2('"keys" argument; provide using options {"keys": keygrip}'); - this.keys = options; - } else { - this.keys = Array.isArray(options.keys) ? new Keygrip(options.keys) : options.keys; - this.secure = options.secure; - } - } - } - Cookies.prototype.get = function(name, opts) { - var sigName = name + ".sig", header, match, value, remote, data, index, signed = opts && opts.signed !== void 0 ? opts.signed : !!this.keys; - header = this.request.headers["cookie"]; - if (!header) - return; - match = header.match(getPattern(name)); - if (!match) - return; - value = match[1]; - if (!opts || !signed) - return value; - remote = this.get(sigName); - if (!remote) - return; - data = name + "=" + value; - if (!this.keys) - throw new Error(".keys required for signed cookies"); - index = this.keys.index(data, remote); - if (index < 0) { - this.set(sigName, null, { path: "/", signed: false }); - } else { - index && this.set(sigName, this.keys.sign(data), { signed: false }); - return value; - } - }; - Cookies.prototype.set = function(name, value, opts) { - var res = this.response, req = this.request, headers = res.getHeader("Set-Cookie") || [], secure = this.secure !== void 0 ? !!this.secure : req.protocol === "https" || req.connection.encrypted, cookie = new Cookie(name, value, opts), signed = opts && opts.signed !== void 0 ? opts.signed : !!this.keys; - if (typeof headers == "string") - headers = [headers]; - if (!secure && opts && opts.secure) { - throw new Error("Cannot send secure cookie over unencrypted connection"); - } - cookie.secure = opts && opts.secure !== void 0 ? opts.secure : secure; - if (opts && "secureProxy" in opts) { - deprecate2('"secureProxy" option; use "secure" option, provide "secure" to constructor if needed'); - cookie.secure = opts.secureProxy; - } - pushCookie(headers, cookie); - if (opts && signed) { - if (!this.keys) - throw new Error(".keys required for signed cookies"); - cookie.value = this.keys.sign(cookie.toString()); - cookie.name += ".sig"; - pushCookie(headers, cookie); - } - var setHeader = res.set ? http2.OutgoingMessage.prototype.setHeader : res.setHeader; - setHeader.call(res, "Set-Cookie", headers); - return this; - }; - function Cookie(name, value, attrs) { - if (!fieldContentRegExp.test(name)) { - throw new TypeError("argument name is invalid"); - } - if (value && !fieldContentRegExp.test(value)) { - throw new TypeError("argument value is invalid"); - } - this.name = name; - this.value = value || ""; - for (var name in attrs) { - this[name] = attrs[name]; - } - if (!this.value) { - this.expires = new Date(0); - this.maxAge = null; - } - if (this.path && !fieldContentRegExp.test(this.path)) { - throw new TypeError("option path is invalid"); - } - if (this.domain && !fieldContentRegExp.test(this.domain)) { - throw new TypeError("option domain is invalid"); - } - if (this.sameSite && this.sameSite !== true && !SAME_SITE_REGEXP.test(this.sameSite)) { - throw new TypeError("option sameSite is invalid"); - } - } - Cookie.prototype.path = "/"; - Cookie.prototype.expires = void 0; - Cookie.prototype.domain = void 0; - Cookie.prototype.httpOnly = true; - Cookie.prototype.sameSite = false; - Cookie.prototype.secure = false; - Cookie.prototype.overwrite = false; - Cookie.prototype.toString = function() { - return this.name + "=" + this.value; - }; - Cookie.prototype.toHeader = function() { - var header = this.toString(); - if (this.maxAge) - this.expires = new Date(Date.now() + this.maxAge); - if (this.path) - header += "; path=" + this.path; - if (this.expires) - header += "; expires=" + this.expires.toUTCString(); - if (this.domain) - header += "; domain=" + this.domain; - if (this.sameSite) - header += "; samesite=" + (this.sameSite === true ? "strict" : this.sameSite.toLowerCase()); - if (this.secure) - header += "; secure"; - if (this.httpOnly) - header += "; httponly"; - return header; - }; - Object.defineProperty(Cookie.prototype, "maxage", { - configurable: true, - enumerable: true, - get: function() { - return this.maxAge; - }, - set: function(val) { - return this.maxAge = val; - } - }); - deprecate2.property(Cookie.prototype, "maxage", '"maxage"; use "maxAge" instead'); - function getPattern(name) { - if (cache[name]) - return cache[name]; - return cache[name] = new RegExp( - "(?:^|;) *" + name.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&") + "=([^;]*)" - ); - } - function pushCookie(headers, cookie) { - if (cookie.overwrite) { - for (var i = headers.length - 1; i >= 0; i--) { - if (headers[i].indexOf(cookie.name + "=") === 0) { - headers.splice(i, 1); - } - } - } - headers.push(cookie.toHeader()); - } - Cookies.connect = Cookies.express = function(keys2) { - return function(req, res, next) { - req.cookies = res.cookies = new Cookies(req, res, { - keys: keys2 - }); - next(); - }; - }; - Cookies.Cookie = Cookie; - module2.exports = Cookies; - } -}); - -// node_modules/koa/lib/context.js -var require_context = __commonJS({ - "node_modules/koa/lib/context.js"(exports2, module2) { - "use strict"; - var util2 = require("util"); - var createError = require_http_errors(); - var httpAssert = require_http_assert(); - var delegate = require_delegates(); - var statuses = require_statuses(); - var Cookies = require_cookies(); - var COOKIES = Symbol("context#cookies"); - var proto = module2.exports = { - inspect() { - if (this === proto) - return this; - return this.toJSON(); - }, - toJSON() { - return { - request: this.request.toJSON(), - response: this.response.toJSON(), - app: this.app.toJSON(), - originalUrl: this.originalUrl, - req: "", - res: "", - socket: "" - }; - }, - assert: httpAssert, - throw(...args2) { - throw createError(...args2); - }, - onerror(err) { - if (null == err) - return; - const isNativeError = Object.prototype.toString.call(err) === "[object Error]" || err instanceof Error; - if (!isNativeError) - err = new Error(util2.format("non-error thrown: %j", err)); - let headerSent = false; - if (this.headerSent || !this.writable) { - headerSent = err.headerSent = true; - } - this.app.emit("error", err, this); - if (headerSent) { - return; - } - const { res } = this; - if (typeof res.getHeaderNames === "function") { - res.getHeaderNames().forEach((name) => res.removeHeader(name)); - } else { - res._headers = {}; - } - this.set(err.headers); - this.type = "text"; - let statusCode = err.status || err.statusCode; - if ("ENOENT" === err.code) - statusCode = 404; - if ("number" !== typeof statusCode || !statuses[statusCode]) - statusCode = 500; - const code = statuses[statusCode]; - const msg = err.expose ? err.message : code; - this.status = err.status = statusCode; - this.length = Buffer.byteLength(msg); - res.end(msg); - }, - get cookies() { - if (!this[COOKIES]) { - this[COOKIES] = new Cookies(this.req, this.res, { - keys: this.app.keys, - secure: this.request.secure - }); - } - return this[COOKIES]; - }, - set cookies(_cookies) { - this[COOKIES] = _cookies; - } - }; - if (util2.inspect.custom) { - module2.exports[util2.inspect.custom] = module2.exports.inspect; - } - delegate(proto, "response").method("attachment").method("redirect").method("remove").method("vary").method("has").method("set").method("append").method("flushHeaders").access("status").access("message").access("body").access("length").access("type").access("lastModified").access("etag").getter("headerSent").getter("writable"); - delegate(proto, "request").method("acceptsLanguages").method("acceptsEncodings").method("acceptsCharsets").method("accepts").method("get").method("is").access("querystring").access("idempotent").access("socket").access("search").access("method").access("query").access("path").access("url").access("accept").getter("origin").getter("href").getter("subdomains").getter("protocol").getter("host").getter("hostname").getter("URL").getter("header").getter("headers").getter("secure").getter("stale").getter("fresh").getter("ips").getter("ip"); - } -}); - -// node_modules/negotiator/lib/charset.js -var require_charset = __commonJS({ - "node_modules/negotiator/lib/charset.js"(exports2, module2) { - "use strict"; - module2.exports = preferredCharsets; - module2.exports.preferredCharsets = preferredCharsets; - var simpleCharsetRegExp = /^\s*([^\s;]+)\s*(?:;(.*))?$/; - function parseAcceptCharset(accept) { - var accepts = accept.split(","); - for (var i = 0, j = 0; i < accepts.length; i++) { - var charset = parseCharset(accepts[i].trim(), i); - if (charset) { - accepts[j++] = charset; - } - } - accepts.length = j; - return accepts; - } - function parseCharset(str, i) { - var match = simpleCharsetRegExp.exec(str); - if (!match) - return null; - var charset = match[1]; - var q = 1; - if (match[2]) { - var params = match[2].split(";"); - for (var j = 0; j < params.length; j++) { - var p = params[j].trim().split("="); - if (p[0] === "q") { - q = parseFloat(p[1]); - break; - } - } - } - return { - charset, - q, - i - }; - } - function getCharsetPriority(charset, accepted, index) { - var priority = { o: -1, q: 0, s: 0 }; - for (var i = 0; i < accepted.length; i++) { - var spec = specify(charset, accepted[i], index); - if (spec && (priority.s - spec.s || priority.q - spec.q || priority.o - spec.o) < 0) { - priority = spec; - } - } - return priority; - } - function specify(charset, spec, index) { - var s = 0; - if (spec.charset.toLowerCase() === charset.toLowerCase()) { - s |= 1; - } else if (spec.charset !== "*") { - return null; - } - return { - i: index, - o: spec.i, - q: spec.q, - s - }; - } - function preferredCharsets(accept, provided) { - var accepts = parseAcceptCharset(accept === void 0 ? "*" : accept || ""); - if (!provided) { - return accepts.filter(isQuality).sort(compareSpecs).map(getFullCharset); - } - var priorities = provided.map(function getPriority(type, index) { - return getCharsetPriority(type, accepts, index); - }); - return priorities.filter(isQuality).sort(compareSpecs).map(function getCharset(priority) { - return provided[priorities.indexOf(priority)]; - }); - } - function compareSpecs(a, b) { - return b.q - a.q || b.s - a.s || a.o - b.o || a.i - b.i || 0; - } - function getFullCharset(spec) { - return spec.charset; - } - function isQuality(spec) { - return spec.q > 0; - } - } -}); - -// node_modules/negotiator/lib/encoding.js -var require_encoding = __commonJS({ - "node_modules/negotiator/lib/encoding.js"(exports2, module2) { - "use strict"; - module2.exports = preferredEncodings; - module2.exports.preferredEncodings = preferredEncodings; - var simpleEncodingRegExp = /^\s*([^\s;]+)\s*(?:;(.*))?$/; - function parseAcceptEncoding(accept) { - var accepts = accept.split(","); - var hasIdentity = false; - var minQuality = 1; - for (var i = 0, j = 0; i < accepts.length; i++) { - var encoding = parseEncoding(accepts[i].trim(), i); - if (encoding) { - accepts[j++] = encoding; - hasIdentity = hasIdentity || specify("identity", encoding); - minQuality = Math.min(minQuality, encoding.q || 1); - } - } - if (!hasIdentity) { - accepts[j++] = { - encoding: "identity", - q: minQuality, - i - }; - } - accepts.length = j; - return accepts; - } - function parseEncoding(str, i) { - var match = simpleEncodingRegExp.exec(str); - if (!match) - return null; - var encoding = match[1]; - var q = 1; - if (match[2]) { - var params = match[2].split(";"); - for (var j = 0; j < params.length; j++) { - var p = params[j].trim().split("="); - if (p[0] === "q") { - q = parseFloat(p[1]); - break; - } - } - } - return { - encoding, - q, - i - }; - } - function getEncodingPriority(encoding, accepted, index) { - var priority = { o: -1, q: 0, s: 0 }; - for (var i = 0; i < accepted.length; i++) { - var spec = specify(encoding, accepted[i], index); - if (spec && (priority.s - spec.s || priority.q - spec.q || priority.o - spec.o) < 0) { - priority = spec; - } - } - return priority; - } - function specify(encoding, spec, index) { - var s = 0; - if (spec.encoding.toLowerCase() === encoding.toLowerCase()) { - s |= 1; - } else if (spec.encoding !== "*") { - return null; - } - return { - i: index, - o: spec.i, - q: spec.q, - s - }; - } - function preferredEncodings(accept, provided) { - var accepts = parseAcceptEncoding(accept || ""); - if (!provided) { - return accepts.filter(isQuality).sort(compareSpecs).map(getFullEncoding); - } - var priorities = provided.map(function getPriority(type, index) { - return getEncodingPriority(type, accepts, index); - }); - return priorities.filter(isQuality).sort(compareSpecs).map(function getEncoding(priority) { - return provided[priorities.indexOf(priority)]; - }); - } - function compareSpecs(a, b) { - return b.q - a.q || b.s - a.s || a.o - b.o || a.i - b.i || 0; - } - function getFullEncoding(spec) { - return spec.encoding; - } - function isQuality(spec) { - return spec.q > 0; - } - } -}); - -// node_modules/negotiator/lib/language.js -var require_language = __commonJS({ - "node_modules/negotiator/lib/language.js"(exports2, module2) { - "use strict"; - module2.exports = preferredLanguages; - module2.exports.preferredLanguages = preferredLanguages; - var simpleLanguageRegExp = /^\s*([^\s\-;]+)(?:-([^\s;]+))?\s*(?:;(.*))?$/; - function parseAcceptLanguage(accept) { - var accepts = accept.split(","); - for (var i = 0, j = 0; i < accepts.length; i++) { - var language = parseLanguage(accepts[i].trim(), i); - if (language) { - accepts[j++] = language; - } - } - accepts.length = j; - return accepts; - } - function parseLanguage(str, i) { - var match = simpleLanguageRegExp.exec(str); - if (!match) - return null; - var prefix = match[1]; - var suffix = match[2]; - var full = prefix; - if (suffix) - full += "-" + suffix; - var q = 1; - if (match[3]) { - var params = match[3].split(";"); - for (var j = 0; j < params.length; j++) { - var p = params[j].split("="); - if (p[0] === "q") - q = parseFloat(p[1]); - } - } - return { - prefix, - suffix, - q, - i, - full - }; - } - function getLanguagePriority(language, accepted, index) { - var priority = { o: -1, q: 0, s: 0 }; - for (var i = 0; i < accepted.length; i++) { - var spec = specify(language, accepted[i], index); - if (spec && (priority.s - spec.s || priority.q - spec.q || priority.o - spec.o) < 0) { - priority = spec; - } - } - return priority; - } - function specify(language, spec, index) { - var p = parseLanguage(language); - if (!p) - return null; - var s = 0; - if (spec.full.toLowerCase() === p.full.toLowerCase()) { - s |= 4; - } else if (spec.prefix.toLowerCase() === p.full.toLowerCase()) { - s |= 2; - } else if (spec.full.toLowerCase() === p.prefix.toLowerCase()) { - s |= 1; - } else if (spec.full !== "*") { - return null; - } - return { - i: index, - o: spec.i, - q: spec.q, - s - }; - } - function preferredLanguages(accept, provided) { - var accepts = parseAcceptLanguage(accept === void 0 ? "*" : accept || ""); - if (!provided) { - return accepts.filter(isQuality).sort(compareSpecs).map(getFullLanguage); - } - var priorities = provided.map(function getPriority(type, index) { - return getLanguagePriority(type, accepts, index); - }); - return priorities.filter(isQuality).sort(compareSpecs).map(function getLanguage(priority) { - return provided[priorities.indexOf(priority)]; - }); - } - function compareSpecs(a, b) { - return b.q - a.q || b.s - a.s || a.o - b.o || a.i - b.i || 0; - } - function getFullLanguage(spec) { - return spec.full; - } - function isQuality(spec) { - return spec.q > 0; - } - } -}); - -// node_modules/negotiator/lib/mediaType.js -var require_mediaType = __commonJS({ - "node_modules/negotiator/lib/mediaType.js"(exports2, module2) { - "use strict"; - module2.exports = preferredMediaTypes; - module2.exports.preferredMediaTypes = preferredMediaTypes; - var simpleMediaTypeRegExp = /^\s*([^\s\/;]+)\/([^;\s]+)\s*(?:;(.*))?$/; - function parseAccept(accept) { - var accepts = splitMediaTypes(accept); - for (var i = 0, j = 0; i < accepts.length; i++) { - var mediaType = parseMediaType(accepts[i].trim(), i); - if (mediaType) { - accepts[j++] = mediaType; - } - } - accepts.length = j; - return accepts; - } - function parseMediaType(str, i) { - var match = simpleMediaTypeRegExp.exec(str); - if (!match) - return null; - var params = /* @__PURE__ */ Object.create(null); - var q = 1; - var subtype = match[2]; - var type = match[1]; - if (match[3]) { - var kvps = splitParameters(match[3]).map(splitKeyValuePair); - for (var j = 0; j < kvps.length; j++) { - var pair = kvps[j]; - var key = pair[0].toLowerCase(); - var val = pair[1]; - var value = val && val[0] === '"' && val[val.length - 1] === '"' ? val.substr(1, val.length - 2) : val; - if (key === "q") { - q = parseFloat(value); - break; - } - params[key] = value; - } - } - return { - type, - subtype, - params, - q, - i - }; - } - function getMediaTypePriority(type, accepted, index) { - var priority = { o: -1, q: 0, s: 0 }; - for (var i = 0; i < accepted.length; i++) { - var spec = specify(type, accepted[i], index); - if (spec && (priority.s - spec.s || priority.q - spec.q || priority.o - spec.o) < 0) { - priority = spec; - } - } - return priority; - } - function specify(type, spec, index) { - var p = parseMediaType(type); - var s = 0; - if (!p) { - return null; - } - if (spec.type.toLowerCase() == p.type.toLowerCase()) { - s |= 4; - } else if (spec.type != "*") { - return null; - } - if (spec.subtype.toLowerCase() == p.subtype.toLowerCase()) { - s |= 2; - } else if (spec.subtype != "*") { - return null; - } - var keys2 = Object.keys(spec.params); - if (keys2.length > 0) { - if (keys2.every(function(k) { - return spec.params[k] == "*" || (spec.params[k] || "").toLowerCase() == (p.params[k] || "").toLowerCase(); - })) { - s |= 1; - } else { - return null; - } - } - return { - i: index, - o: spec.i, - q: spec.q, - s - }; - } - function preferredMediaTypes(accept, provided) { - var accepts = parseAccept(accept === void 0 ? "*/*" : accept || ""); - if (!provided) { - return accepts.filter(isQuality).sort(compareSpecs).map(getFullType); - } - var priorities = provided.map(function getPriority(type, index) { - return getMediaTypePriority(type, accepts, index); - }); - return priorities.filter(isQuality).sort(compareSpecs).map(function getType(priority) { - return provided[priorities.indexOf(priority)]; - }); - } - function compareSpecs(a, b) { - return b.q - a.q || b.s - a.s || a.o - b.o || a.i - b.i || 0; - } - function getFullType(spec) { - return spec.type + "/" + spec.subtype; - } - function isQuality(spec) { - return spec.q > 0; - } - function quoteCount(string) { - var count = 0; - var index = 0; - while ((index = string.indexOf('"', index)) !== -1) { - count++; - index++; - } - return count; - } - function splitKeyValuePair(str) { - var index = str.indexOf("="); - var key; - var val; - if (index === -1) { - key = str; - } else { - key = str.substr(0, index); - val = str.substr(index + 1); - } - return [key, val]; - } - function splitMediaTypes(accept) { - var accepts = accept.split(","); - for (var i = 1, j = 0; i < accepts.length; i++) { - if (quoteCount(accepts[j]) % 2 == 0) { - accepts[++j] = accepts[i]; - } else { - accepts[j] += "," + accepts[i]; - } - } - accepts.length = j + 1; - return accepts; - } - function splitParameters(str) { - var parameters = str.split(";"); - for (var i = 1, j = 0; i < parameters.length; i++) { - if (quoteCount(parameters[j]) % 2 == 0) { - parameters[++j] = parameters[i]; - } else { - parameters[j] += ";" + parameters[i]; - } - } - parameters.length = j + 1; - for (var i = 0; i < parameters.length; i++) { - parameters[i] = parameters[i].trim(); - } - return parameters; - } - } -}); - -// node_modules/negotiator/index.js -var require_negotiator = __commonJS({ - "node_modules/negotiator/index.js"(exports2, module2) { - "use strict"; - var preferredCharsets = require_charset(); - var preferredEncodings = require_encoding(); - var preferredLanguages = require_language(); - var preferredMediaTypes = require_mediaType(); - module2.exports = Negotiator; - module2.exports.Negotiator = Negotiator; - function Negotiator(request2) { - if (!(this instanceof Negotiator)) { - return new Negotiator(request2); - } - this.request = request2; - } - Negotiator.prototype.charset = function charset(available) { - var set = this.charsets(available); - return set && set[0]; - }; - Negotiator.prototype.charsets = function charsets(available) { - return preferredCharsets(this.request.headers["accept-charset"], available); - }; - Negotiator.prototype.encoding = function encoding(available) { - var set = this.encodings(available); - return set && set[0]; - }; - Negotiator.prototype.encodings = function encodings(available) { - return preferredEncodings(this.request.headers["accept-encoding"], available); - }; - Negotiator.prototype.language = function language(available) { - var set = this.languages(available); - return set && set[0]; - }; - Negotiator.prototype.languages = function languages(available) { - return preferredLanguages(this.request.headers["accept-language"], available); - }; - Negotiator.prototype.mediaType = function mediaType(available) { - var set = this.mediaTypes(available); - return set && set[0]; - }; - Negotiator.prototype.mediaTypes = function mediaTypes(available) { - return preferredMediaTypes(this.request.headers.accept, available); - }; - Negotiator.prototype.preferredCharset = Negotiator.prototype.charset; - Negotiator.prototype.preferredCharsets = Negotiator.prototype.charsets; - Negotiator.prototype.preferredEncoding = Negotiator.prototype.encoding; - Negotiator.prototype.preferredEncodings = Negotiator.prototype.encodings; - Negotiator.prototype.preferredLanguage = Negotiator.prototype.language; - Negotiator.prototype.preferredLanguages = Negotiator.prototype.languages; - Negotiator.prototype.preferredMediaType = Negotiator.prototype.mediaType; - Negotiator.prototype.preferredMediaTypes = Negotiator.prototype.mediaTypes; - } -}); - -// node_modules/accepts/index.js -var require_accepts = __commonJS({ - "node_modules/accepts/index.js"(exports2, module2) { - "use strict"; - var Negotiator = require_negotiator(); - var mime = require_mime_types(); - module2.exports = Accepts; - function Accepts(req) { - if (!(this instanceof Accepts)) { - return new Accepts(req); - } - this.headers = req.headers; - this.negotiator = new Negotiator(req); - } - Accepts.prototype.type = Accepts.prototype.types = function(types_) { - var types2 = types_; - if (types2 && !Array.isArray(types2)) { - types2 = new Array(arguments.length); - for (var i = 0; i < types2.length; i++) { - types2[i] = arguments[i]; - } - } - if (!types2 || types2.length === 0) { - return this.negotiator.mediaTypes(); - } - if (!this.headers.accept) { - return types2[0]; - } - var mimes = types2.map(extToMime); - var accepts = this.negotiator.mediaTypes(mimes.filter(validMime)); - var first = accepts[0]; - return first ? types2[mimes.indexOf(first)] : false; - }; - Accepts.prototype.encoding = Accepts.prototype.encodings = function(encodings_) { - var encodings = encodings_; - if (encodings && !Array.isArray(encodings)) { - encodings = new Array(arguments.length); - for (var i = 0; i < encodings.length; i++) { - encodings[i] = arguments[i]; - } - } - if (!encodings || encodings.length === 0) { - return this.negotiator.encodings(); - } - return this.negotiator.encodings(encodings)[0] || false; - }; - Accepts.prototype.charset = Accepts.prototype.charsets = function(charsets_) { - var charsets = charsets_; - if (charsets && !Array.isArray(charsets)) { - charsets = new Array(arguments.length); - for (var i = 0; i < charsets.length; i++) { - charsets[i] = arguments[i]; - } - } - if (!charsets || charsets.length === 0) { - return this.negotiator.charsets(); - } - return this.negotiator.charsets(charsets)[0] || false; - }; - Accepts.prototype.lang = Accepts.prototype.langs = Accepts.prototype.language = Accepts.prototype.languages = function(languages_) { - var languages = languages_; - if (languages && !Array.isArray(languages)) { - languages = new Array(arguments.length); - for (var i = 0; i < languages.length; i++) { - languages[i] = arguments[i]; - } - } - if (!languages || languages.length === 0) { - return this.negotiator.languages(); - } - return this.negotiator.languages(languages)[0] || false; - }; - function extToMime(type) { - return type.indexOf("/") === -1 ? mime.lookup(type) : type; - } - function validMime(type) { - return typeof type === "string"; - } - } -}); - -// node_modules/content-type/index.js -var require_content_type = __commonJS({ - "node_modules/content-type/index.js"(exports2) { - "use strict"; - var PARAM_REGEXP = /; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g; - var TEXT_REGEXP = /^[\u000b\u0020-\u007e\u0080-\u00ff]+$/; - var TOKEN_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/; - var QESC_REGEXP = /\\([\u000b\u0020-\u00ff])/g; - var QUOTE_REGEXP = /([\\"])/g; - var TYPE_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/; - exports2.format = format2; - exports2.parse = parse; - function format2(obj) { - if (!obj || typeof obj !== "object") { - throw new TypeError("argument obj is required"); - } - var parameters = obj.parameters; - var type = obj.type; - if (!type || !TYPE_REGEXP.test(type)) { - throw new TypeError("invalid type"); - } - var string = type; - if (parameters && typeof parameters === "object") { - var param; - var params = Object.keys(parameters).sort(); - for (var i = 0; i < params.length; i++) { - param = params[i]; - if (!TOKEN_REGEXP.test(param)) { - throw new TypeError("invalid parameter name"); - } - string += "; " + param + "=" + qstring(parameters[param]); - } - } - return string; - } - function parse(string) { - if (!string) { - throw new TypeError("argument string is required"); - } - var header = typeof string === "object" ? getcontenttype(string) : string; - if (typeof header !== "string") { - throw new TypeError("argument string is required to be a string"); - } - var index = header.indexOf(";"); - var type = index !== -1 ? header.substr(0, index).trim() : header.trim(); - if (!TYPE_REGEXP.test(type)) { - throw new TypeError("invalid media type"); - } - var obj = new ContentType(type.toLowerCase()); - if (index !== -1) { - var key; - var match; - var value; - PARAM_REGEXP.lastIndex = index; - while (match = PARAM_REGEXP.exec(header)) { - if (match.index !== index) { - throw new TypeError("invalid parameter format"); - } - index += match[0].length; - key = match[1].toLowerCase(); - value = match[2]; - if (value[0] === '"') { - value = value.substr(1, value.length - 2).replace(QESC_REGEXP, "$1"); - } - obj.parameters[key] = value; - } - if (index !== header.length) { - throw new TypeError("invalid parameter format"); - } - } - return obj; - } - function getcontenttype(obj) { - var header; - if (typeof obj.getHeader === "function") { - header = obj.getHeader("content-type"); - } else if (typeof obj.headers === "object") { - header = obj.headers && obj.headers["content-type"]; - } - if (typeof header !== "string") { - throw new TypeError("content-type header is missing from object"); - } - return header; - } - function qstring(val) { - var str = String(val); - if (TOKEN_REGEXP.test(str)) { - return str; - } - if (str.length > 0 && !TEXT_REGEXP.test(str)) { - throw new TypeError("invalid parameter value"); - } - return '"' + str.replace(QUOTE_REGEXP, "\\$1") + '"'; - } - function ContentType(type) { - this.parameters = /* @__PURE__ */ Object.create(null); - this.type = type; - } - } -}); - -// node_modules/parseurl/index.js -var require_parseurl = __commonJS({ - "node_modules/parseurl/index.js"(exports2, module2) { - "use strict"; - var url2 = require("url"); - var parse = url2.parse; - var Url = url2.Url; - module2.exports = parseurl; - module2.exports.original = originalurl; - function parseurl(req) { - var url3 = req.url; - if (url3 === void 0) { - return void 0; - } - var parsed = req._parsedUrl; - if (fresh(url3, parsed)) { - return parsed; - } - parsed = fastparse(url3); - parsed._raw = url3; - return req._parsedUrl = parsed; - } - function originalurl(req) { - var url3 = req.originalUrl; - if (typeof url3 !== "string") { - return parseurl(req); - } - var parsed = req._parsedOriginalUrl; - if (fresh(url3, parsed)) { - return parsed; - } - parsed = fastparse(url3); - parsed._raw = url3; - return req._parsedOriginalUrl = parsed; - } - function fastparse(str) { - if (typeof str !== "string" || str.charCodeAt(0) !== 47) { - return parse(str); - } - var pathname = str; - var query = null; - var search = null; - for (var i = 1; i < str.length; i++) { - switch (str.charCodeAt(i)) { - case 63: - if (search === null) { - pathname = str.substring(0, i); - query = str.substring(i + 1); - search = str.substring(i); - } - break; - case 9: - case 10: - case 12: - case 13: - case 32: - case 35: - case 160: - case 65279: - return parse(str); - } - } - var url3 = Url !== void 0 ? new Url() : {}; - url3.path = str; - url3.href = str; - url3.pathname = pathname; - if (search !== null) { - url3.query = query; - url3.search = search; - } - return url3; - } - function fresh(url3, parsedUrl) { - return typeof parsedUrl === "object" && parsedUrl !== null && (Url === void 0 || parsedUrl instanceof Url) && parsedUrl._raw === url3; - } - } -}); - -// node_modules/fresh/index.js -var require_fresh = __commonJS({ - "node_modules/fresh/index.js"(exports2, module2) { - "use strict"; - var CACHE_CONTROL_NO_CACHE_REGEXP = /(?:^|,)\s*?no-cache\s*?(?:,|$)/; - module2.exports = fresh; - function fresh(reqHeaders, resHeaders) { - var modifiedSince = reqHeaders["if-modified-since"]; - var noneMatch = reqHeaders["if-none-match"]; - if (!modifiedSince && !noneMatch) { - return false; - } - var cacheControl = reqHeaders["cache-control"]; - if (cacheControl && CACHE_CONTROL_NO_CACHE_REGEXP.test(cacheControl)) { - return false; - } - if (noneMatch && noneMatch !== "*") { - var etag = resHeaders["etag"]; - if (!etag) { - return false; - } - var etagStale = true; - var matches = parseTokenList(noneMatch); - for (var i = 0; i < matches.length; i++) { - var match = matches[i]; - if (match === etag || match === "W/" + etag || "W/" + match === etag) { - etagStale = false; - break; - } - } - if (etagStale) { - return false; - } - } - if (modifiedSince) { - var lastModified = resHeaders["last-modified"]; - var modifiedStale = !lastModified || !(parseHttpDate(lastModified) <= parseHttpDate(modifiedSince)); - if (modifiedStale) { - return false; - } - } - return true; - } - function parseHttpDate(date) { - var timestamp2 = date && Date.parse(date); - return typeof timestamp2 === "number" ? timestamp2 : NaN; - } - function parseTokenList(str) { - var end = 0; - var list = []; - var start = 0; - for (var i = 0, len = str.length; i < len; i++) { - switch (str.charCodeAt(i)) { - case 32: - if (start === end) { - start = end = i + 1; - } - break; - case 44: - list.push(str.substring(start, end)); - start = end = i + 1; - break; - default: - end = i + 1; - break; - } - } - list.push(str.substring(start, end)); - return list; - } - } -}); - -// node_modules/koa/lib/request.js -var require_request = __commonJS({ - "node_modules/koa/lib/request.js"(exports2, module2) { - "use strict"; - var URL2 = require("url").URL; - var net = require("net"); - var accepts = require_accepts(); - var contentType = require_content_type(); - var stringify = require("url").format; - var parse = require_parseurl(); - var qs = require("querystring"); - var typeis = require_type_is(); - var fresh = require_fresh(); - var only = require_only(); - var util2 = require("util"); - var IP = Symbol("context#ip"); - module2.exports = { - get header() { - return this.req.headers; - }, - set header(val) { - this.req.headers = val; - }, - get headers() { - return this.req.headers; - }, - set headers(val) { - this.req.headers = val; - }, - get url() { - return this.req.url; - }, - set url(val) { - this.req.url = val; - }, - get origin() { - return `${this.protocol}://${this.host}`; - }, - get href() { - if (/^https?:\/\//i.test(this.originalUrl)) - return this.originalUrl; - return this.origin + this.originalUrl; - }, - get method() { - return this.req.method; - }, - set method(val) { - this.req.method = val; - }, - get path() { - return parse(this.req).pathname; - }, - set path(path4) { - const url2 = parse(this.req); - if (url2.pathname === path4) - return; - url2.pathname = path4; - url2.path = null; - this.url = stringify(url2); - }, - get query() { - const str = this.querystring; - const c = this._querycache = this._querycache || {}; - return c[str] || (c[str] = qs.parse(str)); - }, - set query(obj) { - this.querystring = qs.stringify(obj); - }, - get querystring() { - if (!this.req) - return ""; - return parse(this.req).query || ""; - }, - set querystring(str) { - const url2 = parse(this.req); - if (url2.search === `?${str}`) - return; - url2.search = str; - url2.path = null; - this.url = stringify(url2); - }, - get search() { - if (!this.querystring) - return ""; - return `?${this.querystring}`; - }, - set search(str) { - this.querystring = str; - }, - get host() { - const proxy = this.app.proxy; - let host = proxy && this.get("X-Forwarded-Host"); - if (!host) { - if (this.req.httpVersionMajor >= 2) - host = this.get(":authority"); - if (!host) - host = this.get("Host"); - } - if (!host) - return ""; - return host.split(/\s*,\s*/, 1)[0]; - }, - get hostname() { - const host = this.host; - if (!host) - return ""; - if ("[" === host[0]) - return this.URL.hostname || ""; - return host.split(":", 1)[0]; - }, - get URL() { - if (!this.memoizedURL) { - const originalUrl = this.originalUrl || ""; - try { - this.memoizedURL = new URL2(`${this.origin}${originalUrl}`); - } catch (err) { - this.memoizedURL = /* @__PURE__ */ Object.create(null); - } - } - return this.memoizedURL; - }, - get fresh() { - const method = this.method; - const s = this.ctx.status; - if ("GET" !== method && "HEAD" !== method) - return false; - if (s >= 200 && s < 300 || 304 === s) { - return fresh(this.header, this.response.header); - } - return false; - }, - get stale() { - return !this.fresh; - }, - get idempotent() { - const methods = ["GET", "HEAD", "PUT", "DELETE", "OPTIONS", "TRACE"]; - return !!~methods.indexOf(this.method); - }, - get socket() { - return this.req.socket; - }, - get charset() { - try { - const { parameters } = contentType.parse(this.req); - return parameters.charset || ""; - } catch (e) { - return ""; - } - }, - get length() { - const len = this.get("Content-Length"); - if (len === "") - return; - return ~~len; - }, - get protocol() { - if (this.socket.encrypted) - return "https"; - if (!this.app.proxy) - return "http"; - const proto = this.get("X-Forwarded-Proto"); - return proto ? proto.split(/\s*,\s*/, 1)[0] : "http"; - }, - get secure() { - return "https" === this.protocol; - }, - get ips() { - const proxy = this.app.proxy; - const val = this.get(this.app.proxyIpHeader); - let ips = proxy && val ? val.split(/\s*,\s*/) : []; - if (this.app.maxIpsCount > 0) { - ips = ips.slice(-this.app.maxIpsCount); - } - return ips; - }, - get ip() { - if (!this[IP]) { - this[IP] = this.ips[0] || this.socket.remoteAddress || ""; - } - return this[IP]; - }, - set ip(_ip) { - this[IP] = _ip; - }, - get subdomains() { - const offset = this.app.subdomainOffset; - const hostname2 = this.hostname; - if (net.isIP(hostname2)) - return []; - return hostname2.split(".").reverse().slice(offset); - }, - get accept() { - return this._accept || (this._accept = accepts(this.req)); - }, - set accept(obj) { - this._accept = obj; - }, - accepts(...args2) { - return this.accept.types(...args2); - }, - acceptsEncodings(...args2) { - return this.accept.encodings(...args2); - }, - acceptsCharsets(...args2) { - return this.accept.charsets(...args2); - }, - acceptsLanguages(...args2) { - return this.accept.languages(...args2); - }, - is(type, ...types2) { - return typeis(this.req, type, ...types2); - }, - get type() { - const type = this.get("Content-Type"); - if (!type) - return ""; - return type.split(";")[0]; - }, - get(field) { - const req = this.req; - switch (field = field.toLowerCase()) { - case "referer": - case "referrer": - return req.headers.referrer || req.headers.referer || ""; - default: - return req.headers[field] || ""; - } - }, - inspect() { - if (!this.req) - return; - return this.toJSON(); - }, - toJSON() { - return only(this, [ - "method", - "url", - "header" - ]); - } - }; - if (util2.inspect.custom) { - module2.exports[util2.inspect.custom] = module2.exports.inspect; - } - } -}); - -// node_modules/co/index.js -var require_co = __commonJS({ - "node_modules/co/index.js"(exports2, module2) { - var slice = Array.prototype.slice; - module2.exports = co["default"] = co.co = co; - co.wrap = function(fn2) { - createPromise.__generatorFunction__ = fn2; - return createPromise; - function createPromise() { - return co.call(this, fn2.apply(this, arguments)); - } - }; - function co(gen) { - var ctx = this; - var args2 = slice.call(arguments, 1); - return new Promise(function(resolve, reject) { - if (typeof gen === "function") - gen = gen.apply(ctx, args2); - if (!gen || typeof gen.next !== "function") - return resolve(gen); - onFulfilled(); - function onFulfilled(res) { - var ret; - try { - ret = gen.next(res); - } catch (e) { - return reject(e); - } - next(ret); - } - function onRejected(err) { - var ret; - try { - ret = gen.throw(err); - } catch (e) { - return reject(e); - } - next(ret); - } - function next(ret) { - if (ret.done) - return resolve(ret.value); - var value = toPromise.call(ctx, ret.value); - if (value && isPromise(value)) - return value.then(onFulfilled, onRejected); - return onRejected(new TypeError('You may only yield a function, promise, generator, array, or object, but the following object was passed: "' + String(ret.value) + '"')); - } - }); - } - function toPromise(obj) { - if (!obj) - return obj; - if (isPromise(obj)) - return obj; - if (isGeneratorFunction(obj) || isGenerator(obj)) - return co.call(this, obj); - if ("function" == typeof obj) - return thunkToPromise.call(this, obj); - if (Array.isArray(obj)) - return arrayToPromise.call(this, obj); - if (isObject4(obj)) - return objectToPromise.call(this, obj); - return obj; - } - function thunkToPromise(fn2) { - var ctx = this; - return new Promise(function(resolve, reject) { - fn2.call(ctx, function(err, res) { - if (err) - return reject(err); - if (arguments.length > 2) - res = slice.call(arguments, 1); - resolve(res); - }); - }); - } - function arrayToPromise(obj) { - return Promise.all(obj.map(toPromise, this)); - } - function objectToPromise(obj) { - var results = new obj.constructor(); - var keys2 = Object.keys(obj); - var promises = []; - for (var i = 0; i < keys2.length; i++) { - var key = keys2[i]; - var promise = toPromise.call(this, obj[key]); - if (promise && isPromise(promise)) - defer(promise, key); - else - results[key] = obj[key]; - } - return Promise.all(promises).then(function() { - return results; - }); - function defer(promise2, key2) { - results[key2] = void 0; - promises.push(promise2.then(function(res) { - results[key2] = res; - })); - } - } - function isPromise(obj) { - return "function" == typeof obj.then; - } - function isGenerator(obj) { - return "function" == typeof obj.next && "function" == typeof obj.throw; - } - function isGeneratorFunction(obj) { - var constructor = obj.constructor; - if (!constructor) - return false; - if ("GeneratorFunction" === constructor.name || "GeneratorFunction" === constructor.displayName) - return true; - return isGenerator(constructor.prototype); - } - function isObject4(val) { - return Object == val.constructor; - } - } -}); - -// node_modules/koa-convert/index.js -var require_koa_convert = __commonJS({ - "node_modules/koa-convert/index.js"(exports2, module2) { - "use strict"; - var co = require_co(); - var compose = require_koa_compose(); - module2.exports = convert; - function convert(mw) { - if (typeof mw !== "function") { - throw new TypeError("middleware must be a function"); - } - if (mw.constructor.name !== "GeneratorFunction" && mw.constructor.name !== "AsyncGeneratorFunction") { - return mw; - } - const converted = function(ctx, next) { - return co.call( - ctx, - mw.call( - ctx, - function* (next2) { - return yield next2(); - }(next) - ) - ); - }; - converted._name = mw._name || mw.name; - return converted; - } - convert.compose = function(arr) { - if (!Array.isArray(arr)) { - arr = Array.from(arguments); - } - return compose(arr.map(convert)); - }; - convert.back = function(mw) { - if (typeof mw !== "function") { - throw new TypeError("middleware must be a function"); - } - if (mw.constructor.name === "GeneratorFunction" || mw.constructor.name === "AsyncGeneratorFunction") { - return mw; - } - const converted = function* (next) { - const ctx = this; - let called = false; - yield mw(ctx, function() { - if (called) { - throw new Error("next() called multiple times"); - } - called = true; - return co.call(ctx, next); - }); - }; - converted._name = mw._name || mw.name; - return converted; - }; - } -}); - -// node_modules/koa/lib/application.js -var require_application = __commonJS({ - "node_modules/koa/lib/application.js"(exports2, module2) { - "use strict"; - var isGeneratorFunction = require_is_generator_function(); - var debug = require_src2()("koa:application"); - var onFinished = require_on_finished(); - var response = require_response(); - var compose = require_koa_compose(); - var context = require_context(); - var request2 = require_request(); - var statuses = require_statuses(); - var Emitter = require("events"); - var util2 = require("util"); - var Stream = require("stream"); - var http2 = require("http"); - var only = require_only(); - var convert = require_koa_convert(); - var deprecate2 = require_depd3()("koa"); - var { HttpError: HttpError2 } = require_http_errors(); - module2.exports = class Application extends Emitter { - constructor(options) { - super(); - options = options || {}; - this.proxy = options.proxy || false; - this.subdomainOffset = options.subdomainOffset || 2; - this.proxyIpHeader = options.proxyIpHeader || "X-Forwarded-For"; - this.maxIpsCount = options.maxIpsCount || 0; - this.env = options.env || process.env.NODE_ENV || "development"; - if (options.keys) - this.keys = options.keys; - this.middleware = []; - this.context = Object.create(context); - this.request = Object.create(request2); - this.response = Object.create(response); - if (util2.inspect.custom) { - this[util2.inspect.custom] = this.inspect; - } - } - listen(...args2) { - debug("listen"); - const server = http2.createServer(this.callback()); - return server.listen(...args2); - } - toJSON() { - return only(this, [ - "subdomainOffset", - "proxy", - "env" - ]); - } - inspect() { - return this.toJSON(); - } - use(fn2) { - if (typeof fn2 !== "function") - throw new TypeError("middleware must be a function!"); - if (isGeneratorFunction(fn2)) { - deprecate2("Support for generators will be removed in v3. See the documentation for examples of how to convert old middleware https://github.com/koajs/koa/blob/master/docs/migration.md"); - fn2 = convert(fn2); - } - debug("use %s", fn2._name || fn2.name || "-"); - this.middleware.push(fn2); - return this; - } - callback() { - const fn2 = compose(this.middleware); - if (!this.listenerCount("error")) - this.on("error", this.onerror); - const handleRequest = (req, res) => { - const ctx = this.createContext(req, res); - return this.handleRequest(ctx, fn2); - }; - return handleRequest; - } - handleRequest(ctx, fnMiddleware) { - const res = ctx.res; - res.statusCode = 404; - const onerror = (err) => ctx.onerror(err); - const handleResponse = () => respond(ctx); - onFinished(res, onerror); - return fnMiddleware(ctx).then(handleResponse).catch(onerror); - } - createContext(req, res) { - const context2 = Object.create(this.context); - const request3 = context2.request = Object.create(this.request); - const response2 = context2.response = Object.create(this.response); - context2.app = request3.app = response2.app = this; - context2.req = request3.req = response2.req = req; - context2.res = request3.res = response2.res = res; - request3.ctx = response2.ctx = context2; - request3.response = response2; - response2.request = request3; - context2.originalUrl = request3.originalUrl = req.url; - context2.state = {}; - return context2; - } - onerror(err) { - const isNativeError = Object.prototype.toString.call(err) === "[object Error]" || err instanceof Error; - if (!isNativeError) - throw new TypeError(util2.format("non-error thrown: %j", err)); - if (404 === err.status || err.expose) - return; - if (this.silent) - return; - const msg = err.stack || err.toString(); - console.error(` -${msg.replace(/^/gm, " ")} -`); - } - static get default() { - return Application; - } - }; - function respond(ctx) { - if (false === ctx.respond) - return; - if (!ctx.writable) - return; - const res = ctx.res; - let body = ctx.body; - const code = ctx.status; - if (statuses.empty[code]) { - ctx.body = null; - return res.end(); - } - if ("HEAD" === ctx.method) { - if (!res.headersSent && !ctx.response.has("Content-Length")) { - const { length } = ctx.response; - if (Number.isInteger(length)) - ctx.length = length; - } - return res.end(); - } - if (null == body) { - if (ctx.response._explicitNullBody) { - ctx.response.remove("Content-Type"); - ctx.response.remove("Transfer-Encoding"); - return res.end(); - } - if (ctx.req.httpVersionMajor >= 2) { - body = String(code); - } else { - body = ctx.message || String(code); - } - if (!res.headersSent) { - ctx.type = "text"; - ctx.length = Buffer.byteLength(body); - } - return res.end(body); - } - if (Buffer.isBuffer(body)) - return res.end(body); - if ("string" === typeof body) - return res.end(body); - if (body instanceof Stream) - return body.pipe(res); - body = JSON.stringify(body); - if (!res.headersSent) { - ctx.length = Buffer.byteLength(body); - } - res.end(body); - } - module2.exports.HttpError = HttpError2; - } -}); - -// node_modules/koa/dist/koa.mjs -var import_application, koa_default, HttpError; -var init_koa = __esm({ - "node_modules/koa/dist/koa.mjs"() { - import_application = __toESM(require_application(), 1); - koa_default = import_application.default; - HttpError = import_application.default.HttpError; - } -}); - -// node_modules/bytes/index.js -var require_bytes = __commonJS({ - "node_modules/bytes/index.js"(exports2, module2) { - "use strict"; - module2.exports = bytes; - module2.exports.format = format2; - module2.exports.parse = parse; - var formatThousandsRegExp = /\B(?=(\d{3})+(?!\d))/g; - var formatDecimalsRegExp = /(?:\.0*|(\.[^0]+)0+)$/; - var map = { - b: 1, - kb: 1 << 10, - mb: 1 << 20, - gb: 1 << 30, - tb: Math.pow(1024, 4), - pb: Math.pow(1024, 5) - }; - var parseRegExp = /^((-|\+)?(\d+(?:\.\d+)?)) *(kb|mb|gb|tb|pb)$/i; - function bytes(value, options) { - if (typeof value === "string") { - return parse(value); - } - if (typeof value === "number") { - return format2(value, options); - } - return null; - } - function format2(value, options) { - if (!Number.isFinite(value)) { - return null; - } - var mag = Math.abs(value); - var thousandsSeparator = options && options.thousandsSeparator || ""; - var unitSeparator = options && options.unitSeparator || ""; - var decimalPlaces = options && options.decimalPlaces !== void 0 ? options.decimalPlaces : 2; - var fixedDecimals = Boolean(options && options.fixedDecimals); - var unit = options && options.unit || ""; - if (!unit || !map[unit.toLowerCase()]) { - if (mag >= map.pb) { - unit = "PB"; - } else if (mag >= map.tb) { - unit = "TB"; - } else if (mag >= map.gb) { - unit = "GB"; - } else if (mag >= map.mb) { - unit = "MB"; - } else if (mag >= map.kb) { - unit = "KB"; - } else { - unit = "B"; - } - } - var val = value / map[unit.toLowerCase()]; - var str = val.toFixed(decimalPlaces); - if (!fixedDecimals) { - str = str.replace(formatDecimalsRegExp, "$1"); - } - if (thousandsSeparator) { - str = str.split(".").map(function(s, i) { - return i === 0 ? s.replace(formatThousandsRegExp, thousandsSeparator) : s; - }).join("."); - } - return str + unitSeparator + unit; - } - function parse(val) { - if (typeof val === "number" && !isNaN(val)) { - return val; - } - if (typeof val !== "string") { - return null; - } - var results = parseRegExp.exec(val); - var floatValue; - var unit = "b"; - if (!results) { - floatValue = parseInt(val, 10); - unit = "b"; - } else { - floatValue = parseFloat(results[1]); - unit = results[4].toLowerCase(); - } - if (isNaN(floatValue)) { - return null; - } - return Math.floor(map[unit] * floatValue); - } - } -}); - -// node_modules/statuses/codes.json -var require_codes3 = __commonJS({ - "node_modules/statuses/codes.json"(exports2, module2) { - module2.exports = { - "100": "Continue", - "101": "Switching Protocols", - "102": "Processing", - "103": "Early Hints", - "200": "OK", - "201": "Created", - "202": "Accepted", - "203": "Non-Authoritative Information", - "204": "No Content", - "205": "Reset Content", - "206": "Partial Content", - "207": "Multi-Status", - "208": "Already Reported", - "226": "IM Used", - "300": "Multiple Choices", - "301": "Moved Permanently", - "302": "Found", - "303": "See Other", - "304": "Not Modified", - "305": "Use Proxy", - "307": "Temporary Redirect", - "308": "Permanent Redirect", - "400": "Bad Request", - "401": "Unauthorized", - "402": "Payment Required", - "403": "Forbidden", - "404": "Not Found", - "405": "Method Not Allowed", - "406": "Not Acceptable", - "407": "Proxy Authentication Required", - "408": "Request Timeout", - "409": "Conflict", - "410": "Gone", - "411": "Length Required", - "412": "Precondition Failed", - "413": "Payload Too Large", - "414": "URI Too Long", - "415": "Unsupported Media Type", - "416": "Range Not Satisfiable", - "417": "Expectation Failed", - "418": "I'm a Teapot", - "421": "Misdirected Request", - "422": "Unprocessable Entity", - "423": "Locked", - "424": "Failed Dependency", - "425": "Too Early", - "426": "Upgrade Required", - "428": "Precondition Required", - "429": "Too Many Requests", - "431": "Request Header Fields Too Large", - "451": "Unavailable For Legal Reasons", - "500": "Internal Server Error", - "501": "Not Implemented", - "502": "Bad Gateway", - "503": "Service Unavailable", - "504": "Gateway Timeout", - "505": "HTTP Version Not Supported", - "506": "Variant Also Negotiates", - "507": "Insufficient Storage", - "508": "Loop Detected", - "509": "Bandwidth Limit Exceeded", - "510": "Not Extended", - "511": "Network Authentication Required" - }; - } -}); - -// node_modules/statuses/index.js -var require_statuses3 = __commonJS({ - "node_modules/statuses/index.js"(exports2, module2) { - "use strict"; - var codes = require_codes3(); - module2.exports = status; - status.message = codes; - status.code = createMessageToStatusCodeMap(codes); - status.codes = createStatusCodeList(codes); - status.redirect = { - 300: true, - 301: true, - 302: true, - 303: true, - 305: true, - 307: true, - 308: true - }; - status.empty = { - 204: true, - 205: true, - 304: true - }; - status.retry = { - 502: true, - 503: true, - 504: true - }; - function createMessageToStatusCodeMap(codes2) { - var map = {}; - Object.keys(codes2).forEach(function forEachCode(code) { - var message2 = codes2[code]; - var status2 = Number(code); - map[message2.toLowerCase()] = status2; - }); - return map; - } - function createStatusCodeList(codes2) { - return Object.keys(codes2).map(function mapCode(code) { - return Number(code); - }); - } - function getStatusCode(message2) { - var msg = message2.toLowerCase(); - if (!Object.prototype.hasOwnProperty.call(status.code, msg)) { - throw new Error('invalid status message: "' + message2 + '"'); - } - return status.code[msg]; - } - function getStatusMessage(code) { - if (!Object.prototype.hasOwnProperty.call(status.message, code)) { - throw new Error("invalid status code: " + code); - } - return status.message[code]; - } - function status(code) { - if (typeof code === "number") { - return getStatusMessage(code); - } - if (typeof code !== "string") { - throw new TypeError("code must be a number or string"); - } - var n = parseInt(code, 10); - if (!isNaN(n)) { - return getStatusMessage(n); - } - return getStatusCode(code); - } - } -}); - -// node_modules/http-errors/index.js -var require_http_errors3 = __commonJS({ - "node_modules/http-errors/index.js"(exports2, module2) { - "use strict"; - var deprecate2 = require_depd3()("http-errors"); - var setPrototypeOf = require_setprototypeof(); - var statuses = require_statuses3(); - var inherits2 = require_inherits(); - var toIdentifier = require_toidentifier(); - module2.exports = createError; - module2.exports.HttpError = createHttpErrorConstructor(); - module2.exports.isHttpError = createIsHttpErrorFunction(module2.exports.HttpError); - populateConstructorExports(module2.exports, statuses.codes, module2.exports.HttpError); - function codeClass(status) { - return Number(String(status).charAt(0) + "00"); - } - function createError() { - var err; - var msg; - var status = 500; - var props = {}; - for (var i = 0; i < arguments.length; i++) { - var arg = arguments[i]; - var type = typeof arg; - if (type === "object" && arg instanceof Error) { - err = arg; - status = err.status || err.statusCode || status; - } else if (type === "number" && i === 0) { - status = arg; - } else if (type === "string") { - msg = arg; - } else if (type === "object") { - props = arg; - } else { - throw new TypeError("argument #" + (i + 1) + " unsupported type " + type); - } - } - if (typeof status === "number" && (status < 400 || status >= 600)) { - deprecate2("non-error status code; use only 4xx or 5xx status codes"); - } - if (typeof status !== "number" || !statuses.message[status] && (status < 400 || status >= 600)) { - status = 500; - } - var HttpError2 = createError[status] || createError[codeClass(status)]; - if (!err) { - err = HttpError2 ? new HttpError2(msg) : new Error(msg || statuses.message[status]); - Error.captureStackTrace(err, createError); - } - if (!HttpError2 || !(err instanceof HttpError2) || err.status !== status) { - err.expose = status < 500; - err.status = err.statusCode = status; - } - for (var key in props) { - if (key !== "status" && key !== "statusCode") { - err[key] = props[key]; - } - } - return err; - } - function createHttpErrorConstructor() { - function HttpError2() { - throw new TypeError("cannot construct abstract class"); - } - inherits2(HttpError2, Error); - return HttpError2; - } - function createClientErrorConstructor(HttpError2, name, code) { - var className = toClassName(name); - function ClientError(message2) { - var msg = message2 != null ? message2 : statuses.message[code]; - var err = new Error(msg); - Error.captureStackTrace(err, ClientError); - setPrototypeOf(err, ClientError.prototype); - Object.defineProperty(err, "message", { - enumerable: true, - configurable: true, - value: msg, - writable: true - }); - Object.defineProperty(err, "name", { - enumerable: false, - configurable: true, - value: className, - writable: true - }); - return err; - } - inherits2(ClientError, HttpError2); - nameFunc(ClientError, className); - ClientError.prototype.status = code; - ClientError.prototype.statusCode = code; - ClientError.prototype.expose = true; - return ClientError; - } - function createIsHttpErrorFunction(HttpError2) { - return function isHttpError(val) { - if (!val || typeof val !== "object") { - return false; - } - if (val instanceof HttpError2) { - return true; - } - return val instanceof Error && typeof val.expose === "boolean" && typeof val.statusCode === "number" && val.status === val.statusCode; - }; - } - function createServerErrorConstructor(HttpError2, name, code) { - var className = toClassName(name); - function ServerError(message2) { - var msg = message2 != null ? message2 : statuses.message[code]; - var err = new Error(msg); - Error.captureStackTrace(err, ServerError); - setPrototypeOf(err, ServerError.prototype); - Object.defineProperty(err, "message", { - enumerable: true, - configurable: true, - value: msg, - writable: true - }); - Object.defineProperty(err, "name", { - enumerable: false, - configurable: true, - value: className, - writable: true - }); - return err; - } - inherits2(ServerError, HttpError2); - nameFunc(ServerError, className); - ServerError.prototype.status = code; - ServerError.prototype.statusCode = code; - ServerError.prototype.expose = false; - return ServerError; - } - function nameFunc(func, name) { - var desc = Object.getOwnPropertyDescriptor(func, "name"); - if (desc && desc.configurable) { - desc.value = name; - Object.defineProperty(func, "name", desc); - } - } - function populateConstructorExports(exports3, codes, HttpError2) { - codes.forEach(function forEachCode(code) { - var CodeError; - var name = toIdentifier(statuses.message[code]); - switch (codeClass(code)) { - case 400: - CodeError = createClientErrorConstructor(HttpError2, name, code); - break; - case 500: - CodeError = createServerErrorConstructor(HttpError2, name, code); - break; - } - if (CodeError) { - exports3[code] = CodeError; - exports3[name] = CodeError; - } - }); - } - function toClassName(name) { - return name.substr(-5) !== "Error" ? name + "Error" : name; - } - } -}); - -// node_modules/safer-buffer/safer.js -var require_safer = __commonJS({ - "node_modules/safer-buffer/safer.js"(exports2, module2) { - "use strict"; - var buffer = require("buffer"); - var Buffer2 = buffer.Buffer; - var safer = {}; - var key; - for (key in buffer) { - if (!buffer.hasOwnProperty(key)) - continue; - if (key === "SlowBuffer" || key === "Buffer") - continue; - safer[key] = buffer[key]; - } - var Safer = safer.Buffer = {}; - for (key in Buffer2) { - if (!Buffer2.hasOwnProperty(key)) - continue; - if (key === "allocUnsafe" || key === "allocUnsafeSlow") - continue; - Safer[key] = Buffer2[key]; - } - safer.Buffer.prototype = Buffer2.prototype; - if (!Safer.from || Safer.from === Uint8Array.from) { - Safer.from = function(value, encodingOrOffset, length) { - if (typeof value === "number") { - throw new TypeError('The "value" argument must not be of type number. Received type ' + typeof value); - } - if (value && typeof value.length === "undefined") { - throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof value); - } - return Buffer2(value, encodingOrOffset, length); - }; - } - if (!Safer.alloc) { - Safer.alloc = function(size, fill, encoding) { - if (typeof size !== "number") { - throw new TypeError('The "size" argument must be of type number. Received type ' + typeof size); - } - if (size < 0 || size >= 2 * (1 << 30)) { - throw new RangeError('The value "' + size + '" is invalid for option "size"'); - } - var buf = Buffer2(size); - if (!fill || fill.length === 0) { - buf.fill(0); - } else if (typeof encoding === "string") { - buf.fill(fill, encoding); - } else { - buf.fill(fill); - } - return buf; - }; - } - if (!safer.kStringMaxLength) { - try { - safer.kStringMaxLength = process.binding("buffer").kStringMaxLength; - } catch (e) { - } - } - if (!safer.constants) { - safer.constants = { - MAX_LENGTH: safer.kMaxLength - }; - if (safer.kStringMaxLength) { - safer.constants.MAX_STRING_LENGTH = safer.kStringMaxLength; - } - } - module2.exports = safer; - } -}); - -// node_modules/iconv-lite/lib/bom-handling.js -var require_bom_handling = __commonJS({ - "node_modules/iconv-lite/lib/bom-handling.js"(exports2) { - "use strict"; - var BOMChar = "\uFEFF"; - exports2.PrependBOM = PrependBOMWrapper; - function PrependBOMWrapper(encoder, options) { - this.encoder = encoder; - this.addBOM = true; - } - PrependBOMWrapper.prototype.write = function(str) { - if (this.addBOM) { - str = BOMChar + str; - this.addBOM = false; - } - return this.encoder.write(str); - }; - PrependBOMWrapper.prototype.end = function() { - return this.encoder.end(); - }; - exports2.StripBOM = StripBOMWrapper; - function StripBOMWrapper(decoder, options) { - this.decoder = decoder; - this.pass = false; - this.options = options || {}; - } - StripBOMWrapper.prototype.write = function(buf) { - var res = this.decoder.write(buf); - if (this.pass || !res) - return res; - if (res[0] === BOMChar) { - res = res.slice(1); - if (typeof this.options.stripBOM === "function") - this.options.stripBOM(); - } - this.pass = true; - return res; - }; - StripBOMWrapper.prototype.end = function() { - return this.decoder.end(); - }; - } -}); - -// node_modules/iconv-lite/encodings/internal.js -var require_internal = __commonJS({ - "node_modules/iconv-lite/encodings/internal.js"(exports2, module2) { - "use strict"; - var Buffer2 = require_safer().Buffer; - module2.exports = { - utf8: { type: "_internal", bomAware: true }, - cesu8: { type: "_internal", bomAware: true }, - unicode11utf8: "utf8", - ucs2: { type: "_internal", bomAware: true }, - utf16le: "ucs2", - binary: { type: "_internal" }, - base64: { type: "_internal" }, - hex: { type: "_internal" }, - _internal: InternalCodec - }; - function InternalCodec(codecOptions, iconv) { - this.enc = codecOptions.encodingName; - this.bomAware = codecOptions.bomAware; - if (this.enc === "base64") - this.encoder = InternalEncoderBase64; - else if (this.enc === "cesu8") { - this.enc = "utf8"; - this.encoder = InternalEncoderCesu8; - if (Buffer2.from("eda0bdedb2a9", "hex").toString() !== "\u{1F4A9}") { - this.decoder = InternalDecoderCesu8; - this.defaultCharUnicode = iconv.defaultCharUnicode; - } - } - } - InternalCodec.prototype.encoder = InternalEncoder; - InternalCodec.prototype.decoder = InternalDecoder; - var StringDecoder = require("string_decoder").StringDecoder; - if (!StringDecoder.prototype.end) - StringDecoder.prototype.end = function() { - }; - function InternalDecoder(options, codec) { - StringDecoder.call(this, codec.enc); - } - InternalDecoder.prototype = StringDecoder.prototype; - function InternalEncoder(options, codec) { - this.enc = codec.enc; - } - InternalEncoder.prototype.write = function(str) { - return Buffer2.from(str, this.enc); - }; - InternalEncoder.prototype.end = function() { - }; - function InternalEncoderBase64(options, codec) { - this.prevStr = ""; - } - InternalEncoderBase64.prototype.write = function(str) { - str = this.prevStr + str; - var completeQuads = str.length - str.length % 4; - this.prevStr = str.slice(completeQuads); - str = str.slice(0, completeQuads); - return Buffer2.from(str, "base64"); - }; - InternalEncoderBase64.prototype.end = function() { - return Buffer2.from(this.prevStr, "base64"); - }; - function InternalEncoderCesu8(options, codec) { - } - InternalEncoderCesu8.prototype.write = function(str) { - var buf = Buffer2.alloc(str.length * 3), bufIdx = 0; - for (var i = 0; i < str.length; i++) { - var charCode = str.charCodeAt(i); - if (charCode < 128) - buf[bufIdx++] = charCode; - else if (charCode < 2048) { - buf[bufIdx++] = 192 + (charCode >>> 6); - buf[bufIdx++] = 128 + (charCode & 63); - } else { - buf[bufIdx++] = 224 + (charCode >>> 12); - buf[bufIdx++] = 128 + (charCode >>> 6 & 63); - buf[bufIdx++] = 128 + (charCode & 63); - } - } - return buf.slice(0, bufIdx); - }; - InternalEncoderCesu8.prototype.end = function() { - }; - function InternalDecoderCesu8(options, codec) { - this.acc = 0; - this.contBytes = 0; - this.accBytes = 0; - this.defaultCharUnicode = codec.defaultCharUnicode; - } - InternalDecoderCesu8.prototype.write = function(buf) { - var acc = this.acc, contBytes = this.contBytes, accBytes = this.accBytes, res = ""; - for (var i = 0; i < buf.length; i++) { - var curByte = buf[i]; - if ((curByte & 192) !== 128) { - if (contBytes > 0) { - res += this.defaultCharUnicode; - contBytes = 0; - } - if (curByte < 128) { - res += String.fromCharCode(curByte); - } else if (curByte < 224) { - acc = curByte & 31; - contBytes = 1; - accBytes = 1; - } else if (curByte < 240) { - acc = curByte & 15; - contBytes = 2; - accBytes = 1; - } else { - res += this.defaultCharUnicode; - } - } else { - if (contBytes > 0) { - acc = acc << 6 | curByte & 63; - contBytes--; - accBytes++; - if (contBytes === 0) { - if (accBytes === 2 && acc < 128 && acc > 0) - res += this.defaultCharUnicode; - else if (accBytes === 3 && acc < 2048) - res += this.defaultCharUnicode; - else - res += String.fromCharCode(acc); - } - } else { - res += this.defaultCharUnicode; - } - } - } - this.acc = acc; - this.contBytes = contBytes; - this.accBytes = accBytes; - return res; - }; - InternalDecoderCesu8.prototype.end = function() { - var res = 0; - if (this.contBytes > 0) - res += this.defaultCharUnicode; - return res; - }; - } -}); - -// node_modules/iconv-lite/encodings/utf16.js -var require_utf16 = __commonJS({ - "node_modules/iconv-lite/encodings/utf16.js"(exports2) { - "use strict"; - var Buffer2 = require_safer().Buffer; - exports2.utf16be = Utf16BECodec; - function Utf16BECodec() { - } - Utf16BECodec.prototype.encoder = Utf16BEEncoder; - Utf16BECodec.prototype.decoder = Utf16BEDecoder; - Utf16BECodec.prototype.bomAware = true; - function Utf16BEEncoder() { - } - Utf16BEEncoder.prototype.write = function(str) { - var buf = Buffer2.from(str, "ucs2"); - for (var i = 0; i < buf.length; i += 2) { - var tmp = buf[i]; - buf[i] = buf[i + 1]; - buf[i + 1] = tmp; - } - return buf; - }; - Utf16BEEncoder.prototype.end = function() { - }; - function Utf16BEDecoder() { - this.overflowByte = -1; - } - Utf16BEDecoder.prototype.write = function(buf) { - if (buf.length == 0) - return ""; - var buf2 = Buffer2.alloc(buf.length + 1), i = 0, j = 0; - if (this.overflowByte !== -1) { - buf2[0] = buf[0]; - buf2[1] = this.overflowByte; - i = 1; - j = 2; - } - for (; i < buf.length - 1; i += 2, j += 2) { - buf2[j] = buf[i + 1]; - buf2[j + 1] = buf[i]; - } - this.overflowByte = i == buf.length - 1 ? buf[buf.length - 1] : -1; - return buf2.slice(0, j).toString("ucs2"); - }; - Utf16BEDecoder.prototype.end = function() { - }; - exports2.utf16 = Utf16Codec; - function Utf16Codec(codecOptions, iconv) { - this.iconv = iconv; - } - Utf16Codec.prototype.encoder = Utf16Encoder; - Utf16Codec.prototype.decoder = Utf16Decoder; - function Utf16Encoder(options, codec) { - options = options || {}; - if (options.addBOM === void 0) - options.addBOM = true; - this.encoder = codec.iconv.getEncoder("utf-16le", options); - } - Utf16Encoder.prototype.write = function(str) { - return this.encoder.write(str); - }; - Utf16Encoder.prototype.end = function() { - return this.encoder.end(); - }; - function Utf16Decoder(options, codec) { - this.decoder = null; - this.initialBytes = []; - this.initialBytesLen = 0; - this.options = options || {}; - this.iconv = codec.iconv; - } - Utf16Decoder.prototype.write = function(buf) { - if (!this.decoder) { - this.initialBytes.push(buf); - this.initialBytesLen += buf.length; - if (this.initialBytesLen < 16) - return ""; - var buf = Buffer2.concat(this.initialBytes), encoding = detectEncoding(buf, this.options.defaultEncoding); - this.decoder = this.iconv.getDecoder(encoding, this.options); - this.initialBytes.length = this.initialBytesLen = 0; - } - return this.decoder.write(buf); - }; - Utf16Decoder.prototype.end = function() { - if (!this.decoder) { - var buf = Buffer2.concat(this.initialBytes), encoding = detectEncoding(buf, this.options.defaultEncoding); - this.decoder = this.iconv.getDecoder(encoding, this.options); - var res = this.decoder.write(buf), trail = this.decoder.end(); - return trail ? res + trail : res; - } - return this.decoder.end(); - }; - function detectEncoding(buf, defaultEncoding) { - var enc = defaultEncoding || "utf-16le"; - if (buf.length >= 2) { - if (buf[0] == 254 && buf[1] == 255) - enc = "utf-16be"; - else if (buf[0] == 255 && buf[1] == 254) - enc = "utf-16le"; - else { - var asciiCharsLE = 0, asciiCharsBE = 0, _len = Math.min(buf.length - buf.length % 2, 64); - for (var i = 0; i < _len; i += 2) { - if (buf[i] === 0 && buf[i + 1] !== 0) - asciiCharsBE++; - if (buf[i] !== 0 && buf[i + 1] === 0) - asciiCharsLE++; - } - if (asciiCharsBE > asciiCharsLE) - enc = "utf-16be"; - else if (asciiCharsBE < asciiCharsLE) - enc = "utf-16le"; - } - } - return enc; - } - } -}); - -// node_modules/iconv-lite/encodings/utf7.js -var require_utf7 = __commonJS({ - "node_modules/iconv-lite/encodings/utf7.js"(exports2) { - "use strict"; - var Buffer2 = require_safer().Buffer; - exports2.utf7 = Utf7Codec; - exports2.unicode11utf7 = "utf7"; - function Utf7Codec(codecOptions, iconv) { - this.iconv = iconv; - } - Utf7Codec.prototype.encoder = Utf7Encoder; - Utf7Codec.prototype.decoder = Utf7Decoder; - Utf7Codec.prototype.bomAware = true; - var nonDirectChars = /[^A-Za-z0-9'\(\),-\.\/:\? \n\r\t]+/g; - function Utf7Encoder(options, codec) { - this.iconv = codec.iconv; - } - Utf7Encoder.prototype.write = function(str) { - return Buffer2.from(str.replace(nonDirectChars, function(chunk) { - return "+" + (chunk === "+" ? "" : this.iconv.encode(chunk, "utf16-be").toString("base64").replace(/=+$/, "")) + "-"; - }.bind(this))); - }; - Utf7Encoder.prototype.end = function() { - }; - function Utf7Decoder(options, codec) { - this.iconv = codec.iconv; - this.inBase64 = false; - this.base64Accum = ""; - } - var base64Regex = /[A-Za-z0-9\/+]/; - var base64Chars = []; - for (i = 0; i < 256; i++) - base64Chars[i] = base64Regex.test(String.fromCharCode(i)); - var i; - var plusChar = "+".charCodeAt(0); - var minusChar = "-".charCodeAt(0); - var andChar = "&".charCodeAt(0); - Utf7Decoder.prototype.write = function(buf) { - var res = "", lastI = 0, inBase64 = this.inBase64, base64Accum = this.base64Accum; - for (var i2 = 0; i2 < buf.length; i2++) { - if (!inBase64) { - if (buf[i2] == plusChar) { - res += this.iconv.decode(buf.slice(lastI, i2), "ascii"); - lastI = i2 + 1; - inBase64 = true; - } - } else { - if (!base64Chars[buf[i2]]) { - if (i2 == lastI && buf[i2] == minusChar) { - res += "+"; - } else { - var b64str = base64Accum + buf.slice(lastI, i2).toString(); - res += this.iconv.decode(Buffer2.from(b64str, "base64"), "utf16-be"); - } - if (buf[i2] != minusChar) - i2--; - lastI = i2 + 1; - inBase64 = false; - base64Accum = ""; - } - } - } - if (!inBase64) { - res += this.iconv.decode(buf.slice(lastI), "ascii"); - } else { - var b64str = base64Accum + buf.slice(lastI).toString(); - var canBeDecoded = b64str.length - b64str.length % 8; - base64Accum = b64str.slice(canBeDecoded); - b64str = b64str.slice(0, canBeDecoded); - res += this.iconv.decode(Buffer2.from(b64str, "base64"), "utf16-be"); - } - this.inBase64 = inBase64; - this.base64Accum = base64Accum; - return res; - }; - Utf7Decoder.prototype.end = function() { - var res = ""; - if (this.inBase64 && this.base64Accum.length > 0) - res = this.iconv.decode(Buffer2.from(this.base64Accum, "base64"), "utf16-be"); - this.inBase64 = false; - this.base64Accum = ""; - return res; - }; - exports2.utf7imap = Utf7IMAPCodec; - function Utf7IMAPCodec(codecOptions, iconv) { - this.iconv = iconv; - } - Utf7IMAPCodec.prototype.encoder = Utf7IMAPEncoder; - Utf7IMAPCodec.prototype.decoder = Utf7IMAPDecoder; - Utf7IMAPCodec.prototype.bomAware = true; - function Utf7IMAPEncoder(options, codec) { - this.iconv = codec.iconv; - this.inBase64 = false; - this.base64Accum = Buffer2.alloc(6); - this.base64AccumIdx = 0; - } - Utf7IMAPEncoder.prototype.write = function(str) { - var inBase64 = this.inBase64, base64Accum = this.base64Accum, base64AccumIdx = this.base64AccumIdx, buf = Buffer2.alloc(str.length * 5 + 10), bufIdx = 0; - for (var i2 = 0; i2 < str.length; i2++) { - var uChar = str.charCodeAt(i2); - if (32 <= uChar && uChar <= 126) { - if (inBase64) { - if (base64AccumIdx > 0) { - bufIdx += buf.write(base64Accum.slice(0, base64AccumIdx).toString("base64").replace(/\//g, ",").replace(/=+$/, ""), bufIdx); - base64AccumIdx = 0; - } - buf[bufIdx++] = minusChar; - inBase64 = false; - } - if (!inBase64) { - buf[bufIdx++] = uChar; - if (uChar === andChar) - buf[bufIdx++] = minusChar; - } - } else { - if (!inBase64) { - buf[bufIdx++] = andChar; - inBase64 = true; - } - if (inBase64) { - base64Accum[base64AccumIdx++] = uChar >> 8; - base64Accum[base64AccumIdx++] = uChar & 255; - if (base64AccumIdx == base64Accum.length) { - bufIdx += buf.write(base64Accum.toString("base64").replace(/\//g, ","), bufIdx); - base64AccumIdx = 0; - } - } - } - } - this.inBase64 = inBase64; - this.base64AccumIdx = base64AccumIdx; - return buf.slice(0, bufIdx); - }; - Utf7IMAPEncoder.prototype.end = function() { - var buf = Buffer2.alloc(10), bufIdx = 0; - if (this.inBase64) { - if (this.base64AccumIdx > 0) { - bufIdx += buf.write(this.base64Accum.slice(0, this.base64AccumIdx).toString("base64").replace(/\//g, ",").replace(/=+$/, ""), bufIdx); - this.base64AccumIdx = 0; - } - buf[bufIdx++] = minusChar; - this.inBase64 = false; - } - return buf.slice(0, bufIdx); - }; - function Utf7IMAPDecoder(options, codec) { - this.iconv = codec.iconv; - this.inBase64 = false; - this.base64Accum = ""; - } - var base64IMAPChars = base64Chars.slice(); - base64IMAPChars[",".charCodeAt(0)] = true; - Utf7IMAPDecoder.prototype.write = function(buf) { - var res = "", lastI = 0, inBase64 = this.inBase64, base64Accum = this.base64Accum; - for (var i2 = 0; i2 < buf.length; i2++) { - if (!inBase64) { - if (buf[i2] == andChar) { - res += this.iconv.decode(buf.slice(lastI, i2), "ascii"); - lastI = i2 + 1; - inBase64 = true; - } - } else { - if (!base64IMAPChars[buf[i2]]) { - if (i2 == lastI && buf[i2] == minusChar) { - res += "&"; - } else { - var b64str = base64Accum + buf.slice(lastI, i2).toString().replace(/,/g, "/"); - res += this.iconv.decode(Buffer2.from(b64str, "base64"), "utf16-be"); - } - if (buf[i2] != minusChar) - i2--; - lastI = i2 + 1; - inBase64 = false; - base64Accum = ""; - } - } - } - if (!inBase64) { - res += this.iconv.decode(buf.slice(lastI), "ascii"); - } else { - var b64str = base64Accum + buf.slice(lastI).toString().replace(/,/g, "/"); - var canBeDecoded = b64str.length - b64str.length % 8; - base64Accum = b64str.slice(canBeDecoded); - b64str = b64str.slice(0, canBeDecoded); - res += this.iconv.decode(Buffer2.from(b64str, "base64"), "utf16-be"); - } - this.inBase64 = inBase64; - this.base64Accum = base64Accum; - return res; - }; - Utf7IMAPDecoder.prototype.end = function() { - var res = ""; - if (this.inBase64 && this.base64Accum.length > 0) - res = this.iconv.decode(Buffer2.from(this.base64Accum, "base64"), "utf16-be"); - this.inBase64 = false; - this.base64Accum = ""; - return res; - }; - } -}); - -// node_modules/iconv-lite/encodings/sbcs-codec.js -var require_sbcs_codec = __commonJS({ - "node_modules/iconv-lite/encodings/sbcs-codec.js"(exports2) { - "use strict"; - var Buffer2 = require_safer().Buffer; - exports2._sbcs = SBCSCodec; - function SBCSCodec(codecOptions, iconv) { - if (!codecOptions) - throw new Error("SBCS codec is called without the data."); - if (!codecOptions.chars || codecOptions.chars.length !== 128 && codecOptions.chars.length !== 256) - throw new Error("Encoding '" + codecOptions.type + "' has incorrect 'chars' (must be of len 128 or 256)"); - if (codecOptions.chars.length === 128) { - var asciiString = ""; - for (var i = 0; i < 128; i++) - asciiString += String.fromCharCode(i); - codecOptions.chars = asciiString + codecOptions.chars; - } - this.decodeBuf = Buffer2.from(codecOptions.chars, "ucs2"); - var encodeBuf = Buffer2.alloc(65536, iconv.defaultCharSingleByte.charCodeAt(0)); - for (var i = 0; i < codecOptions.chars.length; i++) - encodeBuf[codecOptions.chars.charCodeAt(i)] = i; - this.encodeBuf = encodeBuf; - } - SBCSCodec.prototype.encoder = SBCSEncoder; - SBCSCodec.prototype.decoder = SBCSDecoder; - function SBCSEncoder(options, codec) { - this.encodeBuf = codec.encodeBuf; - } - SBCSEncoder.prototype.write = function(str) { - var buf = Buffer2.alloc(str.length); - for (var i = 0; i < str.length; i++) - buf[i] = this.encodeBuf[str.charCodeAt(i)]; - return buf; - }; - SBCSEncoder.prototype.end = function() { - }; - function SBCSDecoder(options, codec) { - this.decodeBuf = codec.decodeBuf; - } - SBCSDecoder.prototype.write = function(buf) { - var decodeBuf = this.decodeBuf; - var newBuf = Buffer2.alloc(buf.length * 2); - var idx1 = 0, idx2 = 0; - for (var i = 0; i < buf.length; i++) { - idx1 = buf[i] * 2; - idx2 = i * 2; - newBuf[idx2] = decodeBuf[idx1]; - newBuf[idx2 + 1] = decodeBuf[idx1 + 1]; - } - return newBuf.toString("ucs2"); - }; - SBCSDecoder.prototype.end = function() { - }; - } -}); - -// node_modules/iconv-lite/encodings/sbcs-data.js -var require_sbcs_data = __commonJS({ - "node_modules/iconv-lite/encodings/sbcs-data.js"(exports2, module2) { - "use strict"; - module2.exports = { - "10029": "maccenteuro", - "maccenteuro": { - "type": "_sbcs", - "chars": "\xC4\u0100\u0101\xC9\u0104\xD6\xDC\xE1\u0105\u010C\xE4\u010D\u0106\u0107\xE9\u0179\u017A\u010E\xED\u010F\u0112\u0113\u0116\xF3\u0117\xF4\xF6\xF5\xFA\u011A\u011B\xFC\u2020\xB0\u0118\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\u0119\xA8\u2260\u0123\u012E\u012F\u012A\u2264\u2265\u012B\u0136\u2202\u2211\u0142\u013B\u013C\u013D\u013E\u0139\u013A\u0145\u0146\u0143\xAC\u221A\u0144\u0147\u2206\xAB\xBB\u2026\xA0\u0148\u0150\xD5\u0151\u014C\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\u014D\u0154\u0155\u0158\u2039\u203A\u0159\u0156\u0157\u0160\u201A\u201E\u0161\u015A\u015B\xC1\u0164\u0165\xCD\u017D\u017E\u016A\xD3\xD4\u016B\u016E\xDA\u016F\u0170\u0171\u0172\u0173\xDD\xFD\u0137\u017B\u0141\u017C\u0122\u02C7" - }, - "808": "cp808", - "ibm808": "cp808", - "cp808": { - "type": "_sbcs", - "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0404\u0454\u0407\u0457\u040E\u045E\xB0\u2219\xB7\u221A\u2116\u20AC\u25A0\xA0" - }, - "mik": { - "type": "_sbcs", - "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u2514\u2534\u252C\u251C\u2500\u253C\u2563\u2551\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2510\u2591\u2592\u2593\u2502\u2524\u2116\xA7\u2557\u255D\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" - }, - "ascii8bit": "ascii", - "usascii": "ascii", - "ansix34": "ascii", - "ansix341968": "ascii", - "ansix341986": "ascii", - "csascii": "ascii", - "cp367": "ascii", - "ibm367": "ascii", - "isoir6": "ascii", - "iso646us": "ascii", - "iso646irv": "ascii", - "us": "ascii", - "latin1": "iso88591", - "latin2": "iso88592", - "latin3": "iso88593", - "latin4": "iso88594", - "latin5": "iso88599", - "latin6": "iso885910", - "latin7": "iso885913", - "latin8": "iso885914", - "latin9": "iso885915", - "latin10": "iso885916", - "csisolatin1": "iso88591", - "csisolatin2": "iso88592", - "csisolatin3": "iso88593", - "csisolatin4": "iso88594", - "csisolatincyrillic": "iso88595", - "csisolatinarabic": "iso88596", - "csisolatingreek": "iso88597", - "csisolatinhebrew": "iso88598", - "csisolatin5": "iso88599", - "csisolatin6": "iso885910", - "l1": "iso88591", - "l2": "iso88592", - "l3": "iso88593", - "l4": "iso88594", - "l5": "iso88599", - "l6": "iso885910", - "l7": "iso885913", - "l8": "iso885914", - "l9": "iso885915", - "l10": "iso885916", - "isoir14": "iso646jp", - "isoir57": "iso646cn", - "isoir100": "iso88591", - "isoir101": "iso88592", - "isoir109": "iso88593", - "isoir110": "iso88594", - "isoir144": "iso88595", - "isoir127": "iso88596", - "isoir126": "iso88597", - "isoir138": "iso88598", - "isoir148": "iso88599", - "isoir157": "iso885910", - "isoir166": "tis620", - "isoir179": "iso885913", - "isoir199": "iso885914", - "isoir203": "iso885915", - "isoir226": "iso885916", - "cp819": "iso88591", - "ibm819": "iso88591", - "cyrillic": "iso88595", - "arabic": "iso88596", - "arabic8": "iso88596", - "ecma114": "iso88596", - "asmo708": "iso88596", - "greek": "iso88597", - "greek8": "iso88597", - "ecma118": "iso88597", - "elot928": "iso88597", - "hebrew": "iso88598", - "hebrew8": "iso88598", - "turkish": "iso88599", - "turkish8": "iso88599", - "thai": "iso885911", - "thai8": "iso885911", - "celtic": "iso885914", - "celtic8": "iso885914", - "isoceltic": "iso885914", - "tis6200": "tis620", - "tis62025291": "tis620", - "tis62025330": "tis620", - "10000": "macroman", - "10006": "macgreek", - "10007": "maccyrillic", - "10079": "maciceland", - "10081": "macturkish", - "cspc8codepage437": "cp437", - "cspc775baltic": "cp775", - "cspc850multilingual": "cp850", - "cspcp852": "cp852", - "cspc862latinhebrew": "cp862", - "cpgr": "cp869", - "msee": "cp1250", - "mscyrl": "cp1251", - "msansi": "cp1252", - "msgreek": "cp1253", - "msturk": "cp1254", - "mshebr": "cp1255", - "msarab": "cp1256", - "winbaltrim": "cp1257", - "cp20866": "koi8r", - "20866": "koi8r", - "ibm878": "koi8r", - "cskoi8r": "koi8r", - "cp21866": "koi8u", - "21866": "koi8u", - "ibm1168": "koi8u", - "strk10482002": "rk1048", - "tcvn5712": "tcvn", - "tcvn57121": "tcvn", - "gb198880": "iso646cn", - "cn": "iso646cn", - "csiso14jisc6220ro": "iso646jp", - "jisc62201969ro": "iso646jp", - "jp": "iso646jp", - "cshproman8": "hproman8", - "r8": "hproman8", - "roman8": "hproman8", - "xroman8": "hproman8", - "ibm1051": "hproman8", - "mac": "macintosh", - "csmacintosh": "macintosh" - }; - } -}); - -// node_modules/iconv-lite/encodings/sbcs-data-generated.js -var require_sbcs_data_generated = __commonJS({ - "node_modules/iconv-lite/encodings/sbcs-data-generated.js"(exports2, module2) { - "use strict"; - module2.exports = { - "437": "cp437", - "737": "cp737", - "775": "cp775", - "850": "cp850", - "852": "cp852", - "855": "cp855", - "856": "cp856", - "857": "cp857", - "858": "cp858", - "860": "cp860", - "861": "cp861", - "862": "cp862", - "863": "cp863", - "864": "cp864", - "865": "cp865", - "866": "cp866", - "869": "cp869", - "874": "windows874", - "922": "cp922", - "1046": "cp1046", - "1124": "cp1124", - "1125": "cp1125", - "1129": "cp1129", - "1133": "cp1133", - "1161": "cp1161", - "1162": "cp1162", - "1163": "cp1163", - "1250": "windows1250", - "1251": "windows1251", - "1252": "windows1252", - "1253": "windows1253", - "1254": "windows1254", - "1255": "windows1255", - "1256": "windows1256", - "1257": "windows1257", - "1258": "windows1258", - "28591": "iso88591", - "28592": "iso88592", - "28593": "iso88593", - "28594": "iso88594", - "28595": "iso88595", - "28596": "iso88596", - "28597": "iso88597", - "28598": "iso88598", - "28599": "iso88599", - "28600": "iso885910", - "28601": "iso885911", - "28603": "iso885913", - "28604": "iso885914", - "28605": "iso885915", - "28606": "iso885916", - "windows874": { - "type": "_sbcs", - "chars": "\u20AC\uFFFD\uFFFD\uFFFD\uFFFD\u2026\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD" - }, - "win874": "windows874", - "cp874": "windows874", - "windows1250": { - "type": "_sbcs", - "chars": "\u20AC\uFFFD\u201A\uFFFD\u201E\u2026\u2020\u2021\uFFFD\u2030\u0160\u2039\u015A\u0164\u017D\u0179\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0161\u203A\u015B\u0165\u017E\u017A\xA0\u02C7\u02D8\u0141\xA4\u0104\xA6\xA7\xA8\xA9\u015E\xAB\xAC\xAD\xAE\u017B\xB0\xB1\u02DB\u0142\xB4\xB5\xB6\xB7\xB8\u0105\u015F\xBB\u013D\u02DD\u013E\u017C\u0154\xC1\xC2\u0102\xC4\u0139\u0106\xC7\u010C\xC9\u0118\xCB\u011A\xCD\xCE\u010E\u0110\u0143\u0147\xD3\xD4\u0150\xD6\xD7\u0158\u016E\xDA\u0170\xDC\xDD\u0162\xDF\u0155\xE1\xE2\u0103\xE4\u013A\u0107\xE7\u010D\xE9\u0119\xEB\u011B\xED\xEE\u010F\u0111\u0144\u0148\xF3\xF4\u0151\xF6\xF7\u0159\u016F\xFA\u0171\xFC\xFD\u0163\u02D9" - }, - "win1250": "windows1250", - "cp1250": "windows1250", - "windows1251": { - "type": "_sbcs", - "chars": "\u0402\u0403\u201A\u0453\u201E\u2026\u2020\u2021\u20AC\u2030\u0409\u2039\u040A\u040C\u040B\u040F\u0452\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0459\u203A\u045A\u045C\u045B\u045F\xA0\u040E\u045E\u0408\xA4\u0490\xA6\xA7\u0401\xA9\u0404\xAB\xAC\xAD\xAE\u0407\xB0\xB1\u0406\u0456\u0491\xB5\xB6\xB7\u0451\u2116\u0454\xBB\u0458\u0405\u0455\u0457\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F" - }, - "win1251": "windows1251", - "cp1251": "windows1251", - "windows1252": { - "type": "_sbcs", - "chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\uFFFD\u017D\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\uFFFD\u017E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF" - }, - "win1252": "windows1252", - "cp1252": "windows1252", - "windows1253": { - "type": "_sbcs", - "chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\uFFFD\u2030\uFFFD\u2039\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\xA0\u0385\u0386\xA3\xA4\xA5\xA6\xA7\xA8\xA9\uFFFD\xAB\xAC\xAD\xAE\u2015\xB0\xB1\xB2\xB3\u0384\xB5\xB6\xB7\u0388\u0389\u038A\xBB\u038C\xBD\u038E\u038F\u0390\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\uFFFD\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03AA\u03AB\u03AC\u03AD\u03AE\u03AF\u03B0\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C2\u03C3\u03C4\u03C5\u03C6\u03C7\u03C8\u03C9\u03CA\u03CB\u03CC\u03CD\u03CE\uFFFD" - }, - "win1253": "windows1253", - "cp1253": "windows1253", - "windows1254": { - "type": "_sbcs", - "chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\uFFFD\uFFFD\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u011E\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u0130\u015E\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u011F\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u0131\u015F\xFF" - }, - "win1254": "windows1254", - "cp1254": "windows1254", - "windows1255": { - "type": "_sbcs", - "chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\uFFFD\u2039\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\xA0\xA1\xA2\xA3\u20AA\xA5\xA6\xA7\xA8\xA9\xD7\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xF7\xBB\xBC\xBD\xBE\xBF\u05B0\u05B1\u05B2\u05B3\u05B4\u05B5\u05B6\u05B7\u05B8\u05B9\u05BA\u05BB\u05BC\u05BD\u05BE\u05BF\u05C0\u05C1\u05C2\u05C3\u05F0\u05F1\u05F2\u05F3\u05F4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\uFFFD\u200E\u200F\uFFFD" - }, - "win1255": "windows1255", - "cp1255": "windows1255", - "windows1256": { - "type": "_sbcs", - "chars": "\u20AC\u067E\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0679\u2039\u0152\u0686\u0698\u0688\u06AF\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u06A9\u2122\u0691\u203A\u0153\u200C\u200D\u06BA\xA0\u060C\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\u06BE\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\u061B\xBB\xBC\xBD\xBE\u061F\u06C1\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\xD7\u0637\u0638\u0639\u063A\u0640\u0641\u0642\u0643\xE0\u0644\xE2\u0645\u0646\u0647\u0648\xE7\xE8\xE9\xEA\xEB\u0649\u064A\xEE\xEF\u064B\u064C\u064D\u064E\xF4\u064F\u0650\xF7\u0651\xF9\u0652\xFB\xFC\u200E\u200F\u06D2" - }, - "win1256": "windows1256", - "cp1256": "windows1256", - "windows1257": { - "type": "_sbcs", - "chars": "\u20AC\uFFFD\u201A\uFFFD\u201E\u2026\u2020\u2021\uFFFD\u2030\uFFFD\u2039\uFFFD\xA8\u02C7\xB8\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\xAF\u02DB\uFFFD\xA0\uFFFD\xA2\xA3\xA4\uFFFD\xA6\xA7\xD8\xA9\u0156\xAB\xAC\xAD\xAE\xC6\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xF8\xB9\u0157\xBB\xBC\xBD\xBE\xE6\u0104\u012E\u0100\u0106\xC4\xC5\u0118\u0112\u010C\xC9\u0179\u0116\u0122\u0136\u012A\u013B\u0160\u0143\u0145\xD3\u014C\xD5\xD6\xD7\u0172\u0141\u015A\u016A\xDC\u017B\u017D\xDF\u0105\u012F\u0101\u0107\xE4\xE5\u0119\u0113\u010D\xE9\u017A\u0117\u0123\u0137\u012B\u013C\u0161\u0144\u0146\xF3\u014D\xF5\xF6\xF7\u0173\u0142\u015B\u016B\xFC\u017C\u017E\u02D9" - }, - "win1257": "windows1257", - "cp1257": "windows1257", - "windows1258": { - "type": "_sbcs", - "chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\uFFFD\u2039\u0152\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\uFFFD\u203A\u0153\uFFFD\uFFFD\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\u0102\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\u0300\xCD\xCE\xCF\u0110\xD1\u0309\xD3\xD4\u01A0\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u01AF\u0303\xDF\xE0\xE1\xE2\u0103\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\u0301\xED\xEE\xEF\u0111\xF1\u0323\xF3\xF4\u01A1\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u01B0\u20AB\xFF" - }, - "win1258": "windows1258", - "cp1258": "windows1258", - "iso88591": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF" - }, - "cp28591": "iso88591", - "iso88592": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u02D8\u0141\xA4\u013D\u015A\xA7\xA8\u0160\u015E\u0164\u0179\xAD\u017D\u017B\xB0\u0105\u02DB\u0142\xB4\u013E\u015B\u02C7\xB8\u0161\u015F\u0165\u017A\u02DD\u017E\u017C\u0154\xC1\xC2\u0102\xC4\u0139\u0106\xC7\u010C\xC9\u0118\xCB\u011A\xCD\xCE\u010E\u0110\u0143\u0147\xD3\xD4\u0150\xD6\xD7\u0158\u016E\xDA\u0170\xDC\xDD\u0162\xDF\u0155\xE1\xE2\u0103\xE4\u013A\u0107\xE7\u010D\xE9\u0119\xEB\u011B\xED\xEE\u010F\u0111\u0144\u0148\xF3\xF4\u0151\xF6\xF7\u0159\u016F\xFA\u0171\xFC\xFD\u0163\u02D9" - }, - "cp28592": "iso88592", - "iso88593": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0126\u02D8\xA3\xA4\uFFFD\u0124\xA7\xA8\u0130\u015E\u011E\u0134\xAD\uFFFD\u017B\xB0\u0127\xB2\xB3\xB4\xB5\u0125\xB7\xB8\u0131\u015F\u011F\u0135\xBD\uFFFD\u017C\xC0\xC1\xC2\uFFFD\xC4\u010A\u0108\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\uFFFD\xD1\xD2\xD3\xD4\u0120\xD6\xD7\u011C\xD9\xDA\xDB\xDC\u016C\u015C\xDF\xE0\xE1\xE2\uFFFD\xE4\u010B\u0109\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\uFFFD\xF1\xF2\xF3\xF4\u0121\xF6\xF7\u011D\xF9\xFA\xFB\xFC\u016D\u015D\u02D9" - }, - "cp28593": "iso88593", - "iso88594": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u0138\u0156\xA4\u0128\u013B\xA7\xA8\u0160\u0112\u0122\u0166\xAD\u017D\xAF\xB0\u0105\u02DB\u0157\xB4\u0129\u013C\u02C7\xB8\u0161\u0113\u0123\u0167\u014A\u017E\u014B\u0100\xC1\xC2\xC3\xC4\xC5\xC6\u012E\u010C\xC9\u0118\xCB\u0116\xCD\xCE\u012A\u0110\u0145\u014C\u0136\xD4\xD5\xD6\xD7\xD8\u0172\xDA\xDB\xDC\u0168\u016A\xDF\u0101\xE1\xE2\xE3\xE4\xE5\xE6\u012F\u010D\xE9\u0119\xEB\u0117\xED\xEE\u012B\u0111\u0146\u014D\u0137\xF4\xF5\xF6\xF7\xF8\u0173\xFA\xFB\xFC\u0169\u016B\u02D9" - }, - "cp28594": "iso88594", - "iso88595": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0401\u0402\u0403\u0404\u0405\u0406\u0407\u0408\u0409\u040A\u040B\u040C\xAD\u040E\u040F\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u2116\u0451\u0452\u0453\u0454\u0455\u0456\u0457\u0458\u0459\u045A\u045B\u045C\xA7\u045E\u045F" - }, - "cp28595": "iso88595", - "iso88596": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\uFFFD\uFFFD\uFFFD\xA4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u060C\xAD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u061B\uFFFD\uFFFD\uFFFD\u061F\uFFFD\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\u0637\u0638\u0639\u063A\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0640\u0641\u0642\u0643\u0644\u0645\u0646\u0647\u0648\u0649\u064A\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" - }, - "cp28596": "iso88596", - "iso88597": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u2018\u2019\xA3\u20AC\u20AF\xA6\xA7\xA8\xA9\u037A\xAB\xAC\xAD\uFFFD\u2015\xB0\xB1\xB2\xB3\u0384\u0385\u0386\xB7\u0388\u0389\u038A\xBB\u038C\xBD\u038E\u038F\u0390\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\uFFFD\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03AA\u03AB\u03AC\u03AD\u03AE\u03AF\u03B0\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C2\u03C3\u03C4\u03C5\u03C6\u03C7\u03C8\u03C9\u03CA\u03CB\u03CC\u03CD\u03CE\uFFFD" - }, - "cp28597": "iso88597", - "iso88598": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\uFFFD\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xD7\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xF7\xBB\xBC\xBD\xBE\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2017\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\uFFFD\u200E\u200F\uFFFD" - }, - "cp28598": "iso88598", - "iso88599": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u011E\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u0130\u015E\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u011F\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u0131\u015F\xFF" - }, - "cp28599": "iso88599", - "iso885910": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u0112\u0122\u012A\u0128\u0136\xA7\u013B\u0110\u0160\u0166\u017D\xAD\u016A\u014A\xB0\u0105\u0113\u0123\u012B\u0129\u0137\xB7\u013C\u0111\u0161\u0167\u017E\u2015\u016B\u014B\u0100\xC1\xC2\xC3\xC4\xC5\xC6\u012E\u010C\xC9\u0118\xCB\u0116\xCD\xCE\xCF\xD0\u0145\u014C\xD3\xD4\xD5\xD6\u0168\xD8\u0172\xDA\xDB\xDC\xDD\xDE\xDF\u0101\xE1\xE2\xE3\xE4\xE5\xE6\u012F\u010D\xE9\u0119\xEB\u0117\xED\xEE\xEF\xF0\u0146\u014D\xF3\xF4\xF5\xF6\u0169\xF8\u0173\xFA\xFB\xFC\xFD\xFE\u0138" - }, - "cp28600": "iso885910", - "iso885911": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD" - }, - "cp28601": "iso885911", - "iso885913": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u201D\xA2\xA3\xA4\u201E\xA6\xA7\xD8\xA9\u0156\xAB\xAC\xAD\xAE\xC6\xB0\xB1\xB2\xB3\u201C\xB5\xB6\xB7\xF8\xB9\u0157\xBB\xBC\xBD\xBE\xE6\u0104\u012E\u0100\u0106\xC4\xC5\u0118\u0112\u010C\xC9\u0179\u0116\u0122\u0136\u012A\u013B\u0160\u0143\u0145\xD3\u014C\xD5\xD6\xD7\u0172\u0141\u015A\u016A\xDC\u017B\u017D\xDF\u0105\u012F\u0101\u0107\xE4\xE5\u0119\u0113\u010D\xE9\u017A\u0117\u0123\u0137\u012B\u013C\u0161\u0144\u0146\xF3\u014D\xF5\xF6\xF7\u0173\u0142\u015B\u016B\xFC\u017C\u017E\u2019" - }, - "cp28603": "iso885913", - "iso885914": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u1E02\u1E03\xA3\u010A\u010B\u1E0A\xA7\u1E80\xA9\u1E82\u1E0B\u1EF2\xAD\xAE\u0178\u1E1E\u1E1F\u0120\u0121\u1E40\u1E41\xB6\u1E56\u1E81\u1E57\u1E83\u1E60\u1EF3\u1E84\u1E85\u1E61\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u0174\xD1\xD2\xD3\xD4\xD5\xD6\u1E6A\xD8\xD9\xDA\xDB\xDC\xDD\u0176\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u0175\xF1\xF2\xF3\xF4\xF5\xF6\u1E6B\xF8\xF9\xFA\xFB\xFC\xFD\u0177\xFF" - }, - "cp28604": "iso885914", - "iso885915": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\u20AC\xA5\u0160\xA7\u0161\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\u017D\xB5\xB6\xB7\u017E\xB9\xBA\xBB\u0152\u0153\u0178\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF" - }, - "cp28605": "iso885915", - "iso885916": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u0105\u0141\u20AC\u201E\u0160\xA7\u0161\xA9\u0218\xAB\u0179\xAD\u017A\u017B\xB0\xB1\u010C\u0142\u017D\u201D\xB6\xB7\u017E\u010D\u0219\xBB\u0152\u0153\u0178\u017C\xC0\xC1\xC2\u0102\xC4\u0106\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u0110\u0143\xD2\xD3\xD4\u0150\xD6\u015A\u0170\xD9\xDA\xDB\xDC\u0118\u021A\xDF\xE0\xE1\xE2\u0103\xE4\u0107\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u0111\u0144\xF2\xF3\xF4\u0151\xF6\u015B\u0171\xF9\xFA\xFB\xFC\u0119\u021B\xFF" - }, - "cp28606": "iso885916", - "cp437": { - "type": "_sbcs", - "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" - }, - "ibm437": "cp437", - "csibm437": "cp437", - "cp737": { - "type": "_sbcs", - "chars": "\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C3\u03C2\u03C4\u03C5\u03C6\u03C7\u03C8\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03C9\u03AC\u03AD\u03AE\u03CA\u03AF\u03CC\u03CD\u03CB\u03CE\u0386\u0388\u0389\u038A\u038C\u038E\u038F\xB1\u2265\u2264\u03AA\u03AB\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" - }, - "ibm737": "cp737", - "csibm737": "cp737", - "cp775": { - "type": "_sbcs", - "chars": "\u0106\xFC\xE9\u0101\xE4\u0123\xE5\u0107\u0142\u0113\u0156\u0157\u012B\u0179\xC4\xC5\xC9\xE6\xC6\u014D\xF6\u0122\xA2\u015A\u015B\xD6\xDC\xF8\xA3\xD8\xD7\xA4\u0100\u012A\xF3\u017B\u017C\u017A\u201D\xA6\xA9\xAE\xAC\xBD\xBC\u0141\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u0104\u010C\u0118\u0116\u2563\u2551\u2557\u255D\u012E\u0160\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u0172\u016A\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u017D\u0105\u010D\u0119\u0117\u012F\u0161\u0173\u016B\u017E\u2518\u250C\u2588\u2584\u258C\u2590\u2580\xD3\xDF\u014C\u0143\xF5\xD5\xB5\u0144\u0136\u0137\u013B\u013C\u0146\u0112\u0145\u2019\xAD\xB1\u201C\xBE\xB6\xA7\xF7\u201E\xB0\u2219\xB7\xB9\xB3\xB2\u25A0\xA0" - }, - "ibm775": "cp775", - "csibm775": "cp775", - "cp850": { - "type": "_sbcs", - "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\xD7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xF0\xD0\xCA\xCB\xC8\u0131\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\xFE\xDE\xDA\xDB\xD9\xFD\xDD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0" - }, - "ibm850": "cp850", - "csibm850": "cp850", - "cp852": { - "type": "_sbcs", - "chars": "\xC7\xFC\xE9\xE2\xE4\u016F\u0107\xE7\u0142\xEB\u0150\u0151\xEE\u0179\xC4\u0106\xC9\u0139\u013A\xF4\xF6\u013D\u013E\u015A\u015B\xD6\xDC\u0164\u0165\u0141\xD7\u010D\xE1\xED\xF3\xFA\u0104\u0105\u017D\u017E\u0118\u0119\xAC\u017A\u010C\u015F\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\u011A\u015E\u2563\u2551\u2557\u255D\u017B\u017C\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u0102\u0103\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\u0111\u0110\u010E\xCB\u010F\u0147\xCD\xCE\u011B\u2518\u250C\u2588\u2584\u0162\u016E\u2580\xD3\xDF\xD4\u0143\u0144\u0148\u0160\u0161\u0154\xDA\u0155\u0170\xFD\xDD\u0163\xB4\xAD\u02DD\u02DB\u02C7\u02D8\xA7\xF7\xB8\xB0\xA8\u02D9\u0171\u0158\u0159\u25A0\xA0" - }, - "ibm852": "cp852", - "csibm852": "cp852", - "cp855": { - "type": "_sbcs", - "chars": "\u0452\u0402\u0453\u0403\u0451\u0401\u0454\u0404\u0455\u0405\u0456\u0406\u0457\u0407\u0458\u0408\u0459\u0409\u045A\u040A\u045B\u040B\u045C\u040C\u045E\u040E\u045F\u040F\u044E\u042E\u044A\u042A\u0430\u0410\u0431\u0411\u0446\u0426\u0434\u0414\u0435\u0415\u0444\u0424\u0433\u0413\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u0445\u0425\u0438\u0418\u2563\u2551\u2557\u255D\u0439\u0419\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u043A\u041A\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\u043B\u041B\u043C\u041C\u043D\u041D\u043E\u041E\u043F\u2518\u250C\u2588\u2584\u041F\u044F\u2580\u042F\u0440\u0420\u0441\u0421\u0442\u0422\u0443\u0423\u0436\u0416\u0432\u0412\u044C\u042C\u2116\xAD\u044B\u042B\u0437\u0417\u0448\u0428\u044D\u042D\u0449\u0429\u0447\u0427\xA7\u25A0\xA0" - }, - "ibm855": "cp855", - "csibm855": "cp855", - "cp856": { - "type": "_sbcs", - "chars": "\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\xA3\uFFFD\xD7\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xAE\xAC\xBD\xBC\uFFFD\xAB\xBB\u2591\u2592\u2593\u2502\u2524\uFFFD\uFFFD\uFFFD\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\uFFFD\uFFFD\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2518\u250C\u2588\u2584\xA6\uFFFD\u2580\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xB5\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0" - }, - "ibm856": "cp856", - "csibm856": "cp856", - "cp857": { - "type": "_sbcs", - "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\u0131\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\u0130\xD6\xDC\xF8\xA3\xD8\u015E\u015F\xE1\xED\xF3\xFA\xF1\xD1\u011E\u011F\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xBA\xAA\xCA\xCB\xC8\uFFFD\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\uFFFD\xD7\xDA\xDB\xD9\xEC\xFF\xAF\xB4\xAD\xB1\uFFFD\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0" - }, - "ibm857": "cp857", - "csibm857": "cp857", - "cp858": { - "type": "_sbcs", - "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\xD7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xF0\xD0\xCA\xCB\xC8\u20AC\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\xFE\xDE\xDA\xDB\xD9\xFD\xDD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0" - }, - "ibm858": "cp858", - "csibm858": "cp858", - "cp860": { - "type": "_sbcs", - "chars": "\xC7\xFC\xE9\xE2\xE3\xE0\xC1\xE7\xEA\xCA\xE8\xCD\xD4\xEC\xC3\xC2\xC9\xC0\xC8\xF4\xF5\xF2\xDA\xF9\xCC\xD5\xDC\xA2\xA3\xD9\u20A7\xD3\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xD2\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" - }, - "ibm860": "cp860", - "csibm860": "cp860", - "cp861": { - "type": "_sbcs", - "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xD0\xF0\xDE\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xFE\xFB\xDD\xFD\xD6\xDC\xF8\xA3\xD8\u20A7\u0192\xE1\xED\xF3\xFA\xC1\xCD\xD3\xDA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" - }, - "ibm861": "cp861", - "csibm861": "cp861", - "cp862": { - "type": "_sbcs", - "chars": "\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" - }, - "ibm862": "cp862", - "csibm862": "cp862", - "cp863": { - "type": "_sbcs", - "chars": "\xC7\xFC\xE9\xE2\xC2\xE0\xB6\xE7\xEA\xEB\xE8\xEF\xEE\u2017\xC0\xA7\xC9\xC8\xCA\xF4\xCB\xCF\xFB\xF9\xA4\xD4\xDC\xA2\xA3\xD9\xDB\u0192\xA6\xB4\xF3\xFA\xA8\xB8\xB3\xAF\xCE\u2310\xAC\xBD\xBC\xBE\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" - }, - "ibm863": "cp863", - "csibm863": "cp863", - "cp864": { - "type": "_sbcs", - "chars": "\0\x07\b \n\v\f\r\x1B !\"#$\u066A&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xB0\xB7\u2219\u221A\u2592\u2500\u2502\u253C\u2524\u252C\u251C\u2534\u2510\u250C\u2514\u2518\u03B2\u221E\u03C6\xB1\xBD\xBC\u2248\xAB\xBB\uFEF7\uFEF8\uFFFD\uFFFD\uFEFB\uFEFC\uFFFD\xA0\xAD\uFE82\xA3\xA4\uFE84\uFFFD\uFFFD\uFE8E\uFE8F\uFE95\uFE99\u060C\uFE9D\uFEA1\uFEA5\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\uFED1\u061B\uFEB1\uFEB5\uFEB9\u061F\xA2\uFE80\uFE81\uFE83\uFE85\uFECA\uFE8B\uFE8D\uFE91\uFE93\uFE97\uFE9B\uFE9F\uFEA3\uFEA7\uFEA9\uFEAB\uFEAD\uFEAF\uFEB3\uFEB7\uFEBB\uFEBF\uFEC1\uFEC5\uFECB\uFECF\xA6\xAC\xF7\xD7\uFEC9\u0640\uFED3\uFED7\uFEDB\uFEDF\uFEE3\uFEE7\uFEEB\uFEED\uFEEF\uFEF3\uFEBD\uFECC\uFECE\uFECD\uFEE1\uFE7D\u0651\uFEE5\uFEE9\uFEEC\uFEF0\uFEF2\uFED0\uFED5\uFEF5\uFEF6\uFEDD\uFED9\uFEF1\u25A0\uFFFD" - }, - "ibm864": "cp864", - "csibm864": "cp864", - "cp865": { - "type": "_sbcs", - "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xA4\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" - }, - "ibm865": "cp865", - "csibm865": "cp865", - "cp866": { - "type": "_sbcs", - "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0404\u0454\u0407\u0457\u040E\u045E\xB0\u2219\xB7\u221A\u2116\xA4\u25A0\xA0" - }, - "ibm866": "cp866", - "csibm866": "cp866", - "cp869": { - "type": "_sbcs", - "chars": "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0386\uFFFD\xB7\xAC\xA6\u2018\u2019\u0388\u2015\u0389\u038A\u03AA\u038C\uFFFD\uFFFD\u038E\u03AB\xA9\u038F\xB2\xB3\u03AC\xA3\u03AD\u03AE\u03AF\u03CA\u0390\u03CC\u03CD\u0391\u0392\u0393\u0394\u0395\u0396\u0397\xBD\u0398\u0399\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u039A\u039B\u039C\u039D\u2563\u2551\u2557\u255D\u039E\u039F\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u03A0\u03A1\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03B1\u03B2\u03B3\u2518\u250C\u2588\u2584\u03B4\u03B5\u2580\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C3\u03C2\u03C4\u0384\xAD\xB1\u03C5\u03C6\u03C7\xA7\u03C8\u0385\xB0\xA8\u03C9\u03CB\u03B0\u03CE\u25A0\xA0" - }, - "ibm869": "cp869", - "csibm869": "cp869", - "cp922": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\u203E\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u0160\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\u017D\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u0161\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\u017E\xFF" - }, - "ibm922": "cp922", - "csibm922": "cp922", - "cp1046": { - "type": "_sbcs", - "chars": "\uFE88\xD7\xF7\uF8F6\uF8F5\uF8F4\uF8F7\uFE71\x88\u25A0\u2502\u2500\u2510\u250C\u2514\u2518\uFE79\uFE7B\uFE7D\uFE7F\uFE77\uFE8A\uFEF0\uFEF3\uFEF2\uFECE\uFECF\uFED0\uFEF6\uFEF8\uFEFA\uFEFC\xA0\uF8FA\uF8F9\uF8F8\xA4\uF8FB\uFE8B\uFE91\uFE97\uFE9B\uFE9F\uFEA3\u060C\xAD\uFEA7\uFEB3\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\uFEB7\u061B\uFEBB\uFEBF\uFECA\u061F\uFECB\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\u0637\uFEC7\u0639\u063A\uFECC\uFE82\uFE84\uFE8E\uFED3\u0640\u0641\u0642\u0643\u0644\u0645\u0646\u0647\u0648\u0649\u064A\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652\uFED7\uFEDB\uFEDF\uF8FC\uFEF5\uFEF7\uFEF9\uFEFB\uFEE3\uFEE7\uFEEC\uFEE9\uFFFD" - }, - "ibm1046": "cp1046", - "csibm1046": "cp1046", - "cp1124": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0401\u0402\u0490\u0404\u0405\u0406\u0407\u0408\u0409\u040A\u040B\u040C\xAD\u040E\u040F\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u2116\u0451\u0452\u0491\u0454\u0455\u0456\u0457\u0458\u0459\u045A\u045B\u045C\xA7\u045E\u045F" - }, - "ibm1124": "cp1124", - "csibm1124": "cp1124", - "cp1125": { - "type": "_sbcs", - "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0490\u0491\u0404\u0454\u0406\u0456\u0407\u0457\xB7\u221A\u2116\xA4\u25A0\xA0" - }, - "ibm1125": "cp1125", - "csibm1125": "cp1125", - "cp1129": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\u0153\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\u0178\xB5\xB6\xB7\u0152\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\u0102\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\u0300\xCD\xCE\xCF\u0110\xD1\u0309\xD3\xD4\u01A0\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u01AF\u0303\xDF\xE0\xE1\xE2\u0103\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\u0301\xED\xEE\xEF\u0111\xF1\u0323\xF3\xF4\u01A1\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u01B0\u20AB\xFF" - }, - "ibm1129": "cp1129", - "csibm1129": "cp1129", - "cp1133": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0E81\u0E82\u0E84\u0E87\u0E88\u0EAA\u0E8A\u0E8D\u0E94\u0E95\u0E96\u0E97\u0E99\u0E9A\u0E9B\u0E9C\u0E9D\u0E9E\u0E9F\u0EA1\u0EA2\u0EA3\u0EA5\u0EA7\u0EAB\u0EAD\u0EAE\uFFFD\uFFFD\uFFFD\u0EAF\u0EB0\u0EB2\u0EB3\u0EB4\u0EB5\u0EB6\u0EB7\u0EB8\u0EB9\u0EBC\u0EB1\u0EBB\u0EBD\uFFFD\uFFFD\uFFFD\u0EC0\u0EC1\u0EC2\u0EC3\u0EC4\u0EC8\u0EC9\u0ECA\u0ECB\u0ECC\u0ECD\u0EC6\uFFFD\u0EDC\u0EDD\u20AD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0ED0\u0ED1\u0ED2\u0ED3\u0ED4\u0ED5\u0ED6\u0ED7\u0ED8\u0ED9\uFFFD\uFFFD\xA2\xAC\xA6\uFFFD" - }, - "ibm1133": "cp1133", - "csibm1133": "cp1133", - "cp1161": { - "type": "_sbcs", - "chars": "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0E48\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\u0E49\u0E4A\u0E4B\u20AC\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\xA2\xAC\xA6\xA0" - }, - "ibm1161": "cp1161", - "csibm1161": "cp1161", - "cp1162": { - "type": "_sbcs", - "chars": "\u20AC\x81\x82\x83\x84\u2026\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\u2018\u2019\u201C\u201D\u2022\u2013\u2014\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD" - }, - "ibm1162": "cp1162", - "csibm1162": "cp1162", - "cp1163": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\u20AC\xA5\xA6\xA7\u0153\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\u0178\xB5\xB6\xB7\u0152\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\u0102\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\u0300\xCD\xCE\xCF\u0110\xD1\u0309\xD3\xD4\u01A0\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u01AF\u0303\xDF\xE0\xE1\xE2\u0103\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\u0301\xED\xEE\xEF\u0111\xF1\u0323\xF3\xF4\u01A1\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u01B0\u20AB\xFF" - }, - "ibm1163": "cp1163", - "csibm1163": "cp1163", - "maccroatian": { - "type": "_sbcs", - "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\u0160\u2122\xB4\xA8\u2260\u017D\xD8\u221E\xB1\u2264\u2265\u2206\xB5\u2202\u2211\u220F\u0161\u222B\xAA\xBA\u2126\u017E\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u0106\xAB\u010C\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u0110\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\uFFFD\xA9\u2044\xA4\u2039\u203A\xC6\xBB\u2013\xB7\u201A\u201E\u2030\xC2\u0107\xC1\u010D\xC8\xCD\xCE\xCF\xCC\xD3\xD4\u0111\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u03C0\xCB\u02DA\xB8\xCA\xE6\u02C7" - }, - "maccyrillic": { - "type": "_sbcs", - "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u2020\xB0\xA2\xA3\xA7\u2022\xB6\u0406\xAE\xA9\u2122\u0402\u0452\u2260\u0403\u0453\u221E\xB1\u2264\u2265\u0456\xB5\u2202\u0408\u0404\u0454\u0407\u0457\u0409\u0459\u040A\u045A\u0458\u0405\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\u040B\u045B\u040C\u045C\u0455\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u201E\u040E\u045E\u040F\u045F\u2116\u0401\u0451\u044F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\xA4" - }, - "macgreek": { - "type": "_sbcs", - "chars": "\xC4\xB9\xB2\xC9\xB3\xD6\xDC\u0385\xE0\xE2\xE4\u0384\xA8\xE7\xE9\xE8\xEA\xEB\xA3\u2122\xEE\xEF\u2022\xBD\u2030\xF4\xF6\xA6\xAD\xF9\xFB\xFC\u2020\u0393\u0394\u0398\u039B\u039E\u03A0\xDF\xAE\xA9\u03A3\u03AA\xA7\u2260\xB0\u0387\u0391\xB1\u2264\u2265\xA5\u0392\u0395\u0396\u0397\u0399\u039A\u039C\u03A6\u03AB\u03A8\u03A9\u03AC\u039D\xAC\u039F\u03A1\u2248\u03A4\xAB\xBB\u2026\xA0\u03A5\u03A7\u0386\u0388\u0153\u2013\u2015\u201C\u201D\u2018\u2019\xF7\u0389\u038A\u038C\u038E\u03AD\u03AE\u03AF\u03CC\u038F\u03CD\u03B1\u03B2\u03C8\u03B4\u03B5\u03C6\u03B3\u03B7\u03B9\u03BE\u03BA\u03BB\u03BC\u03BD\u03BF\u03C0\u03CE\u03C1\u03C3\u03C4\u03B8\u03C9\u03C2\u03C7\u03C5\u03B6\u03CA\u03CB\u0390\u03B0\uFFFD" - }, - "maciceland": { - "type": "_sbcs", - "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\xDD\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\xD0\xF0\xDE\xFE\xFD\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7" - }, - "macroman": { - "type": "_sbcs", - "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\uFB01\uFB02\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7" - }, - "macromania": { - "type": "_sbcs", - "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\u0102\u015E\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\u0103\u015F\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\u0162\u0163\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7" - }, - "macthai": { - "type": "_sbcs", - "chars": "\xAB\xBB\u2026\uF88C\uF88F\uF892\uF895\uF898\uF88B\uF88E\uF891\uF894\uF897\u201C\u201D\uF899\uFFFD\u2022\uF884\uF889\uF885\uF886\uF887\uF888\uF88A\uF88D\uF890\uF893\uF896\u2018\u2019\uFFFD\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFEFF\u200B\u2013\u2014\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u2122\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\xAE\xA9\uFFFD\uFFFD\uFFFD\uFFFD" - }, - "macturkish": { - "type": "_sbcs", - "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u011E\u011F\u0130\u0131\u015E\u015F\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\uFFFD\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7" - }, - "macukraine": { - "type": "_sbcs", - "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u2020\xB0\u0490\xA3\xA7\u2022\xB6\u0406\xAE\xA9\u2122\u0402\u0452\u2260\u0403\u0453\u221E\xB1\u2264\u2265\u0456\xB5\u0491\u0408\u0404\u0454\u0407\u0457\u0409\u0459\u040A\u045A\u0458\u0405\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\u040B\u045B\u040C\u045C\u0455\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u201E\u040E\u045E\u040F\u045F\u2116\u0401\u0451\u044F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\xA4" - }, - "koi8r": { - "type": "_sbcs", - "chars": "\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2580\u2584\u2588\u258C\u2590\u2591\u2592\u2593\u2320\u25A0\u2219\u221A\u2248\u2264\u2265\xA0\u2321\xB0\xB2\xB7\xF7\u2550\u2551\u2552\u0451\u2553\u2554\u2555\u2556\u2557\u2558\u2559\u255A\u255B\u255C\u255D\u255E\u255F\u2560\u2561\u0401\u2562\u2563\u2564\u2565\u2566\u2567\u2568\u2569\u256A\u256B\u256C\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A" - }, - "koi8u": { - "type": "_sbcs", - "chars": "\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2580\u2584\u2588\u258C\u2590\u2591\u2592\u2593\u2320\u25A0\u2219\u221A\u2248\u2264\u2265\xA0\u2321\xB0\xB2\xB7\xF7\u2550\u2551\u2552\u0451\u0454\u2554\u0456\u0457\u2557\u2558\u2559\u255A\u255B\u0491\u255D\u255E\u255F\u2560\u2561\u0401\u0404\u2563\u0406\u0407\u2566\u2567\u2568\u2569\u256A\u0490\u256C\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A" - }, - "koi8ru": { - "type": "_sbcs", - "chars": "\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2580\u2584\u2588\u258C\u2590\u2591\u2592\u2593\u2320\u25A0\u2219\u221A\u2248\u2264\u2265\xA0\u2321\xB0\xB2\xB7\xF7\u2550\u2551\u2552\u0451\u0454\u2554\u0456\u0457\u2557\u2558\u2559\u255A\u255B\u0491\u045E\u255E\u255F\u2560\u2561\u0401\u0404\u2563\u0406\u0407\u2566\u2567\u2568\u2569\u256A\u0490\u040E\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A" - }, - "koi8t": { - "type": "_sbcs", - "chars": "\u049B\u0493\u201A\u0492\u201E\u2026\u2020\u2021\uFFFD\u2030\u04B3\u2039\u04B2\u04B7\u04B6\uFFFD\u049A\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u04EF\u04EE\u0451\xA4\u04E3\xA6\xA7\uFFFD\uFFFD\uFFFD\xAB\xAC\xAD\xAE\uFFFD\xB0\xB1\xB2\u0401\uFFFD\u04E2\xB6\xB7\uFFFD\u2116\uFFFD\xBB\uFFFD\uFFFD\uFFFD\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A" - }, - "armscii8": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\uFFFD\u0587\u0589)(\xBB\xAB\u2014.\u055D,-\u058A\u2026\u055C\u055B\u055E\u0531\u0561\u0532\u0562\u0533\u0563\u0534\u0564\u0535\u0565\u0536\u0566\u0537\u0567\u0538\u0568\u0539\u0569\u053A\u056A\u053B\u056B\u053C\u056C\u053D\u056D\u053E\u056E\u053F\u056F\u0540\u0570\u0541\u0571\u0542\u0572\u0543\u0573\u0544\u0574\u0545\u0575\u0546\u0576\u0547\u0577\u0548\u0578\u0549\u0579\u054A\u057A\u054B\u057B\u054C\u057C\u054D\u057D\u054E\u057E\u054F\u057F\u0550\u0580\u0551\u0581\u0552\u0582\u0553\u0583\u0554\u0584\u0555\u0585\u0556\u0586\u055A\uFFFD" - }, - "rk1048": { - "type": "_sbcs", - "chars": "\u0402\u0403\u201A\u0453\u201E\u2026\u2020\u2021\u20AC\u2030\u0409\u2039\u040A\u049A\u04BA\u040F\u0452\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0459\u203A\u045A\u049B\u04BB\u045F\xA0\u04B0\u04B1\u04D8\xA4\u04E8\xA6\xA7\u0401\xA9\u0492\xAB\xAC\xAD\xAE\u04AE\xB0\xB1\u0406\u0456\u04E9\xB5\xB6\xB7\u0451\u2116\u0493\xBB\u04D9\u04A2\u04A3\u04AF\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F" - }, - "tcvn": { - "type": "_sbcs", - "chars": "\0\xDA\u1EE4\u1EEA\u1EEC\u1EEE\x07\b \n\v\f\r\u1EE8\u1EF0\u1EF2\u1EF6\u1EF8\xDD\u1EF4\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC0\u1EA2\xC3\xC1\u1EA0\u1EB6\u1EAC\xC8\u1EBA\u1EBC\xC9\u1EB8\u1EC6\xCC\u1EC8\u0128\xCD\u1ECA\xD2\u1ECE\xD5\xD3\u1ECC\u1ED8\u1EDC\u1EDE\u1EE0\u1EDA\u1EE2\xD9\u1EE6\u0168\xA0\u0102\xC2\xCA\xD4\u01A0\u01AF\u0110\u0103\xE2\xEA\xF4\u01A1\u01B0\u0111\u1EB0\u0300\u0309\u0303\u0301\u0323\xE0\u1EA3\xE3\xE1\u1EA1\u1EB2\u1EB1\u1EB3\u1EB5\u1EAF\u1EB4\u1EAE\u1EA6\u1EA8\u1EAA\u1EA4\u1EC0\u1EB7\u1EA7\u1EA9\u1EAB\u1EA5\u1EAD\xE8\u1EC2\u1EBB\u1EBD\xE9\u1EB9\u1EC1\u1EC3\u1EC5\u1EBF\u1EC7\xEC\u1EC9\u1EC4\u1EBE\u1ED2\u0129\xED\u1ECB\xF2\u1ED4\u1ECF\xF5\xF3\u1ECD\u1ED3\u1ED5\u1ED7\u1ED1\u1ED9\u1EDD\u1EDF\u1EE1\u1EDB\u1EE3\xF9\u1ED6\u1EE7\u0169\xFA\u1EE5\u1EEB\u1EED\u1EEF\u1EE9\u1EF1\u1EF3\u1EF7\u1EF9\xFD\u1EF5\u1ED0" - }, - "georgianacademy": { - "type": "_sbcs", - "chars": "\x80\x81\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\x8D\x8E\x8F\x90\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\x9D\x9E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\u10D0\u10D1\u10D2\u10D3\u10D4\u10D5\u10D6\u10D7\u10D8\u10D9\u10DA\u10DB\u10DC\u10DD\u10DE\u10DF\u10E0\u10E1\u10E2\u10E3\u10E4\u10E5\u10E6\u10E7\u10E8\u10E9\u10EA\u10EB\u10EC\u10ED\u10EE\u10EF\u10F0\u10F1\u10F2\u10F3\u10F4\u10F5\u10F6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF" - }, - "georgianps": { - "type": "_sbcs", - "chars": "\x80\x81\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\x8D\x8E\x8F\x90\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\x9D\x9E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\u10D0\u10D1\u10D2\u10D3\u10D4\u10D5\u10D6\u10F1\u10D7\u10D8\u10D9\u10DA\u10DB\u10DC\u10F2\u10DD\u10DE\u10DF\u10E0\u10E1\u10E2\u10F3\u10E3\u10E4\u10E5\u10E6\u10E7\u10E8\u10E9\u10EA\u10EB\u10EC\u10ED\u10EE\u10F4\u10EF\u10F0\u10F5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF" - }, - "pt154": { - "type": "_sbcs", - "chars": "\u0496\u0492\u04EE\u0493\u201E\u2026\u04B6\u04AE\u04B2\u04AF\u04A0\u04E2\u04A2\u049A\u04BA\u04B8\u0497\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u04B3\u04B7\u04A1\u04E3\u04A3\u049B\u04BB\u04B9\xA0\u040E\u045E\u0408\u04E8\u0498\u04B0\xA7\u0401\xA9\u04D8\xAB\xAC\u04EF\xAE\u049C\xB0\u04B1\u0406\u0456\u0499\u04E9\xB6\xB7\u0451\u2116\u04D9\xBB\u0458\u04AA\u04AB\u049D\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F" - }, - "viscii": { - "type": "_sbcs", - "chars": "\0\u1EB2\u1EB4\u1EAA\x07\b \n\v\f\r\u1EF6\u1EF8\x1B\u1EF4 !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u1EA0\u1EAE\u1EB0\u1EB6\u1EA4\u1EA6\u1EA8\u1EAC\u1EBC\u1EB8\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EE2\u1EDA\u1EDC\u1EDE\u1ECA\u1ECE\u1ECC\u1EC8\u1EE6\u0168\u1EE4\u1EF2\xD5\u1EAF\u1EB1\u1EB7\u1EA5\u1EA7\u1EA9\u1EAD\u1EBD\u1EB9\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1ED1\u1ED3\u1ED5\u1ED7\u1EE0\u01A0\u1ED9\u1EDD\u1EDF\u1ECB\u1EF0\u1EE8\u1EEA\u1EEC\u01A1\u1EDB\u01AF\xC0\xC1\xC2\xC3\u1EA2\u0102\u1EB3\u1EB5\xC8\xC9\xCA\u1EBA\xCC\xCD\u0128\u1EF3\u0110\u1EE9\xD2\xD3\xD4\u1EA1\u1EF7\u1EEB\u1EED\xD9\xDA\u1EF9\u1EF5\xDD\u1EE1\u01B0\xE0\xE1\xE2\xE3\u1EA3\u0103\u1EEF\u1EAB\xE8\xE9\xEA\u1EBB\xEC\xED\u0129\u1EC9\u0111\u1EF1\xF2\xF3\xF4\xF5\u1ECF\u1ECD\u1EE5\xF9\xFA\u0169\u1EE7\xFD\u1EE3\u1EEE" - }, - "iso646cn": { - "type": "_sbcs", - "chars": "\0\x07\b \n\v\f\r\x1B !\"#\xA5%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}\u203E\x7F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" - }, - "iso646jp": { - "type": "_sbcs", - "chars": "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\xA5]^_`abcdefghijklmnopqrstuvwxyz{|}\u203E\x7F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" - }, - "hproman8": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xC0\xC2\xC8\xCA\xCB\xCE\xCF\xB4\u02CB\u02C6\xA8\u02DC\xD9\xDB\u20A4\xAF\xDD\xFD\xB0\xC7\xE7\xD1\xF1\xA1\xBF\xA4\xA3\xA5\xA7\u0192\xA2\xE2\xEA\xF4\xFB\xE1\xE9\xF3\xFA\xE0\xE8\xF2\xF9\xE4\xEB\xF6\xFC\xC5\xEE\xD8\xC6\xE5\xED\xF8\xE6\xC4\xEC\xD6\xDC\xC9\xEF\xDF\xD4\xC1\xC3\xE3\xD0\xF0\xCD\xCC\xD3\xD2\xD5\xF5\u0160\u0161\xDA\u0178\xFF\xDE\xFE\xB7\xB5\xB6\xBE\u2014\xBC\xBD\xAA\xBA\xAB\u25A0\xBB\xB1\uFFFD" - }, - "macintosh": { - "type": "_sbcs", - "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\uFB01\uFB02\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7" - }, - "ascii": { - "type": "_sbcs", - "chars": "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" - }, - "tis620": { - "type": "_sbcs", - "chars": "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD" - } - }; - } -}); - -// node_modules/iconv-lite/encodings/dbcs-codec.js -var require_dbcs_codec = __commonJS({ - "node_modules/iconv-lite/encodings/dbcs-codec.js"(exports2) { - "use strict"; - var Buffer2 = require_safer().Buffer; - exports2._dbcs = DBCSCodec; - var UNASSIGNED = -1; - var GB18030_CODE = -2; - var SEQ_START = -10; - var NODE_START = -1e3; - var UNASSIGNED_NODE = new Array(256); - var DEF_CHAR = -1; - for (i = 0; i < 256; i++) - UNASSIGNED_NODE[i] = UNASSIGNED; - var i; - function DBCSCodec(codecOptions, iconv) { - this.encodingName = codecOptions.encodingName; - if (!codecOptions) - throw new Error("DBCS codec is called without the data."); - if (!codecOptions.table) - throw new Error("Encoding '" + this.encodingName + "' has no data."); - var mappingTable = codecOptions.table(); - this.decodeTables = []; - this.decodeTables[0] = UNASSIGNED_NODE.slice(0); - this.decodeTableSeq = []; - for (var i2 = 0; i2 < mappingTable.length; i2++) - this._addDecodeChunk(mappingTable[i2]); - this.defaultCharUnicode = iconv.defaultCharUnicode; - this.encodeTable = []; - this.encodeTableSeq = []; - var skipEncodeChars = {}; - if (codecOptions.encodeSkipVals) - for (var i2 = 0; i2 < codecOptions.encodeSkipVals.length; i2++) { - var val = codecOptions.encodeSkipVals[i2]; - if (typeof val === "number") - skipEncodeChars[val] = true; - else - for (var j = val.from; j <= val.to; j++) - skipEncodeChars[j] = true; - } - this._fillEncodeTable(0, 0, skipEncodeChars); - if (codecOptions.encodeAdd) { - for (var uChar in codecOptions.encodeAdd) - if (Object.prototype.hasOwnProperty.call(codecOptions.encodeAdd, uChar)) - this._setEncodeChar(uChar.charCodeAt(0), codecOptions.encodeAdd[uChar]); - } - this.defCharSB = this.encodeTable[0][iconv.defaultCharSingleByte.charCodeAt(0)]; - if (this.defCharSB === UNASSIGNED) - this.defCharSB = this.encodeTable[0]["?"]; - if (this.defCharSB === UNASSIGNED) - this.defCharSB = "?".charCodeAt(0); - if (typeof codecOptions.gb18030 === "function") { - this.gb18030 = codecOptions.gb18030(); - var thirdByteNodeIdx = this.decodeTables.length; - var thirdByteNode = this.decodeTables[thirdByteNodeIdx] = UNASSIGNED_NODE.slice(0); - var fourthByteNodeIdx = this.decodeTables.length; - var fourthByteNode = this.decodeTables[fourthByteNodeIdx] = UNASSIGNED_NODE.slice(0); - for (var i2 = 129; i2 <= 254; i2++) { - var secondByteNodeIdx = NODE_START - this.decodeTables[0][i2]; - var secondByteNode = this.decodeTables[secondByteNodeIdx]; - for (var j = 48; j <= 57; j++) - secondByteNode[j] = NODE_START - thirdByteNodeIdx; - } - for (var i2 = 129; i2 <= 254; i2++) - thirdByteNode[i2] = NODE_START - fourthByteNodeIdx; - for (var i2 = 48; i2 <= 57; i2++) - fourthByteNode[i2] = GB18030_CODE; - } - } - DBCSCodec.prototype.encoder = DBCSEncoder; - DBCSCodec.prototype.decoder = DBCSDecoder; - DBCSCodec.prototype._getDecodeTrieNode = function(addr) { - var bytes = []; - for (; addr > 0; addr >>= 8) - bytes.push(addr & 255); - if (bytes.length == 0) - bytes.push(0); - var node = this.decodeTables[0]; - for (var i2 = bytes.length - 1; i2 > 0; i2--) { - var val = node[bytes[i2]]; - if (val == UNASSIGNED) { - node[bytes[i2]] = NODE_START - this.decodeTables.length; - this.decodeTables.push(node = UNASSIGNED_NODE.slice(0)); - } else if (val <= NODE_START) { - node = this.decodeTables[NODE_START - val]; - } else - throw new Error("Overwrite byte in " + this.encodingName + ", addr: " + addr.toString(16)); - } - return node; - }; - DBCSCodec.prototype._addDecodeChunk = function(chunk) { - var curAddr = parseInt(chunk[0], 16); - var writeTable = this._getDecodeTrieNode(curAddr); - curAddr = curAddr & 255; - for (var k = 1; k < chunk.length; k++) { - var part = chunk[k]; - if (typeof part === "string") { - for (var l = 0; l < part.length; ) { - var code = part.charCodeAt(l++); - if (55296 <= code && code < 56320) { - var codeTrail = part.charCodeAt(l++); - if (56320 <= codeTrail && codeTrail < 57344) - writeTable[curAddr++] = 65536 + (code - 55296) * 1024 + (codeTrail - 56320); - else - throw new Error("Incorrect surrogate pair in " + this.encodingName + " at chunk " + chunk[0]); - } else if (4080 < code && code <= 4095) { - var len = 4095 - code + 2; - var seq = []; - for (var m = 0; m < len; m++) - seq.push(part.charCodeAt(l++)); - writeTable[curAddr++] = SEQ_START - this.decodeTableSeq.length; - this.decodeTableSeq.push(seq); - } else - writeTable[curAddr++] = code; - } - } else if (typeof part === "number") { - var charCode = writeTable[curAddr - 1] + 1; - for (var l = 0; l < part; l++) - writeTable[curAddr++] = charCode++; - } else - throw new Error("Incorrect type '" + typeof part + "' given in " + this.encodingName + " at chunk " + chunk[0]); - } - if (curAddr > 255) - throw new Error("Incorrect chunk in " + this.encodingName + " at addr " + chunk[0] + ": too long" + curAddr); - }; - DBCSCodec.prototype._getEncodeBucket = function(uCode) { - var high = uCode >> 8; - if (this.encodeTable[high] === void 0) - this.encodeTable[high] = UNASSIGNED_NODE.slice(0); - return this.encodeTable[high]; - }; - DBCSCodec.prototype._setEncodeChar = function(uCode, dbcsCode) { - var bucket = this._getEncodeBucket(uCode); - var low = uCode & 255; - if (bucket[low] <= SEQ_START) - this.encodeTableSeq[SEQ_START - bucket[low]][DEF_CHAR] = dbcsCode; - else if (bucket[low] == UNASSIGNED) - bucket[low] = dbcsCode; - }; - DBCSCodec.prototype._setEncodeSequence = function(seq, dbcsCode) { - var uCode = seq[0]; - var bucket = this._getEncodeBucket(uCode); - var low = uCode & 255; - var node; - if (bucket[low] <= SEQ_START) { - node = this.encodeTableSeq[SEQ_START - bucket[low]]; - } else { - node = {}; - if (bucket[low] !== UNASSIGNED) - node[DEF_CHAR] = bucket[low]; - bucket[low] = SEQ_START - this.encodeTableSeq.length; - this.encodeTableSeq.push(node); - } - for (var j = 1; j < seq.length - 1; j++) { - var oldVal = node[uCode]; - if (typeof oldVal === "object") - node = oldVal; - else { - node = node[uCode] = {}; - if (oldVal !== void 0) - node[DEF_CHAR] = oldVal; - } - } - uCode = seq[seq.length - 1]; - node[uCode] = dbcsCode; - }; - DBCSCodec.prototype._fillEncodeTable = function(nodeIdx, prefix, skipEncodeChars) { - var node = this.decodeTables[nodeIdx]; - for (var i2 = 0; i2 < 256; i2++) { - var uCode = node[i2]; - var mbCode = prefix + i2; - if (skipEncodeChars[mbCode]) - continue; - if (uCode >= 0) - this._setEncodeChar(uCode, mbCode); - else if (uCode <= NODE_START) - this._fillEncodeTable(NODE_START - uCode, mbCode << 8, skipEncodeChars); - else if (uCode <= SEQ_START) - this._setEncodeSequence(this.decodeTableSeq[SEQ_START - uCode], mbCode); - } - }; - function DBCSEncoder(options, codec) { - this.leadSurrogate = -1; - this.seqObj = void 0; - this.encodeTable = codec.encodeTable; - this.encodeTableSeq = codec.encodeTableSeq; - this.defaultCharSingleByte = codec.defCharSB; - this.gb18030 = codec.gb18030; - } - DBCSEncoder.prototype.write = function(str) { - var newBuf = Buffer2.alloc(str.length * (this.gb18030 ? 4 : 3)), leadSurrogate = this.leadSurrogate, seqObj = this.seqObj, nextChar = -1, i2 = 0, j = 0; - while (true) { - if (nextChar === -1) { - if (i2 == str.length) - break; - var uCode = str.charCodeAt(i2++); - } else { - var uCode = nextChar; - nextChar = -1; - } - if (55296 <= uCode && uCode < 57344) { - if (uCode < 56320) { - if (leadSurrogate === -1) { - leadSurrogate = uCode; - continue; - } else { - leadSurrogate = uCode; - uCode = UNASSIGNED; - } - } else { - if (leadSurrogate !== -1) { - uCode = 65536 + (leadSurrogate - 55296) * 1024 + (uCode - 56320); - leadSurrogate = -1; - } else { - uCode = UNASSIGNED; - } - } - } else if (leadSurrogate !== -1) { - nextChar = uCode; - uCode = UNASSIGNED; - leadSurrogate = -1; - } - var dbcsCode = UNASSIGNED; - if (seqObj !== void 0 && uCode != UNASSIGNED) { - var resCode = seqObj[uCode]; - if (typeof resCode === "object") { - seqObj = resCode; - continue; - } else if (typeof resCode == "number") { - dbcsCode = resCode; - } else if (resCode == void 0) { - resCode = seqObj[DEF_CHAR]; - if (resCode !== void 0) { - dbcsCode = resCode; - nextChar = uCode; - } else { - } - } - seqObj = void 0; - } else if (uCode >= 0) { - var subtable = this.encodeTable[uCode >> 8]; - if (subtable !== void 0) - dbcsCode = subtable[uCode & 255]; - if (dbcsCode <= SEQ_START) { - seqObj = this.encodeTableSeq[SEQ_START - dbcsCode]; - continue; - } - if (dbcsCode == UNASSIGNED && this.gb18030) { - var idx = findIdx(this.gb18030.uChars, uCode); - if (idx != -1) { - var dbcsCode = this.gb18030.gbChars[idx] + (uCode - this.gb18030.uChars[idx]); - newBuf[j++] = 129 + Math.floor(dbcsCode / 12600); - dbcsCode = dbcsCode % 12600; - newBuf[j++] = 48 + Math.floor(dbcsCode / 1260); - dbcsCode = dbcsCode % 1260; - newBuf[j++] = 129 + Math.floor(dbcsCode / 10); - dbcsCode = dbcsCode % 10; - newBuf[j++] = 48 + dbcsCode; - continue; - } - } - } - if (dbcsCode === UNASSIGNED) - dbcsCode = this.defaultCharSingleByte; - if (dbcsCode < 256) { - newBuf[j++] = dbcsCode; - } else if (dbcsCode < 65536) { - newBuf[j++] = dbcsCode >> 8; - newBuf[j++] = dbcsCode & 255; - } else { - newBuf[j++] = dbcsCode >> 16; - newBuf[j++] = dbcsCode >> 8 & 255; - newBuf[j++] = dbcsCode & 255; - } - } - this.seqObj = seqObj; - this.leadSurrogate = leadSurrogate; - return newBuf.slice(0, j); - }; - DBCSEncoder.prototype.end = function() { - if (this.leadSurrogate === -1 && this.seqObj === void 0) - return; - var newBuf = Buffer2.alloc(10), j = 0; - if (this.seqObj) { - var dbcsCode = this.seqObj[DEF_CHAR]; - if (dbcsCode !== void 0) { - if (dbcsCode < 256) { - newBuf[j++] = dbcsCode; - } else { - newBuf[j++] = dbcsCode >> 8; - newBuf[j++] = dbcsCode & 255; - } - } else { - } - this.seqObj = void 0; - } - if (this.leadSurrogate !== -1) { - newBuf[j++] = this.defaultCharSingleByte; - this.leadSurrogate = -1; - } - return newBuf.slice(0, j); - }; - DBCSEncoder.prototype.findIdx = findIdx; - function DBCSDecoder(options, codec) { - this.nodeIdx = 0; - this.prevBuf = Buffer2.alloc(0); - this.decodeTables = codec.decodeTables; - this.decodeTableSeq = codec.decodeTableSeq; - this.defaultCharUnicode = codec.defaultCharUnicode; - this.gb18030 = codec.gb18030; - } - DBCSDecoder.prototype.write = function(buf) { - var newBuf = Buffer2.alloc(buf.length * 2), nodeIdx = this.nodeIdx, prevBuf = this.prevBuf, prevBufOffset = this.prevBuf.length, seqStart = -this.prevBuf.length, uCode; - if (prevBufOffset > 0) - prevBuf = Buffer2.concat([prevBuf, buf.slice(0, 10)]); - for (var i2 = 0, j = 0; i2 < buf.length; i2++) { - var curByte = i2 >= 0 ? buf[i2] : prevBuf[i2 + prevBufOffset]; - var uCode = this.decodeTables[nodeIdx][curByte]; - if (uCode >= 0) { - } else if (uCode === UNASSIGNED) { - i2 = seqStart; - uCode = this.defaultCharUnicode.charCodeAt(0); - } else if (uCode === GB18030_CODE) { - var curSeq = seqStart >= 0 ? buf.slice(seqStart, i2 + 1) : prevBuf.slice(seqStart + prevBufOffset, i2 + 1 + prevBufOffset); - var ptr = (curSeq[0] - 129) * 12600 + (curSeq[1] - 48) * 1260 + (curSeq[2] - 129) * 10 + (curSeq[3] - 48); - var idx = findIdx(this.gb18030.gbChars, ptr); - uCode = this.gb18030.uChars[idx] + ptr - this.gb18030.gbChars[idx]; - } else if (uCode <= NODE_START) { - nodeIdx = NODE_START - uCode; - continue; - } else if (uCode <= SEQ_START) { - var seq = this.decodeTableSeq[SEQ_START - uCode]; - for (var k = 0; k < seq.length - 1; k++) { - uCode = seq[k]; - newBuf[j++] = uCode & 255; - newBuf[j++] = uCode >> 8; - } - uCode = seq[seq.length - 1]; - } else - throw new Error("iconv-lite internal error: invalid decoding table value " + uCode + " at " + nodeIdx + "/" + curByte); - if (uCode > 65535) { - uCode -= 65536; - var uCodeLead = 55296 + Math.floor(uCode / 1024); - newBuf[j++] = uCodeLead & 255; - newBuf[j++] = uCodeLead >> 8; - uCode = 56320 + uCode % 1024; - } - newBuf[j++] = uCode & 255; - newBuf[j++] = uCode >> 8; - nodeIdx = 0; - seqStart = i2 + 1; - } - this.nodeIdx = nodeIdx; - this.prevBuf = seqStart >= 0 ? buf.slice(seqStart) : prevBuf.slice(seqStart + prevBufOffset); - return newBuf.slice(0, j).toString("ucs2"); - }; - DBCSDecoder.prototype.end = function() { - var ret = ""; - while (this.prevBuf.length > 0) { - ret += this.defaultCharUnicode; - var buf = this.prevBuf.slice(1); - this.prevBuf = Buffer2.alloc(0); - this.nodeIdx = 0; - if (buf.length > 0) - ret += this.write(buf); - } - this.nodeIdx = 0; - return ret; - }; - function findIdx(table, val) { - if (table[0] > val) - return -1; - var l = 0, r = table.length; - while (l < r - 1) { - var mid = l + Math.floor((r - l + 1) / 2); - if (table[mid] <= val) - l = mid; - else - r = mid; - } - return l; - } - } -}); - -// node_modules/iconv-lite/encodings/tables/shiftjis.json -var require_shiftjis = __commonJS({ - "node_modules/iconv-lite/encodings/tables/shiftjis.json"(exports2, module2) { - module2.exports = [ - ["0", "\0", 128], - ["a1", "\uFF61", 62], - ["8140", "\u3000\u3001\u3002\uFF0C\uFF0E\u30FB\uFF1A\uFF1B\uFF1F\uFF01\u309B\u309C\xB4\uFF40\xA8\uFF3E\uFFE3\uFF3F\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006\u3007\u30FC\u2015\u2010\uFF0F\uFF3C\uFF5E\u2225\uFF5C\u2026\u2025\u2018\u2019\u201C\u201D\uFF08\uFF09\u3014\u3015\uFF3B\uFF3D\uFF5B\uFF5D\u3008", 9, "\uFF0B\uFF0D\xB1\xD7"], - ["8180", "\xF7\uFF1D\u2260\uFF1C\uFF1E\u2266\u2267\u221E\u2234\u2642\u2640\xB0\u2032\u2033\u2103\uFFE5\uFF04\uFFE0\uFFE1\uFF05\uFF03\uFF06\uFF0A\uFF20\xA7\u2606\u2605\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3\u25B2\u25BD\u25BC\u203B\u3012\u2192\u2190\u2191\u2193\u3013"], - ["81b8", "\u2208\u220B\u2286\u2287\u2282\u2283\u222A\u2229"], - ["81c8", "\u2227\u2228\uFFE2\u21D2\u21D4\u2200\u2203"], - ["81da", "\u2220\u22A5\u2312\u2202\u2207\u2261\u2252\u226A\u226B\u221A\u223D\u221D\u2235\u222B\u222C"], - ["81f0", "\u212B\u2030\u266F\u266D\u266A\u2020\u2021\xB6"], - ["81fc", "\u25EF"], - ["824f", "\uFF10", 9], - ["8260", "\uFF21", 25], - ["8281", "\uFF41", 25], - ["829f", "\u3041", 82], - ["8340", "\u30A1", 62], - ["8380", "\u30E0", 22], - ["839f", "\u0391", 16, "\u03A3", 6], - ["83bf", "\u03B1", 16, "\u03C3", 6], - ["8440", "\u0410", 5, "\u0401\u0416", 25], - ["8470", "\u0430", 5, "\u0451\u0436", 7], - ["8480", "\u043E", 17], - ["849f", "\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542"], - ["8740", "\u2460", 19, "\u2160", 9], - ["875f", "\u3349\u3314\u3322\u334D\u3318\u3327\u3303\u3336\u3351\u3357\u330D\u3326\u3323\u332B\u334A\u333B\u339C\u339D\u339E\u338E\u338F\u33C4\u33A1"], - ["877e", "\u337B"], - ["8780", "\u301D\u301F\u2116\u33CD\u2121\u32A4", 4, "\u3231\u3232\u3239\u337E\u337D\u337C\u2252\u2261\u222B\u222E\u2211\u221A\u22A5\u2220\u221F\u22BF\u2235\u2229\u222A"], - ["889f", "\u4E9C\u5516\u5A03\u963F\u54C0\u611B\u6328\u59F6\u9022\u8475\u831C\u7A50\u60AA\u63E1\u6E25\u65ED\u8466\u82A6\u9BF5\u6893\u5727\u65A1\u6271\u5B9B\u59D0\u867B\u98F4\u7D62\u7DBE\u9B8E\u6216\u7C9F\u88B7\u5B89\u5EB5\u6309\u6697\u6848\u95C7\u978D\u674F\u4EE5\u4F0A\u4F4D\u4F9D\u5049\u56F2\u5937\u59D4\u5A01\u5C09\u60DF\u610F\u6170\u6613\u6905\u70BA\u754F\u7570\u79FB\u7DAD\u7DEF\u80C3\u840E\u8863\u8B02\u9055\u907A\u533B\u4E95\u4EA5\u57DF\u80B2\u90C1\u78EF\u4E00\u58F1\u6EA2\u9038\u7A32\u8328\u828B\u9C2F\u5141\u5370\u54BD\u54E1\u56E0\u59FB\u5F15\u98F2\u6DEB\u80E4\u852D"], - ["8940", "\u9662\u9670\u96A0\u97FB\u540B\u53F3\u5B87\u70CF\u7FBD\u8FC2\u96E8\u536F\u9D5C\u7ABA\u4E11\u7893\u81FC\u6E26\u5618\u5504\u6B1D\u851A\u9C3B\u59E5\u53A9\u6D66\u74DC\u958F\u5642\u4E91\u904B\u96F2\u834F\u990C\u53E1\u55B6\u5B30\u5F71\u6620\u66F3\u6804\u6C38\u6CF3\u6D29\u745B\u76C8\u7A4E\u9834\u82F1\u885B\u8A60\u92ED\u6DB2\u75AB\u76CA\u99C5\u60A6\u8B01\u8D8A\u95B2\u698E\u53AD\u5186"], - ["8980", "\u5712\u5830\u5944\u5BB4\u5EF6\u6028\u63A9\u63F4\u6CBF\u6F14\u708E\u7114\u7159\u71D5\u733F\u7E01\u8276\u82D1\u8597\u9060\u925B\u9D1B\u5869\u65BC\u6C5A\u7525\u51F9\u592E\u5965\u5F80\u5FDC\u62BC\u65FA\u6A2A\u6B27\u6BB4\u738B\u7FC1\u8956\u9D2C\u9D0E\u9EC4\u5CA1\u6C96\u837B\u5104\u5C4B\u61B6\u81C6\u6876\u7261\u4E59\u4FFA\u5378\u6069\u6E29\u7A4F\u97F3\u4E0B\u5316\u4EEE\u4F55\u4F3D\u4FA1\u4F73\u52A0\u53EF\u5609\u590F\u5AC1\u5BB6\u5BE1\u79D1\u6687\u679C\u67B6\u6B4C\u6CB3\u706B\u73C2\u798D\u79BE\u7A3C\u7B87\u82B1\u82DB\u8304\u8377\u83EF\u83D3\u8766\u8AB2\u5629\u8CA8\u8FE6\u904E\u971E\u868A\u4FC4\u5CE8\u6211\u7259\u753B\u81E5\u82BD\u86FE\u8CC0\u96C5\u9913\u99D5\u4ECB\u4F1A\u89E3\u56DE\u584A\u58CA\u5EFB\u5FEB\u602A\u6094\u6062\u61D0\u6212\u62D0\u6539"], - ["8a40", "\u9B41\u6666\u68B0\u6D77\u7070\u754C\u7686\u7D75\u82A5\u87F9\u958B\u968E\u8C9D\u51F1\u52BE\u5916\u54B3\u5BB3\u5D16\u6168\u6982\u6DAF\u788D\u84CB\u8857\u8A72\u93A7\u9AB8\u6D6C\u99A8\u86D9\u57A3\u67FF\u86CE\u920E\u5283\u5687\u5404\u5ED3\u62E1\u64B9\u683C\u6838\u6BBB\u7372\u78BA\u7A6B\u899A\u89D2\u8D6B\u8F03\u90ED\u95A3\u9694\u9769\u5B66\u5CB3\u697D\u984D\u984E\u639B\u7B20\u6A2B"], - ["8a80", "\u6A7F\u68B6\u9C0D\u6F5F\u5272\u559D\u6070\u62EC\u6D3B\u6E07\u6ED1\u845B\u8910\u8F44\u4E14\u9C39\u53F6\u691B\u6A3A\u9784\u682A\u515C\u7AC3\u84B2\u91DC\u938C\u565B\u9D28\u6822\u8305\u8431\u7CA5\u5208\u82C5\u74E6\u4E7E\u4F83\u51A0\u5BD2\u520A\u52D8\u52E7\u5DFB\u559A\u582A\u59E6\u5B8C\u5B98\u5BDB\u5E72\u5E79\u60A3\u611F\u6163\u61BE\u63DB\u6562\u67D1\u6853\u68FA\u6B3E\u6B53\u6C57\u6F22\u6F97\u6F45\u74B0\u7518\u76E3\u770B\u7AFF\u7BA1\u7C21\u7DE9\u7F36\u7FF0\u809D\u8266\u839E\u89B3\u8ACC\u8CAB\u9084\u9451\u9593\u9591\u95A2\u9665\u97D3\u9928\u8218\u4E38\u542B\u5CB8\u5DCC\u73A9\u764C\u773C\u5CA9\u7FEB\u8D0B\u96C1\u9811\u9854\u9858\u4F01\u4F0E\u5371\u559C\u5668\u57FA\u5947\u5B09\u5BC4\u5C90\u5E0C\u5E7E\u5FCC\u63EE\u673A\u65D7\u65E2\u671F\u68CB\u68C4"], - ["8b40", "\u6A5F\u5E30\u6BC5\u6C17\u6C7D\u757F\u7948\u5B63\u7A00\u7D00\u5FBD\u898F\u8A18\u8CB4\u8D77\u8ECC\u8F1D\u98E2\u9A0E\u9B3C\u4E80\u507D\u5100\u5993\u5B9C\u622F\u6280\u64EC\u6B3A\u72A0\u7591\u7947\u7FA9\u87FB\u8ABC\u8B70\u63AC\u83CA\u97A0\u5409\u5403\u55AB\u6854\u6A58\u8A70\u7827\u6775\u9ECD\u5374\u5BA2\u811A\u8650\u9006\u4E18\u4E45\u4EC7\u4F11\u53CA\u5438\u5BAE\u5F13\u6025\u6551"], - ["8b80", "\u673D\u6C42\u6C72\u6CE3\u7078\u7403\u7A76\u7AAE\u7B08\u7D1A\u7CFE\u7D66\u65E7\u725B\u53BB\u5C45\u5DE8\u62D2\u62E0\u6319\u6E20\u865A\u8A31\u8DDD\u92F8\u6F01\u79A6\u9B5A\u4EA8\u4EAB\u4EAC\u4F9B\u4FA0\u50D1\u5147\u7AF6\u5171\u51F6\u5354\u5321\u537F\u53EB\u55AC\u5883\u5CE1\u5F37\u5F4A\u602F\u6050\u606D\u631F\u6559\u6A4B\u6CC1\u72C2\u72ED\u77EF\u80F8\u8105\u8208\u854E\u90F7\u93E1\u97FF\u9957\u9A5A\u4EF0\u51DD\u5C2D\u6681\u696D\u5C40\u66F2\u6975\u7389\u6850\u7C81\u50C5\u52E4\u5747\u5DFE\u9326\u65A4\u6B23\u6B3D\u7434\u7981\u79BD\u7B4B\u7DCA\u82B9\u83CC\u887F\u895F\u8B39\u8FD1\u91D1\u541F\u9280\u4E5D\u5036\u53E5\u533A\u72D7\u7396\u77E9\u82E6\u8EAF\u99C6\u99C8\u99D2\u5177\u611A\u865E\u55B0\u7A7A\u5076\u5BD3\u9047\u9685\u4E32\u6ADB\u91E7\u5C51\u5C48"], - ["8c40", "\u6398\u7A9F\u6C93\u9774\u8F61\u7AAA\u718A\u9688\u7C82\u6817\u7E70\u6851\u936C\u52F2\u541B\u85AB\u8A13\u7FA4\u8ECD\u90E1\u5366\u8888\u7941\u4FC2\u50BE\u5211\u5144\u5553\u572D\u73EA\u578B\u5951\u5F62\u5F84\u6075\u6176\u6167\u61A9\u63B2\u643A\u656C\u666F\u6842\u6E13\u7566\u7A3D\u7CFB\u7D4C\u7D99\u7E4B\u7F6B\u830E\u834A\u86CD\u8A08\u8A63\u8B66\u8EFD\u981A\u9D8F\u82B8\u8FCE\u9BE8"], - ["8c80", "\u5287\u621F\u6483\u6FC0\u9699\u6841\u5091\u6B20\u6C7A\u6F54\u7A74\u7D50\u8840\u8A23\u6708\u4EF6\u5039\u5026\u5065\u517C\u5238\u5263\u55A7\u570F\u5805\u5ACC\u5EFA\u61B2\u61F8\u62F3\u6372\u691C\u6A29\u727D\u72AC\u732E\u7814\u786F\u7D79\u770C\u80A9\u898B\u8B19\u8CE2\u8ED2\u9063\u9375\u967A\u9855\u9A13\u9E78\u5143\u539F\u53B3\u5E7B\u5F26\u6E1B\u6E90\u7384\u73FE\u7D43\u8237\u8A00\u8AFA\u9650\u4E4E\u500B\u53E4\u547C\u56FA\u59D1\u5B64\u5DF1\u5EAB\u5F27\u6238\u6545\u67AF\u6E56\u72D0\u7CCA\u88B4\u80A1\u80E1\u83F0\u864E\u8A87\u8DE8\u9237\u96C7\u9867\u9F13\u4E94\u4E92\u4F0D\u5348\u5449\u543E\u5A2F\u5F8C\u5FA1\u609F\u68A7\u6A8E\u745A\u7881\u8A9E\u8AA4\u8B77\u9190\u4E5E\u9BC9\u4EA4\u4F7C\u4FAF\u5019\u5016\u5149\u516C\u529F\u52B9\u52FE\u539A\u53E3\u5411"], - ["8d40", "\u540E\u5589\u5751\u57A2\u597D\u5B54\u5B5D\u5B8F\u5DE5\u5DE7\u5DF7\u5E78\u5E83\u5E9A\u5EB7\u5F18\u6052\u614C\u6297\u62D8\u63A7\u653B\u6602\u6643\u66F4\u676D\u6821\u6897\u69CB\u6C5F\u6D2A\u6D69\u6E2F\u6E9D\u7532\u7687\u786C\u7A3F\u7CE0\u7D05\u7D18\u7D5E\u7DB1\u8015\u8003\u80AF\u80B1\u8154\u818F\u822A\u8352\u884C\u8861\u8B1B\u8CA2\u8CFC\u90CA\u9175\u9271\u783F\u92FC\u95A4\u964D"], - ["8d80", "\u9805\u9999\u9AD8\u9D3B\u525B\u52AB\u53F7\u5408\u58D5\u62F7\u6FE0\u8C6A\u8F5F\u9EB9\u514B\u523B\u544A\u56FD\u7A40\u9177\u9D60\u9ED2\u7344\u6F09\u8170\u7511\u5FFD\u60DA\u9AA8\u72DB\u8FBC\u6B64\u9803\u4ECA\u56F0\u5764\u58BE\u5A5A\u6068\u61C7\u660F\u6606\u6839\u68B1\u6DF7\u75D5\u7D3A\u826E\u9B42\u4E9B\u4F50\u53C9\u5506\u5D6F\u5DE6\u5DEE\u67FB\u6C99\u7473\u7802\u8A50\u9396\u88DF\u5750\u5EA7\u632B\u50B5\u50AC\u518D\u6700\u54C9\u585E\u59BB\u5BB0\u5F69\u624D\u63A1\u683D\u6B73\u6E08\u707D\u91C7\u7280\u7815\u7826\u796D\u658E\u7D30\u83DC\u88C1\u8F09\u969B\u5264\u5728\u6750\u7F6A\u8CA1\u51B4\u5742\u962A\u583A\u698A\u80B4\u54B2\u5D0E\u57FC\u7895\u9DFA\u4F5C\u524A\u548B\u643E\u6628\u6714\u67F5\u7A84\u7B56\u7D22\u932F\u685C\u9BAD\u7B39\u5319\u518A\u5237"], - ["8e40", "\u5BDF\u62F6\u64AE\u64E6\u672D\u6BBA\u85A9\u96D1\u7690\u9BD6\u634C\u9306\u9BAB\u76BF\u6652\u4E09\u5098\u53C2\u5C71\u60E8\u6492\u6563\u685F\u71E6\u73CA\u7523\u7B97\u7E82\u8695\u8B83\u8CDB\u9178\u9910\u65AC\u66AB\u6B8B\u4ED5\u4ED4\u4F3A\u4F7F\u523A\u53F8\u53F2\u55E3\u56DB\u58EB\u59CB\u59C9\u59FF\u5B50\u5C4D\u5E02\u5E2B\u5FD7\u601D\u6307\u652F\u5B5C\u65AF\u65BD\u65E8\u679D\u6B62"], - ["8e80", "\u6B7B\u6C0F\u7345\u7949\u79C1\u7CF8\u7D19\u7D2B\u80A2\u8102\u81F3\u8996\u8A5E\u8A69\u8A66\u8A8C\u8AEE\u8CC7\u8CDC\u96CC\u98FC\u6B6F\u4E8B\u4F3C\u4F8D\u5150\u5B57\u5BFA\u6148\u6301\u6642\u6B21\u6ECB\u6CBB\u723E\u74BD\u75D4\u78C1\u793A\u800C\u8033\u81EA\u8494\u8F9E\u6C50\u9E7F\u5F0F\u8B58\u9D2B\u7AFA\u8EF8\u5B8D\u96EB\u4E03\u53F1\u57F7\u5931\u5AC9\u5BA4\u6089\u6E7F\u6F06\u75BE\u8CEA\u5B9F\u8500\u7BE0\u5072\u67F4\u829D\u5C61\u854A\u7E1E\u820E\u5199\u5C04\u6368\u8D66\u659C\u716E\u793E\u7D17\u8005\u8B1D\u8ECA\u906E\u86C7\u90AA\u501F\u52FA\u5C3A\u6753\u707C\u7235\u914C\u91C8\u932B\u82E5\u5BC2\u5F31\u60F9\u4E3B\u53D6\u5B88\u624B\u6731\u6B8A\u72E9\u73E0\u7A2E\u816B\u8DA3\u9152\u9996\u5112\u53D7\u546A\u5BFF\u6388\u6A39\u7DAC\u9700\u56DA\u53CE\u5468"], - ["8f40", "\u5B97\u5C31\u5DDE\u4FEE\u6101\u62FE\u6D32\u79C0\u79CB\u7D42\u7E4D\u7FD2\u81ED\u821F\u8490\u8846\u8972\u8B90\u8E74\u8F2F\u9031\u914B\u916C\u96C6\u919C\u4EC0\u4F4F\u5145\u5341\u5F93\u620E\u67D4\u6C41\u6E0B\u7363\u7E26\u91CD\u9283\u53D4\u5919\u5BBF\u6DD1\u795D\u7E2E\u7C9B\u587E\u719F\u51FA\u8853\u8FF0\u4FCA\u5CFB\u6625\u77AC\u7AE3\u821C\u99FF\u51C6\u5FAA\u65EC\u696F\u6B89\u6DF3"], - ["8f80", "\u6E96\u6F64\u76FE\u7D14\u5DE1\u9075\u9187\u9806\u51E6\u521D\u6240\u6691\u66D9\u6E1A\u5EB6\u7DD2\u7F72\u66F8\u85AF\u85F7\u8AF8\u52A9\u53D9\u5973\u5E8F\u5F90\u6055\u92E4\u9664\u50B7\u511F\u52DD\u5320\u5347\u53EC\u54E8\u5546\u5531\u5617\u5968\u59BE\u5A3C\u5BB5\u5C06\u5C0F\u5C11\u5C1A\u5E84\u5E8A\u5EE0\u5F70\u627F\u6284\u62DB\u638C\u6377\u6607\u660C\u662D\u6676\u677E\u68A2\u6A1F\u6A35\u6CBC\u6D88\u6E09\u6E58\u713C\u7126\u7167\u75C7\u7701\u785D\u7901\u7965\u79F0\u7AE0\u7B11\u7CA7\u7D39\u8096\u83D6\u848B\u8549\u885D\u88F3\u8A1F\u8A3C\u8A54\u8A73\u8C61\u8CDE\u91A4\u9266\u937E\u9418\u969C\u9798\u4E0A\u4E08\u4E1E\u4E57\u5197\u5270\u57CE\u5834\u58CC\u5B22\u5E38\u60C5\u64FE\u6761\u6756\u6D44\u72B6\u7573\u7A63\u84B8\u8B72\u91B8\u9320\u5631\u57F4\u98FE"], - ["9040", "\u62ED\u690D\u6B96\u71ED\u7E54\u8077\u8272\u89E6\u98DF\u8755\u8FB1\u5C3B\u4F38\u4FE1\u4FB5\u5507\u5A20\u5BDD\u5BE9\u5FC3\u614E\u632F\u65B0\u664B\u68EE\u699B\u6D78\u6DF1\u7533\u75B9\u771F\u795E\u79E6\u7D33\u81E3\u82AF\u85AA\u89AA\u8A3A\u8EAB\u8F9B\u9032\u91DD\u9707\u4EBA\u4EC1\u5203\u5875\u58EC\u5C0B\u751A\u5C3D\u814E\u8A0A\u8FC5\u9663\u976D\u7B25\u8ACF\u9808\u9162\u56F3\u53A8"], - ["9080", "\u9017\u5439\u5782\u5E25\u63A8\u6C34\u708A\u7761\u7C8B\u7FE0\u8870\u9042\u9154\u9310\u9318\u968F\u745E\u9AC4\u5D07\u5D69\u6570\u67A2\u8DA8\u96DB\u636E\u6749\u6919\u83C5\u9817\u96C0\u88FE\u6F84\u647A\u5BF8\u4E16\u702C\u755D\u662F\u51C4\u5236\u52E2\u59D3\u5F81\u6027\u6210\u653F\u6574\u661F\u6674\u68F2\u6816\u6B63\u6E05\u7272\u751F\u76DB\u7CBE\u8056\u58F0\u88FD\u897F\u8AA0\u8A93\u8ACB\u901D\u9192\u9752\u9759\u6589\u7A0E\u8106\u96BB\u5E2D\u60DC\u621A\u65A5\u6614\u6790\u77F3\u7A4D\u7C4D\u7E3E\u810A\u8CAC\u8D64\u8DE1\u8E5F\u78A9\u5207\u62D9\u63A5\u6442\u6298\u8A2D\u7A83\u7BC0\u8AAC\u96EA\u7D76\u820C\u8749\u4ED9\u5148\u5343\u5360\u5BA3\u5C02\u5C16\u5DDD\u6226\u6247\u64B0\u6813\u6834\u6CC9\u6D45\u6D17\u67D3\u6F5C\u714E\u717D\u65CB\u7A7F\u7BAD\u7DDA"], - ["9140", "\u7E4A\u7FA8\u817A\u821B\u8239\u85A6\u8A6E\u8CCE\u8DF5\u9078\u9077\u92AD\u9291\u9583\u9BAE\u524D\u5584\u6F38\u7136\u5168\u7985\u7E55\u81B3\u7CCE\u564C\u5851\u5CA8\u63AA\u66FE\u66FD\u695A\u72D9\u758F\u758E\u790E\u7956\u79DF\u7C97\u7D20\u7D44\u8607\u8A34\u963B\u9061\u9F20\u50E7\u5275\u53CC\u53E2\u5009\u55AA\u58EE\u594F\u723D\u5B8B\u5C64\u531D\u60E3\u60F3\u635C\u6383\u633F\u63BB"], - ["9180", "\u64CD\u65E9\u66F9\u5DE3\u69CD\u69FD\u6F15\u71E5\u4E89\u75E9\u76F8\u7A93\u7CDF\u7DCF\u7D9C\u8061\u8349\u8358\u846C\u84BC\u85FB\u88C5\u8D70\u9001\u906D\u9397\u971C\u9A12\u50CF\u5897\u618E\u81D3\u8535\u8D08\u9020\u4FC3\u5074\u5247\u5373\u606F\u6349\u675F\u6E2C\u8DB3\u901F\u4FD7\u5C5E\u8CCA\u65CF\u7D9A\u5352\u8896\u5176\u63C3\u5B58\u5B6B\u5C0A\u640D\u6751\u905C\u4ED6\u591A\u592A\u6C70\u8A51\u553E\u5815\u59A5\u60F0\u6253\u67C1\u8235\u6955\u9640\u99C4\u9A28\u4F53\u5806\u5BFE\u8010\u5CB1\u5E2F\u5F85\u6020\u614B\u6234\u66FF\u6CF0\u6EDE\u80CE\u817F\u82D4\u888B\u8CB8\u9000\u902E\u968A\u9EDB\u9BDB\u4EE3\u53F0\u5927\u7B2C\u918D\u984C\u9DF9\u6EDD\u7027\u5353\u5544\u5B85\u6258\u629E\u62D3\u6CA2\u6FEF\u7422\u8A17\u9438\u6FC1\u8AFE\u8338\u51E7\u86F8\u53EA"], - ["9240", "\u53E9\u4F46\u9054\u8FB0\u596A\u8131\u5DFD\u7AEA\u8FBF\u68DA\u8C37\u72F8\u9C48\u6A3D\u8AB0\u4E39\u5358\u5606\u5766\u62C5\u63A2\u65E6\u6B4E\u6DE1\u6E5B\u70AD\u77ED\u7AEF\u7BAA\u7DBB\u803D\u80C6\u86CB\u8A95\u935B\u56E3\u58C7\u5F3E\u65AD\u6696\u6A80\u6BB5\u7537\u8AC7\u5024\u77E5\u5730\u5F1B\u6065\u667A\u6C60\u75F4\u7A1A\u7F6E\u81F4\u8718\u9045\u99B3\u7BC9\u755C\u7AF9\u7B51\u84C4"], - ["9280", "\u9010\u79E9\u7A92\u8336\u5AE1\u7740\u4E2D\u4EF2\u5B99\u5FE0\u62BD\u663C\u67F1\u6CE8\u866B\u8877\u8A3B\u914E\u92F3\u99D0\u6A17\u7026\u732A\u82E7\u8457\u8CAF\u4E01\u5146\u51CB\u558B\u5BF5\u5E16\u5E33\u5E81\u5F14\u5F35\u5F6B\u5FB4\u61F2\u6311\u66A2\u671D\u6F6E\u7252\u753A\u773A\u8074\u8139\u8178\u8776\u8ABF\u8ADC\u8D85\u8DF3\u929A\u9577\u9802\u9CE5\u52C5\u6357\u76F4\u6715\u6C88\u73CD\u8CC3\u93AE\u9673\u6D25\u589C\u690E\u69CC\u8FFD\u939A\u75DB\u901A\u585A\u6802\u63B4\u69FB\u4F43\u6F2C\u67D8\u8FBB\u8526\u7DB4\u9354\u693F\u6F70\u576A\u58F7\u5B2C\u7D2C\u722A\u540A\u91E3\u9DB4\u4EAD\u4F4E\u505C\u5075\u5243\u8C9E\u5448\u5824\u5B9A\u5E1D\u5E95\u5EAD\u5EF7\u5F1F\u608C\u62B5\u633A\u63D0\u68AF\u6C40\u7887\u798E\u7A0B\u7DE0\u8247\u8A02\u8AE6\u8E44\u9013"], - ["9340", "\u90B8\u912D\u91D8\u9F0E\u6CE5\u6458\u64E2\u6575\u6EF4\u7684\u7B1B\u9069\u93D1\u6EBA\u54F2\u5FB9\u64A4\u8F4D\u8FED\u9244\u5178\u586B\u5929\u5C55\u5E97\u6DFB\u7E8F\u751C\u8CBC\u8EE2\u985B\u70B9\u4F1D\u6BBF\u6FB1\u7530\u96FB\u514E\u5410\u5835\u5857\u59AC\u5C60\u5F92\u6597\u675C\u6E21\u767B\u83DF\u8CED\u9014\u90FD\u934D\u7825\u783A\u52AA\u5EA6\u571F\u5974\u6012\u5012\u515A\u51AC"], - ["9380", "\u51CD\u5200\u5510\u5854\u5858\u5957\u5B95\u5CF6\u5D8B\u60BC\u6295\u642D\u6771\u6843\u68BC\u68DF\u76D7\u6DD8\u6E6F\u6D9B\u706F\u71C8\u5F53\u75D8\u7977\u7B49\u7B54\u7B52\u7CD6\u7D71\u5230\u8463\u8569\u85E4\u8A0E\u8B04\u8C46\u8E0F\u9003\u900F\u9419\u9676\u982D\u9A30\u95D8\u50CD\u52D5\u540C\u5802\u5C0E\u61A7\u649E\u6D1E\u77B3\u7AE5\u80F4\u8404\u9053\u9285\u5CE0\u9D07\u533F\u5F97\u5FB3\u6D9C\u7279\u7763\u79BF\u7BE4\u6BD2\u72EC\u8AAD\u6803\u6A61\u51F8\u7A81\u6934\u5C4A\u9CF6\u82EB\u5BC5\u9149\u701E\u5678\u5C6F\u60C7\u6566\u6C8C\u8C5A\u9041\u9813\u5451\u66C7\u920D\u5948\u90A3\u5185\u4E4D\u51EA\u8599\u8B0E\u7058\u637A\u934B\u6962\u99B4\u7E04\u7577\u5357\u6960\u8EDF\u96E3\u6C5D\u4E8C\u5C3C\u5F10\u8FE9\u5302\u8CD1\u8089\u8679\u5EFF\u65E5\u4E73\u5165"], - ["9440", "\u5982\u5C3F\u97EE\u4EFB\u598A\u5FCD\u8A8D\u6FE1\u79B0\u7962\u5BE7\u8471\u732B\u71B1\u5E74\u5FF5\u637B\u649A\u71C3\u7C98\u4E43\u5EFC\u4E4B\u57DC\u56A2\u60A9\u6FC3\u7D0D\u80FD\u8133\u81BF\u8FB2\u8997\u86A4\u5DF4\u628A\u64AD\u8987\u6777\u6CE2\u6D3E\u7436\u7834\u5A46\u7F75\u82AD\u99AC\u4FF3\u5EC3\u62DD\u6392\u6557\u676F\u76C3\u724C\u80CC\u80BA\u8F29\u914D\u500D\u57F9\u5A92\u6885"], - ["9480", "\u6973\u7164\u72FD\u8CB7\u58F2\u8CE0\u966A\u9019\u877F\u79E4\u77E7\u8429\u4F2F\u5265\u535A\u62CD\u67CF\u6CCA\u767D\u7B94\u7C95\u8236\u8584\u8FEB\u66DD\u6F20\u7206\u7E1B\u83AB\u99C1\u9EA6\u51FD\u7BB1\u7872\u7BB8\u8087\u7B48\u6AE8\u5E61\u808C\u7551\u7560\u516B\u9262\u6E8C\u767A\u9197\u9AEA\u4F10\u7F70\u629C\u7B4F\u95A5\u9CE9\u567A\u5859\u86E4\u96BC\u4F34\u5224\u534A\u53CD\u53DB\u5E06\u642C\u6591\u677F\u6C3E\u6C4E\u7248\u72AF\u73ED\u7554\u7E41\u822C\u85E9\u8CA9\u7BC4\u91C6\u7169\u9812\u98EF\u633D\u6669\u756A\u76E4\u78D0\u8543\u86EE\u532A\u5351\u5426\u5983\u5E87\u5F7C\u60B2\u6249\u6279\u62AB\u6590\u6BD4\u6CCC\u75B2\u76AE\u7891\u79D8\u7DCB\u7F77\u80A5\u88AB\u8AB9\u8CBB\u907F\u975E\u98DB\u6A0B\u7C38\u5099\u5C3E\u5FAE\u6787\u6BD8\u7435\u7709\u7F8E"], - ["9540", "\u9F3B\u67CA\u7A17\u5339\u758B\u9AED\u5F66\u819D\u83F1\u8098\u5F3C\u5FC5\u7562\u7B46\u903C\u6867\u59EB\u5A9B\u7D10\u767E\u8B2C\u4FF5\u5F6A\u6A19\u6C37\u6F02\u74E2\u7968\u8868\u8A55\u8C79\u5EDF\u63CF\u75C5\u79D2\u82D7\u9328\u92F2\u849C\u86ED\u9C2D\u54C1\u5F6C\u658C\u6D5C\u7015\u8CA7\u8CD3\u983B\u654F\u74F6\u4E0D\u4ED8\u57E0\u592B\u5A66\u5BCC\u51A8\u5E03\u5E9C\u6016\u6276\u6577"], - ["9580", "\u65A7\u666E\u6D6E\u7236\u7B26\u8150\u819A\u8299\u8B5C\u8CA0\u8CE6\u8D74\u961C\u9644\u4FAE\u64AB\u6B66\u821E\u8461\u856A\u90E8\u5C01\u6953\u98A8\u847A\u8557\u4F0F\u526F\u5FA9\u5E45\u670D\u798F\u8179\u8907\u8986\u6DF5\u5F17\u6255\u6CB8\u4ECF\u7269\u9B92\u5206\u543B\u5674\u58B3\u61A4\u626E\u711A\u596E\u7C89\u7CDE\u7D1B\u96F0\u6587\u805E\u4E19\u4F75\u5175\u5840\u5E63\u5E73\u5F0A\u67C4\u4E26\u853D\u9589\u965B\u7C73\u9801\u50FB\u58C1\u7656\u78A7\u5225\u77A5\u8511\u7B86\u504F\u5909\u7247\u7BC7\u7DE8\u8FBA\u8FD4\u904D\u4FBF\u52C9\u5A29\u5F01\u97AD\u4FDD\u8217\u92EA\u5703\u6355\u6B69\u752B\u88DC\u8F14\u7A42\u52DF\u5893\u6155\u620A\u66AE\u6BCD\u7C3F\u83E9\u5023\u4FF8\u5305\u5446\u5831\u5949\u5B9D\u5CF0\u5CEF\u5D29\u5E96\u62B1\u6367\u653E\u65B9\u670B"], - ["9640", "\u6CD5\u6CE1\u70F9\u7832\u7E2B\u80DE\u82B3\u840C\u84EC\u8702\u8912\u8A2A\u8C4A\u90A6\u92D2\u98FD\u9CF3\u9D6C\u4E4F\u4EA1\u508D\u5256\u574A\u59A8\u5E3D\u5FD8\u5FD9\u623F\u66B4\u671B\u67D0\u68D2\u5192\u7D21\u80AA\u81A8\u8B00\u8C8C\u8CBF\u927E\u9632\u5420\u982C\u5317\u50D5\u535C\u58A8\u64B2\u6734\u7267\u7766\u7A46\u91E6\u52C3\u6CA1\u6B86\u5800\u5E4C\u5954\u672C\u7FFB\u51E1\u76C6"], - ["9680", "\u6469\u78E8\u9B54\u9EBB\u57CB\u59B9\u6627\u679A\u6BCE\u54E9\u69D9\u5E55\u819C\u6795\u9BAA\u67FE\u9C52\u685D\u4EA6\u4FE3\u53C8\u62B9\u672B\u6CAB\u8FC4\u4FAD\u7E6D\u9EBF\u4E07\u6162\u6E80\u6F2B\u8513\u5473\u672A\u9B45\u5DF3\u7B95\u5CAC\u5BC6\u871C\u6E4A\u84D1\u7A14\u8108\u5999\u7C8D\u6C11\u7720\u52D9\u5922\u7121\u725F\u77DB\u9727\u9D61\u690B\u5A7F\u5A18\u51A5\u540D\u547D\u660E\u76DF\u8FF7\u9298\u9CF4\u59EA\u725D\u6EC5\u514D\u68C9\u7DBF\u7DEC\u9762\u9EBA\u6478\u6A21\u8302\u5984\u5B5F\u6BDB\u731B\u76F2\u7DB2\u8017\u8499\u5132\u6728\u9ED9\u76EE\u6762\u52FF\u9905\u5C24\u623B\u7C7E\u8CB0\u554F\u60B6\u7D0B\u9580\u5301\u4E5F\u51B6\u591C\u723A\u8036\u91CE\u5F25\u77E2\u5384\u5F79\u7D04\u85AC\u8A33\u8E8D\u9756\u67F3\u85AE\u9453\u6109\u6108\u6CB9\u7652"], - ["9740", "\u8AED\u8F38\u552F\u4F51\u512A\u52C7\u53CB\u5BA5\u5E7D\u60A0\u6182\u63D6\u6709\u67DA\u6E67\u6D8C\u7336\u7337\u7531\u7950\u88D5\u8A98\u904A\u9091\u90F5\u96C4\u878D\u5915\u4E88\u4F59\u4E0E\u8A89\u8F3F\u9810\u50AD\u5E7C\u5996\u5BB9\u5EB8\u63DA\u63FA\u64C1\u66DC\u694A\u69D8\u6D0B\u6EB6\u7194\u7528\u7AAF\u7F8A\u8000\u8449\u84C9\u8981\u8B21\u8E0A\u9065\u967D\u990A\u617E\u6291\u6B32"], - ["9780", "\u6C83\u6D74\u7FCC\u7FFC\u6DC0\u7F85\u87BA\u88F8\u6765\u83B1\u983C\u96F7\u6D1B\u7D61\u843D\u916A\u4E71\u5375\u5D50\u6B04\u6FEB\u85CD\u862D\u89A7\u5229\u540F\u5C65\u674E\u68A8\u7406\u7483\u75E2\u88CF\u88E1\u91CC\u96E2\u9678\u5F8B\u7387\u7ACB\u844E\u63A0\u7565\u5289\u6D41\u6E9C\u7409\u7559\u786B\u7C92\u9686\u7ADC\u9F8D\u4FB6\u616E\u65C5\u865C\u4E86\u4EAE\u50DA\u4E21\u51CC\u5BEE\u6599\u6881\u6DBC\u731F\u7642\u77AD\u7A1C\u7CE7\u826F\u8AD2\u907C\u91CF\u9675\u9818\u529B\u7DD1\u502B\u5398\u6797\u6DCB\u71D0\u7433\u81E8\u8F2A\u96A3\u9C57\u9E9F\u7460\u5841\u6D99\u7D2F\u985E\u4EE4\u4F36\u4F8B\u51B7\u52B1\u5DBA\u601C\u73B2\u793C\u82D3\u9234\u96B7\u96F6\u970A\u9E97\u9F62\u66A6\u6B74\u5217\u52A3\u70C8\u88C2\u5EC9\u604B\u6190\u6F23\u7149\u7C3E\u7DF4\u806F"], - ["9840", "\u84EE\u9023\u932C\u5442\u9B6F\u6AD3\u7089\u8CC2\u8DEF\u9732\u52B4\u5A41\u5ECA\u5F04\u6717\u697C\u6994\u6D6A\u6F0F\u7262\u72FC\u7BED\u8001\u807E\u874B\u90CE\u516D\u9E93\u7984\u808B\u9332\u8AD6\u502D\u548C\u8A71\u6B6A\u8CC4\u8107\u60D1\u67A0\u9DF2\u4E99\u4E98\u9C10\u8A6B\u85C1\u8568\u6900\u6E7E\u7897\u8155"], - ["989f", "\u5F0C\u4E10\u4E15\u4E2A\u4E31\u4E36\u4E3C\u4E3F\u4E42\u4E56\u4E58\u4E82\u4E85\u8C6B\u4E8A\u8212\u5F0D\u4E8E\u4E9E\u4E9F\u4EA0\u4EA2\u4EB0\u4EB3\u4EB6\u4ECE\u4ECD\u4EC4\u4EC6\u4EC2\u4ED7\u4EDE\u4EED\u4EDF\u4EF7\u4F09\u4F5A\u4F30\u4F5B\u4F5D\u4F57\u4F47\u4F76\u4F88\u4F8F\u4F98\u4F7B\u4F69\u4F70\u4F91\u4F6F\u4F86\u4F96\u5118\u4FD4\u4FDF\u4FCE\u4FD8\u4FDB\u4FD1\u4FDA\u4FD0\u4FE4\u4FE5\u501A\u5028\u5014\u502A\u5025\u5005\u4F1C\u4FF6\u5021\u5029\u502C\u4FFE\u4FEF\u5011\u5006\u5043\u5047\u6703\u5055\u5050\u5048\u505A\u5056\u506C\u5078\u5080\u509A\u5085\u50B4\u50B2"], - ["9940", "\u50C9\u50CA\u50B3\u50C2\u50D6\u50DE\u50E5\u50ED\u50E3\u50EE\u50F9\u50F5\u5109\u5101\u5102\u5116\u5115\u5114\u511A\u5121\u513A\u5137\u513C\u513B\u513F\u5140\u5152\u514C\u5154\u5162\u7AF8\u5169\u516A\u516E\u5180\u5182\u56D8\u518C\u5189\u518F\u5191\u5193\u5195\u5196\u51A4\u51A6\u51A2\u51A9\u51AA\u51AB\u51B3\u51B1\u51B2\u51B0\u51B5\u51BD\u51C5\u51C9\u51DB\u51E0\u8655\u51E9\u51ED"], - ["9980", "\u51F0\u51F5\u51FE\u5204\u520B\u5214\u520E\u5227\u522A\u522E\u5233\u5239\u524F\u5244\u524B\u524C\u525E\u5254\u526A\u5274\u5269\u5273\u527F\u527D\u528D\u5294\u5292\u5271\u5288\u5291\u8FA8\u8FA7\u52AC\u52AD\u52BC\u52B5\u52C1\u52CD\u52D7\u52DE\u52E3\u52E6\u98ED\u52E0\u52F3\u52F5\u52F8\u52F9\u5306\u5308\u7538\u530D\u5310\u530F\u5315\u531A\u5323\u532F\u5331\u5333\u5338\u5340\u5346\u5345\u4E17\u5349\u534D\u51D6\u535E\u5369\u536E\u5918\u537B\u5377\u5382\u5396\u53A0\u53A6\u53A5\u53AE\u53B0\u53B6\u53C3\u7C12\u96D9\u53DF\u66FC\u71EE\u53EE\u53E8\u53ED\u53FA\u5401\u543D\u5440\u542C\u542D\u543C\u542E\u5436\u5429\u541D\u544E\u548F\u5475\u548E\u545F\u5471\u5477\u5470\u5492\u547B\u5480\u5476\u5484\u5490\u5486\u54C7\u54A2\u54B8\u54A5\u54AC\u54C4\u54C8\u54A8"], - ["9a40", "\u54AB\u54C2\u54A4\u54BE\u54BC\u54D8\u54E5\u54E6\u550F\u5514\u54FD\u54EE\u54ED\u54FA\u54E2\u5539\u5540\u5563\u554C\u552E\u555C\u5545\u5556\u5557\u5538\u5533\u555D\u5599\u5580\u54AF\u558A\u559F\u557B\u557E\u5598\u559E\u55AE\u557C\u5583\u55A9\u5587\u55A8\u55DA\u55C5\u55DF\u55C4\u55DC\u55E4\u55D4\u5614\u55F7\u5616\u55FE\u55FD\u561B\u55F9\u564E\u5650\u71DF\u5634\u5636\u5632\u5638"], - ["9a80", "\u566B\u5664\u562F\u566C\u566A\u5686\u5680\u568A\u56A0\u5694\u568F\u56A5\u56AE\u56B6\u56B4\u56C2\u56BC\u56C1\u56C3\u56C0\u56C8\u56CE\u56D1\u56D3\u56D7\u56EE\u56F9\u5700\u56FF\u5704\u5709\u5708\u570B\u570D\u5713\u5718\u5716\u55C7\u571C\u5726\u5737\u5738\u574E\u573B\u5740\u574F\u5769\u57C0\u5788\u5761\u577F\u5789\u5793\u57A0\u57B3\u57A4\u57AA\u57B0\u57C3\u57C6\u57D4\u57D2\u57D3\u580A\u57D6\u57E3\u580B\u5819\u581D\u5872\u5821\u5862\u584B\u5870\u6BC0\u5852\u583D\u5879\u5885\u58B9\u589F\u58AB\u58BA\u58DE\u58BB\u58B8\u58AE\u58C5\u58D3\u58D1\u58D7\u58D9\u58D8\u58E5\u58DC\u58E4\u58DF\u58EF\u58FA\u58F9\u58FB\u58FC\u58FD\u5902\u590A\u5910\u591B\u68A6\u5925\u592C\u592D\u5932\u5938\u593E\u7AD2\u5955\u5950\u594E\u595A\u5958\u5962\u5960\u5967\u596C\u5969"], - ["9b40", "\u5978\u5981\u599D\u4F5E\u4FAB\u59A3\u59B2\u59C6\u59E8\u59DC\u598D\u59D9\u59DA\u5A25\u5A1F\u5A11\u5A1C\u5A09\u5A1A\u5A40\u5A6C\u5A49\u5A35\u5A36\u5A62\u5A6A\u5A9A\u5ABC\u5ABE\u5ACB\u5AC2\u5ABD\u5AE3\u5AD7\u5AE6\u5AE9\u5AD6\u5AFA\u5AFB\u5B0C\u5B0B\u5B16\u5B32\u5AD0\u5B2A\u5B36\u5B3E\u5B43\u5B45\u5B40\u5B51\u5B55\u5B5A\u5B5B\u5B65\u5B69\u5B70\u5B73\u5B75\u5B78\u6588\u5B7A\u5B80"], - ["9b80", "\u5B83\u5BA6\u5BB8\u5BC3\u5BC7\u5BC9\u5BD4\u5BD0\u5BE4\u5BE6\u5BE2\u5BDE\u5BE5\u5BEB\u5BF0\u5BF6\u5BF3\u5C05\u5C07\u5C08\u5C0D\u5C13\u5C20\u5C22\u5C28\u5C38\u5C39\u5C41\u5C46\u5C4E\u5C53\u5C50\u5C4F\u5B71\u5C6C\u5C6E\u4E62\u5C76\u5C79\u5C8C\u5C91\u5C94\u599B\u5CAB\u5CBB\u5CB6\u5CBC\u5CB7\u5CC5\u5CBE\u5CC7\u5CD9\u5CE9\u5CFD\u5CFA\u5CED\u5D8C\u5CEA\u5D0B\u5D15\u5D17\u5D5C\u5D1F\u5D1B\u5D11\u5D14\u5D22\u5D1A\u5D19\u5D18\u5D4C\u5D52\u5D4E\u5D4B\u5D6C\u5D73\u5D76\u5D87\u5D84\u5D82\u5DA2\u5D9D\u5DAC\u5DAE\u5DBD\u5D90\u5DB7\u5DBC\u5DC9\u5DCD\u5DD3\u5DD2\u5DD6\u5DDB\u5DEB\u5DF2\u5DF5\u5E0B\u5E1A\u5E19\u5E11\u5E1B\u5E36\u5E37\u5E44\u5E43\u5E40\u5E4E\u5E57\u5E54\u5E5F\u5E62\u5E64\u5E47\u5E75\u5E76\u5E7A\u9EBC\u5E7F\u5EA0\u5EC1\u5EC2\u5EC8\u5ED0\u5ECF"], - ["9c40", "\u5ED6\u5EE3\u5EDD\u5EDA\u5EDB\u5EE2\u5EE1\u5EE8\u5EE9\u5EEC\u5EF1\u5EF3\u5EF0\u5EF4\u5EF8\u5EFE\u5F03\u5F09\u5F5D\u5F5C\u5F0B\u5F11\u5F16\u5F29\u5F2D\u5F38\u5F41\u5F48\u5F4C\u5F4E\u5F2F\u5F51\u5F56\u5F57\u5F59\u5F61\u5F6D\u5F73\u5F77\u5F83\u5F82\u5F7F\u5F8A\u5F88\u5F91\u5F87\u5F9E\u5F99\u5F98\u5FA0\u5FA8\u5FAD\u5FBC\u5FD6\u5FFB\u5FE4\u5FF8\u5FF1\u5FDD\u60B3\u5FFF\u6021\u6060"], - ["9c80", "\u6019\u6010\u6029\u600E\u6031\u601B\u6015\u602B\u6026\u600F\u603A\u605A\u6041\u606A\u6077\u605F\u604A\u6046\u604D\u6063\u6043\u6064\u6042\u606C\u606B\u6059\u6081\u608D\u60E7\u6083\u609A\u6084\u609B\u6096\u6097\u6092\u60A7\u608B\u60E1\u60B8\u60E0\u60D3\u60B4\u5FF0\u60BD\u60C6\u60B5\u60D8\u614D\u6115\u6106\u60F6\u60F7\u6100\u60F4\u60FA\u6103\u6121\u60FB\u60F1\u610D\u610E\u6147\u613E\u6128\u6127\u614A\u613F\u613C\u612C\u6134\u613D\u6142\u6144\u6173\u6177\u6158\u6159\u615A\u616B\u6174\u616F\u6165\u6171\u615F\u615D\u6153\u6175\u6199\u6196\u6187\u61AC\u6194\u619A\u618A\u6191\u61AB\u61AE\u61CC\u61CA\u61C9\u61F7\u61C8\u61C3\u61C6\u61BA\u61CB\u7F79\u61CD\u61E6\u61E3\u61F6\u61FA\u61F4\u61FF\u61FD\u61FC\u61FE\u6200\u6208\u6209\u620D\u620C\u6214\u621B"], - ["9d40", "\u621E\u6221\u622A\u622E\u6230\u6232\u6233\u6241\u624E\u625E\u6263\u625B\u6260\u6268\u627C\u6282\u6289\u627E\u6292\u6293\u6296\u62D4\u6283\u6294\u62D7\u62D1\u62BB\u62CF\u62FF\u62C6\u64D4\u62C8\u62DC\u62CC\u62CA\u62C2\u62C7\u629B\u62C9\u630C\u62EE\u62F1\u6327\u6302\u6308\u62EF\u62F5\u6350\u633E\u634D\u641C\u634F\u6396\u638E\u6380\u63AB\u6376\u63A3\u638F\u6389\u639F\u63B5\u636B"], - ["9d80", "\u6369\u63BE\u63E9\u63C0\u63C6\u63E3\u63C9\u63D2\u63F6\u63C4\u6416\u6434\u6406\u6413\u6426\u6436\u651D\u6417\u6428\u640F\u6467\u646F\u6476\u644E\u652A\u6495\u6493\u64A5\u64A9\u6488\u64BC\u64DA\u64D2\u64C5\u64C7\u64BB\u64D8\u64C2\u64F1\u64E7\u8209\u64E0\u64E1\u62AC\u64E3\u64EF\u652C\u64F6\u64F4\u64F2\u64FA\u6500\u64FD\u6518\u651C\u6505\u6524\u6523\u652B\u6534\u6535\u6537\u6536\u6538\u754B\u6548\u6556\u6555\u654D\u6558\u655E\u655D\u6572\u6578\u6582\u6583\u8B8A\u659B\u659F\u65AB\u65B7\u65C3\u65C6\u65C1\u65C4\u65CC\u65D2\u65DB\u65D9\u65E0\u65E1\u65F1\u6772\u660A\u6603\u65FB\u6773\u6635\u6636\u6634\u661C\u664F\u6644\u6649\u6641\u665E\u665D\u6664\u6667\u6668\u665F\u6662\u6670\u6683\u6688\u668E\u6689\u6684\u6698\u669D\u66C1\u66B9\u66C9\u66BE\u66BC"], - ["9e40", "\u66C4\u66B8\u66D6\u66DA\u66E0\u663F\u66E6\u66E9\u66F0\u66F5\u66F7\u670F\u6716\u671E\u6726\u6727\u9738\u672E\u673F\u6736\u6741\u6738\u6737\u6746\u675E\u6760\u6759\u6763\u6764\u6789\u6770\u67A9\u677C\u676A\u678C\u678B\u67A6\u67A1\u6785\u67B7\u67EF\u67B4\u67EC\u67B3\u67E9\u67B8\u67E4\u67DE\u67DD\u67E2\u67EE\u67B9\u67CE\u67C6\u67E7\u6A9C\u681E\u6846\u6829\u6840\u684D\u6832\u684E"], - ["9e80", "\u68B3\u682B\u6859\u6863\u6877\u687F\u689F\u688F\u68AD\u6894\u689D\u689B\u6883\u6AAE\u68B9\u6874\u68B5\u68A0\u68BA\u690F\u688D\u687E\u6901\u68CA\u6908\u68D8\u6922\u6926\u68E1\u690C\u68CD\u68D4\u68E7\u68D5\u6936\u6912\u6904\u68D7\u68E3\u6925\u68F9\u68E0\u68EF\u6928\u692A\u691A\u6923\u6921\u68C6\u6979\u6977\u695C\u6978\u696B\u6954\u697E\u696E\u6939\u6974\u693D\u6959\u6930\u6961\u695E\u695D\u6981\u696A\u69B2\u69AE\u69D0\u69BF\u69C1\u69D3\u69BE\u69CE\u5BE8\u69CA\u69DD\u69BB\u69C3\u69A7\u6A2E\u6991\u69A0\u699C\u6995\u69B4\u69DE\u69E8\u6A02\u6A1B\u69FF\u6B0A\u69F9\u69F2\u69E7\u6A05\u69B1\u6A1E\u69ED\u6A14\u69EB\u6A0A\u6A12\u6AC1\u6A23\u6A13\u6A44\u6A0C\u6A72\u6A36\u6A78\u6A47\u6A62\u6A59\u6A66\u6A48\u6A38\u6A22\u6A90\u6A8D\u6AA0\u6A84\u6AA2\u6AA3"], - ["9f40", "\u6A97\u8617\u6ABB\u6AC3\u6AC2\u6AB8\u6AB3\u6AAC\u6ADE\u6AD1\u6ADF\u6AAA\u6ADA\u6AEA\u6AFB\u6B05\u8616\u6AFA\u6B12\u6B16\u9B31\u6B1F\u6B38\u6B37\u76DC\u6B39\u98EE\u6B47\u6B43\u6B49\u6B50\u6B59\u6B54\u6B5B\u6B5F\u6B61\u6B78\u6B79\u6B7F\u6B80\u6B84\u6B83\u6B8D\u6B98\u6B95\u6B9E\u6BA4\u6BAA\u6BAB\u6BAF\u6BB2\u6BB1\u6BB3\u6BB7\u6BBC\u6BC6\u6BCB\u6BD3\u6BDF\u6BEC\u6BEB\u6BF3\u6BEF"], - ["9f80", "\u9EBE\u6C08\u6C13\u6C14\u6C1B\u6C24\u6C23\u6C5E\u6C55\u6C62\u6C6A\u6C82\u6C8D\u6C9A\u6C81\u6C9B\u6C7E\u6C68\u6C73\u6C92\u6C90\u6CC4\u6CF1\u6CD3\u6CBD\u6CD7\u6CC5\u6CDD\u6CAE\u6CB1\u6CBE\u6CBA\u6CDB\u6CEF\u6CD9\u6CEA\u6D1F\u884D\u6D36\u6D2B\u6D3D\u6D38\u6D19\u6D35\u6D33\u6D12\u6D0C\u6D63\u6D93\u6D64\u6D5A\u6D79\u6D59\u6D8E\u6D95\u6FE4\u6D85\u6DF9\u6E15\u6E0A\u6DB5\u6DC7\u6DE6\u6DB8\u6DC6\u6DEC\u6DDE\u6DCC\u6DE8\u6DD2\u6DC5\u6DFA\u6DD9\u6DE4\u6DD5\u6DEA\u6DEE\u6E2D\u6E6E\u6E2E\u6E19\u6E72\u6E5F\u6E3E\u6E23\u6E6B\u6E2B\u6E76\u6E4D\u6E1F\u6E43\u6E3A\u6E4E\u6E24\u6EFF\u6E1D\u6E38\u6E82\u6EAA\u6E98\u6EC9\u6EB7\u6ED3\u6EBD\u6EAF\u6EC4\u6EB2\u6ED4\u6ED5\u6E8F\u6EA5\u6EC2\u6E9F\u6F41\u6F11\u704C\u6EEC\u6EF8\u6EFE\u6F3F\u6EF2\u6F31\u6EEF\u6F32\u6ECC"], - ["e040", "\u6F3E\u6F13\u6EF7\u6F86\u6F7A\u6F78\u6F81\u6F80\u6F6F\u6F5B\u6FF3\u6F6D\u6F82\u6F7C\u6F58\u6F8E\u6F91\u6FC2\u6F66\u6FB3\u6FA3\u6FA1\u6FA4\u6FB9\u6FC6\u6FAA\u6FDF\u6FD5\u6FEC\u6FD4\u6FD8\u6FF1\u6FEE\u6FDB\u7009\u700B\u6FFA\u7011\u7001\u700F\u6FFE\u701B\u701A\u6F74\u701D\u7018\u701F\u7030\u703E\u7032\u7051\u7063\u7099\u7092\u70AF\u70F1\u70AC\u70B8\u70B3\u70AE\u70DF\u70CB\u70DD"], - ["e080", "\u70D9\u7109\u70FD\u711C\u7119\u7165\u7155\u7188\u7166\u7162\u714C\u7156\u716C\u718F\u71FB\u7184\u7195\u71A8\u71AC\u71D7\u71B9\u71BE\u71D2\u71C9\u71D4\u71CE\u71E0\u71EC\u71E7\u71F5\u71FC\u71F9\u71FF\u720D\u7210\u721B\u7228\u722D\u722C\u7230\u7232\u723B\u723C\u723F\u7240\u7246\u724B\u7258\u7274\u727E\u7282\u7281\u7287\u7292\u7296\u72A2\u72A7\u72B9\u72B2\u72C3\u72C6\u72C4\u72CE\u72D2\u72E2\u72E0\u72E1\u72F9\u72F7\u500F\u7317\u730A\u731C\u7316\u731D\u7334\u732F\u7329\u7325\u733E\u734E\u734F\u9ED8\u7357\u736A\u7368\u7370\u7378\u7375\u737B\u737A\u73C8\u73B3\u73CE\u73BB\u73C0\u73E5\u73EE\u73DE\u74A2\u7405\u746F\u7425\u73F8\u7432\u743A\u7455\u743F\u745F\u7459\u7441\u745C\u7469\u7470\u7463\u746A\u7476\u747E\u748B\u749E\u74A7\u74CA\u74CF\u74D4\u73F1"], - ["e140", "\u74E0\u74E3\u74E7\u74E9\u74EE\u74F2\u74F0\u74F1\u74F8\u74F7\u7504\u7503\u7505\u750C\u750E\u750D\u7515\u7513\u751E\u7526\u752C\u753C\u7544\u754D\u754A\u7549\u755B\u7546\u755A\u7569\u7564\u7567\u756B\u756D\u7578\u7576\u7586\u7587\u7574\u758A\u7589\u7582\u7594\u759A\u759D\u75A5\u75A3\u75C2\u75B3\u75C3\u75B5\u75BD\u75B8\u75BC\u75B1\u75CD\u75CA\u75D2\u75D9\u75E3\u75DE\u75FE\u75FF"], - ["e180", "\u75FC\u7601\u75F0\u75FA\u75F2\u75F3\u760B\u760D\u7609\u761F\u7627\u7620\u7621\u7622\u7624\u7634\u7630\u763B\u7647\u7648\u7646\u765C\u7658\u7661\u7662\u7668\u7669\u766A\u7667\u766C\u7670\u7672\u7676\u7678\u767C\u7680\u7683\u7688\u768B\u768E\u7696\u7693\u7699\u769A\u76B0\u76B4\u76B8\u76B9\u76BA\u76C2\u76CD\u76D6\u76D2\u76DE\u76E1\u76E5\u76E7\u76EA\u862F\u76FB\u7708\u7707\u7704\u7729\u7724\u771E\u7725\u7726\u771B\u7737\u7738\u7747\u775A\u7768\u776B\u775B\u7765\u777F\u777E\u7779\u778E\u778B\u7791\u77A0\u779E\u77B0\u77B6\u77B9\u77BF\u77BC\u77BD\u77BB\u77C7\u77CD\u77D7\u77DA\u77DC\u77E3\u77EE\u77FC\u780C\u7812\u7926\u7820\u792A\u7845\u788E\u7874\u7886\u787C\u789A\u788C\u78A3\u78B5\u78AA\u78AF\u78D1\u78C6\u78CB\u78D4\u78BE\u78BC\u78C5\u78CA\u78EC"], - ["e240", "\u78E7\u78DA\u78FD\u78F4\u7907\u7912\u7911\u7919\u792C\u792B\u7940\u7960\u7957\u795F\u795A\u7955\u7953\u797A\u797F\u798A\u799D\u79A7\u9F4B\u79AA\u79AE\u79B3\u79B9\u79BA\u79C9\u79D5\u79E7\u79EC\u79E1\u79E3\u7A08\u7A0D\u7A18\u7A19\u7A20\u7A1F\u7980\u7A31\u7A3B\u7A3E\u7A37\u7A43\u7A57\u7A49\u7A61\u7A62\u7A69\u9F9D\u7A70\u7A79\u7A7D\u7A88\u7A97\u7A95\u7A98\u7A96\u7AA9\u7AC8\u7AB0"], - ["e280", "\u7AB6\u7AC5\u7AC4\u7ABF\u9083\u7AC7\u7ACA\u7ACD\u7ACF\u7AD5\u7AD3\u7AD9\u7ADA\u7ADD\u7AE1\u7AE2\u7AE6\u7AED\u7AF0\u7B02\u7B0F\u7B0A\u7B06\u7B33\u7B18\u7B19\u7B1E\u7B35\u7B28\u7B36\u7B50\u7B7A\u7B04\u7B4D\u7B0B\u7B4C\u7B45\u7B75\u7B65\u7B74\u7B67\u7B70\u7B71\u7B6C\u7B6E\u7B9D\u7B98\u7B9F\u7B8D\u7B9C\u7B9A\u7B8B\u7B92\u7B8F\u7B5D\u7B99\u7BCB\u7BC1\u7BCC\u7BCF\u7BB4\u7BC6\u7BDD\u7BE9\u7C11\u7C14\u7BE6\u7BE5\u7C60\u7C00\u7C07\u7C13\u7BF3\u7BF7\u7C17\u7C0D\u7BF6\u7C23\u7C27\u7C2A\u7C1F\u7C37\u7C2B\u7C3D\u7C4C\u7C43\u7C54\u7C4F\u7C40\u7C50\u7C58\u7C5F\u7C64\u7C56\u7C65\u7C6C\u7C75\u7C83\u7C90\u7CA4\u7CAD\u7CA2\u7CAB\u7CA1\u7CA8\u7CB3\u7CB2\u7CB1\u7CAE\u7CB9\u7CBD\u7CC0\u7CC5\u7CC2\u7CD8\u7CD2\u7CDC\u7CE2\u9B3B\u7CEF\u7CF2\u7CF4\u7CF6\u7CFA\u7D06"], - ["e340", "\u7D02\u7D1C\u7D15\u7D0A\u7D45\u7D4B\u7D2E\u7D32\u7D3F\u7D35\u7D46\u7D73\u7D56\u7D4E\u7D72\u7D68\u7D6E\u7D4F\u7D63\u7D93\u7D89\u7D5B\u7D8F\u7D7D\u7D9B\u7DBA\u7DAE\u7DA3\u7DB5\u7DC7\u7DBD\u7DAB\u7E3D\u7DA2\u7DAF\u7DDC\u7DB8\u7D9F\u7DB0\u7DD8\u7DDD\u7DE4\u7DDE\u7DFB\u7DF2\u7DE1\u7E05\u7E0A\u7E23\u7E21\u7E12\u7E31\u7E1F\u7E09\u7E0B\u7E22\u7E46\u7E66\u7E3B\u7E35\u7E39\u7E43\u7E37"], - ["e380", "\u7E32\u7E3A\u7E67\u7E5D\u7E56\u7E5E\u7E59\u7E5A\u7E79\u7E6A\u7E69\u7E7C\u7E7B\u7E83\u7DD5\u7E7D\u8FAE\u7E7F\u7E88\u7E89\u7E8C\u7E92\u7E90\u7E93\u7E94\u7E96\u7E8E\u7E9B\u7E9C\u7F38\u7F3A\u7F45\u7F4C\u7F4D\u7F4E\u7F50\u7F51\u7F55\u7F54\u7F58\u7F5F\u7F60\u7F68\u7F69\u7F67\u7F78\u7F82\u7F86\u7F83\u7F88\u7F87\u7F8C\u7F94\u7F9E\u7F9D\u7F9A\u7FA3\u7FAF\u7FB2\u7FB9\u7FAE\u7FB6\u7FB8\u8B71\u7FC5\u7FC6\u7FCA\u7FD5\u7FD4\u7FE1\u7FE6\u7FE9\u7FF3\u7FF9\u98DC\u8006\u8004\u800B\u8012\u8018\u8019\u801C\u8021\u8028\u803F\u803B\u804A\u8046\u8052\u8058\u805A\u805F\u8062\u8068\u8073\u8072\u8070\u8076\u8079\u807D\u807F\u8084\u8086\u8085\u809B\u8093\u809A\u80AD\u5190\u80AC\u80DB\u80E5\u80D9\u80DD\u80C4\u80DA\u80D6\u8109\u80EF\u80F1\u811B\u8129\u8123\u812F\u814B"], - ["e440", "\u968B\u8146\u813E\u8153\u8151\u80FC\u8171\u816E\u8165\u8166\u8174\u8183\u8188\u818A\u8180\u8182\u81A0\u8195\u81A4\u81A3\u815F\u8193\u81A9\u81B0\u81B5\u81BE\u81B8\u81BD\u81C0\u81C2\u81BA\u81C9\u81CD\u81D1\u81D9\u81D8\u81C8\u81DA\u81DF\u81E0\u81E7\u81FA\u81FB\u81FE\u8201\u8202\u8205\u8207\u820A\u820D\u8210\u8216\u8229\u822B\u8238\u8233\u8240\u8259\u8258\u825D\u825A\u825F\u8264"], - ["e480", "\u8262\u8268\u826A\u826B\u822E\u8271\u8277\u8278\u827E\u828D\u8292\u82AB\u829F\u82BB\u82AC\u82E1\u82E3\u82DF\u82D2\u82F4\u82F3\u82FA\u8393\u8303\u82FB\u82F9\u82DE\u8306\u82DC\u8309\u82D9\u8335\u8334\u8316\u8332\u8331\u8340\u8339\u8350\u8345\u832F\u832B\u8317\u8318\u8385\u839A\u83AA\u839F\u83A2\u8396\u8323\u838E\u8387\u838A\u837C\u83B5\u8373\u8375\u83A0\u8389\u83A8\u83F4\u8413\u83EB\u83CE\u83FD\u8403\u83D8\u840B\u83C1\u83F7\u8407\u83E0\u83F2\u840D\u8422\u8420\u83BD\u8438\u8506\u83FB\u846D\u842A\u843C\u855A\u8484\u8477\u846B\u84AD\u846E\u8482\u8469\u8446\u842C\u846F\u8479\u8435\u84CA\u8462\u84B9\u84BF\u849F\u84D9\u84CD\u84BB\u84DA\u84D0\u84C1\u84C6\u84D6\u84A1\u8521\u84FF\u84F4\u8517\u8518\u852C\u851F\u8515\u8514\u84FC\u8540\u8563\u8558\u8548"], - ["e540", "\u8541\u8602\u854B\u8555\u8580\u85A4\u8588\u8591\u858A\u85A8\u856D\u8594\u859B\u85EA\u8587\u859C\u8577\u857E\u8590\u85C9\u85BA\u85CF\u85B9\u85D0\u85D5\u85DD\u85E5\u85DC\u85F9\u860A\u8613\u860B\u85FE\u85FA\u8606\u8622\u861A\u8630\u863F\u864D\u4E55\u8654\u865F\u8667\u8671\u8693\u86A3\u86A9\u86AA\u868B\u868C\u86B6\u86AF\u86C4\u86C6\u86B0\u86C9\u8823\u86AB\u86D4\u86DE\u86E9\u86EC"], - ["e580", "\u86DF\u86DB\u86EF\u8712\u8706\u8708\u8700\u8703\u86FB\u8711\u8709\u870D\u86F9\u870A\u8734\u873F\u8737\u873B\u8725\u8729\u871A\u8760\u875F\u8778\u874C\u874E\u8774\u8757\u8768\u876E\u8759\u8753\u8763\u876A\u8805\u87A2\u879F\u8782\u87AF\u87CB\u87BD\u87C0\u87D0\u96D6\u87AB\u87C4\u87B3\u87C7\u87C6\u87BB\u87EF\u87F2\u87E0\u880F\u880D\u87FE\u87F6\u87F7\u880E\u87D2\u8811\u8816\u8815\u8822\u8821\u8831\u8836\u8839\u8827\u883B\u8844\u8842\u8852\u8859\u885E\u8862\u886B\u8881\u887E\u889E\u8875\u887D\u88B5\u8872\u8882\u8897\u8892\u88AE\u8899\u88A2\u888D\u88A4\u88B0\u88BF\u88B1\u88C3\u88C4\u88D4\u88D8\u88D9\u88DD\u88F9\u8902\u88FC\u88F4\u88E8\u88F2\u8904\u890C\u890A\u8913\u8943\u891E\u8925\u892A\u892B\u8941\u8944\u893B\u8936\u8938\u894C\u891D\u8960\u895E"], - ["e640", "\u8966\u8964\u896D\u896A\u896F\u8974\u8977\u897E\u8983\u8988\u898A\u8993\u8998\u89A1\u89A9\u89A6\u89AC\u89AF\u89B2\u89BA\u89BD\u89BF\u89C0\u89DA\u89DC\u89DD\u89E7\u89F4\u89F8\u8A03\u8A16\u8A10\u8A0C\u8A1B\u8A1D\u8A25\u8A36\u8A41\u8A5B\u8A52\u8A46\u8A48\u8A7C\u8A6D\u8A6C\u8A62\u8A85\u8A82\u8A84\u8AA8\u8AA1\u8A91\u8AA5\u8AA6\u8A9A\u8AA3\u8AC4\u8ACD\u8AC2\u8ADA\u8AEB\u8AF3\u8AE7"], - ["e680", "\u8AE4\u8AF1\u8B14\u8AE0\u8AE2\u8AF7\u8ADE\u8ADB\u8B0C\u8B07\u8B1A\u8AE1\u8B16\u8B10\u8B17\u8B20\u8B33\u97AB\u8B26\u8B2B\u8B3E\u8B28\u8B41\u8B4C\u8B4F\u8B4E\u8B49\u8B56\u8B5B\u8B5A\u8B6B\u8B5F\u8B6C\u8B6F\u8B74\u8B7D\u8B80\u8B8C\u8B8E\u8B92\u8B93\u8B96\u8B99\u8B9A\u8C3A\u8C41\u8C3F\u8C48\u8C4C\u8C4E\u8C50\u8C55\u8C62\u8C6C\u8C78\u8C7A\u8C82\u8C89\u8C85\u8C8A\u8C8D\u8C8E\u8C94\u8C7C\u8C98\u621D\u8CAD\u8CAA\u8CBD\u8CB2\u8CB3\u8CAE\u8CB6\u8CC8\u8CC1\u8CE4\u8CE3\u8CDA\u8CFD\u8CFA\u8CFB\u8D04\u8D05\u8D0A\u8D07\u8D0F\u8D0D\u8D10\u9F4E\u8D13\u8CCD\u8D14\u8D16\u8D67\u8D6D\u8D71\u8D73\u8D81\u8D99\u8DC2\u8DBE\u8DBA\u8DCF\u8DDA\u8DD6\u8DCC\u8DDB\u8DCB\u8DEA\u8DEB\u8DDF\u8DE3\u8DFC\u8E08\u8E09\u8DFF\u8E1D\u8E1E\u8E10\u8E1F\u8E42\u8E35\u8E30\u8E34\u8E4A"], - ["e740", "\u8E47\u8E49\u8E4C\u8E50\u8E48\u8E59\u8E64\u8E60\u8E2A\u8E63\u8E55\u8E76\u8E72\u8E7C\u8E81\u8E87\u8E85\u8E84\u8E8B\u8E8A\u8E93\u8E91\u8E94\u8E99\u8EAA\u8EA1\u8EAC\u8EB0\u8EC6\u8EB1\u8EBE\u8EC5\u8EC8\u8ECB\u8EDB\u8EE3\u8EFC\u8EFB\u8EEB\u8EFE\u8F0A\u8F05\u8F15\u8F12\u8F19\u8F13\u8F1C\u8F1F\u8F1B\u8F0C\u8F26\u8F33\u8F3B\u8F39\u8F45\u8F42\u8F3E\u8F4C\u8F49\u8F46\u8F4E\u8F57\u8F5C"], - ["e780", "\u8F62\u8F63\u8F64\u8F9C\u8F9F\u8FA3\u8FAD\u8FAF\u8FB7\u8FDA\u8FE5\u8FE2\u8FEA\u8FEF\u9087\u8FF4\u9005\u8FF9\u8FFA\u9011\u9015\u9021\u900D\u901E\u9016\u900B\u9027\u9036\u9035\u9039\u8FF8\u904F\u9050\u9051\u9052\u900E\u9049\u903E\u9056\u9058\u905E\u9068\u906F\u9076\u96A8\u9072\u9082\u907D\u9081\u9080\u908A\u9089\u908F\u90A8\u90AF\u90B1\u90B5\u90E2\u90E4\u6248\u90DB\u9102\u9112\u9119\u9132\u9130\u914A\u9156\u9158\u9163\u9165\u9169\u9173\u9172\u918B\u9189\u9182\u91A2\u91AB\u91AF\u91AA\u91B5\u91B4\u91BA\u91C0\u91C1\u91C9\u91CB\u91D0\u91D6\u91DF\u91E1\u91DB\u91FC\u91F5\u91F6\u921E\u91FF\u9214\u922C\u9215\u9211\u925E\u9257\u9245\u9249\u9264\u9248\u9295\u923F\u924B\u9250\u929C\u9296\u9293\u929B\u925A\u92CF\u92B9\u92B7\u92E9\u930F\u92FA\u9344\u932E"], - ["e840", "\u9319\u9322\u931A\u9323\u933A\u9335\u933B\u935C\u9360\u937C\u936E\u9356\u93B0\u93AC\u93AD\u9394\u93B9\u93D6\u93D7\u93E8\u93E5\u93D8\u93C3\u93DD\u93D0\u93C8\u93E4\u941A\u9414\u9413\u9403\u9407\u9410\u9436\u942B\u9435\u9421\u943A\u9441\u9452\u9444\u945B\u9460\u9462\u945E\u946A\u9229\u9470\u9475\u9477\u947D\u945A\u947C\u947E\u9481\u947F\u9582\u9587\u958A\u9594\u9596\u9598\u9599"], - ["e880", "\u95A0\u95A8\u95A7\u95AD\u95BC\u95BB\u95B9\u95BE\u95CA\u6FF6\u95C3\u95CD\u95CC\u95D5\u95D4\u95D6\u95DC\u95E1\u95E5\u95E2\u9621\u9628\u962E\u962F\u9642\u964C\u964F\u964B\u9677\u965C\u965E\u965D\u965F\u9666\u9672\u966C\u968D\u9698\u9695\u9697\u96AA\u96A7\u96B1\u96B2\u96B0\u96B4\u96B6\u96B8\u96B9\u96CE\u96CB\u96C9\u96CD\u894D\u96DC\u970D\u96D5\u96F9\u9704\u9706\u9708\u9713\u970E\u9711\u970F\u9716\u9719\u9724\u972A\u9730\u9739\u973D\u973E\u9744\u9746\u9748\u9742\u9749\u975C\u9760\u9764\u9766\u9768\u52D2\u976B\u9771\u9779\u9785\u977C\u9781\u977A\u9786\u978B\u978F\u9790\u979C\u97A8\u97A6\u97A3\u97B3\u97B4\u97C3\u97C6\u97C8\u97CB\u97DC\u97ED\u9F4F\u97F2\u7ADF\u97F6\u97F5\u980F\u980C\u9838\u9824\u9821\u9837\u983D\u9846\u984F\u984B\u986B\u986F\u9870"], - ["e940", "\u9871\u9874\u9873\u98AA\u98AF\u98B1\u98B6\u98C4\u98C3\u98C6\u98E9\u98EB\u9903\u9909\u9912\u9914\u9918\u9921\u991D\u991E\u9924\u9920\u992C\u992E\u993D\u993E\u9942\u9949\u9945\u9950\u994B\u9951\u9952\u994C\u9955\u9997\u9998\u99A5\u99AD\u99AE\u99BC\u99DF\u99DB\u99DD\u99D8\u99D1\u99ED\u99EE\u99F1\u99F2\u99FB\u99F8\u9A01\u9A0F\u9A05\u99E2\u9A19\u9A2B\u9A37\u9A45\u9A42\u9A40\u9A43"], - ["e980", "\u9A3E\u9A55\u9A4D\u9A5B\u9A57\u9A5F\u9A62\u9A65\u9A64\u9A69\u9A6B\u9A6A\u9AAD\u9AB0\u9ABC\u9AC0\u9ACF\u9AD1\u9AD3\u9AD4\u9ADE\u9ADF\u9AE2\u9AE3\u9AE6\u9AEF\u9AEB\u9AEE\u9AF4\u9AF1\u9AF7\u9AFB\u9B06\u9B18\u9B1A\u9B1F\u9B22\u9B23\u9B25\u9B27\u9B28\u9B29\u9B2A\u9B2E\u9B2F\u9B32\u9B44\u9B43\u9B4F\u9B4D\u9B4E\u9B51\u9B58\u9B74\u9B93\u9B83\u9B91\u9B96\u9B97\u9B9F\u9BA0\u9BA8\u9BB4\u9BC0\u9BCA\u9BB9\u9BC6\u9BCF\u9BD1\u9BD2\u9BE3\u9BE2\u9BE4\u9BD4\u9BE1\u9C3A\u9BF2\u9BF1\u9BF0\u9C15\u9C14\u9C09\u9C13\u9C0C\u9C06\u9C08\u9C12\u9C0A\u9C04\u9C2E\u9C1B\u9C25\u9C24\u9C21\u9C30\u9C47\u9C32\u9C46\u9C3E\u9C5A\u9C60\u9C67\u9C76\u9C78\u9CE7\u9CEC\u9CF0\u9D09\u9D08\u9CEB\u9D03\u9D06\u9D2A\u9D26\u9DAF\u9D23\u9D1F\u9D44\u9D15\u9D12\u9D41\u9D3F\u9D3E\u9D46\u9D48"], - ["ea40", "\u9D5D\u9D5E\u9D64\u9D51\u9D50\u9D59\u9D72\u9D89\u9D87\u9DAB\u9D6F\u9D7A\u9D9A\u9DA4\u9DA9\u9DB2\u9DC4\u9DC1\u9DBB\u9DB8\u9DBA\u9DC6\u9DCF\u9DC2\u9DD9\u9DD3\u9DF8\u9DE6\u9DED\u9DEF\u9DFD\u9E1A\u9E1B\u9E1E\u9E75\u9E79\u9E7D\u9E81\u9E88\u9E8B\u9E8C\u9E92\u9E95\u9E91\u9E9D\u9EA5\u9EA9\u9EB8\u9EAA\u9EAD\u9761\u9ECC\u9ECE\u9ECF\u9ED0\u9ED4\u9EDC\u9EDE\u9EDD\u9EE0\u9EE5\u9EE8\u9EEF"], - ["ea80", "\u9EF4\u9EF6\u9EF7\u9EF9\u9EFB\u9EFC\u9EFD\u9F07\u9F08\u76B7\u9F15\u9F21\u9F2C\u9F3E\u9F4A\u9F52\u9F54\u9F63\u9F5F\u9F60\u9F61\u9F66\u9F67\u9F6C\u9F6A\u9F77\u9F72\u9F76\u9F95\u9F9C\u9FA0\u582F\u69C7\u9059\u7464\u51DC\u7199"], - ["ed40", "\u7E8A\u891C\u9348\u9288\u84DC\u4FC9\u70BB\u6631\u68C8\u92F9\u66FB\u5F45\u4E28\u4EE1\u4EFC\u4F00\u4F03\u4F39\u4F56\u4F92\u4F8A\u4F9A\u4F94\u4FCD\u5040\u5022\u4FFF\u501E\u5046\u5070\u5042\u5094\u50F4\u50D8\u514A\u5164\u519D\u51BE\u51EC\u5215\u529C\u52A6\u52C0\u52DB\u5300\u5307\u5324\u5372\u5393\u53B2\u53DD\uFA0E\u549C\u548A\u54A9\u54FF\u5586\u5759\u5765\u57AC\u57C8\u57C7\uFA0F"], - ["ed80", "\uFA10\u589E\u58B2\u590B\u5953\u595B\u595D\u5963\u59A4\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7\u5FDE\u605D\u6085\u608A\u60DE\u60D5\u6120\u60F2\u6111\u6137\u6130\u6198\u6213\u62A6\u63F5\u6460\u649D\u64CE\u654E\u6600\u6615\u663B\u6609\u662E\u661E\u6624\u6665\u6657\u6659\uFA12\u6673\u6699\u66A0\u66B2\u66BF\u66FA\u670E\uF929\u6766\u67BB\u6852\u67C0\u6801\u6844\u68CF\uFA13\u6968\uFA14\u6998\u69E2\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007\u7028\u7085\u70AB\u710F\u7104\u715C\u7146\u7147\uFA15\u71C1\u71FE\u72B1"], - ["ee40", "\u72BE\u7324\uFA16\u7377\u73BD\u73C9\u73D6\u73E3\u73D2\u7407\u73F5\u7426\u742A\u7429\u742E\u7462\u7489\u749F\u7501\u756F\u7682\u769C\u769E\u769B\u76A6\uFA17\u7746\u52AF\u7821\u784E\u7864\u787A\u7930\uFA18\uFA19\uFA1A\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47\u7FA1\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448\u84B4\u8553\u8559"], - ["ee80", "\u856B\uFA1F\u85B0\uFA20\uFA21\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE\u8ADF\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12\u8D76\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26\u9115\u9127\u91DA\u91D7\u91DE\u91ED\u91EE\u91E4\u91E5\u9206\u9210\u920A\u923A\u9240\u923C\u924E\u9259\u9251\u9239\u9267\u92A7\u9277\u9278\u92E7\u92D7\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3\u9325\u9321\u92FB\uFA28\u931E\u92FF\u931D\u9302\u9370\u9357\u93A4\u93C6\u93DE\u93F8\u9431\u9445\u9448\u9592\uF9DC\uFA29\u969D\u96AF\u9733\u973B\u9743\u974D\u974F\u9751\u9755\u9857\u9865\uFA2A\uFA2B\u9927\uFA2C\u999E\u9A4E\u9AD9\u9ADC\u9B75\u9B72\u9B8F\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19\u9ED1"], - ["eeef", "\u2170", 9, "\uFFE2\uFFE4\uFF07\uFF02"], - ["f040", "\uE000", 62], - ["f080", "\uE03F", 124], - ["f140", "\uE0BC", 62], - ["f180", "\uE0FB", 124], - ["f240", "\uE178", 62], - ["f280", "\uE1B7", 124], - ["f340", "\uE234", 62], - ["f380", "\uE273", 124], - ["f440", "\uE2F0", 62], - ["f480", "\uE32F", 124], - ["f540", "\uE3AC", 62], - ["f580", "\uE3EB", 124], - ["f640", "\uE468", 62], - ["f680", "\uE4A7", 124], - ["f740", "\uE524", 62], - ["f780", "\uE563", 124], - ["f840", "\uE5E0", 62], - ["f880", "\uE61F", 124], - ["f940", "\uE69C"], - ["fa40", "\u2170", 9, "\u2160", 9, "\uFFE2\uFFE4\uFF07\uFF02\u3231\u2116\u2121\u2235\u7E8A\u891C\u9348\u9288\u84DC\u4FC9\u70BB\u6631\u68C8\u92F9\u66FB\u5F45\u4E28\u4EE1\u4EFC\u4F00\u4F03\u4F39\u4F56\u4F92\u4F8A\u4F9A\u4F94\u4FCD\u5040\u5022\u4FFF\u501E\u5046\u5070\u5042\u5094\u50F4\u50D8\u514A"], - ["fa80", "\u5164\u519D\u51BE\u51EC\u5215\u529C\u52A6\u52C0\u52DB\u5300\u5307\u5324\u5372\u5393\u53B2\u53DD\uFA0E\u549C\u548A\u54A9\u54FF\u5586\u5759\u5765\u57AC\u57C8\u57C7\uFA0F\uFA10\u589E\u58B2\u590B\u5953\u595B\u595D\u5963\u59A4\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7\u5FDE\u605D\u6085\u608A\u60DE\u60D5\u6120\u60F2\u6111\u6137\u6130\u6198\u6213\u62A6\u63F5\u6460\u649D\u64CE\u654E\u6600\u6615\u663B\u6609\u662E\u661E\u6624\u6665\u6657\u6659\uFA12\u6673\u6699\u66A0\u66B2\u66BF\u66FA\u670E\uF929\u6766\u67BB\u6852\u67C0\u6801\u6844\u68CF\uFA13\u6968\uFA14\u6998\u69E2\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F"], - ["fb40", "\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007\u7028\u7085\u70AB\u710F\u7104\u715C\u7146\u7147\uFA15\u71C1\u71FE\u72B1\u72BE\u7324\uFA16\u7377\u73BD\u73C9\u73D6\u73E3\u73D2\u7407\u73F5\u7426\u742A\u7429\u742E\u7462\u7489\u749F\u7501\u756F\u7682\u769C\u769E\u769B\u76A6\uFA17\u7746\u52AF\u7821\u784E\u7864\u787A\u7930\uFA18\uFA19"], - ["fb80", "\uFA1A\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47\u7FA1\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448\u84B4\u8553\u8559\u856B\uFA1F\u85B0\uFA20\uFA21\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE\u8ADF\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12\u8D76\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26\u9115\u9127\u91DA\u91D7\u91DE\u91ED\u91EE\u91E4\u91E5\u9206\u9210\u920A\u923A\u9240\u923C\u924E\u9259\u9251\u9239\u9267\u92A7\u9277\u9278\u92E7\u92D7\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3\u9325\u9321\u92FB\uFA28\u931E\u92FF\u931D\u9302\u9370\u9357\u93A4\u93C6\u93DE\u93F8\u9431\u9445\u9448\u9592\uF9DC\uFA29\u969D\u96AF\u9733\u973B\u9743\u974D\u974F\u9751\u9755\u9857\u9865\uFA2A\uFA2B\u9927\uFA2C\u999E\u9A4E\u9AD9"], - ["fc40", "\u9ADC\u9B75\u9B72\u9B8F\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19\u9ED1"] - ]; - } -}); - -// node_modules/iconv-lite/encodings/tables/eucjp.json -var require_eucjp = __commonJS({ - "node_modules/iconv-lite/encodings/tables/eucjp.json"(exports2, module2) { - module2.exports = [ - ["0", "\0", 127], - ["8ea1", "\uFF61", 62], - ["a1a1", "\u3000\u3001\u3002\uFF0C\uFF0E\u30FB\uFF1A\uFF1B\uFF1F\uFF01\u309B\u309C\xB4\uFF40\xA8\uFF3E\uFFE3\uFF3F\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006\u3007\u30FC\u2015\u2010\uFF0F\uFF3C\uFF5E\u2225\uFF5C\u2026\u2025\u2018\u2019\u201C\u201D\uFF08\uFF09\u3014\u3015\uFF3B\uFF3D\uFF5B\uFF5D\u3008", 9, "\uFF0B\uFF0D\xB1\xD7\xF7\uFF1D\u2260\uFF1C\uFF1E\u2266\u2267\u221E\u2234\u2642\u2640\xB0\u2032\u2033\u2103\uFFE5\uFF04\uFFE0\uFFE1\uFF05\uFF03\uFF06\uFF0A\uFF20\xA7\u2606\u2605\u25CB\u25CF\u25CE\u25C7"], - ["a2a1", "\u25C6\u25A1\u25A0\u25B3\u25B2\u25BD\u25BC\u203B\u3012\u2192\u2190\u2191\u2193\u3013"], - ["a2ba", "\u2208\u220B\u2286\u2287\u2282\u2283\u222A\u2229"], - ["a2ca", "\u2227\u2228\uFFE2\u21D2\u21D4\u2200\u2203"], - ["a2dc", "\u2220\u22A5\u2312\u2202\u2207\u2261\u2252\u226A\u226B\u221A\u223D\u221D\u2235\u222B\u222C"], - ["a2f2", "\u212B\u2030\u266F\u266D\u266A\u2020\u2021\xB6"], - ["a2fe", "\u25EF"], - ["a3b0", "\uFF10", 9], - ["a3c1", "\uFF21", 25], - ["a3e1", "\uFF41", 25], - ["a4a1", "\u3041", 82], - ["a5a1", "\u30A1", 85], - ["a6a1", "\u0391", 16, "\u03A3", 6], - ["a6c1", "\u03B1", 16, "\u03C3", 6], - ["a7a1", "\u0410", 5, "\u0401\u0416", 25], - ["a7d1", "\u0430", 5, "\u0451\u0436", 25], - ["a8a1", "\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542"], - ["ada1", "\u2460", 19, "\u2160", 9], - ["adc0", "\u3349\u3314\u3322\u334D\u3318\u3327\u3303\u3336\u3351\u3357\u330D\u3326\u3323\u332B\u334A\u333B\u339C\u339D\u339E\u338E\u338F\u33C4\u33A1"], - ["addf", "\u337B\u301D\u301F\u2116\u33CD\u2121\u32A4", 4, "\u3231\u3232\u3239\u337E\u337D\u337C\u2252\u2261\u222B\u222E\u2211\u221A\u22A5\u2220\u221F\u22BF\u2235\u2229\u222A"], - ["b0a1", "\u4E9C\u5516\u5A03\u963F\u54C0\u611B\u6328\u59F6\u9022\u8475\u831C\u7A50\u60AA\u63E1\u6E25\u65ED\u8466\u82A6\u9BF5\u6893\u5727\u65A1\u6271\u5B9B\u59D0\u867B\u98F4\u7D62\u7DBE\u9B8E\u6216\u7C9F\u88B7\u5B89\u5EB5\u6309\u6697\u6848\u95C7\u978D\u674F\u4EE5\u4F0A\u4F4D\u4F9D\u5049\u56F2\u5937\u59D4\u5A01\u5C09\u60DF\u610F\u6170\u6613\u6905\u70BA\u754F\u7570\u79FB\u7DAD\u7DEF\u80C3\u840E\u8863\u8B02\u9055\u907A\u533B\u4E95\u4EA5\u57DF\u80B2\u90C1\u78EF\u4E00\u58F1\u6EA2\u9038\u7A32\u8328\u828B\u9C2F\u5141\u5370\u54BD\u54E1\u56E0\u59FB\u5F15\u98F2\u6DEB\u80E4\u852D"], - ["b1a1", "\u9662\u9670\u96A0\u97FB\u540B\u53F3\u5B87\u70CF\u7FBD\u8FC2\u96E8\u536F\u9D5C\u7ABA\u4E11\u7893\u81FC\u6E26\u5618\u5504\u6B1D\u851A\u9C3B\u59E5\u53A9\u6D66\u74DC\u958F\u5642\u4E91\u904B\u96F2\u834F\u990C\u53E1\u55B6\u5B30\u5F71\u6620\u66F3\u6804\u6C38\u6CF3\u6D29\u745B\u76C8\u7A4E\u9834\u82F1\u885B\u8A60\u92ED\u6DB2\u75AB\u76CA\u99C5\u60A6\u8B01\u8D8A\u95B2\u698E\u53AD\u5186\u5712\u5830\u5944\u5BB4\u5EF6\u6028\u63A9\u63F4\u6CBF\u6F14\u708E\u7114\u7159\u71D5\u733F\u7E01\u8276\u82D1\u8597\u9060\u925B\u9D1B\u5869\u65BC\u6C5A\u7525\u51F9\u592E\u5965\u5F80\u5FDC"], - ["b2a1", "\u62BC\u65FA\u6A2A\u6B27\u6BB4\u738B\u7FC1\u8956\u9D2C\u9D0E\u9EC4\u5CA1\u6C96\u837B\u5104\u5C4B\u61B6\u81C6\u6876\u7261\u4E59\u4FFA\u5378\u6069\u6E29\u7A4F\u97F3\u4E0B\u5316\u4EEE\u4F55\u4F3D\u4FA1\u4F73\u52A0\u53EF\u5609\u590F\u5AC1\u5BB6\u5BE1\u79D1\u6687\u679C\u67B6\u6B4C\u6CB3\u706B\u73C2\u798D\u79BE\u7A3C\u7B87\u82B1\u82DB\u8304\u8377\u83EF\u83D3\u8766\u8AB2\u5629\u8CA8\u8FE6\u904E\u971E\u868A\u4FC4\u5CE8\u6211\u7259\u753B\u81E5\u82BD\u86FE\u8CC0\u96C5\u9913\u99D5\u4ECB\u4F1A\u89E3\u56DE\u584A\u58CA\u5EFB\u5FEB\u602A\u6094\u6062\u61D0\u6212\u62D0\u6539"], - ["b3a1", "\u9B41\u6666\u68B0\u6D77\u7070\u754C\u7686\u7D75\u82A5\u87F9\u958B\u968E\u8C9D\u51F1\u52BE\u5916\u54B3\u5BB3\u5D16\u6168\u6982\u6DAF\u788D\u84CB\u8857\u8A72\u93A7\u9AB8\u6D6C\u99A8\u86D9\u57A3\u67FF\u86CE\u920E\u5283\u5687\u5404\u5ED3\u62E1\u64B9\u683C\u6838\u6BBB\u7372\u78BA\u7A6B\u899A\u89D2\u8D6B\u8F03\u90ED\u95A3\u9694\u9769\u5B66\u5CB3\u697D\u984D\u984E\u639B\u7B20\u6A2B\u6A7F\u68B6\u9C0D\u6F5F\u5272\u559D\u6070\u62EC\u6D3B\u6E07\u6ED1\u845B\u8910\u8F44\u4E14\u9C39\u53F6\u691B\u6A3A\u9784\u682A\u515C\u7AC3\u84B2\u91DC\u938C\u565B\u9D28\u6822\u8305\u8431"], - ["b4a1", "\u7CA5\u5208\u82C5\u74E6\u4E7E\u4F83\u51A0\u5BD2\u520A\u52D8\u52E7\u5DFB\u559A\u582A\u59E6\u5B8C\u5B98\u5BDB\u5E72\u5E79\u60A3\u611F\u6163\u61BE\u63DB\u6562\u67D1\u6853\u68FA\u6B3E\u6B53\u6C57\u6F22\u6F97\u6F45\u74B0\u7518\u76E3\u770B\u7AFF\u7BA1\u7C21\u7DE9\u7F36\u7FF0\u809D\u8266\u839E\u89B3\u8ACC\u8CAB\u9084\u9451\u9593\u9591\u95A2\u9665\u97D3\u9928\u8218\u4E38\u542B\u5CB8\u5DCC\u73A9\u764C\u773C\u5CA9\u7FEB\u8D0B\u96C1\u9811\u9854\u9858\u4F01\u4F0E\u5371\u559C\u5668\u57FA\u5947\u5B09\u5BC4\u5C90\u5E0C\u5E7E\u5FCC\u63EE\u673A\u65D7\u65E2\u671F\u68CB\u68C4"], - ["b5a1", "\u6A5F\u5E30\u6BC5\u6C17\u6C7D\u757F\u7948\u5B63\u7A00\u7D00\u5FBD\u898F\u8A18\u8CB4\u8D77\u8ECC\u8F1D\u98E2\u9A0E\u9B3C\u4E80\u507D\u5100\u5993\u5B9C\u622F\u6280\u64EC\u6B3A\u72A0\u7591\u7947\u7FA9\u87FB\u8ABC\u8B70\u63AC\u83CA\u97A0\u5409\u5403\u55AB\u6854\u6A58\u8A70\u7827\u6775\u9ECD\u5374\u5BA2\u811A\u8650\u9006\u4E18\u4E45\u4EC7\u4F11\u53CA\u5438\u5BAE\u5F13\u6025\u6551\u673D\u6C42\u6C72\u6CE3\u7078\u7403\u7A76\u7AAE\u7B08\u7D1A\u7CFE\u7D66\u65E7\u725B\u53BB\u5C45\u5DE8\u62D2\u62E0\u6319\u6E20\u865A\u8A31\u8DDD\u92F8\u6F01\u79A6\u9B5A\u4EA8\u4EAB\u4EAC"], - ["b6a1", "\u4F9B\u4FA0\u50D1\u5147\u7AF6\u5171\u51F6\u5354\u5321\u537F\u53EB\u55AC\u5883\u5CE1\u5F37\u5F4A\u602F\u6050\u606D\u631F\u6559\u6A4B\u6CC1\u72C2\u72ED\u77EF\u80F8\u8105\u8208\u854E\u90F7\u93E1\u97FF\u9957\u9A5A\u4EF0\u51DD\u5C2D\u6681\u696D\u5C40\u66F2\u6975\u7389\u6850\u7C81\u50C5\u52E4\u5747\u5DFE\u9326\u65A4\u6B23\u6B3D\u7434\u7981\u79BD\u7B4B\u7DCA\u82B9\u83CC\u887F\u895F\u8B39\u8FD1\u91D1\u541F\u9280\u4E5D\u5036\u53E5\u533A\u72D7\u7396\u77E9\u82E6\u8EAF\u99C6\u99C8\u99D2\u5177\u611A\u865E\u55B0\u7A7A\u5076\u5BD3\u9047\u9685\u4E32\u6ADB\u91E7\u5C51\u5C48"], - ["b7a1", "\u6398\u7A9F\u6C93\u9774\u8F61\u7AAA\u718A\u9688\u7C82\u6817\u7E70\u6851\u936C\u52F2\u541B\u85AB\u8A13\u7FA4\u8ECD\u90E1\u5366\u8888\u7941\u4FC2\u50BE\u5211\u5144\u5553\u572D\u73EA\u578B\u5951\u5F62\u5F84\u6075\u6176\u6167\u61A9\u63B2\u643A\u656C\u666F\u6842\u6E13\u7566\u7A3D\u7CFB\u7D4C\u7D99\u7E4B\u7F6B\u830E\u834A\u86CD\u8A08\u8A63\u8B66\u8EFD\u981A\u9D8F\u82B8\u8FCE\u9BE8\u5287\u621F\u6483\u6FC0\u9699\u6841\u5091\u6B20\u6C7A\u6F54\u7A74\u7D50\u8840\u8A23\u6708\u4EF6\u5039\u5026\u5065\u517C\u5238\u5263\u55A7\u570F\u5805\u5ACC\u5EFA\u61B2\u61F8\u62F3\u6372"], - ["b8a1", "\u691C\u6A29\u727D\u72AC\u732E\u7814\u786F\u7D79\u770C\u80A9\u898B\u8B19\u8CE2\u8ED2\u9063\u9375\u967A\u9855\u9A13\u9E78\u5143\u539F\u53B3\u5E7B\u5F26\u6E1B\u6E90\u7384\u73FE\u7D43\u8237\u8A00\u8AFA\u9650\u4E4E\u500B\u53E4\u547C\u56FA\u59D1\u5B64\u5DF1\u5EAB\u5F27\u6238\u6545\u67AF\u6E56\u72D0\u7CCA\u88B4\u80A1\u80E1\u83F0\u864E\u8A87\u8DE8\u9237\u96C7\u9867\u9F13\u4E94\u4E92\u4F0D\u5348\u5449\u543E\u5A2F\u5F8C\u5FA1\u609F\u68A7\u6A8E\u745A\u7881\u8A9E\u8AA4\u8B77\u9190\u4E5E\u9BC9\u4EA4\u4F7C\u4FAF\u5019\u5016\u5149\u516C\u529F\u52B9\u52FE\u539A\u53E3\u5411"], - ["b9a1", "\u540E\u5589\u5751\u57A2\u597D\u5B54\u5B5D\u5B8F\u5DE5\u5DE7\u5DF7\u5E78\u5E83\u5E9A\u5EB7\u5F18\u6052\u614C\u6297\u62D8\u63A7\u653B\u6602\u6643\u66F4\u676D\u6821\u6897\u69CB\u6C5F\u6D2A\u6D69\u6E2F\u6E9D\u7532\u7687\u786C\u7A3F\u7CE0\u7D05\u7D18\u7D5E\u7DB1\u8015\u8003\u80AF\u80B1\u8154\u818F\u822A\u8352\u884C\u8861\u8B1B\u8CA2\u8CFC\u90CA\u9175\u9271\u783F\u92FC\u95A4\u964D\u9805\u9999\u9AD8\u9D3B\u525B\u52AB\u53F7\u5408\u58D5\u62F7\u6FE0\u8C6A\u8F5F\u9EB9\u514B\u523B\u544A\u56FD\u7A40\u9177\u9D60\u9ED2\u7344\u6F09\u8170\u7511\u5FFD\u60DA\u9AA8\u72DB\u8FBC"], - ["baa1", "\u6B64\u9803\u4ECA\u56F0\u5764\u58BE\u5A5A\u6068\u61C7\u660F\u6606\u6839\u68B1\u6DF7\u75D5\u7D3A\u826E\u9B42\u4E9B\u4F50\u53C9\u5506\u5D6F\u5DE6\u5DEE\u67FB\u6C99\u7473\u7802\u8A50\u9396\u88DF\u5750\u5EA7\u632B\u50B5\u50AC\u518D\u6700\u54C9\u585E\u59BB\u5BB0\u5F69\u624D\u63A1\u683D\u6B73\u6E08\u707D\u91C7\u7280\u7815\u7826\u796D\u658E\u7D30\u83DC\u88C1\u8F09\u969B\u5264\u5728\u6750\u7F6A\u8CA1\u51B4\u5742\u962A\u583A\u698A\u80B4\u54B2\u5D0E\u57FC\u7895\u9DFA\u4F5C\u524A\u548B\u643E\u6628\u6714\u67F5\u7A84\u7B56\u7D22\u932F\u685C\u9BAD\u7B39\u5319\u518A\u5237"], - ["bba1", "\u5BDF\u62F6\u64AE\u64E6\u672D\u6BBA\u85A9\u96D1\u7690\u9BD6\u634C\u9306\u9BAB\u76BF\u6652\u4E09\u5098\u53C2\u5C71\u60E8\u6492\u6563\u685F\u71E6\u73CA\u7523\u7B97\u7E82\u8695\u8B83\u8CDB\u9178\u9910\u65AC\u66AB\u6B8B\u4ED5\u4ED4\u4F3A\u4F7F\u523A\u53F8\u53F2\u55E3\u56DB\u58EB\u59CB\u59C9\u59FF\u5B50\u5C4D\u5E02\u5E2B\u5FD7\u601D\u6307\u652F\u5B5C\u65AF\u65BD\u65E8\u679D\u6B62\u6B7B\u6C0F\u7345\u7949\u79C1\u7CF8\u7D19\u7D2B\u80A2\u8102\u81F3\u8996\u8A5E\u8A69\u8A66\u8A8C\u8AEE\u8CC7\u8CDC\u96CC\u98FC\u6B6F\u4E8B\u4F3C\u4F8D\u5150\u5B57\u5BFA\u6148\u6301\u6642"], - ["bca1", "\u6B21\u6ECB\u6CBB\u723E\u74BD\u75D4\u78C1\u793A\u800C\u8033\u81EA\u8494\u8F9E\u6C50\u9E7F\u5F0F\u8B58\u9D2B\u7AFA\u8EF8\u5B8D\u96EB\u4E03\u53F1\u57F7\u5931\u5AC9\u5BA4\u6089\u6E7F\u6F06\u75BE\u8CEA\u5B9F\u8500\u7BE0\u5072\u67F4\u829D\u5C61\u854A\u7E1E\u820E\u5199\u5C04\u6368\u8D66\u659C\u716E\u793E\u7D17\u8005\u8B1D\u8ECA\u906E\u86C7\u90AA\u501F\u52FA\u5C3A\u6753\u707C\u7235\u914C\u91C8\u932B\u82E5\u5BC2\u5F31\u60F9\u4E3B\u53D6\u5B88\u624B\u6731\u6B8A\u72E9\u73E0\u7A2E\u816B\u8DA3\u9152\u9996\u5112\u53D7\u546A\u5BFF\u6388\u6A39\u7DAC\u9700\u56DA\u53CE\u5468"], - ["bda1", "\u5B97\u5C31\u5DDE\u4FEE\u6101\u62FE\u6D32\u79C0\u79CB\u7D42\u7E4D\u7FD2\u81ED\u821F\u8490\u8846\u8972\u8B90\u8E74\u8F2F\u9031\u914B\u916C\u96C6\u919C\u4EC0\u4F4F\u5145\u5341\u5F93\u620E\u67D4\u6C41\u6E0B\u7363\u7E26\u91CD\u9283\u53D4\u5919\u5BBF\u6DD1\u795D\u7E2E\u7C9B\u587E\u719F\u51FA\u8853\u8FF0\u4FCA\u5CFB\u6625\u77AC\u7AE3\u821C\u99FF\u51C6\u5FAA\u65EC\u696F\u6B89\u6DF3\u6E96\u6F64\u76FE\u7D14\u5DE1\u9075\u9187\u9806\u51E6\u521D\u6240\u6691\u66D9\u6E1A\u5EB6\u7DD2\u7F72\u66F8\u85AF\u85F7\u8AF8\u52A9\u53D9\u5973\u5E8F\u5F90\u6055\u92E4\u9664\u50B7\u511F"], - ["bea1", "\u52DD\u5320\u5347\u53EC\u54E8\u5546\u5531\u5617\u5968\u59BE\u5A3C\u5BB5\u5C06\u5C0F\u5C11\u5C1A\u5E84\u5E8A\u5EE0\u5F70\u627F\u6284\u62DB\u638C\u6377\u6607\u660C\u662D\u6676\u677E\u68A2\u6A1F\u6A35\u6CBC\u6D88\u6E09\u6E58\u713C\u7126\u7167\u75C7\u7701\u785D\u7901\u7965\u79F0\u7AE0\u7B11\u7CA7\u7D39\u8096\u83D6\u848B\u8549\u885D\u88F3\u8A1F\u8A3C\u8A54\u8A73\u8C61\u8CDE\u91A4\u9266\u937E\u9418\u969C\u9798\u4E0A\u4E08\u4E1E\u4E57\u5197\u5270\u57CE\u5834\u58CC\u5B22\u5E38\u60C5\u64FE\u6761\u6756\u6D44\u72B6\u7573\u7A63\u84B8\u8B72\u91B8\u9320\u5631\u57F4\u98FE"], - ["bfa1", "\u62ED\u690D\u6B96\u71ED\u7E54\u8077\u8272\u89E6\u98DF\u8755\u8FB1\u5C3B\u4F38\u4FE1\u4FB5\u5507\u5A20\u5BDD\u5BE9\u5FC3\u614E\u632F\u65B0\u664B\u68EE\u699B\u6D78\u6DF1\u7533\u75B9\u771F\u795E\u79E6\u7D33\u81E3\u82AF\u85AA\u89AA\u8A3A\u8EAB\u8F9B\u9032\u91DD\u9707\u4EBA\u4EC1\u5203\u5875\u58EC\u5C0B\u751A\u5C3D\u814E\u8A0A\u8FC5\u9663\u976D\u7B25\u8ACF\u9808\u9162\u56F3\u53A8\u9017\u5439\u5782\u5E25\u63A8\u6C34\u708A\u7761\u7C8B\u7FE0\u8870\u9042\u9154\u9310\u9318\u968F\u745E\u9AC4\u5D07\u5D69\u6570\u67A2\u8DA8\u96DB\u636E\u6749\u6919\u83C5\u9817\u96C0\u88FE"], - ["c0a1", "\u6F84\u647A\u5BF8\u4E16\u702C\u755D\u662F\u51C4\u5236\u52E2\u59D3\u5F81\u6027\u6210\u653F\u6574\u661F\u6674\u68F2\u6816\u6B63\u6E05\u7272\u751F\u76DB\u7CBE\u8056\u58F0\u88FD\u897F\u8AA0\u8A93\u8ACB\u901D\u9192\u9752\u9759\u6589\u7A0E\u8106\u96BB\u5E2D\u60DC\u621A\u65A5\u6614\u6790\u77F3\u7A4D\u7C4D\u7E3E\u810A\u8CAC\u8D64\u8DE1\u8E5F\u78A9\u5207\u62D9\u63A5\u6442\u6298\u8A2D\u7A83\u7BC0\u8AAC\u96EA\u7D76\u820C\u8749\u4ED9\u5148\u5343\u5360\u5BA3\u5C02\u5C16\u5DDD\u6226\u6247\u64B0\u6813\u6834\u6CC9\u6D45\u6D17\u67D3\u6F5C\u714E\u717D\u65CB\u7A7F\u7BAD\u7DDA"], - ["c1a1", "\u7E4A\u7FA8\u817A\u821B\u8239\u85A6\u8A6E\u8CCE\u8DF5\u9078\u9077\u92AD\u9291\u9583\u9BAE\u524D\u5584\u6F38\u7136\u5168\u7985\u7E55\u81B3\u7CCE\u564C\u5851\u5CA8\u63AA\u66FE\u66FD\u695A\u72D9\u758F\u758E\u790E\u7956\u79DF\u7C97\u7D20\u7D44\u8607\u8A34\u963B\u9061\u9F20\u50E7\u5275\u53CC\u53E2\u5009\u55AA\u58EE\u594F\u723D\u5B8B\u5C64\u531D\u60E3\u60F3\u635C\u6383\u633F\u63BB\u64CD\u65E9\u66F9\u5DE3\u69CD\u69FD\u6F15\u71E5\u4E89\u75E9\u76F8\u7A93\u7CDF\u7DCF\u7D9C\u8061\u8349\u8358\u846C\u84BC\u85FB\u88C5\u8D70\u9001\u906D\u9397\u971C\u9A12\u50CF\u5897\u618E"], - ["c2a1", "\u81D3\u8535\u8D08\u9020\u4FC3\u5074\u5247\u5373\u606F\u6349\u675F\u6E2C\u8DB3\u901F\u4FD7\u5C5E\u8CCA\u65CF\u7D9A\u5352\u8896\u5176\u63C3\u5B58\u5B6B\u5C0A\u640D\u6751\u905C\u4ED6\u591A\u592A\u6C70\u8A51\u553E\u5815\u59A5\u60F0\u6253\u67C1\u8235\u6955\u9640\u99C4\u9A28\u4F53\u5806\u5BFE\u8010\u5CB1\u5E2F\u5F85\u6020\u614B\u6234\u66FF\u6CF0\u6EDE\u80CE\u817F\u82D4\u888B\u8CB8\u9000\u902E\u968A\u9EDB\u9BDB\u4EE3\u53F0\u5927\u7B2C\u918D\u984C\u9DF9\u6EDD\u7027\u5353\u5544\u5B85\u6258\u629E\u62D3\u6CA2\u6FEF\u7422\u8A17\u9438\u6FC1\u8AFE\u8338\u51E7\u86F8\u53EA"], - ["c3a1", "\u53E9\u4F46\u9054\u8FB0\u596A\u8131\u5DFD\u7AEA\u8FBF\u68DA\u8C37\u72F8\u9C48\u6A3D\u8AB0\u4E39\u5358\u5606\u5766\u62C5\u63A2\u65E6\u6B4E\u6DE1\u6E5B\u70AD\u77ED\u7AEF\u7BAA\u7DBB\u803D\u80C6\u86CB\u8A95\u935B\u56E3\u58C7\u5F3E\u65AD\u6696\u6A80\u6BB5\u7537\u8AC7\u5024\u77E5\u5730\u5F1B\u6065\u667A\u6C60\u75F4\u7A1A\u7F6E\u81F4\u8718\u9045\u99B3\u7BC9\u755C\u7AF9\u7B51\u84C4\u9010\u79E9\u7A92\u8336\u5AE1\u7740\u4E2D\u4EF2\u5B99\u5FE0\u62BD\u663C\u67F1\u6CE8\u866B\u8877\u8A3B\u914E\u92F3\u99D0\u6A17\u7026\u732A\u82E7\u8457\u8CAF\u4E01\u5146\u51CB\u558B\u5BF5"], - ["c4a1", "\u5E16\u5E33\u5E81\u5F14\u5F35\u5F6B\u5FB4\u61F2\u6311\u66A2\u671D\u6F6E\u7252\u753A\u773A\u8074\u8139\u8178\u8776\u8ABF\u8ADC\u8D85\u8DF3\u929A\u9577\u9802\u9CE5\u52C5\u6357\u76F4\u6715\u6C88\u73CD\u8CC3\u93AE\u9673\u6D25\u589C\u690E\u69CC\u8FFD\u939A\u75DB\u901A\u585A\u6802\u63B4\u69FB\u4F43\u6F2C\u67D8\u8FBB\u8526\u7DB4\u9354\u693F\u6F70\u576A\u58F7\u5B2C\u7D2C\u722A\u540A\u91E3\u9DB4\u4EAD\u4F4E\u505C\u5075\u5243\u8C9E\u5448\u5824\u5B9A\u5E1D\u5E95\u5EAD\u5EF7\u5F1F\u608C\u62B5\u633A\u63D0\u68AF\u6C40\u7887\u798E\u7A0B\u7DE0\u8247\u8A02\u8AE6\u8E44\u9013"], - ["c5a1", "\u90B8\u912D\u91D8\u9F0E\u6CE5\u6458\u64E2\u6575\u6EF4\u7684\u7B1B\u9069\u93D1\u6EBA\u54F2\u5FB9\u64A4\u8F4D\u8FED\u9244\u5178\u586B\u5929\u5C55\u5E97\u6DFB\u7E8F\u751C\u8CBC\u8EE2\u985B\u70B9\u4F1D\u6BBF\u6FB1\u7530\u96FB\u514E\u5410\u5835\u5857\u59AC\u5C60\u5F92\u6597\u675C\u6E21\u767B\u83DF\u8CED\u9014\u90FD\u934D\u7825\u783A\u52AA\u5EA6\u571F\u5974\u6012\u5012\u515A\u51AC\u51CD\u5200\u5510\u5854\u5858\u5957\u5B95\u5CF6\u5D8B\u60BC\u6295\u642D\u6771\u6843\u68BC\u68DF\u76D7\u6DD8\u6E6F\u6D9B\u706F\u71C8\u5F53\u75D8\u7977\u7B49\u7B54\u7B52\u7CD6\u7D71\u5230"], - ["c6a1", "\u8463\u8569\u85E4\u8A0E\u8B04\u8C46\u8E0F\u9003\u900F\u9419\u9676\u982D\u9A30\u95D8\u50CD\u52D5\u540C\u5802\u5C0E\u61A7\u649E\u6D1E\u77B3\u7AE5\u80F4\u8404\u9053\u9285\u5CE0\u9D07\u533F\u5F97\u5FB3\u6D9C\u7279\u7763\u79BF\u7BE4\u6BD2\u72EC\u8AAD\u6803\u6A61\u51F8\u7A81\u6934\u5C4A\u9CF6\u82EB\u5BC5\u9149\u701E\u5678\u5C6F\u60C7\u6566\u6C8C\u8C5A\u9041\u9813\u5451\u66C7\u920D\u5948\u90A3\u5185\u4E4D\u51EA\u8599\u8B0E\u7058\u637A\u934B\u6962\u99B4\u7E04\u7577\u5357\u6960\u8EDF\u96E3\u6C5D\u4E8C\u5C3C\u5F10\u8FE9\u5302\u8CD1\u8089\u8679\u5EFF\u65E5\u4E73\u5165"], - ["c7a1", "\u5982\u5C3F\u97EE\u4EFB\u598A\u5FCD\u8A8D\u6FE1\u79B0\u7962\u5BE7\u8471\u732B\u71B1\u5E74\u5FF5\u637B\u649A\u71C3\u7C98\u4E43\u5EFC\u4E4B\u57DC\u56A2\u60A9\u6FC3\u7D0D\u80FD\u8133\u81BF\u8FB2\u8997\u86A4\u5DF4\u628A\u64AD\u8987\u6777\u6CE2\u6D3E\u7436\u7834\u5A46\u7F75\u82AD\u99AC\u4FF3\u5EC3\u62DD\u6392\u6557\u676F\u76C3\u724C\u80CC\u80BA\u8F29\u914D\u500D\u57F9\u5A92\u6885\u6973\u7164\u72FD\u8CB7\u58F2\u8CE0\u966A\u9019\u877F\u79E4\u77E7\u8429\u4F2F\u5265\u535A\u62CD\u67CF\u6CCA\u767D\u7B94\u7C95\u8236\u8584\u8FEB\u66DD\u6F20\u7206\u7E1B\u83AB\u99C1\u9EA6"], - ["c8a1", "\u51FD\u7BB1\u7872\u7BB8\u8087\u7B48\u6AE8\u5E61\u808C\u7551\u7560\u516B\u9262\u6E8C\u767A\u9197\u9AEA\u4F10\u7F70\u629C\u7B4F\u95A5\u9CE9\u567A\u5859\u86E4\u96BC\u4F34\u5224\u534A\u53CD\u53DB\u5E06\u642C\u6591\u677F\u6C3E\u6C4E\u7248\u72AF\u73ED\u7554\u7E41\u822C\u85E9\u8CA9\u7BC4\u91C6\u7169\u9812\u98EF\u633D\u6669\u756A\u76E4\u78D0\u8543\u86EE\u532A\u5351\u5426\u5983\u5E87\u5F7C\u60B2\u6249\u6279\u62AB\u6590\u6BD4\u6CCC\u75B2\u76AE\u7891\u79D8\u7DCB\u7F77\u80A5\u88AB\u8AB9\u8CBB\u907F\u975E\u98DB\u6A0B\u7C38\u5099\u5C3E\u5FAE\u6787\u6BD8\u7435\u7709\u7F8E"], - ["c9a1", "\u9F3B\u67CA\u7A17\u5339\u758B\u9AED\u5F66\u819D\u83F1\u8098\u5F3C\u5FC5\u7562\u7B46\u903C\u6867\u59EB\u5A9B\u7D10\u767E\u8B2C\u4FF5\u5F6A\u6A19\u6C37\u6F02\u74E2\u7968\u8868\u8A55\u8C79\u5EDF\u63CF\u75C5\u79D2\u82D7\u9328\u92F2\u849C\u86ED\u9C2D\u54C1\u5F6C\u658C\u6D5C\u7015\u8CA7\u8CD3\u983B\u654F\u74F6\u4E0D\u4ED8\u57E0\u592B\u5A66\u5BCC\u51A8\u5E03\u5E9C\u6016\u6276\u6577\u65A7\u666E\u6D6E\u7236\u7B26\u8150\u819A\u8299\u8B5C\u8CA0\u8CE6\u8D74\u961C\u9644\u4FAE\u64AB\u6B66\u821E\u8461\u856A\u90E8\u5C01\u6953\u98A8\u847A\u8557\u4F0F\u526F\u5FA9\u5E45\u670D"], - ["caa1", "\u798F\u8179\u8907\u8986\u6DF5\u5F17\u6255\u6CB8\u4ECF\u7269\u9B92\u5206\u543B\u5674\u58B3\u61A4\u626E\u711A\u596E\u7C89\u7CDE\u7D1B\u96F0\u6587\u805E\u4E19\u4F75\u5175\u5840\u5E63\u5E73\u5F0A\u67C4\u4E26\u853D\u9589\u965B\u7C73\u9801\u50FB\u58C1\u7656\u78A7\u5225\u77A5\u8511\u7B86\u504F\u5909\u7247\u7BC7\u7DE8\u8FBA\u8FD4\u904D\u4FBF\u52C9\u5A29\u5F01\u97AD\u4FDD\u8217\u92EA\u5703\u6355\u6B69\u752B\u88DC\u8F14\u7A42\u52DF\u5893\u6155\u620A\u66AE\u6BCD\u7C3F\u83E9\u5023\u4FF8\u5305\u5446\u5831\u5949\u5B9D\u5CF0\u5CEF\u5D29\u5E96\u62B1\u6367\u653E\u65B9\u670B"], - ["cba1", "\u6CD5\u6CE1\u70F9\u7832\u7E2B\u80DE\u82B3\u840C\u84EC\u8702\u8912\u8A2A\u8C4A\u90A6\u92D2\u98FD\u9CF3\u9D6C\u4E4F\u4EA1\u508D\u5256\u574A\u59A8\u5E3D\u5FD8\u5FD9\u623F\u66B4\u671B\u67D0\u68D2\u5192\u7D21\u80AA\u81A8\u8B00\u8C8C\u8CBF\u927E\u9632\u5420\u982C\u5317\u50D5\u535C\u58A8\u64B2\u6734\u7267\u7766\u7A46\u91E6\u52C3\u6CA1\u6B86\u5800\u5E4C\u5954\u672C\u7FFB\u51E1\u76C6\u6469\u78E8\u9B54\u9EBB\u57CB\u59B9\u6627\u679A\u6BCE\u54E9\u69D9\u5E55\u819C\u6795\u9BAA\u67FE\u9C52\u685D\u4EA6\u4FE3\u53C8\u62B9\u672B\u6CAB\u8FC4\u4FAD\u7E6D\u9EBF\u4E07\u6162\u6E80"], - ["cca1", "\u6F2B\u8513\u5473\u672A\u9B45\u5DF3\u7B95\u5CAC\u5BC6\u871C\u6E4A\u84D1\u7A14\u8108\u5999\u7C8D\u6C11\u7720\u52D9\u5922\u7121\u725F\u77DB\u9727\u9D61\u690B\u5A7F\u5A18\u51A5\u540D\u547D\u660E\u76DF\u8FF7\u9298\u9CF4\u59EA\u725D\u6EC5\u514D\u68C9\u7DBF\u7DEC\u9762\u9EBA\u6478\u6A21\u8302\u5984\u5B5F\u6BDB\u731B\u76F2\u7DB2\u8017\u8499\u5132\u6728\u9ED9\u76EE\u6762\u52FF\u9905\u5C24\u623B\u7C7E\u8CB0\u554F\u60B6\u7D0B\u9580\u5301\u4E5F\u51B6\u591C\u723A\u8036\u91CE\u5F25\u77E2\u5384\u5F79\u7D04\u85AC\u8A33\u8E8D\u9756\u67F3\u85AE\u9453\u6109\u6108\u6CB9\u7652"], - ["cda1", "\u8AED\u8F38\u552F\u4F51\u512A\u52C7\u53CB\u5BA5\u5E7D\u60A0\u6182\u63D6\u6709\u67DA\u6E67\u6D8C\u7336\u7337\u7531\u7950\u88D5\u8A98\u904A\u9091\u90F5\u96C4\u878D\u5915\u4E88\u4F59\u4E0E\u8A89\u8F3F\u9810\u50AD\u5E7C\u5996\u5BB9\u5EB8\u63DA\u63FA\u64C1\u66DC\u694A\u69D8\u6D0B\u6EB6\u7194\u7528\u7AAF\u7F8A\u8000\u8449\u84C9\u8981\u8B21\u8E0A\u9065\u967D\u990A\u617E\u6291\u6B32\u6C83\u6D74\u7FCC\u7FFC\u6DC0\u7F85\u87BA\u88F8\u6765\u83B1\u983C\u96F7\u6D1B\u7D61\u843D\u916A\u4E71\u5375\u5D50\u6B04\u6FEB\u85CD\u862D\u89A7\u5229\u540F\u5C65\u674E\u68A8\u7406\u7483"], - ["cea1", "\u75E2\u88CF\u88E1\u91CC\u96E2\u9678\u5F8B\u7387\u7ACB\u844E\u63A0\u7565\u5289\u6D41\u6E9C\u7409\u7559\u786B\u7C92\u9686\u7ADC\u9F8D\u4FB6\u616E\u65C5\u865C\u4E86\u4EAE\u50DA\u4E21\u51CC\u5BEE\u6599\u6881\u6DBC\u731F\u7642\u77AD\u7A1C\u7CE7\u826F\u8AD2\u907C\u91CF\u9675\u9818\u529B\u7DD1\u502B\u5398\u6797\u6DCB\u71D0\u7433\u81E8\u8F2A\u96A3\u9C57\u9E9F\u7460\u5841\u6D99\u7D2F\u985E\u4EE4\u4F36\u4F8B\u51B7\u52B1\u5DBA\u601C\u73B2\u793C\u82D3\u9234\u96B7\u96F6\u970A\u9E97\u9F62\u66A6\u6B74\u5217\u52A3\u70C8\u88C2\u5EC9\u604B\u6190\u6F23\u7149\u7C3E\u7DF4\u806F"], - ["cfa1", "\u84EE\u9023\u932C\u5442\u9B6F\u6AD3\u7089\u8CC2\u8DEF\u9732\u52B4\u5A41\u5ECA\u5F04\u6717\u697C\u6994\u6D6A\u6F0F\u7262\u72FC\u7BED\u8001\u807E\u874B\u90CE\u516D\u9E93\u7984\u808B\u9332\u8AD6\u502D\u548C\u8A71\u6B6A\u8CC4\u8107\u60D1\u67A0\u9DF2\u4E99\u4E98\u9C10\u8A6B\u85C1\u8568\u6900\u6E7E\u7897\u8155"], - ["d0a1", "\u5F0C\u4E10\u4E15\u4E2A\u4E31\u4E36\u4E3C\u4E3F\u4E42\u4E56\u4E58\u4E82\u4E85\u8C6B\u4E8A\u8212\u5F0D\u4E8E\u4E9E\u4E9F\u4EA0\u4EA2\u4EB0\u4EB3\u4EB6\u4ECE\u4ECD\u4EC4\u4EC6\u4EC2\u4ED7\u4EDE\u4EED\u4EDF\u4EF7\u4F09\u4F5A\u4F30\u4F5B\u4F5D\u4F57\u4F47\u4F76\u4F88\u4F8F\u4F98\u4F7B\u4F69\u4F70\u4F91\u4F6F\u4F86\u4F96\u5118\u4FD4\u4FDF\u4FCE\u4FD8\u4FDB\u4FD1\u4FDA\u4FD0\u4FE4\u4FE5\u501A\u5028\u5014\u502A\u5025\u5005\u4F1C\u4FF6\u5021\u5029\u502C\u4FFE\u4FEF\u5011\u5006\u5043\u5047\u6703\u5055\u5050\u5048\u505A\u5056\u506C\u5078\u5080\u509A\u5085\u50B4\u50B2"], - ["d1a1", "\u50C9\u50CA\u50B3\u50C2\u50D6\u50DE\u50E5\u50ED\u50E3\u50EE\u50F9\u50F5\u5109\u5101\u5102\u5116\u5115\u5114\u511A\u5121\u513A\u5137\u513C\u513B\u513F\u5140\u5152\u514C\u5154\u5162\u7AF8\u5169\u516A\u516E\u5180\u5182\u56D8\u518C\u5189\u518F\u5191\u5193\u5195\u5196\u51A4\u51A6\u51A2\u51A9\u51AA\u51AB\u51B3\u51B1\u51B2\u51B0\u51B5\u51BD\u51C5\u51C9\u51DB\u51E0\u8655\u51E9\u51ED\u51F0\u51F5\u51FE\u5204\u520B\u5214\u520E\u5227\u522A\u522E\u5233\u5239\u524F\u5244\u524B\u524C\u525E\u5254\u526A\u5274\u5269\u5273\u527F\u527D\u528D\u5294\u5292\u5271\u5288\u5291\u8FA8"], - ["d2a1", "\u8FA7\u52AC\u52AD\u52BC\u52B5\u52C1\u52CD\u52D7\u52DE\u52E3\u52E6\u98ED\u52E0\u52F3\u52F5\u52F8\u52F9\u5306\u5308\u7538\u530D\u5310\u530F\u5315\u531A\u5323\u532F\u5331\u5333\u5338\u5340\u5346\u5345\u4E17\u5349\u534D\u51D6\u535E\u5369\u536E\u5918\u537B\u5377\u5382\u5396\u53A0\u53A6\u53A5\u53AE\u53B0\u53B6\u53C3\u7C12\u96D9\u53DF\u66FC\u71EE\u53EE\u53E8\u53ED\u53FA\u5401\u543D\u5440\u542C\u542D\u543C\u542E\u5436\u5429\u541D\u544E\u548F\u5475\u548E\u545F\u5471\u5477\u5470\u5492\u547B\u5480\u5476\u5484\u5490\u5486\u54C7\u54A2\u54B8\u54A5\u54AC\u54C4\u54C8\u54A8"], - ["d3a1", "\u54AB\u54C2\u54A4\u54BE\u54BC\u54D8\u54E5\u54E6\u550F\u5514\u54FD\u54EE\u54ED\u54FA\u54E2\u5539\u5540\u5563\u554C\u552E\u555C\u5545\u5556\u5557\u5538\u5533\u555D\u5599\u5580\u54AF\u558A\u559F\u557B\u557E\u5598\u559E\u55AE\u557C\u5583\u55A9\u5587\u55A8\u55DA\u55C5\u55DF\u55C4\u55DC\u55E4\u55D4\u5614\u55F7\u5616\u55FE\u55FD\u561B\u55F9\u564E\u5650\u71DF\u5634\u5636\u5632\u5638\u566B\u5664\u562F\u566C\u566A\u5686\u5680\u568A\u56A0\u5694\u568F\u56A5\u56AE\u56B6\u56B4\u56C2\u56BC\u56C1\u56C3\u56C0\u56C8\u56CE\u56D1\u56D3\u56D7\u56EE\u56F9\u5700\u56FF\u5704\u5709"], - ["d4a1", "\u5708\u570B\u570D\u5713\u5718\u5716\u55C7\u571C\u5726\u5737\u5738\u574E\u573B\u5740\u574F\u5769\u57C0\u5788\u5761\u577F\u5789\u5793\u57A0\u57B3\u57A4\u57AA\u57B0\u57C3\u57C6\u57D4\u57D2\u57D3\u580A\u57D6\u57E3\u580B\u5819\u581D\u5872\u5821\u5862\u584B\u5870\u6BC0\u5852\u583D\u5879\u5885\u58B9\u589F\u58AB\u58BA\u58DE\u58BB\u58B8\u58AE\u58C5\u58D3\u58D1\u58D7\u58D9\u58D8\u58E5\u58DC\u58E4\u58DF\u58EF\u58FA\u58F9\u58FB\u58FC\u58FD\u5902\u590A\u5910\u591B\u68A6\u5925\u592C\u592D\u5932\u5938\u593E\u7AD2\u5955\u5950\u594E\u595A\u5958\u5962\u5960\u5967\u596C\u5969"], - ["d5a1", "\u5978\u5981\u599D\u4F5E\u4FAB\u59A3\u59B2\u59C6\u59E8\u59DC\u598D\u59D9\u59DA\u5A25\u5A1F\u5A11\u5A1C\u5A09\u5A1A\u5A40\u5A6C\u5A49\u5A35\u5A36\u5A62\u5A6A\u5A9A\u5ABC\u5ABE\u5ACB\u5AC2\u5ABD\u5AE3\u5AD7\u5AE6\u5AE9\u5AD6\u5AFA\u5AFB\u5B0C\u5B0B\u5B16\u5B32\u5AD0\u5B2A\u5B36\u5B3E\u5B43\u5B45\u5B40\u5B51\u5B55\u5B5A\u5B5B\u5B65\u5B69\u5B70\u5B73\u5B75\u5B78\u6588\u5B7A\u5B80\u5B83\u5BA6\u5BB8\u5BC3\u5BC7\u5BC9\u5BD4\u5BD0\u5BE4\u5BE6\u5BE2\u5BDE\u5BE5\u5BEB\u5BF0\u5BF6\u5BF3\u5C05\u5C07\u5C08\u5C0D\u5C13\u5C20\u5C22\u5C28\u5C38\u5C39\u5C41\u5C46\u5C4E\u5C53"], - ["d6a1", "\u5C50\u5C4F\u5B71\u5C6C\u5C6E\u4E62\u5C76\u5C79\u5C8C\u5C91\u5C94\u599B\u5CAB\u5CBB\u5CB6\u5CBC\u5CB7\u5CC5\u5CBE\u5CC7\u5CD9\u5CE9\u5CFD\u5CFA\u5CED\u5D8C\u5CEA\u5D0B\u5D15\u5D17\u5D5C\u5D1F\u5D1B\u5D11\u5D14\u5D22\u5D1A\u5D19\u5D18\u5D4C\u5D52\u5D4E\u5D4B\u5D6C\u5D73\u5D76\u5D87\u5D84\u5D82\u5DA2\u5D9D\u5DAC\u5DAE\u5DBD\u5D90\u5DB7\u5DBC\u5DC9\u5DCD\u5DD3\u5DD2\u5DD6\u5DDB\u5DEB\u5DF2\u5DF5\u5E0B\u5E1A\u5E19\u5E11\u5E1B\u5E36\u5E37\u5E44\u5E43\u5E40\u5E4E\u5E57\u5E54\u5E5F\u5E62\u5E64\u5E47\u5E75\u5E76\u5E7A\u9EBC\u5E7F\u5EA0\u5EC1\u5EC2\u5EC8\u5ED0\u5ECF"], - ["d7a1", "\u5ED6\u5EE3\u5EDD\u5EDA\u5EDB\u5EE2\u5EE1\u5EE8\u5EE9\u5EEC\u5EF1\u5EF3\u5EF0\u5EF4\u5EF8\u5EFE\u5F03\u5F09\u5F5D\u5F5C\u5F0B\u5F11\u5F16\u5F29\u5F2D\u5F38\u5F41\u5F48\u5F4C\u5F4E\u5F2F\u5F51\u5F56\u5F57\u5F59\u5F61\u5F6D\u5F73\u5F77\u5F83\u5F82\u5F7F\u5F8A\u5F88\u5F91\u5F87\u5F9E\u5F99\u5F98\u5FA0\u5FA8\u5FAD\u5FBC\u5FD6\u5FFB\u5FE4\u5FF8\u5FF1\u5FDD\u60B3\u5FFF\u6021\u6060\u6019\u6010\u6029\u600E\u6031\u601B\u6015\u602B\u6026\u600F\u603A\u605A\u6041\u606A\u6077\u605F\u604A\u6046\u604D\u6063\u6043\u6064\u6042\u606C\u606B\u6059\u6081\u608D\u60E7\u6083\u609A"], - ["d8a1", "\u6084\u609B\u6096\u6097\u6092\u60A7\u608B\u60E1\u60B8\u60E0\u60D3\u60B4\u5FF0\u60BD\u60C6\u60B5\u60D8\u614D\u6115\u6106\u60F6\u60F7\u6100\u60F4\u60FA\u6103\u6121\u60FB\u60F1\u610D\u610E\u6147\u613E\u6128\u6127\u614A\u613F\u613C\u612C\u6134\u613D\u6142\u6144\u6173\u6177\u6158\u6159\u615A\u616B\u6174\u616F\u6165\u6171\u615F\u615D\u6153\u6175\u6199\u6196\u6187\u61AC\u6194\u619A\u618A\u6191\u61AB\u61AE\u61CC\u61CA\u61C9\u61F7\u61C8\u61C3\u61C6\u61BA\u61CB\u7F79\u61CD\u61E6\u61E3\u61F6\u61FA\u61F4\u61FF\u61FD\u61FC\u61FE\u6200\u6208\u6209\u620D\u620C\u6214\u621B"], - ["d9a1", "\u621E\u6221\u622A\u622E\u6230\u6232\u6233\u6241\u624E\u625E\u6263\u625B\u6260\u6268\u627C\u6282\u6289\u627E\u6292\u6293\u6296\u62D4\u6283\u6294\u62D7\u62D1\u62BB\u62CF\u62FF\u62C6\u64D4\u62C8\u62DC\u62CC\u62CA\u62C2\u62C7\u629B\u62C9\u630C\u62EE\u62F1\u6327\u6302\u6308\u62EF\u62F5\u6350\u633E\u634D\u641C\u634F\u6396\u638E\u6380\u63AB\u6376\u63A3\u638F\u6389\u639F\u63B5\u636B\u6369\u63BE\u63E9\u63C0\u63C6\u63E3\u63C9\u63D2\u63F6\u63C4\u6416\u6434\u6406\u6413\u6426\u6436\u651D\u6417\u6428\u640F\u6467\u646F\u6476\u644E\u652A\u6495\u6493\u64A5\u64A9\u6488\u64BC"], - ["daa1", "\u64DA\u64D2\u64C5\u64C7\u64BB\u64D8\u64C2\u64F1\u64E7\u8209\u64E0\u64E1\u62AC\u64E3\u64EF\u652C\u64F6\u64F4\u64F2\u64FA\u6500\u64FD\u6518\u651C\u6505\u6524\u6523\u652B\u6534\u6535\u6537\u6536\u6538\u754B\u6548\u6556\u6555\u654D\u6558\u655E\u655D\u6572\u6578\u6582\u6583\u8B8A\u659B\u659F\u65AB\u65B7\u65C3\u65C6\u65C1\u65C4\u65CC\u65D2\u65DB\u65D9\u65E0\u65E1\u65F1\u6772\u660A\u6603\u65FB\u6773\u6635\u6636\u6634\u661C\u664F\u6644\u6649\u6641\u665E\u665D\u6664\u6667\u6668\u665F\u6662\u6670\u6683\u6688\u668E\u6689\u6684\u6698\u669D\u66C1\u66B9\u66C9\u66BE\u66BC"], - ["dba1", "\u66C4\u66B8\u66D6\u66DA\u66E0\u663F\u66E6\u66E9\u66F0\u66F5\u66F7\u670F\u6716\u671E\u6726\u6727\u9738\u672E\u673F\u6736\u6741\u6738\u6737\u6746\u675E\u6760\u6759\u6763\u6764\u6789\u6770\u67A9\u677C\u676A\u678C\u678B\u67A6\u67A1\u6785\u67B7\u67EF\u67B4\u67EC\u67B3\u67E9\u67B8\u67E4\u67DE\u67DD\u67E2\u67EE\u67B9\u67CE\u67C6\u67E7\u6A9C\u681E\u6846\u6829\u6840\u684D\u6832\u684E\u68B3\u682B\u6859\u6863\u6877\u687F\u689F\u688F\u68AD\u6894\u689D\u689B\u6883\u6AAE\u68B9\u6874\u68B5\u68A0\u68BA\u690F\u688D\u687E\u6901\u68CA\u6908\u68D8\u6922\u6926\u68E1\u690C\u68CD"], - ["dca1", "\u68D4\u68E7\u68D5\u6936\u6912\u6904\u68D7\u68E3\u6925\u68F9\u68E0\u68EF\u6928\u692A\u691A\u6923\u6921\u68C6\u6979\u6977\u695C\u6978\u696B\u6954\u697E\u696E\u6939\u6974\u693D\u6959\u6930\u6961\u695E\u695D\u6981\u696A\u69B2\u69AE\u69D0\u69BF\u69C1\u69D3\u69BE\u69CE\u5BE8\u69CA\u69DD\u69BB\u69C3\u69A7\u6A2E\u6991\u69A0\u699C\u6995\u69B4\u69DE\u69E8\u6A02\u6A1B\u69FF\u6B0A\u69F9\u69F2\u69E7\u6A05\u69B1\u6A1E\u69ED\u6A14\u69EB\u6A0A\u6A12\u6AC1\u6A23\u6A13\u6A44\u6A0C\u6A72\u6A36\u6A78\u6A47\u6A62\u6A59\u6A66\u6A48\u6A38\u6A22\u6A90\u6A8D\u6AA0\u6A84\u6AA2\u6AA3"], - ["dda1", "\u6A97\u8617\u6ABB\u6AC3\u6AC2\u6AB8\u6AB3\u6AAC\u6ADE\u6AD1\u6ADF\u6AAA\u6ADA\u6AEA\u6AFB\u6B05\u8616\u6AFA\u6B12\u6B16\u9B31\u6B1F\u6B38\u6B37\u76DC\u6B39\u98EE\u6B47\u6B43\u6B49\u6B50\u6B59\u6B54\u6B5B\u6B5F\u6B61\u6B78\u6B79\u6B7F\u6B80\u6B84\u6B83\u6B8D\u6B98\u6B95\u6B9E\u6BA4\u6BAA\u6BAB\u6BAF\u6BB2\u6BB1\u6BB3\u6BB7\u6BBC\u6BC6\u6BCB\u6BD3\u6BDF\u6BEC\u6BEB\u6BF3\u6BEF\u9EBE\u6C08\u6C13\u6C14\u6C1B\u6C24\u6C23\u6C5E\u6C55\u6C62\u6C6A\u6C82\u6C8D\u6C9A\u6C81\u6C9B\u6C7E\u6C68\u6C73\u6C92\u6C90\u6CC4\u6CF1\u6CD3\u6CBD\u6CD7\u6CC5\u6CDD\u6CAE\u6CB1\u6CBE"], - ["dea1", "\u6CBA\u6CDB\u6CEF\u6CD9\u6CEA\u6D1F\u884D\u6D36\u6D2B\u6D3D\u6D38\u6D19\u6D35\u6D33\u6D12\u6D0C\u6D63\u6D93\u6D64\u6D5A\u6D79\u6D59\u6D8E\u6D95\u6FE4\u6D85\u6DF9\u6E15\u6E0A\u6DB5\u6DC7\u6DE6\u6DB8\u6DC6\u6DEC\u6DDE\u6DCC\u6DE8\u6DD2\u6DC5\u6DFA\u6DD9\u6DE4\u6DD5\u6DEA\u6DEE\u6E2D\u6E6E\u6E2E\u6E19\u6E72\u6E5F\u6E3E\u6E23\u6E6B\u6E2B\u6E76\u6E4D\u6E1F\u6E43\u6E3A\u6E4E\u6E24\u6EFF\u6E1D\u6E38\u6E82\u6EAA\u6E98\u6EC9\u6EB7\u6ED3\u6EBD\u6EAF\u6EC4\u6EB2\u6ED4\u6ED5\u6E8F\u6EA5\u6EC2\u6E9F\u6F41\u6F11\u704C\u6EEC\u6EF8\u6EFE\u6F3F\u6EF2\u6F31\u6EEF\u6F32\u6ECC"], - ["dfa1", "\u6F3E\u6F13\u6EF7\u6F86\u6F7A\u6F78\u6F81\u6F80\u6F6F\u6F5B\u6FF3\u6F6D\u6F82\u6F7C\u6F58\u6F8E\u6F91\u6FC2\u6F66\u6FB3\u6FA3\u6FA1\u6FA4\u6FB9\u6FC6\u6FAA\u6FDF\u6FD5\u6FEC\u6FD4\u6FD8\u6FF1\u6FEE\u6FDB\u7009\u700B\u6FFA\u7011\u7001\u700F\u6FFE\u701B\u701A\u6F74\u701D\u7018\u701F\u7030\u703E\u7032\u7051\u7063\u7099\u7092\u70AF\u70F1\u70AC\u70B8\u70B3\u70AE\u70DF\u70CB\u70DD\u70D9\u7109\u70FD\u711C\u7119\u7165\u7155\u7188\u7166\u7162\u714C\u7156\u716C\u718F\u71FB\u7184\u7195\u71A8\u71AC\u71D7\u71B9\u71BE\u71D2\u71C9\u71D4\u71CE\u71E0\u71EC\u71E7\u71F5\u71FC"], - ["e0a1", "\u71F9\u71FF\u720D\u7210\u721B\u7228\u722D\u722C\u7230\u7232\u723B\u723C\u723F\u7240\u7246\u724B\u7258\u7274\u727E\u7282\u7281\u7287\u7292\u7296\u72A2\u72A7\u72B9\u72B2\u72C3\u72C6\u72C4\u72CE\u72D2\u72E2\u72E0\u72E1\u72F9\u72F7\u500F\u7317\u730A\u731C\u7316\u731D\u7334\u732F\u7329\u7325\u733E\u734E\u734F\u9ED8\u7357\u736A\u7368\u7370\u7378\u7375\u737B\u737A\u73C8\u73B3\u73CE\u73BB\u73C0\u73E5\u73EE\u73DE\u74A2\u7405\u746F\u7425\u73F8\u7432\u743A\u7455\u743F\u745F\u7459\u7441\u745C\u7469\u7470\u7463\u746A\u7476\u747E\u748B\u749E\u74A7\u74CA\u74CF\u74D4\u73F1"], - ["e1a1", "\u74E0\u74E3\u74E7\u74E9\u74EE\u74F2\u74F0\u74F1\u74F8\u74F7\u7504\u7503\u7505\u750C\u750E\u750D\u7515\u7513\u751E\u7526\u752C\u753C\u7544\u754D\u754A\u7549\u755B\u7546\u755A\u7569\u7564\u7567\u756B\u756D\u7578\u7576\u7586\u7587\u7574\u758A\u7589\u7582\u7594\u759A\u759D\u75A5\u75A3\u75C2\u75B3\u75C3\u75B5\u75BD\u75B8\u75BC\u75B1\u75CD\u75CA\u75D2\u75D9\u75E3\u75DE\u75FE\u75FF\u75FC\u7601\u75F0\u75FA\u75F2\u75F3\u760B\u760D\u7609\u761F\u7627\u7620\u7621\u7622\u7624\u7634\u7630\u763B\u7647\u7648\u7646\u765C\u7658\u7661\u7662\u7668\u7669\u766A\u7667\u766C\u7670"], - ["e2a1", "\u7672\u7676\u7678\u767C\u7680\u7683\u7688\u768B\u768E\u7696\u7693\u7699\u769A\u76B0\u76B4\u76B8\u76B9\u76BA\u76C2\u76CD\u76D6\u76D2\u76DE\u76E1\u76E5\u76E7\u76EA\u862F\u76FB\u7708\u7707\u7704\u7729\u7724\u771E\u7725\u7726\u771B\u7737\u7738\u7747\u775A\u7768\u776B\u775B\u7765\u777F\u777E\u7779\u778E\u778B\u7791\u77A0\u779E\u77B0\u77B6\u77B9\u77BF\u77BC\u77BD\u77BB\u77C7\u77CD\u77D7\u77DA\u77DC\u77E3\u77EE\u77FC\u780C\u7812\u7926\u7820\u792A\u7845\u788E\u7874\u7886\u787C\u789A\u788C\u78A3\u78B5\u78AA\u78AF\u78D1\u78C6\u78CB\u78D4\u78BE\u78BC\u78C5\u78CA\u78EC"], - ["e3a1", "\u78E7\u78DA\u78FD\u78F4\u7907\u7912\u7911\u7919\u792C\u792B\u7940\u7960\u7957\u795F\u795A\u7955\u7953\u797A\u797F\u798A\u799D\u79A7\u9F4B\u79AA\u79AE\u79B3\u79B9\u79BA\u79C9\u79D5\u79E7\u79EC\u79E1\u79E3\u7A08\u7A0D\u7A18\u7A19\u7A20\u7A1F\u7980\u7A31\u7A3B\u7A3E\u7A37\u7A43\u7A57\u7A49\u7A61\u7A62\u7A69\u9F9D\u7A70\u7A79\u7A7D\u7A88\u7A97\u7A95\u7A98\u7A96\u7AA9\u7AC8\u7AB0\u7AB6\u7AC5\u7AC4\u7ABF\u9083\u7AC7\u7ACA\u7ACD\u7ACF\u7AD5\u7AD3\u7AD9\u7ADA\u7ADD\u7AE1\u7AE2\u7AE6\u7AED\u7AF0\u7B02\u7B0F\u7B0A\u7B06\u7B33\u7B18\u7B19\u7B1E\u7B35\u7B28\u7B36\u7B50"], - ["e4a1", "\u7B7A\u7B04\u7B4D\u7B0B\u7B4C\u7B45\u7B75\u7B65\u7B74\u7B67\u7B70\u7B71\u7B6C\u7B6E\u7B9D\u7B98\u7B9F\u7B8D\u7B9C\u7B9A\u7B8B\u7B92\u7B8F\u7B5D\u7B99\u7BCB\u7BC1\u7BCC\u7BCF\u7BB4\u7BC6\u7BDD\u7BE9\u7C11\u7C14\u7BE6\u7BE5\u7C60\u7C00\u7C07\u7C13\u7BF3\u7BF7\u7C17\u7C0D\u7BF6\u7C23\u7C27\u7C2A\u7C1F\u7C37\u7C2B\u7C3D\u7C4C\u7C43\u7C54\u7C4F\u7C40\u7C50\u7C58\u7C5F\u7C64\u7C56\u7C65\u7C6C\u7C75\u7C83\u7C90\u7CA4\u7CAD\u7CA2\u7CAB\u7CA1\u7CA8\u7CB3\u7CB2\u7CB1\u7CAE\u7CB9\u7CBD\u7CC0\u7CC5\u7CC2\u7CD8\u7CD2\u7CDC\u7CE2\u9B3B\u7CEF\u7CF2\u7CF4\u7CF6\u7CFA\u7D06"], - ["e5a1", "\u7D02\u7D1C\u7D15\u7D0A\u7D45\u7D4B\u7D2E\u7D32\u7D3F\u7D35\u7D46\u7D73\u7D56\u7D4E\u7D72\u7D68\u7D6E\u7D4F\u7D63\u7D93\u7D89\u7D5B\u7D8F\u7D7D\u7D9B\u7DBA\u7DAE\u7DA3\u7DB5\u7DC7\u7DBD\u7DAB\u7E3D\u7DA2\u7DAF\u7DDC\u7DB8\u7D9F\u7DB0\u7DD8\u7DDD\u7DE4\u7DDE\u7DFB\u7DF2\u7DE1\u7E05\u7E0A\u7E23\u7E21\u7E12\u7E31\u7E1F\u7E09\u7E0B\u7E22\u7E46\u7E66\u7E3B\u7E35\u7E39\u7E43\u7E37\u7E32\u7E3A\u7E67\u7E5D\u7E56\u7E5E\u7E59\u7E5A\u7E79\u7E6A\u7E69\u7E7C\u7E7B\u7E83\u7DD5\u7E7D\u8FAE\u7E7F\u7E88\u7E89\u7E8C\u7E92\u7E90\u7E93\u7E94\u7E96\u7E8E\u7E9B\u7E9C\u7F38\u7F3A"], - ["e6a1", "\u7F45\u7F4C\u7F4D\u7F4E\u7F50\u7F51\u7F55\u7F54\u7F58\u7F5F\u7F60\u7F68\u7F69\u7F67\u7F78\u7F82\u7F86\u7F83\u7F88\u7F87\u7F8C\u7F94\u7F9E\u7F9D\u7F9A\u7FA3\u7FAF\u7FB2\u7FB9\u7FAE\u7FB6\u7FB8\u8B71\u7FC5\u7FC6\u7FCA\u7FD5\u7FD4\u7FE1\u7FE6\u7FE9\u7FF3\u7FF9\u98DC\u8006\u8004\u800B\u8012\u8018\u8019\u801C\u8021\u8028\u803F\u803B\u804A\u8046\u8052\u8058\u805A\u805F\u8062\u8068\u8073\u8072\u8070\u8076\u8079\u807D\u807F\u8084\u8086\u8085\u809B\u8093\u809A\u80AD\u5190\u80AC\u80DB\u80E5\u80D9\u80DD\u80C4\u80DA\u80D6\u8109\u80EF\u80F1\u811B\u8129\u8123\u812F\u814B"], - ["e7a1", "\u968B\u8146\u813E\u8153\u8151\u80FC\u8171\u816E\u8165\u8166\u8174\u8183\u8188\u818A\u8180\u8182\u81A0\u8195\u81A4\u81A3\u815F\u8193\u81A9\u81B0\u81B5\u81BE\u81B8\u81BD\u81C0\u81C2\u81BA\u81C9\u81CD\u81D1\u81D9\u81D8\u81C8\u81DA\u81DF\u81E0\u81E7\u81FA\u81FB\u81FE\u8201\u8202\u8205\u8207\u820A\u820D\u8210\u8216\u8229\u822B\u8238\u8233\u8240\u8259\u8258\u825D\u825A\u825F\u8264\u8262\u8268\u826A\u826B\u822E\u8271\u8277\u8278\u827E\u828D\u8292\u82AB\u829F\u82BB\u82AC\u82E1\u82E3\u82DF\u82D2\u82F4\u82F3\u82FA\u8393\u8303\u82FB\u82F9\u82DE\u8306\u82DC\u8309\u82D9"], - ["e8a1", "\u8335\u8334\u8316\u8332\u8331\u8340\u8339\u8350\u8345\u832F\u832B\u8317\u8318\u8385\u839A\u83AA\u839F\u83A2\u8396\u8323\u838E\u8387\u838A\u837C\u83B5\u8373\u8375\u83A0\u8389\u83A8\u83F4\u8413\u83EB\u83CE\u83FD\u8403\u83D8\u840B\u83C1\u83F7\u8407\u83E0\u83F2\u840D\u8422\u8420\u83BD\u8438\u8506\u83FB\u846D\u842A\u843C\u855A\u8484\u8477\u846B\u84AD\u846E\u8482\u8469\u8446\u842C\u846F\u8479\u8435\u84CA\u8462\u84B9\u84BF\u849F\u84D9\u84CD\u84BB\u84DA\u84D0\u84C1\u84C6\u84D6\u84A1\u8521\u84FF\u84F4\u8517\u8518\u852C\u851F\u8515\u8514\u84FC\u8540\u8563\u8558\u8548"], - ["e9a1", "\u8541\u8602\u854B\u8555\u8580\u85A4\u8588\u8591\u858A\u85A8\u856D\u8594\u859B\u85EA\u8587\u859C\u8577\u857E\u8590\u85C9\u85BA\u85CF\u85B9\u85D0\u85D5\u85DD\u85E5\u85DC\u85F9\u860A\u8613\u860B\u85FE\u85FA\u8606\u8622\u861A\u8630\u863F\u864D\u4E55\u8654\u865F\u8667\u8671\u8693\u86A3\u86A9\u86AA\u868B\u868C\u86B6\u86AF\u86C4\u86C6\u86B0\u86C9\u8823\u86AB\u86D4\u86DE\u86E9\u86EC\u86DF\u86DB\u86EF\u8712\u8706\u8708\u8700\u8703\u86FB\u8711\u8709\u870D\u86F9\u870A\u8734\u873F\u8737\u873B\u8725\u8729\u871A\u8760\u875F\u8778\u874C\u874E\u8774\u8757\u8768\u876E\u8759"], - ["eaa1", "\u8753\u8763\u876A\u8805\u87A2\u879F\u8782\u87AF\u87CB\u87BD\u87C0\u87D0\u96D6\u87AB\u87C4\u87B3\u87C7\u87C6\u87BB\u87EF\u87F2\u87E0\u880F\u880D\u87FE\u87F6\u87F7\u880E\u87D2\u8811\u8816\u8815\u8822\u8821\u8831\u8836\u8839\u8827\u883B\u8844\u8842\u8852\u8859\u885E\u8862\u886B\u8881\u887E\u889E\u8875\u887D\u88B5\u8872\u8882\u8897\u8892\u88AE\u8899\u88A2\u888D\u88A4\u88B0\u88BF\u88B1\u88C3\u88C4\u88D4\u88D8\u88D9\u88DD\u88F9\u8902\u88FC\u88F4\u88E8\u88F2\u8904\u890C\u890A\u8913\u8943\u891E\u8925\u892A\u892B\u8941\u8944\u893B\u8936\u8938\u894C\u891D\u8960\u895E"], - ["eba1", "\u8966\u8964\u896D\u896A\u896F\u8974\u8977\u897E\u8983\u8988\u898A\u8993\u8998\u89A1\u89A9\u89A6\u89AC\u89AF\u89B2\u89BA\u89BD\u89BF\u89C0\u89DA\u89DC\u89DD\u89E7\u89F4\u89F8\u8A03\u8A16\u8A10\u8A0C\u8A1B\u8A1D\u8A25\u8A36\u8A41\u8A5B\u8A52\u8A46\u8A48\u8A7C\u8A6D\u8A6C\u8A62\u8A85\u8A82\u8A84\u8AA8\u8AA1\u8A91\u8AA5\u8AA6\u8A9A\u8AA3\u8AC4\u8ACD\u8AC2\u8ADA\u8AEB\u8AF3\u8AE7\u8AE4\u8AF1\u8B14\u8AE0\u8AE2\u8AF7\u8ADE\u8ADB\u8B0C\u8B07\u8B1A\u8AE1\u8B16\u8B10\u8B17\u8B20\u8B33\u97AB\u8B26\u8B2B\u8B3E\u8B28\u8B41\u8B4C\u8B4F\u8B4E\u8B49\u8B56\u8B5B\u8B5A\u8B6B"], - ["eca1", "\u8B5F\u8B6C\u8B6F\u8B74\u8B7D\u8B80\u8B8C\u8B8E\u8B92\u8B93\u8B96\u8B99\u8B9A\u8C3A\u8C41\u8C3F\u8C48\u8C4C\u8C4E\u8C50\u8C55\u8C62\u8C6C\u8C78\u8C7A\u8C82\u8C89\u8C85\u8C8A\u8C8D\u8C8E\u8C94\u8C7C\u8C98\u621D\u8CAD\u8CAA\u8CBD\u8CB2\u8CB3\u8CAE\u8CB6\u8CC8\u8CC1\u8CE4\u8CE3\u8CDA\u8CFD\u8CFA\u8CFB\u8D04\u8D05\u8D0A\u8D07\u8D0F\u8D0D\u8D10\u9F4E\u8D13\u8CCD\u8D14\u8D16\u8D67\u8D6D\u8D71\u8D73\u8D81\u8D99\u8DC2\u8DBE\u8DBA\u8DCF\u8DDA\u8DD6\u8DCC\u8DDB\u8DCB\u8DEA\u8DEB\u8DDF\u8DE3\u8DFC\u8E08\u8E09\u8DFF\u8E1D\u8E1E\u8E10\u8E1F\u8E42\u8E35\u8E30\u8E34\u8E4A"], - ["eda1", "\u8E47\u8E49\u8E4C\u8E50\u8E48\u8E59\u8E64\u8E60\u8E2A\u8E63\u8E55\u8E76\u8E72\u8E7C\u8E81\u8E87\u8E85\u8E84\u8E8B\u8E8A\u8E93\u8E91\u8E94\u8E99\u8EAA\u8EA1\u8EAC\u8EB0\u8EC6\u8EB1\u8EBE\u8EC5\u8EC8\u8ECB\u8EDB\u8EE3\u8EFC\u8EFB\u8EEB\u8EFE\u8F0A\u8F05\u8F15\u8F12\u8F19\u8F13\u8F1C\u8F1F\u8F1B\u8F0C\u8F26\u8F33\u8F3B\u8F39\u8F45\u8F42\u8F3E\u8F4C\u8F49\u8F46\u8F4E\u8F57\u8F5C\u8F62\u8F63\u8F64\u8F9C\u8F9F\u8FA3\u8FAD\u8FAF\u8FB7\u8FDA\u8FE5\u8FE2\u8FEA\u8FEF\u9087\u8FF4\u9005\u8FF9\u8FFA\u9011\u9015\u9021\u900D\u901E\u9016\u900B\u9027\u9036\u9035\u9039\u8FF8"], - ["eea1", "\u904F\u9050\u9051\u9052\u900E\u9049\u903E\u9056\u9058\u905E\u9068\u906F\u9076\u96A8\u9072\u9082\u907D\u9081\u9080\u908A\u9089\u908F\u90A8\u90AF\u90B1\u90B5\u90E2\u90E4\u6248\u90DB\u9102\u9112\u9119\u9132\u9130\u914A\u9156\u9158\u9163\u9165\u9169\u9173\u9172\u918B\u9189\u9182\u91A2\u91AB\u91AF\u91AA\u91B5\u91B4\u91BA\u91C0\u91C1\u91C9\u91CB\u91D0\u91D6\u91DF\u91E1\u91DB\u91FC\u91F5\u91F6\u921E\u91FF\u9214\u922C\u9215\u9211\u925E\u9257\u9245\u9249\u9264\u9248\u9295\u923F\u924B\u9250\u929C\u9296\u9293\u929B\u925A\u92CF\u92B9\u92B7\u92E9\u930F\u92FA\u9344\u932E"], - ["efa1", "\u9319\u9322\u931A\u9323\u933A\u9335\u933B\u935C\u9360\u937C\u936E\u9356\u93B0\u93AC\u93AD\u9394\u93B9\u93D6\u93D7\u93E8\u93E5\u93D8\u93C3\u93DD\u93D0\u93C8\u93E4\u941A\u9414\u9413\u9403\u9407\u9410\u9436\u942B\u9435\u9421\u943A\u9441\u9452\u9444\u945B\u9460\u9462\u945E\u946A\u9229\u9470\u9475\u9477\u947D\u945A\u947C\u947E\u9481\u947F\u9582\u9587\u958A\u9594\u9596\u9598\u9599\u95A0\u95A8\u95A7\u95AD\u95BC\u95BB\u95B9\u95BE\u95CA\u6FF6\u95C3\u95CD\u95CC\u95D5\u95D4\u95D6\u95DC\u95E1\u95E5\u95E2\u9621\u9628\u962E\u962F\u9642\u964C\u964F\u964B\u9677\u965C\u965E"], - ["f0a1", "\u965D\u965F\u9666\u9672\u966C\u968D\u9698\u9695\u9697\u96AA\u96A7\u96B1\u96B2\u96B0\u96B4\u96B6\u96B8\u96B9\u96CE\u96CB\u96C9\u96CD\u894D\u96DC\u970D\u96D5\u96F9\u9704\u9706\u9708\u9713\u970E\u9711\u970F\u9716\u9719\u9724\u972A\u9730\u9739\u973D\u973E\u9744\u9746\u9748\u9742\u9749\u975C\u9760\u9764\u9766\u9768\u52D2\u976B\u9771\u9779\u9785\u977C\u9781\u977A\u9786\u978B\u978F\u9790\u979C\u97A8\u97A6\u97A3\u97B3\u97B4\u97C3\u97C6\u97C8\u97CB\u97DC\u97ED\u9F4F\u97F2\u7ADF\u97F6\u97F5\u980F\u980C\u9838\u9824\u9821\u9837\u983D\u9846\u984F\u984B\u986B\u986F\u9870"], - ["f1a1", "\u9871\u9874\u9873\u98AA\u98AF\u98B1\u98B6\u98C4\u98C3\u98C6\u98E9\u98EB\u9903\u9909\u9912\u9914\u9918\u9921\u991D\u991E\u9924\u9920\u992C\u992E\u993D\u993E\u9942\u9949\u9945\u9950\u994B\u9951\u9952\u994C\u9955\u9997\u9998\u99A5\u99AD\u99AE\u99BC\u99DF\u99DB\u99DD\u99D8\u99D1\u99ED\u99EE\u99F1\u99F2\u99FB\u99F8\u9A01\u9A0F\u9A05\u99E2\u9A19\u9A2B\u9A37\u9A45\u9A42\u9A40\u9A43\u9A3E\u9A55\u9A4D\u9A5B\u9A57\u9A5F\u9A62\u9A65\u9A64\u9A69\u9A6B\u9A6A\u9AAD\u9AB0\u9ABC\u9AC0\u9ACF\u9AD1\u9AD3\u9AD4\u9ADE\u9ADF\u9AE2\u9AE3\u9AE6\u9AEF\u9AEB\u9AEE\u9AF4\u9AF1\u9AF7"], - ["f2a1", "\u9AFB\u9B06\u9B18\u9B1A\u9B1F\u9B22\u9B23\u9B25\u9B27\u9B28\u9B29\u9B2A\u9B2E\u9B2F\u9B32\u9B44\u9B43\u9B4F\u9B4D\u9B4E\u9B51\u9B58\u9B74\u9B93\u9B83\u9B91\u9B96\u9B97\u9B9F\u9BA0\u9BA8\u9BB4\u9BC0\u9BCA\u9BB9\u9BC6\u9BCF\u9BD1\u9BD2\u9BE3\u9BE2\u9BE4\u9BD4\u9BE1\u9C3A\u9BF2\u9BF1\u9BF0\u9C15\u9C14\u9C09\u9C13\u9C0C\u9C06\u9C08\u9C12\u9C0A\u9C04\u9C2E\u9C1B\u9C25\u9C24\u9C21\u9C30\u9C47\u9C32\u9C46\u9C3E\u9C5A\u9C60\u9C67\u9C76\u9C78\u9CE7\u9CEC\u9CF0\u9D09\u9D08\u9CEB\u9D03\u9D06\u9D2A\u9D26\u9DAF\u9D23\u9D1F\u9D44\u9D15\u9D12\u9D41\u9D3F\u9D3E\u9D46\u9D48"], - ["f3a1", "\u9D5D\u9D5E\u9D64\u9D51\u9D50\u9D59\u9D72\u9D89\u9D87\u9DAB\u9D6F\u9D7A\u9D9A\u9DA4\u9DA9\u9DB2\u9DC4\u9DC1\u9DBB\u9DB8\u9DBA\u9DC6\u9DCF\u9DC2\u9DD9\u9DD3\u9DF8\u9DE6\u9DED\u9DEF\u9DFD\u9E1A\u9E1B\u9E1E\u9E75\u9E79\u9E7D\u9E81\u9E88\u9E8B\u9E8C\u9E92\u9E95\u9E91\u9E9D\u9EA5\u9EA9\u9EB8\u9EAA\u9EAD\u9761\u9ECC\u9ECE\u9ECF\u9ED0\u9ED4\u9EDC\u9EDE\u9EDD\u9EE0\u9EE5\u9EE8\u9EEF\u9EF4\u9EF6\u9EF7\u9EF9\u9EFB\u9EFC\u9EFD\u9F07\u9F08\u76B7\u9F15\u9F21\u9F2C\u9F3E\u9F4A\u9F52\u9F54\u9F63\u9F5F\u9F60\u9F61\u9F66\u9F67\u9F6C\u9F6A\u9F77\u9F72\u9F76\u9F95\u9F9C\u9FA0"], - ["f4a1", "\u582F\u69C7\u9059\u7464\u51DC\u7199"], - ["f9a1", "\u7E8A\u891C\u9348\u9288\u84DC\u4FC9\u70BB\u6631\u68C8\u92F9\u66FB\u5F45\u4E28\u4EE1\u4EFC\u4F00\u4F03\u4F39\u4F56\u4F92\u4F8A\u4F9A\u4F94\u4FCD\u5040\u5022\u4FFF\u501E\u5046\u5070\u5042\u5094\u50F4\u50D8\u514A\u5164\u519D\u51BE\u51EC\u5215\u529C\u52A6\u52C0\u52DB\u5300\u5307\u5324\u5372\u5393\u53B2\u53DD\uFA0E\u549C\u548A\u54A9\u54FF\u5586\u5759\u5765\u57AC\u57C8\u57C7\uFA0F\uFA10\u589E\u58B2\u590B\u5953\u595B\u595D\u5963\u59A4\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7"], - ["faa1", "\u5FDE\u605D\u6085\u608A\u60DE\u60D5\u6120\u60F2\u6111\u6137\u6130\u6198\u6213\u62A6\u63F5\u6460\u649D\u64CE\u654E\u6600\u6615\u663B\u6609\u662E\u661E\u6624\u6665\u6657\u6659\uFA12\u6673\u6699\u66A0\u66B2\u66BF\u66FA\u670E\uF929\u6766\u67BB\u6852\u67C0\u6801\u6844\u68CF\uFA13\u6968\uFA14\u6998\u69E2\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007\u7028\u7085\u70AB\u710F\u7104\u715C\u7146\u7147\uFA15\u71C1\u71FE\u72B1"], - ["fba1", "\u72BE\u7324\uFA16\u7377\u73BD\u73C9\u73D6\u73E3\u73D2\u7407\u73F5\u7426\u742A\u7429\u742E\u7462\u7489\u749F\u7501\u756F\u7682\u769C\u769E\u769B\u76A6\uFA17\u7746\u52AF\u7821\u784E\u7864\u787A\u7930\uFA18\uFA19\uFA1A\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47\u7FA1\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448\u84B4\u8553\u8559\u856B\uFA1F\u85B0\uFA20\uFA21\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE\u8ADF\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12\u8D76\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26\u9115\u9127\u91DA"], - ["fca1", "\u91D7\u91DE\u91ED\u91EE\u91E4\u91E5\u9206\u9210\u920A\u923A\u9240\u923C\u924E\u9259\u9251\u9239\u9267\u92A7\u9277\u9278\u92E7\u92D7\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3\u9325\u9321\u92FB\uFA28\u931E\u92FF\u931D\u9302\u9370\u9357\u93A4\u93C6\u93DE\u93F8\u9431\u9445\u9448\u9592\uF9DC\uFA29\u969D\u96AF\u9733\u973B\u9743\u974D\u974F\u9751\u9755\u9857\u9865\uFA2A\uFA2B\u9927\uFA2C\u999E\u9A4E\u9AD9\u9ADC\u9B75\u9B72\u9B8F\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19\u9ED1"], - ["fcf1", "\u2170", 9, "\uFFE2\uFFE4\uFF07\uFF02"], - ["8fa2af", "\u02D8\u02C7\xB8\u02D9\u02DD\xAF\u02DB\u02DA\uFF5E\u0384\u0385"], - ["8fa2c2", "\xA1\xA6\xBF"], - ["8fa2eb", "\xBA\xAA\xA9\xAE\u2122\xA4\u2116"], - ["8fa6e1", "\u0386\u0388\u0389\u038A\u03AA"], - ["8fa6e7", "\u038C"], - ["8fa6e9", "\u038E\u03AB"], - ["8fa6ec", "\u038F"], - ["8fa6f1", "\u03AC\u03AD\u03AE\u03AF\u03CA\u0390\u03CC\u03C2\u03CD\u03CB\u03B0\u03CE"], - ["8fa7c2", "\u0402", 10, "\u040E\u040F"], - ["8fa7f2", "\u0452", 10, "\u045E\u045F"], - ["8fa9a1", "\xC6\u0110"], - ["8fa9a4", "\u0126"], - ["8fa9a6", "\u0132"], - ["8fa9a8", "\u0141\u013F"], - ["8fa9ab", "\u014A\xD8\u0152"], - ["8fa9af", "\u0166\xDE"], - ["8fa9c1", "\xE6\u0111\xF0\u0127\u0131\u0133\u0138\u0142\u0140\u0149\u014B\xF8\u0153\xDF\u0167\xFE"], - ["8faaa1", "\xC1\xC0\xC4\xC2\u0102\u01CD\u0100\u0104\xC5\xC3\u0106\u0108\u010C\xC7\u010A\u010E\xC9\xC8\xCB\xCA\u011A\u0116\u0112\u0118"], - ["8faaba", "\u011C\u011E\u0122\u0120\u0124\xCD\xCC\xCF\xCE\u01CF\u0130\u012A\u012E\u0128\u0134\u0136\u0139\u013D\u013B\u0143\u0147\u0145\xD1\xD3\xD2\xD6\xD4\u01D1\u0150\u014C\xD5\u0154\u0158\u0156\u015A\u015C\u0160\u015E\u0164\u0162\xDA\xD9\xDC\xDB\u016C\u01D3\u0170\u016A\u0172\u016E\u0168\u01D7\u01DB\u01D9\u01D5\u0174\xDD\u0178\u0176\u0179\u017D\u017B"], - ["8faba1", "\xE1\xE0\xE4\xE2\u0103\u01CE\u0101\u0105\xE5\xE3\u0107\u0109\u010D\xE7\u010B\u010F\xE9\xE8\xEB\xEA\u011B\u0117\u0113\u0119\u01F5\u011D\u011F"], - ["8fabbd", "\u0121\u0125\xED\xEC\xEF\xEE\u01D0"], - ["8fabc5", "\u012B\u012F\u0129\u0135\u0137\u013A\u013E\u013C\u0144\u0148\u0146\xF1\xF3\xF2\xF6\xF4\u01D2\u0151\u014D\xF5\u0155\u0159\u0157\u015B\u015D\u0161\u015F\u0165\u0163\xFA\xF9\xFC\xFB\u016D\u01D4\u0171\u016B\u0173\u016F\u0169\u01D8\u01DC\u01DA\u01D6\u0175\xFD\xFF\u0177\u017A\u017E\u017C"], - ["8fb0a1", "\u4E02\u4E04\u4E05\u4E0C\u4E12\u4E1F\u4E23\u4E24\u4E28\u4E2B\u4E2E\u4E2F\u4E30\u4E35\u4E40\u4E41\u4E44\u4E47\u4E51\u4E5A\u4E5C\u4E63\u4E68\u4E69\u4E74\u4E75\u4E79\u4E7F\u4E8D\u4E96\u4E97\u4E9D\u4EAF\u4EB9\u4EC3\u4ED0\u4EDA\u4EDB\u4EE0\u4EE1\u4EE2\u4EE8\u4EEF\u4EF1\u4EF3\u4EF5\u4EFD\u4EFE\u4EFF\u4F00\u4F02\u4F03\u4F08\u4F0B\u4F0C\u4F12\u4F15\u4F16\u4F17\u4F19\u4F2E\u4F31\u4F60\u4F33\u4F35\u4F37\u4F39\u4F3B\u4F3E\u4F40\u4F42\u4F48\u4F49\u4F4B\u4F4C\u4F52\u4F54\u4F56\u4F58\u4F5F\u4F63\u4F6A\u4F6C\u4F6E\u4F71\u4F77\u4F78\u4F79\u4F7A\u4F7D\u4F7E\u4F81\u4F82\u4F84"], - ["8fb1a1", "\u4F85\u4F89\u4F8A\u4F8C\u4F8E\u4F90\u4F92\u4F93\u4F94\u4F97\u4F99\u4F9A\u4F9E\u4F9F\u4FB2\u4FB7\u4FB9\u4FBB\u4FBC\u4FBD\u4FBE\u4FC0\u4FC1\u4FC5\u4FC6\u4FC8\u4FC9\u4FCB\u4FCC\u4FCD\u4FCF\u4FD2\u4FDC\u4FE0\u4FE2\u4FF0\u4FF2\u4FFC\u4FFD\u4FFF\u5000\u5001\u5004\u5007\u500A\u500C\u500E\u5010\u5013\u5017\u5018\u501B\u501C\u501D\u501E\u5022\u5027\u502E\u5030\u5032\u5033\u5035\u5040\u5041\u5042\u5045\u5046\u504A\u504C\u504E\u5051\u5052\u5053\u5057\u5059\u505F\u5060\u5062\u5063\u5066\u5067\u506A\u506D\u5070\u5071\u503B\u5081\u5083\u5084\u5086\u508A\u508E\u508F\u5090"], - ["8fb2a1", "\u5092\u5093\u5094\u5096\u509B\u509C\u509E", 4, "\u50AA\u50AF\u50B0\u50B9\u50BA\u50BD\u50C0\u50C3\u50C4\u50C7\u50CC\u50CE\u50D0\u50D3\u50D4\u50D8\u50DC\u50DD\u50DF\u50E2\u50E4\u50E6\u50E8\u50E9\u50EF\u50F1\u50F6\u50FA\u50FE\u5103\u5106\u5107\u5108\u510B\u510C\u510D\u510E\u50F2\u5110\u5117\u5119\u511B\u511C\u511D\u511E\u5123\u5127\u5128\u512C\u512D\u512F\u5131\u5133\u5134\u5135\u5138\u5139\u5142\u514A\u514F\u5153\u5155\u5157\u5158\u515F\u5164\u5166\u517E\u5183\u5184\u518B\u518E\u5198\u519D\u51A1\u51A3\u51AD\u51B8\u51BA\u51BC\u51BE\u51BF\u51C2"], - ["8fb3a1", "\u51C8\u51CF\u51D1\u51D2\u51D3\u51D5\u51D8\u51DE\u51E2\u51E5\u51EE\u51F2\u51F3\u51F4\u51F7\u5201\u5202\u5205\u5212\u5213\u5215\u5216\u5218\u5222\u5228\u5231\u5232\u5235\u523C\u5245\u5249\u5255\u5257\u5258\u525A\u525C\u525F\u5260\u5261\u5266\u526E\u5277\u5278\u5279\u5280\u5282\u5285\u528A\u528C\u5293\u5295\u5296\u5297\u5298\u529A\u529C\u52A4\u52A5\u52A6\u52A7\u52AF\u52B0\u52B6\u52B7\u52B8\u52BA\u52BB\u52BD\u52C0\u52C4\u52C6\u52C8\u52CC\u52CF\u52D1\u52D4\u52D6\u52DB\u52DC\u52E1\u52E5\u52E8\u52E9\u52EA\u52EC\u52F0\u52F1\u52F4\u52F6\u52F7\u5300\u5303\u530A\u530B"], - ["8fb4a1", "\u530C\u5311\u5313\u5318\u531B\u531C\u531E\u531F\u5325\u5327\u5328\u5329\u532B\u532C\u532D\u5330\u5332\u5335\u533C\u533D\u533E\u5342\u534C\u534B\u5359\u535B\u5361\u5363\u5365\u536C\u536D\u5372\u5379\u537E\u5383\u5387\u5388\u538E\u5393\u5394\u5399\u539D\u53A1\u53A4\u53AA\u53AB\u53AF\u53B2\u53B4\u53B5\u53B7\u53B8\u53BA\u53BD\u53C0\u53C5\u53CF\u53D2\u53D3\u53D5\u53DA\u53DD\u53DE\u53E0\u53E6\u53E7\u53F5\u5402\u5413\u541A\u5421\u5427\u5428\u542A\u542F\u5431\u5434\u5435\u5443\u5444\u5447\u544D\u544F\u545E\u5462\u5464\u5466\u5467\u5469\u546B\u546D\u546E\u5474\u547F"], - ["8fb5a1", "\u5481\u5483\u5485\u5488\u5489\u548D\u5491\u5495\u5496\u549C\u549F\u54A1\u54A6\u54A7\u54A9\u54AA\u54AD\u54AE\u54B1\u54B7\u54B9\u54BA\u54BB\u54BF\u54C6\u54CA\u54CD\u54CE\u54E0\u54EA\u54EC\u54EF\u54F6\u54FC\u54FE\u54FF\u5500\u5501\u5505\u5508\u5509\u550C\u550D\u550E\u5515\u552A\u552B\u5532\u5535\u5536\u553B\u553C\u553D\u5541\u5547\u5549\u554A\u554D\u5550\u5551\u5558\u555A\u555B\u555E\u5560\u5561\u5564\u5566\u557F\u5581\u5582\u5586\u5588\u558E\u558F\u5591\u5592\u5593\u5594\u5597\u55A3\u55A4\u55AD\u55B2\u55BF\u55C1\u55C3\u55C6\u55C9\u55CB\u55CC\u55CE\u55D1\u55D2"], - ["8fb6a1", "\u55D3\u55D7\u55D8\u55DB\u55DE\u55E2\u55E9\u55F6\u55FF\u5605\u5608\u560A\u560D", 5, "\u5619\u562C\u5630\u5633\u5635\u5637\u5639\u563B\u563C\u563D\u563F\u5640\u5641\u5643\u5644\u5646\u5649\u564B\u564D\u564F\u5654\u565E\u5660\u5661\u5662\u5663\u5666\u5669\u566D\u566F\u5671\u5672\u5675\u5684\u5685\u5688\u568B\u568C\u5695\u5699\u569A\u569D\u569E\u569F\u56A6\u56A7\u56A8\u56A9\u56AB\u56AC\u56AD\u56B1\u56B3\u56B7\u56BE\u56C5\u56C9\u56CA\u56CB\u56CF\u56D0\u56CC\u56CD\u56D9\u56DC\u56DD\u56DF\u56E1\u56E4", 4, "\u56F1\u56EB\u56ED"], - ["8fb7a1", "\u56F6\u56F7\u5701\u5702\u5707\u570A\u570C\u5711\u5715\u571A\u571B\u571D\u5720\u5722\u5723\u5724\u5725\u5729\u572A\u572C\u572E\u572F\u5733\u5734\u573D\u573E\u573F\u5745\u5746\u574C\u574D\u5752\u5762\u5765\u5767\u5768\u576B\u576D", 4, "\u5773\u5774\u5775\u5777\u5779\u577A\u577B\u577C\u577E\u5781\u5783\u578C\u5794\u5797\u5799\u579A\u579C\u579D\u579E\u579F\u57A1\u5795\u57A7\u57A8\u57A9\u57AC\u57B8\u57BD\u57C7\u57C8\u57CC\u57CF\u57D5\u57DD\u57DE\u57E4\u57E6\u57E7\u57E9\u57ED\u57F0\u57F5\u57F6\u57F8\u57FD\u57FE\u57FF\u5803\u5804\u5808\u5809\u57E1"], - ["8fb8a1", "\u580C\u580D\u581B\u581E\u581F\u5820\u5826\u5827\u582D\u5832\u5839\u583F\u5849\u584C\u584D\u584F\u5850\u5855\u585F\u5861\u5864\u5867\u5868\u5878\u587C\u587F\u5880\u5881\u5887\u5888\u5889\u588A\u588C\u588D\u588F\u5890\u5894\u5896\u589D\u58A0\u58A1\u58A2\u58A6\u58A9\u58B1\u58B2\u58C4\u58BC\u58C2\u58C8\u58CD\u58CE\u58D0\u58D2\u58D4\u58D6\u58DA\u58DD\u58E1\u58E2\u58E9\u58F3\u5905\u5906\u590B\u590C\u5912\u5913\u5914\u8641\u591D\u5921\u5923\u5924\u5928\u592F\u5930\u5933\u5935\u5936\u593F\u5943\u5946\u5952\u5953\u5959\u595B\u595D\u595E\u595F\u5961\u5963\u596B\u596D"], - ["8fb9a1", "\u596F\u5972\u5975\u5976\u5979\u597B\u597C\u598B\u598C\u598E\u5992\u5995\u5997\u599F\u59A4\u59A7\u59AD\u59AE\u59AF\u59B0\u59B3\u59B7\u59BA\u59BC\u59C1\u59C3\u59C4\u59C8\u59CA\u59CD\u59D2\u59DD\u59DE\u59DF\u59E3\u59E4\u59E7\u59EE\u59EF\u59F1\u59F2\u59F4\u59F7\u5A00\u5A04\u5A0C\u5A0D\u5A0E\u5A12\u5A13\u5A1E\u5A23\u5A24\u5A27\u5A28\u5A2A\u5A2D\u5A30\u5A44\u5A45\u5A47\u5A48\u5A4C\u5A50\u5A55\u5A5E\u5A63\u5A65\u5A67\u5A6D\u5A77\u5A7A\u5A7B\u5A7E\u5A8B\u5A90\u5A93\u5A96\u5A99\u5A9C\u5A9E\u5A9F\u5AA0\u5AA2\u5AA7\u5AAC\u5AB1\u5AB2\u5AB3\u5AB5\u5AB8\u5ABA\u5ABB\u5ABF"], - ["8fbaa1", "\u5AC4\u5AC6\u5AC8\u5ACF\u5ADA\u5ADC\u5AE0\u5AE5\u5AEA\u5AEE\u5AF5\u5AF6\u5AFD\u5B00\u5B01\u5B08\u5B17\u5B34\u5B19\u5B1B\u5B1D\u5B21\u5B25\u5B2D\u5B38\u5B41\u5B4B\u5B4C\u5B52\u5B56\u5B5E\u5B68\u5B6E\u5B6F\u5B7C\u5B7D\u5B7E\u5B7F\u5B81\u5B84\u5B86\u5B8A\u5B8E\u5B90\u5B91\u5B93\u5B94\u5B96\u5BA8\u5BA9\u5BAC\u5BAD\u5BAF\u5BB1\u5BB2\u5BB7\u5BBA\u5BBC\u5BC0\u5BC1\u5BCD\u5BCF\u5BD6", 4, "\u5BE0\u5BEF\u5BF1\u5BF4\u5BFD\u5C0C\u5C17\u5C1E\u5C1F\u5C23\u5C26\u5C29\u5C2B\u5C2C\u5C2E\u5C30\u5C32\u5C35\u5C36\u5C59\u5C5A\u5C5C\u5C62\u5C63\u5C67\u5C68\u5C69"], - ["8fbba1", "\u5C6D\u5C70\u5C74\u5C75\u5C7A\u5C7B\u5C7C\u5C7D\u5C87\u5C88\u5C8A\u5C8F\u5C92\u5C9D\u5C9F\u5CA0\u5CA2\u5CA3\u5CA6\u5CAA\u5CB2\u5CB4\u5CB5\u5CBA\u5CC9\u5CCB\u5CD2\u5CDD\u5CD7\u5CEE\u5CF1\u5CF2\u5CF4\u5D01\u5D06\u5D0D\u5D12\u5D2B\u5D23\u5D24\u5D26\u5D27\u5D31\u5D34\u5D39\u5D3D\u5D3F\u5D42\u5D43\u5D46\u5D48\u5D55\u5D51\u5D59\u5D4A\u5D5F\u5D60\u5D61\u5D62\u5D64\u5D6A\u5D6D\u5D70\u5D79\u5D7A\u5D7E\u5D7F\u5D81\u5D83\u5D88\u5D8A\u5D92\u5D93\u5D94\u5D95\u5D99\u5D9B\u5D9F\u5DA0\u5DA7\u5DAB\u5DB0\u5DB4\u5DB8\u5DB9\u5DC3\u5DC7\u5DCB\u5DD0\u5DCE\u5DD8\u5DD9\u5DE0\u5DE4"], - ["8fbca1", "\u5DE9\u5DF8\u5DF9\u5E00\u5E07\u5E0D\u5E12\u5E14\u5E15\u5E18\u5E1F\u5E20\u5E2E\u5E28\u5E32\u5E35\u5E3E\u5E4B\u5E50\u5E49\u5E51\u5E56\u5E58\u5E5B\u5E5C\u5E5E\u5E68\u5E6A", 4, "\u5E70\u5E80\u5E8B\u5E8E\u5EA2\u5EA4\u5EA5\u5EA8\u5EAA\u5EAC\u5EB1\u5EB3\u5EBD\u5EBE\u5EBF\u5EC6\u5ECC\u5ECB\u5ECE\u5ED1\u5ED2\u5ED4\u5ED5\u5EDC\u5EDE\u5EE5\u5EEB\u5F02\u5F06\u5F07\u5F08\u5F0E\u5F19\u5F1C\u5F1D\u5F21\u5F22\u5F23\u5F24\u5F28\u5F2B\u5F2C\u5F2E\u5F30\u5F34\u5F36\u5F3B\u5F3D\u5F3F\u5F40\u5F44\u5F45\u5F47\u5F4D\u5F50\u5F54\u5F58\u5F5B\u5F60\u5F63\u5F64\u5F67"], - ["8fbda1", "\u5F6F\u5F72\u5F74\u5F75\u5F78\u5F7A\u5F7D\u5F7E\u5F89\u5F8D\u5F8F\u5F96\u5F9C\u5F9D\u5FA2\u5FA7\u5FAB\u5FA4\u5FAC\u5FAF\u5FB0\u5FB1\u5FB8\u5FC4\u5FC7\u5FC8\u5FC9\u5FCB\u5FD0", 4, "\u5FDE\u5FE1\u5FE2\u5FE8\u5FE9\u5FEA\u5FEC\u5FED\u5FEE\u5FEF\u5FF2\u5FF3\u5FF6\u5FFA\u5FFC\u6007\u600A\u600D\u6013\u6014\u6017\u6018\u601A\u601F\u6024\u602D\u6033\u6035\u6040\u6047\u6048\u6049\u604C\u6051\u6054\u6056\u6057\u605D\u6061\u6067\u6071\u607E\u607F\u6082\u6086\u6088\u608A\u608E\u6091\u6093\u6095\u6098\u609D\u609E\u60A2\u60A4\u60A5\u60A8\u60B0\u60B1\u60B7"], - ["8fbea1", "\u60BB\u60BE\u60C2\u60C4\u60C8\u60C9\u60CA\u60CB\u60CE\u60CF\u60D4\u60D5\u60D9\u60DB\u60DD\u60DE\u60E2\u60E5\u60F2\u60F5\u60F8\u60FC\u60FD\u6102\u6107\u610A\u610C\u6110", 4, "\u6116\u6117\u6119\u611C\u611E\u6122\u612A\u612B\u6130\u6131\u6135\u6136\u6137\u6139\u6141\u6145\u6146\u6149\u615E\u6160\u616C\u6172\u6178\u617B\u617C\u617F\u6180\u6181\u6183\u6184\u618B\u618D\u6192\u6193\u6197\u6198\u619C\u619D\u619F\u61A0\u61A5\u61A8\u61AA\u61AD\u61B8\u61B9\u61BC\u61C0\u61C1\u61C2\u61CE\u61CF\u61D5\u61DC\u61DD\u61DE\u61DF\u61E1\u61E2\u61E7\u61E9\u61E5"], - ["8fbfa1", "\u61EC\u61ED\u61EF\u6201\u6203\u6204\u6207\u6213\u6215\u621C\u6220\u6222\u6223\u6227\u6229\u622B\u6239\u623D\u6242\u6243\u6244\u6246\u624C\u6250\u6251\u6252\u6254\u6256\u625A\u625C\u6264\u626D\u626F\u6273\u627A\u627D\u628D\u628E\u628F\u6290\u62A6\u62A8\u62B3\u62B6\u62B7\u62BA\u62BE\u62BF\u62C4\u62CE\u62D5\u62D6\u62DA\u62EA\u62F2\u62F4\u62FC\u62FD\u6303\u6304\u630A\u630B\u630D\u6310\u6313\u6316\u6318\u6329\u632A\u632D\u6335\u6336\u6339\u633C\u6341\u6342\u6343\u6344\u6346\u634A\u634B\u634E\u6352\u6353\u6354\u6358\u635B\u6365\u6366\u636C\u636D\u6371\u6374\u6375"], - ["8fc0a1", "\u6378\u637C\u637D\u637F\u6382\u6384\u6387\u638A\u6390\u6394\u6395\u6399\u639A\u639E\u63A4\u63A6\u63AD\u63AE\u63AF\u63BD\u63C1\u63C5\u63C8\u63CE\u63D1\u63D3\u63D4\u63D5\u63DC\u63E0\u63E5\u63EA\u63EC\u63F2\u63F3\u63F5\u63F8\u63F9\u6409\u640A\u6410\u6412\u6414\u6418\u641E\u6420\u6422\u6424\u6425\u6429\u642A\u642F\u6430\u6435\u643D\u643F\u644B\u644F\u6451\u6452\u6453\u6454\u645A\u645B\u645C\u645D\u645F\u6460\u6461\u6463\u646D\u6473\u6474\u647B\u647D\u6485\u6487\u648F\u6490\u6491\u6498\u6499\u649B\u649D\u649F\u64A1\u64A3\u64A6\u64A8\u64AC\u64B3\u64BD\u64BE\u64BF"], - ["8fc1a1", "\u64C4\u64C9\u64CA\u64CB\u64CC\u64CE\u64D0\u64D1\u64D5\u64D7\u64E4\u64E5\u64E9\u64EA\u64ED\u64F0\u64F5\u64F7\u64FB\u64FF\u6501\u6504\u6508\u6509\u650A\u650F\u6513\u6514\u6516\u6519\u651B\u651E\u651F\u6522\u6526\u6529\u652E\u6531\u653A\u653C\u653D\u6543\u6547\u6549\u6550\u6552\u6554\u655F\u6560\u6567\u656B\u657A\u657D\u6581\u6585\u658A\u6592\u6595\u6598\u659D\u65A0\u65A3\u65A6\u65AE\u65B2\u65B3\u65B4\u65BF\u65C2\u65C8\u65C9\u65CE\u65D0\u65D4\u65D6\u65D8\u65DF\u65F0\u65F2\u65F4\u65F5\u65F9\u65FE\u65FF\u6600\u6604\u6608\u6609\u660D\u6611\u6612\u6615\u6616\u661D"], - ["8fc2a1", "\u661E\u6621\u6622\u6623\u6624\u6626\u6629\u662A\u662B\u662C\u662E\u6630\u6631\u6633\u6639\u6637\u6640\u6645\u6646\u664A\u664C\u6651\u664E\u6657\u6658\u6659\u665B\u665C\u6660\u6661\u66FB\u666A\u666B\u666C\u667E\u6673\u6675\u667F\u6677\u6678\u6679\u667B\u6680\u667C\u668B\u668C\u668D\u6690\u6692\u6699\u669A\u669B\u669C\u669F\u66A0\u66A4\u66AD\u66B1\u66B2\u66B5\u66BB\u66BF\u66C0\u66C2\u66C3\u66C8\u66CC\u66CE\u66CF\u66D4\u66DB\u66DF\u66E8\u66EB\u66EC\u66EE\u66FA\u6705\u6707\u670E\u6713\u6719\u671C\u6720\u6722\u6733\u673E\u6745\u6747\u6748\u674C\u6754\u6755\u675D"], - ["8fc3a1", "\u6766\u676C\u676E\u6774\u6776\u677B\u6781\u6784\u678E\u678F\u6791\u6793\u6796\u6798\u6799\u679B\u67B0\u67B1\u67B2\u67B5\u67BB\u67BC\u67BD\u67F9\u67C0\u67C2\u67C3\u67C5\u67C8\u67C9\u67D2\u67D7\u67D9\u67DC\u67E1\u67E6\u67F0\u67F2\u67F6\u67F7\u6852\u6814\u6819\u681D\u681F\u6828\u6827\u682C\u682D\u682F\u6830\u6831\u6833\u683B\u683F\u6844\u6845\u684A\u684C\u6855\u6857\u6858\u685B\u686B\u686E", 4, "\u6875\u6879\u687A\u687B\u687C\u6882\u6884\u6886\u6888\u6896\u6898\u689A\u689C\u68A1\u68A3\u68A5\u68A9\u68AA\u68AE\u68B2\u68BB\u68C5\u68C8\u68CC\u68CF"], - ["8fc4a1", "\u68D0\u68D1\u68D3\u68D6\u68D9\u68DC\u68DD\u68E5\u68E8\u68EA\u68EB\u68EC\u68ED\u68F0\u68F1\u68F5\u68F6\u68FB\u68FC\u68FD\u6906\u6909\u690A\u6910\u6911\u6913\u6916\u6917\u6931\u6933\u6935\u6938\u693B\u6942\u6945\u6949\u694E\u6957\u695B\u6963\u6964\u6965\u6966\u6968\u6969\u696C\u6970\u6971\u6972\u697A\u697B\u697F\u6980\u698D\u6992\u6996\u6998\u69A1\u69A5\u69A6\u69A8\u69AB\u69AD\u69AF\u69B7\u69B8\u69BA\u69BC\u69C5\u69C8\u69D1\u69D6\u69D7\u69E2\u69E5\u69EE\u69EF\u69F1\u69F3\u69F5\u69FE\u6A00\u6A01\u6A03\u6A0F\u6A11\u6A15\u6A1A\u6A1D\u6A20\u6A24\u6A28\u6A30\u6A32"], - ["8fc5a1", "\u6A34\u6A37\u6A3B\u6A3E\u6A3F\u6A45\u6A46\u6A49\u6A4A\u6A4E\u6A50\u6A51\u6A52\u6A55\u6A56\u6A5B\u6A64\u6A67\u6A6A\u6A71\u6A73\u6A7E\u6A81\u6A83\u6A86\u6A87\u6A89\u6A8B\u6A91\u6A9B\u6A9D\u6A9E\u6A9F\u6AA5\u6AAB\u6AAF\u6AB0\u6AB1\u6AB4\u6ABD\u6ABE\u6ABF\u6AC6\u6AC9\u6AC8\u6ACC\u6AD0\u6AD4\u6AD5\u6AD6\u6ADC\u6ADD\u6AE4\u6AE7\u6AEC\u6AF0\u6AF1\u6AF2\u6AFC\u6AFD\u6B02\u6B03\u6B06\u6B07\u6B09\u6B0F\u6B10\u6B11\u6B17\u6B1B\u6B1E\u6B24\u6B28\u6B2B\u6B2C\u6B2F\u6B35\u6B36\u6B3B\u6B3F\u6B46\u6B4A\u6B4D\u6B52\u6B56\u6B58\u6B5D\u6B60\u6B67\u6B6B\u6B6E\u6B70\u6B75\u6B7D"], - ["8fc6a1", "\u6B7E\u6B82\u6B85\u6B97\u6B9B\u6B9F\u6BA0\u6BA2\u6BA3\u6BA8\u6BA9\u6BAC\u6BAD\u6BAE\u6BB0\u6BB8\u6BB9\u6BBD\u6BBE\u6BC3\u6BC4\u6BC9\u6BCC\u6BD6\u6BDA\u6BE1\u6BE3\u6BE6\u6BE7\u6BEE\u6BF1\u6BF7\u6BF9\u6BFF\u6C02\u6C04\u6C05\u6C09\u6C0D\u6C0E\u6C10\u6C12\u6C19\u6C1F\u6C26\u6C27\u6C28\u6C2C\u6C2E\u6C33\u6C35\u6C36\u6C3A\u6C3B\u6C3F\u6C4A\u6C4B\u6C4D\u6C4F\u6C52\u6C54\u6C59\u6C5B\u6C5C\u6C6B\u6C6D\u6C6F\u6C74\u6C76\u6C78\u6C79\u6C7B\u6C85\u6C86\u6C87\u6C89\u6C94\u6C95\u6C97\u6C98\u6C9C\u6C9F\u6CB0\u6CB2\u6CB4\u6CC2\u6CC6\u6CCD\u6CCF\u6CD0\u6CD1\u6CD2\u6CD4\u6CD6"], - ["8fc7a1", "\u6CDA\u6CDC\u6CE0\u6CE7\u6CE9\u6CEB\u6CEC\u6CEE\u6CF2\u6CF4\u6D04\u6D07\u6D0A\u6D0E\u6D0F\u6D11\u6D13\u6D1A\u6D26\u6D27\u6D28\u6C67\u6D2E\u6D2F\u6D31\u6D39\u6D3C\u6D3F\u6D57\u6D5E\u6D5F\u6D61\u6D65\u6D67\u6D6F\u6D70\u6D7C\u6D82\u6D87\u6D91\u6D92\u6D94\u6D96\u6D97\u6D98\u6DAA\u6DAC\u6DB4\u6DB7\u6DB9\u6DBD\u6DBF\u6DC4\u6DC8\u6DCA\u6DCE\u6DCF\u6DD6\u6DDB\u6DDD\u6DDF\u6DE0\u6DE2\u6DE5\u6DE9\u6DEF\u6DF0\u6DF4\u6DF6\u6DFC\u6E00\u6E04\u6E1E\u6E22\u6E27\u6E32\u6E36\u6E39\u6E3B\u6E3C\u6E44\u6E45\u6E48\u6E49\u6E4B\u6E4F\u6E51\u6E52\u6E53\u6E54\u6E57\u6E5C\u6E5D\u6E5E"], - ["8fc8a1", "\u6E62\u6E63\u6E68\u6E73\u6E7B\u6E7D\u6E8D\u6E93\u6E99\u6EA0\u6EA7\u6EAD\u6EAE\u6EB1\u6EB3\u6EBB\u6EBF\u6EC0\u6EC1\u6EC3\u6EC7\u6EC8\u6ECA\u6ECD\u6ECE\u6ECF\u6EEB\u6EED\u6EEE\u6EF9\u6EFB\u6EFD\u6F04\u6F08\u6F0A\u6F0C\u6F0D\u6F16\u6F18\u6F1A\u6F1B\u6F26\u6F29\u6F2A\u6F2F\u6F30\u6F33\u6F36\u6F3B\u6F3C\u6F2D\u6F4F\u6F51\u6F52\u6F53\u6F57\u6F59\u6F5A\u6F5D\u6F5E\u6F61\u6F62\u6F68\u6F6C\u6F7D\u6F7E\u6F83\u6F87\u6F88\u6F8B\u6F8C\u6F8D\u6F90\u6F92\u6F93\u6F94\u6F96\u6F9A\u6F9F\u6FA0\u6FA5\u6FA6\u6FA7\u6FA8\u6FAE\u6FAF\u6FB0\u6FB5\u6FB6\u6FBC\u6FC5\u6FC7\u6FC8\u6FCA"], - ["8fc9a1", "\u6FDA\u6FDE\u6FE8\u6FE9\u6FF0\u6FF5\u6FF9\u6FFC\u6FFD\u7000\u7005\u7006\u7007\u700D\u7017\u7020\u7023\u702F\u7034\u7037\u7039\u703C\u7043\u7044\u7048\u7049\u704A\u704B\u7054\u7055\u705D\u705E\u704E\u7064\u7065\u706C\u706E\u7075\u7076\u707E\u7081\u7085\u7086\u7094", 4, "\u709B\u70A4\u70AB\u70B0\u70B1\u70B4\u70B7\u70CA\u70D1\u70D3\u70D4\u70D5\u70D6\u70D8\u70DC\u70E4\u70FA\u7103", 4, "\u710B\u710C\u710F\u711E\u7120\u712B\u712D\u712F\u7130\u7131\u7138\u7141\u7145\u7146\u7147\u714A\u714B\u7150\u7152\u7157\u715A\u715C\u715E\u7160"], - ["8fcaa1", "\u7168\u7179\u7180\u7185\u7187\u718C\u7192\u719A\u719B\u71A0\u71A2\u71AF\u71B0\u71B2\u71B3\u71BA\u71BF\u71C0\u71C1\u71C4\u71CB\u71CC\u71D3\u71D6\u71D9\u71DA\u71DC\u71F8\u71FE\u7200\u7207\u7208\u7209\u7213\u7217\u721A\u721D\u721F\u7224\u722B\u722F\u7234\u7238\u7239\u7241\u7242\u7243\u7245\u724E\u724F\u7250\u7253\u7255\u7256\u725A\u725C\u725E\u7260\u7263\u7268\u726B\u726E\u726F\u7271\u7277\u7278\u727B\u727C\u727F\u7284\u7289\u728D\u728E\u7293\u729B\u72A8\u72AD\u72AE\u72B1\u72B4\u72BE\u72C1\u72C7\u72C9\u72CC\u72D5\u72D6\u72D8\u72DF\u72E5\u72F3\u72F4\u72FA\u72FB"], - ["8fcba1", "\u72FE\u7302\u7304\u7305\u7307\u730B\u730D\u7312\u7313\u7318\u7319\u731E\u7322\u7324\u7327\u7328\u732C\u7331\u7332\u7335\u733A\u733B\u733D\u7343\u734D\u7350\u7352\u7356\u7358\u735D\u735E\u735F\u7360\u7366\u7367\u7369\u736B\u736C\u736E\u736F\u7371\u7377\u7379\u737C\u7380\u7381\u7383\u7385\u7386\u738E\u7390\u7393\u7395\u7397\u7398\u739C\u739E\u739F\u73A0\u73A2\u73A5\u73A6\u73AA\u73AB\u73AD\u73B5\u73B7\u73B9\u73BC\u73BD\u73BF\u73C5\u73C6\u73C9\u73CB\u73CC\u73CF\u73D2\u73D3\u73D6\u73D9\u73DD\u73E1\u73E3\u73E6\u73E7\u73E9\u73F4\u73F5\u73F7\u73F9\u73FA\u73FB\u73FD"], - ["8fcca1", "\u73FF\u7400\u7401\u7404\u7407\u740A\u7411\u741A\u741B\u7424\u7426\u7428", 9, "\u7439\u7440\u7443\u7444\u7446\u7447\u744B\u744D\u7451\u7452\u7457\u745D\u7462\u7466\u7467\u7468\u746B\u746D\u746E\u7471\u7472\u7480\u7481\u7485\u7486\u7487\u7489\u748F\u7490\u7491\u7492\u7498\u7499\u749A\u749C\u749F\u74A0\u74A1\u74A3\u74A6\u74A8\u74A9\u74AA\u74AB\u74AE\u74AF\u74B1\u74B2\u74B5\u74B9\u74BB\u74BF\u74C8\u74C9\u74CC\u74D0\u74D3\u74D8\u74DA\u74DB\u74DE\u74DF\u74E4\u74E8\u74EA\u74EB\u74EF\u74F4\u74FA\u74FB\u74FC\u74FF\u7506"], - ["8fcda1", "\u7512\u7516\u7517\u7520\u7521\u7524\u7527\u7529\u752A\u752F\u7536\u7539\u753D\u753E\u753F\u7540\u7543\u7547\u7548\u754E\u7550\u7552\u7557\u755E\u755F\u7561\u756F\u7571\u7579", 5, "\u7581\u7585\u7590\u7592\u7593\u7595\u7599\u759C\u75A2\u75A4\u75B4\u75BA\u75BF\u75C0\u75C1\u75C4\u75C6\u75CC\u75CE\u75CF\u75D7\u75DC\u75DF\u75E0\u75E1\u75E4\u75E7\u75EC\u75EE\u75EF\u75F1\u75F9\u7600\u7602\u7603\u7604\u7607\u7608\u760A\u760C\u760F\u7612\u7613\u7615\u7616\u7619\u761B\u761C\u761D\u761E\u7623\u7625\u7626\u7629\u762D\u7632\u7633\u7635\u7638\u7639"], - ["8fcea1", "\u763A\u763C\u764A\u7640\u7641\u7643\u7644\u7645\u7649\u764B\u7655\u7659\u765F\u7664\u7665\u766D\u766E\u766F\u7671\u7674\u7681\u7685\u768C\u768D\u7695\u769B\u769C\u769D\u769F\u76A0\u76A2", 6, "\u76AA\u76AD\u76BD\u76C1\u76C5\u76C9\u76CB\u76CC\u76CE\u76D4\u76D9\u76E0\u76E6\u76E8\u76EC\u76F0\u76F1\u76F6\u76F9\u76FC\u7700\u7706\u770A\u770E\u7712\u7714\u7715\u7717\u7719\u771A\u771C\u7722\u7728\u772D\u772E\u772F\u7734\u7735\u7736\u7739\u773D\u773E\u7742\u7745\u7746\u774A\u774D\u774E\u774F\u7752\u7756\u7757\u775C\u775E\u775F\u7760\u7762"], - ["8fcfa1", "\u7764\u7767\u776A\u776C\u7770\u7772\u7773\u7774\u777A\u777D\u7780\u7784\u778C\u778D\u7794\u7795\u7796\u779A\u779F\u77A2\u77A7\u77AA\u77AE\u77AF\u77B1\u77B5\u77BE\u77C3\u77C9\u77D1\u77D2\u77D5\u77D9\u77DE\u77DF\u77E0\u77E4\u77E6\u77EA\u77EC\u77F0\u77F1\u77F4\u77F8\u77FB\u7805\u7806\u7809\u780D\u780E\u7811\u781D\u7821\u7822\u7823\u782D\u782E\u7830\u7835\u7837\u7843\u7844\u7847\u7848\u784C\u784E\u7852\u785C\u785E\u7860\u7861\u7863\u7864\u7868\u786A\u786E\u787A\u787E\u788A\u788F\u7894\u7898\u78A1\u789D\u789E\u789F\u78A4\u78A8\u78AC\u78AD\u78B0\u78B1\u78B2\u78B3"], - ["8fd0a1", "\u78BB\u78BD\u78BF\u78C7\u78C8\u78C9\u78CC\u78CE\u78D2\u78D3\u78D5\u78D6\u78E4\u78DB\u78DF\u78E0\u78E1\u78E6\u78EA\u78F2\u78F3\u7900\u78F6\u78F7\u78FA\u78FB\u78FF\u7906\u790C\u7910\u791A\u791C\u791E\u791F\u7920\u7925\u7927\u7929\u792D\u7931\u7934\u7935\u793B\u793D\u793F\u7944\u7945\u7946\u794A\u794B\u794F\u7951\u7954\u7958\u795B\u795C\u7967\u7969\u796B\u7972\u7979\u797B\u797C\u797E\u798B\u798C\u7991\u7993\u7994\u7995\u7996\u7998\u799B\u799C\u79A1\u79A8\u79A9\u79AB\u79AF\u79B1\u79B4\u79B8\u79BB\u79C2\u79C4\u79C7\u79C8\u79CA\u79CF\u79D4\u79D6\u79DA\u79DD\u79DE"], - ["8fd1a1", "\u79E0\u79E2\u79E5\u79EA\u79EB\u79ED\u79F1\u79F8\u79FC\u7A02\u7A03\u7A07\u7A09\u7A0A\u7A0C\u7A11\u7A15\u7A1B\u7A1E\u7A21\u7A27\u7A2B\u7A2D\u7A2F\u7A30\u7A34\u7A35\u7A38\u7A39\u7A3A\u7A44\u7A45\u7A47\u7A48\u7A4C\u7A55\u7A56\u7A59\u7A5C\u7A5D\u7A5F\u7A60\u7A65\u7A67\u7A6A\u7A6D\u7A75\u7A78\u7A7E\u7A80\u7A82\u7A85\u7A86\u7A8A\u7A8B\u7A90\u7A91\u7A94\u7A9E\u7AA0\u7AA3\u7AAC\u7AB3\u7AB5\u7AB9\u7ABB\u7ABC\u7AC6\u7AC9\u7ACC\u7ACE\u7AD1\u7ADB\u7AE8\u7AE9\u7AEB\u7AEC\u7AF1\u7AF4\u7AFB\u7AFD\u7AFE\u7B07\u7B14\u7B1F\u7B23\u7B27\u7B29\u7B2A\u7B2B\u7B2D\u7B2E\u7B2F\u7B30"], - ["8fd2a1", "\u7B31\u7B34\u7B3D\u7B3F\u7B40\u7B41\u7B47\u7B4E\u7B55\u7B60\u7B64\u7B66\u7B69\u7B6A\u7B6D\u7B6F\u7B72\u7B73\u7B77\u7B84\u7B89\u7B8E\u7B90\u7B91\u7B96\u7B9B\u7B9E\u7BA0\u7BA5\u7BAC\u7BAF\u7BB0\u7BB2\u7BB5\u7BB6\u7BBA\u7BBB\u7BBC\u7BBD\u7BC2\u7BC5\u7BC8\u7BCA\u7BD4\u7BD6\u7BD7\u7BD9\u7BDA\u7BDB\u7BE8\u7BEA\u7BF2\u7BF4\u7BF5\u7BF8\u7BF9\u7BFA\u7BFC\u7BFE\u7C01\u7C02\u7C03\u7C04\u7C06\u7C09\u7C0B\u7C0C\u7C0E\u7C0F\u7C19\u7C1B\u7C20\u7C25\u7C26\u7C28\u7C2C\u7C31\u7C33\u7C34\u7C36\u7C39\u7C3A\u7C46\u7C4A\u7C55\u7C51\u7C52\u7C53\u7C59", 5], - ["8fd3a1", "\u7C61\u7C63\u7C67\u7C69\u7C6D\u7C6E\u7C70\u7C72\u7C79\u7C7C\u7C7D\u7C86\u7C87\u7C8F\u7C94\u7C9E\u7CA0\u7CA6\u7CB0\u7CB6\u7CB7\u7CBA\u7CBB\u7CBC\u7CBF\u7CC4\u7CC7\u7CC8\u7CC9\u7CCD\u7CCF\u7CD3\u7CD4\u7CD5\u7CD7\u7CD9\u7CDA\u7CDD\u7CE6\u7CE9\u7CEB\u7CF5\u7D03\u7D07\u7D08\u7D09\u7D0F\u7D11\u7D12\u7D13\u7D16\u7D1D\u7D1E\u7D23\u7D26\u7D2A\u7D2D\u7D31\u7D3C\u7D3D\u7D3E\u7D40\u7D41\u7D47\u7D48\u7D4D\u7D51\u7D53\u7D57\u7D59\u7D5A\u7D5C\u7D5D\u7D65\u7D67\u7D6A\u7D70\u7D78\u7D7A\u7D7B\u7D7F\u7D81\u7D82\u7D83\u7D85\u7D86\u7D88\u7D8B\u7D8C\u7D8D\u7D91\u7D96\u7D97\u7D9D"], - ["8fd4a1", "\u7D9E\u7DA6\u7DA7\u7DAA\u7DB3\u7DB6\u7DB7\u7DB9\u7DC2", 4, "\u7DCC\u7DCD\u7DCE\u7DD7\u7DD9\u7E00\u7DE2\u7DE5\u7DE6\u7DEA\u7DEB\u7DED\u7DF1\u7DF5\u7DF6\u7DF9\u7DFA\u7E08\u7E10\u7E11\u7E15\u7E17\u7E1C\u7E1D\u7E20\u7E27\u7E28\u7E2C\u7E2D\u7E2F\u7E33\u7E36\u7E3F\u7E44\u7E45\u7E47\u7E4E\u7E50\u7E52\u7E58\u7E5F\u7E61\u7E62\u7E65\u7E6B\u7E6E\u7E6F\u7E73\u7E78\u7E7E\u7E81\u7E86\u7E87\u7E8A\u7E8D\u7E91\u7E95\u7E98\u7E9A\u7E9D\u7E9E\u7F3C\u7F3B\u7F3D\u7F3E\u7F3F\u7F43\u7F44\u7F47\u7F4F\u7F52\u7F53\u7F5B\u7F5C\u7F5D\u7F61\u7F63\u7F64\u7F65\u7F66\u7F6D"], - ["8fd5a1", "\u7F71\u7F7D\u7F7E\u7F7F\u7F80\u7F8B\u7F8D\u7F8F\u7F90\u7F91\u7F96\u7F97\u7F9C\u7FA1\u7FA2\u7FA6\u7FAA\u7FAD\u7FB4\u7FBC\u7FBF\u7FC0\u7FC3\u7FC8\u7FCE\u7FCF\u7FDB\u7FDF\u7FE3\u7FE5\u7FE8\u7FEC\u7FEE\u7FEF\u7FF2\u7FFA\u7FFD\u7FFE\u7FFF\u8007\u8008\u800A\u800D\u800E\u800F\u8011\u8013\u8014\u8016\u801D\u801E\u801F\u8020\u8024\u8026\u802C\u802E\u8030\u8034\u8035\u8037\u8039\u803A\u803C\u803E\u8040\u8044\u8060\u8064\u8066\u806D\u8071\u8075\u8081\u8088\u808E\u809C\u809E\u80A6\u80A7\u80AB\u80B8\u80B9\u80C8\u80CD\u80CF\u80D2\u80D4\u80D5\u80D7\u80D8\u80E0\u80ED\u80EE"], - ["8fd6a1", "\u80F0\u80F2\u80F3\u80F6\u80F9\u80FA\u80FE\u8103\u810B\u8116\u8117\u8118\u811C\u811E\u8120\u8124\u8127\u812C\u8130\u8135\u813A\u813C\u8145\u8147\u814A\u814C\u8152\u8157\u8160\u8161\u8167\u8168\u8169\u816D\u816F\u8177\u8181\u8190\u8184\u8185\u8186\u818B\u818E\u8196\u8198\u819B\u819E\u81A2\u81AE\u81B2\u81B4\u81BB\u81CB\u81C3\u81C5\u81CA\u81CE\u81CF\u81D5\u81D7\u81DB\u81DD\u81DE\u81E1\u81E4\u81EB\u81EC\u81F0\u81F1\u81F2\u81F5\u81F6\u81F8\u81F9\u81FD\u81FF\u8200\u8203\u820F\u8213\u8214\u8219\u821A\u821D\u8221\u8222\u8228\u8232\u8234\u823A\u8243\u8244\u8245\u8246"], - ["8fd7a1", "\u824B\u824E\u824F\u8251\u8256\u825C\u8260\u8263\u8267\u826D\u8274\u827B\u827D\u827F\u8280\u8281\u8283\u8284\u8287\u8289\u828A\u828E\u8291\u8294\u8296\u8298\u829A\u829B\u82A0\u82A1\u82A3\u82A4\u82A7\u82A8\u82A9\u82AA\u82AE\u82B0\u82B2\u82B4\u82B7\u82BA\u82BC\u82BE\u82BF\u82C6\u82D0\u82D5\u82DA\u82E0\u82E2\u82E4\u82E8\u82EA\u82ED\u82EF\u82F6\u82F7\u82FD\u82FE\u8300\u8301\u8307\u8308\u830A\u830B\u8354\u831B\u831D\u831E\u831F\u8321\u8322\u832C\u832D\u832E\u8330\u8333\u8337\u833A\u833C\u833D\u8342\u8343\u8344\u8347\u834D\u834E\u8351\u8355\u8356\u8357\u8370\u8378"], - ["8fd8a1", "\u837D\u837F\u8380\u8382\u8384\u8386\u838D\u8392\u8394\u8395\u8398\u8399\u839B\u839C\u839D\u83A6\u83A7\u83A9\u83AC\u83BE\u83BF\u83C0\u83C7\u83C9\u83CF\u83D0\u83D1\u83D4\u83DD\u8353\u83E8\u83EA\u83F6\u83F8\u83F9\u83FC\u8401\u8406\u840A\u840F\u8411\u8415\u8419\u83AD\u842F\u8439\u8445\u8447\u8448\u844A\u844D\u844F\u8451\u8452\u8456\u8458\u8459\u845A\u845C\u8460\u8464\u8465\u8467\u846A\u8470\u8473\u8474\u8476\u8478\u847C\u847D\u8481\u8485\u8492\u8493\u8495\u849E\u84A6\u84A8\u84A9\u84AA\u84AF\u84B1\u84B4\u84BA\u84BD\u84BE\u84C0\u84C2\u84C7\u84C8\u84CC\u84CF\u84D3"], - ["8fd9a1", "\u84DC\u84E7\u84EA\u84EF\u84F0\u84F1\u84F2\u84F7\u8532\u84FA\u84FB\u84FD\u8502\u8503\u8507\u850C\u850E\u8510\u851C\u851E\u8522\u8523\u8524\u8525\u8527\u852A\u852B\u852F\u8533\u8534\u8536\u853F\u8546\u854F", 4, "\u8556\u8559\u855C", 6, "\u8564\u856B\u856F\u8579\u857A\u857B\u857D\u857F\u8581\u8585\u8586\u8589\u858B\u858C\u858F\u8593\u8598\u859D\u859F\u85A0\u85A2\u85A5\u85A7\u85B4\u85B6\u85B7\u85B8\u85BC\u85BD\u85BE\u85BF\u85C2\u85C7\u85CA\u85CB\u85CE\u85AD\u85D8\u85DA\u85DF\u85E0\u85E6\u85E8\u85ED\u85F3\u85F6\u85FC"], - ["8fdaa1", "\u85FF\u8600\u8604\u8605\u860D\u860E\u8610\u8611\u8612\u8618\u8619\u861B\u861E\u8621\u8627\u8629\u8636\u8638\u863A\u863C\u863D\u8640\u8642\u8646\u8652\u8653\u8656\u8657\u8658\u8659\u865D\u8660", 4, "\u8669\u866C\u866F\u8675\u8676\u8677\u867A\u868D\u8691\u8696\u8698\u869A\u869C\u86A1\u86A6\u86A7\u86A8\u86AD\u86B1\u86B3\u86B4\u86B5\u86B7\u86B8\u86B9\u86BF\u86C0\u86C1\u86C3\u86C5\u86D1\u86D2\u86D5\u86D7\u86DA\u86DC\u86E0\u86E3\u86E5\u86E7\u8688\u86FA\u86FC\u86FD\u8704\u8705\u8707\u870B\u870E\u870F\u8710\u8713\u8714\u8719\u871E\u871F\u8721\u8723"], - ["8fdba1", "\u8728\u872E\u872F\u8731\u8732\u8739\u873A\u873C\u873D\u873E\u8740\u8743\u8745\u874D\u8758\u875D\u8761\u8764\u8765\u876F\u8771\u8772\u877B\u8783", 6, "\u878B\u878C\u8790\u8793\u8795\u8797\u8798\u8799\u879E\u87A0\u87A3\u87A7\u87AC\u87AD\u87AE\u87B1\u87B5\u87BE\u87BF\u87C1\u87C8\u87C9\u87CA\u87CE\u87D5\u87D6\u87D9\u87DA\u87DC\u87DF\u87E2\u87E3\u87E4\u87EA\u87EB\u87ED\u87F1\u87F3\u87F8\u87FA\u87FF\u8801\u8803\u8806\u8809\u880A\u880B\u8810\u8819\u8812\u8813\u8814\u8818\u881A\u881B\u881C\u881E\u881F\u8828\u882D\u882E\u8830\u8832\u8835"], - ["8fdca1", "\u883A\u883C\u8841\u8843\u8845\u8848\u8849\u884A\u884B\u884E\u8851\u8855\u8856\u8858\u885A\u885C\u885F\u8860\u8864\u8869\u8871\u8879\u887B\u8880\u8898\u889A\u889B\u889C\u889F\u88A0\u88A8\u88AA\u88BA\u88BD\u88BE\u88C0\u88CA", 4, "\u88D1\u88D2\u88D3\u88DB\u88DE\u88E7\u88EF\u88F0\u88F1\u88F5\u88F7\u8901\u8906\u890D\u890E\u890F\u8915\u8916\u8918\u8919\u891A\u891C\u8920\u8926\u8927\u8928\u8930\u8931\u8932\u8935\u8939\u893A\u893E\u8940\u8942\u8945\u8946\u8949\u894F\u8952\u8957\u895A\u895B\u895C\u8961\u8962\u8963\u896B\u896E\u8970\u8973\u8975\u897A"], - ["8fdda1", "\u897B\u897C\u897D\u8989\u898D\u8990\u8994\u8995\u899B\u899C\u899F\u89A0\u89A5\u89B0\u89B4\u89B5\u89B6\u89B7\u89BC\u89D4", 4, "\u89E5\u89E9\u89EB\u89ED\u89F1\u89F3\u89F6\u89F9\u89FD\u89FF\u8A04\u8A05\u8A07\u8A0F\u8A11\u8A12\u8A14\u8A15\u8A1E\u8A20\u8A22\u8A24\u8A26\u8A2B\u8A2C\u8A2F\u8A35\u8A37\u8A3D\u8A3E\u8A40\u8A43\u8A45\u8A47\u8A49\u8A4D\u8A4E\u8A53\u8A56\u8A57\u8A58\u8A5C\u8A5D\u8A61\u8A65\u8A67\u8A75\u8A76\u8A77\u8A79\u8A7A\u8A7B\u8A7E\u8A7F\u8A80\u8A83\u8A86\u8A8B\u8A8F\u8A90\u8A92\u8A96\u8A97\u8A99\u8A9F\u8AA7\u8AA9\u8AAE\u8AAF\u8AB3"], - ["8fdea1", "\u8AB6\u8AB7\u8ABB\u8ABE\u8AC3\u8AC6\u8AC8\u8AC9\u8ACA\u8AD1\u8AD3\u8AD4\u8AD5\u8AD7\u8ADD\u8ADF\u8AEC\u8AF0\u8AF4\u8AF5\u8AF6\u8AFC\u8AFF\u8B05\u8B06\u8B0B\u8B11\u8B1C\u8B1E\u8B1F\u8B0A\u8B2D\u8B30\u8B37\u8B3C\u8B42", 4, "\u8B48\u8B52\u8B53\u8B54\u8B59\u8B4D\u8B5E\u8B63\u8B6D\u8B76\u8B78\u8B79\u8B7C\u8B7E\u8B81\u8B84\u8B85\u8B8B\u8B8D\u8B8F\u8B94\u8B95\u8B9C\u8B9E\u8B9F\u8C38\u8C39\u8C3D\u8C3E\u8C45\u8C47\u8C49\u8C4B\u8C4F\u8C51\u8C53\u8C54\u8C57\u8C58\u8C5B\u8C5D\u8C59\u8C63\u8C64\u8C66\u8C68\u8C69\u8C6D\u8C73\u8C75\u8C76\u8C7B\u8C7E\u8C86"], - ["8fdfa1", "\u8C87\u8C8B\u8C90\u8C92\u8C93\u8C99\u8C9B\u8C9C\u8CA4\u8CB9\u8CBA\u8CC5\u8CC6\u8CC9\u8CCB\u8CCF\u8CD6\u8CD5\u8CD9\u8CDD\u8CE1\u8CE8\u8CEC\u8CEF\u8CF0\u8CF2\u8CF5\u8CF7\u8CF8\u8CFE\u8CFF\u8D01\u8D03\u8D09\u8D12\u8D17\u8D1B\u8D65\u8D69\u8D6C\u8D6E\u8D7F\u8D82\u8D84\u8D88\u8D8D\u8D90\u8D91\u8D95\u8D9E\u8D9F\u8DA0\u8DA6\u8DAB\u8DAC\u8DAF\u8DB2\u8DB5\u8DB7\u8DB9\u8DBB\u8DC0\u8DC5\u8DC6\u8DC7\u8DC8\u8DCA\u8DCE\u8DD1\u8DD4\u8DD5\u8DD7\u8DD9\u8DE4\u8DE5\u8DE7\u8DEC\u8DF0\u8DBC\u8DF1\u8DF2\u8DF4\u8DFD\u8E01\u8E04\u8E05\u8E06\u8E0B\u8E11\u8E14\u8E16\u8E20\u8E21\u8E22"], - ["8fe0a1", "\u8E23\u8E26\u8E27\u8E31\u8E33\u8E36\u8E37\u8E38\u8E39\u8E3D\u8E40\u8E41\u8E4B\u8E4D\u8E4E\u8E4F\u8E54\u8E5B\u8E5C\u8E5D\u8E5E\u8E61\u8E62\u8E69\u8E6C\u8E6D\u8E6F\u8E70\u8E71\u8E79\u8E7A\u8E7B\u8E82\u8E83\u8E89\u8E90\u8E92\u8E95\u8E9A\u8E9B\u8E9D\u8E9E\u8EA2\u8EA7\u8EA9\u8EAD\u8EAE\u8EB3\u8EB5\u8EBA\u8EBB\u8EC0\u8EC1\u8EC3\u8EC4\u8EC7\u8ECF\u8ED1\u8ED4\u8EDC\u8EE8\u8EEE\u8EF0\u8EF1\u8EF7\u8EF9\u8EFA\u8EED\u8F00\u8F02\u8F07\u8F08\u8F0F\u8F10\u8F16\u8F17\u8F18\u8F1E\u8F20\u8F21\u8F23\u8F25\u8F27\u8F28\u8F2C\u8F2D\u8F2E\u8F34\u8F35\u8F36\u8F37\u8F3A\u8F40\u8F41"], - ["8fe1a1", "\u8F43\u8F47\u8F4F\u8F51", 4, "\u8F58\u8F5D\u8F5E\u8F65\u8F9D\u8FA0\u8FA1\u8FA4\u8FA5\u8FA6\u8FB5\u8FB6\u8FB8\u8FBE\u8FC0\u8FC1\u8FC6\u8FCA\u8FCB\u8FCD\u8FD0\u8FD2\u8FD3\u8FD5\u8FE0\u8FE3\u8FE4\u8FE8\u8FEE\u8FF1\u8FF5\u8FF6\u8FFB\u8FFE\u9002\u9004\u9008\u900C\u9018\u901B\u9028\u9029\u902F\u902A\u902C\u902D\u9033\u9034\u9037\u903F\u9043\u9044\u904C\u905B\u905D\u9062\u9066\u9067\u906C\u9070\u9074\u9079\u9085\u9088\u908B\u908C\u908E\u9090\u9095\u9097\u9098\u9099\u909B\u90A0\u90A1\u90A2\u90A5\u90B0\u90B2\u90B3\u90B4\u90B6\u90BD\u90CC\u90BE\u90C3"], - ["8fe2a1", "\u90C4\u90C5\u90C7\u90C8\u90D5\u90D7\u90D8\u90D9\u90DC\u90DD\u90DF\u90E5\u90D2\u90F6\u90EB\u90EF\u90F0\u90F4\u90FE\u90FF\u9100\u9104\u9105\u9106\u9108\u910D\u9110\u9114\u9116\u9117\u9118\u911A\u911C\u911E\u9120\u9125\u9122\u9123\u9127\u9129\u912E\u912F\u9131\u9134\u9136\u9137\u9139\u913A\u913C\u913D\u9143\u9147\u9148\u914F\u9153\u9157\u9159\u915A\u915B\u9161\u9164\u9167\u916D\u9174\u9179\u917A\u917B\u9181\u9183\u9185\u9186\u918A\u918E\u9191\u9193\u9194\u9195\u9198\u919E\u91A1\u91A6\u91A8\u91AC\u91AD\u91AE\u91B0\u91B1\u91B2\u91B3\u91B6\u91BB\u91BC\u91BD\u91BF"], - ["8fe3a1", "\u91C2\u91C3\u91C5\u91D3\u91D4\u91D7\u91D9\u91DA\u91DE\u91E4\u91E5\u91E9\u91EA\u91EC", 5, "\u91F7\u91F9\u91FB\u91FD\u9200\u9201\u9204\u9205\u9206\u9207\u9209\u920A\u920C\u9210\u9212\u9213\u9216\u9218\u921C\u921D\u9223\u9224\u9225\u9226\u9228\u922E\u922F\u9230\u9233\u9235\u9236\u9238\u9239\u923A\u923C\u923E\u9240\u9242\u9243\u9246\u9247\u924A\u924D\u924E\u924F\u9251\u9258\u9259\u925C\u925D\u9260\u9261\u9265\u9267\u9268\u9269\u926E\u926F\u9270\u9275", 4, "\u927B\u927C\u927D\u927F\u9288\u9289\u928A\u928D\u928E\u9292\u9297"], - ["8fe4a1", "\u9299\u929F\u92A0\u92A4\u92A5\u92A7\u92A8\u92AB\u92AF\u92B2\u92B6\u92B8\u92BA\u92BB\u92BC\u92BD\u92BF", 4, "\u92C5\u92C6\u92C7\u92C8\u92CB\u92CC\u92CD\u92CE\u92D0\u92D3\u92D5\u92D7\u92D8\u92D9\u92DC\u92DD\u92DF\u92E0\u92E1\u92E3\u92E5\u92E7\u92E8\u92EC\u92EE\u92F0\u92F9\u92FB\u92FF\u9300\u9302\u9308\u930D\u9311\u9314\u9315\u931C\u931D\u931E\u931F\u9321\u9324\u9325\u9327\u9329\u932A\u9333\u9334\u9336\u9337\u9347\u9348\u9349\u9350\u9351\u9352\u9355\u9357\u9358\u935A\u935E\u9364\u9365\u9367\u9369\u936A\u936D\u936F\u9370\u9371\u9373\u9374\u9376"], - ["8fe5a1", "\u937A\u937D\u937F\u9380\u9381\u9382\u9388\u938A\u938B\u938D\u938F\u9392\u9395\u9398\u939B\u939E\u93A1\u93A3\u93A4\u93A6\u93A8\u93AB\u93B4\u93B5\u93B6\u93BA\u93A9\u93C1\u93C4\u93C5\u93C6\u93C7\u93C9", 4, "\u93D3\u93D9\u93DC\u93DE\u93DF\u93E2\u93E6\u93E7\u93F9\u93F7\u93F8\u93FA\u93FB\u93FD\u9401\u9402\u9404\u9408\u9409\u940D\u940E\u940F\u9415\u9416\u9417\u941F\u942E\u942F\u9431\u9432\u9433\u9434\u943B\u943F\u943D\u9443\u9445\u9448\u944A\u944C\u9455\u9459\u945C\u945F\u9461\u9463\u9468\u946B\u946D\u946E\u946F\u9471\u9472\u9484\u9483\u9578\u9579"], - ["8fe6a1", "\u957E\u9584\u9588\u958C\u958D\u958E\u959D\u959E\u959F\u95A1\u95A6\u95A9\u95AB\u95AC\u95B4\u95B6\u95BA\u95BD\u95BF\u95C6\u95C8\u95C9\u95CB\u95D0\u95D1\u95D2\u95D3\u95D9\u95DA\u95DD\u95DE\u95DF\u95E0\u95E4\u95E6\u961D\u961E\u9622\u9624\u9625\u9626\u962C\u9631\u9633\u9637\u9638\u9639\u963A\u963C\u963D\u9641\u9652\u9654\u9656\u9657\u9658\u9661\u966E\u9674\u967B\u967C\u967E\u967F\u9681\u9682\u9683\u9684\u9689\u9691\u9696\u969A\u969D\u969F\u96A4\u96A5\u96A6\u96A9\u96AE\u96AF\u96B3\u96BA\u96CA\u96D2\u5DB2\u96D8\u96DA\u96DD\u96DE\u96DF\u96E9\u96EF\u96F1\u96FA\u9702"], - ["8fe7a1", "\u9703\u9705\u9709\u971A\u971B\u971D\u9721\u9722\u9723\u9728\u9731\u9733\u9741\u9743\u974A\u974E\u974F\u9755\u9757\u9758\u975A\u975B\u9763\u9767\u976A\u976E\u9773\u9776\u9777\u9778\u977B\u977D\u977F\u9780\u9789\u9795\u9796\u9797\u9799\u979A\u979E\u979F\u97A2\u97AC\u97AE\u97B1\u97B2\u97B5\u97B6\u97B8\u97B9\u97BA\u97BC\u97BE\u97BF\u97C1\u97C4\u97C5\u97C7\u97C9\u97CA\u97CC\u97CD\u97CE\u97D0\u97D1\u97D4\u97D7\u97D8\u97D9\u97DD\u97DE\u97E0\u97DB\u97E1\u97E4\u97EF\u97F1\u97F4\u97F7\u97F8\u97FA\u9807\u980A\u9819\u980D\u980E\u9814\u9816\u981C\u981E\u9820\u9823\u9826"], - ["8fe8a1", "\u982B\u982E\u982F\u9830\u9832\u9833\u9835\u9825\u983E\u9844\u9847\u984A\u9851\u9852\u9853\u9856\u9857\u9859\u985A\u9862\u9863\u9865\u9866\u986A\u986C\u98AB\u98AD\u98AE\u98B0\u98B4\u98B7\u98B8\u98BA\u98BB\u98BF\u98C2\u98C5\u98C8\u98CC\u98E1\u98E3\u98E5\u98E6\u98E7\u98EA\u98F3\u98F6\u9902\u9907\u9908\u9911\u9915\u9916\u9917\u991A\u991B\u991C\u991F\u9922\u9926\u9927\u992B\u9931", 4, "\u9939\u993A\u993B\u993C\u9940\u9941\u9946\u9947\u9948\u994D\u994E\u9954\u9958\u9959\u995B\u995C\u995E\u995F\u9960\u999B\u999D\u999F\u99A6\u99B0\u99B1\u99B2\u99B5"], - ["8fe9a1", "\u99B9\u99BA\u99BD\u99BF\u99C3\u99C9\u99D3\u99D4\u99D9\u99DA\u99DC\u99DE\u99E7\u99EA\u99EB\u99EC\u99F0\u99F4\u99F5\u99F9\u99FD\u99FE\u9A02\u9A03\u9A04\u9A0B\u9A0C\u9A10\u9A11\u9A16\u9A1E\u9A20\u9A22\u9A23\u9A24\u9A27\u9A2D\u9A2E\u9A33\u9A35\u9A36\u9A38\u9A47\u9A41\u9A44\u9A4A\u9A4B\u9A4C\u9A4E\u9A51\u9A54\u9A56\u9A5D\u9AAA\u9AAC\u9AAE\u9AAF\u9AB2\u9AB4\u9AB5\u9AB6\u9AB9\u9ABB\u9ABE\u9ABF\u9AC1\u9AC3\u9AC6\u9AC8\u9ACE\u9AD0\u9AD2\u9AD5\u9AD6\u9AD7\u9ADB\u9ADC\u9AE0\u9AE4\u9AE5\u9AE7\u9AE9\u9AEC\u9AF2\u9AF3\u9AF5\u9AF9\u9AFA\u9AFD\u9AFF", 4], - ["8feaa1", "\u9B04\u9B05\u9B08\u9B09\u9B0B\u9B0C\u9B0D\u9B0E\u9B10\u9B12\u9B16\u9B19\u9B1B\u9B1C\u9B20\u9B26\u9B2B\u9B2D\u9B33\u9B34\u9B35\u9B37\u9B39\u9B3A\u9B3D\u9B48\u9B4B\u9B4C\u9B55\u9B56\u9B57\u9B5B\u9B5E\u9B61\u9B63\u9B65\u9B66\u9B68\u9B6A", 4, "\u9B73\u9B75\u9B77\u9B78\u9B79\u9B7F\u9B80\u9B84\u9B85\u9B86\u9B87\u9B89\u9B8A\u9B8B\u9B8D\u9B8F\u9B90\u9B94\u9B9A\u9B9D\u9B9E\u9BA6\u9BA7\u9BA9\u9BAC\u9BB0\u9BB1\u9BB2\u9BB7\u9BB8\u9BBB\u9BBC\u9BBE\u9BBF\u9BC1\u9BC7\u9BC8\u9BCE\u9BD0\u9BD7\u9BD8\u9BDD\u9BDF\u9BE5\u9BE7\u9BEA\u9BEB\u9BEF\u9BF3\u9BF7\u9BF8"], - ["8feba1", "\u9BF9\u9BFA\u9BFD\u9BFF\u9C00\u9C02\u9C0B\u9C0F\u9C11\u9C16\u9C18\u9C19\u9C1A\u9C1C\u9C1E\u9C22\u9C23\u9C26", 4, "\u9C31\u9C35\u9C36\u9C37\u9C3D\u9C41\u9C43\u9C44\u9C45\u9C49\u9C4A\u9C4E\u9C4F\u9C50\u9C53\u9C54\u9C56\u9C58\u9C5B\u9C5D\u9C5E\u9C5F\u9C63\u9C69\u9C6A\u9C5C\u9C6B\u9C68\u9C6E\u9C70\u9C72\u9C75\u9C77\u9C7B\u9CE6\u9CF2\u9CF7\u9CF9\u9D0B\u9D02\u9D11\u9D17\u9D18\u9D1C\u9D1D\u9D1E\u9D2F\u9D30\u9D32\u9D33\u9D34\u9D3A\u9D3C\u9D45\u9D3D\u9D42\u9D43\u9D47\u9D4A\u9D53\u9D54\u9D5F\u9D63\u9D62\u9D65\u9D69\u9D6A\u9D6B\u9D70\u9D76\u9D77\u9D7B"], - ["8feca1", "\u9D7C\u9D7E\u9D83\u9D84\u9D86\u9D8A\u9D8D\u9D8E\u9D92\u9D93\u9D95\u9D96\u9D97\u9D98\u9DA1\u9DAA\u9DAC\u9DAE\u9DB1\u9DB5\u9DB9\u9DBC\u9DBF\u9DC3\u9DC7\u9DC9\u9DCA\u9DD4\u9DD5\u9DD6\u9DD7\u9DDA\u9DDE\u9DDF\u9DE0\u9DE5\u9DE7\u9DE9\u9DEB\u9DEE\u9DF0\u9DF3\u9DF4\u9DFE\u9E0A\u9E02\u9E07\u9E0E\u9E10\u9E11\u9E12\u9E15\u9E16\u9E19\u9E1C\u9E1D\u9E7A\u9E7B\u9E7C\u9E80\u9E82\u9E83\u9E84\u9E85\u9E87\u9E8E\u9E8F\u9E96\u9E98\u9E9B\u9E9E\u9EA4\u9EA8\u9EAC\u9EAE\u9EAF\u9EB0\u9EB3\u9EB4\u9EB5\u9EC6\u9EC8\u9ECB\u9ED5\u9EDF\u9EE4\u9EE7\u9EEC\u9EED\u9EEE\u9EF0\u9EF1\u9EF2\u9EF5"], - ["8feda1", "\u9EF8\u9EFF\u9F02\u9F03\u9F09\u9F0F\u9F10\u9F11\u9F12\u9F14\u9F16\u9F17\u9F19\u9F1A\u9F1B\u9F1F\u9F22\u9F26\u9F2A\u9F2B\u9F2F\u9F31\u9F32\u9F34\u9F37\u9F39\u9F3A\u9F3C\u9F3D\u9F3F\u9F41\u9F43", 4, "\u9F53\u9F55\u9F56\u9F57\u9F58\u9F5A\u9F5D\u9F5E\u9F68\u9F69\u9F6D", 4, "\u9F73\u9F75\u9F7A\u9F7D\u9F8F\u9F90\u9F91\u9F92\u9F94\u9F96\u9F97\u9F9E\u9FA1\u9FA2\u9FA3\u9FA5"] - ]; - } -}); - -// node_modules/iconv-lite/encodings/tables/cp936.json -var require_cp936 = __commonJS({ - "node_modules/iconv-lite/encodings/tables/cp936.json"(exports2, module2) { - module2.exports = [ - ["0", "\0", 127, "\u20AC"], - ["8140", "\u4E02\u4E04\u4E05\u4E06\u4E0F\u4E12\u4E17\u4E1F\u4E20\u4E21\u4E23\u4E26\u4E29\u4E2E\u4E2F\u4E31\u4E33\u4E35\u4E37\u4E3C\u4E40\u4E41\u4E42\u4E44\u4E46\u4E4A\u4E51\u4E55\u4E57\u4E5A\u4E5B\u4E62\u4E63\u4E64\u4E65\u4E67\u4E68\u4E6A", 5, "\u4E72\u4E74", 9, "\u4E7F", 6, "\u4E87\u4E8A"], - ["8180", "\u4E90\u4E96\u4E97\u4E99\u4E9C\u4E9D\u4E9E\u4EA3\u4EAA\u4EAF\u4EB0\u4EB1\u4EB4\u4EB6\u4EB7\u4EB8\u4EB9\u4EBC\u4EBD\u4EBE\u4EC8\u4ECC\u4ECF\u4ED0\u4ED2\u4EDA\u4EDB\u4EDC\u4EE0\u4EE2\u4EE6\u4EE7\u4EE9\u4EED\u4EEE\u4EEF\u4EF1\u4EF4\u4EF8\u4EF9\u4EFA\u4EFC\u4EFE\u4F00\u4F02", 6, "\u4F0B\u4F0C\u4F12", 4, "\u4F1C\u4F1D\u4F21\u4F23\u4F28\u4F29\u4F2C\u4F2D\u4F2E\u4F31\u4F33\u4F35\u4F37\u4F39\u4F3B\u4F3E", 4, "\u4F44\u4F45\u4F47", 5, "\u4F52\u4F54\u4F56\u4F61\u4F62\u4F66\u4F68\u4F6A\u4F6B\u4F6D\u4F6E\u4F71\u4F72\u4F75\u4F77\u4F78\u4F79\u4F7A\u4F7D\u4F80\u4F81\u4F82\u4F85\u4F86\u4F87\u4F8A\u4F8C\u4F8E\u4F90\u4F92\u4F93\u4F95\u4F96\u4F98\u4F99\u4F9A\u4F9C\u4F9E\u4F9F\u4FA1\u4FA2"], - ["8240", "\u4FA4\u4FAB\u4FAD\u4FB0", 4, "\u4FB6", 8, "\u4FC0\u4FC1\u4FC2\u4FC6\u4FC7\u4FC8\u4FC9\u4FCB\u4FCC\u4FCD\u4FD2", 4, "\u4FD9\u4FDB\u4FE0\u4FE2\u4FE4\u4FE5\u4FE7\u4FEB\u4FEC\u4FF0\u4FF2\u4FF4\u4FF5\u4FF6\u4FF7\u4FF9\u4FFB\u4FFC\u4FFD\u4FFF", 11], - ["8280", "\u500B\u500E\u5010\u5011\u5013\u5015\u5016\u5017\u501B\u501D\u501E\u5020\u5022\u5023\u5024\u5027\u502B\u502F", 10, "\u503B\u503D\u503F\u5040\u5041\u5042\u5044\u5045\u5046\u5049\u504A\u504B\u504D\u5050", 4, "\u5056\u5057\u5058\u5059\u505B\u505D", 7, "\u5066", 5, "\u506D", 8, "\u5078\u5079\u507A\u507C\u507D\u5081\u5082\u5083\u5084\u5086\u5087\u5089\u508A\u508B\u508C\u508E", 20, "\u50A4\u50A6\u50AA\u50AB\u50AD", 4, "\u50B3", 6, "\u50BC"], - ["8340", "\u50BD", 17, "\u50D0", 5, "\u50D7\u50D8\u50D9\u50DB", 10, "\u50E8\u50E9\u50EA\u50EB\u50EF\u50F0\u50F1\u50F2\u50F4\u50F6", 4, "\u50FC", 9, "\u5108"], - ["8380", "\u5109\u510A\u510C", 5, "\u5113", 13, "\u5122", 28, "\u5142\u5147\u514A\u514C\u514E\u514F\u5150\u5152\u5153\u5157\u5158\u5159\u515B\u515D", 4, "\u5163\u5164\u5166\u5167\u5169\u516A\u516F\u5172\u517A\u517E\u517F\u5183\u5184\u5186\u5187\u518A\u518B\u518E\u518F\u5190\u5191\u5193\u5194\u5198\u519A\u519D\u519E\u519F\u51A1\u51A3\u51A6", 4, "\u51AD\u51AE\u51B4\u51B8\u51B9\u51BA\u51BE\u51BF\u51C1\u51C2\u51C3\u51C5\u51C8\u51CA\u51CD\u51CE\u51D0\u51D2", 5], - ["8440", "\u51D8\u51D9\u51DA\u51DC\u51DE\u51DF\u51E2\u51E3\u51E5", 5, "\u51EC\u51EE\u51F1\u51F2\u51F4\u51F7\u51FE\u5204\u5205\u5209\u520B\u520C\u520F\u5210\u5213\u5214\u5215\u521C\u521E\u521F\u5221\u5222\u5223\u5225\u5226\u5227\u522A\u522C\u522F\u5231\u5232\u5234\u5235\u523C\u523E\u5244", 5, "\u524B\u524E\u524F\u5252\u5253\u5255\u5257\u5258"], - ["8480", "\u5259\u525A\u525B\u525D\u525F\u5260\u5262\u5263\u5264\u5266\u5268\u526B\u526C\u526D\u526E\u5270\u5271\u5273", 9, "\u527E\u5280\u5283", 4, "\u5289", 6, "\u5291\u5292\u5294", 6, "\u529C\u52A4\u52A5\u52A6\u52A7\u52AE\u52AF\u52B0\u52B4", 9, "\u52C0\u52C1\u52C2\u52C4\u52C5\u52C6\u52C8\u52CA\u52CC\u52CD\u52CE\u52CF\u52D1\u52D3\u52D4\u52D5\u52D7\u52D9", 5, "\u52E0\u52E1\u52E2\u52E3\u52E5", 10, "\u52F1", 7, "\u52FB\u52FC\u52FD\u5301\u5302\u5303\u5304\u5307\u5309\u530A\u530B\u530C\u530E"], - ["8540", "\u5311\u5312\u5313\u5314\u5318\u531B\u531C\u531E\u531F\u5322\u5324\u5325\u5327\u5328\u5329\u532B\u532C\u532D\u532F", 9, "\u533C\u533D\u5340\u5342\u5344\u5346\u534B\u534C\u534D\u5350\u5354\u5358\u5359\u535B\u535D\u5365\u5368\u536A\u536C\u536D\u5372\u5376\u5379\u537B\u537C\u537D\u537E\u5380\u5381\u5383\u5387\u5388\u538A\u538E\u538F"], - ["8580", "\u5390", 4, "\u5396\u5397\u5399\u539B\u539C\u539E\u53A0\u53A1\u53A4\u53A7\u53AA\u53AB\u53AC\u53AD\u53AF", 6, "\u53B7\u53B8\u53B9\u53BA\u53BC\u53BD\u53BE\u53C0\u53C3", 4, "\u53CE\u53CF\u53D0\u53D2\u53D3\u53D5\u53DA\u53DC\u53DD\u53DE\u53E1\u53E2\u53E7\u53F4\u53FA\u53FE\u53FF\u5400\u5402\u5405\u5407\u540B\u5414\u5418\u5419\u541A\u541C\u5422\u5424\u5425\u542A\u5430\u5433\u5436\u5437\u543A\u543D\u543F\u5441\u5442\u5444\u5445\u5447\u5449\u544C\u544D\u544E\u544F\u5451\u545A\u545D", 4, "\u5463\u5465\u5467\u5469", 7, "\u5474\u5479\u547A\u547E\u547F\u5481\u5483\u5485\u5487\u5488\u5489\u548A\u548D\u5491\u5493\u5497\u5498\u549C\u549E\u549F\u54A0\u54A1"], - ["8640", "\u54A2\u54A5\u54AE\u54B0\u54B2\u54B5\u54B6\u54B7\u54B9\u54BA\u54BC\u54BE\u54C3\u54C5\u54CA\u54CB\u54D6\u54D8\u54DB\u54E0", 4, "\u54EB\u54EC\u54EF\u54F0\u54F1\u54F4", 5, "\u54FB\u54FE\u5500\u5502\u5503\u5504\u5505\u5508\u550A", 4, "\u5512\u5513\u5515", 5, "\u551C\u551D\u551E\u551F\u5521\u5525\u5526"], - ["8680", "\u5528\u5529\u552B\u552D\u5532\u5534\u5535\u5536\u5538\u5539\u553A\u553B\u553D\u5540\u5542\u5545\u5547\u5548\u554B", 4, "\u5551\u5552\u5553\u5554\u5557", 4, "\u555D\u555E\u555F\u5560\u5562\u5563\u5568\u5569\u556B\u556F", 5, "\u5579\u557A\u557D\u557F\u5585\u5586\u558C\u558D\u558E\u5590\u5592\u5593\u5595\u5596\u5597\u559A\u559B\u559E\u55A0", 6, "\u55A8", 8, "\u55B2\u55B4\u55B6\u55B8\u55BA\u55BC\u55BF", 4, "\u55C6\u55C7\u55C8\u55CA\u55CB\u55CE\u55CF\u55D0\u55D5\u55D7", 4, "\u55DE\u55E0\u55E2\u55E7\u55E9\u55ED\u55EE\u55F0\u55F1\u55F4\u55F6\u55F8", 4, "\u55FF\u5602\u5603\u5604\u5605"], - ["8740", "\u5606\u5607\u560A\u560B\u560D\u5610", 7, "\u5619\u561A\u561C\u561D\u5620\u5621\u5622\u5625\u5626\u5628\u5629\u562A\u562B\u562E\u562F\u5630\u5633\u5635\u5637\u5638\u563A\u563C\u563D\u563E\u5640", 11, "\u564F", 4, "\u5655\u5656\u565A\u565B\u565D", 4], - ["8780", "\u5663\u5665\u5666\u5667\u566D\u566E\u566F\u5670\u5672\u5673\u5674\u5675\u5677\u5678\u5679\u567A\u567D", 7, "\u5687", 6, "\u5690\u5691\u5692\u5694", 14, "\u56A4", 10, "\u56B0", 6, "\u56B8\u56B9\u56BA\u56BB\u56BD", 12, "\u56CB", 8, "\u56D5\u56D6\u56D8\u56D9\u56DC\u56E3\u56E5", 5, "\u56EC\u56EE\u56EF\u56F2\u56F3\u56F6\u56F7\u56F8\u56FB\u56FC\u5700\u5701\u5702\u5705\u5707\u570B", 6], - ["8840", "\u5712", 9, "\u571D\u571E\u5720\u5721\u5722\u5724\u5725\u5726\u5727\u572B\u5731\u5732\u5734", 4, "\u573C\u573D\u573F\u5741\u5743\u5744\u5745\u5746\u5748\u5749\u574B\u5752", 4, "\u5758\u5759\u5762\u5763\u5765\u5767\u576C\u576E\u5770\u5771\u5772\u5774\u5775\u5778\u5779\u577A\u577D\u577E\u577F\u5780"], - ["8880", "\u5781\u5787\u5788\u5789\u578A\u578D", 4, "\u5794", 6, "\u579C\u579D\u579E\u579F\u57A5\u57A8\u57AA\u57AC\u57AF\u57B0\u57B1\u57B3\u57B5\u57B6\u57B7\u57B9", 8, "\u57C4", 6, "\u57CC\u57CD\u57D0\u57D1\u57D3\u57D6\u57D7\u57DB\u57DC\u57DE\u57E1\u57E2\u57E3\u57E5", 7, "\u57EE\u57F0\u57F1\u57F2\u57F3\u57F5\u57F6\u57F7\u57FB\u57FC\u57FE\u57FF\u5801\u5803\u5804\u5805\u5808\u5809\u580A\u580C\u580E\u580F\u5810\u5812\u5813\u5814\u5816\u5817\u5818\u581A\u581B\u581C\u581D\u581F\u5822\u5823\u5825", 4, "\u582B", 4, "\u5831\u5832\u5833\u5834\u5836", 7], - ["8940", "\u583E", 5, "\u5845", 6, "\u584E\u584F\u5850\u5852\u5853\u5855\u5856\u5857\u5859", 4, "\u585F", 5, "\u5866", 4, "\u586D", 16, "\u587F\u5882\u5884\u5886\u5887\u5888\u588A\u588B\u588C"], - ["8980", "\u588D", 4, "\u5894", 4, "\u589B\u589C\u589D\u58A0", 7, "\u58AA", 17, "\u58BD\u58BE\u58BF\u58C0\u58C2\u58C3\u58C4\u58C6", 10, "\u58D2\u58D3\u58D4\u58D6", 13, "\u58E5", 5, "\u58ED\u58EF\u58F1\u58F2\u58F4\u58F5\u58F7\u58F8\u58FA", 7, "\u5903\u5905\u5906\u5908", 4, "\u590E\u5910\u5911\u5912\u5913\u5917\u5918\u591B\u591D\u591E\u5920\u5921\u5922\u5923\u5926\u5928\u592C\u5930\u5932\u5933\u5935\u5936\u593B"], - ["8a40", "\u593D\u593E\u593F\u5940\u5943\u5945\u5946\u594A\u594C\u594D\u5950\u5952\u5953\u5959\u595B", 4, "\u5961\u5963\u5964\u5966", 12, "\u5975\u5977\u597A\u597B\u597C\u597E\u597F\u5980\u5985\u5989\u598B\u598C\u598E\u598F\u5990\u5991\u5994\u5995\u5998\u599A\u599B\u599C\u599D\u599F\u59A0\u59A1\u59A2\u59A6"], - ["8a80", "\u59A7\u59AC\u59AD\u59B0\u59B1\u59B3", 5, "\u59BA\u59BC\u59BD\u59BF", 6, "\u59C7\u59C8\u59C9\u59CC\u59CD\u59CE\u59CF\u59D5\u59D6\u59D9\u59DB\u59DE", 4, "\u59E4\u59E6\u59E7\u59E9\u59EA\u59EB\u59ED", 11, "\u59FA\u59FC\u59FD\u59FE\u5A00\u5A02\u5A0A\u5A0B\u5A0D\u5A0E\u5A0F\u5A10\u5A12\u5A14\u5A15\u5A16\u5A17\u5A19\u5A1A\u5A1B\u5A1D\u5A1E\u5A21\u5A22\u5A24\u5A26\u5A27\u5A28\u5A2A", 6, "\u5A33\u5A35\u5A37", 4, "\u5A3D\u5A3E\u5A3F\u5A41", 4, "\u5A47\u5A48\u5A4B", 9, "\u5A56\u5A57\u5A58\u5A59\u5A5B", 5], - ["8b40", "\u5A61\u5A63\u5A64\u5A65\u5A66\u5A68\u5A69\u5A6B", 8, "\u5A78\u5A79\u5A7B\u5A7C\u5A7D\u5A7E\u5A80", 17, "\u5A93", 6, "\u5A9C", 13, "\u5AAB\u5AAC"], - ["8b80", "\u5AAD", 4, "\u5AB4\u5AB6\u5AB7\u5AB9", 4, "\u5ABF\u5AC0\u5AC3", 5, "\u5ACA\u5ACB\u5ACD", 4, "\u5AD3\u5AD5\u5AD7\u5AD9\u5ADA\u5ADB\u5ADD\u5ADE\u5ADF\u5AE2\u5AE4\u5AE5\u5AE7\u5AE8\u5AEA\u5AEC", 4, "\u5AF2", 22, "\u5B0A", 11, "\u5B18", 25, "\u5B33\u5B35\u5B36\u5B38", 7, "\u5B41", 6], - ["8c40", "\u5B48", 7, "\u5B52\u5B56\u5B5E\u5B60\u5B61\u5B67\u5B68\u5B6B\u5B6D\u5B6E\u5B6F\u5B72\u5B74\u5B76\u5B77\u5B78\u5B79\u5B7B\u5B7C\u5B7E\u5B7F\u5B82\u5B86\u5B8A\u5B8D\u5B8E\u5B90\u5B91\u5B92\u5B94\u5B96\u5B9F\u5BA7\u5BA8\u5BA9\u5BAC\u5BAD\u5BAE\u5BAF\u5BB1\u5BB2\u5BB7\u5BBA\u5BBB\u5BBC\u5BC0\u5BC1\u5BC3\u5BC8\u5BC9\u5BCA\u5BCB\u5BCD\u5BCE\u5BCF"], - ["8c80", "\u5BD1\u5BD4", 8, "\u5BE0\u5BE2\u5BE3\u5BE6\u5BE7\u5BE9", 4, "\u5BEF\u5BF1", 6, "\u5BFD\u5BFE\u5C00\u5C02\u5C03\u5C05\u5C07\u5C08\u5C0B\u5C0C\u5C0D\u5C0E\u5C10\u5C12\u5C13\u5C17\u5C19\u5C1B\u5C1E\u5C1F\u5C20\u5C21\u5C23\u5C26\u5C28\u5C29\u5C2A\u5C2B\u5C2D\u5C2E\u5C2F\u5C30\u5C32\u5C33\u5C35\u5C36\u5C37\u5C43\u5C44\u5C46\u5C47\u5C4C\u5C4D\u5C52\u5C53\u5C54\u5C56\u5C57\u5C58\u5C5A\u5C5B\u5C5C\u5C5D\u5C5F\u5C62\u5C64\u5C67", 6, "\u5C70\u5C72", 6, "\u5C7B\u5C7C\u5C7D\u5C7E\u5C80\u5C83", 4, "\u5C89\u5C8A\u5C8B\u5C8E\u5C8F\u5C92\u5C93\u5C95\u5C9D", 4, "\u5CA4", 4], - ["8d40", "\u5CAA\u5CAE\u5CAF\u5CB0\u5CB2\u5CB4\u5CB6\u5CB9\u5CBA\u5CBB\u5CBC\u5CBE\u5CC0\u5CC2\u5CC3\u5CC5", 5, "\u5CCC", 5, "\u5CD3", 5, "\u5CDA", 6, "\u5CE2\u5CE3\u5CE7\u5CE9\u5CEB\u5CEC\u5CEE\u5CEF\u5CF1", 9, "\u5CFC", 4], - ["8d80", "\u5D01\u5D04\u5D05\u5D08", 5, "\u5D0F", 4, "\u5D15\u5D17\u5D18\u5D19\u5D1A\u5D1C\u5D1D\u5D1F", 4, "\u5D25\u5D28\u5D2A\u5D2B\u5D2C\u5D2F", 4, "\u5D35", 7, "\u5D3F", 7, "\u5D48\u5D49\u5D4D", 10, "\u5D59\u5D5A\u5D5C\u5D5E", 10, "\u5D6A\u5D6D\u5D6E\u5D70\u5D71\u5D72\u5D73\u5D75", 12, "\u5D83", 21, "\u5D9A\u5D9B\u5D9C\u5D9E\u5D9F\u5DA0"], - ["8e40", "\u5DA1", 21, "\u5DB8", 12, "\u5DC6", 6, "\u5DCE", 12, "\u5DDC\u5DDF\u5DE0\u5DE3\u5DE4\u5DEA\u5DEC\u5DED"], - ["8e80", "\u5DF0\u5DF5\u5DF6\u5DF8", 4, "\u5DFF\u5E00\u5E04\u5E07\u5E09\u5E0A\u5E0B\u5E0D\u5E0E\u5E12\u5E13\u5E17\u5E1E", 7, "\u5E28", 4, "\u5E2F\u5E30\u5E32", 4, "\u5E39\u5E3A\u5E3E\u5E3F\u5E40\u5E41\u5E43\u5E46", 5, "\u5E4D", 6, "\u5E56", 4, "\u5E5C\u5E5D\u5E5F\u5E60\u5E63", 14, "\u5E75\u5E77\u5E79\u5E7E\u5E81\u5E82\u5E83\u5E85\u5E88\u5E89\u5E8C\u5E8D\u5E8E\u5E92\u5E98\u5E9B\u5E9D\u5EA1\u5EA2\u5EA3\u5EA4\u5EA8", 4, "\u5EAE", 4, "\u5EB4\u5EBA\u5EBB\u5EBC\u5EBD\u5EBF", 6], - ["8f40", "\u5EC6\u5EC7\u5EC8\u5ECB", 5, "\u5ED4\u5ED5\u5ED7\u5ED8\u5ED9\u5EDA\u5EDC", 11, "\u5EE9\u5EEB", 8, "\u5EF5\u5EF8\u5EF9\u5EFB\u5EFC\u5EFD\u5F05\u5F06\u5F07\u5F09\u5F0C\u5F0D\u5F0E\u5F10\u5F12\u5F14\u5F16\u5F19\u5F1A\u5F1C\u5F1D\u5F1E\u5F21\u5F22\u5F23\u5F24"], - ["8f80", "\u5F28\u5F2B\u5F2C\u5F2E\u5F30\u5F32", 6, "\u5F3B\u5F3D\u5F3E\u5F3F\u5F41", 14, "\u5F51\u5F54\u5F59\u5F5A\u5F5B\u5F5C\u5F5E\u5F5F\u5F60\u5F63\u5F65\u5F67\u5F68\u5F6B\u5F6E\u5F6F\u5F72\u5F74\u5F75\u5F76\u5F78\u5F7A\u5F7D\u5F7E\u5F7F\u5F83\u5F86\u5F8D\u5F8E\u5F8F\u5F91\u5F93\u5F94\u5F96\u5F9A\u5F9B\u5F9D\u5F9E\u5F9F\u5FA0\u5FA2", 5, "\u5FA9\u5FAB\u5FAC\u5FAF", 5, "\u5FB6\u5FB8\u5FB9\u5FBA\u5FBB\u5FBE", 4, "\u5FC7\u5FC8\u5FCA\u5FCB\u5FCE\u5FD3\u5FD4\u5FD5\u5FDA\u5FDB\u5FDC\u5FDE\u5FDF\u5FE2\u5FE3\u5FE5\u5FE6\u5FE8\u5FE9\u5FEC\u5FEF\u5FF0\u5FF2\u5FF3\u5FF4\u5FF6\u5FF7\u5FF9\u5FFA\u5FFC\u6007"], - ["9040", "\u6008\u6009\u600B\u600C\u6010\u6011\u6013\u6017\u6018\u601A\u601E\u601F\u6022\u6023\u6024\u602C\u602D\u602E\u6030", 4, "\u6036", 4, "\u603D\u603E\u6040\u6044", 6, "\u604C\u604E\u604F\u6051\u6053\u6054\u6056\u6057\u6058\u605B\u605C\u605E\u605F\u6060\u6061\u6065\u6066\u606E\u6071\u6072\u6074\u6075\u6077\u607E\u6080"], - ["9080", "\u6081\u6082\u6085\u6086\u6087\u6088\u608A\u608B\u608E\u608F\u6090\u6091\u6093\u6095\u6097\u6098\u6099\u609C\u609E\u60A1\u60A2\u60A4\u60A5\u60A7\u60A9\u60AA\u60AE\u60B0\u60B3\u60B5\u60B6\u60B7\u60B9\u60BA\u60BD", 7, "\u60C7\u60C8\u60C9\u60CC", 4, "\u60D2\u60D3\u60D4\u60D6\u60D7\u60D9\u60DB\u60DE\u60E1", 4, "\u60EA\u60F1\u60F2\u60F5\u60F7\u60F8\u60FB", 4, "\u6102\u6103\u6104\u6105\u6107\u610A\u610B\u610C\u6110", 4, "\u6116\u6117\u6118\u6119\u611B\u611C\u611D\u611E\u6121\u6122\u6125\u6128\u6129\u612A\u612C", 18, "\u6140", 6], - ["9140", "\u6147\u6149\u614B\u614D\u614F\u6150\u6152\u6153\u6154\u6156", 6, "\u615E\u615F\u6160\u6161\u6163\u6164\u6165\u6166\u6169", 6, "\u6171\u6172\u6173\u6174\u6176\u6178", 18, "\u618C\u618D\u618F", 4, "\u6195"], - ["9180", "\u6196", 6, "\u619E", 8, "\u61AA\u61AB\u61AD", 9, "\u61B8", 5, "\u61BF\u61C0\u61C1\u61C3", 4, "\u61C9\u61CC", 4, "\u61D3\u61D5", 16, "\u61E7", 13, "\u61F6", 8, "\u6200", 5, "\u6207\u6209\u6213\u6214\u6219\u621C\u621D\u621E\u6220\u6223\u6226\u6227\u6228\u6229\u622B\u622D\u622F\u6230\u6231\u6232\u6235\u6236\u6238", 4, "\u6242\u6244\u6245\u6246\u624A"], - ["9240", "\u624F\u6250\u6255\u6256\u6257\u6259\u625A\u625C", 6, "\u6264\u6265\u6268\u6271\u6272\u6274\u6275\u6277\u6278\u627A\u627B\u627D\u6281\u6282\u6283\u6285\u6286\u6287\u6288\u628B", 5, "\u6294\u6299\u629C\u629D\u629E\u62A3\u62A6\u62A7\u62A9\u62AA\u62AD\u62AE\u62AF\u62B0\u62B2\u62B3\u62B4\u62B6\u62B7\u62B8\u62BA\u62BE\u62C0\u62C1"], - ["9280", "\u62C3\u62CB\u62CF\u62D1\u62D5\u62DD\u62DE\u62E0\u62E1\u62E4\u62EA\u62EB\u62F0\u62F2\u62F5\u62F8\u62F9\u62FA\u62FB\u6300\u6303\u6304\u6305\u6306\u630A\u630B\u630C\u630D\u630F\u6310\u6312\u6313\u6314\u6315\u6317\u6318\u6319\u631C\u6326\u6327\u6329\u632C\u632D\u632E\u6330\u6331\u6333", 5, "\u633B\u633C\u633E\u633F\u6340\u6341\u6344\u6347\u6348\u634A\u6351\u6352\u6353\u6354\u6356", 7, "\u6360\u6364\u6365\u6366\u6368\u636A\u636B\u636C\u636F\u6370\u6372\u6373\u6374\u6375\u6378\u6379\u637C\u637D\u637E\u637F\u6381\u6383\u6384\u6385\u6386\u638B\u638D\u6391\u6393\u6394\u6395\u6397\u6399", 6, "\u63A1\u63A4\u63A6\u63AB\u63AF\u63B1\u63B2\u63B5\u63B6\u63B9\u63BB\u63BD\u63BF\u63C0"], - ["9340", "\u63C1\u63C2\u63C3\u63C5\u63C7\u63C8\u63CA\u63CB\u63CC\u63D1\u63D3\u63D4\u63D5\u63D7", 6, "\u63DF\u63E2\u63E4", 4, "\u63EB\u63EC\u63EE\u63EF\u63F0\u63F1\u63F3\u63F5\u63F7\u63F9\u63FA\u63FB\u63FC\u63FE\u6403\u6404\u6406", 4, "\u640D\u640E\u6411\u6412\u6415", 5, "\u641D\u641F\u6422\u6423\u6424"], - ["9380", "\u6425\u6427\u6428\u6429\u642B\u642E", 5, "\u6435", 4, "\u643B\u643C\u643E\u6440\u6442\u6443\u6449\u644B", 6, "\u6453\u6455\u6456\u6457\u6459", 4, "\u645F", 7, "\u6468\u646A\u646B\u646C\u646E", 9, "\u647B", 6, "\u6483\u6486\u6488", 8, "\u6493\u6494\u6497\u6498\u649A\u649B\u649C\u649D\u649F", 4, "\u64A5\u64A6\u64A7\u64A8\u64AA\u64AB\u64AF\u64B1\u64B2\u64B3\u64B4\u64B6\u64B9\u64BB\u64BD\u64BE\u64BF\u64C1\u64C3\u64C4\u64C6", 6, "\u64CF\u64D1\u64D3\u64D4\u64D5\u64D6\u64D9\u64DA"], - ["9440", "\u64DB\u64DC\u64DD\u64DF\u64E0\u64E1\u64E3\u64E5\u64E7", 24, "\u6501", 7, "\u650A", 7, "\u6513", 4, "\u6519", 8], - ["9480", "\u6522\u6523\u6524\u6526", 4, "\u652C\u652D\u6530\u6531\u6532\u6533\u6537\u653A\u653C\u653D\u6540", 4, "\u6546\u6547\u654A\u654B\u654D\u654E\u6550\u6552\u6553\u6554\u6557\u6558\u655A\u655C\u655F\u6560\u6561\u6564\u6565\u6567\u6568\u6569\u656A\u656D\u656E\u656F\u6571\u6573\u6575\u6576\u6578", 14, "\u6588\u6589\u658A\u658D\u658E\u658F\u6592\u6594\u6595\u6596\u6598\u659A\u659D\u659E\u65A0\u65A2\u65A3\u65A6\u65A8\u65AA\u65AC\u65AE\u65B1", 7, "\u65BA\u65BB\u65BE\u65BF\u65C0\u65C2\u65C7\u65C8\u65C9\u65CA\u65CD\u65D0\u65D1\u65D3\u65D4\u65D5\u65D8", 7, "\u65E1\u65E3\u65E4\u65EA\u65EB"], - ["9540", "\u65F2\u65F3\u65F4\u65F5\u65F8\u65F9\u65FB", 4, "\u6601\u6604\u6605\u6607\u6608\u6609\u660B\u660D\u6610\u6611\u6612\u6616\u6617\u6618\u661A\u661B\u661C\u661E\u6621\u6622\u6623\u6624\u6626\u6629\u662A\u662B\u662C\u662E\u6630\u6632\u6633\u6637", 4, "\u663D\u663F\u6640\u6642\u6644", 6, "\u664D\u664E\u6650\u6651\u6658"], - ["9580", "\u6659\u665B\u665C\u665D\u665E\u6660\u6662\u6663\u6665\u6667\u6669", 4, "\u6671\u6672\u6673\u6675\u6678\u6679\u667B\u667C\u667D\u667F\u6680\u6681\u6683\u6685\u6686\u6688\u6689\u668A\u668B\u668D\u668E\u668F\u6690\u6692\u6693\u6694\u6695\u6698", 4, "\u669E", 8, "\u66A9", 4, "\u66AF", 4, "\u66B5\u66B6\u66B7\u66B8\u66BA\u66BB\u66BC\u66BD\u66BF", 25, "\u66DA\u66DE", 7, "\u66E7\u66E8\u66EA", 5, "\u66F1\u66F5\u66F6\u66F8\u66FA\u66FB\u66FD\u6701\u6702\u6703"], - ["9640", "\u6704\u6705\u6706\u6707\u670C\u670E\u670F\u6711\u6712\u6713\u6716\u6718\u6719\u671A\u671C\u671E\u6720", 5, "\u6727\u6729\u672E\u6730\u6732\u6733\u6736\u6737\u6738\u6739\u673B\u673C\u673E\u673F\u6741\u6744\u6745\u6747\u674A\u674B\u674D\u6752\u6754\u6755\u6757", 4, "\u675D\u6762\u6763\u6764\u6766\u6767\u676B\u676C\u676E\u6771\u6774\u6776"], - ["9680", "\u6778\u6779\u677A\u677B\u677D\u6780\u6782\u6783\u6785\u6786\u6788\u678A\u678C\u678D\u678E\u678F\u6791\u6792\u6793\u6794\u6796\u6799\u679B\u679F\u67A0\u67A1\u67A4\u67A6\u67A9\u67AC\u67AE\u67B1\u67B2\u67B4\u67B9", 7, "\u67C2\u67C5", 9, "\u67D5\u67D6\u67D7\u67DB\u67DF\u67E1\u67E3\u67E4\u67E6\u67E7\u67E8\u67EA\u67EB\u67ED\u67EE\u67F2\u67F5", 7, "\u67FE\u6801\u6802\u6803\u6804\u6806\u680D\u6810\u6812\u6814\u6815\u6818", 4, "\u681E\u681F\u6820\u6822", 6, "\u682B", 6, "\u6834\u6835\u6836\u683A\u683B\u683F\u6847\u684B\u684D\u684F\u6852\u6856", 5], - ["9740", "\u685C\u685D\u685E\u685F\u686A\u686C", 7, "\u6875\u6878", 8, "\u6882\u6884\u6887", 7, "\u6890\u6891\u6892\u6894\u6895\u6896\u6898", 9, "\u68A3\u68A4\u68A5\u68A9\u68AA\u68AB\u68AC\u68AE\u68B1\u68B2\u68B4\u68B6\u68B7\u68B8"], - ["9780", "\u68B9", 6, "\u68C1\u68C3", 5, "\u68CA\u68CC\u68CE\u68CF\u68D0\u68D1\u68D3\u68D4\u68D6\u68D7\u68D9\u68DB", 4, "\u68E1\u68E2\u68E4", 9, "\u68EF\u68F2\u68F3\u68F4\u68F6\u68F7\u68F8\u68FB\u68FD\u68FE\u68FF\u6900\u6902\u6903\u6904\u6906", 4, "\u690C\u690F\u6911\u6913", 11, "\u6921\u6922\u6923\u6925", 7, "\u692E\u692F\u6931\u6932\u6933\u6935\u6936\u6937\u6938\u693A\u693B\u693C\u693E\u6940\u6941\u6943", 16, "\u6955\u6956\u6958\u6959\u695B\u695C\u695F"], - ["9840", "\u6961\u6962\u6964\u6965\u6967\u6968\u6969\u696A\u696C\u696D\u696F\u6970\u6972", 4, "\u697A\u697B\u697D\u697E\u697F\u6981\u6983\u6985\u698A\u698B\u698C\u698E", 5, "\u6996\u6997\u6999\u699A\u699D", 9, "\u69A9\u69AA\u69AC\u69AE\u69AF\u69B0\u69B2\u69B3\u69B5\u69B6\u69B8\u69B9\u69BA\u69BC\u69BD"], - ["9880", "\u69BE\u69BF\u69C0\u69C2", 7, "\u69CB\u69CD\u69CF\u69D1\u69D2\u69D3\u69D5", 5, "\u69DC\u69DD\u69DE\u69E1", 11, "\u69EE\u69EF\u69F0\u69F1\u69F3", 9, "\u69FE\u6A00", 9, "\u6A0B", 11, "\u6A19", 5, "\u6A20\u6A22", 5, "\u6A29\u6A2B\u6A2C\u6A2D\u6A2E\u6A30\u6A32\u6A33\u6A34\u6A36", 6, "\u6A3F", 4, "\u6A45\u6A46\u6A48", 7, "\u6A51", 6, "\u6A5A"], - ["9940", "\u6A5C", 4, "\u6A62\u6A63\u6A64\u6A66", 10, "\u6A72", 6, "\u6A7A\u6A7B\u6A7D\u6A7E\u6A7F\u6A81\u6A82\u6A83\u6A85", 8, "\u6A8F\u6A92", 4, "\u6A98", 7, "\u6AA1", 5], - ["9980", "\u6AA7\u6AA8\u6AAA\u6AAD", 114, "\u6B25\u6B26\u6B28", 6], - ["9a40", "\u6B2F\u6B30\u6B31\u6B33\u6B34\u6B35\u6B36\u6B38\u6B3B\u6B3C\u6B3D\u6B3F\u6B40\u6B41\u6B42\u6B44\u6B45\u6B48\u6B4A\u6B4B\u6B4D", 11, "\u6B5A", 7, "\u6B68\u6B69\u6B6B", 13, "\u6B7A\u6B7D\u6B7E\u6B7F\u6B80\u6B85\u6B88"], - ["9a80", "\u6B8C\u6B8E\u6B8F\u6B90\u6B91\u6B94\u6B95\u6B97\u6B98\u6B99\u6B9C", 4, "\u6BA2", 7, "\u6BAB", 7, "\u6BB6\u6BB8", 6, "\u6BC0\u6BC3\u6BC4\u6BC6", 4, "\u6BCC\u6BCE\u6BD0\u6BD1\u6BD8\u6BDA\u6BDC", 4, "\u6BE2", 7, "\u6BEC\u6BED\u6BEE\u6BF0\u6BF1\u6BF2\u6BF4\u6BF6\u6BF7\u6BF8\u6BFA\u6BFB\u6BFC\u6BFE", 6, "\u6C08", 4, "\u6C0E\u6C12\u6C17\u6C1C\u6C1D\u6C1E\u6C20\u6C23\u6C25\u6C2B\u6C2C\u6C2D\u6C31\u6C33\u6C36\u6C37\u6C39\u6C3A\u6C3B\u6C3C\u6C3E\u6C3F\u6C43\u6C44\u6C45\u6C48\u6C4B", 4, "\u6C51\u6C52\u6C53\u6C56\u6C58"], - ["9b40", "\u6C59\u6C5A\u6C62\u6C63\u6C65\u6C66\u6C67\u6C6B", 4, "\u6C71\u6C73\u6C75\u6C77\u6C78\u6C7A\u6C7B\u6C7C\u6C7F\u6C80\u6C84\u6C87\u6C8A\u6C8B\u6C8D\u6C8E\u6C91\u6C92\u6C95\u6C96\u6C97\u6C98\u6C9A\u6C9C\u6C9D\u6C9E\u6CA0\u6CA2\u6CA8\u6CAC\u6CAF\u6CB0\u6CB4\u6CB5\u6CB6\u6CB7\u6CBA\u6CC0\u6CC1\u6CC2\u6CC3\u6CC6\u6CC7\u6CC8\u6CCB\u6CCD\u6CCE\u6CCF\u6CD1\u6CD2\u6CD8"], - ["9b80", "\u6CD9\u6CDA\u6CDC\u6CDD\u6CDF\u6CE4\u6CE6\u6CE7\u6CE9\u6CEC\u6CED\u6CF2\u6CF4\u6CF9\u6CFF\u6D00\u6D02\u6D03\u6D05\u6D06\u6D08\u6D09\u6D0A\u6D0D\u6D0F\u6D10\u6D11\u6D13\u6D14\u6D15\u6D16\u6D18\u6D1C\u6D1D\u6D1F", 5, "\u6D26\u6D28\u6D29\u6D2C\u6D2D\u6D2F\u6D30\u6D34\u6D36\u6D37\u6D38\u6D3A\u6D3F\u6D40\u6D42\u6D44\u6D49\u6D4C\u6D50\u6D55\u6D56\u6D57\u6D58\u6D5B\u6D5D\u6D5F\u6D61\u6D62\u6D64\u6D65\u6D67\u6D68\u6D6B\u6D6C\u6D6D\u6D70\u6D71\u6D72\u6D73\u6D75\u6D76\u6D79\u6D7A\u6D7B\u6D7D", 4, "\u6D83\u6D84\u6D86\u6D87\u6D8A\u6D8B\u6D8D\u6D8F\u6D90\u6D92\u6D96", 4, "\u6D9C\u6DA2\u6DA5\u6DAC\u6DAD\u6DB0\u6DB1\u6DB3\u6DB4\u6DB6\u6DB7\u6DB9", 5, "\u6DC1\u6DC2\u6DC3\u6DC8\u6DC9\u6DCA"], - ["9c40", "\u6DCD\u6DCE\u6DCF\u6DD0\u6DD2\u6DD3\u6DD4\u6DD5\u6DD7\u6DDA\u6DDB\u6DDC\u6DDF\u6DE2\u6DE3\u6DE5\u6DE7\u6DE8\u6DE9\u6DEA\u6DED\u6DEF\u6DF0\u6DF2\u6DF4\u6DF5\u6DF6\u6DF8\u6DFA\u6DFD", 7, "\u6E06\u6E07\u6E08\u6E09\u6E0B\u6E0F\u6E12\u6E13\u6E15\u6E18\u6E19\u6E1B\u6E1C\u6E1E\u6E1F\u6E22\u6E26\u6E27\u6E28\u6E2A\u6E2C\u6E2E\u6E30\u6E31\u6E33\u6E35"], - ["9c80", "\u6E36\u6E37\u6E39\u6E3B", 7, "\u6E45", 7, "\u6E4F\u6E50\u6E51\u6E52\u6E55\u6E57\u6E59\u6E5A\u6E5C\u6E5D\u6E5E\u6E60", 10, "\u6E6C\u6E6D\u6E6F", 14, "\u6E80\u6E81\u6E82\u6E84\u6E87\u6E88\u6E8A", 4, "\u6E91", 6, "\u6E99\u6E9A\u6E9B\u6E9D\u6E9E\u6EA0\u6EA1\u6EA3\u6EA4\u6EA6\u6EA8\u6EA9\u6EAB\u6EAC\u6EAD\u6EAE\u6EB0\u6EB3\u6EB5\u6EB8\u6EB9\u6EBC\u6EBE\u6EBF\u6EC0\u6EC3\u6EC4\u6EC5\u6EC6\u6EC8\u6EC9\u6ECA\u6ECC\u6ECD\u6ECE\u6ED0\u6ED2\u6ED6\u6ED8\u6ED9\u6EDB\u6EDC\u6EDD\u6EE3\u6EE7\u6EEA", 5], - ["9d40", "\u6EF0\u6EF1\u6EF2\u6EF3\u6EF5\u6EF6\u6EF7\u6EF8\u6EFA", 7, "\u6F03\u6F04\u6F05\u6F07\u6F08\u6F0A", 4, "\u6F10\u6F11\u6F12\u6F16", 9, "\u6F21\u6F22\u6F23\u6F25\u6F26\u6F27\u6F28\u6F2C\u6F2E\u6F30\u6F32\u6F34\u6F35\u6F37", 6, "\u6F3F\u6F40\u6F41\u6F42"], - ["9d80", "\u6F43\u6F44\u6F45\u6F48\u6F49\u6F4A\u6F4C\u6F4E", 9, "\u6F59\u6F5A\u6F5B\u6F5D\u6F5F\u6F60\u6F61\u6F63\u6F64\u6F65\u6F67", 5, "\u6F6F\u6F70\u6F71\u6F73\u6F75\u6F76\u6F77\u6F79\u6F7B\u6F7D", 6, "\u6F85\u6F86\u6F87\u6F8A\u6F8B\u6F8F", 12, "\u6F9D\u6F9E\u6F9F\u6FA0\u6FA2", 4, "\u6FA8", 10, "\u6FB4\u6FB5\u6FB7\u6FB8\u6FBA", 5, "\u6FC1\u6FC3", 5, "\u6FCA", 6, "\u6FD3", 10, "\u6FDF\u6FE2\u6FE3\u6FE4\u6FE5"], - ["9e40", "\u6FE6", 7, "\u6FF0", 32, "\u7012", 7, "\u701C", 6, "\u7024", 6], - ["9e80", "\u702B", 9, "\u7036\u7037\u7038\u703A", 17, "\u704D\u704E\u7050", 13, "\u705F", 11, "\u706E\u7071\u7072\u7073\u7074\u7077\u7079\u707A\u707B\u707D\u7081\u7082\u7083\u7084\u7086\u7087\u7088\u708B\u708C\u708D\u708F\u7090\u7091\u7093\u7097\u7098\u709A\u709B\u709E", 12, "\u70B0\u70B2\u70B4\u70B5\u70B6\u70BA\u70BE\u70BF\u70C4\u70C5\u70C6\u70C7\u70C9\u70CB", 12, "\u70DA"], - ["9f40", "\u70DC\u70DD\u70DE\u70E0\u70E1\u70E2\u70E3\u70E5\u70EA\u70EE\u70F0", 6, "\u70F8\u70FA\u70FB\u70FC\u70FE", 10, "\u710B", 4, "\u7111\u7112\u7114\u7117\u711B", 10, "\u7127", 7, "\u7132\u7133\u7134"], - ["9f80", "\u7135\u7137", 13, "\u7146\u7147\u7148\u7149\u714B\u714D\u714F", 12, "\u715D\u715F", 4, "\u7165\u7169", 4, "\u716F\u7170\u7171\u7174\u7175\u7176\u7177\u7179\u717B\u717C\u717E", 5, "\u7185", 4, "\u718B\u718C\u718D\u718E\u7190\u7191\u7192\u7193\u7195\u7196\u7197\u719A", 4, "\u71A1", 6, "\u71A9\u71AA\u71AB\u71AD", 5, "\u71B4\u71B6\u71B7\u71B8\u71BA", 8, "\u71C4", 9, "\u71CF", 4], - ["a040", "\u71D6", 9, "\u71E1\u71E2\u71E3\u71E4\u71E6\u71E8", 5, "\u71EF", 9, "\u71FA", 11, "\u7207", 19], - ["a080", "\u721B\u721C\u721E", 9, "\u7229\u722B\u722D\u722E\u722F\u7232\u7233\u7234\u723A\u723C\u723E\u7240", 6, "\u7249\u724A\u724B\u724E\u724F\u7250\u7251\u7253\u7254\u7255\u7257\u7258\u725A\u725C\u725E\u7260\u7263\u7264\u7265\u7268\u726A\u726B\u726C\u726D\u7270\u7271\u7273\u7274\u7276\u7277\u7278\u727B\u727C\u727D\u7282\u7283\u7285", 4, "\u728C\u728E\u7290\u7291\u7293", 11, "\u72A0", 11, "\u72AE\u72B1\u72B2\u72B3\u72B5\u72BA", 6, "\u72C5\u72C6\u72C7\u72C9\u72CA\u72CB\u72CC\u72CF\u72D1\u72D3\u72D4\u72D5\u72D6\u72D8\u72DA\u72DB"], - ["a1a1", "\u3000\u3001\u3002\xB7\u02C9\u02C7\xA8\u3003\u3005\u2014\uFF5E\u2016\u2026\u2018\u2019\u201C\u201D\u3014\u3015\u3008", 7, "\u3016\u3017\u3010\u3011\xB1\xD7\xF7\u2236\u2227\u2228\u2211\u220F\u222A\u2229\u2208\u2237\u221A\u22A5\u2225\u2220\u2312\u2299\u222B\u222E\u2261\u224C\u2248\u223D\u221D\u2260\u226E\u226F\u2264\u2265\u221E\u2235\u2234\u2642\u2640\xB0\u2032\u2033\u2103\uFF04\xA4\uFFE0\uFFE1\u2030\xA7\u2116\u2606\u2605\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3\u25B2\u203B\u2192\u2190\u2191\u2193\u3013"], - ["a2a1", "\u2170", 9], - ["a2b1", "\u2488", 19, "\u2474", 19, "\u2460", 9], - ["a2e5", "\u3220", 9], - ["a2f1", "\u2160", 11], - ["a3a1", "\uFF01\uFF02\uFF03\uFFE5\uFF05", 88, "\uFFE3"], - ["a4a1", "\u3041", 82], - ["a5a1", "\u30A1", 85], - ["a6a1", "\u0391", 16, "\u03A3", 6], - ["a6c1", "\u03B1", 16, "\u03C3", 6], - ["a6e0", "\uFE35\uFE36\uFE39\uFE3A\uFE3F\uFE40\uFE3D\uFE3E\uFE41\uFE42\uFE43\uFE44"], - ["a6ee", "\uFE3B\uFE3C\uFE37\uFE38\uFE31"], - ["a6f4", "\uFE33\uFE34"], - ["a7a1", "\u0410", 5, "\u0401\u0416", 25], - ["a7d1", "\u0430", 5, "\u0451\u0436", 25], - ["a840", "\u02CA\u02CB\u02D9\u2013\u2015\u2025\u2035\u2105\u2109\u2196\u2197\u2198\u2199\u2215\u221F\u2223\u2252\u2266\u2267\u22BF\u2550", 35, "\u2581", 6], - ["a880", "\u2588", 7, "\u2593\u2594\u2595\u25BC\u25BD\u25E2\u25E3\u25E4\u25E5\u2609\u2295\u3012\u301D\u301E"], - ["a8a1", "\u0101\xE1\u01CE\xE0\u0113\xE9\u011B\xE8\u012B\xED\u01D0\xEC\u014D\xF3\u01D2\xF2\u016B\xFA\u01D4\xF9\u01D6\u01D8\u01DA\u01DC\xFC\xEA\u0251"], - ["a8bd", "\u0144\u0148"], - ["a8c0", "\u0261"], - ["a8c5", "\u3105", 36], - ["a940", "\u3021", 8, "\u32A3\u338E\u338F\u339C\u339D\u339E\u33A1\u33C4\u33CE\u33D1\u33D2\u33D5\uFE30\uFFE2\uFFE4"], - ["a959", "\u2121\u3231"], - ["a95c", "\u2010"], - ["a960", "\u30FC\u309B\u309C\u30FD\u30FE\u3006\u309D\u309E\uFE49", 9, "\uFE54\uFE55\uFE56\uFE57\uFE59", 8], - ["a980", "\uFE62", 4, "\uFE68\uFE69\uFE6A\uFE6B"], - ["a996", "\u3007"], - ["a9a4", "\u2500", 75], - ["aa40", "\u72DC\u72DD\u72DF\u72E2", 5, "\u72EA\u72EB\u72F5\u72F6\u72F9\u72FD\u72FE\u72FF\u7300\u7302\u7304", 5, "\u730B\u730C\u730D\u730F\u7310\u7311\u7312\u7314\u7318\u7319\u731A\u731F\u7320\u7323\u7324\u7326\u7327\u7328\u732D\u732F\u7330\u7332\u7333\u7335\u7336\u733A\u733B\u733C\u733D\u7340", 8], - ["aa80", "\u7349\u734A\u734B\u734C\u734E\u734F\u7351\u7353\u7354\u7355\u7356\u7358", 7, "\u7361", 10, "\u736E\u7370\u7371"], - ["ab40", "\u7372", 11, "\u737F", 4, "\u7385\u7386\u7388\u738A\u738C\u738D\u738F\u7390\u7392\u7393\u7394\u7395\u7397\u7398\u7399\u739A\u739C\u739D\u739E\u73A0\u73A1\u73A3", 5, "\u73AA\u73AC\u73AD\u73B1\u73B4\u73B5\u73B6\u73B8\u73B9\u73BC\u73BD\u73BE\u73BF\u73C1\u73C3", 4], - ["ab80", "\u73CB\u73CC\u73CE\u73D2", 6, "\u73DA\u73DB\u73DC\u73DD\u73DF\u73E1\u73E2\u73E3\u73E4\u73E6\u73E8\u73EA\u73EB\u73EC\u73EE\u73EF\u73F0\u73F1\u73F3", 4], - ["ac40", "\u73F8", 10, "\u7404\u7407\u7408\u740B\u740C\u740D\u740E\u7411", 8, "\u741C", 5, "\u7423\u7424\u7427\u7429\u742B\u742D\u742F\u7431\u7432\u7437", 4, "\u743D\u743E\u743F\u7440\u7442", 11], - ["ac80", "\u744E", 6, "\u7456\u7458\u745D\u7460", 12, "\u746E\u746F\u7471", 4, "\u7478\u7479\u747A"], - ["ad40", "\u747B\u747C\u747D\u747F\u7482\u7484\u7485\u7486\u7488\u7489\u748A\u748C\u748D\u748F\u7491", 10, "\u749D\u749F", 7, "\u74AA", 15, "\u74BB", 12], - ["ad80", "\u74C8", 9, "\u74D3", 8, "\u74DD\u74DF\u74E1\u74E5\u74E7", 6, "\u74F0\u74F1\u74F2"], - ["ae40", "\u74F3\u74F5\u74F8", 6, "\u7500\u7501\u7502\u7503\u7505", 7, "\u750E\u7510\u7512\u7514\u7515\u7516\u7517\u751B\u751D\u751E\u7520", 4, "\u7526\u7527\u752A\u752E\u7534\u7536\u7539\u753C\u753D\u753F\u7541\u7542\u7543\u7544\u7546\u7547\u7549\u754A\u754D\u7550\u7551\u7552\u7553\u7555\u7556\u7557\u7558"], - ["ae80", "\u755D", 7, "\u7567\u7568\u7569\u756B", 6, "\u7573\u7575\u7576\u7577\u757A", 4, "\u7580\u7581\u7582\u7584\u7585\u7587"], - ["af40", "\u7588\u7589\u758A\u758C\u758D\u758E\u7590\u7593\u7595\u7598\u759B\u759C\u759E\u75A2\u75A6", 4, "\u75AD\u75B6\u75B7\u75BA\u75BB\u75BF\u75C0\u75C1\u75C6\u75CB\u75CC\u75CE\u75CF\u75D0\u75D1\u75D3\u75D7\u75D9\u75DA\u75DC\u75DD\u75DF\u75E0\u75E1\u75E5\u75E9\u75EC\u75ED\u75EE\u75EF\u75F2\u75F3\u75F5\u75F6\u75F7\u75F8\u75FA\u75FB\u75FD\u75FE\u7602\u7604\u7606\u7607"], - ["af80", "\u7608\u7609\u760B\u760D\u760E\u760F\u7611\u7612\u7613\u7614\u7616\u761A\u761C\u761D\u761E\u7621\u7623\u7627\u7628\u762C\u762E\u762F\u7631\u7632\u7636\u7637\u7639\u763A\u763B\u763D\u7641\u7642\u7644"], - ["b040", "\u7645", 6, "\u764E", 5, "\u7655\u7657", 4, "\u765D\u765F\u7660\u7661\u7662\u7664", 6, "\u766C\u766D\u766E\u7670", 7, "\u7679\u767A\u767C\u767F\u7680\u7681\u7683\u7685\u7689\u768A\u768C\u768D\u768F\u7690\u7692\u7694\u7695\u7697\u7698\u769A\u769B"], - ["b080", "\u769C", 7, "\u76A5", 8, "\u76AF\u76B0\u76B3\u76B5", 9, "\u76C0\u76C1\u76C3\u554A\u963F\u57C3\u6328\u54CE\u5509\u54C0\u7691\u764C\u853C\u77EE\u827E\u788D\u7231\u9698\u978D\u6C28\u5B89\u4FFA\u6309\u6697\u5CB8\u80FA\u6848\u80AE\u6602\u76CE\u51F9\u6556\u71AC\u7FF1\u8884\u50B2\u5965\u61CA\u6FB3\u82AD\u634C\u6252\u53ED\u5427\u7B06\u516B\u75A4\u5DF4\u62D4\u8DCB\u9776\u628A\u8019\u575D\u9738\u7F62\u7238\u767D\u67CF\u767E\u6446\u4F70\u8D25\u62DC\u7A17\u6591\u73ED\u642C\u6273\u822C\u9881\u677F\u7248\u626E\u62CC\u4F34\u74E3\u534A\u529E\u7ECA\u90A6\u5E2E\u6886\u699C\u8180\u7ED1\u68D2\u78C5\u868C\u9551\u508D\u8C24\u82DE\u80DE\u5305\u8912\u5265"], - ["b140", "\u76C4\u76C7\u76C9\u76CB\u76CC\u76D3\u76D5\u76D9\u76DA\u76DC\u76DD\u76DE\u76E0", 4, "\u76E6", 7, "\u76F0\u76F3\u76F5\u76F6\u76F7\u76FA\u76FB\u76FD\u76FF\u7700\u7702\u7703\u7705\u7706\u770A\u770C\u770E", 10, "\u771B\u771C\u771D\u771E\u7721\u7723\u7724\u7725\u7727\u772A\u772B"], - ["b180", "\u772C\u772E\u7730", 4, "\u7739\u773B\u773D\u773E\u773F\u7742\u7744\u7745\u7746\u7748", 7, "\u7752", 7, "\u775C\u8584\u96F9\u4FDD\u5821\u9971\u5B9D\u62B1\u62A5\u66B4\u8C79\u9C8D\u7206\u676F\u7891\u60B2\u5351\u5317\u8F88\u80CC\u8D1D\u94A1\u500D\u72C8\u5907\u60EB\u7119\u88AB\u5954\u82EF\u672C\u7B28\u5D29\u7EF7\u752D\u6CF5\u8E66\u8FF8\u903C\u9F3B\u6BD4\u9119\u7B14\u5F7C\u78A7\u84D6\u853D\u6BD5\u6BD9\u6BD6\u5E01\u5E87\u75F9\u95ED\u655D\u5F0A\u5FC5\u8F9F\u58C1\u81C2\u907F\u965B\u97AD\u8FB9\u7F16\u8D2C\u6241\u4FBF\u53D8\u535E\u8FA8\u8FA9\u8FAB\u904D\u6807\u5F6A\u8198\u8868\u9CD6\u618B\u522B\u762A\u5F6C\u658C\u6FD2\u6EE8\u5BBE\u6448\u5175\u51B0\u67C4\u4E19\u79C9\u997C\u70B3"], - ["b240", "\u775D\u775E\u775F\u7760\u7764\u7767\u7769\u776A\u776D", 11, "\u777A\u777B\u777C\u7781\u7782\u7783\u7786", 5, "\u778F\u7790\u7793", 11, "\u77A1\u77A3\u77A4\u77A6\u77A8\u77AB\u77AD\u77AE\u77AF\u77B1\u77B2\u77B4\u77B6", 4], - ["b280", "\u77BC\u77BE\u77C0", 12, "\u77CE", 8, "\u77D8\u77D9\u77DA\u77DD", 4, "\u77E4\u75C5\u5E76\u73BB\u83E0\u64AD\u62E8\u94B5\u6CE2\u535A\u52C3\u640F\u94C2\u7B94\u4F2F\u5E1B\u8236\u8116\u818A\u6E24\u6CCA\u9A73\u6355\u535C\u54FA\u8865\u57E0\u4E0D\u5E03\u6B65\u7C3F\u90E8\u6016\u64E6\u731C\u88C1\u6750\u624D\u8D22\u776C\u8E29\u91C7\u5F69\u83DC\u8521\u9910\u53C2\u8695\u6B8B\u60ED\u60E8\u707F\u82CD\u8231\u4ED3\u6CA7\u85CF\u64CD\u7CD9\u69FD\u66F9\u8349\u5395\u7B56\u4FA7\u518C\u6D4B\u5C42\u8E6D\u63D2\u53C9\u832C\u8336\u67E5\u78B4\u643D\u5BDF\u5C94\u5DEE\u8BE7\u62C6\u67F4\u8C7A\u6400\u63BA\u8749\u998B\u8C17\u7F20\u94F2\u4EA7\u9610\u98A4\u660C\u7316"], - ["b340", "\u77E6\u77E8\u77EA\u77EF\u77F0\u77F1\u77F2\u77F4\u77F5\u77F7\u77F9\u77FA\u77FB\u77FC\u7803", 5, "\u780A\u780B\u780E\u780F\u7810\u7813\u7815\u7819\u781B\u781E\u7820\u7821\u7822\u7824\u7828\u782A\u782B\u782E\u782F\u7831\u7832\u7833\u7835\u7836\u783D\u783F\u7841\u7842\u7843\u7844\u7846\u7848\u7849\u784A\u784B\u784D\u784F\u7851\u7853\u7854\u7858\u7859\u785A"], - ["b380", "\u785B\u785C\u785E", 11, "\u786F", 7, "\u7878\u7879\u787A\u787B\u787D", 6, "\u573A\u5C1D\u5E38\u957F\u507F\u80A0\u5382\u655E\u7545\u5531\u5021\u8D85\u6284\u949E\u671D\u5632\u6F6E\u5DE2\u5435\u7092\u8F66\u626F\u64A4\u63A3\u5F7B\u6F88\u90F4\u81E3\u8FB0\u5C18\u6668\u5FF1\u6C89\u9648\u8D81\u886C\u6491\u79F0\u57CE\u6A59\u6210\u5448\u4E58\u7A0B\u60E9\u6F84\u8BDA\u627F\u901E\u9A8B\u79E4\u5403\u75F4\u6301\u5319\u6C60\u8FDF\u5F1B\u9A70\u803B\u9F7F\u4F88\u5C3A\u8D64\u7FC5\u65A5\u70BD\u5145\u51B2\u866B\u5D07\u5BA0\u62BD\u916C\u7574\u8E0C\u7A20\u6101\u7B79\u4EC7\u7EF8\u7785\u4E11\u81ED\u521D\u51FA\u6A71\u53A8\u8E87\u9504\u96CF\u6EC1\u9664\u695A"], - ["b440", "\u7884\u7885\u7886\u7888\u788A\u788B\u788F\u7890\u7892\u7894\u7895\u7896\u7899\u789D\u789E\u78A0\u78A2\u78A4\u78A6\u78A8", 7, "\u78B5\u78B6\u78B7\u78B8\u78BA\u78BB\u78BC\u78BD\u78BF\u78C0\u78C2\u78C3\u78C4\u78C6\u78C7\u78C8\u78CC\u78CD\u78CE\u78CF\u78D1\u78D2\u78D3\u78D6\u78D7\u78D8\u78DA", 9], - ["b480", "\u78E4\u78E5\u78E6\u78E7\u78E9\u78EA\u78EB\u78ED", 4, "\u78F3\u78F5\u78F6\u78F8\u78F9\u78FB", 5, "\u7902\u7903\u7904\u7906", 6, "\u7840\u50A8\u77D7\u6410\u89E6\u5904\u63E3\u5DDD\u7A7F\u693D\u4F20\u8239\u5598\u4E32\u75AE\u7A97\u5E62\u5E8A\u95EF\u521B\u5439\u708A\u6376\u9524\u5782\u6625\u693F\u9187\u5507\u6DF3\u7EAF\u8822\u6233\u7EF0\u75B5\u8328\u78C1\u96CC\u8F9E\u6148\u74F7\u8BCD\u6B64\u523A\u8D50\u6B21\u806A\u8471\u56F1\u5306\u4ECE\u4E1B\u51D1\u7C97\u918B\u7C07\u4FC3\u8E7F\u7BE1\u7A9C\u6467\u5D14\u50AC\u8106\u7601\u7CB9\u6DEC\u7FE0\u6751\u5B58\u5BF8\u78CB\u64AE\u6413\u63AA\u632B\u9519\u642D\u8FBE\u7B54\u7629\u6253\u5927\u5446\u6B79\u50A3\u6234\u5E26\u6B86\u4EE3\u8D37\u888B\u5F85\u902E"], - ["b540", "\u790D", 5, "\u7914", 9, "\u791F", 4, "\u7925", 14, "\u7935", 4, "\u793D\u793F\u7942\u7943\u7944\u7945\u7947\u794A", 8, "\u7954\u7955\u7958\u7959\u7961\u7963"], - ["b580", "\u7964\u7966\u7969\u796A\u796B\u796C\u796E\u7970", 6, "\u7979\u797B", 4, "\u7982\u7983\u7986\u7987\u7988\u7989\u798B\u798C\u798D\u798E\u7990\u7991\u7992\u6020\u803D\u62C5\u4E39\u5355\u90F8\u63B8\u80C6\u65E6\u6C2E\u4F46\u60EE\u6DE1\u8BDE\u5F39\u86CB\u5F53\u6321\u515A\u8361\u6863\u5200\u6363\u8E48\u5012\u5C9B\u7977\u5BFC\u5230\u7A3B\u60BC\u9053\u76D7\u5FB7\u5F97\u7684\u8E6C\u706F\u767B\u7B49\u77AA\u51F3\u9093\u5824\u4F4E\u6EF4\u8FEA\u654C\u7B1B\u72C4\u6DA4\u7FDF\u5AE1\u62B5\u5E95\u5730\u8482\u7B2C\u5E1D\u5F1F\u9012\u7F14\u98A0\u6382\u6EC7\u7898\u70B9\u5178\u975B\u57AB\u7535\u4F43\u7538\u5E97\u60E6\u5960\u6DC0\u6BBF\u7889\u53FC\u96D5\u51CB\u5201\u6389\u540A\u9493\u8C03\u8DCC\u7239\u789F\u8776\u8FED\u8C0D\u53E0"], - ["b640", "\u7993", 6, "\u799B", 11, "\u79A8", 10, "\u79B4", 4, "\u79BC\u79BF\u79C2\u79C4\u79C5\u79C7\u79C8\u79CA\u79CC\u79CE\u79CF\u79D0\u79D3\u79D4\u79D6\u79D7\u79D9", 5, "\u79E0\u79E1\u79E2\u79E5\u79E8\u79EA"], - ["b680", "\u79EC\u79EE\u79F1", 6, "\u79F9\u79FA\u79FC\u79FE\u79FF\u7A01\u7A04\u7A05\u7A07\u7A08\u7A09\u7A0A\u7A0C\u7A0F", 4, "\u7A15\u7A16\u7A18\u7A19\u7A1B\u7A1C\u4E01\u76EF\u53EE\u9489\u9876\u9F0E\u952D\u5B9A\u8BA2\u4E22\u4E1C\u51AC\u8463\u61C2\u52A8\u680B\u4F97\u606B\u51BB\u6D1E\u515C\u6296\u6597\u9661\u8C46\u9017\u75D8\u90FD\u7763\u6BD2\u728A\u72EC\u8BFB\u5835\u7779\u8D4C\u675C\u9540\u809A\u5EA6\u6E21\u5992\u7AEF\u77ED\u953B\u6BB5\u65AD\u7F0E\u5806\u5151\u961F\u5BF9\u58A9\u5428\u8E72\u6566\u987F\u56E4\u949D\u76FE\u9041\u6387\u54C6\u591A\u593A\u579B\u8EB2\u6735\u8DFA\u8235\u5241\u60F0\u5815\u86FE\u5CE8\u9E45\u4FC4\u989D\u8BB9\u5A25\u6076\u5384\u627C\u904F\u9102\u997F\u6069\u800C\u513F\u8033\u5C14\u9975\u6D31\u4E8C"], - ["b740", "\u7A1D\u7A1F\u7A21\u7A22\u7A24", 14, "\u7A34\u7A35\u7A36\u7A38\u7A3A\u7A3E\u7A40", 5, "\u7A47", 9, "\u7A52", 4, "\u7A58", 16], - ["b780", "\u7A69", 6, "\u7A71\u7A72\u7A73\u7A75\u7A7B\u7A7C\u7A7D\u7A7E\u7A82\u7A85\u7A87\u7A89\u7A8A\u7A8B\u7A8C\u7A8E\u7A8F\u7A90\u7A93\u7A94\u7A99\u7A9A\u7A9B\u7A9E\u7AA1\u7AA2\u8D30\u53D1\u7F5A\u7B4F\u4F10\u4E4F\u9600\u6CD5\u73D0\u85E9\u5E06\u756A\u7FFB\u6A0A\u77FE\u9492\u7E41\u51E1\u70E6\u53CD\u8FD4\u8303\u8D29\u72AF\u996D\u6CDB\u574A\u82B3\u65B9\u80AA\u623F\u9632\u59A8\u4EFF\u8BBF\u7EBA\u653E\u83F2\u975E\u5561\u98DE\u80A5\u532A\u8BFD\u5420\u80BA\u5E9F\u6CB8\u8D39\u82AC\u915A\u5429\u6C1B\u5206\u7EB7\u575F\u711A\u6C7E\u7C89\u594B\u4EFD\u5FFF\u6124\u7CAA\u4E30\u5C01\u67AB\u8702\u5CF0\u950B\u98CE\u75AF\u70FD\u9022\u51AF\u7F1D\u8BBD\u5949\u51E4\u4F5B\u5426\u592B\u6577\u80A4\u5B75\u6276\u62C2\u8F90\u5E45\u6C1F\u7B26\u4F0F\u4FD8\u670D"], - ["b840", "\u7AA3\u7AA4\u7AA7\u7AA9\u7AAA\u7AAB\u7AAE", 4, "\u7AB4", 10, "\u7AC0", 10, "\u7ACC", 9, "\u7AD7\u7AD8\u7ADA\u7ADB\u7ADC\u7ADD\u7AE1\u7AE2\u7AE4\u7AE7", 5, "\u7AEE\u7AF0\u7AF1\u7AF2\u7AF3"], - ["b880", "\u7AF4", 4, "\u7AFB\u7AFC\u7AFE\u7B00\u7B01\u7B02\u7B05\u7B07\u7B09\u7B0C\u7B0D\u7B0E\u7B10\u7B12\u7B13\u7B16\u7B17\u7B18\u7B1A\u7B1C\u7B1D\u7B1F\u7B21\u7B22\u7B23\u7B27\u7B29\u7B2D\u6D6E\u6DAA\u798F\u88B1\u5F17\u752B\u629A\u8F85\u4FEF\u91DC\u65A7\u812F\u8151\u5E9C\u8150\u8D74\u526F\u8986\u8D4B\u590D\u5085\u4ED8\u961C\u7236\u8179\u8D1F\u5BCC\u8BA3\u9644\u5987\u7F1A\u5490\u5676\u560E\u8BE5\u6539\u6982\u9499\u76D6\u6E89\u5E72\u7518\u6746\u67D1\u7AFF\u809D\u8D76\u611F\u79C6\u6562\u8D63\u5188\u521A\u94A2\u7F38\u809B\u7EB2\u5C97\u6E2F\u6760\u7BD9\u768B\u9AD8\u818F\u7F94\u7CD5\u641E\u9550\u7A3F\u544A\u54E5\u6B4C\u6401\u6208\u9E3D\u80F3\u7599\u5272\u9769\u845B\u683C\u86E4\u9601\u9694\u94EC\u4E2A\u5404\u7ED9\u6839\u8DDF\u8015\u66F4\u5E9A\u7FB9"], - ["b940", "\u7B2F\u7B30\u7B32\u7B34\u7B35\u7B36\u7B37\u7B39\u7B3B\u7B3D\u7B3F", 5, "\u7B46\u7B48\u7B4A\u7B4D\u7B4E\u7B53\u7B55\u7B57\u7B59\u7B5C\u7B5E\u7B5F\u7B61\u7B63", 10, "\u7B6F\u7B70\u7B73\u7B74\u7B76\u7B78\u7B7A\u7B7C\u7B7D\u7B7F\u7B81\u7B82\u7B83\u7B84\u7B86", 6, "\u7B8E\u7B8F"], - ["b980", "\u7B91\u7B92\u7B93\u7B96\u7B98\u7B99\u7B9A\u7B9B\u7B9E\u7B9F\u7BA0\u7BA3\u7BA4\u7BA5\u7BAE\u7BAF\u7BB0\u7BB2\u7BB3\u7BB5\u7BB6\u7BB7\u7BB9", 7, "\u7BC2\u7BC3\u7BC4\u57C2\u803F\u6897\u5DE5\u653B\u529F\u606D\u9F9A\u4F9B\u8EAC\u516C\u5BAB\u5F13\u5DE9\u6C5E\u62F1\u8D21\u5171\u94A9\u52FE\u6C9F\u82DF\u72D7\u57A2\u6784\u8D2D\u591F\u8F9C\u83C7\u5495\u7B8D\u4F30\u6CBD\u5B64\u59D1\u9F13\u53E4\u86CA\u9AA8\u8C37\u80A1\u6545\u987E\u56FA\u96C7\u522E\u74DC\u5250\u5BE1\u6302\u8902\u4E56\u62D0\u602A\u68FA\u5173\u5B98\u51A0\u89C2\u7BA1\u9986\u7F50\u60EF\u704C\u8D2F\u5149\u5E7F\u901B\u7470\u89C4\u572D\u7845\u5F52\u9F9F\u95FA\u8F68\u9B3C\u8BE1\u7678\u6842\u67DC\u8DEA\u8D35\u523D\u8F8A\u6EDA\u68CD\u9505\u90ED\u56FD\u679C\u88F9\u8FC7\u54C8"], - ["ba40", "\u7BC5\u7BC8\u7BC9\u7BCA\u7BCB\u7BCD\u7BCE\u7BCF\u7BD0\u7BD2\u7BD4", 4, "\u7BDB\u7BDC\u7BDE\u7BDF\u7BE0\u7BE2\u7BE3\u7BE4\u7BE7\u7BE8\u7BE9\u7BEB\u7BEC\u7BED\u7BEF\u7BF0\u7BF2", 4, "\u7BF8\u7BF9\u7BFA\u7BFB\u7BFD\u7BFF", 7, "\u7C08\u7C09\u7C0A\u7C0D\u7C0E\u7C10", 5, "\u7C17\u7C18\u7C19"], - ["ba80", "\u7C1A", 4, "\u7C20", 5, "\u7C28\u7C29\u7C2B", 12, "\u7C39", 5, "\u7C42\u9AB8\u5B69\u6D77\u6C26\u4EA5\u5BB3\u9A87\u9163\u61A8\u90AF\u97E9\u542B\u6DB5\u5BD2\u51FD\u558A\u7F55\u7FF0\u64BC\u634D\u65F1\u61BE\u608D\u710A\u6C57\u6C49\u592F\u676D\u822A\u58D5\u568E\u8C6A\u6BEB\u90DD\u597D\u8017\u53F7\u6D69\u5475\u559D\u8377\u83CF\u6838\u79BE\u548C\u4F55\u5408\u76D2\u8C89\u9602\u6CB3\u6DB8\u8D6B\u8910\u9E64\u8D3A\u563F\u9ED1\u75D5\u5F88\u72E0\u6068\u54FC\u4EA8\u6A2A\u8861\u6052\u8F70\u54C4\u70D8\u8679\u9E3F\u6D2A\u5B8F\u5F18\u7EA2\u5589\u4FAF\u7334\u543C\u539A\u5019\u540E\u547C\u4E4E\u5FFD\u745A\u58F6\u846B\u80E1\u8774\u72D0\u7CCA\u6E56"], - ["bb40", "\u7C43", 9, "\u7C4E", 36, "\u7C75", 5, "\u7C7E", 9], - ["bb80", "\u7C88\u7C8A", 6, "\u7C93\u7C94\u7C96\u7C99\u7C9A\u7C9B\u7CA0\u7CA1\u7CA3\u7CA6\u7CA7\u7CA8\u7CA9\u7CAB\u7CAC\u7CAD\u7CAF\u7CB0\u7CB4", 4, "\u7CBA\u7CBB\u5F27\u864E\u552C\u62A4\u4E92\u6CAA\u6237\u82B1\u54D7\u534E\u733E\u6ED1\u753B\u5212\u5316\u8BDD\u69D0\u5F8A\u6000\u6DEE\u574F\u6B22\u73AF\u6853\u8FD8\u7F13\u6362\u60A3\u5524\u75EA\u8C62\u7115\u6DA3\u5BA6\u5E7B\u8352\u614C\u9EC4\u78FA\u8757\u7C27\u7687\u51F0\u60F6\u714C\u6643\u5E4C\u604D\u8C0E\u7070\u6325\u8F89\u5FBD\u6062\u86D4\u56DE\u6BC1\u6094\u6167\u5349\u60E0\u6666\u8D3F\u79FD\u4F1A\u70E9\u6C47\u8BB3\u8BF2\u7ED8\u8364\u660F\u5A5A\u9B42\u6D51\u6DF7\u8C41\u6D3B\u4F19\u706B\u83B7\u6216\u60D1\u970D\u8D27\u7978\u51FB\u573E\u57FA\u673A\u7578\u7A3D\u79EF\u7B95"], - ["bc40", "\u7CBF\u7CC0\u7CC2\u7CC3\u7CC4\u7CC6\u7CC9\u7CCB\u7CCE", 6, "\u7CD8\u7CDA\u7CDB\u7CDD\u7CDE\u7CE1", 6, "\u7CE9", 5, "\u7CF0", 7, "\u7CF9\u7CFA\u7CFC", 13, "\u7D0B", 5], - ["bc80", "\u7D11", 14, "\u7D21\u7D23\u7D24\u7D25\u7D26\u7D28\u7D29\u7D2A\u7D2C\u7D2D\u7D2E\u7D30", 6, "\u808C\u9965\u8FF9\u6FC0\u8BA5\u9E21\u59EC\u7EE9\u7F09\u5409\u6781\u68D8\u8F91\u7C4D\u96C6\u53CA\u6025\u75BE\u6C72\u5373\u5AC9\u7EA7\u6324\u51E0\u810A\u5DF1\u84DF\u6280\u5180\u5B63\u4F0E\u796D\u5242\u60B8\u6D4E\u5BC4\u5BC2\u8BA1\u8BB0\u65E2\u5FCC\u9645\u5993\u7EE7\u7EAA\u5609\u67B7\u5939\u4F73\u5BB6\u52A0\u835A\u988A\u8D3E\u7532\u94BE\u5047\u7A3C\u4EF7\u67B6\u9A7E\u5AC1\u6B7C\u76D1\u575A\u5C16\u7B3A\u95F4\u714E\u517C\u80A9\u8270\u5978\u7F04\u8327\u68C0\u67EC\u78B1\u7877\u62E3\u6361\u7B80\u4FED\u526A\u51CF\u8350\u69DB\u9274\u8DF5\u8D31\u89C1\u952E\u7BAD\u4EF6"], - ["bd40", "\u7D37", 54, "\u7D6F", 7], - ["bd80", "\u7D78", 32, "\u5065\u8230\u5251\u996F\u6E10\u6E85\u6DA7\u5EFA\u50F5\u59DC\u5C06\u6D46\u6C5F\u7586\u848B\u6868\u5956\u8BB2\u5320\u9171\u964D\u8549\u6912\u7901\u7126\u80F6\u4EA4\u90CA\u6D47\u9A84\u5A07\u56BC\u6405\u94F0\u77EB\u4FA5\u811A\u72E1\u89D2\u997A\u7F34\u7EDE\u527F\u6559\u9175\u8F7F\u8F83\u53EB\u7A96\u63ED\u63A5\u7686\u79F8\u8857\u9636\u622A\u52AB\u8282\u6854\u6770\u6377\u776B\u7AED\u6D01\u7ED3\u89E3\u59D0\u6212\u85C9\u82A5\u754C\u501F\u4ECB\u75A5\u8BEB\u5C4A\u5DFE\u7B4B\u65A4\u91D1\u4ECA\u6D25\u895F\u7D27\u9526\u4EC5\u8C28\u8FDB\u9773\u664B\u7981\u8FD1\u70EC\u6D78"], - ["be40", "\u7D99", 12, "\u7DA7", 6, "\u7DAF", 42], - ["be80", "\u7DDA", 32, "\u5C3D\u52B2\u8346\u5162\u830E\u775B\u6676\u9CB8\u4EAC\u60CA\u7CBE\u7CB3\u7ECF\u4E95\u8B66\u666F\u9888\u9759\u5883\u656C\u955C\u5F84\u75C9\u9756\u7ADF\u7ADE\u51C0\u70AF\u7A98\u63EA\u7A76\u7EA0\u7396\u97ED\u4E45\u7078\u4E5D\u9152\u53A9\u6551\u65E7\u81FC\u8205\u548E\u5C31\u759A\u97A0\u62D8\u72D9\u75BD\u5C45\u9A79\u83CA\u5C40\u5480\u77E9\u4E3E\u6CAE\u805A\u62D2\u636E\u5DE8\u5177\u8DDD\u8E1E\u952F\u4FF1\u53E5\u60E7\u70AC\u5267\u6350\u9E43\u5A1F\u5026\u7737\u5377\u7EE2\u6485\u652B\u6289\u6398\u5014\u7235\u89C9\u51B3\u8BC0\u7EDD\u5747\u83CC\u94A7\u519B\u541B\u5CFB"], - ["bf40", "\u7DFB", 62], - ["bf80", "\u7E3A\u7E3C", 4, "\u7E42", 4, "\u7E48", 21, "\u4FCA\u7AE3\u6D5A\u90E1\u9A8F\u5580\u5496\u5361\u54AF\u5F00\u63E9\u6977\u51EF\u6168\u520A\u582A\u52D8\u574E\u780D\u770B\u5EB7\u6177\u7CE0\u625B\u6297\u4EA2\u7095\u8003\u62F7\u70E4\u9760\u5777\u82DB\u67EF\u68F5\u78D5\u9897\u79D1\u58F3\u54B3\u53EF\u6E34\u514B\u523B\u5BA2\u8BFE\u80AF\u5543\u57A6\u6073\u5751\u542D\u7A7A\u6050\u5B54\u63A7\u62A0\u53E3\u6263\u5BC7\u67AF\u54ED\u7A9F\u82E6\u9177\u5E93\u88E4\u5938\u57AE\u630E\u8DE8\u80EF\u5757\u7B77\u4FA9\u5FEB\u5BBD\u6B3E\u5321\u7B50\u72C2\u6846\u77FF\u7736\u65F7\u51B5\u4E8F\u76D4\u5CBF\u7AA5\u8475\u594E\u9B41\u5080"], - ["c040", "\u7E5E", 35, "\u7E83", 23, "\u7E9C\u7E9D\u7E9E"], - ["c080", "\u7EAE\u7EB4\u7EBB\u7EBC\u7ED6\u7EE4\u7EEC\u7EF9\u7F0A\u7F10\u7F1E\u7F37\u7F39\u7F3B", 6, "\u7F43\u7F46", 9, "\u7F52\u7F53\u9988\u6127\u6E83\u5764\u6606\u6346\u56F0\u62EC\u6269\u5ED3\u9614\u5783\u62C9\u5587\u8721\u814A\u8FA3\u5566\u83B1\u6765\u8D56\u84DD\u5A6A\u680F\u62E6\u7BEE\u9611\u5170\u6F9C\u8C30\u63FD\u89C8\u61D2\u7F06\u70C2\u6EE5\u7405\u6994\u72FC\u5ECA\u90CE\u6717\u6D6A\u635E\u52B3\u7262\u8001\u4F6C\u59E5\u916A\u70D9\u6D9D\u52D2\u4E50\u96F7\u956D\u857E\u78CA\u7D2F\u5121\u5792\u64C2\u808B\u7C7B\u6CEA\u68F1\u695E\u51B7\u5398\u68A8\u7281\u9ECE\u7BF1\u72F8\u79BB\u6F13\u7406\u674E\u91CC\u9CA4\u793C\u8389\u8354\u540F\u6817\u4E3D\u5389\u52B1\u783E\u5386\u5229\u5088\u4F8B\u4FD0"], - ["c140", "\u7F56\u7F59\u7F5B\u7F5C\u7F5D\u7F5E\u7F60\u7F63", 4, "\u7F6B\u7F6C\u7F6D\u7F6F\u7F70\u7F73\u7F75\u7F76\u7F77\u7F78\u7F7A\u7F7B\u7F7C\u7F7D\u7F7F\u7F80\u7F82", 7, "\u7F8B\u7F8D\u7F8F", 4, "\u7F95", 4, "\u7F9B\u7F9C\u7FA0\u7FA2\u7FA3\u7FA5\u7FA6\u7FA8", 6, "\u7FB1"], - ["c180", "\u7FB3", 4, "\u7FBA\u7FBB\u7FBE\u7FC0\u7FC2\u7FC3\u7FC4\u7FC6\u7FC7\u7FC8\u7FC9\u7FCB\u7FCD\u7FCF", 4, "\u7FD6\u7FD7\u7FD9", 5, "\u7FE2\u7FE3\u75E2\u7ACB\u7C92\u6CA5\u96B6\u529B\u7483\u54E9\u4FE9\u8054\u83B2\u8FDE\u9570\u5EC9\u601C\u6D9F\u5E18\u655B\u8138\u94FE\u604B\u70BC\u7EC3\u7CAE\u51C9\u6881\u7CB1\u826F\u4E24\u8F86\u91CF\u667E\u4EAE\u8C05\u64A9\u804A\u50DA\u7597\u71CE\u5BE5\u8FBD\u6F66\u4E86\u6482\u9563\u5ED6\u6599\u5217\u88C2\u70C8\u52A3\u730E\u7433\u6797\u78F7\u9716\u4E34\u90BB\u9CDE\u6DCB\u51DB\u8D41\u541D\u62CE\u73B2\u83F1\u96F6\u9F84\u94C3\u4F36\u7F9A\u51CC\u7075\u9675\u5CAD\u9886\u53E6\u4EE4\u6E9C\u7409\u69B4\u786B\u998F\u7559\u5218\u7624\u6D41\u67F3\u516D\u9F99\u804B\u5499\u7B3C\u7ABF"], - ["c240", "\u7FE4\u7FE7\u7FE8\u7FEA\u7FEB\u7FEC\u7FED\u7FEF\u7FF2\u7FF4", 6, "\u7FFD\u7FFE\u7FFF\u8002\u8007\u8008\u8009\u800A\u800E\u800F\u8011\u8013\u801A\u801B\u801D\u801E\u801F\u8021\u8023\u8024\u802B", 5, "\u8032\u8034\u8039\u803A\u803C\u803E\u8040\u8041\u8044\u8045\u8047\u8048\u8049\u804E\u804F\u8050\u8051\u8053\u8055\u8056\u8057"], - ["c280", "\u8059\u805B", 13, "\u806B", 5, "\u8072", 11, "\u9686\u5784\u62E2\u9647\u697C\u5A04\u6402\u7BD3\u6F0F\u964B\u82A6\u5362\u9885\u5E90\u7089\u63B3\u5364\u864F\u9C81\u9E93\u788C\u9732\u8DEF\u8D42\u9E7F\u6F5E\u7984\u5F55\u9646\u622E\u9A74\u5415\u94DD\u4FA3\u65C5\u5C65\u5C61\u7F15\u8651\u6C2F\u5F8B\u7387\u6EE4\u7EFF\u5CE6\u631B\u5B6A\u6EE6\u5375\u4E71\u63A0\u7565\u62A1\u8F6E\u4F26\u4ED1\u6CA6\u7EB6\u8BBA\u841D\u87BA\u7F57\u903B\u9523\u7BA9\u9AA1\u88F8\u843D\u6D1B\u9A86\u7EDC\u5988\u9EBB\u739B\u7801\u8682\u9A6C\u9A82\u561B\u5417\u57CB\u4E70\u9EA6\u5356\u8FC8\u8109\u7792\u9992\u86EE\u6EE1\u8513\u66FC\u6162\u6F2B"], - ["c340", "\u807E\u8081\u8082\u8085\u8088\u808A\u808D", 5, "\u8094\u8095\u8097\u8099\u809E\u80A3\u80A6\u80A7\u80A8\u80AC\u80B0\u80B3\u80B5\u80B6\u80B8\u80B9\u80BB\u80C5\u80C7", 4, "\u80CF", 6, "\u80D8\u80DF\u80E0\u80E2\u80E3\u80E6\u80EE\u80F5\u80F7\u80F9\u80FB\u80FE\u80FF\u8100\u8101\u8103\u8104\u8105\u8107\u8108\u810B"], - ["c380", "\u810C\u8115\u8117\u8119\u811B\u811C\u811D\u811F", 12, "\u812D\u812E\u8130\u8133\u8134\u8135\u8137\u8139", 4, "\u813F\u8C29\u8292\u832B\u76F2\u6C13\u5FD9\u83BD\u732B\u8305\u951A\u6BDB\u77DB\u94C6\u536F\u8302\u5192\u5E3D\u8C8C\u8D38\u4E48\u73AB\u679A\u6885\u9176\u9709\u7164\u6CA1\u7709\u5A92\u9541\u6BCF\u7F8E\u6627\u5BD0\u59B9\u5A9A\u95E8\u95F7\u4EEC\u840C\u8499\u6AAC\u76DF\u9530\u731B\u68A6\u5B5F\u772F\u919A\u9761\u7CDC\u8FF7\u8C1C\u5F25\u7C73\u79D8\u89C5\u6CCC\u871C\u5BC6\u5E42\u68C9\u7720\u7EF5\u5195\u514D\u52C9\u5A29\u7F05\u9762\u82D7\u63CF\u7784\u85D0\u79D2\u6E3A\u5E99\u5999\u8511\u706D\u6C11\u62BF\u76BF\u654F\u60AF\u95FD\u660E\u879F\u9E23\u94ED\u540D\u547D\u8C2C\u6478"], - ["c440", "\u8140", 5, "\u8147\u8149\u814D\u814E\u814F\u8152\u8156\u8157\u8158\u815B", 4, "\u8161\u8162\u8163\u8164\u8166\u8168\u816A\u816B\u816C\u816F\u8172\u8173\u8175\u8176\u8177\u8178\u8181\u8183", 4, "\u8189\u818B\u818C\u818D\u818E\u8190\u8192", 5, "\u8199\u819A\u819E", 4, "\u81A4\u81A5"], - ["c480", "\u81A7\u81A9\u81AB", 7, "\u81B4", 5, "\u81BC\u81BD\u81BE\u81BF\u81C4\u81C5\u81C7\u81C8\u81C9\u81CB\u81CD", 6, "\u6479\u8611\u6A21\u819C\u78E8\u6469\u9B54\u62B9\u672B\u83AB\u58A8\u9ED8\u6CAB\u6F20\u5BDE\u964C\u8C0B\u725F\u67D0\u62C7\u7261\u4EA9\u59C6\u6BCD\u5893\u66AE\u5E55\u52DF\u6155\u6728\u76EE\u7766\u7267\u7A46\u62FF\u54EA\u5450\u94A0\u90A3\u5A1C\u7EB3\u6C16\u4E43\u5976\u8010\u5948\u5357\u7537\u96BE\u56CA\u6320\u8111\u607C\u95F9\u6DD6\u5462\u9981\u5185\u5AE9\u80FD\u59AE\u9713\u502A\u6CE5\u5C3C\u62DF\u4F60\u533F\u817B\u9006\u6EBA\u852B\u62C8\u5E74\u78BE\u64B5\u637B\u5FF5\u5A18\u917F\u9E1F\u5C3F\u634F\u8042\u5B7D\u556E\u954A\u954D\u6D85\u60A8\u67E0\u72DE\u51DD\u5B81"], - ["c540", "\u81D4", 14, "\u81E4\u81E5\u81E6\u81E8\u81E9\u81EB\u81EE", 4, "\u81F5", 5, "\u81FD\u81FF\u8203\u8207", 4, "\u820E\u820F\u8211\u8213\u8215", 5, "\u821D\u8220\u8224\u8225\u8226\u8227\u8229\u822E\u8232\u823A\u823C\u823D\u823F"], - ["c580", "\u8240\u8241\u8242\u8243\u8245\u8246\u8248\u824A\u824C\u824D\u824E\u8250", 7, "\u8259\u825B\u825C\u825D\u825E\u8260", 7, "\u8269\u62E7\u6CDE\u725B\u626D\u94AE\u7EBD\u8113\u6D53\u519C\u5F04\u5974\u52AA\u6012\u5973\u6696\u8650\u759F\u632A\u61E6\u7CEF\u8BFA\u54E6\u6B27\u9E25\u6BB4\u85D5\u5455\u5076\u6CA4\u556A\u8DB4\u722C\u5E15\u6015\u7436\u62CD\u6392\u724C\u5F98\u6E43\u6D3E\u6500\u6F58\u76D8\u78D0\u76FC\u7554\u5224\u53DB\u4E53\u5E9E\u65C1\u802A\u80D6\u629B\u5486\u5228\u70AE\u888D\u8DD1\u6CE1\u5478\u80DA\u57F9\u88F4\u8D54\u966A\u914D\u4F69\u6C9B\u55B7\u76C6\u7830\u62A8\u70F9\u6F8E\u5F6D\u84EC\u68DA\u787C\u7BF7\u81A8\u670B\u9E4F\u6367\u78B0\u576F\u7812\u9739\u6279\u62AB\u5288\u7435\u6BD7"], - ["c640", "\u826A\u826B\u826C\u826D\u8271\u8275\u8276\u8277\u8278\u827B\u827C\u8280\u8281\u8283\u8285\u8286\u8287\u8289\u828C\u8290\u8293\u8294\u8295\u8296\u829A\u829B\u829E\u82A0\u82A2\u82A3\u82A7\u82B2\u82B5\u82B6\u82BA\u82BB\u82BC\u82BF\u82C0\u82C2\u82C3\u82C5\u82C6\u82C9\u82D0\u82D6\u82D9\u82DA\u82DD\u82E2\u82E7\u82E8\u82E9\u82EA\u82EC\u82ED\u82EE\u82F0\u82F2\u82F3\u82F5\u82F6\u82F8"], - ["c680", "\u82FA\u82FC", 4, "\u830A\u830B\u830D\u8310\u8312\u8313\u8316\u8318\u8319\u831D", 9, "\u8329\u832A\u832E\u8330\u8332\u8337\u833B\u833D\u5564\u813E\u75B2\u76AE\u5339\u75DE\u50FB\u5C41\u8B6C\u7BC7\u504F\u7247\u9A97\u98D8\u6F02\u74E2\u7968\u6487\u77A5\u62FC\u9891\u8D2B\u54C1\u8058\u4E52\u576A\u82F9\u840D\u5E73\u51ED\u74F6\u8BC4\u5C4F\u5761\u6CFC\u9887\u5A46\u7834\u9B44\u8FEB\u7C95\u5256\u6251\u94FA\u4EC6\u8386\u8461\u83E9\u84B2\u57D4\u6734\u5703\u666E\u6D66\u8C31\u66DD\u7011\u671F\u6B3A\u6816\u621A\u59BB\u4E03\u51C4\u6F06\u67D2\u6C8F\u5176\u68CB\u5947\u6B67\u7566\u5D0E\u8110\u9F50\u65D7\u7948\u7941\u9A91\u8D77\u5C82\u4E5E\u4F01\u542F\u5951\u780C\u5668\u6C14\u8FC4\u5F03\u6C7D\u6CE3\u8BAB\u6390"], - ["c740", "\u833E\u833F\u8341\u8342\u8344\u8345\u8348\u834A", 4, "\u8353\u8355", 4, "\u835D\u8362\u8370", 6, "\u8379\u837A\u837E", 6, "\u8387\u8388\u838A\u838B\u838C\u838D\u838F\u8390\u8391\u8394\u8395\u8396\u8397\u8399\u839A\u839D\u839F\u83A1", 6, "\u83AC\u83AD\u83AE"], - ["c780", "\u83AF\u83B5\u83BB\u83BE\u83BF\u83C2\u83C3\u83C4\u83C6\u83C8\u83C9\u83CB\u83CD\u83CE\u83D0\u83D1\u83D2\u83D3\u83D5\u83D7\u83D9\u83DA\u83DB\u83DE\u83E2\u83E3\u83E4\u83E6\u83E7\u83E8\u83EB\u83EC\u83ED\u6070\u6D3D\u7275\u6266\u948E\u94C5\u5343\u8FC1\u7B7E\u4EDF\u8C26\u4E7E\u9ED4\u94B1\u94B3\u524D\u6F5C\u9063\u6D45\u8C34\u5811\u5D4C\u6B20\u6B49\u67AA\u545B\u8154\u7F8C\u5899\u8537\u5F3A\u62A2\u6A47\u9539\u6572\u6084\u6865\u77A7\u4E54\u4FA8\u5DE7\u9798\u64AC\u7FD8\u5CED\u4FCF\u7A8D\u5207\u8304\u4E14\u602F\u7A83\u94A6\u4FB5\u4EB2\u79E6\u7434\u52E4\u82B9\u64D2\u79BD\u5BDD\u6C81\u9752\u8F7B\u6C22\u503E\u537F\u6E05\u64CE\u6674\u6C30\u60C5\u9877\u8BF7\u5E86\u743C\u7A77\u79CB\u4E18\u90B1\u7403\u6C42\u56DA\u914B\u6CC5\u8D8B\u533A\u86C6\u66F2\u8EAF\u5C48\u9A71\u6E20"], - ["c840", "\u83EE\u83EF\u83F3", 4, "\u83FA\u83FB\u83FC\u83FE\u83FF\u8400\u8402\u8405\u8407\u8408\u8409\u840A\u8410\u8412", 5, "\u8419\u841A\u841B\u841E", 5, "\u8429", 7, "\u8432", 5, "\u8439\u843A\u843B\u843E", 7, "\u8447\u8448\u8449"], - ["c880", "\u844A", 6, "\u8452", 4, "\u8458\u845D\u845E\u845F\u8460\u8462\u8464", 4, "\u846A\u846E\u846F\u8470\u8472\u8474\u8477\u8479\u847B\u847C\u53D6\u5A36\u9F8B\u8DA3\u53BB\u5708\u98A7\u6743\u919B\u6CC9\u5168\u75CA\u62F3\u72AC\u5238\u529D\u7F3A\u7094\u7638\u5374\u9E4A\u69B7\u786E\u96C0\u88D9\u7FA4\u7136\u71C3\u5189\u67D3\u74E4\u58E4\u6518\u56B7\u8BA9\u9976\u6270\u7ED5\u60F9\u70ED\u58EC\u4EC1\u4EBA\u5FCD\u97E7\u4EFB\u8BA4\u5203\u598A\u7EAB\u6254\u4ECD\u65E5\u620E\u8338\u84C9\u8363\u878D\u7194\u6EB6\u5BB9\u7ED2\u5197\u63C9\u67D4\u8089\u8339\u8815\u5112\u5B7A\u5982\u8FB1\u4E73\u6C5D\u5165\u8925\u8F6F\u962E\u854A\u745E\u9510\u95F0\u6DA6\u82E5\u5F31\u6492\u6D12\u8428\u816E\u9CC3\u585E\u8D5B\u4E09\u53C1"], - ["c940", "\u847D", 4, "\u8483\u8484\u8485\u8486\u848A\u848D\u848F", 7, "\u8498\u849A\u849B\u849D\u849E\u849F\u84A0\u84A2", 12, "\u84B0\u84B1\u84B3\u84B5\u84B6\u84B7\u84BB\u84BC\u84BE\u84C0\u84C2\u84C3\u84C5\u84C6\u84C7\u84C8\u84CB\u84CC\u84CE\u84CF\u84D2\u84D4\u84D5\u84D7"], - ["c980", "\u84D8", 4, "\u84DE\u84E1\u84E2\u84E4\u84E7", 4, "\u84ED\u84EE\u84EF\u84F1", 10, "\u84FD\u84FE\u8500\u8501\u8502\u4F1E\u6563\u6851\u55D3\u4E27\u6414\u9A9A\u626B\u5AC2\u745F\u8272\u6DA9\u68EE\u50E7\u838E\u7802\u6740\u5239\u6C99\u7EB1\u50BB\u5565\u715E\u7B5B\u6652\u73CA\u82EB\u6749\u5C71\u5220\u717D\u886B\u95EA\u9655\u64C5\u8D61\u81B3\u5584\u6C55\u6247\u7F2E\u5892\u4F24\u5546\u8D4F\u664C\u4E0A\u5C1A\u88F3\u68A2\u634E\u7A0D\u70E7\u828D\u52FA\u97F6\u5C11\u54E8\u90B5\u7ECD\u5962\u8D4A\u86C7\u820C\u820D\u8D66\u6444\u5C04\u6151\u6D89\u793E\u8BBE\u7837\u7533\u547B\u4F38\u8EAB\u6DF1\u5A20\u7EC5\u795E\u6C88\u5BA1\u5A76\u751A\u80BE\u614E\u6E17\u58F0\u751F\u7525\u7272\u5347\u7EF3"], - ["ca40", "\u8503", 8, "\u850D\u850E\u850F\u8510\u8512\u8514\u8515\u8516\u8518\u8519\u851B\u851C\u851D\u851E\u8520\u8522", 8, "\u852D", 9, "\u853E", 4, "\u8544\u8545\u8546\u8547\u854B", 10], - ["ca80", "\u8557\u8558\u855A\u855B\u855C\u855D\u855F", 4, "\u8565\u8566\u8567\u8569", 8, "\u8573\u8575\u8576\u8577\u8578\u857C\u857D\u857F\u8580\u8581\u7701\u76DB\u5269\u80DC\u5723\u5E08\u5931\u72EE\u65BD\u6E7F\u8BD7\u5C38\u8671\u5341\u77F3\u62FE\u65F6\u4EC0\u98DF\u8680\u5B9E\u8BC6\u53F2\u77E2\u4F7F\u5C4E\u9A76\u59CB\u5F0F\u793A\u58EB\u4E16\u67FF\u4E8B\u62ED\u8A93\u901D\u52BF\u662F\u55DC\u566C\u9002\u4ED5\u4F8D\u91CA\u9970\u6C0F\u5E02\u6043\u5BA4\u89C6\u8BD5\u6536\u624B\u9996\u5B88\u5BFF\u6388\u552E\u53D7\u7626\u517D\u852C\u67A2\u68B3\u6B8A\u6292\u8F93\u53D4\u8212\u6DD1\u758F\u4E66\u8D4E\u5B70\u719F\u85AF\u6691\u66D9\u7F72\u8700\u9ECD\u9F20\u5C5E\u672F\u8FF0\u6811\u675F\u620D\u7AD6\u5885\u5EB6\u6570\u6F31"], - ["cb40", "\u8582\u8583\u8586\u8588", 6, "\u8590", 10, "\u859D", 6, "\u85A5\u85A6\u85A7\u85A9\u85AB\u85AC\u85AD\u85B1", 5, "\u85B8\u85BA", 6, "\u85C2", 6, "\u85CA", 4, "\u85D1\u85D2"], - ["cb80", "\u85D4\u85D6", 5, "\u85DD", 6, "\u85E5\u85E6\u85E7\u85E8\u85EA", 14, "\u6055\u5237\u800D\u6454\u8870\u7529\u5E05\u6813\u62F4\u971C\u53CC\u723D\u8C01\u6C34\u7761\u7A0E\u542E\u77AC\u987A\u821C\u8BF4\u7855\u6714\u70C1\u65AF\u6495\u5636\u601D\u79C1\u53F8\u4E1D\u6B7B\u8086\u5BFA\u55E3\u56DB\u4F3A\u4F3C\u9972\u5DF3\u677E\u8038\u6002\u9882\u9001\u5B8B\u8BBC\u8BF5\u641C\u8258\u64DE\u55FD\u82CF\u9165\u4FD7\u7D20\u901F\u7C9F\u50F3\u5851\u6EAF\u5BBF\u8BC9\u8083\u9178\u849C\u7B97\u867D\u968B\u968F\u7EE5\u9AD3\u788E\u5C81\u7A57\u9042\u96A7\u795F\u5B59\u635F\u7B0B\u84D1\u68AD\u5506\u7F29\u7410\u7D22\u9501\u6240\u584C\u4ED6\u5B83\u5979\u5854"], - ["cc40", "\u85F9\u85FA\u85FC\u85FD\u85FE\u8600", 4, "\u8606", 10, "\u8612\u8613\u8614\u8615\u8617", 15, "\u8628\u862A", 13, "\u8639\u863A\u863B\u863D\u863E\u863F\u8640"], - ["cc80", "\u8641", 11, "\u8652\u8653\u8655", 4, "\u865B\u865C\u865D\u865F\u8660\u8661\u8663", 7, "\u736D\u631E\u8E4B\u8E0F\u80CE\u82D4\u62AC\u53F0\u6CF0\u915E\u592A\u6001\u6C70\u574D\u644A\u8D2A\u762B\u6EE9\u575B\u6A80\u75F0\u6F6D\u8C2D\u8C08\u5766\u6BEF\u8892\u78B3\u63A2\u53F9\u70AD\u6C64\u5858\u642A\u5802\u68E0\u819B\u5510\u7CD6\u5018\u8EBA\u6DCC\u8D9F\u70EB\u638F\u6D9B\u6ED4\u7EE6\u8404\u6843\u9003\u6DD8\u9676\u8BA8\u5957\u7279\u85E4\u817E\u75BC\u8A8A\u68AF\u5254\u8E22\u9511\u63D0\u9898\u8E44\u557C\u4F53\u66FF\u568F\u60D5\u6D95\u5243\u5C49\u5929\u6DFB\u586B\u7530\u751C\u606C\u8214\u8146\u6311\u6761\u8FE2\u773A\u8DF3\u8D34\u94C1\u5E16\u5385\u542C\u70C3"], - ["cd40", "\u866D\u866F\u8670\u8672", 6, "\u8683", 6, "\u868E", 4, "\u8694\u8696", 5, "\u869E", 4, "\u86A5\u86A6\u86AB\u86AD\u86AE\u86B2\u86B3\u86B7\u86B8\u86B9\u86BB", 4, "\u86C1\u86C2\u86C3\u86C5\u86C8\u86CC\u86CD\u86D2\u86D3\u86D5\u86D6\u86D7\u86DA\u86DC"], - ["cd80", "\u86DD\u86E0\u86E1\u86E2\u86E3\u86E5\u86E6\u86E7\u86E8\u86EA\u86EB\u86EC\u86EF\u86F5\u86F6\u86F7\u86FA\u86FB\u86FC\u86FD\u86FF\u8701\u8704\u8705\u8706\u870B\u870C\u870E\u870F\u8710\u8711\u8714\u8716\u6C40\u5EF7\u505C\u4EAD\u5EAD\u633A\u8247\u901A\u6850\u916E\u77B3\u540C\u94DC\u5F64\u7AE5\u6876\u6345\u7B52\u7EDF\u75DB\u5077\u6295\u5934\u900F\u51F8\u79C3\u7A81\u56FE\u5F92\u9014\u6D82\u5C60\u571F\u5410\u5154\u6E4D\u56E2\u63A8\u9893\u817F\u8715\u892A\u9000\u541E\u5C6F\u81C0\u62D6\u6258\u8131\u9E35\u9640\u9A6E\u9A7C\u692D\u59A5\u62D3\u553E\u6316\u54C7\u86D9\u6D3C\u5A03\u74E6\u889C\u6B6A\u5916\u8C4C\u5F2F\u6E7E\u73A9\u987D\u4E38\u70F7\u5B8C\u7897\u633D\u665A\u7696\u60CB\u5B9B\u5A49\u4E07\u8155\u6C6A\u738B\u4EA1\u6789\u7F51\u5F80\u65FA\u671B\u5FD8\u5984\u5A01"], - ["ce40", "\u8719\u871B\u871D\u871F\u8720\u8724\u8726\u8727\u8728\u872A\u872B\u872C\u872D\u872F\u8730\u8732\u8733\u8735\u8736\u8738\u8739\u873A\u873C\u873D\u8740", 6, "\u874A\u874B\u874D\u874F\u8750\u8751\u8752\u8754\u8755\u8756\u8758\u875A", 5, "\u8761\u8762\u8766", 7, "\u876F\u8771\u8772\u8773\u8775"], - ["ce80", "\u8777\u8778\u8779\u877A\u877F\u8780\u8781\u8784\u8786\u8787\u8789\u878A\u878C\u878E", 4, "\u8794\u8795\u8796\u8798", 6, "\u87A0", 4, "\u5DCD\u5FAE\u5371\u97E6\u8FDD\u6845\u56F4\u552F\u60DF\u4E3A\u6F4D\u7EF4\u82C7\u840E\u59D4\u4F1F\u4F2A\u5C3E\u7EAC\u672A\u851A\u5473\u754F\u80C3\u5582\u9B4F\u4F4D\u6E2D\u8C13\u5C09\u6170\u536B\u761F\u6E29\u868A\u6587\u95FB\u7EB9\u543B\u7A33\u7D0A\u95EE\u55E1\u7FC1\u74EE\u631D\u8717\u6DA1\u7A9D\u6211\u65A1\u5367\u63E1\u6C83\u5DEB\u545C\u94A8\u4E4C\u6C61\u8BEC\u5C4B\u65E0\u829C\u68A7\u543E\u5434\u6BCB\u6B66\u4E94\u6342\u5348\u821E\u4F0D\u4FAE\u575E\u620A\u96FE\u6664\u7269\u52FF\u52A1\u609F\u8BEF\u6614\u7199\u6790\u897F\u7852\u77FD\u6670\u563B\u5438\u9521\u727A"], - ["cf40", "\u87A5\u87A6\u87A7\u87A9\u87AA\u87AE\u87B0\u87B1\u87B2\u87B4\u87B6\u87B7\u87B8\u87B9\u87BB\u87BC\u87BE\u87BF\u87C1", 4, "\u87C7\u87C8\u87C9\u87CC", 4, "\u87D4", 6, "\u87DC\u87DD\u87DE\u87DF\u87E1\u87E2\u87E3\u87E4\u87E6\u87E7\u87E8\u87E9\u87EB\u87EC\u87ED\u87EF", 9], - ["cf80", "\u87FA\u87FB\u87FC\u87FD\u87FF\u8800\u8801\u8802\u8804", 5, "\u880B", 7, "\u8814\u8817\u8818\u8819\u881A\u881C", 4, "\u8823\u7A00\u606F\u5E0C\u6089\u819D\u5915\u60DC\u7184\u70EF\u6EAA\u6C50\u7280\u6A84\u88AD\u5E2D\u4E60\u5AB3\u559C\u94E3\u6D17\u7CFB\u9699\u620F\u7EC6\u778E\u867E\u5323\u971E\u8F96\u6687\u5CE1\u4FA0\u72ED\u4E0B\u53A6\u590F\u5413\u6380\u9528\u5148\u4ED9\u9C9C\u7EA4\u54B8\u8D24\u8854\u8237\u95F2\u6D8E\u5F26\u5ACC\u663E\u9669\u73B0\u732E\u53BF\u817A\u9985\u7FA1\u5BAA\u9677\u9650\u7EBF\u76F8\u53A2\u9576\u9999\u7BB1\u8944\u6E58\u4E61\u7FD4\u7965\u8BE6\u60F3\u54CD\u4EAB\u9879\u5DF7\u6A61\u50CF\u5411\u8C61\u8427\u785D\u9704\u524A\u54EE\u56A3\u9500\u6D88\u5BB5\u6DC6\u6653"], - ["d040", "\u8824", 13, "\u8833", 5, "\u883A\u883B\u883D\u883E\u883F\u8841\u8842\u8843\u8846", 5, "\u884E", 5, "\u8855\u8856\u8858\u885A", 6, "\u8866\u8867\u886A\u886D\u886F\u8871\u8873\u8874\u8875\u8876\u8878\u8879\u887A"], - ["d080", "\u887B\u887C\u8880\u8883\u8886\u8887\u8889\u888A\u888C\u888E\u888F\u8890\u8891\u8893\u8894\u8895\u8897", 4, "\u889D", 4, "\u88A3\u88A5", 5, "\u5C0F\u5B5D\u6821\u8096\u5578\u7B11\u6548\u6954\u4E9B\u6B47\u874E\u978B\u534F\u631F\u643A\u90AA\u659C\u80C1\u8C10\u5199\u68B0\u5378\u87F9\u61C8\u6CC4\u6CFB\u8C22\u5C51\u85AA\u82AF\u950C\u6B23\u8F9B\u65B0\u5FFB\u5FC3\u4FE1\u8845\u661F\u8165\u7329\u60FA\u5174\u5211\u578B\u5F62\u90A2\u884C\u9192\u5E78\u674F\u6027\u59D3\u5144\u51F6\u80F8\u5308\u6C79\u96C4\u718A\u4F11\u4FEE\u7F9E\u673D\u55C5\u9508\u79C0\u8896\u7EE3\u589F\u620C\u9700\u865A\u5618\u987B\u5F90\u8BB8\u84C4\u9157\u53D9\u65ED\u5E8F\u755C\u6064\u7D6E\u5A7F\u7EEA\u7EED\u8F69\u55A7\u5BA3\u60AC\u65CB\u7384"], - ["d140", "\u88AC\u88AE\u88AF\u88B0\u88B2", 4, "\u88B8\u88B9\u88BA\u88BB\u88BD\u88BE\u88BF\u88C0\u88C3\u88C4\u88C7\u88C8\u88CA\u88CB\u88CC\u88CD\u88CF\u88D0\u88D1\u88D3\u88D6\u88D7\u88DA", 4, "\u88E0\u88E1\u88E6\u88E7\u88E9", 6, "\u88F2\u88F5\u88F6\u88F7\u88FA\u88FB\u88FD\u88FF\u8900\u8901\u8903", 5], - ["d180", "\u8909\u890B", 4, "\u8911\u8914", 4, "\u891C", 4, "\u8922\u8923\u8924\u8926\u8927\u8928\u8929\u892C\u892D\u892E\u892F\u8931\u8932\u8933\u8935\u8937\u9009\u7663\u7729\u7EDA\u9774\u859B\u5B66\u7A74\u96EA\u8840\u52CB\u718F\u5FAA\u65EC\u8BE2\u5BFB\u9A6F\u5DE1\u6B89\u6C5B\u8BAD\u8BAF\u900A\u8FC5\u538B\u62BC\u9E26\u9E2D\u5440\u4E2B\u82BD\u7259\u869C\u5D16\u8859\u6DAF\u96C5\u54D1\u4E9A\u8BB6\u7109\u54BD\u9609\u70DF\u6DF9\u76D0\u4E25\u7814\u8712\u5CA9\u5EF6\u8A00\u989C\u960E\u708E\u6CBF\u5944\u63A9\u773C\u884D\u6F14\u8273\u5830\u71D5\u538C\u781A\u96C1\u5501\u5F66\u7130\u5BB4\u8C1A\u9A8C\u6B83\u592E\u9E2F\u79E7\u6768\u626C\u4F6F\u75A1\u7F8A\u6D0B\u9633\u6C27\u4EF0\u75D2\u517B\u6837\u6F3E\u9080\u8170\u5996\u7476"], - ["d240", "\u8938", 8, "\u8942\u8943\u8945", 24, "\u8960", 5, "\u8967", 19, "\u897C"], - ["d280", "\u897D\u897E\u8980\u8982\u8984\u8985\u8987", 26, "\u6447\u5C27\u9065\u7A91\u8C23\u59DA\u54AC\u8200\u836F\u8981\u8000\u6930\u564E\u8036\u7237\u91CE\u51B6\u4E5F\u9875\u6396\u4E1A\u53F6\u66F3\u814B\u591C\u6DB2\u4E00\u58F9\u533B\u63D6\u94F1\u4F9D\u4F0A\u8863\u9890\u5937\u9057\u79FB\u4EEA\u80F0\u7591\u6C82\u5B9C\u59E8\u5F5D\u6905\u8681\u501A\u5DF2\u4E59\u77E3\u4EE5\u827A\u6291\u6613\u9091\u5C79\u4EBF\u5F79\u81C6\u9038\u8084\u75AB\u4EA6\u88D4\u610F\u6BC5\u5FC6\u4E49\u76CA\u6EA2\u8BE3\u8BAE\u8C0A\u8BD1\u5F02\u7FFC\u7FCC\u7ECE\u8335\u836B\u56E0\u6BB7\u97F3\u9634\u59FB\u541F\u94F6\u6DEB\u5BC5\u996E\u5C39\u5F15\u9690"], - ["d340", "\u89A2", 30, "\u89C3\u89CD\u89D3\u89D4\u89D5\u89D7\u89D8\u89D9\u89DB\u89DD\u89DF\u89E0\u89E1\u89E2\u89E4\u89E7\u89E8\u89E9\u89EA\u89EC\u89ED\u89EE\u89F0\u89F1\u89F2\u89F4", 6], - ["d380", "\u89FB", 4, "\u8A01", 5, "\u8A08", 21, "\u5370\u82F1\u6A31\u5A74\u9E70\u5E94\u7F28\u83B9\u8424\u8425\u8367\u8747\u8FCE\u8D62\u76C8\u5F71\u9896\u786C\u6620\u54DF\u62E5\u4F63\u81C3\u75C8\u5EB8\u96CD\u8E0A\u86F9\u548F\u6CF3\u6D8C\u6C38\u607F\u52C7\u7528\u5E7D\u4F18\u60A0\u5FE7\u5C24\u7531\u90AE\u94C0\u72B9\u6CB9\u6E38\u9149\u6709\u53CB\u53F3\u4F51\u91C9\u8BF1\u53C8\u5E7C\u8FC2\u6DE4\u4E8E\u76C2\u6986\u865E\u611A\u8206\u4F59\u4FDE\u903E\u9C7C\u6109\u6E1D\u6E14\u9685\u4E88\u5A31\u96E8\u4E0E\u5C7F\u79B9\u5B87\u8BED\u7FBD\u7389\u57DF\u828B\u90C1\u5401\u9047\u55BB\u5CEA\u5FA1\u6108\u6B32\u72F1\u80B2\u8A89"], - ["d440", "\u8A1E", 31, "\u8A3F", 8, "\u8A49", 21], - ["d480", "\u8A5F", 25, "\u8A7A", 6, "\u6D74\u5BD3\u88D5\u9884\u8C6B\u9A6D\u9E33\u6E0A\u51A4\u5143\u57A3\u8881\u539F\u63F4\u8F95\u56ED\u5458\u5706\u733F\u6E90\u7F18\u8FDC\u82D1\u613F\u6028\u9662\u66F0\u7EA6\u8D8A\u8DC3\u94A5\u5CB3\u7CA4\u6708\u60A6\u9605\u8018\u4E91\u90E7\u5300\u9668\u5141\u8FD0\u8574\u915D\u6655\u97F5\u5B55\u531D\u7838\u6742\u683D\u54C9\u707E\u5BB0\u8F7D\u518D\u5728\u54B1\u6512\u6682\u8D5E\u8D43\u810F\u846C\u906D\u7CDF\u51FF\u85FB\u67A3\u65E9\u6FA1\u86A4\u8E81\u566A\u9020\u7682\u7076\u71E5\u8D23\u62E9\u5219\u6CFD\u8D3C\u600E\u589E\u618E\u66FE\u8D60\u624E\u55B3\u6E23\u672D\u8F67"], - ["d540", "\u8A81", 7, "\u8A8B", 7, "\u8A94", 46], - ["d580", "\u8AC3", 32, "\u94E1\u95F8\u7728\u6805\u69A8\u548B\u4E4D\u70B8\u8BC8\u6458\u658B\u5B85\u7A84\u503A\u5BE8\u77BB\u6BE1\u8A79\u7C98\u6CBE\u76CF\u65A9\u8F97\u5D2D\u5C55\u8638\u6808\u5360\u6218\u7AD9\u6E5B\u7EFD\u6A1F\u7AE0\u5F70\u6F33\u5F20\u638C\u6DA8\u6756\u4E08\u5E10\u8D26\u4ED7\u80C0\u7634\u969C\u62DB\u662D\u627E\u6CBC\u8D75\u7167\u7F69\u5146\u8087\u53EC\u906E\u6298\u54F2\u86F0\u8F99\u8005\u9517\u8517\u8FD9\u6D59\u73CD\u659F\u771F\u7504\u7827\u81FB\u8D1E\u9488\u4FA6\u6795\u75B9\u8BCA\u9707\u632F\u9547\u9635\u84B8\u6323\u7741\u5F81\u72F0\u4E89\u6014\u6574\u62EF\u6B63\u653F"], - ["d640", "\u8AE4", 34, "\u8B08", 27], - ["d680", "\u8B24\u8B25\u8B27", 30, "\u5E27\u75C7\u90D1\u8BC1\u829D\u679D\u652F\u5431\u8718\u77E5\u80A2\u8102\u6C41\u4E4B\u7EC7\u804C\u76F4\u690D\u6B96\u6267\u503C\u4F84\u5740\u6307\u6B62\u8DBE\u53EA\u65E8\u7EB8\u5FD7\u631A\u63B7\u81F3\u81F4\u7F6E\u5E1C\u5CD9\u5236\u667A\u79E9\u7A1A\u8D28\u7099\u75D4\u6EDE\u6CBB\u7A92\u4E2D\u76C5\u5FE0\u949F\u8877\u7EC8\u79CD\u80BF\u91CD\u4EF2\u4F17\u821F\u5468\u5DDE\u6D32\u8BCC\u7CA5\u8F74\u8098\u5E1A\u5492\u76B1\u5B99\u663C\u9AA4\u73E0\u682A\u86DB\u6731\u732A\u8BF8\u8BDB\u9010\u7AF9\u70DB\u716E\u62C4\u77A9\u5631\u4E3B\u8457\u67F1\u52A9\u86C0\u8D2E\u94F8\u7B51"], - ["d740", "\u8B46", 31, "\u8B67", 4, "\u8B6D", 25], - ["d780", "\u8B87", 24, "\u8BAC\u8BB1\u8BBB\u8BC7\u8BD0\u8BEA\u8C09\u8C1E\u4F4F\u6CE8\u795D\u9A7B\u6293\u722A\u62FD\u4E13\u7816\u8F6C\u64B0\u8D5A\u7BC6\u6869\u5E84\u88C5\u5986\u649E\u58EE\u72B6\u690E\u9525\u8FFD\u8D58\u5760\u7F00\u8C06\u51C6\u6349\u62D9\u5353\u684C\u7422\u8301\u914C\u5544\u7740\u707C\u6D4A\u5179\u54A8\u8D44\u59FF\u6ECB\u6DC4\u5B5C\u7D2B\u4ED4\u7C7D\u6ED3\u5B50\u81EA\u6E0D\u5B57\u9B03\u68D5\u8E2A\u5B97\u7EFC\u603B\u7EB5\u90B9\u8D70\u594F\u63CD\u79DF\u8DB3\u5352\u65CF\u7956\u8BC5\u963B\u7EC4\u94BB\u7E82\u5634\u9189\u6700\u7F6A\u5C0A\u9075\u6628\u5DE6\u4F50\u67DE\u505A\u4F5C\u5750\u5EA7"], - ["d840", "\u8C38", 8, "\u8C42\u8C43\u8C44\u8C45\u8C48\u8C4A\u8C4B\u8C4D", 7, "\u8C56\u8C57\u8C58\u8C59\u8C5B", 5, "\u8C63", 6, "\u8C6C", 6, "\u8C74\u8C75\u8C76\u8C77\u8C7B", 6, "\u8C83\u8C84\u8C86\u8C87"], - ["d880", "\u8C88\u8C8B\u8C8D", 6, "\u8C95\u8C96\u8C97\u8C99", 20, "\u4E8D\u4E0C\u5140\u4E10\u5EFF\u5345\u4E15\u4E98\u4E1E\u9B32\u5B6C\u5669\u4E28\u79BA\u4E3F\u5315\u4E47\u592D\u723B\u536E\u6C10\u56DF\u80E4\u9997\u6BD3\u777E\u9F17\u4E36\u4E9F\u9F10\u4E5C\u4E69\u4E93\u8288\u5B5B\u556C\u560F\u4EC4\u538D\u539D\u53A3\u53A5\u53AE\u9765\u8D5D\u531A\u53F5\u5326\u532E\u533E\u8D5C\u5366\u5363\u5202\u5208\u520E\u522D\u5233\u523F\u5240\u524C\u525E\u5261\u525C\u84AF\u527D\u5282\u5281\u5290\u5293\u5182\u7F54\u4EBB\u4EC3\u4EC9\u4EC2\u4EE8\u4EE1\u4EEB\u4EDE\u4F1B\u4EF3\u4F22\u4F64\u4EF5\u4F25\u4F27\u4F09\u4F2B\u4F5E\u4F67\u6538\u4F5A\u4F5D"], - ["d940", "\u8CAE", 62], - ["d980", "\u8CED", 32, "\u4F5F\u4F57\u4F32\u4F3D\u4F76\u4F74\u4F91\u4F89\u4F83\u4F8F\u4F7E\u4F7B\u4FAA\u4F7C\u4FAC\u4F94\u4FE6\u4FE8\u4FEA\u4FC5\u4FDA\u4FE3\u4FDC\u4FD1\u4FDF\u4FF8\u5029\u504C\u4FF3\u502C\u500F\u502E\u502D\u4FFE\u501C\u500C\u5025\u5028\u507E\u5043\u5055\u5048\u504E\u506C\u507B\u50A5\u50A7\u50A9\u50BA\u50D6\u5106\u50ED\u50EC\u50E6\u50EE\u5107\u510B\u4EDD\u6C3D\u4F58\u4F65\u4FCE\u9FA0\u6C46\u7C74\u516E\u5DFD\u9EC9\u9998\u5181\u5914\u52F9\u530D\u8A07\u5310\u51EB\u5919\u5155\u4EA0\u5156\u4EB3\u886E\u88A4\u4EB5\u8114\u88D2\u7980\u5B34\u8803\u7FB8\u51AB\u51B1\u51BD\u51BC"], - ["da40", "\u8D0E", 14, "\u8D20\u8D51\u8D52\u8D57\u8D5F\u8D65\u8D68\u8D69\u8D6A\u8D6C\u8D6E\u8D6F\u8D71\u8D72\u8D78", 8, "\u8D82\u8D83\u8D86\u8D87\u8D88\u8D89\u8D8C", 4, "\u8D92\u8D93\u8D95", 9, "\u8DA0\u8DA1"], - ["da80", "\u8DA2\u8DA4", 12, "\u8DB2\u8DB6\u8DB7\u8DB9\u8DBB\u8DBD\u8DC0\u8DC1\u8DC2\u8DC5\u8DC7\u8DC8\u8DC9\u8DCA\u8DCD\u8DD0\u8DD2\u8DD3\u8DD4\u51C7\u5196\u51A2\u51A5\u8BA0\u8BA6\u8BA7\u8BAA\u8BB4\u8BB5\u8BB7\u8BC2\u8BC3\u8BCB\u8BCF\u8BCE\u8BD2\u8BD3\u8BD4\u8BD6\u8BD8\u8BD9\u8BDC\u8BDF\u8BE0\u8BE4\u8BE8\u8BE9\u8BEE\u8BF0\u8BF3\u8BF6\u8BF9\u8BFC\u8BFF\u8C00\u8C02\u8C04\u8C07\u8C0C\u8C0F\u8C11\u8C12\u8C14\u8C15\u8C16\u8C19\u8C1B\u8C18\u8C1D\u8C1F\u8C20\u8C21\u8C25\u8C27\u8C2A\u8C2B\u8C2E\u8C2F\u8C32\u8C33\u8C35\u8C36\u5369\u537A\u961D\u9622\u9621\u9631\u962A\u963D\u963C\u9642\u9649\u9654\u965F\u9667\u966C\u9672\u9674\u9688\u968D\u9697\u96B0\u9097\u909B\u909D\u9099\u90AC\u90A1\u90B4\u90B3\u90B6\u90BA"], - ["db40", "\u8DD5\u8DD8\u8DD9\u8DDC\u8DE0\u8DE1\u8DE2\u8DE5\u8DE6\u8DE7\u8DE9\u8DED\u8DEE\u8DF0\u8DF1\u8DF2\u8DF4\u8DF6\u8DFC\u8DFE", 6, "\u8E06\u8E07\u8E08\u8E0B\u8E0D\u8E0E\u8E10\u8E11\u8E12\u8E13\u8E15", 7, "\u8E20\u8E21\u8E24", 4, "\u8E2B\u8E2D\u8E30\u8E32\u8E33\u8E34\u8E36\u8E37\u8E38\u8E3B\u8E3C\u8E3E"], - ["db80", "\u8E3F\u8E43\u8E45\u8E46\u8E4C", 4, "\u8E53", 5, "\u8E5A", 11, "\u8E67\u8E68\u8E6A\u8E6B\u8E6E\u8E71\u90B8\u90B0\u90CF\u90C5\u90BE\u90D0\u90C4\u90C7\u90D3\u90E6\u90E2\u90DC\u90D7\u90DB\u90EB\u90EF\u90FE\u9104\u9122\u911E\u9123\u9131\u912F\u9139\u9143\u9146\u520D\u5942\u52A2\u52AC\u52AD\u52BE\u54FF\u52D0\u52D6\u52F0\u53DF\u71EE\u77CD\u5EF4\u51F5\u51FC\u9B2F\u53B6\u5F01\u755A\u5DEF\u574C\u57A9\u57A1\u587E\u58BC\u58C5\u58D1\u5729\u572C\u572A\u5733\u5739\u572E\u572F\u575C\u573B\u5742\u5769\u5785\u576B\u5786\u577C\u577B\u5768\u576D\u5776\u5773\u57AD\u57A4\u578C\u57B2\u57CF\u57A7\u57B4\u5793\u57A0\u57D5\u57D8\u57DA\u57D9\u57D2\u57B8\u57F4\u57EF\u57F8\u57E4\u57DD"], - ["dc40", "\u8E73\u8E75\u8E77", 4, "\u8E7D\u8E7E\u8E80\u8E82\u8E83\u8E84\u8E86\u8E88", 6, "\u8E91\u8E92\u8E93\u8E95", 6, "\u8E9D\u8E9F", 11, "\u8EAD\u8EAE\u8EB0\u8EB1\u8EB3", 6, "\u8EBB", 7], - ["dc80", "\u8EC3", 10, "\u8ECF", 21, "\u580B\u580D\u57FD\u57ED\u5800\u581E\u5819\u5844\u5820\u5865\u586C\u5881\u5889\u589A\u5880\u99A8\u9F19\u61FF\u8279\u827D\u827F\u828F\u828A\u82A8\u8284\u828E\u8291\u8297\u8299\u82AB\u82B8\u82BE\u82B0\u82C8\u82CA\u82E3\u8298\u82B7\u82AE\u82CB\u82CC\u82C1\u82A9\u82B4\u82A1\u82AA\u829F\u82C4\u82CE\u82A4\u82E1\u8309\u82F7\u82E4\u830F\u8307\u82DC\u82F4\u82D2\u82D8\u830C\u82FB\u82D3\u8311\u831A\u8306\u8314\u8315\u82E0\u82D5\u831C\u8351\u835B\u835C\u8308\u8392\u833C\u8334\u8331\u839B\u835E\u832F\u834F\u8347\u8343\u835F\u8340\u8317\u8360\u832D\u833A\u8333\u8366\u8365"], - ["dd40", "\u8EE5", 62], - ["dd80", "\u8F24", 32, "\u8368\u831B\u8369\u836C\u836A\u836D\u836E\u83B0\u8378\u83B3\u83B4\u83A0\u83AA\u8393\u839C\u8385\u837C\u83B6\u83A9\u837D\u83B8\u837B\u8398\u839E\u83A8\u83BA\u83BC\u83C1\u8401\u83E5\u83D8\u5807\u8418\u840B\u83DD\u83FD\u83D6\u841C\u8438\u8411\u8406\u83D4\u83DF\u840F\u8403\u83F8\u83F9\u83EA\u83C5\u83C0\u8426\u83F0\u83E1\u845C\u8451\u845A\u8459\u8473\u8487\u8488\u847A\u8489\u8478\u843C\u8446\u8469\u8476\u848C\u848E\u8431\u846D\u84C1\u84CD\u84D0\u84E6\u84BD\u84D3\u84CA\u84BF\u84BA\u84E0\u84A1\u84B9\u84B4\u8497\u84E5\u84E3\u850C\u750D\u8538\u84F0\u8539\u851F\u853A"], - ["de40", "\u8F45", 32, "\u8F6A\u8F80\u8F8C\u8F92\u8F9D\u8FA0\u8FA1\u8FA2\u8FA4\u8FA5\u8FA6\u8FA7\u8FAA\u8FAC\u8FAD\u8FAE\u8FAF\u8FB2\u8FB3\u8FB4\u8FB5\u8FB7\u8FB8\u8FBA\u8FBB\u8FBC\u8FBF\u8FC0\u8FC3\u8FC6"], - ["de80", "\u8FC9", 4, "\u8FCF\u8FD2\u8FD6\u8FD7\u8FDA\u8FE0\u8FE1\u8FE3\u8FE7\u8FEC\u8FEF\u8FF1\u8FF2\u8FF4\u8FF5\u8FF6\u8FFA\u8FFB\u8FFC\u8FFE\u8FFF\u9007\u9008\u900C\u900E\u9013\u9015\u9018\u8556\u853B\u84FF\u84FC\u8559\u8548\u8568\u8564\u855E\u857A\u77A2\u8543\u8572\u857B\u85A4\u85A8\u8587\u858F\u8579\u85AE\u859C\u8585\u85B9\u85B7\u85B0\u85D3\u85C1\u85DC\u85FF\u8627\u8605\u8629\u8616\u863C\u5EFE\u5F08\u593C\u5941\u8037\u5955\u595A\u5958\u530F\u5C22\u5C25\u5C2C\u5C34\u624C\u626A\u629F\u62BB\u62CA\u62DA\u62D7\u62EE\u6322\u62F6\u6339\u634B\u6343\u63AD\u63F6\u6371\u637A\u638E\u63B4\u636D\u63AC\u638A\u6369\u63AE\u63BC\u63F2\u63F8\u63E0\u63FF\u63C4\u63DE\u63CE\u6452\u63C6\u63BE\u6445\u6441\u640B\u641B\u6420\u640C\u6426\u6421\u645E\u6484\u646D\u6496"], - ["df40", "\u9019\u901C\u9023\u9024\u9025\u9027", 5, "\u9030", 4, "\u9037\u9039\u903A\u903D\u903F\u9040\u9043\u9045\u9046\u9048", 4, "\u904E\u9054\u9055\u9056\u9059\u905A\u905C", 5, "\u9064\u9066\u9067\u9069\u906A\u906B\u906C\u906F", 4, "\u9076", 6, "\u907E\u9081"], - ["df80", "\u9084\u9085\u9086\u9087\u9089\u908A\u908C", 4, "\u9092\u9094\u9096\u9098\u909A\u909C\u909E\u909F\u90A0\u90A4\u90A5\u90A7\u90A8\u90A9\u90AB\u90AD\u90B2\u90B7\u90BC\u90BD\u90BF\u90C0\u647A\u64B7\u64B8\u6499\u64BA\u64C0\u64D0\u64D7\u64E4\u64E2\u6509\u6525\u652E\u5F0B\u5FD2\u7519\u5F11\u535F\u53F1\u53FD\u53E9\u53E8\u53FB\u5412\u5416\u5406\u544B\u5452\u5453\u5454\u5456\u5443\u5421\u5457\u5459\u5423\u5432\u5482\u5494\u5477\u5471\u5464\u549A\u549B\u5484\u5476\u5466\u549D\u54D0\u54AD\u54C2\u54B4\u54D2\u54A7\u54A6\u54D3\u54D4\u5472\u54A3\u54D5\u54BB\u54BF\u54CC\u54D9\u54DA\u54DC\u54A9\u54AA\u54A4\u54DD\u54CF\u54DE\u551B\u54E7\u5520\u54FD\u5514\u54F3\u5522\u5523\u550F\u5511\u5527\u552A\u5567\u558F\u55B5\u5549\u556D\u5541\u5555\u553F\u5550\u553C"], - ["e040", "\u90C2\u90C3\u90C6\u90C8\u90C9\u90CB\u90CC\u90CD\u90D2\u90D4\u90D5\u90D6\u90D8\u90D9\u90DA\u90DE\u90DF\u90E0\u90E3\u90E4\u90E5\u90E9\u90EA\u90EC\u90EE\u90F0\u90F1\u90F2\u90F3\u90F5\u90F6\u90F7\u90F9\u90FA\u90FB\u90FC\u90FF\u9100\u9101\u9103\u9105", 19, "\u911A\u911B\u911C"], - ["e080", "\u911D\u911F\u9120\u9121\u9124", 10, "\u9130\u9132", 6, "\u913A", 8, "\u9144\u5537\u5556\u5575\u5576\u5577\u5533\u5530\u555C\u558B\u55D2\u5583\u55B1\u55B9\u5588\u5581\u559F\u557E\u55D6\u5591\u557B\u55DF\u55BD\u55BE\u5594\u5599\u55EA\u55F7\u55C9\u561F\u55D1\u55EB\u55EC\u55D4\u55E6\u55DD\u55C4\u55EF\u55E5\u55F2\u55F3\u55CC\u55CD\u55E8\u55F5\u55E4\u8F94\u561E\u5608\u560C\u5601\u5624\u5623\u55FE\u5600\u5627\u562D\u5658\u5639\u5657\u562C\u564D\u5662\u5659\u565C\u564C\u5654\u5686\u5664\u5671\u566B\u567B\u567C\u5685\u5693\u56AF\u56D4\u56D7\u56DD\u56E1\u56F5\u56EB\u56F9\u56FF\u5704\u570A\u5709\u571C\u5E0F\u5E19\u5E14\u5E11\u5E31\u5E3B\u5E3C"], - ["e140", "\u9145\u9147\u9148\u9151\u9153\u9154\u9155\u9156\u9158\u9159\u915B\u915C\u915F\u9160\u9166\u9167\u9168\u916B\u916D\u9173\u917A\u917B\u917C\u9180", 4, "\u9186\u9188\u918A\u918E\u918F\u9193", 6, "\u919C", 5, "\u91A4", 5, "\u91AB\u91AC\u91B0\u91B1\u91B2\u91B3\u91B6\u91B7\u91B8\u91B9\u91BB"], - ["e180", "\u91BC", 10, "\u91C8\u91CB\u91D0\u91D2", 9, "\u91DD", 8, "\u5E37\u5E44\u5E54\u5E5B\u5E5E\u5E61\u5C8C\u5C7A\u5C8D\u5C90\u5C96\u5C88\u5C98\u5C99\u5C91\u5C9A\u5C9C\u5CB5\u5CA2\u5CBD\u5CAC\u5CAB\u5CB1\u5CA3\u5CC1\u5CB7\u5CC4\u5CD2\u5CE4\u5CCB\u5CE5\u5D02\u5D03\u5D27\u5D26\u5D2E\u5D24\u5D1E\u5D06\u5D1B\u5D58\u5D3E\u5D34\u5D3D\u5D6C\u5D5B\u5D6F\u5D5D\u5D6B\u5D4B\u5D4A\u5D69\u5D74\u5D82\u5D99\u5D9D\u8C73\u5DB7\u5DC5\u5F73\u5F77\u5F82\u5F87\u5F89\u5F8C\u5F95\u5F99\u5F9C\u5FA8\u5FAD\u5FB5\u5FBC\u8862\u5F61\u72AD\u72B0\u72B4\u72B7\u72B8\u72C3\u72C1\u72CE\u72CD\u72D2\u72E8\u72EF\u72E9\u72F2\u72F4\u72F7\u7301\u72F3\u7303\u72FA"], - ["e240", "\u91E6", 62], - ["e280", "\u9225", 32, "\u72FB\u7317\u7313\u7321\u730A\u731E\u731D\u7315\u7322\u7339\u7325\u732C\u7338\u7331\u7350\u734D\u7357\u7360\u736C\u736F\u737E\u821B\u5925\u98E7\u5924\u5902\u9963\u9967", 5, "\u9974\u9977\u997D\u9980\u9984\u9987\u998A\u998D\u9990\u9991\u9993\u9994\u9995\u5E80\u5E91\u5E8B\u5E96\u5EA5\u5EA0\u5EB9\u5EB5\u5EBE\u5EB3\u8D53\u5ED2\u5ED1\u5EDB\u5EE8\u5EEA\u81BA\u5FC4\u5FC9\u5FD6\u5FCF\u6003\u5FEE\u6004\u5FE1\u5FE4\u5FFE\u6005\u6006\u5FEA\u5FED\u5FF8\u6019\u6035\u6026\u601B\u600F\u600D\u6029\u602B\u600A\u603F\u6021\u6078\u6079\u607B\u607A\u6042"], - ["e340", "\u9246", 45, "\u9275", 16], - ["e380", "\u9286", 7, "\u928F", 24, "\u606A\u607D\u6096\u609A\u60AD\u609D\u6083\u6092\u608C\u609B\u60EC\u60BB\u60B1\u60DD\u60D8\u60C6\u60DA\u60B4\u6120\u6126\u6115\u6123\u60F4\u6100\u610E\u612B\u614A\u6175\u61AC\u6194\u61A7\u61B7\u61D4\u61F5\u5FDD\u96B3\u95E9\u95EB\u95F1\u95F3\u95F5\u95F6\u95FC\u95FE\u9603\u9604\u9606\u9608\u960A\u960B\u960C\u960D\u960F\u9612\u9615\u9616\u9617\u9619\u961A\u4E2C\u723F\u6215\u6C35\u6C54\u6C5C\u6C4A\u6CA3\u6C85\u6C90\u6C94\u6C8C\u6C68\u6C69\u6C74\u6C76\u6C86\u6CA9\u6CD0\u6CD4\u6CAD\u6CF7\u6CF8\u6CF1\u6CD7\u6CB2\u6CE0\u6CD6\u6CFA\u6CEB\u6CEE\u6CB1\u6CD3\u6CEF\u6CFE"], - ["e440", "\u92A8", 5, "\u92AF", 24, "\u92C9", 31], - ["e480", "\u92E9", 32, "\u6D39\u6D27\u6D0C\u6D43\u6D48\u6D07\u6D04\u6D19\u6D0E\u6D2B\u6D4D\u6D2E\u6D35\u6D1A\u6D4F\u6D52\u6D54\u6D33\u6D91\u6D6F\u6D9E\u6DA0\u6D5E\u6D93\u6D94\u6D5C\u6D60\u6D7C\u6D63\u6E1A\u6DC7\u6DC5\u6DDE\u6E0E\u6DBF\u6DE0\u6E11\u6DE6\u6DDD\u6DD9\u6E16\u6DAB\u6E0C\u6DAE\u6E2B\u6E6E\u6E4E\u6E6B\u6EB2\u6E5F\u6E86\u6E53\u6E54\u6E32\u6E25\u6E44\u6EDF\u6EB1\u6E98\u6EE0\u6F2D\u6EE2\u6EA5\u6EA7\u6EBD\u6EBB\u6EB7\u6ED7\u6EB4\u6ECF\u6E8F\u6EC2\u6E9F\u6F62\u6F46\u6F47\u6F24\u6F15\u6EF9\u6F2F\u6F36\u6F4B\u6F74\u6F2A\u6F09\u6F29\u6F89\u6F8D\u6F8C\u6F78\u6F72\u6F7C\u6F7A\u6FD1"], - ["e540", "\u930A", 51, "\u933F", 10], - ["e580", "\u934A", 31, "\u936B\u6FC9\u6FA7\u6FB9\u6FB6\u6FC2\u6FE1\u6FEE\u6FDE\u6FE0\u6FEF\u701A\u7023\u701B\u7039\u7035\u704F\u705E\u5B80\u5B84\u5B95\u5B93\u5BA5\u5BB8\u752F\u9A9E\u6434\u5BE4\u5BEE\u8930\u5BF0\u8E47\u8B07\u8FB6\u8FD3\u8FD5\u8FE5\u8FEE\u8FE4\u8FE9\u8FE6\u8FF3\u8FE8\u9005\u9004\u900B\u9026\u9011\u900D\u9016\u9021\u9035\u9036\u902D\u902F\u9044\u9051\u9052\u9050\u9068\u9058\u9062\u905B\u66B9\u9074\u907D\u9082\u9088\u9083\u908B\u5F50\u5F57\u5F56\u5F58\u5C3B\u54AB\u5C50\u5C59\u5B71\u5C63\u5C66\u7FBC\u5F2A\u5F29\u5F2D\u8274\u5F3C\u9B3B\u5C6E\u5981\u5983\u598D\u59A9\u59AA\u59A3"], - ["e640", "\u936C", 34, "\u9390", 27], - ["e680", "\u93AC", 29, "\u93CB\u93CC\u93CD\u5997\u59CA\u59AB\u599E\u59A4\u59D2\u59B2\u59AF\u59D7\u59BE\u5A05\u5A06\u59DD\u5A08\u59E3\u59D8\u59F9\u5A0C\u5A09\u5A32\u5A34\u5A11\u5A23\u5A13\u5A40\u5A67\u5A4A\u5A55\u5A3C\u5A62\u5A75\u80EC\u5AAA\u5A9B\u5A77\u5A7A\u5ABE\u5AEB\u5AB2\u5AD2\u5AD4\u5AB8\u5AE0\u5AE3\u5AF1\u5AD6\u5AE6\u5AD8\u5ADC\u5B09\u5B17\u5B16\u5B32\u5B37\u5B40\u5C15\u5C1C\u5B5A\u5B65\u5B73\u5B51\u5B53\u5B62\u9A75\u9A77\u9A78\u9A7A\u9A7F\u9A7D\u9A80\u9A81\u9A85\u9A88\u9A8A\u9A90\u9A92\u9A93\u9A96\u9A98\u9A9B\u9A9C\u9A9D\u9A9F\u9AA0\u9AA2\u9AA3\u9AA5\u9AA7\u7E9F\u7EA1\u7EA3\u7EA5\u7EA8\u7EA9"], - ["e740", "\u93CE", 7, "\u93D7", 54], - ["e780", "\u940E", 32, "\u7EAD\u7EB0\u7EBE\u7EC0\u7EC1\u7EC2\u7EC9\u7ECB\u7ECC\u7ED0\u7ED4\u7ED7\u7EDB\u7EE0\u7EE1\u7EE8\u7EEB\u7EEE\u7EEF\u7EF1\u7EF2\u7F0D\u7EF6\u7EFA\u7EFB\u7EFE\u7F01\u7F02\u7F03\u7F07\u7F08\u7F0B\u7F0C\u7F0F\u7F11\u7F12\u7F17\u7F19\u7F1C\u7F1B\u7F1F\u7F21", 6, "\u7F2A\u7F2B\u7F2C\u7F2D\u7F2F", 4, "\u7F35\u5E7A\u757F\u5DDB\u753E\u9095\u738E\u7391\u73AE\u73A2\u739F\u73CF\u73C2\u73D1\u73B7\u73B3\u73C0\u73C9\u73C8\u73E5\u73D9\u987C\u740A\u73E9\u73E7\u73DE\u73BA\u73F2\u740F\u742A\u745B\u7426\u7425\u7428\u7430\u742E\u742C"], - ["e840", "\u942F", 14, "\u943F", 43, "\u946C\u946D\u946E\u946F"], - ["e880", "\u9470", 20, "\u9491\u9496\u9498\u94C7\u94CF\u94D3\u94D4\u94DA\u94E6\u94FB\u951C\u9520\u741B\u741A\u7441\u745C\u7457\u7455\u7459\u7477\u746D\u747E\u749C\u748E\u7480\u7481\u7487\u748B\u749E\u74A8\u74A9\u7490\u74A7\u74D2\u74BA\u97EA\u97EB\u97EC\u674C\u6753\u675E\u6748\u6769\u67A5\u6787\u676A\u6773\u6798\u67A7\u6775\u67A8\u679E\u67AD\u678B\u6777\u677C\u67F0\u6809\u67D8\u680A\u67E9\u67B0\u680C\u67D9\u67B5\u67DA\u67B3\u67DD\u6800\u67C3\u67B8\u67E2\u680E\u67C1\u67FD\u6832\u6833\u6860\u6861\u684E\u6862\u6844\u6864\u6883\u681D\u6855\u6866\u6841\u6867\u6840\u683E\u684A\u6849\u6829\u68B5\u688F\u6874\u6877\u6893\u686B\u68C2\u696E\u68FC\u691F\u6920\u68F9"], - ["e940", "\u9527\u9533\u953D\u9543\u9548\u954B\u9555\u955A\u9560\u956E\u9574\u9575\u9577", 7, "\u9580", 42], - ["e980", "\u95AB", 32, "\u6924\u68F0\u690B\u6901\u6957\u68E3\u6910\u6971\u6939\u6960\u6942\u695D\u6984\u696B\u6980\u6998\u6978\u6934\u69CC\u6987\u6988\u69CE\u6989\u6966\u6963\u6979\u699B\u69A7\u69BB\u69AB\u69AD\u69D4\u69B1\u69C1\u69CA\u69DF\u6995\u69E0\u698D\u69FF\u6A2F\u69ED\u6A17\u6A18\u6A65\u69F2\u6A44\u6A3E\u6AA0\u6A50\u6A5B\u6A35\u6A8E\u6A79\u6A3D\u6A28\u6A58\u6A7C\u6A91\u6A90\u6AA9\u6A97\u6AAB\u7337\u7352\u6B81\u6B82\u6B87\u6B84\u6B92\u6B93\u6B8D\u6B9A\u6B9B\u6BA1\u6BAA\u8F6B\u8F6D\u8F71\u8F72\u8F73\u8F75\u8F76\u8F78\u8F77\u8F79\u8F7A\u8F7C\u8F7E\u8F81\u8F82\u8F84\u8F87\u8F8B"], - ["ea40", "\u95CC", 27, "\u95EC\u95FF\u9607\u9613\u9618\u961B\u961E\u9620\u9623", 6, "\u962B\u962C\u962D\u962F\u9630\u9637\u9638\u9639\u963A\u963E\u9641\u9643\u964A\u964E\u964F\u9651\u9652\u9653\u9656\u9657"], - ["ea80", "\u9658\u9659\u965A\u965C\u965D\u965E\u9660\u9663\u9665\u9666\u966B\u966D", 4, "\u9673\u9678", 12, "\u9687\u9689\u968A\u8F8D\u8F8E\u8F8F\u8F98\u8F9A\u8ECE\u620B\u6217\u621B\u621F\u6222\u6221\u6225\u6224\u622C\u81E7\u74EF\u74F4\u74FF\u750F\u7511\u7513\u6534\u65EE\u65EF\u65F0\u660A\u6619\u6772\u6603\u6615\u6600\u7085\u66F7\u661D\u6634\u6631\u6636\u6635\u8006\u665F\u6654\u6641\u664F\u6656\u6661\u6657\u6677\u6684\u668C\u66A7\u669D\u66BE\u66DB\u66DC\u66E6\u66E9\u8D32\u8D33\u8D36\u8D3B\u8D3D\u8D40\u8D45\u8D46\u8D48\u8D49\u8D47\u8D4D\u8D55\u8D59\u89C7\u89CA\u89CB\u89CC\u89CE\u89CF\u89D0\u89D1\u726E\u729F\u725D\u7266\u726F\u727E\u727F\u7284\u728B\u728D\u728F\u7292\u6308\u6332\u63B0"], - ["eb40", "\u968C\u968E\u9691\u9692\u9693\u9695\u9696\u969A\u969B\u969D", 9, "\u96A8", 7, "\u96B1\u96B2\u96B4\u96B5\u96B7\u96B8\u96BA\u96BB\u96BF\u96C2\u96C3\u96C8\u96CA\u96CB\u96D0\u96D1\u96D3\u96D4\u96D6", 9, "\u96E1", 6, "\u96EB"], - ["eb80", "\u96EC\u96ED\u96EE\u96F0\u96F1\u96F2\u96F4\u96F5\u96F8\u96FA\u96FB\u96FC\u96FD\u96FF\u9702\u9703\u9705\u970A\u970B\u970C\u9710\u9711\u9712\u9714\u9715\u9717", 4, "\u971D\u971F\u9720\u643F\u64D8\u8004\u6BEA\u6BF3\u6BFD\u6BF5\u6BF9\u6C05\u6C07\u6C06\u6C0D\u6C15\u6C18\u6C19\u6C1A\u6C21\u6C29\u6C24\u6C2A\u6C32\u6535\u6555\u656B\u724D\u7252\u7256\u7230\u8662\u5216\u809F\u809C\u8093\u80BC\u670A\u80BD\u80B1\u80AB\u80AD\u80B4\u80B7\u80E7\u80E8\u80E9\u80EA\u80DB\u80C2\u80C4\u80D9\u80CD\u80D7\u6710\u80DD\u80EB\u80F1\u80F4\u80ED\u810D\u810E\u80F2\u80FC\u6715\u8112\u8C5A\u8136\u811E\u812C\u8118\u8132\u8148\u814C\u8153\u8174\u8159\u815A\u8171\u8160\u8169\u817C\u817D\u816D\u8167\u584D\u5AB5\u8188\u8182\u8191\u6ED5\u81A3\u81AA\u81CC\u6726\u81CA\u81BB"], - ["ec40", "\u9721", 8, "\u972B\u972C\u972E\u972F\u9731\u9733", 4, "\u973A\u973B\u973C\u973D\u973F", 18, "\u9754\u9755\u9757\u9758\u975A\u975C\u975D\u975F\u9763\u9764\u9766\u9767\u9768\u976A", 7], - ["ec80", "\u9772\u9775\u9777", 4, "\u977D", 7, "\u9786", 4, "\u978C\u978E\u978F\u9790\u9793\u9795\u9796\u9797\u9799", 4, "\u81C1\u81A6\u6B24\u6B37\u6B39\u6B43\u6B46\u6B59\u98D1\u98D2\u98D3\u98D5\u98D9\u98DA\u6BB3\u5F40\u6BC2\u89F3\u6590\u9F51\u6593\u65BC\u65C6\u65C4\u65C3\u65CC\u65CE\u65D2\u65D6\u7080\u709C\u7096\u709D\u70BB\u70C0\u70B7\u70AB\u70B1\u70E8\u70CA\u7110\u7113\u7116\u712F\u7131\u7173\u715C\u7168\u7145\u7172\u714A\u7178\u717A\u7198\u71B3\u71B5\u71A8\u71A0\u71E0\u71D4\u71E7\u71F9\u721D\u7228\u706C\u7118\u7166\u71B9\u623E\u623D\u6243\u6248\u6249\u793B\u7940\u7946\u7949\u795B\u795C\u7953\u795A\u7962\u7957\u7960\u796F\u7967\u797A\u7985\u798A\u799A\u79A7\u79B3\u5FD1\u5FD0"], - ["ed40", "\u979E\u979F\u97A1\u97A2\u97A4", 6, "\u97AC\u97AE\u97B0\u97B1\u97B3\u97B5", 46], - ["ed80", "\u97E4\u97E5\u97E8\u97EE", 4, "\u97F4\u97F7", 23, "\u603C\u605D\u605A\u6067\u6041\u6059\u6063\u60AB\u6106\u610D\u615D\u61A9\u619D\u61CB\u61D1\u6206\u8080\u807F\u6C93\u6CF6\u6DFC\u77F6\u77F8\u7800\u7809\u7817\u7818\u7811\u65AB\u782D\u781C\u781D\u7839\u783A\u783B\u781F\u783C\u7825\u782C\u7823\u7829\u784E\u786D\u7856\u7857\u7826\u7850\u7847\u784C\u786A\u789B\u7893\u789A\u7887\u789C\u78A1\u78A3\u78B2\u78B9\u78A5\u78D4\u78D9\u78C9\u78EC\u78F2\u7905\u78F4\u7913\u7924\u791E\u7934\u9F9B\u9EF9\u9EFB\u9EFC\u76F1\u7704\u770D\u76F9\u7707\u7708\u771A\u7722\u7719\u772D\u7726\u7735\u7738\u7750\u7751\u7747\u7743\u775A\u7768"], - ["ee40", "\u980F", 62], - ["ee80", "\u984E", 32, "\u7762\u7765\u777F\u778D\u777D\u7780\u778C\u7791\u779F\u77A0\u77B0\u77B5\u77BD\u753A\u7540\u754E\u754B\u7548\u755B\u7572\u7579\u7583\u7F58\u7F61\u7F5F\u8A48\u7F68\u7F74\u7F71\u7F79\u7F81\u7F7E\u76CD\u76E5\u8832\u9485\u9486\u9487\u948B\u948A\u948C\u948D\u948F\u9490\u9494\u9497\u9495\u949A\u949B\u949C\u94A3\u94A4\u94AB\u94AA\u94AD\u94AC\u94AF\u94B0\u94B2\u94B4\u94B6", 4, "\u94BC\u94BD\u94BF\u94C4\u94C8", 6, "\u94D0\u94D1\u94D2\u94D5\u94D6\u94D7\u94D9\u94D8\u94DB\u94DE\u94DF\u94E0\u94E2\u94E4\u94E5\u94E7\u94E8\u94EA"], - ["ef40", "\u986F", 5, "\u988B\u988E\u9892\u9895\u9899\u98A3\u98A8", 37, "\u98CF\u98D0\u98D4\u98D6\u98D7\u98DB\u98DC\u98DD\u98E0", 4], - ["ef80", "\u98E5\u98E6\u98E9", 30, "\u94E9\u94EB\u94EE\u94EF\u94F3\u94F4\u94F5\u94F7\u94F9\u94FC\u94FD\u94FF\u9503\u9502\u9506\u9507\u9509\u950A\u950D\u950E\u950F\u9512", 4, "\u9518\u951B\u951D\u951E\u951F\u9522\u952A\u952B\u9529\u952C\u9531\u9532\u9534\u9536\u9537\u9538\u953C\u953E\u953F\u9542\u9535\u9544\u9545\u9546\u9549\u954C\u954E\u954F\u9552\u9553\u9554\u9556\u9557\u9558\u9559\u955B\u955E\u955F\u955D\u9561\u9562\u9564", 8, "\u956F\u9571\u9572\u9573\u953A\u77E7\u77EC\u96C9\u79D5\u79ED\u79E3\u79EB\u7A06\u5D47\u7A03\u7A02\u7A1E\u7A14"], - ["f040", "\u9908", 4, "\u990E\u990F\u9911", 28, "\u992F", 26], - ["f080", "\u994A", 9, "\u9956", 12, "\u9964\u9966\u9973\u9978\u9979\u997B\u997E\u9982\u9983\u9989\u7A39\u7A37\u7A51\u9ECF\u99A5\u7A70\u7688\u768E\u7693\u7699\u76A4\u74DE\u74E0\u752C\u9E20\u9E22\u9E28", 4, "\u9E32\u9E31\u9E36\u9E38\u9E37\u9E39\u9E3A\u9E3E\u9E41\u9E42\u9E44\u9E46\u9E47\u9E48\u9E49\u9E4B\u9E4C\u9E4E\u9E51\u9E55\u9E57\u9E5A\u9E5B\u9E5C\u9E5E\u9E63\u9E66", 6, "\u9E71\u9E6D\u9E73\u7592\u7594\u7596\u75A0\u759D\u75AC\u75A3\u75B3\u75B4\u75B8\u75C4\u75B1\u75B0\u75C3\u75C2\u75D6\u75CD\u75E3\u75E8\u75E6\u75E4\u75EB\u75E7\u7603\u75F1\u75FC\u75FF\u7610\u7600\u7605\u760C\u7617\u760A\u7625\u7618\u7615\u7619"], - ["f140", "\u998C\u998E\u999A", 10, "\u99A6\u99A7\u99A9", 47], - ["f180", "\u99D9", 32, "\u761B\u763C\u7622\u7620\u7640\u762D\u7630\u763F\u7635\u7643\u763E\u7633\u764D\u765E\u7654\u765C\u7656\u766B\u766F\u7FCA\u7AE6\u7A78\u7A79\u7A80\u7A86\u7A88\u7A95\u7AA6\u7AA0\u7AAC\u7AA8\u7AAD\u7AB3\u8864\u8869\u8872\u887D\u887F\u8882\u88A2\u88C6\u88B7\u88BC\u88C9\u88E2\u88CE\u88E3\u88E5\u88F1\u891A\u88FC\u88E8\u88FE\u88F0\u8921\u8919\u8913\u891B\u890A\u8934\u892B\u8936\u8941\u8966\u897B\u758B\u80E5\u76B2\u76B4\u77DC\u8012\u8014\u8016\u801C\u8020\u8022\u8025\u8026\u8027\u8029\u8028\u8031\u800B\u8035\u8043\u8046\u804D\u8052\u8069\u8071\u8983\u9878\u9880\u9883"], - ["f240", "\u99FA", 62], - ["f280", "\u9A39", 32, "\u9889\u988C\u988D\u988F\u9894\u989A\u989B\u989E\u989F\u98A1\u98A2\u98A5\u98A6\u864D\u8654\u866C\u866E\u867F\u867A\u867C\u867B\u86A8\u868D\u868B\u86AC\u869D\u86A7\u86A3\u86AA\u8693\u86A9\u86B6\u86C4\u86B5\u86CE\u86B0\u86BA\u86B1\u86AF\u86C9\u86CF\u86B4\u86E9\u86F1\u86F2\u86ED\u86F3\u86D0\u8713\u86DE\u86F4\u86DF\u86D8\u86D1\u8703\u8707\u86F8\u8708\u870A\u870D\u8709\u8723\u873B\u871E\u8725\u872E\u871A\u873E\u8748\u8734\u8731\u8729\u8737\u873F\u8782\u8722\u877D\u877E\u877B\u8760\u8770\u874C\u876E\u878B\u8753\u8763\u877C\u8764\u8759\u8765\u8793\u87AF\u87A8\u87D2"], - ["f340", "\u9A5A", 17, "\u9A72\u9A83\u9A89\u9A8D\u9A8E\u9A94\u9A95\u9A99\u9AA6\u9AA9", 6, "\u9AB2\u9AB3\u9AB4\u9AB5\u9AB9\u9ABB\u9ABD\u9ABE\u9ABF\u9AC3\u9AC4\u9AC6", 4, "\u9ACD\u9ACE\u9ACF\u9AD0\u9AD2\u9AD4\u9AD5\u9AD6\u9AD7\u9AD9\u9ADA\u9ADB\u9ADC"], - ["f380", "\u9ADD\u9ADE\u9AE0\u9AE2\u9AE3\u9AE4\u9AE5\u9AE7\u9AE8\u9AE9\u9AEA\u9AEC\u9AEE\u9AF0", 8, "\u9AFA\u9AFC", 6, "\u9B04\u9B05\u9B06\u87C6\u8788\u8785\u87AD\u8797\u8783\u87AB\u87E5\u87AC\u87B5\u87B3\u87CB\u87D3\u87BD\u87D1\u87C0\u87CA\u87DB\u87EA\u87E0\u87EE\u8816\u8813\u87FE\u880A\u881B\u8821\u8839\u883C\u7F36\u7F42\u7F44\u7F45\u8210\u7AFA\u7AFD\u7B08\u7B03\u7B04\u7B15\u7B0A\u7B2B\u7B0F\u7B47\u7B38\u7B2A\u7B19\u7B2E\u7B31\u7B20\u7B25\u7B24\u7B33\u7B3E\u7B1E\u7B58\u7B5A\u7B45\u7B75\u7B4C\u7B5D\u7B60\u7B6E\u7B7B\u7B62\u7B72\u7B71\u7B90\u7BA6\u7BA7\u7BB8\u7BAC\u7B9D\u7BA8\u7B85\u7BAA\u7B9C\u7BA2\u7BAB\u7BB4\u7BD1\u7BC1\u7BCC\u7BDD\u7BDA\u7BE5\u7BE6\u7BEA\u7C0C\u7BFE\u7BFC\u7C0F\u7C16\u7C0B"], - ["f440", "\u9B07\u9B09", 5, "\u9B10\u9B11\u9B12\u9B14", 10, "\u9B20\u9B21\u9B22\u9B24", 10, "\u9B30\u9B31\u9B33", 7, "\u9B3D\u9B3E\u9B3F\u9B40\u9B46\u9B4A\u9B4B\u9B4C\u9B4E\u9B50\u9B52\u9B53\u9B55", 5], - ["f480", "\u9B5B", 32, "\u7C1F\u7C2A\u7C26\u7C38\u7C41\u7C40\u81FE\u8201\u8202\u8204\u81EC\u8844\u8221\u8222\u8223\u822D\u822F\u8228\u822B\u8238\u823B\u8233\u8234\u823E\u8244\u8249\u824B\u824F\u825A\u825F\u8268\u887E\u8885\u8888\u88D8\u88DF\u895E\u7F9D\u7F9F\u7FA7\u7FAF\u7FB0\u7FB2\u7C7C\u6549\u7C91\u7C9D\u7C9C\u7C9E\u7CA2\u7CB2\u7CBC\u7CBD\u7CC1\u7CC7\u7CCC\u7CCD\u7CC8\u7CC5\u7CD7\u7CE8\u826E\u66A8\u7FBF\u7FCE\u7FD5\u7FE5\u7FE1\u7FE6\u7FE9\u7FEE\u7FF3\u7CF8\u7D77\u7DA6\u7DAE\u7E47\u7E9B\u9EB8\u9EB4\u8D73\u8D84\u8D94\u8D91\u8DB1\u8D67\u8D6D\u8C47\u8C49\u914A\u9150\u914E\u914F\u9164"], - ["f540", "\u9B7C", 62], - ["f580", "\u9BBB", 32, "\u9162\u9161\u9170\u9169\u916F\u917D\u917E\u9172\u9174\u9179\u918C\u9185\u9190\u918D\u9191\u91A2\u91A3\u91AA\u91AD\u91AE\u91AF\u91B5\u91B4\u91BA\u8C55\u9E7E\u8DB8\u8DEB\u8E05\u8E59\u8E69\u8DB5\u8DBF\u8DBC\u8DBA\u8DC4\u8DD6\u8DD7\u8DDA\u8DDE\u8DCE\u8DCF\u8DDB\u8DC6\u8DEC\u8DF7\u8DF8\u8DE3\u8DF9\u8DFB\u8DE4\u8E09\u8DFD\u8E14\u8E1D\u8E1F\u8E2C\u8E2E\u8E23\u8E2F\u8E3A\u8E40\u8E39\u8E35\u8E3D\u8E31\u8E49\u8E41\u8E42\u8E51\u8E52\u8E4A\u8E70\u8E76\u8E7C\u8E6F\u8E74\u8E85\u8E8F\u8E94\u8E90\u8E9C\u8E9E\u8C78\u8C82\u8C8A\u8C85\u8C98\u8C94\u659B\u89D6\u89DE\u89DA\u89DC"], - ["f640", "\u9BDC", 62], - ["f680", "\u9C1B", 32, "\u89E5\u89EB\u89EF\u8A3E\u8B26\u9753\u96E9\u96F3\u96EF\u9706\u9701\u9708\u970F\u970E\u972A\u972D\u9730\u973E\u9F80\u9F83\u9F85", 5, "\u9F8C\u9EFE\u9F0B\u9F0D\u96B9\u96BC\u96BD\u96CE\u96D2\u77BF\u96E0\u928E\u92AE\u92C8\u933E\u936A\u93CA\u938F\u943E\u946B\u9C7F\u9C82\u9C85\u9C86\u9C87\u9C88\u7A23\u9C8B\u9C8E\u9C90\u9C91\u9C92\u9C94\u9C95\u9C9A\u9C9B\u9C9E", 5, "\u9CA5", 4, "\u9CAB\u9CAD\u9CAE\u9CB0", 7, "\u9CBA\u9CBB\u9CBC\u9CBD\u9CC4\u9CC5\u9CC6\u9CC7\u9CCA\u9CCB"], - ["f740", "\u9C3C", 62], - ["f780", "\u9C7B\u9C7D\u9C7E\u9C80\u9C83\u9C84\u9C89\u9C8A\u9C8C\u9C8F\u9C93\u9C96\u9C97\u9C98\u9C99\u9C9D\u9CAA\u9CAC\u9CAF\u9CB9\u9CBE", 4, "\u9CC8\u9CC9\u9CD1\u9CD2\u9CDA\u9CDB\u9CE0\u9CE1\u9CCC", 4, "\u9CD3\u9CD4\u9CD5\u9CD7\u9CD8\u9CD9\u9CDC\u9CDD\u9CDF\u9CE2\u977C\u9785\u9791\u9792\u9794\u97AF\u97AB\u97A3\u97B2\u97B4\u9AB1\u9AB0\u9AB7\u9E58\u9AB6\u9ABA\u9ABC\u9AC1\u9AC0\u9AC5\u9AC2\u9ACB\u9ACC\u9AD1\u9B45\u9B43\u9B47\u9B49\u9B48\u9B4D\u9B51\u98E8\u990D\u992E\u9955\u9954\u9ADF\u9AE1\u9AE6\u9AEF\u9AEB\u9AFB\u9AED\u9AF9\u9B08\u9B0F\u9B13\u9B1F\u9B23\u9EBD\u9EBE\u7E3B\u9E82\u9E87\u9E88\u9E8B\u9E92\u93D6\u9E9D\u9E9F\u9EDB\u9EDC\u9EDD\u9EE0\u9EDF\u9EE2\u9EE9\u9EE7\u9EE5\u9EEA\u9EEF\u9F22\u9F2C\u9F2F\u9F39\u9F37\u9F3D\u9F3E\u9F44"], - ["f840", "\u9CE3", 62], - ["f880", "\u9D22", 32], - ["f940", "\u9D43", 62], - ["f980", "\u9D82", 32], - ["fa40", "\u9DA3", 62], - ["fa80", "\u9DE2", 32], - ["fb40", "\u9E03", 27, "\u9E24\u9E27\u9E2E\u9E30\u9E34\u9E3B\u9E3C\u9E40\u9E4D\u9E50\u9E52\u9E53\u9E54\u9E56\u9E59\u9E5D\u9E5F\u9E60\u9E61\u9E62\u9E65\u9E6E\u9E6F\u9E72\u9E74", 9, "\u9E80"], - ["fb80", "\u9E81\u9E83\u9E84\u9E85\u9E86\u9E89\u9E8A\u9E8C", 5, "\u9E94", 8, "\u9E9E\u9EA0", 5, "\u9EA7\u9EA8\u9EA9\u9EAA"], - ["fc40", "\u9EAB", 8, "\u9EB5\u9EB6\u9EB7\u9EB9\u9EBA\u9EBC\u9EBF", 4, "\u9EC5\u9EC6\u9EC7\u9EC8\u9ECA\u9ECB\u9ECC\u9ED0\u9ED2\u9ED3\u9ED5\u9ED6\u9ED7\u9ED9\u9EDA\u9EDE\u9EE1\u9EE3\u9EE4\u9EE6\u9EE8\u9EEB\u9EEC\u9EED\u9EEE\u9EF0", 8, "\u9EFA\u9EFD\u9EFF", 6], - ["fc80", "\u9F06", 4, "\u9F0C\u9F0F\u9F11\u9F12\u9F14\u9F15\u9F16\u9F18\u9F1A", 5, "\u9F21\u9F23", 8, "\u9F2D\u9F2E\u9F30\u9F31"], - ["fd40", "\u9F32", 4, "\u9F38\u9F3A\u9F3C\u9F3F", 4, "\u9F45", 10, "\u9F52", 38], - ["fd80", "\u9F79", 5, "\u9F81\u9F82\u9F8D", 11, "\u9F9C\u9F9D\u9F9E\u9FA1", 4, "\uF92C\uF979\uF995\uF9E7\uF9F1"], - ["fe40", "\uFA0C\uFA0D\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA18\uFA1F\uFA20\uFA21\uFA23\uFA24\uFA27\uFA28\uFA29"] - ]; - } -}); - -// node_modules/iconv-lite/encodings/tables/gbk-added.json -var require_gbk_added = __commonJS({ - "node_modules/iconv-lite/encodings/tables/gbk-added.json"(exports2, module2) { - module2.exports = [ - ["a140", "\uE4C6", 62], - ["a180", "\uE505", 32], - ["a240", "\uE526", 62], - ["a280", "\uE565", 32], - ["a2ab", "\uE766", 5], - ["a2e3", "\u20AC\uE76D"], - ["a2ef", "\uE76E\uE76F"], - ["a2fd", "\uE770\uE771"], - ["a340", "\uE586", 62], - ["a380", "\uE5C5", 31, "\u3000"], - ["a440", "\uE5E6", 62], - ["a480", "\uE625", 32], - ["a4f4", "\uE772", 10], - ["a540", "\uE646", 62], - ["a580", "\uE685", 32], - ["a5f7", "\uE77D", 7], - ["a640", "\uE6A6", 62], - ["a680", "\uE6E5", 32], - ["a6b9", "\uE785", 7], - ["a6d9", "\uE78D", 6], - ["a6ec", "\uE794\uE795"], - ["a6f3", "\uE796"], - ["a6f6", "\uE797", 8], - ["a740", "\uE706", 62], - ["a780", "\uE745", 32], - ["a7c2", "\uE7A0", 14], - ["a7f2", "\uE7AF", 12], - ["a896", "\uE7BC", 10], - ["a8bc", "\uE7C7"], - ["a8bf", "\u01F9"], - ["a8c1", "\uE7C9\uE7CA\uE7CB\uE7CC"], - ["a8ea", "\uE7CD", 20], - ["a958", "\uE7E2"], - ["a95b", "\uE7E3"], - ["a95d", "\uE7E4\uE7E5\uE7E6"], - ["a989", "\u303E\u2FF0", 11], - ["a997", "\uE7F4", 12], - ["a9f0", "\uE801", 14], - ["aaa1", "\uE000", 93], - ["aba1", "\uE05E", 93], - ["aca1", "\uE0BC", 93], - ["ada1", "\uE11A", 93], - ["aea1", "\uE178", 93], - ["afa1", "\uE1D6", 93], - ["d7fa", "\uE810", 4], - ["f8a1", "\uE234", 93], - ["f9a1", "\uE292", 93], - ["faa1", "\uE2F0", 93], - ["fba1", "\uE34E", 93], - ["fca1", "\uE3AC", 93], - ["fda1", "\uE40A", 93], - ["fe50", "\u2E81\uE816\uE817\uE818\u2E84\u3473\u3447\u2E88\u2E8B\uE81E\u359E\u361A\u360E\u2E8C\u2E97\u396E\u3918\uE826\u39CF\u39DF\u3A73\u39D0\uE82B\uE82C\u3B4E\u3C6E\u3CE0\u2EA7\uE831\uE832\u2EAA\u4056\u415F\u2EAE\u4337\u2EB3\u2EB6\u2EB7\uE83B\u43B1\u43AC\u2EBB\u43DD\u44D6\u4661\u464C\uE843"], - ["fe80", "\u4723\u4729\u477C\u478D\u2ECA\u4947\u497A\u497D\u4982\u4983\u4985\u4986\u499F\u499B\u49B7\u49B6\uE854\uE855\u4CA3\u4C9F\u4CA0\u4CA1\u4C77\u4CA2\u4D13", 6, "\u4DAE\uE864\uE468", 93] - ]; - } -}); - -// node_modules/iconv-lite/encodings/tables/gb18030-ranges.json -var require_gb18030_ranges = __commonJS({ - "node_modules/iconv-lite/encodings/tables/gb18030-ranges.json"(exports2, module2) { - module2.exports = { uChars: [128, 165, 169, 178, 184, 216, 226, 235, 238, 244, 248, 251, 253, 258, 276, 284, 300, 325, 329, 334, 364, 463, 465, 467, 469, 471, 473, 475, 477, 506, 594, 610, 712, 716, 730, 930, 938, 962, 970, 1026, 1104, 1106, 8209, 8215, 8218, 8222, 8231, 8241, 8244, 8246, 8252, 8365, 8452, 8454, 8458, 8471, 8482, 8556, 8570, 8596, 8602, 8713, 8720, 8722, 8726, 8731, 8737, 8740, 8742, 8748, 8751, 8760, 8766, 8777, 8781, 8787, 8802, 8808, 8816, 8854, 8858, 8870, 8896, 8979, 9322, 9372, 9548, 9588, 9616, 9622, 9634, 9652, 9662, 9672, 9676, 9680, 9702, 9735, 9738, 9793, 9795, 11906, 11909, 11913, 11917, 11928, 11944, 11947, 11951, 11956, 11960, 11964, 11979, 12284, 12292, 12312, 12319, 12330, 12351, 12436, 12447, 12535, 12543, 12586, 12842, 12850, 12964, 13200, 13215, 13218, 13253, 13263, 13267, 13270, 13384, 13428, 13727, 13839, 13851, 14617, 14703, 14801, 14816, 14964, 15183, 15471, 15585, 16471, 16736, 17208, 17325, 17330, 17374, 17623, 17997, 18018, 18212, 18218, 18301, 18318, 18760, 18811, 18814, 18820, 18823, 18844, 18848, 18872, 19576, 19620, 19738, 19887, 40870, 59244, 59336, 59367, 59413, 59417, 59423, 59431, 59437, 59443, 59452, 59460, 59478, 59493, 63789, 63866, 63894, 63976, 63986, 64016, 64018, 64021, 64025, 64034, 64037, 64042, 65074, 65093, 65107, 65112, 65127, 65132, 65375, 65510, 65536], gbChars: [0, 36, 38, 45, 50, 81, 89, 95, 96, 100, 103, 104, 105, 109, 126, 133, 148, 172, 175, 179, 208, 306, 307, 308, 309, 310, 311, 312, 313, 341, 428, 443, 544, 545, 558, 741, 742, 749, 750, 805, 819, 820, 7922, 7924, 7925, 7927, 7934, 7943, 7944, 7945, 7950, 8062, 8148, 8149, 8152, 8164, 8174, 8236, 8240, 8262, 8264, 8374, 8380, 8381, 8384, 8388, 8390, 8392, 8393, 8394, 8396, 8401, 8406, 8416, 8419, 8424, 8437, 8439, 8445, 8482, 8485, 8496, 8521, 8603, 8936, 8946, 9046, 9050, 9063, 9066, 9076, 9092, 9100, 9108, 9111, 9113, 9131, 9162, 9164, 9218, 9219, 11329, 11331, 11334, 11336, 11346, 11361, 11363, 11366, 11370, 11372, 11375, 11389, 11682, 11686, 11687, 11692, 11694, 11714, 11716, 11723, 11725, 11730, 11736, 11982, 11989, 12102, 12336, 12348, 12350, 12384, 12393, 12395, 12397, 12510, 12553, 12851, 12962, 12973, 13738, 13823, 13919, 13933, 14080, 14298, 14585, 14698, 15583, 15847, 16318, 16434, 16438, 16481, 16729, 17102, 17122, 17315, 17320, 17402, 17418, 17859, 17909, 17911, 17915, 17916, 17936, 17939, 17961, 18664, 18703, 18814, 18962, 19043, 33469, 33470, 33471, 33484, 33485, 33490, 33497, 33501, 33505, 33513, 33520, 33536, 33550, 37845, 37921, 37948, 38029, 38038, 38064, 38065, 38066, 38069, 38075, 38076, 38078, 39108, 39109, 39113, 39114, 39115, 39116, 39265, 39394, 189e3] }; - } -}); - -// node_modules/iconv-lite/encodings/tables/cp949.json -var require_cp949 = __commonJS({ - "node_modules/iconv-lite/encodings/tables/cp949.json"(exports2, module2) { - module2.exports = [ - ["0", "\0", 127], - ["8141", "\uAC02\uAC03\uAC05\uAC06\uAC0B", 4, "\uAC18\uAC1E\uAC1F\uAC21\uAC22\uAC23\uAC25", 6, "\uAC2E\uAC32\uAC33\uAC34"], - ["8161", "\uAC35\uAC36\uAC37\uAC3A\uAC3B\uAC3D\uAC3E\uAC3F\uAC41", 9, "\uAC4C\uAC4E", 5, "\uAC55"], - ["8181", "\uAC56\uAC57\uAC59\uAC5A\uAC5B\uAC5D", 18, "\uAC72\uAC73\uAC75\uAC76\uAC79\uAC7B", 4, "\uAC82\uAC87\uAC88\uAC8D\uAC8E\uAC8F\uAC91\uAC92\uAC93\uAC95", 6, "\uAC9E\uACA2", 5, "\uACAB\uACAD\uACAE\uACB1", 6, "\uACBA\uACBE\uACBF\uACC0\uACC2\uACC3\uACC5\uACC6\uACC7\uACC9\uACCA\uACCB\uACCD", 7, "\uACD6\uACD8", 7, "\uACE2\uACE3\uACE5\uACE6\uACE9\uACEB\uACED\uACEE\uACF2\uACF4\uACF7", 4, "\uACFE\uACFF\uAD01\uAD02\uAD03\uAD05\uAD07", 4, "\uAD0E\uAD10\uAD12\uAD13"], - ["8241", "\uAD14\uAD15\uAD16\uAD17\uAD19\uAD1A\uAD1B\uAD1D\uAD1E\uAD1F\uAD21", 7, "\uAD2A\uAD2B\uAD2E", 5], - ["8261", "\uAD36\uAD37\uAD39\uAD3A\uAD3B\uAD3D", 6, "\uAD46\uAD48\uAD4A", 5, "\uAD51\uAD52\uAD53\uAD55\uAD56\uAD57"], - ["8281", "\uAD59", 7, "\uAD62\uAD64", 7, "\uAD6E\uAD6F\uAD71\uAD72\uAD77\uAD78\uAD79\uAD7A\uAD7E\uAD80\uAD83", 4, "\uAD8A\uAD8B\uAD8D\uAD8E\uAD8F\uAD91", 10, "\uAD9E", 5, "\uADA5", 17, "\uADB8", 7, "\uADC2\uADC3\uADC5\uADC6\uADC7\uADC9", 6, "\uADD2\uADD4", 7, "\uADDD\uADDE\uADDF\uADE1\uADE2\uADE3\uADE5", 18], - ["8341", "\uADFA\uADFB\uADFD\uADFE\uAE02", 5, "\uAE0A\uAE0C\uAE0E", 5, "\uAE15", 7], - ["8361", "\uAE1D", 18, "\uAE32\uAE33\uAE35\uAE36\uAE39\uAE3B\uAE3C"], - ["8381", "\uAE3D\uAE3E\uAE3F\uAE42\uAE44\uAE47\uAE48\uAE49\uAE4B\uAE4F\uAE51\uAE52\uAE53\uAE55\uAE57", 4, "\uAE5E\uAE62\uAE63\uAE64\uAE66\uAE67\uAE6A\uAE6B\uAE6D\uAE6E\uAE6F\uAE71", 6, "\uAE7A\uAE7E", 5, "\uAE86", 5, "\uAE8D", 46, "\uAEBF\uAEC1\uAEC2\uAEC3\uAEC5", 6, "\uAECE\uAED2", 5, "\uAEDA\uAEDB\uAEDD", 8], - ["8441", "\uAEE6\uAEE7\uAEE9\uAEEA\uAEEC\uAEEE", 5, "\uAEF5\uAEF6\uAEF7\uAEF9\uAEFA\uAEFB\uAEFD", 8], - ["8461", "\uAF06\uAF09\uAF0A\uAF0B\uAF0C\uAF0E\uAF0F\uAF11", 18], - ["8481", "\uAF24", 7, "\uAF2E\uAF2F\uAF31\uAF33\uAF35", 6, "\uAF3E\uAF40\uAF44\uAF45\uAF46\uAF47\uAF4A", 5, "\uAF51", 10, "\uAF5E", 5, "\uAF66", 18, "\uAF7A", 5, "\uAF81\uAF82\uAF83\uAF85\uAF86\uAF87\uAF89", 6, "\uAF92\uAF93\uAF94\uAF96", 5, "\uAF9D", 26, "\uAFBA\uAFBB\uAFBD\uAFBE"], - ["8541", "\uAFBF\uAFC1", 5, "\uAFCA\uAFCC\uAFCF", 4, "\uAFD5", 6, "\uAFDD", 4], - ["8561", "\uAFE2", 5, "\uAFEA", 5, "\uAFF2\uAFF3\uAFF5\uAFF6\uAFF7\uAFF9", 6, "\uB002\uB003"], - ["8581", "\uB005", 6, "\uB00D\uB00E\uB00F\uB011\uB012\uB013\uB015", 6, "\uB01E", 9, "\uB029", 26, "\uB046\uB047\uB049\uB04B\uB04D\uB04F\uB050\uB051\uB052\uB056\uB058\uB05A\uB05B\uB05C\uB05E", 29, "\uB07E\uB07F\uB081\uB082\uB083\uB085", 6, "\uB08E\uB090\uB092", 5, "\uB09B\uB09D\uB09E\uB0A3\uB0A4"], - ["8641", "\uB0A5\uB0A6\uB0A7\uB0AA\uB0B0\uB0B2\uB0B6\uB0B7\uB0B9\uB0BA\uB0BB\uB0BD", 6, "\uB0C6\uB0CA", 5, "\uB0D2"], - ["8661", "\uB0D3\uB0D5\uB0D6\uB0D7\uB0D9", 6, "\uB0E1\uB0E2\uB0E3\uB0E4\uB0E6", 10], - ["8681", "\uB0F1", 22, "\uB10A\uB10D\uB10E\uB10F\uB111\uB114\uB115\uB116\uB117\uB11A\uB11E", 4, "\uB126\uB127\uB129\uB12A\uB12B\uB12D", 6, "\uB136\uB13A", 5, "\uB142\uB143\uB145\uB146\uB147\uB149", 6, "\uB152\uB153\uB156\uB157\uB159\uB15A\uB15B\uB15D\uB15E\uB15F\uB161", 22, "\uB17A\uB17B\uB17D\uB17E\uB17F\uB181\uB183", 4, "\uB18A\uB18C\uB18E\uB18F\uB190\uB191\uB195\uB196\uB197\uB199\uB19A\uB19B\uB19D"], - ["8741", "\uB19E", 9, "\uB1A9", 15], - ["8761", "\uB1B9", 18, "\uB1CD\uB1CE\uB1CF\uB1D1\uB1D2\uB1D3\uB1D5"], - ["8781", "\uB1D6", 5, "\uB1DE\uB1E0", 7, "\uB1EA\uB1EB\uB1ED\uB1EE\uB1EF\uB1F1", 7, "\uB1FA\uB1FC\uB1FE", 5, "\uB206\uB207\uB209\uB20A\uB20D", 6, "\uB216\uB218\uB21A", 5, "\uB221", 18, "\uB235", 6, "\uB23D", 26, "\uB259\uB25A\uB25B\uB25D\uB25E\uB25F\uB261", 6, "\uB26A", 4], - ["8841", "\uB26F", 4, "\uB276", 5, "\uB27D", 6, "\uB286\uB287\uB288\uB28A", 4], - ["8861", "\uB28F\uB292\uB293\uB295\uB296\uB297\uB29B", 4, "\uB2A2\uB2A4\uB2A7\uB2A8\uB2A9\uB2AB\uB2AD\uB2AE\uB2AF\uB2B1\uB2B2\uB2B3\uB2B5\uB2B6\uB2B7"], - ["8881", "\uB2B8", 15, "\uB2CA\uB2CB\uB2CD\uB2CE\uB2CF\uB2D1\uB2D3", 4, "\uB2DA\uB2DC\uB2DE\uB2DF\uB2E0\uB2E1\uB2E3\uB2E7\uB2E9\uB2EA\uB2F0\uB2F1\uB2F2\uB2F6\uB2FC\uB2FD\uB2FE\uB302\uB303\uB305\uB306\uB307\uB309", 6, "\uB312\uB316", 5, "\uB31D", 54, "\uB357\uB359\uB35A\uB35D\uB360\uB361\uB362\uB363"], - ["8941", "\uB366\uB368\uB36A\uB36C\uB36D\uB36F\uB372\uB373\uB375\uB376\uB377\uB379", 6, "\uB382\uB386", 5, "\uB38D"], - ["8961", "\uB38E\uB38F\uB391\uB392\uB393\uB395", 10, "\uB3A2", 5, "\uB3A9\uB3AA\uB3AB\uB3AD"], - ["8981", "\uB3AE", 21, "\uB3C6\uB3C7\uB3C9\uB3CA\uB3CD\uB3CF\uB3D1\uB3D2\uB3D3\uB3D6\uB3D8\uB3DA\uB3DC\uB3DE\uB3DF\uB3E1\uB3E2\uB3E3\uB3E5\uB3E6\uB3E7\uB3E9", 18, "\uB3FD", 18, "\uB411", 6, "\uB419\uB41A\uB41B\uB41D\uB41E\uB41F\uB421", 6, "\uB42A\uB42C", 7, "\uB435", 15], - ["8a41", "\uB445", 10, "\uB452\uB453\uB455\uB456\uB457\uB459", 6, "\uB462\uB464\uB466"], - ["8a61", "\uB467", 4, "\uB46D", 18, "\uB481\uB482"], - ["8a81", "\uB483", 4, "\uB489", 19, "\uB49E", 5, "\uB4A5\uB4A6\uB4A7\uB4A9\uB4AA\uB4AB\uB4AD", 7, "\uB4B6\uB4B8\uB4BA", 5, "\uB4C1\uB4C2\uB4C3\uB4C5\uB4C6\uB4C7\uB4C9", 6, "\uB4D1\uB4D2\uB4D3\uB4D4\uB4D6", 5, "\uB4DE\uB4DF\uB4E1\uB4E2\uB4E5\uB4E7", 4, "\uB4EE\uB4F0\uB4F2", 5, "\uB4F9", 26, "\uB516\uB517\uB519\uB51A\uB51D"], - ["8b41", "\uB51E", 5, "\uB526\uB52B", 4, "\uB532\uB533\uB535\uB536\uB537\uB539", 6, "\uB542\uB546"], - ["8b61", "\uB547\uB548\uB549\uB54A\uB54E\uB54F\uB551\uB552\uB553\uB555", 6, "\uB55E\uB562", 8], - ["8b81", "\uB56B", 52, "\uB5A2\uB5A3\uB5A5\uB5A6\uB5A7\uB5A9\uB5AC\uB5AD\uB5AE\uB5AF\uB5B2\uB5B6", 4, "\uB5BE\uB5BF\uB5C1\uB5C2\uB5C3\uB5C5", 6, "\uB5CE\uB5D2", 5, "\uB5D9", 18, "\uB5ED", 18], - ["8c41", "\uB600", 15, "\uB612\uB613\uB615\uB616\uB617\uB619", 4], - ["8c61", "\uB61E", 6, "\uB626", 5, "\uB62D", 6, "\uB635", 5], - ["8c81", "\uB63B", 12, "\uB649", 26, "\uB665\uB666\uB667\uB669", 50, "\uB69E\uB69F\uB6A1\uB6A2\uB6A3\uB6A5", 5, "\uB6AD\uB6AE\uB6AF\uB6B0\uB6B2", 16], - ["8d41", "\uB6C3", 16, "\uB6D5", 8], - ["8d61", "\uB6DE", 17, "\uB6F1\uB6F2\uB6F3\uB6F5\uB6F6\uB6F7\uB6F9\uB6FA"], - ["8d81", "\uB6FB", 4, "\uB702\uB703\uB704\uB706", 33, "\uB72A\uB72B\uB72D\uB72E\uB731", 6, "\uB73A\uB73C", 7, "\uB745\uB746\uB747\uB749\uB74A\uB74B\uB74D", 6, "\uB756", 9, "\uB761\uB762\uB763\uB765\uB766\uB767\uB769", 6, "\uB772\uB774\uB776", 5, "\uB77E\uB77F\uB781\uB782\uB783\uB785", 6, "\uB78E\uB793\uB794\uB795\uB79A\uB79B\uB79D\uB79E"], - ["8e41", "\uB79F\uB7A1", 6, "\uB7AA\uB7AE", 5, "\uB7B6\uB7B7\uB7B9", 8], - ["8e61", "\uB7C2", 4, "\uB7C8\uB7CA", 19], - ["8e81", "\uB7DE", 13, "\uB7EE\uB7EF\uB7F1\uB7F2\uB7F3\uB7F5", 6, "\uB7FE\uB802", 4, "\uB80A\uB80B\uB80D\uB80E\uB80F\uB811", 6, "\uB81A\uB81C\uB81E", 5, "\uB826\uB827\uB829\uB82A\uB82B\uB82D", 6, "\uB836\uB83A", 5, "\uB841\uB842\uB843\uB845", 11, "\uB852\uB854", 7, "\uB85E\uB85F\uB861\uB862\uB863\uB865", 6, "\uB86E\uB870\uB872", 5, "\uB879\uB87A\uB87B\uB87D", 7], - ["8f41", "\uB885", 7, "\uB88E", 17], - ["8f61", "\uB8A0", 7, "\uB8A9", 6, "\uB8B1\uB8B2\uB8B3\uB8B5\uB8B6\uB8B7\uB8B9", 4], - ["8f81", "\uB8BE\uB8BF\uB8C2\uB8C4\uB8C6", 5, "\uB8CD\uB8CE\uB8CF\uB8D1\uB8D2\uB8D3\uB8D5", 7, "\uB8DE\uB8E0\uB8E2", 5, "\uB8EA\uB8EB\uB8ED\uB8EE\uB8EF\uB8F1", 6, "\uB8FA\uB8FC\uB8FE", 5, "\uB905", 18, "\uB919", 6, "\uB921", 26, "\uB93E\uB93F\uB941\uB942\uB943\uB945", 6, "\uB94D\uB94E\uB950\uB952", 5], - ["9041", "\uB95A\uB95B\uB95D\uB95E\uB95F\uB961", 6, "\uB96A\uB96C\uB96E", 5, "\uB976\uB977\uB979\uB97A\uB97B\uB97D"], - ["9061", "\uB97E", 5, "\uB986\uB988\uB98B\uB98C\uB98F", 15], - ["9081", "\uB99F", 12, "\uB9AE\uB9AF\uB9B1\uB9B2\uB9B3\uB9B5", 6, "\uB9BE\uB9C0\uB9C2", 5, "\uB9CA\uB9CB\uB9CD\uB9D3", 4, "\uB9DA\uB9DC\uB9DF\uB9E0\uB9E2\uB9E6\uB9E7\uB9E9\uB9EA\uB9EB\uB9ED", 6, "\uB9F6\uB9FB", 4, "\uBA02", 5, "\uBA09", 11, "\uBA16", 33, "\uBA3A\uBA3B\uBA3D\uBA3E\uBA3F\uBA41\uBA43\uBA44\uBA45\uBA46"], - ["9141", "\uBA47\uBA4A\uBA4C\uBA4F\uBA50\uBA51\uBA52\uBA56\uBA57\uBA59\uBA5A\uBA5B\uBA5D", 6, "\uBA66\uBA6A", 5], - ["9161", "\uBA72\uBA73\uBA75\uBA76\uBA77\uBA79", 9, "\uBA86\uBA88\uBA89\uBA8A\uBA8B\uBA8D", 5], - ["9181", "\uBA93", 20, "\uBAAA\uBAAD\uBAAE\uBAAF\uBAB1\uBAB3", 4, "\uBABA\uBABC\uBABE", 5, "\uBAC5\uBAC6\uBAC7\uBAC9", 14, "\uBADA", 33, "\uBAFD\uBAFE\uBAFF\uBB01\uBB02\uBB03\uBB05", 7, "\uBB0E\uBB10\uBB12", 5, "\uBB19\uBB1A\uBB1B\uBB1D\uBB1E\uBB1F\uBB21", 6], - ["9241", "\uBB28\uBB2A\uBB2C", 7, "\uBB37\uBB39\uBB3A\uBB3F", 4, "\uBB46\uBB48\uBB4A\uBB4B\uBB4C\uBB4E\uBB51\uBB52"], - ["9261", "\uBB53\uBB55\uBB56\uBB57\uBB59", 7, "\uBB62\uBB64", 7, "\uBB6D", 4], - ["9281", "\uBB72", 21, "\uBB89\uBB8A\uBB8B\uBB8D\uBB8E\uBB8F\uBB91", 18, "\uBBA5\uBBA6\uBBA7\uBBA9\uBBAA\uBBAB\uBBAD", 6, "\uBBB5\uBBB6\uBBB8", 7, "\uBBC1\uBBC2\uBBC3\uBBC5\uBBC6\uBBC7\uBBC9", 6, "\uBBD1\uBBD2\uBBD4", 35, "\uBBFA\uBBFB\uBBFD\uBBFE\uBC01"], - ["9341", "\uBC03", 4, "\uBC0A\uBC0E\uBC10\uBC12\uBC13\uBC19\uBC1A\uBC20\uBC21\uBC22\uBC23\uBC26\uBC28\uBC2A\uBC2B\uBC2C\uBC2E\uBC2F\uBC32\uBC33\uBC35"], - ["9361", "\uBC36\uBC37\uBC39", 6, "\uBC42\uBC46\uBC47\uBC48\uBC4A\uBC4B\uBC4E\uBC4F\uBC51", 8], - ["9381", "\uBC5A\uBC5B\uBC5C\uBC5E", 37, "\uBC86\uBC87\uBC89\uBC8A\uBC8D\uBC8F", 4, "\uBC96\uBC98\uBC9B", 4, "\uBCA2\uBCA3\uBCA5\uBCA6\uBCA9", 6, "\uBCB2\uBCB6", 5, "\uBCBE\uBCBF\uBCC1\uBCC2\uBCC3\uBCC5", 7, "\uBCCE\uBCD2\uBCD3\uBCD4\uBCD6\uBCD7\uBCD9\uBCDA\uBCDB\uBCDD", 22, "\uBCF7\uBCF9\uBCFA\uBCFB\uBCFD"], - ["9441", "\uBCFE", 5, "\uBD06\uBD08\uBD0A", 5, "\uBD11\uBD12\uBD13\uBD15", 8], - ["9461", "\uBD1E", 5, "\uBD25", 6, "\uBD2D", 12], - ["9481", "\uBD3A", 5, "\uBD41", 6, "\uBD4A\uBD4B\uBD4D\uBD4E\uBD4F\uBD51", 6, "\uBD5A", 9, "\uBD65\uBD66\uBD67\uBD69", 22, "\uBD82\uBD83\uBD85\uBD86\uBD8B", 4, "\uBD92\uBD94\uBD96\uBD97\uBD98\uBD9B\uBD9D", 6, "\uBDA5", 10, "\uBDB1", 6, "\uBDB9", 24], - ["9541", "\uBDD2\uBDD3\uBDD6\uBDD7\uBDD9\uBDDA\uBDDB\uBDDD", 11, "\uBDEA", 5, "\uBDF1"], - ["9561", "\uBDF2\uBDF3\uBDF5\uBDF6\uBDF7\uBDF9", 6, "\uBE01\uBE02\uBE04\uBE06", 5, "\uBE0E\uBE0F\uBE11\uBE12\uBE13"], - ["9581", "\uBE15", 6, "\uBE1E\uBE20", 35, "\uBE46\uBE47\uBE49\uBE4A\uBE4B\uBE4D\uBE4F", 4, "\uBE56\uBE58\uBE5C\uBE5D\uBE5E\uBE5F\uBE62\uBE63\uBE65\uBE66\uBE67\uBE69\uBE6B", 4, "\uBE72\uBE76", 4, "\uBE7E\uBE7F\uBE81\uBE82\uBE83\uBE85", 6, "\uBE8E\uBE92", 5, "\uBE9A", 13, "\uBEA9", 14], - ["9641", "\uBEB8", 23, "\uBED2\uBED3"], - ["9661", "\uBED5\uBED6\uBED9", 6, "\uBEE1\uBEE2\uBEE6", 5, "\uBEED", 8], - ["9681", "\uBEF6", 10, "\uBF02", 5, "\uBF0A", 13, "\uBF1A\uBF1E", 33, "\uBF42\uBF43\uBF45\uBF46\uBF47\uBF49", 6, "\uBF52\uBF53\uBF54\uBF56", 44], - ["9741", "\uBF83", 16, "\uBF95", 8], - ["9761", "\uBF9E", 17, "\uBFB1", 7], - ["9781", "\uBFB9", 11, "\uBFC6", 5, "\uBFCE\uBFCF\uBFD1\uBFD2\uBFD3\uBFD5", 6, "\uBFDD\uBFDE\uBFE0\uBFE2", 89, "\uC03D\uC03E\uC03F"], - ["9841", "\uC040", 16, "\uC052", 5, "\uC059\uC05A\uC05B"], - ["9861", "\uC05D\uC05E\uC05F\uC061", 6, "\uC06A", 15], - ["9881", "\uC07A", 21, "\uC092\uC093\uC095\uC096\uC097\uC099", 6, "\uC0A2\uC0A4\uC0A6", 5, "\uC0AE\uC0B1\uC0B2\uC0B7", 4, "\uC0BE\uC0C2\uC0C3\uC0C4\uC0C6\uC0C7\uC0CA\uC0CB\uC0CD\uC0CE\uC0CF\uC0D1", 6, "\uC0DA\uC0DE", 5, "\uC0E6\uC0E7\uC0E9\uC0EA\uC0EB\uC0ED", 6, "\uC0F6\uC0F8\uC0FA", 5, "\uC101\uC102\uC103\uC105\uC106\uC107\uC109", 6, "\uC111\uC112\uC113\uC114\uC116", 5, "\uC121\uC122\uC125\uC128\uC129\uC12A\uC12B\uC12E"], - ["9941", "\uC132\uC133\uC134\uC135\uC137\uC13A\uC13B\uC13D\uC13E\uC13F\uC141", 6, "\uC14A\uC14E", 5, "\uC156\uC157"], - ["9961", "\uC159\uC15A\uC15B\uC15D", 6, "\uC166\uC16A", 5, "\uC171\uC172\uC173\uC175\uC176\uC177\uC179\uC17A\uC17B"], - ["9981", "\uC17C", 8, "\uC186", 5, "\uC18F\uC191\uC192\uC193\uC195\uC197", 4, "\uC19E\uC1A0\uC1A2\uC1A3\uC1A4\uC1A6\uC1A7\uC1AA\uC1AB\uC1AD\uC1AE\uC1AF\uC1B1", 11, "\uC1BE", 5, "\uC1C5\uC1C6\uC1C7\uC1C9\uC1CA\uC1CB\uC1CD", 6, "\uC1D5\uC1D6\uC1D9", 6, "\uC1E1\uC1E2\uC1E3\uC1E5\uC1E6\uC1E7\uC1E9", 6, "\uC1F2\uC1F4", 7, "\uC1FE\uC1FF\uC201\uC202\uC203\uC205", 6, "\uC20E\uC210\uC212", 5, "\uC21A\uC21B\uC21D\uC21E\uC221\uC222\uC223"], - ["9a41", "\uC224\uC225\uC226\uC227\uC22A\uC22C\uC22E\uC230\uC233\uC235", 16], - ["9a61", "\uC246\uC247\uC249", 6, "\uC252\uC253\uC255\uC256\uC257\uC259", 6, "\uC261\uC262\uC263\uC264\uC266"], - ["9a81", "\uC267", 4, "\uC26E\uC26F\uC271\uC272\uC273\uC275", 6, "\uC27E\uC280\uC282", 5, "\uC28A", 5, "\uC291", 6, "\uC299\uC29A\uC29C\uC29E", 5, "\uC2A6\uC2A7\uC2A9\uC2AA\uC2AB\uC2AE", 5, "\uC2B6\uC2B8\uC2BA", 33, "\uC2DE\uC2DF\uC2E1\uC2E2\uC2E5", 5, "\uC2EE\uC2F0\uC2F2\uC2F3\uC2F4\uC2F5\uC2F7\uC2FA\uC2FD\uC2FE\uC2FF\uC301", 6, "\uC30A\uC30B\uC30E\uC30F"], - ["9b41", "\uC310\uC311\uC312\uC316\uC317\uC319\uC31A\uC31B\uC31D", 6, "\uC326\uC327\uC32A", 8], - ["9b61", "\uC333", 17, "\uC346", 7], - ["9b81", "\uC34E", 25, "\uC36A\uC36B\uC36D\uC36E\uC36F\uC371\uC373", 4, "\uC37A\uC37B\uC37E", 5, "\uC385\uC386\uC387\uC389\uC38A\uC38B\uC38D", 50, "\uC3C1", 22, "\uC3DA"], - ["9c41", "\uC3DB\uC3DD\uC3DE\uC3E1\uC3E3", 4, "\uC3EA\uC3EB\uC3EC\uC3EE", 5, "\uC3F6\uC3F7\uC3F9", 5], - ["9c61", "\uC3FF", 8, "\uC409", 6, "\uC411", 9], - ["9c81", "\uC41B", 8, "\uC425", 6, "\uC42D\uC42E\uC42F\uC431\uC432\uC433\uC435", 6, "\uC43E", 9, "\uC449", 26, "\uC466\uC467\uC469\uC46A\uC46B\uC46D", 6, "\uC476\uC477\uC478\uC47A", 5, "\uC481", 18, "\uC495", 6, "\uC49D", 12], - ["9d41", "\uC4AA", 13, "\uC4B9\uC4BA\uC4BB\uC4BD", 8], - ["9d61", "\uC4C6", 25], - ["9d81", "\uC4E0", 8, "\uC4EA", 5, "\uC4F2\uC4F3\uC4F5\uC4F6\uC4F7\uC4F9\uC4FB\uC4FC\uC4FD\uC4FE\uC502", 9, "\uC50D\uC50E\uC50F\uC511\uC512\uC513\uC515", 6, "\uC51D", 10, "\uC52A\uC52B\uC52D\uC52E\uC52F\uC531", 6, "\uC53A\uC53C\uC53E", 5, "\uC546\uC547\uC54B\uC54F\uC550\uC551\uC552\uC556\uC55A\uC55B\uC55C\uC55F\uC562\uC563\uC565\uC566\uC567\uC569", 6, "\uC572\uC576", 5, "\uC57E\uC57F\uC581\uC582\uC583\uC585\uC586\uC588\uC589\uC58A\uC58B\uC58E\uC590\uC592\uC593\uC594"], - ["9e41", "\uC596\uC599\uC59A\uC59B\uC59D\uC59E\uC59F\uC5A1", 7, "\uC5AA", 9, "\uC5B6"], - ["9e61", "\uC5B7\uC5BA\uC5BF", 4, "\uC5CB\uC5CD\uC5CF\uC5D2\uC5D3\uC5D5\uC5D6\uC5D7\uC5D9", 6, "\uC5E2\uC5E4\uC5E6\uC5E7"], - ["9e81", "\uC5E8\uC5E9\uC5EA\uC5EB\uC5EF\uC5F1\uC5F2\uC5F3\uC5F5\uC5F8\uC5F9\uC5FA\uC5FB\uC602\uC603\uC604\uC609\uC60A\uC60B\uC60D\uC60E\uC60F\uC611", 6, "\uC61A\uC61D", 6, "\uC626\uC627\uC629\uC62A\uC62B\uC62F\uC631\uC632\uC636\uC638\uC63A\uC63C\uC63D\uC63E\uC63F\uC642\uC643\uC645\uC646\uC647\uC649", 6, "\uC652\uC656", 5, "\uC65E\uC65F\uC661", 10, "\uC66D\uC66E\uC670\uC672", 5, "\uC67A\uC67B\uC67D\uC67E\uC67F\uC681", 6, "\uC68A\uC68C\uC68E", 5, "\uC696\uC697\uC699\uC69A\uC69B\uC69D", 6, "\uC6A6"], - ["9f41", "\uC6A8\uC6AA", 5, "\uC6B2\uC6B3\uC6B5\uC6B6\uC6B7\uC6BB", 4, "\uC6C2\uC6C4\uC6C6", 5, "\uC6CE"], - ["9f61", "\uC6CF\uC6D1\uC6D2\uC6D3\uC6D5", 6, "\uC6DE\uC6DF\uC6E2", 5, "\uC6EA\uC6EB\uC6ED\uC6EE\uC6EF\uC6F1\uC6F2"], - ["9f81", "\uC6F3", 4, "\uC6FA\uC6FB\uC6FC\uC6FE", 5, "\uC706\uC707\uC709\uC70A\uC70B\uC70D", 6, "\uC716\uC718\uC71A", 5, "\uC722\uC723\uC725\uC726\uC727\uC729", 6, "\uC732\uC734\uC736\uC738\uC739\uC73A\uC73B\uC73E\uC73F\uC741\uC742\uC743\uC745", 4, "\uC74B\uC74E\uC750\uC759\uC75A\uC75B\uC75D\uC75E\uC75F\uC761", 6, "\uC769\uC76A\uC76C", 7, "\uC776\uC777\uC779\uC77A\uC77B\uC77F\uC780\uC781\uC782\uC786\uC78B\uC78C\uC78D\uC78F\uC792\uC793\uC795\uC799\uC79B", 4, "\uC7A2\uC7A7", 4, "\uC7AE\uC7AF\uC7B1\uC7B2\uC7B3\uC7B5\uC7B6\uC7B7"], - ["a041", "\uC7B8\uC7B9\uC7BA\uC7BB\uC7BE\uC7C2", 5, "\uC7CA\uC7CB\uC7CD\uC7CF\uC7D1", 6, "\uC7D9\uC7DA\uC7DB\uC7DC"], - ["a061", "\uC7DE", 5, "\uC7E5\uC7E6\uC7E7\uC7E9\uC7EA\uC7EB\uC7ED", 13], - ["a081", "\uC7FB", 4, "\uC802\uC803\uC805\uC806\uC807\uC809\uC80B", 4, "\uC812\uC814\uC817", 4, "\uC81E\uC81F\uC821\uC822\uC823\uC825", 6, "\uC82E\uC830\uC832", 5, "\uC839\uC83A\uC83B\uC83D\uC83E\uC83F\uC841", 6, "\uC84A\uC84B\uC84E", 5, "\uC855", 26, "\uC872\uC873\uC875\uC876\uC877\uC879\uC87B", 4, "\uC882\uC884\uC888\uC889\uC88A\uC88E", 5, "\uC895", 7, "\uC89E\uC8A0\uC8A2\uC8A3\uC8A4"], - ["a141", "\uC8A5\uC8A6\uC8A7\uC8A9", 18, "\uC8BE\uC8BF\uC8C0\uC8C1"], - ["a161", "\uC8C2\uC8C3\uC8C5\uC8C6\uC8C7\uC8C9\uC8CA\uC8CB\uC8CD", 6, "\uC8D6\uC8D8\uC8DA", 5, "\uC8E2\uC8E3\uC8E5"], - ["a181", "\uC8E6", 14, "\uC8F6", 5, "\uC8FE\uC8FF\uC901\uC902\uC903\uC907", 4, "\uC90E\u3000\u3001\u3002\xB7\u2025\u2026\xA8\u3003\xAD\u2015\u2225\uFF3C\u223C\u2018\u2019\u201C\u201D\u3014\u3015\u3008", 9, "\xB1\xD7\xF7\u2260\u2264\u2265\u221E\u2234\xB0\u2032\u2033\u2103\u212B\uFFE0\uFFE1\uFFE5\u2642\u2640\u2220\u22A5\u2312\u2202\u2207\u2261\u2252\xA7\u203B\u2606\u2605\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3\u25B2\u25BD\u25BC\u2192\u2190\u2191\u2193\u2194\u3013\u226A\u226B\u221A\u223D\u221D\u2235\u222B\u222C\u2208\u220B\u2286\u2287\u2282\u2283\u222A\u2229\u2227\u2228\uFFE2"], - ["a241", "\uC910\uC912", 5, "\uC919", 18], - ["a261", "\uC92D", 6, "\uC935", 18], - ["a281", "\uC948", 7, "\uC952\uC953\uC955\uC956\uC957\uC959", 6, "\uC962\uC964", 7, "\uC96D\uC96E\uC96F\u21D2\u21D4\u2200\u2203\xB4\uFF5E\u02C7\u02D8\u02DD\u02DA\u02D9\xB8\u02DB\xA1\xBF\u02D0\u222E\u2211\u220F\xA4\u2109\u2030\u25C1\u25C0\u25B7\u25B6\u2664\u2660\u2661\u2665\u2667\u2663\u2299\u25C8\u25A3\u25D0\u25D1\u2592\u25A4\u25A5\u25A8\u25A7\u25A6\u25A9\u2668\u260F\u260E\u261C\u261E\xB6\u2020\u2021\u2195\u2197\u2199\u2196\u2198\u266D\u2669\u266A\u266C\u327F\u321C\u2116\u33C7\u2122\u33C2\u33D8\u2121\u20AC\xAE"], - ["a341", "\uC971\uC972\uC973\uC975", 6, "\uC97D", 10, "\uC98A\uC98B\uC98D\uC98E\uC98F"], - ["a361", "\uC991", 6, "\uC99A\uC99C\uC99E", 16], - ["a381", "\uC9AF", 16, "\uC9C2\uC9C3\uC9C5\uC9C6\uC9C9\uC9CB", 4, "\uC9D2\uC9D4\uC9D7\uC9D8\uC9DB\uFF01", 58, "\uFFE6\uFF3D", 32, "\uFFE3"], - ["a441", "\uC9DE\uC9DF\uC9E1\uC9E3\uC9E5\uC9E6\uC9E8\uC9E9\uC9EA\uC9EB\uC9EE\uC9F2", 5, "\uC9FA\uC9FB\uC9FD\uC9FE\uC9FF\uCA01\uCA02\uCA03\uCA04"], - ["a461", "\uCA05\uCA06\uCA07\uCA0A\uCA0E", 5, "\uCA15\uCA16\uCA17\uCA19", 12], - ["a481", "\uCA26\uCA27\uCA28\uCA2A", 28, "\u3131", 93], - ["a541", "\uCA47", 4, "\uCA4E\uCA4F\uCA51\uCA52\uCA53\uCA55", 6, "\uCA5E\uCA62", 5, "\uCA69\uCA6A"], - ["a561", "\uCA6B", 17, "\uCA7E", 5, "\uCA85\uCA86"], - ["a581", "\uCA87", 16, "\uCA99", 14, "\u2170", 9], - ["a5b0", "\u2160", 9], - ["a5c1", "\u0391", 16, "\u03A3", 6], - ["a5e1", "\u03B1", 16, "\u03C3", 6], - ["a641", "\uCAA8", 19, "\uCABE\uCABF\uCAC1\uCAC2\uCAC3\uCAC5"], - ["a661", "\uCAC6", 5, "\uCACE\uCAD0\uCAD2\uCAD4\uCAD5\uCAD6\uCAD7\uCADA", 5, "\uCAE1", 6], - ["a681", "\uCAE8\uCAE9\uCAEA\uCAEB\uCAED", 6, "\uCAF5", 18, "\uCB09\uCB0A\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542\u2512\u2511\u251A\u2519\u2516\u2515\u250E\u250D\u251E\u251F\u2521\u2522\u2526\u2527\u2529\u252A\u252D\u252E\u2531\u2532\u2535\u2536\u2539\u253A\u253D\u253E\u2540\u2541\u2543", 7], - ["a741", "\uCB0B", 4, "\uCB11\uCB12\uCB13\uCB15\uCB16\uCB17\uCB19", 6, "\uCB22", 7], - ["a761", "\uCB2A", 22, "\uCB42\uCB43\uCB44"], - ["a781", "\uCB45\uCB46\uCB47\uCB4A\uCB4B\uCB4D\uCB4E\uCB4F\uCB51", 6, "\uCB5A\uCB5B\uCB5C\uCB5E", 5, "\uCB65", 7, "\u3395\u3396\u3397\u2113\u3398\u33C4\u33A3\u33A4\u33A5\u33A6\u3399", 9, "\u33CA\u338D\u338E\u338F\u33CF\u3388\u3389\u33C8\u33A7\u33A8\u33B0", 9, "\u3380", 4, "\u33BA", 5, "\u3390", 4, "\u2126\u33C0\u33C1\u338A\u338B\u338C\u33D6\u33C5\u33AD\u33AE\u33AF\u33DB\u33A9\u33AA\u33AB\u33AC\u33DD\u33D0\u33D3\u33C3\u33C9\u33DC\u33C6"], - ["a841", "\uCB6D", 10, "\uCB7A", 14], - ["a861", "\uCB89", 18, "\uCB9D", 6], - ["a881", "\uCBA4", 19, "\uCBB9", 11, "\xC6\xD0\xAA\u0126"], - ["a8a6", "\u0132"], - ["a8a8", "\u013F\u0141\xD8\u0152\xBA\xDE\u0166\u014A"], - ["a8b1", "\u3260", 27, "\u24D0", 25, "\u2460", 14, "\xBD\u2153\u2154\xBC\xBE\u215B\u215C\u215D\u215E"], - ["a941", "\uCBC5", 14, "\uCBD5", 10], - ["a961", "\uCBE0\uCBE1\uCBE2\uCBE3\uCBE5\uCBE6\uCBE8\uCBEA", 18], - ["a981", "\uCBFD", 14, "\uCC0E\uCC0F\uCC11\uCC12\uCC13\uCC15", 6, "\uCC1E\uCC1F\uCC20\uCC23\uCC24\xE6\u0111\xF0\u0127\u0131\u0133\u0138\u0140\u0142\xF8\u0153\xDF\xFE\u0167\u014B\u0149\u3200", 27, "\u249C", 25, "\u2474", 14, "\xB9\xB2\xB3\u2074\u207F\u2081\u2082\u2083\u2084"], - ["aa41", "\uCC25\uCC26\uCC2A\uCC2B\uCC2D\uCC2F\uCC31", 6, "\uCC3A\uCC3F", 4, "\uCC46\uCC47\uCC49\uCC4A\uCC4B\uCC4D\uCC4E"], - ["aa61", "\uCC4F", 4, "\uCC56\uCC5A", 5, "\uCC61\uCC62\uCC63\uCC65\uCC67\uCC69", 6, "\uCC71\uCC72"], - ["aa81", "\uCC73\uCC74\uCC76", 29, "\u3041", 82], - ["ab41", "\uCC94\uCC95\uCC96\uCC97\uCC9A\uCC9B\uCC9D\uCC9E\uCC9F\uCCA1", 6, "\uCCAA\uCCAE", 5, "\uCCB6\uCCB7\uCCB9"], - ["ab61", "\uCCBA\uCCBB\uCCBD", 6, "\uCCC6\uCCC8\uCCCA", 5, "\uCCD1\uCCD2\uCCD3\uCCD5", 5], - ["ab81", "\uCCDB", 8, "\uCCE5", 6, "\uCCED\uCCEE\uCCEF\uCCF1", 12, "\u30A1", 85], - ["ac41", "\uCCFE\uCCFF\uCD00\uCD02", 5, "\uCD0A\uCD0B\uCD0D\uCD0E\uCD0F\uCD11", 6, "\uCD1A\uCD1C\uCD1E\uCD1F\uCD20"], - ["ac61", "\uCD21\uCD22\uCD23\uCD25\uCD26\uCD27\uCD29\uCD2A\uCD2B\uCD2D", 11, "\uCD3A", 4], - ["ac81", "\uCD3F", 28, "\uCD5D\uCD5E\uCD5F\u0410", 5, "\u0401\u0416", 25], - ["acd1", "\u0430", 5, "\u0451\u0436", 25], - ["ad41", "\uCD61\uCD62\uCD63\uCD65", 6, "\uCD6E\uCD70\uCD72", 5, "\uCD79", 7], - ["ad61", "\uCD81", 6, "\uCD89", 10, "\uCD96\uCD97\uCD99\uCD9A\uCD9B\uCD9D\uCD9E\uCD9F"], - ["ad81", "\uCDA0\uCDA1\uCDA2\uCDA3\uCDA6\uCDA8\uCDAA", 5, "\uCDB1", 18, "\uCDC5"], - ["ae41", "\uCDC6", 5, "\uCDCD\uCDCE\uCDCF\uCDD1", 16], - ["ae61", "\uCDE2", 5, "\uCDE9\uCDEA\uCDEB\uCDED\uCDEE\uCDEF\uCDF1", 6, "\uCDFA\uCDFC\uCDFE", 4], - ["ae81", "\uCE03\uCE05\uCE06\uCE07\uCE09\uCE0A\uCE0B\uCE0D", 6, "\uCE15\uCE16\uCE17\uCE18\uCE1A", 5, "\uCE22\uCE23\uCE25\uCE26\uCE27\uCE29\uCE2A\uCE2B"], - ["af41", "\uCE2C\uCE2D\uCE2E\uCE2F\uCE32\uCE34\uCE36", 19], - ["af61", "\uCE4A", 13, "\uCE5A\uCE5B\uCE5D\uCE5E\uCE62", 5, "\uCE6A\uCE6C"], - ["af81", "\uCE6E", 5, "\uCE76\uCE77\uCE79\uCE7A\uCE7B\uCE7D", 6, "\uCE86\uCE88\uCE8A", 5, "\uCE92\uCE93\uCE95\uCE96\uCE97\uCE99"], - ["b041", "\uCE9A", 5, "\uCEA2\uCEA6", 5, "\uCEAE", 12], - ["b061", "\uCEBB", 5, "\uCEC2", 19], - ["b081", "\uCED6", 13, "\uCEE6\uCEE7\uCEE9\uCEEA\uCEED", 6, "\uCEF6\uCEFA", 5, "\uAC00\uAC01\uAC04\uAC07\uAC08\uAC09\uAC0A\uAC10", 7, "\uAC19", 4, "\uAC20\uAC24\uAC2C\uAC2D\uAC2F\uAC30\uAC31\uAC38\uAC39\uAC3C\uAC40\uAC4B\uAC4D\uAC54\uAC58\uAC5C\uAC70\uAC71\uAC74\uAC77\uAC78\uAC7A\uAC80\uAC81\uAC83\uAC84\uAC85\uAC86\uAC89\uAC8A\uAC8B\uAC8C\uAC90\uAC94\uAC9C\uAC9D\uAC9F\uACA0\uACA1\uACA8\uACA9\uACAA\uACAC\uACAF\uACB0\uACB8\uACB9\uACBB\uACBC\uACBD\uACC1\uACC4\uACC8\uACCC\uACD5\uACD7\uACE0\uACE1\uACE4\uACE7\uACE8\uACEA\uACEC\uACEF\uACF0\uACF1\uACF3\uACF5\uACF6\uACFC\uACFD\uAD00\uAD04\uAD06"], - ["b141", "\uCF02\uCF03\uCF05\uCF06\uCF07\uCF09", 6, "\uCF12\uCF14\uCF16", 5, "\uCF1D\uCF1E\uCF1F\uCF21\uCF22\uCF23"], - ["b161", "\uCF25", 6, "\uCF2E\uCF32", 5, "\uCF39", 11], - ["b181", "\uCF45", 14, "\uCF56\uCF57\uCF59\uCF5A\uCF5B\uCF5D", 6, "\uCF66\uCF68\uCF6A\uCF6B\uCF6C\uAD0C\uAD0D\uAD0F\uAD11\uAD18\uAD1C\uAD20\uAD29\uAD2C\uAD2D\uAD34\uAD35\uAD38\uAD3C\uAD44\uAD45\uAD47\uAD49\uAD50\uAD54\uAD58\uAD61\uAD63\uAD6C\uAD6D\uAD70\uAD73\uAD74\uAD75\uAD76\uAD7B\uAD7C\uAD7D\uAD7F\uAD81\uAD82\uAD88\uAD89\uAD8C\uAD90\uAD9C\uAD9D\uADA4\uADB7\uADC0\uADC1\uADC4\uADC8\uADD0\uADD1\uADD3\uADDC\uADE0\uADE4\uADF8\uADF9\uADFC\uADFF\uAE00\uAE01\uAE08\uAE09\uAE0B\uAE0D\uAE14\uAE30\uAE31\uAE34\uAE37\uAE38\uAE3A\uAE40\uAE41\uAE43\uAE45\uAE46\uAE4A\uAE4C\uAE4D\uAE4E\uAE50\uAE54\uAE56\uAE5C\uAE5D\uAE5F\uAE60\uAE61\uAE65\uAE68\uAE69\uAE6C\uAE70\uAE78"], - ["b241", "\uCF6D\uCF6E\uCF6F\uCF72\uCF73\uCF75\uCF76\uCF77\uCF79", 6, "\uCF81\uCF82\uCF83\uCF84\uCF86", 5, "\uCF8D"], - ["b261", "\uCF8E", 18, "\uCFA2", 5, "\uCFA9"], - ["b281", "\uCFAA", 5, "\uCFB1", 18, "\uCFC5", 6, "\uAE79\uAE7B\uAE7C\uAE7D\uAE84\uAE85\uAE8C\uAEBC\uAEBD\uAEBE\uAEC0\uAEC4\uAECC\uAECD\uAECF\uAED0\uAED1\uAED8\uAED9\uAEDC\uAEE8\uAEEB\uAEED\uAEF4\uAEF8\uAEFC\uAF07\uAF08\uAF0D\uAF10\uAF2C\uAF2D\uAF30\uAF32\uAF34\uAF3C\uAF3D\uAF3F\uAF41\uAF42\uAF43\uAF48\uAF49\uAF50\uAF5C\uAF5D\uAF64\uAF65\uAF79\uAF80\uAF84\uAF88\uAF90\uAF91\uAF95\uAF9C\uAFB8\uAFB9\uAFBC\uAFC0\uAFC7\uAFC8\uAFC9\uAFCB\uAFCD\uAFCE\uAFD4\uAFDC\uAFE8\uAFE9\uAFF0\uAFF1\uAFF4\uAFF8\uB000\uB001\uB004\uB00C\uB010\uB014\uB01C\uB01D\uB028\uB044\uB045\uB048\uB04A\uB04C\uB04E\uB053\uB054\uB055\uB057\uB059"], - ["b341", "\uCFCC", 19, "\uCFE2\uCFE3\uCFE5\uCFE6\uCFE7\uCFE9"], - ["b361", "\uCFEA", 5, "\uCFF2\uCFF4\uCFF6", 5, "\uCFFD\uCFFE\uCFFF\uD001\uD002\uD003\uD005", 5], - ["b381", "\uD00B", 5, "\uD012", 5, "\uD019", 19, "\uB05D\uB07C\uB07D\uB080\uB084\uB08C\uB08D\uB08F\uB091\uB098\uB099\uB09A\uB09C\uB09F\uB0A0\uB0A1\uB0A2\uB0A8\uB0A9\uB0AB", 4, "\uB0B1\uB0B3\uB0B4\uB0B5\uB0B8\uB0BC\uB0C4\uB0C5\uB0C7\uB0C8\uB0C9\uB0D0\uB0D1\uB0D4\uB0D8\uB0E0\uB0E5\uB108\uB109\uB10B\uB10C\uB110\uB112\uB113\uB118\uB119\uB11B\uB11C\uB11D\uB123\uB124\uB125\uB128\uB12C\uB134\uB135\uB137\uB138\uB139\uB140\uB141\uB144\uB148\uB150\uB151\uB154\uB155\uB158\uB15C\uB160\uB178\uB179\uB17C\uB180\uB182\uB188\uB189\uB18B\uB18D\uB192\uB193\uB194\uB198\uB19C\uB1A8\uB1CC\uB1D0\uB1D4\uB1DC\uB1DD"], - ["b441", "\uD02E", 5, "\uD036\uD037\uD039\uD03A\uD03B\uD03D", 6, "\uD046\uD048\uD04A", 5], - ["b461", "\uD051\uD052\uD053\uD055\uD056\uD057\uD059", 6, "\uD061", 10, "\uD06E\uD06F"], - ["b481", "\uD071\uD072\uD073\uD075", 6, "\uD07E\uD07F\uD080\uD082", 18, "\uB1DF\uB1E8\uB1E9\uB1EC\uB1F0\uB1F9\uB1FB\uB1FD\uB204\uB205\uB208\uB20B\uB20C\uB214\uB215\uB217\uB219\uB220\uB234\uB23C\uB258\uB25C\uB260\uB268\uB269\uB274\uB275\uB27C\uB284\uB285\uB289\uB290\uB291\uB294\uB298\uB299\uB29A\uB2A0\uB2A1\uB2A3\uB2A5\uB2A6\uB2AA\uB2AC\uB2B0\uB2B4\uB2C8\uB2C9\uB2CC\uB2D0\uB2D2\uB2D8\uB2D9\uB2DB\uB2DD\uB2E2\uB2E4\uB2E5\uB2E6\uB2E8\uB2EB", 4, "\uB2F3\uB2F4\uB2F5\uB2F7", 4, "\uB2FF\uB300\uB301\uB304\uB308\uB310\uB311\uB313\uB314\uB315\uB31C\uB354\uB355\uB356\uB358\uB35B\uB35C\uB35E\uB35F\uB364\uB365"], - ["b541", "\uD095", 14, "\uD0A6\uD0A7\uD0A9\uD0AA\uD0AB\uD0AD", 5], - ["b561", "\uD0B3\uD0B6\uD0B8\uD0BA", 5, "\uD0C2\uD0C3\uD0C5\uD0C6\uD0C7\uD0CA", 5, "\uD0D2\uD0D6", 4], - ["b581", "\uD0DB\uD0DE\uD0DF\uD0E1\uD0E2\uD0E3\uD0E5", 6, "\uD0EE\uD0F2", 5, "\uD0F9", 11, "\uB367\uB369\uB36B\uB36E\uB370\uB371\uB374\uB378\uB380\uB381\uB383\uB384\uB385\uB38C\uB390\uB394\uB3A0\uB3A1\uB3A8\uB3AC\uB3C4\uB3C5\uB3C8\uB3CB\uB3CC\uB3CE\uB3D0\uB3D4\uB3D5\uB3D7\uB3D9\uB3DB\uB3DD\uB3E0\uB3E4\uB3E8\uB3FC\uB410\uB418\uB41C\uB420\uB428\uB429\uB42B\uB434\uB450\uB451\uB454\uB458\uB460\uB461\uB463\uB465\uB46C\uB480\uB488\uB49D\uB4A4\uB4A8\uB4AC\uB4B5\uB4B7\uB4B9\uB4C0\uB4C4\uB4C8\uB4D0\uB4D5\uB4DC\uB4DD\uB4E0\uB4E3\uB4E4\uB4E6\uB4EC\uB4ED\uB4EF\uB4F1\uB4F8\uB514\uB515\uB518\uB51B\uB51C\uB524\uB525\uB527\uB528\uB529\uB52A\uB530\uB531\uB534\uB538"], - ["b641", "\uD105", 7, "\uD10E", 17], - ["b661", "\uD120", 15, "\uD132\uD133\uD135\uD136\uD137\uD139\uD13B\uD13C\uD13D\uD13E"], - ["b681", "\uD13F\uD142\uD146", 5, "\uD14E\uD14F\uD151\uD152\uD153\uD155", 6, "\uD15E\uD160\uD162", 5, "\uD169\uD16A\uD16B\uD16D\uB540\uB541\uB543\uB544\uB545\uB54B\uB54C\uB54D\uB550\uB554\uB55C\uB55D\uB55F\uB560\uB561\uB5A0\uB5A1\uB5A4\uB5A8\uB5AA\uB5AB\uB5B0\uB5B1\uB5B3\uB5B4\uB5B5\uB5BB\uB5BC\uB5BD\uB5C0\uB5C4\uB5CC\uB5CD\uB5CF\uB5D0\uB5D1\uB5D8\uB5EC\uB610\uB611\uB614\uB618\uB625\uB62C\uB634\uB648\uB664\uB668\uB69C\uB69D\uB6A0\uB6A4\uB6AB\uB6AC\uB6B1\uB6D4\uB6F0\uB6F4\uB6F8\uB700\uB701\uB705\uB728\uB729\uB72C\uB72F\uB730\uB738\uB739\uB73B\uB744\uB748\uB74C\uB754\uB755\uB760\uB764\uB768\uB770\uB771\uB773\uB775\uB77C\uB77D\uB780\uB784\uB78C\uB78D\uB78F\uB790\uB791\uB792\uB796\uB797"], - ["b741", "\uD16E", 13, "\uD17D", 6, "\uD185\uD186\uD187\uD189\uD18A"], - ["b761", "\uD18B", 20, "\uD1A2\uD1A3\uD1A5\uD1A6\uD1A7"], - ["b781", "\uD1A9", 6, "\uD1B2\uD1B4\uD1B6\uD1B7\uD1B8\uD1B9\uD1BB\uD1BD\uD1BE\uD1BF\uD1C1", 14, "\uB798\uB799\uB79C\uB7A0\uB7A8\uB7A9\uB7AB\uB7AC\uB7AD\uB7B4\uB7B5\uB7B8\uB7C7\uB7C9\uB7EC\uB7ED\uB7F0\uB7F4\uB7FC\uB7FD\uB7FF\uB800\uB801\uB807\uB808\uB809\uB80C\uB810\uB818\uB819\uB81B\uB81D\uB824\uB825\uB828\uB82C\uB834\uB835\uB837\uB838\uB839\uB840\uB844\uB851\uB853\uB85C\uB85D\uB860\uB864\uB86C\uB86D\uB86F\uB871\uB878\uB87C\uB88D\uB8A8\uB8B0\uB8B4\uB8B8\uB8C0\uB8C1\uB8C3\uB8C5\uB8CC\uB8D0\uB8D4\uB8DD\uB8DF\uB8E1\uB8E8\uB8E9\uB8EC\uB8F0\uB8F8\uB8F9\uB8FB\uB8FD\uB904\uB918\uB920\uB93C\uB93D\uB940\uB944\uB94C\uB94F\uB951\uB958\uB959\uB95C\uB960\uB968\uB969"], - ["b841", "\uD1D0", 7, "\uD1D9", 17], - ["b861", "\uD1EB", 8, "\uD1F5\uD1F6\uD1F7\uD1F9", 13], - ["b881", "\uD208\uD20A", 5, "\uD211", 24, "\uB96B\uB96D\uB974\uB975\uB978\uB97C\uB984\uB985\uB987\uB989\uB98A\uB98D\uB98E\uB9AC\uB9AD\uB9B0\uB9B4\uB9BC\uB9BD\uB9BF\uB9C1\uB9C8\uB9C9\uB9CC\uB9CE", 4, "\uB9D8\uB9D9\uB9DB\uB9DD\uB9DE\uB9E1\uB9E3\uB9E4\uB9E5\uB9E8\uB9EC\uB9F4\uB9F5\uB9F7\uB9F8\uB9F9\uB9FA\uBA00\uBA01\uBA08\uBA15\uBA38\uBA39\uBA3C\uBA40\uBA42\uBA48\uBA49\uBA4B\uBA4D\uBA4E\uBA53\uBA54\uBA55\uBA58\uBA5C\uBA64\uBA65\uBA67\uBA68\uBA69\uBA70\uBA71\uBA74\uBA78\uBA83\uBA84\uBA85\uBA87\uBA8C\uBAA8\uBAA9\uBAAB\uBAAC\uBAB0\uBAB2\uBAB8\uBAB9\uBABB\uBABD\uBAC4\uBAC8\uBAD8\uBAD9\uBAFC"], - ["b941", "\uD22A\uD22B\uD22E\uD22F\uD231\uD232\uD233\uD235", 6, "\uD23E\uD240\uD242", 5, "\uD249\uD24A\uD24B\uD24C"], - ["b961", "\uD24D", 14, "\uD25D", 6, "\uD265\uD266\uD267\uD268"], - ["b981", "\uD269", 22, "\uD282\uD283\uD285\uD286\uD287\uD289\uD28A\uD28B\uD28C\uBB00\uBB04\uBB0D\uBB0F\uBB11\uBB18\uBB1C\uBB20\uBB29\uBB2B\uBB34\uBB35\uBB36\uBB38\uBB3B\uBB3C\uBB3D\uBB3E\uBB44\uBB45\uBB47\uBB49\uBB4D\uBB4F\uBB50\uBB54\uBB58\uBB61\uBB63\uBB6C\uBB88\uBB8C\uBB90\uBBA4\uBBA8\uBBAC\uBBB4\uBBB7\uBBC0\uBBC4\uBBC8\uBBD0\uBBD3\uBBF8\uBBF9\uBBFC\uBBFF\uBC00\uBC02\uBC08\uBC09\uBC0B\uBC0C\uBC0D\uBC0F\uBC11\uBC14", 4, "\uBC1B", 4, "\uBC24\uBC25\uBC27\uBC29\uBC2D\uBC30\uBC31\uBC34\uBC38\uBC40\uBC41\uBC43\uBC44\uBC45\uBC49\uBC4C\uBC4D\uBC50\uBC5D\uBC84\uBC85\uBC88\uBC8B\uBC8C\uBC8E\uBC94\uBC95\uBC97"], - ["ba41", "\uD28D\uD28E\uD28F\uD292\uD293\uD294\uD296", 5, "\uD29D\uD29E\uD29F\uD2A1\uD2A2\uD2A3\uD2A5", 6, "\uD2AD"], - ["ba61", "\uD2AE\uD2AF\uD2B0\uD2B2", 5, "\uD2BA\uD2BB\uD2BD\uD2BE\uD2C1\uD2C3", 4, "\uD2CA\uD2CC", 5], - ["ba81", "\uD2D2\uD2D3\uD2D5\uD2D6\uD2D7\uD2D9\uD2DA\uD2DB\uD2DD", 6, "\uD2E6", 9, "\uD2F2\uD2F3\uD2F5\uD2F6\uD2F7\uD2F9\uD2FA\uBC99\uBC9A\uBCA0\uBCA1\uBCA4\uBCA7\uBCA8\uBCB0\uBCB1\uBCB3\uBCB4\uBCB5\uBCBC\uBCBD\uBCC0\uBCC4\uBCCD\uBCCF\uBCD0\uBCD1\uBCD5\uBCD8\uBCDC\uBCF4\uBCF5\uBCF6\uBCF8\uBCFC\uBD04\uBD05\uBD07\uBD09\uBD10\uBD14\uBD24\uBD2C\uBD40\uBD48\uBD49\uBD4C\uBD50\uBD58\uBD59\uBD64\uBD68\uBD80\uBD81\uBD84\uBD87\uBD88\uBD89\uBD8A\uBD90\uBD91\uBD93\uBD95\uBD99\uBD9A\uBD9C\uBDA4\uBDB0\uBDB8\uBDD4\uBDD5\uBDD8\uBDDC\uBDE9\uBDF0\uBDF4\uBDF8\uBE00\uBE03\uBE05\uBE0C\uBE0D\uBE10\uBE14\uBE1C\uBE1D\uBE1F\uBE44\uBE45\uBE48\uBE4C\uBE4E\uBE54\uBE55\uBE57\uBE59\uBE5A\uBE5B\uBE60\uBE61\uBE64"], - ["bb41", "\uD2FB", 4, "\uD302\uD304\uD306", 5, "\uD30F\uD311\uD312\uD313\uD315\uD317", 4, "\uD31E\uD322\uD323"], - ["bb61", "\uD324\uD326\uD327\uD32A\uD32B\uD32D\uD32E\uD32F\uD331", 6, "\uD33A\uD33E", 5, "\uD346\uD347\uD348\uD349"], - ["bb81", "\uD34A", 31, "\uBE68\uBE6A\uBE70\uBE71\uBE73\uBE74\uBE75\uBE7B\uBE7C\uBE7D\uBE80\uBE84\uBE8C\uBE8D\uBE8F\uBE90\uBE91\uBE98\uBE99\uBEA8\uBED0\uBED1\uBED4\uBED7\uBED8\uBEE0\uBEE3\uBEE4\uBEE5\uBEEC\uBF01\uBF08\uBF09\uBF18\uBF19\uBF1B\uBF1C\uBF1D\uBF40\uBF41\uBF44\uBF48\uBF50\uBF51\uBF55\uBF94\uBFB0\uBFC5\uBFCC\uBFCD\uBFD0\uBFD4\uBFDC\uBFDF\uBFE1\uC03C\uC051\uC058\uC05C\uC060\uC068\uC069\uC090\uC091\uC094\uC098\uC0A0\uC0A1\uC0A3\uC0A5\uC0AC\uC0AD\uC0AF\uC0B0\uC0B3\uC0B4\uC0B5\uC0B6\uC0BC\uC0BD\uC0BF\uC0C0\uC0C1\uC0C5\uC0C8\uC0C9\uC0CC\uC0D0\uC0D8\uC0D9\uC0DB\uC0DC\uC0DD\uC0E4"], - ["bc41", "\uD36A", 17, "\uD37E\uD37F\uD381\uD382\uD383\uD385\uD386\uD387"], - ["bc61", "\uD388\uD389\uD38A\uD38B\uD38E\uD392", 5, "\uD39A\uD39B\uD39D\uD39E\uD39F\uD3A1", 6, "\uD3AA\uD3AC\uD3AE"], - ["bc81", "\uD3AF", 4, "\uD3B5\uD3B6\uD3B7\uD3B9\uD3BA\uD3BB\uD3BD", 6, "\uD3C6\uD3C7\uD3CA", 5, "\uD3D1", 5, "\uC0E5\uC0E8\uC0EC\uC0F4\uC0F5\uC0F7\uC0F9\uC100\uC104\uC108\uC110\uC115\uC11C", 4, "\uC123\uC124\uC126\uC127\uC12C\uC12D\uC12F\uC130\uC131\uC136\uC138\uC139\uC13C\uC140\uC148\uC149\uC14B\uC14C\uC14D\uC154\uC155\uC158\uC15C\uC164\uC165\uC167\uC168\uC169\uC170\uC174\uC178\uC185\uC18C\uC18D\uC18E\uC190\uC194\uC196\uC19C\uC19D\uC19F\uC1A1\uC1A5\uC1A8\uC1A9\uC1AC\uC1B0\uC1BD\uC1C4\uC1C8\uC1CC\uC1D4\uC1D7\uC1D8\uC1E0\uC1E4\uC1E8\uC1F0\uC1F1\uC1F3\uC1FC\uC1FD\uC200\uC204\uC20C\uC20D\uC20F\uC211\uC218\uC219\uC21C\uC21F\uC220\uC228\uC229\uC22B\uC22D"], - ["bd41", "\uD3D7\uD3D9", 7, "\uD3E2\uD3E4", 7, "\uD3EE\uD3EF\uD3F1\uD3F2\uD3F3\uD3F5\uD3F6\uD3F7"], - ["bd61", "\uD3F8\uD3F9\uD3FA\uD3FB\uD3FE\uD400\uD402", 5, "\uD409", 13], - ["bd81", "\uD417", 5, "\uD41E", 25, "\uC22F\uC231\uC232\uC234\uC248\uC250\uC251\uC254\uC258\uC260\uC265\uC26C\uC26D\uC270\uC274\uC27C\uC27D\uC27F\uC281\uC288\uC289\uC290\uC298\uC29B\uC29D\uC2A4\uC2A5\uC2A8\uC2AC\uC2AD\uC2B4\uC2B5\uC2B7\uC2B9\uC2DC\uC2DD\uC2E0\uC2E3\uC2E4\uC2EB\uC2EC\uC2ED\uC2EF\uC2F1\uC2F6\uC2F8\uC2F9\uC2FB\uC2FC\uC300\uC308\uC309\uC30C\uC30D\uC313\uC314\uC315\uC318\uC31C\uC324\uC325\uC328\uC329\uC345\uC368\uC369\uC36C\uC370\uC372\uC378\uC379\uC37C\uC37D\uC384\uC388\uC38C\uC3C0\uC3D8\uC3D9\uC3DC\uC3DF\uC3E0\uC3E2\uC3E8\uC3E9\uC3ED\uC3F4\uC3F5\uC3F8\uC408\uC410\uC424\uC42C\uC430"], - ["be41", "\uD438", 7, "\uD441\uD442\uD443\uD445", 14], - ["be61", "\uD454", 7, "\uD45D\uD45E\uD45F\uD461\uD462\uD463\uD465", 7, "\uD46E\uD470\uD471\uD472"], - ["be81", "\uD473", 4, "\uD47A\uD47B\uD47D\uD47E\uD481\uD483", 4, "\uD48A\uD48C\uD48E", 5, "\uD495", 8, "\uC434\uC43C\uC43D\uC448\uC464\uC465\uC468\uC46C\uC474\uC475\uC479\uC480\uC494\uC49C\uC4B8\uC4BC\uC4E9\uC4F0\uC4F1\uC4F4\uC4F8\uC4FA\uC4FF\uC500\uC501\uC50C\uC510\uC514\uC51C\uC528\uC529\uC52C\uC530\uC538\uC539\uC53B\uC53D\uC544\uC545\uC548\uC549\uC54A\uC54C\uC54D\uC54E\uC553\uC554\uC555\uC557\uC558\uC559\uC55D\uC55E\uC560\uC561\uC564\uC568\uC570\uC571\uC573\uC574\uC575\uC57C\uC57D\uC580\uC584\uC587\uC58C\uC58D\uC58F\uC591\uC595\uC597\uC598\uC59C\uC5A0\uC5A9\uC5B4\uC5B5\uC5B8\uC5B9\uC5BB\uC5BC\uC5BD\uC5BE\uC5C4", 6, "\uC5CC\uC5CE"], - ["bf41", "\uD49E", 10, "\uD4AA", 14], - ["bf61", "\uD4B9", 18, "\uD4CD\uD4CE\uD4CF\uD4D1\uD4D2\uD4D3\uD4D5"], - ["bf81", "\uD4D6", 5, "\uD4DD\uD4DE\uD4E0", 7, "\uD4E9\uD4EA\uD4EB\uD4ED\uD4EE\uD4EF\uD4F1", 6, "\uD4F9\uD4FA\uD4FC\uC5D0\uC5D1\uC5D4\uC5D8\uC5E0\uC5E1\uC5E3\uC5E5\uC5EC\uC5ED\uC5EE\uC5F0\uC5F4\uC5F6\uC5F7\uC5FC", 5, "\uC605\uC606\uC607\uC608\uC60C\uC610\uC618\uC619\uC61B\uC61C\uC624\uC625\uC628\uC62C\uC62D\uC62E\uC630\uC633\uC634\uC635\uC637\uC639\uC63B\uC640\uC641\uC644\uC648\uC650\uC651\uC653\uC654\uC655\uC65C\uC65D\uC660\uC66C\uC66F\uC671\uC678\uC679\uC67C\uC680\uC688\uC689\uC68B\uC68D\uC694\uC695\uC698\uC69C\uC6A4\uC6A5\uC6A7\uC6A9\uC6B0\uC6B1\uC6B4\uC6B8\uC6B9\uC6BA\uC6C0\uC6C1\uC6C3\uC6C5\uC6CC\uC6CD\uC6D0\uC6D4\uC6DC\uC6DD\uC6E0\uC6E1\uC6E8"], - ["c041", "\uD4FE", 5, "\uD505\uD506\uD507\uD509\uD50A\uD50B\uD50D", 6, "\uD516\uD518", 5], - ["c061", "\uD51E", 25], - ["c081", "\uD538\uD539\uD53A\uD53B\uD53E\uD53F\uD541\uD542\uD543\uD545", 6, "\uD54E\uD550\uD552", 5, "\uD55A\uD55B\uD55D\uD55E\uD55F\uD561\uD562\uD563\uC6E9\uC6EC\uC6F0\uC6F8\uC6F9\uC6FD\uC704\uC705\uC708\uC70C\uC714\uC715\uC717\uC719\uC720\uC721\uC724\uC728\uC730\uC731\uC733\uC735\uC737\uC73C\uC73D\uC740\uC744\uC74A\uC74C\uC74D\uC74F\uC751", 7, "\uC75C\uC760\uC768\uC76B\uC774\uC775\uC778\uC77C\uC77D\uC77E\uC783\uC784\uC785\uC787\uC788\uC789\uC78A\uC78E\uC790\uC791\uC794\uC796\uC797\uC798\uC79A\uC7A0\uC7A1\uC7A3\uC7A4\uC7A5\uC7A6\uC7AC\uC7AD\uC7B0\uC7B4\uC7BC\uC7BD\uC7BF\uC7C0\uC7C1\uC7C8\uC7C9\uC7CC\uC7CE\uC7D0\uC7D8\uC7DD\uC7E4\uC7E8\uC7EC\uC800\uC801\uC804\uC808\uC80A"], - ["c141", "\uD564\uD566\uD567\uD56A\uD56C\uD56E", 5, "\uD576\uD577\uD579\uD57A\uD57B\uD57D", 6, "\uD586\uD58A\uD58B"], - ["c161", "\uD58C\uD58D\uD58E\uD58F\uD591", 19, "\uD5A6\uD5A7"], - ["c181", "\uD5A8", 31, "\uC810\uC811\uC813\uC815\uC816\uC81C\uC81D\uC820\uC824\uC82C\uC82D\uC82F\uC831\uC838\uC83C\uC840\uC848\uC849\uC84C\uC84D\uC854\uC870\uC871\uC874\uC878\uC87A\uC880\uC881\uC883\uC885\uC886\uC887\uC88B\uC88C\uC88D\uC894\uC89D\uC89F\uC8A1\uC8A8\uC8BC\uC8BD\uC8C4\uC8C8\uC8CC\uC8D4\uC8D5\uC8D7\uC8D9\uC8E0\uC8E1\uC8E4\uC8F5\uC8FC\uC8FD\uC900\uC904\uC905\uC906\uC90C\uC90D\uC90F\uC911\uC918\uC92C\uC934\uC950\uC951\uC954\uC958\uC960\uC961\uC963\uC96C\uC970\uC974\uC97C\uC988\uC989\uC98C\uC990\uC998\uC999\uC99B\uC99D\uC9C0\uC9C1\uC9C4\uC9C7\uC9C8\uC9CA\uC9D0\uC9D1\uC9D3"], - ["c241", "\uD5CA\uD5CB\uD5CD\uD5CE\uD5CF\uD5D1\uD5D3", 4, "\uD5DA\uD5DC\uD5DE", 5, "\uD5E6\uD5E7\uD5E9\uD5EA\uD5EB\uD5ED\uD5EE"], - ["c261", "\uD5EF", 4, "\uD5F6\uD5F8\uD5FA", 5, "\uD602\uD603\uD605\uD606\uD607\uD609", 6, "\uD612"], - ["c281", "\uD616", 5, "\uD61D\uD61E\uD61F\uD621\uD622\uD623\uD625", 7, "\uD62E", 9, "\uD63A\uD63B\uC9D5\uC9D6\uC9D9\uC9DA\uC9DC\uC9DD\uC9E0\uC9E2\uC9E4\uC9E7\uC9EC\uC9ED\uC9EF\uC9F0\uC9F1\uC9F8\uC9F9\uC9FC\uCA00\uCA08\uCA09\uCA0B\uCA0C\uCA0D\uCA14\uCA18\uCA29\uCA4C\uCA4D\uCA50\uCA54\uCA5C\uCA5D\uCA5F\uCA60\uCA61\uCA68\uCA7D\uCA84\uCA98\uCABC\uCABD\uCAC0\uCAC4\uCACC\uCACD\uCACF\uCAD1\uCAD3\uCAD8\uCAD9\uCAE0\uCAEC\uCAF4\uCB08\uCB10\uCB14\uCB18\uCB20\uCB21\uCB41\uCB48\uCB49\uCB4C\uCB50\uCB58\uCB59\uCB5D\uCB64\uCB78\uCB79\uCB9C\uCBB8\uCBD4\uCBE4\uCBE7\uCBE9\uCC0C\uCC0D\uCC10\uCC14\uCC1C\uCC1D\uCC21\uCC22\uCC27\uCC28\uCC29\uCC2C\uCC2E\uCC30\uCC38\uCC39\uCC3B"], - ["c341", "\uD63D\uD63E\uD63F\uD641\uD642\uD643\uD644\uD646\uD647\uD64A\uD64C\uD64E\uD64F\uD650\uD652\uD653\uD656\uD657\uD659\uD65A\uD65B\uD65D", 4], - ["c361", "\uD662", 4, "\uD668\uD66A", 5, "\uD672\uD673\uD675", 11], - ["c381", "\uD681\uD682\uD684\uD686", 5, "\uD68E\uD68F\uD691\uD692\uD693\uD695", 7, "\uD69E\uD6A0\uD6A2", 5, "\uD6A9\uD6AA\uCC3C\uCC3D\uCC3E\uCC44\uCC45\uCC48\uCC4C\uCC54\uCC55\uCC57\uCC58\uCC59\uCC60\uCC64\uCC66\uCC68\uCC70\uCC75\uCC98\uCC99\uCC9C\uCCA0\uCCA8\uCCA9\uCCAB\uCCAC\uCCAD\uCCB4\uCCB5\uCCB8\uCCBC\uCCC4\uCCC5\uCCC7\uCCC9\uCCD0\uCCD4\uCCE4\uCCEC\uCCF0\uCD01\uCD08\uCD09\uCD0C\uCD10\uCD18\uCD19\uCD1B\uCD1D\uCD24\uCD28\uCD2C\uCD39\uCD5C\uCD60\uCD64\uCD6C\uCD6D\uCD6F\uCD71\uCD78\uCD88\uCD94\uCD95\uCD98\uCD9C\uCDA4\uCDA5\uCDA7\uCDA9\uCDB0\uCDC4\uCDCC\uCDD0\uCDE8\uCDEC\uCDF0\uCDF8\uCDF9\uCDFB\uCDFD\uCE04\uCE08\uCE0C\uCE14\uCE19\uCE20\uCE21\uCE24\uCE28\uCE30\uCE31\uCE33\uCE35"], - ["c441", "\uD6AB\uD6AD\uD6AE\uD6AF\uD6B1", 7, "\uD6BA\uD6BC", 7, "\uD6C6\uD6C7\uD6C9\uD6CA\uD6CB"], - ["c461", "\uD6CD\uD6CE\uD6CF\uD6D0\uD6D2\uD6D3\uD6D5\uD6D6\uD6D8\uD6DA", 5, "\uD6E1\uD6E2\uD6E3\uD6E5\uD6E6\uD6E7\uD6E9", 4], - ["c481", "\uD6EE\uD6EF\uD6F1\uD6F2\uD6F3\uD6F4\uD6F6", 5, "\uD6FE\uD6FF\uD701\uD702\uD703\uD705", 11, "\uD712\uD713\uD714\uCE58\uCE59\uCE5C\uCE5F\uCE60\uCE61\uCE68\uCE69\uCE6B\uCE6D\uCE74\uCE75\uCE78\uCE7C\uCE84\uCE85\uCE87\uCE89\uCE90\uCE91\uCE94\uCE98\uCEA0\uCEA1\uCEA3\uCEA4\uCEA5\uCEAC\uCEAD\uCEC1\uCEE4\uCEE5\uCEE8\uCEEB\uCEEC\uCEF4\uCEF5\uCEF7\uCEF8\uCEF9\uCF00\uCF01\uCF04\uCF08\uCF10\uCF11\uCF13\uCF15\uCF1C\uCF20\uCF24\uCF2C\uCF2D\uCF2F\uCF30\uCF31\uCF38\uCF54\uCF55\uCF58\uCF5C\uCF64\uCF65\uCF67\uCF69\uCF70\uCF71\uCF74\uCF78\uCF80\uCF85\uCF8C\uCFA1\uCFA8\uCFB0\uCFC4\uCFE0\uCFE1\uCFE4\uCFE8\uCFF0\uCFF1\uCFF3\uCFF5\uCFFC\uD000\uD004\uD011\uD018\uD02D\uD034\uD035\uD038\uD03C"], - ["c541", "\uD715\uD716\uD717\uD71A\uD71B\uD71D\uD71E\uD71F\uD721", 6, "\uD72A\uD72C\uD72E", 5, "\uD736\uD737\uD739"], - ["c561", "\uD73A\uD73B\uD73D", 6, "\uD745\uD746\uD748\uD74A", 5, "\uD752\uD753\uD755\uD75A", 4], - ["c581", "\uD75F\uD762\uD764\uD766\uD767\uD768\uD76A\uD76B\uD76D\uD76E\uD76F\uD771\uD772\uD773\uD775", 6, "\uD77E\uD77F\uD780\uD782", 5, "\uD78A\uD78B\uD044\uD045\uD047\uD049\uD050\uD054\uD058\uD060\uD06C\uD06D\uD070\uD074\uD07C\uD07D\uD081\uD0A4\uD0A5\uD0A8\uD0AC\uD0B4\uD0B5\uD0B7\uD0B9\uD0C0\uD0C1\uD0C4\uD0C8\uD0C9\uD0D0\uD0D1\uD0D3\uD0D4\uD0D5\uD0DC\uD0DD\uD0E0\uD0E4\uD0EC\uD0ED\uD0EF\uD0F0\uD0F1\uD0F8\uD10D\uD130\uD131\uD134\uD138\uD13A\uD140\uD141\uD143\uD144\uD145\uD14C\uD14D\uD150\uD154\uD15C\uD15D\uD15F\uD161\uD168\uD16C\uD17C\uD184\uD188\uD1A0\uD1A1\uD1A4\uD1A8\uD1B0\uD1B1\uD1B3\uD1B5\uD1BA\uD1BC\uD1C0\uD1D8\uD1F4\uD1F8\uD207\uD209\uD210\uD22C\uD22D\uD230\uD234\uD23C\uD23D\uD23F\uD241\uD248\uD25C"], - ["c641", "\uD78D\uD78E\uD78F\uD791", 6, "\uD79A\uD79C\uD79E", 5], - ["c6a1", "\uD264\uD280\uD281\uD284\uD288\uD290\uD291\uD295\uD29C\uD2A0\uD2A4\uD2AC\uD2B1\uD2B8\uD2B9\uD2BC\uD2BF\uD2C0\uD2C2\uD2C8\uD2C9\uD2CB\uD2D4\uD2D8\uD2DC\uD2E4\uD2E5\uD2F0\uD2F1\uD2F4\uD2F8\uD300\uD301\uD303\uD305\uD30C\uD30D\uD30E\uD310\uD314\uD316\uD31C\uD31D\uD31F\uD320\uD321\uD325\uD328\uD329\uD32C\uD330\uD338\uD339\uD33B\uD33C\uD33D\uD344\uD345\uD37C\uD37D\uD380\uD384\uD38C\uD38D\uD38F\uD390\uD391\uD398\uD399\uD39C\uD3A0\uD3A8\uD3A9\uD3AB\uD3AD\uD3B4\uD3B8\uD3BC\uD3C4\uD3C5\uD3C8\uD3C9\uD3D0\uD3D8\uD3E1\uD3E3\uD3EC\uD3ED\uD3F0\uD3F4\uD3FC\uD3FD\uD3FF\uD401"], - ["c7a1", "\uD408\uD41D\uD440\uD444\uD45C\uD460\uD464\uD46D\uD46F\uD478\uD479\uD47C\uD47F\uD480\uD482\uD488\uD489\uD48B\uD48D\uD494\uD4A9\uD4CC\uD4D0\uD4D4\uD4DC\uD4DF\uD4E8\uD4EC\uD4F0\uD4F8\uD4FB\uD4FD\uD504\uD508\uD50C\uD514\uD515\uD517\uD53C\uD53D\uD540\uD544\uD54C\uD54D\uD54F\uD551\uD558\uD559\uD55C\uD560\uD565\uD568\uD569\uD56B\uD56D\uD574\uD575\uD578\uD57C\uD584\uD585\uD587\uD588\uD589\uD590\uD5A5\uD5C8\uD5C9\uD5CC\uD5D0\uD5D2\uD5D8\uD5D9\uD5DB\uD5DD\uD5E4\uD5E5\uD5E8\uD5EC\uD5F4\uD5F5\uD5F7\uD5F9\uD600\uD601\uD604\uD608\uD610\uD611\uD613\uD614\uD615\uD61C\uD620"], - ["c8a1", "\uD624\uD62D\uD638\uD639\uD63C\uD640\uD645\uD648\uD649\uD64B\uD64D\uD651\uD654\uD655\uD658\uD65C\uD667\uD669\uD670\uD671\uD674\uD683\uD685\uD68C\uD68D\uD690\uD694\uD69D\uD69F\uD6A1\uD6A8\uD6AC\uD6B0\uD6B9\uD6BB\uD6C4\uD6C5\uD6C8\uD6CC\uD6D1\uD6D4\uD6D7\uD6D9\uD6E0\uD6E4\uD6E8\uD6F0\uD6F5\uD6FC\uD6FD\uD700\uD704\uD711\uD718\uD719\uD71C\uD720\uD728\uD729\uD72B\uD72D\uD734\uD735\uD738\uD73C\uD744\uD747\uD749\uD750\uD751\uD754\uD756\uD757\uD758\uD759\uD760\uD761\uD763\uD765\uD769\uD76C\uD770\uD774\uD77C\uD77D\uD781\uD788\uD789\uD78C\uD790\uD798\uD799\uD79B\uD79D"], - ["caa1", "\u4F3D\u4F73\u5047\u50F9\u52A0\u53EF\u5475\u54E5\u5609\u5AC1\u5BB6\u6687\u67B6\u67B7\u67EF\u6B4C\u73C2\u75C2\u7A3C\u82DB\u8304\u8857\u8888\u8A36\u8CC8\u8DCF\u8EFB\u8FE6\u99D5\u523B\u5374\u5404\u606A\u6164\u6BBC\u73CF\u811A\u89BA\u89D2\u95A3\u4F83\u520A\u58BE\u5978\u59E6\u5E72\u5E79\u61C7\u63C0\u6746\u67EC\u687F\u6F97\u764E\u770B\u78F5\u7A08\u7AFF\u7C21\u809D\u826E\u8271\u8AEB\u9593\u4E6B\u559D\u66F7\u6E34\u78A3\u7AED\u845B\u8910\u874E\u97A8\u52D8\u574E\u582A\u5D4C\u611F\u61BE\u6221\u6562\u67D1\u6A44\u6E1B\u7518\u75B3\u76E3\u77B0\u7D3A\u90AF\u9451\u9452\u9F95"], - ["cba1", "\u5323\u5CAC\u7532\u80DB\u9240\u9598\u525B\u5808\u59DC\u5CA1\u5D17\u5EB7\u5F3A\u5F4A\u6177\u6C5F\u757A\u7586\u7CE0\u7D73\u7DB1\u7F8C\u8154\u8221\u8591\u8941\u8B1B\u92FC\u964D\u9C47\u4ECB\u4EF7\u500B\u51F1\u584F\u6137\u613E\u6168\u6539\u69EA\u6F11\u75A5\u7686\u76D6\u7B87\u82A5\u84CB\uF900\u93A7\u958B\u5580\u5BA2\u5751\uF901\u7CB3\u7FB9\u91B5\u5028\u53BB\u5C45\u5DE8\u62D2\u636E\u64DA\u64E7\u6E20\u70AC\u795B\u8DDD\u8E1E\uF902\u907D\u9245\u92F8\u4E7E\u4EF6\u5065\u5DFE\u5EFA\u6106\u6957\u8171\u8654\u8E47\u9375\u9A2B\u4E5E\u5091\u6770\u6840\u5109\u528D\u5292\u6AA2"], - ["cca1", "\u77BC\u9210\u9ED4\u52AB\u602F\u8FF2\u5048\u61A9\u63ED\u64CA\u683C\u6A84\u6FC0\u8188\u89A1\u9694\u5805\u727D\u72AC\u7504\u7D79\u7E6D\u80A9\u898B\u8B74\u9063\u9D51\u6289\u6C7A\u6F54\u7D50\u7F3A\u8A23\u517C\u614A\u7B9D\u8B19\u9257\u938C\u4EAC\u4FD3\u501E\u50BE\u5106\u52C1\u52CD\u537F\u5770\u5883\u5E9A\u5F91\u6176\u61AC\u64CE\u656C\u666F\u66BB\u66F4\u6897\u6D87\u7085\u70F1\u749F\u74A5\u74CA\u75D9\u786C\u78EC\u7ADF\u7AF6\u7D45\u7D93\u8015\u803F\u811B\u8396\u8B66\u8F15\u9015\u93E1\u9803\u9838\u9A5A\u9BE8\u4FC2\u5553\u583A\u5951\u5B63\u5C46\u60B8\u6212\u6842\u68B0"], - ["cda1", "\u68E8\u6EAA\u754C\u7678\u78CE\u7A3D\u7CFB\u7E6B\u7E7C\u8A08\u8AA1\u8C3F\u968E\u9DC4\u53E4\u53E9\u544A\u5471\u56FA\u59D1\u5B64\u5C3B\u5EAB\u62F7\u6537\u6545\u6572\u66A0\u67AF\u69C1\u6CBD\u75FC\u7690\u777E\u7A3F\u7F94\u8003\u80A1\u818F\u82E6\u82FD\u83F0\u85C1\u8831\u88B4\u8AA5\uF903\u8F9C\u932E\u96C7\u9867\u9AD8\u9F13\u54ED\u659B\u66F2\u688F\u7A40\u8C37\u9D60\u56F0\u5764\u5D11\u6606\u68B1\u68CD\u6EFE\u7428\u889E\u9BE4\u6C68\uF904\u9AA8\u4F9B\u516C\u5171\u529F\u5B54\u5DE5\u6050\u606D\u62F1\u63A7\u653B\u73D9\u7A7A\u86A3\u8CA2\u978F\u4E32\u5BE1\u6208\u679C\u74DC"], - ["cea1", "\u79D1\u83D3\u8A87\u8AB2\u8DE8\u904E\u934B\u9846\u5ED3\u69E8\u85FF\u90ED\uF905\u51A0\u5B98\u5BEC\u6163\u68FA\u6B3E\u704C\u742F\u74D8\u7BA1\u7F50\u83C5\u89C0\u8CAB\u95DC\u9928\u522E\u605D\u62EC\u9002\u4F8A\u5149\u5321\u58D9\u5EE3\u66E0\u6D38\u709A\u72C2\u73D6\u7B50\u80F1\u945B\u5366\u639B\u7F6B\u4E56\u5080\u584A\u58DE\u602A\u6127\u62D0\u69D0\u9B41\u5B8F\u7D18\u80B1\u8F5F\u4EA4\u50D1\u54AC\u55AC\u5B0C\u5DA0\u5DE7\u652A\u654E\u6821\u6A4B\u72E1\u768E\u77EF\u7D5E\u7FF9\u81A0\u854E\u86DF\u8F03\u8F4E\u90CA\u9903\u9A55\u9BAB\u4E18\u4E45\u4E5D\u4EC7\u4FF1\u5177\u52FE"], - ["cfa1", "\u5340\u53E3\u53E5\u548E\u5614\u5775\u57A2\u5BC7\u5D87\u5ED0\u61FC\u62D8\u6551\u67B8\u67E9\u69CB\u6B50\u6BC6\u6BEC\u6C42\u6E9D\u7078\u72D7\u7396\u7403\u77BF\u77E9\u7A76\u7D7F\u8009\u81FC\u8205\u820A\u82DF\u8862\u8B33\u8CFC\u8EC0\u9011\u90B1\u9264\u92B6\u99D2\u9A45\u9CE9\u9DD7\u9F9C\u570B\u5C40\u83CA\u97A0\u97AB\u9EB4\u541B\u7A98\u7FA4\u88D9\u8ECD\u90E1\u5800\u5C48\u6398\u7A9F\u5BAE\u5F13\u7A79\u7AAE\u828E\u8EAC\u5026\u5238\u52F8\u5377\u5708\u62F3\u6372\u6B0A\u6DC3\u7737\u53A5\u7357\u8568\u8E76\u95D5\u673A\u6AC3\u6F70\u8A6D\u8ECC\u994B\uF906\u6677\u6B78\u8CB4"], - ["d0a1", "\u9B3C\uF907\u53EB\u572D\u594E\u63C6\u69FB\u73EA\u7845\u7ABA\u7AC5\u7CFE\u8475\u898F\u8D73\u9035\u95A8\u52FB\u5747\u7547\u7B60\u83CC\u921E\uF908\u6A58\u514B\u524B\u5287\u621F\u68D8\u6975\u9699\u50C5\u52A4\u52E4\u61C3\u65A4\u6839\u69FF\u747E\u7B4B\u82B9\u83EB\u89B2\u8B39\u8FD1\u9949\uF909\u4ECA\u5997\u64D2\u6611\u6A8E\u7434\u7981\u79BD\u82A9\u887E\u887F\u895F\uF90A\u9326\u4F0B\u53CA\u6025\u6271\u6C72\u7D1A\u7D66\u4E98\u5162\u77DC\u80AF\u4F01\u4F0E\u5176\u5180\u55DC\u5668\u573B\u57FA\u57FC\u5914\u5947\u5993\u5BC4\u5C90\u5D0E\u5DF1\u5E7E\u5FCC\u6280\u65D7\u65E3"], - ["d1a1", "\u671E\u671F\u675E\u68CB\u68C4\u6A5F\u6B3A\u6C23\u6C7D\u6C82\u6DC7\u7398\u7426\u742A\u7482\u74A3\u7578\u757F\u7881\u78EF\u7941\u7947\u7948\u797A\u7B95\u7D00\u7DBA\u7F88\u8006\u802D\u808C\u8A18\u8B4F\u8C48\u8D77\u9321\u9324\u98E2\u9951\u9A0E\u9A0F\u9A65\u9E92\u7DCA\u4F76\u5409\u62EE\u6854\u91D1\u55AB\u513A\uF90B\uF90C\u5A1C\u61E6\uF90D\u62CF\u62FF\uF90E", 5, "\u90A3\uF914", 4, "\u8AFE\uF919\uF91A\uF91B\uF91C\u6696\uF91D\u7156\uF91E\uF91F\u96E3\uF920\u634F\u637A\u5357\uF921\u678F\u6960\u6E73\uF922\u7537\uF923\uF924\uF925"], - ["d2a1", "\u7D0D\uF926\uF927\u8872\u56CA\u5A18\uF928", 4, "\u4E43\uF92D\u5167\u5948\u67F0\u8010\uF92E\u5973\u5E74\u649A\u79CA\u5FF5\u606C\u62C8\u637B\u5BE7\u5BD7\u52AA\uF92F\u5974\u5F29\u6012\uF930\uF931\uF932\u7459\uF933", 5, "\u99D1\uF939", 10, "\u6FC3\uF944\uF945\u81BF\u8FB2\u60F1\uF946\uF947\u8166\uF948\uF949\u5C3F\uF94A", 7, "\u5AE9\u8A25\u677B\u7D10\uF952", 5, "\u80FD\uF958\uF959\u5C3C\u6CE5\u533F\u6EBA\u591A\u8336"], - ["d3a1", "\u4E39\u4EB6\u4F46\u55AE\u5718\u58C7\u5F56\u65B7\u65E6\u6A80\u6BB5\u6E4D\u77ED\u7AEF\u7C1E\u7DDE\u86CB\u8892\u9132\u935B\u64BB\u6FBE\u737A\u75B8\u9054\u5556\u574D\u61BA\u64D4\u66C7\u6DE1\u6E5B\u6F6D\u6FB9\u75F0\u8043\u81BD\u8541\u8983\u8AC7\u8B5A\u931F\u6C93\u7553\u7B54\u8E0F\u905D\u5510\u5802\u5858\u5E62\u6207\u649E\u68E0\u7576\u7CD6\u87B3\u9EE8\u4EE3\u5788\u576E\u5927\u5C0D\u5CB1\u5E36\u5F85\u6234\u64E1\u73B3\u81FA\u888B\u8CB8\u968A\u9EDB\u5B85\u5FB7\u60B3\u5012\u5200\u5230\u5716\u5835\u5857\u5C0E\u5C60\u5CF6\u5D8B\u5EA6\u5F92\u60BC\u6311\u6389\u6417\u6843"], - ["d4a1", "\u68F9\u6AC2\u6DD8\u6E21\u6ED4\u6FE4\u71FE\u76DC\u7779\u79B1\u7A3B\u8404\u89A9\u8CED\u8DF3\u8E48\u9003\u9014\u9053\u90FD\u934D\u9676\u97DC\u6BD2\u7006\u7258\u72A2\u7368\u7763\u79BF\u7BE4\u7E9B\u8B80\u58A9\u60C7\u6566\u65FD\u66BE\u6C8C\u711E\u71C9\u8C5A\u9813\u4E6D\u7A81\u4EDD\u51AC\u51CD\u52D5\u540C\u61A7\u6771\u6850\u68DF\u6D1E\u6F7C\u75BC\u77B3\u7AE5\u80F4\u8463\u9285\u515C\u6597\u675C\u6793\u75D8\u7AC7\u8373\uF95A\u8C46\u9017\u982D\u5C6F\u81C0\u829A\u9041\u906F\u920D\u5F97\u5D9D\u6A59\u71C8\u767B\u7B49\u85E4\u8B04\u9127\u9A30\u5587\u61F6\uF95B\u7669\u7F85"], - ["d5a1", "\u863F\u87BA\u88F8\u908F\uF95C\u6D1B\u70D9\u73DE\u7D61\u843D\uF95D\u916A\u99F1\uF95E\u4E82\u5375\u6B04\u6B12\u703E\u721B\u862D\u9E1E\u524C\u8FA3\u5D50\u64E5\u652C\u6B16\u6FEB\u7C43\u7E9C\u85CD\u8964\u89BD\u62C9\u81D8\u881F\u5ECA\u6717\u6D6A\u72FC\u7405\u746F\u8782\u90DE\u4F86\u5D0D\u5FA0\u840A\u51B7\u63A0\u7565\u4EAE\u5006\u5169\u51C9\u6881\u6A11\u7CAE\u7CB1\u7CE7\u826F\u8AD2\u8F1B\u91CF\u4FB6\u5137\u52F5\u5442\u5EEC\u616E\u623E\u65C5\u6ADA\u6FFE\u792A\u85DC\u8823\u95AD\u9A62\u9A6A\u9E97\u9ECE\u529B\u66C6\u6B77\u701D\u792B\u8F62\u9742\u6190\u6200\u6523\u6F23"], - ["d6a1", "\u7149\u7489\u7DF4\u806F\u84EE\u8F26\u9023\u934A\u51BD\u5217\u52A3\u6D0C\u70C8\u88C2\u5EC9\u6582\u6BAE\u6FC2\u7C3E\u7375\u4EE4\u4F36\u56F9\uF95F\u5CBA\u5DBA\u601C\u73B2\u7B2D\u7F9A\u7FCE\u8046\u901E\u9234\u96F6\u9748\u9818\u9F61\u4F8B\u6FA7\u79AE\u91B4\u96B7\u52DE\uF960\u6488\u64C4\u6AD3\u6F5E\u7018\u7210\u76E7\u8001\u8606\u865C\u8DEF\u8F05\u9732\u9B6F\u9DFA\u9E75\u788C\u797F\u7DA0\u83C9\u9304\u9E7F\u9E93\u8AD6\u58DF\u5F04\u6727\u7027\u74CF\u7C60\u807E\u5121\u7028\u7262\u78CA\u8CC2\u8CDA\u8CF4\u96F7\u4E86\u50DA\u5BEE\u5ED6\u6599\u71CE\u7642\u77AD\u804A\u84FC"], - ["d7a1", "\u907C\u9B27\u9F8D\u58D8\u5A41\u5C62\u6A13\u6DDA\u6F0F\u763B\u7D2F\u7E37\u851E\u8938\u93E4\u964B\u5289\u65D2\u67F3\u69B4\u6D41\u6E9C\u700F\u7409\u7460\u7559\u7624\u786B\u8B2C\u985E\u516D\u622E\u9678\u4F96\u502B\u5D19\u6DEA\u7DB8\u8F2A\u5F8B\u6144\u6817\uF961\u9686\u52D2\u808B\u51DC\u51CC\u695E\u7A1C\u7DBE\u83F1\u9675\u4FDA\u5229\u5398\u540F\u550E\u5C65\u60A7\u674E\u68A8\u6D6C\u7281\u72F8\u7406\u7483\uF962\u75E2\u7C6C\u7F79\u7FB8\u8389\u88CF\u88E1\u91CC\u91D0\u96E2\u9BC9\u541D\u6F7E\u71D0\u7498\u85FA\u8EAA\u96A3\u9C57\u9E9F\u6797\u6DCB\u7433\u81E8\u9716\u782C"], - ["d8a1", "\u7ACB\u7B20\u7C92\u6469\u746A\u75F2\u78BC\u78E8\u99AC\u9B54\u9EBB\u5BDE\u5E55\u6F20\u819C\u83AB\u9088\u4E07\u534D\u5A29\u5DD2\u5F4E\u6162\u633D\u6669\u66FC\u6EFF\u6F2B\u7063\u779E\u842C\u8513\u883B\u8F13\u9945\u9C3B\u551C\u62B9\u672B\u6CAB\u8309\u896A\u977A\u4EA1\u5984\u5FD8\u5FD9\u671B\u7DB2\u7F54\u8292\u832B\u83BD\u8F1E\u9099\u57CB\u59B9\u5A92\u5BD0\u6627\u679A\u6885\u6BCF\u7164\u7F75\u8CB7\u8CE3\u9081\u9B45\u8108\u8C8A\u964C\u9A40\u9EA5\u5B5F\u6C13\u731B\u76F2\u76DF\u840C\u51AA\u8993\u514D\u5195\u52C9\u68C9\u6C94\u7704\u7720\u7DBF\u7DEC\u9762\u9EB5\u6EC5"], - ["d9a1", "\u8511\u51A5\u540D\u547D\u660E\u669D\u6927\u6E9F\u76BF\u7791\u8317\u84C2\u879F\u9169\u9298\u9CF4\u8882\u4FAE\u5192\u52DF\u59C6\u5E3D\u6155\u6478\u6479\u66AE\u67D0\u6A21\u6BCD\u6BDB\u725F\u7261\u7441\u7738\u77DB\u8017\u82BC\u8305\u8B00\u8B28\u8C8C\u6728\u6C90\u7267\u76EE\u7766\u7A46\u9DA9\u6B7F\u6C92\u5922\u6726\u8499\u536F\u5893\u5999\u5EDF\u63CF\u6634\u6773\u6E3A\u732B\u7AD7\u82D7\u9328\u52D9\u5DEB\u61AE\u61CB\u620A\u62C7\u64AB\u65E0\u6959\u6B66\u6BCB\u7121\u73F7\u755D\u7E46\u821E\u8302\u856A\u8AA3\u8CBF\u9727\u9D61\u58A8\u9ED8\u5011\u520E\u543B\u554F\u6587"], - ["daa1", "\u6C76\u7D0A\u7D0B\u805E\u868A\u9580\u96EF\u52FF\u6C95\u7269\u5473\u5A9A\u5C3E\u5D4B\u5F4C\u5FAE\u672A\u68B6\u6963\u6E3C\u6E44\u7709\u7C73\u7F8E\u8587\u8B0E\u8FF7\u9761\u9EF4\u5CB7\u60B6\u610D\u61AB\u654F\u65FB\u65FC\u6C11\u6CEF\u739F\u73C9\u7DE1\u9594\u5BC6\u871C\u8B10\u525D\u535A\u62CD\u640F\u64B2\u6734\u6A38\u6CCA\u73C0\u749E\u7B94\u7C95\u7E1B\u818A\u8236\u8584\u8FEB\u96F9\u99C1\u4F34\u534A\u53CD\u53DB\u62CC\u642C\u6500\u6591\u69C3\u6CEE\u6F58\u73ED\u7554\u7622\u76E4\u76FC\u78D0\u78FB\u792C\u7D46\u822C\u87E0\u8FD4\u9812\u98EF\u52C3\u62D4\u64A5\u6E24\u6F51"], - ["dba1", "\u767C\u8DCB\u91B1\u9262\u9AEE\u9B43\u5023\u508D\u574A\u59A8\u5C28\u5E47\u5F77\u623F\u653E\u65B9\u65C1\u6609\u678B\u699C\u6EC2\u78C5\u7D21\u80AA\u8180\u822B\u82B3\u84A1\u868C\u8A2A\u8B17\u90A6\u9632\u9F90\u500D\u4FF3\uF963\u57F9\u5F98\u62DC\u6392\u676F\u6E43\u7119\u76C3\u80CC\u80DA\u88F4\u88F5\u8919\u8CE0\u8F29\u914D\u966A\u4F2F\u4F70\u5E1B\u67CF\u6822\u767D\u767E\u9B44\u5E61\u6A0A\u7169\u71D4\u756A\uF964\u7E41\u8543\u85E9\u98DC\u4F10\u7B4F\u7F70\u95A5\u51E1\u5E06\u68B5\u6C3E\u6C4E\u6CDB\u72AF\u7BC4\u8303\u6CD5\u743A\u50FB\u5288\u58C1\u64D8\u6A97\u74A7\u7656"], - ["dca1", "\u78A7\u8617\u95E2\u9739\uF965\u535E\u5F01\u8B8A\u8FA8\u8FAF\u908A\u5225\u77A5\u9C49\u9F08\u4E19\u5002\u5175\u5C5B\u5E77\u661E\u663A\u67C4\u68C5\u70B3\u7501\u75C5\u79C9\u7ADD\u8F27\u9920\u9A08\u4FDD\u5821\u5831\u5BF6\u666E\u6B65\u6D11\u6E7A\u6F7D\u73E4\u752B\u83E9\u88DC\u8913\u8B5C\u8F14\u4F0F\u50D5\u5310\u535C\u5B93\u5FA9\u670D\u798F\u8179\u832F\u8514\u8907\u8986\u8F39\u8F3B\u99A5\u9C12\u672C\u4E76\u4FF8\u5949\u5C01\u5CEF\u5CF0\u6367\u68D2\u70FD\u71A2\u742B\u7E2B\u84EC\u8702\u9022\u92D2\u9CF3\u4E0D\u4ED8\u4FEF\u5085\u5256\u526F\u5426\u5490\u57E0\u592B\u5A66"], - ["dda1", "\u5B5A\u5B75\u5BCC\u5E9C\uF966\u6276\u6577\u65A7\u6D6E\u6EA5\u7236\u7B26\u7C3F\u7F36\u8150\u8151\u819A\u8240\u8299\u83A9\u8A03\u8CA0\u8CE6\u8CFB\u8D74\u8DBA\u90E8\u91DC\u961C\u9644\u99D9\u9CE7\u5317\u5206\u5429\u5674\u58B3\u5954\u596E\u5FFF\u61A4\u626E\u6610\u6C7E\u711A\u76C6\u7C89\u7CDE\u7D1B\u82AC\u8CC1\u96F0\uF967\u4F5B\u5F17\u5F7F\u62C2\u5D29\u670B\u68DA\u787C\u7E43\u9D6C\u4E15\u5099\u5315\u532A\u5351\u5983\u5A62\u5E87\u60B2\u618A\u6249\u6279\u6590\u6787\u69A7\u6BD4\u6BD6\u6BD7\u6BD8\u6CB8\uF968\u7435\u75FA\u7812\u7891\u79D5\u79D8\u7C83\u7DCB\u7FE1\u80A5"], - ["dea1", "\u813E\u81C2\u83F2\u871A\u88E8\u8AB9\u8B6C\u8CBB\u9119\u975E\u98DB\u9F3B\u56AC\u5B2A\u5F6C\u658C\u6AB3\u6BAF\u6D5C\u6FF1\u7015\u725D\u73AD\u8CA7\u8CD3\u983B\u6191\u6C37\u8058\u9A01\u4E4D\u4E8B\u4E9B\u4ED5\u4F3A\u4F3C\u4F7F\u4FDF\u50FF\u53F2\u53F8\u5506\u55E3\u56DB\u58EB\u5962\u5A11\u5BEB\u5BFA\u5C04\u5DF3\u5E2B\u5F99\u601D\u6368\u659C\u65AF\u67F6\u67FB\u68AD\u6B7B\u6C99\u6CD7\u6E23\u7009\u7345\u7802\u793E\u7940\u7960\u79C1\u7BE9\u7D17\u7D72\u8086\u820D\u838E\u84D1\u86C7\u88DF\u8A50\u8A5E\u8B1D\u8CDC\u8D66\u8FAD\u90AA\u98FC\u99DF\u9E9D\u524A\uF969\u6714\uF96A"], - ["dfa1", "\u5098\u522A\u5C71\u6563\u6C55\u73CA\u7523\u759D\u7B97\u849C\u9178\u9730\u4E77\u6492\u6BBA\u715E\u85A9\u4E09\uF96B\u6749\u68EE\u6E17\u829F\u8518\u886B\u63F7\u6F81\u9212\u98AF\u4E0A\u50B7\u50CF\u511F\u5546\u55AA\u5617\u5B40\u5C19\u5CE0\u5E38\u5E8A\u5EA0\u5EC2\u60F3\u6851\u6A61\u6E58\u723D\u7240\u72C0\u76F8\u7965\u7BB1\u7FD4\u88F3\u89F4\u8A73\u8C61\u8CDE\u971C\u585E\u74BD\u8CFD\u55C7\uF96C\u7A61\u7D22\u8272\u7272\u751F\u7525\uF96D\u7B19\u5885\u58FB\u5DBC\u5E8F\u5EB6\u5F90\u6055\u6292\u637F\u654D\u6691\u66D9\u66F8\u6816\u68F2\u7280\u745E\u7B6E\u7D6E\u7DD6\u7F72"], - ["e0a1", "\u80E5\u8212\u85AF\u897F\u8A93\u901D\u92E4\u9ECD\u9F20\u5915\u596D\u5E2D\u60DC\u6614\u6673\u6790\u6C50\u6DC5\u6F5F\u77F3\u78A9\u84C6\u91CB\u932B\u4ED9\u50CA\u5148\u5584\u5B0B\u5BA3\u6247\u657E\u65CB\u6E32\u717D\u7401\u7444\u7487\u74BF\u766C\u79AA\u7DDA\u7E55\u7FA8\u817A\u81B3\u8239\u861A\u87EC\u8A75\u8DE3\u9078\u9291\u9425\u994D\u9BAE\u5368\u5C51\u6954\u6CC4\u6D29\u6E2B\u820C\u859B\u893B\u8A2D\u8AAA\u96EA\u9F67\u5261\u66B9\u6BB2\u7E96\u87FE\u8D0D\u9583\u965D\u651D\u6D89\u71EE\uF96E\u57CE\u59D3\u5BAC\u6027\u60FA\u6210\u661F\u665F\u7329\u73F9\u76DB\u7701\u7B6C"], - ["e1a1", "\u8056\u8072\u8165\u8AA0\u9192\u4E16\u52E2\u6B72\u6D17\u7A05\u7B39\u7D30\uF96F\u8CB0\u53EC\u562F\u5851\u5BB5\u5C0F\u5C11\u5DE2\u6240\u6383\u6414\u662D\u68B3\u6CBC\u6D88\u6EAF\u701F\u70A4\u71D2\u7526\u758F\u758E\u7619\u7B11\u7BE0\u7C2B\u7D20\u7D39\u852C\u856D\u8607\u8A34\u900D\u9061\u90B5\u92B7\u97F6\u9A37\u4FD7\u5C6C\u675F\u6D91\u7C9F\u7E8C\u8B16\u8D16\u901F\u5B6B\u5DFD\u640D\u84C0\u905C\u98E1\u7387\u5B8B\u609A\u677E\u6DDE\u8A1F\u8AA6\u9001\u980C\u5237\uF970\u7051\u788E\u9396\u8870\u91D7\u4FEE\u53D7\u55FD\u56DA\u5782\u58FD\u5AC2\u5B88\u5CAB\u5CC0\u5E25\u6101"], - ["e2a1", "\u620D\u624B\u6388\u641C\u6536\u6578\u6A39\u6B8A\u6C34\u6D19\u6F31\u71E7\u72E9\u7378\u7407\u74B2\u7626\u7761\u79C0\u7A57\u7AEA\u7CB9\u7D8F\u7DAC\u7E61\u7F9E\u8129\u8331\u8490\u84DA\u85EA\u8896\u8AB0\u8B90\u8F38\u9042\u9083\u916C\u9296\u92B9\u968B\u96A7\u96A8\u96D6\u9700\u9808\u9996\u9AD3\u9B1A\u53D4\u587E\u5919\u5B70\u5BBF\u6DD1\u6F5A\u719F\u7421\u74B9\u8085\u83FD\u5DE1\u5F87\u5FAA\u6042\u65EC\u6812\u696F\u6A53\u6B89\u6D35\u6DF3\u73E3\u76FE\u77AC\u7B4D\u7D14\u8123\u821C\u8340\u84F4\u8563\u8A62\u8AC4\u9187\u931E\u9806\u99B4\u620C\u8853\u8FF0\u9265\u5D07\u5D27"], - ["e3a1", "\u5D69\u745F\u819D\u8768\u6FD5\u62FE\u7FD2\u8936\u8972\u4E1E\u4E58\u50E7\u52DD\u5347\u627F\u6607\u7E69\u8805\u965E\u4F8D\u5319\u5636\u59CB\u5AA4\u5C38\u5C4E\u5C4D\u5E02\u5F11\u6043\u65BD\u662F\u6642\u67BE\u67F4\u731C\u77E2\u793A\u7FC5\u8494\u84CD\u8996\u8A66\u8A69\u8AE1\u8C55\u8C7A\u57F4\u5BD4\u5F0F\u606F\u62ED\u690D\u6B96\u6E5C\u7184\u7BD2\u8755\u8B58\u8EFE\u98DF\u98FE\u4F38\u4F81\u4FE1\u547B\u5A20\u5BB8\u613C\u65B0\u6668\u71FC\u7533\u795E\u7D33\u814E\u81E3\u8398\u85AA\u85CE\u8703\u8A0A\u8EAB\u8F9B\uF971\u8FC5\u5931\u5BA4\u5BE6\u6089\u5BE9\u5C0B\u5FC3\u6C81"], - ["e4a1", "\uF972\u6DF1\u700B\u751A\u82AF\u8AF6\u4EC0\u5341\uF973\u96D9\u6C0F\u4E9E\u4FC4\u5152\u555E\u5A25\u5CE8\u6211\u7259\u82BD\u83AA\u86FE\u8859\u8A1D\u963F\u96C5\u9913\u9D09\u9D5D\u580A\u5CB3\u5DBD\u5E44\u60E1\u6115\u63E1\u6A02\u6E25\u9102\u9354\u984E\u9C10\u9F77\u5B89\u5CB8\u6309\u664F\u6848\u773C\u96C1\u978D\u9854\u9B9F\u65A1\u8B01\u8ECB\u95BC\u5535\u5CA9\u5DD6\u5EB5\u6697\u764C\u83F4\u95C7\u58D3\u62BC\u72CE\u9D28\u4EF0\u592E\u600F\u663B\u6B83\u79E7\u9D26\u5393\u54C0\u57C3\u5D16\u611B\u66D6\u6DAF\u788D\u827E\u9698\u9744\u5384\u627C\u6396\u6DB2\u7E0A\u814B\u984D"], - ["e5a1", "\u6AFB\u7F4C\u9DAF\u9E1A\u4E5F\u503B\u51B6\u591C\u60F9\u63F6\u6930\u723A\u8036\uF974\u91CE\u5F31\uF975\uF976\u7D04\u82E5\u846F\u84BB\u85E5\u8E8D\uF977\u4F6F\uF978\uF979\u58E4\u5B43\u6059\u63DA\u6518\u656D\u6698\uF97A\u694A\u6A23\u6D0B\u7001\u716C\u75D2\u760D\u79B3\u7A70\uF97B\u7F8A\uF97C\u8944\uF97D\u8B93\u91C0\u967D\uF97E\u990A\u5704\u5FA1\u65BC\u6F01\u7600\u79A6\u8A9E\u99AD\u9B5A\u9F6C\u5104\u61B6\u6291\u6A8D\u81C6\u5043\u5830\u5F66\u7109\u8A00\u8AFA\u5B7C\u8616\u4FFA\u513C\u56B4\u5944\u63A9\u6DF9\u5DAA\u696D\u5186\u4E88\u4F59\uF97F\uF980\uF981\u5982\uF982"], - ["e6a1", "\uF983\u6B5F\u6C5D\uF984\u74B5\u7916\uF985\u8207\u8245\u8339\u8F3F\u8F5D\uF986\u9918\uF987\uF988\uF989\u4EA6\uF98A\u57DF\u5F79\u6613\uF98B\uF98C\u75AB\u7E79\u8B6F\uF98D\u9006\u9A5B\u56A5\u5827\u59F8\u5A1F\u5BB4\uF98E\u5EF6\uF98F\uF990\u6350\u633B\uF991\u693D\u6C87\u6CBF\u6D8E\u6D93\u6DF5\u6F14\uF992\u70DF\u7136\u7159\uF993\u71C3\u71D5\uF994\u784F\u786F\uF995\u7B75\u7DE3\uF996\u7E2F\uF997\u884D\u8EDF\uF998\uF999\uF99A\u925B\uF99B\u9CF6\uF99C\uF99D\uF99E\u6085\u6D85\uF99F\u71B1\uF9A0\uF9A1\u95B1\u53AD\uF9A2\uF9A3\uF9A4\u67D3\uF9A5\u708E\u7130\u7430\u8276\u82D2"], - ["e7a1", "\uF9A6\u95BB\u9AE5\u9E7D\u66C4\uF9A7\u71C1\u8449\uF9A8\uF9A9\u584B\uF9AA\uF9AB\u5DB8\u5F71\uF9AC\u6620\u668E\u6979\u69AE\u6C38\u6CF3\u6E36\u6F41\u6FDA\u701B\u702F\u7150\u71DF\u7370\uF9AD\u745B\uF9AE\u74D4\u76C8\u7A4E\u7E93\uF9AF\uF9B0\u82F1\u8A60\u8FCE\uF9B1\u9348\uF9B2\u9719\uF9B3\uF9B4\u4E42\u502A\uF9B5\u5208\u53E1\u66F3\u6C6D\u6FCA\u730A\u777F\u7A62\u82AE\u85DD\u8602\uF9B6\u88D4\u8A63\u8B7D\u8C6B\uF9B7\u92B3\uF9B8\u9713\u9810\u4E94\u4F0D\u4FC9\u50B2\u5348\u543E\u5433\u55DA\u5862\u58BA\u5967\u5A1B\u5BE4\u609F\uF9B9\u61CA\u6556\u65FF\u6664\u68A7\u6C5A\u6FB3"], - ["e8a1", "\u70CF\u71AC\u7352\u7B7D\u8708\u8AA4\u9C32\u9F07\u5C4B\u6C83\u7344\u7389\u923A\u6EAB\u7465\u761F\u7A69\u7E15\u860A\u5140\u58C5\u64C1\u74EE\u7515\u7670\u7FC1\u9095\u96CD\u9954\u6E26\u74E6\u7AA9\u7AAA\u81E5\u86D9\u8778\u8A1B\u5A49\u5B8C\u5B9B\u68A1\u6900\u6D63\u73A9\u7413\u742C\u7897\u7DE9\u7FEB\u8118\u8155\u839E\u8C4C\u962E\u9811\u66F0\u5F80\u65FA\u6789\u6C6A\u738B\u502D\u5A03\u6B6A\u77EE\u5916\u5D6C\u5DCD\u7325\u754F\uF9BA\uF9BB\u50E5\u51F9\u582F\u592D\u5996\u59DA\u5BE5\uF9BC\uF9BD\u5DA2\u62D7\u6416\u6493\u64FE\uF9BE\u66DC\uF9BF\u6A48\uF9C0\u71FF\u7464\uF9C1"], - ["e9a1", "\u7A88\u7AAF\u7E47\u7E5E\u8000\u8170\uF9C2\u87EF\u8981\u8B20\u9059\uF9C3\u9080\u9952\u617E\u6B32\u6D74\u7E1F\u8925\u8FB1\u4FD1\u50AD\u5197\u52C7\u57C7\u5889\u5BB9\u5EB8\u6142\u6995\u6D8C\u6E67\u6EB6\u7194\u7462\u7528\u752C\u8073\u8338\u84C9\u8E0A\u9394\u93DE\uF9C4\u4E8E\u4F51\u5076\u512A\u53C8\u53CB\u53F3\u5B87\u5BD3\u5C24\u611A\u6182\u65F4\u725B\u7397\u7440\u76C2\u7950\u7991\u79B9\u7D06\u7FBD\u828B\u85D5\u865E\u8FC2\u9047\u90F5\u91EA\u9685\u96E8\u96E9\u52D6\u5F67\u65ED\u6631\u682F\u715C\u7A36\u90C1\u980A\u4E91\uF9C5\u6A52\u6B9E\u6F90\u7189\u8018\u82B8\u8553"], - ["eaa1", "\u904B\u9695\u96F2\u97FB\u851A\u9B31\u4E90\u718A\u96C4\u5143\u539F\u54E1\u5713\u5712\u57A3\u5A9B\u5AC4\u5BC3\u6028\u613F\u63F4\u6C85\u6D39\u6E72\u6E90\u7230\u733F\u7457\u82D1\u8881\u8F45\u9060\uF9C6\u9662\u9858\u9D1B\u6708\u8D8A\u925E\u4F4D\u5049\u50DE\u5371\u570D\u59D4\u5A01\u5C09\u6170\u6690\u6E2D\u7232\u744B\u7DEF\u80C3\u840E\u8466\u853F\u875F\u885B\u8918\u8B02\u9055\u97CB\u9B4F\u4E73\u4F91\u5112\u516A\uF9C7\u552F\u55A9\u5B7A\u5BA5\u5E7C\u5E7D\u5EBE\u60A0\u60DF\u6108\u6109\u63C4\u6538\u6709\uF9C8\u67D4\u67DA\uF9C9\u6961\u6962\u6CB9\u6D27\uF9CA\u6E38\uF9CB"], - ["eba1", "\u6FE1\u7336\u7337\uF9CC\u745C\u7531\uF9CD\u7652\uF9CE\uF9CF\u7DAD\u81FE\u8438\u88D5\u8A98\u8ADB\u8AED\u8E30\u8E42\u904A\u903E\u907A\u9149\u91C9\u936E\uF9D0\uF9D1\u5809\uF9D2\u6BD3\u8089\u80B2\uF9D3\uF9D4\u5141\u596B\u5C39\uF9D5\uF9D6\u6F64\u73A7\u80E4\u8D07\uF9D7\u9217\u958F\uF9D8\uF9D9\uF9DA\uF9DB\u807F\u620E\u701C\u7D68\u878D\uF9DC\u57A0\u6069\u6147\u6BB7\u8ABE\u9280\u96B1\u4E59\u541F\u6DEB\u852D\u9670\u97F3\u98EE\u63D6\u6CE3\u9091\u51DD\u61C9\u81BA\u9DF9\u4F9D\u501A\u5100\u5B9C\u610F\u61FF\u64EC\u6905\u6BC5\u7591\u77E3\u7FA9\u8264\u858F\u87FB\u8863\u8ABC"], - ["eca1", "\u8B70\u91AB\u4E8C\u4EE5\u4F0A\uF9DD\uF9DE\u5937\u59E8\uF9DF\u5DF2\u5F1B\u5F5B\u6021\uF9E0\uF9E1\uF9E2\uF9E3\u723E\u73E5\uF9E4\u7570\u75CD\uF9E5\u79FB\uF9E6\u800C\u8033\u8084\u82E1\u8351\uF9E7\uF9E8\u8CBD\u8CB3\u9087\uF9E9\uF9EA\u98F4\u990C\uF9EB\uF9EC\u7037\u76CA\u7FCA\u7FCC\u7FFC\u8B1A\u4EBA\u4EC1\u5203\u5370\uF9ED\u54BD\u56E0\u59FB\u5BC5\u5F15\u5FCD\u6E6E\uF9EE\uF9EF\u7D6A\u8335\uF9F0\u8693\u8A8D\uF9F1\u976D\u9777\uF9F2\uF9F3\u4E00\u4F5A\u4F7E\u58F9\u65E5\u6EA2\u9038\u93B0\u99B9\u4EFB\u58EC\u598A\u59D9\u6041\uF9F4\uF9F5\u7A14\uF9F6\u834F\u8CC3\u5165\u5344"], - ["eda1", "\uF9F7\uF9F8\uF9F9\u4ECD\u5269\u5B55\u82BF\u4ED4\u523A\u54A8\u59C9\u59FF\u5B50\u5B57\u5B5C\u6063\u6148\u6ECB\u7099\u716E\u7386\u74F7\u75B5\u78C1\u7D2B\u8005\u81EA\u8328\u8517\u85C9\u8AEE\u8CC7\u96CC\u4F5C\u52FA\u56BC\u65AB\u6628\u707C\u70B8\u7235\u7DBD\u828D\u914C\u96C0\u9D72\u5B71\u68E7\u6B98\u6F7A\u76DE\u5C91\u66AB\u6F5B\u7BB4\u7C2A\u8836\u96DC\u4E08\u4ED7\u5320\u5834\u58BB\u58EF\u596C\u5C07\u5E33\u5E84\u5F35\u638C\u66B2\u6756\u6A1F\u6AA3\u6B0C\u6F3F\u7246\uF9FA\u7350\u748B\u7AE0\u7CA7\u8178\u81DF\u81E7\u838A\u846C\u8523\u8594\u85CF\u88DD\u8D13\u91AC\u9577"], - ["eea1", "\u969C\u518D\u54C9\u5728\u5BB0\u624D\u6750\u683D\u6893\u6E3D\u6ED3\u707D\u7E21\u88C1\u8CA1\u8F09\u9F4B\u9F4E\u722D\u7B8F\u8ACD\u931A\u4F47\u4F4E\u5132\u5480\u59D0\u5E95\u62B5\u6775\u696E\u6A17\u6CAE\u6E1A\u72D9\u732A\u75BD\u7BB8\u7D35\u82E7\u83F9\u8457\u85F7\u8A5B\u8CAF\u8E87\u9019\u90B8\u96CE\u9F5F\u52E3\u540A\u5AE1\u5BC2\u6458\u6575\u6EF4\u72C4\uF9FB\u7684\u7A4D\u7B1B\u7C4D\u7E3E\u7FDF\u837B\u8B2B\u8CCA\u8D64\u8DE1\u8E5F\u8FEA\u8FF9\u9069\u93D1\u4F43\u4F7A\u50B3\u5168\u5178\u524D\u526A\u5861\u587C\u5960\u5C08\u5C55\u5EDB\u609B\u6230\u6813\u6BBF\u6C08\u6FB1"], - ["efa1", "\u714E\u7420\u7530\u7538\u7551\u7672\u7B4C\u7B8B\u7BAD\u7BC6\u7E8F\u8A6E\u8F3E\u8F49\u923F\u9293\u9322\u942B\u96FB\u985A\u986B\u991E\u5207\u622A\u6298\u6D59\u7664\u7ACA\u7BC0\u7D76\u5360\u5CBE\u5E97\u6F38\u70B9\u7C98\u9711\u9B8E\u9EDE\u63A5\u647A\u8776\u4E01\u4E95\u4EAD\u505C\u5075\u5448\u59C3\u5B9A\u5E40\u5EAD\u5EF7\u5F81\u60C5\u633A\u653F\u6574\u65CC\u6676\u6678\u67FE\u6968\u6A89\u6B63\u6C40\u6DC0\u6DE8\u6E1F\u6E5E\u701E\u70A1\u738E\u73FD\u753A\u775B\u7887\u798E\u7A0B\u7A7D\u7CBE\u7D8E\u8247\u8A02\u8AEA\u8C9E\u912D\u914A\u91D8\u9266\u92CC\u9320\u9706\u9756"], - ["f0a1", "\u975C\u9802\u9F0E\u5236\u5291\u557C\u5824\u5E1D\u5F1F\u608C\u63D0\u68AF\u6FDF\u796D\u7B2C\u81CD\u85BA\u88FD\u8AF8\u8E44\u918D\u9664\u969B\u973D\u984C\u9F4A\u4FCE\u5146\u51CB\u52A9\u5632\u5F14\u5F6B\u63AA\u64CD\u65E9\u6641\u66FA\u66F9\u671D\u689D\u68D7\u69FD\u6F15\u6F6E\u7167\u71E5\u722A\u74AA\u773A\u7956\u795A\u79DF\u7A20\u7A95\u7C97\u7CDF\u7D44\u7E70\u8087\u85FB\u86A4\u8A54\u8ABF\u8D99\u8E81\u9020\u906D\u91E3\u963B\u96D5\u9CE5\u65CF\u7C07\u8DB3\u93C3\u5B58\u5C0A\u5352\u62D9\u731D\u5027\u5B97\u5F9E\u60B0\u616B\u68D5\u6DD9\u742E\u7A2E\u7D42\u7D9C\u7E31\u816B"], - ["f1a1", "\u8E2A\u8E35\u937E\u9418\u4F50\u5750\u5DE6\u5EA7\u632B\u7F6A\u4E3B\u4F4F\u4F8F\u505A\u59DD\u80C4\u546A\u5468\u55FE\u594F\u5B99\u5DDE\u5EDA\u665D\u6731\u67F1\u682A\u6CE8\u6D32\u6E4A\u6F8D\u70B7\u73E0\u7587\u7C4C\u7D02\u7D2C\u7DA2\u821F\u86DB\u8A3B\u8A85\u8D70\u8E8A\u8F33\u9031\u914E\u9152\u9444\u99D0\u7AF9\u7CA5\u4FCA\u5101\u51C6\u57C8\u5BEF\u5CFB\u6659\u6A3D\u6D5A\u6E96\u6FEC\u710C\u756F\u7AE3\u8822\u9021\u9075\u96CB\u99FF\u8301\u4E2D\u4EF2\u8846\u91CD\u537D\u6ADB\u696B\u6C41\u847A\u589E\u618E\u66FE\u62EF\u70DD\u7511\u75C7\u7E52\u84B8\u8B49\u8D08\u4E4B\u53EA"], - ["f2a1", "\u54AB\u5730\u5740\u5FD7\u6301\u6307\u646F\u652F\u65E8\u667A\u679D\u67B3\u6B62\u6C60\u6C9A\u6F2C\u77E5\u7825\u7949\u7957\u7D19\u80A2\u8102\u81F3\u829D\u82B7\u8718\u8A8C\uF9FC\u8D04\u8DBE\u9072\u76F4\u7A19\u7A37\u7E54\u8077\u5507\u55D4\u5875\u632F\u6422\u6649\u664B\u686D\u699B\u6B84\u6D25\u6EB1\u73CD\u7468\u74A1\u755B\u75B9\u76E1\u771E\u778B\u79E6\u7E09\u7E1D\u81FB\u852F\u8897\u8A3A\u8CD1\u8EEB\u8FB0\u9032\u93AD\u9663\u9673\u9707\u4F84\u53F1\u59EA\u5AC9\u5E19\u684E\u74C6\u75BE\u79E9\u7A92\u81A3\u86ED\u8CEA\u8DCC\u8FED\u659F\u6715\uF9FD\u57F7\u6F57\u7DDD\u8F2F"], - ["f3a1", "\u93F6\u96C6\u5FB5\u61F2\u6F84\u4E14\u4F98\u501F\u53C9\u55DF\u5D6F\u5DEE\u6B21\u6B64\u78CB\u7B9A\uF9FE\u8E49\u8ECA\u906E\u6349\u643E\u7740\u7A84\u932F\u947F\u9F6A\u64B0\u6FAF\u71E6\u74A8\u74DA\u7AC4\u7C12\u7E82\u7CB2\u7E98\u8B9A\u8D0A\u947D\u9910\u994C\u5239\u5BDF\u64E6\u672D\u7D2E\u50ED\u53C3\u5879\u6158\u6159\u61FA\u65AC\u7AD9\u8B92\u8B96\u5009\u5021\u5275\u5531\u5A3C\u5EE0\u5F70\u6134\u655E\u660C\u6636\u66A2\u69CD\u6EC4\u6F32\u7316\u7621\u7A93\u8139\u8259\u83D6\u84BC\u50B5\u57F0\u5BC0\u5BE8\u5F69\u63A1\u7826\u7DB5\u83DC\u8521\u91C7\u91F5\u518A\u67F5\u7B56"], - ["f4a1", "\u8CAC\u51C4\u59BB\u60BD\u8655\u501C\uF9FF\u5254\u5C3A\u617D\u621A\u62D3\u64F2\u65A5\u6ECC\u7620\u810A\u8E60\u965F\u96BB\u4EDF\u5343\u5598\u5929\u5DDD\u64C5\u6CC9\u6DFA\u7394\u7A7F\u821B\u85A6\u8CE4\u8E10\u9077\u91E7\u95E1\u9621\u97C6\u51F8\u54F2\u5586\u5FB9\u64A4\u6F88\u7DB4\u8F1F\u8F4D\u9435\u50C9\u5C16\u6CBE\u6DFB\u751B\u77BB\u7C3D\u7C64\u8A79\u8AC2\u581E\u59BE\u5E16\u6377\u7252\u758A\u776B\u8ADC\u8CBC\u8F12\u5EF3\u6674\u6DF8\u807D\u83C1\u8ACB\u9751\u9BD6\uFA00\u5243\u66FF\u6D95\u6EEF\u7DE0\u8AE6\u902E\u905E\u9AD4\u521D\u527F\u54E8\u6194\u6284\u62DB\u68A2"], - ["f5a1", "\u6912\u695A\u6A35\u7092\u7126\u785D\u7901\u790E\u79D2\u7A0D\u8096\u8278\u82D5\u8349\u8549\u8C82\u8D85\u9162\u918B\u91AE\u4FC3\u56D1\u71ED\u77D7\u8700\u89F8\u5BF8\u5FD6\u6751\u90A8\u53E2\u585A\u5BF5\u60A4\u6181\u6460\u7E3D\u8070\u8525\u9283\u64AE\u50AC\u5D14\u6700\u589C\u62BD\u63A8\u690E\u6978\u6A1E\u6E6B\u76BA\u79CB\u82BB\u8429\u8ACF\u8DA8\u8FFD\u9112\u914B\u919C\u9310\u9318\u939A\u96DB\u9A36\u9C0D\u4E11\u755C\u795D\u7AFA\u7B51\u7BC9\u7E2E\u84C4\u8E59\u8E74\u8EF8\u9010\u6625\u693F\u7443\u51FA\u672E\u9EDC\u5145\u5FE0\u6C96\u87F2\u885D\u8877\u60B4\u81B5\u8403"], - ["f6a1", "\u8D05\u53D6\u5439\u5634\u5A36\u5C31\u708A\u7FE0\u805A\u8106\u81ED\u8DA3\u9189\u9A5F\u9DF2\u5074\u4EC4\u53A0\u60FB\u6E2C\u5C64\u4F88\u5024\u55E4\u5CD9\u5E5F\u6065\u6894\u6CBB\u6DC4\u71BE\u75D4\u75F4\u7661\u7A1A\u7A49\u7DC7\u7DFB\u7F6E\u81F4\u86A9\u8F1C\u96C9\u99B3\u9F52\u5247\u52C5\u98ED\u89AA\u4E03\u67D2\u6F06\u4FB5\u5BE2\u6795\u6C88\u6D78\u741B\u7827\u91DD\u937C\u87C4\u79E4\u7A31\u5FEB\u4ED6\u54A4\u553E\u58AE\u59A5\u60F0\u6253\u62D6\u6736\u6955\u8235\u9640\u99B1\u99DD\u502C\u5353\u5544\u577C\uFA01\u6258\uFA02\u64E2\u666B\u67DD\u6FC1\u6FEF\u7422\u7438\u8A17"], - ["f7a1", "\u9438\u5451\u5606\u5766\u5F48\u619A\u6B4E\u7058\u70AD\u7DBB\u8A95\u596A\u812B\u63A2\u7708\u803D\u8CAA\u5854\u642D\u69BB\u5B95\u5E11\u6E6F\uFA03\u8569\u514C\u53F0\u592A\u6020\u614B\u6B86\u6C70\u6CF0\u7B1E\u80CE\u82D4\u8DC6\u90B0\u98B1\uFA04\u64C7\u6FA4\u6491\u6504\u514E\u5410\u571F\u8A0E\u615F\u6876\uFA05\u75DB\u7B52\u7D71\u901A\u5806\u69CC\u817F\u892A\u9000\u9839\u5078\u5957\u59AC\u6295\u900F\u9B2A\u615D\u7279\u95D6\u5761\u5A46\u5DF4\u628A\u64AD\u64FA\u6777\u6CE2\u6D3E\u722C\u7436\u7834\u7F77\u82AD\u8DDB\u9817\u5224\u5742\u677F\u7248\u74E3\u8CA9\u8FA6\u9211"], - ["f8a1", "\u962A\u516B\u53ED\u634C\u4F69\u5504\u6096\u6557\u6C9B\u6D7F\u724C\u72FD\u7A17\u8987\u8C9D\u5F6D\u6F8E\u70F9\u81A8\u610E\u4FBF\u504F\u6241\u7247\u7BC7\u7DE8\u7FE9\u904D\u97AD\u9A19\u8CB6\u576A\u5E73\u67B0\u840D\u8A55\u5420\u5B16\u5E63\u5EE2\u5F0A\u6583\u80BA\u853D\u9589\u965B\u4F48\u5305\u530D\u530F\u5486\u54FA\u5703\u5E03\u6016\u629B\u62B1\u6355\uFA06\u6CE1\u6D66\u75B1\u7832\u80DE\u812F\u82DE\u8461\u84B2\u888D\u8912\u900B\u92EA\u98FD\u9B91\u5E45\u66B4\u66DD\u7011\u7206\uFA07\u4FF5\u527D\u5F6A\u6153\u6753\u6A19\u6F02\u74E2\u7968\u8868\u8C79\u98C7\u98C4\u9A43"], - ["f9a1", "\u54C1\u7A1F\u6953\u8AF7\u8C4A\u98A8\u99AE\u5F7C\u62AB\u75B2\u76AE\u88AB\u907F\u9642\u5339\u5F3C\u5FC5\u6CCC\u73CC\u7562\u758B\u7B46\u82FE\u999D\u4E4F\u903C\u4E0B\u4F55\u53A6\u590F\u5EC8\u6630\u6CB3\u7455\u8377\u8766\u8CC0\u9050\u971E\u9C15\u58D1\u5B78\u8650\u8B14\u9DB4\u5BD2\u6068\u608D\u65F1\u6C57\u6F22\u6FA3\u701A\u7F55\u7FF0\u9591\u9592\u9650\u97D3\u5272\u8F44\u51FD\u542B\u54B8\u5563\u558A\u6ABB\u6DB5\u7DD8\u8266\u929C\u9677\u9E79\u5408\u54C8\u76D2\u86E4\u95A4\u95D4\u965C\u4EA2\u4F09\u59EE\u5AE6\u5DF7\u6052\u6297\u676D\u6841\u6C86\u6E2F\u7F38\u809B\u822A"], - ["faa1", "\uFA08\uFA09\u9805\u4EA5\u5055\u54B3\u5793\u595A\u5B69\u5BB3\u61C8\u6977\u6D77\u7023\u87F9\u89E3\u8A72\u8AE7\u9082\u99ED\u9AB8\u52BE\u6838\u5016\u5E78\u674F\u8347\u884C\u4EAB\u5411\u56AE\u73E6\u9115\u97FF\u9909\u9957\u9999\u5653\u589F\u865B\u8A31\u61B2\u6AF6\u737B\u8ED2\u6B47\u96AA\u9A57\u5955\u7200\u8D6B\u9769\u4FD4\u5CF4\u5F26\u61F8\u665B\u6CEB\u70AB\u7384\u73B9\u73FE\u7729\u774D\u7D43\u7D62\u7E23\u8237\u8852\uFA0A\u8CE2\u9249\u986F\u5B51\u7A74\u8840\u9801\u5ACC\u4FE0\u5354\u593E\u5CFD\u633E\u6D79\u72F9\u8105\u8107\u83A2\u92CF\u9830\u4EA8\u5144\u5211\u578B"], - ["fba1", "\u5F62\u6CC2\u6ECE\u7005\u7050\u70AF\u7192\u73E9\u7469\u834A\u87A2\u8861\u9008\u90A2\u93A3\u99A8\u516E\u5F57\u60E0\u6167\u66B3\u8559\u8E4A\u91AF\u978B\u4E4E\u4E92\u547C\u58D5\u58FA\u597D\u5CB5\u5F27\u6236\u6248\u660A\u6667\u6BEB\u6D69\u6DCF\u6E56\u6EF8\u6F94\u6FE0\u6FE9\u705D\u72D0\u7425\u745A\u74E0\u7693\u795C\u7CCA\u7E1E\u80E1\u82A6\u846B\u84BF\u864E\u865F\u8774\u8B77\u8C6A\u93AC\u9800\u9865\u60D1\u6216\u9177\u5A5A\u660F\u6DF7\u6E3E\u743F\u9B42\u5FFD\u60DA\u7B0F\u54C4\u5F18\u6C5E\u6CD3\u6D2A\u70D8\u7D05\u8679\u8A0C\u9D3B\u5316\u548C\u5B05\u6A3A\u706B\u7575"], - ["fca1", "\u798D\u79BE\u82B1\u83EF\u8A71\u8B41\u8CA8\u9774\uFA0B\u64F4\u652B\u78BA\u78BB\u7A6B\u4E38\u559A\u5950\u5BA6\u5E7B\u60A3\u63DB\u6B61\u6665\u6853\u6E19\u7165\u74B0\u7D08\u9084\u9A69\u9C25\u6D3B\u6ED1\u733E\u8C41\u95CA\u51F0\u5E4C\u5FA8\u604D\u60F6\u6130\u614C\u6643\u6644\u69A5\u6CC1\u6E5F\u6EC9\u6F62\u714C\u749C\u7687\u7BC1\u7C27\u8352\u8757\u9051\u968D\u9EC3\u532F\u56DE\u5EFB\u5F8A\u6062\u6094\u61F7\u6666\u6703\u6A9C\u6DEE\u6FAE\u7070\u736A\u7E6A\u81BE\u8334\u86D4\u8AA8\u8CC4\u5283\u7372\u5B96\u6A6B\u9404\u54EE\u5686\u5B5D\u6548\u6585\u66C9\u689F\u6D8D\u6DC6"], - ["fda1", "\u723B\u80B4\u9175\u9A4D\u4FAF\u5019\u539A\u540E\u543C\u5589\u55C5\u5E3F\u5F8C\u673D\u7166\u73DD\u9005\u52DB\u52F3\u5864\u58CE\u7104\u718F\u71FB\u85B0\u8A13\u6688\u85A8\u55A7\u6684\u714A\u8431\u5349\u5599\u6BC1\u5F59\u5FBD\u63EE\u6689\u7147\u8AF1\u8F1D\u9EBE\u4F11\u643A\u70CB\u7566\u8667\u6064\u8B4E\u9DF8\u5147\u51F6\u5308\u6D36\u80F8\u9ED1\u6615\u6B23\u7098\u75D5\u5403\u5C79\u7D07\u8A16\u6B20\u6B3D\u6B46\u5438\u6070\u6D3D\u7FD5\u8208\u50D6\u51DE\u559C\u566B\u56CD\u59EC\u5B09\u5E0C\u6199\u6198\u6231\u665E\u66E6\u7199\u71B9\u71BA\u72A7\u79A7\u7A00\u7FB2\u8A70"] - ]; - } -}); - -// node_modules/iconv-lite/encodings/tables/cp950.json -var require_cp950 = __commonJS({ - "node_modules/iconv-lite/encodings/tables/cp950.json"(exports2, module2) { - module2.exports = [ - ["0", "\0", 127], - ["a140", "\u3000\uFF0C\u3001\u3002\uFF0E\u2027\uFF1B\uFF1A\uFF1F\uFF01\uFE30\u2026\u2025\uFE50\uFE51\uFE52\xB7\uFE54\uFE55\uFE56\uFE57\uFF5C\u2013\uFE31\u2014\uFE33\u2574\uFE34\uFE4F\uFF08\uFF09\uFE35\uFE36\uFF5B\uFF5D\uFE37\uFE38\u3014\u3015\uFE39\uFE3A\u3010\u3011\uFE3B\uFE3C\u300A\u300B\uFE3D\uFE3E\u3008\u3009\uFE3F\uFE40\u300C\u300D\uFE41\uFE42\u300E\u300F\uFE43\uFE44\uFE59\uFE5A"], - ["a1a1", "\uFE5B\uFE5C\uFE5D\uFE5E\u2018\u2019\u201C\u201D\u301D\u301E\u2035\u2032\uFF03\uFF06\uFF0A\u203B\xA7\u3003\u25CB\u25CF\u25B3\u25B2\u25CE\u2606\u2605\u25C7\u25C6\u25A1\u25A0\u25BD\u25BC\u32A3\u2105\xAF\uFFE3\uFF3F\u02CD\uFE49\uFE4A\uFE4D\uFE4E\uFE4B\uFE4C\uFE5F\uFE60\uFE61\uFF0B\uFF0D\xD7\xF7\xB1\u221A\uFF1C\uFF1E\uFF1D\u2266\u2267\u2260\u221E\u2252\u2261\uFE62", 4, "\uFF5E\u2229\u222A\u22A5\u2220\u221F\u22BF\u33D2\u33D1\u222B\u222E\u2235\u2234\u2640\u2642\u2295\u2299\u2191\u2193\u2190\u2192\u2196\u2197\u2199\u2198\u2225\u2223\uFF0F"], - ["a240", "\uFF3C\u2215\uFE68\uFF04\uFFE5\u3012\uFFE0\uFFE1\uFF05\uFF20\u2103\u2109\uFE69\uFE6A\uFE6B\u33D5\u339C\u339D\u339E\u33CE\u33A1\u338E\u338F\u33C4\xB0\u5159\u515B\u515E\u515D\u5161\u5163\u55E7\u74E9\u7CCE\u2581", 7, "\u258F\u258E\u258D\u258C\u258B\u258A\u2589\u253C\u2534\u252C\u2524\u251C\u2594\u2500\u2502\u2595\u250C\u2510\u2514\u2518\u256D"], - ["a2a1", "\u256E\u2570\u256F\u2550\u255E\u256A\u2561\u25E2\u25E3\u25E5\u25E4\u2571\u2572\u2573\uFF10", 9, "\u2160", 9, "\u3021", 8, "\u5341\u5344\u5345\uFF21", 25, "\uFF41", 21], - ["a340", "\uFF57\uFF58\uFF59\uFF5A\u0391", 16, "\u03A3", 6, "\u03B1", 16, "\u03C3", 6, "\u3105", 10], - ["a3a1", "\u3110", 25, "\u02D9\u02C9\u02CA\u02C7\u02CB"], - ["a3e1", "\u20AC"], - ["a440", "\u4E00\u4E59\u4E01\u4E03\u4E43\u4E5D\u4E86\u4E8C\u4EBA\u513F\u5165\u516B\u51E0\u5200\u5201\u529B\u5315\u5341\u535C\u53C8\u4E09\u4E0B\u4E08\u4E0A\u4E2B\u4E38\u51E1\u4E45\u4E48\u4E5F\u4E5E\u4E8E\u4EA1\u5140\u5203\u52FA\u5343\u53C9\u53E3\u571F\u58EB\u5915\u5927\u5973\u5B50\u5B51\u5B53\u5BF8\u5C0F\u5C22\u5C38\u5C71\u5DDD\u5DE5\u5DF1\u5DF2\u5DF3\u5DFE\u5E72\u5EFE\u5F0B\u5F13\u624D"], - ["a4a1", "\u4E11\u4E10\u4E0D\u4E2D\u4E30\u4E39\u4E4B\u5C39\u4E88\u4E91\u4E95\u4E92\u4E94\u4EA2\u4EC1\u4EC0\u4EC3\u4EC6\u4EC7\u4ECD\u4ECA\u4ECB\u4EC4\u5143\u5141\u5167\u516D\u516E\u516C\u5197\u51F6\u5206\u5207\u5208\u52FB\u52FE\u52FF\u5316\u5339\u5348\u5347\u5345\u535E\u5384\u53CB\u53CA\u53CD\u58EC\u5929\u592B\u592A\u592D\u5B54\u5C11\u5C24\u5C3A\u5C6F\u5DF4\u5E7B\u5EFF\u5F14\u5F15\u5FC3\u6208\u6236\u624B\u624E\u652F\u6587\u6597\u65A4\u65B9\u65E5\u66F0\u6708\u6728\u6B20\u6B62\u6B79\u6BCB\u6BD4\u6BDB\u6C0F\u6C34\u706B\u722A\u7236\u723B\u7247\u7259\u725B\u72AC\u738B\u4E19"], - ["a540", "\u4E16\u4E15\u4E14\u4E18\u4E3B\u4E4D\u4E4F\u4E4E\u4EE5\u4ED8\u4ED4\u4ED5\u4ED6\u4ED7\u4EE3\u4EE4\u4ED9\u4EDE\u5145\u5144\u5189\u518A\u51AC\u51F9\u51FA\u51F8\u520A\u52A0\u529F\u5305\u5306\u5317\u531D\u4EDF\u534A\u5349\u5361\u5360\u536F\u536E\u53BB\u53EF\u53E4\u53F3\u53EC\u53EE\u53E9\u53E8\u53FC\u53F8\u53F5\u53EB\u53E6\u53EA\u53F2\u53F1\u53F0\u53E5\u53ED\u53FB\u56DB\u56DA\u5916"], - ["a5a1", "\u592E\u5931\u5974\u5976\u5B55\u5B83\u5C3C\u5DE8\u5DE7\u5DE6\u5E02\u5E03\u5E73\u5E7C\u5F01\u5F18\u5F17\u5FC5\u620A\u6253\u6254\u6252\u6251\u65A5\u65E6\u672E\u672C\u672A\u672B\u672D\u6B63\u6BCD\u6C11\u6C10\u6C38\u6C41\u6C40\u6C3E\u72AF\u7384\u7389\u74DC\u74E6\u7518\u751F\u7528\u7529\u7530\u7531\u7532\u7533\u758B\u767D\u76AE\u76BF\u76EE\u77DB\u77E2\u77F3\u793A\u79BE\u7A74\u7ACB\u4E1E\u4E1F\u4E52\u4E53\u4E69\u4E99\u4EA4\u4EA6\u4EA5\u4EFF\u4F09\u4F19\u4F0A\u4F15\u4F0D\u4F10\u4F11\u4F0F\u4EF2\u4EF6\u4EFB\u4EF0\u4EF3\u4EFD\u4F01\u4F0B\u5149\u5147\u5146\u5148\u5168"], - ["a640", "\u5171\u518D\u51B0\u5217\u5211\u5212\u520E\u5216\u52A3\u5308\u5321\u5320\u5370\u5371\u5409\u540F\u540C\u540A\u5410\u5401\u540B\u5404\u5411\u540D\u5408\u5403\u540E\u5406\u5412\u56E0\u56DE\u56DD\u5733\u5730\u5728\u572D\u572C\u572F\u5729\u5919\u591A\u5937\u5938\u5984\u5978\u5983\u597D\u5979\u5982\u5981\u5B57\u5B58\u5B87\u5B88\u5B85\u5B89\u5BFA\u5C16\u5C79\u5DDE\u5E06\u5E76\u5E74"], - ["a6a1", "\u5F0F\u5F1B\u5FD9\u5FD6\u620E\u620C\u620D\u6210\u6263\u625B\u6258\u6536\u65E9\u65E8\u65EC\u65ED\u66F2\u66F3\u6709\u673D\u6734\u6731\u6735\u6B21\u6B64\u6B7B\u6C16\u6C5D\u6C57\u6C59\u6C5F\u6C60\u6C50\u6C55\u6C61\u6C5B\u6C4D\u6C4E\u7070\u725F\u725D\u767E\u7AF9\u7C73\u7CF8\u7F36\u7F8A\u7FBD\u8001\u8003\u800C\u8012\u8033\u807F\u8089\u808B\u808C\u81E3\u81EA\u81F3\u81FC\u820C\u821B\u821F\u826E\u8272\u827E\u866B\u8840\u884C\u8863\u897F\u9621\u4E32\u4EA8\u4F4D\u4F4F\u4F47\u4F57\u4F5E\u4F34\u4F5B\u4F55\u4F30\u4F50\u4F51\u4F3D\u4F3A\u4F38\u4F43\u4F54\u4F3C\u4F46\u4F63"], - ["a740", "\u4F5C\u4F60\u4F2F\u4F4E\u4F36\u4F59\u4F5D\u4F48\u4F5A\u514C\u514B\u514D\u5175\u51B6\u51B7\u5225\u5224\u5229\u522A\u5228\u52AB\u52A9\u52AA\u52AC\u5323\u5373\u5375\u541D\u542D\u541E\u543E\u5426\u544E\u5427\u5446\u5443\u5433\u5448\u5442\u541B\u5429\u544A\u5439\u543B\u5438\u542E\u5435\u5436\u5420\u543C\u5440\u5431\u542B\u541F\u542C\u56EA\u56F0\u56E4\u56EB\u574A\u5751\u5740\u574D"], - ["a7a1", "\u5747\u574E\u573E\u5750\u574F\u573B\u58EF\u593E\u599D\u5992\u59A8\u599E\u59A3\u5999\u5996\u598D\u59A4\u5993\u598A\u59A5\u5B5D\u5B5C\u5B5A\u5B5B\u5B8C\u5B8B\u5B8F\u5C2C\u5C40\u5C41\u5C3F\u5C3E\u5C90\u5C91\u5C94\u5C8C\u5DEB\u5E0C\u5E8F\u5E87\u5E8A\u5EF7\u5F04\u5F1F\u5F64\u5F62\u5F77\u5F79\u5FD8\u5FCC\u5FD7\u5FCD\u5FF1\u5FEB\u5FF8\u5FEA\u6212\u6211\u6284\u6297\u6296\u6280\u6276\u6289\u626D\u628A\u627C\u627E\u6279\u6273\u6292\u626F\u6298\u626E\u6295\u6293\u6291\u6286\u6539\u653B\u6538\u65F1\u66F4\u675F\u674E\u674F\u6750\u6751\u675C\u6756\u675E\u6749\u6746\u6760"], - ["a840", "\u6753\u6757\u6B65\u6BCF\u6C42\u6C5E\u6C99\u6C81\u6C88\u6C89\u6C85\u6C9B\u6C6A\u6C7A\u6C90\u6C70\u6C8C\u6C68\u6C96\u6C92\u6C7D\u6C83\u6C72\u6C7E\u6C74\u6C86\u6C76\u6C8D\u6C94\u6C98\u6C82\u7076\u707C\u707D\u7078\u7262\u7261\u7260\u72C4\u72C2\u7396\u752C\u752B\u7537\u7538\u7682\u76EF\u77E3\u79C1\u79C0\u79BF\u7A76\u7CFB\u7F55\u8096\u8093\u809D\u8098\u809B\u809A\u80B2\u826F\u8292"], - ["a8a1", "\u828B\u828D\u898B\u89D2\u8A00\u8C37\u8C46\u8C55\u8C9D\u8D64\u8D70\u8DB3\u8EAB\u8ECA\u8F9B\u8FB0\u8FC2\u8FC6\u8FC5\u8FC4\u5DE1\u9091\u90A2\u90AA\u90A6\u90A3\u9149\u91C6\u91CC\u9632\u962E\u9631\u962A\u962C\u4E26\u4E56\u4E73\u4E8B\u4E9B\u4E9E\u4EAB\u4EAC\u4F6F\u4F9D\u4F8D\u4F73\u4F7F\u4F6C\u4F9B\u4F8B\u4F86\u4F83\u4F70\u4F75\u4F88\u4F69\u4F7B\u4F96\u4F7E\u4F8F\u4F91\u4F7A\u5154\u5152\u5155\u5169\u5177\u5176\u5178\u51BD\u51FD\u523B\u5238\u5237\u523A\u5230\u522E\u5236\u5241\u52BE\u52BB\u5352\u5354\u5353\u5351\u5366\u5377\u5378\u5379\u53D6\u53D4\u53D7\u5473\u5475"], - ["a940", "\u5496\u5478\u5495\u5480\u547B\u5477\u5484\u5492\u5486\u547C\u5490\u5471\u5476\u548C\u549A\u5462\u5468\u548B\u547D\u548E\u56FA\u5783\u5777\u576A\u5769\u5761\u5766\u5764\u577C\u591C\u5949\u5947\u5948\u5944\u5954\u59BE\u59BB\u59D4\u59B9\u59AE\u59D1\u59C6\u59D0\u59CD\u59CB\u59D3\u59CA\u59AF\u59B3\u59D2\u59C5\u5B5F\u5B64\u5B63\u5B97\u5B9A\u5B98\u5B9C\u5B99\u5B9B\u5C1A\u5C48\u5C45"], - ["a9a1", "\u5C46\u5CB7\u5CA1\u5CB8\u5CA9\u5CAB\u5CB1\u5CB3\u5E18\u5E1A\u5E16\u5E15\u5E1B\u5E11\u5E78\u5E9A\u5E97\u5E9C\u5E95\u5E96\u5EF6\u5F26\u5F27\u5F29\u5F80\u5F81\u5F7F\u5F7C\u5FDD\u5FE0\u5FFD\u5FF5\u5FFF\u600F\u6014\u602F\u6035\u6016\u602A\u6015\u6021\u6027\u6029\u602B\u601B\u6216\u6215\u623F\u623E\u6240\u627F\u62C9\u62CC\u62C4\u62BF\u62C2\u62B9\u62D2\u62DB\u62AB\u62D3\u62D4\u62CB\u62C8\u62A8\u62BD\u62BC\u62D0\u62D9\u62C7\u62CD\u62B5\u62DA\u62B1\u62D8\u62D6\u62D7\u62C6\u62AC\u62CE\u653E\u65A7\u65BC\u65FA\u6614\u6613\u660C\u6606\u6602\u660E\u6600\u660F\u6615\u660A"], - ["aa40", "\u6607\u670D\u670B\u676D\u678B\u6795\u6771\u679C\u6773\u6777\u6787\u679D\u6797\u676F\u6770\u677F\u6789\u677E\u6790\u6775\u679A\u6793\u677C\u676A\u6772\u6B23\u6B66\u6B67\u6B7F\u6C13\u6C1B\u6CE3\u6CE8\u6CF3\u6CB1\u6CCC\u6CE5\u6CB3\u6CBD\u6CBE\u6CBC\u6CE2\u6CAB\u6CD5\u6CD3\u6CB8\u6CC4\u6CB9\u6CC1\u6CAE\u6CD7\u6CC5\u6CF1\u6CBF\u6CBB\u6CE1\u6CDB\u6CCA\u6CAC\u6CEF\u6CDC\u6CD6\u6CE0"], - ["aaa1", "\u7095\u708E\u7092\u708A\u7099\u722C\u722D\u7238\u7248\u7267\u7269\u72C0\u72CE\u72D9\u72D7\u72D0\u73A9\u73A8\u739F\u73AB\u73A5\u753D\u759D\u7599\u759A\u7684\u76C2\u76F2\u76F4\u77E5\u77FD\u793E\u7940\u7941\u79C9\u79C8\u7A7A\u7A79\u7AFA\u7CFE\u7F54\u7F8C\u7F8B\u8005\u80BA\u80A5\u80A2\u80B1\u80A1\u80AB\u80A9\u80B4\u80AA\u80AF\u81E5\u81FE\u820D\u82B3\u829D\u8299\u82AD\u82BD\u829F\u82B9\u82B1\u82AC\u82A5\u82AF\u82B8\u82A3\u82B0\u82BE\u82B7\u864E\u8671\u521D\u8868\u8ECB\u8FCE\u8FD4\u8FD1\u90B5\u90B8\u90B1\u90B6\u91C7\u91D1\u9577\u9580\u961C\u9640\u963F\u963B\u9644"], - ["ab40", "\u9642\u96B9\u96E8\u9752\u975E\u4E9F\u4EAD\u4EAE\u4FE1\u4FB5\u4FAF\u4FBF\u4FE0\u4FD1\u4FCF\u4FDD\u4FC3\u4FB6\u4FD8\u4FDF\u4FCA\u4FD7\u4FAE\u4FD0\u4FC4\u4FC2\u4FDA\u4FCE\u4FDE\u4FB7\u5157\u5192\u5191\u51A0\u524E\u5243\u524A\u524D\u524C\u524B\u5247\u52C7\u52C9\u52C3\u52C1\u530D\u5357\u537B\u539A\u53DB\u54AC\u54C0\u54A8\u54CE\u54C9\u54B8\u54A6\u54B3\u54C7\u54C2\u54BD\u54AA\u54C1"], - ["aba1", "\u54C4\u54C8\u54AF\u54AB\u54B1\u54BB\u54A9\u54A7\u54BF\u56FF\u5782\u578B\u57A0\u57A3\u57A2\u57CE\u57AE\u5793\u5955\u5951\u594F\u594E\u5950\u59DC\u59D8\u59FF\u59E3\u59E8\u5A03\u59E5\u59EA\u59DA\u59E6\u5A01\u59FB\u5B69\u5BA3\u5BA6\u5BA4\u5BA2\u5BA5\u5C01\u5C4E\u5C4F\u5C4D\u5C4B\u5CD9\u5CD2\u5DF7\u5E1D\u5E25\u5E1F\u5E7D\u5EA0\u5EA6\u5EFA\u5F08\u5F2D\u5F65\u5F88\u5F85\u5F8A\u5F8B\u5F87\u5F8C\u5F89\u6012\u601D\u6020\u6025\u600E\u6028\u604D\u6070\u6068\u6062\u6046\u6043\u606C\u606B\u606A\u6064\u6241\u62DC\u6316\u6309\u62FC\u62ED\u6301\u62EE\u62FD\u6307\u62F1\u62F7"], - ["ac40", "\u62EF\u62EC\u62FE\u62F4\u6311\u6302\u653F\u6545\u65AB\u65BD\u65E2\u6625\u662D\u6620\u6627\u662F\u661F\u6628\u6631\u6624\u66F7\u67FF\u67D3\u67F1\u67D4\u67D0\u67EC\u67B6\u67AF\u67F5\u67E9\u67EF\u67C4\u67D1\u67B4\u67DA\u67E5\u67B8\u67CF\u67DE\u67F3\u67B0\u67D9\u67E2\u67DD\u67D2\u6B6A\u6B83\u6B86\u6BB5\u6BD2\u6BD7\u6C1F\u6CC9\u6D0B\u6D32\u6D2A\u6D41\u6D25\u6D0C\u6D31\u6D1E\u6D17"], - ["aca1", "\u6D3B\u6D3D\u6D3E\u6D36\u6D1B\u6CF5\u6D39\u6D27\u6D38\u6D29\u6D2E\u6D35\u6D0E\u6D2B\u70AB\u70BA\u70B3\u70AC\u70AF\u70AD\u70B8\u70AE\u70A4\u7230\u7272\u726F\u7274\u72E9\u72E0\u72E1\u73B7\u73CA\u73BB\u73B2\u73CD\u73C0\u73B3\u751A\u752D\u754F\u754C\u754E\u754B\u75AB\u75A4\u75A5\u75A2\u75A3\u7678\u7686\u7687\u7688\u76C8\u76C6\u76C3\u76C5\u7701\u76F9\u76F8\u7709\u770B\u76FE\u76FC\u7707\u77DC\u7802\u7814\u780C\u780D\u7946\u7949\u7948\u7947\u79B9\u79BA\u79D1\u79D2\u79CB\u7A7F\u7A81\u7AFF\u7AFD\u7C7D\u7D02\u7D05\u7D00\u7D09\u7D07\u7D04\u7D06\u7F38\u7F8E\u7FBF\u8004"], - ["ad40", "\u8010\u800D\u8011\u8036\u80D6\u80E5\u80DA\u80C3\u80C4\u80CC\u80E1\u80DB\u80CE\u80DE\u80E4\u80DD\u81F4\u8222\u82E7\u8303\u8305\u82E3\u82DB\u82E6\u8304\u82E5\u8302\u8309\u82D2\u82D7\u82F1\u8301\u82DC\u82D4\u82D1\u82DE\u82D3\u82DF\u82EF\u8306\u8650\u8679\u867B\u867A\u884D\u886B\u8981\u89D4\u8A08\u8A02\u8A03\u8C9E\u8CA0\u8D74\u8D73\u8DB4\u8ECD\u8ECC\u8FF0\u8FE6\u8FE2\u8FEA\u8FE5"], - ["ada1", "\u8FED\u8FEB\u8FE4\u8FE8\u90CA\u90CE\u90C1\u90C3\u914B\u914A\u91CD\u9582\u9650\u964B\u964C\u964D\u9762\u9769\u97CB\u97ED\u97F3\u9801\u98A8\u98DB\u98DF\u9996\u9999\u4E58\u4EB3\u500C\u500D\u5023\u4FEF\u5026\u5025\u4FF8\u5029\u5016\u5006\u503C\u501F\u501A\u5012\u5011\u4FFA\u5000\u5014\u5028\u4FF1\u5021\u500B\u5019\u5018\u4FF3\u4FEE\u502D\u502A\u4FFE\u502B\u5009\u517C\u51A4\u51A5\u51A2\u51CD\u51CC\u51C6\u51CB\u5256\u525C\u5254\u525B\u525D\u532A\u537F\u539F\u539D\u53DF\u54E8\u5510\u5501\u5537\u54FC\u54E5\u54F2\u5506\u54FA\u5514\u54E9\u54ED\u54E1\u5509\u54EE\u54EA"], - ["ae40", "\u54E6\u5527\u5507\u54FD\u550F\u5703\u5704\u57C2\u57D4\u57CB\u57C3\u5809\u590F\u5957\u5958\u595A\u5A11\u5A18\u5A1C\u5A1F\u5A1B\u5A13\u59EC\u5A20\u5A23\u5A29\u5A25\u5A0C\u5A09\u5B6B\u5C58\u5BB0\u5BB3\u5BB6\u5BB4\u5BAE\u5BB5\u5BB9\u5BB8\u5C04\u5C51\u5C55\u5C50\u5CED\u5CFD\u5CFB\u5CEA\u5CE8\u5CF0\u5CF6\u5D01\u5CF4\u5DEE\u5E2D\u5E2B\u5EAB\u5EAD\u5EA7\u5F31\u5F92\u5F91\u5F90\u6059"], - ["aea1", "\u6063\u6065\u6050\u6055\u606D\u6069\u606F\u6084\u609F\u609A\u608D\u6094\u608C\u6085\u6096\u6247\u62F3\u6308\u62FF\u634E\u633E\u632F\u6355\u6342\u6346\u634F\u6349\u633A\u6350\u633D\u632A\u632B\u6328\u634D\u634C\u6548\u6549\u6599\u65C1\u65C5\u6642\u6649\u664F\u6643\u6652\u664C\u6645\u6641\u66F8\u6714\u6715\u6717\u6821\u6838\u6848\u6846\u6853\u6839\u6842\u6854\u6829\u68B3\u6817\u684C\u6851\u683D\u67F4\u6850\u6840\u683C\u6843\u682A\u6845\u6813\u6818\u6841\u6B8A\u6B89\u6BB7\u6C23\u6C27\u6C28\u6C26\u6C24\u6CF0\u6D6A\u6D95\u6D88\u6D87\u6D66\u6D78\u6D77\u6D59\u6D93"], - ["af40", "\u6D6C\u6D89\u6D6E\u6D5A\u6D74\u6D69\u6D8C\u6D8A\u6D79\u6D85\u6D65\u6D94\u70CA\u70D8\u70E4\u70D9\u70C8\u70CF\u7239\u7279\u72FC\u72F9\u72FD\u72F8\u72F7\u7386\u73ED\u7409\u73EE\u73E0\u73EA\u73DE\u7554\u755D\u755C\u755A\u7559\u75BE\u75C5\u75C7\u75B2\u75B3\u75BD\u75BC\u75B9\u75C2\u75B8\u768B\u76B0\u76CA\u76CD\u76CE\u7729\u771F\u7720\u7728\u77E9\u7830\u7827\u7838\u781D\u7834\u7837"], - ["afa1", "\u7825\u782D\u7820\u781F\u7832\u7955\u7950\u7960\u795F\u7956\u795E\u795D\u7957\u795A\u79E4\u79E3\u79E7\u79DF\u79E6\u79E9\u79D8\u7A84\u7A88\u7AD9\u7B06\u7B11\u7C89\u7D21\u7D17\u7D0B\u7D0A\u7D20\u7D22\u7D14\u7D10\u7D15\u7D1A\u7D1C\u7D0D\u7D19\u7D1B\u7F3A\u7F5F\u7F94\u7FC5\u7FC1\u8006\u8018\u8015\u8019\u8017\u803D\u803F\u80F1\u8102\u80F0\u8105\u80ED\u80F4\u8106\u80F8\u80F3\u8108\u80FD\u810A\u80FC\u80EF\u81ED\u81EC\u8200\u8210\u822A\u822B\u8228\u822C\u82BB\u832B\u8352\u8354\u834A\u8338\u8350\u8349\u8335\u8334\u834F\u8332\u8339\u8336\u8317\u8340\u8331\u8328\u8343"], - ["b040", "\u8654\u868A\u86AA\u8693\u86A4\u86A9\u868C\u86A3\u869C\u8870\u8877\u8881\u8882\u887D\u8879\u8A18\u8A10\u8A0E\u8A0C\u8A15\u8A0A\u8A17\u8A13\u8A16\u8A0F\u8A11\u8C48\u8C7A\u8C79\u8CA1\u8CA2\u8D77\u8EAC\u8ED2\u8ED4\u8ECF\u8FB1\u9001\u9006\u8FF7\u9000\u8FFA\u8FF4\u9003\u8FFD\u9005\u8FF8\u9095\u90E1\u90DD\u90E2\u9152\u914D\u914C\u91D8\u91DD\u91D7\u91DC\u91D9\u9583\u9662\u9663\u9661"], - ["b0a1", "\u965B\u965D\u9664\u9658\u965E\u96BB\u98E2\u99AC\u9AA8\u9AD8\u9B25\u9B32\u9B3C\u4E7E\u507A\u507D\u505C\u5047\u5043\u504C\u505A\u5049\u5065\u5076\u504E\u5055\u5075\u5074\u5077\u504F\u500F\u506F\u506D\u515C\u5195\u51F0\u526A\u526F\u52D2\u52D9\u52D8\u52D5\u5310\u530F\u5319\u533F\u5340\u533E\u53C3\u66FC\u5546\u556A\u5566\u5544\u555E\u5561\u5543\u554A\u5531\u5556\u554F\u5555\u552F\u5564\u5538\u552E\u555C\u552C\u5563\u5533\u5541\u5557\u5708\u570B\u5709\u57DF\u5805\u580A\u5806\u57E0\u57E4\u57FA\u5802\u5835\u57F7\u57F9\u5920\u5962\u5A36\u5A41\u5A49\u5A66\u5A6A\u5A40"], - ["b140", "\u5A3C\u5A62\u5A5A\u5A46\u5A4A\u5B70\u5BC7\u5BC5\u5BC4\u5BC2\u5BBF\u5BC6\u5C09\u5C08\u5C07\u5C60\u5C5C\u5C5D\u5D07\u5D06\u5D0E\u5D1B\u5D16\u5D22\u5D11\u5D29\u5D14\u5D19\u5D24\u5D27\u5D17\u5DE2\u5E38\u5E36\u5E33\u5E37\u5EB7\u5EB8\u5EB6\u5EB5\u5EBE\u5F35\u5F37\u5F57\u5F6C\u5F69\u5F6B\u5F97\u5F99\u5F9E\u5F98\u5FA1\u5FA0\u5F9C\u607F\u60A3\u6089\u60A0\u60A8\u60CB\u60B4\u60E6\u60BD"], - ["b1a1", "\u60C5\u60BB\u60B5\u60DC\u60BC\u60D8\u60D5\u60C6\u60DF\u60B8\u60DA\u60C7\u621A\u621B\u6248\u63A0\u63A7\u6372\u6396\u63A2\u63A5\u6377\u6367\u6398\u63AA\u6371\u63A9\u6389\u6383\u639B\u636B\u63A8\u6384\u6388\u6399\u63A1\u63AC\u6392\u638F\u6380\u637B\u6369\u6368\u637A\u655D\u6556\u6551\u6559\u6557\u555F\u654F\u6558\u6555\u6554\u659C\u659B\u65AC\u65CF\u65CB\u65CC\u65CE\u665D\u665A\u6664\u6668\u6666\u665E\u66F9\u52D7\u671B\u6881\u68AF\u68A2\u6893\u68B5\u687F\u6876\u68B1\u68A7\u6897\u68B0\u6883\u68C4\u68AD\u6886\u6885\u6894\u689D\u68A8\u689F\u68A1\u6882\u6B32\u6BBA"], - ["b240", "\u6BEB\u6BEC\u6C2B\u6D8E\u6DBC\u6DF3\u6DD9\u6DB2\u6DE1\u6DCC\u6DE4\u6DFB\u6DFA\u6E05\u6DC7\u6DCB\u6DAF\u6DD1\u6DAE\u6DDE\u6DF9\u6DB8\u6DF7\u6DF5\u6DC5\u6DD2\u6E1A\u6DB5\u6DDA\u6DEB\u6DD8\u6DEA\u6DF1\u6DEE\u6DE8\u6DC6\u6DC4\u6DAA\u6DEC\u6DBF\u6DE6\u70F9\u7109\u710A\u70FD\u70EF\u723D\u727D\u7281\u731C\u731B\u7316\u7313\u7319\u7387\u7405\u740A\u7403\u7406\u73FE\u740D\u74E0\u74F6"], - ["b2a1", "\u74F7\u751C\u7522\u7565\u7566\u7562\u7570\u758F\u75D4\u75D5\u75B5\u75CA\u75CD\u768E\u76D4\u76D2\u76DB\u7737\u773E\u773C\u7736\u7738\u773A\u786B\u7843\u784E\u7965\u7968\u796D\u79FB\u7A92\u7A95\u7B20\u7B28\u7B1B\u7B2C\u7B26\u7B19\u7B1E\u7B2E\u7C92\u7C97\u7C95\u7D46\u7D43\u7D71\u7D2E\u7D39\u7D3C\u7D40\u7D30\u7D33\u7D44\u7D2F\u7D42\u7D32\u7D31\u7F3D\u7F9E\u7F9A\u7FCC\u7FCE\u7FD2\u801C\u804A\u8046\u812F\u8116\u8123\u812B\u8129\u8130\u8124\u8202\u8235\u8237\u8236\u8239\u838E\u839E\u8398\u8378\u83A2\u8396\u83BD\u83AB\u8392\u838A\u8393\u8389\u83A0\u8377\u837B\u837C"], - ["b340", "\u8386\u83A7\u8655\u5F6A\u86C7\u86C0\u86B6\u86C4\u86B5\u86C6\u86CB\u86B1\u86AF\u86C9\u8853\u889E\u8888\u88AB\u8892\u8896\u888D\u888B\u8993\u898F\u8A2A\u8A1D\u8A23\u8A25\u8A31\u8A2D\u8A1F\u8A1B\u8A22\u8C49\u8C5A\u8CA9\u8CAC\u8CAB\u8CA8\u8CAA\u8CA7\u8D67\u8D66\u8DBE\u8DBA\u8EDB\u8EDF\u9019\u900D\u901A\u9017\u9023\u901F\u901D\u9010\u9015\u901E\u9020\u900F\u9022\u9016\u901B\u9014"], - ["b3a1", "\u90E8\u90ED\u90FD\u9157\u91CE\u91F5\u91E6\u91E3\u91E7\u91ED\u91E9\u9589\u966A\u9675\u9673\u9678\u9670\u9674\u9676\u9677\u966C\u96C0\u96EA\u96E9\u7AE0\u7ADF\u9802\u9803\u9B5A\u9CE5\u9E75\u9E7F\u9EA5\u9EBB\u50A2\u508D\u5085\u5099\u5091\u5080\u5096\u5098\u509A\u6700\u51F1\u5272\u5274\u5275\u5269\u52DE\u52DD\u52DB\u535A\u53A5\u557B\u5580\u55A7\u557C\u558A\u559D\u5598\u5582\u559C\u55AA\u5594\u5587\u558B\u5583\u55B3\u55AE\u559F\u553E\u55B2\u559A\u55BB\u55AC\u55B1\u557E\u5589\u55AB\u5599\u570D\u582F\u582A\u5834\u5824\u5830\u5831\u5821\u581D\u5820\u58F9\u58FA\u5960"], - ["b440", "\u5A77\u5A9A\u5A7F\u5A92\u5A9B\u5AA7\u5B73\u5B71\u5BD2\u5BCC\u5BD3\u5BD0\u5C0A\u5C0B\u5C31\u5D4C\u5D50\u5D34\u5D47\u5DFD\u5E45\u5E3D\u5E40\u5E43\u5E7E\u5ECA\u5EC1\u5EC2\u5EC4\u5F3C\u5F6D\u5FA9\u5FAA\u5FA8\u60D1\u60E1\u60B2\u60B6\u60E0\u611C\u6123\u60FA\u6115\u60F0\u60FB\u60F4\u6168\u60F1\u610E\u60F6\u6109\u6100\u6112\u621F\u6249\u63A3\u638C\u63CF\u63C0\u63E9\u63C9\u63C6\u63CD"], - ["b4a1", "\u63D2\u63E3\u63D0\u63E1\u63D6\u63ED\u63EE\u6376\u63F4\u63EA\u63DB\u6452\u63DA\u63F9\u655E\u6566\u6562\u6563\u6591\u6590\u65AF\u666E\u6670\u6674\u6676\u666F\u6691\u667A\u667E\u6677\u66FE\u66FF\u671F\u671D\u68FA\u68D5\u68E0\u68D8\u68D7\u6905\u68DF\u68F5\u68EE\u68E7\u68F9\u68D2\u68F2\u68E3\u68CB\u68CD\u690D\u6912\u690E\u68C9\u68DA\u696E\u68FB\u6B3E\u6B3A\u6B3D\u6B98\u6B96\u6BBC\u6BEF\u6C2E\u6C2F\u6C2C\u6E2F\u6E38\u6E54\u6E21\u6E32\u6E67\u6E4A\u6E20\u6E25\u6E23\u6E1B\u6E5B\u6E58\u6E24\u6E56\u6E6E\u6E2D\u6E26\u6E6F\u6E34\u6E4D\u6E3A\u6E2C\u6E43\u6E1D\u6E3E\u6ECB"], - ["b540", "\u6E89\u6E19\u6E4E\u6E63\u6E44\u6E72\u6E69\u6E5F\u7119\u711A\u7126\u7130\u7121\u7136\u716E\u711C\u724C\u7284\u7280\u7336\u7325\u7334\u7329\u743A\u742A\u7433\u7422\u7425\u7435\u7436\u7434\u742F\u741B\u7426\u7428\u7525\u7526\u756B\u756A\u75E2\u75DB\u75E3\u75D9\u75D8\u75DE\u75E0\u767B\u767C\u7696\u7693\u76B4\u76DC\u774F\u77ED\u785D\u786C\u786F\u7A0D\u7A08\u7A0B\u7A05\u7A00\u7A98"], - ["b5a1", "\u7A97\u7A96\u7AE5\u7AE3\u7B49\u7B56\u7B46\u7B50\u7B52\u7B54\u7B4D\u7B4B\u7B4F\u7B51\u7C9F\u7CA5\u7D5E\u7D50\u7D68\u7D55\u7D2B\u7D6E\u7D72\u7D61\u7D66\u7D62\u7D70\u7D73\u5584\u7FD4\u7FD5\u800B\u8052\u8085\u8155\u8154\u814B\u8151\u814E\u8139\u8146\u813E\u814C\u8153\u8174\u8212\u821C\u83E9\u8403\u83F8\u840D\u83E0\u83C5\u840B\u83C1\u83EF\u83F1\u83F4\u8457\u840A\u83F0\u840C\u83CC\u83FD\u83F2\u83CA\u8438\u840E\u8404\u83DC\u8407\u83D4\u83DF\u865B\u86DF\u86D9\u86ED\u86D4\u86DB\u86E4\u86D0\u86DE\u8857\u88C1\u88C2\u88B1\u8983\u8996\u8A3B\u8A60\u8A55\u8A5E\u8A3C\u8A41"], - ["b640", "\u8A54\u8A5B\u8A50\u8A46\u8A34\u8A3A\u8A36\u8A56\u8C61\u8C82\u8CAF\u8CBC\u8CB3\u8CBD\u8CC1\u8CBB\u8CC0\u8CB4\u8CB7\u8CB6\u8CBF\u8CB8\u8D8A\u8D85\u8D81\u8DCE\u8DDD\u8DCB\u8DDA\u8DD1\u8DCC\u8DDB\u8DC6\u8EFB\u8EF8\u8EFC\u8F9C\u902E\u9035\u9031\u9038\u9032\u9036\u9102\u90F5\u9109\u90FE\u9163\u9165\u91CF\u9214\u9215\u9223\u9209\u921E\u920D\u9210\u9207\u9211\u9594\u958F\u958B\u9591"], - ["b6a1", "\u9593\u9592\u958E\u968A\u968E\u968B\u967D\u9685\u9686\u968D\u9672\u9684\u96C1\u96C5\u96C4\u96C6\u96C7\u96EF\u96F2\u97CC\u9805\u9806\u9808\u98E7\u98EA\u98EF\u98E9\u98F2\u98ED\u99AE\u99AD\u9EC3\u9ECD\u9ED1\u4E82\u50AD\u50B5\u50B2\u50B3\u50C5\u50BE\u50AC\u50B7\u50BB\u50AF\u50C7\u527F\u5277\u527D\u52DF\u52E6\u52E4\u52E2\u52E3\u532F\u55DF\u55E8\u55D3\u55E6\u55CE\u55DC\u55C7\u55D1\u55E3\u55E4\u55EF\u55DA\u55E1\u55C5\u55C6\u55E5\u55C9\u5712\u5713\u585E\u5851\u5858\u5857\u585A\u5854\u586B\u584C\u586D\u584A\u5862\u5852\u584B\u5967\u5AC1\u5AC9\u5ACC\u5ABE\u5ABD\u5ABC"], - ["b740", "\u5AB3\u5AC2\u5AB2\u5D69\u5D6F\u5E4C\u5E79\u5EC9\u5EC8\u5F12\u5F59\u5FAC\u5FAE\u611A\u610F\u6148\u611F\u60F3\u611B\u60F9\u6101\u6108\u614E\u614C\u6144\u614D\u613E\u6134\u6127\u610D\u6106\u6137\u6221\u6222\u6413\u643E\u641E\u642A\u642D\u643D\u642C\u640F\u641C\u6414\u640D\u6436\u6416\u6417\u6406\u656C\u659F\u65B0\u6697\u6689\u6687\u6688\u6696\u6684\u6698\u668D\u6703\u6994\u696D"], - ["b7a1", "\u695A\u6977\u6960\u6954\u6975\u6930\u6982\u694A\u6968\u696B\u695E\u6953\u6979\u6986\u695D\u6963\u695B\u6B47\u6B72\u6BC0\u6BBF\u6BD3\u6BFD\u6EA2\u6EAF\u6ED3\u6EB6\u6EC2\u6E90\u6E9D\u6EC7\u6EC5\u6EA5\u6E98\u6EBC\u6EBA\u6EAB\u6ED1\u6E96\u6E9C\u6EC4\u6ED4\u6EAA\u6EA7\u6EB4\u714E\u7159\u7169\u7164\u7149\u7167\u715C\u716C\u7166\u714C\u7165\u715E\u7146\u7168\u7156\u723A\u7252\u7337\u7345\u733F\u733E\u746F\u745A\u7455\u745F\u745E\u7441\u743F\u7459\u745B\u745C\u7576\u7578\u7600\u75F0\u7601\u75F2\u75F1\u75FA\u75FF\u75F4\u75F3\u76DE\u76DF\u775B\u776B\u7766\u775E\u7763"], - ["b840", "\u7779\u776A\u776C\u775C\u7765\u7768\u7762\u77EE\u788E\u78B0\u7897\u7898\u788C\u7889\u787C\u7891\u7893\u787F\u797A\u797F\u7981\u842C\u79BD\u7A1C\u7A1A\u7A20\u7A14\u7A1F\u7A1E\u7A9F\u7AA0\u7B77\u7BC0\u7B60\u7B6E\u7B67\u7CB1\u7CB3\u7CB5\u7D93\u7D79\u7D91\u7D81\u7D8F\u7D5B\u7F6E\u7F69\u7F6A\u7F72\u7FA9\u7FA8\u7FA4\u8056\u8058\u8086\u8084\u8171\u8170\u8178\u8165\u816E\u8173\u816B"], - ["b8a1", "\u8179\u817A\u8166\u8205\u8247\u8482\u8477\u843D\u8431\u8475\u8466\u846B\u8449\u846C\u845B\u843C\u8435\u8461\u8463\u8469\u846D\u8446\u865E\u865C\u865F\u86F9\u8713\u8708\u8707\u8700\u86FE\u86FB\u8702\u8703\u8706\u870A\u8859\u88DF\u88D4\u88D9\u88DC\u88D8\u88DD\u88E1\u88CA\u88D5\u88D2\u899C\u89E3\u8A6B\u8A72\u8A73\u8A66\u8A69\u8A70\u8A87\u8A7C\u8A63\u8AA0\u8A71\u8A85\u8A6D\u8A62\u8A6E\u8A6C\u8A79\u8A7B\u8A3E\u8A68\u8C62\u8C8A\u8C89\u8CCA\u8CC7\u8CC8\u8CC4\u8CB2\u8CC3\u8CC2\u8CC5\u8DE1\u8DDF\u8DE8\u8DEF\u8DF3\u8DFA\u8DEA\u8DE4\u8DE6\u8EB2\u8F03\u8F09\u8EFE\u8F0A"], - ["b940", "\u8F9F\u8FB2\u904B\u904A\u9053\u9042\u9054\u903C\u9055\u9050\u9047\u904F\u904E\u904D\u9051\u903E\u9041\u9112\u9117\u916C\u916A\u9169\u91C9\u9237\u9257\u9238\u923D\u9240\u923E\u925B\u924B\u9264\u9251\u9234\u9249\u924D\u9245\u9239\u923F\u925A\u9598\u9698\u9694\u9695\u96CD\u96CB\u96C9\u96CA\u96F7\u96FB\u96F9\u96F6\u9756\u9774\u9776\u9810\u9811\u9813\u980A\u9812\u980C\u98FC\u98F4"], - ["b9a1", "\u98FD\u98FE\u99B3\u99B1\u99B4\u9AE1\u9CE9\u9E82\u9F0E\u9F13\u9F20\u50E7\u50EE\u50E5\u50D6\u50ED\u50DA\u50D5\u50CF\u50D1\u50F1\u50CE\u50E9\u5162\u51F3\u5283\u5282\u5331\u53AD\u55FE\u5600\u561B\u5617\u55FD\u5614\u5606\u5609\u560D\u560E\u55F7\u5616\u561F\u5608\u5610\u55F6\u5718\u5716\u5875\u587E\u5883\u5893\u588A\u5879\u5885\u587D\u58FD\u5925\u5922\u5924\u596A\u5969\u5AE1\u5AE6\u5AE9\u5AD7\u5AD6\u5AD8\u5AE3\u5B75\u5BDE\u5BE7\u5BE1\u5BE5\u5BE6\u5BE8\u5BE2\u5BE4\u5BDF\u5C0D\u5C62\u5D84\u5D87\u5E5B\u5E63\u5E55\u5E57\u5E54\u5ED3\u5ED6\u5F0A\u5F46\u5F70\u5FB9\u6147"], - ["ba40", "\u613F\u614B\u6177\u6162\u6163\u615F\u615A\u6158\u6175\u622A\u6487\u6458\u6454\u64A4\u6478\u645F\u647A\u6451\u6467\u6434\u646D\u647B\u6572\u65A1\u65D7\u65D6\u66A2\u66A8\u669D\u699C\u69A8\u6995\u69C1\u69AE\u69D3\u69CB\u699B\u69B7\u69BB\u69AB\u69B4\u69D0\u69CD\u69AD\u69CC\u69A6\u69C3\u69A3\u6B49\u6B4C\u6C33\u6F33\u6F14\u6EFE\u6F13\u6EF4\u6F29\u6F3E\u6F20\u6F2C\u6F0F\u6F02\u6F22"], - ["baa1", "\u6EFF\u6EEF\u6F06\u6F31\u6F38\u6F32\u6F23\u6F15\u6F2B\u6F2F\u6F88\u6F2A\u6EEC\u6F01\u6EF2\u6ECC\u6EF7\u7194\u7199\u717D\u718A\u7184\u7192\u723E\u7292\u7296\u7344\u7350\u7464\u7463\u746A\u7470\u746D\u7504\u7591\u7627\u760D\u760B\u7609\u7613\u76E1\u76E3\u7784\u777D\u777F\u7761\u78C1\u789F\u78A7\u78B3\u78A9\u78A3\u798E\u798F\u798D\u7A2E\u7A31\u7AAA\u7AA9\u7AED\u7AEF\u7BA1\u7B95\u7B8B\u7B75\u7B97\u7B9D\u7B94\u7B8F\u7BB8\u7B87\u7B84\u7CB9\u7CBD\u7CBE\u7DBB\u7DB0\u7D9C\u7DBD\u7DBE\u7DA0\u7DCA\u7DB4\u7DB2\u7DB1\u7DBA\u7DA2\u7DBF\u7DB5\u7DB8\u7DAD\u7DD2\u7DC7\u7DAC"], - ["bb40", "\u7F70\u7FE0\u7FE1\u7FDF\u805E\u805A\u8087\u8150\u8180\u818F\u8188\u818A\u817F\u8182\u81E7\u81FA\u8207\u8214\u821E\u824B\u84C9\u84BF\u84C6\u84C4\u8499\u849E\u84B2\u849C\u84CB\u84B8\u84C0\u84D3\u8490\u84BC\u84D1\u84CA\u873F\u871C\u873B\u8722\u8725\u8734\u8718\u8755\u8737\u8729\u88F3\u8902\u88F4\u88F9\u88F8\u88FD\u88E8\u891A\u88EF\u8AA6\u8A8C\u8A9E\u8AA3\u8A8D\u8AA1\u8A93\u8AA4"], - ["bba1", "\u8AAA\u8AA5\u8AA8\u8A98\u8A91\u8A9A\u8AA7\u8C6A\u8C8D\u8C8C\u8CD3\u8CD1\u8CD2\u8D6B\u8D99\u8D95\u8DFC\u8F14\u8F12\u8F15\u8F13\u8FA3\u9060\u9058\u905C\u9063\u9059\u905E\u9062\u905D\u905B\u9119\u9118\u911E\u9175\u9178\u9177\u9174\u9278\u9280\u9285\u9298\u9296\u927B\u9293\u929C\u92A8\u927C\u9291\u95A1\u95A8\u95A9\u95A3\u95A5\u95A4\u9699\u969C\u969B\u96CC\u96D2\u9700\u977C\u9785\u97F6\u9817\u9818\u98AF\u98B1\u9903\u9905\u990C\u9909\u99C1\u9AAF\u9AB0\u9AE6\u9B41\u9B42\u9CF4\u9CF6\u9CF3\u9EBC\u9F3B\u9F4A\u5104\u5100\u50FB\u50F5\u50F9\u5102\u5108\u5109\u5105\u51DC"], - ["bc40", "\u5287\u5288\u5289\u528D\u528A\u52F0\u53B2\u562E\u563B\u5639\u5632\u563F\u5634\u5629\u5653\u564E\u5657\u5674\u5636\u562F\u5630\u5880\u589F\u589E\u58B3\u589C\u58AE\u58A9\u58A6\u596D\u5B09\u5AFB\u5B0B\u5AF5\u5B0C\u5B08\u5BEE\u5BEC\u5BE9\u5BEB\u5C64\u5C65\u5D9D\u5D94\u5E62\u5E5F\u5E61\u5EE2\u5EDA\u5EDF\u5EDD\u5EE3\u5EE0\u5F48\u5F71\u5FB7\u5FB5\u6176\u6167\u616E\u615D\u6155\u6182"], - ["bca1", "\u617C\u6170\u616B\u617E\u61A7\u6190\u61AB\u618E\u61AC\u619A\u61A4\u6194\u61AE\u622E\u6469\u646F\u6479\u649E\u64B2\u6488\u6490\u64B0\u64A5\u6493\u6495\u64A9\u6492\u64AE\u64AD\u64AB\u649A\u64AC\u6499\u64A2\u64B3\u6575\u6577\u6578\u66AE\u66AB\u66B4\u66B1\u6A23\u6A1F\u69E8\u6A01\u6A1E\u6A19\u69FD\u6A21\u6A13\u6A0A\u69F3\u6A02\u6A05\u69ED\u6A11\u6B50\u6B4E\u6BA4\u6BC5\u6BC6\u6F3F\u6F7C\u6F84\u6F51\u6F66\u6F54\u6F86\u6F6D\u6F5B\u6F78\u6F6E\u6F8E\u6F7A\u6F70\u6F64\u6F97\u6F58\u6ED5\u6F6F\u6F60\u6F5F\u719F\u71AC\u71B1\u71A8\u7256\u729B\u734E\u7357\u7469\u748B\u7483"], - ["bd40", "\u747E\u7480\u757F\u7620\u7629\u761F\u7624\u7626\u7621\u7622\u769A\u76BA\u76E4\u778E\u7787\u778C\u7791\u778B\u78CB\u78C5\u78BA\u78CA\u78BE\u78D5\u78BC\u78D0\u7A3F\u7A3C\u7A40\u7A3D\u7A37\u7A3B\u7AAF\u7AAE\u7BAD\u7BB1\u7BC4\u7BB4\u7BC6\u7BC7\u7BC1\u7BA0\u7BCC\u7CCA\u7DE0\u7DF4\u7DEF\u7DFB\u7DD8\u7DEC\u7DDD\u7DE8\u7DE3\u7DDA\u7DDE\u7DE9\u7D9E\u7DD9\u7DF2\u7DF9\u7F75\u7F77\u7FAF"], - ["bda1", "\u7FE9\u8026\u819B\u819C\u819D\u81A0\u819A\u8198\u8517\u853D\u851A\u84EE\u852C\u852D\u8513\u8511\u8523\u8521\u8514\u84EC\u8525\u84FF\u8506\u8782\u8774\u8776\u8760\u8766\u8778\u8768\u8759\u8757\u874C\u8753\u885B\u885D\u8910\u8907\u8912\u8913\u8915\u890A\u8ABC\u8AD2\u8AC7\u8AC4\u8A95\u8ACB\u8AF8\u8AB2\u8AC9\u8AC2\u8ABF\u8AB0\u8AD6\u8ACD\u8AB6\u8AB9\u8ADB\u8C4C\u8C4E\u8C6C\u8CE0\u8CDE\u8CE6\u8CE4\u8CEC\u8CED\u8CE2\u8CE3\u8CDC\u8CEA\u8CE1\u8D6D\u8D9F\u8DA3\u8E2B\u8E10\u8E1D\u8E22\u8E0F\u8E29\u8E1F\u8E21\u8E1E\u8EBA\u8F1D\u8F1B\u8F1F\u8F29\u8F26\u8F2A\u8F1C\u8F1E"], - ["be40", "\u8F25\u9069\u906E\u9068\u906D\u9077\u9130\u912D\u9127\u9131\u9187\u9189\u918B\u9183\u92C5\u92BB\u92B7\u92EA\u92AC\u92E4\u92C1\u92B3\u92BC\u92D2\u92C7\u92F0\u92B2\u95AD\u95B1\u9704\u9706\u9707\u9709\u9760\u978D\u978B\u978F\u9821\u982B\u981C\u98B3\u990A\u9913\u9912\u9918\u99DD\u99D0\u99DF\u99DB\u99D1\u99D5\u99D2\u99D9\u9AB7\u9AEE\u9AEF\u9B27\u9B45\u9B44\u9B77\u9B6F\u9D06\u9D09"], - ["bea1", "\u9D03\u9EA9\u9EBE\u9ECE\u58A8\u9F52\u5112\u5118\u5114\u5110\u5115\u5180\u51AA\u51DD\u5291\u5293\u52F3\u5659\u566B\u5679\u5669\u5664\u5678\u566A\u5668\u5665\u5671\u566F\u566C\u5662\u5676\u58C1\u58BE\u58C7\u58C5\u596E\u5B1D\u5B34\u5B78\u5BF0\u5C0E\u5F4A\u61B2\u6191\u61A9\u618A\u61CD\u61B6\u61BE\u61CA\u61C8\u6230\u64C5\u64C1\u64CB\u64BB\u64BC\u64DA\u64C4\u64C7\u64C2\u64CD\u64BF\u64D2\u64D4\u64BE\u6574\u66C6\u66C9\u66B9\u66C4\u66C7\u66B8\u6A3D\u6A38\u6A3A\u6A59\u6A6B\u6A58\u6A39\u6A44\u6A62\u6A61\u6A4B\u6A47\u6A35\u6A5F\u6A48\u6B59\u6B77\u6C05\u6FC2\u6FB1\u6FA1"], - ["bf40", "\u6FC3\u6FA4\u6FC1\u6FA7\u6FB3\u6FC0\u6FB9\u6FB6\u6FA6\u6FA0\u6FB4\u71BE\u71C9\u71D0\u71D2\u71C8\u71D5\u71B9\u71CE\u71D9\u71DC\u71C3\u71C4\u7368\u749C\u74A3\u7498\u749F\u749E\u74E2\u750C\u750D\u7634\u7638\u763A\u76E7\u76E5\u77A0\u779E\u779F\u77A5\u78E8\u78DA\u78EC\u78E7\u79A6\u7A4D\u7A4E\u7A46\u7A4C\u7A4B\u7ABA\u7BD9\u7C11\u7BC9\u7BE4\u7BDB\u7BE1\u7BE9\u7BE6\u7CD5\u7CD6\u7E0A"], - ["bfa1", "\u7E11\u7E08\u7E1B\u7E23\u7E1E\u7E1D\u7E09\u7E10\u7F79\u7FB2\u7FF0\u7FF1\u7FEE\u8028\u81B3\u81A9\u81A8\u81FB\u8208\u8258\u8259\u854A\u8559\u8548\u8568\u8569\u8543\u8549\u856D\u856A\u855E\u8783\u879F\u879E\u87A2\u878D\u8861\u892A\u8932\u8925\u892B\u8921\u89AA\u89A6\u8AE6\u8AFA\u8AEB\u8AF1\u8B00\u8ADC\u8AE7\u8AEE\u8AFE\u8B01\u8B02\u8AF7\u8AED\u8AF3\u8AF6\u8AFC\u8C6B\u8C6D\u8C93\u8CF4\u8E44\u8E31\u8E34\u8E42\u8E39\u8E35\u8F3B\u8F2F\u8F38\u8F33\u8FA8\u8FA6\u9075\u9074\u9078\u9072\u907C\u907A\u9134\u9192\u9320\u9336\u92F8\u9333\u932F\u9322\u92FC\u932B\u9304\u931A"], - ["c040", "\u9310\u9326\u9321\u9315\u932E\u9319\u95BB\u96A7\u96A8\u96AA\u96D5\u970E\u9711\u9716\u970D\u9713\u970F\u975B\u975C\u9766\u9798\u9830\u9838\u983B\u9837\u982D\u9839\u9824\u9910\u9928\u991E\u991B\u9921\u991A\u99ED\u99E2\u99F1\u9AB8\u9ABC\u9AFB\u9AED\u9B28\u9B91\u9D15\u9D23\u9D26\u9D28\u9D12\u9D1B\u9ED8\u9ED4\u9F8D\u9F9C\u512A\u511F\u5121\u5132\u52F5\u568E\u5680\u5690\u5685\u5687"], - ["c0a1", "\u568F\u58D5\u58D3\u58D1\u58CE\u5B30\u5B2A\u5B24\u5B7A\u5C37\u5C68\u5DBC\u5DBA\u5DBD\u5DB8\u5E6B\u5F4C\u5FBD\u61C9\u61C2\u61C7\u61E6\u61CB\u6232\u6234\u64CE\u64CA\u64D8\u64E0\u64F0\u64E6\u64EC\u64F1\u64E2\u64ED\u6582\u6583\u66D9\u66D6\u6A80\u6A94\u6A84\u6AA2\u6A9C\u6ADB\u6AA3\u6A7E\u6A97\u6A90\u6AA0\u6B5C\u6BAE\u6BDA\u6C08\u6FD8\u6FF1\u6FDF\u6FE0\u6FDB\u6FE4\u6FEB\u6FEF\u6F80\u6FEC\u6FE1\u6FE9\u6FD5\u6FEE\u6FF0\u71E7\u71DF\u71EE\u71E6\u71E5\u71ED\u71EC\u71F4\u71E0\u7235\u7246\u7370\u7372\u74A9\u74B0\u74A6\u74A8\u7646\u7642\u764C\u76EA\u77B3\u77AA\u77B0\u77AC"], - ["c140", "\u77A7\u77AD\u77EF\u78F7\u78FA\u78F4\u78EF\u7901\u79A7\u79AA\u7A57\u7ABF\u7C07\u7C0D\u7BFE\u7BF7\u7C0C\u7BE0\u7CE0\u7CDC\u7CDE\u7CE2\u7CDF\u7CD9\u7CDD\u7E2E\u7E3E\u7E46\u7E37\u7E32\u7E43\u7E2B\u7E3D\u7E31\u7E45\u7E41\u7E34\u7E39\u7E48\u7E35\u7E3F\u7E2F\u7F44\u7FF3\u7FFC\u8071\u8072\u8070\u806F\u8073\u81C6\u81C3\u81BA\u81C2\u81C0\u81BF\u81BD\u81C9\u81BE\u81E8\u8209\u8271\u85AA"], - ["c1a1", "\u8584\u857E\u859C\u8591\u8594\u85AF\u859B\u8587\u85A8\u858A\u8667\u87C0\u87D1\u87B3\u87D2\u87C6\u87AB\u87BB\u87BA\u87C8\u87CB\u893B\u8936\u8944\u8938\u893D\u89AC\u8B0E\u8B17\u8B19\u8B1B\u8B0A\u8B20\u8B1D\u8B04\u8B10\u8C41\u8C3F\u8C73\u8CFA\u8CFD\u8CFC\u8CF8\u8CFB\u8DA8\u8E49\u8E4B\u8E48\u8E4A\u8F44\u8F3E\u8F42\u8F45\u8F3F\u907F\u907D\u9084\u9081\u9082\u9080\u9139\u91A3\u919E\u919C\u934D\u9382\u9328\u9375\u934A\u9365\u934B\u9318\u937E\u936C\u935B\u9370\u935A\u9354\u95CA\u95CB\u95CC\u95C8\u95C6\u96B1\u96B8\u96D6\u971C\u971E\u97A0\u97D3\u9846\u98B6\u9935\u9A01"], - ["c240", "\u99FF\u9BAE\u9BAB\u9BAA\u9BAD\u9D3B\u9D3F\u9E8B\u9ECF\u9EDE\u9EDC\u9EDD\u9EDB\u9F3E\u9F4B\u53E2\u5695\u56AE\u58D9\u58D8\u5B38\u5F5D\u61E3\u6233\u64F4\u64F2\u64FE\u6506\u64FA\u64FB\u64F7\u65B7\u66DC\u6726\u6AB3\u6AAC\u6AC3\u6ABB\u6AB8\u6AC2\u6AAE\u6AAF\u6B5F\u6B78\u6BAF\u7009\u700B\u6FFE\u7006\u6FFA\u7011\u700F\u71FB\u71FC\u71FE\u71F8\u7377\u7375\u74A7\u74BF\u7515\u7656\u7658"], - ["c2a1", "\u7652\u77BD\u77BF\u77BB\u77BC\u790E\u79AE\u7A61\u7A62\u7A60\u7AC4\u7AC5\u7C2B\u7C27\u7C2A\u7C1E\u7C23\u7C21\u7CE7\u7E54\u7E55\u7E5E\u7E5A\u7E61\u7E52\u7E59\u7F48\u7FF9\u7FFB\u8077\u8076\u81CD\u81CF\u820A\u85CF\u85A9\u85CD\u85D0\u85C9\u85B0\u85BA\u85B9\u85A6\u87EF\u87EC\u87F2\u87E0\u8986\u89B2\u89F4\u8B28\u8B39\u8B2C\u8B2B\u8C50\u8D05\u8E59\u8E63\u8E66\u8E64\u8E5F\u8E55\u8EC0\u8F49\u8F4D\u9087\u9083\u9088\u91AB\u91AC\u91D0\u9394\u938A\u9396\u93A2\u93B3\u93AE\u93AC\u93B0\u9398\u939A\u9397\u95D4\u95D6\u95D0\u95D5\u96E2\u96DC\u96D9\u96DB\u96DE\u9724\u97A3\u97A6"], - ["c340", "\u97AD\u97F9\u984D\u984F\u984C\u984E\u9853\u98BA\u993E\u993F\u993D\u992E\u99A5\u9A0E\u9AC1\u9B03\u9B06\u9B4F\u9B4E\u9B4D\u9BCA\u9BC9\u9BFD\u9BC8\u9BC0\u9D51\u9D5D\u9D60\u9EE0\u9F15\u9F2C\u5133\u56A5\u58DE\u58DF\u58E2\u5BF5\u9F90\u5EEC\u61F2\u61F7\u61F6\u61F5\u6500\u650F\u66E0\u66DD\u6AE5\u6ADD\u6ADA\u6AD3\u701B\u701F\u7028\u701A\u701D\u7015\u7018\u7206\u720D\u7258\u72A2\u7378"], - ["c3a1", "\u737A\u74BD\u74CA\u74E3\u7587\u7586\u765F\u7661\u77C7\u7919\u79B1\u7A6B\u7A69\u7C3E\u7C3F\u7C38\u7C3D\u7C37\u7C40\u7E6B\u7E6D\u7E79\u7E69\u7E6A\u7F85\u7E73\u7FB6\u7FB9\u7FB8\u81D8\u85E9\u85DD\u85EA\u85D5\u85E4\u85E5\u85F7\u87FB\u8805\u880D\u87F9\u87FE\u8960\u895F\u8956\u895E\u8B41\u8B5C\u8B58\u8B49\u8B5A\u8B4E\u8B4F\u8B46\u8B59\u8D08\u8D0A\u8E7C\u8E72\u8E87\u8E76\u8E6C\u8E7A\u8E74\u8F54\u8F4E\u8FAD\u908A\u908B\u91B1\u91AE\u93E1\u93D1\u93DF\u93C3\u93C8\u93DC\u93DD\u93D6\u93E2\u93CD\u93D8\u93E4\u93D7\u93E8\u95DC\u96B4\u96E3\u972A\u9727\u9761\u97DC\u97FB\u985E"], - ["c440", "\u9858\u985B\u98BC\u9945\u9949\u9A16\u9A19\u9B0D\u9BE8\u9BE7\u9BD6\u9BDB\u9D89\u9D61\u9D72\u9D6A\u9D6C\u9E92\u9E97\u9E93\u9EB4\u52F8\u56A8\u56B7\u56B6\u56B4\u56BC\u58E4\u5B40\u5B43\u5B7D\u5BF6\u5DC9\u61F8\u61FA\u6518\u6514\u6519\u66E6\u6727\u6AEC\u703E\u7030\u7032\u7210\u737B\u74CF\u7662\u7665\u7926\u792A\u792C\u792B\u7AC7\u7AF6\u7C4C\u7C43\u7C4D\u7CEF\u7CF0\u8FAE\u7E7D\u7E7C"], - ["c4a1", "\u7E82\u7F4C\u8000\u81DA\u8266\u85FB\u85F9\u8611\u85FA\u8606\u860B\u8607\u860A\u8814\u8815\u8964\u89BA\u89F8\u8B70\u8B6C\u8B66\u8B6F\u8B5F\u8B6B\u8D0F\u8D0D\u8E89\u8E81\u8E85\u8E82\u91B4\u91CB\u9418\u9403\u93FD\u95E1\u9730\u98C4\u9952\u9951\u99A8\u9A2B\u9A30\u9A37\u9A35\u9C13\u9C0D\u9E79\u9EB5\u9EE8\u9F2F\u9F5F\u9F63\u9F61\u5137\u5138\u56C1\u56C0\u56C2\u5914\u5C6C\u5DCD\u61FC\u61FE\u651D\u651C\u6595\u66E9\u6AFB\u6B04\u6AFA\u6BB2\u704C\u721B\u72A7\u74D6\u74D4\u7669\u77D3\u7C50\u7E8F\u7E8C\u7FBC\u8617\u862D\u861A\u8823\u8822\u8821\u881F\u896A\u896C\u89BD\u8B74"], - ["c540", "\u8B77\u8B7D\u8D13\u8E8A\u8E8D\u8E8B\u8F5F\u8FAF\u91BA\u942E\u9433\u9435\u943A\u9438\u9432\u942B\u95E2\u9738\u9739\u9732\u97FF\u9867\u9865\u9957\u9A45\u9A43\u9A40\u9A3E\u9ACF\u9B54\u9B51\u9C2D\u9C25\u9DAF\u9DB4\u9DC2\u9DB8\u9E9D\u9EEF\u9F19\u9F5C\u9F66\u9F67\u513C\u513B\u56C8\u56CA\u56C9\u5B7F\u5DD4\u5DD2\u5F4E\u61FF\u6524\u6B0A\u6B61\u7051\u7058\u7380\u74E4\u758A\u766E\u766C"], - ["c5a1", "\u79B3\u7C60\u7C5F\u807E\u807D\u81DF\u8972\u896F\u89FC\u8B80\u8D16\u8D17\u8E91\u8E93\u8F61\u9148\u9444\u9451\u9452\u973D\u973E\u97C3\u97C1\u986B\u9955\u9A55\u9A4D\u9AD2\u9B1A\u9C49\u9C31\u9C3E\u9C3B\u9DD3\u9DD7\u9F34\u9F6C\u9F6A\u9F94\u56CC\u5DD6\u6200\u6523\u652B\u652A\u66EC\u6B10\u74DA\u7ACA\u7C64\u7C63\u7C65\u7E93\u7E96\u7E94\u81E2\u8638\u863F\u8831\u8B8A\u9090\u908F\u9463\u9460\u9464\u9768\u986F\u995C\u9A5A\u9A5B\u9A57\u9AD3\u9AD4\u9AD1\u9C54\u9C57\u9C56\u9DE5\u9E9F\u9EF4\u56D1\u58E9\u652C\u705E\u7671\u7672\u77D7\u7F50\u7F88\u8836\u8839\u8862\u8B93\u8B92"], - ["c640", "\u8B96\u8277\u8D1B\u91C0\u946A\u9742\u9748\u9744\u97C6\u9870\u9A5F\u9B22\u9B58\u9C5F\u9DF9\u9DFA\u9E7C\u9E7D\u9F07\u9F77\u9F72\u5EF3\u6B16\u7063\u7C6C\u7C6E\u883B\u89C0\u8EA1\u91C1\u9472\u9470\u9871\u995E\u9AD6\u9B23\u9ECC\u7064\u77DA\u8B9A\u9477\u97C9\u9A62\u9A65\u7E9C\u8B9C\u8EAA\u91C5\u947D\u947E\u947C\u9C77\u9C78\u9EF7\u8C54\u947F\u9E1A\u7228\u9A6A\u9B31\u9E1B\u9E1E\u7C72"], - ["c940", "\u4E42\u4E5C\u51F5\u531A\u5382\u4E07\u4E0C\u4E47\u4E8D\u56D7\uFA0C\u5C6E\u5F73\u4E0F\u5187\u4E0E\u4E2E\u4E93\u4EC2\u4EC9\u4EC8\u5198\u52FC\u536C\u53B9\u5720\u5903\u592C\u5C10\u5DFF\u65E1\u6BB3\u6BCC\u6C14\u723F\u4E31\u4E3C\u4EE8\u4EDC\u4EE9\u4EE1\u4EDD\u4EDA\u520C\u531C\u534C\u5722\u5723\u5917\u592F\u5B81\u5B84\u5C12\u5C3B\u5C74\u5C73\u5E04\u5E80\u5E82\u5FC9\u6209\u6250\u6C15"], - ["c9a1", "\u6C36\u6C43\u6C3F\u6C3B\u72AE\u72B0\u738A\u79B8\u808A\u961E\u4F0E\u4F18\u4F2C\u4EF5\u4F14\u4EF1\u4F00\u4EF7\u4F08\u4F1D\u4F02\u4F05\u4F22\u4F13\u4F04\u4EF4\u4F12\u51B1\u5213\u5209\u5210\u52A6\u5322\u531F\u534D\u538A\u5407\u56E1\u56DF\u572E\u572A\u5734\u593C\u5980\u597C\u5985\u597B\u597E\u5977\u597F\u5B56\u5C15\u5C25\u5C7C\u5C7A\u5C7B\u5C7E\u5DDF\u5E75\u5E84\u5F02\u5F1A\u5F74\u5FD5\u5FD4\u5FCF\u625C\u625E\u6264\u6261\u6266\u6262\u6259\u6260\u625A\u6265\u65EF\u65EE\u673E\u6739\u6738\u673B\u673A\u673F\u673C\u6733\u6C18\u6C46\u6C52\u6C5C\u6C4F\u6C4A\u6C54\u6C4B"], - ["ca40", "\u6C4C\u7071\u725E\u72B4\u72B5\u738E\u752A\u767F\u7A75\u7F51\u8278\u827C\u8280\u827D\u827F\u864D\u897E\u9099\u9097\u9098\u909B\u9094\u9622\u9624\u9620\u9623\u4F56\u4F3B\u4F62\u4F49\u4F53\u4F64\u4F3E\u4F67\u4F52\u4F5F\u4F41\u4F58\u4F2D\u4F33\u4F3F\u4F61\u518F\u51B9\u521C\u521E\u5221\u52AD\u52AE\u5309\u5363\u5372\u538E\u538F\u5430\u5437\u542A\u5454\u5445\u5419\u541C\u5425\u5418"], - ["caa1", "\u543D\u544F\u5441\u5428\u5424\u5447\u56EE\u56E7\u56E5\u5741\u5745\u574C\u5749\u574B\u5752\u5906\u5940\u59A6\u5998\u59A0\u5997\u598E\u59A2\u5990\u598F\u59A7\u59A1\u5B8E\u5B92\u5C28\u5C2A\u5C8D\u5C8F\u5C88\u5C8B\u5C89\u5C92\u5C8A\u5C86\u5C93\u5C95\u5DE0\u5E0A\u5E0E\u5E8B\u5E89\u5E8C\u5E88\u5E8D\u5F05\u5F1D\u5F78\u5F76\u5FD2\u5FD1\u5FD0\u5FED\u5FE8\u5FEE\u5FF3\u5FE1\u5FE4\u5FE3\u5FFA\u5FEF\u5FF7\u5FFB\u6000\u5FF4\u623A\u6283\u628C\u628E\u628F\u6294\u6287\u6271\u627B\u627A\u6270\u6281\u6288\u6277\u627D\u6272\u6274\u6537\u65F0\u65F4\u65F3\u65F2\u65F5\u6745\u6747"], - ["cb40", "\u6759\u6755\u674C\u6748\u675D\u674D\u675A\u674B\u6BD0\u6C19\u6C1A\u6C78\u6C67\u6C6B\u6C84\u6C8B\u6C8F\u6C71\u6C6F\u6C69\u6C9A\u6C6D\u6C87\u6C95\u6C9C\u6C66\u6C73\u6C65\u6C7B\u6C8E\u7074\u707A\u7263\u72BF\u72BD\u72C3\u72C6\u72C1\u72BA\u72C5\u7395\u7397\u7393\u7394\u7392\u753A\u7539\u7594\u7595\u7681\u793D\u8034\u8095\u8099\u8090\u8092\u809C\u8290\u828F\u8285\u828E\u8291\u8293"], - ["cba1", "\u828A\u8283\u8284\u8C78\u8FC9\u8FBF\u909F\u90A1\u90A5\u909E\u90A7\u90A0\u9630\u9628\u962F\u962D\u4E33\u4F98\u4F7C\u4F85\u4F7D\u4F80\u4F87\u4F76\u4F74\u4F89\u4F84\u4F77\u4F4C\u4F97\u4F6A\u4F9A\u4F79\u4F81\u4F78\u4F90\u4F9C\u4F94\u4F9E\u4F92\u4F82\u4F95\u4F6B\u4F6E\u519E\u51BC\u51BE\u5235\u5232\u5233\u5246\u5231\u52BC\u530A\u530B\u533C\u5392\u5394\u5487\u547F\u5481\u5491\u5482\u5488\u546B\u547A\u547E\u5465\u546C\u5474\u5466\u548D\u546F\u5461\u5460\u5498\u5463\u5467\u5464\u56F7\u56F9\u576F\u5772\u576D\u576B\u5771\u5770\u5776\u5780\u5775\u577B\u5773\u5774\u5762"], - ["cc40", "\u5768\u577D\u590C\u5945\u59B5\u59BA\u59CF\u59CE\u59B2\u59CC\u59C1\u59B6\u59BC\u59C3\u59D6\u59B1\u59BD\u59C0\u59C8\u59B4\u59C7\u5B62\u5B65\u5B93\u5B95\u5C44\u5C47\u5CAE\u5CA4\u5CA0\u5CB5\u5CAF\u5CA8\u5CAC\u5C9F\u5CA3\u5CAD\u5CA2\u5CAA\u5CA7\u5C9D\u5CA5\u5CB6\u5CB0\u5CA6\u5E17\u5E14\u5E19\u5F28\u5F22\u5F23\u5F24\u5F54\u5F82\u5F7E\u5F7D\u5FDE\u5FE5\u602D\u6026\u6019\u6032\u600B"], - ["cca1", "\u6034\u600A\u6017\u6033\u601A\u601E\u602C\u6022\u600D\u6010\u602E\u6013\u6011\u600C\u6009\u601C\u6214\u623D\u62AD\u62B4\u62D1\u62BE\u62AA\u62B6\u62CA\u62AE\u62B3\u62AF\u62BB\u62A9\u62B0\u62B8\u653D\u65A8\u65BB\u6609\u65FC\u6604\u6612\u6608\u65FB\u6603\u660B\u660D\u6605\u65FD\u6611\u6610\u66F6\u670A\u6785\u676C\u678E\u6792\u6776\u677B\u6798\u6786\u6784\u6774\u678D\u678C\u677A\u679F\u6791\u6799\u6783\u677D\u6781\u6778\u6779\u6794\u6B25\u6B80\u6B7E\u6BDE\u6C1D\u6C93\u6CEC\u6CEB\u6CEE\u6CD9\u6CB6\u6CD4\u6CAD\u6CE7\u6CB7\u6CD0\u6CC2\u6CBA\u6CC3\u6CC6\u6CED\u6CF2"], - ["cd40", "\u6CD2\u6CDD\u6CB4\u6C8A\u6C9D\u6C80\u6CDE\u6CC0\u6D30\u6CCD\u6CC7\u6CB0\u6CF9\u6CCF\u6CE9\u6CD1\u7094\u7098\u7085\u7093\u7086\u7084\u7091\u7096\u7082\u709A\u7083\u726A\u72D6\u72CB\u72D8\u72C9\u72DC\u72D2\u72D4\u72DA\u72CC\u72D1\u73A4\u73A1\u73AD\u73A6\u73A2\u73A0\u73AC\u739D\u74DD\u74E8\u753F\u7540\u753E\u758C\u7598\u76AF\u76F3\u76F1\u76F0\u76F5\u77F8\u77FC\u77F9\u77FB\u77FA"], - ["cda1", "\u77F7\u7942\u793F\u79C5\u7A78\u7A7B\u7AFB\u7C75\u7CFD\u8035\u808F\u80AE\u80A3\u80B8\u80B5\u80AD\u8220\u82A0\u82C0\u82AB\u829A\u8298\u829B\u82B5\u82A7\u82AE\u82BC\u829E\u82BA\u82B4\u82A8\u82A1\u82A9\u82C2\u82A4\u82C3\u82B6\u82A2\u8670\u866F\u866D\u866E\u8C56\u8FD2\u8FCB\u8FD3\u8FCD\u8FD6\u8FD5\u8FD7\u90B2\u90B4\u90AF\u90B3\u90B0\u9639\u963D\u963C\u963A\u9643\u4FCD\u4FC5\u4FD3\u4FB2\u4FC9\u4FCB\u4FC1\u4FD4\u4FDC\u4FD9\u4FBB\u4FB3\u4FDB\u4FC7\u4FD6\u4FBA\u4FC0\u4FB9\u4FEC\u5244\u5249\u52C0\u52C2\u533D\u537C\u5397\u5396\u5399\u5398\u54BA\u54A1\u54AD\u54A5\u54CF"], - ["ce40", "\u54C3\u830D\u54B7\u54AE\u54D6\u54B6\u54C5\u54C6\u54A0\u5470\u54BC\u54A2\u54BE\u5472\u54DE\u54B0\u57B5\u579E\u579F\u57A4\u578C\u5797\u579D\u579B\u5794\u5798\u578F\u5799\u57A5\u579A\u5795\u58F4\u590D\u5953\u59E1\u59DE\u59EE\u5A00\u59F1\u59DD\u59FA\u59FD\u59FC\u59F6\u59E4\u59F2\u59F7\u59DB\u59E9\u59F3\u59F5\u59E0\u59FE\u59F4\u59ED\u5BA8\u5C4C\u5CD0\u5CD8\u5CCC\u5CD7\u5CCB\u5CDB"], - ["cea1", "\u5CDE\u5CDA\u5CC9\u5CC7\u5CCA\u5CD6\u5CD3\u5CD4\u5CCF\u5CC8\u5CC6\u5CCE\u5CDF\u5CF8\u5DF9\u5E21\u5E22\u5E23\u5E20\u5E24\u5EB0\u5EA4\u5EA2\u5E9B\u5EA3\u5EA5\u5F07\u5F2E\u5F56\u5F86\u6037\u6039\u6054\u6072\u605E\u6045\u6053\u6047\u6049\u605B\u604C\u6040\u6042\u605F\u6024\u6044\u6058\u6066\u606E\u6242\u6243\u62CF\u630D\u630B\u62F5\u630E\u6303\u62EB\u62F9\u630F\u630C\u62F8\u62F6\u6300\u6313\u6314\u62FA\u6315\u62FB\u62F0\u6541\u6543\u65AA\u65BF\u6636\u6621\u6632\u6635\u661C\u6626\u6622\u6633\u662B\u663A\u661D\u6634\u6639\u662E\u670F\u6710\u67C1\u67F2\u67C8\u67BA"], - ["cf40", "\u67DC\u67BB\u67F8\u67D8\u67C0\u67B7\u67C5\u67EB\u67E4\u67DF\u67B5\u67CD\u67B3\u67F7\u67F6\u67EE\u67E3\u67C2\u67B9\u67CE\u67E7\u67F0\u67B2\u67FC\u67C6\u67ED\u67CC\u67AE\u67E6\u67DB\u67FA\u67C9\u67CA\u67C3\u67EA\u67CB\u6B28\u6B82\u6B84\u6BB6\u6BD6\u6BD8\u6BE0\u6C20\u6C21\u6D28\u6D34\u6D2D\u6D1F\u6D3C\u6D3F\u6D12\u6D0A\u6CDA\u6D33\u6D04\u6D19\u6D3A\u6D1A\u6D11\u6D00\u6D1D\u6D42"], - ["cfa1", "\u6D01\u6D18\u6D37\u6D03\u6D0F\u6D40\u6D07\u6D20\u6D2C\u6D08\u6D22\u6D09\u6D10\u70B7\u709F\u70BE\u70B1\u70B0\u70A1\u70B4\u70B5\u70A9\u7241\u7249\u724A\u726C\u7270\u7273\u726E\u72CA\u72E4\u72E8\u72EB\u72DF\u72EA\u72E6\u72E3\u7385\u73CC\u73C2\u73C8\u73C5\u73B9\u73B6\u73B5\u73B4\u73EB\u73BF\u73C7\u73BE\u73C3\u73C6\u73B8\u73CB\u74EC\u74EE\u752E\u7547\u7548\u75A7\u75AA\u7679\u76C4\u7708\u7703\u7704\u7705\u770A\u76F7\u76FB\u76FA\u77E7\u77E8\u7806\u7811\u7812\u7805\u7810\u780F\u780E\u7809\u7803\u7813\u794A\u794C\u794B\u7945\u7944\u79D5\u79CD\u79CF\u79D6\u79CE\u7A80"], - ["d040", "\u7A7E\u7AD1\u7B00\u7B01\u7C7A\u7C78\u7C79\u7C7F\u7C80\u7C81\u7D03\u7D08\u7D01\u7F58\u7F91\u7F8D\u7FBE\u8007\u800E\u800F\u8014\u8037\u80D8\u80C7\u80E0\u80D1\u80C8\u80C2\u80D0\u80C5\u80E3\u80D9\u80DC\u80CA\u80D5\u80C9\u80CF\u80D7\u80E6\u80CD\u81FF\u8221\u8294\u82D9\u82FE\u82F9\u8307\u82E8\u8300\u82D5\u833A\u82EB\u82D6\u82F4\u82EC\u82E1\u82F2\u82F5\u830C\u82FB\u82F6\u82F0\u82EA"], - ["d0a1", "\u82E4\u82E0\u82FA\u82F3\u82ED\u8677\u8674\u867C\u8673\u8841\u884E\u8867\u886A\u8869\u89D3\u8A04\u8A07\u8D72\u8FE3\u8FE1\u8FEE\u8FE0\u90F1\u90BD\u90BF\u90D5\u90C5\u90BE\u90C7\u90CB\u90C8\u91D4\u91D3\u9654\u964F\u9651\u9653\u964A\u964E\u501E\u5005\u5007\u5013\u5022\u5030\u501B\u4FF5\u4FF4\u5033\u5037\u502C\u4FF6\u4FF7\u5017\u501C\u5020\u5027\u5035\u502F\u5031\u500E\u515A\u5194\u5193\u51CA\u51C4\u51C5\u51C8\u51CE\u5261\u525A\u5252\u525E\u525F\u5255\u5262\u52CD\u530E\u539E\u5526\u54E2\u5517\u5512\u54E7\u54F3\u54E4\u551A\u54FF\u5504\u5508\u54EB\u5511\u5505\u54F1"], - ["d140", "\u550A\u54FB\u54F7\u54F8\u54E0\u550E\u5503\u550B\u5701\u5702\u57CC\u5832\u57D5\u57D2\u57BA\u57C6\u57BD\u57BC\u57B8\u57B6\u57BF\u57C7\u57D0\u57B9\u57C1\u590E\u594A\u5A19\u5A16\u5A2D\u5A2E\u5A15\u5A0F\u5A17\u5A0A\u5A1E\u5A33\u5B6C\u5BA7\u5BAD\u5BAC\u5C03\u5C56\u5C54\u5CEC\u5CFF\u5CEE\u5CF1\u5CF7\u5D00\u5CF9\u5E29\u5E28\u5EA8\u5EAE\u5EAA\u5EAC\u5F33\u5F30\u5F67\u605D\u605A\u6067"], - ["d1a1", "\u6041\u60A2\u6088\u6080\u6092\u6081\u609D\u6083\u6095\u609B\u6097\u6087\u609C\u608E\u6219\u6246\u62F2\u6310\u6356\u632C\u6344\u6345\u6336\u6343\u63E4\u6339\u634B\u634A\u633C\u6329\u6341\u6334\u6358\u6354\u6359\u632D\u6347\u6333\u635A\u6351\u6338\u6357\u6340\u6348\u654A\u6546\u65C6\u65C3\u65C4\u65C2\u664A\u665F\u6647\u6651\u6712\u6713\u681F\u681A\u6849\u6832\u6833\u683B\u684B\u684F\u6816\u6831\u681C\u6835\u682B\u682D\u682F\u684E\u6844\u6834\u681D\u6812\u6814\u6826\u6828\u682E\u684D\u683A\u6825\u6820\u6B2C\u6B2F\u6B2D\u6B31\u6B34\u6B6D\u8082\u6B88\u6BE6\u6BE4"], - ["d240", "\u6BE8\u6BE3\u6BE2\u6BE7\u6C25\u6D7A\u6D63\u6D64\u6D76\u6D0D\u6D61\u6D92\u6D58\u6D62\u6D6D\u6D6F\u6D91\u6D8D\u6DEF\u6D7F\u6D86\u6D5E\u6D67\u6D60\u6D97\u6D70\u6D7C\u6D5F\u6D82\u6D98\u6D2F\u6D68\u6D8B\u6D7E\u6D80\u6D84\u6D16\u6D83\u6D7B\u6D7D\u6D75\u6D90\u70DC\u70D3\u70D1\u70DD\u70CB\u7F39\u70E2\u70D7\u70D2\u70DE\u70E0\u70D4\u70CD\u70C5\u70C6\u70C7\u70DA\u70CE\u70E1\u7242\u7278"], - ["d2a1", "\u7277\u7276\u7300\u72FA\u72F4\u72FE\u72F6\u72F3\u72FB\u7301\u73D3\u73D9\u73E5\u73D6\u73BC\u73E7\u73E3\u73E9\u73DC\u73D2\u73DB\u73D4\u73DD\u73DA\u73D7\u73D8\u73E8\u74DE\u74DF\u74F4\u74F5\u7521\u755B\u755F\u75B0\u75C1\u75BB\u75C4\u75C0\u75BF\u75B6\u75BA\u768A\u76C9\u771D\u771B\u7710\u7713\u7712\u7723\u7711\u7715\u7719\u771A\u7722\u7727\u7823\u782C\u7822\u7835\u782F\u7828\u782E\u782B\u7821\u7829\u7833\u782A\u7831\u7954\u795B\u794F\u795C\u7953\u7952\u7951\u79EB\u79EC\u79E0\u79EE\u79ED\u79EA\u79DC\u79DE\u79DD\u7A86\u7A89\u7A85\u7A8B\u7A8C\u7A8A\u7A87\u7AD8\u7B10"], - ["d340", "\u7B04\u7B13\u7B05\u7B0F\u7B08\u7B0A\u7B0E\u7B09\u7B12\u7C84\u7C91\u7C8A\u7C8C\u7C88\u7C8D\u7C85\u7D1E\u7D1D\u7D11\u7D0E\u7D18\u7D16\u7D13\u7D1F\u7D12\u7D0F\u7D0C\u7F5C\u7F61\u7F5E\u7F60\u7F5D\u7F5B\u7F96\u7F92\u7FC3\u7FC2\u7FC0\u8016\u803E\u8039\u80FA\u80F2\u80F9\u80F5\u8101\u80FB\u8100\u8201\u822F\u8225\u8333\u832D\u8344\u8319\u8351\u8325\u8356\u833F\u8341\u8326\u831C\u8322"], - ["d3a1", "\u8342\u834E\u831B\u832A\u8308\u833C\u834D\u8316\u8324\u8320\u8337\u832F\u8329\u8347\u8345\u834C\u8353\u831E\u832C\u834B\u8327\u8348\u8653\u8652\u86A2\u86A8\u8696\u868D\u8691\u869E\u8687\u8697\u8686\u868B\u869A\u8685\u86A5\u8699\u86A1\u86A7\u8695\u8698\u868E\u869D\u8690\u8694\u8843\u8844\u886D\u8875\u8876\u8872\u8880\u8871\u887F\u886F\u8883\u887E\u8874\u887C\u8A12\u8C47\u8C57\u8C7B\u8CA4\u8CA3\u8D76\u8D78\u8DB5\u8DB7\u8DB6\u8ED1\u8ED3\u8FFE\u8FF5\u9002\u8FFF\u8FFB\u9004\u8FFC\u8FF6\u90D6\u90E0\u90D9\u90DA\u90E3\u90DF\u90E5\u90D8\u90DB\u90D7\u90DC\u90E4\u9150"], - ["d440", "\u914E\u914F\u91D5\u91E2\u91DA\u965C\u965F\u96BC\u98E3\u9ADF\u9B2F\u4E7F\u5070\u506A\u5061\u505E\u5060\u5053\u504B\u505D\u5072\u5048\u504D\u5041\u505B\u504A\u5062\u5015\u5045\u505F\u5069\u506B\u5063\u5064\u5046\u5040\u506E\u5073\u5057\u5051\u51D0\u526B\u526D\u526C\u526E\u52D6\u52D3\u532D\u539C\u5575\u5576\u553C\u554D\u5550\u5534\u552A\u5551\u5562\u5536\u5535\u5530\u5552\u5545"], - ["d4a1", "\u550C\u5532\u5565\u554E\u5539\u5548\u552D\u553B\u5540\u554B\u570A\u5707\u57FB\u5814\u57E2\u57F6\u57DC\u57F4\u5800\u57ED\u57FD\u5808\u57F8\u580B\u57F3\u57CF\u5807\u57EE\u57E3\u57F2\u57E5\u57EC\u57E1\u580E\u57FC\u5810\u57E7\u5801\u580C\u57F1\u57E9\u57F0\u580D\u5804\u595C\u5A60\u5A58\u5A55\u5A67\u5A5E\u5A38\u5A35\u5A6D\u5A50\u5A5F\u5A65\u5A6C\u5A53\u5A64\u5A57\u5A43\u5A5D\u5A52\u5A44\u5A5B\u5A48\u5A8E\u5A3E\u5A4D\u5A39\u5A4C\u5A70\u5A69\u5A47\u5A51\u5A56\u5A42\u5A5C\u5B72\u5B6E\u5BC1\u5BC0\u5C59\u5D1E\u5D0B\u5D1D\u5D1A\u5D20\u5D0C\u5D28\u5D0D\u5D26\u5D25\u5D0F"], - ["d540", "\u5D30\u5D12\u5D23\u5D1F\u5D2E\u5E3E\u5E34\u5EB1\u5EB4\u5EB9\u5EB2\u5EB3\u5F36\u5F38\u5F9B\u5F96\u5F9F\u608A\u6090\u6086\u60BE\u60B0\u60BA\u60D3\u60D4\u60CF\u60E4\u60D9\u60DD\u60C8\u60B1\u60DB\u60B7\u60CA\u60BF\u60C3\u60CD\u60C0\u6332\u6365\u638A\u6382\u637D\u63BD\u639E\u63AD\u639D\u6397\u63AB\u638E\u636F\u6387\u6390\u636E\u63AF\u6375\u639C\u636D\u63AE\u637C\u63A4\u633B\u639F"], - ["d5a1", "\u6378\u6385\u6381\u6391\u638D\u6370\u6553\u65CD\u6665\u6661\u665B\u6659\u665C\u6662\u6718\u6879\u6887\u6890\u689C\u686D\u686E\u68AE\u68AB\u6956\u686F\u68A3\u68AC\u68A9\u6875\u6874\u68B2\u688F\u6877\u6892\u687C\u686B\u6872\u68AA\u6880\u6871\u687E\u689B\u6896\u688B\u68A0\u6889\u68A4\u6878\u687B\u6891\u688C\u688A\u687D\u6B36\u6B33\u6B37\u6B38\u6B91\u6B8F\u6B8D\u6B8E\u6B8C\u6C2A\u6DC0\u6DAB\u6DB4\u6DB3\u6E74\u6DAC\u6DE9\u6DE2\u6DB7\u6DF6\u6DD4\u6E00\u6DC8\u6DE0\u6DDF\u6DD6\u6DBE\u6DE5\u6DDC\u6DDD\u6DDB\u6DF4\u6DCA\u6DBD\u6DED\u6DF0\u6DBA\u6DD5\u6DC2\u6DCF\u6DC9"], - ["d640", "\u6DD0\u6DF2\u6DD3\u6DFD\u6DD7\u6DCD\u6DE3\u6DBB\u70FA\u710D\u70F7\u7117\u70F4\u710C\u70F0\u7104\u70F3\u7110\u70FC\u70FF\u7106\u7113\u7100\u70F8\u70F6\u710B\u7102\u710E\u727E\u727B\u727C\u727F\u731D\u7317\u7307\u7311\u7318\u730A\u7308\u72FF\u730F\u731E\u7388\u73F6\u73F8\u73F5\u7404\u7401\u73FD\u7407\u7400\u73FA\u73FC\u73FF\u740C\u740B\u73F4\u7408\u7564\u7563\u75CE\u75D2\u75CF"], - ["d6a1", "\u75CB\u75CC\u75D1\u75D0\u768F\u7689\u76D3\u7739\u772F\u772D\u7731\u7732\u7734\u7733\u773D\u7725\u773B\u7735\u7848\u7852\u7849\u784D\u784A\u784C\u7826\u7845\u7850\u7964\u7967\u7969\u796A\u7963\u796B\u7961\u79BB\u79FA\u79F8\u79F6\u79F7\u7A8F\u7A94\u7A90\u7B35\u7B47\u7B34\u7B25\u7B30\u7B22\u7B24\u7B33\u7B18\u7B2A\u7B1D\u7B31\u7B2B\u7B2D\u7B2F\u7B32\u7B38\u7B1A\u7B23\u7C94\u7C98\u7C96\u7CA3\u7D35\u7D3D\u7D38\u7D36\u7D3A\u7D45\u7D2C\u7D29\u7D41\u7D47\u7D3E\u7D3F\u7D4A\u7D3B\u7D28\u7F63\u7F95\u7F9C\u7F9D\u7F9B\u7FCA\u7FCB\u7FCD\u7FD0\u7FD1\u7FC7\u7FCF\u7FC9\u801F"], - ["d740", "\u801E\u801B\u8047\u8043\u8048\u8118\u8125\u8119\u811B\u812D\u811F\u812C\u811E\u8121\u8115\u8127\u811D\u8122\u8211\u8238\u8233\u823A\u8234\u8232\u8274\u8390\u83A3\u83A8\u838D\u837A\u8373\u83A4\u8374\u838F\u8381\u8395\u8399\u8375\u8394\u83A9\u837D\u8383\u838C\u839D\u839B\u83AA\u838B\u837E\u83A5\u83AF\u8388\u8397\u83B0\u837F\u83A6\u8387\u83AE\u8376\u839A\u8659\u8656\u86BF\u86B7"], - ["d7a1", "\u86C2\u86C1\u86C5\u86BA\u86B0\u86C8\u86B9\u86B3\u86B8\u86CC\u86B4\u86BB\u86BC\u86C3\u86BD\u86BE\u8852\u8889\u8895\u88A8\u88A2\u88AA\u889A\u8891\u88A1\u889F\u8898\u88A7\u8899\u889B\u8897\u88A4\u88AC\u888C\u8893\u888E\u8982\u89D6\u89D9\u89D5\u8A30\u8A27\u8A2C\u8A1E\u8C39\u8C3B\u8C5C\u8C5D\u8C7D\u8CA5\u8D7D\u8D7B\u8D79\u8DBC\u8DC2\u8DB9\u8DBF\u8DC1\u8ED8\u8EDE\u8EDD\u8EDC\u8ED7\u8EE0\u8EE1\u9024\u900B\u9011\u901C\u900C\u9021\u90EF\u90EA\u90F0\u90F4\u90F2\u90F3\u90D4\u90EB\u90EC\u90E9\u9156\u9158\u915A\u9153\u9155\u91EC\u91F4\u91F1\u91F3\u91F8\u91E4\u91F9\u91EA"], - ["d840", "\u91EB\u91F7\u91E8\u91EE\u957A\u9586\u9588\u967C\u966D\u966B\u9671\u966F\u96BF\u976A\u9804\u98E5\u9997\u509B\u5095\u5094\u509E\u508B\u50A3\u5083\u508C\u508E\u509D\u5068\u509C\u5092\u5082\u5087\u515F\u51D4\u5312\u5311\u53A4\u53A7\u5591\u55A8\u55A5\u55AD\u5577\u5645\u55A2\u5593\u5588\u558F\u55B5\u5581\u55A3\u5592\u55A4\u557D\u558C\u55A6\u557F\u5595\u55A1\u558E\u570C\u5829\u5837"], - ["d8a1", "\u5819\u581E\u5827\u5823\u5828\u57F5\u5848\u5825\u581C\u581B\u5833\u583F\u5836\u582E\u5839\u5838\u582D\u582C\u583B\u5961\u5AAF\u5A94\u5A9F\u5A7A\u5AA2\u5A9E\u5A78\u5AA6\u5A7C\u5AA5\u5AAC\u5A95\u5AAE\u5A37\u5A84\u5A8A\u5A97\u5A83\u5A8B\u5AA9\u5A7B\u5A7D\u5A8C\u5A9C\u5A8F\u5A93\u5A9D\u5BEA\u5BCD\u5BCB\u5BD4\u5BD1\u5BCA\u5BCE\u5C0C\u5C30\u5D37\u5D43\u5D6B\u5D41\u5D4B\u5D3F\u5D35\u5D51\u5D4E\u5D55\u5D33\u5D3A\u5D52\u5D3D\u5D31\u5D59\u5D42\u5D39\u5D49\u5D38\u5D3C\u5D32\u5D36\u5D40\u5D45\u5E44\u5E41\u5F58\u5FA6\u5FA5\u5FAB\u60C9\u60B9\u60CC\u60E2\u60CE\u60C4\u6114"], - ["d940", "\u60F2\u610A\u6116\u6105\u60F5\u6113\u60F8\u60FC\u60FE\u60C1\u6103\u6118\u611D\u6110\u60FF\u6104\u610B\u624A\u6394\u63B1\u63B0\u63CE\u63E5\u63E8\u63EF\u63C3\u649D\u63F3\u63CA\u63E0\u63F6\u63D5\u63F2\u63F5\u6461\u63DF\u63BE\u63DD\u63DC\u63C4\u63D8\u63D3\u63C2\u63C7\u63CC\u63CB\u63C8\u63F0\u63D7\u63D9\u6532\u6567\u656A\u6564\u655C\u6568\u6565\u658C\u659D\u659E\u65AE\u65D0\u65D2"], - ["d9a1", "\u667C\u666C\u667B\u6680\u6671\u6679\u666A\u6672\u6701\u690C\u68D3\u6904\u68DC\u692A\u68EC\u68EA\u68F1\u690F\u68D6\u68F7\u68EB\u68E4\u68F6\u6913\u6910\u68F3\u68E1\u6907\u68CC\u6908\u6970\u68B4\u6911\u68EF\u68C6\u6914\u68F8\u68D0\u68FD\u68FC\u68E8\u690B\u690A\u6917\u68CE\u68C8\u68DD\u68DE\u68E6\u68F4\u68D1\u6906\u68D4\u68E9\u6915\u6925\u68C7\u6B39\u6B3B\u6B3F\u6B3C\u6B94\u6B97\u6B99\u6B95\u6BBD\u6BF0\u6BF2\u6BF3\u6C30\u6DFC\u6E46\u6E47\u6E1F\u6E49\u6E88\u6E3C\u6E3D\u6E45\u6E62\u6E2B\u6E3F\u6E41\u6E5D\u6E73\u6E1C\u6E33\u6E4B\u6E40\u6E51\u6E3B\u6E03\u6E2E\u6E5E"], - ["da40", "\u6E68\u6E5C\u6E61\u6E31\u6E28\u6E60\u6E71\u6E6B\u6E39\u6E22\u6E30\u6E53\u6E65\u6E27\u6E78\u6E64\u6E77\u6E55\u6E79\u6E52\u6E66\u6E35\u6E36\u6E5A\u7120\u711E\u712F\u70FB\u712E\u7131\u7123\u7125\u7122\u7132\u711F\u7128\u713A\u711B\u724B\u725A\u7288\u7289\u7286\u7285\u728B\u7312\u730B\u7330\u7322\u7331\u7333\u7327\u7332\u732D\u7326\u7323\u7335\u730C\u742E\u742C\u7430\u742B\u7416"], - ["daa1", "\u741A\u7421\u742D\u7431\u7424\u7423\u741D\u7429\u7420\u7432\u74FB\u752F\u756F\u756C\u75E7\u75DA\u75E1\u75E6\u75DD\u75DF\u75E4\u75D7\u7695\u7692\u76DA\u7746\u7747\u7744\u774D\u7745\u774A\u774E\u774B\u774C\u77DE\u77EC\u7860\u7864\u7865\u785C\u786D\u7871\u786A\u786E\u7870\u7869\u7868\u785E\u7862\u7974\u7973\u7972\u7970\u7A02\u7A0A\u7A03\u7A0C\u7A04\u7A99\u7AE6\u7AE4\u7B4A\u7B3B\u7B44\u7B48\u7B4C\u7B4E\u7B40\u7B58\u7B45\u7CA2\u7C9E\u7CA8\u7CA1\u7D58\u7D6F\u7D63\u7D53\u7D56\u7D67\u7D6A\u7D4F\u7D6D\u7D5C\u7D6B\u7D52\u7D54\u7D69\u7D51\u7D5F\u7D4E\u7F3E\u7F3F\u7F65"], - ["db40", "\u7F66\u7FA2\u7FA0\u7FA1\u7FD7\u8051\u804F\u8050\u80FE\u80D4\u8143\u814A\u8152\u814F\u8147\u813D\u814D\u813A\u81E6\u81EE\u81F7\u81F8\u81F9\u8204\u823C\u823D\u823F\u8275\u833B\u83CF\u83F9\u8423\u83C0\u83E8\u8412\u83E7\u83E4\u83FC\u83F6\u8410\u83C6\u83C8\u83EB\u83E3\u83BF\u8401\u83DD\u83E5\u83D8\u83FF\u83E1\u83CB\u83CE\u83D6\u83F5\u83C9\u8409\u840F\u83DE\u8411\u8406\u83C2\u83F3"], - ["dba1", "\u83D5\u83FA\u83C7\u83D1\u83EA\u8413\u83C3\u83EC\u83EE\u83C4\u83FB\u83D7\u83E2\u841B\u83DB\u83FE\u86D8\u86E2\u86E6\u86D3\u86E3\u86DA\u86EA\u86DD\u86EB\u86DC\u86EC\u86E9\u86D7\u86E8\u86D1\u8848\u8856\u8855\u88BA\u88D7\u88B9\u88B8\u88C0\u88BE\u88B6\u88BC\u88B7\u88BD\u88B2\u8901\u88C9\u8995\u8998\u8997\u89DD\u89DA\u89DB\u8A4E\u8A4D\u8A39\u8A59\u8A40\u8A57\u8A58\u8A44\u8A45\u8A52\u8A48\u8A51\u8A4A\u8A4C\u8A4F\u8C5F\u8C81\u8C80\u8CBA\u8CBE\u8CB0\u8CB9\u8CB5\u8D84\u8D80\u8D89\u8DD8\u8DD3\u8DCD\u8DC7\u8DD6\u8DDC\u8DCF\u8DD5\u8DD9\u8DC8\u8DD7\u8DC5\u8EEF\u8EF7\u8EFA"], - ["dc40", "\u8EF9\u8EE6\u8EEE\u8EE5\u8EF5\u8EE7\u8EE8\u8EF6\u8EEB\u8EF1\u8EEC\u8EF4\u8EE9\u902D\u9034\u902F\u9106\u912C\u9104\u90FF\u90FC\u9108\u90F9\u90FB\u9101\u9100\u9107\u9105\u9103\u9161\u9164\u915F\u9162\u9160\u9201\u920A\u9225\u9203\u921A\u9226\u920F\u920C\u9200\u9212\u91FF\u91FD\u9206\u9204\u9227\u9202\u921C\u9224\u9219\u9217\u9205\u9216\u957B\u958D\u958C\u9590\u9687\u967E\u9688"], - ["dca1", "\u9689\u9683\u9680\u96C2\u96C8\u96C3\u96F1\u96F0\u976C\u9770\u976E\u9807\u98A9\u98EB\u9CE6\u9EF9\u4E83\u4E84\u4EB6\u50BD\u50BF\u50C6\u50AE\u50C4\u50CA\u50B4\u50C8\u50C2\u50B0\u50C1\u50BA\u50B1\u50CB\u50C9\u50B6\u50B8\u51D7\u527A\u5278\u527B\u527C\u55C3\u55DB\u55CC\u55D0\u55CB\u55CA\u55DD\u55C0\u55D4\u55C4\u55E9\u55BF\u55D2\u558D\u55CF\u55D5\u55E2\u55D6\u55C8\u55F2\u55CD\u55D9\u55C2\u5714\u5853\u5868\u5864\u584F\u584D\u5849\u586F\u5855\u584E\u585D\u5859\u5865\u585B\u583D\u5863\u5871\u58FC\u5AC7\u5AC4\u5ACB\u5ABA\u5AB8\u5AB1\u5AB5\u5AB0\u5ABF\u5AC8\u5ABB\u5AC6"], - ["dd40", "\u5AB7\u5AC0\u5ACA\u5AB4\u5AB6\u5ACD\u5AB9\u5A90\u5BD6\u5BD8\u5BD9\u5C1F\u5C33\u5D71\u5D63\u5D4A\u5D65\u5D72\u5D6C\u5D5E\u5D68\u5D67\u5D62\u5DF0\u5E4F\u5E4E\u5E4A\u5E4D\u5E4B\u5EC5\u5ECC\u5EC6\u5ECB\u5EC7\u5F40\u5FAF\u5FAD\u60F7\u6149\u614A\u612B\u6145\u6136\u6132\u612E\u6146\u612F\u614F\u6129\u6140\u6220\u9168\u6223\u6225\u6224\u63C5\u63F1\u63EB\u6410\u6412\u6409\u6420\u6424"], - ["dda1", "\u6433\u6443\u641F\u6415\u6418\u6439\u6437\u6422\u6423\u640C\u6426\u6430\u6428\u6441\u6435\u642F\u640A\u641A\u6440\u6425\u6427\u640B\u63E7\u641B\u642E\u6421\u640E\u656F\u6592\u65D3\u6686\u668C\u6695\u6690\u668B\u668A\u6699\u6694\u6678\u6720\u6966\u695F\u6938\u694E\u6962\u6971\u693F\u6945\u696A\u6939\u6942\u6957\u6959\u697A\u6948\u6949\u6935\u696C\u6933\u693D\u6965\u68F0\u6978\u6934\u6969\u6940\u696F\u6944\u6976\u6958\u6941\u6974\u694C\u693B\u694B\u6937\u695C\u694F\u6951\u6932\u6952\u692F\u697B\u693C\u6B46\u6B45\u6B43\u6B42\u6B48\u6B41\u6B9B\uFA0D\u6BFB\u6BFC"], - ["de40", "\u6BF9\u6BF7\u6BF8\u6E9B\u6ED6\u6EC8\u6E8F\u6EC0\u6E9F\u6E93\u6E94\u6EA0\u6EB1\u6EB9\u6EC6\u6ED2\u6EBD\u6EC1\u6E9E\u6EC9\u6EB7\u6EB0\u6ECD\u6EA6\u6ECF\u6EB2\u6EBE\u6EC3\u6EDC\u6ED8\u6E99\u6E92\u6E8E\u6E8D\u6EA4\u6EA1\u6EBF\u6EB3\u6ED0\u6ECA\u6E97\u6EAE\u6EA3\u7147\u7154\u7152\u7163\u7160\u7141\u715D\u7162\u7172\u7178\u716A\u7161\u7142\u7158\u7143\u714B\u7170\u715F\u7150\u7153"], - ["dea1", "\u7144\u714D\u715A\u724F\u728D\u728C\u7291\u7290\u728E\u733C\u7342\u733B\u733A\u7340\u734A\u7349\u7444\u744A\u744B\u7452\u7451\u7457\u7440\u744F\u7450\u744E\u7442\u7446\u744D\u7454\u74E1\u74FF\u74FE\u74FD\u751D\u7579\u7577\u6983\u75EF\u760F\u7603\u75F7\u75FE\u75FC\u75F9\u75F8\u7610\u75FB\u75F6\u75ED\u75F5\u75FD\u7699\u76B5\u76DD\u7755\u775F\u7760\u7752\u7756\u775A\u7769\u7767\u7754\u7759\u776D\u77E0\u7887\u789A\u7894\u788F\u7884\u7895\u7885\u7886\u78A1\u7883\u7879\u7899\u7880\u7896\u787B\u797C\u7982\u797D\u7979\u7A11\u7A18\u7A19\u7A12\u7A17\u7A15\u7A22\u7A13"], - ["df40", "\u7A1B\u7A10\u7AA3\u7AA2\u7A9E\u7AEB\u7B66\u7B64\u7B6D\u7B74\u7B69\u7B72\u7B65\u7B73\u7B71\u7B70\u7B61\u7B78\u7B76\u7B63\u7CB2\u7CB4\u7CAF\u7D88\u7D86\u7D80\u7D8D\u7D7F\u7D85\u7D7A\u7D8E\u7D7B\u7D83\u7D7C\u7D8C\u7D94\u7D84\u7D7D\u7D92\u7F6D\u7F6B\u7F67\u7F68\u7F6C\u7FA6\u7FA5\u7FA7\u7FDB\u7FDC\u8021\u8164\u8160\u8177\u815C\u8169\u815B\u8162\u8172\u6721\u815E\u8176\u8167\u816F"], - ["dfa1", "\u8144\u8161\u821D\u8249\u8244\u8240\u8242\u8245\u84F1\u843F\u8456\u8476\u8479\u848F\u848D\u8465\u8451\u8440\u8486\u8467\u8430\u844D\u847D\u845A\u8459\u8474\u8473\u845D\u8507\u845E\u8437\u843A\u8434\u847A\u8443\u8478\u8432\u8445\u8429\u83D9\u844B\u842F\u8442\u842D\u845F\u8470\u8439\u844E\u844C\u8452\u846F\u84C5\u848E\u843B\u8447\u8436\u8433\u8468\u847E\u8444\u842B\u8460\u8454\u846E\u8450\u870B\u8704\u86F7\u870C\u86FA\u86D6\u86F5\u874D\u86F8\u870E\u8709\u8701\u86F6\u870D\u8705\u88D6\u88CB\u88CD\u88CE\u88DE\u88DB\u88DA\u88CC\u88D0\u8985\u899B\u89DF\u89E5\u89E4"], - ["e040", "\u89E1\u89E0\u89E2\u89DC\u89E6\u8A76\u8A86\u8A7F\u8A61\u8A3F\u8A77\u8A82\u8A84\u8A75\u8A83\u8A81\u8A74\u8A7A\u8C3C\u8C4B\u8C4A\u8C65\u8C64\u8C66\u8C86\u8C84\u8C85\u8CCC\u8D68\u8D69\u8D91\u8D8C\u8D8E\u8D8F\u8D8D\u8D93\u8D94\u8D90\u8D92\u8DF0\u8DE0\u8DEC\u8DF1\u8DEE\u8DD0\u8DE9\u8DE3\u8DE2\u8DE7\u8DF2\u8DEB\u8DF4\u8F06\u8EFF\u8F01\u8F00\u8F05\u8F07\u8F08\u8F02\u8F0B\u9052\u903F"], - ["e0a1", "\u9044\u9049\u903D\u9110\u910D\u910F\u9111\u9116\u9114\u910B\u910E\u916E\u916F\u9248\u9252\u9230\u923A\u9266\u9233\u9265\u925E\u9283\u922E\u924A\u9246\u926D\u926C\u924F\u9260\u9267\u926F\u9236\u9261\u9270\u9231\u9254\u9263\u9250\u9272\u924E\u9253\u924C\u9256\u9232\u959F\u959C\u959E\u959B\u9692\u9693\u9691\u9697\u96CE\u96FA\u96FD\u96F8\u96F5\u9773\u9777\u9778\u9772\u980F\u980D\u980E\u98AC\u98F6\u98F9\u99AF\u99B2\u99B0\u99B5\u9AAD\u9AAB\u9B5B\u9CEA\u9CED\u9CE7\u9E80\u9EFD\u50E6\u50D4\u50D7\u50E8\u50F3\u50DB\u50EA\u50DD\u50E4\u50D3\u50EC\u50F0\u50EF\u50E3\u50E0"], - ["e140", "\u51D8\u5280\u5281\u52E9\u52EB\u5330\u53AC\u5627\u5615\u560C\u5612\u55FC\u560F\u561C\u5601\u5613\u5602\u55FA\u561D\u5604\u55FF\u55F9\u5889\u587C\u5890\u5898\u5886\u5881\u587F\u5874\u588B\u587A\u5887\u5891\u588E\u5876\u5882\u5888\u587B\u5894\u588F\u58FE\u596B\u5ADC\u5AEE\u5AE5\u5AD5\u5AEA\u5ADA\u5AED\u5AEB\u5AF3\u5AE2\u5AE0\u5ADB\u5AEC\u5ADE\u5ADD\u5AD9\u5AE8\u5ADF\u5B77\u5BE0"], - ["e1a1", "\u5BE3\u5C63\u5D82\u5D80\u5D7D\u5D86\u5D7A\u5D81\u5D77\u5D8A\u5D89\u5D88\u5D7E\u5D7C\u5D8D\u5D79\u5D7F\u5E58\u5E59\u5E53\u5ED8\u5ED1\u5ED7\u5ECE\u5EDC\u5ED5\u5ED9\u5ED2\u5ED4\u5F44\u5F43\u5F6F\u5FB6\u612C\u6128\u6141\u615E\u6171\u6173\u6152\u6153\u6172\u616C\u6180\u6174\u6154\u617A\u615B\u6165\u613B\u616A\u6161\u6156\u6229\u6227\u622B\u642B\u644D\u645B\u645D\u6474\u6476\u6472\u6473\u647D\u6475\u6466\u64A6\u644E\u6482\u645E\u645C\u644B\u6453\u6460\u6450\u647F\u643F\u646C\u646B\u6459\u6465\u6477\u6573\u65A0\u66A1\u66A0\u669F\u6705\u6704\u6722\u69B1\u69B6\u69C9"], - ["e240", "\u69A0\u69CE\u6996\u69B0\u69AC\u69BC\u6991\u6999\u698E\u69A7\u698D\u69A9\u69BE\u69AF\u69BF\u69C4\u69BD\u69A4\u69D4\u69B9\u69CA\u699A\u69CF\u69B3\u6993\u69AA\u69A1\u699E\u69D9\u6997\u6990\u69C2\u69B5\u69A5\u69C6\u6B4A\u6B4D\u6B4B\u6B9E\u6B9F\u6BA0\u6BC3\u6BC4\u6BFE\u6ECE\u6EF5\u6EF1\u6F03\u6F25\u6EF8\u6F37\u6EFB\u6F2E\u6F09\u6F4E\u6F19\u6F1A\u6F27\u6F18\u6F3B\u6F12\u6EED\u6F0A"], - ["e2a1", "\u6F36\u6F73\u6EF9\u6EEE\u6F2D\u6F40\u6F30\u6F3C\u6F35\u6EEB\u6F07\u6F0E\u6F43\u6F05\u6EFD\u6EF6\u6F39\u6F1C\u6EFC\u6F3A\u6F1F\u6F0D\u6F1E\u6F08\u6F21\u7187\u7190\u7189\u7180\u7185\u7182\u718F\u717B\u7186\u7181\u7197\u7244\u7253\u7297\u7295\u7293\u7343\u734D\u7351\u734C\u7462\u7473\u7471\u7475\u7472\u7467\u746E\u7500\u7502\u7503\u757D\u7590\u7616\u7608\u760C\u7615\u7611\u760A\u7614\u76B8\u7781\u777C\u7785\u7782\u776E\u7780\u776F\u777E\u7783\u78B2\u78AA\u78B4\u78AD\u78A8\u787E\u78AB\u789E\u78A5\u78A0\u78AC\u78A2\u78A4\u7998\u798A\u798B\u7996\u7995\u7994\u7993"], - ["e340", "\u7997\u7988\u7992\u7990\u7A2B\u7A4A\u7A30\u7A2F\u7A28\u7A26\u7AA8\u7AAB\u7AAC\u7AEE\u7B88\u7B9C\u7B8A\u7B91\u7B90\u7B96\u7B8D\u7B8C\u7B9B\u7B8E\u7B85\u7B98\u5284\u7B99\u7BA4\u7B82\u7CBB\u7CBF\u7CBC\u7CBA\u7DA7\u7DB7\u7DC2\u7DA3\u7DAA\u7DC1\u7DC0\u7DC5\u7D9D\u7DCE\u7DC4\u7DC6\u7DCB\u7DCC\u7DAF\u7DB9\u7D96\u7DBC\u7D9F\u7DA6\u7DAE\u7DA9\u7DA1\u7DC9\u7F73\u7FE2\u7FE3\u7FE5\u7FDE"], - ["e3a1", "\u8024\u805D\u805C\u8189\u8186\u8183\u8187\u818D\u818C\u818B\u8215\u8497\u84A4\u84A1\u849F\u84BA\u84CE\u84C2\u84AC\u84AE\u84AB\u84B9\u84B4\u84C1\u84CD\u84AA\u849A\u84B1\u84D0\u849D\u84A7\u84BB\u84A2\u8494\u84C7\u84CC\u849B\u84A9\u84AF\u84A8\u84D6\u8498\u84B6\u84CF\u84A0\u84D7\u84D4\u84D2\u84DB\u84B0\u8491\u8661\u8733\u8723\u8728\u876B\u8740\u872E\u871E\u8721\u8719\u871B\u8743\u872C\u8741\u873E\u8746\u8720\u8732\u872A\u872D\u873C\u8712\u873A\u8731\u8735\u8742\u8726\u8727\u8738\u8724\u871A\u8730\u8711\u88F7\u88E7\u88F1\u88F2\u88FA\u88FE\u88EE\u88FC\u88F6\u88FB"], - ["e440", "\u88F0\u88EC\u88EB\u899D\u89A1\u899F\u899E\u89E9\u89EB\u89E8\u8AAB\u8A99\u8A8B\u8A92\u8A8F\u8A96\u8C3D\u8C68\u8C69\u8CD5\u8CCF\u8CD7\u8D96\u8E09\u8E02\u8DFF\u8E0D\u8DFD\u8E0A\u8E03\u8E07\u8E06\u8E05\u8DFE\u8E00\u8E04\u8F10\u8F11\u8F0E\u8F0D\u9123\u911C\u9120\u9122\u911F\u911D\u911A\u9124\u9121\u911B\u917A\u9172\u9179\u9173\u92A5\u92A4\u9276\u929B\u927A\u92A0\u9294\u92AA\u928D"], - ["e4a1", "\u92A6\u929A\u92AB\u9279\u9297\u927F\u92A3\u92EE\u928E\u9282\u9295\u92A2\u927D\u9288\u92A1\u928A\u9286\u928C\u9299\u92A7\u927E\u9287\u92A9\u929D\u928B\u922D\u969E\u96A1\u96FF\u9758\u977D\u977A\u977E\u9783\u9780\u9782\u977B\u9784\u9781\u977F\u97CE\u97CD\u9816\u98AD\u98AE\u9902\u9900\u9907\u999D\u999C\u99C3\u99B9\u99BB\u99BA\u99C2\u99BD\u99C7\u9AB1\u9AE3\u9AE7\u9B3E\u9B3F\u9B60\u9B61\u9B5F\u9CF1\u9CF2\u9CF5\u9EA7\u50FF\u5103\u5130\u50F8\u5106\u5107\u50F6\u50FE\u510B\u510C\u50FD\u510A\u528B\u528C\u52F1\u52EF\u5648\u5642\u564C\u5635\u5641\u564A\u5649\u5646\u5658"], - ["e540", "\u565A\u5640\u5633\u563D\u562C\u563E\u5638\u562A\u563A\u571A\u58AB\u589D\u58B1\u58A0\u58A3\u58AF\u58AC\u58A5\u58A1\u58FF\u5AFF\u5AF4\u5AFD\u5AF7\u5AF6\u5B03\u5AF8\u5B02\u5AF9\u5B01\u5B07\u5B05\u5B0F\u5C67\u5D99\u5D97\u5D9F\u5D92\u5DA2\u5D93\u5D95\u5DA0\u5D9C\u5DA1\u5D9A\u5D9E\u5E69\u5E5D\u5E60\u5E5C\u7DF3\u5EDB\u5EDE\u5EE1\u5F49\u5FB2\u618B\u6183\u6179\u61B1\u61B0\u61A2\u6189"], - ["e5a1", "\u619B\u6193\u61AF\u61AD\u619F\u6192\u61AA\u61A1\u618D\u6166\u61B3\u622D\u646E\u6470\u6496\u64A0\u6485\u6497\u649C\u648F\u648B\u648A\u648C\u64A3\u649F\u6468\u64B1\u6498\u6576\u657A\u6579\u657B\u65B2\u65B3\u66B5\u66B0\u66A9\u66B2\u66B7\u66AA\u66AF\u6A00\u6A06\u6A17\u69E5\u69F8\u6A15\u69F1\u69E4\u6A20\u69FF\u69EC\u69E2\u6A1B\u6A1D\u69FE\u6A27\u69F2\u69EE\u6A14\u69F7\u69E7\u6A40\u6A08\u69E6\u69FB\u6A0D\u69FC\u69EB\u6A09\u6A04\u6A18\u6A25\u6A0F\u69F6\u6A26\u6A07\u69F4\u6A16\u6B51\u6BA5\u6BA3\u6BA2\u6BA6\u6C01\u6C00\u6BFF\u6C02\u6F41\u6F26\u6F7E\u6F87\u6FC6\u6F92"], - ["e640", "\u6F8D\u6F89\u6F8C\u6F62\u6F4F\u6F85\u6F5A\u6F96\u6F76\u6F6C\u6F82\u6F55\u6F72\u6F52\u6F50\u6F57\u6F94\u6F93\u6F5D\u6F00\u6F61\u6F6B\u6F7D\u6F67\u6F90\u6F53\u6F8B\u6F69\u6F7F\u6F95\u6F63\u6F77\u6F6A\u6F7B\u71B2\u71AF\u719B\u71B0\u71A0\u719A\u71A9\u71B5\u719D\u71A5\u719E\u71A4\u71A1\u71AA\u719C\u71A7\u71B3\u7298\u729A\u7358\u7352\u735E\u735F\u7360\u735D\u735B\u7361\u735A\u7359"], - ["e6a1", "\u7362\u7487\u7489\u748A\u7486\u7481\u747D\u7485\u7488\u747C\u7479\u7508\u7507\u757E\u7625\u761E\u7619\u761D\u761C\u7623\u761A\u7628\u761B\u769C\u769D\u769E\u769B\u778D\u778F\u7789\u7788\u78CD\u78BB\u78CF\u78CC\u78D1\u78CE\u78D4\u78C8\u78C3\u78C4\u78C9\u799A\u79A1\u79A0\u799C\u79A2\u799B\u6B76\u7A39\u7AB2\u7AB4\u7AB3\u7BB7\u7BCB\u7BBE\u7BAC\u7BCE\u7BAF\u7BB9\u7BCA\u7BB5\u7CC5\u7CC8\u7CCC\u7CCB\u7DF7\u7DDB\u7DEA\u7DE7\u7DD7\u7DE1\u7E03\u7DFA\u7DE6\u7DF6\u7DF1\u7DF0\u7DEE\u7DDF\u7F76\u7FAC\u7FB0\u7FAD\u7FED\u7FEB\u7FEA\u7FEC\u7FE6\u7FE8\u8064\u8067\u81A3\u819F"], - ["e740", "\u819E\u8195\u81A2\u8199\u8197\u8216\u824F\u8253\u8252\u8250\u824E\u8251\u8524\u853B\u850F\u8500\u8529\u850E\u8509\u850D\u851F\u850A\u8527\u851C\u84FB\u852B\u84FA\u8508\u850C\u84F4\u852A\u84F2\u8515\u84F7\u84EB\u84F3\u84FC\u8512\u84EA\u84E9\u8516\u84FE\u8528\u851D\u852E\u8502\u84FD\u851E\u84F6\u8531\u8526\u84E7\u84E8\u84F0\u84EF\u84F9\u8518\u8520\u8530\u850B\u8519\u852F\u8662"], - ["e7a1", "\u8756\u8763\u8764\u8777\u87E1\u8773\u8758\u8754\u875B\u8752\u8761\u875A\u8751\u875E\u876D\u876A\u8750\u874E\u875F\u875D\u876F\u876C\u877A\u876E\u875C\u8765\u874F\u877B\u8775\u8762\u8767\u8769\u885A\u8905\u890C\u8914\u890B\u8917\u8918\u8919\u8906\u8916\u8911\u890E\u8909\u89A2\u89A4\u89A3\u89ED\u89F0\u89EC\u8ACF\u8AC6\u8AB8\u8AD3\u8AD1\u8AD4\u8AD5\u8ABB\u8AD7\u8ABE\u8AC0\u8AC5\u8AD8\u8AC3\u8ABA\u8ABD\u8AD9\u8C3E\u8C4D\u8C8F\u8CE5\u8CDF\u8CD9\u8CE8\u8CDA\u8CDD\u8CE7\u8DA0\u8D9C\u8DA1\u8D9B\u8E20\u8E23\u8E25\u8E24\u8E2E\u8E15\u8E1B\u8E16\u8E11\u8E19\u8E26\u8E27"], - ["e840", "\u8E14\u8E12\u8E18\u8E13\u8E1C\u8E17\u8E1A\u8F2C\u8F24\u8F18\u8F1A\u8F20\u8F23\u8F16\u8F17\u9073\u9070\u906F\u9067\u906B\u912F\u912B\u9129\u912A\u9132\u9126\u912E\u9185\u9186\u918A\u9181\u9182\u9184\u9180\u92D0\u92C3\u92C4\u92C0\u92D9\u92B6\u92CF\u92F1\u92DF\u92D8\u92E9\u92D7\u92DD\u92CC\u92EF\u92C2\u92E8\u92CA\u92C8\u92CE\u92E6\u92CD\u92D5\u92C9\u92E0\u92DE\u92E7\u92D1\u92D3"], - ["e8a1", "\u92B5\u92E1\u92C6\u92B4\u957C\u95AC\u95AB\u95AE\u95B0\u96A4\u96A2\u96D3\u9705\u9708\u9702\u975A\u978A\u978E\u9788\u97D0\u97CF\u981E\u981D\u9826\u9829\u9828\u9820\u981B\u9827\u98B2\u9908\u98FA\u9911\u9914\u9916\u9917\u9915\u99DC\u99CD\u99CF\u99D3\u99D4\u99CE\u99C9\u99D6\u99D8\u99CB\u99D7\u99CC\u9AB3\u9AEC\u9AEB\u9AF3\u9AF2\u9AF1\u9B46\u9B43\u9B67\u9B74\u9B71\u9B66\u9B76\u9B75\u9B70\u9B68\u9B64\u9B6C\u9CFC\u9CFA\u9CFD\u9CFF\u9CF7\u9D07\u9D00\u9CF9\u9CFB\u9D08\u9D05\u9D04\u9E83\u9ED3\u9F0F\u9F10\u511C\u5113\u5117\u511A\u5111\u51DE\u5334\u53E1\u5670\u5660\u566E"], - ["e940", "\u5673\u5666\u5663\u566D\u5672\u565E\u5677\u571C\u571B\u58C8\u58BD\u58C9\u58BF\u58BA\u58C2\u58BC\u58C6\u5B17\u5B19\u5B1B\u5B21\u5B14\u5B13\u5B10\u5B16\u5B28\u5B1A\u5B20\u5B1E\u5BEF\u5DAC\u5DB1\u5DA9\u5DA7\u5DB5\u5DB0\u5DAE\u5DAA\u5DA8\u5DB2\u5DAD\u5DAF\u5DB4\u5E67\u5E68\u5E66\u5E6F\u5EE9\u5EE7\u5EE6\u5EE8\u5EE5\u5F4B\u5FBC\u619D\u61A8\u6196\u61C5\u61B4\u61C6\u61C1\u61CC\u61BA"], - ["e9a1", "\u61BF\u61B8\u618C\u64D7\u64D6\u64D0\u64CF\u64C9\u64BD\u6489\u64C3\u64DB\u64F3\u64D9\u6533\u657F\u657C\u65A2\u66C8\u66BE\u66C0\u66CA\u66CB\u66CF\u66BD\u66BB\u66BA\u66CC\u6723\u6A34\u6A66\u6A49\u6A67\u6A32\u6A68\u6A3E\u6A5D\u6A6D\u6A76\u6A5B\u6A51\u6A28\u6A5A\u6A3B\u6A3F\u6A41\u6A6A\u6A64\u6A50\u6A4F\u6A54\u6A6F\u6A69\u6A60\u6A3C\u6A5E\u6A56\u6A55\u6A4D\u6A4E\u6A46\u6B55\u6B54\u6B56\u6BA7\u6BAA\u6BAB\u6BC8\u6BC7\u6C04\u6C03\u6C06\u6FAD\u6FCB\u6FA3\u6FC7\u6FBC\u6FCE\u6FC8\u6F5E\u6FC4\u6FBD\u6F9E\u6FCA\u6FA8\u7004\u6FA5\u6FAE\u6FBA\u6FAC\u6FAA\u6FCF\u6FBF\u6FB8"], - ["ea40", "\u6FA2\u6FC9\u6FAB\u6FCD\u6FAF\u6FB2\u6FB0\u71C5\u71C2\u71BF\u71B8\u71D6\u71C0\u71C1\u71CB\u71D4\u71CA\u71C7\u71CF\u71BD\u71D8\u71BC\u71C6\u71DA\u71DB\u729D\u729E\u7369\u7366\u7367\u736C\u7365\u736B\u736A\u747F\u749A\u74A0\u7494\u7492\u7495\u74A1\u750B\u7580\u762F\u762D\u7631\u763D\u7633\u763C\u7635\u7632\u7630\u76BB\u76E6\u779A\u779D\u77A1\u779C\u779B\u77A2\u77A3\u7795\u7799"], - ["eaa1", "\u7797\u78DD\u78E9\u78E5\u78EA\u78DE\u78E3\u78DB\u78E1\u78E2\u78ED\u78DF\u78E0\u79A4\u7A44\u7A48\u7A47\u7AB6\u7AB8\u7AB5\u7AB1\u7AB7\u7BDE\u7BE3\u7BE7\u7BDD\u7BD5\u7BE5\u7BDA\u7BE8\u7BF9\u7BD4\u7BEA\u7BE2\u7BDC\u7BEB\u7BD8\u7BDF\u7CD2\u7CD4\u7CD7\u7CD0\u7CD1\u7E12\u7E21\u7E17\u7E0C\u7E1F\u7E20\u7E13\u7E0E\u7E1C\u7E15\u7E1A\u7E22\u7E0B\u7E0F\u7E16\u7E0D\u7E14\u7E25\u7E24\u7F43\u7F7B\u7F7C\u7F7A\u7FB1\u7FEF\u802A\u8029\u806C\u81B1\u81A6\u81AE\u81B9\u81B5\u81AB\u81B0\u81AC\u81B4\u81B2\u81B7\u81A7\u81F2\u8255\u8256\u8257\u8556\u8545\u856B\u854D\u8553\u8561\u8558"], - ["eb40", "\u8540\u8546\u8564\u8541\u8562\u8544\u8551\u8547\u8563\u853E\u855B\u8571\u854E\u856E\u8575\u8555\u8567\u8560\u858C\u8566\u855D\u8554\u8565\u856C\u8663\u8665\u8664\u879B\u878F\u8797\u8793\u8792\u8788\u8781\u8796\u8798\u8779\u8787\u87A3\u8785\u8790\u8791\u879D\u8784\u8794\u879C\u879A\u8789\u891E\u8926\u8930\u892D\u892E\u8927\u8931\u8922\u8929\u8923\u892F\u892C\u891F\u89F1\u8AE0"], - ["eba1", "\u8AE2\u8AF2\u8AF4\u8AF5\u8ADD\u8B14\u8AE4\u8ADF\u8AF0\u8AC8\u8ADE\u8AE1\u8AE8\u8AFF\u8AEF\u8AFB\u8C91\u8C92\u8C90\u8CF5\u8CEE\u8CF1\u8CF0\u8CF3\u8D6C\u8D6E\u8DA5\u8DA7\u8E33\u8E3E\u8E38\u8E40\u8E45\u8E36\u8E3C\u8E3D\u8E41\u8E30\u8E3F\u8EBD\u8F36\u8F2E\u8F35\u8F32\u8F39\u8F37\u8F34\u9076\u9079\u907B\u9086\u90FA\u9133\u9135\u9136\u9193\u9190\u9191\u918D\u918F\u9327\u931E\u9308\u931F\u9306\u930F\u937A\u9338\u933C\u931B\u9323\u9312\u9301\u9346\u932D\u930E\u930D\u92CB\u931D\u92FA\u9325\u9313\u92F9\u92F7\u9334\u9302\u9324\u92FF\u9329\u9339\u9335\u932A\u9314\u930C"], - ["ec40", "\u930B\u92FE\u9309\u9300\u92FB\u9316\u95BC\u95CD\u95BE\u95B9\u95BA\u95B6\u95BF\u95B5\u95BD\u96A9\u96D4\u970B\u9712\u9710\u9799\u9797\u9794\u97F0\u97F8\u9835\u982F\u9832\u9924\u991F\u9927\u9929\u999E\u99EE\u99EC\u99E5\u99E4\u99F0\u99E3\u99EA\u99E9\u99E7\u9AB9\u9ABF\u9AB4\u9ABB\u9AF6\u9AFA\u9AF9\u9AF7\u9B33\u9B80\u9B85\u9B87\u9B7C\u9B7E\u9B7B\u9B82\u9B93\u9B92\u9B90\u9B7A\u9B95"], - ["eca1", "\u9B7D\u9B88\u9D25\u9D17\u9D20\u9D1E\u9D14\u9D29\u9D1D\u9D18\u9D22\u9D10\u9D19\u9D1F\u9E88\u9E86\u9E87\u9EAE\u9EAD\u9ED5\u9ED6\u9EFA\u9F12\u9F3D\u5126\u5125\u5122\u5124\u5120\u5129\u52F4\u5693\u568C\u568D\u5686\u5684\u5683\u567E\u5682\u567F\u5681\u58D6\u58D4\u58CF\u58D2\u5B2D\u5B25\u5B32\u5B23\u5B2C\u5B27\u5B26\u5B2F\u5B2E\u5B7B\u5BF1\u5BF2\u5DB7\u5E6C\u5E6A\u5FBE\u5FBB\u61C3\u61B5\u61BC\u61E7\u61E0\u61E5\u61E4\u61E8\u61DE\u64EF\u64E9\u64E3\u64EB\u64E4\u64E8\u6581\u6580\u65B6\u65DA\u66D2\u6A8D\u6A96\u6A81\u6AA5\u6A89\u6A9F\u6A9B\u6AA1\u6A9E\u6A87\u6A93\u6A8E"], - ["ed40", "\u6A95\u6A83\u6AA8\u6AA4\u6A91\u6A7F\u6AA6\u6A9A\u6A85\u6A8C\u6A92\u6B5B\u6BAD\u6C09\u6FCC\u6FA9\u6FF4\u6FD4\u6FE3\u6FDC\u6FED\u6FE7\u6FE6\u6FDE\u6FF2\u6FDD\u6FE2\u6FE8\u71E1\u71F1\u71E8\u71F2\u71E4\u71F0\u71E2\u7373\u736E\u736F\u7497\u74B2\u74AB\u7490\u74AA\u74AD\u74B1\u74A5\u74AF\u7510\u7511\u7512\u750F\u7584\u7643\u7648\u7649\u7647\u76A4\u76E9\u77B5\u77AB\u77B2\u77B7\u77B6"], - ["eda1", "\u77B4\u77B1\u77A8\u77F0\u78F3\u78FD\u7902\u78FB\u78FC\u78F2\u7905\u78F9\u78FE\u7904\u79AB\u79A8\u7A5C\u7A5B\u7A56\u7A58\u7A54\u7A5A\u7ABE\u7AC0\u7AC1\u7C05\u7C0F\u7BF2\u7C00\u7BFF\u7BFB\u7C0E\u7BF4\u7C0B\u7BF3\u7C02\u7C09\u7C03\u7C01\u7BF8\u7BFD\u7C06\u7BF0\u7BF1\u7C10\u7C0A\u7CE8\u7E2D\u7E3C\u7E42\u7E33\u9848\u7E38\u7E2A\u7E49\u7E40\u7E47\u7E29\u7E4C\u7E30\u7E3B\u7E36\u7E44\u7E3A\u7F45\u7F7F\u7F7E\u7F7D\u7FF4\u7FF2\u802C\u81BB\u81C4\u81CC\u81CA\u81C5\u81C7\u81BC\u81E9\u825B\u825A\u825C\u8583\u8580\u858F\u85A7\u8595\u85A0\u858B\u85A3\u857B\u85A4\u859A\u859E"], - ["ee40", "\u8577\u857C\u8589\u85A1\u857A\u8578\u8557\u858E\u8596\u8586\u858D\u8599\u859D\u8581\u85A2\u8582\u8588\u8585\u8579\u8576\u8598\u8590\u859F\u8668\u87BE\u87AA\u87AD\u87C5\u87B0\u87AC\u87B9\u87B5\u87BC\u87AE\u87C9\u87C3\u87C2\u87CC\u87B7\u87AF\u87C4\u87CA\u87B4\u87B6\u87BF\u87B8\u87BD\u87DE\u87B2\u8935\u8933\u893C\u893E\u8941\u8952\u8937\u8942\u89AD\u89AF\u89AE\u89F2\u89F3\u8B1E"], - ["eea1", "\u8B18\u8B16\u8B11\u8B05\u8B0B\u8B22\u8B0F\u8B12\u8B15\u8B07\u8B0D\u8B08\u8B06\u8B1C\u8B13\u8B1A\u8C4F\u8C70\u8C72\u8C71\u8C6F\u8C95\u8C94\u8CF9\u8D6F\u8E4E\u8E4D\u8E53\u8E50\u8E4C\u8E47\u8F43\u8F40\u9085\u907E\u9138\u919A\u91A2\u919B\u9199\u919F\u91A1\u919D\u91A0\u93A1\u9383\u93AF\u9364\u9356\u9347\u937C\u9358\u935C\u9376\u9349\u9350\u9351\u9360\u936D\u938F\u934C\u936A\u9379\u9357\u9355\u9352\u934F\u9371\u9377\u937B\u9361\u935E\u9363\u9367\u9380\u934E\u9359\u95C7\u95C0\u95C9\u95C3\u95C5\u95B7\u96AE\u96B0\u96AC\u9720\u971F\u9718\u971D\u9719\u979A\u97A1\u979C"], - ["ef40", "\u979E\u979D\u97D5\u97D4\u97F1\u9841\u9844\u984A\u9849\u9845\u9843\u9925\u992B\u992C\u992A\u9933\u9932\u992F\u992D\u9931\u9930\u9998\u99A3\u99A1\u9A02\u99FA\u99F4\u99F7\u99F9\u99F8\u99F6\u99FB\u99FD\u99FE\u99FC\u9A03\u9ABE\u9AFE\u9AFD\u9B01\u9AFC\u9B48\u9B9A\u9BA8\u9B9E\u9B9B\u9BA6\u9BA1\u9BA5\u9BA4\u9B86\u9BA2\u9BA0\u9BAF\u9D33\u9D41\u9D67\u9D36\u9D2E\u9D2F\u9D31\u9D38\u9D30"], - ["efa1", "\u9D45\u9D42\u9D43\u9D3E\u9D37\u9D40\u9D3D\u7FF5\u9D2D\u9E8A\u9E89\u9E8D\u9EB0\u9EC8\u9EDA\u9EFB\u9EFF\u9F24\u9F23\u9F22\u9F54\u9FA0\u5131\u512D\u512E\u5698\u569C\u5697\u569A\u569D\u5699\u5970\u5B3C\u5C69\u5C6A\u5DC0\u5E6D\u5E6E\u61D8\u61DF\u61ED\u61EE\u61F1\u61EA\u61F0\u61EB\u61D6\u61E9\u64FF\u6504\u64FD\u64F8\u6501\u6503\u64FC\u6594\u65DB\u66DA\u66DB\u66D8\u6AC5\u6AB9\u6ABD\u6AE1\u6AC6\u6ABA\u6AB6\u6AB7\u6AC7\u6AB4\u6AAD\u6B5E\u6BC9\u6C0B\u7007\u700C\u700D\u7001\u7005\u7014\u700E\u6FFF\u7000\u6FFB\u7026\u6FFC\u6FF7\u700A\u7201\u71FF\u71F9\u7203\u71FD\u7376"], - ["f040", "\u74B8\u74C0\u74B5\u74C1\u74BE\u74B6\u74BB\u74C2\u7514\u7513\u765C\u7664\u7659\u7650\u7653\u7657\u765A\u76A6\u76BD\u76EC\u77C2\u77BA\u78FF\u790C\u7913\u7914\u7909\u7910\u7912\u7911\u79AD\u79AC\u7A5F\u7C1C\u7C29\u7C19\u7C20\u7C1F\u7C2D\u7C1D\u7C26\u7C28\u7C22\u7C25\u7C30\u7E5C\u7E50\u7E56\u7E63\u7E58\u7E62\u7E5F\u7E51\u7E60\u7E57\u7E53\u7FB5\u7FB3\u7FF7\u7FF8\u8075\u81D1\u81D2"], - ["f0a1", "\u81D0\u825F\u825E\u85B4\u85C6\u85C0\u85C3\u85C2\u85B3\u85B5\u85BD\u85C7\u85C4\u85BF\u85CB\u85CE\u85C8\u85C5\u85B1\u85B6\u85D2\u8624\u85B8\u85B7\u85BE\u8669\u87E7\u87E6\u87E2\u87DB\u87EB\u87EA\u87E5\u87DF\u87F3\u87E4\u87D4\u87DC\u87D3\u87ED\u87D8\u87E3\u87A4\u87D7\u87D9\u8801\u87F4\u87E8\u87DD\u8953\u894B\u894F\u894C\u8946\u8950\u8951\u8949\u8B2A\u8B27\u8B23\u8B33\u8B30\u8B35\u8B47\u8B2F\u8B3C\u8B3E\u8B31\u8B25\u8B37\u8B26\u8B36\u8B2E\u8B24\u8B3B\u8B3D\u8B3A\u8C42\u8C75\u8C99\u8C98\u8C97\u8CFE\u8D04\u8D02\u8D00\u8E5C\u8E62\u8E60\u8E57\u8E56\u8E5E\u8E65\u8E67"], - ["f140", "\u8E5B\u8E5A\u8E61\u8E5D\u8E69\u8E54\u8F46\u8F47\u8F48\u8F4B\u9128\u913A\u913B\u913E\u91A8\u91A5\u91A7\u91AF\u91AA\u93B5\u938C\u9392\u93B7\u939B\u939D\u9389\u93A7\u938E\u93AA\u939E\u93A6\u9395\u9388\u9399\u939F\u938D\u93B1\u9391\u93B2\u93A4\u93A8\u93B4\u93A3\u93A5\u95D2\u95D3\u95D1\u96B3\u96D7\u96DA\u5DC2\u96DF\u96D8\u96DD\u9723\u9722\u9725\u97AC\u97AE\u97A8\u97AB\u97A4\u97AA"], - ["f1a1", "\u97A2\u97A5\u97D7\u97D9\u97D6\u97D8\u97FA\u9850\u9851\u9852\u98B8\u9941\u993C\u993A\u9A0F\u9A0B\u9A09\u9A0D\u9A04\u9A11\u9A0A\u9A05\u9A07\u9A06\u9AC0\u9ADC\u9B08\u9B04\u9B05\u9B29\u9B35\u9B4A\u9B4C\u9B4B\u9BC7\u9BC6\u9BC3\u9BBF\u9BC1\u9BB5\u9BB8\u9BD3\u9BB6\u9BC4\u9BB9\u9BBD\u9D5C\u9D53\u9D4F\u9D4A\u9D5B\u9D4B\u9D59\u9D56\u9D4C\u9D57\u9D52\u9D54\u9D5F\u9D58\u9D5A\u9E8E\u9E8C\u9EDF\u9F01\u9F00\u9F16\u9F25\u9F2B\u9F2A\u9F29\u9F28\u9F4C\u9F55\u5134\u5135\u5296\u52F7\u53B4\u56AB\u56AD\u56A6\u56A7\u56AA\u56AC\u58DA\u58DD\u58DB\u5912\u5B3D\u5B3E\u5B3F\u5DC3\u5E70"], - ["f240", "\u5FBF\u61FB\u6507\u6510\u650D\u6509\u650C\u650E\u6584\u65DE\u65DD\u66DE\u6AE7\u6AE0\u6ACC\u6AD1\u6AD9\u6ACB\u6ADF\u6ADC\u6AD0\u6AEB\u6ACF\u6ACD\u6ADE\u6B60\u6BB0\u6C0C\u7019\u7027\u7020\u7016\u702B\u7021\u7022\u7023\u7029\u7017\u7024\u701C\u702A\u720C\u720A\u7207\u7202\u7205\u72A5\u72A6\u72A4\u72A3\u72A1\u74CB\u74C5\u74B7\u74C3\u7516\u7660\u77C9\u77CA\u77C4\u77F1\u791D\u791B"], - ["f2a1", "\u7921\u791C\u7917\u791E\u79B0\u7A67\u7A68\u7C33\u7C3C\u7C39\u7C2C\u7C3B\u7CEC\u7CEA\u7E76\u7E75\u7E78\u7E70\u7E77\u7E6F\u7E7A\u7E72\u7E74\u7E68\u7F4B\u7F4A\u7F83\u7F86\u7FB7\u7FFD\u7FFE\u8078\u81D7\u81D5\u8264\u8261\u8263\u85EB\u85F1\u85ED\u85D9\u85E1\u85E8\u85DA\u85D7\u85EC\u85F2\u85F8\u85D8\u85DF\u85E3\u85DC\u85D1\u85F0\u85E6\u85EF\u85DE\u85E2\u8800\u87FA\u8803\u87F6\u87F7\u8809\u880C\u880B\u8806\u87FC\u8808\u87FF\u880A\u8802\u8962\u895A\u895B\u8957\u8961\u895C\u8958\u895D\u8959\u8988\u89B7\u89B6\u89F6\u8B50\u8B48\u8B4A\u8B40\u8B53\u8B56\u8B54\u8B4B\u8B55"], - ["f340", "\u8B51\u8B42\u8B52\u8B57\u8C43\u8C77\u8C76\u8C9A\u8D06\u8D07\u8D09\u8DAC\u8DAA\u8DAD\u8DAB\u8E6D\u8E78\u8E73\u8E6A\u8E6F\u8E7B\u8EC2\u8F52\u8F51\u8F4F\u8F50\u8F53\u8FB4\u9140\u913F\u91B0\u91AD\u93DE\u93C7\u93CF\u93C2\u93DA\u93D0\u93F9\u93EC\u93CC\u93D9\u93A9\u93E6\u93CA\u93D4\u93EE\u93E3\u93D5\u93C4\u93CE\u93C0\u93D2\u93E7\u957D\u95DA\u95DB\u96E1\u9729\u972B\u972C\u9728\u9726"], - ["f3a1", "\u97B3\u97B7\u97B6\u97DD\u97DE\u97DF\u985C\u9859\u985D\u9857\u98BF\u98BD\u98BB\u98BE\u9948\u9947\u9943\u99A6\u99A7\u9A1A\u9A15\u9A25\u9A1D\u9A24\u9A1B\u9A22\u9A20\u9A27\u9A23\u9A1E\u9A1C\u9A14\u9AC2\u9B0B\u9B0A\u9B0E\u9B0C\u9B37\u9BEA\u9BEB\u9BE0\u9BDE\u9BE4\u9BE6\u9BE2\u9BF0\u9BD4\u9BD7\u9BEC\u9BDC\u9BD9\u9BE5\u9BD5\u9BE1\u9BDA\u9D77\u9D81\u9D8A\u9D84\u9D88\u9D71\u9D80\u9D78\u9D86\u9D8B\u9D8C\u9D7D\u9D6B\u9D74\u9D75\u9D70\u9D69\u9D85\u9D73\u9D7B\u9D82\u9D6F\u9D79\u9D7F\u9D87\u9D68\u9E94\u9E91\u9EC0\u9EFC\u9F2D\u9F40\u9F41\u9F4D\u9F56\u9F57\u9F58\u5337\u56B2"], - ["f440", "\u56B5\u56B3\u58E3\u5B45\u5DC6\u5DC7\u5EEE\u5EEF\u5FC0\u5FC1\u61F9\u6517\u6516\u6515\u6513\u65DF\u66E8\u66E3\u66E4\u6AF3\u6AF0\u6AEA\u6AE8\u6AF9\u6AF1\u6AEE\u6AEF\u703C\u7035\u702F\u7037\u7034\u7031\u7042\u7038\u703F\u703A\u7039\u7040\u703B\u7033\u7041\u7213\u7214\u72A8\u737D\u737C\u74BA\u76AB\u76AA\u76BE\u76ED\u77CC\u77CE\u77CF\u77CD\u77F2\u7925\u7923\u7927\u7928\u7924\u7929"], - ["f4a1", "\u79B2\u7A6E\u7A6C\u7A6D\u7AF7\u7C49\u7C48\u7C4A\u7C47\u7C45\u7CEE\u7E7B\u7E7E\u7E81\u7E80\u7FBA\u7FFF\u8079\u81DB\u81D9\u820B\u8268\u8269\u8622\u85FF\u8601\u85FE\u861B\u8600\u85F6\u8604\u8609\u8605\u860C\u85FD\u8819\u8810\u8811\u8817\u8813\u8816\u8963\u8966\u89B9\u89F7\u8B60\u8B6A\u8B5D\u8B68\u8B63\u8B65\u8B67\u8B6D\u8DAE\u8E86\u8E88\u8E84\u8F59\u8F56\u8F57\u8F55\u8F58\u8F5A\u908D\u9143\u9141\u91B7\u91B5\u91B2\u91B3\u940B\u9413\u93FB\u9420\u940F\u9414\u93FE\u9415\u9410\u9428\u9419\u940D\u93F5\u9400\u93F7\u9407\u940E\u9416\u9412\u93FA\u9409\u93F8\u940A\u93FF"], - ["f540", "\u93FC\u940C\u93F6\u9411\u9406\u95DE\u95E0\u95DF\u972E\u972F\u97B9\u97BB\u97FD\u97FE\u9860\u9862\u9863\u985F\u98C1\u98C2\u9950\u994E\u9959\u994C\u994B\u9953\u9A32\u9A34\u9A31\u9A2C\u9A2A\u9A36\u9A29\u9A2E\u9A38\u9A2D\u9AC7\u9ACA\u9AC6\u9B10\u9B12\u9B11\u9C0B\u9C08\u9BF7\u9C05\u9C12\u9BF8\u9C40\u9C07\u9C0E\u9C06\u9C17\u9C14\u9C09\u9D9F\u9D99\u9DA4\u9D9D\u9D92\u9D98\u9D90\u9D9B"], - ["f5a1", "\u9DA0\u9D94\u9D9C\u9DAA\u9D97\u9DA1\u9D9A\u9DA2\u9DA8\u9D9E\u9DA3\u9DBF\u9DA9\u9D96\u9DA6\u9DA7\u9E99\u9E9B\u9E9A\u9EE5\u9EE4\u9EE7\u9EE6\u9F30\u9F2E\u9F5B\u9F60\u9F5E\u9F5D\u9F59\u9F91\u513A\u5139\u5298\u5297\u56C3\u56BD\u56BE\u5B48\u5B47\u5DCB\u5DCF\u5EF1\u61FD\u651B\u6B02\u6AFC\u6B03\u6AF8\u6B00\u7043\u7044\u704A\u7048\u7049\u7045\u7046\u721D\u721A\u7219\u737E\u7517\u766A\u77D0\u792D\u7931\u792F\u7C54\u7C53\u7CF2\u7E8A\u7E87\u7E88\u7E8B\u7E86\u7E8D\u7F4D\u7FBB\u8030\u81DD\u8618\u862A\u8626\u861F\u8623\u861C\u8619\u8627\u862E\u8621\u8620\u8629\u861E\u8625"], - ["f640", "\u8829\u881D\u881B\u8820\u8824\u881C\u882B\u884A\u896D\u8969\u896E\u896B\u89FA\u8B79\u8B78\u8B45\u8B7A\u8B7B\u8D10\u8D14\u8DAF\u8E8E\u8E8C\u8F5E\u8F5B\u8F5D\u9146\u9144\u9145\u91B9\u943F\u943B\u9436\u9429\u943D\u943C\u9430\u9439\u942A\u9437\u942C\u9440\u9431\u95E5\u95E4\u95E3\u9735\u973A\u97BF\u97E1\u9864\u98C9\u98C6\u98C0\u9958\u9956\u9A39\u9A3D\u9A46\u9A44\u9A42\u9A41\u9A3A"], - ["f6a1", "\u9A3F\u9ACD\u9B15\u9B17\u9B18\u9B16\u9B3A\u9B52\u9C2B\u9C1D\u9C1C\u9C2C\u9C23\u9C28\u9C29\u9C24\u9C21\u9DB7\u9DB6\u9DBC\u9DC1\u9DC7\u9DCA\u9DCF\u9DBE\u9DC5\u9DC3\u9DBB\u9DB5\u9DCE\u9DB9\u9DBA\u9DAC\u9DC8\u9DB1\u9DAD\u9DCC\u9DB3\u9DCD\u9DB2\u9E7A\u9E9C\u9EEB\u9EEE\u9EED\u9F1B\u9F18\u9F1A\u9F31\u9F4E\u9F65\u9F64\u9F92\u4EB9\u56C6\u56C5\u56CB\u5971\u5B4B\u5B4C\u5DD5\u5DD1\u5EF2\u6521\u6520\u6526\u6522\u6B0B\u6B08\u6B09\u6C0D\u7055\u7056\u7057\u7052\u721E\u721F\u72A9\u737F\u74D8\u74D5\u74D9\u74D7\u766D\u76AD\u7935\u79B4\u7A70\u7A71\u7C57\u7C5C\u7C59\u7C5B\u7C5A"], - ["f740", "\u7CF4\u7CF1\u7E91\u7F4F\u7F87\u81DE\u826B\u8634\u8635\u8633\u862C\u8632\u8636\u882C\u8828\u8826\u882A\u8825\u8971\u89BF\u89BE\u89FB\u8B7E\u8B84\u8B82\u8B86\u8B85\u8B7F\u8D15\u8E95\u8E94\u8E9A\u8E92\u8E90\u8E96\u8E97\u8F60\u8F62\u9147\u944C\u9450\u944A\u944B\u944F\u9447\u9445\u9448\u9449\u9446\u973F\u97E3\u986A\u9869\u98CB\u9954\u995B\u9A4E\u9A53\u9A54\u9A4C\u9A4F\u9A48\u9A4A"], - ["f7a1", "\u9A49\u9A52\u9A50\u9AD0\u9B19\u9B2B\u9B3B\u9B56\u9B55\u9C46\u9C48\u9C3F\u9C44\u9C39\u9C33\u9C41\u9C3C\u9C37\u9C34\u9C32\u9C3D\u9C36\u9DDB\u9DD2\u9DDE\u9DDA\u9DCB\u9DD0\u9DDC\u9DD1\u9DDF\u9DE9\u9DD9\u9DD8\u9DD6\u9DF5\u9DD5\u9DDD\u9EB6\u9EF0\u9F35\u9F33\u9F32\u9F42\u9F6B\u9F95\u9FA2\u513D\u5299\u58E8\u58E7\u5972\u5B4D\u5DD8\u882F\u5F4F\u6201\u6203\u6204\u6529\u6525\u6596\u66EB\u6B11\u6B12\u6B0F\u6BCA\u705B\u705A\u7222\u7382\u7381\u7383\u7670\u77D4\u7C67\u7C66\u7E95\u826C\u863A\u8640\u8639\u863C\u8631\u863B\u863E\u8830\u8832\u882E\u8833\u8976\u8974\u8973\u89FE"], - ["f840", "\u8B8C\u8B8E\u8B8B\u8B88\u8C45\u8D19\u8E98\u8F64\u8F63\u91BC\u9462\u9455\u945D\u9457\u945E\u97C4\u97C5\u9800\u9A56\u9A59\u9B1E\u9B1F\u9B20\u9C52\u9C58\u9C50\u9C4A\u9C4D\u9C4B\u9C55\u9C59\u9C4C\u9C4E\u9DFB\u9DF7\u9DEF\u9DE3\u9DEB\u9DF8\u9DE4\u9DF6\u9DE1\u9DEE\u9DE6\u9DF2\u9DF0\u9DE2\u9DEC\u9DF4\u9DF3\u9DE8\u9DED\u9EC2\u9ED0\u9EF2\u9EF3\u9F06\u9F1C\u9F38\u9F37\u9F36\u9F43\u9F4F"], - ["f8a1", "\u9F71\u9F70\u9F6E\u9F6F\u56D3\u56CD\u5B4E\u5C6D\u652D\u66ED\u66EE\u6B13\u705F\u7061\u705D\u7060\u7223\u74DB\u74E5\u77D5\u7938\u79B7\u79B6\u7C6A\u7E97\u7F89\u826D\u8643\u8838\u8837\u8835\u884B\u8B94\u8B95\u8E9E\u8E9F\u8EA0\u8E9D\u91BE\u91BD\u91C2\u946B\u9468\u9469\u96E5\u9746\u9743\u9747\u97C7\u97E5\u9A5E\u9AD5\u9B59\u9C63\u9C67\u9C66\u9C62\u9C5E\u9C60\u9E02\u9DFE\u9E07\u9E03\u9E06\u9E05\u9E00\u9E01\u9E09\u9DFF\u9DFD\u9E04\u9EA0\u9F1E\u9F46\u9F74\u9F75\u9F76\u56D4\u652E\u65B8\u6B18\u6B19\u6B17\u6B1A\u7062\u7226\u72AA\u77D8\u77D9\u7939\u7C69\u7C6B\u7CF6\u7E9A"], - ["f940", "\u7E98\u7E9B\u7E99\u81E0\u81E1\u8646\u8647\u8648\u8979\u897A\u897C\u897B\u89FF\u8B98\u8B99\u8EA5\u8EA4\u8EA3\u946E\u946D\u946F\u9471\u9473\u9749\u9872\u995F\u9C68\u9C6E\u9C6D\u9E0B\u9E0D\u9E10\u9E0F\u9E12\u9E11\u9EA1\u9EF5\u9F09\u9F47\u9F78\u9F7B\u9F7A\u9F79\u571E\u7066\u7C6F\u883C\u8DB2\u8EA6\u91C3\u9474\u9478\u9476\u9475\u9A60\u9C74\u9C73\u9C71\u9C75\u9E14\u9E13\u9EF6\u9F0A"], - ["f9a1", "\u9FA4\u7068\u7065\u7CF7\u866A\u883E\u883D\u883F\u8B9E\u8C9C\u8EA9\u8EC9\u974B\u9873\u9874\u98CC\u9961\u99AB\u9A64\u9A66\u9A67\u9B24\u9E15\u9E17\u9F48\u6207\u6B1E\u7227\u864C\u8EA8\u9482\u9480\u9481\u9A69\u9A68\u9B2E\u9E19\u7229\u864B\u8B9F\u9483\u9C79\u9EB7\u7675\u9A6B\u9C7A\u9E1D\u7069\u706A\u9EA4\u9F7E\u9F49\u9F98\u7881\u92B9\u88CF\u58BB\u6052\u7CA7\u5AFA\u2554\u2566\u2557\u2560\u256C\u2563\u255A\u2569\u255D\u2552\u2564\u2555\u255E\u256A\u2561\u2558\u2567\u255B\u2553\u2565\u2556\u255F\u256B\u2562\u2559\u2568\u255C\u2551\u2550\u256D\u256E\u2570\u256F\u2593"] - ]; - } -}); - -// node_modules/iconv-lite/encodings/tables/big5-added.json -var require_big5_added = __commonJS({ - "node_modules/iconv-lite/encodings/tables/big5-added.json"(exports2, module2) { - module2.exports = [ - ["8740", "\u43F0\u4C32\u4603\u45A6\u4578\u{27267}\u4D77\u45B3\u{27CB1}\u4CE2\u{27CC5}\u3B95\u4736\u4744\u4C47\u4C40\u{242BF}\u{23617}\u{27352}\u{26E8B}\u{270D2}\u4C57\u{2A351}\u474F\u45DA\u4C85\u{27C6C}\u4D07\u4AA4\u46A1\u{26B23}\u7225\u{25A54}\u{21A63}\u{23E06}\u{23F61}\u664D\u56FB"], - ["8767", "\u7D95\u591D\u{28BB9}\u3DF4\u9734\u{27BEF}\u5BDB\u{21D5E}\u5AA4\u3625\u{29EB0}\u5AD1\u5BB7\u5CFC\u676E\u8593\u{29945}\u7461\u749D\u3875\u{21D53}\u{2369E}\u{26021}\u3EEC"], - ["87a1", "\u{258DE}\u3AF5\u7AFC\u9F97\u{24161}\u{2890D}\u{231EA}\u{20A8A}\u{2325E}\u430A\u8484\u9F96\u942F\u4930\u8613\u5896\u974A\u9218\u79D0\u7A32\u6660\u6A29\u889D\u744C\u7BC5\u6782\u7A2C\u524F\u9046\u34E6\u73C4\u{25DB9}\u74C6\u9FC7\u57B3\u492F\u544C\u4131\u{2368E}\u5818\u7A72\u{27B65}\u8B8F\u46AE\u{26E88}\u4181\u{25D99}\u7BAE\u{224BC}\u9FC8\u{224C1}\u{224C9}\u{224CC}\u9FC9\u8504\u{235BB}\u40B4\u9FCA\u44E1\u{2ADFF}\u62C1\u706E\u9FCB"], - ["8840", "\u31C0", 4, "\u{2010C}\u31C5\u{200D1}\u{200CD}\u31C6\u31C7\u{200CB}\u{21FE8}\u31C8\u{200CA}\u31C9\u31CA\u31CB\u31CC\u{2010E}\u31CD\u31CE\u0100\xC1\u01CD\xC0\u0112\xC9\u011A\xC8\u014C\xD3\u01D1\xD2\u0FFF\xCA\u0304\u1EBE\u0FFF\xCA\u030C\u1EC0\xCA\u0101\xE1\u01CE\xE0\u0251\u0113\xE9\u011B\xE8\u012B\xED\u01D0\xEC\u014D\xF3\u01D2\xF2\u016B\xFA\u01D4\xF9\u01D6\u01D8\u01DA"], - ["88a1", "\u01DC\xFC\u0FFF\xEA\u0304\u1EBF\u0FFF\xEA\u030C\u1EC1\xEA\u0261\u23DA\u23DB"], - ["8940", "\u{2A3A9}\u{21145}"], - ["8943", "\u650A"], - ["8946", "\u4E3D\u6EDD\u9D4E\u91DF"], - ["894c", "\u{27735}\u6491\u4F1A\u4F28\u4FA8\u5156\u5174\u519C\u51E4\u52A1\u52A8\u533B\u534E\u53D1\u53D8\u56E2\u58F0\u5904\u5907\u5932\u5934\u5B66\u5B9E\u5B9F\u5C9A\u5E86\u603B\u6589\u67FE\u6804\u6865\u6D4E\u70BC\u7535\u7EA4\u7EAC\u7EBA\u7EC7\u7ECF\u7EDF\u7F06\u7F37\u827A\u82CF\u836F\u89C6\u8BBE\u8BE2\u8F66\u8F67\u8F6E"], - ["89a1", "\u7411\u7CFC\u7DCD\u6946\u7AC9\u5227"], - ["89ab", "\u918C\u78B8\u915E\u80BC"], - ["89b0", "\u8D0B\u80F6\u{209E7}"], - ["89b5", "\u809F\u9EC7\u4CCD\u9DC9\u9E0C\u4C3E\u{29DF6}\u{2700E}\u9E0A\u{2A133}\u35C1"], - ["89c1", "\u6E9A\u823E\u7519"], - ["89c5", "\u4911\u9A6C\u9A8F\u9F99\u7987\u{2846C}\u{21DCA}\u{205D0}\u{22AE6}\u4E24\u4E81\u4E80\u4E87\u4EBF\u4EEB\u4F37\u344C\u4FBD\u3E48\u5003\u5088\u347D\u3493\u34A5\u5186\u5905\u51DB\u51FC\u5205\u4E89\u5279\u5290\u5327\u35C7\u53A9\u3551\u53B0\u3553\u53C2\u5423\u356D\u3572\u3681\u5493\u54A3\u54B4\u54B9\u54D0\u54EF\u5518\u5523\u5528\u3598\u553F\u35A5\u35BF\u55D7\u35C5"], - ["8a40", "\u{27D84}\u5525"], - ["8a43", "\u{20C42}\u{20D15}\u{2512B}\u5590\u{22CC6}\u39EC\u{20341}\u8E46\u{24DB8}\u{294E5}\u4053\u{280BE}\u777A\u{22C38}\u3A34\u47D5\u{2815D}\u{269F2}\u{24DEA}\u64DD\u{20D7C}\u{20FB4}\u{20CD5}\u{210F4}\u648D\u8E7E\u{20E96}\u{20C0B}\u{20F64}\u{22CA9}\u{28256}\u{244D3}"], - ["8a64", "\u{20D46}\u{29A4D}\u{280E9}\u47F4\u{24EA7}\u{22CC2}\u9AB2\u3A67\u{295F4}\u3FED\u3506\u{252C7}\u{297D4}\u{278C8}\u{22D44}\u9D6E\u9815"], - ["8a76", "\u43D9\u{260A5}\u64B4\u54E3\u{22D4C}\u{22BCA}\u{21077}\u39FB\u{2106F}"], - ["8aa1", "\u{266DA}\u{26716}\u{279A0}\u64EA\u{25052}\u{20C43}\u8E68\u{221A1}\u{28B4C}\u{20731}"], - ["8aac", "\u480B\u{201A9}\u3FFA\u5873\u{22D8D}"], - ["8ab2", "\u{245C8}\u{204FC}\u{26097}\u{20F4C}\u{20D96}\u5579\u40BB\u43BA"], - ["8abb", "\u4AB4\u{22A66}\u{2109D}\u81AA\u98F5\u{20D9C}\u6379\u39FE\u{22775}\u8DC0\u56A1\u647C\u3E43"], - ["8ac9", "\u{2A601}\u{20E09}\u{22ACF}\u{22CC9}"], - ["8ace", "\u{210C8}\u{239C2}\u3992\u3A06\u{2829B}\u3578\u{25E49}\u{220C7}\u5652\u{20F31}\u{22CB2}\u{29720}\u34BC\u6C3D\u{24E3B}"], - ["8adf", "\u{27574}\u{22E8B}\u{22208}\u{2A65B}\u{28CCD}\u{20E7A}\u{20C34}\u{2681C}\u7F93\u{210CF}\u{22803}\u{22939}\u35FB\u{251E3}\u{20E8C}\u{20F8D}\u{20EAA}\u3F93\u{20F30}\u{20D47}\u{2114F}\u{20E4C}"], - ["8af6", "\u{20EAB}\u{20BA9}\u{20D48}\u{210C0}\u{2113D}\u3FF9\u{22696}\u6432\u{20FAD}"], - ["8b40", "\u{233F4}\u{27639}\u{22BCE}\u{20D7E}\u{20D7F}\u{22C51}\u{22C55}\u3A18\u{20E98}\u{210C7}\u{20F2E}\u{2A632}\u{26B50}\u{28CD2}\u{28D99}\u{28CCA}\u95AA\u54CC\u82C4\u55B9"], - ["8b55", "\u{29EC3}\u9C26\u9AB6\u{2775E}\u{22DEE}\u7140\u816D\u80EC\u5C1C\u{26572}\u8134\u3797\u535F\u{280BD}\u91B6\u{20EFA}\u{20E0F}\u{20E77}\u{20EFB}\u35DD\u{24DEB}\u3609\u{20CD6}\u56AF\u{227B5}\u{210C9}\u{20E10}\u{20E78}\u{21078}\u{21148}\u{28207}\u{21455}\u{20E79}\u{24E50}\u{22DA4}\u5A54\u{2101D}\u{2101E}\u{210F5}\u{210F6}\u579C\u{20E11}"], - ["8ba1", "\u{27694}\u{282CD}\u{20FB5}\u{20E7B}\u{2517E}\u3703\u{20FB6}\u{21180}\u{252D8}\u{2A2BD}\u{249DA}\u{2183A}\u{24177}\u{2827C}\u5899\u5268\u361A\u{2573D}\u7BB2\u5B68\u4800\u4B2C\u9F27\u49E7\u9C1F\u9B8D\u{25B74}\u{2313D}\u55FB\u35F2\u5689\u4E28\u5902\u{21BC1}\u{2F878}\u9751\u{20086}\u4E5B\u4EBB\u353E\u5C23\u5F51\u5FC4\u38FA\u624C\u6535\u6B7A\u6C35\u6C3A\u706C\u722B\u4E2C\u72AD\u{248E9}\u7F52\u793B\u7CF9\u7F53\u{2626A}\u34C1"], - ["8bde", "\u{2634B}\u8002\u8080\u{26612}\u{26951}\u535D\u8864\u89C1\u{278B2}\u8BA0\u8D1D\u9485\u9578\u957F\u95E8\u{28E0F}\u97E6\u9875\u98CE\u98DE\u9963\u{29810}\u9C7C\u9E1F\u9EC4\u6B6F\uF907\u4E37\u{20087}\u961D\u6237\u94A2"], - ["8c40", "\u503B\u6DFE\u{29C73}\u9FA6\u3DC9\u888F\u{2414E}\u7077\u5CF5\u4B20\u{251CD}\u3559\u{25D30}\u6122\u{28A32}\u8FA7\u91F6\u7191\u6719\u73BA\u{23281}\u{2A107}\u3C8B\u{21980}\u4B10\u78E4\u7402\u51AE\u{2870F}\u4009\u6A63\u{2A2BA}\u4223\u860F\u{20A6F}\u7A2A\u{29947}\u{28AEA}\u9755\u704D\u5324\u{2207E}\u93F4\u76D9\u{289E3}\u9FA7\u77DD\u4EA3\u4FF0\u50BC\u4E2F\u4F17\u9FA8\u5434\u7D8B\u5892\u58D0\u{21DB6}\u5E92\u5E99\u5FC2\u{22712}\u658B"], - ["8ca1", "\u{233F9}\u6919\u6A43\u{23C63}\u6CFF"], - ["8ca7", "\u7200\u{24505}\u738C\u3EDB\u{24A13}\u5B15\u74B9\u8B83\u{25CA4}\u{25695}\u7A93\u7BEC\u7CC3\u7E6C\u82F8\u8597\u9FA9\u8890\u9FAA\u8EB9\u9FAB\u8FCF\u855F\u99E0\u9221\u9FAC\u{28DB9}\u{2143F}\u4071\u42A2\u5A1A"], - ["8cc9", "\u9868\u676B\u4276\u573D"], - ["8cce", "\u85D6\u{2497B}\u82BF\u{2710D}\u4C81\u{26D74}\u5D7B\u{26B15}\u{26FBE}\u9FAD\u9FAE\u5B96\u9FAF\u66E7\u7E5B\u6E57\u79CA\u3D88\u44C3\u{23256}\u{22796}\u439A\u4536"], - ["8ce6", "\u5CD5\u{23B1A}\u8AF9\u5C78\u3D12\u{23551}\u5D78\u9FB2\u7157\u4558\u{240EC}\u{21E23}\u4C77\u3978\u344A\u{201A4}\u{26C41}\u8ACC\u4FB4\u{20239}\u59BF\u816C\u9856\u{298FA}\u5F3B"], - ["8d40", "\u{20B9F}"], - ["8d42", "\u{221C1}\u{2896D}\u4102\u46BB\u{29079}\u3F07\u9FB3\u{2A1B5}\u40F8\u37D6\u46F7\u{26C46}\u417C\u{286B2}\u{273FF}\u456D\u38D4\u{2549A}\u4561\u451B\u4D89\u4C7B\u4D76\u45EA\u3FC8\u{24B0F}\u3661\u44DE\u44BD\u41ED\u5D3E\u5D48\u5D56\u3DFC\u380F\u5DA4\u5DB9\u3820\u3838\u5E42\u5EBD\u5F25\u5F83\u3908\u3914\u393F\u394D\u60D7\u613D\u5CE5\u3989\u61B7\u61B9\u61CF\u39B8\u622C\u6290\u62E5\u6318\u39F8\u56B1"], - ["8da1", "\u3A03\u63E2\u63FB\u6407\u645A\u3A4B\u64C0\u5D15\u5621\u9F9F\u3A97\u6586\u3ABD\u65FF\u6653\u3AF2\u6692\u3B22\u6716\u3B42\u67A4\u6800\u3B58\u684A\u6884\u3B72\u3B71\u3B7B\u6909\u6943\u725C\u6964\u699F\u6985\u3BBC\u69D6\u3BDD\u6A65\u6A74\u6A71\u6A82\u3BEC\u6A99\u3BF2\u6AAB\u6AB5\u6AD4\u6AF6\u6B81\u6BC1\u6BEA\u6C75\u6CAA\u3CCB\u6D02\u6D06\u6D26\u6D81\u3CEF\u6DA4\u6DB1\u6E15\u6E18\u6E29\u6E86\u{289C0}\u6EBB\u6EE2\u6EDA\u9F7F\u6EE8\u6EE9\u6F24\u6F34\u3D46\u{23F41}\u6F81\u6FBE\u3D6A\u3D75\u71B7\u5C99\u3D8A\u702C\u3D91\u7050\u7054\u706F\u707F\u7089\u{20325}\u43C1\u35F1\u{20ED8}"], - ["8e40", "\u{23ED7}\u57BE\u{26ED3}\u713E\u{257E0}\u364E\u69A2\u{28BE9}\u5B74\u7A49\u{258E1}\u{294D9}\u7A65\u7A7D\u{259AC}\u7ABB\u7AB0\u7AC2\u7AC3\u71D1\u{2648D}\u41CA\u7ADA\u7ADD\u7AEA\u41EF\u54B2\u{25C01}\u7B0B\u7B55\u7B29\u{2530E}\u{25CFE}\u7BA2\u7B6F\u839C\u{25BB4}\u{26C7F}\u7BD0\u8421\u7B92\u7BB8\u{25D20}\u3DAD\u{25C65}\u8492\u7BFA\u7C06\u7C35\u{25CC1}\u7C44\u7C83\u{24882}\u7CA6\u667D\u{24578}\u7CC9\u7CC7\u7CE6\u7C74\u7CF3\u7CF5\u7CCE"], - ["8ea1", "\u7E67\u451D\u{26E44}\u7D5D\u{26ED6}\u748D\u7D89\u7DAB\u7135\u7DB3\u7DD2\u{24057}\u{26029}\u7DE4\u3D13\u7DF5\u{217F9}\u7DE5\u{2836D}\u7E1D\u{26121}\u{2615A}\u7E6E\u7E92\u432B\u946C\u7E27\u7F40\u7F41\u7F47\u7936\u{262D0}\u99E1\u7F97\u{26351}\u7FA3\u{21661}\u{20068}\u455C\u{23766}\u4503\u{2833A}\u7FFA\u{26489}\u8005\u8008\u801D\u8028\u802F\u{2A087}\u{26CC3}\u803B\u803C\u8061\u{22714}\u4989\u{26626}\u{23DE3}\u{266E8}\u6725\u80A7\u{28A48}\u8107\u811A\u58B0\u{226F6}\u6C7F\u{26498}\u{24FB8}\u64E7\u{2148A}\u8218\u{2185E}\u6A53\u{24A65}\u{24A95}\u447A\u8229\u{20B0D}\u{26A52}\u{23D7E}\u4FF9\u{214FD}\u84E2\u8362\u{26B0A}\u{249A7}\u{23530}\u{21773}\u{23DF8}\u82AA\u691B\u{2F994}\u41DB"], - ["8f40", "\u854B\u82D0\u831A\u{20E16}\u{217B4}\u36C1\u{2317D}\u{2355A}\u827B\u82E2\u8318\u{23E8B}\u{26DA3}\u{26B05}\u{26B97}\u{235CE}\u3DBF\u831D\u55EC\u8385\u450B\u{26DA5}\u83AC\u83C1\u83D3\u347E\u{26ED4}\u6A57\u855A\u3496\u{26E42}\u{22EEF}\u8458\u{25BE4}\u8471\u3DD3\u44E4\u6AA7\u844A\u{23CB5}\u7958\u84A8\u{26B96}\u{26E77}\u{26E43}\u84DE\u840F\u8391\u44A0\u8493\u84E4\u{25C91}\u4240\u{25CC0}\u4543\u8534\u5AF2\u{26E99}\u4527\u8573\u4516\u67BF\u8616"], - ["8fa1", "\u{28625}\u{2863B}\u85C1\u{27088}\u8602\u{21582}\u{270CD}\u{2F9B2}\u456A\u8628\u3648\u{218A2}\u53F7\u{2739A}\u867E\u8771\u{2A0F8}\u87EE\u{22C27}\u87B1\u87DA\u880F\u5661\u866C\u6856\u460F\u8845\u8846\u{275E0}\u{23DB9}\u{275E4}\u885E\u889C\u465B\u88B4\u88B5\u63C1\u88C5\u7777\u{2770F}\u8987\u898A\u89A6\u89A9\u89A7\u89BC\u{28A25}\u89E7\u{27924}\u{27ABD}\u8A9C\u7793\u91FE\u8A90\u{27A59}\u7AE9\u{27B3A}\u{23F8F}\u4713\u{27B38}\u717C\u8B0C\u8B1F\u{25430}\u{25565}\u8B3F\u8B4C\u8B4D\u8AA9\u{24A7A}\u8B90\u8B9B\u8AAF\u{216DF}\u4615\u884F\u8C9B\u{27D54}\u{27D8F}\u{2F9D4}\u3725\u{27D53}\u8CD6\u{27D98}\u{27DBD}\u8D12\u8D03\u{21910}\u8CDB\u705C\u8D11\u{24CC9}\u3ED0\u8D77"], - ["9040", "\u8DA9\u{28002}\u{21014}\u{2498A}\u3B7C\u{281BC}\u{2710C}\u7AE7\u8EAD\u8EB6\u8EC3\u92D4\u8F19\u8F2D\u{28365}\u{28412}\u8FA5\u9303\u{2A29F}\u{20A50}\u8FB3\u492A\u{289DE}\u{2853D}\u{23DBB}\u5EF8\u{23262}\u8FF9\u{2A014}\u{286BC}\u{28501}\u{22325}\u3980\u{26ED7}\u9037\u{2853C}\u{27ABE}\u9061\u{2856C}\u{2860B}\u90A8\u{28713}\u90C4\u{286E6}\u90AE\u90FD\u9167\u3AF0\u91A9\u91C4\u7CAC\u{28933}\u{21E89}\u920E\u6C9F\u9241\u9262\u{255B9}\u92B9\u{28AC6}\u{23C9B}\u{28B0C}\u{255DB}"], - ["90a1", "\u{20D31}\u932C\u936B\u{28AE1}\u{28BEB}\u708F\u5AC3\u{28AE2}\u{28AE5}\u4965\u9244\u{28BEC}\u{28C39}\u{28BFF}\u9373\u945B\u8EBC\u9585\u95A6\u9426\u95A0\u6FF6\u42B9\u{2267A}\u{286D8}\u{2127C}\u{23E2E}\u49DF\u6C1C\u967B\u9696\u416C\u96A3\u{26ED5}\u61DA\u96B6\u78F5\u{28AE0}\u96BD\u53CC\u49A1\u{26CB8}\u{20274}\u{26410}\u{290AF}\u{290E5}\u{24AD1}\u{21915}\u{2330A}\u9731\u8642\u9736\u4A0F\u453D\u4585\u{24AE9}\u7075\u5B41\u971B\u975C\u{291D5}\u9757\u5B4A\u{291EB}\u975F\u9425\u50D0\u{230B7}\u{230BC}\u9789\u979F\u97B1\u97BE\u97C0\u97D2\u97E0\u{2546C}\u97EE\u741C\u{29433}\u97FF\u97F5\u{2941D}\u{2797A}\u4AD1\u9834\u9833\u984B\u9866\u3B0E\u{27175}\u3D51\u{20630}\u{2415C}"], - ["9140", "\u{25706}\u98CA\u98B7\u98C8\u98C7\u4AFF\u{26D27}\u{216D3}\u55B0\u98E1\u98E6\u98EC\u9378\u9939\u{24A29}\u4B72\u{29857}\u{29905}\u99F5\u9A0C\u9A3B\u9A10\u9A58\u{25725}\u36C4\u{290B1}\u{29BD5}\u9AE0\u9AE2\u{29B05}\u9AF4\u4C0E\u9B14\u9B2D\u{28600}\u5034\u9B34\u{269A8}\u38C3\u{2307D}\u9B50\u9B40\u{29D3E}\u5A45\u{21863}\u9B8E\u{2424B}\u9C02\u9BFF\u9C0C\u{29E68}\u9DD4\u{29FB7}\u{2A192}\u{2A1AB}\u{2A0E1}\u{2A123}\u{2A1DF}\u9D7E\u9D83\u{2A134}\u9E0E\u6888"], - ["91a1", "\u9DC4\u{2215B}\u{2A193}\u{2A220}\u{2193B}\u{2A233}\u9D39\u{2A0B9}\u{2A2B4}\u9E90\u9E95\u9E9E\u9EA2\u4D34\u9EAA\u9EAF\u{24364}\u9EC1\u3B60\u39E5\u3D1D\u4F32\u37BE\u{28C2B}\u9F02\u9F08\u4B96\u9424\u{26DA2}\u9F17\u9F16\u9F39\u569F\u568A\u9F45\u99B8\u{2908B}\u97F2\u847F\u9F62\u9F69\u7ADC\u9F8E\u7216\u4BBE\u{24975}\u{249BB}\u7177\u{249F8}\u{24348}\u{24A51}\u739E\u{28BDA}\u{218FA}\u799F\u{2897E}\u{28E36}\u9369\u93F3\u{28A44}\u92EC\u9381\u93CB\u{2896C}\u{244B9}\u7217\u3EEB\u7772\u7A43\u70D0\u{24473}\u{243F8}\u717E\u{217EF}\u70A3\u{218BE}\u{23599}\u3EC7\u{21885}\u{2542F}\u{217F8}\u3722\u{216FB}\u{21839}\u36E1\u{21774}\u{218D1}\u{25F4B}\u3723\u{216C0}\u575B\u{24A25}\u{213FE}\u{212A8}"], - ["9240", "\u{213C6}\u{214B6}\u8503\u{236A6}\u8503\u8455\u{24994}\u{27165}\u{23E31}\u{2555C}\u{23EFB}\u{27052}\u44F4\u{236EE}\u{2999D}\u{26F26}\u67F9\u3733\u3C15\u3DE7\u586C\u{21922}\u6810\u4057\u{2373F}\u{240E1}\u{2408B}\u{2410F}\u{26C21}\u54CB\u569E\u{266B1}\u5692\u{20FDF}\u{20BA8}\u{20E0D}\u93C6\u{28B13}\u939C\u4EF8\u512B\u3819\u{24436}\u4EBC\u{20465}\u{2037F}\u4F4B\u4F8A\u{25651}\u5A68\u{201AB}\u{203CB}\u3999\u{2030A}\u{20414}\u3435\u4F29\u{202C0}\u{28EB3}\u{20275}\u8ADA\u{2020C}\u4E98"], - ["92a1", "\u50CD\u510D\u4FA2\u4F03\u{24A0E}\u{23E8A}\u4F42\u502E\u506C\u5081\u4FCC\u4FE5\u5058\u50FC\u5159\u515B\u515D\u515E\u6E76\u{23595}\u{23E39}\u{23EBF}\u6D72\u{21884}\u{23E89}\u51A8\u51C3\u{205E0}\u44DD\u{204A3}\u{20492}\u{20491}\u8D7A\u{28A9C}\u{2070E}\u5259\u52A4\u{20873}\u52E1\u936E\u467A\u718C\u{2438C}\u{20C20}\u{249AC}\u{210E4}\u69D1\u{20E1D}\u7479\u3EDE\u7499\u7414\u7456\u7398\u4B8E\u{24ABC}\u{2408D}\u53D0\u3584\u720F\u{240C9}\u55B4\u{20345}\u54CD\u{20BC6}\u571D\u925D\u96F4\u9366\u57DD\u578D\u577F\u363E\u58CB\u5A99\u{28A46}\u{216FA}\u{2176F}\u{21710}\u5A2C\u59B8\u928F\u5A7E\u5ACF\u5A12\u{25946}\u{219F3}\u{21861}\u{24295}\u36F5\u6D05\u7443\u5A21\u{25E83}"], - ["9340", "\u5A81\u{28BD7}\u{20413}\u93E0\u748C\u{21303}\u7105\u4972\u9408\u{289FB}\u93BD\u37A0\u5C1E\u5C9E\u5E5E\u5E48\u{21996}\u{2197C}\u{23AEE}\u5ECD\u5B4F\u{21903}\u{21904}\u3701\u{218A0}\u36DD\u{216FE}\u36D3\u812A\u{28A47}\u{21DBA}\u{23472}\u{289A8}\u5F0C\u5F0E\u{21927}\u{217AB}\u5A6B\u{2173B}\u5B44\u8614\u{275FD}\u8860\u607E\u{22860}\u{2262B}\u5FDB\u3EB8\u{225AF}\u{225BE}\u{29088}\u{26F73}\u61C0\u{2003E}\u{20046}\u{2261B}\u6199\u6198\u6075\u{22C9B}\u{22D07}\u{246D4}\u{2914D}"], - ["93a1", "\u6471\u{24665}\u{22B6A}\u3A29\u{22B22}\u{23450}\u{298EA}\u{22E78}\u6337\u{2A45B}\u64B6\u6331\u63D1\u{249E3}\u{22D67}\u62A4\u{22CA1}\u643B\u656B\u6972\u3BF4\u{2308E}\u{232AD}\u{24989}\u{232AB}\u550D\u{232E0}\u{218D9}\u{2943F}\u66CE\u{23289}\u{231B3}\u3AE0\u4190\u{25584}\u{28B22}\u{2558F}\u{216FC}\u{2555B}\u{25425}\u78EE\u{23103}\u{2182A}\u{23234}\u3464\u{2320F}\u{23182}\u{242C9}\u668E\u{26D24}\u666B\u4B93\u6630\u{27870}\u{21DEB}\u6663\u{232D2}\u{232E1}\u661E\u{25872}\u38D1\u{2383A}\u{237BC}\u3B99\u{237A2}\u{233FE}\u74D0\u3B96\u678F\u{2462A}\u68B6\u681E\u3BC4\u6ABE\u3863\u{237D5}\u{24487}\u6A33\u6A52\u6AC9\u6B05\u{21912}\u6511\u6898\u6A4C\u3BD7\u6A7A\u6B57\u{23FC0}\u{23C9A}\u93A0\u92F2\u{28BEA}\u{28ACB}"], - ["9440", "\u9289\u{2801E}\u{289DC}\u9467\u6DA5\u6F0B\u{249EC}\u6D67\u{23F7F}\u3D8F\u6E04\u{2403C}\u5A3D\u6E0A\u5847\u6D24\u7842\u713B\u{2431A}\u{24276}\u70F1\u7250\u7287\u7294\u{2478F}\u{24725}\u5179\u{24AA4}\u{205EB}\u747A\u{23EF8}\u{2365F}\u{24A4A}\u{24917}\u{25FE1}\u3F06\u3EB1\u{24ADF}\u{28C23}\u{23F35}\u60A7\u3EF3\u74CC\u743C\u9387\u7437\u449F\u{26DEA}\u4551\u7583\u3F63\u{24CD9}\u{24D06}\u3F58\u7555\u7673\u{2A5C6}\u3B19\u7468\u{28ACC}\u{249AB}\u{2498E}\u3AFB"], - ["94a1", "\u3DCD\u{24A4E}\u3EFF\u{249C5}\u{248F3}\u91FA\u5732\u9342\u{28AE3}\u{21864}\u50DF\u{25221}\u{251E7}\u7778\u{23232}\u770E\u770F\u777B\u{24697}\u{23781}\u3A5E\u{248F0}\u7438\u749B\u3EBF\u{24ABA}\u{24AC7}\u40C8\u{24A96}\u{261AE}\u9307\u{25581}\u781E\u788D\u7888\u78D2\u73D0\u7959\u{27741}\u{256E3}\u410E\u799B\u8496\u79A5\u6A2D\u{23EFA}\u7A3A\u79F4\u416E\u{216E6}\u4132\u9235\u79F1\u{20D4C}\u{2498C}\u{20299}\u{23DBA}\u{2176E}\u3597\u556B\u3570\u36AA\u{201D4}\u{20C0D}\u7AE2\u5A59\u{226F5}\u{25AAF}\u{25A9C}\u5A0D\u{2025B}\u78F0\u5A2A\u{25BC6}\u7AFE\u41F9\u7C5D\u7C6D\u4211\u{25BB3}\u{25EBC}\u{25EA6}\u7CCD\u{249F9}\u{217B0}\u7C8E\u7C7C\u7CAE\u6AB2\u7DDC\u7E07\u7DD3\u7F4E\u{26261}"], - ["9540", "\u{2615C}\u{27B48}\u7D97\u{25E82}\u426A\u{26B75}\u{20916}\u67D6\u{2004E}\u{235CF}\u57C4\u{26412}\u{263F8}\u{24962}\u7FDD\u7B27\u{2082C}\u{25AE9}\u{25D43}\u7B0C\u{25E0E}\u99E6\u8645\u9A63\u6A1C\u{2343F}\u39E2\u{249F7}\u{265AD}\u9A1F\u{265A0}\u8480\u{27127}\u{26CD1}\u44EA\u8137\u4402\u80C6\u8109\u8142\u{267B4}\u98C3\u{26A42}\u8262\u8265\u{26A51}\u8453\u{26DA7}\u8610\u{2721B}\u5A86\u417F\u{21840}\u5B2B\u{218A1}\u5AE4\u{218D8}\u86A0\u{2F9BC}\u{23D8F}\u882D\u{27422}\u5A02"], - ["95a1", "\u886E\u4F45\u8887\u88BF\u88E6\u8965\u894D\u{25683}\u8954\u{27785}\u{27784}\u{28BF5}\u{28BD9}\u{28B9C}\u{289F9}\u3EAD\u84A3\u46F5\u46CF\u37F2\u8A3D\u8A1C\u{29448}\u5F4D\u922B\u{24284}\u65D4\u7129\u70C4\u{21845}\u9D6D\u8C9F\u8CE9\u{27DDC}\u599A\u77C3\u59F0\u436E\u36D4\u8E2A\u8EA7\u{24C09}\u8F30\u8F4A\u42F4\u6C58\u6FBB\u{22321}\u489B\u6F79\u6E8B\u{217DA}\u9BE9\u36B5\u{2492F}\u90BB\u9097\u5571\u4906\u91BB\u9404\u{28A4B}\u4062\u{28AFC}\u9427\u{28C1D}\u{28C3B}\u84E5\u8A2B\u9599\u95A7\u9597\u9596\u{28D34}\u7445\u3EC2\u{248FF}\u{24A42}\u{243EA}\u3EE7\u{23225}\u968F\u{28EE7}\u{28E66}\u{28E65}\u3ECC\u{249ED}\u{24A78}\u{23FEE}\u7412\u746B\u3EFC\u9741\u{290B0}"], - ["9640", "\u6847\u4A1D\u{29093}\u{257DF}\u975D\u9368\u{28989}\u{28C26}\u{28B2F}\u{263BE}\u92BA\u5B11\u8B69\u493C\u73F9\u{2421B}\u979B\u9771\u9938\u{20F26}\u5DC1\u{28BC5}\u{24AB2}\u981F\u{294DA}\u92F6\u{295D7}\u91E5\u44C0\u{28B50}\u{24A67}\u{28B64}\u98DC\u{28A45}\u3F00\u922A\u4925\u8414\u993B\u994D\u{27B06}\u3DFD\u999B\u4B6F\u99AA\u9A5C\u{28B65}\u{258C8}\u6A8F\u9A21\u5AFE\u9A2F\u{298F1}\u4B90\u{29948}\u99BC\u4BBD\u4B97\u937D\u5872\u{21302}\u5822\u{249B8}"], - ["96a1", "\u{214E8}\u7844\u{2271F}\u{23DB8}\u68C5\u3D7D\u9458\u3927\u6150\u{22781}\u{2296B}\u6107\u9C4F\u9C53\u9C7B\u9C35\u9C10\u9B7F\u9BCF\u{29E2D}\u9B9F\u{2A1F5}\u{2A0FE}\u9D21\u4CAE\u{24104}\u9E18\u4CB0\u9D0C\u{2A1B4}\u{2A0ED}\u{2A0F3}\u{2992F}\u9DA5\u84BD\u{26E12}\u{26FDF}\u{26B82}\u85FC\u4533\u{26DA4}\u{26E84}\u{26DF0}\u8420\u85EE\u{26E00}\u{237D7}\u{26064}\u79E2\u{2359C}\u{23640}\u492D\u{249DE}\u3D62\u93DB\u92BE\u9348\u{202BF}\u78B9\u9277\u944D\u4FE4\u3440\u9064\u{2555D}\u783D\u7854\u78B6\u784B\u{21757}\u{231C9}\u{24941}\u369A\u4F72\u6FDA\u6FD9\u701E\u701E\u5414\u{241B5}\u57BB\u58F3\u578A\u9D16\u57D7\u7134\u34AF\u{241AC}\u71EB\u{26C40}\u{24F97}\u5B28\u{217B5}\u{28A49}"], - ["9740", "\u610C\u5ACE\u5A0B\u42BC\u{24488}\u372C\u4B7B\u{289FC}\u93BB\u93B8\u{218D6}\u{20F1D}\u8472\u{26CC0}\u{21413}\u{242FA}\u{22C26}\u{243C1}\u5994\u{23DB7}\u{26741}\u7DA8\u{2615B}\u{260A4}\u{249B9}\u{2498B}\u{289FA}\u92E5\u73E2\u3EE9\u74B4\u{28B63}\u{2189F}\u3EE1\u{24AB3}\u6AD8\u73F3\u73FB\u3ED6\u{24A3E}\u{24A94}\u{217D9}\u{24A66}\u{203A7}\u{21424}\u{249E5}\u7448\u{24916}\u70A5\u{24976}\u9284\u73E6\u935F\u{204FE}\u9331\u{28ACE}\u{28A16}\u9386\u{28BE7}\u{255D5}\u4935\u{28A82}\u716B"], - ["97a1", "\u{24943}\u{20CFF}\u56A4\u{2061A}\u{20BEB}\u{20CB8}\u5502\u79C4\u{217FA}\u7DFE\u{216C2}\u{24A50}\u{21852}\u452E\u9401\u370A\u{28AC0}\u{249AD}\u59B0\u{218BF}\u{21883}\u{27484}\u5AA1\u36E2\u{23D5B}\u36B0\u925F\u5A79\u{28A81}\u{21862}\u9374\u3CCD\u{20AB4}\u4A96\u398A\u50F4\u3D69\u3D4C\u{2139C}\u7175\u42FB\u{28218}\u6E0F\u{290E4}\u44EB\u6D57\u{27E4F}\u7067\u6CAF\u3CD6\u{23FED}\u{23E2D}\u6E02\u6F0C\u3D6F\u{203F5}\u7551\u36BC\u34C8\u4680\u3EDA\u4871\u59C4\u926E\u493E\u8F41\u{28C1C}\u{26BC0}\u5812\u57C8\u36D6\u{21452}\u70FE\u{24362}\u{24A71}\u{22FE3}\u{212B0}\u{223BD}\u68B9\u6967\u{21398}\u{234E5}\u{27BF4}\u{236DF}\u{28A83}\u{237D6}\u{233FA}\u{24C9F}\u6A1A\u{236AD}\u{26CB7}\u843E\u44DF\u44CE"], - ["9840", "\u{26D26}\u{26D51}\u{26C82}\u{26FDE}\u6F17\u{27109}\u833D\u{2173A}\u83ED\u{26C80}\u{27053}\u{217DB}\u5989\u5A82\u{217B3}\u5A61\u5A71\u{21905}\u{241FC}\u372D\u59EF\u{2173C}\u36C7\u718E\u9390\u669A\u{242A5}\u5A6E\u5A2B\u{24293}\u6A2B\u{23EF9}\u{27736}\u{2445B}\u{242CA}\u711D\u{24259}\u{289E1}\u4FB0\u{26D28}\u5CC2\u{244CE}\u{27E4D}\u{243BD}\u6A0C\u{24256}\u{21304}\u70A6\u7133\u{243E9}\u3DA5\u6CDF\u{2F825}\u{24A4F}\u7E65\u59EB\u5D2F\u3DF3\u5F5C\u{24A5D}\u{217DF}\u7DA4\u8426"], - ["98a1", "\u5485\u{23AFA}\u{23300}\u{20214}\u577E\u{208D5}\u{20619}\u3FE5\u{21F9E}\u{2A2B6}\u7003\u{2915B}\u5D70\u738F\u7CD3\u{28A59}\u{29420}\u4FC8\u7FE7\u72CD\u7310\u{27AF4}\u7338\u7339\u{256F6}\u7341\u7348\u3EA9\u{27B18}\u906C\u71F5\u{248F2}\u73E1\u81F6\u3ECA\u770C\u3ED1\u6CA2\u56FD\u7419\u741E\u741F\u3EE2\u3EF0\u3EF4\u3EFA\u74D3\u3F0E\u3F53\u7542\u756D\u7572\u758D\u3F7C\u75C8\u75DC\u3FC0\u764D\u3FD7\u7674\u3FDC\u767A\u{24F5C}\u7188\u5623\u8980\u5869\u401D\u7743\u4039\u6761\u4045\u35DB\u7798\u406A\u406F\u5C5E\u77BE\u77CB\u58F2\u7818\u70B9\u781C\u40A8\u7839\u7847\u7851\u7866\u8448\u{25535}\u7933\u6803\u7932\u4103"], - ["9940", "\u4109\u7991\u7999\u8FBB\u7A06\u8FBC\u4167\u7A91\u41B2\u7ABC\u8279\u41C4\u7ACF\u7ADB\u41CF\u4E21\u7B62\u7B6C\u7B7B\u7C12\u7C1B\u4260\u427A\u7C7B\u7C9C\u428C\u7CB8\u4294\u7CED\u8F93\u70C0\u{20CCF}\u7DCF\u7DD4\u7DD0\u7DFD\u7FAE\u7FB4\u729F\u4397\u8020\u8025\u7B39\u802E\u8031\u8054\u3DCC\u57B4\u70A0\u80B7\u80E9\u43ED\u810C\u732A\u810E\u8112\u7560\u8114\u4401\u3B39\u8156\u8159\u815A"], - ["99a1", "\u4413\u583A\u817C\u8184\u4425\u8193\u442D\u81A5\u57EF\u81C1\u81E4\u8254\u448F\u82A6\u8276\u82CA\u82D8\u82FF\u44B0\u8357\u9669\u698A\u8405\u70F5\u8464\u60E3\u8488\u4504\u84BE\u84E1\u84F8\u8510\u8538\u8552\u453B\u856F\u8570\u85E0\u4577\u8672\u8692\u86B2\u86EF\u9645\u878B\u4606\u4617\u88AE\u88FF\u8924\u8947\u8991\u{27967}\u8A29\u8A38\u8A94\u8AB4\u8C51\u8CD4\u8CF2\u8D1C\u4798\u585F\u8DC3\u47ED\u4EEE\u8E3A\u55D8\u5754\u8E71\u55F5\u8EB0\u4837\u8ECE\u8EE2\u8EE4\u8EED\u8EF2\u8FB7\u8FC1\u8FCA\u8FCC\u9033\u99C4\u48AD\u98E0\u9213\u491E\u9228\u9258\u926B\u92B1\u92AE\u92BF"], - ["9a40", "\u92E3\u92EB\u92F3\u92F4\u92FD\u9343\u9384\u93AD\u4945\u4951\u9EBF\u9417\u5301\u941D\u942D\u943E\u496A\u9454\u9479\u952D\u95A2\u49A7\u95F4\u9633\u49E5\u67A0\u4A24\u9740\u4A35\u97B2\u97C2\u5654\u4AE4\u60E8\u98B9\u4B19\u98F1\u5844\u990E\u9919\u51B4\u991C\u9937\u9942\u995D\u9962\u4B70\u99C5\u4B9D\u9A3C\u9B0F\u7A83\u9B69\u9B81\u9BDD\u9BF1\u9BF4\u4C6D\u9C20\u376F\u{21BC2}\u9D49\u9C3A"], - ["9aa1", "\u9EFE\u5650\u9D93\u9DBD\u9DC0\u9DFC\u94F6\u8FB6\u9E7B\u9EAC\u9EB1\u9EBD\u9EC6\u94DC\u9EE2\u9EF1\u9EF8\u7AC8\u9F44\u{20094}\u{202B7}\u{203A0}\u691A\u94C3\u59AC\u{204D7}\u5840\u94C1\u37B9\u{205D5}\u{20615}\u{20676}\u{216BA}\u5757\u7173\u{20AC2}\u{20ACD}\u{20BBF}\u546A\u{2F83B}\u{20BCB}\u549E\u{20BFB}\u{20C3B}\u{20C53}\u{20C65}\u{20C7C}\u60E7\u{20C8D}\u567A\u{20CB5}\u{20CDD}\u{20CED}\u{20D6F}\u{20DB2}\u{20DC8}\u6955\u9C2F\u87A5\u{20E04}\u{20E0E}\u{20ED7}\u{20F90}\u{20F2D}\u{20E73}\u5C20\u{20FBC}\u5E0B\u{2105C}\u{2104F}\u{21076}\u671E\u{2107B}\u{21088}\u{21096}\u3647\u{210BF}\u{210D3}\u{2112F}\u{2113B}\u5364\u84AD\u{212E3}\u{21375}\u{21336}\u8B81\u{21577}\u{21619}\u{217C3}\u{217C7}\u4E78\u70BB\u{2182D}\u{2196A}"], - ["9b40", "\u{21A2D}\u{21A45}\u{21C2A}\u{21C70}\u{21CAC}\u{21EC8}\u62C3\u{21ED5}\u{21F15}\u7198\u6855\u{22045}\u69E9\u36C8\u{2227C}\u{223D7}\u{223FA}\u{2272A}\u{22871}\u{2294F}\u82FD\u{22967}\u{22993}\u{22AD5}\u89A5\u{22AE8}\u8FA0\u{22B0E}\u97B8\u{22B3F}\u9847\u9ABD\u{22C4C}"], - ["9b62", "\u{22C88}\u{22CB7}\u{25BE8}\u{22D08}\u{22D12}\u{22DB7}\u{22D95}\u{22E42}\u{22F74}\u{22FCC}\u{23033}\u{23066}\u{2331F}\u{233DE}\u5FB1\u6648\u66BF\u{27A79}\u{23567}\u{235F3}\u7201\u{249BA}\u77D7\u{2361A}\u{23716}\u7E87\u{20346}\u58B5\u670E"], - ["9ba1", "\u6918\u{23AA7}\u{27657}\u{25FE2}\u{23E11}\u{23EB9}\u{275FE}\u{2209A}\u48D0\u4AB8\u{24119}\u{28A9A}\u{242EE}\u{2430D}\u{2403B}\u{24334}\u{24396}\u{24A45}\u{205CA}\u51D2\u{20611}\u599F\u{21EA8}\u3BBE\u{23CFF}\u{24404}\u{244D6}\u5788\u{24674}\u399B\u{2472F}\u{285E8}\u{299C9}\u3762\u{221C3}\u8B5E\u{28B4E}\u99D6\u{24812}\u{248FB}\u{24A15}\u7209\u{24AC0}\u{20C78}\u5965\u{24EA5}\u{24F86}\u{20779}\u8EDA\u{2502C}\u528F\u573F\u7171\u{25299}\u{25419}\u{23F4A}\u{24AA7}\u55BC\u{25446}\u{2546E}\u{26B52}\u91D4\u3473\u{2553F}\u{27632}\u{2555E}\u4718\u{25562}\u{25566}\u{257C7}\u{2493F}\u{2585D}\u5066\u34FB\u{233CC}\u60DE\u{25903}\u477C\u{28948}\u{25AAE}\u{25B89}\u{25C06}\u{21D90}\u57A1\u7151\u6FB6\u{26102}\u{27C12}\u9056\u{261B2}\u{24F9A}\u8B62\u{26402}\u{2644A}"], - ["9c40", "\u5D5B\u{26BF7}\u8F36\u{26484}\u{2191C}\u8AEA\u{249F6}\u{26488}\u{23FEF}\u{26512}\u4BC0\u{265BF}\u{266B5}\u{2271B}\u9465\u{257E1}\u6195\u5A27\u{2F8CD}\u4FBB\u56B9\u{24521}\u{266FC}\u4E6A\u{24934}\u9656\u6D8F\u{26CBD}\u3618\u8977\u{26799}\u{2686E}\u{26411}\u{2685E}\u71DF\u{268C7}\u7B42\u{290C0}\u{20A11}\u{26926}\u9104\u{26939}\u7A45\u9DF0\u{269FA}\u9A26\u{26A2D}\u365F\u{26469}\u{20021}\u7983\u{26A34}\u{26B5B}\u5D2C\u{23519}\u83CF\u{26B9D}\u46D0\u{26CA4}\u753B\u8865\u{26DAE}\u58B6"], - ["9ca1", "\u371C\u{2258D}\u{2704B}\u{271CD}\u3C54\u{27280}\u{27285}\u9281\u{2217A}\u{2728B}\u9330\u{272E6}\u{249D0}\u6C39\u949F\u{27450}\u{20EF8}\u8827\u88F5\u{22926}\u{28473}\u{217B1}\u6EB8\u{24A2A}\u{21820}\u39A4\u36B9\u5C10\u79E3\u453F\u66B6\u{29CAD}\u{298A4}\u8943\u{277CC}\u{27858}\u56D6\u40DF\u{2160A}\u39A1\u{2372F}\u{280E8}\u{213C5}\u71AD\u8366\u{279DD}\u{291A8}\u5A67\u4CB7\u{270AF}\u{289AB}\u{279FD}\u{27A0A}\u{27B0B}\u{27D66}\u{2417A}\u7B43\u797E\u{28009}\u6FB5\u{2A2DF}\u6A03\u{28318}\u53A2\u{26E07}\u93BF\u6836\u975D\u{2816F}\u{28023}\u{269B5}\u{213ED}\u{2322F}\u{28048}\u5D85\u{28C30}\u{28083}\u5715\u9823\u{28949}\u5DAB\u{24988}\u65BE\u69D5\u53D2\u{24AA5}\u{23F81}\u3C11\u6736\u{28090}\u{280F4}\u{2812E}\u{21FA1}\u{2814F}"], - ["9d40", "\u{28189}\u{281AF}\u{2821A}\u{28306}\u{2832F}\u{2838A}\u35CA\u{28468}\u{286AA}\u48FA\u63E6\u{28956}\u7808\u9255\u{289B8}\u43F2\u{289E7}\u43DF\u{289E8}\u{28B46}\u{28BD4}\u59F8\u{28C09}\u8F0B\u{28FC5}\u{290EC}\u7B51\u{29110}\u{2913C}\u3DF7\u{2915E}\u{24ACA}\u8FD0\u728F\u568B\u{294E7}\u{295E9}\u{295B0}\u{295B8}\u{29732}\u{298D1}\u{29949}\u{2996A}\u{299C3}\u{29A28}\u{29B0E}\u{29D5A}\u{29D9B}\u7E9F\u{29EF8}\u{29F23}\u4CA4\u9547\u{2A293}\u71A2\u{2A2FF}\u4D91\u9012\u{2A5CB}\u4D9C\u{20C9C}\u8FBE\u55C1"], - ["9da1", "\u8FBA\u{224B0}\u8FB9\u{24A93}\u4509\u7E7F\u6F56\u6AB1\u4EEA\u34E4\u{28B2C}\u{2789D}\u373A\u8E80\u{217F5}\u{28024}\u{28B6C}\u{28B99}\u{27A3E}\u{266AF}\u3DEB\u{27655}\u{23CB7}\u{25635}\u{25956}\u4E9A\u{25E81}\u{26258}\u56BF\u{20E6D}\u8E0E\u5B6D\u{23E88}\u{24C9E}\u63DE\u62D0\u{217F6}\u{2187B}\u6530\u562D\u{25C4A}\u541A\u{25311}\u3DC6\u{29D98}\u4C7D\u5622\u561E\u7F49\u{25ED8}\u5975\u{23D40}\u8770\u4E1C\u{20FEA}\u{20D49}\u{236BA}\u8117\u9D5E\u8D18\u763B\u9C45\u764E\u77B9\u9345\u5432\u8148\u82F7\u5625\u8132\u8418\u80BD\u55EA\u7962\u5643\u5416\u{20E9D}\u35CE\u5605\u55F1\u66F1\u{282E2}\u362D\u7534\u55F0\u55BA\u5497\u5572\u{20C41}\u{20C96}\u5ED0\u{25148}\u{20E76}\u{22C62}"], - ["9e40", "\u{20EA2}\u9EAB\u7D5A\u55DE\u{21075}\u629D\u976D\u5494\u8CCD\u71F6\u9176\u63FC\u63B9\u63FE\u5569\u{22B43}\u9C72\u{22EB3}\u519A\u34DF\u{20DA7}\u51A7\u544D\u551E\u5513\u7666\u8E2D\u{2688A}\u75B1\u80B6\u8804\u8786\u88C7\u81B6\u841C\u{210C1}\u44EC\u7304\u{24706}\u5B90\u830B\u{26893}\u567B\u{226F4}\u{27D2F}\u{241A3}\u{27D73}\u{26ED0}\u{272B6}\u9170\u{211D9}\u9208\u{23CFC}\u{2A6A9}\u{20EAC}\u{20EF9}\u7266\u{21CA2}\u474E\u{24FC2}\u{27FF9}\u{20FEB}\u40FA"], - ["9ea1", "\u9C5D\u651F\u{22DA0}\u48F3\u{247E0}\u{29D7C}\u{20FEC}\u{20E0A}\u6062\u{275A3}\u{20FED}"], - ["9ead", "\u{26048}\u{21187}\u71A3\u7E8E\u9D50\u4E1A\u4E04\u3577\u5B0D\u6CB2\u5367\u36AC\u39DC\u537D\u36A5\u{24618}\u589A\u{24B6E}\u822D\u544B\u57AA\u{25A95}\u{20979}"], - ["9ec5", "\u3A52\u{22465}\u7374\u{29EAC}\u4D09\u9BED\u{23CFE}\u{29F30}\u4C5B\u{24FA9}\u{2959E}\u{29FDE}\u845C\u{23DB6}\u{272B2}\u{267B3}\u{23720}\u632E\u7D25\u{23EF7}\u{23E2C}\u3A2A\u9008\u52CC\u3E74\u367A\u45E9\u{2048E}\u7640\u5AF0\u{20EB6}\u787A\u{27F2E}\u58A7\u40BF\u567C\u9B8B\u5D74\u7654\u{2A434}\u9E85\u4CE1\u75F9\u37FB\u6119\u{230DA}\u{243F2}"], - ["9ef5", "\u565D\u{212A9}\u57A7\u{24963}\u{29E06}\u5234\u{270AE}\u35AD\u6C4A\u9D7C"], - ["9f40", "\u7C56\u9B39\u57DE\u{2176C}\u5C53\u64D3\u{294D0}\u{26335}\u{27164}\u86AD\u{20D28}\u{26D22}\u{24AE2}\u{20D71}"], - ["9f4f", "\u51FE\u{21F0F}\u5D8E\u9703\u{21DD1}\u9E81\u904C\u7B1F\u9B02\u5CD1\u7BA3\u6268\u6335\u9AFF\u7BCF\u9B2A\u7C7E\u9B2E\u7C42\u7C86\u9C15\u7BFC\u9B09\u9F17\u9C1B\u{2493E}\u9F5A\u5573\u5BC3\u4FFD\u9E98\u4FF2\u5260\u3E06\u52D1\u5767\u5056\u59B7\u5E12\u97C8\u9DAB\u8F5C\u5469\u97B4\u9940\u97BA\u532C\u6130"], - ["9fa1", "\u692C\u53DA\u9C0A\u9D02\u4C3B\u9641\u6980\u50A6\u7546\u{2176D}\u99DA\u5273"], - ["9fae", "\u9159\u9681\u915C"], - ["9fb2", "\u9151\u{28E97}\u637F\u{26D23}\u6ACA\u5611\u918E\u757A\u6285\u{203FC}\u734F\u7C70\u{25C21}\u{23CFD}"], - ["9fc1", "\u{24919}\u76D6\u9B9D\u4E2A\u{20CD4}\u83BE\u8842"], - ["9fc9", "\u5C4A\u69C0\u50ED\u577A\u521F\u5DF5\u4ECE\u6C31\u{201F2}\u4F39\u549C\u54DA\u529A\u8D82\u35FE\u5F0C\u35F3"], - ["9fdb", "\u6B52\u917C\u9FA5\u9B97\u982E\u98B4\u9ABA\u9EA8\u9E84\u717A\u7B14"], - ["9fe7", "\u6BFA\u8818\u7F78"], - ["9feb", "\u5620\u{2A64A}\u8E77\u9F53"], - ["9ff0", "\u8DD4\u8E4F\u9E1C\u8E01\u6282\u{2837D}\u8E28\u8E75\u7AD3\u{24A77}\u7A3E\u78D8\u6CEA\u8A67\u7607"], - ["a040", "\u{28A5A}\u9F26\u6CCE\u87D6\u75C3\u{2A2B2}\u7853\u{2F840}\u8D0C\u72E2\u7371\u8B2D\u7302\u74F1\u8CEB\u{24ABB}\u862F\u5FBA\u88A0\u44B7"], - ["a055", "\u{2183B}\u{26E05}"], - ["a058", "\u8A7E\u{2251B}"], - ["a05b", "\u60FD\u7667\u9AD7\u9D44\u936E\u9B8F\u87F5"], - ["a063", "\u880F\u8CF7\u732C\u9721\u9BB0\u35D6\u72B2\u4C07\u7C51\u994A\u{26159}\u6159\u4C04\u9E96\u617D"], - ["a073", "\u575F\u616F\u62A6\u6239\u62CE\u3A5C\u61E2\u53AA\u{233F5}\u6364\u6802\u35D2"], - ["a0a1", "\u5D57\u{28BC2}\u8FDA\u{28E39}"], - ["a0a6", "\u50D9\u{21D46}\u7906\u5332\u9638\u{20F3B}\u4065"], - ["a0ae", "\u77FE"], - ["a0b0", "\u7CC2\u{25F1A}\u7CDA\u7A2D\u8066\u8063\u7D4D\u7505\u74F2\u8994\u821A\u670C\u8062\u{27486}\u805B\u74F0\u8103\u7724\u8989\u{267CC}\u7553\u{26ED1}\u87A9\u87CE\u81C8\u878C\u8A49\u8CAD\u8B43\u772B\u74F8\u84DA\u3635\u69B2\u8DA6"], - ["a0d4", "\u89A9\u7468\u6DB9\u87C1\u{24011}\u74E7\u3DDB\u7176\u60A4\u619C\u3CD1\u7162\u6077"], - ["a0e2", "\u7F71\u{28B2D}\u7250\u60E9\u4B7E\u5220\u3C18\u{23CC7}\u{25ED7}\u{27656}\u{25531}\u{21944}\u{212FE}\u{29903}\u{26DDC}\u{270AD}\u5CC1\u{261AD}\u{28A0F}\u{23677}\u{200EE}\u{26846}\u{24F0E}\u4562\u5B1F\u{2634C}\u9F50\u9EA6\u{2626B}"], - ["a3c0", "\u2400", 31, "\u2421"], - ["c6a1", "\u2460", 9, "\u2474", 9, "\u2170", 9, "\u4E36\u4E3F\u4E85\u4EA0\u5182\u5196\u51AB\u52F9\u5338\u5369\u53B6\u590A\u5B80\u5DDB\u2F33\u5E7F\u5EF4\u5F50\u5F61\u6534\u65E0\u7592\u7676\u8FB5\u96B6\xA8\u02C6\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006\u3007\u30FC\uFF3B\uFF3D\u273D\u3041", 23], - ["c740", "\u3059", 58, "\u30A1\u30A2\u30A3\u30A4"], - ["c7a1", "\u30A5", 81, "\u0410", 5, "\u0401\u0416", 4], - ["c840", "\u041B", 26, "\u0451\u0436", 25, "\u21E7\u21B8\u21B9\u31CF\u{200CC}\u4E5A\u{2008A}\u5202\u4491"], - ["c8a1", "\u9FB0\u5188\u9FB1\u{27607}"], - ["c8cd", "\uFFE2\uFFE4\uFF07\uFF02\u3231\u2116\u2121\u309B\u309C\u2E80\u2E84\u2E86\u2E87\u2E88\u2E8A\u2E8C\u2E8D\u2E95\u2E9C\u2E9D\u2EA5\u2EA7\u2EAA\u2EAC\u2EAE\u2EB6\u2EBC\u2EBE\u2EC6\u2ECA\u2ECC\u2ECD\u2ECF\u2ED6\u2ED7\u2EDE\u2EE3"], - ["c8f5", "\u0283\u0250\u025B\u0254\u0275\u0153\xF8\u014B\u028A\u026A"], - ["f9fe", "\uFFED"], - ["fa40", "\u{20547}\u92DB\u{205DF}\u{23FC5}\u854C\u42B5\u73EF\u51B5\u3649\u{24942}\u{289E4}\u9344\u{219DB}\u82EE\u{23CC8}\u783C\u6744\u62DF\u{24933}\u{289AA}\u{202A0}\u{26BB3}\u{21305}\u4FAB\u{224ED}\u5008\u{26D29}\u{27A84}\u{23600}\u{24AB1}\u{22513}\u5029\u{2037E}\u5FA4\u{20380}\u{20347}\u6EDB\u{2041F}\u507D\u5101\u347A\u510E\u986C\u3743\u8416\u{249A4}\u{20487}\u5160\u{233B4}\u516A\u{20BFF}\u{220FC}\u{202E5}\u{22530}\u{2058E}\u{23233}\u{21983}\u5B82\u877D\u{205B3}\u{23C99}\u51B2\u51B8"], - ["faa1", "\u9D34\u51C9\u51CF\u51D1\u3CDC\u51D3\u{24AA6}\u51B3\u51E2\u5342\u51ED\u83CD\u693E\u{2372D}\u5F7B\u520B\u5226\u523C\u52B5\u5257\u5294\u52B9\u52C5\u7C15\u8542\u52E0\u860D\u{26B13}\u5305\u{28ADE}\u5549\u6ED9\u{23F80}\u{20954}\u{23FEC}\u5333\u5344\u{20BE2}\u6CCB\u{21726}\u681B\u73D5\u604A\u3EAA\u38CC\u{216E8}\u71DD\u44A2\u536D\u5374\u{286AB}\u537E\u537F\u{21596}\u{21613}\u77E6\u5393\u{28A9B}\u53A0\u53AB\u53AE\u73A7\u{25772}\u3F59\u739C\u53C1\u53C5\u6C49\u4E49\u57FE\u53D9\u3AAB\u{20B8F}\u53E0\u{23FEB}\u{22DA3}\u53F6\u{20C77}\u5413\u7079\u552B\u6657\u6D5B\u546D\u{26B53}\u{20D74}\u555D\u548F\u54A4\u47A6\u{2170D}\u{20EDD}\u3DB4\u{20D4D}"], - ["fb40", "\u{289BC}\u{22698}\u5547\u4CED\u542F\u7417\u5586\u55A9\u5605\u{218D7}\u{2403A}\u4552\u{24435}\u66B3\u{210B4}\u5637\u66CD\u{2328A}\u66A4\u66AD\u564D\u564F\u78F1\u56F1\u9787\u53FE\u5700\u56EF\u56ED\u{28B66}\u3623\u{2124F}\u5746\u{241A5}\u6C6E\u708B\u5742\u36B1\u{26C7E}\u57E6\u{21416}\u5803\u{21454}\u{24363}\u5826\u{24BF5}\u585C\u58AA\u3561\u58E0\u58DC\u{2123C}\u58FB\u5BFF\u5743\u{2A150}\u{24278}\u93D3\u35A1\u591F\u68A6\u36C3\u6E59"], - ["fba1", "\u{2163E}\u5A24\u5553\u{21692}\u8505\u59C9\u{20D4E}\u{26C81}\u{26D2A}\u{217DC}\u59D9\u{217FB}\u{217B2}\u{26DA6}\u6D71\u{21828}\u{216D5}\u59F9\u{26E45}\u5AAB\u5A63\u36E6\u{249A9}\u5A77\u3708\u5A96\u7465\u5AD3\u{26FA1}\u{22554}\u3D85\u{21911}\u3732\u{216B8}\u5E83\u52D0\u5B76\u6588\u5B7C\u{27A0E}\u4004\u485D\u{20204}\u5BD5\u6160\u{21A34}\u{259CC}\u{205A5}\u5BF3\u5B9D\u4D10\u5C05\u{21B44}\u5C13\u73CE\u5C14\u{21CA5}\u{26B28}\u5C49\u48DD\u5C85\u5CE9\u5CEF\u5D8B\u{21DF9}\u{21E37}\u5D10\u5D18\u5D46\u{21EA4}\u5CBA\u5DD7\u82FC\u382D\u{24901}\u{22049}\u{22173}\u8287\u3836\u3BC2\u5E2E\u6A8A\u5E75\u5E7A\u{244BC}\u{20CD3}\u53A6\u4EB7\u5ED0\u53A8\u{21771}\u5E09\u5EF4\u{28482}"], - ["fc40", "\u5EF9\u5EFB\u38A0\u5EFC\u683E\u941B\u5F0D\u{201C1}\u{2F894}\u3ADE\u48AE\u{2133A}\u5F3A\u{26888}\u{223D0}\u5F58\u{22471}\u5F63\u97BD\u{26E6E}\u5F72\u9340\u{28A36}\u5FA7\u5DB6\u3D5F\u{25250}\u{21F6A}\u{270F8}\u{22668}\u91D6\u{2029E}\u{28A29}\u6031\u6685\u{21877}\u3963\u3DC7\u3639\u5790\u{227B4}\u7971\u3E40\u609E\u60A4\u60B3\u{24982}\u{2498F}\u{27A53}\u74A4\u50E1\u5AA0\u6164\u8424\u6142\u{2F8A6}\u{26ED2}\u6181\u51F4\u{20656}\u6187\u5BAA\u{23FB7}"], - ["fca1", "\u{2285F}\u61D3\u{28B9D}\u{2995D}\u61D0\u3932\u{22980}\u{228C1}\u6023\u615C\u651E\u638B\u{20118}\u62C5\u{21770}\u62D5\u{22E0D}\u636C\u{249DF}\u3A17\u6438\u63F8\u{2138E}\u{217FC}\u6490\u6F8A\u{22E36}\u9814\u{2408C}\u{2571D}\u64E1\u64E5\u947B\u3A66\u643A\u3A57\u654D\u6F16\u{24A28}\u{24A23}\u6585\u656D\u655F\u{2307E}\u65B5\u{24940}\u4B37\u65D1\u40D8\u{21829}\u65E0\u65E3\u5FDF\u{23400}\u6618\u{231F7}\u{231F8}\u6644\u{231A4}\u{231A5}\u664B\u{20E75}\u6667\u{251E6}\u6673\u6674\u{21E3D}\u{23231}\u{285F4}\u{231C8}\u{25313}\u77C5\u{228F7}\u99A4\u6702\u{2439C}\u{24A21}\u3B2B\u69FA\u{237C2}\u675E\u6767\u6762\u{241CD}\u{290ED}\u67D7\u44E9\u6822\u6E50\u923C\u6801\u{233E6}\u{26DA0}\u685D"], - ["fd40", "\u{2346F}\u69E1\u6A0B\u{28ADF}\u6973\u68C3\u{235CD}\u6901\u6900\u3D32\u3A01\u{2363C}\u3B80\u67AC\u6961\u{28A4A}\u42FC\u6936\u6998\u3BA1\u{203C9}\u8363\u5090\u69F9\u{23659}\u{2212A}\u6A45\u{23703}\u6A9D\u3BF3\u67B1\u6AC8\u{2919C}\u3C0D\u6B1D\u{20923}\u60DE\u6B35\u6B74\u{227CD}\u6EB5\u{23ADB}\u{203B5}\u{21958}\u3740\u5421\u{23B5A}\u6BE1\u{23EFC}\u6BDC\u6C37\u{2248B}\u{248F1}\u{26B51}\u6C5A\u8226\u6C79\u{23DBC}\u44C5\u{23DBD}\u{241A4}\u{2490C}\u{24900}"], - ["fda1", "\u{23CC9}\u36E5\u3CEB\u{20D32}\u9B83\u{231F9}\u{22491}\u7F8F\u6837\u{26D25}\u{26DA1}\u{26DEB}\u6D96\u6D5C\u6E7C\u6F04\u{2497F}\u{24085}\u{26E72}\u8533\u{26F74}\u51C7\u6C9C\u6E1D\u842E\u{28B21}\u6E2F\u{23E2F}\u7453\u{23F82}\u79CC\u6E4F\u5A91\u{2304B}\u6FF8\u370D\u6F9D\u{23E30}\u6EFA\u{21497}\u{2403D}\u4555\u93F0\u6F44\u6F5C\u3D4E\u6F74\u{29170}\u3D3B\u6F9F\u{24144}\u6FD3\u{24091}\u{24155}\u{24039}\u{23FF0}\u{23FB4}\u{2413F}\u51DF\u{24156}\u{24157}\u{24140}\u{261DD}\u704B\u707E\u70A7\u7081\u70CC\u70D5\u70D6\u70DF\u4104\u3DE8\u71B4\u7196\u{24277}\u712B\u7145\u5A88\u714A\u716E\u5C9C\u{24365}\u714F\u9362\u{242C1}\u712C\u{2445A}\u{24A27}\u{24A22}\u71BA\u{28BE8}\u70BD\u720E"], - ["fe40", "\u9442\u7215\u5911\u9443\u7224\u9341\u{25605}\u722E\u7240\u{24974}\u68BD\u7255\u7257\u3E55\u{23044}\u680D\u6F3D\u7282\u732A\u732B\u{24823}\u{2882B}\u48ED\u{28804}\u7328\u732E\u73CF\u73AA\u{20C3A}\u{26A2E}\u73C9\u7449\u{241E2}\u{216E7}\u{24A24}\u6623\u36C5\u{249B7}\u{2498D}\u{249FB}\u73F7\u7415\u6903\u{24A26}\u7439\u{205C3}\u3ED7\u745C\u{228AD}\u7460\u{28EB2}\u7447\u73E4\u7476\u83B9\u746C\u3730\u7474\u93F1\u6A2C\u7482\u4953\u{24A8C}"], - ["fea1", "\u{2415F}\u{24A79}\u{28B8F}\u5B46\u{28C03}\u{2189E}\u74C8\u{21988}\u750E\u74E9\u751E\u{28ED9}\u{21A4B}\u5BD7\u{28EAC}\u9385\u754D\u754A\u7567\u756E\u{24F82}\u3F04\u{24D13}\u758E\u745D\u759E\u75B4\u7602\u762C\u7651\u764F\u766F\u7676\u{263F5}\u7690\u81EF\u37F8\u{26911}\u{2690E}\u76A1\u76A5\u76B7\u76CC\u{26F9F}\u8462\u{2509D}\u{2517D}\u{21E1C}\u771E\u7726\u7740\u64AF\u{25220}\u7758\u{232AC}\u77AF\u{28964}\u{28968}\u{216C1}\u77F4\u7809\u{21376}\u{24A12}\u68CA\u78AF\u78C7\u78D3\u96A5\u792E\u{255E0}\u78D7\u7934\u78B1\u{2760C}\u8FB8\u8884\u{28B2B}\u{26083}\u{2261C}\u7986\u8900\u6902\u7980\u{25857}\u799D\u{27B39}\u793C\u79A9\u6E2A\u{27126}\u3EA8\u79C6\u{2910D}\u79D4"] - ]; - } -}); - -// node_modules/iconv-lite/encodings/dbcs-data.js -var require_dbcs_data = __commonJS({ - "node_modules/iconv-lite/encodings/dbcs-data.js"(exports2, module2) { - "use strict"; - module2.exports = { - "shiftjis": { - type: "_dbcs", - table: function() { - return require_shiftjis(); - }, - encodeAdd: { "\xA5": 92, "\u203E": 126 }, - encodeSkipVals: [{ from: 60736, to: 63808 }] - }, - "csshiftjis": "shiftjis", - "mskanji": "shiftjis", - "sjis": "shiftjis", - "windows31j": "shiftjis", - "ms31j": "shiftjis", - "xsjis": "shiftjis", - "windows932": "shiftjis", - "ms932": "shiftjis", - "932": "shiftjis", - "cp932": "shiftjis", - "eucjp": { - type: "_dbcs", - table: function() { - return require_eucjp(); - }, - encodeAdd: { "\xA5": 92, "\u203E": 126 } - }, - "gb2312": "cp936", - "gb231280": "cp936", - "gb23121980": "cp936", - "csgb2312": "cp936", - "csiso58gb231280": "cp936", - "euccn": "cp936", - "windows936": "cp936", - "ms936": "cp936", - "936": "cp936", - "cp936": { - type: "_dbcs", - table: function() { - return require_cp936(); - } - }, - "gbk": { - type: "_dbcs", - table: function() { - return require_cp936().concat(require_gbk_added()); - } - }, - "xgbk": "gbk", - "isoir58": "gbk", - "gb18030": { - type: "_dbcs", - table: function() { - return require_cp936().concat(require_gbk_added()); - }, - gb18030: function() { - return require_gb18030_ranges(); - }, - encodeSkipVals: [128], - encodeAdd: { "\u20AC": 41699 } - }, - "chinese": "gb18030", - "windows949": "cp949", - "ms949": "cp949", - "949": "cp949", - "cp949": { - type: "_dbcs", - table: function() { - return require_cp949(); - } - }, - "cseuckr": "cp949", - "csksc56011987": "cp949", - "euckr": "cp949", - "isoir149": "cp949", - "korean": "cp949", - "ksc56011987": "cp949", - "ksc56011989": "cp949", - "ksc5601": "cp949", - "windows950": "cp950", - "ms950": "cp950", - "950": "cp950", - "cp950": { - type: "_dbcs", - table: function() { - return require_cp950(); - } - }, - "big5": "big5hkscs", - "big5hkscs": { - type: "_dbcs", - table: function() { - return require_cp950().concat(require_big5_added()); - }, - encodeSkipVals: [41676] - }, - "cnbig5": "big5hkscs", - "csbig5": "big5hkscs", - "xxbig5": "big5hkscs" - }; - } -}); - -// node_modules/iconv-lite/encodings/index.js -var require_encodings = __commonJS({ - "node_modules/iconv-lite/encodings/index.js"(exports2, module2) { - "use strict"; - var modules = [ - require_internal(), - require_utf16(), - require_utf7(), - require_sbcs_codec(), - require_sbcs_data(), - require_sbcs_data_generated(), - require_dbcs_codec(), - require_dbcs_data() - ]; - for (i = 0; i < modules.length; i++) { - module2 = modules[i]; - for (enc in module2) - if (Object.prototype.hasOwnProperty.call(module2, enc)) - exports2[enc] = module2[enc]; - } - var module2; - var enc; - var i; - } -}); - -// node_modules/iconv-lite/lib/streams.js -var require_streams = __commonJS({ - "node_modules/iconv-lite/lib/streams.js"(exports2, module2) { - "use strict"; - var Buffer2 = require("buffer").Buffer; - var Transform = require("stream").Transform; - module2.exports = function(iconv) { - iconv.encodeStream = function encodeStream(encoding, options) { - return new IconvLiteEncoderStream(iconv.getEncoder(encoding, options), options); - }; - iconv.decodeStream = function decodeStream(encoding, options) { - return new IconvLiteDecoderStream(iconv.getDecoder(encoding, options), options); - }; - iconv.supportsStreams = true; - iconv.IconvLiteEncoderStream = IconvLiteEncoderStream; - iconv.IconvLiteDecoderStream = IconvLiteDecoderStream; - iconv._collect = IconvLiteDecoderStream.prototype.collect; - }; - function IconvLiteEncoderStream(conv, options) { - this.conv = conv; - options = options || {}; - options.decodeStrings = false; - Transform.call(this, options); - } - IconvLiteEncoderStream.prototype = Object.create(Transform.prototype, { - constructor: { value: IconvLiteEncoderStream } - }); - IconvLiteEncoderStream.prototype._transform = function(chunk, encoding, done) { - if (typeof chunk != "string") - return done(new Error("Iconv encoding stream needs strings as its input.")); - try { - var res = this.conv.write(chunk); - if (res && res.length) - this.push(res); - done(); - } catch (e) { - done(e); - } - }; - IconvLiteEncoderStream.prototype._flush = function(done) { - try { - var res = this.conv.end(); - if (res && res.length) - this.push(res); - done(); - } catch (e) { - done(e); - } - }; - IconvLiteEncoderStream.prototype.collect = function(cb) { - var chunks = []; - this.on("error", cb); - this.on("data", function(chunk) { - chunks.push(chunk); - }); - this.on("end", function() { - cb(null, Buffer2.concat(chunks)); - }); - return this; - }; - function IconvLiteDecoderStream(conv, options) { - this.conv = conv; - options = options || {}; - options.encoding = this.encoding = "utf8"; - Transform.call(this, options); - } - IconvLiteDecoderStream.prototype = Object.create(Transform.prototype, { - constructor: { value: IconvLiteDecoderStream } - }); - IconvLiteDecoderStream.prototype._transform = function(chunk, encoding, done) { - if (!Buffer2.isBuffer(chunk)) - return done(new Error("Iconv decoding stream needs buffers as its input.")); - try { - var res = this.conv.write(chunk); - if (res && res.length) - this.push(res, this.encoding); - done(); - } catch (e) { - done(e); - } - }; - IconvLiteDecoderStream.prototype._flush = function(done) { - try { - var res = this.conv.end(); - if (res && res.length) - this.push(res, this.encoding); - done(); - } catch (e) { - done(e); - } - }; - IconvLiteDecoderStream.prototype.collect = function(cb) { - var res = ""; - this.on("error", cb); - this.on("data", function(chunk) { - res += chunk; - }); - this.on("end", function() { - cb(null, res); - }); - return this; - }; - } -}); - -// node_modules/iconv-lite/lib/extend-node.js -var require_extend_node = __commonJS({ - "node_modules/iconv-lite/lib/extend-node.js"(exports2, module2) { - "use strict"; - var Buffer2 = require("buffer").Buffer; - module2.exports = function(iconv) { - var original = void 0; - iconv.supportsNodeEncodingsExtension = !(Buffer2.from || new Buffer2(0) instanceof Uint8Array); - iconv.extendNodeEncodings = function extendNodeEncodings() { - if (original) - return; - original = {}; - if (!iconv.supportsNodeEncodingsExtension) { - console.error("ACTION NEEDED: require('iconv-lite').extendNodeEncodings() is not supported in your version of Node"); - console.error("See more info at https://github.com/ashtuchkin/iconv-lite/wiki/Node-v4-compatibility"); - return; - } - var nodeNativeEncodings = { - "hex": true, - "utf8": true, - "utf-8": true, - "ascii": true, - "binary": true, - "base64": true, - "ucs2": true, - "ucs-2": true, - "utf16le": true, - "utf-16le": true - }; - Buffer2.isNativeEncoding = function(enc) { - return enc && nodeNativeEncodings[enc.toLowerCase()]; - }; - var SlowBuffer = require("buffer").SlowBuffer; - original.SlowBufferToString = SlowBuffer.prototype.toString; - SlowBuffer.prototype.toString = function(encoding, start, end) { - encoding = String(encoding || "utf8").toLowerCase(); - if (Buffer2.isNativeEncoding(encoding)) - return original.SlowBufferToString.call(this, encoding, start, end); - if (typeof start == "undefined") - start = 0; - if (typeof end == "undefined") - end = this.length; - return iconv.decode(this.slice(start, end), encoding); - }; - original.SlowBufferWrite = SlowBuffer.prototype.write; - SlowBuffer.prototype.write = function(string, offset, length, encoding) { - if (isFinite(offset)) { - if (!isFinite(length)) { - encoding = length; - length = void 0; - } - } else { - var swap = encoding; - encoding = offset; - offset = length; - length = swap; - } - offset = +offset || 0; - var remaining = this.length - offset; - if (!length) { - length = remaining; - } else { - length = +length; - if (length > remaining) { - length = remaining; - } - } - encoding = String(encoding || "utf8").toLowerCase(); - if (Buffer2.isNativeEncoding(encoding)) - return original.SlowBufferWrite.call(this, string, offset, length, encoding); - if (string.length > 0 && (length < 0 || offset < 0)) - throw new RangeError("attempt to write beyond buffer bounds"); - var buf = iconv.encode(string, encoding); - if (buf.length < length) - length = buf.length; - buf.copy(this, offset, 0, length); - return length; - }; - original.BufferIsEncoding = Buffer2.isEncoding; - Buffer2.isEncoding = function(encoding) { - return Buffer2.isNativeEncoding(encoding) || iconv.encodingExists(encoding); - }; - original.BufferByteLength = Buffer2.byteLength; - Buffer2.byteLength = SlowBuffer.byteLength = function(str, encoding) { - encoding = String(encoding || "utf8").toLowerCase(); - if (Buffer2.isNativeEncoding(encoding)) - return original.BufferByteLength.call(this, str, encoding); - return iconv.encode(str, encoding).length; - }; - original.BufferToString = Buffer2.prototype.toString; - Buffer2.prototype.toString = function(encoding, start, end) { - encoding = String(encoding || "utf8").toLowerCase(); - if (Buffer2.isNativeEncoding(encoding)) - return original.BufferToString.call(this, encoding, start, end); - if (typeof start == "undefined") - start = 0; - if (typeof end == "undefined") - end = this.length; - return iconv.decode(this.slice(start, end), encoding); - }; - original.BufferWrite = Buffer2.prototype.write; - Buffer2.prototype.write = function(string, offset, length, encoding) { - var _offset = offset, _length = length, _encoding = encoding; - if (isFinite(offset)) { - if (!isFinite(length)) { - encoding = length; - length = void 0; - } - } else { - var swap = encoding; - encoding = offset; - offset = length; - length = swap; - } - encoding = String(encoding || "utf8").toLowerCase(); - if (Buffer2.isNativeEncoding(encoding)) - return original.BufferWrite.call(this, string, _offset, _length, _encoding); - offset = +offset || 0; - var remaining = this.length - offset; - if (!length) { - length = remaining; - } else { - length = +length; - if (length > remaining) { - length = remaining; - } - } - if (string.length > 0 && (length < 0 || offset < 0)) - throw new RangeError("attempt to write beyond buffer bounds"); - var buf = iconv.encode(string, encoding); - if (buf.length < length) - length = buf.length; - buf.copy(this, offset, 0, length); - return length; - }; - if (iconv.supportsStreams) { - var Readable2 = require("stream").Readable; - original.ReadableSetEncoding = Readable2.prototype.setEncoding; - Readable2.prototype.setEncoding = function setEncoding(enc, options) { - this._readableState.decoder = iconv.getDecoder(enc, options); - this._readableState.encoding = enc; - }; - Readable2.prototype.collect = iconv._collect; - } - }; - iconv.undoExtendNodeEncodings = function undoExtendNodeEncodings() { - if (!iconv.supportsNodeEncodingsExtension) - return; - if (!original) - throw new Error("require('iconv-lite').undoExtendNodeEncodings(): Nothing to undo; extendNodeEncodings() is not called."); - delete Buffer2.isNativeEncoding; - var SlowBuffer = require("buffer").SlowBuffer; - SlowBuffer.prototype.toString = original.SlowBufferToString; - SlowBuffer.prototype.write = original.SlowBufferWrite; - Buffer2.isEncoding = original.BufferIsEncoding; - Buffer2.byteLength = original.BufferByteLength; - Buffer2.prototype.toString = original.BufferToString; - Buffer2.prototype.write = original.BufferWrite; - if (iconv.supportsStreams) { - var Readable2 = require("stream").Readable; - Readable2.prototype.setEncoding = original.ReadableSetEncoding; - delete Readable2.prototype.collect; - } - original = void 0; - }; - }; - } -}); - -// node_modules/iconv-lite/lib/index.js -var require_lib2 = __commonJS({ - "node_modules/iconv-lite/lib/index.js"(exports2, module2) { - "use strict"; - var Buffer2 = require_safer().Buffer; - var bomHandling = require_bom_handling(); - var iconv = module2.exports; - iconv.encodings = null; - iconv.defaultCharUnicode = "\uFFFD"; - iconv.defaultCharSingleByte = "?"; - iconv.encode = function encode3(str, encoding, options) { - str = "" + (str || ""); - var encoder = iconv.getEncoder(encoding, options); - var res = encoder.write(str); - var trail = encoder.end(); - return trail && trail.length > 0 ? Buffer2.concat([res, trail]) : res; - }; - iconv.decode = function decode(buf, encoding, options) { - if (typeof buf === "string") { - if (!iconv.skipDecodeWarning) { - console.error("Iconv-lite warning: decode()-ing strings is deprecated. Refer to https://github.com/ashtuchkin/iconv-lite/wiki/Use-Buffers-when-decoding"); - iconv.skipDecodeWarning = true; - } - buf = Buffer2.from("" + (buf || ""), "binary"); - } - var decoder = iconv.getDecoder(encoding, options); - var res = decoder.write(buf); - var trail = decoder.end(); - return trail ? res + trail : res; - }; - iconv.encodingExists = function encodingExists(enc) { - try { - iconv.getCodec(enc); - return true; - } catch (e) { - return false; - } - }; - iconv.toEncoding = iconv.encode; - iconv.fromEncoding = iconv.decode; - iconv._codecDataCache = {}; - iconv.getCodec = function getCodec(encoding) { - if (!iconv.encodings) - iconv.encodings = require_encodings(); - var enc = iconv._canonicalizeEncoding(encoding); - var codecOptions = {}; - while (true) { - var codec = iconv._codecDataCache[enc]; - if (codec) - return codec; - var codecDef = iconv.encodings[enc]; - switch (typeof codecDef) { - case "string": - enc = codecDef; - break; - case "object": - for (var key in codecDef) - codecOptions[key] = codecDef[key]; - if (!codecOptions.encodingName) - codecOptions.encodingName = enc; - enc = codecDef.type; - break; - case "function": - if (!codecOptions.encodingName) - codecOptions.encodingName = enc; - codec = new codecDef(codecOptions, iconv); - iconv._codecDataCache[codecOptions.encodingName] = codec; - return codec; - default: - throw new Error("Encoding not recognized: '" + encoding + "' (searched as: '" + enc + "')"); - } - } - }; - iconv._canonicalizeEncoding = function(encoding) { - return ("" + encoding).toLowerCase().replace(/:\d{4}$|[^0-9a-z]/g, ""); - }; - iconv.getEncoder = function getEncoder(encoding, options) { - var codec = iconv.getCodec(encoding), encoder = new codec.encoder(options, codec); - if (codec.bomAware && options && options.addBOM) - encoder = new bomHandling.PrependBOM(encoder, options); - return encoder; - }; - iconv.getDecoder = function getDecoder(encoding, options) { - var codec = iconv.getCodec(encoding), decoder = new codec.decoder(options, codec); - if (codec.bomAware && !(options && options.stripBOM === false)) - decoder = new bomHandling.StripBOM(decoder, options); - return decoder; - }; - var nodeVer = typeof process !== "undefined" && process.versions && process.versions.node; - if (nodeVer) { - nodeVerArr = nodeVer.split(".").map(Number); - if (nodeVerArr[0] > 0 || nodeVerArr[1] >= 10) { - require_streams()(iconv); - } - require_extend_node()(iconv); - } - var nodeVerArr; - if (false) { - console.error("iconv-lite warning: javascript files use encoding different from utf-8. See https://github.com/ashtuchkin/iconv-lite/wiki/Javascript-source-file-encodings for more info."); - } - } -}); - -// node_modules/unpipe/index.js -var require_unpipe = __commonJS({ - "node_modules/unpipe/index.js"(exports2, module2) { - "use strict"; - module2.exports = unpipe; - function hasPipeDataListeners(stream4) { - var listeners = stream4.listeners("data"); - for (var i = 0; i < listeners.length; i++) { - if (listeners[i].name === "ondata") { - return true; - } - } - return false; - } - function unpipe(stream4) { - if (!stream4) { - throw new TypeError("argument stream is required"); - } - if (typeof stream4.unpipe === "function") { - stream4.unpipe(); - return; - } - if (!hasPipeDataListeners(stream4)) { - return; - } - var listener; - var listeners = stream4.listeners("close"); - for (var i = 0; i < listeners.length; i++) { - listener = listeners[i]; - if (listener.name !== "cleanup" && listener.name !== "onclose") { - continue; - } - listener.call(stream4); - } - } - } -}); - -// node_modules/raw-body/index.js -var require_raw_body = __commonJS({ - "node_modules/raw-body/index.js"(exports2, module2) { - "use strict"; - var asyncHooks = tryRequireAsyncHooks(); - var bytes = require_bytes(); - var createError = require_http_errors3(); - var iconv = require_lib2(); - var unpipe = require_unpipe(); - module2.exports = getRawBody; - var ICONV_ENCODING_MESSAGE_REGEXP = /^Encoding not recognized: /; - function getDecoder(encoding) { - if (!encoding) - return null; - try { - return iconv.getDecoder(encoding); - } catch (e) { - if (!ICONV_ENCODING_MESSAGE_REGEXP.test(e.message)) - throw e; - throw createError(415, "specified encoding unsupported", { - encoding, - type: "encoding.unsupported" - }); - } - } - function getRawBody(stream4, options, callback) { - var done = callback; - var opts = options || {}; - if (options === true || typeof options === "string") { - opts = { - encoding: options - }; - } - if (typeof options === "function") { - done = options; - opts = {}; - } - if (done !== void 0 && typeof done !== "function") { - throw new TypeError("argument callback must be a function"); - } - if (!done && !global.Promise) { - throw new TypeError("argument callback is required"); - } - var encoding = opts.encoding !== true ? opts.encoding : "utf-8"; - var limit = bytes.parse(opts.limit); - var length = opts.length != null && !isNaN(opts.length) ? parseInt(opts.length, 10) : null; - if (done) { - return readStream(stream4, encoding, length, limit, wrap(done)); - } - return new Promise(function executor(resolve, reject) { - readStream(stream4, encoding, length, limit, function onRead(err, buf) { - if (err) - return reject(err); - resolve(buf); - }); - }); - } - function halt(stream4) { - unpipe(stream4); - if (typeof stream4.pause === "function") { - stream4.pause(); - } - } - function readStream(stream4, encoding, length, limit, callback) { - var complete = false; - var sync = true; - if (limit !== null && length !== null && length > limit) { - return done(createError(413, "request entity too large", { - expected: length, - length, - limit, - type: "entity.too.large" - })); - } - var state = stream4._readableState; - if (stream4._decoder || state && (state.encoding || state.decoder)) { - return done(createError(500, "stream encoding should not be set", { - type: "stream.encoding.set" - })); - } - if (typeof stream4.readable !== "undefined" && !stream4.readable) { - return done(createError(500, "stream is not readable", { - type: "stream.not.readable" - })); - } - var received = 0; - var decoder; - try { - decoder = getDecoder(encoding); - } catch (err) { - return done(err); - } - var buffer = decoder ? "" : []; - stream4.on("aborted", onAborted); - stream4.on("close", cleanup); - stream4.on("data", onData); - stream4.on("end", onEnd); - stream4.on("error", onEnd); - sync = false; - function done() { - var args2 = new Array(arguments.length); - for (var i = 0; i < args2.length; i++) { - args2[i] = arguments[i]; - } - complete = true; - if (sync) { - process.nextTick(invokeCallback); - } else { - invokeCallback(); - } - function invokeCallback() { - cleanup(); - if (args2[0]) { - halt(stream4); - } - callback.apply(null, args2); - } - } - function onAborted() { - if (complete) - return; - done(createError(400, "request aborted", { - code: "ECONNABORTED", - expected: length, - length, - received, - type: "request.aborted" - })); - } - function onData(chunk) { - if (complete) - return; - received += chunk.length; - if (limit !== null && received > limit) { - done(createError(413, "request entity too large", { - limit, - received, - type: "entity.too.large" - })); - } else if (decoder) { - buffer += decoder.write(chunk); - } else { - buffer.push(chunk); - } - } - function onEnd(err) { - if (complete) - return; - if (err) - return done(err); - if (length !== null && received !== length) { - done(createError(400, "request size did not match content length", { - expected: length, - length, - received, - type: "request.size.invalid" - })); - } else { - var string = decoder ? buffer + (decoder.end() || "") : Buffer.concat(buffer); - done(null, string); - } - } - function cleanup() { - buffer = null; - stream4.removeListener("aborted", onAborted); - stream4.removeListener("data", onData); - stream4.removeListener("end", onEnd); - stream4.removeListener("error", onEnd); - stream4.removeListener("close", cleanup); - } - } - function tryRequireAsyncHooks() { - try { - return require("async_hooks"); - } catch (e) { - return {}; - } - } - function wrap(fn2) { - var res; - if (asyncHooks.AsyncResource) { - res = new asyncHooks.AsyncResource(fn2.name || "bound-anonymous-fn"); - } - if (!res || !res.runInAsyncScope) { - return fn2; - } - return res.runInAsyncScope.bind(res, fn2, null); - } - } -}); - -// node_modules/inflation/index.js -var require_inflation = __commonJS({ - "node_modules/inflation/index.js"(exports2, module2) { - var zlib2 = require("zlib"); - module2.exports = inflate; - function inflate(stream4, options) { - if (!stream4) { - throw new TypeError("argument stream is required"); - } - options = options || {}; - var encoding = options.encoding || stream4.headers && stream4.headers["content-encoding"] || "identity"; - switch (encoding) { - case "gzip": - case "deflate": - break; - case "identity": - return stream4; - default: - var err = new Error("Unsupported Content-Encoding: " + encoding); - err.status = 415; - throw err; - } - delete options.encoding; - return stream4.pipe(zlib2.Unzip(options)); - } - } -}); - -// node_modules/co-body/lib/utils.js -var require_utils = __commonJS({ - "node_modules/co-body/lib/utils.js"(exports2) { - "use strict"; - exports2.clone = function(opts) { - const options = {}; - opts = opts || {}; - for (const key in opts) { - options[key] = opts[key]; - } - return options; - }; - } -}); - -// node_modules/co-body/lib/json.js -var require_json2 = __commonJS({ - "node_modules/co-body/lib/json.js"(exports2, module2) { - "use strict"; - var raw = require_raw_body(); - var inflate = require_inflation(); - var utils = require_utils(); - var strictJSONReg = /^[\x20\x09\x0a\x0d]*(\[|\{)/; - module2.exports = async function(req, opts) { - req = req.req || req; - opts = utils.clone(opts); - const len = req.headers["content-length"]; - const encoding = req.headers["content-encoding"] || "identity"; - if (len && encoding === "identity") - opts.length = ~~len; - opts.encoding = opts.encoding || "utf8"; - opts.limit = opts.limit || "1mb"; - const strict = opts.strict !== false; - const str = await raw(inflate(req), opts); - try { - const parsed = parse(str); - return opts.returnRawBody ? { parsed, raw: str } : parsed; - } catch (err) { - err.status = 400; - err.body = str; - throw err; - } - function parse(str2) { - if (!strict) - return str2 ? JSON.parse(str2) : str2; - if (!str2) - return {}; - if (!strictJSONReg.test(str2)) { - throw new SyntaxError("invalid JSON, only supports object and array"); - } - return JSON.parse(str2); - } - }; - } -}); - -// node_modules/has-symbols/index.js -var require_has_symbols = __commonJS({ - "node_modules/has-symbols/index.js"(exports2, module2) { - "use strict"; - var origSymbol = typeof Symbol !== "undefined" && Symbol; - var hasSymbolSham = require_shams(); - module2.exports = function hasNativeSymbols() { - if (typeof origSymbol !== "function") { - return false; - } - if (typeof Symbol !== "function") { - return false; - } - if (typeof origSymbol("foo") !== "symbol") { - return false; - } - if (typeof Symbol("bar") !== "symbol") { - return false; - } - return hasSymbolSham(); - }; - } -}); - -// node_modules/function-bind/implementation.js -var require_implementation = __commonJS({ - "node_modules/function-bind/implementation.js"(exports2, module2) { - "use strict"; - var ERROR_MESSAGE = "Function.prototype.bind called on incompatible "; - var slice = Array.prototype.slice; - var toStr = Object.prototype.toString; - var funcType = "[object Function]"; - module2.exports = function bind2(that) { - var target = this; - if (typeof target !== "function" || toStr.call(target) !== funcType) { - throw new TypeError(ERROR_MESSAGE + target); - } - var args2 = slice.call(arguments, 1); - var bound; - var binder = function() { - if (this instanceof bound) { - var result = target.apply( - this, - args2.concat(slice.call(arguments)) - ); - if (Object(result) === result) { - return result; - } - return this; - } else { - return target.apply( - that, - args2.concat(slice.call(arguments)) - ); - } - }; - var boundLength = Math.max(0, target.length - args2.length); - var boundArgs = []; - for (var i = 0; i < boundLength; i++) { - boundArgs.push("$" + i); - } - bound = Function("binder", "return function (" + boundArgs.join(",") + "){ return binder.apply(this,arguments); }")(binder); - if (target.prototype) { - var Empty = function Empty2() { - }; - Empty.prototype = target.prototype; - bound.prototype = new Empty(); - Empty.prototype = null; - } - return bound; - }; - } -}); - -// node_modules/function-bind/index.js -var require_function_bind = __commonJS({ - "node_modules/function-bind/index.js"(exports2, module2) { - "use strict"; - var implementation = require_implementation(); - module2.exports = Function.prototype.bind || implementation; - } -}); - -// node_modules/has/src/index.js -var require_src3 = __commonJS({ - "node_modules/has/src/index.js"(exports2, module2) { - "use strict"; - var bind2 = require_function_bind(); - module2.exports = bind2.call(Function.call, Object.prototype.hasOwnProperty); - } -}); - -// node_modules/get-intrinsic/index.js -var require_get_intrinsic = __commonJS({ - "node_modules/get-intrinsic/index.js"(exports2, module2) { - "use strict"; - var undefined2; - var $SyntaxError = SyntaxError; - var $Function = Function; - var $TypeError = TypeError; - var getEvalledConstructor = function(expressionSyntax) { - try { - return $Function('"use strict"; return (' + expressionSyntax + ").constructor;")(); - } catch (e) { - } - }; - var $gOPD = Object.getOwnPropertyDescriptor; - if ($gOPD) { - try { - $gOPD({}, ""); - } catch (e) { - $gOPD = null; - } - } - var throwTypeError = function() { - throw new $TypeError(); - }; - var ThrowTypeError = $gOPD ? function() { - try { - arguments.callee; - return throwTypeError; - } catch (calleeThrows) { - try { - return $gOPD(arguments, "callee").get; - } catch (gOPDthrows) { - return throwTypeError; - } - } - }() : throwTypeError; - var hasSymbols = require_has_symbols()(); - var getProto = Object.getPrototypeOf || function(x) { - return x.__proto__; - }; - var needsEval = {}; - var TypedArray = typeof Uint8Array === "undefined" ? undefined2 : getProto(Uint8Array); - var INTRINSICS = { - "%AggregateError%": typeof AggregateError === "undefined" ? undefined2 : AggregateError, - "%Array%": Array, - "%ArrayBuffer%": typeof ArrayBuffer === "undefined" ? undefined2 : ArrayBuffer, - "%ArrayIteratorPrototype%": hasSymbols ? getProto([][Symbol.iterator]()) : undefined2, - "%AsyncFromSyncIteratorPrototype%": undefined2, - "%AsyncFunction%": needsEval, - "%AsyncGenerator%": needsEval, - "%AsyncGeneratorFunction%": needsEval, - "%AsyncIteratorPrototype%": needsEval, - "%Atomics%": typeof Atomics === "undefined" ? undefined2 : Atomics, - "%BigInt%": typeof BigInt === "undefined" ? undefined2 : BigInt, - "%Boolean%": Boolean, - "%DataView%": typeof DataView === "undefined" ? undefined2 : DataView, - "%Date%": Date, - "%decodeURI%": decodeURI, - "%decodeURIComponent%": decodeURIComponent, - "%encodeURI%": encodeURI, - "%encodeURIComponent%": encodeURIComponent, - "%Error%": Error, - "%eval%": eval, - "%EvalError%": EvalError, - "%Float32Array%": typeof Float32Array === "undefined" ? undefined2 : Float32Array, - "%Float64Array%": typeof Float64Array === "undefined" ? undefined2 : Float64Array, - "%FinalizationRegistry%": typeof FinalizationRegistry === "undefined" ? undefined2 : FinalizationRegistry, - "%Function%": $Function, - "%GeneratorFunction%": needsEval, - "%Int8Array%": typeof Int8Array === "undefined" ? undefined2 : Int8Array, - "%Int16Array%": typeof Int16Array === "undefined" ? undefined2 : Int16Array, - "%Int32Array%": typeof Int32Array === "undefined" ? undefined2 : Int32Array, - "%isFinite%": isFinite, - "%isNaN%": isNaN, - "%IteratorPrototype%": hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined2, - "%JSON%": typeof JSON === "object" ? JSON : undefined2, - "%Map%": typeof Map === "undefined" ? undefined2 : Map, - "%MapIteratorPrototype%": typeof Map === "undefined" || !hasSymbols ? undefined2 : getProto((/* @__PURE__ */ new Map())[Symbol.iterator]()), - "%Math%": Math, - "%Number%": Number, - "%Object%": Object, - "%parseFloat%": parseFloat, - "%parseInt%": parseInt, - "%Promise%": typeof Promise === "undefined" ? undefined2 : Promise, - "%Proxy%": typeof Proxy === "undefined" ? undefined2 : Proxy, - "%RangeError%": RangeError, - "%ReferenceError%": ReferenceError, - "%Reflect%": typeof Reflect === "undefined" ? undefined2 : Reflect, - "%RegExp%": RegExp, - "%Set%": typeof Set === "undefined" ? undefined2 : Set, - "%SetIteratorPrototype%": typeof Set === "undefined" || !hasSymbols ? undefined2 : getProto((/* @__PURE__ */ new Set())[Symbol.iterator]()), - "%SharedArrayBuffer%": typeof SharedArrayBuffer === "undefined" ? undefined2 : SharedArrayBuffer, - "%String%": String, - "%StringIteratorPrototype%": hasSymbols ? getProto(""[Symbol.iterator]()) : undefined2, - "%Symbol%": hasSymbols ? Symbol : undefined2, - "%SyntaxError%": $SyntaxError, - "%ThrowTypeError%": ThrowTypeError, - "%TypedArray%": TypedArray, - "%TypeError%": $TypeError, - "%Uint8Array%": typeof Uint8Array === "undefined" ? undefined2 : Uint8Array, - "%Uint8ClampedArray%": typeof Uint8ClampedArray === "undefined" ? undefined2 : Uint8ClampedArray, - "%Uint16Array%": typeof Uint16Array === "undefined" ? undefined2 : Uint16Array, - "%Uint32Array%": typeof Uint32Array === "undefined" ? undefined2 : Uint32Array, - "%URIError%": URIError, - "%WeakMap%": typeof WeakMap === "undefined" ? undefined2 : WeakMap, - "%WeakRef%": typeof WeakRef === "undefined" ? undefined2 : WeakRef, - "%WeakSet%": typeof WeakSet === "undefined" ? undefined2 : WeakSet - }; - var doEval = function doEval2(name) { - var value; - if (name === "%AsyncFunction%") { - value = getEvalledConstructor("async function () {}"); - } else if (name === "%GeneratorFunction%") { - value = getEvalledConstructor("function* () {}"); - } else if (name === "%AsyncGeneratorFunction%") { - value = getEvalledConstructor("async function* () {}"); - } else if (name === "%AsyncGenerator%") { - var fn2 = doEval2("%AsyncGeneratorFunction%"); - if (fn2) { - value = fn2.prototype; - } - } else if (name === "%AsyncIteratorPrototype%") { - var gen = doEval2("%AsyncGenerator%"); - if (gen) { - value = getProto(gen.prototype); - } - } - INTRINSICS[name] = value; - return value; - }; - var LEGACY_ALIASES = { - "%ArrayBufferPrototype%": ["ArrayBuffer", "prototype"], - "%ArrayPrototype%": ["Array", "prototype"], - "%ArrayProto_entries%": ["Array", "prototype", "entries"], - "%ArrayProto_forEach%": ["Array", "prototype", "forEach"], - "%ArrayProto_keys%": ["Array", "prototype", "keys"], - "%ArrayProto_values%": ["Array", "prototype", "values"], - "%AsyncFunctionPrototype%": ["AsyncFunction", "prototype"], - "%AsyncGenerator%": ["AsyncGeneratorFunction", "prototype"], - "%AsyncGeneratorPrototype%": ["AsyncGeneratorFunction", "prototype", "prototype"], - "%BooleanPrototype%": ["Boolean", "prototype"], - "%DataViewPrototype%": ["DataView", "prototype"], - "%DatePrototype%": ["Date", "prototype"], - "%ErrorPrototype%": ["Error", "prototype"], - "%EvalErrorPrototype%": ["EvalError", "prototype"], - "%Float32ArrayPrototype%": ["Float32Array", "prototype"], - "%Float64ArrayPrototype%": ["Float64Array", "prototype"], - "%FunctionPrototype%": ["Function", "prototype"], - "%Generator%": ["GeneratorFunction", "prototype"], - "%GeneratorPrototype%": ["GeneratorFunction", "prototype", "prototype"], - "%Int8ArrayPrototype%": ["Int8Array", "prototype"], - "%Int16ArrayPrototype%": ["Int16Array", "prototype"], - "%Int32ArrayPrototype%": ["Int32Array", "prototype"], - "%JSONParse%": ["JSON", "parse"], - "%JSONStringify%": ["JSON", "stringify"], - "%MapPrototype%": ["Map", "prototype"], - "%NumberPrototype%": ["Number", "prototype"], - "%ObjectPrototype%": ["Object", "prototype"], - "%ObjProto_toString%": ["Object", "prototype", "toString"], - "%ObjProto_valueOf%": ["Object", "prototype", "valueOf"], - "%PromisePrototype%": ["Promise", "prototype"], - "%PromiseProto_then%": ["Promise", "prototype", "then"], - "%Promise_all%": ["Promise", "all"], - "%Promise_reject%": ["Promise", "reject"], - "%Promise_resolve%": ["Promise", "resolve"], - "%RangeErrorPrototype%": ["RangeError", "prototype"], - "%ReferenceErrorPrototype%": ["ReferenceError", "prototype"], - "%RegExpPrototype%": ["RegExp", "prototype"], - "%SetPrototype%": ["Set", "prototype"], - "%SharedArrayBufferPrototype%": ["SharedArrayBuffer", "prototype"], - "%StringPrototype%": ["String", "prototype"], - "%SymbolPrototype%": ["Symbol", "prototype"], - "%SyntaxErrorPrototype%": ["SyntaxError", "prototype"], - "%TypedArrayPrototype%": ["TypedArray", "prototype"], - "%TypeErrorPrototype%": ["TypeError", "prototype"], - "%Uint8ArrayPrototype%": ["Uint8Array", "prototype"], - "%Uint8ClampedArrayPrototype%": ["Uint8ClampedArray", "prototype"], - "%Uint16ArrayPrototype%": ["Uint16Array", "prototype"], - "%Uint32ArrayPrototype%": ["Uint32Array", "prototype"], - "%URIErrorPrototype%": ["URIError", "prototype"], - "%WeakMapPrototype%": ["WeakMap", "prototype"], - "%WeakSetPrototype%": ["WeakSet", "prototype"] - }; - var bind2 = require_function_bind(); - var hasOwn = require_src3(); - var $concat = bind2.call(Function.call, Array.prototype.concat); - var $spliceApply = bind2.call(Function.apply, Array.prototype.splice); - var $replace = bind2.call(Function.call, String.prototype.replace); - var $strSlice = bind2.call(Function.call, String.prototype.slice); - var $exec = bind2.call(Function.call, RegExp.prototype.exec); - var rePropName = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g; - var reEscapeChar = /\\(\\)?/g; - var stringToPath = function stringToPath2(string) { - var first = $strSlice(string, 0, 1); - var last = $strSlice(string, -1); - if (first === "%" && last !== "%") { - throw new $SyntaxError("invalid intrinsic syntax, expected closing `%`"); - } else if (last === "%" && first !== "%") { - throw new $SyntaxError("invalid intrinsic syntax, expected opening `%`"); - } - var result = []; - $replace(string, rePropName, function(match, number, quote, subString) { - result[result.length] = quote ? $replace(subString, reEscapeChar, "$1") : number || match; - }); - return result; - }; - var getBaseIntrinsic = function getBaseIntrinsic2(name, allowMissing) { - var intrinsicName = name; - var alias; - if (hasOwn(LEGACY_ALIASES, intrinsicName)) { - alias = LEGACY_ALIASES[intrinsicName]; - intrinsicName = "%" + alias[0] + "%"; - } - if (hasOwn(INTRINSICS, intrinsicName)) { - var value = INTRINSICS[intrinsicName]; - if (value === needsEval) { - value = doEval(intrinsicName); - } - if (typeof value === "undefined" && !allowMissing) { - throw new $TypeError("intrinsic " + name + " exists, but is not available. Please file an issue!"); - } - return { - alias, - name: intrinsicName, - value - }; - } - throw new $SyntaxError("intrinsic " + name + " does not exist!"); - }; - module2.exports = function GetIntrinsic(name, allowMissing) { - if (typeof name !== "string" || name.length === 0) { - throw new $TypeError("intrinsic name must be a non-empty string"); - } - if (arguments.length > 1 && typeof allowMissing !== "boolean") { - throw new $TypeError('"allowMissing" argument must be a boolean'); - } - if ($exec(/^%?[^%]*%?$/, name) === null) { - throw new $SyntaxError("`%` may not be present anywhere but at the beginning and end of the intrinsic name"); - } - var parts = stringToPath(name); - var intrinsicBaseName = parts.length > 0 ? parts[0] : ""; - var intrinsic = getBaseIntrinsic("%" + intrinsicBaseName + "%", allowMissing); - var intrinsicRealName = intrinsic.name; - var value = intrinsic.value; - var skipFurtherCaching = false; - var alias = intrinsic.alias; - if (alias) { - intrinsicBaseName = alias[0]; - $spliceApply(parts, $concat([0, 1], alias)); - } - for (var i = 1, isOwn = true; i < parts.length; i += 1) { - var part = parts[i]; - var first = $strSlice(part, 0, 1); - var last = $strSlice(part, -1); - if ((first === '"' || first === "'" || first === "`" || (last === '"' || last === "'" || last === "`")) && first !== last) { - throw new $SyntaxError("property names with quotes must have matching quotes"); - } - if (part === "constructor" || !isOwn) { - skipFurtherCaching = true; - } - intrinsicBaseName += "." + part; - intrinsicRealName = "%" + intrinsicBaseName + "%"; - if (hasOwn(INTRINSICS, intrinsicRealName)) { - value = INTRINSICS[intrinsicRealName]; - } else if (value != null) { - if (!(part in value)) { - if (!allowMissing) { - throw new $TypeError("base intrinsic for " + name + " exists, but the property is not available."); - } - return void 0; - } - if ($gOPD && i + 1 >= parts.length) { - var desc = $gOPD(value, part); - isOwn = !!desc; - if (isOwn && "get" in desc && !("originalValue" in desc.get)) { - value = desc.get; - } else { - value = value[part]; - } - } else { - isOwn = hasOwn(value, part); - value = value[part]; - } - if (isOwn && !skipFurtherCaching) { - INTRINSICS[intrinsicRealName] = value; - } - } - } - return value; - }; - } -}); - -// node_modules/call-bind/index.js -var require_call_bind = __commonJS({ - "node_modules/call-bind/index.js"(exports2, module2) { - "use strict"; - var bind2 = require_function_bind(); - var GetIntrinsic = require_get_intrinsic(); - var $apply = GetIntrinsic("%Function.prototype.apply%"); - var $call = GetIntrinsic("%Function.prototype.call%"); - var $reflectApply = GetIntrinsic("%Reflect.apply%", true) || bind2.call($call, $apply); - var $gOPD = GetIntrinsic("%Object.getOwnPropertyDescriptor%", true); - var $defineProperty = GetIntrinsic("%Object.defineProperty%", true); - var $max = GetIntrinsic("%Math.max%"); - if ($defineProperty) { - try { - $defineProperty({}, "a", { value: 1 }); - } catch (e) { - $defineProperty = null; - } - } - module2.exports = function callBind(originalFunction) { - var func = $reflectApply(bind2, $call, arguments); - if ($gOPD && $defineProperty) { - var desc = $gOPD(func, "length"); - if (desc.configurable) { - $defineProperty( - func, - "length", - { value: 1 + $max(0, originalFunction.length - (arguments.length - 1)) } - ); - } - } - return func; - }; - var applyBind = function applyBind2() { - return $reflectApply(bind2, $apply, arguments); - }; - if ($defineProperty) { - $defineProperty(module2.exports, "apply", { value: applyBind }); - } else { - module2.exports.apply = applyBind; - } - } -}); - -// node_modules/call-bind/callBound.js -var require_callBound = __commonJS({ - "node_modules/call-bind/callBound.js"(exports2, module2) { - "use strict"; - var GetIntrinsic = require_get_intrinsic(); - var callBind = require_call_bind(); - var $indexOf = callBind(GetIntrinsic("String.prototype.indexOf")); - module2.exports = function callBoundIntrinsic(name, allowMissing) { - var intrinsic = GetIntrinsic(name, !!allowMissing); - if (typeof intrinsic === "function" && $indexOf(name, ".prototype.") > -1) { - return callBind(intrinsic); - } - return intrinsic; - }; - } -}); - -// node_modules/object-inspect/util.inspect.js -var require_util_inspect = __commonJS({ - "node_modules/object-inspect/util.inspect.js"(exports2, module2) { - module2.exports = require("util").inspect; - } -}); - -// node_modules/object-inspect/index.js -var require_object_inspect = __commonJS({ - "node_modules/object-inspect/index.js"(exports2, module2) { - var hasMap = typeof Map === "function" && Map.prototype; - var mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, "size") : null; - var mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === "function" ? mapSizeDescriptor.get : null; - var mapForEach = hasMap && Map.prototype.forEach; - var hasSet = typeof Set === "function" && Set.prototype; - var setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, "size") : null; - var setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === "function" ? setSizeDescriptor.get : null; - var setForEach = hasSet && Set.prototype.forEach; - var hasWeakMap = typeof WeakMap === "function" && WeakMap.prototype; - var weakMapHas = hasWeakMap ? WeakMap.prototype.has : null; - var hasWeakSet = typeof WeakSet === "function" && WeakSet.prototype; - var weakSetHas = hasWeakSet ? WeakSet.prototype.has : null; - var hasWeakRef = typeof WeakRef === "function" && WeakRef.prototype; - var weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null; - var booleanValueOf = Boolean.prototype.valueOf; - var objectToString = Object.prototype.toString; - var functionToString = Function.prototype.toString; - var $match = String.prototype.match; - var $slice = String.prototype.slice; - var $replace = String.prototype.replace; - var $toUpperCase = String.prototype.toUpperCase; - var $toLowerCase = String.prototype.toLowerCase; - var $test = RegExp.prototype.test; - var $concat = Array.prototype.concat; - var $join = Array.prototype.join; - var $arrSlice = Array.prototype.slice; - var $floor = Math.floor; - var bigIntValueOf = typeof BigInt === "function" ? BigInt.prototype.valueOf : null; - var gOPS = Object.getOwnPropertySymbols; - var symToString = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? Symbol.prototype.toString : null; - var hasShammedSymbols = typeof Symbol === "function" && typeof Symbol.iterator === "object"; - var toStringTag = typeof Symbol === "function" && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols ? "object" : "symbol") ? Symbol.toStringTag : null; - var isEnumerable = Object.prototype.propertyIsEnumerable; - var gPO = (typeof Reflect === "function" ? Reflect.getPrototypeOf : Object.getPrototypeOf) || ([].__proto__ === Array.prototype ? function(O) { - return O.__proto__; - } : null); - function addNumericSeparator(num, str) { - if (num === Infinity || num === -Infinity || num !== num || num && num > -1e3 && num < 1e3 || $test.call(/e/, str)) { - return str; - } - var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g; - if (typeof num === "number") { - var int = num < 0 ? -$floor(-num) : $floor(num); - if (int !== num) { - var intStr = String(int); - var dec = $slice.call(str, intStr.length + 1); - return $replace.call(intStr, sepRegex, "$&_") + "." + $replace.call($replace.call(dec, /([0-9]{3})/g, "$&_"), /_$/, ""); - } - } - return $replace.call(str, sepRegex, "$&_"); - } - var utilInspect = require_util_inspect(); - var inspectCustom = utilInspect.custom; - var inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null; - module2.exports = function inspect_(obj, options, depth, seen) { - var opts = options || {}; - if (has(opts, "quoteStyle") && (opts.quoteStyle !== "single" && opts.quoteStyle !== "double")) { - throw new TypeError('option "quoteStyle" must be "single" or "double"'); - } - if (has(opts, "maxStringLength") && (typeof opts.maxStringLength === "number" ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity : opts.maxStringLength !== null)) { - throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`'); - } - var customInspect = has(opts, "customInspect") ? opts.customInspect : true; - if (typeof customInspect !== "boolean" && customInspect !== "symbol") { - throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`"); - } - if (has(opts, "indent") && opts.indent !== null && opts.indent !== " " && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)) { - throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`'); - } - if (has(opts, "numericSeparator") && typeof opts.numericSeparator !== "boolean") { - throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`'); - } - var numericSeparator = opts.numericSeparator; - if (typeof obj === "undefined") { - return "undefined"; - } - if (obj === null) { - return "null"; - } - if (typeof obj === "boolean") { - return obj ? "true" : "false"; - } - if (typeof obj === "string") { - return inspectString(obj, opts); - } - if (typeof obj === "number") { - if (obj === 0) { - return Infinity / obj > 0 ? "0" : "-0"; - } - var str = String(obj); - return numericSeparator ? addNumericSeparator(obj, str) : str; - } - if (typeof obj === "bigint") { - var bigIntStr = String(obj) + "n"; - return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr; - } - var maxDepth = typeof opts.depth === "undefined" ? 5 : opts.depth; - if (typeof depth === "undefined") { - depth = 0; - } - if (depth >= maxDepth && maxDepth > 0 && typeof obj === "object") { - return isArray3(obj) ? "[Array]" : "[Object]"; - } - var indent = getIndent(opts, depth); - if (typeof seen === "undefined") { - seen = []; - } else if (indexOf(seen, obj) >= 0) { - return "[Circular]"; - } - function inspect(value, from, noIndent) { - if (from) { - seen = $arrSlice.call(seen); - seen.push(from); - } - if (noIndent) { - var newOpts = { - depth: opts.depth - }; - if (has(opts, "quoteStyle")) { - newOpts.quoteStyle = opts.quoteStyle; - } - return inspect_(value, newOpts, depth + 1, seen); - } - return inspect_(value, opts, depth + 1, seen); - } - if (typeof obj === "function" && !isRegExp2(obj)) { - var name = nameOf(obj); - var keys2 = arrObjKeys(obj, inspect); - return "[Function" + (name ? ": " + name : " (anonymous)") + "]" + (keys2.length > 0 ? " { " + $join.call(keys2, ", ") + " }" : ""); - } - if (isSymbol(obj)) { - var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\(.*\))_[^)]*$/, "$1") : symToString.call(obj); - return typeof obj === "object" && !hasShammedSymbols ? markBoxed(symString) : symString; - } - if (isElement(obj)) { - var s = "<" + $toLowerCase.call(String(obj.nodeName)); - var attrs = obj.attributes || []; - for (var i = 0; i < attrs.length; i++) { - s += " " + attrs[i].name + "=" + wrapQuotes(quote(attrs[i].value), "double", opts); - } - s += ">"; - if (obj.childNodes && obj.childNodes.length) { - s += "..."; - } - s += ""; - return s; - } - if (isArray3(obj)) { - if (obj.length === 0) { - return "[]"; - } - var xs = arrObjKeys(obj, inspect); - if (indent && !singleLineValues(xs)) { - return "[" + indentedJoin(xs, indent) + "]"; - } - return "[ " + $join.call(xs, ", ") + " ]"; - } - if (isError(obj)) { - var parts = arrObjKeys(obj, inspect); - if (!("cause" in Error.prototype) && "cause" in obj && !isEnumerable.call(obj, "cause")) { - return "{ [" + String(obj) + "] " + $join.call($concat.call("[cause]: " + inspect(obj.cause), parts), ", ") + " }"; - } - if (parts.length === 0) { - return "[" + String(obj) + "]"; - } - return "{ [" + String(obj) + "] " + $join.call(parts, ", ") + " }"; - } - if (typeof obj === "object" && customInspect) { - if (inspectSymbol && typeof obj[inspectSymbol] === "function" && utilInspect) { - return utilInspect(obj, { depth: maxDepth - depth }); - } else if (customInspect !== "symbol" && typeof obj.inspect === "function") { - return obj.inspect(); - } - } - if (isMap(obj)) { - var mapParts = []; - mapForEach.call(obj, function(value, key) { - mapParts.push(inspect(key, obj, true) + " => " + inspect(value, obj)); - }); - return collectionOf("Map", mapSize.call(obj), mapParts, indent); - } - if (isSet(obj)) { - var setParts = []; - setForEach.call(obj, function(value) { - setParts.push(inspect(value, obj)); - }); - return collectionOf("Set", setSize.call(obj), setParts, indent); - } - if (isWeakMap(obj)) { - return weakCollectionOf("WeakMap"); - } - if (isWeakSet(obj)) { - return weakCollectionOf("WeakSet"); - } - if (isWeakRef(obj)) { - return weakCollectionOf("WeakRef"); - } - if (isNumber3(obj)) { - return markBoxed(inspect(Number(obj))); - } - if (isBigInt(obj)) { - return markBoxed(inspect(bigIntValueOf.call(obj))); - } - if (isBoolean3(obj)) { - return markBoxed(booleanValueOf.call(obj)); - } - if (isString3(obj)) { - return markBoxed(inspect(String(obj))); - } - if (!isDate2(obj) && !isRegExp2(obj)) { - var ys = arrObjKeys(obj, inspect); - var isPlainObject2 = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object; - var protoTag = obj instanceof Object ? "" : "null prototype"; - var stringTag = !isPlainObject2 && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? "Object" : ""; - var constructorTag = isPlainObject2 || typeof obj.constructor !== "function" ? "" : obj.constructor.name ? obj.constructor.name + " " : ""; - var tag = constructorTag + (stringTag || protoTag ? "[" + $join.call($concat.call([], stringTag || [], protoTag || []), ": ") + "] " : ""); - if (ys.length === 0) { - return tag + "{}"; - } - if (indent) { - return tag + "{" + indentedJoin(ys, indent) + "}"; - } - return tag + "{ " + $join.call(ys, ", ") + " }"; - } - return String(obj); - }; - function wrapQuotes(s, defaultStyle, opts) { - var quoteChar = (opts.quoteStyle || defaultStyle) === "double" ? '"' : "'"; - return quoteChar + s + quoteChar; - } - function quote(s) { - return $replace.call(String(s), /"/g, """); - } - function isArray3(obj) { - return toStr(obj) === "[object Array]" && (!toStringTag || !(typeof obj === "object" && toStringTag in obj)); - } - function isDate2(obj) { - return toStr(obj) === "[object Date]" && (!toStringTag || !(typeof obj === "object" && toStringTag in obj)); - } - function isRegExp2(obj) { - return toStr(obj) === "[object RegExp]" && (!toStringTag || !(typeof obj === "object" && toStringTag in obj)); - } - function isError(obj) { - return toStr(obj) === "[object Error]" && (!toStringTag || !(typeof obj === "object" && toStringTag in obj)); - } - function isString3(obj) { - return toStr(obj) === "[object String]" && (!toStringTag || !(typeof obj === "object" && toStringTag in obj)); - } - function isNumber3(obj) { - return toStr(obj) === "[object Number]" && (!toStringTag || !(typeof obj === "object" && toStringTag in obj)); - } - function isBoolean3(obj) { - return toStr(obj) === "[object Boolean]" && (!toStringTag || !(typeof obj === "object" && toStringTag in obj)); - } - function isSymbol(obj) { - if (hasShammedSymbols) { - return obj && typeof obj === "object" && obj instanceof Symbol; - } - if (typeof obj === "symbol") { - return true; - } - if (!obj || typeof obj !== "object" || !symToString) { - return false; - } - try { - symToString.call(obj); - return true; - } catch (e) { - } - return false; - } - function isBigInt(obj) { - if (!obj || typeof obj !== "object" || !bigIntValueOf) { - return false; - } - try { - bigIntValueOf.call(obj); - return true; - } catch (e) { - } - return false; - } - var hasOwn = Object.prototype.hasOwnProperty || function(key) { - return key in this; - }; - function has(obj, key) { - return hasOwn.call(obj, key); - } - function toStr(obj) { - return objectToString.call(obj); - } - function nameOf(f) { - if (f.name) { - return f.name; - } - var m = $match.call(functionToString.call(f), /^function\s*([\w$]+)/); - if (m) { - return m[1]; - } - return null; - } - function indexOf(xs, x) { - if (xs.indexOf) { - return xs.indexOf(x); - } - for (var i = 0, l = xs.length; i < l; i++) { - if (xs[i] === x) { - return i; - } - } - return -1; - } - function isMap(x) { - if (!mapSize || !x || typeof x !== "object") { - return false; - } - try { - mapSize.call(x); - try { - setSize.call(x); - } catch (s) { - return true; - } - return x instanceof Map; - } catch (e) { - } - return false; - } - function isWeakMap(x) { - if (!weakMapHas || !x || typeof x !== "object") { - return false; - } - try { - weakMapHas.call(x, weakMapHas); - try { - weakSetHas.call(x, weakSetHas); - } catch (s) { - return true; - } - return x instanceof WeakMap; - } catch (e) { - } - return false; - } - function isWeakRef(x) { - if (!weakRefDeref || !x || typeof x !== "object") { - return false; - } - try { - weakRefDeref.call(x); - return true; - } catch (e) { - } - return false; - } - function isSet(x) { - if (!setSize || !x || typeof x !== "object") { - return false; - } - try { - setSize.call(x); - try { - mapSize.call(x); - } catch (m) { - return true; - } - return x instanceof Set; - } catch (e) { - } - return false; - } - function isWeakSet(x) { - if (!weakSetHas || !x || typeof x !== "object") { - return false; - } - try { - weakSetHas.call(x, weakSetHas); - try { - weakMapHas.call(x, weakMapHas); - } catch (s) { - return true; - } - return x instanceof WeakSet; - } catch (e) { - } - return false; - } - function isElement(x) { - if (!x || typeof x !== "object") { - return false; - } - if (typeof HTMLElement !== "undefined" && x instanceof HTMLElement) { - return true; - } - return typeof x.nodeName === "string" && typeof x.getAttribute === "function"; - } - function inspectString(str, opts) { - if (str.length > opts.maxStringLength) { - var remaining = str.length - opts.maxStringLength; - var trailer = "... " + remaining + " more character" + (remaining > 1 ? "s" : ""); - return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer; - } - var s = $replace.call($replace.call(str, /(['\\])/g, "\\$1"), /[\x00-\x1f]/g, lowbyte); - return wrapQuotes(s, "single", opts); - } - function lowbyte(c) { - var n = c.charCodeAt(0); - var x = { - 8: "b", - 9: "t", - 10: "n", - 12: "f", - 13: "r" - }[n]; - if (x) { - return "\\" + x; - } - return "\\x" + (n < 16 ? "0" : "") + $toUpperCase.call(n.toString(16)); - } - function markBoxed(str) { - return "Object(" + str + ")"; - } - function weakCollectionOf(type) { - return type + " { ? }"; - } - function collectionOf(type, size, entries, indent) { - var joinedEntries = indent ? indentedJoin(entries, indent) : $join.call(entries, ", "); - return type + " (" + size + ") {" + joinedEntries + "}"; - } - function singleLineValues(xs) { - for (var i = 0; i < xs.length; i++) { - if (indexOf(xs[i], "\n") >= 0) { - return false; - } - } - return true; - } - function getIndent(opts, depth) { - var baseIndent; - if (opts.indent === " ") { - baseIndent = " "; - } else if (typeof opts.indent === "number" && opts.indent > 0) { - baseIndent = $join.call(Array(opts.indent + 1), " "); - } else { - return null; - } - return { - base: baseIndent, - prev: $join.call(Array(depth + 1), baseIndent) - }; - } - function indentedJoin(xs, indent) { - if (xs.length === 0) { - return ""; - } - var lineJoiner = "\n" + indent.prev + indent.base; - return lineJoiner + $join.call(xs, "," + lineJoiner) + "\n" + indent.prev; - } - function arrObjKeys(obj, inspect) { - var isArr = isArray3(obj); - var xs = []; - if (isArr) { - xs.length = obj.length; - for (var i = 0; i < obj.length; i++) { - xs[i] = has(obj, i) ? inspect(obj[i], obj) : ""; - } - } - var syms = typeof gOPS === "function" ? gOPS(obj) : []; - var symMap; - if (hasShammedSymbols) { - symMap = {}; - for (var k = 0; k < syms.length; k++) { - symMap["$" + syms[k]] = syms[k]; - } - } - for (var key in obj) { - if (!has(obj, key)) { - continue; - } - if (isArr && String(Number(key)) === key && key < obj.length) { - continue; - } - if (hasShammedSymbols && symMap["$" + key] instanceof Symbol) { - continue; - } else if ($test.call(/[^\w$]/, key)) { - xs.push(inspect(key, obj) + ": " + inspect(obj[key], obj)); - } else { - xs.push(key + ": " + inspect(obj[key], obj)); - } - } - if (typeof gOPS === "function") { - for (var j = 0; j < syms.length; j++) { - if (isEnumerable.call(obj, syms[j])) { - xs.push("[" + inspect(syms[j]) + "]: " + inspect(obj[syms[j]], obj)); - } - } - } - return xs; - } - } -}); - -// node_modules/side-channel/index.js -var require_side_channel = __commonJS({ - "node_modules/side-channel/index.js"(exports2, module2) { - "use strict"; - var GetIntrinsic = require_get_intrinsic(); - var callBound = require_callBound(); - var inspect = require_object_inspect(); - var $TypeError = GetIntrinsic("%TypeError%"); - var $WeakMap = GetIntrinsic("%WeakMap%", true); - var $Map = GetIntrinsic("%Map%", true); - var $weakMapGet = callBound("WeakMap.prototype.get", true); - var $weakMapSet = callBound("WeakMap.prototype.set", true); - var $weakMapHas = callBound("WeakMap.prototype.has", true); - var $mapGet = callBound("Map.prototype.get", true); - var $mapSet = callBound("Map.prototype.set", true); - var $mapHas = callBound("Map.prototype.has", true); - var listGetNode = function(list, key) { - for (var prev = list, curr; (curr = prev.next) !== null; prev = curr) { - if (curr.key === key) { - prev.next = curr.next; - curr.next = list.next; - list.next = curr; - return curr; - } - } - }; - var listGet = function(objects, key) { - var node = listGetNode(objects, key); - return node && node.value; - }; - var listSet = function(objects, key, value) { - var node = listGetNode(objects, key); - if (node) { - node.value = value; - } else { - objects.next = { - key, - next: objects.next, - value - }; - } - }; - var listHas = function(objects, key) { - return !!listGetNode(objects, key); - }; - module2.exports = function getSideChannel() { - var $wm; - var $m; - var $o; - var channel = { - assert: function(key) { - if (!channel.has(key)) { - throw new $TypeError("Side channel does not contain " + inspect(key)); - } - }, - get: function(key) { - if ($WeakMap && key && (typeof key === "object" || typeof key === "function")) { - if ($wm) { - return $weakMapGet($wm, key); - } - } else if ($Map) { - if ($m) { - return $mapGet($m, key); - } - } else { - if ($o) { - return listGet($o, key); - } - } - }, - has: function(key) { - if ($WeakMap && key && (typeof key === "object" || typeof key === "function")) { - if ($wm) { - return $weakMapHas($wm, key); - } - } else if ($Map) { - if ($m) { - return $mapHas($m, key); - } - } else { - if ($o) { - return listHas($o, key); - } - } - return false; - }, - set: function(key, value) { - if ($WeakMap && key && (typeof key === "object" || typeof key === "function")) { - if (!$wm) { - $wm = new $WeakMap(); - } - $weakMapSet($wm, key, value); - } else if ($Map) { - if (!$m) { - $m = new $Map(); - } - $mapSet($m, key, value); - } else { - if (!$o) { - $o = { key: {}, next: null }; - } - listSet($o, key, value); - } - } - }; - return channel; - }; - } -}); - -// node_modules/qs/lib/formats.js -var require_formats = __commonJS({ - "node_modules/qs/lib/formats.js"(exports2, module2) { - "use strict"; - var replace = String.prototype.replace; - var percentTwenties = /%20/g; - var Format = { - RFC1738: "RFC1738", - RFC3986: "RFC3986" - }; - module2.exports = { - "default": Format.RFC3986, - formatters: { - RFC1738: function(value) { - return replace.call(value, percentTwenties, "+"); - }, - RFC3986: function(value) { - return String(value); - } - }, - RFC1738: Format.RFC1738, - RFC3986: Format.RFC3986 - }; - } -}); - -// node_modules/qs/lib/utils.js -var require_utils2 = __commonJS({ - "node_modules/qs/lib/utils.js"(exports2, module2) { - "use strict"; - var formats = require_formats(); - var has = Object.prototype.hasOwnProperty; - var isArray3 = Array.isArray; - var hexTable = function() { - var array = []; - for (var i = 0; i < 256; ++i) { - array.push("%" + ((i < 16 ? "0" : "") + i.toString(16)).toUpperCase()); - } - return array; - }(); - var compactQueue = function compactQueue2(queue) { - while (queue.length > 1) { - var item = queue.pop(); - var obj = item.obj[item.prop]; - if (isArray3(obj)) { - var compacted = []; - for (var j = 0; j < obj.length; ++j) { - if (typeof obj[j] !== "undefined") { - compacted.push(obj[j]); - } - } - item.obj[item.prop] = compacted; - } - } - }; - var arrayToObject2 = function arrayToObject3(source2, options) { - var obj = options && options.plainObjects ? /* @__PURE__ */ Object.create(null) : {}; - for (var i = 0; i < source2.length; ++i) { - if (typeof source2[i] !== "undefined") { - obj[i] = source2[i]; - } - } - return obj; - }; - var merge2 = function merge3(target, source2, options) { - if (!source2) { - return target; - } - if (typeof source2 !== "object") { - if (isArray3(target)) { - target.push(source2); - } else if (target && typeof target === "object") { - if (options && (options.plainObjects || options.allowPrototypes) || !has.call(Object.prototype, source2)) { - target[source2] = true; - } - } else { - return [target, source2]; - } - return target; - } - if (!target || typeof target !== "object") { - return [target].concat(source2); - } - var mergeTarget = target; - if (isArray3(target) && !isArray3(source2)) { - mergeTarget = arrayToObject2(target, options); - } - if (isArray3(target) && isArray3(source2)) { - source2.forEach(function(item, i) { - if (has.call(target, i)) { - var targetItem = target[i]; - if (targetItem && typeof targetItem === "object" && item && typeof item === "object") { - target[i] = merge3(targetItem, item, options); - } else { - target.push(item); - } - } else { - target[i] = item; - } - }); - return target; - } - return Object.keys(source2).reduce(function(acc, key) { - var value = source2[key]; - if (has.call(acc, key)) { - acc[key] = merge3(acc[key], value, options); - } else { - acc[key] = value; - } - return acc; - }, mergeTarget); - }; - var assign = function assignSingleSource(target, source2) { - return Object.keys(source2).reduce(function(acc, key) { - acc[key] = source2[key]; - return acc; - }, target); - }; - var decode = function(str, decoder, charset) { - var strWithoutPlus = str.replace(/\+/g, " "); - if (charset === "iso-8859-1") { - return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape); - } - try { - return decodeURIComponent(strWithoutPlus); - } catch (e) { - return strWithoutPlus; - } - }; - var encode3 = function encode4(str, defaultEncoder, charset, kind, format2) { - if (str.length === 0) { - return str; - } - var string = str; - if (typeof str === "symbol") { - string = Symbol.prototype.toString.call(str); - } else if (typeof str !== "string") { - string = String(str); - } - if (charset === "iso-8859-1") { - return escape(string).replace(/%u[0-9a-f]{4}/gi, function($0) { - return "%26%23" + parseInt($0.slice(2), 16) + "%3B"; - }); - } - var out = ""; - for (var i = 0; i < string.length; ++i) { - var c = string.charCodeAt(i); - if (c === 45 || c === 46 || c === 95 || c === 126 || c >= 48 && c <= 57 || c >= 65 && c <= 90 || c >= 97 && c <= 122 || format2 === formats.RFC1738 && (c === 40 || c === 41)) { - out += string.charAt(i); - continue; - } - if (c < 128) { - out = out + hexTable[c]; - continue; - } - if (c < 2048) { - out = out + (hexTable[192 | c >> 6] + hexTable[128 | c & 63]); - continue; - } - if (c < 55296 || c >= 57344) { - out = out + (hexTable[224 | c >> 12] + hexTable[128 | c >> 6 & 63] + hexTable[128 | c & 63]); - continue; - } - i += 1; - c = 65536 + ((c & 1023) << 10 | string.charCodeAt(i) & 1023); - out += hexTable[240 | c >> 18] + hexTable[128 | c >> 12 & 63] + hexTable[128 | c >> 6 & 63] + hexTable[128 | c & 63]; - } - return out; - }; - var compact = function compact2(value) { - var queue = [{ obj: { o: value }, prop: "o" }]; - var refs = []; - for (var i = 0; i < queue.length; ++i) { - var item = queue[i]; - var obj = item.obj[item.prop]; - var keys2 = Object.keys(obj); - for (var j = 0; j < keys2.length; ++j) { - var key = keys2[j]; - var val = obj[key]; - if (typeof val === "object" && val !== null && refs.indexOf(val) === -1) { - queue.push({ obj, prop: key }); - refs.push(val); - } - } - } - compactQueue(queue); - return value; - }; - var isRegExp2 = function isRegExp3(obj) { - return Object.prototype.toString.call(obj) === "[object RegExp]"; - }; - var isBuffer2 = function isBuffer3(obj) { - if (!obj || typeof obj !== "object") { - return false; - } - return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj)); - }; - var combine = function combine2(a, b) { - return [].concat(a, b); - }; - var maybeMap = function maybeMap2(val, fn2) { - if (isArray3(val)) { - var mapped = []; - for (var i = 0; i < val.length; i += 1) { - mapped.push(fn2(val[i])); - } - return mapped; - } - return fn2(val); - }; - module2.exports = { - arrayToObject: arrayToObject2, - assign, - combine, - compact, - decode, - encode: encode3, - isBuffer: isBuffer2, - isRegExp: isRegExp2, - maybeMap, - merge: merge2 - }; - } -}); - -// node_modules/qs/lib/stringify.js -var require_stringify = __commonJS({ - "node_modules/qs/lib/stringify.js"(exports2, module2) { - "use strict"; - var getSideChannel = require_side_channel(); - var utils = require_utils2(); - var formats = require_formats(); - var has = Object.prototype.hasOwnProperty; - var arrayPrefixGenerators = { - brackets: function brackets(prefix) { - return prefix + "[]"; - }, - comma: "comma", - indices: function indices(prefix, key) { - return prefix + "[" + key + "]"; - }, - repeat: function repeat2(prefix) { - return prefix; - } - }; - var isArray3 = Array.isArray; - var split = String.prototype.split; - var push = Array.prototype.push; - var pushToArray = function(arr, valueOrArray) { - push.apply(arr, isArray3(valueOrArray) ? valueOrArray : [valueOrArray]); - }; - var toISO = Date.prototype.toISOString; - var defaultFormat = formats["default"]; - var defaults2 = { - addQueryPrefix: false, - allowDots: false, - charset: "utf-8", - charsetSentinel: false, - delimiter: "&", - encode: true, - encoder: utils.encode, - encodeValuesOnly: false, - format: defaultFormat, - formatter: formats.formatters[defaultFormat], - indices: false, - serializeDate: function serializeDate(date) { - return toISO.call(date); - }, - skipNulls: false, - strictNullHandling: false - }; - var isNonNullishPrimitive = function isNonNullishPrimitive2(v) { - return typeof v === "string" || typeof v === "number" || typeof v === "boolean" || typeof v === "symbol" || typeof v === "bigint"; - }; - var sentinel = {}; - var stringify = function stringify2(object, prefix, generateArrayPrefix, commaRoundTrip, strictNullHandling, skipNulls, encoder, filter2, sort, allowDots, serializeDate, format2, formatter, encodeValuesOnly, charset, sideChannel) { - var obj = object; - var tmpSc = sideChannel; - var step = 0; - var findFlag = false; - while ((tmpSc = tmpSc.get(sentinel)) !== void 0 && !findFlag) { - var pos = tmpSc.get(object); - step += 1; - if (typeof pos !== "undefined") { - if (pos === step) { - throw new RangeError("Cyclic object value"); - } else { - findFlag = true; - } - } - if (typeof tmpSc.get(sentinel) === "undefined") { - step = 0; - } - } - if (typeof filter2 === "function") { - obj = filter2(prefix, obj); - } else if (obj instanceof Date) { - obj = serializeDate(obj); - } else if (generateArrayPrefix === "comma" && isArray3(obj)) { - obj = utils.maybeMap(obj, function(value2) { - if (value2 instanceof Date) { - return serializeDate(value2); - } - return value2; - }); - } - if (obj === null) { - if (strictNullHandling) { - return encoder && !encodeValuesOnly ? encoder(prefix, defaults2.encoder, charset, "key", format2) : prefix; - } - obj = ""; - } - if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) { - if (encoder) { - var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults2.encoder, charset, "key", format2); - if (generateArrayPrefix === "comma" && encodeValuesOnly) { - var valuesArray = split.call(String(obj), ","); - var valuesJoined = ""; - for (var i = 0; i < valuesArray.length; ++i) { - valuesJoined += (i === 0 ? "" : ",") + formatter(encoder(valuesArray[i], defaults2.encoder, charset, "value", format2)); - } - return [formatter(keyValue) + (commaRoundTrip && isArray3(obj) && valuesArray.length === 1 ? "[]" : "") + "=" + valuesJoined]; - } - return [formatter(keyValue) + "=" + formatter(encoder(obj, defaults2.encoder, charset, "value", format2))]; - } - return [formatter(prefix) + "=" + formatter(String(obj))]; - } - var values = []; - if (typeof obj === "undefined") { - return values; - } - var objKeys; - if (generateArrayPrefix === "comma" && isArray3(obj)) { - objKeys = [{ value: obj.length > 0 ? obj.join(",") || null : void 0 }]; - } else if (isArray3(filter2)) { - objKeys = filter2; - } else { - var keys2 = Object.keys(obj); - objKeys = sort ? keys2.sort(sort) : keys2; - } - var adjustedPrefix = commaRoundTrip && isArray3(obj) && obj.length === 1 ? prefix + "[]" : prefix; - for (var j = 0; j < objKeys.length; ++j) { - var key = objKeys[j]; - var value = typeof key === "object" && typeof key.value !== "undefined" ? key.value : obj[key]; - if (skipNulls && value === null) { - continue; - } - var keyPrefix = isArray3(obj) ? typeof generateArrayPrefix === "function" ? generateArrayPrefix(adjustedPrefix, key) : adjustedPrefix : adjustedPrefix + (allowDots ? "." + key : "[" + key + "]"); - sideChannel.set(object, step); - var valueSideChannel = getSideChannel(); - valueSideChannel.set(sentinel, sideChannel); - pushToArray(values, stringify2( - value, - keyPrefix, - generateArrayPrefix, - commaRoundTrip, - strictNullHandling, - skipNulls, - encoder, - filter2, - sort, - allowDots, - serializeDate, - format2, - formatter, - encodeValuesOnly, - charset, - valueSideChannel - )); - } - return values; - }; - var normalizeStringifyOptions = function normalizeStringifyOptions2(opts) { - if (!opts) { - return defaults2; - } - if (opts.encoder !== null && typeof opts.encoder !== "undefined" && typeof opts.encoder !== "function") { - throw new TypeError("Encoder has to be a function."); - } - var charset = opts.charset || defaults2.charset; - if (typeof opts.charset !== "undefined" && opts.charset !== "utf-8" && opts.charset !== "iso-8859-1") { - throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined"); - } - var format2 = formats["default"]; - if (typeof opts.format !== "undefined") { - if (!has.call(formats.formatters, opts.format)) { - throw new TypeError("Unknown format option provided."); - } - format2 = opts.format; - } - var formatter = formats.formatters[format2]; - var filter2 = defaults2.filter; - if (typeof opts.filter === "function" || isArray3(opts.filter)) { - filter2 = opts.filter; - } - return { - addQueryPrefix: typeof opts.addQueryPrefix === "boolean" ? opts.addQueryPrefix : defaults2.addQueryPrefix, - allowDots: typeof opts.allowDots === "undefined" ? defaults2.allowDots : !!opts.allowDots, - charset, - charsetSentinel: typeof opts.charsetSentinel === "boolean" ? opts.charsetSentinel : defaults2.charsetSentinel, - delimiter: typeof opts.delimiter === "undefined" ? defaults2.delimiter : opts.delimiter, - encode: typeof opts.encode === "boolean" ? opts.encode : defaults2.encode, - encoder: typeof opts.encoder === "function" ? opts.encoder : defaults2.encoder, - encodeValuesOnly: typeof opts.encodeValuesOnly === "boolean" ? opts.encodeValuesOnly : defaults2.encodeValuesOnly, - filter: filter2, - format: format2, - formatter, - serializeDate: typeof opts.serializeDate === "function" ? opts.serializeDate : defaults2.serializeDate, - skipNulls: typeof opts.skipNulls === "boolean" ? opts.skipNulls : defaults2.skipNulls, - sort: typeof opts.sort === "function" ? opts.sort : null, - strictNullHandling: typeof opts.strictNullHandling === "boolean" ? opts.strictNullHandling : defaults2.strictNullHandling - }; - }; - module2.exports = function(object, opts) { - var obj = object; - var options = normalizeStringifyOptions(opts); - var objKeys; - var filter2; - if (typeof options.filter === "function") { - filter2 = options.filter; - obj = filter2("", obj); - } else if (isArray3(options.filter)) { - filter2 = options.filter; - objKeys = filter2; - } - var keys2 = []; - if (typeof obj !== "object" || obj === null) { - return ""; - } - var arrayFormat; - if (opts && opts.arrayFormat in arrayPrefixGenerators) { - arrayFormat = opts.arrayFormat; - } else if (opts && "indices" in opts) { - arrayFormat = opts.indices ? "indices" : "repeat"; - } else { - arrayFormat = "indices"; - } - var generateArrayPrefix = arrayPrefixGenerators[arrayFormat]; - if (opts && "commaRoundTrip" in opts && typeof opts.commaRoundTrip !== "boolean") { - throw new TypeError("`commaRoundTrip` must be a boolean, or absent"); - } - var commaRoundTrip = generateArrayPrefix === "comma" && opts && opts.commaRoundTrip; - if (!objKeys) { - objKeys = Object.keys(obj); - } - if (options.sort) { - objKeys.sort(options.sort); - } - var sideChannel = getSideChannel(); - for (var i = 0; i < objKeys.length; ++i) { - var key = objKeys[i]; - if (options.skipNulls && obj[key] === null) { - continue; - } - pushToArray(keys2, stringify( - obj[key], - key, - generateArrayPrefix, - commaRoundTrip, - options.strictNullHandling, - options.skipNulls, - options.encode ? options.encoder : null, - options.filter, - options.sort, - options.allowDots, - options.serializeDate, - options.format, - options.formatter, - options.encodeValuesOnly, - options.charset, - sideChannel - )); - } - var joined = keys2.join(options.delimiter); - var prefix = options.addQueryPrefix === true ? "?" : ""; - if (options.charsetSentinel) { - if (options.charset === "iso-8859-1") { - prefix += "utf8=%26%2310003%3B&"; - } else { - prefix += "utf8=%E2%9C%93&"; - } - } - return joined.length > 0 ? prefix + joined : ""; - }; - } -}); - -// node_modules/qs/lib/parse.js -var require_parse = __commonJS({ - "node_modules/qs/lib/parse.js"(exports2, module2) { - "use strict"; - var utils = require_utils2(); - var has = Object.prototype.hasOwnProperty; - var isArray3 = Array.isArray; - var defaults2 = { - allowDots: false, - allowPrototypes: false, - allowSparse: false, - arrayLimit: 20, - charset: "utf-8", - charsetSentinel: false, - comma: false, - decoder: utils.decode, - delimiter: "&", - depth: 5, - ignoreQueryPrefix: false, - interpretNumericEntities: false, - parameterLimit: 1e3, - parseArrays: true, - plainObjects: false, - strictNullHandling: false - }; - var interpretNumericEntities = function(str) { - return str.replace(/&#(\d+);/g, function($0, numberStr) { - return String.fromCharCode(parseInt(numberStr, 10)); - }); - }; - var parseArrayValue = function(val, options) { - if (val && typeof val === "string" && options.comma && val.indexOf(",") > -1) { - return val.split(","); - } - return val; - }; - var isoSentinel = "utf8=%26%2310003%3B"; - var charsetSentinel = "utf8=%E2%9C%93"; - var parseValues = function parseQueryStringValues(str, options) { - var obj = {}; - var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\?/, "") : str; - var limit = options.parameterLimit === Infinity ? void 0 : options.parameterLimit; - var parts = cleanStr.split(options.delimiter, limit); - var skipIndex = -1; - var i; - var charset = options.charset; - if (options.charsetSentinel) { - for (i = 0; i < parts.length; ++i) { - if (parts[i].indexOf("utf8=") === 0) { - if (parts[i] === charsetSentinel) { - charset = "utf-8"; - } else if (parts[i] === isoSentinel) { - charset = "iso-8859-1"; - } - skipIndex = i; - i = parts.length; - } - } - } - for (i = 0; i < parts.length; ++i) { - if (i === skipIndex) { - continue; - } - var part = parts[i]; - var bracketEqualsPos = part.indexOf("]="); - var pos = bracketEqualsPos === -1 ? part.indexOf("=") : bracketEqualsPos + 1; - var key, val; - if (pos === -1) { - key = options.decoder(part, defaults2.decoder, charset, "key"); - val = options.strictNullHandling ? null : ""; - } else { - key = options.decoder(part.slice(0, pos), defaults2.decoder, charset, "key"); - val = utils.maybeMap( - parseArrayValue(part.slice(pos + 1), options), - function(encodedVal) { - return options.decoder(encodedVal, defaults2.decoder, charset, "value"); - } - ); - } - if (val && options.interpretNumericEntities && charset === "iso-8859-1") { - val = interpretNumericEntities(val); - } - if (part.indexOf("[]=") > -1) { - val = isArray3(val) ? [val] : val; - } - if (has.call(obj, key)) { - obj[key] = utils.combine(obj[key], val); - } else { - obj[key] = val; - } - } - return obj; - }; - var parseObject = function(chain, val, options, valuesParsed) { - var leaf = valuesParsed ? val : parseArrayValue(val, options); - for (var i = chain.length - 1; i >= 0; --i) { - var obj; - var root = chain[i]; - if (root === "[]" && options.parseArrays) { - obj = [].concat(leaf); - } else { - obj = options.plainObjects ? /* @__PURE__ */ Object.create(null) : {}; - var cleanRoot = root.charAt(0) === "[" && root.charAt(root.length - 1) === "]" ? root.slice(1, -1) : root; - var index = parseInt(cleanRoot, 10); - if (!options.parseArrays && cleanRoot === "") { - obj = { 0: leaf }; - } else if (!isNaN(index) && root !== cleanRoot && String(index) === cleanRoot && index >= 0 && (options.parseArrays && index <= options.arrayLimit)) { - obj = []; - obj[index] = leaf; - } else if (cleanRoot !== "__proto__") { - obj[cleanRoot] = leaf; - } - } - leaf = obj; - } - return leaf; - }; - var parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) { - if (!givenKey) { - return; - } - var key = options.allowDots ? givenKey.replace(/\.([^.[]+)/g, "[$1]") : givenKey; - var brackets = /(\[[^[\]]*])/; - var child = /(\[[^[\]]*])/g; - var segment = options.depth > 0 && brackets.exec(key); - var parent = segment ? key.slice(0, segment.index) : key; - var keys2 = []; - if (parent) { - if (!options.plainObjects && has.call(Object.prototype, parent)) { - if (!options.allowPrototypes) { - return; - } - } - keys2.push(parent); - } - var i = 0; - while (options.depth > 0 && (segment = child.exec(key)) !== null && i < options.depth) { - i += 1; - if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) { - if (!options.allowPrototypes) { - return; - } - } - keys2.push(segment[1]); - } - if (segment) { - keys2.push("[" + key.slice(segment.index) + "]"); - } - return parseObject(keys2, val, options, valuesParsed); - }; - var normalizeParseOptions = function normalizeParseOptions2(opts) { - if (!opts) { - return defaults2; - } - if (opts.decoder !== null && opts.decoder !== void 0 && typeof opts.decoder !== "function") { - throw new TypeError("Decoder has to be a function."); - } - if (typeof opts.charset !== "undefined" && opts.charset !== "utf-8" && opts.charset !== "iso-8859-1") { - throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined"); - } - var charset = typeof opts.charset === "undefined" ? defaults2.charset : opts.charset; - return { - allowDots: typeof opts.allowDots === "undefined" ? defaults2.allowDots : !!opts.allowDots, - allowPrototypes: typeof opts.allowPrototypes === "boolean" ? opts.allowPrototypes : defaults2.allowPrototypes, - allowSparse: typeof opts.allowSparse === "boolean" ? opts.allowSparse : defaults2.allowSparse, - arrayLimit: typeof opts.arrayLimit === "number" ? opts.arrayLimit : defaults2.arrayLimit, - charset, - charsetSentinel: typeof opts.charsetSentinel === "boolean" ? opts.charsetSentinel : defaults2.charsetSentinel, - comma: typeof opts.comma === "boolean" ? opts.comma : defaults2.comma, - decoder: typeof opts.decoder === "function" ? opts.decoder : defaults2.decoder, - delimiter: typeof opts.delimiter === "string" || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults2.delimiter, - depth: typeof opts.depth === "number" || opts.depth === false ? +opts.depth : defaults2.depth, - ignoreQueryPrefix: opts.ignoreQueryPrefix === true, - interpretNumericEntities: typeof opts.interpretNumericEntities === "boolean" ? opts.interpretNumericEntities : defaults2.interpretNumericEntities, - parameterLimit: typeof opts.parameterLimit === "number" ? opts.parameterLimit : defaults2.parameterLimit, - parseArrays: opts.parseArrays !== false, - plainObjects: typeof opts.plainObjects === "boolean" ? opts.plainObjects : defaults2.plainObjects, - strictNullHandling: typeof opts.strictNullHandling === "boolean" ? opts.strictNullHandling : defaults2.strictNullHandling - }; - }; - module2.exports = function(str, opts) { - var options = normalizeParseOptions(opts); - if (str === "" || str === null || typeof str === "undefined") { - return options.plainObjects ? /* @__PURE__ */ Object.create(null) : {}; - } - var tempObj = typeof str === "string" ? parseValues(str, options) : str; - var obj = options.plainObjects ? /* @__PURE__ */ Object.create(null) : {}; - var keys2 = Object.keys(tempObj); - for (var i = 0; i < keys2.length; ++i) { - var key = keys2[i]; - var newObj = parseKeys(key, tempObj[key], options, typeof str === "string"); - obj = utils.merge(obj, newObj, options); - } - if (options.allowSparse === true) { - return obj; - } - return utils.compact(obj); - }; - } -}); - -// node_modules/qs/lib/index.js -var require_lib3 = __commonJS({ - "node_modules/qs/lib/index.js"(exports2, module2) { - "use strict"; - var stringify = require_stringify(); - var parse = require_parse(); - var formats = require_formats(); - module2.exports = { - formats, - parse, - stringify - }; - } -}); - -// node_modules/co-body/lib/form.js -var require_form = __commonJS({ - "node_modules/co-body/lib/form.js"(exports2, module2) { - "use strict"; - var raw = require_raw_body(); - var inflate = require_inflation(); - var qs = require_lib3(); - var utils = require_utils(); - module2.exports = async function(req, opts) { - req = req.req || req; - opts = utils.clone(opts); - const queryString = opts.queryString || {}; - if (queryString.allowDots === void 0) - queryString.allowDots = true; - const len = req.headers["content-length"]; - const encoding = req.headers["content-encoding"] || "identity"; - if (len && encoding === "identity") - opts.length = ~~len; - opts.encoding = opts.encoding || "utf8"; - opts.limit = opts.limit || "56kb"; - opts.qs = opts.qs || qs; - const str = await raw(inflate(req), opts); - try { - const parsed = opts.qs.parse(str, queryString); - return opts.returnRawBody ? { parsed, raw: str } : parsed; - } catch (err) { - err.status = 400; - err.body = str; - throw err; - } - }; - } -}); - -// node_modules/co-body/lib/text.js -var require_text = __commonJS({ - "node_modules/co-body/lib/text.js"(exports2, module2) { - "use strict"; - var raw = require_raw_body(); - var inflate = require_inflation(); - var utils = require_utils(); - module2.exports = async function(req, opts) { - req = req.req || req; - opts = utils.clone(opts); - const len = req.headers["content-length"]; - const encoding = req.headers["content-encoding"] || "identity"; - if (len && encoding === "identity") - opts.length = ~~len; - opts.encoding = opts.encoding === void 0 ? "utf8" : opts.encoding; - opts.limit = opts.limit || "1mb"; - const str = await raw(inflate(req), opts); - return opts.returnRawBody ? { parsed: str, raw: str } : str; - }; - } -}); - -// node_modules/co-body/lib/any.js -var require_any = __commonJS({ - "node_modules/co-body/lib/any.js"(exports2, module2) { - "use strict"; - var typeis = require_type_is(); - var json = require_json2(); - var form = require_form(); - var text = require_text(); - var jsonTypes = ["json", "application/*+json", "application/csp-report"]; - var formTypes = ["urlencoded"]; - var textTypes = ["text"]; - module2.exports = async function(req, opts) { - req = req.req || req; - opts = opts || {}; - const jsonType = opts.jsonTypes || jsonTypes; - if (typeis(req, jsonType)) - return json(req, opts); - const formType = opts.formTypes || formTypes; - if (typeis(req, formType)) - return form(req, opts); - const textType = opts.textTypes || textTypes; - if (typeis(req, textType)) - return text(req, opts); - const type = req.headers["content-type"] || ""; - const message2 = type ? "Unsupported content-type: " + type : "Missing content-type"; - const err = new Error(message2); - err.status = 415; - throw err; - }; - } -}); - -// node_modules/co-body/index.js -var require_co_body = __commonJS({ - "node_modules/co-body/index.js"(exports2, module2) { - "use strict"; - exports2 = module2.exports = require_any(); - exports2.json = require_json2(); - exports2.form = require_form(); - exports2.text = require_text(); - } -}); - -// node_modules/copy-to/index.js -var require_copy_to = __commonJS({ - "node_modules/copy-to/index.js"(exports2, module2) { - "use strict"; - var slice = Array.prototype.slice; - module2.exports = Copy; - function Copy(src, withAccess) { - if (!(this instanceof Copy)) - return new Copy(src, withAccess); - this.src = src; - this._withAccess = withAccess; - } - Copy.prototype.withAccess = function(w) { - this._withAccess = w !== false; - return this; - }; - Copy.prototype.pick = function(keys2) { - if (!Array.isArray(keys2)) { - keys2 = slice.call(arguments); - } - if (keys2.length) { - this.keys = keys2; - } - return this; - }; - Copy.prototype.to = function(to) { - to = to || {}; - if (!this.src) - return to; - var keys2 = this.keys || Object.keys(this.src); - if (!this._withAccess) { - for (var i = 0; i < keys2.length; i++) { - key = keys2[i]; - if (to[key] !== void 0) - continue; - to[key] = this.src[key]; - } - return to; - } - for (var i = 0; i < keys2.length; i++) { - var key = keys2[i]; - if (!notDefined(to, key)) - continue; - var getter = this.src.__lookupGetter__(key); - var setter = this.src.__lookupSetter__(key); - if (getter) - to.__defineGetter__(key, getter); - if (setter) - to.__defineSetter__(key, setter); - if (!getter && !setter) { - to[key] = this.src[key]; - } - } - return to; - }; - Copy.prototype.toCover = function(to) { - var keys2 = this.keys || Object.keys(this.src); - for (var i = 0; i < keys2.length; i++) { - var key = keys2[i]; - delete to[key]; - var getter = this.src.__lookupGetter__(key); - var setter = this.src.__lookupSetter__(key); - if (getter) - to.__defineGetter__(key, getter); - if (setter) - to.__defineSetter__(key, setter); - if (!getter && !setter) { - to[key] = this.src[key]; - } - } - }; - Copy.prototype.override = Copy.prototype.toCover; - Copy.prototype.and = function(obj) { - var src = {}; - this.to(src); - this.src = obj; - this.to(src); - this.src = src; - return this; - }; - function notDefined(obj, key) { - return obj[key] === void 0 && obj.__lookupGetter__(key) === void 0 && obj.__lookupSetter__(key) === void 0; - } - } -}); - -// node_modules/koa-bodyparser/index.js -var require_koa_bodyparser = __commonJS({ - "node_modules/koa-bodyparser/index.js"(exports2, module2) { - "use strict"; - var parse = require_co_body(); - var copy = require_copy_to(); - module2.exports = function(opts) { - opts = opts || {}; - var detectJSON = opts.detectJSON; - var onerror = opts.onerror; - var enableTypes = opts.enableTypes || ["json", "form"]; - var enableForm = checkEnable(enableTypes, "form"); - var enableJson = checkEnable(enableTypes, "json"); - var enableText = checkEnable(enableTypes, "text"); - var enableXml = checkEnable(enableTypes, "xml"); - opts.detectJSON = void 0; - opts.onerror = void 0; - opts.returnRawBody = true; - var jsonTypes = [ - "application/json", - "application/json-patch+json", - "application/vnd.api+json", - "application/csp-report" - ]; - var formTypes = [ - "application/x-www-form-urlencoded" - ]; - var textTypes = [ - "text/plain" - ]; - var xmlTypes = [ - "text/xml", - "application/xml" - ]; - var jsonOpts = formatOptions(opts, "json"); - var formOpts = formatOptions(opts, "form"); - var textOpts = formatOptions(opts, "text"); - var xmlOpts = formatOptions(opts, "xml"); - var extendTypes = opts.extendTypes || {}; - extendType(jsonTypes, extendTypes.json); - extendType(formTypes, extendTypes.form); - extendType(textTypes, extendTypes.text); - extendType(xmlTypes, extendTypes.xml); - return async function bodyParser(ctx, next) { - if (ctx.request.body !== void 0) - return await next(); - if (ctx.disableBodyParser) - return await next(); - try { - const res = await parseBody(ctx); - ctx.request.body = "parsed" in res ? res.parsed : {}; - if (ctx.request.rawBody === void 0) - ctx.request.rawBody = res.raw; - } catch (err) { - if (onerror) { - onerror(err, ctx); - } else { - throw err; - } - } - await next(); - }; - async function parseBody(ctx) { - if (enableJson && (detectJSON && detectJSON(ctx) || ctx.request.is(jsonTypes))) { - return await parse.json(ctx, jsonOpts); - } - if (enableForm && ctx.request.is(formTypes)) { - return await parse.form(ctx, formOpts); - } - if (enableText && ctx.request.is(textTypes)) { - return await parse.text(ctx, textOpts) || ""; - } - if (enableXml && ctx.request.is(xmlTypes)) { - return await parse.text(ctx, xmlOpts) || ""; - } - return {}; - } - }; - function formatOptions(opts, type) { - var res = {}; - copy(opts).to(res); - res.limit = opts[type + "Limit"]; - return res; - } - function extendType(original, extend2) { - if (extend2) { - if (!Array.isArray(extend2)) { - extend2 = [extend2]; - } - extend2.forEach(function(extend3) { - original.push(extend3); - }); - } - } - function checkEnable(types2, type) { - return types2.includes(type); - } - } -}); - -// node_modules/koa-send/node_modules/ms/index.js -var require_ms4 = __commonJS({ - "node_modules/koa-send/node_modules/ms/index.js"(exports2, module2) { - var s = 1e3; - var m = s * 60; - var h = m * 60; - var d = h * 24; - var w = d * 7; - var y = d * 365.25; - module2.exports = function(val, options) { - options = options || {}; - var type = typeof val; - if (type === "string" && val.length > 0) { - return parse(val); - } else if (type === "number" && isFinite(val)) { - return options.long ? fmtLong(val) : fmtShort(val); - } - throw new Error( - "val is not a non-empty string or a valid number. val=" + JSON.stringify(val) - ); - }; - function parse(str) { - str = String(str); - if (str.length > 100) { - return; - } - var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec( - str - ); - if (!match) { - return; - } - var n = parseFloat(match[1]); - var type = (match[2] || "ms").toLowerCase(); - switch (type) { - case "years": - case "year": - case "yrs": - case "yr": - case "y": - return n * y; - case "weeks": - case "week": - case "w": - return n * w; - case "days": - case "day": - case "d": - return n * d; - case "hours": - case "hour": - case "hrs": - case "hr": - case "h": - return n * h; - case "minutes": - case "minute": - case "mins": - case "min": - case "m": - return n * m; - case "seconds": - case "second": - case "secs": - case "sec": - case "s": - return n * s; - case "milliseconds": - case "millisecond": - case "msecs": - case "msec": - case "ms": - return n; - default: - return void 0; - } - } - function fmtShort(ms) { - var msAbs = Math.abs(ms); - if (msAbs >= d) { - return Math.round(ms / d) + "d"; - } - if (msAbs >= h) { - return Math.round(ms / h) + "h"; - } - if (msAbs >= m) { - return Math.round(ms / m) + "m"; - } - if (msAbs >= s) { - return Math.round(ms / s) + "s"; - } - return ms + "ms"; - } - function fmtLong(ms) { - var msAbs = Math.abs(ms); - if (msAbs >= d) { - return plural(ms, msAbs, d, "day"); - } - if (msAbs >= h) { - return plural(ms, msAbs, h, "hour"); - } - if (msAbs >= m) { - return plural(ms, msAbs, m, "minute"); - } - if (msAbs >= s) { - return plural(ms, msAbs, s, "second"); - } - return ms + " ms"; - } - function plural(ms, msAbs, n, name) { - var isPlural = msAbs >= n * 1.5; - return Math.round(ms / n) + " " + name + (isPlural ? "s" : ""); - } - } -}); - -// node_modules/koa-send/node_modules/debug/src/common.js -var require_common4 = __commonJS({ - "node_modules/koa-send/node_modules/debug/src/common.js"(exports2, module2) { - function setup(env) { - createDebug.debug = createDebug; - createDebug.default = createDebug; - createDebug.coerce = coerce; - createDebug.disable = disable; - createDebug.enable = enable; - createDebug.enabled = enabled; - createDebug.humanize = require_ms4(); - createDebug.destroy = destroy; - Object.keys(env).forEach((key) => { - createDebug[key] = env[key]; - }); - createDebug.names = []; - createDebug.skips = []; - createDebug.formatters = {}; - function selectColor(namespace) { - let hash = 0; - for (let i = 0; i < namespace.length; i++) { - hash = (hash << 5) - hash + namespace.charCodeAt(i); - hash |= 0; - } - return createDebug.colors[Math.abs(hash) % createDebug.colors.length]; - } - createDebug.selectColor = selectColor; - function createDebug(namespace) { - let prevTime; - let enableOverride = null; - let namespacesCache; - let enabledCache; - function debug(...args2) { - if (!debug.enabled) { - return; - } - const self2 = debug; - const curr = Number(new Date()); - const ms = curr - (prevTime || curr); - self2.diff = ms; - self2.prev = prevTime; - self2.curr = curr; - prevTime = curr; - args2[0] = createDebug.coerce(args2[0]); - if (typeof args2[0] !== "string") { - args2.unshift("%O"); - } - let index = 0; - args2[0] = args2[0].replace(/%([a-zA-Z%])/g, (match, format2) => { - if (match === "%%") { - return "%"; - } - index++; - const formatter = createDebug.formatters[format2]; - if (typeof formatter === "function") { - const val = args2[index]; - match = formatter.call(self2, val); - args2.splice(index, 1); - index--; - } - return match; - }); - createDebug.formatArgs.call(self2, args2); - const logFn = self2.log || createDebug.log; - logFn.apply(self2, args2); - } - debug.namespace = namespace; - debug.useColors = createDebug.useColors(); - debug.color = createDebug.selectColor(namespace); - debug.extend = extend2; - debug.destroy = createDebug.destroy; - Object.defineProperty(debug, "enabled", { - enumerable: true, - configurable: false, - get: () => { - if (enableOverride !== null) { - return enableOverride; - } - if (namespacesCache !== createDebug.namespaces) { - namespacesCache = createDebug.namespaces; - enabledCache = createDebug.enabled(namespace); - } - return enabledCache; - }, - set: (v) => { - enableOverride = v; - } - }); - if (typeof createDebug.init === "function") { - createDebug.init(debug); - } - return debug; - } - function extend2(namespace, delimiter) { - const newDebug = createDebug(this.namespace + (typeof delimiter === "undefined" ? ":" : delimiter) + namespace); - newDebug.log = this.log; - return newDebug; - } - function enable(namespaces) { - createDebug.save(namespaces); - createDebug.namespaces = namespaces; - createDebug.names = []; - createDebug.skips = []; - let i; - const split = (typeof namespaces === "string" ? namespaces : "").split(/[\s,]+/); - const len = split.length; - for (i = 0; i < len; i++) { - if (!split[i]) { - continue; - } - namespaces = split[i].replace(/\*/g, ".*?"); - if (namespaces[0] === "-") { - createDebug.skips.push(new RegExp("^" + namespaces.slice(1) + "$")); - } else { - createDebug.names.push(new RegExp("^" + namespaces + "$")); - } - } - } - function disable() { - const namespaces = [ - ...createDebug.names.map(toNamespace), - ...createDebug.skips.map(toNamespace).map((namespace) => "-" + namespace) - ].join(","); - createDebug.enable(""); - return namespaces; - } - function enabled(name) { - if (name[name.length - 1] === "*") { - return true; - } - let i; - let len; - for (i = 0, len = createDebug.skips.length; i < len; i++) { - if (createDebug.skips[i].test(name)) { - return false; - } - } - for (i = 0, len = createDebug.names.length; i < len; i++) { - if (createDebug.names[i].test(name)) { - return true; - } - } - return false; - } - function toNamespace(regexp) { - return regexp.toString().substring(2, regexp.toString().length - 2).replace(/\.\*\?$/, "*"); - } - function coerce(val) { - if (val instanceof Error) { - return val.stack || val.message; - } - return val; - } - function destroy() { - console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."); - } - createDebug.enable(createDebug.load()); - return createDebug; - } - module2.exports = setup; - } -}); - -// node_modules/koa-send/node_modules/debug/src/browser.js -var require_browser3 = __commonJS({ - "node_modules/koa-send/node_modules/debug/src/browser.js"(exports2, module2) { - exports2.formatArgs = formatArgs; - exports2.save = save; - exports2.load = load; - exports2.useColors = useColors; - exports2.storage = localstorage(); - exports2.destroy = (() => { - let warned = false; - return () => { - if (!warned) { - warned = true; - console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."); - } - }; - })(); - exports2.colors = [ - "#0000CC", - "#0000FF", - "#0033CC", - "#0033FF", - "#0066CC", - "#0066FF", - "#0099CC", - "#0099FF", - "#00CC00", - "#00CC33", - "#00CC66", - "#00CC99", - "#00CCCC", - "#00CCFF", - "#3300CC", - "#3300FF", - "#3333CC", - "#3333FF", - "#3366CC", - "#3366FF", - "#3399CC", - "#3399FF", - "#33CC00", - "#33CC33", - "#33CC66", - "#33CC99", - "#33CCCC", - "#33CCFF", - "#6600CC", - "#6600FF", - "#6633CC", - "#6633FF", - "#66CC00", - "#66CC33", - "#9900CC", - "#9900FF", - "#9933CC", - "#9933FF", - "#99CC00", - "#99CC33", - "#CC0000", - "#CC0033", - "#CC0066", - "#CC0099", - "#CC00CC", - "#CC00FF", - "#CC3300", - "#CC3333", - "#CC3366", - "#CC3399", - "#CC33CC", - "#CC33FF", - "#CC6600", - "#CC6633", - "#CC9900", - "#CC9933", - "#CCCC00", - "#CCCC33", - "#FF0000", - "#FF0033", - "#FF0066", - "#FF0099", - "#FF00CC", - "#FF00FF", - "#FF3300", - "#FF3333", - "#FF3366", - "#FF3399", - "#FF33CC", - "#FF33FF", - "#FF6600", - "#FF6633", - "#FF9900", - "#FF9933", - "#FFCC00", - "#FFCC33" - ]; - function useColors() { - if (typeof window !== "undefined" && window.process && (window.process.type === "renderer" || window.process.__nwjs)) { - return true; - } - if (typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { - return false; - } - return typeof document !== "undefined" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || typeof window !== "undefined" && window.console && (window.console.firebug || window.console.exception && window.console.table) || typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 || typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/); - } - function formatArgs(args2) { - args2[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + args2[0] + (this.useColors ? "%c " : " ") + "+" + module2.exports.humanize(this.diff); - if (!this.useColors) { - return; - } - const c = "color: " + this.color; - args2.splice(1, 0, c, "color: inherit"); - let index = 0; - let lastC = 0; - args2[0].replace(/%[a-zA-Z%]/g, (match) => { - if (match === "%%") { - return; - } - index++; - if (match === "%c") { - lastC = index; - } - }); - args2.splice(lastC, 0, c); - } - exports2.log = console.debug || console.log || (() => { - }); - function save(namespaces) { - try { - if (namespaces) { - exports2.storage.setItem("debug", namespaces); - } else { - exports2.storage.removeItem("debug"); - } - } catch (error) { - } - } - function load() { - let r; - try { - r = exports2.storage.getItem("debug"); - } catch (error) { - } - if (!r && typeof process !== "undefined" && "env" in process) { - r = process.env.DEBUG; - } - return r; - } - function localstorage() { - try { - return localStorage; - } catch (error) { - } - } - module2.exports = require_common4()(exports2); - var { formatters } = module2.exports; - formatters.j = function(v) { - try { - return JSON.stringify(v); - } catch (error) { - return "[UnexpectedJSONParseError]: " + error.message; - } - }; - } -}); - -// node_modules/koa-send/node_modules/debug/src/node.js -var require_node5 = __commonJS({ - "node_modules/koa-send/node_modules/debug/src/node.js"(exports2, module2) { - var tty = require("tty"); - var util2 = require("util"); - exports2.init = init; - exports2.log = log2; - exports2.formatArgs = formatArgs; - exports2.save = save; - exports2.load = load; - exports2.useColors = useColors; - exports2.destroy = util2.deprecate( - () => { - }, - "Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`." - ); - exports2.colors = [6, 2, 3, 4, 5, 1]; - try { - const supportsColor = require("supports-color"); - if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) { - exports2.colors = [ - 20, - 21, - 26, - 27, - 32, - 33, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 56, - 57, - 62, - 63, - 68, - 69, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 92, - 93, - 98, - 99, - 112, - 113, - 128, - 129, - 134, - 135, - 148, - 149, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 178, - 179, - 184, - 185, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 214, - 215, - 220, - 221 - ]; - } - } catch (error) { - } - exports2.inspectOpts = Object.keys(process.env).filter((key) => { - return /^debug_/i.test(key); - }).reduce((obj, key) => { - const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_, k) => { - return k.toUpperCase(); - }); - let val = process.env[key]; - if (/^(yes|on|true|enabled)$/i.test(val)) { - val = true; - } else if (/^(no|off|false|disabled)$/i.test(val)) { - val = false; - } else if (val === "null") { - val = null; - } else { - val = Number(val); - } - obj[prop] = val; - return obj; - }, {}); - function useColors() { - return "colors" in exports2.inspectOpts ? Boolean(exports2.inspectOpts.colors) : tty.isatty(process.stderr.fd); - } - function formatArgs(args2) { - const { namespace: name, useColors: useColors2 } = this; - if (useColors2) { - const c = this.color; - const colorCode = "\x1B[3" + (c < 8 ? c : "8;5;" + c); - const prefix = ` ${colorCode};1m${name} \x1B[0m`; - args2[0] = prefix + args2[0].split("\n").join("\n" + prefix); - args2.push(colorCode + "m+" + module2.exports.humanize(this.diff) + "\x1B[0m"); - } else { - args2[0] = getDate() + name + " " + args2[0]; - } - } - function getDate() { - if (exports2.inspectOpts.hideDate) { - return ""; - } - return new Date().toISOString() + " "; - } - function log2(...args2) { - return process.stderr.write(util2.format(...args2) + "\n"); - } - function save(namespaces) { - if (namespaces) { - process.env.DEBUG = namespaces; - } else { - delete process.env.DEBUG; - } - } - function load() { - return process.env.DEBUG; - } - function init(debug) { - debug.inspectOpts = {}; - const keys2 = Object.keys(exports2.inspectOpts); - for (let i = 0; i < keys2.length; i++) { - debug.inspectOpts[keys2[i]] = exports2.inspectOpts[keys2[i]]; - } - } - module2.exports = require_common4()(exports2); - var { formatters } = module2.exports; - formatters.o = function(v) { - this.inspectOpts.colors = this.useColors; - return util2.inspect(v, this.inspectOpts).split("\n").map((str) => str.trim()).join(" "); - }; - formatters.O = function(v) { - this.inspectOpts.colors = this.useColors; - return util2.inspect(v, this.inspectOpts); - }; - } -}); - -// node_modules/koa-send/node_modules/debug/src/index.js -var require_src4 = __commonJS({ - "node_modules/koa-send/node_modules/debug/src/index.js"(exports2, module2) { - if (typeof process === "undefined" || process.type === "renderer" || process.browser === true || process.__nwjs) { - module2.exports = require_browser3(); - } else { - module2.exports = require_node5(); - } - } -}); - -// node_modules/resolve-path/node_modules/depd/lib/compat/callsite-tostring.js -var require_callsite_tostring3 = __commonJS({ - "node_modules/resolve-path/node_modules/depd/lib/compat/callsite-tostring.js"(exports2, module2) { - "use strict"; - module2.exports = callSiteToString2; - function callSiteFileLocation(callSite) { - var fileName; - var fileLocation = ""; - if (callSite.isNative()) { - fileLocation = "native"; - } else if (callSite.isEval()) { - fileName = callSite.getScriptNameOrSourceURL(); - if (!fileName) { - fileLocation = callSite.getEvalOrigin(); - } - } else { - fileName = callSite.getFileName(); - } - if (fileName) { - fileLocation += fileName; - var lineNumber = callSite.getLineNumber(); - if (lineNumber != null) { - fileLocation += ":" + lineNumber; - var columnNumber = callSite.getColumnNumber(); - if (columnNumber) { - fileLocation += ":" + columnNumber; - } - } - } - return fileLocation || "unknown source"; - } - function callSiteToString2(callSite) { - var addSuffix = true; - var fileLocation = callSiteFileLocation(callSite); - var functionName = callSite.getFunctionName(); - var isConstructor = callSite.isConstructor(); - var isMethodCall = !(callSite.isToplevel() || isConstructor); - var line = ""; - if (isMethodCall) { - var methodName = callSite.getMethodName(); - var typeName = getConstructorName(callSite); - if (functionName) { - if (typeName && functionName.indexOf(typeName) !== 0) { - line += typeName + "."; - } - line += functionName; - if (methodName && functionName.lastIndexOf("." + methodName) !== functionName.length - methodName.length - 1) { - line += " [as " + methodName + "]"; - } - } else { - line += typeName + "." + (methodName || ""); - } - } else if (isConstructor) { - line += "new " + (functionName || ""); - } else if (functionName) { - line += functionName; - } else { - addSuffix = false; - line += fileLocation; - } - if (addSuffix) { - line += " (" + fileLocation + ")"; - } - return line; - } - function getConstructorName(obj) { - var receiver = obj.receiver; - return receiver.constructor && receiver.constructor.name || null; - } - } -}); - -// node_modules/resolve-path/node_modules/depd/lib/compat/event-listener-count.js -var require_event_listener_count3 = __commonJS({ - "node_modules/resolve-path/node_modules/depd/lib/compat/event-listener-count.js"(exports2, module2) { - "use strict"; - module2.exports = eventListenerCount2; - function eventListenerCount2(emitter, type) { - return emitter.listeners(type).length; - } - } -}); - -// node_modules/resolve-path/node_modules/depd/lib/compat/index.js -var require_compat3 = __commonJS({ - "node_modules/resolve-path/node_modules/depd/lib/compat/index.js"(exports2, module2) { - "use strict"; - var EventEmitter2 = require("events").EventEmitter; - lazyProperty(module2.exports, "callSiteToString", function callSiteToString2() { - var limit = Error.stackTraceLimit; - var obj = {}; - var prep = Error.prepareStackTrace; - function prepareObjectStackTrace2(obj2, stack3) { - return stack3; - } - Error.prepareStackTrace = prepareObjectStackTrace2; - Error.stackTraceLimit = 2; - Error.captureStackTrace(obj); - var stack2 = obj.stack.slice(); - Error.prepareStackTrace = prep; - Error.stackTraceLimit = limit; - return stack2[0].toString ? toString3 : require_callsite_tostring3(); - }); - lazyProperty(module2.exports, "eventListenerCount", function eventListenerCount2() { - return EventEmitter2.listenerCount || require_event_listener_count3(); - }); - function lazyProperty(obj, prop, getter) { - function get() { - var val = getter(); - Object.defineProperty(obj, prop, { - configurable: true, - enumerable: true, - value: val - }); - return val; - } - Object.defineProperty(obj, prop, { - configurable: true, - enumerable: true, - get - }); - } - function toString3(obj) { - return obj.toString(); - } - } -}); - -// node_modules/resolve-path/node_modules/depd/index.js -var require_depd4 = __commonJS({ - "node_modules/resolve-path/node_modules/depd/index.js"(exports, module) { - var callSiteToString = require_compat3().callSiteToString; - var eventListenerCount = require_compat3().eventListenerCount; - var relative = require("path").relative; - module.exports = depd; - var basePath = process.cwd(); - function containsNamespace(str, namespace) { - var vals = str.split(/[ ,]+/); - var ns = String(namespace).toLowerCase(); - for (var i = 0; i < vals.length; i++) { - var val = vals[i]; - if (val && (val === "*" || val.toLowerCase() === ns)) { - return true; - } - } - return false; - } - function convertDataDescriptorToAccessor(obj, prop, message2) { - var descriptor = Object.getOwnPropertyDescriptor(obj, prop); - var value = descriptor.value; - descriptor.get = function getter() { - return value; - }; - if (descriptor.writable) { - descriptor.set = function setter(val) { - return value = val; - }; - } - delete descriptor.value; - delete descriptor.writable; - Object.defineProperty(obj, prop, descriptor); - return descriptor; - } - function createArgumentsString(arity) { - var str = ""; - for (var i = 0; i < arity; i++) { - str += ", arg" + i; - } - return str.substr(2); - } - function createStackString(stack2) { - var str = this.name + ": " + this.namespace; - if (this.message) { - str += " deprecated " + this.message; - } - for (var i = 0; i < stack2.length; i++) { - str += "\n at " + callSiteToString(stack2[i]); - } - return str; - } - function depd(namespace) { - if (!namespace) { - throw new TypeError("argument namespace is required"); - } - var stack2 = getStack(); - var site2 = callSiteLocation(stack2[1]); - var file = site2[0]; - function deprecate2(message2) { - log.call(deprecate2, message2); - } - deprecate2._file = file; - deprecate2._ignored = isignored(namespace); - deprecate2._namespace = namespace; - deprecate2._traced = istraced(namespace); - deprecate2._warned = /* @__PURE__ */ Object.create(null); - deprecate2.function = wrapfunction; - deprecate2.property = wrapproperty; - return deprecate2; - } - function isignored(namespace) { - if (process.noDeprecation) { - return true; - } - var str = process.env.NO_DEPRECATION || ""; - return containsNamespace(str, namespace); - } - function istraced(namespace) { - if (process.traceDeprecation) { - return true; - } - var str = process.env.TRACE_DEPRECATION || ""; - return containsNamespace(str, namespace); - } - function log(message2, site2) { - var haslisteners = eventListenerCount(process, "deprecation") !== 0; - if (!haslisteners && this._ignored) { - return; - } - var caller; - var callFile; - var callSite; - var depSite; - var i = 0; - var seen = false; - var stack2 = getStack(); - var file = this._file; - if (site2) { - depSite = site2; - callSite = callSiteLocation(stack2[1]); - callSite.name = depSite.name; - file = callSite[0]; - } else { - i = 2; - depSite = callSiteLocation(stack2[i]); - callSite = depSite; - } - for (; i < stack2.length; i++) { - caller = callSiteLocation(stack2[i]); - callFile = caller[0]; - if (callFile === file) { - seen = true; - } else if (callFile === this._file) { - file = this._file; - } else if (seen) { - break; - } - } - var key = caller ? depSite.join(":") + "__" + caller.join(":") : void 0; - if (key !== void 0 && key in this._warned) { - return; - } - this._warned[key] = true; - var msg = message2; - if (!msg) { - msg = callSite === depSite || !callSite.name ? defaultMessage(depSite) : defaultMessage(callSite); - } - if (haslisteners) { - var err = DeprecationError(this._namespace, msg, stack2.slice(i)); - process.emit("deprecation", err); - return; - } - var format2 = process.stderr.isTTY ? formatColor : formatPlain; - var output = format2.call(this, msg, caller, stack2.slice(i)); - process.stderr.write(output + "\n", "utf8"); - } - function callSiteLocation(callSite) { - var file = callSite.getFileName() || ""; - var line = callSite.getLineNumber(); - var colm = callSite.getColumnNumber(); - if (callSite.isEval()) { - file = callSite.getEvalOrigin() + ", " + file; - } - var site2 = [file, line, colm]; - site2.callSite = callSite; - site2.name = callSite.getFunctionName(); - return site2; - } - function defaultMessage(site2) { - var callSite = site2.callSite; - var funcName = site2.name; - if (!funcName) { - funcName = ""; - } - var context = callSite.getThis(); - var typeName = context && callSite.getTypeName(); - if (typeName === "Object") { - typeName = void 0; - } - if (typeName === "Function") { - typeName = context.name || typeName; - } - return typeName && callSite.getMethodName() ? typeName + "." + funcName : funcName; - } - function formatPlain(msg, caller, stack2) { - var timestamp2 = new Date().toUTCString(); - var formatted = timestamp2 + " " + this._namespace + " deprecated " + msg; - if (this._traced) { - for (var i = 0; i < stack2.length; i++) { - formatted += "\n at " + callSiteToString(stack2[i]); - } - return formatted; - } - if (caller) { - formatted += " at " + formatLocation(caller); - } - return formatted; - } - function formatColor(msg, caller, stack2) { - var formatted = "\x1B[36;1m" + this._namespace + "\x1B[22;39m \x1B[33;1mdeprecated\x1B[22;39m \x1B[0m" + msg + "\x1B[39m"; - if (this._traced) { - for (var i = 0; i < stack2.length; i++) { - formatted += "\n \x1B[36mat " + callSiteToString(stack2[i]) + "\x1B[39m"; - } - return formatted; - } - if (caller) { - formatted += " \x1B[36m" + formatLocation(caller) + "\x1B[39m"; - } - return formatted; - } - function formatLocation(callSite) { - return relative(basePath, callSite[0]) + ":" + callSite[1] + ":" + callSite[2]; - } - function getStack() { - var limit = Error.stackTraceLimit; - var obj = {}; - var prep = Error.prepareStackTrace; - Error.prepareStackTrace = prepareObjectStackTrace; - Error.stackTraceLimit = Math.max(10, limit); - Error.captureStackTrace(obj); - var stack2 = obj.stack.slice(1); - Error.prepareStackTrace = prep; - Error.stackTraceLimit = limit; - return stack2; - } - function prepareObjectStackTrace(obj, stack2) { - return stack2; - } - function wrapfunction(fn, message) { - if (typeof fn !== "function") { - throw new TypeError("argument fn must be a function"); - } - var args = createArgumentsString(fn.length); - var deprecate = this; - var stack = getStack(); - var site = callSiteLocation(stack[1]); - site.name = fn.name; - var deprecatedfn = eval("(function (" + args + ') {\n"use strict"\nlog.call(deprecate, message, site)\nreturn fn.apply(this, arguments)\n})'); - return deprecatedfn; - } - function wrapproperty(obj, prop, message2) { - if (!obj || typeof obj !== "object" && typeof obj !== "function") { - throw new TypeError("argument obj must be object"); - } - var descriptor = Object.getOwnPropertyDescriptor(obj, prop); - if (!descriptor) { - throw new TypeError("must call property on owner object"); - } - if (!descriptor.configurable) { - throw new TypeError("property must be configurable"); - } - var deprecate2 = this; - var stack2 = getStack(); - var site2 = callSiteLocation(stack2[1]); - site2.name = prop; - if ("value" in descriptor) { - descriptor = convertDataDescriptorToAccessor(obj, prop, message2); - } - var get = descriptor.get; - var set = descriptor.set; - if (typeof get === "function") { - descriptor.get = function getter() { - log.call(deprecate2, message2, site2); - return get.apply(this, arguments); - }; - } - if (typeof set === "function") { - descriptor.set = function setter() { - log.call(deprecate2, message2, site2); - return set.apply(this, arguments); - }; - } - Object.defineProperty(obj, prop, descriptor); - } - function DeprecationError(namespace, message2, stack2) { - var error = new Error(); - var stackString; - Object.defineProperty(error, "constructor", { - value: DeprecationError - }); - Object.defineProperty(error, "message", { - configurable: true, - enumerable: false, - value: message2, - writable: true - }); - Object.defineProperty(error, "name", { - enumerable: false, - configurable: true, - value: "DeprecationError", - writable: true - }); - Object.defineProperty(error, "namespace", { - configurable: true, - enumerable: false, - value: namespace, - writable: true - }); - Object.defineProperty(error, "stack", { - configurable: true, - enumerable: false, - get: function() { - if (stackString !== void 0) { - return stackString; - } - return stackString = createStackString.call(this, stack2); - }, - set: function setter(val) { - stackString = val; - } - }); - return error; - } - } -}); - -// node_modules/resolve-path/node_modules/setprototypeof/index.js -var require_setprototypeof2 = __commonJS({ - "node_modules/resolve-path/node_modules/setprototypeof/index.js"(exports2, module2) { - module2.exports = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array ? setProtoOf : mixinProperties); - function setProtoOf(obj, proto) { - obj.__proto__ = proto; - return obj; - } - function mixinProperties(obj, proto) { - for (var prop in proto) { - if (!obj.hasOwnProperty(prop)) { - obj[prop] = proto[prop]; - } - } - return obj; - } - } -}); - -// node_modules/resolve-path/node_modules/statuses/codes.json -var require_codes4 = __commonJS({ - "node_modules/resolve-path/node_modules/statuses/codes.json"(exports2, module2) { - module2.exports = { - "100": "Continue", - "101": "Switching Protocols", - "102": "Processing", - "103": "Early Hints", - "200": "OK", - "201": "Created", - "202": "Accepted", - "203": "Non-Authoritative Information", - "204": "No Content", - "205": "Reset Content", - "206": "Partial Content", - "207": "Multi-Status", - "208": "Already Reported", - "226": "IM Used", - "300": "Multiple Choices", - "301": "Moved Permanently", - "302": "Found", - "303": "See Other", - "304": "Not Modified", - "305": "Use Proxy", - "306": "(Unused)", - "307": "Temporary Redirect", - "308": "Permanent Redirect", - "400": "Bad Request", - "401": "Unauthorized", - "402": "Payment Required", - "403": "Forbidden", - "404": "Not Found", - "405": "Method Not Allowed", - "406": "Not Acceptable", - "407": "Proxy Authentication Required", - "408": "Request Timeout", - "409": "Conflict", - "410": "Gone", - "411": "Length Required", - "412": "Precondition Failed", - "413": "Payload Too Large", - "414": "URI Too Long", - "415": "Unsupported Media Type", - "416": "Range Not Satisfiable", - "417": "Expectation Failed", - "418": "I'm a teapot", - "421": "Misdirected Request", - "422": "Unprocessable Entity", - "423": "Locked", - "424": "Failed Dependency", - "425": "Unordered Collection", - "426": "Upgrade Required", - "428": "Precondition Required", - "429": "Too Many Requests", - "431": "Request Header Fields Too Large", - "451": "Unavailable For Legal Reasons", - "500": "Internal Server Error", - "501": "Not Implemented", - "502": "Bad Gateway", - "503": "Service Unavailable", - "504": "Gateway Timeout", - "505": "HTTP Version Not Supported", - "506": "Variant Also Negotiates", - "507": "Insufficient Storage", - "508": "Loop Detected", - "509": "Bandwidth Limit Exceeded", - "510": "Not Extended", - "511": "Network Authentication Required" - }; - } -}); - -// node_modules/resolve-path/node_modules/statuses/index.js -var require_statuses4 = __commonJS({ - "node_modules/resolve-path/node_modules/statuses/index.js"(exports2, module2) { - "use strict"; - var codes = require_codes4(); - module2.exports = status; - status.STATUS_CODES = codes; - status.codes = populateStatusesMap(status, codes); - status.redirect = { - 300: true, - 301: true, - 302: true, - 303: true, - 305: true, - 307: true, - 308: true - }; - status.empty = { - 204: true, - 205: true, - 304: true - }; - status.retry = { - 502: true, - 503: true, - 504: true - }; - function populateStatusesMap(statuses, codes2) { - var arr = []; - Object.keys(codes2).forEach(function forEachCode(code) { - var message2 = codes2[code]; - var status2 = Number(code); - statuses[status2] = message2; - statuses[message2] = status2; - statuses[message2.toLowerCase()] = status2; - arr.push(status2); - }); - return arr; - } - function status(code) { - if (typeof code === "number") { - if (!status[code]) - throw new Error("invalid status code: " + code); - return code; - } - if (typeof code !== "string") { - throw new TypeError("code must be a number or string"); - } - var n = parseInt(code, 10); - if (!isNaN(n)) { - if (!status[n]) - throw new Error("invalid status code: " + n); - return n; - } - n = status[code.toLowerCase()]; - if (!n) - throw new Error('invalid status message: "' + code + '"'); - return n; - } - } -}); - -// node_modules/resolve-path/node_modules/inherits/inherits_browser.js -var require_inherits_browser2 = __commonJS({ - "node_modules/resolve-path/node_modules/inherits/inherits_browser.js"(exports2, module2) { - if (typeof Object.create === "function") { - module2.exports = function inherits2(ctor, superCtor) { - ctor.super_ = superCtor; - ctor.prototype = Object.create(superCtor.prototype, { - constructor: { - value: ctor, - enumerable: false, - writable: true, - configurable: true - } - }); - }; - } else { - module2.exports = function inherits2(ctor, superCtor) { - ctor.super_ = superCtor; - var TempCtor = function() { - }; - TempCtor.prototype = superCtor.prototype; - ctor.prototype = new TempCtor(); - ctor.prototype.constructor = ctor; - }; - } - } -}); - -// node_modules/resolve-path/node_modules/inherits/inherits.js -var require_inherits2 = __commonJS({ - "node_modules/resolve-path/node_modules/inherits/inherits.js"(exports2, module2) { - try { - util2 = require("util"); - if (typeof util2.inherits !== "function") - throw ""; - module2.exports = util2.inherits; - } catch (e) { - module2.exports = require_inherits_browser2(); - } - var util2; - } -}); - -// node_modules/resolve-path/node_modules/http-errors/index.js -var require_http_errors4 = __commonJS({ - "node_modules/resolve-path/node_modules/http-errors/index.js"(exports2, module2) { - "use strict"; - var deprecate2 = require_depd4()("http-errors"); - var setPrototypeOf = require_setprototypeof2(); - var statuses = require_statuses4(); - var inherits2 = require_inherits2(); - module2.exports = createError; - module2.exports.HttpError = createHttpErrorConstructor(); - populateConstructorExports(module2.exports, statuses.codes, module2.exports.HttpError); - function codeClass(status) { - return Number(String(status).charAt(0) + "00"); - } - function createError() { - var err; - var msg; - var status = 500; - var props = {}; - for (var i = 0; i < arguments.length; i++) { - var arg = arguments[i]; - if (arg instanceof Error) { - err = arg; - status = err.status || err.statusCode || status; - continue; - } - switch (typeof arg) { - case "string": - msg = arg; - break; - case "number": - status = arg; - if (i !== 0) { - deprecate2("non-first-argument status code; replace with createError(" + arg + ", ...)"); - } - break; - case "object": - props = arg; - break; - } - } - if (typeof status === "number" && (status < 400 || status >= 600)) { - deprecate2("non-error status code; use only 4xx or 5xx status codes"); - } - if (typeof status !== "number" || !statuses[status] && (status < 400 || status >= 600)) { - status = 500; - } - var HttpError2 = createError[status] || createError[codeClass(status)]; - if (!err) { - err = HttpError2 ? new HttpError2(msg) : new Error(msg || statuses[status]); - Error.captureStackTrace(err, createError); - } - if (!HttpError2 || !(err instanceof HttpError2) || err.status !== status) { - err.expose = status < 500; - err.status = err.statusCode = status; - } - for (var key in props) { - if (key !== "status" && key !== "statusCode") { - err[key] = props[key]; - } - } - return err; - } - function createHttpErrorConstructor() { - function HttpError2() { - throw new TypeError("cannot construct abstract class"); - } - inherits2(HttpError2, Error); - return HttpError2; - } - function createClientErrorConstructor(HttpError2, name, code) { - var className = name.match(/Error$/) ? name : name + "Error"; - function ClientError(message2) { - var msg = message2 != null ? message2 : statuses[code]; - var err = new Error(msg); - Error.captureStackTrace(err, ClientError); - setPrototypeOf(err, ClientError.prototype); - Object.defineProperty(err, "message", { - enumerable: true, - configurable: true, - value: msg, - writable: true - }); - Object.defineProperty(err, "name", { - enumerable: false, - configurable: true, - value: className, - writable: true - }); - return err; - } - inherits2(ClientError, HttpError2); - ClientError.prototype.status = code; - ClientError.prototype.statusCode = code; - ClientError.prototype.expose = true; - return ClientError; - } - function createServerErrorConstructor(HttpError2, name, code) { - var className = name.match(/Error$/) ? name : name + "Error"; - function ServerError(message2) { - var msg = message2 != null ? message2 : statuses[code]; - var err = new Error(msg); - Error.captureStackTrace(err, ServerError); - setPrototypeOf(err, ServerError.prototype); - Object.defineProperty(err, "message", { - enumerable: true, - configurable: true, - value: msg, - writable: true - }); - Object.defineProperty(err, "name", { - enumerable: false, - configurable: true, - value: className, - writable: true - }); - return err; - } - inherits2(ServerError, HttpError2); - ServerError.prototype.status = code; - ServerError.prototype.statusCode = code; - ServerError.prototype.expose = false; - return ServerError; - } - function populateConstructorExports(exports3, codes, HttpError2) { - codes.forEach(function forEachCode(code) { - var CodeError; - var name = toIdentifier(statuses[code]); - switch (codeClass(code)) { - case 400: - CodeError = createClientErrorConstructor(HttpError2, name, code); - break; - case 500: - CodeError = createServerErrorConstructor(HttpError2, name, code); - break; - } - if (CodeError) { - exports3[code] = CodeError; - exports3[name] = CodeError; - } - }); - exports3["I'mateapot"] = deprecate2.function( - exports3.ImATeapot, - `"I'mateapot"; use "ImATeapot" instead` - ); - } - function toIdentifier(str) { - return str.split(" ").map(function(token) { - return token.slice(0, 1).toUpperCase() + token.slice(1); - }).join("").replace(/[^ _0-9a-z]/gi, ""); - } - } -}); - -// node_modules/path-is-absolute/index.js -var require_path_is_absolute = __commonJS({ - "node_modules/path-is-absolute/index.js"(exports2, module2) { - "use strict"; - function posix(path4) { - return path4.charAt(0) === "/"; - } - function win32(path4) { - var splitDeviceRe = /^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/; - var result = splitDeviceRe.exec(path4); - var device = result[1] || ""; - var isUnc = Boolean(device && device.charAt(1) !== ":"); - return Boolean(result[2] || isUnc); - } - module2.exports = process.platform === "win32" ? win32 : posix; - module2.exports.posix = posix; - module2.exports.win32 = win32; - } -}); - -// node_modules/resolve-path/index.js -var require_resolve_path = __commonJS({ - "node_modules/resolve-path/index.js"(exports2, module2) { - "use strict"; - var createError = require_http_errors4(); - var join2 = require("path").join; - var normalize = require("path").normalize; - var pathIsAbsolute = require_path_is_absolute(); - var resolve = require("path").resolve; - var sep = require("path").sep; - module2.exports = resolvePath; - var UP_PATH_REGEXP = /(?:^|[\\/])\.\.(?:[\\/]|$)/; - function resolvePath(rootPath, relativePath) { - var path4 = relativePath; - var root = rootPath; - if (arguments.length === 1) { - path4 = rootPath; - root = process.cwd(); - } - if (root == null) { - throw new TypeError("argument rootPath is required"); - } - if (typeof root !== "string") { - throw new TypeError("argument rootPath must be a string"); - } - if (path4 == null) { - throw new TypeError("argument relativePath is required"); - } - if (typeof path4 !== "string") { - throw new TypeError("argument relativePath must be a string"); - } - if (path4.indexOf("\0") !== -1) { - throw createError(400, "Malicious Path"); - } - if (pathIsAbsolute.posix(path4) || pathIsAbsolute.win32(path4)) { - throw createError(400, "Malicious Path"); - } - if (UP_PATH_REGEXP.test(normalize("." + sep + path4))) { - throw createError(403); - } - return normalize(join2(resolve(root), path4)); - } - } -}); - -// node_modules/koa-send/node_modules/depd/lib/compat/callsite-tostring.js -var require_callsite_tostring4 = __commonJS({ - "node_modules/koa-send/node_modules/depd/lib/compat/callsite-tostring.js"(exports2, module2) { - "use strict"; - module2.exports = callSiteToString2; - function callSiteFileLocation(callSite) { - var fileName; - var fileLocation = ""; - if (callSite.isNative()) { - fileLocation = "native"; - } else if (callSite.isEval()) { - fileName = callSite.getScriptNameOrSourceURL(); - if (!fileName) { - fileLocation = callSite.getEvalOrigin(); - } - } else { - fileName = callSite.getFileName(); - } - if (fileName) { - fileLocation += fileName; - var lineNumber = callSite.getLineNumber(); - if (lineNumber != null) { - fileLocation += ":" + lineNumber; - var columnNumber = callSite.getColumnNumber(); - if (columnNumber) { - fileLocation += ":" + columnNumber; - } - } - } - return fileLocation || "unknown source"; - } - function callSiteToString2(callSite) { - var addSuffix = true; - var fileLocation = callSiteFileLocation(callSite); - var functionName = callSite.getFunctionName(); - var isConstructor = callSite.isConstructor(); - var isMethodCall = !(callSite.isToplevel() || isConstructor); - var line = ""; - if (isMethodCall) { - var methodName = callSite.getMethodName(); - var typeName = getConstructorName(callSite); - if (functionName) { - if (typeName && functionName.indexOf(typeName) !== 0) { - line += typeName + "."; - } - line += functionName; - if (methodName && functionName.lastIndexOf("." + methodName) !== functionName.length - methodName.length - 1) { - line += " [as " + methodName + "]"; - } - } else { - line += typeName + "." + (methodName || ""); - } - } else if (isConstructor) { - line += "new " + (functionName || ""); - } else if (functionName) { - line += functionName; - } else { - addSuffix = false; - line += fileLocation; - } - if (addSuffix) { - line += " (" + fileLocation + ")"; - } - return line; - } - function getConstructorName(obj) { - var receiver = obj.receiver; - return receiver.constructor && receiver.constructor.name || null; - } - } -}); - -// node_modules/koa-send/node_modules/depd/lib/compat/event-listener-count.js -var require_event_listener_count4 = __commonJS({ - "node_modules/koa-send/node_modules/depd/lib/compat/event-listener-count.js"(exports2, module2) { - "use strict"; - module2.exports = eventListenerCount2; - function eventListenerCount2(emitter, type) { - return emitter.listeners(type).length; - } - } -}); - -// node_modules/koa-send/node_modules/depd/lib/compat/index.js -var require_compat4 = __commonJS({ - "node_modules/koa-send/node_modules/depd/lib/compat/index.js"(exports2, module2) { - "use strict"; - var EventEmitter2 = require("events").EventEmitter; - lazyProperty(module2.exports, "callSiteToString", function callSiteToString2() { - var limit = Error.stackTraceLimit; - var obj = {}; - var prep = Error.prepareStackTrace; - function prepareObjectStackTrace2(obj2, stack3) { - return stack3; - } - Error.prepareStackTrace = prepareObjectStackTrace2; - Error.stackTraceLimit = 2; - Error.captureStackTrace(obj); - var stack2 = obj.stack.slice(); - Error.prepareStackTrace = prep; - Error.stackTraceLimit = limit; - return stack2[0].toString ? toString3 : require_callsite_tostring4(); - }); - lazyProperty(module2.exports, "eventListenerCount", function eventListenerCount2() { - return EventEmitter2.listenerCount || require_event_listener_count4(); - }); - function lazyProperty(obj, prop, getter) { - function get() { - var val = getter(); - Object.defineProperty(obj, prop, { - configurable: true, - enumerable: true, - value: val - }); - return val; - } - Object.defineProperty(obj, prop, { - configurable: true, - enumerable: true, - get - }); - } - function toString3(obj) { - return obj.toString(); - } - } -}); - -// node_modules/koa-send/node_modules/depd/index.js -var require_depd5 = __commonJS({ - "node_modules/koa-send/node_modules/depd/index.js"(exports, module) { - var callSiteToString = require_compat4().callSiteToString; - var eventListenerCount = require_compat4().eventListenerCount; - var relative = require("path").relative; - module.exports = depd; - var basePath = process.cwd(); - function containsNamespace(str, namespace) { - var vals = str.split(/[ ,]+/); - var ns = String(namespace).toLowerCase(); - for (var i = 0; i < vals.length; i++) { - var val = vals[i]; - if (val && (val === "*" || val.toLowerCase() === ns)) { - return true; - } - } - return false; - } - function convertDataDescriptorToAccessor(obj, prop, message2) { - var descriptor = Object.getOwnPropertyDescriptor(obj, prop); - var value = descriptor.value; - descriptor.get = function getter() { - return value; - }; - if (descriptor.writable) { - descriptor.set = function setter(val) { - return value = val; - }; - } - delete descriptor.value; - delete descriptor.writable; - Object.defineProperty(obj, prop, descriptor); - return descriptor; - } - function createArgumentsString(arity) { - var str = ""; - for (var i = 0; i < arity; i++) { - str += ", arg" + i; - } - return str.substr(2); - } - function createStackString(stack2) { - var str = this.name + ": " + this.namespace; - if (this.message) { - str += " deprecated " + this.message; - } - for (var i = 0; i < stack2.length; i++) { - str += "\n at " + callSiteToString(stack2[i]); - } - return str; - } - function depd(namespace) { - if (!namespace) { - throw new TypeError("argument namespace is required"); - } - var stack2 = getStack(); - var site2 = callSiteLocation(stack2[1]); - var file = site2[0]; - function deprecate2(message2) { - log.call(deprecate2, message2); - } - deprecate2._file = file; - deprecate2._ignored = isignored(namespace); - deprecate2._namespace = namespace; - deprecate2._traced = istraced(namespace); - deprecate2._warned = /* @__PURE__ */ Object.create(null); - deprecate2.function = wrapfunction; - deprecate2.property = wrapproperty; - return deprecate2; - } - function isignored(namespace) { - if (process.noDeprecation) { - return true; - } - var str = process.env.NO_DEPRECATION || ""; - return containsNamespace(str, namespace); - } - function istraced(namespace) { - if (process.traceDeprecation) { - return true; - } - var str = process.env.TRACE_DEPRECATION || ""; - return containsNamespace(str, namespace); - } - function log(message2, site2) { - var haslisteners = eventListenerCount(process, "deprecation") !== 0; - if (!haslisteners && this._ignored) { - return; - } - var caller; - var callFile; - var callSite; - var depSite; - var i = 0; - var seen = false; - var stack2 = getStack(); - var file = this._file; - if (site2) { - depSite = site2; - callSite = callSiteLocation(stack2[1]); - callSite.name = depSite.name; - file = callSite[0]; - } else { - i = 2; - depSite = callSiteLocation(stack2[i]); - callSite = depSite; - } - for (; i < stack2.length; i++) { - caller = callSiteLocation(stack2[i]); - callFile = caller[0]; - if (callFile === file) { - seen = true; - } else if (callFile === this._file) { - file = this._file; - } else if (seen) { - break; - } - } - var key = caller ? depSite.join(":") + "__" + caller.join(":") : void 0; - if (key !== void 0 && key in this._warned) { - return; - } - this._warned[key] = true; - var msg = message2; - if (!msg) { - msg = callSite === depSite || !callSite.name ? defaultMessage(depSite) : defaultMessage(callSite); - } - if (haslisteners) { - var err = DeprecationError(this._namespace, msg, stack2.slice(i)); - process.emit("deprecation", err); - return; - } - var format2 = process.stderr.isTTY ? formatColor : formatPlain; - var output = format2.call(this, msg, caller, stack2.slice(i)); - process.stderr.write(output + "\n", "utf8"); - } - function callSiteLocation(callSite) { - var file = callSite.getFileName() || ""; - var line = callSite.getLineNumber(); - var colm = callSite.getColumnNumber(); - if (callSite.isEval()) { - file = callSite.getEvalOrigin() + ", " + file; - } - var site2 = [file, line, colm]; - site2.callSite = callSite; - site2.name = callSite.getFunctionName(); - return site2; - } - function defaultMessage(site2) { - var callSite = site2.callSite; - var funcName = site2.name; - if (!funcName) { - funcName = ""; - } - var context = callSite.getThis(); - var typeName = context && callSite.getTypeName(); - if (typeName === "Object") { - typeName = void 0; - } - if (typeName === "Function") { - typeName = context.name || typeName; - } - return typeName && callSite.getMethodName() ? typeName + "." + funcName : funcName; - } - function formatPlain(msg, caller, stack2) { - var timestamp2 = new Date().toUTCString(); - var formatted = timestamp2 + " " + this._namespace + " deprecated " + msg; - if (this._traced) { - for (var i = 0; i < stack2.length; i++) { - formatted += "\n at " + callSiteToString(stack2[i]); - } - return formatted; - } - if (caller) { - formatted += " at " + formatLocation(caller); - } - return formatted; - } - function formatColor(msg, caller, stack2) { - var formatted = "\x1B[36;1m" + this._namespace + "\x1B[22;39m \x1B[33;1mdeprecated\x1B[22;39m \x1B[0m" + msg + "\x1B[39m"; - if (this._traced) { - for (var i = 0; i < stack2.length; i++) { - formatted += "\n \x1B[36mat " + callSiteToString(stack2[i]) + "\x1B[39m"; - } - return formatted; - } - if (caller) { - formatted += " \x1B[36m" + formatLocation(caller) + "\x1B[39m"; - } - return formatted; - } - function formatLocation(callSite) { - return relative(basePath, callSite[0]) + ":" + callSite[1] + ":" + callSite[2]; - } - function getStack() { - var limit = Error.stackTraceLimit; - var obj = {}; - var prep = Error.prepareStackTrace; - Error.prepareStackTrace = prepareObjectStackTrace; - Error.stackTraceLimit = Math.max(10, limit); - Error.captureStackTrace(obj); - var stack2 = obj.stack.slice(1); - Error.prepareStackTrace = prep; - Error.stackTraceLimit = limit; - return stack2; - } - function prepareObjectStackTrace(obj, stack2) { - return stack2; - } - function wrapfunction(fn, message) { - if (typeof fn !== "function") { - throw new TypeError("argument fn must be a function"); - } - var args = createArgumentsString(fn.length); - var deprecate = this; - var stack = getStack(); - var site = callSiteLocation(stack[1]); - site.name = fn.name; - var deprecatedfn = eval("(function (" + args + ') {\n"use strict"\nlog.call(deprecate, message, site)\nreturn fn.apply(this, arguments)\n})'); - return deprecatedfn; - } - function wrapproperty(obj, prop, message2) { - if (!obj || typeof obj !== "object" && typeof obj !== "function") { - throw new TypeError("argument obj must be object"); - } - var descriptor = Object.getOwnPropertyDescriptor(obj, prop); - if (!descriptor) { - throw new TypeError("must call property on owner object"); - } - if (!descriptor.configurable) { - throw new TypeError("property must be configurable"); - } - var deprecate2 = this; - var stack2 = getStack(); - var site2 = callSiteLocation(stack2[1]); - site2.name = prop; - if ("value" in descriptor) { - descriptor = convertDataDescriptorToAccessor(obj, prop, message2); - } - var get = descriptor.get; - var set = descriptor.set; - if (typeof get === "function") { - descriptor.get = function getter() { - log.call(deprecate2, message2, site2); - return get.apply(this, arguments); - }; - } - if (typeof set === "function") { - descriptor.set = function setter() { - log.call(deprecate2, message2, site2); - return set.apply(this, arguments); - }; - } - Object.defineProperty(obj, prop, descriptor); - } - function DeprecationError(namespace, message2, stack2) { - var error = new Error(); - var stackString; - Object.defineProperty(error, "constructor", { - value: DeprecationError - }); - Object.defineProperty(error, "message", { - configurable: true, - enumerable: false, - value: message2, - writable: true - }); - Object.defineProperty(error, "name", { - enumerable: false, - configurable: true, - value: "DeprecationError", - writable: true - }); - Object.defineProperty(error, "namespace", { - configurable: true, - enumerable: false, - value: namespace, - writable: true - }); - Object.defineProperty(error, "stack", { - configurable: true, - enumerable: false, - get: function() { - if (stackString !== void 0) { - return stackString; - } - return stackString = createStackString.call(this, stack2); - }, - set: function setter(val) { - stackString = val; - } - }); - return error; - } - } -}); - -// node_modules/koa-send/node_modules/statuses/codes.json -var require_codes5 = __commonJS({ - "node_modules/koa-send/node_modules/statuses/codes.json"(exports2, module2) { - module2.exports = { - "100": "Continue", - "101": "Switching Protocols", - "102": "Processing", - "103": "Early Hints", - "200": "OK", - "201": "Created", - "202": "Accepted", - "203": "Non-Authoritative Information", - "204": "No Content", - "205": "Reset Content", - "206": "Partial Content", - "207": "Multi-Status", - "208": "Already Reported", - "226": "IM Used", - "300": "Multiple Choices", - "301": "Moved Permanently", - "302": "Found", - "303": "See Other", - "304": "Not Modified", - "305": "Use Proxy", - "306": "(Unused)", - "307": "Temporary Redirect", - "308": "Permanent Redirect", - "400": "Bad Request", - "401": "Unauthorized", - "402": "Payment Required", - "403": "Forbidden", - "404": "Not Found", - "405": "Method Not Allowed", - "406": "Not Acceptable", - "407": "Proxy Authentication Required", - "408": "Request Timeout", - "409": "Conflict", - "410": "Gone", - "411": "Length Required", - "412": "Precondition Failed", - "413": "Payload Too Large", - "414": "URI Too Long", - "415": "Unsupported Media Type", - "416": "Range Not Satisfiable", - "417": "Expectation Failed", - "418": "I'm a teapot", - "421": "Misdirected Request", - "422": "Unprocessable Entity", - "423": "Locked", - "424": "Failed Dependency", - "425": "Unordered Collection", - "426": "Upgrade Required", - "428": "Precondition Required", - "429": "Too Many Requests", - "431": "Request Header Fields Too Large", - "451": "Unavailable For Legal Reasons", - "500": "Internal Server Error", - "501": "Not Implemented", - "502": "Bad Gateway", - "503": "Service Unavailable", - "504": "Gateway Timeout", - "505": "HTTP Version Not Supported", - "506": "Variant Also Negotiates", - "507": "Insufficient Storage", - "508": "Loop Detected", - "509": "Bandwidth Limit Exceeded", - "510": "Not Extended", - "511": "Network Authentication Required" - }; - } -}); - -// node_modules/koa-send/node_modules/statuses/index.js -var require_statuses5 = __commonJS({ - "node_modules/koa-send/node_modules/statuses/index.js"(exports2, module2) { - "use strict"; - var codes = require_codes5(); - module2.exports = status; - status.STATUS_CODES = codes; - status.codes = populateStatusesMap(status, codes); - status.redirect = { - 300: true, - 301: true, - 302: true, - 303: true, - 305: true, - 307: true, - 308: true - }; - status.empty = { - 204: true, - 205: true, - 304: true - }; - status.retry = { - 502: true, - 503: true, - 504: true - }; - function populateStatusesMap(statuses, codes2) { - var arr = []; - Object.keys(codes2).forEach(function forEachCode(code) { - var message2 = codes2[code]; - var status2 = Number(code); - statuses[status2] = message2; - statuses[message2] = status2; - statuses[message2.toLowerCase()] = status2; - arr.push(status2); - }); - return arr; - } - function status(code) { - if (typeof code === "number") { - if (!status[code]) - throw new Error("invalid status code: " + code); - return code; - } - if (typeof code !== "string") { - throw new TypeError("code must be a number or string"); - } - var n = parseInt(code, 10); - if (!isNaN(n)) { - if (!status[n]) - throw new Error("invalid status code: " + n); - return n; - } - n = status[code.toLowerCase()]; - if (!n) - throw new Error('invalid status message: "' + code + '"'); - return n; - } - } -}); - -// node_modules/koa-send/node_modules/http-errors/index.js -var require_http_errors5 = __commonJS({ - "node_modules/koa-send/node_modules/http-errors/index.js"(exports2, module2) { - "use strict"; - var deprecate2 = require_depd5()("http-errors"); - var setPrototypeOf = require_setprototypeof(); - var statuses = require_statuses5(); - var inherits2 = require_inherits(); - var toIdentifier = require_toidentifier(); - module2.exports = createError; - module2.exports.HttpError = createHttpErrorConstructor(); - module2.exports.isHttpError = createIsHttpErrorFunction(module2.exports.HttpError); - populateConstructorExports(module2.exports, statuses.codes, module2.exports.HttpError); - function codeClass(status) { - return Number(String(status).charAt(0) + "00"); - } - function createError() { - var err; - var msg; - var status = 500; - var props = {}; - for (var i = 0; i < arguments.length; i++) { - var arg = arguments[i]; - if (arg instanceof Error) { - err = arg; - status = err.status || err.statusCode || status; - continue; - } - switch (typeof arg) { - case "string": - msg = arg; - break; - case "number": - status = arg; - if (i !== 0) { - deprecate2("non-first-argument status code; replace with createError(" + arg + ", ...)"); - } - break; - case "object": - props = arg; - break; - } - } - if (typeof status === "number" && (status < 400 || status >= 600)) { - deprecate2("non-error status code; use only 4xx or 5xx status codes"); - } - if (typeof status !== "number" || !statuses[status] && (status < 400 || status >= 600)) { - status = 500; - } - var HttpError2 = createError[status] || createError[codeClass(status)]; - if (!err) { - err = HttpError2 ? new HttpError2(msg) : new Error(msg || statuses[status]); - Error.captureStackTrace(err, createError); - } - if (!HttpError2 || !(err instanceof HttpError2) || err.status !== status) { - err.expose = status < 500; - err.status = err.statusCode = status; - } - for (var key in props) { - if (key !== "status" && key !== "statusCode") { - err[key] = props[key]; - } - } - return err; - } - function createHttpErrorConstructor() { - function HttpError2() { - throw new TypeError("cannot construct abstract class"); - } - inherits2(HttpError2, Error); - return HttpError2; - } - function createClientErrorConstructor(HttpError2, name, code) { - var className = toClassName(name); - function ClientError(message2) { - var msg = message2 != null ? message2 : statuses[code]; - var err = new Error(msg); - Error.captureStackTrace(err, ClientError); - setPrototypeOf(err, ClientError.prototype); - Object.defineProperty(err, "message", { - enumerable: true, - configurable: true, - value: msg, - writable: true - }); - Object.defineProperty(err, "name", { - enumerable: false, - configurable: true, - value: className, - writable: true - }); - return err; - } - inherits2(ClientError, HttpError2); - nameFunc(ClientError, className); - ClientError.prototype.status = code; - ClientError.prototype.statusCode = code; - ClientError.prototype.expose = true; - return ClientError; - } - function createIsHttpErrorFunction(HttpError2) { - return function isHttpError(val) { - if (!val || typeof val !== "object") { - return false; - } - if (val instanceof HttpError2) { - return true; - } - return val instanceof Error && typeof val.expose === "boolean" && typeof val.statusCode === "number" && val.status === val.statusCode; - }; - } - function createServerErrorConstructor(HttpError2, name, code) { - var className = toClassName(name); - function ServerError(message2) { - var msg = message2 != null ? message2 : statuses[code]; - var err = new Error(msg); - Error.captureStackTrace(err, ServerError); - setPrototypeOf(err, ServerError.prototype); - Object.defineProperty(err, "message", { - enumerable: true, - configurable: true, - value: msg, - writable: true - }); - Object.defineProperty(err, "name", { - enumerable: false, - configurable: true, - value: className, - writable: true - }); - return err; - } - inherits2(ServerError, HttpError2); - nameFunc(ServerError, className); - ServerError.prototype.status = code; - ServerError.prototype.statusCode = code; - ServerError.prototype.expose = false; - return ServerError; - } - function nameFunc(func, name) { - var desc = Object.getOwnPropertyDescriptor(func, "name"); - if (desc && desc.configurable) { - desc.value = name; - Object.defineProperty(func, "name", desc); - } - } - function populateConstructorExports(exports3, codes, HttpError2) { - codes.forEach(function forEachCode(code) { - var CodeError; - var name = toIdentifier(statuses[code]); - switch (codeClass(code)) { - case 400: - CodeError = createClientErrorConstructor(HttpError2, name, code); - break; - case 500: - CodeError = createServerErrorConstructor(HttpError2, name, code); - break; - } - if (CodeError) { - exports3[code] = CodeError; - exports3[name] = CodeError; - } - }); - exports3["I'mateapot"] = deprecate2.function( - exports3.ImATeapot, - `"I'mateapot"; use "ImATeapot" instead` - ); - } - function toClassName(name) { - return name.substr(-5) !== "Error" ? name + "Error" : name; - } - } -}); - -// node_modules/koa-send/index.js -var require_koa_send = __commonJS({ - "node_modules/koa-send/index.js"(exports2, module2) { - var fs7 = require("fs"); - var util2 = require("util"); - var debug = require_src4()("koa-send"); - var resolvePath = require_resolve_path(); - var createError = require_http_errors5(); - var assert = require("assert"); - var stat = util2.promisify(fs7.stat); - var access = util2.promisify(fs7.access); - async function exists(path4) { - try { - await access(path4); - return true; - } catch (e) { - return false; - } - } - var { - normalize, - basename: basename2, - extname, - resolve, - parse, - sep - } = require("path"); - module2.exports = send; - async function send(ctx, path4, opts = {}) { - assert(ctx, "koa context required"); - assert(path4, "pathname required"); - debug('send "%s" %j', path4, opts); - const root = opts.root ? normalize(resolve(opts.root)) : ""; - const trailingSlash = path4[path4.length - 1] === "/"; - path4 = path4.substr(parse(path4).root.length); - const index = opts.index; - const maxage = opts.maxage || opts.maxAge || 0; - const immutable = opts.immutable || false; - const hidden = opts.hidden || false; - const format2 = opts.format !== false; - const extensions = Array.isArray(opts.extensions) ? opts.extensions : false; - const brotli = opts.brotli !== false; - const gzip = opts.gzip !== false; - const setHeaders = opts.setHeaders; - if (setHeaders && typeof setHeaders !== "function") { - throw new TypeError("option setHeaders must be function"); - } - path4 = decode(path4); - if (path4 === -1) - return ctx.throw(400, "failed to decode"); - if (index && trailingSlash) - path4 += index; - path4 = resolvePath(root, path4); - if (!hidden && isHidden(root, path4)) - return; - let encodingExt = ""; - if (ctx.acceptsEncodings("br", "identity") === "br" && brotli && await exists(path4 + ".br")) { - path4 = path4 + ".br"; - ctx.set("Content-Encoding", "br"); - ctx.res.removeHeader("Content-Length"); - encodingExt = ".br"; - } else if (ctx.acceptsEncodings("gzip", "identity") === "gzip" && gzip && await exists(path4 + ".gz")) { - path4 = path4 + ".gz"; - ctx.set("Content-Encoding", "gzip"); - ctx.res.removeHeader("Content-Length"); - encodingExt = ".gz"; - } - if (extensions && !/\./.exec(basename2(path4))) { - const list = [].concat(extensions); - for (let i = 0; i < list.length; i++) { - let ext = list[i]; - if (typeof ext !== "string") { - throw new TypeError("option extensions must be array of strings or false"); - } - if (!/^\./.exec(ext)) - ext = `.${ext}`; - if (await exists(`${path4}${ext}`)) { - path4 = `${path4}${ext}`; - break; - } - } - } - let stats; - try { - stats = await stat(path4); - if (stats.isDirectory()) { - if (format2 && index) { - path4 += `/${index}`; - stats = await stat(path4); - } else { - return; - } - } - } catch (err) { - const notfound = ["ENOENT", "ENAMETOOLONG", "ENOTDIR"]; - if (notfound.includes(err.code)) { - throw createError(404, err); - } - err.status = 500; - throw err; - } - if (setHeaders) - setHeaders(ctx.res, path4, stats); - ctx.set("Content-Length", stats.size); - if (!ctx.response.get("Last-Modified")) - ctx.set("Last-Modified", stats.mtime.toUTCString()); - if (!ctx.response.get("Cache-Control")) { - const directives = [`max-age=${maxage / 1e3 | 0}`]; - if (immutable) { - directives.push("immutable"); - } - ctx.set("Cache-Control", directives.join(",")); - } - if (!ctx.type) - ctx.type = type(path4, encodingExt); - ctx.body = fs7.createReadStream(path4); - return path4; - } - function isHidden(root, path4) { - path4 = path4.substr(root.length).split(sep); - for (let i = 0; i < path4.length; i++) { - if (path4[i][0] === ".") - return true; - } - return false; - } - function type(file, ext) { - return ext !== "" ? extname(basename2(file, ext)) : extname(file); - } - function decode(path4) { - try { - return decodeURIComponent(path4); - } catch (err) { - return -1; - } - } - } -}); - -// node_modules/koa-static/index.js -var require_koa_static = __commonJS({ - "node_modules/koa-static/index.js"(exports2, module2) { - "use strict"; - var debug = require_src()("koa-static"); - var { resolve } = require("path"); - var assert = require("assert"); - var send = require_koa_send(); - module2.exports = serve; - function serve(root, opts) { - opts = Object.assign({}, opts); - assert(root, "root directory is required to serve files"); - debug('static "%s" %j', root, opts); - opts.root = resolve(root); - if (opts.index !== false) - opts.index = opts.index || "index.html"; - if (!opts.defer) { - return async function serve2(ctx, next) { - let done = false; - if (ctx.method === "HEAD" || ctx.method === "GET") { - try { - done = await send(ctx, ctx.path, opts); - } catch (err) { - if (err.status !== 404) { - throw err; - } - } - } - if (!done) { - await next(); - } - }; - } - return async function serve2(ctx, next) { - await next(); - if (ctx.method !== "HEAD" && ctx.method !== "GET") - return; - if (ctx.body != null || ctx.status !== 404) - return; - try { - await send(ctx, ctx.path, opts); - } catch (err) { - if (err.status !== 404) { - throw err; - } - } - }; - } - } -}); - -// node_modules/koa-mount/node_modules/ms/index.js -var require_ms5 = __commonJS({ - "node_modules/koa-mount/node_modules/ms/index.js"(exports2, module2) { - var s = 1e3; - var m = s * 60; - var h = m * 60; - var d = h * 24; - var w = d * 7; - var y = d * 365.25; - module2.exports = function(val, options) { - options = options || {}; - var type = typeof val; - if (type === "string" && val.length > 0) { - return parse(val); - } else if (type === "number" && isFinite(val)) { - return options.long ? fmtLong(val) : fmtShort(val); - } - throw new Error( - "val is not a non-empty string or a valid number. val=" + JSON.stringify(val) - ); - }; - function parse(str) { - str = String(str); - if (str.length > 100) { - return; - } - var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec( - str - ); - if (!match) { - return; - } - var n = parseFloat(match[1]); - var type = (match[2] || "ms").toLowerCase(); - switch (type) { - case "years": - case "year": - case "yrs": - case "yr": - case "y": - return n * y; - case "weeks": - case "week": - case "w": - return n * w; - case "days": - case "day": - case "d": - return n * d; - case "hours": - case "hour": - case "hrs": - case "hr": - case "h": - return n * h; - case "minutes": - case "minute": - case "mins": - case "min": - case "m": - return n * m; - case "seconds": - case "second": - case "secs": - case "sec": - case "s": - return n * s; - case "milliseconds": - case "millisecond": - case "msecs": - case "msec": - case "ms": - return n; - default: - return void 0; - } - } - function fmtShort(ms) { - var msAbs = Math.abs(ms); - if (msAbs >= d) { - return Math.round(ms / d) + "d"; - } - if (msAbs >= h) { - return Math.round(ms / h) + "h"; - } - if (msAbs >= m) { - return Math.round(ms / m) + "m"; - } - if (msAbs >= s) { - return Math.round(ms / s) + "s"; - } - return ms + "ms"; - } - function fmtLong(ms) { - var msAbs = Math.abs(ms); - if (msAbs >= d) { - return plural(ms, msAbs, d, "day"); - } - if (msAbs >= h) { - return plural(ms, msAbs, h, "hour"); - } - if (msAbs >= m) { - return plural(ms, msAbs, m, "minute"); - } - if (msAbs >= s) { - return plural(ms, msAbs, s, "second"); - } - return ms + " ms"; - } - function plural(ms, msAbs, n, name) { - var isPlural = msAbs >= n * 1.5; - return Math.round(ms / n) + " " + name + (isPlural ? "s" : ""); - } - } -}); - -// node_modules/koa-mount/node_modules/debug/src/common.js -var require_common5 = __commonJS({ - "node_modules/koa-mount/node_modules/debug/src/common.js"(exports2, module2) { - function setup(env) { - createDebug.debug = createDebug; - createDebug.default = createDebug; - createDebug.coerce = coerce; - createDebug.disable = disable; - createDebug.enable = enable; - createDebug.enabled = enabled; - createDebug.humanize = require_ms5(); - createDebug.destroy = destroy; - Object.keys(env).forEach((key) => { - createDebug[key] = env[key]; - }); - createDebug.names = []; - createDebug.skips = []; - createDebug.formatters = {}; - function selectColor(namespace) { - let hash = 0; - for (let i = 0; i < namespace.length; i++) { - hash = (hash << 5) - hash + namespace.charCodeAt(i); - hash |= 0; - } - return createDebug.colors[Math.abs(hash) % createDebug.colors.length]; - } - createDebug.selectColor = selectColor; - function createDebug(namespace) { - let prevTime; - let enableOverride = null; - let namespacesCache; - let enabledCache; - function debug(...args2) { - if (!debug.enabled) { - return; - } - const self2 = debug; - const curr = Number(new Date()); - const ms = curr - (prevTime || curr); - self2.diff = ms; - self2.prev = prevTime; - self2.curr = curr; - prevTime = curr; - args2[0] = createDebug.coerce(args2[0]); - if (typeof args2[0] !== "string") { - args2.unshift("%O"); - } - let index = 0; - args2[0] = args2[0].replace(/%([a-zA-Z%])/g, (match, format2) => { - if (match === "%%") { - return "%"; - } - index++; - const formatter = createDebug.formatters[format2]; - if (typeof formatter === "function") { - const val = args2[index]; - match = formatter.call(self2, val); - args2.splice(index, 1); - index--; - } - return match; - }); - createDebug.formatArgs.call(self2, args2); - const logFn = self2.log || createDebug.log; - logFn.apply(self2, args2); - } - debug.namespace = namespace; - debug.useColors = createDebug.useColors(); - debug.color = createDebug.selectColor(namespace); - debug.extend = extend2; - debug.destroy = createDebug.destroy; - Object.defineProperty(debug, "enabled", { - enumerable: true, - configurable: false, - get: () => { - if (enableOverride !== null) { - return enableOverride; - } - if (namespacesCache !== createDebug.namespaces) { - namespacesCache = createDebug.namespaces; - enabledCache = createDebug.enabled(namespace); - } - return enabledCache; - }, - set: (v) => { - enableOverride = v; - } - }); - if (typeof createDebug.init === "function") { - createDebug.init(debug); - } - return debug; - } - function extend2(namespace, delimiter) { - const newDebug = createDebug(this.namespace + (typeof delimiter === "undefined" ? ":" : delimiter) + namespace); - newDebug.log = this.log; - return newDebug; - } - function enable(namespaces) { - createDebug.save(namespaces); - createDebug.namespaces = namespaces; - createDebug.names = []; - createDebug.skips = []; - let i; - const split = (typeof namespaces === "string" ? namespaces : "").split(/[\s,]+/); - const len = split.length; - for (i = 0; i < len; i++) { - if (!split[i]) { - continue; - } - namespaces = split[i].replace(/\*/g, ".*?"); - if (namespaces[0] === "-") { - createDebug.skips.push(new RegExp("^" + namespaces.slice(1) + "$")); - } else { - createDebug.names.push(new RegExp("^" + namespaces + "$")); - } - } - } - function disable() { - const namespaces = [ - ...createDebug.names.map(toNamespace), - ...createDebug.skips.map(toNamespace).map((namespace) => "-" + namespace) - ].join(","); - createDebug.enable(""); - return namespaces; - } - function enabled(name) { - if (name[name.length - 1] === "*") { - return true; - } - let i; - let len; - for (i = 0, len = createDebug.skips.length; i < len; i++) { - if (createDebug.skips[i].test(name)) { - return false; - } - } - for (i = 0, len = createDebug.names.length; i < len; i++) { - if (createDebug.names[i].test(name)) { - return true; - } - } - return false; - } - function toNamespace(regexp) { - return regexp.toString().substring(2, regexp.toString().length - 2).replace(/\.\*\?$/, "*"); - } - function coerce(val) { - if (val instanceof Error) { - return val.stack || val.message; - } - return val; - } - function destroy() { - console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."); - } - createDebug.enable(createDebug.load()); - return createDebug; - } - module2.exports = setup; - } -}); - -// node_modules/koa-mount/node_modules/debug/src/browser.js -var require_browser4 = __commonJS({ - "node_modules/koa-mount/node_modules/debug/src/browser.js"(exports2, module2) { - exports2.formatArgs = formatArgs; - exports2.save = save; - exports2.load = load; - exports2.useColors = useColors; - exports2.storage = localstorage(); - exports2.destroy = (() => { - let warned = false; - return () => { - if (!warned) { - warned = true; - console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."); - } - }; - })(); - exports2.colors = [ - "#0000CC", - "#0000FF", - "#0033CC", - "#0033FF", - "#0066CC", - "#0066FF", - "#0099CC", - "#0099FF", - "#00CC00", - "#00CC33", - "#00CC66", - "#00CC99", - "#00CCCC", - "#00CCFF", - "#3300CC", - "#3300FF", - "#3333CC", - "#3333FF", - "#3366CC", - "#3366FF", - "#3399CC", - "#3399FF", - "#33CC00", - "#33CC33", - "#33CC66", - "#33CC99", - "#33CCCC", - "#33CCFF", - "#6600CC", - "#6600FF", - "#6633CC", - "#6633FF", - "#66CC00", - "#66CC33", - "#9900CC", - "#9900FF", - "#9933CC", - "#9933FF", - "#99CC00", - "#99CC33", - "#CC0000", - "#CC0033", - "#CC0066", - "#CC0099", - "#CC00CC", - "#CC00FF", - "#CC3300", - "#CC3333", - "#CC3366", - "#CC3399", - "#CC33CC", - "#CC33FF", - "#CC6600", - "#CC6633", - "#CC9900", - "#CC9933", - "#CCCC00", - "#CCCC33", - "#FF0000", - "#FF0033", - "#FF0066", - "#FF0099", - "#FF00CC", - "#FF00FF", - "#FF3300", - "#FF3333", - "#FF3366", - "#FF3399", - "#FF33CC", - "#FF33FF", - "#FF6600", - "#FF6633", - "#FF9900", - "#FF9933", - "#FFCC00", - "#FFCC33" - ]; - function useColors() { - if (typeof window !== "undefined" && window.process && (window.process.type === "renderer" || window.process.__nwjs)) { - return true; - } - if (typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { - return false; - } - return typeof document !== "undefined" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || typeof window !== "undefined" && window.console && (window.console.firebug || window.console.exception && window.console.table) || typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 || typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/); - } - function formatArgs(args2) { - args2[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + args2[0] + (this.useColors ? "%c " : " ") + "+" + module2.exports.humanize(this.diff); - if (!this.useColors) { - return; - } - const c = "color: " + this.color; - args2.splice(1, 0, c, "color: inherit"); - let index = 0; - let lastC = 0; - args2[0].replace(/%[a-zA-Z%]/g, (match) => { - if (match === "%%") { - return; - } - index++; - if (match === "%c") { - lastC = index; - } - }); - args2.splice(lastC, 0, c); - } - exports2.log = console.debug || console.log || (() => { - }); - function save(namespaces) { - try { - if (namespaces) { - exports2.storage.setItem("debug", namespaces); - } else { - exports2.storage.removeItem("debug"); - } - } catch (error) { - } - } - function load() { - let r; - try { - r = exports2.storage.getItem("debug"); - } catch (error) { - } - if (!r && typeof process !== "undefined" && "env" in process) { - r = process.env.DEBUG; - } - return r; - } - function localstorage() { - try { - return localStorage; - } catch (error) { - } - } - module2.exports = require_common5()(exports2); - var { formatters } = module2.exports; - formatters.j = function(v) { - try { - return JSON.stringify(v); - } catch (error) { - return "[UnexpectedJSONParseError]: " + error.message; - } - }; - } -}); - -// node_modules/koa-mount/node_modules/debug/src/node.js -var require_node6 = __commonJS({ - "node_modules/koa-mount/node_modules/debug/src/node.js"(exports2, module2) { - var tty = require("tty"); - var util2 = require("util"); - exports2.init = init; - exports2.log = log2; - exports2.formatArgs = formatArgs; - exports2.save = save; - exports2.load = load; - exports2.useColors = useColors; - exports2.destroy = util2.deprecate( - () => { - }, - "Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`." - ); - exports2.colors = [6, 2, 3, 4, 5, 1]; - try { - const supportsColor = require("supports-color"); - if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) { - exports2.colors = [ - 20, - 21, - 26, - 27, - 32, - 33, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 56, - 57, - 62, - 63, - 68, - 69, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 92, - 93, - 98, - 99, - 112, - 113, - 128, - 129, - 134, - 135, - 148, - 149, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 178, - 179, - 184, - 185, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 214, - 215, - 220, - 221 - ]; - } - } catch (error) { - } - exports2.inspectOpts = Object.keys(process.env).filter((key) => { - return /^debug_/i.test(key); - }).reduce((obj, key) => { - const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_, k) => { - return k.toUpperCase(); - }); - let val = process.env[key]; - if (/^(yes|on|true|enabled)$/i.test(val)) { - val = true; - } else if (/^(no|off|false|disabled)$/i.test(val)) { - val = false; - } else if (val === "null") { - val = null; - } else { - val = Number(val); - } - obj[prop] = val; - return obj; - }, {}); - function useColors() { - return "colors" in exports2.inspectOpts ? Boolean(exports2.inspectOpts.colors) : tty.isatty(process.stderr.fd); - } - function formatArgs(args2) { - const { namespace: name, useColors: useColors2 } = this; - if (useColors2) { - const c = this.color; - const colorCode = "\x1B[3" + (c < 8 ? c : "8;5;" + c); - const prefix = ` ${colorCode};1m${name} \x1B[0m`; - args2[0] = prefix + args2[0].split("\n").join("\n" + prefix); - args2.push(colorCode + "m+" + module2.exports.humanize(this.diff) + "\x1B[0m"); - } else { - args2[0] = getDate() + name + " " + args2[0]; - } - } - function getDate() { - if (exports2.inspectOpts.hideDate) { - return ""; - } - return new Date().toISOString() + " "; - } - function log2(...args2) { - return process.stderr.write(util2.format(...args2) + "\n"); - } - function save(namespaces) { - if (namespaces) { - process.env.DEBUG = namespaces; - } else { - delete process.env.DEBUG; - } - } - function load() { - return process.env.DEBUG; - } - function init(debug) { - debug.inspectOpts = {}; - const keys2 = Object.keys(exports2.inspectOpts); - for (let i = 0; i < keys2.length; i++) { - debug.inspectOpts[keys2[i]] = exports2.inspectOpts[keys2[i]]; - } - } - module2.exports = require_common5()(exports2); - var { formatters } = module2.exports; - formatters.o = function(v) { - this.inspectOpts.colors = this.useColors; - return util2.inspect(v, this.inspectOpts).split("\n").map((str) => str.trim()).join(" "); - }; - formatters.O = function(v) { - this.inspectOpts.colors = this.useColors; - return util2.inspect(v, this.inspectOpts); - }; - } -}); - -// node_modules/koa-mount/node_modules/debug/src/index.js -var require_src5 = __commonJS({ - "node_modules/koa-mount/node_modules/debug/src/index.js"(exports2, module2) { - if (typeof process === "undefined" || process.type === "renderer" || process.browser === true || process.__nwjs) { - module2.exports = require_browser4(); - } else { - module2.exports = require_node6(); - } - } -}); - -// node_modules/koa-mount/index.js -var require_koa_mount = __commonJS({ - "node_modules/koa-mount/index.js"(exports2, module2) { - var debug = require_src5()("koa-mount"); - var compose = require_koa_compose(); - var assert = require("assert"); - module2.exports = mount; - function mount(prefix, app) { - if (typeof prefix !== "string") { - app = prefix; - prefix = "/"; - } - assert.equal(prefix[0], "/", 'mount path must begin with "/"'); - const downstream = app.middleware ? compose(app.middleware) : app; - if (prefix === "/") - return downstream; - const trailingSlash = prefix.slice(-1) === "/"; - const name = app.name || "unnamed"; - debug("mount %s %s", prefix, name); - return async function(ctx, upstream) { - const prev = ctx.path; - const newPath = match(prev); - debug("mount %s %s -> %s", prefix, name, newPath); - if (!newPath) - return await upstream(); - ctx.mountPath = prefix; - ctx.path = newPath; - debug("enter %s -> %s", prev, ctx.path); - await downstream(ctx, async () => { - ctx.path = prev; - await upstream(); - ctx.path = newPath; - }); - debug("leave %s -> %s", prev, ctx.path); - ctx.path = prev; - }; - function match(path4) { - if (path4.indexOf(prefix) !== 0) - return false; - const newPath = path4.replace(prefix, "") || "/"; - if (trailingSlash) - return newPath; - if (newPath[0] !== "/") - return false; - return newPath; - } - } - } -}); - -// node_modules/koa-history-api-fallback/lib/index.js -var require_lib4 = __commonJS({ - "node_modules/koa-history-api-fallback/lib/index.js"(exports2, module2) { - "use strict"; - var url2 = require("url"); - function evaluateRewriteRule(parsedUrl, match, rule) { - if (typeof rule === "string") { - return rule; - } else if (typeof rule !== "function") { - throw new Error("Rewrite rule can only be of type string of function."); - } - return rule({ - parsedUrl, - match - }); - } - function acceptsHtml(header) { - return header.indexOf("text/html") !== -1 || header.indexOf("*/*") !== -1; - } - function getLogger(options) { - if (options && options.logger) { - return options.logger; - } else if (options && options.verbose) { - return console.log.bind(console); - } - return function() { - }; - } - module2.exports = function koaFallbackApiMiddleware(options) { - options = options || {}; - var logger = getLogger(options); - return function(ctx, next) { - var headers = ctx.headers, reqUrl = ctx.url, method = ctx.method; - if (ctx.method !== "GET") { - logger( - "Not rewriting", - method, - reqUrl, - "because the method is not GET." - ); - return next(); - } else if (!headers || typeof headers.accept !== "string") { - logger( - "Not rewriting", - method, - reqUrl, - "because the client did not send an HTTP accept header." - ); - return next(); - } else if (headers.accept.indexOf("application/json") === 0) { - logger( - "Not rewriting", - method, - reqUrl, - "because the client prefers JSON." - ); - return next(); - } else if (!acceptsHtml(headers.accept)) { - logger( - "Not rewriting", - method, - reqUrl, - "because the client does not accept HTML." - ); - return next(); - } - var parsedUrl = url2.parse(reqUrl); - var rewriteTarget; - options.rewrites = options.rewrites || []; - for (var i = 0; i < options.rewrites.length; i++) { - var rewrite = options.rewrites[i]; - var match = parsedUrl.pathname.match(rewrite.from); - if (match !== null) { - rewriteTarget = evaluateRewriteRule(parsedUrl, match, rewrite.to); - logger("Rewriting", method, reqUrl, "to", rewriteTarget); - ctx.url = rewriteTarget; - return next(); - } - } - if (parsedUrl.pathname.indexOf(".") !== -1) { - logger( - "Not rewriting", - method, - reqUrl, - "because the path includes a dot (.) character." - ); - return next(); - } - rewriteTarget = options.index || "/index.html"; - logger("Rewriting", method, reqUrl, "to", rewriteTarget); - ctx.url = rewriteTarget; - return next(); - }; - }; - } -}); - -// node_modules/koa-session/lib/session.js -var require_session = __commonJS({ - "node_modules/koa-session/lib/session.js"(exports2, module2) { - "use strict"; - var inspect = Symbol.for("nodejs.util.inspect.custom"); - var Session = class { - constructor(sessionContext, obj, externalKey) { - this._sessCtx = sessionContext; - this._ctx = sessionContext.ctx; - this._externalKey = externalKey; - if (!obj) { - this.isNew = true; - } else { - for (const k in obj) { - if (k === "_maxAge") - this._ctx.sessionOptions.maxAge = obj._maxAge; - else if (k === "_session") - this._ctx.sessionOptions.maxAge = "session"; - else - this[k] = obj[k]; - } - } - } - toJSON() { - const obj = {}; - Object.keys(this).forEach((key) => { - if (key === "isNew") - return; - if (key[0] === "_") - return; - obj[key] = this[key]; - }); - return obj; - } - [inspect]() { - return this.toJSON(); - } - get length() { - return Object.keys(this.toJSON()).length; - } - get populated() { - return !!this.length; - } - get maxAge() { - return this._ctx.sessionOptions.maxAge; - } - set maxAge(val) { - this._ctx.sessionOptions.maxAge = val; - this._requireSave = true; - } - get externalKey() { - return this._externalKey; - } - save() { - this._requireSave = true; - } - async manuallyCommit() { - await this._sessCtx.commit(); - } - }; - module2.exports = Session; - } -}); - -// node_modules/crc/lib/es6/create_buffer.js -var require_create_buffer = __commonJS({ - "node_modules/crc/lib/es6/create_buffer.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var _buffer = require("buffer"); - var createBuffer = _buffer.Buffer.from && _buffer.Buffer.alloc && _buffer.Buffer.allocUnsafe && _buffer.Buffer.allocUnsafeSlow ? _buffer.Buffer.from : function(val) { - return new _buffer.Buffer(val); - }; - exports2.default = createBuffer; - } -}); - -// node_modules/crc/lib/es6/define_crc.js -var require_define_crc = __commonJS({ - "node_modules/crc/lib/es6/define_crc.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.default = function(model, calc) { - var fn2 = function fn3(buf, previous) { - return calc(buf, previous) >>> 0; - }; - fn2.signed = calc; - fn2.unsigned = fn2; - fn2.model = model; - return fn2; - }; - } -}); - -// node_modules/crc/lib/es6/crc1.js -var require_crc1 = __commonJS({ - "node_modules/crc/lib/es6/crc1.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var _buffer = require("buffer"); - var _create_buffer = require_create_buffer(); - var _create_buffer2 = _interopRequireDefault(_create_buffer); - var _define_crc = require_define_crc(); - var _define_crc2 = _interopRequireDefault(_define_crc); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - var crc1 = (0, _define_crc2.default)("crc1", function(buf, previous) { - if (!_buffer.Buffer.isBuffer(buf)) - buf = (0, _create_buffer2.default)(buf); - var crc = ~~previous; - var accum = 0; - for (var index = 0; index < buf.length; index++) { - var byte = buf[index]; - accum += byte; - } - crc += accum % 256; - return crc % 256; - }); - exports2.default = crc1; - } -}); - -// node_modules/crc/lib/crc1.js -var require_crc12 = __commonJS({ - "node_modules/crc/lib/crc1.js"(exports2, module2) { - "use strict"; - module2.exports = require_crc1().default; - } -}); - -// node_modules/crc/lib/es6/crc8.js -var require_crc8 = __commonJS({ - "node_modules/crc/lib/es6/crc8.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var _buffer = require("buffer"); - var _create_buffer = require_create_buffer(); - var _create_buffer2 = _interopRequireDefault(_create_buffer); - var _define_crc = require_define_crc(); - var _define_crc2 = _interopRequireDefault(_define_crc); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - var TABLE = [0, 7, 14, 9, 28, 27, 18, 21, 56, 63, 54, 49, 36, 35, 42, 45, 112, 119, 126, 121, 108, 107, 98, 101, 72, 79, 70, 65, 84, 83, 90, 93, 224, 231, 238, 233, 252, 251, 242, 245, 216, 223, 214, 209, 196, 195, 202, 205, 144, 151, 158, 153, 140, 139, 130, 133, 168, 175, 166, 161, 180, 179, 186, 189, 199, 192, 201, 206, 219, 220, 213, 210, 255, 248, 241, 246, 227, 228, 237, 234, 183, 176, 185, 190, 171, 172, 165, 162, 143, 136, 129, 134, 147, 148, 157, 154, 39, 32, 41, 46, 59, 60, 53, 50, 31, 24, 17, 22, 3, 4, 13, 10, 87, 80, 89, 94, 75, 76, 69, 66, 111, 104, 97, 102, 115, 116, 125, 122, 137, 142, 135, 128, 149, 146, 155, 156, 177, 182, 191, 184, 173, 170, 163, 164, 249, 254, 247, 240, 229, 226, 235, 236, 193, 198, 207, 200, 221, 218, 211, 212, 105, 110, 103, 96, 117, 114, 123, 124, 81, 86, 95, 88, 77, 74, 67, 68, 25, 30, 23, 16, 5, 2, 11, 12, 33, 38, 47, 40, 61, 58, 51, 52, 78, 73, 64, 71, 82, 85, 92, 91, 118, 113, 120, 127, 106, 109, 100, 99, 62, 57, 48, 55, 34, 37, 44, 43, 6, 1, 8, 15, 26, 29, 20, 19, 174, 169, 160, 167, 178, 181, 188, 187, 150, 145, 152, 159, 138, 141, 132, 131, 222, 217, 208, 215, 194, 197, 204, 203, 230, 225, 232, 239, 250, 253, 244, 243]; - if (typeof Int32Array !== "undefined") - TABLE = new Int32Array(TABLE); - var crc8 = (0, _define_crc2.default)("crc-8", function(buf, previous) { - if (!_buffer.Buffer.isBuffer(buf)) - buf = (0, _create_buffer2.default)(buf); - var crc = ~~previous; - for (var index = 0; index < buf.length; index++) { - var byte = buf[index]; - crc = TABLE[(crc ^ byte) & 255] & 255; - } - return crc; - }); - exports2.default = crc8; - } -}); - -// node_modules/crc/lib/crc8.js -var require_crc82 = __commonJS({ - "node_modules/crc/lib/crc8.js"(exports2, module2) { - "use strict"; - module2.exports = require_crc8().default; - } -}); - -// node_modules/crc/lib/es6/crc81wire.js -var require_crc81wire = __commonJS({ - "node_modules/crc/lib/es6/crc81wire.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var _buffer = require("buffer"); - var _create_buffer = require_create_buffer(); - var _create_buffer2 = _interopRequireDefault(_create_buffer); - var _define_crc = require_define_crc(); - var _define_crc2 = _interopRequireDefault(_define_crc); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - var TABLE = [0, 94, 188, 226, 97, 63, 221, 131, 194, 156, 126, 32, 163, 253, 31, 65, 157, 195, 33, 127, 252, 162, 64, 30, 95, 1, 227, 189, 62, 96, 130, 220, 35, 125, 159, 193, 66, 28, 254, 160, 225, 191, 93, 3, 128, 222, 60, 98, 190, 224, 2, 92, 223, 129, 99, 61, 124, 34, 192, 158, 29, 67, 161, 255, 70, 24, 250, 164, 39, 121, 155, 197, 132, 218, 56, 102, 229, 187, 89, 7, 219, 133, 103, 57, 186, 228, 6, 88, 25, 71, 165, 251, 120, 38, 196, 154, 101, 59, 217, 135, 4, 90, 184, 230, 167, 249, 27, 69, 198, 152, 122, 36, 248, 166, 68, 26, 153, 199, 37, 123, 58, 100, 134, 216, 91, 5, 231, 185, 140, 210, 48, 110, 237, 179, 81, 15, 78, 16, 242, 172, 47, 113, 147, 205, 17, 79, 173, 243, 112, 46, 204, 146, 211, 141, 111, 49, 178, 236, 14, 80, 175, 241, 19, 77, 206, 144, 114, 44, 109, 51, 209, 143, 12, 82, 176, 238, 50, 108, 142, 208, 83, 13, 239, 177, 240, 174, 76, 18, 145, 207, 45, 115, 202, 148, 118, 40, 171, 245, 23, 73, 8, 86, 180, 234, 105, 55, 213, 139, 87, 9, 235, 181, 54, 104, 138, 212, 149, 203, 41, 119, 244, 170, 72, 22, 233, 183, 85, 11, 136, 214, 52, 106, 43, 117, 151, 201, 74, 20, 246, 168, 116, 42, 200, 150, 21, 75, 169, 247, 182, 232, 10, 84, 215, 137, 107, 53]; - if (typeof Int32Array !== "undefined") - TABLE = new Int32Array(TABLE); - var crc81wire = (0, _define_crc2.default)("dallas-1-wire", function(buf, previous) { - if (!_buffer.Buffer.isBuffer(buf)) - buf = (0, _create_buffer2.default)(buf); - var crc = ~~previous; - for (var index = 0; index < buf.length; index++) { - var byte = buf[index]; - crc = TABLE[(crc ^ byte) & 255] & 255; - } - return crc; - }); - exports2.default = crc81wire; - } -}); - -// node_modules/crc/lib/crc8_1wire.js -var require_crc8_1wire = __commonJS({ - "node_modules/crc/lib/crc8_1wire.js"(exports2, module2) { - "use strict"; - module2.exports = require_crc81wire().default; - } -}); - -// node_modules/crc/lib/es6/crc16.js -var require_crc16 = __commonJS({ - "node_modules/crc/lib/es6/crc16.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var _buffer = require("buffer"); - var _create_buffer = require_create_buffer(); - var _create_buffer2 = _interopRequireDefault(_create_buffer); - var _define_crc = require_define_crc(); - var _define_crc2 = _interopRequireDefault(_define_crc); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - var TABLE = [0, 49345, 49537, 320, 49921, 960, 640, 49729, 50689, 1728, 1920, 51009, 1280, 50625, 50305, 1088, 52225, 3264, 3456, 52545, 3840, 53185, 52865, 3648, 2560, 51905, 52097, 2880, 51457, 2496, 2176, 51265, 55297, 6336, 6528, 55617, 6912, 56257, 55937, 6720, 7680, 57025, 57217, 8e3, 56577, 7616, 7296, 56385, 5120, 54465, 54657, 5440, 55041, 6080, 5760, 54849, 53761, 4800, 4992, 54081, 4352, 53697, 53377, 4160, 61441, 12480, 12672, 61761, 13056, 62401, 62081, 12864, 13824, 63169, 63361, 14144, 62721, 13760, 13440, 62529, 15360, 64705, 64897, 15680, 65281, 16320, 16e3, 65089, 64001, 15040, 15232, 64321, 14592, 63937, 63617, 14400, 10240, 59585, 59777, 10560, 60161, 11200, 10880, 59969, 60929, 11968, 12160, 61249, 11520, 60865, 60545, 11328, 58369, 9408, 9600, 58689, 9984, 59329, 59009, 9792, 8704, 58049, 58241, 9024, 57601, 8640, 8320, 57409, 40961, 24768, 24960, 41281, 25344, 41921, 41601, 25152, 26112, 42689, 42881, 26432, 42241, 26048, 25728, 42049, 27648, 44225, 44417, 27968, 44801, 28608, 28288, 44609, 43521, 27328, 27520, 43841, 26880, 43457, 43137, 26688, 30720, 47297, 47489, 31040, 47873, 31680, 31360, 47681, 48641, 32448, 32640, 48961, 32e3, 48577, 48257, 31808, 46081, 29888, 30080, 46401, 30464, 47041, 46721, 30272, 29184, 45761, 45953, 29504, 45313, 29120, 28800, 45121, 20480, 37057, 37249, 20800, 37633, 21440, 21120, 37441, 38401, 22208, 22400, 38721, 21760, 38337, 38017, 21568, 39937, 23744, 23936, 40257, 24320, 40897, 40577, 24128, 23040, 39617, 39809, 23360, 39169, 22976, 22656, 38977, 34817, 18624, 18816, 35137, 19200, 35777, 35457, 19008, 19968, 36545, 36737, 20288, 36097, 19904, 19584, 35905, 17408, 33985, 34177, 17728, 34561, 18368, 18048, 34369, 33281, 17088, 17280, 33601, 16640, 33217, 32897, 16448]; - if (typeof Int32Array !== "undefined") - TABLE = new Int32Array(TABLE); - var crc16 = (0, _define_crc2.default)("crc-16", function(buf, previous) { - if (!_buffer.Buffer.isBuffer(buf)) - buf = (0, _create_buffer2.default)(buf); - var crc = ~~previous; - for (var index = 0; index < buf.length; index++) { - var byte = buf[index]; - crc = (TABLE[(crc ^ byte) & 255] ^ crc >> 8) & 65535; - } - return crc; - }); - exports2.default = crc16; - } -}); - -// node_modules/crc/lib/crc16.js -var require_crc162 = __commonJS({ - "node_modules/crc/lib/crc16.js"(exports2, module2) { - "use strict"; - module2.exports = require_crc16().default; - } -}); - -// node_modules/crc/lib/es6/crc16ccitt.js -var require_crc16ccitt = __commonJS({ - "node_modules/crc/lib/es6/crc16ccitt.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var _buffer = require("buffer"); - var _create_buffer = require_create_buffer(); - var _create_buffer2 = _interopRequireDefault(_create_buffer); - var _define_crc = require_define_crc(); - var _define_crc2 = _interopRequireDefault(_define_crc); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - var TABLE = [0, 4129, 8258, 12387, 16516, 20645, 24774, 28903, 33032, 37161, 41290, 45419, 49548, 53677, 57806, 61935, 4657, 528, 12915, 8786, 21173, 17044, 29431, 25302, 37689, 33560, 45947, 41818, 54205, 50076, 62463, 58334, 9314, 13379, 1056, 5121, 25830, 29895, 17572, 21637, 42346, 46411, 34088, 38153, 58862, 62927, 50604, 54669, 13907, 9842, 5649, 1584, 30423, 26358, 22165, 18100, 46939, 42874, 38681, 34616, 63455, 59390, 55197, 51132, 18628, 22757, 26758, 30887, 2112, 6241, 10242, 14371, 51660, 55789, 59790, 63919, 35144, 39273, 43274, 47403, 23285, 19156, 31415, 27286, 6769, 2640, 14899, 10770, 56317, 52188, 64447, 60318, 39801, 35672, 47931, 43802, 27814, 31879, 19684, 23749, 11298, 15363, 3168, 7233, 60846, 64911, 52716, 56781, 44330, 48395, 36200, 40265, 32407, 28342, 24277, 20212, 15891, 11826, 7761, 3696, 65439, 61374, 57309, 53244, 48923, 44858, 40793, 36728, 37256, 33193, 45514, 41451, 53516, 49453, 61774, 57711, 4224, 161, 12482, 8419, 20484, 16421, 28742, 24679, 33721, 37784, 41979, 46042, 49981, 54044, 58239, 62302, 689, 4752, 8947, 13010, 16949, 21012, 25207, 29270, 46570, 42443, 38312, 34185, 62830, 58703, 54572, 50445, 13538, 9411, 5280, 1153, 29798, 25671, 21540, 17413, 42971, 47098, 34713, 38840, 59231, 63358, 50973, 55100, 9939, 14066, 1681, 5808, 26199, 30326, 17941, 22068, 55628, 51565, 63758, 59695, 39368, 35305, 47498, 43435, 22596, 18533, 30726, 26663, 6336, 2273, 14466, 10403, 52093, 56156, 60223, 64286, 35833, 39896, 43963, 48026, 19061, 23124, 27191, 31254, 2801, 6864, 10931, 14994, 64814, 60687, 56684, 52557, 48554, 44427, 40424, 36297, 31782, 27655, 23652, 19525, 15522, 11395, 7392, 3265, 61215, 65342, 53085, 57212, 44955, 49082, 36825, 40952, 28183, 32310, 20053, 24180, 11923, 16050, 3793, 7920]; - if (typeof Int32Array !== "undefined") - TABLE = new Int32Array(TABLE); - var crc16ccitt = (0, _define_crc2.default)("ccitt", function(buf, previous) { - if (!_buffer.Buffer.isBuffer(buf)) - buf = (0, _create_buffer2.default)(buf); - var crc = typeof previous !== "undefined" ? ~~previous : 65535; - for (var index = 0; index < buf.length; index++) { - var byte = buf[index]; - crc = (TABLE[(crc >> 8 ^ byte) & 255] ^ crc << 8) & 65535; - } - return crc; - }); - exports2.default = crc16ccitt; - } -}); - -// node_modules/crc/lib/crc16_ccitt.js -var require_crc16_ccitt = __commonJS({ - "node_modules/crc/lib/crc16_ccitt.js"(exports2, module2) { - "use strict"; - module2.exports = require_crc16ccitt().default; - } -}); - -// node_modules/crc/lib/es6/crc16modbus.js -var require_crc16modbus = __commonJS({ - "node_modules/crc/lib/es6/crc16modbus.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var _buffer = require("buffer"); - var _create_buffer = require_create_buffer(); - var _create_buffer2 = _interopRequireDefault(_create_buffer); - var _define_crc = require_define_crc(); - var _define_crc2 = _interopRequireDefault(_define_crc); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - var TABLE = [0, 49345, 49537, 320, 49921, 960, 640, 49729, 50689, 1728, 1920, 51009, 1280, 50625, 50305, 1088, 52225, 3264, 3456, 52545, 3840, 53185, 52865, 3648, 2560, 51905, 52097, 2880, 51457, 2496, 2176, 51265, 55297, 6336, 6528, 55617, 6912, 56257, 55937, 6720, 7680, 57025, 57217, 8e3, 56577, 7616, 7296, 56385, 5120, 54465, 54657, 5440, 55041, 6080, 5760, 54849, 53761, 4800, 4992, 54081, 4352, 53697, 53377, 4160, 61441, 12480, 12672, 61761, 13056, 62401, 62081, 12864, 13824, 63169, 63361, 14144, 62721, 13760, 13440, 62529, 15360, 64705, 64897, 15680, 65281, 16320, 16e3, 65089, 64001, 15040, 15232, 64321, 14592, 63937, 63617, 14400, 10240, 59585, 59777, 10560, 60161, 11200, 10880, 59969, 60929, 11968, 12160, 61249, 11520, 60865, 60545, 11328, 58369, 9408, 9600, 58689, 9984, 59329, 59009, 9792, 8704, 58049, 58241, 9024, 57601, 8640, 8320, 57409, 40961, 24768, 24960, 41281, 25344, 41921, 41601, 25152, 26112, 42689, 42881, 26432, 42241, 26048, 25728, 42049, 27648, 44225, 44417, 27968, 44801, 28608, 28288, 44609, 43521, 27328, 27520, 43841, 26880, 43457, 43137, 26688, 30720, 47297, 47489, 31040, 47873, 31680, 31360, 47681, 48641, 32448, 32640, 48961, 32e3, 48577, 48257, 31808, 46081, 29888, 30080, 46401, 30464, 47041, 46721, 30272, 29184, 45761, 45953, 29504, 45313, 29120, 28800, 45121, 20480, 37057, 37249, 20800, 37633, 21440, 21120, 37441, 38401, 22208, 22400, 38721, 21760, 38337, 38017, 21568, 39937, 23744, 23936, 40257, 24320, 40897, 40577, 24128, 23040, 39617, 39809, 23360, 39169, 22976, 22656, 38977, 34817, 18624, 18816, 35137, 19200, 35777, 35457, 19008, 19968, 36545, 36737, 20288, 36097, 19904, 19584, 35905, 17408, 33985, 34177, 17728, 34561, 18368, 18048, 34369, 33281, 17088, 17280, 33601, 16640, 33217, 32897, 16448]; - if (typeof Int32Array !== "undefined") - TABLE = new Int32Array(TABLE); - var crc16modbus = (0, _define_crc2.default)("crc-16-modbus", function(buf, previous) { - if (!_buffer.Buffer.isBuffer(buf)) - buf = (0, _create_buffer2.default)(buf); - var crc = typeof previous !== "undefined" ? ~~previous : 65535; - for (var index = 0; index < buf.length; index++) { - var byte = buf[index]; - crc = (TABLE[(crc ^ byte) & 255] ^ crc >> 8) & 65535; - } - return crc; - }); - exports2.default = crc16modbus; - } -}); - -// node_modules/crc/lib/crc16_modbus.js -var require_crc16_modbus = __commonJS({ - "node_modules/crc/lib/crc16_modbus.js"(exports2, module2) { - "use strict"; - module2.exports = require_crc16modbus().default; - } -}); - -// node_modules/crc/lib/es6/crc16xmodem.js -var require_crc16xmodem = __commonJS({ - "node_modules/crc/lib/es6/crc16xmodem.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var _buffer = require("buffer"); - var _create_buffer = require_create_buffer(); - var _create_buffer2 = _interopRequireDefault(_create_buffer); - var _define_crc = require_define_crc(); - var _define_crc2 = _interopRequireDefault(_define_crc); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - var crc16xmodem = (0, _define_crc2.default)("xmodem", function(buf, previous) { - if (!_buffer.Buffer.isBuffer(buf)) - buf = (0, _create_buffer2.default)(buf); - var crc = typeof previous !== "undefined" ? ~~previous : 0; - for (var index = 0; index < buf.length; index++) { - var byte = buf[index]; - var code = crc >>> 8 & 255; - code ^= byte & 255; - code ^= code >>> 4; - crc = crc << 8 & 65535; - crc ^= code; - code = code << 5 & 65535; - crc ^= code; - code = code << 7 & 65535; - crc ^= code; - } - return crc; - }); - exports2.default = crc16xmodem; - } -}); - -// node_modules/crc/lib/crc16_xmodem.js -var require_crc16_xmodem = __commonJS({ - "node_modules/crc/lib/crc16_xmodem.js"(exports2, module2) { - "use strict"; - module2.exports = require_crc16xmodem().default; - } -}); - -// node_modules/crc/lib/es6/crc16kermit.js -var require_crc16kermit = __commonJS({ - "node_modules/crc/lib/es6/crc16kermit.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var _buffer = require("buffer"); - var _create_buffer = require_create_buffer(); - var _create_buffer2 = _interopRequireDefault(_create_buffer); - var _define_crc = require_define_crc(); - var _define_crc2 = _interopRequireDefault(_define_crc); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - var TABLE = [0, 4489, 8978, 12955, 17956, 22445, 25910, 29887, 35912, 40385, 44890, 48851, 51820, 56293, 59774, 63735, 4225, 264, 13203, 8730, 22181, 18220, 30135, 25662, 40137, 36160, 49115, 44626, 56045, 52068, 63999, 59510, 8450, 12427, 528, 5017, 26406, 30383, 17460, 21949, 44362, 48323, 36440, 40913, 60270, 64231, 51324, 55797, 12675, 8202, 4753, 792, 30631, 26158, 21685, 17724, 48587, 44098, 40665, 36688, 64495, 60006, 55549, 51572, 16900, 21389, 24854, 28831, 1056, 5545, 10034, 14011, 52812, 57285, 60766, 64727, 34920, 39393, 43898, 47859, 21125, 17164, 29079, 24606, 5281, 1320, 14259, 9786, 57037, 53060, 64991, 60502, 39145, 35168, 48123, 43634, 25350, 29327, 16404, 20893, 9506, 13483, 1584, 6073, 61262, 65223, 52316, 56789, 43370, 47331, 35448, 39921, 29575, 25102, 20629, 16668, 13731, 9258, 5809, 1848, 65487, 60998, 56541, 52564, 47595, 43106, 39673, 35696, 33800, 38273, 42778, 46739, 49708, 54181, 57662, 61623, 2112, 6601, 11090, 15067, 20068, 24557, 28022, 31999, 38025, 34048, 47003, 42514, 53933, 49956, 61887, 57398, 6337, 2376, 15315, 10842, 24293, 20332, 32247, 27774, 42250, 46211, 34328, 38801, 58158, 62119, 49212, 53685, 10562, 14539, 2640, 7129, 28518, 32495, 19572, 24061, 46475, 41986, 38553, 34576, 62383, 57894, 53437, 49460, 14787, 10314, 6865, 2904, 32743, 28270, 23797, 19836, 50700, 55173, 58654, 62615, 32808, 37281, 41786, 45747, 19012, 23501, 26966, 30943, 3168, 7657, 12146, 16123, 54925, 50948, 62879, 58390, 37033, 33056, 46011, 41522, 23237, 19276, 31191, 26718, 7393, 3432, 16371, 11898, 59150, 63111, 50204, 54677, 41258, 45219, 33336, 37809, 27462, 31439, 18516, 23005, 11618, 15595, 3696, 8185, 63375, 58886, 54429, 50452, 45483, 40994, 37561, 33584, 31687, 27214, 22741, 18780, 15843, 11370, 7921, 3960]; - if (typeof Int32Array !== "undefined") - TABLE = new Int32Array(TABLE); - var crc16kermit = (0, _define_crc2.default)("kermit", function(buf, previous) { - if (!_buffer.Buffer.isBuffer(buf)) - buf = (0, _create_buffer2.default)(buf); - var crc = typeof previous !== "undefined" ? ~~previous : 0; - for (var index = 0; index < buf.length; index++) { - var byte = buf[index]; - crc = (TABLE[(crc ^ byte) & 255] ^ crc >> 8) & 65535; - } - return crc; - }); - exports2.default = crc16kermit; - } -}); - -// node_modules/crc/lib/crc16_kermit.js -var require_crc16_kermit = __commonJS({ - "node_modules/crc/lib/crc16_kermit.js"(exports2, module2) { - "use strict"; - module2.exports = require_crc16kermit().default; - } -}); - -// node_modules/crc/lib/es6/crc24.js -var require_crc24 = __commonJS({ - "node_modules/crc/lib/es6/crc24.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var _buffer = require("buffer"); - var _create_buffer = require_create_buffer(); - var _create_buffer2 = _interopRequireDefault(_create_buffer); - var _define_crc = require_define_crc(); - var _define_crc2 = _interopRequireDefault(_define_crc); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - var TABLE = [0, 8801531, 9098509, 825846, 9692897, 1419802, 1651692, 10452759, 10584377, 2608578, 2839604, 11344079, 3303384, 11807523, 12104405, 4128302, 12930697, 4391538, 5217156, 13227903, 5679208, 13690003, 14450021, 5910942, 6606768, 14844747, 15604413, 6837830, 16197969, 7431594, 8256604, 16494759, 840169, 9084178, 8783076, 18463, 10434312, 1670131, 1434117, 9678590, 11358416, 2825259, 2590173, 10602790, 4109873, 12122826, 11821884, 3289031, 13213536, 5231515, 4409965, 12912278, 5929345, 14431610, 13675660, 5693559, 6823513, 15618722, 14863188, 6588335, 16513208, 8238147, 7417269, 16212302, 1680338, 10481449, 9664223, 1391140, 9061683, 788936, 36926, 8838341, 12067563, 4091408, 3340262, 11844381, 2868234, 11372785, 10555655, 2579964, 14478683, 5939616, 5650518, 13661357, 5180346, 13190977, 12967607, 4428364, 8219746, 16457881, 16234863, 7468436, 15633027, 6866552, 6578062, 14816117, 1405499, 9649856, 10463030, 1698765, 8819930, 55329, 803287, 9047340, 11858690, 3325945, 4072975, 12086004, 2561507, 10574104, 11387118, 2853909, 13647026, 5664841, 5958079, 14460228, 4446803, 12949160, 13176670, 5194661, 7454091, 16249200, 16476294, 8201341, 14834538, 6559633, 6852199, 15647388, 3360676, 11864927, 12161705, 4185682, 10527045, 2551230, 2782280, 11286707, 9619101, 1346150, 1577872, 10379115, 73852, 8875143, 9172337, 899466, 16124205, 7357910, 8182816, 16421083, 6680524, 14918455, 15678145, 6911546, 5736468, 13747439, 14507289, 5968354, 12873461, 4334094, 5159928, 13170435, 4167245, 12180150, 11879232, 3346363, 11301036, 2767959, 2532769, 10545498, 10360692, 1596303, 1360505, 9604738, 913813, 9157998, 8856728, 92259, 16439492, 8164415, 7343561, 16138546, 6897189, 15692510, 14936872, 6662099, 5986813, 14488838, 13733104, 5750795, 13156124, 5174247, 4352529, 12855018, 2810998, 11315341, 10498427, 2522496, 12124823, 4148844, 3397530, 11901793, 9135439, 862644, 110658, 8912057, 1606574, 10407765, 9590435, 1317464, 15706879, 6940164, 6651890, 14889737, 8145950, 16384229, 16161043, 7394792, 5123014, 13133629, 12910283, 4370992, 14535975, 5997020, 5707818, 13718737, 2504095, 10516836, 11329682, 2796649, 11916158, 3383173, 4130419, 12143240, 8893606, 129117, 876971, 9121104, 1331783, 9576124, 10389322, 1625009, 14908182, 6633453, 6925851, 15721184, 7380471, 16175372, 16402682, 8127489, 4389423, 12891860, 13119266, 5137369, 13704398, 5722165, 6015427, 14517560]; - if (typeof Int32Array !== "undefined") - TABLE = new Int32Array(TABLE); - var crc24 = (0, _define_crc2.default)("crc-24", function(buf, previous) { - if (!_buffer.Buffer.isBuffer(buf)) - buf = (0, _create_buffer2.default)(buf); - var crc = typeof previous !== "undefined" ? ~~previous : 11994318; - for (var index = 0; index < buf.length; index++) { - var byte = buf[index]; - crc = (TABLE[(crc >> 16 ^ byte) & 255] ^ crc << 8) & 16777215; - } - return crc; - }); - exports2.default = crc24; - } -}); - -// node_modules/crc/lib/crc24.js -var require_crc242 = __commonJS({ - "node_modules/crc/lib/crc24.js"(exports2, module2) { - "use strict"; - module2.exports = require_crc24().default; - } -}); - -// node_modules/crc/lib/es6/crc32.js -var require_crc32 = __commonJS({ - "node_modules/crc/lib/es6/crc32.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var _buffer = require("buffer"); - var _create_buffer = require_create_buffer(); - var _create_buffer2 = _interopRequireDefault(_create_buffer); - var _define_crc = require_define_crc(); - var _define_crc2 = _interopRequireDefault(_define_crc); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - var TABLE = [0, 1996959894, 3993919788, 2567524794, 124634137, 1886057615, 3915621685, 2657392035, 249268274, 2044508324, 3772115230, 2547177864, 162941995, 2125561021, 3887607047, 2428444049, 498536548, 1789927666, 4089016648, 2227061214, 450548861, 1843258603, 4107580753, 2211677639, 325883990, 1684777152, 4251122042, 2321926636, 335633487, 1661365465, 4195302755, 2366115317, 997073096, 1281953886, 3579855332, 2724688242, 1006888145, 1258607687, 3524101629, 2768942443, 901097722, 1119000684, 3686517206, 2898065728, 853044451, 1172266101, 3705015759, 2882616665, 651767980, 1373503546, 3369554304, 3218104598, 565507253, 1454621731, 3485111705, 3099436303, 671266974, 1594198024, 3322730930, 2970347812, 795835527, 1483230225, 3244367275, 3060149565, 1994146192, 31158534, 2563907772, 4023717930, 1907459465, 112637215, 2680153253, 3904427059, 2013776290, 251722036, 2517215374, 3775830040, 2137656763, 141376813, 2439277719, 3865271297, 1802195444, 476864866, 2238001368, 4066508878, 1812370925, 453092731, 2181625025, 4111451223, 1706088902, 314042704, 2344532202, 4240017532, 1658658271, 366619977, 2362670323, 4224994405, 1303535960, 984961486, 2747007092, 3569037538, 1256170817, 1037604311, 2765210733, 3554079995, 1131014506, 879679996, 2909243462, 3663771856, 1141124467, 855842277, 2852801631, 3708648649, 1342533948, 654459306, 3188396048, 3373015174, 1466479909, 544179635, 3110523913, 3462522015, 1591671054, 702138776, 2966460450, 3352799412, 1504918807, 783551873, 3082640443, 3233442989, 3988292384, 2596254646, 62317068, 1957810842, 3939845945, 2647816111, 81470997, 1943803523, 3814918930, 2489596804, 225274430, 2053790376, 3826175755, 2466906013, 167816743, 2097651377, 4027552580, 2265490386, 503444072, 1762050814, 4150417245, 2154129355, 426522225, 1852507879, 4275313526, 2312317920, 282753626, 1742555852, 4189708143, 2394877945, 397917763, 1622183637, 3604390888, 2714866558, 953729732, 1340076626, 3518719985, 2797360999, 1068828381, 1219638859, 3624741850, 2936675148, 906185462, 1090812512, 3747672003, 2825379669, 829329135, 1181335161, 3412177804, 3160834842, 628085408, 1382605366, 3423369109, 3138078467, 570562233, 1426400815, 3317316542, 2998733608, 733239954, 1555261956, 3268935591, 3050360625, 752459403, 1541320221, 2607071920, 3965973030, 1969922972, 40735498, 2617837225, 3943577151, 1913087877, 83908371, 2512341634, 3803740692, 2075208622, 213261112, 2463272603, 3855990285, 2094854071, 198958881, 2262029012, 4057260610, 1759359992, 534414190, 2176718541, 4139329115, 1873836001, 414664567, 2282248934, 4279200368, 1711684554, 285281116, 2405801727, 4167216745, 1634467795, 376229701, 2685067896, 3608007406, 1308918612, 956543938, 2808555105, 3495958263, 1231636301, 1047427035, 2932959818, 3654703836, 1088359270, 936918e3, 2847714899, 3736837829, 1202900863, 817233897, 3183342108, 3401237130, 1404277552, 615818150, 3134207493, 3453421203, 1423857449, 601450431, 3009837614, 3294710456, 1567103746, 711928724, 3020668471, 3272380065, 1510334235, 755167117]; - if (typeof Int32Array !== "undefined") - TABLE = new Int32Array(TABLE); - var crc32 = (0, _define_crc2.default)("crc-32", function(buf, previous) { - if (!_buffer.Buffer.isBuffer(buf)) - buf = (0, _create_buffer2.default)(buf); - var crc = previous === 0 ? 0 : ~~previous ^ -1; - for (var index = 0; index < buf.length; index++) { - var byte = buf[index]; - crc = TABLE[(crc ^ byte) & 255] ^ crc >>> 8; - } - return crc ^ -1; - }); - exports2.default = crc32; - } -}); - -// node_modules/crc/lib/crc32.js -var require_crc322 = __commonJS({ - "node_modules/crc/lib/crc32.js"(exports2, module2) { - "use strict"; - module2.exports = require_crc32().default; - } -}); - -// node_modules/crc/lib/es6/crcjam.js -var require_crcjam = __commonJS({ - "node_modules/crc/lib/es6/crcjam.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - var _buffer = require("buffer"); - var _create_buffer = require_create_buffer(); - var _create_buffer2 = _interopRequireDefault(_create_buffer); - var _define_crc = require_define_crc(); - var _define_crc2 = _interopRequireDefault(_define_crc); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - var TABLE = [0, 1996959894, 3993919788, 2567524794, 124634137, 1886057615, 3915621685, 2657392035, 249268274, 2044508324, 3772115230, 2547177864, 162941995, 2125561021, 3887607047, 2428444049, 498536548, 1789927666, 4089016648, 2227061214, 450548861, 1843258603, 4107580753, 2211677639, 325883990, 1684777152, 4251122042, 2321926636, 335633487, 1661365465, 4195302755, 2366115317, 997073096, 1281953886, 3579855332, 2724688242, 1006888145, 1258607687, 3524101629, 2768942443, 901097722, 1119000684, 3686517206, 2898065728, 853044451, 1172266101, 3705015759, 2882616665, 651767980, 1373503546, 3369554304, 3218104598, 565507253, 1454621731, 3485111705, 3099436303, 671266974, 1594198024, 3322730930, 2970347812, 795835527, 1483230225, 3244367275, 3060149565, 1994146192, 31158534, 2563907772, 4023717930, 1907459465, 112637215, 2680153253, 3904427059, 2013776290, 251722036, 2517215374, 3775830040, 2137656763, 141376813, 2439277719, 3865271297, 1802195444, 476864866, 2238001368, 4066508878, 1812370925, 453092731, 2181625025, 4111451223, 1706088902, 314042704, 2344532202, 4240017532, 1658658271, 366619977, 2362670323, 4224994405, 1303535960, 984961486, 2747007092, 3569037538, 1256170817, 1037604311, 2765210733, 3554079995, 1131014506, 879679996, 2909243462, 3663771856, 1141124467, 855842277, 2852801631, 3708648649, 1342533948, 654459306, 3188396048, 3373015174, 1466479909, 544179635, 3110523913, 3462522015, 1591671054, 702138776, 2966460450, 3352799412, 1504918807, 783551873, 3082640443, 3233442989, 3988292384, 2596254646, 62317068, 1957810842, 3939845945, 2647816111, 81470997, 1943803523, 3814918930, 2489596804, 225274430, 2053790376, 3826175755, 2466906013, 167816743, 2097651377, 4027552580, 2265490386, 503444072, 1762050814, 4150417245, 2154129355, 426522225, 1852507879, 4275313526, 2312317920, 282753626, 1742555852, 4189708143, 2394877945, 397917763, 1622183637, 3604390888, 2714866558, 953729732, 1340076626, 3518719985, 2797360999, 1068828381, 1219638859, 3624741850, 2936675148, 906185462, 1090812512, 3747672003, 2825379669, 829329135, 1181335161, 3412177804, 3160834842, 628085408, 1382605366, 3423369109, 3138078467, 570562233, 1426400815, 3317316542, 2998733608, 733239954, 1555261956, 3268935591, 3050360625, 752459403, 1541320221, 2607071920, 3965973030, 1969922972, 40735498, 2617837225, 3943577151, 1913087877, 83908371, 2512341634, 3803740692, 2075208622, 213261112, 2463272603, 3855990285, 2094854071, 198958881, 2262029012, 4057260610, 1759359992, 534414190, 2176718541, 4139329115, 1873836001, 414664567, 2282248934, 4279200368, 1711684554, 285281116, 2405801727, 4167216745, 1634467795, 376229701, 2685067896, 3608007406, 1308918612, 956543938, 2808555105, 3495958263, 1231636301, 1047427035, 2932959818, 3654703836, 1088359270, 936918e3, 2847714899, 3736837829, 1202900863, 817233897, 3183342108, 3401237130, 1404277552, 615818150, 3134207493, 3453421203, 1423857449, 601450431, 3009837614, 3294710456, 1567103746, 711928724, 3020668471, 3272380065, 1510334235, 755167117]; - if (typeof Int32Array !== "undefined") - TABLE = new Int32Array(TABLE); - var crcjam = (0, _define_crc2.default)("jam", function(buf) { - var previous = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : -1; - if (!_buffer.Buffer.isBuffer(buf)) - buf = (0, _create_buffer2.default)(buf); - var crc = previous === 0 ? 0 : ~~previous; - for (var index = 0; index < buf.length; index++) { - var byte = buf[index]; - crc = TABLE[(crc ^ byte) & 255] ^ crc >>> 8; - } - return crc; - }); - exports2.default = crcjam; - } -}); - -// node_modules/crc/lib/crcjam.js -var require_crcjam2 = __commonJS({ - "node_modules/crc/lib/crcjam.js"(exports2, module2) { - "use strict"; - module2.exports = require_crcjam().default; - } -}); - -// node_modules/crc/lib/index.js -var require_lib5 = __commonJS({ - "node_modules/crc/lib/index.js"(exports2, module2) { - "use strict"; - module2.exports = { - crc1: require_crc12(), - crc8: require_crc82(), - crc81wire: require_crc8_1wire(), - crc16: require_crc162(), - crc16ccitt: require_crc16_ccitt(), - crc16modbus: require_crc16_modbus(), - crc16xmodem: require_crc16_xmodem(), - crc16kermit: require_crc16_kermit(), - crc24: require_crc242(), - crc32: require_crc322(), - crcjam: require_crcjam2() - }; - } -}); - -// node_modules/koa-session/lib/util.js -var require_util = __commonJS({ - "node_modules/koa-session/lib/util.js"(exports2, module2) { - "use strict"; - var crc = require_lib5().crc32; - module2.exports = { - decode(string) { - const body = Buffer.from(string, "base64").toString("utf8"); - const json = JSON.parse(body); - return json; - }, - encode(body) { - body = JSON.stringify(body); - return Buffer.from(body).toString("base64"); - }, - hash(sess) { - return crc(JSON.stringify(sess)); - }, - CookieDateEpoch: "Thu, 01 Jan 1970 00:00:00 GMT" - }; - } -}); - -// node_modules/koa-session/lib/context.js -var require_context2 = __commonJS({ - "node_modules/koa-session/lib/context.js"(exports2, module2) { - "use strict"; - var debug = require_src()("koa-session:context"); - var Session = require_session(); - var util2 = require_util(); - var COOKIE_EXP_DATE = new Date(util2.CookieDateEpoch); - var ONE_DAY = 24 * 60 * 60 * 1e3; - var ContextSession = class { - constructor(ctx, opts) { - this.ctx = ctx; - this.app = ctx.app; - this.opts = Object.assign({}, opts); - this.store = this.opts.ContextStore ? new this.opts.ContextStore(ctx) : this.opts.store; - } - get() { - const session = this.session; - if (session) - return session; - if (session === false) - return null; - this.store ? this.create() : this.initFromCookie(); - return this.session; - } - set(val) { - if (val === null) { - this.session = false; - return; - } - if (typeof val === "object") { - this.create(val, this.externalKey); - return; - } - throw new Error("this.session can only be set as null or an object."); - } - async initFromExternal() { - debug("init from external"); - const ctx = this.ctx; - const opts = this.opts; - let externalKey; - if (opts.externalKey) { - externalKey = opts.externalKey.get(ctx); - debug("get external key from custom %s", externalKey); - } else { - externalKey = ctx.cookies.get(opts.key, opts); - debug("get external key from cookie %s", externalKey); - } - if (!externalKey) { - this.create(); - return; - } - const json = await this.store.get(externalKey, opts.maxAge, { ctx, rolling: opts.rolling }); - if (!this.valid(json, externalKey)) { - this.create(); - return; - } - this.create(json, externalKey); - this.prevHash = util2.hash(this.session.toJSON()); - } - initFromCookie() { - debug("init from cookie"); - const ctx = this.ctx; - const opts = this.opts; - const cookie = ctx.cookies.get(opts.key, opts); - if (!cookie) { - this.create(); - return; - } - let json; - debug("parse %s", cookie); - try { - json = opts.decode(cookie); - } catch (err) { - debug("decode %j error: %s", cookie, err); - if (!(err instanceof SyntaxError)) { - ctx.cookies.set(opts.key, "", opts); - err.headers = { - "set-cookie": ctx.response.get("set-cookie") - }; - throw err; - } - this.create(); - return; - } - debug("parsed %j", json); - if (!this.valid(json)) { - this.create(); - return; - } - this.create(json); - this.prevHash = util2.hash(this.session.toJSON()); - } - valid(value, key) { - const ctx = this.ctx; - if (!value) { - this.emit("missed", { key, value, ctx }); - return false; - } - if (value._expire && value._expire < Date.now()) { - debug("expired session"); - this.emit("expired", { key, value, ctx }); - return false; - } - const valid = this.opts.valid; - if (typeof valid === "function" && !valid(ctx, value)) { - debug("invalid session"); - this.emit("invalid", { key, value, ctx }); - return false; - } - return true; - } - emit(event, data) { - setImmediate(() => { - this.app.emit(`session:${event}`, data); - }); - } - create(val, externalKey) { - debug("create session with val: %j externalKey: %s", val, externalKey); - if (this.store) - this.externalKey = externalKey || this.opts.genid && this.opts.genid(this.ctx); - this.session = new Session(this, val, this.externalKey); - } - async commit() { - const session = this.session; - const opts = this.opts; - const ctx = this.ctx; - if (void 0 === session) - return; - if (session === false) { - await this.remove(); - return; - } - const reason = this._shouldSaveSession(); - debug("should save session: %s", reason); - if (!reason) - return; - if (typeof opts.beforeSave === "function") { - debug("before save"); - opts.beforeSave(ctx, session); - } - const changed = reason === "changed"; - await this.save(changed); - } - _shouldSaveSession() { - const prevHash = this.prevHash; - const session = this.session; - if (session._requireSave) - return "force"; - const json = session.toJSON(); - if (!prevHash && !Object.keys(json).length) - return ""; - const changed = prevHash !== util2.hash(json); - if (changed) - return "changed"; - if (this.opts.rolling) - return "rolling"; - if (this.opts.renew) { - const expire = session._expire; - const maxAge = session.maxAge; - if (expire && maxAge && expire - Date.now() < maxAge / 2) - return "renew"; - } - return ""; - } - async remove() { - const opts = Object.assign({}, this.opts, { - expires: COOKIE_EXP_DATE, - maxAge: false - }); - const ctx = this.ctx; - const key = opts.key; - const externalKey = this.externalKey; - if (externalKey) - await this.store.destroy(externalKey, { ctx }); - ctx.cookies.set(key, "", opts); - } - async save(changed) { - const opts = this.opts; - const key = opts.key; - const externalKey = this.externalKey; - let json = this.session.toJSON(); - let maxAge = opts.maxAge ? opts.maxAge : ONE_DAY; - if (maxAge === "session") { - opts.maxAge = void 0; - json._session = true; - } else { - json._expire = maxAge + Date.now(); - json._maxAge = maxAge; - } - if (externalKey) { - debug("save %j to external key %s", json, externalKey); - if (typeof maxAge === "number") { - maxAge += 1e4; - } - await this.store.set(externalKey, json, maxAge, { - changed, - ctx: this.ctx, - rolling: opts.rolling - }); - if (opts.externalKey) { - opts.externalKey.set(this.ctx, externalKey); - } else { - this.ctx.cookies.set(key, externalKey, opts); - } - return; - } - debug("save %j to cookie", json); - json = opts.encode(json); - debug("save %s", json); - this.ctx.cookies.set(key, json, opts); - } - }; - module2.exports = ContextSession; - } -}); - -// node_modules/uuid/lib/rng.js -var require_rng = __commonJS({ - "node_modules/uuid/lib/rng.js"(exports2, module2) { - var crypto4 = require("crypto"); - module2.exports = function nodeRNG() { - return crypto4.randomBytes(16); - }; - } -}); - -// node_modules/uuid/lib/bytesToUuid.js -var require_bytesToUuid = __commonJS({ - "node_modules/uuid/lib/bytesToUuid.js"(exports2, module2) { - var byteToHex = []; - for (i = 0; i < 256; ++i) { - byteToHex[i] = (i + 256).toString(16).substr(1); - } - var i; - function bytesToUuid(buf, offset) { - var i2 = offset || 0; - var bth = byteToHex; - return [ - bth[buf[i2++]], - bth[buf[i2++]], - bth[buf[i2++]], - bth[buf[i2++]], - "-", - bth[buf[i2++]], - bth[buf[i2++]], - "-", - bth[buf[i2++]], - bth[buf[i2++]], - "-", - bth[buf[i2++]], - bth[buf[i2++]], - "-", - bth[buf[i2++]], - bth[buf[i2++]], - bth[buf[i2++]], - bth[buf[i2++]], - bth[buf[i2++]], - bth[buf[i2++]] - ].join(""); - } - module2.exports = bytesToUuid; - } -}); - -// node_modules/uuid/v4.js -var require_v4 = __commonJS({ - "node_modules/uuid/v4.js"(exports2, module2) { - var rng = require_rng(); - var bytesToUuid = require_bytesToUuid(); - function v4(options, buf, offset) { - var i = buf && offset || 0; - if (typeof options == "string") { - buf = options === "binary" ? new Array(16) : null; - options = null; - } - options = options || {}; - var rnds = options.random || (options.rng || rng)(); - rnds[6] = rnds[6] & 15 | 64; - rnds[8] = rnds[8] & 63 | 128; - if (buf) { - for (var ii = 0; ii < 16; ++ii) { - buf[i + ii] = rnds[ii]; - } - } - return buf || bytesToUuid(rnds); - } - module2.exports = v4; - } -}); - -// node_modules/core-util-is/lib/util.js -var require_util2 = __commonJS({ - "node_modules/core-util-is/lib/util.js"(exports2) { - function isArray3(arg) { - if (Array.isArray) { - return Array.isArray(arg); - } - return objectToString(arg) === "[object Array]"; - } - exports2.isArray = isArray3; - function isBoolean3(arg) { - return typeof arg === "boolean"; - } - exports2.isBoolean = isBoolean3; - function isNull2(arg) { - return arg === null; - } - exports2.isNull = isNull2; - function isNullOrUndefined(arg) { - return arg == null; - } - exports2.isNullOrUndefined = isNullOrUndefined; - function isNumber3(arg) { - return typeof arg === "number"; - } - exports2.isNumber = isNumber3; - function isString3(arg) { - return typeof arg === "string"; - } - exports2.isString = isString3; - function isSymbol(arg) { - return typeof arg === "symbol"; - } - exports2.isSymbol = isSymbol; - function isUndefined2(arg) { - return arg === void 0; - } - exports2.isUndefined = isUndefined2; - function isRegExp2(re) { - return objectToString(re) === "[object RegExp]"; - } - exports2.isRegExp = isRegExp2; - function isObject4(arg) { - return typeof arg === "object" && arg !== null; - } - exports2.isObject = isObject4; - function isDate2(d) { - return objectToString(d) === "[object Date]"; - } - exports2.isDate = isDate2; - function isError(e) { - return objectToString(e) === "[object Error]" || e instanceof Error; - } - exports2.isError = isError; - function isFunction2(arg) { - return typeof arg === "function"; - } - exports2.isFunction = isFunction2; - function isPrimitive(arg) { - return arg === null || typeof arg === "boolean" || typeof arg === "number" || typeof arg === "string" || typeof arg === "symbol" || typeof arg === "undefined"; - } - exports2.isPrimitive = isPrimitive; - exports2.isBuffer = require("buffer").Buffer.isBuffer; - function objectToString(o) { - return Object.prototype.toString.call(o); - } - } -}); - -// node_modules/isstream/isstream.js -var require_isstream = __commonJS({ - "node_modules/isstream/isstream.js"(exports2, module2) { - var stream4 = require("stream"); - function isStream2(obj) { - return obj instanceof stream4.Stream; - } - function isReadable(obj) { - return isStream2(obj) && typeof obj._read == "function" && typeof obj._readableState == "object"; - } - function isWritable(obj) { - return isStream2(obj) && typeof obj._write == "function" && typeof obj._writableState == "object"; - } - function isDuplex(obj) { - return isReadable(obj) && isWritable(obj); - } - module2.exports = isStream2; - module2.exports.isReadable = isReadable; - module2.exports.isWritable = isWritable; - module2.exports.isDuplex = isDuplex; - } -}); - -// node_modules/is-class-hotfix/is-class.js -var require_is_class = __commonJS({ - "node_modules/is-class-hotfix/is-class.js"(exports2, module2) { - (function(root) { - var toString3 = Function.prototype.toString; - function fnBody(fn2) { - return toString3.call(fn2).replace(/^[^{]*{\s*/, "").replace(/\s*}[^}]*$/, ""); - } - function isClass(fn2) { - return typeof fn2 === "function" && (/^class(?:\s|{)/.test(toString3.call(fn2)) || /^.*classCallCheck\(/.test(fnBody(fn2))); - } - if (typeof exports2 !== "undefined") { - if (typeof module2 !== "undefined" && module2.exports) { - exports2 = module2.exports = isClass; - } - exports2.isClass = isClass; - } else if (typeof define === "function" && define.amd) { - define([], function() { - return isClass; - }); - } else { - root.isClass = isClass; - } - })(exports2); - } -}); - -// node_modules/is-type-of/index.js -var require_is_type_of = __commonJS({ - "node_modules/is-type-of/index.js"(exports2) { - "use strict"; - var utils = require_util2(); - var isStearm = require_isstream(); - var isClass = require_is_class(); - Object.keys(utils).map(function(name) { - exports2[transform(name)] = utils[name]; - }); - exports2.stream = isStearm; - exports2.readableStream = isStearm.isReadable; - exports2.writableStream = isStearm.isWritable; - exports2.duplexStream = isStearm.isDuplex; - exports2.class = isClass; - exports2.finite = Number.isFinite; - exports2.NaN = Number.isNaN; - exports2.generator = function(obj) { - return obj && "function" === typeof obj.next && "function" === typeof obj.throw; - }; - exports2.generatorFunction = function(obj) { - return obj && obj.constructor && "GeneratorFunction" === obj.constructor.name; - }; - exports2.asyncFunction = function(obj) { - return obj && obj.constructor && "AsyncFunction" === obj.constructor.name; - }; - exports2.promise = function(obj) { - return obj && "function" === typeof obj.then; - }; - var MAX_INT_31 = Math.pow(2, 31); - exports2.int = function(obj) { - return utils.isNumber(obj) && obj % 1 === 0; - }; - exports2.int32 = function(obj) { - return exports2.int(obj) && obj < MAX_INT_31 && obj >= -MAX_INT_31; - }; - exports2.long = function(obj) { - return exports2.int(obj) && (obj >= MAX_INT_31 || obj < -MAX_INT_31); - }; - exports2.Long = function(obj) { - return exports2.object(obj) && exports2.number(obj.high) && exports2.number(obj.low); - }; - exports2.double = function(obj) { - return utils.isNumber(obj) && !isNaN(obj) && obj % 1 !== 0; - }; - exports2.date = function isDate2(obj) { - return obj instanceof Date; - }; - exports2.regExp = function isRegExp2(obj) { - return obj instanceof RegExp; - }; - exports2.regexp = exports2.regExp; - exports2.error = function isError(obj) { - return obj instanceof Error; - }; - exports2.array = Array.isArray; - function transform(m) { - var name = m.slice(2); - name = name[0].toLowerCase() + name.slice(1); - return name; - } - } -}); - -// node_modules/koa-session/index.js -var require_koa_session = __commonJS({ - "node_modules/koa-session/index.js"(exports2, module2) { - "use strict"; - var debug = require_src()("koa-session"); - var ContextSession = require_context2(); - var util2 = require_util(); - var assert = require("assert"); - var uuid = require_v4(); - var is = require_is_type_of(); - var CONTEXT_SESSION = Symbol("context#contextSession"); - var _CONTEXT_SESSION = Symbol("context#_contextSession"); - module2.exports = function(opts, app) { - if (opts && typeof opts.use === "function") { - [app, opts] = [opts, app]; - } - if (!app || typeof app.use !== "function") { - throw new TypeError("app instance required: `session(opts, app)`"); - } - opts = formatOpts(opts); - extendContext(app.context, opts); - return async function session(ctx, next) { - const sess = ctx[CONTEXT_SESSION]; - if (sess.store) - await sess.initFromExternal(); - try { - await next(); - } catch (err) { - throw err; - } finally { - if (opts.autoCommit) { - await sess.commit(); - } - } - }; - }; - function formatOpts(opts) { - opts = opts || {}; - opts.key = opts.key || "koa.sess"; - if (!("maxAge" in opts)) - opts.maxAge = opts.maxage; - if (opts.overwrite == null) - opts.overwrite = true; - if (opts.httpOnly == null) - opts.httpOnly = true; - if (opts.sameSite == null) - delete opts.sameSite; - if (opts.signed == null) - opts.signed = true; - if (opts.autoCommit == null) - opts.autoCommit = true; - debug("session options %j", opts); - if (typeof opts.encode !== "function") { - opts.encode = util2.encode; - } - if (typeof opts.decode !== "function") { - opts.decode = util2.decode; - } - const store = opts.store; - if (store) { - assert(is.function(store.get), "store.get must be function"); - assert(is.function(store.set), "store.set must be function"); - assert(is.function(store.destroy), "store.destroy must be function"); - } - const externalKey = opts.externalKey; - if (externalKey) { - assert(is.function(externalKey.get), "externalKey.get must be function"); - assert(is.function(externalKey.set), "externalKey.set must be function"); - } - const ContextStore = opts.ContextStore; - if (ContextStore) { - assert(is.class(ContextStore), "ContextStore must be a class"); - assert(is.function(ContextStore.prototype.get), "ContextStore.prototype.get must be function"); - assert(is.function(ContextStore.prototype.set), "ContextStore.prototype.set must be function"); - assert(is.function(ContextStore.prototype.destroy), "ContextStore.prototype.destroy must be function"); - } - if (!opts.genid) { - if (opts.prefix) - opts.genid = () => `${opts.prefix}${uuid()}`; - else - opts.genid = uuid; - } - return opts; - } - function extendContext(context, opts) { - if (context.hasOwnProperty(CONTEXT_SESSION)) { - return; - } - Object.defineProperties(context, { - [CONTEXT_SESSION]: { - get() { - if (this[_CONTEXT_SESSION]) - return this[_CONTEXT_SESSION]; - this[_CONTEXT_SESSION] = new ContextSession(this, opts); - return this[_CONTEXT_SESSION]; - } - }, - session: { - get() { - return this[CONTEXT_SESSION].get(); - }, - set(val) { - this[CONTEXT_SESSION].set(val); - }, - configurable: true - }, - sessionOptions: { - get() { - return this[CONTEXT_SESSION].opts; - } - } - }); - } - } -}); - -// node_modules/@koa/cors/index.js -var require_cors = __commonJS({ - "node_modules/@koa/cors/index.js"(exports2, module2) { - "use strict"; - var vary = require_vary(); - module2.exports = function(options) { - const defaults2 = { - allowMethods: "GET,HEAD,PUT,POST,DELETE,PATCH", - secureContext: false - }; - options = { - ...defaults2, - ...options - }; - if (Array.isArray(options.exposeHeaders)) { - options.exposeHeaders = options.exposeHeaders.join(","); - } - if (Array.isArray(options.allowMethods)) { - options.allowMethods = options.allowMethods.join(","); - } - if (Array.isArray(options.allowHeaders)) { - options.allowHeaders = options.allowHeaders.join(","); - } - if (options.maxAge) { - options.maxAge = String(options.maxAge); - } - options.keepHeadersOnError = options.keepHeadersOnError === void 0 || !!options.keepHeadersOnError; - return async function cors2(ctx, next) { - const requestOrigin = ctx.get("Origin"); - ctx.vary("Origin"); - if (!requestOrigin) - return await next(); - let origin; - if (typeof options.origin === "function") { - origin = await options.origin(ctx); - if (!origin) - return await next(); - } else { - origin = options.origin || requestOrigin; - } - let credentials; - if (typeof options.credentials === "function") { - credentials = await options.credentials(ctx); - } else { - credentials = !!options.credentials; - } - if (credentials && origin === "*") { - origin = requestOrigin; - } - const headersSet = {}; - function set(key, value) { - ctx.set(key, value); - headersSet[key] = value; - } - if (ctx.method !== "OPTIONS") { - set("Access-Control-Allow-Origin", origin); - if (credentials === true) { - set("Access-Control-Allow-Credentials", "true"); - } - if (options.exposeHeaders) { - set("Access-Control-Expose-Headers", options.exposeHeaders); - } - if (options.secureContext) { - set("Cross-Origin-Opener-Policy", "same-origin"); - set("Cross-Origin-Embedder-Policy", "require-corp"); - } - if (!options.keepHeadersOnError) { - return await next(); - } - try { - return await next(); - } catch (err) { - const errHeadersSet = err.headers || {}; - const varyWithOrigin = vary.append(errHeadersSet.vary || errHeadersSet.Vary || "", "Origin"); - delete errHeadersSet.Vary; - err.headers = { - ...errHeadersSet, - ...headersSet, - ...{ vary: varyWithOrigin } - }; - throw err; - } - } else { - if (!ctx.get("Access-Control-Request-Method")) { - return await next(); - } - ctx.set("Access-Control-Allow-Origin", origin); - if (credentials === true) { - ctx.set("Access-Control-Allow-Credentials", "true"); - } - if (options.maxAge) { - ctx.set("Access-Control-Max-Age", options.maxAge); - } - if (options.privateNetworkAccess && ctx.get("Access-Control-Request-Private-Network")) { - ctx.set("Access-Control-Allow-Private-Network", "true"); - } - if (options.allowMethods) { - ctx.set("Access-Control-Allow-Methods", options.allowMethods); - } - if (options.secureContext) { - set("Cross-Origin-Opener-Policy", "same-origin"); - set("Cross-Origin-Embedder-Policy", "require-corp"); - } - let allowHeaders = options.allowHeaders; - if (!allowHeaders) { - allowHeaders = ctx.get("Access-Control-Request-Headers"); - } - if (allowHeaders) { - ctx.set("Access-Control-Allow-Headers", allowHeaders); - } - ctx.status = 204; - } - }; - }; - } -}); - -// node_modules/koa-session-memory/index.js -var require_koa_session_memory = __commonJS({ - "node_modules/koa-session-memory/index.js"(exports2, module2) { - var debug = require_src()("koa-session-memory"); - var { EventEmitter: EventEmitter2 } = require("events"); - module2.exports = class MemoryStore extends EventEmitter2 { - constructor() { - super(); - this.sessions = {}; - debug("::constructor", this); - } - get(key, maxAge, { rolling } = {}) { - debug(`::get ${key}, ${maxAge}, ${rolling}`); - return this.sessions[key]; - } - set(key, session, maxAge, { rolling, changed } = {}) { - debug(`::set ${key},`, session, `${maxAge}, ${rolling}, ${changed}`); - if (changed) { - this.sessions[key] = session; - this.emit("changed", { - key, - session - }); - } - } - destroy(key) { - debug(`::destroy ${key}`); - delete this.sessions[key]; - } - }; - } -}); - -// server/Utils/genid.session.utils.js -var import_node_crypto2, genid; -var init_genid_session_utils = __esm({ - "server/Utils/genid.session.utils.js"() { - import_node_crypto2 = require("node:crypto"); - genid = () => { - return new Promise(function(resolve, reject) { - const size = 32; - const hash = (0, import_node_crypto2.createHash)("sha384"); - const buffer = Buffer.alloc(size + 8); - (0, import_node_crypto2.randomFill)(buffer, 8, size, (err) => { - if (err) { - return reject(err); - } - buffer.writeUIntBE(Date.now(), 0, 6); - hash.on("readable", () => { - const data = hash.read(); - if (data) { - resolve(data.toString("base64")); - } else { - reject(new Error()); - } - }); - hash.write(buffer); - hash.end(); - }); - }); - }; - } -}); - -// server/Utils/mysql.session.store.js -var require_mysql_session_store = __commonJS({ - "server/Utils/mysql.session.store.js"(exports2, module2) { - var import_oxmysql8 = __toESM(require_MySQL()); - init_genid_session_utils(); - async function cleanupExpired(maxAge) { - const [rows] = await import_oxmysql8.oxmysql.query( - "DELETE FROM ?? WHERE `modified` > FROM_UNIXTIME(UNIX_TIMESTAMP() - ?)", - ["unl_session_store", maxAge / 1e3] - ); - if (rows.length === 0) { - return null; - } - return JSON.parse(rows[0].payload); - } - async function retrieveSession(key, maxAge) { - const rows = await import_oxmysql8.oxmysql.query( - "SELECT `payload` FROM ?? WHERE `session_id` = ? AND `modified` > FROM_UNIXTIME(UNIX_TIMESTAMP() - ?) LIMIT 1", - ["unl_session_store", key, maxAge / 1e3] - ); - if (rows.length === 0) { - return null; - } - return JSON.parse(rows[0].payload); - } - function storeSession(key, sess) { - const payload = JSON.stringify(sess); - const query = "INSERT INTO ?? (session_id, modified, payload) VALUES (?, ?, ?) ON DUPLICATE KEY UPDATE session_id=?, modified=?, payload=?"; - const now = new Date().toISOString().slice(0, 19).replace("T", " "); - return import_oxmysql8.oxmysql.query(query, [ - "unl_session_store", - key, - now, - payload, - key, - now, - payload - ]); - } - async function destroySession(key) { - const [result] = await import_oxmysql8.oxmysql.query( - "DELETE FROM ?? WHERE `session_id` = ? LIMIT 1", - ["unl_session_store", key] - ); - return result.affectedRows > 0; - } - module2.exports = { - get: retrieveSession, - set: storeSession, - destroy: destroySession, - cleanup: cleanupExpired, - genid - }; - } -}); - -// node_modules/base64id/lib/base64id.js -var require_base64id = __commonJS({ - "node_modules/base64id/lib/base64id.js"(exports2, module2) { - var crypto4 = require("crypto"); - var Base64Id = function() { - }; - Base64Id.prototype.getRandomBytes = function(bytes) { - var BUFFER_SIZE = 4096; - var self2 = this; - bytes = bytes || 12; - if (bytes > BUFFER_SIZE) { - return crypto4.randomBytes(bytes); - } - var bytesInBuffer = parseInt(BUFFER_SIZE / bytes); - var threshold = parseInt(bytesInBuffer * 0.85); - if (!threshold) { - return crypto4.randomBytes(bytes); - } - if (this.bytesBufferIndex == null) { - this.bytesBufferIndex = -1; - } - if (this.bytesBufferIndex == bytesInBuffer) { - this.bytesBuffer = null; - this.bytesBufferIndex = -1; - } - if (this.bytesBufferIndex == -1 || this.bytesBufferIndex > threshold) { - if (!this.isGeneratingBytes) { - this.isGeneratingBytes = true; - crypto4.randomBytes(BUFFER_SIZE, function(err, bytes2) { - self2.bytesBuffer = bytes2; - self2.bytesBufferIndex = 0; - self2.isGeneratingBytes = false; - }); - } - if (this.bytesBufferIndex == -1) { - return crypto4.randomBytes(bytes); - } - } - var result = this.bytesBuffer.slice(bytes * this.bytesBufferIndex, bytes * (this.bytesBufferIndex + 1)); - this.bytesBufferIndex++; - return result; - }; - Base64Id.prototype.generateId = function() { - var rand = Buffer.alloc(15); - if (!rand.writeInt32BE) { - return Math.abs(Math.random() * Math.random() * Date.now() | 0).toString() + Math.abs(Math.random() * Math.random() * Date.now() | 0).toString(); - } - this.sequenceNumber = this.sequenceNumber + 1 | 0; - rand.writeInt32BE(this.sequenceNumber, 11); - if (crypto4.randomBytes) { - this.getRandomBytes(12).copy(rand); - } else { - [0, 4, 8].forEach(function(i) { - rand.writeInt32BE(Math.random() * Math.pow(2, 32) | 0, i); - }); - } - return rand.toString("base64").replace(/\//g, "_").replace(/\+/g, "-"); - }; - exports2 = module2.exports = new Base64Id(); - } -}); - -// node_modules/engine.io-parser/build/cjs/commons.js -var require_commons = __commonJS({ - "node_modules/engine.io-parser/build/cjs/commons.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.ERROR_PACKET = exports2.PACKET_TYPES_REVERSE = exports2.PACKET_TYPES = void 0; - var PACKET_TYPES = /* @__PURE__ */ Object.create(null); - exports2.PACKET_TYPES = PACKET_TYPES; - PACKET_TYPES["open"] = "0"; - PACKET_TYPES["close"] = "1"; - PACKET_TYPES["ping"] = "2"; - PACKET_TYPES["pong"] = "3"; - PACKET_TYPES["message"] = "4"; - PACKET_TYPES["upgrade"] = "5"; - PACKET_TYPES["noop"] = "6"; - var PACKET_TYPES_REVERSE = /* @__PURE__ */ Object.create(null); - exports2.PACKET_TYPES_REVERSE = PACKET_TYPES_REVERSE; - Object.keys(PACKET_TYPES).forEach((key) => { - PACKET_TYPES_REVERSE[PACKET_TYPES[key]] = key; - }); - var ERROR_PACKET = { type: "error", data: "parser error" }; - exports2.ERROR_PACKET = ERROR_PACKET; - } -}); - -// node_modules/engine.io-parser/build/cjs/encodePacket.js -var require_encodePacket = __commonJS({ - "node_modules/engine.io-parser/build/cjs/encodePacket.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - var commons_js_1 = require_commons(); - var encodePacket = ({ type, data }, supportsBinary, callback) => { - if (data instanceof ArrayBuffer || ArrayBuffer.isView(data)) { - const buffer = toBuffer(data); - return callback(encodeBuffer(buffer, supportsBinary)); - } - return callback(commons_js_1.PACKET_TYPES[type] + (data || "")); - }; - var toBuffer = (data) => { - if (Buffer.isBuffer(data)) { - return data; - } else if (data instanceof ArrayBuffer) { - return Buffer.from(data); - } else { - return Buffer.from(data.buffer, data.byteOffset, data.byteLength); - } - }; - var encodeBuffer = (data, supportsBinary) => { - return supportsBinary ? data : "b" + data.toString("base64"); - }; - exports2.default = encodePacket; - } -}); - -// node_modules/engine.io-parser/build/cjs/decodePacket.js -var require_decodePacket = __commonJS({ - "node_modules/engine.io-parser/build/cjs/decodePacket.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - var commons_js_1 = require_commons(); - var decodePacket = (encodedPacket, binaryType) => { - if (typeof encodedPacket !== "string") { - return { - type: "message", - data: mapBinary(encodedPacket, binaryType) - }; - } - const type = encodedPacket.charAt(0); - if (type === "b") { - const buffer = Buffer.from(encodedPacket.substring(1), "base64"); - return { - type: "message", - data: mapBinary(buffer, binaryType) - }; - } - if (!commons_js_1.PACKET_TYPES_REVERSE[type]) { - return commons_js_1.ERROR_PACKET; - } - return encodedPacket.length > 1 ? { - type: commons_js_1.PACKET_TYPES_REVERSE[type], - data: encodedPacket.substring(1) - } : { - type: commons_js_1.PACKET_TYPES_REVERSE[type] - }; - }; - var mapBinary = (data, binaryType) => { - const isBuffer2 = Buffer.isBuffer(data); - switch (binaryType) { - case "arraybuffer": - return isBuffer2 ? toArrayBuffer(data) : data; - case "nodebuffer": - default: - return data; - } - }; - var toArrayBuffer = (buffer) => { - const arrayBuffer = new ArrayBuffer(buffer.length); - const view = new Uint8Array(arrayBuffer); - for (let i = 0; i < buffer.length; i++) { - view[i] = buffer[i]; - } - return arrayBuffer; - }; - exports2.default = decodePacket; - } -}); - -// node_modules/engine.io-parser/build/cjs/index.js -var require_cjs = __commonJS({ - "node_modules/engine.io-parser/build/cjs/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.decodePayload = exports2.decodePacket = exports2.encodePayload = exports2.encodePacket = exports2.protocol = void 0; - var encodePacket_js_1 = require_encodePacket(); - exports2.encodePacket = encodePacket_js_1.default; - var decodePacket_js_1 = require_decodePacket(); - exports2.decodePacket = decodePacket_js_1.default; - var SEPARATOR = String.fromCharCode(30); - var encodePayload = (packets, callback) => { - const length = packets.length; - const encodedPackets = new Array(length); - let count = 0; - packets.forEach((packet, i) => { - (0, encodePacket_js_1.default)(packet, false, (encodedPacket) => { - encodedPackets[i] = encodedPacket; - if (++count === length) { - callback(encodedPackets.join(SEPARATOR)); - } - }); - }); - }; - exports2.encodePayload = encodePayload; - var decodePayload = (encodedPayload, binaryType) => { - const encodedPackets = encodedPayload.split(SEPARATOR); - const packets = []; - for (let i = 0; i < encodedPackets.length; i++) { - const decodedPacket = (0, decodePacket_js_1.default)(encodedPackets[i], binaryType); - packets.push(decodedPacket); - if (decodedPacket.type === "error") { - break; - } - } - return packets; - }; - exports2.decodePayload = decodePayload; - exports2.protocol = 4; - } -}); - -// node_modules/engine.io/build/parser-v3/utf8.js -var require_utf8 = __commonJS({ - "node_modules/engine.io/build/parser-v3/utf8.js"(exports2, module2) { - var stringFromCharCode = String.fromCharCode; - function ucs2decode(string) { - var output = []; - var counter = 0; - var length = string.length; - var value; - var extra; - while (counter < length) { - value = string.charCodeAt(counter++); - if (value >= 55296 && value <= 56319 && counter < length) { - extra = string.charCodeAt(counter++); - if ((extra & 64512) == 56320) { - output.push(((value & 1023) << 10) + (extra & 1023) + 65536); - } else { - output.push(value); - counter--; - } - } else { - output.push(value); - } - } - return output; - } - function ucs2encode(array) { - var length = array.length; - var index = -1; - var value; - var output = ""; - while (++index < length) { - value = array[index]; - if (value > 65535) { - value -= 65536; - output += stringFromCharCode(value >>> 10 & 1023 | 55296); - value = 56320 | value & 1023; - } - output += stringFromCharCode(value); - } - return output; - } - function checkScalarValue(codePoint, strict) { - if (codePoint >= 55296 && codePoint <= 57343) { - if (strict) { - throw Error("Lone surrogate U+" + codePoint.toString(16).toUpperCase() + " is not a scalar value"); - } - return false; - } - return true; - } - function createByte(codePoint, shift) { - return stringFromCharCode(codePoint >> shift & 63 | 128); - } - function encodeCodePoint(codePoint, strict) { - if ((codePoint & 4294967168) == 0) { - return stringFromCharCode(codePoint); - } - var symbol = ""; - if ((codePoint & 4294965248) == 0) { - symbol = stringFromCharCode(codePoint >> 6 & 31 | 192); - } else if ((codePoint & 4294901760) == 0) { - if (!checkScalarValue(codePoint, strict)) { - codePoint = 65533; - } - symbol = stringFromCharCode(codePoint >> 12 & 15 | 224); - symbol += createByte(codePoint, 6); - } else if ((codePoint & 4292870144) == 0) { - symbol = stringFromCharCode(codePoint >> 18 & 7 | 240); - symbol += createByte(codePoint, 12); - symbol += createByte(codePoint, 6); - } - symbol += stringFromCharCode(codePoint & 63 | 128); - return symbol; - } - function utf8encode(string, opts) { - opts = opts || {}; - var strict = false !== opts.strict; - var codePoints = ucs2decode(string); - var length = codePoints.length; - var index = -1; - var codePoint; - var byteString = ""; - while (++index < length) { - codePoint = codePoints[index]; - byteString += encodeCodePoint(codePoint, strict); - } - return byteString; - } - function readContinuationByte() { - if (byteIndex >= byteCount) { - throw Error("Invalid byte index"); - } - var continuationByte = byteArray[byteIndex] & 255; - byteIndex++; - if ((continuationByte & 192) == 128) { - return continuationByte & 63; - } - throw Error("Invalid continuation byte"); - } - function decodeSymbol(strict) { - var byte1; - var byte2; - var byte3; - var byte4; - var codePoint; - if (byteIndex > byteCount) { - throw Error("Invalid byte index"); - } - if (byteIndex == byteCount) { - return false; - } - byte1 = byteArray[byteIndex] & 255; - byteIndex++; - if ((byte1 & 128) == 0) { - return byte1; - } - if ((byte1 & 224) == 192) { - byte2 = readContinuationByte(); - codePoint = (byte1 & 31) << 6 | byte2; - if (codePoint >= 128) { - return codePoint; - } else { - throw Error("Invalid continuation byte"); - } - } - if ((byte1 & 240) == 224) { - byte2 = readContinuationByte(); - byte3 = readContinuationByte(); - codePoint = (byte1 & 15) << 12 | byte2 << 6 | byte3; - if (codePoint >= 2048) { - return checkScalarValue(codePoint, strict) ? codePoint : 65533; - } else { - throw Error("Invalid continuation byte"); - } - } - if ((byte1 & 248) == 240) { - byte2 = readContinuationByte(); - byte3 = readContinuationByte(); - byte4 = readContinuationByte(); - codePoint = (byte1 & 7) << 18 | byte2 << 12 | byte3 << 6 | byte4; - if (codePoint >= 65536 && codePoint <= 1114111) { - return codePoint; - } - } - throw Error("Invalid UTF-8 detected"); - } - var byteArray; - var byteCount; - var byteIndex; - function utf8decode(byteString, opts) { - opts = opts || {}; - var strict = false !== opts.strict; - byteArray = ucs2decode(byteString); - byteCount = byteArray.length; - byteIndex = 0; - var codePoints = []; - var tmp; - while ((tmp = decodeSymbol(strict)) !== false) { - codePoints.push(tmp); - } - return ucs2encode(codePoints); - } - module2.exports = { - version: "2.1.2", - encode: utf8encode, - decode: utf8decode - }; - } -}); - -// node_modules/engine.io/build/parser-v3/index.js -var require_parser_v3 = __commonJS({ - "node_modules/engine.io/build/parser-v3/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.decodePayloadAsBinary = exports2.encodePayloadAsBinary = exports2.decodePayload = exports2.encodePayload = exports2.decodeBase64Packet = exports2.decodePacket = exports2.encodeBase64Packet = exports2.encodePacket = exports2.packets = exports2.protocol = void 0; - var utf8 = require_utf8(); - exports2.protocol = 3; - var hasBinary = (packets) => { - for (const packet of packets) { - if (packet.data instanceof ArrayBuffer || ArrayBuffer.isView(packet.data)) { - return true; - } - } - return false; - }; - exports2.packets = { - open: 0, - close: 1, - ping: 2, - pong: 3, - message: 4, - upgrade: 5, - noop: 6 - }; - var packetslist = Object.keys(exports2.packets); - var err = { type: "error", data: "parser error" }; - var EMPTY_BUFFER = Buffer.concat([]); - function encodePacket(packet, supportsBinary, utf8encode, callback) { - if (typeof supportsBinary === "function") { - callback = supportsBinary; - supportsBinary = null; - } - if (typeof utf8encode === "function") { - callback = utf8encode; - utf8encode = null; - } - if (Buffer.isBuffer(packet.data)) { - return encodeBuffer(packet, supportsBinary, callback); - } else if (packet.data && (packet.data.buffer || packet.data) instanceof ArrayBuffer) { - return encodeBuffer({ type: packet.type, data: arrayBufferToBuffer(packet.data) }, supportsBinary, callback); - } - var encoded = exports2.packets[packet.type]; - if (void 0 !== packet.data) { - encoded += utf8encode ? utf8.encode(String(packet.data), { strict: false }) : String(packet.data); - } - return callback("" + encoded); - } - exports2.encodePacket = encodePacket; - function encodeBuffer(packet, supportsBinary, callback) { - if (!supportsBinary) { - return encodeBase64Packet(packet, callback); - } - var data = packet.data; - var typeBuffer = Buffer.allocUnsafe(1); - typeBuffer[0] = exports2.packets[packet.type]; - return callback(Buffer.concat([typeBuffer, data])); - } - function encodeBase64Packet(packet, callback) { - var data = Buffer.isBuffer(packet.data) ? packet.data : arrayBufferToBuffer(packet.data); - var message2 = "b" + exports2.packets[packet.type]; - message2 += data.toString("base64"); - return callback(message2); - } - exports2.encodeBase64Packet = encodeBase64Packet; - function decodePacket(data, binaryType, utf8decode) { - if (data === void 0) { - return err; - } - var type; - if (typeof data === "string") { - type = data.charAt(0); - if (type === "b") { - return decodeBase64Packet(data.substr(1), binaryType); - } - if (utf8decode) { - data = tryDecode(data); - if (data === false) { - return err; - } - } - if (Number(type) != type || !packetslist[type]) { - return err; - } - if (data.length > 1) { - return { type: packetslist[type], data: data.substring(1) }; - } else { - return { type: packetslist[type] }; - } - } - if (binaryType === "arraybuffer") { - var intArray = new Uint8Array(data); - type = intArray[0]; - return { type: packetslist[type], data: intArray.buffer.slice(1) }; - } - if (data instanceof ArrayBuffer) { - data = arrayBufferToBuffer(data); - } - type = data[0]; - return { type: packetslist[type], data: data.slice(1) }; - } - exports2.decodePacket = decodePacket; - function tryDecode(data) { - try { - data = utf8.decode(data, { strict: false }); - } catch (e) { - return false; - } - return data; - } - function decodeBase64Packet(msg, binaryType) { - var type = packetslist[msg.charAt(0)]; - var data = Buffer.from(msg.substr(1), "base64"); - if (binaryType === "arraybuffer") { - var abv = new Uint8Array(data.length); - for (var i = 0; i < abv.length; i++) { - abv[i] = data[i]; - } - data = abv.buffer; - } - return { type, data }; - } - exports2.decodeBase64Packet = decodeBase64Packet; - function encodePayload(packets, supportsBinary, callback) { - if (typeof supportsBinary === "function") { - callback = supportsBinary; - supportsBinary = null; - } - if (supportsBinary && hasBinary(packets)) { - return encodePayloadAsBinary(packets, callback); - } - if (!packets.length) { - return callback("0:"); - } - function encodeOne(packet, doneCallback) { - encodePacket(packet, supportsBinary, false, function(message2) { - doneCallback(null, setLengthHeader(message2)); - }); - } - map(packets, encodeOne, function(err2, results) { - return callback(results.join("")); - }); - } - exports2.encodePayload = encodePayload; - function setLengthHeader(message2) { - return message2.length + ":" + message2; - } - function map(ary, each, done) { - const results = new Array(ary.length); - let count = 0; - for (let i = 0; i < ary.length; i++) { - each(ary[i], (error, msg) => { - results[i] = msg; - if (++count === ary.length) { - done(null, results); - } - }); - } - } - function decodePayload(data, binaryType, callback) { - if (typeof data !== "string") { - return decodePayloadAsBinary(data, binaryType, callback); - } - if (typeof binaryType === "function") { - callback = binaryType; - binaryType = null; - } - if (data === "") { - return callback(err, 0, 1); - } - var length = "", n, msg, packet; - for (var i = 0, l = data.length; i < l; i++) { - var chr = data.charAt(i); - if (chr !== ":") { - length += chr; - continue; - } - if (length === "" || length != (n = Number(length))) { - return callback(err, 0, 1); - } - msg = data.substr(i + 1, n); - if (length != msg.length) { - return callback(err, 0, 1); - } - if (msg.length) { - packet = decodePacket(msg, binaryType, false); - if (err.type === packet.type && err.data === packet.data) { - return callback(err, 0, 1); - } - var more = callback(packet, i + n, l); - if (false === more) - return; - } - i += n; - length = ""; - } - if (length !== "") { - return callback(err, 0, 1); - } - } - exports2.decodePayload = decodePayload; - function bufferToString(buffer) { - var str = ""; - for (var i = 0, l = buffer.length; i < l; i++) { - str += String.fromCharCode(buffer[i]); - } - return str; - } - function stringToBuffer(string) { - var buf = Buffer.allocUnsafe(string.length); - for (var i = 0, l = string.length; i < l; i++) { - buf.writeUInt8(string.charCodeAt(i), i); - } - return buf; - } - function arrayBufferToBuffer(data) { - var length = data.byteLength || data.length; - var offset = data.byteOffset || 0; - return Buffer.from(data.buffer || data, offset, length); - } - function encodePayloadAsBinary(packets, callback) { - if (!packets.length) { - return callback(EMPTY_BUFFER); - } - map(packets, encodeOneBinaryPacket, function(err2, results) { - return callback(Buffer.concat(results)); - }); - } - exports2.encodePayloadAsBinary = encodePayloadAsBinary; - function encodeOneBinaryPacket(p, doneCallback) { - function onBinaryPacketEncode(packet) { - var encodingLength = "" + packet.length; - var sizeBuffer; - if (typeof packet === "string") { - sizeBuffer = Buffer.allocUnsafe(encodingLength.length + 2); - sizeBuffer[0] = 0; - for (var i = 0; i < encodingLength.length; i++) { - sizeBuffer[i + 1] = parseInt(encodingLength[i], 10); - } - sizeBuffer[sizeBuffer.length - 1] = 255; - return doneCallback(null, Buffer.concat([sizeBuffer, stringToBuffer(packet)])); - } - sizeBuffer = Buffer.allocUnsafe(encodingLength.length + 2); - sizeBuffer[0] = 1; - for (var i = 0; i < encodingLength.length; i++) { - sizeBuffer[i + 1] = parseInt(encodingLength[i], 10); - } - sizeBuffer[sizeBuffer.length - 1] = 255; - doneCallback(null, Buffer.concat([sizeBuffer, packet])); - } - encodePacket(p, true, true, onBinaryPacketEncode); - } - function decodePayloadAsBinary(data, binaryType, callback) { - if (typeof binaryType === "function") { - callback = binaryType; - binaryType = null; - } - var bufferTail = data; - var buffers = []; - var i; - while (bufferTail.length > 0) { - var strLen = ""; - var isString3 = bufferTail[0] === 0; - for (i = 1; ; i++) { - if (bufferTail[i] === 255) - break; - if (strLen.length > 310) { - return callback(err, 0, 1); - } - strLen += "" + bufferTail[i]; - } - bufferTail = bufferTail.slice(strLen.length + 1); - var msgLength = parseInt(strLen, 10); - var msg = bufferTail.slice(1, msgLength + 1); - if (isString3) - msg = bufferToString(msg); - buffers.push(msg); - bufferTail = bufferTail.slice(msgLength + 1); - } - var total = buffers.length; - for (i = 0; i < total; i++) { - var buffer = buffers[i]; - callback(decodePacket(buffer, binaryType, true), i, total); - } - } - exports2.decodePayloadAsBinary = decodePayloadAsBinary; - } -}); - -// node_modules/engine.io/node_modules/ms/index.js -var require_ms6 = __commonJS({ - "node_modules/engine.io/node_modules/ms/index.js"(exports2, module2) { - var s = 1e3; - var m = s * 60; - var h = m * 60; - var d = h * 24; - var w = d * 7; - var y = d * 365.25; - module2.exports = function(val, options) { - options = options || {}; - var type = typeof val; - if (type === "string" && val.length > 0) { - return parse(val); - } else if (type === "number" && isFinite(val)) { - return options.long ? fmtLong(val) : fmtShort(val); - } - throw new Error( - "val is not a non-empty string or a valid number. val=" + JSON.stringify(val) - ); - }; - function parse(str) { - str = String(str); - if (str.length > 100) { - return; - } - var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec( - str - ); - if (!match) { - return; - } - var n = parseFloat(match[1]); - var type = (match[2] || "ms").toLowerCase(); - switch (type) { - case "years": - case "year": - case "yrs": - case "yr": - case "y": - return n * y; - case "weeks": - case "week": - case "w": - return n * w; - case "days": - case "day": - case "d": - return n * d; - case "hours": - case "hour": - case "hrs": - case "hr": - case "h": - return n * h; - case "minutes": - case "minute": - case "mins": - case "min": - case "m": - return n * m; - case "seconds": - case "second": - case "secs": - case "sec": - case "s": - return n * s; - case "milliseconds": - case "millisecond": - case "msecs": - case "msec": - case "ms": - return n; - default: - return void 0; - } - } - function fmtShort(ms) { - var msAbs = Math.abs(ms); - if (msAbs >= d) { - return Math.round(ms / d) + "d"; - } - if (msAbs >= h) { - return Math.round(ms / h) + "h"; - } - if (msAbs >= m) { - return Math.round(ms / m) + "m"; - } - if (msAbs >= s) { - return Math.round(ms / s) + "s"; - } - return ms + "ms"; - } - function fmtLong(ms) { - var msAbs = Math.abs(ms); - if (msAbs >= d) { - return plural(ms, msAbs, d, "day"); - } - if (msAbs >= h) { - return plural(ms, msAbs, h, "hour"); - } - if (msAbs >= m) { - return plural(ms, msAbs, m, "minute"); - } - if (msAbs >= s) { - return plural(ms, msAbs, s, "second"); - } - return ms + " ms"; - } - function plural(ms, msAbs, n, name) { - var isPlural = msAbs >= n * 1.5; - return Math.round(ms / n) + " " + name + (isPlural ? "s" : ""); - } - } -}); - -// node_modules/engine.io/node_modules/debug/src/common.js -var require_common6 = __commonJS({ - "node_modules/engine.io/node_modules/debug/src/common.js"(exports2, module2) { - function setup(env) { - createDebug.debug = createDebug; - createDebug.default = createDebug; - createDebug.coerce = coerce; - createDebug.disable = disable; - createDebug.enable = enable; - createDebug.enabled = enabled; - createDebug.humanize = require_ms6(); - createDebug.destroy = destroy; - Object.keys(env).forEach((key) => { - createDebug[key] = env[key]; - }); - createDebug.names = []; - createDebug.skips = []; - createDebug.formatters = {}; - function selectColor(namespace) { - let hash = 0; - for (let i = 0; i < namespace.length; i++) { - hash = (hash << 5) - hash + namespace.charCodeAt(i); - hash |= 0; - } - return createDebug.colors[Math.abs(hash) % createDebug.colors.length]; - } - createDebug.selectColor = selectColor; - function createDebug(namespace) { - let prevTime; - let enableOverride = null; - let namespacesCache; - let enabledCache; - function debug(...args2) { - if (!debug.enabled) { - return; - } - const self2 = debug; - const curr = Number(new Date()); - const ms = curr - (prevTime || curr); - self2.diff = ms; - self2.prev = prevTime; - self2.curr = curr; - prevTime = curr; - args2[0] = createDebug.coerce(args2[0]); - if (typeof args2[0] !== "string") { - args2.unshift("%O"); - } - let index = 0; - args2[0] = args2[0].replace(/%([a-zA-Z%])/g, (match, format2) => { - if (match === "%%") { - return "%"; - } - index++; - const formatter = createDebug.formatters[format2]; - if (typeof formatter === "function") { - const val = args2[index]; - match = formatter.call(self2, val); - args2.splice(index, 1); - index--; - } - return match; - }); - createDebug.formatArgs.call(self2, args2); - const logFn = self2.log || createDebug.log; - logFn.apply(self2, args2); - } - debug.namespace = namespace; - debug.useColors = createDebug.useColors(); - debug.color = createDebug.selectColor(namespace); - debug.extend = extend2; - debug.destroy = createDebug.destroy; - Object.defineProperty(debug, "enabled", { - enumerable: true, - configurable: false, - get: () => { - if (enableOverride !== null) { - return enableOverride; - } - if (namespacesCache !== createDebug.namespaces) { - namespacesCache = createDebug.namespaces; - enabledCache = createDebug.enabled(namespace); - } - return enabledCache; - }, - set: (v) => { - enableOverride = v; - } - }); - if (typeof createDebug.init === "function") { - createDebug.init(debug); - } - return debug; - } - function extend2(namespace, delimiter) { - const newDebug = createDebug(this.namespace + (typeof delimiter === "undefined" ? ":" : delimiter) + namespace); - newDebug.log = this.log; - return newDebug; - } - function enable(namespaces) { - createDebug.save(namespaces); - createDebug.namespaces = namespaces; - createDebug.names = []; - createDebug.skips = []; - let i; - const split = (typeof namespaces === "string" ? namespaces : "").split(/[\s,]+/); - const len = split.length; - for (i = 0; i < len; i++) { - if (!split[i]) { - continue; - } - namespaces = split[i].replace(/\*/g, ".*?"); - if (namespaces[0] === "-") { - createDebug.skips.push(new RegExp("^" + namespaces.slice(1) + "$")); - } else { - createDebug.names.push(new RegExp("^" + namespaces + "$")); - } - } - } - function disable() { - const namespaces = [ - ...createDebug.names.map(toNamespace), - ...createDebug.skips.map(toNamespace).map((namespace) => "-" + namespace) - ].join(","); - createDebug.enable(""); - return namespaces; - } - function enabled(name) { - if (name[name.length - 1] === "*") { - return true; - } - let i; - let len; - for (i = 0, len = createDebug.skips.length; i < len; i++) { - if (createDebug.skips[i].test(name)) { - return false; - } - } - for (i = 0, len = createDebug.names.length; i < len; i++) { - if (createDebug.names[i].test(name)) { - return true; - } - } - return false; - } - function toNamespace(regexp) { - return regexp.toString().substring(2, regexp.toString().length - 2).replace(/\.\*\?$/, "*"); - } - function coerce(val) { - if (val instanceof Error) { - return val.stack || val.message; - } - return val; - } - function destroy() { - console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."); - } - createDebug.enable(createDebug.load()); - return createDebug; - } - module2.exports = setup; - } -}); - -// node_modules/engine.io/node_modules/debug/src/browser.js -var require_browser5 = __commonJS({ - "node_modules/engine.io/node_modules/debug/src/browser.js"(exports2, module2) { - exports2.formatArgs = formatArgs; - exports2.save = save; - exports2.load = load; - exports2.useColors = useColors; - exports2.storage = localstorage(); - exports2.destroy = (() => { - let warned = false; - return () => { - if (!warned) { - warned = true; - console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."); - } - }; - })(); - exports2.colors = [ - "#0000CC", - "#0000FF", - "#0033CC", - "#0033FF", - "#0066CC", - "#0066FF", - "#0099CC", - "#0099FF", - "#00CC00", - "#00CC33", - "#00CC66", - "#00CC99", - "#00CCCC", - "#00CCFF", - "#3300CC", - "#3300FF", - "#3333CC", - "#3333FF", - "#3366CC", - "#3366FF", - "#3399CC", - "#3399FF", - "#33CC00", - "#33CC33", - "#33CC66", - "#33CC99", - "#33CCCC", - "#33CCFF", - "#6600CC", - "#6600FF", - "#6633CC", - "#6633FF", - "#66CC00", - "#66CC33", - "#9900CC", - "#9900FF", - "#9933CC", - "#9933FF", - "#99CC00", - "#99CC33", - "#CC0000", - "#CC0033", - "#CC0066", - "#CC0099", - "#CC00CC", - "#CC00FF", - "#CC3300", - "#CC3333", - "#CC3366", - "#CC3399", - "#CC33CC", - "#CC33FF", - "#CC6600", - "#CC6633", - "#CC9900", - "#CC9933", - "#CCCC00", - "#CCCC33", - "#FF0000", - "#FF0033", - "#FF0066", - "#FF0099", - "#FF00CC", - "#FF00FF", - "#FF3300", - "#FF3333", - "#FF3366", - "#FF3399", - "#FF33CC", - "#FF33FF", - "#FF6600", - "#FF6633", - "#FF9900", - "#FF9933", - "#FFCC00", - "#FFCC33" - ]; - function useColors() { - if (typeof window !== "undefined" && window.process && (window.process.type === "renderer" || window.process.__nwjs)) { - return true; - } - if (typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { - return false; - } - return typeof document !== "undefined" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || typeof window !== "undefined" && window.console && (window.console.firebug || window.console.exception && window.console.table) || typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 || typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/); - } - function formatArgs(args2) { - args2[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + args2[0] + (this.useColors ? "%c " : " ") + "+" + module2.exports.humanize(this.diff); - if (!this.useColors) { - return; - } - const c = "color: " + this.color; - args2.splice(1, 0, c, "color: inherit"); - let index = 0; - let lastC = 0; - args2[0].replace(/%[a-zA-Z%]/g, (match) => { - if (match === "%%") { - return; - } - index++; - if (match === "%c") { - lastC = index; - } - }); - args2.splice(lastC, 0, c); - } - exports2.log = console.debug || console.log || (() => { - }); - function save(namespaces) { - try { - if (namespaces) { - exports2.storage.setItem("debug", namespaces); - } else { - exports2.storage.removeItem("debug"); - } - } catch (error) { - } - } - function load() { - let r; - try { - r = exports2.storage.getItem("debug"); - } catch (error) { - } - if (!r && typeof process !== "undefined" && "env" in process) { - r = process.env.DEBUG; - } - return r; - } - function localstorage() { - try { - return localStorage; - } catch (error) { - } - } - module2.exports = require_common6()(exports2); - var { formatters } = module2.exports; - formatters.j = function(v) { - try { - return JSON.stringify(v); - } catch (error) { - return "[UnexpectedJSONParseError]: " + error.message; - } - }; - } -}); - -// node_modules/engine.io/node_modules/debug/src/node.js -var require_node7 = __commonJS({ - "node_modules/engine.io/node_modules/debug/src/node.js"(exports2, module2) { - var tty = require("tty"); - var util2 = require("util"); - exports2.init = init; - exports2.log = log2; - exports2.formatArgs = formatArgs; - exports2.save = save; - exports2.load = load; - exports2.useColors = useColors; - exports2.destroy = util2.deprecate( - () => { - }, - "Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`." - ); - exports2.colors = [6, 2, 3, 4, 5, 1]; - try { - const supportsColor = require("supports-color"); - if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) { - exports2.colors = [ - 20, - 21, - 26, - 27, - 32, - 33, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 56, - 57, - 62, - 63, - 68, - 69, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 92, - 93, - 98, - 99, - 112, - 113, - 128, - 129, - 134, - 135, - 148, - 149, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 178, - 179, - 184, - 185, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 214, - 215, - 220, - 221 - ]; - } - } catch (error) { - } - exports2.inspectOpts = Object.keys(process.env).filter((key) => { - return /^debug_/i.test(key); - }).reduce((obj, key) => { - const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_, k) => { - return k.toUpperCase(); - }); - let val = process.env[key]; - if (/^(yes|on|true|enabled)$/i.test(val)) { - val = true; - } else if (/^(no|off|false|disabled)$/i.test(val)) { - val = false; - } else if (val === "null") { - val = null; - } else { - val = Number(val); - } - obj[prop] = val; - return obj; - }, {}); - function useColors() { - return "colors" in exports2.inspectOpts ? Boolean(exports2.inspectOpts.colors) : tty.isatty(process.stderr.fd); - } - function formatArgs(args2) { - const { namespace: name, useColors: useColors2 } = this; - if (useColors2) { - const c = this.color; - const colorCode = "\x1B[3" + (c < 8 ? c : "8;5;" + c); - const prefix = ` ${colorCode};1m${name} \x1B[0m`; - args2[0] = prefix + args2[0].split("\n").join("\n" + prefix); - args2.push(colorCode + "m+" + module2.exports.humanize(this.diff) + "\x1B[0m"); - } else { - args2[0] = getDate() + name + " " + args2[0]; - } - } - function getDate() { - if (exports2.inspectOpts.hideDate) { - return ""; - } - return new Date().toISOString() + " "; - } - function log2(...args2) { - return process.stderr.write(util2.format(...args2) + "\n"); - } - function save(namespaces) { - if (namespaces) { - process.env.DEBUG = namespaces; - } else { - delete process.env.DEBUG; - } - } - function load() { - return process.env.DEBUG; - } - function init(debug) { - debug.inspectOpts = {}; - const keys2 = Object.keys(exports2.inspectOpts); - for (let i = 0; i < keys2.length; i++) { - debug.inspectOpts[keys2[i]] = exports2.inspectOpts[keys2[i]]; - } - } - module2.exports = require_common6()(exports2); - var { formatters } = module2.exports; - formatters.o = function(v) { - this.inspectOpts.colors = this.useColors; - return util2.inspect(v, this.inspectOpts).split("\n").map((str) => str.trim()).join(" "); - }; - formatters.O = function(v) { - this.inspectOpts.colors = this.useColors; - return util2.inspect(v, this.inspectOpts); - }; - } -}); - -// node_modules/engine.io/node_modules/debug/src/index.js -var require_src6 = __commonJS({ - "node_modules/engine.io/node_modules/debug/src/index.js"(exports2, module2) { - if (typeof process === "undefined" || process.type === "renderer" || process.browser === true || process.__nwjs) { - module2.exports = require_browser5(); - } else { - module2.exports = require_node7(); - } - } -}); - -// node_modules/engine.io/build/transport.js -var require_transport = __commonJS({ - "node_modules/engine.io/build/transport.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.Transport = void 0; - var events_1 = require("events"); - var parser_v4 = require_cjs(); - var parser_v3 = require_parser_v3(); - var debug_1 = require_src6(); - var debug = (0, debug_1.default)("engine:transport"); - function noop2() { - } - var Transport2 = class extends events_1.EventEmitter { - constructor(req) { - super(); - this.readyState = "open"; - this.discarded = false; - this.protocol = req._query.EIO === "4" ? 4 : 3; - this.parser = this.protocol === 4 ? parser_v4 : parser_v3; - } - get readyState() { - return this._readyState; - } - set readyState(state) { - debug("readyState updated from %s to %s (%s)", this._readyState, state, this.name); - this._readyState = state; - } - discard() { - this.discarded = true; - } - onRequest(req) { - debug("setting request"); - this.req = req; - } - close(fn2) { - if ("closed" === this.readyState || "closing" === this.readyState) - return; - this.readyState = "closing"; - this.doClose(fn2 || noop2); - } - onError(msg, desc) { - if (this.listeners("error").length) { - const err = new Error(msg); - err.type = "TransportError"; - err.description = desc; - this.emit("error", err); - } else { - debug("ignored transport error %s (%s)", msg, desc); - } - } - onPacket(packet) { - this.emit("packet", packet); - } - onData(data) { - this.onPacket(this.parser.decodePacket(data)); - } - onClose() { - this.readyState = "closed"; - this.emit("close"); - } - }; - exports2.Transport = Transport2; - } -}); - -// node_modules/engine.io/build/transports/polling.js -var require_polling = __commonJS({ - "node_modules/engine.io/build/transports/polling.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.Polling = void 0; - var transport_1 = require_transport(); - var zlib_1 = require("zlib"); - var accepts = require_accepts(); - var debug_1 = require_src6(); - var debug = (0, debug_1.default)("engine:polling"); - var compressionMethods = { - gzip: zlib_1.createGzip, - deflate: zlib_1.createDeflate - }; - var Polling = class extends transport_1.Transport { - constructor(req) { - super(req); - this.closeTimeout = 30 * 1e3; - } - get name() { - return "polling"; - } - get supportsFraming() { - return false; - } - onRequest(req) { - const res = req.res; - if ("GET" === req.method) { - this.onPollRequest(req, res); - } else if ("POST" === req.method) { - this.onDataRequest(req, res); - } else { - res.writeHead(500); - res.end(); - } - } - onPollRequest(req, res) { - if (this.req) { - debug("request overlap"); - this.onError("overlap from client"); - res.writeHead(500); - res.end(); - return; - } - debug("setting request"); - this.req = req; - this.res = res; - const onClose = () => { - this.onError("poll connection closed prematurely"); - }; - const cleanup = () => { - req.removeListener("close", onClose); - this.req = this.res = null; - }; - req.cleanup = cleanup; - req.on("close", onClose); - this.writable = true; - this.emit("drain"); - if (this.writable && this.shouldClose) { - debug("triggering empty send to append close packet"); - this.send([{ type: "noop" }]); - } - } - onDataRequest(req, res) { - if (this.dataReq) { - this.onError("data request overlap from client"); - res.writeHead(500); - res.end(); - return; - } - const isBinary = "application/octet-stream" === req.headers["content-type"]; - if (isBinary && this.protocol === 4) { - return this.onError("invalid content"); - } - this.dataReq = req; - this.dataRes = res; - let chunks = isBinary ? Buffer.concat([]) : ""; - const cleanup = () => { - req.removeListener("data", onData); - req.removeListener("end", onEnd); - req.removeListener("close", onClose); - this.dataReq = this.dataRes = chunks = null; - }; - const onClose = () => { - cleanup(); - this.onError("data request connection closed prematurely"); - }; - const onData = (data) => { - let contentLength; - if (isBinary) { - chunks = Buffer.concat([chunks, data]); - contentLength = chunks.length; - } else { - chunks += data; - contentLength = Buffer.byteLength(chunks); - } - if (contentLength > this.maxHttpBufferSize) { - res.writeHead(413).end(); - cleanup(); - } - }; - const onEnd = () => { - this.onData(chunks); - const headers = { - "Content-Type": "text/html", - "Content-Length": 2 - }; - res.writeHead(200, this.headers(req, headers)); - res.end("ok"); - cleanup(); - }; - req.on("close", onClose); - if (!isBinary) - req.setEncoding("utf8"); - req.on("data", onData); - req.on("end", onEnd); - } - onData(data) { - debug('received "%s"', data); - const callback = (packet) => { - if ("close" === packet.type) { - debug("got xhr close packet"); - this.onClose(); - return false; - } - this.onPacket(packet); - }; - if (this.protocol === 3) { - this.parser.decodePayload(data, callback); - } else { - this.parser.decodePayload(data).forEach(callback); - } - } - onClose() { - if (this.writable) { - this.send([{ type: "noop" }]); - } - super.onClose(); - } - send(packets) { - this.writable = false; - if (this.shouldClose) { - debug("appending close packet to payload"); - packets.push({ type: "close" }); - this.shouldClose(); - this.shouldClose = null; - } - const doWrite = (data) => { - const compress = packets.some((packet) => { - return packet.options && packet.options.compress; - }); - this.write(data, { compress }); - }; - if (this.protocol === 3) { - this.parser.encodePayload(packets, this.supportsBinary, doWrite); - } else { - this.parser.encodePayload(packets, doWrite); - } - } - write(data, options) { - debug('writing "%s"', data); - this.doWrite(data, options, () => { - this.req.cleanup(); - }); - } - doWrite(data, options, callback) { - const isString3 = typeof data === "string"; - const contentType = isString3 ? "text/plain; charset=UTF-8" : "application/octet-stream"; - const headers = { - "Content-Type": contentType - }; - const respond = (data2) => { - headers["Content-Length"] = "string" === typeof data2 ? Buffer.byteLength(data2) : data2.length; - this.res.writeHead(200, this.headers(this.req, headers)); - this.res.end(data2); - callback(); - }; - if (!this.httpCompression || !options.compress) { - respond(data); - return; - } - const len = isString3 ? Buffer.byteLength(data) : data.length; - if (len < this.httpCompression.threshold) { - respond(data); - return; - } - const encoding = accepts(this.req).encodings(["gzip", "deflate"]); - if (!encoding) { - respond(data); - return; - } - this.compress(data, encoding, (err, data2) => { - if (err) { - this.res.writeHead(500); - this.res.end(); - callback(err); - return; - } - headers["Content-Encoding"] = encoding; - respond(data2); - }); - } - compress(data, encoding, callback) { - debug("compressing"); - const buffers = []; - let nread = 0; - compressionMethods[encoding](this.httpCompression).on("error", callback).on("data", function(chunk) { - buffers.push(chunk); - nread += chunk.length; - }).on("end", function() { - callback(null, Buffer.concat(buffers, nread)); - }).end(data); - } - doClose(fn2) { - debug("closing"); - let closeTimeoutTimer; - if (this.dataReq) { - debug("aborting ongoing data request"); - this.dataReq.destroy(); - } - const onClose = () => { - clearTimeout(closeTimeoutTimer); - fn2(); - this.onClose(); - }; - if (this.writable) { - debug("transport writable - closing right away"); - this.send([{ type: "close" }]); - onClose(); - } else if (this.discarded) { - debug("transport discarded - closing right away"); - onClose(); - } else { - debug("transport not writable - buffering orderly close"); - this.shouldClose = onClose; - closeTimeoutTimer = setTimeout(onClose, this.closeTimeout); - } - } - headers(req, headers) { - headers = headers || {}; - const ua = req.headers["user-agent"]; - if (ua && (~ua.indexOf(";MSIE") || ~ua.indexOf("Trident/"))) { - headers["X-XSS-Protection"] = "0"; - } - this.emit("headers", headers, req); - return headers; - } - }; - exports2.Polling = Polling; - } -}); - -// node_modules/engine.io/build/transports/polling-jsonp.js -var require_polling_jsonp = __commonJS({ - "node_modules/engine.io/build/transports/polling-jsonp.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.JSONP = void 0; - var polling_1 = require_polling(); - var qs = require("querystring"); - var rDoubleSlashes = /\\\\n/g; - var rSlashes = /(\\)?\\n/g; - var JSONP = class extends polling_1.Polling { - constructor(req) { - super(req); - this.head = "___eio[" + (req._query.j || "").replace(/[^0-9]/g, "") + "]("; - this.foot = ");"; - } - onData(data) { - data = qs.parse(data).d; - if ("string" === typeof data) { - data = data.replace(rSlashes, function(match, slashes) { - return slashes ? match : "\n"; - }); - super.onData(data.replace(rDoubleSlashes, "\\n")); - } - } - doWrite(data, options, callback) { - const js = JSON.stringify(data).replace(/\u2028/g, "\\u2028").replace(/\u2029/g, "\\u2029"); - data = this.head + js + this.foot; - super.doWrite(data, options, callback); - } - }; - exports2.JSONP = JSONP; - } -}); - -// node_modules/engine.io/build/transports/websocket.js -var require_websocket = __commonJS({ - "node_modules/engine.io/build/transports/websocket.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.WebSocket = void 0; - var transport_1 = require_transport(); - var debug_1 = require_src6(); - var debug = (0, debug_1.default)("engine:ws"); - var WebSocket = class extends transport_1.Transport { - constructor(req) { - super(req); - this.socket = req.websocket; - this.socket.on("message", (data, isBinary) => { - const message2 = isBinary ? data : data.toString(); - debug('received "%s"', message2); - super.onData(message2); - }); - this.socket.once("close", this.onClose.bind(this)); - this.socket.on("error", this.onError.bind(this)); - this.writable = true; - this.perMessageDeflate = null; - } - get name() { - return "websocket"; - } - get handlesUpgrades() { - return true; - } - get supportsFraming() { - return true; - } - send(packets) { - const packet = packets.shift(); - if (typeof packet === "undefined") { - this.writable = true; - this.emit("drain"); - return; - } - const opts = {}; - if (packet.options) { - opts.compress = packet.options.compress; - } - const send = (data) => { - if (this.perMessageDeflate) { - const len = "string" === typeof data ? Buffer.byteLength(data) : data.length; - if (len < this.perMessageDeflate.threshold) { - opts.compress = false; - } - } - debug('writing "%s"', data); - this.writable = false; - this.socket.send(data, opts, (err) => { - if (err) - return this.onError("write error", err.stack); - this.send(packets); - }); - }; - if (packet.options && typeof packet.options.wsPreEncoded === "string") { - send(packet.options.wsPreEncoded); - } else { - this.parser.encodePacket(packet, this.supportsBinary, send); - } - } - doClose(fn2) { - debug("closing"); - this.socket.close(); - fn2 && fn2(); - } - }; - exports2.WebSocket = WebSocket; - } -}); - -// node_modules/engine.io/build/transports/index.js -var require_transports2 = __commonJS({ - "node_modules/engine.io/build/transports/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - var polling_1 = require_polling(); - var polling_jsonp_1 = require_polling_jsonp(); - var websocket_1 = require_websocket(); - exports2.default = { - polling, - websocket: websocket_1.WebSocket - }; - function polling(req) { - if ("string" === typeof req._query.j) { - return new polling_jsonp_1.JSONP(req); - } else { - return new polling_1.Polling(req); - } - } - polling.upgradesTo = ["websocket"]; - } -}); - -// node_modules/engine.io/build/socket.js -var require_socket = __commonJS({ - "node_modules/engine.io/build/socket.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.Socket = void 0; - var events_1 = require("events"); - var debug_1 = require_src6(); - var timers_1 = require("timers"); - var debug = (0, debug_1.default)("engine:socket"); - var Socket2 = class extends events_1.EventEmitter { - constructor(id, server, transport, req, protocol) { - super(); - this.id = id; - this.server = server; - this.upgrading = false; - this.upgraded = false; - this.readyState = "opening"; - this.writeBuffer = []; - this.packetsFn = []; - this.sentCallbackFn = []; - this.cleanupFn = []; - this.request = req; - this.protocol = protocol; - if (req.websocket && req.websocket._socket) { - this.remoteAddress = req.websocket._socket.remoteAddress; - } else { - this.remoteAddress = req.connection.remoteAddress; - } - this.checkIntervalTimer = null; - this.upgradeTimeoutTimer = null; - this.pingTimeoutTimer = null; - this.pingIntervalTimer = null; - this.setTransport(transport); - this.onOpen(); - } - get readyState() { - return this._readyState; - } - set readyState(state) { - debug("readyState updated from %s to %s", this._readyState, state); - this._readyState = state; - } - onOpen() { - this.readyState = "open"; - this.transport.sid = this.id; - this.sendPacket("open", JSON.stringify({ - sid: this.id, - upgrades: this.getAvailableUpgrades(), - pingInterval: this.server.opts.pingInterval, - pingTimeout: this.server.opts.pingTimeout, - maxPayload: this.server.opts.maxHttpBufferSize - })); - if (this.server.opts.initialPacket) { - this.sendPacket("message", this.server.opts.initialPacket); - } - this.emit("open"); - if (this.protocol === 3) { - this.resetPingTimeout(this.server.opts.pingInterval + this.server.opts.pingTimeout); - } else { - this.schedulePing(); - } - } - onPacket(packet) { - if ("open" !== this.readyState) { - return debug("packet received with closed socket"); - } - debug(`received packet ${packet.type}`); - this.emit("packet", packet); - this.resetPingTimeout(this.server.opts.pingInterval + this.server.opts.pingTimeout); - switch (packet.type) { - case "ping": - if (this.transport.protocol !== 3) { - this.onError("invalid heartbeat direction"); - return; - } - debug("got ping"); - this.sendPacket("pong"); - this.emit("heartbeat"); - break; - case "pong": - if (this.transport.protocol === 3) { - this.onError("invalid heartbeat direction"); - return; - } - debug("got pong"); - this.pingIntervalTimer.refresh(); - this.emit("heartbeat"); - break; - case "error": - this.onClose("parse error"); - break; - case "message": - this.emit("data", packet.data); - this.emit("message", packet.data); - break; - } - } - onError(err) { - debug("transport error"); - this.onClose("transport error", err); - } - schedulePing() { - this.pingIntervalTimer = (0, timers_1.setTimeout)(() => { - debug("writing ping packet - expecting pong within %sms", this.server.opts.pingTimeout); - this.sendPacket("ping"); - this.resetPingTimeout(this.server.opts.pingTimeout); - }, this.server.opts.pingInterval); - } - resetPingTimeout(timeout) { - (0, timers_1.clearTimeout)(this.pingTimeoutTimer); - this.pingTimeoutTimer = (0, timers_1.setTimeout)(() => { - if (this.readyState === "closed") - return; - this.onClose("ping timeout"); - }, timeout); - } - setTransport(transport) { - const onError = this.onError.bind(this); - const onPacket = this.onPacket.bind(this); - const flush = this.flush.bind(this); - const onClose = this.onClose.bind(this, "transport close"); - this.transport = transport; - this.transport.once("error", onError); - this.transport.on("packet", onPacket); - this.transport.on("drain", flush); - this.transport.once("close", onClose); - this.setupSendCallback(); - this.cleanupFn.push(function() { - transport.removeListener("error", onError); - transport.removeListener("packet", onPacket); - transport.removeListener("drain", flush); - transport.removeListener("close", onClose); - }); - } - maybeUpgrade(transport) { - debug('might upgrade socket transport from "%s" to "%s"', this.transport.name, transport.name); - this.upgrading = true; - this.upgradeTimeoutTimer = (0, timers_1.setTimeout)(() => { - debug("client did not complete upgrade - closing transport"); - cleanup(); - if ("open" === transport.readyState) { - transport.close(); - } - }, this.server.opts.upgradeTimeout); - const onPacket = (packet) => { - if ("ping" === packet.type && "probe" === packet.data) { - debug("got probe ping packet, sending pong"); - transport.send([{ type: "pong", data: "probe" }]); - this.emit("upgrading", transport); - clearInterval(this.checkIntervalTimer); - this.checkIntervalTimer = setInterval(check, 100); - } else if ("upgrade" === packet.type && this.readyState !== "closed") { - debug("got upgrade packet - upgrading"); - cleanup(); - this.transport.discard(); - this.upgraded = true; - this.clearTransport(); - this.setTransport(transport); - this.emit("upgrade", transport); - this.flush(); - if (this.readyState === "closing") { - transport.close(() => { - this.onClose("forced close"); - }); - } - } else { - cleanup(); - transport.close(); - } - }; - const check = () => { - if ("polling" === this.transport.name && this.transport.writable) { - debug("writing a noop packet to polling for fast upgrade"); - this.transport.send([{ type: "noop" }]); - } - }; - const cleanup = () => { - this.upgrading = false; - clearInterval(this.checkIntervalTimer); - this.checkIntervalTimer = null; - (0, timers_1.clearTimeout)(this.upgradeTimeoutTimer); - this.upgradeTimeoutTimer = null; - transport.removeListener("packet", onPacket); - transport.removeListener("close", onTransportClose); - transport.removeListener("error", onError); - this.removeListener("close", onClose); - }; - const onError = (err) => { - debug("client did not complete upgrade - %s", err); - cleanup(); - transport.close(); - transport = null; - }; - const onTransportClose = () => { - onError("transport closed"); - }; - const onClose = () => { - onError("socket closed"); - }; - transport.on("packet", onPacket); - transport.once("close", onTransportClose); - transport.once("error", onError); - this.once("close", onClose); - } - clearTransport() { - let cleanup; - const toCleanUp = this.cleanupFn.length; - for (let i = 0; i < toCleanUp; i++) { - cleanup = this.cleanupFn.shift(); - cleanup(); - } - this.transport.on("error", function() { - debug("error triggered by discarded transport"); - }); - this.transport.close(); - (0, timers_1.clearTimeout)(this.pingTimeoutTimer); - } - onClose(reason, description) { - if ("closed" !== this.readyState) { - this.readyState = "closed"; - (0, timers_1.clearTimeout)(this.pingIntervalTimer); - (0, timers_1.clearTimeout)(this.pingTimeoutTimer); - clearInterval(this.checkIntervalTimer); - this.checkIntervalTimer = null; - (0, timers_1.clearTimeout)(this.upgradeTimeoutTimer); - process.nextTick(() => { - this.writeBuffer = []; - }); - this.packetsFn = []; - this.sentCallbackFn = []; - this.clearTransport(); - this.emit("close", reason, description); - } - } - setupSendCallback() { - const onDrain = () => { - if (this.sentCallbackFn.length > 0) { - const seqFn = this.sentCallbackFn.splice(0, 1)[0]; - if ("function" === typeof seqFn) { - debug("executing send callback"); - seqFn(this.transport); - } else if (Array.isArray(seqFn)) { - debug("executing batch send callback"); - const l = seqFn.length; - let i = 0; - for (; i < l; i++) { - if ("function" === typeof seqFn[i]) { - seqFn[i](this.transport); - } - } - } - } - }; - this.transport.on("drain", onDrain); - this.cleanupFn.push(() => { - this.transport.removeListener("drain", onDrain); - }); - } - send(data, options, callback) { - this.sendPacket("message", data, options, callback); - return this; - } - write(data, options, callback) { - this.sendPacket("message", data, options, callback); - return this; - } - sendPacket(type, data, options, callback) { - if ("function" === typeof options) { - callback = options; - options = null; - } - options = options || {}; - options.compress = false !== options.compress; - if ("closing" !== this.readyState && "closed" !== this.readyState) { - debug('sending packet "%s" (%s)', type, data); - const packet = { - type, - options - }; - if (data) - packet.data = data; - this.emit("packetCreate", packet); - this.writeBuffer.push(packet); - if (callback) - this.packetsFn.push(callback); - this.flush(); - } - } - flush() { - if ("closed" !== this.readyState && this.transport.writable && this.writeBuffer.length) { - debug("flushing buffer to transport"); - this.emit("flush", this.writeBuffer); - this.server.emit("flush", this, this.writeBuffer); - const wbuf = this.writeBuffer; - this.writeBuffer = []; - if (!this.transport.supportsFraming) { - this.sentCallbackFn.push(this.packetsFn); - } else { - this.sentCallbackFn.push.apply(this.sentCallbackFn, this.packetsFn); - } - this.packetsFn = []; - this.transport.send(wbuf); - this.emit("drain"); - this.server.emit("drain", this); - } - } - getAvailableUpgrades() { - const availableUpgrades = []; - const allUpgrades = this.server.upgrades(this.transport.name); - let i = 0; - const l = allUpgrades.length; - for (; i < l; ++i) { - const upg = allUpgrades[i]; - if (this.server.opts.transports.indexOf(upg) !== -1) { - availableUpgrades.push(upg); - } - } - return availableUpgrades; - } - close(discard) { - if ("open" !== this.readyState) - return; - this.readyState = "closing"; - if (this.writeBuffer.length) { - this.once("drain", this.closeTransport.bind(this, discard)); - return; - } - this.closeTransport(discard); - } - closeTransport(discard) { - if (discard) - this.transport.discard(); - this.transport.close(this.onClose.bind(this, "forced close")); - } - }; - exports2.Socket = Socket2; - } -}); - -// node_modules/cookie/index.js -var require_cookie = __commonJS({ - "node_modules/cookie/index.js"(exports2) { - "use strict"; - exports2.parse = parse; - exports2.serialize = serialize; - var decode = decodeURIComponent; - var encode3 = encodeURIComponent; - var fieldContentRegExp = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/; - function parse(str, options) { - if (typeof str !== "string") { - throw new TypeError("argument str must be a string"); - } - var obj = {}; - var opt = options || {}; - var pairs = str.split(";"); - var dec = opt.decode || decode; - for (var i = 0; i < pairs.length; i++) { - var pair = pairs[i]; - var index = pair.indexOf("="); - if (index < 0) { - continue; - } - var key = pair.substring(0, index).trim(); - if (void 0 == obj[key]) { - var val = pair.substring(index + 1, pair.length).trim(); - if (val[0] === '"') { - val = val.slice(1, -1); - } - obj[key] = tryDecode(val, dec); - } - } - return obj; - } - function serialize(name, val, options) { - var opt = options || {}; - var enc = opt.encode || encode3; - if (typeof enc !== "function") { - throw new TypeError("option encode is invalid"); - } - if (!fieldContentRegExp.test(name)) { - throw new TypeError("argument name is invalid"); - } - var value = enc(val); - if (value && !fieldContentRegExp.test(value)) { - throw new TypeError("argument val is invalid"); - } - var str = name + "=" + value; - if (null != opt.maxAge) { - var maxAge = opt.maxAge - 0; - if (isNaN(maxAge) || !isFinite(maxAge)) { - throw new TypeError("option maxAge is invalid"); - } - str += "; Max-Age=" + Math.floor(maxAge); - } - if (opt.domain) { - if (!fieldContentRegExp.test(opt.domain)) { - throw new TypeError("option domain is invalid"); - } - str += "; Domain=" + opt.domain; - } - if (opt.path) { - if (!fieldContentRegExp.test(opt.path)) { - throw new TypeError("option path is invalid"); - } - str += "; Path=" + opt.path; - } - if (opt.expires) { - if (typeof opt.expires.toUTCString !== "function") { - throw new TypeError("option expires is invalid"); - } - str += "; Expires=" + opt.expires.toUTCString(); - } - if (opt.httpOnly) { - str += "; HttpOnly"; - } - if (opt.secure) { - str += "; Secure"; - } - if (opt.sameSite) { - var sameSite = typeof opt.sameSite === "string" ? opt.sameSite.toLowerCase() : opt.sameSite; - switch (sameSite) { - case true: - str += "; SameSite=Strict"; - break; - case "lax": - str += "; SameSite=Lax"; - break; - case "strict": - str += "; SameSite=Strict"; - break; - case "none": - str += "; SameSite=None"; - break; - default: - throw new TypeError("option sameSite is invalid"); - } - } - return str; - } - function tryDecode(str, decode2) { - try { - return decode2(str); - } catch (e) { - return str; - } - } - } -}); - -// node_modules/ws/lib/constants.js -var require_constants = __commonJS({ - "node_modules/ws/lib/constants.js"(exports2, module2) { - "use strict"; - module2.exports = { - BINARY_TYPES: ["nodebuffer", "arraybuffer", "fragments"], - EMPTY_BUFFER: Buffer.alloc(0), - GUID: "258EAFA5-E914-47DA-95CA-C5AB0DC85B11", - kForOnEventAttribute: Symbol("kIsForOnEventAttribute"), - kListener: Symbol("kListener"), - kStatusCode: Symbol("status-code"), - kWebSocket: Symbol("websocket"), - NOOP: () => { - } - }; - } -}); - -// node_modules/ws/lib/buffer-util.js -var require_buffer_util = __commonJS({ - "node_modules/ws/lib/buffer-util.js"(exports2, module2) { - "use strict"; - var { EMPTY_BUFFER } = require_constants(); - function concat(list, totalLength) { - if (list.length === 0) - return EMPTY_BUFFER; - if (list.length === 1) - return list[0]; - const target = Buffer.allocUnsafe(totalLength); - let offset = 0; - for (let i = 0; i < list.length; i++) { - const buf = list[i]; - target.set(buf, offset); - offset += buf.length; - } - if (offset < totalLength) - return target.slice(0, offset); - return target; - } - function _mask(source2, mask, output, offset, length) { - for (let i = 0; i < length; i++) { - output[offset + i] = source2[i] ^ mask[i & 3]; - } - } - function _unmask(buffer, mask) { - for (let i = 0; i < buffer.length; i++) { - buffer[i] ^= mask[i & 3]; - } - } - function toArrayBuffer(buf) { - if (buf.byteLength === buf.buffer.byteLength) { - return buf.buffer; - } - return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); - } - function toBuffer(data) { - toBuffer.readOnly = true; - if (Buffer.isBuffer(data)) - return data; - let buf; - if (data instanceof ArrayBuffer) { - buf = Buffer.from(data); - } else if (ArrayBuffer.isView(data)) { - buf = Buffer.from(data.buffer, data.byteOffset, data.byteLength); - } else { - buf = Buffer.from(data); - toBuffer.readOnly = false; - } - return buf; - } - try { - const bufferUtil = require("bufferutil"); - module2.exports = { - concat, - mask(source2, mask, output, offset, length) { - if (length < 48) - _mask(source2, mask, output, offset, length); - else - bufferUtil.mask(source2, mask, output, offset, length); - }, - toArrayBuffer, - toBuffer, - unmask(buffer, mask) { - if (buffer.length < 32) - _unmask(buffer, mask); - else - bufferUtil.unmask(buffer, mask); - } - }; - } catch (e) { - module2.exports = { - concat, - mask: _mask, - toArrayBuffer, - toBuffer, - unmask: _unmask - }; - } - } -}); - -// node_modules/ws/lib/limiter.js -var require_limiter = __commonJS({ - "node_modules/ws/lib/limiter.js"(exports2, module2) { - "use strict"; - var kDone = Symbol("kDone"); - var kRun = Symbol("kRun"); - var Limiter = class { - constructor(concurrency) { - this[kDone] = () => { - this.pending--; - this[kRun](); - }; - this.concurrency = concurrency || Infinity; - this.jobs = []; - this.pending = 0; - } - add(job) { - this.jobs.push(job); - this[kRun](); - } - [kRun]() { - if (this.pending === this.concurrency) - return; - if (this.jobs.length) { - const job = this.jobs.shift(); - this.pending++; - job(this[kDone]); - } - } - }; - module2.exports = Limiter; - } -}); - -// node_modules/ws/lib/permessage-deflate.js -var require_permessage_deflate = __commonJS({ - "node_modules/ws/lib/permessage-deflate.js"(exports2, module2) { - "use strict"; - var zlib2 = require("zlib"); - var bufferUtil = require_buffer_util(); - var Limiter = require_limiter(); - var { kStatusCode } = require_constants(); - var TRAILER = Buffer.from([0, 0, 255, 255]); - var kPerMessageDeflate = Symbol("permessage-deflate"); - var kTotalLength = Symbol("total-length"); - var kCallback = Symbol("callback"); - var kBuffers = Symbol("buffers"); - var kError = Symbol("error"); - var zlibLimiter; - var PerMessageDeflate = class { - constructor(options, isServer, maxPayload) { - this._maxPayload = maxPayload | 0; - this._options = options || {}; - this._threshold = this._options.threshold !== void 0 ? this._options.threshold : 1024; - this._isServer = !!isServer; - this._deflate = null; - this._inflate = null; - this.params = null; - if (!zlibLimiter) { - const concurrency = this._options.concurrencyLimit !== void 0 ? this._options.concurrencyLimit : 10; - zlibLimiter = new Limiter(concurrency); - } - } - static get extensionName() { - return "permessage-deflate"; - } - offer() { - const params = {}; - if (this._options.serverNoContextTakeover) { - params.server_no_context_takeover = true; - } - if (this._options.clientNoContextTakeover) { - params.client_no_context_takeover = true; - } - if (this._options.serverMaxWindowBits) { - params.server_max_window_bits = this._options.serverMaxWindowBits; - } - if (this._options.clientMaxWindowBits) { - params.client_max_window_bits = this._options.clientMaxWindowBits; - } else if (this._options.clientMaxWindowBits == null) { - params.client_max_window_bits = true; - } - return params; - } - accept(configurations) { - configurations = this.normalizeParams(configurations); - this.params = this._isServer ? this.acceptAsServer(configurations) : this.acceptAsClient(configurations); - return this.params; - } - cleanup() { - if (this._inflate) { - this._inflate.close(); - this._inflate = null; - } - if (this._deflate) { - const callback = this._deflate[kCallback]; - this._deflate.close(); - this._deflate = null; - if (callback) { - callback( - new Error( - "The deflate stream was closed while data was being processed" - ) - ); - } - } - } - acceptAsServer(offers) { - const opts = this._options; - const accepted = offers.find((params) => { - if (opts.serverNoContextTakeover === false && params.server_no_context_takeover || params.server_max_window_bits && (opts.serverMaxWindowBits === false || typeof opts.serverMaxWindowBits === "number" && opts.serverMaxWindowBits > params.server_max_window_bits) || typeof opts.clientMaxWindowBits === "number" && !params.client_max_window_bits) { - return false; - } - return true; - }); - if (!accepted) { - throw new Error("None of the extension offers can be accepted"); - } - if (opts.serverNoContextTakeover) { - accepted.server_no_context_takeover = true; - } - if (opts.clientNoContextTakeover) { - accepted.client_no_context_takeover = true; - } - if (typeof opts.serverMaxWindowBits === "number") { - accepted.server_max_window_bits = opts.serverMaxWindowBits; - } - if (typeof opts.clientMaxWindowBits === "number") { - accepted.client_max_window_bits = opts.clientMaxWindowBits; - } else if (accepted.client_max_window_bits === true || opts.clientMaxWindowBits === false) { - delete accepted.client_max_window_bits; - } - return accepted; - } - acceptAsClient(response) { - const params = response[0]; - if (this._options.clientNoContextTakeover === false && params.client_no_context_takeover) { - throw new Error('Unexpected parameter "client_no_context_takeover"'); - } - if (!params.client_max_window_bits) { - if (typeof this._options.clientMaxWindowBits === "number") { - params.client_max_window_bits = this._options.clientMaxWindowBits; - } - } else if (this._options.clientMaxWindowBits === false || typeof this._options.clientMaxWindowBits === "number" && params.client_max_window_bits > this._options.clientMaxWindowBits) { - throw new Error( - 'Unexpected or invalid parameter "client_max_window_bits"' - ); - } - return params; - } - normalizeParams(configurations) { - configurations.forEach((params) => { - Object.keys(params).forEach((key) => { - let value = params[key]; - if (value.length > 1) { - throw new Error(`Parameter "${key}" must have only a single value`); - } - value = value[0]; - if (key === "client_max_window_bits") { - if (value !== true) { - const num = +value; - if (!Number.isInteger(num) || num < 8 || num > 15) { - throw new TypeError( - `Invalid value for parameter "${key}": ${value}` - ); - } - value = num; - } else if (!this._isServer) { - throw new TypeError( - `Invalid value for parameter "${key}": ${value}` - ); - } - } else if (key === "server_max_window_bits") { - const num = +value; - if (!Number.isInteger(num) || num < 8 || num > 15) { - throw new TypeError( - `Invalid value for parameter "${key}": ${value}` - ); - } - value = num; - } else if (key === "client_no_context_takeover" || key === "server_no_context_takeover") { - if (value !== true) { - throw new TypeError( - `Invalid value for parameter "${key}": ${value}` - ); - } - } else { - throw new Error(`Unknown parameter "${key}"`); - } - params[key] = value; - }); - }); - return configurations; - } - decompress(data, fin, callback) { - zlibLimiter.add((done) => { - this._decompress(data, fin, (err, result) => { - done(); - callback(err, result); - }); - }); - } - compress(data, fin, callback) { - zlibLimiter.add((done) => { - this._compress(data, fin, (err, result) => { - done(); - callback(err, result); - }); - }); - } - _decompress(data, fin, callback) { - const endpoint = this._isServer ? "client" : "server"; - if (!this._inflate) { - const key = `${endpoint}_max_window_bits`; - const windowBits = typeof this.params[key] !== "number" ? zlib2.Z_DEFAULT_WINDOWBITS : this.params[key]; - this._inflate = zlib2.createInflateRaw({ - ...this._options.zlibInflateOptions, - windowBits - }); - this._inflate[kPerMessageDeflate] = this; - this._inflate[kTotalLength] = 0; - this._inflate[kBuffers] = []; - this._inflate.on("error", inflateOnError); - this._inflate.on("data", inflateOnData); - } - this._inflate[kCallback] = callback; - this._inflate.write(data); - if (fin) - this._inflate.write(TRAILER); - this._inflate.flush(() => { - const err = this._inflate[kError]; - if (err) { - this._inflate.close(); - this._inflate = null; - callback(err); - return; - } - const data2 = bufferUtil.concat( - this._inflate[kBuffers], - this._inflate[kTotalLength] - ); - if (this._inflate._readableState.endEmitted) { - this._inflate.close(); - this._inflate = null; - } else { - this._inflate[kTotalLength] = 0; - this._inflate[kBuffers] = []; - if (fin && this.params[`${endpoint}_no_context_takeover`]) { - this._inflate.reset(); - } - } - callback(null, data2); - }); - } - _compress(data, fin, callback) { - const endpoint = this._isServer ? "server" : "client"; - if (!this._deflate) { - const key = `${endpoint}_max_window_bits`; - const windowBits = typeof this.params[key] !== "number" ? zlib2.Z_DEFAULT_WINDOWBITS : this.params[key]; - this._deflate = zlib2.createDeflateRaw({ - ...this._options.zlibDeflateOptions, - windowBits - }); - this._deflate[kTotalLength] = 0; - this._deflate[kBuffers] = []; - this._deflate.on("data", deflateOnData); - } - this._deflate[kCallback] = callback; - this._deflate.write(data); - this._deflate.flush(zlib2.Z_SYNC_FLUSH, () => { - if (!this._deflate) { - return; - } - let data2 = bufferUtil.concat( - this._deflate[kBuffers], - this._deflate[kTotalLength] - ); - if (fin) - data2 = data2.slice(0, data2.length - 4); - this._deflate[kCallback] = null; - this._deflate[kTotalLength] = 0; - this._deflate[kBuffers] = []; - if (fin && this.params[`${endpoint}_no_context_takeover`]) { - this._deflate.reset(); - } - callback(null, data2); - }); - } - }; - module2.exports = PerMessageDeflate; - function deflateOnData(chunk) { - this[kBuffers].push(chunk); - this[kTotalLength] += chunk.length; - } - function inflateOnData(chunk) { - this[kTotalLength] += chunk.length; - if (this[kPerMessageDeflate]._maxPayload < 1 || this[kTotalLength] <= this[kPerMessageDeflate]._maxPayload) { - this[kBuffers].push(chunk); - return; - } - this[kError] = new RangeError("Max payload size exceeded"); - this[kError].code = "WS_ERR_UNSUPPORTED_MESSAGE_LENGTH"; - this[kError][kStatusCode] = 1009; - this.removeListener("data", inflateOnData); - this.reset(); - } - function inflateOnError(err) { - this[kPerMessageDeflate]._inflate = null; - err[kStatusCode] = 1007; - this[kCallback](err); - } - } -}); - -// node_modules/ws/lib/validation.js -var require_validation = __commonJS({ - "node_modules/ws/lib/validation.js"(exports2, module2) { - "use strict"; - var tokenChars = [ - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 0, - 1, - 1, - 1, - 1, - 1, - 0, - 0, - 1, - 1, - 0, - 1, - 1, - 0, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 0, - 0, - 0, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 0, - 1, - 0, - 1, - 0 - ]; - function isValidStatusCode(code) { - return code >= 1e3 && code <= 1014 && code !== 1004 && code !== 1005 && code !== 1006 || code >= 3e3 && code <= 4999; - } - function _isValidUTF8(buf) { - const len = buf.length; - let i = 0; - while (i < len) { - if ((buf[i] & 128) === 0) { - i++; - } else if ((buf[i] & 224) === 192) { - if (i + 1 === len || (buf[i + 1] & 192) !== 128 || (buf[i] & 254) === 192) { - return false; - } - i += 2; - } else if ((buf[i] & 240) === 224) { - if (i + 2 >= len || (buf[i + 1] & 192) !== 128 || (buf[i + 2] & 192) !== 128 || buf[i] === 224 && (buf[i + 1] & 224) === 128 || buf[i] === 237 && (buf[i + 1] & 224) === 160) { - return false; - } - i += 3; - } else if ((buf[i] & 248) === 240) { - if (i + 3 >= len || (buf[i + 1] & 192) !== 128 || (buf[i + 2] & 192) !== 128 || (buf[i + 3] & 192) !== 128 || buf[i] === 240 && (buf[i + 1] & 240) === 128 || buf[i] === 244 && buf[i + 1] > 143 || buf[i] > 244) { - return false; - } - i += 4; - } else { - return false; - } - } - return true; - } - try { - const isValidUTF8 = require("utf-8-validate"); - module2.exports = { - isValidStatusCode, - isValidUTF8(buf) { - return buf.length < 150 ? _isValidUTF8(buf) : isValidUTF8(buf); - }, - tokenChars - }; - } catch (e) { - module2.exports = { - isValidStatusCode, - isValidUTF8: _isValidUTF8, - tokenChars - }; - } - } -}); - -// node_modules/ws/lib/receiver.js -var require_receiver = __commonJS({ - "node_modules/ws/lib/receiver.js"(exports2, module2) { - "use strict"; - var { Writable } = require("stream"); - var PerMessageDeflate = require_permessage_deflate(); - var { - BINARY_TYPES, - EMPTY_BUFFER, - kStatusCode, - kWebSocket - } = require_constants(); - var { concat, toArrayBuffer, unmask } = require_buffer_util(); - var { isValidStatusCode, isValidUTF8 } = require_validation(); - var GET_INFO = 0; - var GET_PAYLOAD_LENGTH_16 = 1; - var GET_PAYLOAD_LENGTH_64 = 2; - var GET_MASK = 3; - var GET_DATA = 4; - var INFLATING = 5; - var Receiver = class extends Writable { - constructor(options = {}) { - super(); - this._binaryType = options.binaryType || BINARY_TYPES[0]; - this._extensions = options.extensions || {}; - this._isServer = !!options.isServer; - this._maxPayload = options.maxPayload | 0; - this._skipUTF8Validation = !!options.skipUTF8Validation; - this[kWebSocket] = void 0; - this._bufferedBytes = 0; - this._buffers = []; - this._compressed = false; - this._payloadLength = 0; - this._mask = void 0; - this._fragmented = 0; - this._masked = false; - this._fin = false; - this._opcode = 0; - this._totalPayloadLength = 0; - this._messageLength = 0; - this._fragments = []; - this._state = GET_INFO; - this._loop = false; - } - _write(chunk, encoding, cb) { - if (this._opcode === 8 && this._state == GET_INFO) - return cb(); - this._bufferedBytes += chunk.length; - this._buffers.push(chunk); - this.startLoop(cb); - } - consume(n) { - this._bufferedBytes -= n; - if (n === this._buffers[0].length) - return this._buffers.shift(); - if (n < this._buffers[0].length) { - const buf = this._buffers[0]; - this._buffers[0] = buf.slice(n); - return buf.slice(0, n); - } - const dst = Buffer.allocUnsafe(n); - do { - const buf = this._buffers[0]; - const offset = dst.length - n; - if (n >= buf.length) { - dst.set(this._buffers.shift(), offset); - } else { - dst.set(new Uint8Array(buf.buffer, buf.byteOffset, n), offset); - this._buffers[0] = buf.slice(n); - } - n -= buf.length; - } while (n > 0); - return dst; - } - startLoop(cb) { - let err; - this._loop = true; - do { - switch (this._state) { - case GET_INFO: - err = this.getInfo(); - break; - case GET_PAYLOAD_LENGTH_16: - err = this.getPayloadLength16(); - break; - case GET_PAYLOAD_LENGTH_64: - err = this.getPayloadLength64(); - break; - case GET_MASK: - this.getMask(); - break; - case GET_DATA: - err = this.getData(cb); - break; - default: - this._loop = false; - return; - } - } while (this._loop); - cb(err); - } - getInfo() { - if (this._bufferedBytes < 2) { - this._loop = false; - return; - } - const buf = this.consume(2); - if ((buf[0] & 48) !== 0) { - this._loop = false; - return error( - RangeError, - "RSV2 and RSV3 must be clear", - true, - 1002, - "WS_ERR_UNEXPECTED_RSV_2_3" - ); - } - const compressed = (buf[0] & 64) === 64; - if (compressed && !this._extensions[PerMessageDeflate.extensionName]) { - this._loop = false; - return error( - RangeError, - "RSV1 must be clear", - true, - 1002, - "WS_ERR_UNEXPECTED_RSV_1" - ); - } - this._fin = (buf[0] & 128) === 128; - this._opcode = buf[0] & 15; - this._payloadLength = buf[1] & 127; - if (this._opcode === 0) { - if (compressed) { - this._loop = false; - return error( - RangeError, - "RSV1 must be clear", - true, - 1002, - "WS_ERR_UNEXPECTED_RSV_1" - ); - } - if (!this._fragmented) { - this._loop = false; - return error( - RangeError, - "invalid opcode 0", - true, - 1002, - "WS_ERR_INVALID_OPCODE" - ); - } - this._opcode = this._fragmented; - } else if (this._opcode === 1 || this._opcode === 2) { - if (this._fragmented) { - this._loop = false; - return error( - RangeError, - `invalid opcode ${this._opcode}`, - true, - 1002, - "WS_ERR_INVALID_OPCODE" - ); - } - this._compressed = compressed; - } else if (this._opcode > 7 && this._opcode < 11) { - if (!this._fin) { - this._loop = false; - return error( - RangeError, - "FIN must be set", - true, - 1002, - "WS_ERR_EXPECTED_FIN" - ); - } - if (compressed) { - this._loop = false; - return error( - RangeError, - "RSV1 must be clear", - true, - 1002, - "WS_ERR_UNEXPECTED_RSV_1" - ); - } - if (this._payloadLength > 125) { - this._loop = false; - return error( - RangeError, - `invalid payload length ${this._payloadLength}`, - true, - 1002, - "WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH" - ); - } - } else { - this._loop = false; - return error( - RangeError, - `invalid opcode ${this._opcode}`, - true, - 1002, - "WS_ERR_INVALID_OPCODE" - ); - } - if (!this._fin && !this._fragmented) - this._fragmented = this._opcode; - this._masked = (buf[1] & 128) === 128; - if (this._isServer) { - if (!this._masked) { - this._loop = false; - return error( - RangeError, - "MASK must be set", - true, - 1002, - "WS_ERR_EXPECTED_MASK" - ); - } - } else if (this._masked) { - this._loop = false; - return error( - RangeError, - "MASK must be clear", - true, - 1002, - "WS_ERR_UNEXPECTED_MASK" - ); - } - if (this._payloadLength === 126) - this._state = GET_PAYLOAD_LENGTH_16; - else if (this._payloadLength === 127) - this._state = GET_PAYLOAD_LENGTH_64; - else - return this.haveLength(); - } - getPayloadLength16() { - if (this._bufferedBytes < 2) { - this._loop = false; - return; - } - this._payloadLength = this.consume(2).readUInt16BE(0); - return this.haveLength(); - } - getPayloadLength64() { - if (this._bufferedBytes < 8) { - this._loop = false; - return; - } - const buf = this.consume(8); - const num = buf.readUInt32BE(0); - if (num > Math.pow(2, 53 - 32) - 1) { - this._loop = false; - return error( - RangeError, - "Unsupported WebSocket frame: payload length > 2^53 - 1", - false, - 1009, - "WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH" - ); - } - this._payloadLength = num * Math.pow(2, 32) + buf.readUInt32BE(4); - return this.haveLength(); - } - haveLength() { - if (this._payloadLength && this._opcode < 8) { - this._totalPayloadLength += this._payloadLength; - if (this._totalPayloadLength > this._maxPayload && this._maxPayload > 0) { - this._loop = false; - return error( - RangeError, - "Max payload size exceeded", - false, - 1009, - "WS_ERR_UNSUPPORTED_MESSAGE_LENGTH" - ); - } - } - if (this._masked) - this._state = GET_MASK; - else - this._state = GET_DATA; - } - getMask() { - if (this._bufferedBytes < 4) { - this._loop = false; - return; - } - this._mask = this.consume(4); - this._state = GET_DATA; - } - getData(cb) { - let data = EMPTY_BUFFER; - if (this._payloadLength) { - if (this._bufferedBytes < this._payloadLength) { - this._loop = false; - return; - } - data = this.consume(this._payloadLength); - if (this._masked) - unmask(data, this._mask); - } - if (this._opcode > 7) - return this.controlMessage(data); - if (this._compressed) { - this._state = INFLATING; - this.decompress(data, cb); - return; - } - if (data.length) { - this._messageLength = this._totalPayloadLength; - this._fragments.push(data); - } - return this.dataMessage(); - } - decompress(data, cb) { - const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName]; - perMessageDeflate.decompress(data, this._fin, (err, buf) => { - if (err) - return cb(err); - if (buf.length) { - this._messageLength += buf.length; - if (this._messageLength > this._maxPayload && this._maxPayload > 0) { - return cb( - error( - RangeError, - "Max payload size exceeded", - false, - 1009, - "WS_ERR_UNSUPPORTED_MESSAGE_LENGTH" - ) - ); - } - this._fragments.push(buf); - } - const er = this.dataMessage(); - if (er) - return cb(er); - this.startLoop(cb); - }); - } - dataMessage() { - if (this._fin) { - const messageLength = this._messageLength; - const fragments = this._fragments; - this._totalPayloadLength = 0; - this._messageLength = 0; - this._fragmented = 0; - this._fragments = []; - if (this._opcode === 2) { - let data; - if (this._binaryType === "nodebuffer") { - data = concat(fragments, messageLength); - } else if (this._binaryType === "arraybuffer") { - data = toArrayBuffer(concat(fragments, messageLength)); - } else { - data = fragments; - } - this.emit("message", data, true); - } else { - const buf = concat(fragments, messageLength); - if (!this._skipUTF8Validation && !isValidUTF8(buf)) { - this._loop = false; - return error( - Error, - "invalid UTF-8 sequence", - true, - 1007, - "WS_ERR_INVALID_UTF8" - ); - } - this.emit("message", buf, false); - } - } - this._state = GET_INFO; - } - controlMessage(data) { - if (this._opcode === 8) { - this._loop = false; - if (data.length === 0) { - this.emit("conclude", 1005, EMPTY_BUFFER); - this.end(); - } else if (data.length === 1) { - return error( - RangeError, - "invalid payload length 1", - true, - 1002, - "WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH" - ); - } else { - const code = data.readUInt16BE(0); - if (!isValidStatusCode(code)) { - return error( - RangeError, - `invalid status code ${code}`, - true, - 1002, - "WS_ERR_INVALID_CLOSE_CODE" - ); - } - const buf = data.slice(2); - if (!this._skipUTF8Validation && !isValidUTF8(buf)) { - return error( - Error, - "invalid UTF-8 sequence", - true, - 1007, - "WS_ERR_INVALID_UTF8" - ); - } - this.emit("conclude", code, buf); - this.end(); - } - } else if (this._opcode === 9) { - this.emit("ping", data); - } else { - this.emit("pong", data); - } - this._state = GET_INFO; - } - }; - module2.exports = Receiver; - function error(ErrorCtor, message2, prefix, statusCode, errorCode) { - const err = new ErrorCtor( - prefix ? `Invalid WebSocket frame: ${message2}` : message2 - ); - Error.captureStackTrace(err, error); - err.code = errorCode; - err[kStatusCode] = statusCode; - return err; - } - } -}); - -// node_modules/ws/lib/sender.js -var require_sender = __commonJS({ - "node_modules/ws/lib/sender.js"(exports2, module2) { - "use strict"; - var net = require("net"); - var tls = require("tls"); - var { randomFillSync: randomFillSync2 } = require("crypto"); - var PerMessageDeflate = require_permessage_deflate(); - var { EMPTY_BUFFER } = require_constants(); - var { isValidStatusCode } = require_validation(); - var { mask: applyMask, toBuffer } = require_buffer_util(); - var mask = Buffer.alloc(4); - var Sender = class { - constructor(socket, extensions) { - this._extensions = extensions || {}; - this._socket = socket; - this._firstFragment = true; - this._compress = false; - this._bufferedBytes = 0; - this._deflating = false; - this._queue = []; - } - static frame(data, options) { - const merge2 = options.mask && options.readOnly; - let offset = options.mask ? 6 : 2; - let payloadLength = data.length; - if (data.length >= 65536) { - offset += 8; - payloadLength = 127; - } else if (data.length > 125) { - offset += 2; - payloadLength = 126; - } - const target = Buffer.allocUnsafe(merge2 ? data.length + offset : offset); - target[0] = options.fin ? options.opcode | 128 : options.opcode; - if (options.rsv1) - target[0] |= 64; - target[1] = payloadLength; - if (payloadLength === 126) { - target.writeUInt16BE(data.length, 2); - } else if (payloadLength === 127) { - target.writeUInt32BE(0, 2); - target.writeUInt32BE(data.length, 6); - } - if (!options.mask) - return [target, data]; - randomFillSync2(mask, 0, 4); - target[1] |= 128; - target[offset - 4] = mask[0]; - target[offset - 3] = mask[1]; - target[offset - 2] = mask[2]; - target[offset - 1] = mask[3]; - if (merge2) { - applyMask(data, mask, target, offset, data.length); - return [target]; - } - applyMask(data, mask, data, 0, data.length); - return [target, data]; - } - close(code, data, mask2, cb) { - let buf; - if (code === void 0) { - buf = EMPTY_BUFFER; - } else if (typeof code !== "number" || !isValidStatusCode(code)) { - throw new TypeError("First argument must be a valid error code number"); - } else if (data === void 0 || !data.length) { - buf = Buffer.allocUnsafe(2); - buf.writeUInt16BE(code, 0); - } else { - const length = Buffer.byteLength(data); - if (length > 123) { - throw new RangeError("The message must not be greater than 123 bytes"); - } - buf = Buffer.allocUnsafe(2 + length); - buf.writeUInt16BE(code, 0); - if (typeof data === "string") { - buf.write(data, 2); - } else { - buf.set(data, 2); - } - } - if (this._deflating) { - this.enqueue([this.doClose, buf, mask2, cb]); - } else { - this.doClose(buf, mask2, cb); - } - } - doClose(data, mask2, cb) { - this.sendFrame( - Sender.frame(data, { - fin: true, - rsv1: false, - opcode: 8, - mask: mask2, - readOnly: false - }), - cb - ); - } - ping(data, mask2, cb) { - const buf = toBuffer(data); - if (buf.length > 125) { - throw new RangeError("The data size must not be greater than 125 bytes"); - } - if (this._deflating) { - this.enqueue([this.doPing, buf, mask2, toBuffer.readOnly, cb]); - } else { - this.doPing(buf, mask2, toBuffer.readOnly, cb); - } - } - doPing(data, mask2, readOnly, cb) { - this.sendFrame( - Sender.frame(data, { - fin: true, - rsv1: false, - opcode: 9, - mask: mask2, - readOnly - }), - cb - ); - } - pong(data, mask2, cb) { - const buf = toBuffer(data); - if (buf.length > 125) { - throw new RangeError("The data size must not be greater than 125 bytes"); - } - if (this._deflating) { - this.enqueue([this.doPong, buf, mask2, toBuffer.readOnly, cb]); - } else { - this.doPong(buf, mask2, toBuffer.readOnly, cb); - } - } - doPong(data, mask2, readOnly, cb) { - this.sendFrame( - Sender.frame(data, { - fin: true, - rsv1: false, - opcode: 10, - mask: mask2, - readOnly - }), - cb - ); - } - send(data, options, cb) { - const buf = toBuffer(data); - const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName]; - let opcode = options.binary ? 2 : 1; - let rsv1 = options.compress; - if (this._firstFragment) { - this._firstFragment = false; - if (rsv1 && perMessageDeflate && perMessageDeflate.params[perMessageDeflate._isServer ? "server_no_context_takeover" : "client_no_context_takeover"]) { - rsv1 = buf.length >= perMessageDeflate._threshold; - } - this._compress = rsv1; - } else { - rsv1 = false; - opcode = 0; - } - if (options.fin) - this._firstFragment = true; - if (perMessageDeflate) { - const opts = { - fin: options.fin, - rsv1, - opcode, - mask: options.mask, - readOnly: toBuffer.readOnly - }; - if (this._deflating) { - this.enqueue([this.dispatch, buf, this._compress, opts, cb]); - } else { - this.dispatch(buf, this._compress, opts, cb); - } - } else { - this.sendFrame( - Sender.frame(buf, { - fin: options.fin, - rsv1: false, - opcode, - mask: options.mask, - readOnly: toBuffer.readOnly - }), - cb - ); - } - } - dispatch(data, compress, options, cb) { - if (!compress) { - this.sendFrame(Sender.frame(data, options), cb); - return; - } - const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName]; - this._bufferedBytes += data.length; - this._deflating = true; - perMessageDeflate.compress(data, options.fin, (_, buf) => { - if (this._socket.destroyed) { - const err = new Error( - "The socket was closed while data was being compressed" - ); - if (typeof cb === "function") - cb(err); - for (let i = 0; i < this._queue.length; i++) { - const callback = this._queue[i][4]; - if (typeof callback === "function") - callback(err); - } - return; - } - this._bufferedBytes -= data.length; - this._deflating = false; - options.readOnly = false; - this.sendFrame(Sender.frame(buf, options), cb); - this.dequeue(); - }); - } - dequeue() { - while (!this._deflating && this._queue.length) { - const params = this._queue.shift(); - this._bufferedBytes -= params[1].length; - Reflect.apply(params[0], this, params.slice(1)); - } - } - enqueue(params) { - this._bufferedBytes += params[1].length; - this._queue.push(params); - } - sendFrame(list, cb) { - if (list.length === 2) { - this._socket.cork(); - this._socket.write(list[0]); - this._socket.write(list[1], cb); - this._socket.uncork(); - } else { - this._socket.write(list[0], cb); - } - } - }; - module2.exports = Sender; - } -}); - -// node_modules/ws/lib/event-target.js -var require_event_target = __commonJS({ - "node_modules/ws/lib/event-target.js"(exports2, module2) { - "use strict"; - var { kForOnEventAttribute, kListener } = require_constants(); - var kCode = Symbol("kCode"); - var kData = Symbol("kData"); - var kError = Symbol("kError"); - var kMessage = Symbol("kMessage"); - var kReason = Symbol("kReason"); - var kTarget = Symbol("kTarget"); - var kType = Symbol("kType"); - var kWasClean = Symbol("kWasClean"); - var Event = class { - constructor(type) { - this[kTarget] = null; - this[kType] = type; - } - get target() { - return this[kTarget]; - } - get type() { - return this[kType]; - } - }; - Object.defineProperty(Event.prototype, "target", { enumerable: true }); - Object.defineProperty(Event.prototype, "type", { enumerable: true }); - var CloseEvent = class extends Event { - constructor(type, options = {}) { - super(type); - this[kCode] = options.code === void 0 ? 0 : options.code; - this[kReason] = options.reason === void 0 ? "" : options.reason; - this[kWasClean] = options.wasClean === void 0 ? false : options.wasClean; - } - get code() { - return this[kCode]; - } - get reason() { - return this[kReason]; - } - get wasClean() { - return this[kWasClean]; - } - }; - Object.defineProperty(CloseEvent.prototype, "code", { enumerable: true }); - Object.defineProperty(CloseEvent.prototype, "reason", { enumerable: true }); - Object.defineProperty(CloseEvent.prototype, "wasClean", { enumerable: true }); - var ErrorEvent = class extends Event { - constructor(type, options = {}) { - super(type); - this[kError] = options.error === void 0 ? null : options.error; - this[kMessage] = options.message === void 0 ? "" : options.message; - } - get error() { - return this[kError]; - } - get message() { - return this[kMessage]; - } - }; - Object.defineProperty(ErrorEvent.prototype, "error", { enumerable: true }); - Object.defineProperty(ErrorEvent.prototype, "message", { enumerable: true }); - var MessageEvent = class extends Event { - constructor(type, options = {}) { - super(type); - this[kData] = options.data === void 0 ? null : options.data; - } - get data() { - return this[kData]; - } - }; - Object.defineProperty(MessageEvent.prototype, "data", { enumerable: true }); - var EventTarget = { - addEventListener(type, listener, options = {}) { - let wrapper; - if (type === "message") { - wrapper = function onMessage(data, isBinary) { - const event = new MessageEvent("message", { - data: isBinary ? data : data.toString() - }); - event[kTarget] = this; - listener.call(this, event); - }; - } else if (type === "close") { - wrapper = function onClose(code, message2) { - const event = new CloseEvent("close", { - code, - reason: message2.toString(), - wasClean: this._closeFrameReceived && this._closeFrameSent - }); - event[kTarget] = this; - listener.call(this, event); - }; - } else if (type === "error") { - wrapper = function onError(error) { - const event = new ErrorEvent("error", { - error, - message: error.message - }); - event[kTarget] = this; - listener.call(this, event); - }; - } else if (type === "open") { - wrapper = function onOpen() { - const event = new Event("open"); - event[kTarget] = this; - listener.call(this, event); - }; - } else { - return; - } - wrapper[kForOnEventAttribute] = !!options[kForOnEventAttribute]; - wrapper[kListener] = listener; - if (options.once) { - this.once(type, wrapper); - } else { - this.on(type, wrapper); - } - }, - removeEventListener(type, handler) { - for (const listener of this.listeners(type)) { - if (listener[kListener] === handler && !listener[kForOnEventAttribute]) { - this.removeListener(type, listener); - break; - } - } - } - }; - module2.exports = { - CloseEvent, - ErrorEvent, - Event, - EventTarget, - MessageEvent - }; - } -}); - -// node_modules/ws/lib/extension.js -var require_extension = __commonJS({ - "node_modules/ws/lib/extension.js"(exports2, module2) { - "use strict"; - var { tokenChars } = require_validation(); - function push(dest, name, elem) { - if (dest[name] === void 0) - dest[name] = [elem]; - else - dest[name].push(elem); - } - function parse(header) { - const offers = /* @__PURE__ */ Object.create(null); - let params = /* @__PURE__ */ Object.create(null); - let mustUnescape = false; - let isEscaping = false; - let inQuotes = false; - let extensionName; - let paramName; - let start = -1; - let code = -1; - let end = -1; - let i = 0; - for (; i < header.length; i++) { - code = header.charCodeAt(i); - if (extensionName === void 0) { - if (end === -1 && tokenChars[code] === 1) { - if (start === -1) - start = i; - } else if (i !== 0 && (code === 32 || code === 9)) { - if (end === -1 && start !== -1) - end = i; - } else if (code === 59 || code === 44) { - if (start === -1) { - throw new SyntaxError(`Unexpected character at index ${i}`); - } - if (end === -1) - end = i; - const name = header.slice(start, end); - if (code === 44) { - push(offers, name, params); - params = /* @__PURE__ */ Object.create(null); - } else { - extensionName = name; - } - start = end = -1; - } else { - throw new SyntaxError(`Unexpected character at index ${i}`); - } - } else if (paramName === void 0) { - if (end === -1 && tokenChars[code] === 1) { - if (start === -1) - start = i; - } else if (code === 32 || code === 9) { - if (end === -1 && start !== -1) - end = i; - } else if (code === 59 || code === 44) { - if (start === -1) { - throw new SyntaxError(`Unexpected character at index ${i}`); - } - if (end === -1) - end = i; - push(params, header.slice(start, end), true); - if (code === 44) { - push(offers, extensionName, params); - params = /* @__PURE__ */ Object.create(null); - extensionName = void 0; - } - start = end = -1; - } else if (code === 61 && start !== -1 && end === -1) { - paramName = header.slice(start, i); - start = end = -1; - } else { - throw new SyntaxError(`Unexpected character at index ${i}`); - } - } else { - if (isEscaping) { - if (tokenChars[code] !== 1) { - throw new SyntaxError(`Unexpected character at index ${i}`); - } - if (start === -1) - start = i; - else if (!mustUnescape) - mustUnescape = true; - isEscaping = false; - } else if (inQuotes) { - if (tokenChars[code] === 1) { - if (start === -1) - start = i; - } else if (code === 34 && start !== -1) { - inQuotes = false; - end = i; - } else if (code === 92) { - isEscaping = true; - } else { - throw new SyntaxError(`Unexpected character at index ${i}`); - } - } else if (code === 34 && header.charCodeAt(i - 1) === 61) { - inQuotes = true; - } else if (end === -1 && tokenChars[code] === 1) { - if (start === -1) - start = i; - } else if (start !== -1 && (code === 32 || code === 9)) { - if (end === -1) - end = i; - } else if (code === 59 || code === 44) { - if (start === -1) { - throw new SyntaxError(`Unexpected character at index ${i}`); - } - if (end === -1) - end = i; - let value = header.slice(start, end); - if (mustUnescape) { - value = value.replace(/\\/g, ""); - mustUnescape = false; - } - push(params, paramName, value); - if (code === 44) { - push(offers, extensionName, params); - params = /* @__PURE__ */ Object.create(null); - extensionName = void 0; - } - paramName = void 0; - start = end = -1; - } else { - throw new SyntaxError(`Unexpected character at index ${i}`); - } - } - } - if (start === -1 || inQuotes || code === 32 || code === 9) { - throw new SyntaxError("Unexpected end of input"); - } - if (end === -1) - end = i; - const token = header.slice(start, end); - if (extensionName === void 0) { - push(offers, token, params); - } else { - if (paramName === void 0) { - push(params, token, true); - } else if (mustUnescape) { - push(params, paramName, token.replace(/\\/g, "")); - } else { - push(params, paramName, token); - } - push(offers, extensionName, params); - } - return offers; - } - function format2(extensions) { - return Object.keys(extensions).map((extension) => { - let configurations = extensions[extension]; - if (!Array.isArray(configurations)) - configurations = [configurations]; - return configurations.map((params) => { - return [extension].concat( - Object.keys(params).map((k) => { - let values = params[k]; - if (!Array.isArray(values)) - values = [values]; - return values.map((v) => v === true ? k : `${k}=${v}`).join("; "); - }) - ).join("; "); - }).join(", "); - }).join(", "); - } - module2.exports = { format: format2, parse }; - } -}); - -// node_modules/ws/lib/websocket.js -var require_websocket2 = __commonJS({ - "node_modules/ws/lib/websocket.js"(exports2, module2) { - "use strict"; - var EventEmitter2 = require("events"); - var https2 = require("https"); - var http2 = require("http"); - var net = require("net"); - var tls = require("tls"); - var { randomBytes, createHash: createHash3 } = require("crypto"); - var { Readable: Readable2 } = require("stream"); - var { URL: URL2 } = require("url"); - var PerMessageDeflate = require_permessage_deflate(); - var Receiver = require_receiver(); - var Sender = require_sender(); - var { - BINARY_TYPES, - EMPTY_BUFFER, - GUID, - kForOnEventAttribute, - kListener, - kStatusCode, - kWebSocket, - NOOP - } = require_constants(); - var { - EventTarget: { addEventListener, removeEventListener } - } = require_event_target(); - var { format: format2, parse } = require_extension(); - var { toBuffer } = require_buffer_util(); - var readyStates = ["CONNECTING", "OPEN", "CLOSING", "CLOSED"]; - var subprotocolRegex = /^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/; - var protocolVersions = [8, 13]; - var closeTimeout = 30 * 1e3; - var WebSocket = class extends EventEmitter2 { - constructor(address, protocols, options) { - super(); - this._binaryType = BINARY_TYPES[0]; - this._closeCode = 1006; - this._closeFrameReceived = false; - this._closeFrameSent = false; - this._closeMessage = EMPTY_BUFFER; - this._closeTimer = null; - this._extensions = {}; - this._protocol = ""; - this._readyState = WebSocket.CONNECTING; - this._receiver = null; - this._sender = null; - this._socket = null; - if (address !== null) { - this._bufferedAmount = 0; - this._isServer = false; - this._redirects = 0; - if (protocols === void 0) { - protocols = []; - } else if (!Array.isArray(protocols)) { - if (typeof protocols === "object" && protocols !== null) { - options = protocols; - protocols = []; - } else { - protocols = [protocols]; - } - } - initAsClient(this, address, protocols, options); - } else { - this._isServer = true; - } - } - get binaryType() { - return this._binaryType; - } - set binaryType(type) { - if (!BINARY_TYPES.includes(type)) - return; - this._binaryType = type; - if (this._receiver) - this._receiver._binaryType = type; - } - get bufferedAmount() { - if (!this._socket) - return this._bufferedAmount; - return this._socket._writableState.length + this._sender._bufferedBytes; - } - get extensions() { - return Object.keys(this._extensions).join(); - } - get onclose() { - return null; - } - get onerror() { - return null; - } - get onopen() { - return null; - } - get onmessage() { - return null; - } - get protocol() { - return this._protocol; - } - get readyState() { - return this._readyState; - } - get url() { - return this._url; - } - setSocket(socket, head, options) { - const receiver = new Receiver({ - binaryType: this.binaryType, - extensions: this._extensions, - isServer: this._isServer, - maxPayload: options.maxPayload, - skipUTF8Validation: options.skipUTF8Validation - }); - this._sender = new Sender(socket, this._extensions); - this._receiver = receiver; - this._socket = socket; - receiver[kWebSocket] = this; - socket[kWebSocket] = this; - receiver.on("conclude", receiverOnConclude); - receiver.on("drain", receiverOnDrain); - receiver.on("error", receiverOnError); - receiver.on("message", receiverOnMessage); - receiver.on("ping", receiverOnPing); - receiver.on("pong", receiverOnPong); - socket.setTimeout(0); - socket.setNoDelay(); - if (head.length > 0) - socket.unshift(head); - socket.on("close", socketOnClose); - socket.on("data", socketOnData); - socket.on("end", socketOnEnd); - socket.on("error", socketOnError); - this._readyState = WebSocket.OPEN; - this.emit("open"); - } - emitClose() { - if (!this._socket) { - this._readyState = WebSocket.CLOSED; - this.emit("close", this._closeCode, this._closeMessage); - return; - } - if (this._extensions[PerMessageDeflate.extensionName]) { - this._extensions[PerMessageDeflate.extensionName].cleanup(); - } - this._receiver.removeAllListeners(); - this._readyState = WebSocket.CLOSED; - this.emit("close", this._closeCode, this._closeMessage); - } - close(code, data) { - if (this.readyState === WebSocket.CLOSED) - return; - if (this.readyState === WebSocket.CONNECTING) { - const msg = "WebSocket was closed before the connection was established"; - return abortHandshake(this, this._req, msg); - } - if (this.readyState === WebSocket.CLOSING) { - if (this._closeFrameSent && (this._closeFrameReceived || this._receiver._writableState.errorEmitted)) { - this._socket.end(); - } - return; - } - this._readyState = WebSocket.CLOSING; - this._sender.close(code, data, !this._isServer, (err) => { - if (err) - return; - this._closeFrameSent = true; - if (this._closeFrameReceived || this._receiver._writableState.errorEmitted) { - this._socket.end(); - } - }); - this._closeTimer = setTimeout( - this._socket.destroy.bind(this._socket), - closeTimeout - ); - } - ping(data, mask, cb) { - if (this.readyState === WebSocket.CONNECTING) { - throw new Error("WebSocket is not open: readyState 0 (CONNECTING)"); - } - if (typeof data === "function") { - cb = data; - data = mask = void 0; - } else if (typeof mask === "function") { - cb = mask; - mask = void 0; - } - if (typeof data === "number") - data = data.toString(); - if (this.readyState !== WebSocket.OPEN) { - sendAfterClose(this, data, cb); - return; - } - if (mask === void 0) - mask = !this._isServer; - this._sender.ping(data || EMPTY_BUFFER, mask, cb); - } - pong(data, mask, cb) { - if (this.readyState === WebSocket.CONNECTING) { - throw new Error("WebSocket is not open: readyState 0 (CONNECTING)"); - } - if (typeof data === "function") { - cb = data; - data = mask = void 0; - } else if (typeof mask === "function") { - cb = mask; - mask = void 0; - } - if (typeof data === "number") - data = data.toString(); - if (this.readyState !== WebSocket.OPEN) { - sendAfterClose(this, data, cb); - return; - } - if (mask === void 0) - mask = !this._isServer; - this._sender.pong(data || EMPTY_BUFFER, mask, cb); - } - send(data, options, cb) { - if (this.readyState === WebSocket.CONNECTING) { - throw new Error("WebSocket is not open: readyState 0 (CONNECTING)"); - } - if (typeof options === "function") { - cb = options; - options = {}; - } - if (typeof data === "number") - data = data.toString(); - if (this.readyState !== WebSocket.OPEN) { - sendAfterClose(this, data, cb); - return; - } - const opts = { - binary: typeof data !== "string", - mask: !this._isServer, - compress: true, - fin: true, - ...options - }; - if (!this._extensions[PerMessageDeflate.extensionName]) { - opts.compress = false; - } - this._sender.send(data || EMPTY_BUFFER, opts, cb); - } - terminate() { - if (this.readyState === WebSocket.CLOSED) - return; - if (this.readyState === WebSocket.CONNECTING) { - const msg = "WebSocket was closed before the connection was established"; - return abortHandshake(this, this._req, msg); - } - if (this._socket) { - this._readyState = WebSocket.CLOSING; - this._socket.destroy(); - } - } - }; - Object.defineProperty(WebSocket, "CONNECTING", { - enumerable: true, - value: readyStates.indexOf("CONNECTING") - }); - Object.defineProperty(WebSocket.prototype, "CONNECTING", { - enumerable: true, - value: readyStates.indexOf("CONNECTING") - }); - Object.defineProperty(WebSocket, "OPEN", { - enumerable: true, - value: readyStates.indexOf("OPEN") - }); - Object.defineProperty(WebSocket.prototype, "OPEN", { - enumerable: true, - value: readyStates.indexOf("OPEN") - }); - Object.defineProperty(WebSocket, "CLOSING", { - enumerable: true, - value: readyStates.indexOf("CLOSING") - }); - Object.defineProperty(WebSocket.prototype, "CLOSING", { - enumerable: true, - value: readyStates.indexOf("CLOSING") - }); - Object.defineProperty(WebSocket, "CLOSED", { - enumerable: true, - value: readyStates.indexOf("CLOSED") - }); - Object.defineProperty(WebSocket.prototype, "CLOSED", { - enumerable: true, - value: readyStates.indexOf("CLOSED") - }); - [ - "binaryType", - "bufferedAmount", - "extensions", - "protocol", - "readyState", - "url" - ].forEach((property) => { - Object.defineProperty(WebSocket.prototype, property, { enumerable: true }); - }); - ["open", "error", "close", "message"].forEach((method) => { - Object.defineProperty(WebSocket.prototype, `on${method}`, { - enumerable: true, - get() { - for (const listener of this.listeners(method)) { - if (listener[kForOnEventAttribute]) - return listener[kListener]; - } - return null; - }, - set(handler) { - for (const listener of this.listeners(method)) { - if (listener[kForOnEventAttribute]) { - this.removeListener(method, listener); - break; - } - } - if (typeof handler !== "function") - return; - this.addEventListener(method, handler, { - [kForOnEventAttribute]: true - }); - } - }); - }); - WebSocket.prototype.addEventListener = addEventListener; - WebSocket.prototype.removeEventListener = removeEventListener; - module2.exports = WebSocket; - function initAsClient(websocket, address, protocols, options) { - const opts = { - protocolVersion: protocolVersions[1], - maxPayload: 100 * 1024 * 1024, - skipUTF8Validation: false, - perMessageDeflate: true, - followRedirects: false, - maxRedirects: 10, - ...options, - createConnection: void 0, - socketPath: void 0, - hostname: void 0, - protocol: void 0, - timeout: void 0, - method: void 0, - host: void 0, - path: void 0, - port: void 0 - }; - if (!protocolVersions.includes(opts.protocolVersion)) { - throw new RangeError( - `Unsupported protocol version: ${opts.protocolVersion} (supported versions: ${protocolVersions.join(", ")})` - ); - } - let parsedUrl; - if (address instanceof URL2) { - parsedUrl = address; - websocket._url = address.href; - } else { - try { - parsedUrl = new URL2(address); - } catch (e) { - throw new SyntaxError(`Invalid URL: ${address}`); - } - websocket._url = address; - } - const isSecure = parsedUrl.protocol === "wss:"; - const isUnixSocket = parsedUrl.protocol === "ws+unix:"; - if (parsedUrl.protocol !== "ws:" && !isSecure && !isUnixSocket) { - throw new SyntaxError( - `The URL's protocol must be one of "ws:", "wss:", or "ws+unix:"` - ); - } - if (isUnixSocket && !parsedUrl.pathname) { - throw new SyntaxError("The URL's pathname is empty"); - } - if (parsedUrl.hash) { - throw new SyntaxError("The URL contains a fragment identifier"); - } - const defaultPort = isSecure ? 443 : 80; - const key = randomBytes(16).toString("base64"); - const get = isSecure ? https2.get : http2.get; - const protocolSet = /* @__PURE__ */ new Set(); - let perMessageDeflate; - opts.createConnection = isSecure ? tlsConnect : netConnect; - opts.defaultPort = opts.defaultPort || defaultPort; - opts.port = parsedUrl.port || defaultPort; - opts.host = parsedUrl.hostname.startsWith("[") ? parsedUrl.hostname.slice(1, -1) : parsedUrl.hostname; - opts.headers = { - "Sec-WebSocket-Version": opts.protocolVersion, - "Sec-WebSocket-Key": key, - Connection: "Upgrade", - Upgrade: "websocket", - ...opts.headers - }; - opts.path = parsedUrl.pathname + parsedUrl.search; - opts.timeout = opts.handshakeTimeout; - if (opts.perMessageDeflate) { - perMessageDeflate = new PerMessageDeflate( - opts.perMessageDeflate !== true ? opts.perMessageDeflate : {}, - false, - opts.maxPayload - ); - opts.headers["Sec-WebSocket-Extensions"] = format2({ - [PerMessageDeflate.extensionName]: perMessageDeflate.offer() - }); - } - if (protocols.length) { - for (const protocol of protocols) { - if (typeof protocol !== "string" || !subprotocolRegex.test(protocol) || protocolSet.has(protocol)) { - throw new SyntaxError( - "An invalid or duplicated subprotocol was specified" - ); - } - protocolSet.add(protocol); - } - opts.headers["Sec-WebSocket-Protocol"] = protocols.join(","); - } - if (opts.origin) { - if (opts.protocolVersion < 13) { - opts.headers["Sec-WebSocket-Origin"] = opts.origin; - } else { - opts.headers.Origin = opts.origin; - } - } - if (parsedUrl.username || parsedUrl.password) { - opts.auth = `${parsedUrl.username}:${parsedUrl.password}`; - } - if (isUnixSocket) { - const parts = opts.path.split(":"); - opts.socketPath = parts[0]; - opts.path = parts[1]; - } - let req = websocket._req = get(opts); - if (opts.timeout) { - req.on("timeout", () => { - abortHandshake(websocket, req, "Opening handshake has timed out"); - }); - } - req.on("error", (err) => { - if (req === null || req.aborted) - return; - req = websocket._req = null; - websocket._readyState = WebSocket.CLOSING; - websocket.emit("error", err); - websocket.emitClose(); - }); - req.on("response", (res) => { - const location = res.headers.location; - const statusCode = res.statusCode; - if (location && opts.followRedirects && statusCode >= 300 && statusCode < 400) { - if (++websocket._redirects > opts.maxRedirects) { - abortHandshake(websocket, req, "Maximum redirects exceeded"); - return; - } - req.abort(); - const addr = new URL2(location, address); - initAsClient(websocket, addr, protocols, options); - } else if (!websocket.emit("unexpected-response", req, res)) { - abortHandshake( - websocket, - req, - `Unexpected server response: ${res.statusCode}` - ); - } - }); - req.on("upgrade", (res, socket, head) => { - websocket.emit("upgrade", res); - if (websocket.readyState !== WebSocket.CONNECTING) - return; - req = websocket._req = null; - const digest = createHash3("sha1").update(key + GUID).digest("base64"); - if (res.headers["sec-websocket-accept"] !== digest) { - abortHandshake(websocket, socket, "Invalid Sec-WebSocket-Accept header"); - return; - } - const serverProt = res.headers["sec-websocket-protocol"]; - let protError; - if (serverProt !== void 0) { - if (!protocolSet.size) { - protError = "Server sent a subprotocol but none was requested"; - } else if (!protocolSet.has(serverProt)) { - protError = "Server sent an invalid subprotocol"; - } - } else if (protocolSet.size) { - protError = "Server sent no subprotocol"; - } - if (protError) { - abortHandshake(websocket, socket, protError); - return; - } - if (serverProt) - websocket._protocol = serverProt; - const secWebSocketExtensions = res.headers["sec-websocket-extensions"]; - if (secWebSocketExtensions !== void 0) { - if (!perMessageDeflate) { - const message2 = "Server sent a Sec-WebSocket-Extensions header but no extension was requested"; - abortHandshake(websocket, socket, message2); - return; - } - let extensions; - try { - extensions = parse(secWebSocketExtensions); - } catch (err) { - const message2 = "Invalid Sec-WebSocket-Extensions header"; - abortHandshake(websocket, socket, message2); - return; - } - const extensionNames = Object.keys(extensions); - if (extensionNames.length !== 1 || extensionNames[0] !== PerMessageDeflate.extensionName) { - const message2 = "Server indicated an extension that was not requested"; - abortHandshake(websocket, socket, message2); - return; - } - try { - perMessageDeflate.accept(extensions[PerMessageDeflate.extensionName]); - } catch (err) { - const message2 = "Invalid Sec-WebSocket-Extensions header"; - abortHandshake(websocket, socket, message2); - return; - } - websocket._extensions[PerMessageDeflate.extensionName] = perMessageDeflate; - } - websocket.setSocket(socket, head, { - maxPayload: opts.maxPayload, - skipUTF8Validation: opts.skipUTF8Validation - }); - }); - } - function netConnect(options) { - options.path = options.socketPath; - return net.connect(options); - } - function tlsConnect(options) { - options.path = void 0; - if (!options.servername && options.servername !== "") { - options.servername = net.isIP(options.host) ? "" : options.host; - } - return tls.connect(options); - } - function abortHandshake(websocket, stream4, message2) { - websocket._readyState = WebSocket.CLOSING; - const err = new Error(message2); - Error.captureStackTrace(err, abortHandshake); - if (stream4.setHeader) { - stream4.abort(); - if (stream4.socket && !stream4.socket.destroyed) { - stream4.socket.destroy(); - } - stream4.once("abort", websocket.emitClose.bind(websocket)); - websocket.emit("error", err); - } else { - stream4.destroy(err); - stream4.once("error", websocket.emit.bind(websocket, "error")); - stream4.once("close", websocket.emitClose.bind(websocket)); - } - } - function sendAfterClose(websocket, data, cb) { - if (data) { - const length = toBuffer(data).length; - if (websocket._socket) - websocket._sender._bufferedBytes += length; - else - websocket._bufferedAmount += length; - } - if (cb) { - const err = new Error( - `WebSocket is not open: readyState ${websocket.readyState} (${readyStates[websocket.readyState]})` - ); - cb(err); - } - } - function receiverOnConclude(code, reason) { - const websocket = this[kWebSocket]; - websocket._closeFrameReceived = true; - websocket._closeMessage = reason; - websocket._closeCode = code; - if (websocket._socket[kWebSocket] === void 0) - return; - websocket._socket.removeListener("data", socketOnData); - process.nextTick(resume, websocket._socket); - if (code === 1005) - websocket.close(); - else - websocket.close(code, reason); - } - function receiverOnDrain() { - this[kWebSocket]._socket.resume(); - } - function receiverOnError(err) { - const websocket = this[kWebSocket]; - if (websocket._socket[kWebSocket] !== void 0) { - websocket._socket.removeListener("data", socketOnData); - process.nextTick(resume, websocket._socket); - websocket.close(err[kStatusCode]); - } - websocket.emit("error", err); - } - function receiverOnFinish() { - this[kWebSocket].emitClose(); - } - function receiverOnMessage(data, isBinary) { - this[kWebSocket].emit("message", data, isBinary); - } - function receiverOnPing(data) { - const websocket = this[kWebSocket]; - websocket.pong(data, !websocket._isServer, NOOP); - websocket.emit("ping", data); - } - function receiverOnPong(data) { - this[kWebSocket].emit("pong", data); - } - function resume(stream4) { - stream4.resume(); - } - function socketOnClose() { - const websocket = this[kWebSocket]; - this.removeListener("close", socketOnClose); - this.removeListener("data", socketOnData); - this.removeListener("end", socketOnEnd); - websocket._readyState = WebSocket.CLOSING; - let chunk; - if (!this._readableState.endEmitted && !websocket._closeFrameReceived && !websocket._receiver._writableState.errorEmitted && (chunk = websocket._socket.read()) !== null) { - websocket._receiver.write(chunk); - } - websocket._receiver.end(); - this[kWebSocket] = void 0; - clearTimeout(websocket._closeTimer); - if (websocket._receiver._writableState.finished || websocket._receiver._writableState.errorEmitted) { - websocket.emitClose(); - } else { - websocket._receiver.on("error", receiverOnFinish); - websocket._receiver.on("finish", receiverOnFinish); - } - } - function socketOnData(chunk) { - if (!this[kWebSocket]._receiver.write(chunk)) { - this.pause(); - } - } - function socketOnEnd() { - const websocket = this[kWebSocket]; - websocket._readyState = WebSocket.CLOSING; - websocket._receiver.end(); - this.end(); - } - function socketOnError() { - const websocket = this[kWebSocket]; - this.removeListener("error", socketOnError); - this.on("error", NOOP); - if (websocket) { - websocket._readyState = WebSocket.CLOSING; - this.destroy(); - } - } - } -}); - -// node_modules/ws/lib/stream.js -var require_stream3 = __commonJS({ - "node_modules/ws/lib/stream.js"(exports2, module2) { - "use strict"; - var { Duplex } = require("stream"); - function emitClose(stream4) { - stream4.emit("close"); - } - function duplexOnEnd() { - if (!this.destroyed && this._writableState.finished) { - this.destroy(); - } - } - function duplexOnError(err) { - this.removeListener("error", duplexOnError); - this.destroy(); - if (this.listenerCount("error") === 0) { - this.emit("error", err); - } - } - function createWebSocketStream(ws, options) { - let resumeOnReceiverDrain = true; - let terminateOnDestroy = true; - function receiverOnDrain() { - if (resumeOnReceiverDrain) - ws._socket.resume(); - } - if (ws.readyState === ws.CONNECTING) { - ws.once("open", function open() { - ws._receiver.removeAllListeners("drain"); - ws._receiver.on("drain", receiverOnDrain); - }); - } else { - ws._receiver.removeAllListeners("drain"); - ws._receiver.on("drain", receiverOnDrain); - } - const duplex = new Duplex({ - ...options, - autoDestroy: false, - emitClose: false, - objectMode: false, - writableObjectMode: false - }); - ws.on("message", function message2(msg, isBinary) { - const data = !isBinary && duplex._readableState.objectMode ? msg.toString() : msg; - if (!duplex.push(data)) { - resumeOnReceiverDrain = false; - ws._socket.pause(); - } - }); - ws.once("error", function error(err) { - if (duplex.destroyed) - return; - terminateOnDestroy = false; - duplex.destroy(err); - }); - ws.once("close", function close() { - if (duplex.destroyed) - return; - duplex.push(null); - }); - duplex._destroy = function(err, callback) { - if (ws.readyState === ws.CLOSED) { - callback(err); - process.nextTick(emitClose, duplex); - return; - } - let called = false; - ws.once("error", function error(err2) { - called = true; - callback(err2); - }); - ws.once("close", function close() { - if (!called) - callback(err); - process.nextTick(emitClose, duplex); - }); - if (terminateOnDestroy) - ws.terminate(); - }; - duplex._final = function(callback) { - if (ws.readyState === ws.CONNECTING) { - ws.once("open", function open() { - duplex._final(callback); - }); - return; - } - if (ws._socket === null) - return; - if (ws._socket._writableState.finished) { - callback(); - if (duplex._readableState.endEmitted) - duplex.destroy(); - } else { - ws._socket.once("finish", function finish() { - callback(); - }); - ws.close(); - } - }; - duplex._read = function() { - if (ws.readyState === ws.OPEN && !resumeOnReceiverDrain) { - resumeOnReceiverDrain = true; - if (!ws._receiver._writableState.needDrain) - ws._socket.resume(); - } - }; - duplex._write = function(chunk, encoding, callback) { - if (ws.readyState === ws.CONNECTING) { - ws.once("open", function open() { - duplex._write(chunk, encoding, callback); - }); - return; - } - ws.send(chunk, callback); - }; - duplex.on("end", duplexOnEnd); - duplex.on("error", duplexOnError); - return duplex; - } - module2.exports = createWebSocketStream; - } -}); - -// node_modules/ws/lib/subprotocol.js -var require_subprotocol = __commonJS({ - "node_modules/ws/lib/subprotocol.js"(exports2, module2) { - "use strict"; - var { tokenChars } = require_validation(); - function parse(header) { - const protocols = /* @__PURE__ */ new Set(); - let start = -1; - let end = -1; - let i = 0; - for (i; i < header.length; i++) { - const code = header.charCodeAt(i); - if (end === -1 && tokenChars[code] === 1) { - if (start === -1) - start = i; - } else if (i !== 0 && (code === 32 || code === 9)) { - if (end === -1 && start !== -1) - end = i; - } else if (code === 44) { - if (start === -1) { - throw new SyntaxError(`Unexpected character at index ${i}`); - } - if (end === -1) - end = i; - const protocol2 = header.slice(start, end); - if (protocols.has(protocol2)) { - throw new SyntaxError(`The "${protocol2}" subprotocol is duplicated`); - } - protocols.add(protocol2); - start = end = -1; - } else { - throw new SyntaxError(`Unexpected character at index ${i}`); - } - } - if (start === -1 || end !== -1) { - throw new SyntaxError("Unexpected end of input"); - } - const protocol = header.slice(start, i); - if (protocols.has(protocol)) { - throw new SyntaxError(`The "${protocol}" subprotocol is duplicated`); - } - protocols.add(protocol); - return protocols; - } - module2.exports = { parse }; - } -}); - -// node_modules/ws/lib/websocket-server.js -var require_websocket_server = __commonJS({ - "node_modules/ws/lib/websocket-server.js"(exports2, module2) { - "use strict"; - var EventEmitter2 = require("events"); - var http2 = require("http"); - var https2 = require("https"); - var net = require("net"); - var tls = require("tls"); - var { createHash: createHash3 } = require("crypto"); - var extension = require_extension(); - var PerMessageDeflate = require_permessage_deflate(); - var subprotocol = require_subprotocol(); - var WebSocket = require_websocket2(); - var { GUID, kWebSocket } = require_constants(); - var keyRegex = /^[+/0-9A-Za-z]{22}==$/; - var RUNNING = 0; - var CLOSING = 1; - var CLOSED = 2; - var WebSocketServer = class extends EventEmitter2 { - constructor(options, callback) { - super(); - options = { - maxPayload: 100 * 1024 * 1024, - skipUTF8Validation: false, - perMessageDeflate: false, - handleProtocols: null, - clientTracking: true, - verifyClient: null, - noServer: false, - backlog: null, - server: null, - host: null, - path: null, - port: null, - ...options - }; - if (options.port == null && !options.server && !options.noServer || options.port != null && (options.server || options.noServer) || options.server && options.noServer) { - throw new TypeError( - 'One and only one of the "port", "server", or "noServer" options must be specified' - ); - } - if (options.port != null) { - this._server = http2.createServer((req, res) => { - const body = http2.STATUS_CODES[426]; - res.writeHead(426, { - "Content-Length": body.length, - "Content-Type": "text/plain" - }); - res.end(body); - }); - this._server.listen( - options.port, - options.host, - options.backlog, - callback - ); - } else if (options.server) { - this._server = options.server; - } - if (this._server) { - const emitConnection = this.emit.bind(this, "connection"); - this._removeListeners = addListeners(this._server, { - listening: this.emit.bind(this, "listening"), - error: this.emit.bind(this, "error"), - upgrade: (req, socket, head) => { - this.handleUpgrade(req, socket, head, emitConnection); - } - }); - } - if (options.perMessageDeflate === true) - options.perMessageDeflate = {}; - if (options.clientTracking) { - this.clients = /* @__PURE__ */ new Set(); - this._shouldEmitClose = false; - } - this.options = options; - this._state = RUNNING; - } - address() { - if (this.options.noServer) { - throw new Error('The server is operating in "noServer" mode'); - } - if (!this._server) - return null; - return this._server.address(); - } - close(cb) { - if (this._state === CLOSED) { - if (cb) { - this.once("close", () => { - cb(new Error("The server is not running")); - }); - } - process.nextTick(emitClose, this); - return; - } - if (cb) - this.once("close", cb); - if (this._state === CLOSING) - return; - this._state = CLOSING; - if (this.options.noServer || this.options.server) { - if (this._server) { - this._removeListeners(); - this._removeListeners = this._server = null; - } - if (this.clients) { - if (!this.clients.size) { - process.nextTick(emitClose, this); - } else { - this._shouldEmitClose = true; - } - } else { - process.nextTick(emitClose, this); - } - } else { - const server = this._server; - this._removeListeners(); - this._removeListeners = this._server = null; - server.close(() => { - emitClose(this); - }); - } - } - shouldHandle(req) { - if (this.options.path) { - const index = req.url.indexOf("?"); - const pathname = index !== -1 ? req.url.slice(0, index) : req.url; - if (pathname !== this.options.path) - return false; - } - return true; - } - handleUpgrade(req, socket, head, cb) { - socket.on("error", socketOnError); - const key = req.headers["sec-websocket-key"] !== void 0 ? req.headers["sec-websocket-key"] : false; - const version = +req.headers["sec-websocket-version"]; - if (req.method !== "GET" || req.headers.upgrade.toLowerCase() !== "websocket" || !key || !keyRegex.test(key) || version !== 8 && version !== 13 || !this.shouldHandle(req)) { - return abortHandshake(socket, 400); - } - const secWebSocketProtocol = req.headers["sec-websocket-protocol"]; - let protocols = /* @__PURE__ */ new Set(); - if (secWebSocketProtocol !== void 0) { - try { - protocols = subprotocol.parse(secWebSocketProtocol); - } catch (err) { - return abortHandshake(socket, 400); - } - } - const secWebSocketExtensions = req.headers["sec-websocket-extensions"]; - const extensions = {}; - if (this.options.perMessageDeflate && secWebSocketExtensions !== void 0) { - const perMessageDeflate = new PerMessageDeflate( - this.options.perMessageDeflate, - true, - this.options.maxPayload - ); - try { - const offers = extension.parse(secWebSocketExtensions); - if (offers[PerMessageDeflate.extensionName]) { - perMessageDeflate.accept(offers[PerMessageDeflate.extensionName]); - extensions[PerMessageDeflate.extensionName] = perMessageDeflate; - } - } catch (err) { - return abortHandshake(socket, 400); - } - } - if (this.options.verifyClient) { - const info = { - origin: req.headers[`${version === 8 ? "sec-websocket-origin" : "origin"}`], - secure: !!(req.socket.authorized || req.socket.encrypted), - req - }; - if (this.options.verifyClient.length === 2) { - this.options.verifyClient(info, (verified, code, message2, headers) => { - if (!verified) { - return abortHandshake(socket, code || 401, message2, headers); - } - this.completeUpgrade( - extensions, - key, - protocols, - req, - socket, - head, - cb - ); - }); - return; - } - if (!this.options.verifyClient(info)) - return abortHandshake(socket, 401); - } - this.completeUpgrade(extensions, key, protocols, req, socket, head, cb); - } - completeUpgrade(extensions, key, protocols, req, socket, head, cb) { - if (!socket.readable || !socket.writable) - return socket.destroy(); - if (socket[kWebSocket]) { - throw new Error( - "server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration" - ); - } - if (this._state > RUNNING) - return abortHandshake(socket, 503); - const digest = createHash3("sha1").update(key + GUID).digest("base64"); - const headers = [ - "HTTP/1.1 101 Switching Protocols", - "Upgrade: websocket", - "Connection: Upgrade", - `Sec-WebSocket-Accept: ${digest}` - ]; - const ws = new WebSocket(null); - if (protocols.size) { - const protocol = this.options.handleProtocols ? this.options.handleProtocols(protocols, req) : protocols.values().next().value; - if (protocol) { - headers.push(`Sec-WebSocket-Protocol: ${protocol}`); - ws._protocol = protocol; - } - } - if (extensions[PerMessageDeflate.extensionName]) { - const params = extensions[PerMessageDeflate.extensionName].params; - const value = extension.format({ - [PerMessageDeflate.extensionName]: [params] - }); - headers.push(`Sec-WebSocket-Extensions: ${value}`); - ws._extensions = extensions; - } - this.emit("headers", headers, req); - socket.write(headers.concat("\r\n").join("\r\n")); - socket.removeListener("error", socketOnError); - ws.setSocket(socket, head, { - maxPayload: this.options.maxPayload, - skipUTF8Validation: this.options.skipUTF8Validation - }); - if (this.clients) { - this.clients.add(ws); - ws.on("close", () => { - this.clients.delete(ws); - if (this._shouldEmitClose && !this.clients.size) { - process.nextTick(emitClose, this); - } - }); - } - cb(ws, req); - } - }; - module2.exports = WebSocketServer; - function addListeners(server, map) { - for (const event of Object.keys(map)) - server.on(event, map[event]); - return function removeListeners() { - for (const event of Object.keys(map)) { - server.removeListener(event, map[event]); - } - }; - } - function emitClose(server) { - server._state = CLOSED; - server.emit("close"); - } - function socketOnError() { - this.destroy(); - } - function abortHandshake(socket, code, message2, headers) { - if (socket.writable) { - message2 = message2 || http2.STATUS_CODES[code]; - headers = { - Connection: "close", - "Content-Type": "text/html", - "Content-Length": Buffer.byteLength(message2), - ...headers - }; - socket.write( - `HTTP/1.1 ${code} ${http2.STATUS_CODES[code]}\r -` + Object.keys(headers).map((h) => `${h}: ${headers[h]}`).join("\r\n") + "\r\n\r\n" + message2 - ); - } - socket.removeListener("error", socketOnError); - socket.destroy(); - } - } -}); - -// node_modules/ws/index.js -var require_ws = __commonJS({ - "node_modules/ws/index.js"(exports2, module2) { - "use strict"; - var WebSocket = require_websocket2(); - WebSocket.createWebSocketStream = require_stream3(); - WebSocket.Server = require_websocket_server(); - WebSocket.Receiver = require_receiver(); - WebSocket.Sender = require_sender(); - WebSocket.WebSocket = WebSocket; - WebSocket.WebSocketServer = WebSocket.Server; - module2.exports = WebSocket; - } -}); - -// node_modules/object-assign/index.js -var require_object_assign = __commonJS({ - "node_modules/object-assign/index.js"(exports2, module2) { - "use strict"; - var getOwnPropertySymbols = Object.getOwnPropertySymbols; - var hasOwnProperty2 = Object.prototype.hasOwnProperty; - var propIsEnumerable = Object.prototype.propertyIsEnumerable; - function toObject(val) { - if (val === null || val === void 0) { - throw new TypeError("Object.assign cannot be called with null or undefined"); - } - return Object(val); - } - function shouldUseNative() { - try { - if (!Object.assign) { - return false; - } - var test1 = new String("abc"); - test1[5] = "de"; - if (Object.getOwnPropertyNames(test1)[0] === "5") { - return false; - } - var test2 = {}; - for (var i = 0; i < 10; i++) { - test2["_" + String.fromCharCode(i)] = i; - } - var order2 = Object.getOwnPropertyNames(test2).map(function(n) { - return test2[n]; - }); - if (order2.join("") !== "0123456789") { - return false; - } - var test3 = {}; - "abcdefghijklmnopqrst".split("").forEach(function(letter) { - test3[letter] = letter; - }); - if (Object.keys(Object.assign({}, test3)).join("") !== "abcdefghijklmnopqrst") { - return false; - } - return true; - } catch (err) { - return false; - } - } - module2.exports = shouldUseNative() ? Object.assign : function(target, source2) { - var from; - var to = toObject(target); - var symbols; - for (var s = 1; s < arguments.length; s++) { - from = Object(arguments[s]); - for (var key in from) { - if (hasOwnProperty2.call(from, key)) { - to[key] = from[key]; - } - } - if (getOwnPropertySymbols) { - symbols = getOwnPropertySymbols(from); - for (var i = 0; i < symbols.length; i++) { - if (propIsEnumerable.call(from, symbols[i])) { - to[symbols[i]] = from[symbols[i]]; - } - } - } - } - return to; - }; - } -}); - -// node_modules/cors/lib/index.js -var require_lib6 = __commonJS({ - "node_modules/cors/lib/index.js"(exports2, module2) { - (function() { - "use strict"; - var assign = require_object_assign(); - var vary = require_vary(); - var defaults2 = { - origin: "*", - methods: "GET,HEAD,PUT,PATCH,POST,DELETE", - preflightContinue: false, - optionsSuccessStatus: 204 - }; - function isString3(s) { - return typeof s === "string" || s instanceof String; - } - function isOriginAllowed(origin, allowedOrigin) { - if (Array.isArray(allowedOrigin)) { - for (var i = 0; i < allowedOrigin.length; ++i) { - if (isOriginAllowed(origin, allowedOrigin[i])) { - return true; - } - } - return false; - } else if (isString3(allowedOrigin)) { - return origin === allowedOrigin; - } else if (allowedOrigin instanceof RegExp) { - return allowedOrigin.test(origin); - } else { - return !!allowedOrigin; - } - } - function configureOrigin(options, req) { - var requestOrigin = req.headers.origin, headers = [], isAllowed; - if (!options.origin || options.origin === "*") { - headers.push([{ - key: "Access-Control-Allow-Origin", - value: "*" - }]); - } else if (isString3(options.origin)) { - headers.push([{ - key: "Access-Control-Allow-Origin", - value: options.origin - }]); - headers.push([{ - key: "Vary", - value: "Origin" - }]); - } else { - isAllowed = isOriginAllowed(requestOrigin, options.origin); - headers.push([{ - key: "Access-Control-Allow-Origin", - value: isAllowed ? requestOrigin : false - }]); - headers.push([{ - key: "Vary", - value: "Origin" - }]); - } - return headers; - } - function configureMethods(options) { - var methods = options.methods; - if (methods.join) { - methods = options.methods.join(","); - } - return { - key: "Access-Control-Allow-Methods", - value: methods - }; - } - function configureCredentials(options) { - if (options.credentials === true) { - return { - key: "Access-Control-Allow-Credentials", - value: "true" - }; - } - return null; - } - function configureAllowedHeaders(options, req) { - var allowedHeaders = options.allowedHeaders || options.headers; - var headers = []; - if (!allowedHeaders) { - allowedHeaders = req.headers["access-control-request-headers"]; - headers.push([{ - key: "Vary", - value: "Access-Control-Request-Headers" - }]); - } else if (allowedHeaders.join) { - allowedHeaders = allowedHeaders.join(","); - } - if (allowedHeaders && allowedHeaders.length) { - headers.push([{ - key: "Access-Control-Allow-Headers", - value: allowedHeaders - }]); - } - return headers; - } - function configureExposedHeaders(options) { - var headers = options.exposedHeaders; - if (!headers) { - return null; - } else if (headers.join) { - headers = headers.join(","); - } - if (headers && headers.length) { - return { - key: "Access-Control-Expose-Headers", - value: headers - }; - } - return null; - } - function configureMaxAge(options) { - var maxAge = (typeof options.maxAge === "number" || options.maxAge) && options.maxAge.toString(); - if (maxAge && maxAge.length) { - return { - key: "Access-Control-Max-Age", - value: maxAge - }; - } - return null; - } - function applyHeaders(headers, res) { - for (var i = 0, n = headers.length; i < n; i++) { - var header = headers[i]; - if (header) { - if (Array.isArray(header)) { - applyHeaders(header, res); - } else if (header.key === "Vary" && header.value) { - vary(res, header.value); - } else if (header.value) { - res.setHeader(header.key, header.value); - } - } - } - } - function cors2(options, req, res, next) { - var headers = [], method = req.method && req.method.toUpperCase && req.method.toUpperCase(); - if (method === "OPTIONS") { - headers.push(configureOrigin(options, req)); - headers.push(configureCredentials(options, req)); - headers.push(configureMethods(options, req)); - headers.push(configureAllowedHeaders(options, req)); - headers.push(configureMaxAge(options, req)); - headers.push(configureExposedHeaders(options, req)); - applyHeaders(headers, res); - if (options.preflightContinue) { - next(); - } else { - res.statusCode = options.optionsSuccessStatus; - res.setHeader("Content-Length", "0"); - res.end(); - } - } else { - headers.push(configureOrigin(options, req)); - headers.push(configureCredentials(options, req)); - headers.push(configureExposedHeaders(options, req)); - applyHeaders(headers, res); - next(); - } - } - function middlewareWrapper(o) { - var optionsCallback = null; - if (typeof o === "function") { - optionsCallback = o; - } else { - optionsCallback = function(req, cb) { - cb(null, o); - }; - } - return function corsMiddleware(req, res, next) { - optionsCallback(req, function(err, options) { - if (err) { - next(err); - } else { - var corsOptions = assign({}, defaults2, options); - var originCallback = null; - if (corsOptions.origin && typeof corsOptions.origin === "function") { - originCallback = corsOptions.origin; - } else if (corsOptions.origin) { - originCallback = function(origin, cb) { - cb(null, corsOptions.origin); - }; - } - if (originCallback) { - originCallback(req.headers.origin, function(err2, origin) { - if (err2 || !origin) { - next(err2); - } else { - corsOptions.origin = origin; - cors2(corsOptions, req, res, next); - } - }); - } else { - next(); - } - } - }); - }; - } - module2.exports = middlewareWrapper; - })(); - } -}); - -// node_modules/engine.io/build/server.js -var require_server = __commonJS({ - "node_modules/engine.io/build/server.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.Server = exports2.BaseServer = void 0; - var qs = require("querystring"); - var url_1 = require("url"); - var base64id = require_base64id(); - var transports_1 = require_transports2(); - var events_1 = require("events"); - var socket_1 = require_socket(); - var debug_1 = require_src6(); - var cookie_1 = require_cookie(); - var ws_1 = require_ws(); - var debug = (0, debug_1.default)("engine"); - var BaseServer = class extends events_1.EventEmitter { - constructor(opts = {}) { - super(); - this.clients = {}; - this.clientsCount = 0; - this.opts = Object.assign({ - wsEngine: ws_1.Server, - pingTimeout: 2e4, - pingInterval: 25e3, - upgradeTimeout: 1e4, - maxHttpBufferSize: 1e6, - transports: Object.keys(transports_1.default), - allowUpgrades: true, - httpCompression: { - threshold: 1024 - }, - cors: false, - allowEIO3: false - }, opts); - if (opts.cookie) { - this.opts.cookie = Object.assign({ - name: "io", - path: "/", - httpOnly: opts.cookie.path !== false, - sameSite: "lax" - }, opts.cookie); - } - if (this.opts.cors) { - this.corsMiddleware = require_lib6()(this.opts.cors); - } - if (opts.perMessageDeflate) { - this.opts.perMessageDeflate = Object.assign({ - threshold: 1024 - }, opts.perMessageDeflate); - } - this.init(); - } - upgrades(transport) { - if (!this.opts.allowUpgrades) - return []; - return transports_1.default[transport].upgradesTo || []; - } - verify(req, upgrade, fn2) { - const transport = req._query.transport; - if (!~this.opts.transports.indexOf(transport)) { - debug('unknown transport "%s"', transport); - return fn2(Server2.errors.UNKNOWN_TRANSPORT, { transport }); - } - const isOriginInvalid = checkInvalidHeaderChar(req.headers.origin); - if (isOriginInvalid) { - const origin = req.headers.origin; - req.headers.origin = null; - debug("origin header invalid"); - return fn2(Server2.errors.BAD_REQUEST, { - name: "INVALID_ORIGIN", - origin - }); - } - const sid = req._query.sid; - if (sid) { - if (!this.clients.hasOwnProperty(sid)) { - debug('unknown sid "%s"', sid); - return fn2(Server2.errors.UNKNOWN_SID, { - sid - }); - } - const previousTransport = this.clients[sid].transport.name; - if (!upgrade && previousTransport !== transport) { - debug("bad request: unexpected transport without upgrade"); - return fn2(Server2.errors.BAD_REQUEST, { - name: "TRANSPORT_MISMATCH", - transport, - previousTransport - }); - } - } else { - if ("GET" !== req.method) { - return fn2(Server2.errors.BAD_HANDSHAKE_METHOD, { - method: req.method - }); - } - if (transport === "websocket" && !upgrade) { - debug("invalid transport upgrade"); - return fn2(Server2.errors.BAD_REQUEST, { - name: "TRANSPORT_HANDSHAKE_ERROR" - }); - } - if (!this.opts.allowRequest) - return fn2(); - return this.opts.allowRequest(req, (message2, success) => { - if (!success) { - return fn2(Server2.errors.FORBIDDEN, { - message: message2 - }); - } - fn2(); - }); - } - fn2(); - } - close() { - debug("closing all open clients"); - for (let i in this.clients) { - if (this.clients.hasOwnProperty(i)) { - this.clients[i].close(true); - } - } - this.cleanup(); - return this; - } - generateId(req) { - return base64id.generateId(); - } - async handshake(transportName, req, closeConnection) { - const protocol = req._query.EIO === "4" ? 4 : 3; - if (protocol === 3 && !this.opts.allowEIO3) { - debug("unsupported protocol version"); - this.emit("connection_error", { - req, - code: Server2.errors.UNSUPPORTED_PROTOCOL_VERSION, - message: Server2.errorMessages[Server2.errors.UNSUPPORTED_PROTOCOL_VERSION], - context: { - protocol - } - }); - closeConnection(Server2.errors.UNSUPPORTED_PROTOCOL_VERSION); - return; - } - let id; - try { - id = await this.generateId(req); - } catch (e) { - debug("error while generating an id"); - this.emit("connection_error", { - req, - code: Server2.errors.BAD_REQUEST, - message: Server2.errorMessages[Server2.errors.BAD_REQUEST], - context: { - name: "ID_GENERATION_ERROR", - error: e - } - }); - closeConnection(Server2.errors.BAD_REQUEST); - return; - } - debug('handshaking client "%s"', id); - try { - var transport = this.createTransport(transportName, req); - if ("polling" === transportName) { - transport.maxHttpBufferSize = this.opts.maxHttpBufferSize; - transport.httpCompression = this.opts.httpCompression; - } else if ("websocket" === transportName) { - transport.perMessageDeflate = this.opts.perMessageDeflate; - } - if (req._query && req._query.b64) { - transport.supportsBinary = false; - } else { - transport.supportsBinary = true; - } - } catch (e) { - debug('error handshaking to transport "%s"', transportName); - this.emit("connection_error", { - req, - code: Server2.errors.BAD_REQUEST, - message: Server2.errorMessages[Server2.errors.BAD_REQUEST], - context: { - name: "TRANSPORT_HANDSHAKE_ERROR", - error: e - } - }); - closeConnection(Server2.errors.BAD_REQUEST); - return; - } - const socket = new socket_1.Socket(id, this, transport, req, protocol); - transport.on("headers", (headers, req2) => { - const isInitialRequest = !req2._query.sid; - if (isInitialRequest) { - if (this.opts.cookie) { - headers["Set-Cookie"] = [ - (0, cookie_1.serialize)(this.opts.cookie.name, id, this.opts.cookie) - ]; - } - this.emit("initial_headers", headers, req2); - } - this.emit("headers", headers, req2); - }); - transport.onRequest(req); - this.clients[id] = socket; - this.clientsCount++; - socket.once("close", () => { - delete this.clients[id]; - this.clientsCount--; - }); - this.emit("connection", socket); - return transport; - } - }; - exports2.BaseServer = BaseServer; - BaseServer.errors = { - UNKNOWN_TRANSPORT: 0, - UNKNOWN_SID: 1, - BAD_HANDSHAKE_METHOD: 2, - BAD_REQUEST: 3, - FORBIDDEN: 4, - UNSUPPORTED_PROTOCOL_VERSION: 5 - }; - BaseServer.errorMessages = { - 0: "Transport unknown", - 1: "Session ID unknown", - 2: "Bad handshake method", - 3: "Bad request", - 4: "Forbidden", - 5: "Unsupported protocol version" - }; - var Server2 = class extends BaseServer { - init() { - if (!~this.opts.transports.indexOf("websocket")) - return; - if (this.ws) - this.ws.close(); - this.ws = new this.opts.wsEngine({ - noServer: true, - clientTracking: false, - perMessageDeflate: this.opts.perMessageDeflate, - maxPayload: this.opts.maxHttpBufferSize - }); - if (typeof this.ws.on === "function") { - this.ws.on("headers", (headersArray, req) => { - const additionalHeaders = {}; - const isInitialRequest = !req._query.sid; - if (isInitialRequest) { - this.emit("initial_headers", additionalHeaders, req); - } - this.emit("headers", additionalHeaders, req); - Object.keys(additionalHeaders).forEach((key) => { - headersArray.push(`${key}: ${additionalHeaders[key]}`); - }); - }); - } - } - cleanup() { - if (this.ws) { - debug("closing webSocketServer"); - this.ws.close(); - } - } - prepare(req) { - if (!req._query) { - req._query = ~req.url.indexOf("?") ? qs.parse((0, url_1.parse)(req.url).query) : {}; - } - } - createTransport(transportName, req) { - return new transports_1.default[transportName](req); - } - handleRequest(req, res) { - debug('handling "%s" http request "%s"', req.method, req.url); - this.prepare(req); - req.res = res; - const callback = (errorCode, errorContext) => { - if (errorCode !== void 0) { - this.emit("connection_error", { - req, - code: errorCode, - message: Server2.errorMessages[errorCode], - context: errorContext - }); - abortRequest(res, errorCode, errorContext); - return; - } - if (req._query.sid) { - debug("setting new request for existing client"); - this.clients[req._query.sid].transport.onRequest(req); - } else { - const closeConnection = (errorCode2, errorContext2) => abortRequest(res, errorCode2, errorContext2); - this.handshake(req._query.transport, req, closeConnection); - } - }; - if (this.corsMiddleware) { - this.corsMiddleware.call(null, req, res, () => { - this.verify(req, false, callback); - }); - } else { - this.verify(req, false, callback); - } - } - handleUpgrade(req, socket, upgradeHead) { - this.prepare(req); - this.verify(req, true, (errorCode, errorContext) => { - if (errorCode) { - this.emit("connection_error", { - req, - code: errorCode, - message: Server2.errorMessages[errorCode], - context: errorContext - }); - abortUpgrade(socket, errorCode, errorContext); - return; - } - const head = Buffer.from(upgradeHead); - upgradeHead = null; - this.ws.handleUpgrade(req, socket, head, (websocket) => { - this.onWebSocket(req, socket, websocket); - }); - }); - } - onWebSocket(req, socket, websocket) { - websocket.on("error", onUpgradeError); - if (transports_1.default[req._query.transport] !== void 0 && !transports_1.default[req._query.transport].prototype.handlesUpgrades) { - debug("transport doesnt handle upgraded requests"); - websocket.close(); - return; - } - const id = req._query.sid; - req.websocket = websocket; - if (id) { - const client = this.clients[id]; - if (!client) { - debug("upgrade attempt for closed client"); - websocket.close(); - } else if (client.upgrading) { - debug("transport has already been trying to upgrade"); - websocket.close(); - } else if (client.upgraded) { - debug("transport had already been upgraded"); - websocket.close(); - } else { - debug("upgrading existing transport"); - websocket.removeListener("error", onUpgradeError); - const transport = this.createTransport(req._query.transport, req); - if (req._query && req._query.b64) { - transport.supportsBinary = false; - } else { - transport.supportsBinary = true; - } - transport.perMessageDeflate = this.opts.perMessageDeflate; - client.maybeUpgrade(transport); - } - } else { - const closeConnection = (errorCode, errorContext) => abortUpgrade(socket, errorCode, errorContext); - this.handshake(req._query.transport, req, closeConnection); - } - function onUpgradeError() { - debug("websocket error before upgrade"); - } - } - attach(server, options = {}) { - let path4 = (options.path || "/engine.io").replace(/\/$/, ""); - const destroyUpgradeTimeout = options.destroyUpgradeTimeout || 1e3; - path4 += "/"; - function check(req) { - return path4 === req.url.substr(0, path4.length); - } - const listeners = server.listeners("request").slice(0); - server.removeAllListeners("request"); - server.on("close", this.close.bind(this)); - server.on("listening", this.init.bind(this)); - server.on("request", (req, res) => { - if (check(req)) { - debug('intercepting request for path "%s"', path4); - this.handleRequest(req, res); - } else { - let i = 0; - const l = listeners.length; - for (; i < l; i++) { - listeners[i].call(server, req, res); - } - } - }); - if (~this.opts.transports.indexOf("websocket")) { - server.on("upgrade", (req, socket, head) => { - if (check(req)) { - this.handleUpgrade(req, socket, head); - } else if (false !== options.destroyUpgrade) { - setTimeout(function() { - if (socket.writable && socket.bytesWritten <= 0) { - return socket.end(); - } - }, destroyUpgradeTimeout); - } - }); - } - } - }; - exports2.Server = Server2; - function abortRequest(res, errorCode, errorContext) { - const statusCode = errorCode === Server2.errors.FORBIDDEN ? 403 : 400; - const message2 = errorContext && errorContext.message ? errorContext.message : Server2.errorMessages[errorCode]; - res.writeHead(statusCode, { "Content-Type": "application/json" }); - res.end(JSON.stringify({ - code: errorCode, - message: message2 - })); - } - function abortUpgrade(socket, errorCode, errorContext = {}) { - socket.on("error", () => { - debug("ignoring error from closed connection"); - }); - if (socket.writable) { - const message2 = errorContext.message || Server2.errorMessages[errorCode]; - const length = Buffer.byteLength(message2); - socket.write("HTTP/1.1 400 Bad Request\r\nConnection: close\r\nContent-type: text/html\r\nContent-Length: " + length + "\r\n\r\n" + message2); - } - socket.destroy(); - } - var validHdrChars = [ - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 0, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1 - ]; - function checkInvalidHeaderChar(val) { - val += ""; - if (val.length < 1) - return false; - if (!validHdrChars[val.charCodeAt(0)]) { - debug('invalid header, index 0, char "%s"', val.charCodeAt(0)); - return true; - } - if (val.length < 2) - return false; - if (!validHdrChars[val.charCodeAt(1)]) { - debug('invalid header, index 1, char "%s"', val.charCodeAt(1)); - return true; - } - if (val.length < 3) - return false; - if (!validHdrChars[val.charCodeAt(2)]) { - debug('invalid header, index 2, char "%s"', val.charCodeAt(2)); - return true; - } - if (val.length < 4) - return false; - if (!validHdrChars[val.charCodeAt(3)]) { - debug('invalid header, index 3, char "%s"', val.charCodeAt(3)); - return true; - } - for (let i = 4; i < val.length; ++i) { - if (!validHdrChars[val.charCodeAt(i)]) { - debug('invalid header, index "%i", char "%s"', i, val.charCodeAt(i)); - return true; - } - } - return false; - } - } -}); - -// node_modules/engine.io/build/transports-uws/polling.js -var require_polling2 = __commonJS({ - "node_modules/engine.io/build/transports-uws/polling.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.Polling = void 0; - var transport_1 = require_transport(); - var zlib_1 = require("zlib"); - var accepts = require_accepts(); - var debug_1 = require_src6(); - var debug = (0, debug_1.default)("engine:polling"); - var compressionMethods = { - gzip: zlib_1.createGzip, - deflate: zlib_1.createDeflate - }; - var Polling = class extends transport_1.Transport { - constructor(req) { - super(req); - this.closeTimeout = 30 * 1e3; - } - get name() { - return "polling"; - } - get supportsFraming() { - return false; - } - onRequest(req) { - const res = req.res; - if (req.getMethod() === "get") { - this.onPollRequest(req, res); - } else if (req.getMethod() === "post") { - this.onDataRequest(req, res); - } else { - res.writeStatus("500 Internal Server Error"); - res.end(); - } - } - onPollRequest(req, res) { - if (this.req) { - debug("request overlap"); - this.onError("overlap from client"); - res.writeStatus("500 Internal Server Error"); - res.end(); - return; - } - debug("setting request"); - this.req = req; - this.res = res; - const onClose = () => { - this.writable = false; - this.onError("poll connection closed prematurely"); - }; - const cleanup = () => { - this.req = this.res = null; - }; - req.cleanup = cleanup; - res.onAborted(onClose); - this.writable = true; - this.emit("drain"); - if (this.writable && this.shouldClose) { - debug("triggering empty send to append close packet"); - this.send([{ type: "noop" }]); - } - } - onDataRequest(req, res) { - if (this.dataReq) { - this.onError("data request overlap from client"); - res.writeStatus("500 Internal Server Error"); - res.end(); - return; - } - const expectedContentLength = Number(req.headers["content-length"]); - if (!expectedContentLength) { - this.onError("content-length header required"); - res.writeStatus("411 Length Required").end(); - return; - } - if (expectedContentLength > this.maxHttpBufferSize) { - this.onError("payload too large"); - res.writeStatus("413 Payload Too Large").end(); - return; - } - const isBinary = "application/octet-stream" === req.headers["content-type"]; - if (isBinary && this.protocol === 4) { - return this.onError("invalid content"); - } - this.dataReq = req; - this.dataRes = res; - let buffer; - let offset = 0; - const headers = { - "Content-Type": "text/html" - }; - this.headers(req, headers); - for (let key in headers) { - res.writeHeader(key, String(headers[key])); - } - const onEnd = (buffer2) => { - this.onData(buffer2.toString()); - this.onDataRequestCleanup(); - res.end("ok"); - }; - res.onAborted(() => { - this.onDataRequestCleanup(); - this.onError("data request connection closed prematurely"); - }); - res.onData((arrayBuffer, isLast) => { - const totalLength = offset + arrayBuffer.byteLength; - if (totalLength > expectedContentLength) { - this.onError("content-length mismatch"); - res.close(); - return; - } - if (!buffer) { - if (isLast) { - onEnd(Buffer.from(arrayBuffer)); - return; - } - buffer = Buffer.allocUnsafe(expectedContentLength); - } - Buffer.from(arrayBuffer).copy(buffer, offset); - if (isLast) { - if (totalLength != expectedContentLength) { - this.onError("content-length mismatch"); - res.writeStatus("400 Content-Length Mismatch").end(); - this.onDataRequestCleanup(); - return; - } - onEnd(buffer); - return; - } - offset = totalLength; - }); - } - onDataRequestCleanup() { - this.dataReq = this.dataRes = null; - } - onData(data) { - debug('received "%s"', data); - const callback = (packet) => { - if ("close" === packet.type) { - debug("got xhr close packet"); - this.onClose(); - return false; - } - this.onPacket(packet); - }; - if (this.protocol === 3) { - this.parser.decodePayload(data, callback); - } else { - this.parser.decodePayload(data).forEach(callback); - } - } - onClose() { - if (this.writable) { - this.send([{ type: "noop" }]); - } - super.onClose(); - } - send(packets) { - this.writable = false; - if (this.shouldClose) { - debug("appending close packet to payload"); - packets.push({ type: "close" }); - this.shouldClose(); - this.shouldClose = null; - } - const doWrite = (data) => { - const compress = packets.some((packet) => { - return packet.options && packet.options.compress; - }); - this.write(data, { compress }); - }; - if (this.protocol === 3) { - this.parser.encodePayload(packets, this.supportsBinary, doWrite); - } else { - this.parser.encodePayload(packets, doWrite); - } - } - write(data, options) { - debug('writing "%s"', data); - this.doWrite(data, options, () => { - this.req.cleanup(); - }); - } - doWrite(data, options, callback) { - const isString3 = typeof data === "string"; - const contentType = isString3 ? "text/plain; charset=UTF-8" : "application/octet-stream"; - const headers = { - "Content-Type": contentType - }; - const respond = (data2) => { - this.headers(this.req, headers); - Object.keys(headers).forEach((key) => { - this.res.writeHeader(key, String(headers[key])); - }); - this.res.end(data2); - callback(); - }; - if (!this.httpCompression || !options.compress) { - respond(data); - return; - } - const len = isString3 ? Buffer.byteLength(data) : data.length; - if (len < this.httpCompression.threshold) { - respond(data); - return; - } - const encoding = accepts(this.req).encodings(["gzip", "deflate"]); - if (!encoding) { - respond(data); - return; - } - this.compress(data, encoding, (err, data2) => { - if (err) { - this.res.writeStatus("500 Internal Server Error"); - this.res.end(); - callback(err); - return; - } - headers["Content-Encoding"] = encoding; - respond(data2); - }); - } - compress(data, encoding, callback) { - debug("compressing"); - const buffers = []; - let nread = 0; - compressionMethods[encoding](this.httpCompression).on("error", callback).on("data", function(chunk) { - buffers.push(chunk); - nread += chunk.length; - }).on("end", function() { - callback(null, Buffer.concat(buffers, nread)); - }).end(data); - } - doClose(fn2) { - debug("closing"); - let closeTimeoutTimer; - const onClose = () => { - clearTimeout(closeTimeoutTimer); - fn2(); - this.onClose(); - }; - if (this.writable) { - debug("transport writable - closing right away"); - this.send([{ type: "close" }]); - onClose(); - } else if (this.discarded) { - debug("transport discarded - closing right away"); - onClose(); - } else { - debug("transport not writable - buffering orderly close"); - this.shouldClose = onClose; - closeTimeoutTimer = setTimeout(onClose, this.closeTimeout); - } - } - headers(req, headers) { - headers = headers || {}; - const ua = req.headers["user-agent"]; - if (ua && (~ua.indexOf(";MSIE") || ~ua.indexOf("Trident/"))) { - headers["X-XSS-Protection"] = "0"; - } - this.emit("headers", headers, req); - return headers; - } - }; - exports2.Polling = Polling; - } -}); - -// node_modules/engine.io/build/transports-uws/websocket.js -var require_websocket3 = __commonJS({ - "node_modules/engine.io/build/transports-uws/websocket.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.WebSocket = void 0; - var transport_1 = require_transport(); - var debug_1 = require_src6(); - var debug = (0, debug_1.default)("engine:ws"); - var WebSocket = class extends transport_1.Transport { - constructor(req) { - super(req); - this.writable = false; - this.perMessageDeflate = null; - } - get name() { - return "websocket"; - } - get handlesUpgrades() { - return true; - } - get supportsFraming() { - return true; - } - send(packets) { - const packet = packets.shift(); - if (typeof packet === "undefined") { - this.writable = true; - this.emit("drain"); - return; - } - const opts = {}; - if (packet.options) { - opts.compress = packet.options.compress; - } - const send = (data) => { - const isBinary = typeof data !== "string"; - const compress = this.perMessageDeflate && Buffer.byteLength(data) > this.perMessageDeflate.threshold; - debug('writing "%s"', data); - this.writable = false; - this.socket.send(data, isBinary, compress); - this.send(packets); - }; - if (packet.options && typeof packet.options.wsPreEncoded === "string") { - send(packet.options.wsPreEncoded); - } else { - this.parser.encodePacket(packet, this.supportsBinary, send); - } - } - doClose(fn2) { - debug("closing"); - fn2 && fn2(); - this.socket.close(); - } - }; - exports2.WebSocket = WebSocket; - } -}); - -// node_modules/engine.io/build/transports-uws/index.js -var require_transports_uws = __commonJS({ - "node_modules/engine.io/build/transports-uws/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - var polling_1 = require_polling2(); - var websocket_1 = require_websocket3(); - exports2.default = { - polling: polling_1.Polling, - websocket: websocket_1.WebSocket - }; - } -}); - -// node_modules/engine.io/build/userver.js -var require_userver = __commonJS({ - "node_modules/engine.io/build/userver.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.uServer = void 0; - var debug_1 = require_src6(); - var server_1 = require_server(); - var transports_uws_1 = require_transports_uws(); - var debug = (0, debug_1.default)("engine:uws"); - var uServer = class extends server_1.BaseServer { - init() { - } - cleanup() { - } - prepare(req, res) { - req.method = req.getMethod().toUpperCase(); - const params = new URLSearchParams(req.getQuery()); - req._query = Object.fromEntries(params.entries()); - req.headers = {}; - req.forEach((key, value) => { - req.headers[key] = value; - }); - req.connection = { - remoteAddress: Buffer.from(res.getRemoteAddressAsText()).toString() - }; - res.onAborted(() => { - debug("response has been aborted"); - }); - } - createTransport(transportName, req) { - return new transports_uws_1.default[transportName](req); - } - attach(app, options = {}) { - const path4 = (options.path || "/engine.io").replace(/\/$/, "") + "/"; - app.any(path4, this.handleRequest.bind(this)).ws(path4, { - compression: options.compression, - idleTimeout: options.idleTimeout, - maxBackpressure: options.maxBackpressure, - maxPayloadLength: this.opts.maxHttpBufferSize, - upgrade: this.handleUpgrade.bind(this), - open: (ws) => { - ws.transport.socket = ws; - ws.transport.writable = true; - ws.transport.emit("drain"); - }, - message: (ws, message2, isBinary) => { - ws.transport.onData(isBinary ? message2 : Buffer.from(message2).toString()); - }, - close: (ws, code, message2) => { - ws.transport.onClose(code, message2); - } - }); - } - handleRequest(res, req) { - debug('handling "%s" http request "%s"', req.getMethod(), req.getUrl()); - this.prepare(req, res); - req.res = res; - const callback = (errorCode, errorContext) => { - if (errorCode !== void 0) { - this.emit("connection_error", { - req, - code: errorCode, - message: server_1.Server.errorMessages[errorCode], - context: errorContext - }); - this.abortRequest(req.res, errorCode, errorContext); - return; - } - if (req._query.sid) { - debug("setting new request for existing client"); - this.clients[req._query.sid].transport.onRequest(req); - } else { - const closeConnection = (errorCode2, errorContext2) => this.abortRequest(res, errorCode2, errorContext2); - this.handshake(req._query.transport, req, closeConnection); - } - }; - if (this.corsMiddleware) { - req.res = new ResponseWrapper(res); - this.corsMiddleware.call(null, req, req.res, () => { - this.verify(req, false, callback); - }); - } else { - this.verify(req, false, callback); - } - } - handleUpgrade(res, req, context) { - debug("on upgrade"); - this.prepare(req, res); - req.res = res; - this.verify(req, true, async (errorCode, errorContext) => { - if (errorCode) { - this.emit("connection_error", { - req, - code: errorCode, - message: server_1.Server.errorMessages[errorCode], - context: errorContext - }); - this.abortRequest(res, errorCode, errorContext); - return; - } - const id = req._query.sid; - let transport; - if (id) { - const client = this.clients[id]; - if (!client) { - debug("upgrade attempt for closed client"); - res.close(); - } else if (client.upgrading) { - debug("transport has already been trying to upgrade"); - res.close(); - } else if (client.upgraded) { - debug("transport had already been upgraded"); - res.close(); - } else { - debug("upgrading existing transport"); - transport = this.createTransport(req._query.transport, req); - client.maybeUpgrade(transport); - } - } else { - transport = await this.handshake(req._query.transport, req, (errorCode2, errorContext2) => this.abortRequest(res, errorCode2, errorContext2)); - if (!transport) { - return; - } - } - res.upgrade({ - transport - }, req.getHeader("sec-websocket-key"), req.getHeader("sec-websocket-protocol"), req.getHeader("sec-websocket-extensions"), context); - }); - } - abortRequest(res, errorCode, errorContext) { - const statusCode = errorCode === server_1.Server.errors.FORBIDDEN ? "403 Forbidden" : "400 Bad Request"; - const message2 = errorContext && errorContext.message ? errorContext.message : server_1.Server.errorMessages[errorCode]; - res.writeStatus(statusCode); - res.writeHeader("Content-Type", "application/json"); - res.end(JSON.stringify({ - code: errorCode, - message: message2 - })); - } - }; - exports2.uServer = uServer; - var ResponseWrapper = class { - constructor(res) { - this.res = res; - this.statusWritten = false; - this.headers = []; - } - set statusCode(status) { - this.writeStatus(status === 200 ? "200 OK" : "204 No Content"); - } - setHeader(key, value) { - this.writeHeader(key, value); - } - getHeader() { - } - writeStatus(status) { - this.res.writeStatus(status); - this.statusWritten = true; - this.writeBufferedHeaders(); - } - writeHeader(key, value) { - if (key === "Content-Length") { - return; - } - if (this.statusWritten) { - this.res.writeHeader(key, value); - } else { - this.headers.push([key, value]); - } - } - writeBufferedHeaders() { - this.headers.forEach(([key, value]) => { - this.res.writeHeader(key, value); - }); - } - end(data) { - if (!this.statusWritten) { - this.writeBufferedHeaders(); - } - this.res.end(data); - } - onData(fn2) { - this.res.onData(fn2); - } - onAborted(fn2) { - this.res.onAborted(fn2); - } - }; - } -}); - -// node_modules/engine.io/build/engine.io.js -var require_engine_io = __commonJS({ - "node_modules/engine.io/build/engine.io.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.protocol = exports2.Transport = exports2.Socket = exports2.uServer = exports2.parser = exports2.attach = exports2.listen = exports2.transports = exports2.Server = void 0; - var http_1 = require("http"); - var server_1 = require_server(); - Object.defineProperty(exports2, "Server", { enumerable: true, get: function() { - return server_1.Server; - } }); - var index_1 = require_transports2(); - exports2.transports = index_1.default; - var parser = require_cjs(); - exports2.parser = parser; - var userver_1 = require_userver(); - Object.defineProperty(exports2, "uServer", { enumerable: true, get: function() { - return userver_1.uServer; - } }); - var socket_1 = require_socket(); - Object.defineProperty(exports2, "Socket", { enumerable: true, get: function() { - return socket_1.Socket; - } }); - var transport_1 = require_transport(); - Object.defineProperty(exports2, "Transport", { enumerable: true, get: function() { - return transport_1.Transport; - } }); - exports2.protocol = parser.protocol; - function listen(port, options, fn2) { - if ("function" === typeof options) { - fn2 = options; - options = {}; - } - const server = (0, http_1.createServer)(function(req, res) { - res.writeHead(501); - res.end("Not Implemented"); - }); - const engine = attach(server, options); - engine.httpServer = server; - server.listen(port, fn2); - return engine; - } - exports2.listen = listen; - function attach(server, options) { - const engine = new server_1.Server(options); - engine.attach(server, options); - return engine; - } - exports2.attach = attach; - } -}); - -// node_modules/@socket.io/component-emitter/index.js -var require_component_emitter = __commonJS({ - "node_modules/@socket.io/component-emitter/index.js"(exports2) { - exports2.Emitter = Emitter; - function Emitter(obj) { - if (obj) - return mixin(obj); - } - function mixin(obj) { - for (var key in Emitter.prototype) { - obj[key] = Emitter.prototype[key]; - } - return obj; - } - Emitter.prototype.on = Emitter.prototype.addEventListener = function(event, fn2) { - this._callbacks = this._callbacks || {}; - (this._callbacks["$" + event] = this._callbacks["$" + event] || []).push(fn2); - return this; - }; - Emitter.prototype.once = function(event, fn2) { - function on2() { - this.off(event, on2); - fn2.apply(this, arguments); - } - on2.fn = fn2; - this.on(event, on2); - return this; - }; - Emitter.prototype.off = Emitter.prototype.removeListener = Emitter.prototype.removeAllListeners = Emitter.prototype.removeEventListener = function(event, fn2) { - this._callbacks = this._callbacks || {}; - if (0 == arguments.length) { - this._callbacks = {}; - return this; - } - var callbacks = this._callbacks["$" + event]; - if (!callbacks) - return this; - if (1 == arguments.length) { - delete this._callbacks["$" + event]; - return this; - } - var cb; - for (var i = 0; i < callbacks.length; i++) { - cb = callbacks[i]; - if (cb === fn2 || cb.fn === fn2) { - callbacks.splice(i, 1); - break; - } - } - if (callbacks.length === 0) { - delete this._callbacks["$" + event]; - } - return this; - }; - Emitter.prototype.emit = function(event) { - this._callbacks = this._callbacks || {}; - var args2 = new Array(arguments.length - 1), callbacks = this._callbacks["$" + event]; - for (var i = 1; i < arguments.length; i++) { - args2[i - 1] = arguments[i]; - } - if (callbacks) { - callbacks = callbacks.slice(0); - for (var i = 0, len = callbacks.length; i < len; ++i) { - callbacks[i].apply(this, args2); - } - } - return this; - }; - Emitter.prototype.emitReserved = Emitter.prototype.emit; - Emitter.prototype.listeners = function(event) { - this._callbacks = this._callbacks || {}; - return this._callbacks["$" + event] || []; - }; - Emitter.prototype.hasListeners = function(event) { - return !!this.listeners(event).length; - }; - } -}); - -// node_modules/socket.io-parser/build/cjs/is-binary.js -var require_is_binary = __commonJS({ - "node_modules/socket.io-parser/build/cjs/is-binary.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.hasBinary = exports2.isBinary = void 0; - var withNativeArrayBuffer = typeof ArrayBuffer === "function"; - var isView = (obj) => { - return typeof ArrayBuffer.isView === "function" ? ArrayBuffer.isView(obj) : obj.buffer instanceof ArrayBuffer; - }; - var toString3 = Object.prototype.toString; - var withNativeBlob = typeof Blob === "function" || typeof Blob !== "undefined" && toString3.call(Blob) === "[object BlobConstructor]"; - var withNativeFile = typeof File === "function" || typeof File !== "undefined" && toString3.call(File) === "[object FileConstructor]"; - function isBinary(obj) { - return withNativeArrayBuffer && (obj instanceof ArrayBuffer || isView(obj)) || withNativeBlob && obj instanceof Blob || withNativeFile && obj instanceof File; - } - exports2.isBinary = isBinary; - function hasBinary(obj, toJSON2) { - if (!obj || typeof obj !== "object") { - return false; - } - if (Array.isArray(obj)) { - for (let i = 0, l = obj.length; i < l; i++) { - if (hasBinary(obj[i])) { - return true; - } - } - return false; - } - if (isBinary(obj)) { - return true; - } - if (obj.toJSON && typeof obj.toJSON === "function" && arguments.length === 1) { - return hasBinary(obj.toJSON(), true); - } - for (const key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key) && hasBinary(obj[key])) { - return true; - } - } - return false; - } - exports2.hasBinary = hasBinary; - } -}); - -// node_modules/socket.io-parser/build/cjs/binary.js -var require_binary = __commonJS({ - "node_modules/socket.io-parser/build/cjs/binary.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.reconstructPacket = exports2.deconstructPacket = void 0; - var is_binary_js_1 = require_is_binary(); - function deconstructPacket(packet) { - const buffers = []; - const packetData = packet.data; - const pack = packet; - pack.data = _deconstructPacket(packetData, buffers); - pack.attachments = buffers.length; - return { packet: pack, buffers }; - } - exports2.deconstructPacket = deconstructPacket; - function _deconstructPacket(data, buffers) { - if (!data) - return data; - if (is_binary_js_1.isBinary(data)) { - const placeholder = { _placeholder: true, num: buffers.length }; - buffers.push(data); - return placeholder; - } else if (Array.isArray(data)) { - const newData = new Array(data.length); - for (let i = 0; i < data.length; i++) { - newData[i] = _deconstructPacket(data[i], buffers); - } - return newData; - } else if (typeof data === "object" && !(data instanceof Date)) { - const newData = {}; - for (const key in data) { - if (Object.prototype.hasOwnProperty.call(data, key)) { - newData[key] = _deconstructPacket(data[key], buffers); - } - } - return newData; - } - return data; - } - function reconstructPacket(packet, buffers) { - packet.data = _reconstructPacket(packet.data, buffers); - packet.attachments = void 0; - return packet; - } - exports2.reconstructPacket = reconstructPacket; - function _reconstructPacket(data, buffers) { - if (!data) - return data; - if (data && data._placeholder === true) { - const isIndexValid = typeof data.num === "number" && data.num >= 0 && data.num < buffers.length; - if (isIndexValid) { - return buffers[data.num]; - } else { - throw new Error("illegal attachments"); - } - } else if (Array.isArray(data)) { - for (let i = 0; i < data.length; i++) { - data[i] = _reconstructPacket(data[i], buffers); - } - } else if (typeof data === "object") { - for (const key in data) { - if (Object.prototype.hasOwnProperty.call(data, key)) { - data[key] = _reconstructPacket(data[key], buffers); - } - } - } - return data; - } - } -}); - -// node_modules/socket.io-parser/node_modules/ms/index.js -var require_ms7 = __commonJS({ - "node_modules/socket.io-parser/node_modules/ms/index.js"(exports2, module2) { - var s = 1e3; - var m = s * 60; - var h = m * 60; - var d = h * 24; - var w = d * 7; - var y = d * 365.25; - module2.exports = function(val, options) { - options = options || {}; - var type = typeof val; - if (type === "string" && val.length > 0) { - return parse(val); - } else if (type === "number" && isFinite(val)) { - return options.long ? fmtLong(val) : fmtShort(val); - } - throw new Error( - "val is not a non-empty string or a valid number. val=" + JSON.stringify(val) - ); - }; - function parse(str) { - str = String(str); - if (str.length > 100) { - return; - } - var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec( - str - ); - if (!match) { - return; - } - var n = parseFloat(match[1]); - var type = (match[2] || "ms").toLowerCase(); - switch (type) { - case "years": - case "year": - case "yrs": - case "yr": - case "y": - return n * y; - case "weeks": - case "week": - case "w": - return n * w; - case "days": - case "day": - case "d": - return n * d; - case "hours": - case "hour": - case "hrs": - case "hr": - case "h": - return n * h; - case "minutes": - case "minute": - case "mins": - case "min": - case "m": - return n * m; - case "seconds": - case "second": - case "secs": - case "sec": - case "s": - return n * s; - case "milliseconds": - case "millisecond": - case "msecs": - case "msec": - case "ms": - return n; - default: - return void 0; - } - } - function fmtShort(ms) { - var msAbs = Math.abs(ms); - if (msAbs >= d) { - return Math.round(ms / d) + "d"; - } - if (msAbs >= h) { - return Math.round(ms / h) + "h"; - } - if (msAbs >= m) { - return Math.round(ms / m) + "m"; - } - if (msAbs >= s) { - return Math.round(ms / s) + "s"; - } - return ms + "ms"; - } - function fmtLong(ms) { - var msAbs = Math.abs(ms); - if (msAbs >= d) { - return plural(ms, msAbs, d, "day"); - } - if (msAbs >= h) { - return plural(ms, msAbs, h, "hour"); - } - if (msAbs >= m) { - return plural(ms, msAbs, m, "minute"); - } - if (msAbs >= s) { - return plural(ms, msAbs, s, "second"); - } - return ms + " ms"; - } - function plural(ms, msAbs, n, name) { - var isPlural = msAbs >= n * 1.5; - return Math.round(ms / n) + " " + name + (isPlural ? "s" : ""); - } - } -}); - -// node_modules/socket.io-parser/node_modules/debug/src/common.js -var require_common7 = __commonJS({ - "node_modules/socket.io-parser/node_modules/debug/src/common.js"(exports2, module2) { - function setup(env) { - createDebug.debug = createDebug; - createDebug.default = createDebug; - createDebug.coerce = coerce; - createDebug.disable = disable; - createDebug.enable = enable; - createDebug.enabled = enabled; - createDebug.humanize = require_ms7(); - createDebug.destroy = destroy; - Object.keys(env).forEach((key) => { - createDebug[key] = env[key]; - }); - createDebug.names = []; - createDebug.skips = []; - createDebug.formatters = {}; - function selectColor(namespace) { - let hash = 0; - for (let i = 0; i < namespace.length; i++) { - hash = (hash << 5) - hash + namespace.charCodeAt(i); - hash |= 0; - } - return createDebug.colors[Math.abs(hash) % createDebug.colors.length]; - } - createDebug.selectColor = selectColor; - function createDebug(namespace) { - let prevTime; - let enableOverride = null; - let namespacesCache; - let enabledCache; - function debug(...args2) { - if (!debug.enabled) { - return; - } - const self2 = debug; - const curr = Number(new Date()); - const ms = curr - (prevTime || curr); - self2.diff = ms; - self2.prev = prevTime; - self2.curr = curr; - prevTime = curr; - args2[0] = createDebug.coerce(args2[0]); - if (typeof args2[0] !== "string") { - args2.unshift("%O"); - } - let index = 0; - args2[0] = args2[0].replace(/%([a-zA-Z%])/g, (match, format2) => { - if (match === "%%") { - return "%"; - } - index++; - const formatter = createDebug.formatters[format2]; - if (typeof formatter === "function") { - const val = args2[index]; - match = formatter.call(self2, val); - args2.splice(index, 1); - index--; - } - return match; - }); - createDebug.formatArgs.call(self2, args2); - const logFn = self2.log || createDebug.log; - logFn.apply(self2, args2); - } - debug.namespace = namespace; - debug.useColors = createDebug.useColors(); - debug.color = createDebug.selectColor(namespace); - debug.extend = extend2; - debug.destroy = createDebug.destroy; - Object.defineProperty(debug, "enabled", { - enumerable: true, - configurable: false, - get: () => { - if (enableOverride !== null) { - return enableOverride; - } - if (namespacesCache !== createDebug.namespaces) { - namespacesCache = createDebug.namespaces; - enabledCache = createDebug.enabled(namespace); - } - return enabledCache; - }, - set: (v) => { - enableOverride = v; - } - }); - if (typeof createDebug.init === "function") { - createDebug.init(debug); - } - return debug; - } - function extend2(namespace, delimiter) { - const newDebug = createDebug(this.namespace + (typeof delimiter === "undefined" ? ":" : delimiter) + namespace); - newDebug.log = this.log; - return newDebug; - } - function enable(namespaces) { - createDebug.save(namespaces); - createDebug.namespaces = namespaces; - createDebug.names = []; - createDebug.skips = []; - let i; - const split = (typeof namespaces === "string" ? namespaces : "").split(/[\s,]+/); - const len = split.length; - for (i = 0; i < len; i++) { - if (!split[i]) { - continue; - } - namespaces = split[i].replace(/\*/g, ".*?"); - if (namespaces[0] === "-") { - createDebug.skips.push(new RegExp("^" + namespaces.slice(1) + "$")); - } else { - createDebug.names.push(new RegExp("^" + namespaces + "$")); - } - } - } - function disable() { - const namespaces = [ - ...createDebug.names.map(toNamespace), - ...createDebug.skips.map(toNamespace).map((namespace) => "-" + namespace) - ].join(","); - createDebug.enable(""); - return namespaces; - } - function enabled(name) { - if (name[name.length - 1] === "*") { - return true; - } - let i; - let len; - for (i = 0, len = createDebug.skips.length; i < len; i++) { - if (createDebug.skips[i].test(name)) { - return false; - } - } - for (i = 0, len = createDebug.names.length; i < len; i++) { - if (createDebug.names[i].test(name)) { - return true; - } - } - return false; - } - function toNamespace(regexp) { - return regexp.toString().substring(2, regexp.toString().length - 2).replace(/\.\*\?$/, "*"); - } - function coerce(val) { - if (val instanceof Error) { - return val.stack || val.message; - } - return val; - } - function destroy() { - console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."); - } - createDebug.enable(createDebug.load()); - return createDebug; - } - module2.exports = setup; - } -}); - -// node_modules/socket.io-parser/node_modules/debug/src/browser.js -var require_browser6 = __commonJS({ - "node_modules/socket.io-parser/node_modules/debug/src/browser.js"(exports2, module2) { - exports2.formatArgs = formatArgs; - exports2.save = save; - exports2.load = load; - exports2.useColors = useColors; - exports2.storage = localstorage(); - exports2.destroy = (() => { - let warned = false; - return () => { - if (!warned) { - warned = true; - console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."); - } - }; - })(); - exports2.colors = [ - "#0000CC", - "#0000FF", - "#0033CC", - "#0033FF", - "#0066CC", - "#0066FF", - "#0099CC", - "#0099FF", - "#00CC00", - "#00CC33", - "#00CC66", - "#00CC99", - "#00CCCC", - "#00CCFF", - "#3300CC", - "#3300FF", - "#3333CC", - "#3333FF", - "#3366CC", - "#3366FF", - "#3399CC", - "#3399FF", - "#33CC00", - "#33CC33", - "#33CC66", - "#33CC99", - "#33CCCC", - "#33CCFF", - "#6600CC", - "#6600FF", - "#6633CC", - "#6633FF", - "#66CC00", - "#66CC33", - "#9900CC", - "#9900FF", - "#9933CC", - "#9933FF", - "#99CC00", - "#99CC33", - "#CC0000", - "#CC0033", - "#CC0066", - "#CC0099", - "#CC00CC", - "#CC00FF", - "#CC3300", - "#CC3333", - "#CC3366", - "#CC3399", - "#CC33CC", - "#CC33FF", - "#CC6600", - "#CC6633", - "#CC9900", - "#CC9933", - "#CCCC00", - "#CCCC33", - "#FF0000", - "#FF0033", - "#FF0066", - "#FF0099", - "#FF00CC", - "#FF00FF", - "#FF3300", - "#FF3333", - "#FF3366", - "#FF3399", - "#FF33CC", - "#FF33FF", - "#FF6600", - "#FF6633", - "#FF9900", - "#FF9933", - "#FFCC00", - "#FFCC33" - ]; - function useColors() { - if (typeof window !== "undefined" && window.process && (window.process.type === "renderer" || window.process.__nwjs)) { - return true; - } - if (typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { - return false; - } - return typeof document !== "undefined" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || typeof window !== "undefined" && window.console && (window.console.firebug || window.console.exception && window.console.table) || typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 || typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/); - } - function formatArgs(args2) { - args2[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + args2[0] + (this.useColors ? "%c " : " ") + "+" + module2.exports.humanize(this.diff); - if (!this.useColors) { - return; - } - const c = "color: " + this.color; - args2.splice(1, 0, c, "color: inherit"); - let index = 0; - let lastC = 0; - args2[0].replace(/%[a-zA-Z%]/g, (match) => { - if (match === "%%") { - return; - } - index++; - if (match === "%c") { - lastC = index; - } - }); - args2.splice(lastC, 0, c); - } - exports2.log = console.debug || console.log || (() => { - }); - function save(namespaces) { - try { - if (namespaces) { - exports2.storage.setItem("debug", namespaces); - } else { - exports2.storage.removeItem("debug"); - } - } catch (error) { - } - } - function load() { - let r; - try { - r = exports2.storage.getItem("debug"); - } catch (error) { - } - if (!r && typeof process !== "undefined" && "env" in process) { - r = process.env.DEBUG; - } - return r; - } - function localstorage() { - try { - return localStorage; - } catch (error) { - } - } - module2.exports = require_common7()(exports2); - var { formatters } = module2.exports; - formatters.j = function(v) { - try { - return JSON.stringify(v); - } catch (error) { - return "[UnexpectedJSONParseError]: " + error.message; - } - }; - } -}); - -// node_modules/socket.io-parser/node_modules/debug/src/node.js -var require_node8 = __commonJS({ - "node_modules/socket.io-parser/node_modules/debug/src/node.js"(exports2, module2) { - var tty = require("tty"); - var util2 = require("util"); - exports2.init = init; - exports2.log = log2; - exports2.formatArgs = formatArgs; - exports2.save = save; - exports2.load = load; - exports2.useColors = useColors; - exports2.destroy = util2.deprecate( - () => { - }, - "Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`." - ); - exports2.colors = [6, 2, 3, 4, 5, 1]; - try { - const supportsColor = require("supports-color"); - if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) { - exports2.colors = [ - 20, - 21, - 26, - 27, - 32, - 33, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 56, - 57, - 62, - 63, - 68, - 69, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 92, - 93, - 98, - 99, - 112, - 113, - 128, - 129, - 134, - 135, - 148, - 149, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 178, - 179, - 184, - 185, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 214, - 215, - 220, - 221 - ]; - } - } catch (error) { - } - exports2.inspectOpts = Object.keys(process.env).filter((key) => { - return /^debug_/i.test(key); - }).reduce((obj, key) => { - const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_, k) => { - return k.toUpperCase(); - }); - let val = process.env[key]; - if (/^(yes|on|true|enabled)$/i.test(val)) { - val = true; - } else if (/^(no|off|false|disabled)$/i.test(val)) { - val = false; - } else if (val === "null") { - val = null; - } else { - val = Number(val); - } - obj[prop] = val; - return obj; - }, {}); - function useColors() { - return "colors" in exports2.inspectOpts ? Boolean(exports2.inspectOpts.colors) : tty.isatty(process.stderr.fd); - } - function formatArgs(args2) { - const { namespace: name, useColors: useColors2 } = this; - if (useColors2) { - const c = this.color; - const colorCode = "\x1B[3" + (c < 8 ? c : "8;5;" + c); - const prefix = ` ${colorCode};1m${name} \x1B[0m`; - args2[0] = prefix + args2[0].split("\n").join("\n" + prefix); - args2.push(colorCode + "m+" + module2.exports.humanize(this.diff) + "\x1B[0m"); - } else { - args2[0] = getDate() + name + " " + args2[0]; - } - } - function getDate() { - if (exports2.inspectOpts.hideDate) { - return ""; - } - return new Date().toISOString() + " "; - } - function log2(...args2) { - return process.stderr.write(util2.format(...args2) + "\n"); - } - function save(namespaces) { - if (namespaces) { - process.env.DEBUG = namespaces; - } else { - delete process.env.DEBUG; - } - } - function load() { - return process.env.DEBUG; - } - function init(debug) { - debug.inspectOpts = {}; - const keys2 = Object.keys(exports2.inspectOpts); - for (let i = 0; i < keys2.length; i++) { - debug.inspectOpts[keys2[i]] = exports2.inspectOpts[keys2[i]]; - } - } - module2.exports = require_common7()(exports2); - var { formatters } = module2.exports; - formatters.o = function(v) { - this.inspectOpts.colors = this.useColors; - return util2.inspect(v, this.inspectOpts).split("\n").map((str) => str.trim()).join(" "); - }; - formatters.O = function(v) { - this.inspectOpts.colors = this.useColors; - return util2.inspect(v, this.inspectOpts); - }; - } -}); - -// node_modules/socket.io-parser/node_modules/debug/src/index.js -var require_src7 = __commonJS({ - "node_modules/socket.io-parser/node_modules/debug/src/index.js"(exports2, module2) { - if (typeof process === "undefined" || process.type === "renderer" || process.browser === true || process.__nwjs) { - module2.exports = require_browser6(); - } else { - module2.exports = require_node8(); - } - } -}); - -// node_modules/socket.io-parser/build/cjs/index.js -var require_cjs2 = __commonJS({ - "node_modules/socket.io-parser/build/cjs/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.Decoder = exports2.Encoder = exports2.PacketType = exports2.protocol = void 0; - var component_emitter_1 = require_component_emitter(); - var binary_js_1 = require_binary(); - var is_binary_js_1 = require_is_binary(); - var debug_1 = require_src7(); - var debug = debug_1.default("socket.io-parser"); - exports2.protocol = 5; - var PacketType; - (function(PacketType2) { - PacketType2[PacketType2["CONNECT"] = 0] = "CONNECT"; - PacketType2[PacketType2["DISCONNECT"] = 1] = "DISCONNECT"; - PacketType2[PacketType2["EVENT"] = 2] = "EVENT"; - PacketType2[PacketType2["ACK"] = 3] = "ACK"; - PacketType2[PacketType2["CONNECT_ERROR"] = 4] = "CONNECT_ERROR"; - PacketType2[PacketType2["BINARY_EVENT"] = 5] = "BINARY_EVENT"; - PacketType2[PacketType2["BINARY_ACK"] = 6] = "BINARY_ACK"; - })(PacketType = exports2.PacketType || (exports2.PacketType = {})); - var Encoder = class { - constructor(replacer) { - this.replacer = replacer; - } - encode(obj) { - debug("encoding packet %j", obj); - if (obj.type === PacketType.EVENT || obj.type === PacketType.ACK) { - if (is_binary_js_1.hasBinary(obj)) { - obj.type = obj.type === PacketType.EVENT ? PacketType.BINARY_EVENT : PacketType.BINARY_ACK; - return this.encodeAsBinary(obj); - } - } - return [this.encodeAsString(obj)]; - } - encodeAsString(obj) { - let str = "" + obj.type; - if (obj.type === PacketType.BINARY_EVENT || obj.type === PacketType.BINARY_ACK) { - str += obj.attachments + "-"; - } - if (obj.nsp && "/" !== obj.nsp) { - str += obj.nsp + ","; - } - if (null != obj.id) { - str += obj.id; - } - if (null != obj.data) { - str += JSON.stringify(obj.data, this.replacer); - } - debug("encoded %j as %s", obj, str); - return str; - } - encodeAsBinary(obj) { - const deconstruction = binary_js_1.deconstructPacket(obj); - const pack = this.encodeAsString(deconstruction.packet); - const buffers = deconstruction.buffers; - buffers.unshift(pack); - return buffers; - } - }; - exports2.Encoder = Encoder; - var Decoder = class extends component_emitter_1.Emitter { - constructor(reviver) { - super(); - this.reviver = reviver; - } - add(obj) { - let packet; - if (typeof obj === "string") { - if (this.reconstructor) { - throw new Error("got plaintext data when reconstructing a packet"); - } - packet = this.decodeString(obj); - if (packet.type === PacketType.BINARY_EVENT || packet.type === PacketType.BINARY_ACK) { - this.reconstructor = new BinaryReconstructor(packet); - if (packet.attachments === 0) { - super.emitReserved("decoded", packet); - } - } else { - super.emitReserved("decoded", packet); - } - } else if (is_binary_js_1.isBinary(obj) || obj.base64) { - if (!this.reconstructor) { - throw new Error("got binary data when not reconstructing a packet"); - } else { - packet = this.reconstructor.takeBinaryData(obj); - if (packet) { - this.reconstructor = null; - super.emitReserved("decoded", packet); - } - } - } else { - throw new Error("Unknown type: " + obj); - } - } - decodeString(str) { - let i = 0; - const p = { - type: Number(str.charAt(0)) - }; - if (PacketType[p.type] === void 0) { - throw new Error("unknown packet type " + p.type); - } - if (p.type === PacketType.BINARY_EVENT || p.type === PacketType.BINARY_ACK) { - const start = i + 1; - while (str.charAt(++i) !== "-" && i != str.length) { - } - const buf = str.substring(start, i); - if (buf != Number(buf) || str.charAt(i) !== "-") { - throw new Error("Illegal attachments"); - } - p.attachments = Number(buf); - } - if ("/" === str.charAt(i + 1)) { - const start = i + 1; - while (++i) { - const c = str.charAt(i); - if ("," === c) - break; - if (i === str.length) - break; - } - p.nsp = str.substring(start, i); - } else { - p.nsp = "/"; - } - const next = str.charAt(i + 1); - if ("" !== next && Number(next) == next) { - const start = i + 1; - while (++i) { - const c = str.charAt(i); - if (null == c || Number(c) != c) { - --i; - break; - } - if (i === str.length) - break; - } - p.id = Number(str.substring(start, i + 1)); - } - if (str.charAt(++i)) { - const payload = this.tryParse(str.substr(i)); - if (Decoder.isPayloadValid(p.type, payload)) { - p.data = payload; - } else { - throw new Error("invalid payload"); - } - } - debug("decoded %s as %j", str, p); - return p; - } - tryParse(str) { - try { - return JSON.parse(str, this.reviver); - } catch (e) { - return false; - } - } - static isPayloadValid(type, payload) { - switch (type) { - case PacketType.CONNECT: - return typeof payload === "object"; - case PacketType.DISCONNECT: - return payload === void 0; - case PacketType.CONNECT_ERROR: - return typeof payload === "string" || typeof payload === "object"; - case PacketType.EVENT: - case PacketType.BINARY_EVENT: - return Array.isArray(payload) && payload.length > 0; - case PacketType.ACK: - case PacketType.BINARY_ACK: - return Array.isArray(payload); - } - } - destroy() { - if (this.reconstructor) { - this.reconstructor.finishedReconstruction(); - } - } - }; - exports2.Decoder = Decoder; - var BinaryReconstructor = class { - constructor(packet) { - this.packet = packet; - this.buffers = []; - this.reconPack = packet; - } - takeBinaryData(binData) { - this.buffers.push(binData); - if (this.buffers.length === this.reconPack.attachments) { - const packet = binary_js_1.reconstructPacket(this.reconPack, this.buffers); - this.finishedReconstruction(); - return packet; - } - return null; - } - finishedReconstruction() { - this.reconPack = null; - this.buffers = []; - } - }; - } -}); - -// node_modules/socket.io/node_modules/ms/index.js -var require_ms8 = __commonJS({ - "node_modules/socket.io/node_modules/ms/index.js"(exports2, module2) { - var s = 1e3; - var m = s * 60; - var h = m * 60; - var d = h * 24; - var w = d * 7; - var y = d * 365.25; - module2.exports = function(val, options) { - options = options || {}; - var type = typeof val; - if (type === "string" && val.length > 0) { - return parse(val); - } else if (type === "number" && isFinite(val)) { - return options.long ? fmtLong(val) : fmtShort(val); - } - throw new Error( - "val is not a non-empty string or a valid number. val=" + JSON.stringify(val) - ); - }; - function parse(str) { - str = String(str); - if (str.length > 100) { - return; - } - var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec( - str - ); - if (!match) { - return; - } - var n = parseFloat(match[1]); - var type = (match[2] || "ms").toLowerCase(); - switch (type) { - case "years": - case "year": - case "yrs": - case "yr": - case "y": - return n * y; - case "weeks": - case "week": - case "w": - return n * w; - case "days": - case "day": - case "d": - return n * d; - case "hours": - case "hour": - case "hrs": - case "hr": - case "h": - return n * h; - case "minutes": - case "minute": - case "mins": - case "min": - case "m": - return n * m; - case "seconds": - case "second": - case "secs": - case "sec": - case "s": - return n * s; - case "milliseconds": - case "millisecond": - case "msecs": - case "msec": - case "ms": - return n; - default: - return void 0; - } - } - function fmtShort(ms) { - var msAbs = Math.abs(ms); - if (msAbs >= d) { - return Math.round(ms / d) + "d"; - } - if (msAbs >= h) { - return Math.round(ms / h) + "h"; - } - if (msAbs >= m) { - return Math.round(ms / m) + "m"; - } - if (msAbs >= s) { - return Math.round(ms / s) + "s"; - } - return ms + "ms"; - } - function fmtLong(ms) { - var msAbs = Math.abs(ms); - if (msAbs >= d) { - return plural(ms, msAbs, d, "day"); - } - if (msAbs >= h) { - return plural(ms, msAbs, h, "hour"); - } - if (msAbs >= m) { - return plural(ms, msAbs, m, "minute"); - } - if (msAbs >= s) { - return plural(ms, msAbs, s, "second"); - } - return ms + " ms"; - } - function plural(ms, msAbs, n, name) { - var isPlural = msAbs >= n * 1.5; - return Math.round(ms / n) + " " + name + (isPlural ? "s" : ""); - } - } -}); - -// node_modules/socket.io/node_modules/debug/src/common.js -var require_common8 = __commonJS({ - "node_modules/socket.io/node_modules/debug/src/common.js"(exports2, module2) { - function setup(env) { - createDebug.debug = createDebug; - createDebug.default = createDebug; - createDebug.coerce = coerce; - createDebug.disable = disable; - createDebug.enable = enable; - createDebug.enabled = enabled; - createDebug.humanize = require_ms8(); - createDebug.destroy = destroy; - Object.keys(env).forEach((key) => { - createDebug[key] = env[key]; - }); - createDebug.names = []; - createDebug.skips = []; - createDebug.formatters = {}; - function selectColor(namespace) { - let hash = 0; - for (let i = 0; i < namespace.length; i++) { - hash = (hash << 5) - hash + namespace.charCodeAt(i); - hash |= 0; - } - return createDebug.colors[Math.abs(hash) % createDebug.colors.length]; - } - createDebug.selectColor = selectColor; - function createDebug(namespace) { - let prevTime; - let enableOverride = null; - let namespacesCache; - let enabledCache; - function debug(...args2) { - if (!debug.enabled) { - return; - } - const self2 = debug; - const curr = Number(new Date()); - const ms = curr - (prevTime || curr); - self2.diff = ms; - self2.prev = prevTime; - self2.curr = curr; - prevTime = curr; - args2[0] = createDebug.coerce(args2[0]); - if (typeof args2[0] !== "string") { - args2.unshift("%O"); - } - let index = 0; - args2[0] = args2[0].replace(/%([a-zA-Z%])/g, (match, format2) => { - if (match === "%%") { - return "%"; - } - index++; - const formatter = createDebug.formatters[format2]; - if (typeof formatter === "function") { - const val = args2[index]; - match = formatter.call(self2, val); - args2.splice(index, 1); - index--; - } - return match; - }); - createDebug.formatArgs.call(self2, args2); - const logFn = self2.log || createDebug.log; - logFn.apply(self2, args2); - } - debug.namespace = namespace; - debug.useColors = createDebug.useColors(); - debug.color = createDebug.selectColor(namespace); - debug.extend = extend2; - debug.destroy = createDebug.destroy; - Object.defineProperty(debug, "enabled", { - enumerable: true, - configurable: false, - get: () => { - if (enableOverride !== null) { - return enableOverride; - } - if (namespacesCache !== createDebug.namespaces) { - namespacesCache = createDebug.namespaces; - enabledCache = createDebug.enabled(namespace); - } - return enabledCache; - }, - set: (v) => { - enableOverride = v; - } - }); - if (typeof createDebug.init === "function") { - createDebug.init(debug); - } - return debug; - } - function extend2(namespace, delimiter) { - const newDebug = createDebug(this.namespace + (typeof delimiter === "undefined" ? ":" : delimiter) + namespace); - newDebug.log = this.log; - return newDebug; - } - function enable(namespaces) { - createDebug.save(namespaces); - createDebug.namespaces = namespaces; - createDebug.names = []; - createDebug.skips = []; - let i; - const split = (typeof namespaces === "string" ? namespaces : "").split(/[\s,]+/); - const len = split.length; - for (i = 0; i < len; i++) { - if (!split[i]) { - continue; - } - namespaces = split[i].replace(/\*/g, ".*?"); - if (namespaces[0] === "-") { - createDebug.skips.push(new RegExp("^" + namespaces.slice(1) + "$")); - } else { - createDebug.names.push(new RegExp("^" + namespaces + "$")); - } - } - } - function disable() { - const namespaces = [ - ...createDebug.names.map(toNamespace), - ...createDebug.skips.map(toNamespace).map((namespace) => "-" + namespace) - ].join(","); - createDebug.enable(""); - return namespaces; - } - function enabled(name) { - if (name[name.length - 1] === "*") { - return true; - } - let i; - let len; - for (i = 0, len = createDebug.skips.length; i < len; i++) { - if (createDebug.skips[i].test(name)) { - return false; - } - } - for (i = 0, len = createDebug.names.length; i < len; i++) { - if (createDebug.names[i].test(name)) { - return true; - } - } - return false; - } - function toNamespace(regexp) { - return regexp.toString().substring(2, regexp.toString().length - 2).replace(/\.\*\?$/, "*"); - } - function coerce(val) { - if (val instanceof Error) { - return val.stack || val.message; - } - return val; - } - function destroy() { - console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."); - } - createDebug.enable(createDebug.load()); - return createDebug; - } - module2.exports = setup; - } -}); - -// node_modules/socket.io/node_modules/debug/src/browser.js -var require_browser7 = __commonJS({ - "node_modules/socket.io/node_modules/debug/src/browser.js"(exports2, module2) { - exports2.formatArgs = formatArgs; - exports2.save = save; - exports2.load = load; - exports2.useColors = useColors; - exports2.storage = localstorage(); - exports2.destroy = (() => { - let warned = false; - return () => { - if (!warned) { - warned = true; - console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."); - } - }; - })(); - exports2.colors = [ - "#0000CC", - "#0000FF", - "#0033CC", - "#0033FF", - "#0066CC", - "#0066FF", - "#0099CC", - "#0099FF", - "#00CC00", - "#00CC33", - "#00CC66", - "#00CC99", - "#00CCCC", - "#00CCFF", - "#3300CC", - "#3300FF", - "#3333CC", - "#3333FF", - "#3366CC", - "#3366FF", - "#3399CC", - "#3399FF", - "#33CC00", - "#33CC33", - "#33CC66", - "#33CC99", - "#33CCCC", - "#33CCFF", - "#6600CC", - "#6600FF", - "#6633CC", - "#6633FF", - "#66CC00", - "#66CC33", - "#9900CC", - "#9900FF", - "#9933CC", - "#9933FF", - "#99CC00", - "#99CC33", - "#CC0000", - "#CC0033", - "#CC0066", - "#CC0099", - "#CC00CC", - "#CC00FF", - "#CC3300", - "#CC3333", - "#CC3366", - "#CC3399", - "#CC33CC", - "#CC33FF", - "#CC6600", - "#CC6633", - "#CC9900", - "#CC9933", - "#CCCC00", - "#CCCC33", - "#FF0000", - "#FF0033", - "#FF0066", - "#FF0099", - "#FF00CC", - "#FF00FF", - "#FF3300", - "#FF3333", - "#FF3366", - "#FF3399", - "#FF33CC", - "#FF33FF", - "#FF6600", - "#FF6633", - "#FF9900", - "#FF9933", - "#FFCC00", - "#FFCC33" - ]; - function useColors() { - if (typeof window !== "undefined" && window.process && (window.process.type === "renderer" || window.process.__nwjs)) { - return true; - } - if (typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { - return false; - } - return typeof document !== "undefined" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || typeof window !== "undefined" && window.console && (window.console.firebug || window.console.exception && window.console.table) || typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 || typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/); - } - function formatArgs(args2) { - args2[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + args2[0] + (this.useColors ? "%c " : " ") + "+" + module2.exports.humanize(this.diff); - if (!this.useColors) { - return; - } - const c = "color: " + this.color; - args2.splice(1, 0, c, "color: inherit"); - let index = 0; - let lastC = 0; - args2[0].replace(/%[a-zA-Z%]/g, (match) => { - if (match === "%%") { - return; - } - index++; - if (match === "%c") { - lastC = index; - } - }); - args2.splice(lastC, 0, c); - } - exports2.log = console.debug || console.log || (() => { - }); - function save(namespaces) { - try { - if (namespaces) { - exports2.storage.setItem("debug", namespaces); - } else { - exports2.storage.removeItem("debug"); - } - } catch (error) { - } - } - function load() { - let r; - try { - r = exports2.storage.getItem("debug"); - } catch (error) { - } - if (!r && typeof process !== "undefined" && "env" in process) { - r = process.env.DEBUG; - } - return r; - } - function localstorage() { - try { - return localStorage; - } catch (error) { - } - } - module2.exports = require_common8()(exports2); - var { formatters } = module2.exports; - formatters.j = function(v) { - try { - return JSON.stringify(v); - } catch (error) { - return "[UnexpectedJSONParseError]: " + error.message; - } - }; - } -}); - -// node_modules/socket.io/node_modules/debug/src/node.js -var require_node9 = __commonJS({ - "node_modules/socket.io/node_modules/debug/src/node.js"(exports2, module2) { - var tty = require("tty"); - var util2 = require("util"); - exports2.init = init; - exports2.log = log2; - exports2.formatArgs = formatArgs; - exports2.save = save; - exports2.load = load; - exports2.useColors = useColors; - exports2.destroy = util2.deprecate( - () => { - }, - "Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`." - ); - exports2.colors = [6, 2, 3, 4, 5, 1]; - try { - const supportsColor = require("supports-color"); - if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) { - exports2.colors = [ - 20, - 21, - 26, - 27, - 32, - 33, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 56, - 57, - 62, - 63, - 68, - 69, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 92, - 93, - 98, - 99, - 112, - 113, - 128, - 129, - 134, - 135, - 148, - 149, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 178, - 179, - 184, - 185, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 214, - 215, - 220, - 221 - ]; - } - } catch (error) { - } - exports2.inspectOpts = Object.keys(process.env).filter((key) => { - return /^debug_/i.test(key); - }).reduce((obj, key) => { - const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_, k) => { - return k.toUpperCase(); - }); - let val = process.env[key]; - if (/^(yes|on|true|enabled)$/i.test(val)) { - val = true; - } else if (/^(no|off|false|disabled)$/i.test(val)) { - val = false; - } else if (val === "null") { - val = null; - } else { - val = Number(val); - } - obj[prop] = val; - return obj; - }, {}); - function useColors() { - return "colors" in exports2.inspectOpts ? Boolean(exports2.inspectOpts.colors) : tty.isatty(process.stderr.fd); - } - function formatArgs(args2) { - const { namespace: name, useColors: useColors2 } = this; - if (useColors2) { - const c = this.color; - const colorCode = "\x1B[3" + (c < 8 ? c : "8;5;" + c); - const prefix = ` ${colorCode};1m${name} \x1B[0m`; - args2[0] = prefix + args2[0].split("\n").join("\n" + prefix); - args2.push(colorCode + "m+" + module2.exports.humanize(this.diff) + "\x1B[0m"); - } else { - args2[0] = getDate() + name + " " + args2[0]; - } - } - function getDate() { - if (exports2.inspectOpts.hideDate) { - return ""; - } - return new Date().toISOString() + " "; - } - function log2(...args2) { - return process.stderr.write(util2.format(...args2) + "\n"); - } - function save(namespaces) { - if (namespaces) { - process.env.DEBUG = namespaces; - } else { - delete process.env.DEBUG; - } - } - function load() { - return process.env.DEBUG; - } - function init(debug) { - debug.inspectOpts = {}; - const keys2 = Object.keys(exports2.inspectOpts); - for (let i = 0; i < keys2.length; i++) { - debug.inspectOpts[keys2[i]] = exports2.inspectOpts[keys2[i]]; - } - } - module2.exports = require_common8()(exports2); - var { formatters } = module2.exports; - formatters.o = function(v) { - this.inspectOpts.colors = this.useColors; - return util2.inspect(v, this.inspectOpts).split("\n").map((str) => str.trim()).join(" "); - }; - formatters.O = function(v) { - this.inspectOpts.colors = this.useColors; - return util2.inspect(v, this.inspectOpts); - }; - } -}); - -// node_modules/socket.io/node_modules/debug/src/index.js -var require_src8 = __commonJS({ - "node_modules/socket.io/node_modules/debug/src/index.js"(exports2, module2) { - if (typeof process === "undefined" || process.type === "renderer" || process.browser === true || process.__nwjs) { - module2.exports = require_browser7(); - } else { - module2.exports = require_node9(); - } - } -}); - -// node_modules/socket.io/dist/client.js -var require_client = __commonJS({ - "node_modules/socket.io/dist/client.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.Client = void 0; - var socket_io_parser_1 = require_cjs2(); - var debugModule = require_src8(); - var url2 = require("url"); - var debug = debugModule("socket.io:client"); - var Client = class { - constructor(server, conn) { - this.sockets = /* @__PURE__ */ new Map(); - this.nsps = /* @__PURE__ */ new Map(); - this.server = server; - this.conn = conn; - this.encoder = server.encoder; - this.decoder = new server._parser.Decoder(); - this.id = conn.id; - this.setup(); - } - get request() { - return this.conn.request; - } - setup() { - this.onclose = this.onclose.bind(this); - this.ondata = this.ondata.bind(this); - this.onerror = this.onerror.bind(this); - this.ondecoded = this.ondecoded.bind(this); - this.decoder.on("decoded", this.ondecoded); - this.conn.on("data", this.ondata); - this.conn.on("error", this.onerror); - this.conn.on("close", this.onclose); - this.connectTimeout = setTimeout(() => { - if (this.nsps.size === 0) { - debug("no namespace joined yet, close the client"); - this.close(); - } else { - debug("the client has already joined a namespace, nothing to do"); - } - }, this.server._connectTimeout); - } - connect(name, auth = {}) { - if (this.server._nsps.has(name)) { - debug("connecting to namespace %s", name); - return this.doConnect(name, auth); - } - this.server._checkNamespace(name, auth, (dynamicNspName) => { - if (dynamicNspName) { - this.doConnect(name, auth); - } else { - debug("creation of namespace %s was denied", name); - this._packet({ - type: socket_io_parser_1.PacketType.CONNECT_ERROR, - nsp: name, - data: { - message: "Invalid namespace" - } - }); - } - }); - } - doConnect(name, auth) { - const nsp = this.server.of(name); - const socket = nsp._add(this, auth, () => { - this.sockets.set(socket.id, socket); - this.nsps.set(nsp.name, socket); - if (this.connectTimeout) { - clearTimeout(this.connectTimeout); - this.connectTimeout = void 0; - } - }); - } - _disconnect() { - for (const socket of this.sockets.values()) { - socket.disconnect(); - } - this.sockets.clear(); - this.close(); - } - _remove(socket) { - if (this.sockets.has(socket.id)) { - const nsp = this.sockets.get(socket.id).nsp.name; - this.sockets.delete(socket.id); - this.nsps.delete(nsp); - } else { - debug("ignoring remove for %s", socket.id); - } - } - close() { - if ("open" === this.conn.readyState) { - debug("forcing transport close"); - this.conn.close(); - this.onclose("forced server close"); - } - } - _packet(packet, opts = {}) { - if (this.conn.readyState !== "open") { - debug("ignoring packet write %j", packet); - return; - } - const encodedPackets = opts.preEncoded ? packet : this.encoder.encode(packet); - this.writeToEngine(encodedPackets, opts); - } - writeToEngine(encodedPackets, opts) { - if (opts.volatile && !this.conn.transport.writable) { - debug("volatile packet is discarded since the transport is not currently writable"); - return; - } - const packets = Array.isArray(encodedPackets) ? encodedPackets : [encodedPackets]; - for (const encodedPacket of packets) { - this.conn.write(encodedPacket, opts); - } - } - ondata(data) { - try { - this.decoder.add(data); - } catch (e) { - debug("invalid packet format"); - this.onerror(e); - } - } - ondecoded(packet) { - let namespace; - let authPayload; - if (this.conn.protocol === 3) { - const parsed = url2.parse(packet.nsp, true); - namespace = parsed.pathname; - authPayload = parsed.query; - } else { - namespace = packet.nsp; - authPayload = packet.data; - } - const socket = this.nsps.get(namespace); - if (!socket && packet.type === socket_io_parser_1.PacketType.CONNECT) { - this.connect(namespace, authPayload); - } else if (socket && packet.type !== socket_io_parser_1.PacketType.CONNECT && packet.type !== socket_io_parser_1.PacketType.CONNECT_ERROR) { - process.nextTick(function() { - socket._onpacket(packet); - }); - } else { - debug("invalid state (packet type: %s)", packet.type); - this.close(); - } - } - onerror(err) { - for (const socket of this.sockets.values()) { - socket._onerror(err); - } - this.conn.close(); - } - onclose(reason) { - debug("client close with reason %s", reason); - this.destroy(); - for (const socket of this.sockets.values()) { - socket._onclose(reason); - } - this.sockets.clear(); - this.decoder.destroy(); - } - destroy() { - this.conn.removeListener("data", this.ondata); - this.conn.removeListener("error", this.onerror); - this.conn.removeListener("close", this.onclose); - this.decoder.removeListener("decoded", this.ondecoded); - if (this.connectTimeout) { - clearTimeout(this.connectTimeout); - this.connectTimeout = void 0; - } - } - }; - exports2.Client = Client; - } -}); - -// node_modules/socket.io/dist/typed-events.js -var require_typed_events = __commonJS({ - "node_modules/socket.io/dist/typed-events.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.StrictEventEmitter = void 0; - var events_1 = require("events"); - var StrictEventEmitter = class extends events_1.EventEmitter { - on(ev, listener) { - return super.on(ev, listener); - } - once(ev, listener) { - return super.once(ev, listener); - } - emit(ev, ...args2) { - return super.emit(ev, ...args2); - } - emitReserved(ev, ...args2) { - return super.emit(ev, ...args2); - } - emitUntyped(ev, ...args2) { - return super.emit(ev, ...args2); - } - listeners(event) { - return super.listeners(event); - } - }; - exports2.StrictEventEmitter = StrictEventEmitter; - } -}); - -// node_modules/socket.io/dist/broadcast-operator.js -var require_broadcast_operator = __commonJS({ - "node_modules/socket.io/dist/broadcast-operator.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.RemoteSocket = exports2.BroadcastOperator = void 0; - var socket_1 = require_socket2(); - var socket_io_parser_1 = require_cjs2(); - var BroadcastOperator = class { - constructor(adapter2, rooms = /* @__PURE__ */ new Set(), exceptRooms = /* @__PURE__ */ new Set(), flags = {}) { - this.adapter = adapter2; - this.rooms = rooms; - this.exceptRooms = exceptRooms; - this.flags = flags; - } - to(room) { - const rooms = new Set(this.rooms); - if (Array.isArray(room)) { - room.forEach((r) => rooms.add(r)); - } else { - rooms.add(room); - } - return new BroadcastOperator(this.adapter, rooms, this.exceptRooms, this.flags); - } - in(room) { - return this.to(room); - } - except(room) { - const exceptRooms = new Set(this.exceptRooms); - if (Array.isArray(room)) { - room.forEach((r) => exceptRooms.add(r)); - } else { - exceptRooms.add(room); - } - return new BroadcastOperator(this.adapter, this.rooms, exceptRooms, this.flags); - } - compress(compress) { - const flags = Object.assign({}, this.flags, { compress }); - return new BroadcastOperator(this.adapter, this.rooms, this.exceptRooms, flags); - } - get volatile() { - const flags = Object.assign({}, this.flags, { volatile: true }); - return new BroadcastOperator(this.adapter, this.rooms, this.exceptRooms, flags); - } - get local() { - const flags = Object.assign({}, this.flags, { local: true }); - return new BroadcastOperator(this.adapter, this.rooms, this.exceptRooms, flags); - } - timeout(timeout) { - const flags = Object.assign({}, this.flags, { timeout }); - return new BroadcastOperator(this.adapter, this.rooms, this.exceptRooms, flags); - } - emit(ev, ...args2) { - if (socket_1.RESERVED_EVENTS.has(ev)) { - throw new Error(`"${String(ev)}" is a reserved event name`); - } - const data = [ev, ...args2]; - const packet = { - type: socket_io_parser_1.PacketType.EVENT, - data - }; - const withAck = typeof data[data.length - 1] === "function"; - if (!withAck) { - this.adapter.broadcast(packet, { - rooms: this.rooms, - except: this.exceptRooms, - flags: this.flags - }); - return true; - } - const ack = data.pop(); - let timedOut = false; - let responses = []; - const timer = setTimeout(() => { - timedOut = true; - ack.apply(this, [new Error("operation has timed out"), responses]); - }, this.flags.timeout); - let expectedServerCount = -1; - let actualServerCount = 0; - let expectedClientCount = 0; - const checkCompleteness = () => { - if (!timedOut && expectedServerCount === actualServerCount && responses.length === expectedClientCount) { - clearTimeout(timer); - ack.apply(this, [null, responses]); - } - }; - this.adapter.broadcastWithAck(packet, { - rooms: this.rooms, - except: this.exceptRooms, - flags: this.flags - }, (clientCount) => { - expectedClientCount += clientCount; - actualServerCount++; - checkCompleteness(); - }, (clientResponse) => { - responses.push(clientResponse); - checkCompleteness(); - }); - this.adapter.serverCount().then((serverCount) => { - expectedServerCount = serverCount; - checkCompleteness(); - }); - return true; - } - allSockets() { - if (!this.adapter) { - throw new Error("No adapter for this namespace, are you trying to get the list of clients of a dynamic namespace?"); - } - return this.adapter.sockets(this.rooms); - } - fetchSockets() { - return this.adapter.fetchSockets({ - rooms: this.rooms, - except: this.exceptRooms, - flags: this.flags - }).then((sockets) => { - return sockets.map((socket) => { - if (socket instanceof socket_1.Socket) { - return socket; - } else { - return new RemoteSocket(this.adapter, socket); - } - }); - }); - } - socketsJoin(room) { - this.adapter.addSockets({ - rooms: this.rooms, - except: this.exceptRooms, - flags: this.flags - }, Array.isArray(room) ? room : [room]); - } - socketsLeave(room) { - this.adapter.delSockets({ - rooms: this.rooms, - except: this.exceptRooms, - flags: this.flags - }, Array.isArray(room) ? room : [room]); - } - disconnectSockets(close = false) { - this.adapter.disconnectSockets({ - rooms: this.rooms, - except: this.exceptRooms, - flags: this.flags - }, close); - } - }; - exports2.BroadcastOperator = BroadcastOperator; - var RemoteSocket = class { - constructor(adapter2, details) { - this.id = details.id; - this.handshake = details.handshake; - this.rooms = new Set(details.rooms); - this.data = details.data; - this.operator = new BroadcastOperator(adapter2, /* @__PURE__ */ new Set([this.id])); - } - emit(ev, ...args2) { - return this.operator.emit(ev, ...args2); - } - join(room) { - return this.operator.socketsJoin(room); - } - leave(room) { - return this.operator.socketsLeave(room); - } - disconnect(close = false) { - this.operator.disconnectSockets(close); - return this; - } - }; - exports2.RemoteSocket = RemoteSocket; - } -}); - -// node_modules/socket.io/dist/socket.js -var require_socket2 = __commonJS({ - "node_modules/socket.io/dist/socket.js"(exports2) { - "use strict"; - var __importDefault = exports2 && exports2.__importDefault || function(mod2) { - return mod2 && mod2.__esModule ? mod2 : { "default": mod2 }; - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.Socket = exports2.RESERVED_EVENTS = void 0; - var socket_io_parser_1 = require_cjs2(); - var debug_1 = __importDefault(require_src8()); - var typed_events_1 = require_typed_events(); - var base64id_1 = __importDefault(require_base64id()); - var broadcast_operator_1 = require_broadcast_operator(); - var debug = (0, debug_1.default)("socket.io:socket"); - exports2.RESERVED_EVENTS = /* @__PURE__ */ new Set([ - "connect", - "connect_error", - "disconnect", - "disconnecting", - "newListener", - "removeListener" - ]); - function noop2() { - } - var Socket2 = class extends typed_events_1.StrictEventEmitter { - constructor(nsp, client, auth) { - super(); - this.nsp = nsp; - this.client = client; - this.data = {}; - this.connected = false; - this.acks = /* @__PURE__ */ new Map(); - this.fns = []; - this.flags = {}; - this.server = nsp.server; - this.adapter = this.nsp.adapter; - if (client.conn.protocol === 3) { - this.id = nsp.name !== "/" ? nsp.name + "#" + client.id : client.id; - } else { - this.id = base64id_1.default.generateId(); - } - this.handshake = this.buildHandshake(auth); - } - buildHandshake(auth) { - return { - headers: this.request.headers, - time: new Date() + "", - address: this.conn.remoteAddress, - xdomain: !!this.request.headers.origin, - secure: !!this.request.connection.encrypted, - issued: +new Date(), - url: this.request.url, - query: this.request._query, - auth - }; - } - emit(ev, ...args2) { - if (exports2.RESERVED_EVENTS.has(ev)) { - throw new Error(`"${String(ev)}" is a reserved event name`); - } - const data = [ev, ...args2]; - const packet = { - type: socket_io_parser_1.PacketType.EVENT, - data - }; - if (typeof data[data.length - 1] === "function") { - const id = this.nsp._ids++; - debug("emitting packet with ack id %d", id); - this.registerAckCallback(id, data.pop()); - packet.id = id; - } - const flags = Object.assign({}, this.flags); - this.flags = {}; - this.notifyOutgoingListeners(packet); - this.packet(packet, flags); - return true; - } - registerAckCallback(id, ack) { - const timeout = this.flags.timeout; - if (timeout === void 0) { - this.acks.set(id, ack); - return; - } - const timer = setTimeout(() => { - debug("event with ack id %d has timed out after %d ms", id, timeout); - this.acks.delete(id); - ack.call(this, new Error("operation has timed out")); - }, timeout); - this.acks.set(id, (...args2) => { - clearTimeout(timer); - ack.apply(this, [null, ...args2]); - }); - } - to(room) { - return this.newBroadcastOperator().to(room); - } - in(room) { - return this.newBroadcastOperator().in(room); - } - except(room) { - return this.newBroadcastOperator().except(room); - } - send(...args2) { - this.emit("message", ...args2); - return this; - } - write(...args2) { - this.emit("message", ...args2); - return this; - } - packet(packet, opts = {}) { - packet.nsp = this.nsp.name; - opts.compress = false !== opts.compress; - this.client._packet(packet, opts); - } - join(rooms) { - debug("join room %s", rooms); - return this.adapter.addAll(this.id, new Set(Array.isArray(rooms) ? rooms : [rooms])); - } - leave(room) { - debug("leave room %s", room); - return this.adapter.del(this.id, room); - } - leaveAll() { - this.adapter.delAll(this.id); - } - _onconnect() { - debug("socket connected - writing packet"); - this.connected = true; - this.join(this.id); - if (this.conn.protocol === 3) { - this.packet({ type: socket_io_parser_1.PacketType.CONNECT }); - } else { - this.packet({ type: socket_io_parser_1.PacketType.CONNECT, data: { sid: this.id } }); - } - } - _onpacket(packet) { - debug("got packet %j", packet); - switch (packet.type) { - case socket_io_parser_1.PacketType.EVENT: - this.onevent(packet); - break; - case socket_io_parser_1.PacketType.BINARY_EVENT: - this.onevent(packet); - break; - case socket_io_parser_1.PacketType.ACK: - this.onack(packet); - break; - case socket_io_parser_1.PacketType.BINARY_ACK: - this.onack(packet); - break; - case socket_io_parser_1.PacketType.DISCONNECT: - this.ondisconnect(); - break; - } - } - onevent(packet) { - const args2 = packet.data || []; - debug("emitting event %j", args2); - if (null != packet.id) { - debug("attaching ack callback to event"); - args2.push(this.ack(packet.id)); - } - if (this._anyListeners && this._anyListeners.length) { - const listeners = this._anyListeners.slice(); - for (const listener of listeners) { - listener.apply(this, args2); - } - } - this.dispatch(args2); - } - ack(id) { - const self2 = this; - let sent = false; - return function() { - if (sent) - return; - const args2 = Array.prototype.slice.call(arguments); - debug("sending ack %j", args2); - self2.packet({ - id, - type: socket_io_parser_1.PacketType.ACK, - data: args2 - }); - sent = true; - }; - } - onack(packet) { - const ack = this.acks.get(packet.id); - if ("function" == typeof ack) { - debug("calling ack %s with %j", packet.id, packet.data); - ack.apply(this, packet.data); - this.acks.delete(packet.id); - } else { - debug("bad ack %s", packet.id); - } - } - ondisconnect() { - debug("got disconnect packet"); - this._onclose("client namespace disconnect"); - } - _onerror(err) { - if (this.listeners("error").length) { - this.emitReserved("error", err); - } else { - console.error("Missing error handler on `socket`."); - console.error(err.stack); - } - } - _onclose(reason) { - if (!this.connected) - return this; - debug("closing socket - reason %s", reason); - this.emitReserved("disconnecting", reason); - this._cleanup(); - this.nsp._remove(this); - this.client._remove(this); - this.connected = false; - this.emitReserved("disconnect", reason); - return; - } - _cleanup() { - this.leaveAll(); - this.join = noop2; - } - _error(err) { - this.packet({ type: socket_io_parser_1.PacketType.CONNECT_ERROR, data: err }); - } - disconnect(close = false) { - if (!this.connected) - return this; - if (close) { - this.client._disconnect(); - } else { - this.packet({ type: socket_io_parser_1.PacketType.DISCONNECT }); - this._onclose("server namespace disconnect"); - } - return this; - } - compress(compress) { - this.flags.compress = compress; - return this; - } - get volatile() { - this.flags.volatile = true; - return this; - } - get broadcast() { - return this.newBroadcastOperator(); - } - get local() { - return this.newBroadcastOperator().local; - } - timeout(timeout) { - this.flags.timeout = timeout; - return this; - } - dispatch(event) { - debug("dispatching an event %j", event); - this.run(event, (err) => { - process.nextTick(() => { - if (err) { - return this._onerror(err); - } - if (this.connected) { - super.emitUntyped.apply(this, event); - } else { - debug("ignore packet received after disconnection"); - } - }); - }); - } - use(fn2) { - this.fns.push(fn2); - return this; - } - run(event, fn2) { - const fns = this.fns.slice(0); - if (!fns.length) - return fn2(null); - function run(i) { - fns[i](event, function(err) { - if (err) - return fn2(err); - if (!fns[i + 1]) - return fn2(null); - run(i + 1); - }); - } - run(0); - } - get disconnected() { - return !this.connected; - } - get request() { - return this.client.request; - } - get conn() { - return this.client.conn; - } - get rooms() { - return this.adapter.socketRooms(this.id) || /* @__PURE__ */ new Set(); - } - onAny(listener) { - this._anyListeners = this._anyListeners || []; - this._anyListeners.push(listener); - return this; - } - prependAny(listener) { - this._anyListeners = this._anyListeners || []; - this._anyListeners.unshift(listener); - return this; - } - offAny(listener) { - if (!this._anyListeners) { - return this; - } - if (listener) { - const listeners = this._anyListeners; - for (let i = 0; i < listeners.length; i++) { - if (listener === listeners[i]) { - listeners.splice(i, 1); - return this; - } - } - } else { - this._anyListeners = []; - } - return this; - } - listenersAny() { - return this._anyListeners || []; - } - onAnyOutgoing(listener) { - this._anyOutgoingListeners = this._anyOutgoingListeners || []; - this._anyOutgoingListeners.push(listener); - return this; - } - prependAnyOutgoing(listener) { - this._anyOutgoingListeners = this._anyOutgoingListeners || []; - this._anyOutgoingListeners.unshift(listener); - return this; - } - offAnyOutgoing(listener) { - if (!this._anyOutgoingListeners) { - return this; - } - if (listener) { - const listeners = this._anyOutgoingListeners; - for (let i = 0; i < listeners.length; i++) { - if (listener === listeners[i]) { - listeners.splice(i, 1); - return this; - } - } - } else { - this._anyOutgoingListeners = []; - } - return this; - } - listenersAnyOutgoing() { - return this._anyOutgoingListeners || []; - } - notifyOutgoingListeners(packet) { - if (this._anyOutgoingListeners && this._anyOutgoingListeners.length) { - const listeners = this._anyOutgoingListeners.slice(); - for (const listener of listeners) { - listener.apply(this, packet.data); - } - } - } - newBroadcastOperator() { - const flags = Object.assign({}, this.flags); - this.flags = {}; - return new broadcast_operator_1.BroadcastOperator(this.adapter, /* @__PURE__ */ new Set(), /* @__PURE__ */ new Set([this.id]), flags); - } - }; - exports2.Socket = Socket2; - } -}); - -// node_modules/socket.io/dist/namespace.js -var require_namespace = __commonJS({ - "node_modules/socket.io/dist/namespace.js"(exports2) { - "use strict"; - var __importDefault = exports2 && exports2.__importDefault || function(mod2) { - return mod2 && mod2.__esModule ? mod2 : { "default": mod2 }; - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.Namespace = exports2.RESERVED_EVENTS = void 0; - var socket_1 = require_socket2(); - var typed_events_1 = require_typed_events(); - var debug_1 = __importDefault(require_src8()); - var broadcast_operator_1 = require_broadcast_operator(); - var debug = (0, debug_1.default)("socket.io:namespace"); - exports2.RESERVED_EVENTS = /* @__PURE__ */ new Set(["connect", "connection", "new_namespace"]); - var Namespace2 = class extends typed_events_1.StrictEventEmitter { - constructor(server, name) { - super(); - this.sockets = /* @__PURE__ */ new Map(); - this._fns = []; - this._ids = 0; - this.server = server; - this.name = name; - this._initAdapter(); - } - _initAdapter() { - this.adapter = new (this.server.adapter())(this); - } - use(fn2) { - this._fns.push(fn2); - return this; - } - run(socket, fn2) { - const fns = this._fns.slice(0); - if (!fns.length) - return fn2(null); - function run(i) { - fns[i](socket, function(err) { - if (err) - return fn2(err); - if (!fns[i + 1]) - return fn2(null); - run(i + 1); - }); - } - run(0); - } - to(room) { - return new broadcast_operator_1.BroadcastOperator(this.adapter).to(room); - } - in(room) { - return new broadcast_operator_1.BroadcastOperator(this.adapter).in(room); - } - except(room) { - return new broadcast_operator_1.BroadcastOperator(this.adapter).except(room); - } - _add(client, query, fn2) { - debug("adding socket to nsp %s", this.name); - const socket = new socket_1.Socket(this, client, query); - this.run(socket, (err) => { - process.nextTick(() => { - if ("open" !== client.conn.readyState) { - debug("next called after client was closed - ignoring socket"); - socket._cleanup(); - return; - } - if (err) { - debug("middleware error, sending CONNECT_ERROR packet to the client"); - socket._cleanup(); - if (client.conn.protocol === 3) { - return socket._error(err.data || err.message); - } else { - return socket._error({ - message: err.message, - data: err.data - }); - } - } - this.sockets.set(socket.id, socket); - socket._onconnect(); - if (fn2) - fn2(); - this.emitReserved("connect", socket); - this.emitReserved("connection", socket); - }); - }); - return socket; - } - _remove(socket) { - if (this.sockets.has(socket.id)) { - this.sockets.delete(socket.id); - } else { - debug("ignoring remove for %s", socket.id); - } - } - emit(ev, ...args2) { - return new broadcast_operator_1.BroadcastOperator(this.adapter).emit(ev, ...args2); - } - send(...args2) { - this.emit("message", ...args2); - return this; - } - write(...args2) { - this.emit("message", ...args2); - return this; - } - serverSideEmit(ev, ...args2) { - if (exports2.RESERVED_EVENTS.has(ev)) { - throw new Error(`"${String(ev)}" is a reserved event name`); - } - args2.unshift(ev); - this.adapter.serverSideEmit(args2); - return true; - } - _onServerSideEmit(args2) { - super.emitUntyped.apply(this, args2); - } - allSockets() { - return new broadcast_operator_1.BroadcastOperator(this.adapter).allSockets(); - } - compress(compress) { - return new broadcast_operator_1.BroadcastOperator(this.adapter).compress(compress); - } - get volatile() { - return new broadcast_operator_1.BroadcastOperator(this.adapter).volatile; - } - get local() { - return new broadcast_operator_1.BroadcastOperator(this.adapter).local; - } - timeout(timeout) { - return new broadcast_operator_1.BroadcastOperator(this.adapter).timeout(timeout); - } - fetchSockets() { - return new broadcast_operator_1.BroadcastOperator(this.adapter).fetchSockets(); - } - socketsJoin(room) { - return new broadcast_operator_1.BroadcastOperator(this.adapter).socketsJoin(room); - } - socketsLeave(room) { - return new broadcast_operator_1.BroadcastOperator(this.adapter).socketsLeave(room); - } - disconnectSockets(close = false) { - return new broadcast_operator_1.BroadcastOperator(this.adapter).disconnectSockets(close); - } - }; - exports2.Namespace = Namespace2; - } -}); - -// node_modules/socket.io/dist/parent-namespace.js -var require_parent_namespace = __commonJS({ - "node_modules/socket.io/dist/parent-namespace.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.ParentNamespace = void 0; - var namespace_1 = require_namespace(); - var ParentNamespace = class extends namespace_1.Namespace { - constructor(server) { - super(server, "/_" + ParentNamespace.count++); - this.children = /* @__PURE__ */ new Set(); - } - _initAdapter() { - const broadcast = (packet, opts) => { - this.children.forEach((nsp) => { - nsp.adapter.broadcast(packet, opts); - }); - }; - this.adapter = { broadcast }; - } - emit(ev, ...args2) { - this.children.forEach((nsp) => { - nsp.emit(ev, ...args2); - }); - return true; - } - createChild(name) { - const namespace = new namespace_1.Namespace(this.server, name); - namespace._fns = this._fns.slice(0); - this.listeners("connect").forEach((listener) => namespace.on("connect", listener)); - this.listeners("connection").forEach((listener) => namespace.on("connection", listener)); - this.children.add(namespace); - this.server._nsps.set(name, namespace); - return namespace; - } - fetchSockets() { - throw new Error("fetchSockets() is not supported on parent namespaces"); - } - }; - exports2.ParentNamespace = ParentNamespace; - ParentNamespace.count = 0; - } -}); - -// node_modules/socket.io-adapter/dist/index.js -var require_dist = __commonJS({ - "node_modules/socket.io-adapter/dist/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.Adapter = void 0; - var events_1 = require("events"); - var Adapter = class extends events_1.EventEmitter { - constructor(nsp) { - super(); - this.nsp = nsp; - this.rooms = /* @__PURE__ */ new Map(); - this.sids = /* @__PURE__ */ new Map(); - this.encoder = nsp.server.encoder; - } - init() { - } - close() { - } - serverCount() { - return Promise.resolve(1); - } - addAll(id, rooms) { - if (!this.sids.has(id)) { - this.sids.set(id, /* @__PURE__ */ new Set()); - } - for (const room of rooms) { - this.sids.get(id).add(room); - if (!this.rooms.has(room)) { - this.rooms.set(room, /* @__PURE__ */ new Set()); - this.emit("create-room", room); - } - if (!this.rooms.get(room).has(id)) { - this.rooms.get(room).add(id); - this.emit("join-room", room, id); - } - } - } - del(id, room) { - if (this.sids.has(id)) { - this.sids.get(id).delete(room); - } - this._del(room, id); - } - _del(room, id) { - const _room = this.rooms.get(room); - if (_room != null) { - const deleted = _room.delete(id); - if (deleted) { - this.emit("leave-room", room, id); - } - if (_room.size === 0 && this.rooms.delete(room)) { - this.emit("delete-room", room); - } - } - } - delAll(id) { - if (!this.sids.has(id)) { - return; - } - for (const room of this.sids.get(id)) { - this._del(room, id); - } - this.sids.delete(id); - } - broadcast(packet, opts) { - const flags = opts.flags || {}; - const packetOpts = { - preEncoded: true, - volatile: flags.volatile, - compress: flags.compress - }; - packet.nsp = this.nsp.name; - const encodedPackets = this.encoder.encode(packet); - this.apply(opts, (socket) => { - if (typeof socket.notifyOutgoingListeners === "function") { - socket.notifyOutgoingListeners(packet); - } - socket.client.writeToEngine(encodedPackets, packetOpts); - }); - } - broadcastWithAck(packet, opts, clientCountCallback, ack) { - const flags = opts.flags || {}; - const packetOpts = { - preEncoded: true, - volatile: flags.volatile, - compress: flags.compress - }; - packet.nsp = this.nsp.name; - packet.id = this.nsp._ids++; - const encodedPackets = this.encoder.encode(packet); - let clientCount = 0; - this.apply(opts, (socket) => { - clientCount++; - socket.acks.set(packet.id, ack); - if (typeof socket.notifyOutgoingListeners === "function") { - socket.notifyOutgoingListeners(packet); - } - socket.client.writeToEngine(encodedPackets, packetOpts); - }); - clientCountCallback(clientCount); - } - sockets(rooms) { - const sids = /* @__PURE__ */ new Set(); - this.apply({ rooms }, (socket) => { - sids.add(socket.id); - }); - return Promise.resolve(sids); - } - socketRooms(id) { - return this.sids.get(id); - } - fetchSockets(opts) { - const sockets = []; - this.apply(opts, (socket) => { - sockets.push(socket); - }); - return Promise.resolve(sockets); - } - addSockets(opts, rooms) { - this.apply(opts, (socket) => { - socket.join(rooms); - }); - } - delSockets(opts, rooms) { - this.apply(opts, (socket) => { - rooms.forEach((room) => socket.leave(room)); - }); - } - disconnectSockets(opts, close) { - this.apply(opts, (socket) => { - socket.disconnect(close); - }); - } - apply(opts, callback) { - const rooms = opts.rooms; - const except = this.computeExceptSids(opts.except); - if (rooms.size) { - const ids = /* @__PURE__ */ new Set(); - for (const room of rooms) { - if (!this.rooms.has(room)) - continue; - for (const id of this.rooms.get(room)) { - if (ids.has(id) || except.has(id)) - continue; - const socket = this.nsp.sockets.get(id); - if (socket) { - callback(socket); - ids.add(id); - } - } - } - } else { - for (const [id] of this.sids) { - if (except.has(id)) - continue; - const socket = this.nsp.sockets.get(id); - if (socket) - callback(socket); - } - } - } - computeExceptSids(exceptRooms) { - const exceptSids = /* @__PURE__ */ new Set(); - if (exceptRooms && exceptRooms.size > 0) { - for (const room of exceptRooms) { - if (this.rooms.has(room)) { - this.rooms.get(room).forEach((sid) => exceptSids.add(sid)); - } - } - } - return exceptSids; - } - serverSideEmit(packet) { - console.warn("this adapter does not support the serverSideEmit() functionality"); - } - }; - exports2.Adapter = Adapter; - } -}); - -// node_modules/socket.io/dist/uws.js -var require_uws = __commonJS({ - "node_modules/socket.io/dist/uws.js"(exports2) { - "use strict"; - var __importDefault = exports2 && exports2.__importDefault || function(mod2) { - return mod2 && mod2.__esModule ? mod2 : { "default": mod2 }; - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.serveFile = exports2.restoreAdapter = exports2.patchAdapter = void 0; - var socket_io_adapter_1 = require_dist(); - var fs_1 = require("fs"); - var debug_1 = __importDefault(require_src8()); - var debug = (0, debug_1.default)("socket.io:adapter-uws"); - var SEPARATOR = ""; - var { addAll, del, broadcast } = socket_io_adapter_1.Adapter.prototype; - function patchAdapter(app) { - socket_io_adapter_1.Adapter.prototype.addAll = function(id, rooms) { - const isNew = !this.sids.has(id); - addAll.call(this, id, rooms); - const socket = this.nsp.sockets.get(id); - if (!socket) { - return; - } - if (socket.conn.transport.name === "websocket") { - subscribe(this.nsp.name, socket, isNew, rooms); - return; - } - if (isNew) { - socket.conn.on("upgrade", () => { - const rooms2 = this.sids.get(id); - if (rooms2) { - subscribe(this.nsp.name, socket, isNew, rooms2); - } - }); - } - }; - socket_io_adapter_1.Adapter.prototype.del = function(id, room) { - del.call(this, id, room); - const socket = this.nsp.sockets.get(id); - if (socket && socket.conn.transport.name === "websocket") { - const sessionId = socket.conn.id; - const websocket = socket.conn.transport.socket; - const topic = `${this.nsp.name}${SEPARATOR}${room}`; - debug("unsubscribe connection %s from topic %s", sessionId, topic); - websocket.unsubscribe(topic); - } - }; - socket_io_adapter_1.Adapter.prototype.broadcast = function(packet, opts) { - const useFastPublish = opts.rooms.size <= 1 && opts.except.size === 0; - if (!useFastPublish) { - broadcast.call(this, packet, opts); - return; - } - const flags = opts.flags || {}; - const basePacketOpts = { - preEncoded: true, - volatile: flags.volatile, - compress: flags.compress - }; - packet.nsp = this.nsp.name; - const encodedPackets = this.encoder.encode(packet); - const topic = opts.rooms.size === 0 ? this.nsp.name : `${this.nsp.name}${SEPARATOR}${opts.rooms.keys().next().value}`; - debug("fast publish to %s", topic); - encodedPackets.forEach((encodedPacket) => { - const isBinary = typeof encodedPacket !== "string"; - app.publish(topic, isBinary ? encodedPacket : "4" + encodedPacket, isBinary); - }); - this.apply(opts, (socket) => { - if (socket.conn.transport.name !== "websocket") { - socket.client.writeToEngine(encodedPackets, basePacketOpts); - } - }); - }; - } - exports2.patchAdapter = patchAdapter; - function subscribe(namespaceName, socket, isNew, rooms) { - const sessionId = socket.conn.id; - const websocket = socket.conn.transport.socket; - if (isNew) { - debug("subscribe connection %s to topic %s", sessionId, namespaceName); - websocket.subscribe(namespaceName); - } - rooms.forEach((room) => { - const topic = `${namespaceName}${SEPARATOR}${room}`; - debug("subscribe connection %s to topic %s", sessionId, topic); - websocket.subscribe(topic); - }); - } - function restoreAdapter() { - socket_io_adapter_1.Adapter.prototype.addAll = addAll; - socket_io_adapter_1.Adapter.prototype.del = del; - socket_io_adapter_1.Adapter.prototype.broadcast = broadcast; - } - exports2.restoreAdapter = restoreAdapter; - var toArrayBuffer = (buffer) => { - const { buffer: arrayBuffer, byteOffset, byteLength } = buffer; - return arrayBuffer.slice(byteOffset, byteOffset + byteLength); - }; - function serveFile(res, filepath) { - const { size } = (0, fs_1.statSync)(filepath); - const readStream = (0, fs_1.createReadStream)(filepath); - const destroyReadStream = () => !readStream.destroyed && readStream.destroy(); - const onError = (error) => { - destroyReadStream(); - throw error; - }; - const onDataChunk = (chunk) => { - const arrayBufferChunk = toArrayBuffer(chunk); - const lastOffset = res.getWriteOffset(); - const [ok, done] = res.tryEnd(arrayBufferChunk, size); - if (!done && !ok) { - readStream.pause(); - res.onWritable((offset) => { - const [ok2, done2] = res.tryEnd(arrayBufferChunk.slice(offset - lastOffset), size); - if (!done2 && ok2) { - readStream.resume(); - } - return ok2; - }); - } - }; - res.onAborted(destroyReadStream); - readStream.on("data", onDataChunk).on("error", onError).on("end", destroyReadStream); - } - exports2.serveFile = serveFile; - } -}); - -// node_modules/socket.io/package.json -var require_package2 = __commonJS({ - "node_modules/socket.io/package.json"(exports2, module2) { - module2.exports = { - name: "socket.io", - version: "4.5.3", - description: "node.js realtime framework server", - keywords: [ - "realtime", - "framework", - "websocket", - "tcp", - "events", - "socket", - "io" - ], - files: [ - "dist/", - "client-dist/", - "wrapper.mjs", - "!**/*.tsbuildinfo" - ], - directories: { - doc: "docs/", - example: "example/", - lib: "lib/", - test: "test/" - }, - type: "commonjs", - main: "./dist/index.js", - exports: { - import: "./wrapper.mjs", - require: "./dist/index.js", - types: "./dist/index.d.ts" - }, - types: "./dist/index.d.ts", - license: "MIT", - repository: { - type: "git", - url: "git://github.com/socketio/socket.io" - }, - scripts: { - compile: "rimraf ./dist && tsc", - test: "npm run format:check && npm run compile && npm run test:types && npm run test:unit", - "test:types": "tsd", - "test:unit": "nyc mocha --require ts-node/register --reporter spec --slow 200 --bail --timeout 10000 test/index.ts", - "format:check": 'prettier --check "lib/**/*.ts" "test/**/*.ts"', - "format:fix": 'prettier --write "lib/**/*.ts" "test/**/*.ts"', - prepack: "npm run compile" - }, - dependencies: { - accepts: "~1.3.4", - base64id: "~2.0.0", - debug: "~4.3.2", - "engine.io": "~6.2.0", - "socket.io-adapter": "~2.4.0", - "socket.io-parser": "~4.2.0" - }, - devDependencies: { - "@types/mocha": "^9.0.0", - "expect.js": "0.3.1", - mocha: "^10.0.0", - nyc: "^15.1.0", - prettier: "^2.3.2", - rimraf: "^3.0.2", - "socket.io-client": "4.5.3", - "socket.io-client-v2": "npm:socket.io-client@^2.4.0", - superagent: "^8.0.0", - supertest: "^6.1.6", - "ts-node": "^10.2.1", - tsd: "^0.21.0", - typescript: "^4.4.2", - "uWebSockets.js": "github:uNetworking/uWebSockets.js#v20.0.0" - }, - contributors: [ - { - name: "Guillermo Rauch", - email: "rauchg@gmail.com" - }, - { - name: "Arnout Kazemier", - email: "info@3rd-eden.com" - }, - { - name: "Vladimir Dronnikov", - email: "dronnikov@gmail.com" - }, - { - name: "Einar Otto Stangvik", - email: "einaros@gmail.com" - } - ], - engines: { - node: ">=10.0.0" - }, - tsd: { - directory: "test" - } - }; - } -}); - -// node_modules/socket.io/dist/index.js -var require_dist2 = __commonJS({ - "node_modules/socket.io/dist/index.js"(exports2, module2) { - "use strict"; - var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { - return m[k]; - } }; - } - Object.defineProperty(o, k2, desc); - } : function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - o[k2] = m[k]; - }); - var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - } : function(o, v) { - o["default"] = v; - }); - var __importStar = exports2 && exports2.__importStar || function(mod2) { - if (mod2 && mod2.__esModule) - return mod2; - var result = {}; - if (mod2 != null) { - for (var k in mod2) - if (k !== "default" && Object.prototype.hasOwnProperty.call(mod2, k)) - __createBinding(result, mod2, k); - } - __setModuleDefault(result, mod2); - return result; - }; - var __importDefault = exports2 && exports2.__importDefault || function(mod2) { - return mod2 && mod2.__esModule ? mod2 : { "default": mod2 }; - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.Namespace = exports2.Socket = exports2.Server = void 0; - var http2 = require("http"); - var fs_1 = require("fs"); - var zlib_1 = require("zlib"); - var accepts = require_accepts(); - var stream_1 = require("stream"); - var path4 = require("path"); - var engine_io_1 = require_engine_io(); - var client_1 = require_client(); - var events_1 = require("events"); - var namespace_1 = require_namespace(); - Object.defineProperty(exports2, "Namespace", { enumerable: true, get: function() { - return namespace_1.Namespace; - } }); - var parent_namespace_1 = require_parent_namespace(); - var socket_io_adapter_1 = require_dist(); - var parser = __importStar(require_cjs2()); - var debug_1 = __importDefault(require_src8()); - var socket_1 = require_socket2(); - Object.defineProperty(exports2, "Socket", { enumerable: true, get: function() { - return socket_1.Socket; - } }); - var typed_events_1 = require_typed_events(); - var uws_1 = require_uws(); - var debug = (0, debug_1.default)("socket.io:server"); - var clientVersion = require_package2().version; - var dotMapRegex = /\.map/; - var Server2 = class extends typed_events_1.StrictEventEmitter { - constructor(srv, opts = {}) { - super(); - this._nsps = /* @__PURE__ */ new Map(); - this.parentNsps = /* @__PURE__ */ new Map(); - if ("object" === typeof srv && srv instanceof Object && !srv.listen) { - opts = srv; - srv = void 0; - } - this.path(opts.path || "/socket.io"); - this.connectTimeout(opts.connectTimeout || 45e3); - this.serveClient(false !== opts.serveClient); - this._parser = opts.parser || parser; - this.encoder = new this._parser.Encoder(); - this.adapter(opts.adapter || socket_io_adapter_1.Adapter); - this.sockets = this.of("/"); - this.opts = opts; - if (srv || typeof srv == "number") - this.attach(srv); - } - serveClient(v) { - if (!arguments.length) - return this._serveClient; - this._serveClient = v; - return this; - } - _checkNamespace(name, auth, fn2) { - if (this.parentNsps.size === 0) - return fn2(false); - const keysIterator = this.parentNsps.keys(); - const run = () => { - const nextFn = keysIterator.next(); - if (nextFn.done) { - return fn2(false); - } - nextFn.value(name, auth, (err, allow) => { - if (err || !allow) { - return run(); - } - if (this._nsps.has(name)) { - debug("dynamic namespace %s already exists", name); - return fn2(this._nsps.get(name)); - } - const namespace = this.parentNsps.get(nextFn.value).createChild(name); - debug("dynamic namespace %s was created", name); - this.sockets.emitReserved("new_namespace", namespace); - fn2(namespace); - }); - }; - run(); - } - path(v) { - if (!arguments.length) - return this._path; - this._path = v.replace(/\/$/, ""); - const escapedPath = this._path.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&"); - this.clientPathRegex = new RegExp("^" + escapedPath + "/socket\\.io(\\.msgpack|\\.esm)?(\\.min)?\\.js(\\.map)?(?:\\?|$)"); - return this; - } - connectTimeout(v) { - if (v === void 0) - return this._connectTimeout; - this._connectTimeout = v; - return this; - } - adapter(v) { - if (!arguments.length) - return this._adapter; - this._adapter = v; - for (const nsp of this._nsps.values()) { - nsp._initAdapter(); - } - return this; - } - listen(srv, opts = {}) { - return this.attach(srv, opts); - } - attach(srv, opts = {}) { - if ("function" == typeof srv) { - const msg = "You are trying to attach socket.io to an express request handler function. Please pass a http.Server instance."; - throw new Error(msg); - } - if (Number(srv) == srv) { - srv = Number(srv); - } - if ("number" == typeof srv) { - debug("creating http server and binding to %d", srv); - const port = srv; - srv = http2.createServer((req, res) => { - res.writeHead(404); - res.end(); - }); - srv.listen(port); - } - Object.assign(opts, this.opts); - opts.path = opts.path || this._path; - this.initEngine(srv, opts); - return this; - } - attachApp(app, opts = {}) { - Object.assign(opts, this.opts); - opts.path = opts.path || this._path; - debug("creating uWebSockets.js-based engine with opts %j", opts); - const engine = new engine_io_1.uServer(opts); - engine.attach(app, opts); - this.bind(engine); - if (this._serveClient) { - app.get(`${this._path}/*`, (res, req) => { - if (!this.clientPathRegex.test(req.getUrl())) { - req.setYield(true); - return; - } - const filename = req.getUrl().replace(this._path, "").replace(/\?.*$/, "").replace(/^\//, ""); - const isMap = dotMapRegex.test(filename); - const type = isMap ? "map" : "source"; - const expectedEtag = '"' + clientVersion + '"'; - const weakEtag = "W/" + expectedEtag; - const etag = req.getHeader("if-none-match"); - if (etag) { - if (expectedEtag === etag || weakEtag === etag) { - debug("serve client %s 304", type); - res.writeStatus("304 Not Modified"); - res.end(); - return; - } - } - debug("serve client %s", type); - res.writeHeader("cache-control", "public, max-age=0"); - res.writeHeader("content-type", "application/" + (isMap ? "json" : "javascript")); - res.writeHeader("etag", expectedEtag); - const filepath = path4.join(__dirname, "../client-dist/", filename); - (0, uws_1.serveFile)(res, filepath); - }); - } - (0, uws_1.patchAdapter)(app); - } - initEngine(srv, opts) { - debug("creating engine.io instance with opts %j", opts); - this.eio = (0, engine_io_1.attach)(srv, opts); - if (this._serveClient) - this.attachServe(srv); - this.httpServer = srv; - this.bind(this.eio); - } - attachServe(srv) { - debug("attaching client serving req handler"); - const evs = srv.listeners("request").slice(0); - srv.removeAllListeners("request"); - srv.on("request", (req, res) => { - if (this.clientPathRegex.test(req.url)) { - this.serve(req, res); - } else { - for (let i = 0; i < evs.length; i++) { - evs[i].call(srv, req, res); - } - } - }); - } - serve(req, res) { - const filename = req.url.replace(this._path, "").replace(/\?.*$/, ""); - const isMap = dotMapRegex.test(filename); - const type = isMap ? "map" : "source"; - const expectedEtag = '"' + clientVersion + '"'; - const weakEtag = "W/" + expectedEtag; - const etag = req.headers["if-none-match"]; - if (etag) { - if (expectedEtag === etag || weakEtag === etag) { - debug("serve client %s 304", type); - res.writeHead(304); - res.end(); - return; - } - } - debug("serve client %s", type); - res.setHeader("Cache-Control", "public, max-age=0"); - res.setHeader("Content-Type", "application/" + (isMap ? "json" : "javascript")); - res.setHeader("ETag", expectedEtag); - Server2.sendFile(filename, req, res); - } - static sendFile(filename, req, res) { - const readStream = (0, fs_1.createReadStream)(path4.join(__dirname, "../client-dist/", filename)); - const encoding = accepts(req).encodings(["br", "gzip", "deflate"]); - const onError = (err) => { - if (err) { - res.end(); - } - }; - switch (encoding) { - case "br": - res.writeHead(200, { "content-encoding": "br" }); - readStream.pipe((0, zlib_1.createBrotliCompress)()).pipe(res); - (0, stream_1.pipeline)(readStream, (0, zlib_1.createBrotliCompress)(), res, onError); - break; - case "gzip": - res.writeHead(200, { "content-encoding": "gzip" }); - (0, stream_1.pipeline)(readStream, (0, zlib_1.createGzip)(), res, onError); - break; - case "deflate": - res.writeHead(200, { "content-encoding": "deflate" }); - (0, stream_1.pipeline)(readStream, (0, zlib_1.createDeflate)(), res, onError); - break; - default: - res.writeHead(200); - (0, stream_1.pipeline)(readStream, res, onError); - } - } - bind(engine) { - this.engine = engine; - this.engine.on("connection", this.onconnection.bind(this)); - return this; - } - onconnection(conn) { - debug("incoming connection with id %s", conn.id); - const client = new client_1.Client(this, conn); - if (conn.protocol === 3) { - client.connect("/"); - } - return this; - } - of(name, fn2) { - if (typeof name === "function" || name instanceof RegExp) { - const parentNsp = new parent_namespace_1.ParentNamespace(this); - debug("initializing parent namespace %s", parentNsp.name); - if (typeof name === "function") { - this.parentNsps.set(name, parentNsp); - } else { - this.parentNsps.set((nsp2, conn, next) => next(null, name.test(nsp2)), parentNsp); - } - if (fn2) { - parentNsp.on("connect", fn2); - } - return parentNsp; - } - if (String(name)[0] !== "/") - name = "/" + name; - let nsp = this._nsps.get(name); - if (!nsp) { - debug("initializing namespace %s", name); - nsp = new namespace_1.Namespace(this, name); - this._nsps.set(name, nsp); - if (name !== "/") { - this.sockets.emitReserved("new_namespace", nsp); - } - } - if (fn2) - nsp.on("connect", fn2); - return nsp; - } - close(fn2) { - for (const socket of this.sockets.sockets.values()) { - socket._onclose("server shutting down"); - } - this.engine.close(); - (0, uws_1.restoreAdapter)(); - if (this.httpServer) { - this.httpServer.close(fn2); - } else { - fn2 && fn2(); - } - } - use(fn2) { - this.sockets.use(fn2); - return this; - } - to(room) { - return this.sockets.to(room); - } - in(room) { - return this.sockets.in(room); - } - except(room) { - return this.sockets.except(room); - } - send(...args2) { - this.sockets.emit("message", ...args2); - return this; - } - write(...args2) { - this.sockets.emit("message", ...args2); - return this; - } - serverSideEmit(ev, ...args2) { - return this.sockets.serverSideEmit(ev, ...args2); - } - allSockets() { - return this.sockets.allSockets(); - } - compress(compress) { - return this.sockets.compress(compress); - } - get volatile() { - return this.sockets.volatile; - } - get local() { - return this.sockets.local; - } - timeout(timeout) { - return this.sockets.timeout(timeout); - } - fetchSockets() { - return this.sockets.fetchSockets(); - } - socketsJoin(room) { - return this.sockets.socketsJoin(room); - } - socketsLeave(room) { - return this.sockets.socketsLeave(room); - } - disconnectSockets(close = false) { - return this.sockets.disconnectSockets(close); - } - }; - exports2.Server = Server2; - var emitterMethods = Object.keys(events_1.EventEmitter.prototype).filter(function(key) { - return typeof events_1.EventEmitter.prototype[key] === "function"; - }); - emitterMethods.forEach(function(fn2) { - Server2.prototype[fn2] = function() { - return this.sockets[fn2].apply(this.sockets, arguments); - }; - }); - module2.exports = (srv, opts) => new Server2(srv, opts); - module2.exports.Server = Server2; - module2.exports.Namespace = namespace_1.Namespace; - module2.exports.Socket = socket_1.Socket; - var socket_2 = require_socket2(); - } -}); - -// node_modules/socket.io/wrapper.mjs -var import_dist, Server, Namespace, Socket; -var init_wrapper = __esm({ - "node_modules/socket.io/wrapper.mjs"() { - import_dist = __toESM(require_dist2(), 1); - ({ Server, Namespace, Socket } = import_dist.default); - } -}); - -// server/Middleware/socketio.session.middleware.js -function HandleKoaSession(app) { - return async function(socket, next) { - try { - let ctx = app.createContext(socket.request, new import_node_http.OutgoingMessage()); - await ctx.session._sessCtx.initFromExternal(); - socket.session = ctx.session; - if (socket.session) - return await next(); - } catch (err) { - UnlLogger.error(`Socket Middleware error: ${err}`); - } - UnlLogger.error("Socket Connection failed due no session."); - socket.disconnect(); - }; -} -var import_node_http; -var init_socketio_session_middleware = __esm({ - "server/Middleware/socketio.session.middleware.js"() { - import_node_http = require("node:http"); - init_UnlLogger(); - } -}); - -// node_modules/node-os-utils/lib/bucket.js -var require_bucket = __commonJS({ - "node_modules/node-os-utils/lib/bucket.js"(exports2, module2) { - module2.exports = { - options: { - NOT_SUPPORTED_VALUE: "not supported", - INTERVAL: 1e3 - }, - isNotSupported(res) { - return res === this.options.NOT_SUPPORTED_VALUE; - } - }; - } -}); - -// node_modules/node-os-utils/lib/cpu.js -var require_cpu = __commonJS({ - "node_modules/node-os-utils/lib/cpu.js"() { - var bucket = require_bucket(); - var os = require("os"); - bucket.cpu = { - average: function() { - var totalIdle = 0; - var totalTick = 0; - var cpus = os.cpus(); - for (var i = 0, len = cpus.length; i < len; i++) { - var cpu = cpus[i]; - for (var type in cpu.times) { - totalTick += cpu.times[type]; - } - totalIdle += cpu.times.idle; - } - return { - totalIdle, - totalTick, - avgIdle: totalIdle / cpus.length, - avgTotal: totalTick / cpus.length - }; - }, - usage: function(interval) { - var self2 = this; - if (!interval) { - interval = bucket.options.INTERVAL; - } - return new Promise(function(resolve) { - if (typeof interval !== "number") { - throw new TypeError("interval must be a number!"); - } - var startMeasure = self2.average(); - setTimeout(function() { - var endMeasure = self2.average(); - var idleDifference = endMeasure.avgIdle - startMeasure.avgIdle; - var totalDifference = endMeasure.avgTotal - startMeasure.avgTotal; - var cpuPercentage = (1e4 - Math.round(1e4 * idleDifference / totalDifference)) / 100; - return resolve(cpuPercentage); - }, interval); - }); - }, - free: function(interval) { - var self2 = this; - if (!interval) { - interval = bucket.options.INTERVAL; - } - return new Promise(function(resolve) { - if (typeof interval !== "number") { - throw new TypeError("interval must be a number!"); - } - self2.usage(interval).then(function(cpuPercentage) { - return resolve(100 - cpuPercentage); - }); - }); - }, - count: function() { - return os.cpus().length; - }, - model: function() { - return os.cpus()[0].model; - }, - loadavg: function() { - return os.loadavg(); - }, - loadavgTime: function(time) { - time = parseInt(time, 10); - var loads = os.loadavg(); - switch (time) { - case 5: - return loads[1]; - case 15: - return loads[2]; - default: - return loads[0]; - } - } - }; - } -}); - -// node_modules/node-os-utils/lib/exec.js -var require_exec = __commonJS({ - "node_modules/node-os-utils/lib/exec.js"(exports2, module2) { - var cp = require("child_process"); - var bucket = require_bucket(); - function exec(command) { - return new Promise(function(resolve) { - var runCommand = 'LC_ALL="en_US.UTF-8";LANG="en_US.UTF-8";LANGUAGE="en_US:en";' + command; - cp.exec(runCommand, { shell: true }, function(err, stdout, stderr) { - if (err || !stdout) { - return resolve(bucket.options.NOT_SUPPORTED_VALUE); - } - return resolve(stdout); - }); - }); - } - module2.exports = exec; - module2.exports.wrapExec = function(command) { - return function() { - return exec(command); - }; - }; - } -}); - -// node_modules/node-os-utils/lib/drive.js -var require_drive = __commonJS({ - "node_modules/node-os-utils/lib/drive.js"() { - var bucket = require_bucket(); - var exec = require_exec(); - var DISK_PATTERN = /^(\S+)\n?\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(.+?)\n/mg; - function createDiskInfo(headlineArgs, args2) { - var info = {}; - headlineArgs.forEach(function(h, i) { - info[h] = args2[i]; - }); - return info; - } - function parseDfStdout(stdout) { - var dfInfo = []; - var headline; - stdout.replace(DISK_PATTERN, function() { - var args2 = Array.prototype.slice.call(arguments, 1, 7); - if (arguments[7] === 0) { - headline = args2; - return; - } - dfInfo.push(createDiskInfo(headline, args2)); - }); - return dfInfo; - } - bucket.drive = { - info: function(diskName) { - if (!diskName) { - diskName = "/"; - } - return exec("df -kP").then(function(out) { - var diskInfo = null; - var main = null; - var lines = parseDfStdout(out); - for (var i = 0; i < lines.length; i++) { - if (lines[i]["Mounted on"] === diskName) { - diskInfo = lines[i]; - continue; - } - if (lines[i]["Mounted on"] === "/") { - main = lines[i]; - continue; - } - } - if (diskInfo === null) { - if (main === null) { - throw new Error("disk name invalid and / not found"); - } - console.info("disk name invalid, using / as default"); - diskInfo = main; - } - var used = Math.ceil(diskInfo.Used * 1024 / Math.pow(1024, 2)); - var free = Math.ceil((diskInfo.Available || diskInfo.Avail) * 1024 / Math.pow(1024, 2)); - var total = used + free; - var totalGb = (total / 1024).toFixed(1); - var usedGb = (used / 1024).toFixed(1); - var freeGb = (free / 1024).toFixed(1); - var usedPercentage = (100 * used / total).toFixed(1); - var freePercentage = (100 * free / total).toFixed(1); - return Promise.resolve({ - totalGb, - usedGb, - freeGb, - usedPercentage, - freePercentage - }); - }); - }, - free: function(diskName) { - var self2 = this; - return self2.info(diskName).then(function(res) { - return Promise.resolve({ - totalGb: res.totalGb, - freeGb: res.freeGb, - freePercentage: res.freePercentage - }); - }); - }, - used: function(diskName) { - var self2 = this; - return self2.info(diskName).then(function(res) { - return Promise.resolve({ - totalGb: res.totalGb, - usedGb: res.usedGb, - usedPercentage: res.usedPercentage - }); - }); - } - }; - } -}); - -// node_modules/node-os-utils/util/co.js -var require_co2 = __commonJS({ - "node_modules/node-os-utils/util/co.js"(exports2, module2) { - var slice = Array.prototype.slice; - module2.exports = co["default"] = co.co = co; - co.wrap = function(fn2) { - createPromise.__generatorFunction__ = fn2; - return createPromise; - function createPromise() { - return co.call(this, fn2.apply(this, arguments)); - } - }; - function co(gen) { - var ctx = this; - var args2 = slice.call(arguments, 1); - return new Promise(function(resolve, reject) { - if (typeof gen === "function") - gen = gen.apply(ctx, args2); - if (!gen || typeof gen.next !== "function") - return resolve(gen); - onFulfilled(); - function onFulfilled(res) { - var ret; - try { - ret = gen.next(res); - } catch (e) { - return reject(e); - } - next(ret); - } - function onRejected(err) { - var ret; - try { - ret = gen.throw(err); - } catch (e) { - return reject(e); - } - next(ret); - } - function next(ret) { - if (ret.done) - return resolve(ret.value); - var value = toPromise.call(ctx, ret.value); - if (value && isPromise(value)) - return value.then(onFulfilled, onRejected); - return onRejected(new TypeError('You may only yield a function, promise, generator, array, or object, but the following object was passed: "' + String(ret.value) + '"')); - } - }); - } - function toPromise(obj) { - if (!obj) - return obj; - if (isPromise(obj)) - return obj; - if (isGeneratorFunction(obj) || isGenerator(obj)) - return co.call(this, obj); - if (typeof obj === "function") - return thunkToPromise.call(this, obj); - if (Array.isArray(obj)) - return arrayToPromise.call(this, obj); - if (isObject4(obj)) - return objectToPromise.call(this, obj); - return obj; - } - function thunkToPromise(fn2) { - var ctx = this; - return new Promise(function(resolve, reject) { - fn2.call(ctx, function(err, res) { - if (err) - return reject(err); - if (arguments.length > 2) - res = slice.call(arguments, 1); - resolve(res); - }); - }); - } - function arrayToPromise(obj) { - return Promise.all(obj.map(toPromise, this)); - } - function objectToPromise(obj) { - var results = new obj.constructor(); - var keys2 = Object.keys(obj); - var promises = []; - for (var i = 0; i < keys2.length; i++) { - var key = keys2[i]; - var promise = toPromise.call(this, obj[key]); - if (promise && isPromise(promise)) - defer(promise, key); - else - results[key] = obj[key]; - } - return Promise.all(promises).then(function() { - return results; - }); - function defer(promise2, key2) { - results[key2] = void 0; - promises.push(promise2.then(function(res) { - results[key2] = res; - })); - } - } - function isPromise(obj) { - return typeof obj.then === "function"; - } - function isGenerator(obj) { - return typeof obj.next === "function" && typeof obj.throw === "function"; - } - function isGeneratorFunction(obj) { - var constructor = obj.constructor; - if (!constructor) - return false; - if (constructor.name === "GeneratorFunction" || constructor.displayName === "GeneratorFunction") - return true; - return isGenerator(constructor.prototype); - } - function isObject4(val) { - return Object === val.constructor; - } - } -}); - -// node_modules/node-os-utils/util/index.js -var require_util3 = __commonJS({ - "node_modules/node-os-utils/util/index.js"(exports2) { - exports2.isNumber = function(num) { - return num !== true && num !== false && Boolean(num === 0 || num && !isNaN(num)); - }; - require("util"); - } -}); - -// node_modules/node-os-utils/lib/mem.js -var require_mem = __commonJS({ - "node_modules/node-os-utils/lib/mem.js"() { - var bucket = require_bucket(); - var os = require("os"); - var fs7 = require("fs"); - var co = require_co2(); - var util2 = require_util3(); - var exec = require_exec(); - var linuxFreeMemory = function() { - return new Promise(function(resolve) { - fs7.readFile("/proc/meminfo", "utf8", function(err, out) { - if (err) { - return resolve(bucket.options.NOT_SUPPORTED_VALUE); - } - var memInfo = {}; - var usage = out.toString().trim().split("\n"); - usage.forEach((line) => { - var pair = line.split(":"); - memInfo[pair[0]] = parseInt(pair[1], 10); - }); - var totalMem = parseInt(memInfo.MemTotal, 10) * 1024; - if (!memInfo.MemAvailable) { - memInfo.MemAvailable = memInfo["MemFree"] + memInfo["Buffers"] + memInfo["Cached"] + memInfo["SReclaimable"] - memInfo["Shmem"]; - } - var freeMem = memInfo.MemAvailable * 1024; - if (os.release() < "3.14") { - freeMem = ((memInfo.MemFree || 0) + (memInfo.Buffers || 0) + (memInfo.Cached || 0)) * 1024; - } - return resolve({ totalMem, freeMem }); - }); - }); - }; - var osxFreeMemory = co.wrap(function* () { - var totalMem = os.totalmem(); - var mappings = { - "Pages purgeable": "purgeable", - "Pages wired down": "wired", - "Pages active": "active", - "Pages inactive": "inactive", - "Pages occupied by compressor": "compressed" - }; - var [vmStat, pagePageable] = yield Promise.all([ - exec("vm_stat"), - exec("sysctl vm.page_pageable_internal_count") - ]); - vmStat = vmStat.toString().trim(); - pagePageable = pagePageable.toString().trim(); - var pageSize = 4096; - var matchdPageSize = /page size of (\d+) bytes/.exec(vmStat); - if (matchdPageSize && util2.isNumber(matchdPageSize[1])) { - pageSize = Number(matchdPageSize[1]); - } - var [, pageableValue] = pagePageable.split(":"); - if (!util2.isNumber(pageableValue)) { - return { - totalMem, - freeMem: os.freemem() - }; - } - pageableValue = Number(pageableValue) * pageSize; - var lines = vmStat.split("\n").filter((x) => x !== ""); - var stats = {}; - lines.forEach((x) => { - var parts = x.split(":"); - var key = parts[0]; - var val = parts[1].replace(".", "").trim(); - if (mappings[key]) { - var ky = mappings[key]; - stats[ky] = val * pageSize; - } - }); - var appMemory = pageableValue - stats.purgeable; - var wiredMemory = stats.wired; - var compressedMemory = stats.compressed; - var used = appMemory + wiredMemory + compressedMemory; - return { - totalMem, - freeMem: totalMem - used - }; - }); - bucket.mem = { - info: co.wrap(function* () { - var totalMem = null; - var freeMem = null; - var memInfo = yield linuxFreeMemory(); - if (bucket.isNotSupported(memInfo)) { - totalMem = os.totalmem(); - freeMem = os.freemem(); - if (os.platform() === "darwin") { - var mem = yield osxFreeMemory(); - totalMem = mem.totalMem; - freeMem = mem.freeMem; - } - } else { - totalMem = memInfo.totalMem; - freeMem = memInfo.freeMem; - } - var totalMemMb = parseFloat((totalMem / 1024 / 1024).toFixed(2)); - var usedMemMb = parseFloat(((totalMem - freeMem) / 1024 / 1024).toFixed(2)); - var freeMemMb = parseFloat((totalMemMb - usedMemMb).toFixed(2)); - var usedMemPercentage = parseFloat((100 * ((totalMem - freeMem) / totalMem)).toFixed(2)); - var freeMemPercentage = parseFloat((100 * (freeMem / totalMem)).toFixed(2)); - return { - totalMemMb, - usedMemMb, - freeMemMb, - usedMemPercentage, - freeMemPercentage - }; - }), - free: function() { - var self2 = this; - return self2.info().then(function(res) { - return Promise.resolve({ - totalMemMb: res.totalMemMb, - freeMemMb: res.freeMemMb - }); - }); - }, - used: function() { - var self2 = this; - return self2.info().then(function(res) { - return Promise.resolve({ - totalMemMb: res.totalMemMb, - usedMemMb: res.usedMemMb - }); - }); - }, - totalMem: function() { - return os.totalmem(); - } - }; - } -}); - -// node_modules/node-os-utils/lib/netstat.js -var require_netstat = __commonJS({ - "node_modules/node-os-utils/lib/netstat.js"() { - var bucket = require_bucket(); - var co = require_co2(); - var exec = require_exec(); - var ifconfig = { - breakIntoBlocks: function breakIntoBlocks(fullText) { - var blocks = []; - var lines = fullText.split("\n"); - var currentBlock = []; - lines.forEach(function(line) { - if (line.length > 0 && [" ", " "].indexOf(line[0]) === -1 && currentBlock.length > 0) { - blocks.push(currentBlock); - currentBlock = []; - } - if (line.trim()) { - currentBlock.push(line); - } - }); - if (currentBlock.length > 0) { - blocks.push(currentBlock); - } - return blocks; - }, - parseSingleBlock: function parseSingleBlock(block) { - var data = {}; - block.forEach(function(line, i) { - var match = line.match(/^(\S+)\s+Link/); - if (i === 0) { - var match2 = line.match(/([a-zA-Z0-9]+):\s/); - if (match === null && match2) { - match = match2; - } - } - if (match) { - data.device = match[1]; - var link = {}; - match = line.match(/encap:(\S+)/); - if (match) { - link.encap = match[1]; - } - match = line.match(/HWaddr\s+(\S+)/); - if (match) { - link.hwaddr = match[1]; - } - data.link = link; - } else { - var section = data.other || {}; - if (match = line.match(/collisions:(\S+)/)) { - section.collisions = parseInt(match[1]); - } - if (match = line.match(/txqueuelen:(\S+)/)) { - section.txqueuelen = parseInt(match[1]); - } - if (match = line.match(/RX bytes:(\S+)/)) { - section.rxBytes = parseInt(match[1]); - } - if (match = line.match(/RX packets (\S+) {2}bytes (\S+)/)) { - section.rxBytes = parseInt(match[2]); - } - if (match = line.match(/TX bytes:(\S+)/)) { - section.txBytes = parseInt(match[1]); - } - if (match = line.match(/TX packets (\S+) {2}bytes (\S+)/)) { - section.txBytes = parseInt(match[2]); - } - data.other = section; - } - }); - return data; - } - }; - function ifconfigStats() { - return co(function* () { - var res = yield exec("ifconfig"); - if (bucket.isNotSupported(res)) - return res; - var blocks = ifconfig.breakIntoBlocks(res); - var stats = []; - blocks.forEach(function(block, index) { - blocks[index] = ifconfig.parseSingleBlock(block); - stats[index] = { - "interface": blocks[index].device, - "inputBytes": blocks[index].other && blocks[index].other.rxBytes || 0, - "outputBytes": blocks[index].other && blocks[index].other.txBytes || 0 - }; - }); - return stats; - }); - } - bucket.netstat = { - stats: co.wrap(function* () { - var out = yield exec("ip -s link"); - if (bucket.isNotSupported(out)) - return ifconfigStats(); - var names = new RegExp(/[0-9]+: ([\S]+): /g); - var RX = new RegExp(/^\s+RX:\s+bytes\s+packets\s+errors\s+dropped\s+(overrun|missed)\s+mcast\s*\n\s*([0-9]+)\s+/gm); - var TX = new RegExp(/^\s+TX:\s+bytes\s+packets\s+errors\s+dropped\s+carrier\s+collsns\s*\n\s*([0-9]+)\s+/gm); - var stats = []; - var i = 0; - var res = []; - while ((res = names.exec(out)) !== null) { - stats[i++] = { - interface: res[1] - }; - } - i = 0; - while ((res = RX.exec(out)) !== null) { - stats[i++].inputBytes = res[2]; - } - i = 0; - while ((res = TX.exec(out)) !== null) { - stats[i++].outputBytes = res[1]; - } - return stats; - }), - inOut: function(interval) { - var self2 = this; - if (!interval) { - interval = bucket.options.INTERVAL; - } - return Promise.all([ - self2.stats(), - function() { - return new Promise(function(resolve) { - setTimeout(function() { - self2.stats().then(resolve); - }, interval); - }); - }() - ]).then(function(stats) { - var oldStats = stats[0]; - var newStats = stats[1]; - var metrics = { - total: { - inputMb: 0, - outputMb: 0 - } - }; - var nbProblems = 0; - for (var i = 0; i < oldStats.length; i++) { - if (oldStats[i].interface !== "lo" && oldStats[i].interface !== "lo0" && oldStats[i].inputBytes > 0 && oldStats[i].outputBytes > 0) { - metrics[oldStats[i].interface] = {}; - metrics[oldStats[i].interface]["inputMb"] = parseFloat(((newStats[i].inputBytes - oldStats[i].inputBytes) / 1e6).toFixed(2)); - metrics[oldStats[i].interface]["outputMb"] = parseFloat(((newStats[i].outputBytes - oldStats[i].outputBytes) / 1e6).toFixed(2)); - metrics.total["inputMb"] += parseFloat(metrics[oldStats[i].interface]["inputMb"]); - metrics.total["outputMb"] += parseFloat(metrics[oldStats[i].interface]["outputMb"]); - } else { - nbProblems++; - } - } - if (nbProblems === oldStats.length) { - return Promise.resolve(bucket.options.NOT_SUPPORTED_VALUE); - } - return Promise.resolve(metrics); - }); - } - }; - } -}); - -// node_modules/node-os-utils/lib/openfiles.js -var require_openfiles = __commonJS({ - "node_modules/node-os-utils/lib/openfiles.js"() { - var bucket = require_bucket(); - var fs7 = require("fs"); - bucket.openfiles = { - openFd: function() { - return new Promise(function(resolve) { - fs7.readFile("/proc/sys/fs/file-nr", function(err, out) { - if (err) { - return resolve(bucket.options.NOT_SUPPORTED_VALUE); - } - var result = out.toString().replace(/\n/g, "").split(" ")[0]; - result = parseInt(result, 10); - return resolve(result); - }); - }); - } - }; - } -}); - -// node_modules/node-os-utils/lib/osCmd.js -var require_osCmd = __commonJS({ - "node_modules/node-os-utils/lib/osCmd.js"() { - var bucket = require_bucket(); - var exec = require_exec(); - var wrapExec = exec.wrapExec; - bucket.osCmd = { - topCpu: wrapExec("ps -eo pcpu,user,args --no-headers | sort -k 1 -n | tail -n 10 | sort -k 1 -nr | cut -c 1-70"), - topMem: wrapExec("ps -eo pmem,pid,cmd | sort -k 1 -n | tail -n 10 | sort -k 1 -nr | cut -c 1-70"), - vmstats: wrapExec("vmstat -S m"), - processesUsers: wrapExec("ps hax -o user | sort | uniq -c"), - diskUsage: wrapExec("df -h"), - who: wrapExec("who"), - whoami: wrapExec("whoami"), - openPorts: wrapExec("lsof -Pni4 | grep ESTABLISHED"), - ifconfig: wrapExec("ifconfig") - }; - } -}); - -// node_modules/node-os-utils/lib/os.js -var require_os = __commonJS({ - "node_modules/node-os-utils/lib/os.js"() { - var bucket = require_bucket(); - var fs7 = require("fs"); - var os = require("os"); - var co = require_co2(); - var exec = require_exec(); - var originalOperatingSystem = { - checkLastResort: co.wrap(function* () { - return exec("uname -sr"); - }), - darwin: function() { - var self2 = this; - return co(function* () { - var res = yield exec("sw_vers"); - if (bucket.isNotSupported(res)) - return self2.checkLastResort(); - var version = res.match(/[\n\r].*ProductVersion:\s*([^\n\r]*)/)[1]; - var distribution = res.match(/.*ProductName:\s*([^\n\r]*)/)[1]; - return distribution + " " + version; - }); - }, - linux: function() { - var self2 = this; - return new Promise(function(resolve) { - fs7.readFile("/etc/issue", function(err, out) { - if (err) { - return self2.checkLastResort(resolve); - } - out = out.toString(); - var version = out.match(/[\d]+(\.[\d][\d]?)?/); - if (version !== null) { - version = version[0]; - } - var distribution = out.match(/[\w]*/)[0]; - if (version !== null && distribution !== null) { - var resultOs = distribution + " " + version; - return resolve(resultOs); - } else if (distribution !== null && distribution !== "") { - return resolve(distribution); - } else if (version === null) { - fs7.readFile("/etc/redhat-release", function(err2, out2) { - if (err2) { - return self2.checkLastResort(resolve); - } - out2 = out2.toString(); - version = out2.match(/[\d]+(\.[\d][\d]?)?/); - if (version !== null) { - version = version[0]; - } - var resultOs2 = "Red Hat " + version; - return resolve(resultOs2); - }); - } - }); - }); - } - }; - bucket.os = { - oos: function() { - var platform = os.platform(); - if (platform === "linux") { - return originalOperatingSystem.linux(); - } - if (platform === "darwin") { - return originalOperatingSystem.darwin(); - } - return originalOperatingSystem.checkLastResort(); - }, - platform: function() { - return os.platform(); - }, - uptime: function() { - return os.uptime(); - }, - ip: function() { - var platform = os.platform(); - var interfaces = os.networkInterfaces(); - var ip = ""; - var i = 0; - try { - if (platform === "linux" && interfaces.eth0) { - for (i = 0; i < interfaces.eth0.length; i++) { - if (os.networkInterfaces().eth0[i].family === "IPv4") { - ip = os.networkInterfaces().eth0[i].address; - break; - } - } - return ip; - } - if (platform === "darwin") { - for (i = 0; i < interfaces.en0.length; i++) { - if (os.networkInterfaces().en0[i].family === "IPv4") { - ip = os.networkInterfaces().en0[i].address; - break; - } - } - return ip; - } - for (i in interfaces) { - var item = interfaces[i]; - for (var j in item) { - if (item[j]["internal"] === false && item[j]["family"] === "IPv4") { - ip = item[j]["address"]; - break; - } - } - } - } catch (error) { - ip = "LOCALHOST"; - } - return ip; - }, - hostname: function() { - return os.hostname(); - }, - type: function() { - return os.type(); - }, - arch: function() { - return os.arch(); - } - }; - } -}); - -// node_modules/node-os-utils/lib/proc.js -var require_proc = __commonJS({ - "node_modules/node-os-utils/lib/proc.js"() { - var bucket = require_bucket(); - var exec = require_exec(); - var os = require("os"); - var co = require_co2(); - bucket.proc = { - totalProcesses: co.wrap(function* () { - var res = yield exec("top -bn1 | awk 'NR > 7 && $8 ~ /R|S|D|T/ { print $12 }'"); - if (bucket.isNotSupported(res)) { - if (os.platform() === "darwin") { - var nb = yield exec("ps -A"); - nb = nb.toString().split("\n"); - return nb.length - 1; - } - return res; - } - var resultProc = res.split("\n").length; - return resultProc; - }), - zombieProcesses: co.wrap(function* () { - var res = yield exec("top -bn1 | awk 'NR > 7 && $8 ~ /Z/ { print $12 }'"); - if (bucket.isNotSupported(res)) - return res; - return res.split("\n").length; - }) - }; - } -}); - -// node_modules/node-os-utils/lib/users.js -var require_users = __commonJS({ - "node_modules/node-os-utils/lib/users.js"() { - var bucket = require_bucket(); - var exec = require_exec(); - var co = require_co2(); - bucket.users = { - openedCount: co.wrap(function* () { - var res = yield exec("who | grep -v localhost | wc -l"); - if (bucket.isNotSupported(res)) - return res; - return parseInt(res, 10); - }) - }; - } -}); - -// node_modules/node-os-utils/index.js -var require_node_os_utils = __commonJS({ - "node_modules/node-os-utils/index.js"(exports2, module2) { - require_cpu(); - require_drive(); - require_mem(); - require_netstat(); - require_openfiles(); - require_osCmd(); - require_os(); - require_proc(); - require_users(); - module2.exports = require_bucket(); - } -}); - -// server/Game/Basics.js -var getOnlineStats; -var init_Basics = __esm({ - "server/Game/Basics.js"() { - init_server(); - getOnlineStats = () => { - const playerSources = Game.getPlayers(); - const jobs = Game.QBCore.Shared.Jobs; - const gangs = Game.QBCore.Shared.Gangs; - let jobDutys = {}; - for (const job of Object.keys(jobs)) { - jobDutys[jobs[job].label] = Game.QBCore.Functions.GetDutyCount(job); - } - let gangsOnline = {}; - for (const gang of Object.keys(gangs)) { - gangsOnline[gangs[gang].label] = 0; - } - let players = []; - playerSources.forEach((src) => { - var _a, _b, _c, _d, _e, _f, _g, _h, _i; - const QBPlayer = Game.QBCore.Functions.GetPlayer(src); - if (gangsOnline[(_a = QBPlayer.PlayerData.gang) == null ? void 0 : _a.label] !== null) - gangsOnline[(_b = QBPlayer.PlayerData.gang) == null ? void 0 : _b.label]++; - players.push({ - id: QBPlayer.PlayerData.source, - name: QBPlayer.PlayerData.name, - charname: `${QBPlayer.PlayerData.charinfo.firstname} ${QBPlayer.PlayerData.charinfo.lastname}`, - citizenid: QBPlayer.PlayerData.citizenid, - job: (_c = QBPlayer.PlayerData.job) == null ? void 0 : _c.label, - jobGrade: (_e = (_d = QBPlayer.PlayerData.job) == null ? void 0 : _d.grade) == null ? void 0 : _e.name, - duty: (_f = QBPlayer.PlayerData.job) == null ? void 0 : _f.onduty, - gang: (_g = QBPlayer.PlayerData.gang) == null ? void 0 : _g.label, - gangGrade: (_i = (_h = QBPlayer.PlayerData.gang) == null ? void 0 : _h.grade) == null ? void 0 : _i.name - }); - }); - return { players, jobDutys, gangsOnline }; - }; - } -}); - -// server/Utils/item.utils.js -var STORAGE_IDENTIFIERS, getSupporterStash, saveSupporterStash, deleteItemTypeFromSupportStash, swapItem, removeItem, editItem, addItem; -var init_item_utils = __esm({ - "server/Utils/item.utils.js"() { - init_server(); - init_DevLogger(); - STORAGE_IDENTIFIERS = { - STORAGE: "c", - PLAYER: "p", - STASH: "s" - }; - getSupporterStash = async () => { - let stash = {}; - const result = Database.getConfigValue("supporterStash"); - if (!result) - return stash; - result.forEach((item) => { - var _a; - const itemInfo = Game.QBCore.Shared.Items[(_a = item == null ? void 0 : item.name) == null ? void 0 : _a.toLowerCase()]; - if (!itemInfo) { - devLogger.warn( - `Skipped supporter stash item ${item.name} due deleted item defintion (QBShared). Try fix items in configuration tab.` - ); - return; - } - stash[`${item.slot}`] = { - name: itemInfo["name"], - amount: item.amount, - info: item.info || "", - label: itemInfo["label"], - description: itemInfo["description"] || "", - weight: itemInfo["weight"], - type: itemInfo["type"], - unique: itemInfo["unique"], - useable: itemInfo["useable"], - image: itemInfo["image"], - shouldClose: itemInfo["shouldClose"], - slot: item.slot, - combinable: itemInfo["combinable"] - }; - }); - return stash; - }; - saveSupporterStash = async (items) => { - await Database.updateConfigValue( - "supporterStash", - Object.keys(items).map(function(key) { - return items[key]; - }) - ); - }; - deleteItemTypeFromSupportStash = async (itemName) => { - let stash = {}; - let count = 0; - const result = Database.getConfigValue("supporterStash"); - if (!result) - return; - result.forEach((item) => { - if (itemName.toLowerCase() === item.name.toLowerCase()) { - count++; - return; - } - const itemInfo = Game.QBCore.Shared.Items[item.name.toLowerCase()]; - stash[`${item.slot}`] = { - name: itemInfo["name"], - amount: item.amount, - info: item.info || "", - label: itemInfo["label"], - description: itemInfo["description"] || "", - weight: itemInfo["weight"], - type: itemInfo["type"], - unique: itemInfo["unique"], - useable: itemInfo["useable"], - image: itemInfo["image"], - shouldClose: itemInfo["shouldClose"], - slot: item.slot, - combinable: itemInfo["combinable"] - }; - }); - await saveSupporterStash(stash); - if (count > 0) { - devLogger.info( - `Deleted ${count}x ${itemName} from supporter stash due item type deleting.` - ); - TriggerEvent("unlimited::update::supStash", stash); - } - return { resCode: true, resMsg: "success" }; - }; - swapItem = (fromStorage, toStorage, fromSlot, toSlot) => { - const fromItem = Object.assign({}, fromStorage[fromSlot]); - const toItem = Object.assign({}, toStorage[toSlot]); - if (fromItem) - fromItem.slot = toSlot; - if (toItem) - toItem.slot = fromSlot; - fromStorage[fromSlot] = toItem; - toStorage[toSlot] = fromItem; - }; - removeItem = (items, slot, amount) => { - if (items[slot].amount > amount) { - items[slot].amount = items[slot].amount - amount; - return; - } - delete items[slot]; - }; - editItem = (items, item) => { - const itemInfo = Game.QBCore.Shared.Items[item.name.toLowerCase()]; - if (itemInfo) { - items[item.slot] = item; - return { resCode: true, resMsg: "success" }; - } else { - return { resCode: false, resMsg: "invalid_item" }; - } - }; - addItem = (items, itemName, slot, amount, info = {}, maxSlots) => { - const itemInfo = Game.QBCore.Shared.Items[itemName.toLowerCase()]; - if (itemInfo) { - if (itemInfo.type === "weapon") { - info.serie = info.serie || `${Game.QBCore.Shared.RandomInt(2)}${Game.QBCore.Shared.RandomStr( - 3 - )}${Game.QBCore.Shared.RandomInt(1)}${Game.QBCore.Shared.RandomStr( - 2 - )}${Game.QBCore.Shared.RandomInt(3)}${Game.QBCore.Shared.RandomStr( - 4 - )}`.toString(); - info.quality = info.quality || 100; - } - if (!slot) { - let foundSlot = null; - Object.entries(items).forEach(([key, val]) => { - if (val.name.toLowerCase() === itemName.toLowerCase() && !itemInfo.unique && !foundSlot) { - foundSlot = val.slot; - } - }); - slot = foundSlot; - } - if (slot && items[slot] && items[slot].name.toLowerCase() === itemName.toLowerCase() && !itemInfo.unique) { - items[slot].amount = items[slot].amount + amount; - return { resCode: true, resMsg: "success" }; - } else if (!itemInfo.unique && slot || slot && !items[slot]) { - items[slot] = { - name: itemInfo.name, - amount, - info: info || "", - label: itemInfo.label, - description: itemInfo.description || "", - weight: itemInfo.weight, - type: itemInfo.type, - unique: itemInfo.unique, - useable: itemInfo.useable, - image: itemInfo.image, - shouldClose: itemInfo.shouldClose, - slot, - combinable: itemInfo.combinable - }; - return { resCode: true, resMsg: "success" }; - } else if (itemInfo.unique || !slot || itemInfo.type === "weapon") { - for (let i = 1; i <= maxSlots; i++) { - if (!items[i]) { - items[i] = { - name: itemInfo.name, - amount, - info: info || "", - label: itemInfo.label, - description: itemInfo.description || "", - weight: itemInfo.weight, - type: itemInfo.type, - unique: itemInfo.unique, - useable: itemInfo.useable, - image: itemInfo.image, - shouldClose: itemInfo.shouldClose, - slot: i, - combinable: itemInfo.combinable - }; - return { resCode: true, resMsg: "success" }; - } - } - return { resCode: false, resMsg: "noSlot" }; - } - } else { - return { resCode: false, resMsg: "invalid_item" }; - } - }; - } -}); - -// server/Modules/game/player/player.service.js -var import_oxmysql4, getPlayer, getDatabasePlayersCount, getPartialDatabasePlayers, getPlayerInventoryFromDB, savePlayerInventoryToDB, isPlayerBanned, changePlayerAccount, handlePlayerBan, resetPlayerBan, handleIsDead, handleHandCuffed, teleportTo, handlePlayerArmor, handleHealPlayer, getPlayerScreen; -var init_player_service = __esm({ - "server/Modules/game/player/player.service.js"() { - import_oxmysql4 = __toESM(require_MySQL()); - init_server(); - init_globalData(); - getPlayer = async (citizenid) => { - let player = Game.QBCore.Functions.GetPlayerByCitizenId(citizenid); - if (!player) { - player = await Game.QBCore.Functions.GetOfflinePlayerByCitizenId(citizenid); - } - return player; - }; - getDatabasePlayersCount = async (filter2) => { - return await import_oxmysql4.oxmysql.query( - "SELECT count(*) as count FROM players WHERE license LIKE ? or citizenid LIKE ? or name LIKE ? or JSON_EXTRACT(`charinfo`, '$.firstname') LIKE ? or JSON_EXTRACT(`charinfo`, '$.lastname') LIKE ?", - [`%${filter2}%`, `%${filter2}%`, `%${filter2}%`, `%${filter2}%`, `%${filter2}%`] - ); - }; - getPartialDatabasePlayers = async (start, count, filter2, orderBy, desc) => { - const DESC = desc ? "DESC" : "ASC"; - const query = `SELECT name, license, citizenid, job, gang, charinfo, JSON_EXTRACT(\`charinfo\`, '$.firstname') as firstname, JSON_EXTRACT(\`charinfo\`, '$.lastname') as lastname FROM players WHERE license LIKE ? or citizenid LIKE ? or name LIKE ? or JSON_EXTRACT(\`charinfo\`, '$.firstname') LIKE ? or JSON_EXTRACT(\`charinfo\`, '$.lastname') LIKE ? ORDER BY ${orderBy} ${DESC} LIMIT ?, ?;`; - return await import_oxmysql4.oxmysql.query(query, [ - `%${filter2}%`, - `%${filter2}%`, - `%${filter2}%`, - `%${filter2}%`, - `%${filter2}%`, - start, - count - ]); - }; - getPlayerInventoryFromDB = async (citizenid) => { - return await import_oxmysql4.oxmysql.single( - "SELECT inventory FROM players WHERE citizenid = ? LIMIT 1", - [citizenid] - ); - }; - savePlayerInventoryToDB = async (citizenid, items) => { - await import_oxmysql4.oxmysql.update("UPDATE players SET inventory = ? WHERE citizenid = ?", [ - items, - citizenid - ]); - }; - isPlayerBanned = async (plicense) => { - return await import_oxmysql4.oxmysql.query( - "SELECT reason, expire, bannedby FROM bans WHERE license = ?", - [plicense] - ); - }; - changePlayerAccount = async (citizenid, license) => { - const playerUpdate = await import_oxmysql4.oxmysql.update( - "UPDATE players SET license = ? WHERE citizenid = ?", - [license, citizenid], - (affectedRows) => { - return affectedRows; - } - ); - const vehUpdate = await import_oxmysql4.oxmysql.update( - "UPDATE player_vehicles SET license = ? WHERE citizenid = ?", - [license, citizenid], - (affectedRows) => { - return affectedRows; - } - ); - return playerUpdate && vehUpdate; - }; - handlePlayerBan = async (name, license, discord, ip, reason, banTime, bannedBy, playerTokens) => { - return await import_oxmysql4.oxmysql.insert( - "INSERT INTO bans (name, license, discord, ip, reason, expire, bannedby, tokens) VALUES (?, ?, ?, ?, ?, ?, ?, ?)", - [name, license, discord, ip, reason, banTime, bannedBy, playerTokens] - ); - }; - resetPlayerBan = async (plicense) => { - return await import_oxmysql4.oxmysql.update( - "DELETE FROM bans WHERE license = ?", - [plicense], - (affectedRows) => { - return !!affectedRows; - } - ); - }; - handleIsDead = (value, src) => { - if (unlEnv.config.customHandleDeadEvent !== "false") { - TriggerEvent(unlEnv.config.customHandleDeadEvent, src, value); - return; - } - if (value) - TriggerClientEvent("hospital:client:KillPlayer", src); - else { - TriggerClientEvent("hospital:client:Revive", src); - TriggerClientEvent("hospital:client:HealInjuries", src, "full"); - } - }; - handleHandCuffed = (value, src) => { - if (unlEnv.config.customHandleCuffedEvent !== "false") { - TriggerEvent(unlEnv.config.customHandleCuffedEvent, src, value); - return; - } - TriggerClientEvent("police:client:GetCuffed", src, -1, true); - }; - teleportTo = (coords, src) => { - TriggerClientEvent("unlWeb:player:teleport", src, coords); - }; - handlePlayerArmor = (src) => { - const ped = GetPlayerPed(src); - if (DoesEntityExist(ped)) - SetPedArmour(ped, 100); - }; - handleHealPlayer = (src) => { - TriggerClientEvent("unlWeb:player:heal", src); - TriggerClientEvent("hospital:client:HealInjuries", src, "full"); - }; - getPlayerScreen = (src) => { - return new Promise((resolve) => { - global.exports["screenshot-basic"].requestClientScreenshot( - src, - {}, - (err, data) => { - resolve({ err, data }); - } - ); - }); - }; - } -}); - -// server/Modules/game/stashes/stashes.service.js -var import_oxmysql5, parseStorageToObject, handleFinishStorageAction, getDatabaseStashesCount, getPartialDatabaseStashes, updateStorage, getStorage, handleDeleteItem, handleAddItem, handleEditItem, handleClearStorage, handleMoveStashItem; -var init_stashes_service = __esm({ - "server/Modules/game/stashes/stashes.service.js"() { - import_oxmysql5 = __toESM(require_MySQL()); - init_globalData(); - init_server(); - init_item_utils(); - init_player_service(); - parseStorageToObject = (storageItems) => { - let storage = {}; - if (Array.isArray(storageItems)) { - storageItems.forEach((item) => { - if (!(item == null ? void 0 : item.name)) - return; - const itemInfo = Game.QBCore.Shared.Items[item.name.toLowerCase()]; - storage[`${item.slot}`] = { - name: itemInfo["name"], - amount: item.amount, - info: item.info || "", - label: itemInfo["label"], - description: itemInfo["description"] || "", - weight: itemInfo["weight"], - type: itemInfo["type"], - unique: itemInfo["unique"], - useable: itemInfo["useable"], - image: itemInfo["image"], - shouldClose: itemInfo["shouldClose"], - slot: item.slot, - combinable: itemInfo["combinable"] - }; - }); - } else { - Object.entries(storageItems).forEach(([key, val]) => { - const itemInfo = Game.QBCore.Shared.Items[val.name.toLowerCase()]; - storage[`${key}`] = { - name: itemInfo["name"], - amount: val.amount, - info: val.info || "", - label: itemInfo["label"], - description: itemInfo["description"] || "", - weight: itemInfo["weight"], - type: itemInfo["type"], - unique: itemInfo["unique"], - useable: itemInfo["useable"], - image: itemInfo["image"], - shouldClose: itemInfo["shouldClose"], - slot: key, - combinable: itemInfo["combinable"] - }; - }); - } - return storage; - }; - handleFinishStorageAction = async (storageItems, stashItems, settings, identifier) => { - if (storageItems) { - await updateStorage(storageItems, identifier, settings); - TriggerEvent( - "unlimited::update::storage", - storageItems, - settings.type, - identifier - ); - } - if (stashItems) { - await saveSupporterStash(stashItems); - TriggerEvent("unlimited::update::supStash", stashItems); - } - }; - getDatabaseStashesCount = async (filter2) => { - let query = "SELECT Sum(a.count) as count FROM ("; - unlEnv.config.stashTables.forEach((t) => { - query = query.concat( - `${query === "SELECT Sum(a.count) as count FROM (" ? " " : " UNION ALL "}`, - `SELECT 1 as count, '${t.type}' AS type, ${t.identifier} AS identifier FROM ${t.table} HAVING \`type\` like '%${filter2}%' OR identifier like '%${filter2}%'` - ); - }); - return await import_oxmysql5.oxmysql.query(`${query}) a`); - }; - getPartialDatabaseStashes = async (start, count, filter2, orderBy, desc) => { - const DESC = desc ? "DESC" : "ASC"; - let query = ""; - unlEnv.config.stashTables.forEach((t) => { - query = query.concat( - `${query.length === 0 ? "" : " UNION "}`, - `SELECT '${t.type}' AS type, ${t.identifier} AS identifier, IFNULL(JSON_LENGTH(JSON_SEARCH(${t.itemColumn}, 'all', "%", NULL, '$[*].name')), JSON_LENGTH(${t.itemColumn})) AS item_count FROM ${t.table} HAVING \`type\` like '%${filter2}%' OR identifier like '%${filter2}%'` - ); - }); - return await import_oxmysql5.oxmysql.query( - `${query} ORDER BY ${orderBy} ${DESC} LIMIT ${start}, ${count}` - ); - }; - updateStorage = async (items, identifier, settings) => { - const saveItems = {}; - Object.values(items).forEach((i) => { - const { description: _, ...item } = i; - saveItems[i.slot] = item; - }); - return await import_oxmysql5.oxmysql.update(`UPDATE ?? SET ?? = ? WHERE ?? = ?`, [ - settings.table, - settings.itemColumn, - JSON.stringify(saveItems), - settings.identifier, - identifier - ]); - }; - getStorage = async (identifier, settings) => { - const result = await import_oxmysql5.oxmysql.scalar( - `SELECT ${settings.itemColumn} FROM ${settings.table} WHERE ${settings.identifier} = ?`, - [identifier] - ); - if (!result) - return {}; - return parseStorageToObject(JSON.parse(result)); - }; - handleDeleteItem = async (identifier, settings, fromStorage, fromSlot, amount) => { - let items = null; - let storageUsed = false; - let supporterStashUsed = false; - if (fromStorage === STORAGE_IDENTIFIERS.STORAGE) { - storageUsed = true; - items = await getStorage(identifier, settings); - if (!items) { - return { resCode: false, resMsg: "unknown_storage" }; - } - } else { - supporterStashUsed = true; - items = await getSupporterStash(); - } - const item = items[fromSlot]; - if (!item) - return { resCode: false, resMsg: "moved" }; - const itemFromAmount = amount || item.amount; - if (itemFromAmount < 0) - return { resCode: false, resMsg: "negative" }; - removeItem( - items, - fromSlot, - item.amount < itemFromAmount ? item.amount : itemFromAmount - ); - await handleFinishStorageAction( - storageUsed ? items : null, - supporterStashUsed ? items : null, - settings, - identifier - ); - return { resCode: true, resMsg: "success", resItem: item }; - }; - handleAddItem = async (identifier, settings, storage, item) => { - let items = null; - let storageUsed = false; - let supporterStashUsed = false; - if (storage === STORAGE_IDENTIFIERS.STORAGE) { - storageUsed = true; - items = await getStorage(identifier, settings); - if (!items) { - return { resCode: false, resMsg: "unknown_storage" }; - } - } else { - supporterStashUsed = true; - items = await getSupporterStash(); - } - const { resCode, resMsg } = addItem( - items, - item.name, - null, - item.amount, - item.info, - settings.maxSlots - ); - if (!resCode) { - return { resCode, resMsg }; - } - await handleFinishStorageAction( - storageUsed ? items : null, - supporterStashUsed ? items : null, - settings, - identifier - ); - return { resCode: true, resMsg: "success" }; - }; - handleEditItem = async (identifier, settings, fromStorage, fromSlot, item) => { - let items = null; - let storageUsed = false; - let supporterStashUsed = false; - if (fromStorage === STORAGE_IDENTIFIERS.STORAGE) { - storageUsed = true; - items = await getStorage(identifier, settings); - if (!items) { - return { resCode: false, resMsg: "unknown_storage" }; - } - } else { - supporterStashUsed = true; - items = await getSupporterStash(); - } - const foundItem = items[fromSlot]; - if (!foundItem) - return { resCode: false, resMsg: "moved" }; - const { resCode, resMsg } = editItem(items, item); - if (!resCode) { - return { resCode, resMsg }; - } - await handleFinishStorageAction( - storageUsed ? items : null, - supporterStashUsed ? items : null, - settings, - identifier - ); - return { resCode: true, resMsg: "success" }; - }; - handleClearStorage = async (identifier, settings) => { - await handleFinishStorageAction({}, null, settings, identifier); - return { resCode: true, resMsg: "success" }; - }; - handleMoveStashItem = async (identifier, settings, fromStorage, toStorage, fromSlot, toSlot, amount) => { - let storageItems = null; - let supporterStashItems = null; - let storageUsed = false; - let supporterStashUsed = false; - let didSwap = false; - if (fromStorage === STORAGE_IDENTIFIERS.STORAGE || toStorage === STORAGE_IDENTIFIERS.STORAGE) { - storageUsed = true; - storageItems = await getStorage(identifier, settings); - if (!storageItems) { - return { resCode: false, resMsg: "unknown_storage" }; - } - } - if (fromStorage === STORAGE_IDENTIFIERS.STASH || toStorage === STORAGE_IDENTIFIERS.STASH) { - supporterStashUsed = true; - supporterStashItems = await getSupporterStash(); - } - const fromItems = fromStorage === STORAGE_IDENTIFIERS.STORAGE ? storageItems : supporterStashItems; - const item = fromItems[fromSlot]; - if (!item) - return { resCode: false, resMsg: "moved" }; - const itemFromAmount = amount || item.amount; - if (itemFromAmount < 0) - return { resCode: false, resMsg: "negative" }; - if (item.amount < itemFromAmount) - return { resCode: false, resMsg: "not_enough" }; - const toItems = toStorage === STORAGE_IDENTIFIERS.STORAGE ? storageItems : supporterStashItems; - const toItem = toItems[toSlot]; - if (toItem && toItem.name !== item.name || toItem && toItem.name === toItem.name && toItem.unique) { - didSwap = true; - swapItem(fromItems, toItems, fromSlot, toSlot); - } else { - removeItem(fromItems, fromSlot, itemFromAmount); - const { resCode, resMsg } = addItem( - toItems, - item.name, - toSlot, - itemFromAmount, - item.info, - settings.maxSlots - ); - if (!resCode && resMsg === "noSlot") { - return { resCode: true, resMsg: "internal" }; - } - } - await handleFinishStorageAction( - storageUsed ? storageItems : null, - supporterStashUsed ? supporterStashItems : null, - settings, - identifier - ); - return { - resCode: true, - resMsg: "success", - resItems: { didSwap, item: item.name, toItem: toItem == null ? void 0 : toItem.name } - }; - }; - } -}); - -// server/Utils/delay.utils.js -var Delay; -var init_delay_utils = __esm({ - "server/Utils/delay.utils.js"() { - Delay = (ms) => new Promise((res) => setTimeout(res, ms)); - } -}); - -// server/Web/SocketServer.js -var import_node_os_utils, SocketServer; -var init_SocketServer = __esm({ - "server/Web/SocketServer.js"() { - import_node_os_utils = __toESM(require_node_os_utils()); - init_server(); - init_globalData(); - init_UnlLogger(); - init_Basics(); - init_stashes_service(); - init_delay_utils(); - SocketServer = class { - constructor(io2) { - this.io = io2; - this.pathNampespace = io2.of(`/${unlEnv.resourceName}`); - setInterval(this.updateDashboard.bind(this), unlEnv.dashInterval); - setInterval(this.updateLiveMap.bind(this), unlEnv.liveMapInterval); - } - handleConnection(socket) { - try { - socket.on("room::join", (room) => { - socket.join(room); - }); - socket.on("room::leave", (room) => { - socket.leave(room); - }); - } catch (error) { - UnlLogger.error(`Error handling new Socket connection: ${error.message}`); - socket.disconnect(); - } - } - getRoomMembers(room) { - const clients = this.io.sockets.adapter.rooms.get(room); - const nameSpaceCLients = this.pathNampespace.adapter.rooms.get(room); - return clients ? clients.size : nameSpaceCLients ? nameSpaceCLients.size : 0; - } - async updateDashboard() { - if (!this.getRoomMembers("dashboard")) - return; - const { players, jobDutys, gangsOnline } = getOnlineStats(); - const data = { - cpu: await import_node_os_utils.default.cpu.usage(), - memory: await import_node_os_utils.default.mem.info(), - usage: process.memoryUsage().heapUsed / 1024 / 1024, - players, - jobDutys, - gangsOnline - }; - this.io.to("dashboard").emit("dashboard::update", data); - this.pathNampespace.to("dashboard").emit("dashboard::update", data); - } - async updateLiveMap() { - if (!this.getRoomMembers("livemap")) - return; - const playerObject = Players.GetLiveMapPlayer(); - const vehicleObject = await Vehicles.GetLiveMapVehicles(); - const data = { - players: playerObject, - vehicles: vehicleObject - }; - this.io.to("livemap").emit("livemap::update", data); - this.pathNampespace.to("livemap").emit("livemap::update", data); - } - updateLogs(type, line) { - if (!this.getRoomMembers(`logs-${type}`)) - return; - this.io.to(`logs-${type}`).emit(`logs::update`, { type, newLine: line }); - this.pathNampespace.to(`logs-${type}`).emit(`logs::update`, { type, newLine: line }); - } - updatePlayer(playerData) { - if (!this.getRoomMembers(`inventory:${playerData.citizenid}`)) - return; - this.io.to(`inventory:${playerData.citizenid}`).emit(`inventory::${playerData.citizenid}`, { items: playerData.items }); - this.pathNampespace.to(`inventory:${playerData.citizenid}`).emit(`inventory::${playerData.citizenid}`, { items: playerData.items }); - } - updateSupStash(stashData) { - if (!this.getRoomMembers(`supstash`)) - return; - this.io.to(`supstash`).emit(`supstash::update`, { stash: stashData }); - this.pathNampespace.to(`supstash`).emit(`supstash::update`, { stash: stashData }); - } - async checkStorageUpdate(type, identifier) { - for (const s of unlEnv.config.stashTables) { - if (s.updateTriggerType === type) { - await Delay(1e3); - const storageItems = await getStorage(identifier, s); - this.updateStorage(storageItems, s.type, identifier); - } - } - } - updateStorage(storageItems, type, identifier) { - if (!this.getRoomMembers(`storage:${type}:${identifier}`)) - return; - this.io.to(`storage:${type}:${identifier}`).emit(`storage:${type}:${identifier}`, { items: storageItems }); - this.pathNampespace.to(`storage:${type}:${identifier}`).emit(`storage:${type}:${identifier}`, { items: storageItems }); - } - }; - } -}); - -// node_modules/@citizenfx/http-wrapper/index.js -var require_http_wrapper = __commonJS({ - "node_modules/@citizenfx/http-wrapper/index.js"(exports2, module2) { - var { Readable: Readable2, Writable } = require("stream"); - var http2 = require("http"); - var objectify = (obj, [k, v]) => ({ ...obj, [k]: v }); - var IncomingMessage = class extends Readable2 { - constructor(cfxReq, cfxRes) { - super(); - this.headers = Object.entries(cfxReq.headers).map(([k, v]) => [k.toLowerCase(), v]).reduce(objectify, {}); - this.httpVersion = "1.1"; - this.httpVersionMajor = 1; - this.httpVersionMinor = 1; - this.method = cfxReq.method; - this.rawHeaders = Object.entries(this.headers).flatMap((x) => x); - this.rawTrailers = []; - this.setTimeout = (ms, cb) => { - global.setTimeout(cb, ms); - return this; - }; - this.trailers = {}; - this.url = cfxReq.path; - this.aborted = false; - try { - let addrParts = cfxReq.address.split(":"); - if (addrParts.length != 2 || !addrParts[0].length || !addrParts[1].length) { - throw new Error("Invalid IP:PORT"); - } - this.connection = { - remoteAddress: addrParts[0], - remotePort: addrParts[1] - }; - } catch (error) { - console.error(`requestHandler parsing ip:port error: ${error.message}`); - this.connection = { - remoteAddress: "0.0.0.0", - remotePort: 0 - }; - } - this.socket = this.connection; - cfxReq.setDataHandler((data) => { - if (data instanceof ArrayBuffer || ArrayBuffer.isView(data)) { - this.push(Buffer.from(data)); - } else { - this.push(data, "utf8"); - } - this.push(null); - }, "binary"); - } - _read(len) { - } - destroy(err) { - } - }; - var ServerResponse = class extends Writable { - constructor(cfxReq, cfxRes) { - super(); - this.cfxReq = cfxReq; - this.cfxRes = cfxRes; - this.connection = { - remoteAddress: cfxReq.address, - remotePort: 0, - writable: true, - on(...args2) { - } - }; - this.socket = this.connection; - this.finished = false; - this.headersSent = false; - this.sendDate = true; - this.statusCode = 200; - this.statusMessage = "OK"; - this.headers = {}; - } - addTrailers(headers) { - } - end(chunk, encoding, callback) { - if (this.finished) { - return; - } - if (typeof chunk === "function") { - callback = chunk; - chunk = null; - } else if (typeof encoding === "function") { - callback = encoding; - encoding = null; - } - if (chunk) { - this.write(chunk, encoding); - } - this.cfxRes.send(); - if (callback) { - callback(); - } - this.finished = true; - this.cfxReq = null; - this.cfxRes = null; - } - getHeader(name) { - return this.headers[name.toLowerCase()]; - } - getHeaderNames() { - return Object.entries(this.headers).map(([name]) => name); - } - getHeaders() { - return Object.assign({}, this.headers); - } - hasHeader(name) { - return this.headers[name.toLowerCase()] !== void 0; - } - removeHeader(name) { - delete this.headers[name.toLowerCase()]; - } - setHeader(name, value) { - this.headers[name.toLowerCase()] = value; - } - setTimeout(ms, cb) { - } - _write(chunk, encoding, callback) { - if (!this.headersSent) { - this.writeHead(this.statusCode, this.statusMessage, this.headers); - } - this.cfxRes.write(chunk.buffer.slice(chunk.byteOffset, chunk.byteOffset + chunk.byteLength)); - callback(); - } - writeContinue() { - } - writeHead(statusCode, reason, obj) { - if (this.headersSent) { - return; - } - this.headersSent = true; - var originalStatusCode = statusCode; - statusCode |= 0; - if (statusCode < 100 || statusCode > 999) { - throw new Error(`invalid status code ${originalStatusCode}`); - } - if (typeof reason === "string") { - this.statusMessage = reason; - } else { - if (!this.statusMessage) - this.statusMessage = http2.STATUS_CODES[statusCode] || "unknown"; - obj = reason; - } - this.statusCode = statusCode; - let headers; - if (this._headers) { - var k; - if (obj) { - var keys2 = Object.keys(obj); - for (var i = 0; i < keys2.length; i++) { - k = keys2[i]; - if (k) - this.setHeader(k, obj[k]); - } - } - if (k === void 0 && this._header) { - throw new Error(`invalid header`); - } - headers = this._headers; - } else { - headers = obj; - } - const headerList = {}; - for (const [key, value] of Object.entries(headers)) { - if (Array.isArray(value)) { - headerList[key] = value.map((a) => a.toString()); - } else { - headerList[key] = value.toString(); - } - } - this.cfxRes.writeHead(this.statusCode, headerList); - } - _final(callback) { - } - }; - var setHttpCallback2 = (requestHandler) => { - global.SetHttpHandler((req, res) => { - requestHandler(new IncomingMessage(req, res), new ServerResponse(req, res)); - }); - }; - module2.exports.IncomingMessage = IncomingMessage; - module2.exports.ServerResponse = ServerResponse; - module2.exports.setHttpCallback = setHttpCallback2; - } -}); - -// node_modules/methods/index.js -var require_methods = __commonJS({ - "node_modules/methods/index.js"(exports2, module2) { - "use strict"; - var http2 = require("http"); - module2.exports = getCurrentNodeMethods() || getBasicNodeMethods(); - function getCurrentNodeMethods() { - return http2.METHODS && http2.METHODS.map(function lowerCaseMethod(method) { - return method.toLowerCase(); - }); - } - function getBasicNodeMethods() { - return [ - "get", - "post", - "put", - "head", - "delete", - "options", - "trace", - "copy", - "lock", - "mkcol", - "move", - "purge", - "propfind", - "proppatch", - "unlock", - "report", - "mkactivity", - "checkout", - "merge", - "m-search", - "notify", - "subscribe", - "unsubscribe", - "patch", - "search", - "connect" - ]; - } - } -}); - -// node_modules/path-to-regexp/dist/index.js -var require_dist3 = __commonJS({ - "node_modules/path-to-regexp/dist/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.pathToRegexp = exports2.tokensToRegexp = exports2.regexpToFunction = exports2.match = exports2.tokensToFunction = exports2.compile = exports2.parse = void 0; - function lexer(str) { - var tokens = []; - var i = 0; - while (i < str.length) { - var char = str[i]; - if (char === "*" || char === "+" || char === "?") { - tokens.push({ type: "MODIFIER", index: i, value: str[i++] }); - continue; - } - if (char === "\\") { - tokens.push({ type: "ESCAPED_CHAR", index: i++, value: str[i++] }); - continue; - } - if (char === "{") { - tokens.push({ type: "OPEN", index: i, value: str[i++] }); - continue; - } - if (char === "}") { - tokens.push({ type: "CLOSE", index: i, value: str[i++] }); - continue; - } - if (char === ":") { - var name = ""; - var j = i + 1; - while (j < str.length) { - var code = str.charCodeAt(j); - if (code >= 48 && code <= 57 || code >= 65 && code <= 90 || code >= 97 && code <= 122 || code === 95) { - name += str[j++]; - continue; - } - break; - } - if (!name) - throw new TypeError("Missing parameter name at ".concat(i)); - tokens.push({ type: "NAME", index: i, value: name }); - i = j; - continue; - } - if (char === "(") { - var count = 1; - var pattern = ""; - var j = i + 1; - if (str[j] === "?") { - throw new TypeError('Pattern cannot start with "?" at '.concat(j)); - } - while (j < str.length) { - if (str[j] === "\\") { - pattern += str[j++] + str[j++]; - continue; - } - if (str[j] === ")") { - count--; - if (count === 0) { - j++; - break; - } - } else if (str[j] === "(") { - count++; - if (str[j + 1] !== "?") { - throw new TypeError("Capturing groups are not allowed at ".concat(j)); - } - } - pattern += str[j++]; - } - if (count) - throw new TypeError("Unbalanced pattern at ".concat(i)); - if (!pattern) - throw new TypeError("Missing pattern at ".concat(i)); - tokens.push({ type: "PATTERN", index: i, value: pattern }); - i = j; - continue; - } - tokens.push({ type: "CHAR", index: i, value: str[i++] }); - } - tokens.push({ type: "END", index: i, value: "" }); - return tokens; - } - function parse(str, options) { - if (options === void 0) { - options = {}; - } - var tokens = lexer(str); - var _a = options.prefixes, prefixes = _a === void 0 ? "./" : _a; - var defaultPattern = "[^".concat(escapeString(options.delimiter || "/#?"), "]+?"); - var result = []; - var key = 0; - var i = 0; - var path4 = ""; - var tryConsume = function(type) { - if (i < tokens.length && tokens[i].type === type) - return tokens[i++].value; - }; - var mustConsume = function(type) { - var value2 = tryConsume(type); - if (value2 !== void 0) - return value2; - var _a2 = tokens[i], nextType = _a2.type, index = _a2.index; - throw new TypeError("Unexpected ".concat(nextType, " at ").concat(index, ", expected ").concat(type)); - }; - var consumeText = function() { - var result2 = ""; - var value2; - while (value2 = tryConsume("CHAR") || tryConsume("ESCAPED_CHAR")) { - result2 += value2; - } - return result2; - }; - while (i < tokens.length) { - var char = tryConsume("CHAR"); - var name = tryConsume("NAME"); - var pattern = tryConsume("PATTERN"); - if (name || pattern) { - var prefix = char || ""; - if (prefixes.indexOf(prefix) === -1) { - path4 += prefix; - prefix = ""; - } - if (path4) { - result.push(path4); - path4 = ""; - } - result.push({ - name: name || key++, - prefix, - suffix: "", - pattern: pattern || defaultPattern, - modifier: tryConsume("MODIFIER") || "" - }); - continue; - } - var value = char || tryConsume("ESCAPED_CHAR"); - if (value) { - path4 += value; - continue; - } - if (path4) { - result.push(path4); - path4 = ""; - } - var open = tryConsume("OPEN"); - if (open) { - var prefix = consumeText(); - var name_1 = tryConsume("NAME") || ""; - var pattern_1 = tryConsume("PATTERN") || ""; - var suffix = consumeText(); - mustConsume("CLOSE"); - result.push({ - name: name_1 || (pattern_1 ? key++ : ""), - pattern: name_1 && !pattern_1 ? defaultPattern : pattern_1, - prefix, - suffix, - modifier: tryConsume("MODIFIER") || "" - }); - continue; - } - mustConsume("END"); - } - return result; - } - exports2.parse = parse; - function compile(str, options) { - return tokensToFunction(parse(str, options), options); - } - exports2.compile = compile; - function tokensToFunction(tokens, options) { - if (options === void 0) { - options = {}; - } - var reFlags = flags(options); - var _a = options.encode, encode3 = _a === void 0 ? function(x) { - return x; - } : _a, _b = options.validate, validate = _b === void 0 ? true : _b; - var matches = tokens.map(function(token) { - if (typeof token === "object") { - return new RegExp("^(?:".concat(token.pattern, ")$"), reFlags); - } - }); - return function(data) { - var path4 = ""; - for (var i = 0; i < tokens.length; i++) { - var token = tokens[i]; - if (typeof token === "string") { - path4 += token; - continue; - } - var value = data ? data[token.name] : void 0; - var optional = token.modifier === "?" || token.modifier === "*"; - var repeat2 = token.modifier === "*" || token.modifier === "+"; - if (Array.isArray(value)) { - if (!repeat2) { - throw new TypeError('Expected "'.concat(token.name, '" to not repeat, but got an array')); - } - if (value.length === 0) { - if (optional) - continue; - throw new TypeError('Expected "'.concat(token.name, '" to not be empty')); - } - for (var j = 0; j < value.length; j++) { - var segment = encode3(value[j], token); - if (validate && !matches[i].test(segment)) { - throw new TypeError('Expected all "'.concat(token.name, '" to match "').concat(token.pattern, '", but got "').concat(segment, '"')); - } - path4 += token.prefix + segment + token.suffix; - } - continue; - } - if (typeof value === "string" || typeof value === "number") { - var segment = encode3(String(value), token); - if (validate && !matches[i].test(segment)) { - throw new TypeError('Expected "'.concat(token.name, '" to match "').concat(token.pattern, '", but got "').concat(segment, '"')); - } - path4 += token.prefix + segment + token.suffix; - continue; - } - if (optional) - continue; - var typeOfMessage = repeat2 ? "an array" : "a string"; - throw new TypeError('Expected "'.concat(token.name, '" to be ').concat(typeOfMessage)); - } - return path4; - }; - } - exports2.tokensToFunction = tokensToFunction; - function match(str, options) { - var keys2 = []; - var re = pathToRegexp(str, keys2, options); - return regexpToFunction(re, keys2, options); - } - exports2.match = match; - function regexpToFunction(re, keys2, options) { - if (options === void 0) { - options = {}; - } - var _a = options.decode, decode = _a === void 0 ? function(x) { - return x; - } : _a; - return function(pathname) { - var m = re.exec(pathname); - if (!m) - return false; - var path4 = m[0], index = m.index; - var params = /* @__PURE__ */ Object.create(null); - var _loop_1 = function(i2) { - if (m[i2] === void 0) - return "continue"; - var key = keys2[i2 - 1]; - if (key.modifier === "*" || key.modifier === "+") { - params[key.name] = m[i2].split(key.prefix + key.suffix).map(function(value) { - return decode(value, key); - }); - } else { - params[key.name] = decode(m[i2], key); - } - }; - for (var i = 1; i < m.length; i++) { - _loop_1(i); - } - return { path: path4, index, params }; - }; - } - exports2.regexpToFunction = regexpToFunction; - function escapeString(str) { - return str.replace(/([.+*?=^!:${}()[\]|/\\])/g, "\\$1"); - } - function flags(options) { - return options && options.sensitive ? "" : "i"; - } - function regexpToRegexp(path4, keys2) { - if (!keys2) - return path4; - var groupsRegex = /\((?:\?<(.*?)>)?(?!\?)/g; - var index = 0; - var execResult = groupsRegex.exec(path4.source); - while (execResult) { - keys2.push({ - name: execResult[1] || index++, - prefix: "", - suffix: "", - modifier: "", - pattern: "" - }); - execResult = groupsRegex.exec(path4.source); - } - return path4; - } - function arrayToRegexp(paths, keys2, options) { - var parts = paths.map(function(path4) { - return pathToRegexp(path4, keys2, options).source; - }); - return new RegExp("(?:".concat(parts.join("|"), ")"), flags(options)); - } - function stringToRegexp(path4, keys2, options) { - return tokensToRegexp(parse(path4, options), keys2, options); - } - function tokensToRegexp(tokens, keys2, options) { - if (options === void 0) { - options = {}; - } - var _a = options.strict, strict = _a === void 0 ? false : _a, _b = options.start, start = _b === void 0 ? true : _b, _c = options.end, end = _c === void 0 ? true : _c, _d = options.encode, encode3 = _d === void 0 ? function(x) { - return x; - } : _d, _e = options.delimiter, delimiter = _e === void 0 ? "/#?" : _e, _f = options.endsWith, endsWith2 = _f === void 0 ? "" : _f; - var endsWithRe = "[".concat(escapeString(endsWith2), "]|$"); - var delimiterRe = "[".concat(escapeString(delimiter), "]"); - var route = start ? "^" : ""; - for (var _i = 0, tokens_1 = tokens; _i < tokens_1.length; _i++) { - var token = tokens_1[_i]; - if (typeof token === "string") { - route += escapeString(encode3(token)); - } else { - var prefix = escapeString(encode3(token.prefix)); - var suffix = escapeString(encode3(token.suffix)); - if (token.pattern) { - if (keys2) - keys2.push(token); - if (prefix || suffix) { - if (token.modifier === "+" || token.modifier === "*") { - var mod2 = token.modifier === "*" ? "?" : ""; - route += "(?:".concat(prefix, "((?:").concat(token.pattern, ")(?:").concat(suffix).concat(prefix, "(?:").concat(token.pattern, "))*)").concat(suffix, ")").concat(mod2); - } else { - route += "(?:".concat(prefix, "(").concat(token.pattern, ")").concat(suffix, ")").concat(token.modifier); - } - } else { - if (token.modifier === "+" || token.modifier === "*") { - route += "((?:".concat(token.pattern, ")").concat(token.modifier, ")"); - } else { - route += "(".concat(token.pattern, ")").concat(token.modifier); - } - } - } else { - route += "(?:".concat(prefix).concat(suffix, ")").concat(token.modifier); - } - } - } - if (end) { - if (!strict) - route += "".concat(delimiterRe, "?"); - route += !options.endsWith ? "$" : "(?=".concat(endsWithRe, ")"); - } else { - var endToken = tokens[tokens.length - 1]; - var isEndDelimited = typeof endToken === "string" ? delimiterRe.indexOf(endToken[endToken.length - 1]) > -1 : endToken === void 0; - if (!strict) { - route += "(?:".concat(delimiterRe, "(?=").concat(endsWithRe, "))?"); - } - if (!isEndDelimited) { - route += "(?=".concat(delimiterRe, "|").concat(endsWithRe, ")"); - } - } - return new RegExp(route, flags(options)); - } - exports2.tokensToRegexp = tokensToRegexp; - function pathToRegexp(path4, keys2, options) { - if (path4 instanceof RegExp) - return regexpToRegexp(path4, keys2); - if (Array.isArray(path4)) - return arrayToRegexp(path4, keys2, options); - return stringToRegexp(path4, keys2, options); - } - exports2.pathToRegexp = pathToRegexp; - } -}); - -// node_modules/@koa/router/lib/layer.js -var require_layer = __commonJS({ - "node_modules/@koa/router/lib/layer.js"(exports2, module2) { - var { parse: parseUrl, format: formatUrl } = require("url"); - var { pathToRegexp, compile, parse } = require_dist3(); - module2.exports = Layer; - function Layer(path4, methods, middleware, opts = {}) { - this.opts = opts; - this.name = this.opts.name || null; - this.methods = []; - this.paramNames = []; - this.stack = Array.isArray(middleware) ? middleware : [middleware]; - for (const method of methods) { - const l = this.methods.push(method.toUpperCase()); - if (this.methods[l - 1] === "GET") - this.methods.unshift("HEAD"); - } - for (let i = 0; i < this.stack.length; i++) { - const fn2 = this.stack[i]; - const type = typeof fn2; - if (type !== "function") - throw new Error( - `${methods.toString()} \`${this.opts.name || path4}\`: \`middleware\` must be a function, not \`${type}\`` - ); - } - this.path = path4; - this.regexp = pathToRegexp(path4, this.paramNames, this.opts); - } - Layer.prototype.match = function(path4) { - return this.regexp.test(path4); - }; - Layer.prototype.params = function(path4, captures, params = {}) { - for (let len = captures.length, i = 0; i < len; i++) { - if (this.paramNames[i]) { - const c = captures[i]; - if (c && c.length > 0) - params[this.paramNames[i].name] = c ? safeDecodeURIComponent(c) : c; - } - } - return params; - }; - Layer.prototype.captures = function(path4) { - return this.opts.ignoreCaptures ? [] : path4.match(this.regexp).slice(1); - }; - Layer.prototype.url = function(params, options) { - let args2 = params; - const url2 = this.path.replace(/\(\.\*\)/g, ""); - if (typeof params !== "object") { - args2 = Array.prototype.slice.call(arguments); - if (typeof args2[args2.length - 1] === "object") { - options = args2[args2.length - 1]; - args2 = args2.slice(0, -1); - } - } - const toPath = compile(url2, { encode: encodeURIComponent, ...options }); - let replaced; - const tokens = parse(url2); - let replace = {}; - if (Array.isArray(args2)) { - for (let len = tokens.length, i = 0, j = 0; i < len; i++) { - if (tokens[i].name) - replace[tokens[i].name] = args2[j++]; - } - } else if (tokens.some((token) => token.name)) { - replace = params; - } else if (!options) { - options = params; - } - replaced = toPath(replace); - if (options && options.query) { - replaced = parseUrl(replaced); - if (typeof options.query === "string") { - replaced.search = options.query; - } else { - replaced.search = void 0; - replaced.query = options.query; - } - return formatUrl(replaced); - } - return replaced; - }; - Layer.prototype.param = function(param, fn2) { - const { stack: stack2 } = this; - const params = this.paramNames; - const middleware = function(ctx, next) { - return fn2.call(this, ctx.params[param], ctx, next); - }; - middleware.param = param; - const names = params.map(function(p) { - return p.name; - }); - const x = names.indexOf(param); - if (x > -1) { - stack2.some(function(fn3, i) { - if (!fn3.param || names.indexOf(fn3.param) > x) { - stack2.splice(i, 0, middleware); - return true; - } - }); - } - return this; - }; - Layer.prototype.setPrefix = function(prefix) { - if (this.path) { - this.path = this.path !== "/" || this.opts.strict === true ? `${prefix}${this.path}` : prefix; - this.paramNames = []; - this.regexp = pathToRegexp(this.path, this.paramNames, this.opts); - } - return this; - }; - function safeDecodeURIComponent(text) { - try { - return decodeURIComponent(text); - } catch { - return text; - } - } - } -}); - -// node_modules/@koa/router/lib/router.js -var require_router = __commonJS({ - "node_modules/@koa/router/lib/router.js"(exports2, module2) { - var { debuglog } = require("util"); - var compose = require_koa_compose(); - var HttpError2 = require_http_errors3(); - var methods = require_methods(); - var { pathToRegexp } = require_dist3(); - var Layer = require_layer(); - var debug = debuglog("koa-router"); - module2.exports = Router2; - function Router2(opts = {}) { - if (!(this instanceof Router2)) - return new Router2(opts); - this.opts = opts; - this.methods = this.opts.methods || [ - "HEAD", - "OPTIONS", - "GET", - "PUT", - "PATCH", - "POST", - "DELETE" - ]; - this.exclusive = Boolean(this.opts.exclusive); - this.params = {}; - this.stack = []; - this.host = this.opts.host; - } - for (const method_ of methods) { - let setMethodVerb2 = function(method) { - Router2.prototype[method] = function(name, path4, middleware) { - if (typeof path4 === "string" || path4 instanceof RegExp) { - middleware = Array.prototype.slice.call(arguments, 2); - } else { - middleware = Array.prototype.slice.call(arguments, 1); - path4 = name; - name = null; - } - if (typeof path4 !== "string" && !(path4 instanceof RegExp) && (!Array.isArray(path4) || path4.length === 0)) - throw new Error( - `You have to provide a path when adding a ${method} handler` - ); - this.register(path4, [method], middleware, { name }); - return this; - }; - }; - setMethodVerb = setMethodVerb2; - setMethodVerb2(method_); - } - var setMethodVerb; - Router2.prototype.del = Router2.prototype["delete"]; - Router2.prototype.use = function() { - const router18 = this; - const middleware = Array.prototype.slice.call(arguments); - let path4; - if (Array.isArray(middleware[0]) && typeof middleware[0][0] === "string") { - const arrPaths = middleware[0]; - for (const p of arrPaths) { - router18.use.apply(router18, [p].concat(middleware.slice(1))); - } - return this; - } - const hasPath = typeof middleware[0] === "string"; - if (hasPath) - path4 = middleware.shift(); - for (const m of middleware) { - if (m.router) { - const cloneRouter = Object.assign( - Object.create(Router2.prototype), - m.router, - { - stack: [...m.router.stack] - } - ); - for (let j = 0; j < cloneRouter.stack.length; j++) { - const nestedLayer = cloneRouter.stack[j]; - const cloneLayer = Object.assign( - Object.create(Layer.prototype), - nestedLayer - ); - if (path4) - cloneLayer.setPrefix(path4); - if (router18.opts.prefix) - cloneLayer.setPrefix(router18.opts.prefix); - router18.stack.push(cloneLayer); - cloneRouter.stack[j] = cloneLayer; - } - if (router18.params) { - let setRouterParams2 = function(paramArr) { - const routerParams = paramArr; - for (const key of routerParams) { - cloneRouter.param(key, router18.params[key]); - } - }; - var setRouterParams = setRouterParams2; - setRouterParams2(Object.keys(router18.params)); - } - } else { - const keys2 = []; - pathToRegexp(router18.opts.prefix || "", keys2); - const routerPrefixHasParam = router18.opts.prefix && keys2.length; - router18.register(path4 || "([^/]*)", [], m, { - end: false, - ignoreCaptures: !hasPath && !routerPrefixHasParam - }); - } - } - return this; - }; - Router2.prototype.prefix = function(prefix) { - prefix = prefix.replace(/\/$/, ""); - this.opts.prefix = prefix; - for (let i = 0; i < this.stack.length; i++) { - const route = this.stack[i]; - route.setPrefix(prefix); - } - return this; - }; - Router2.prototype.routes = Router2.prototype.middleware = function() { - const router18 = this; - const dispatch = function dispatch2(ctx, next) { - debug("%s %s", ctx.method, ctx.path); - const hostMatched = router18.matchHost(ctx.host); - if (!hostMatched) { - return next(); - } - const path4 = router18.opts.routerPath || ctx.routerPath || ctx.path; - const matched = router18.match(path4, ctx.method); - let layerChain; - if (ctx.matched) { - ctx.matched.push.apply(ctx.matched, matched.path); - } else { - ctx.matched = matched.path; - } - ctx.router = router18; - if (!matched.route) - return next(); - const matchedLayers = matched.pathAndMethod; - const mostSpecificLayer = matchedLayers[matchedLayers.length - 1]; - ctx._matchedRoute = mostSpecificLayer.path; - if (mostSpecificLayer.name) { - ctx._matchedRouteName = mostSpecificLayer.name; - } - layerChain = (router18.exclusive ? [mostSpecificLayer] : matchedLayers).reduce(function(memo, layer) { - memo.push(function(ctx2, next2) { - ctx2.captures = layer.captures(path4, ctx2.captures); - ctx2.params = ctx2.request.params = layer.params( - path4, - ctx2.captures, - ctx2.params - ); - ctx2.routerPath = layer.path; - ctx2.routerName = layer.name; - ctx2._matchedRoute = layer.path; - if (layer.name) { - ctx2._matchedRouteName = layer.name; - } - return next2(); - }); - return memo.concat(layer.stack); - }, []); - return compose(layerChain)(ctx, next); - }; - dispatch.router = this; - return dispatch; - }; - Router2.prototype.allowedMethods = function(options = {}) { - const implemented = this.methods; - return function allowedMethods(ctx, next) { - return next().then(function() { - const allowed = {}; - if (!ctx.status || ctx.status === 404) { - for (let i = 0; i < ctx.matched.length; i++) { - const route = ctx.matched[i]; - for (let j = 0; j < route.methods.length; j++) { - const method = route.methods[j]; - allowed[method] = method; - } - } - const allowedArr = Object.keys(allowed); - if (!~implemented.indexOf(ctx.method)) { - if (options.throw) { - const notImplementedThrowable = typeof options.notImplemented === "function" ? options.notImplemented() : new HttpError2.NotImplemented(); - throw notImplementedThrowable; - } else { - ctx.status = 501; - ctx.set("Allow", allowedArr.join(", ")); - } - } else if (allowedArr.length > 0) { - if (ctx.method === "OPTIONS") { - ctx.status = 200; - ctx.body = ""; - ctx.set("Allow", allowedArr.join(", ")); - } else if (!allowed[ctx.method]) { - if (options.throw) { - const notAllowedThrowable = typeof options.methodNotAllowed === "function" ? options.methodNotAllowed() : new HttpError2.MethodNotAllowed(); - throw notAllowedThrowable; - } else { - ctx.status = 405; - ctx.set("Allow", allowedArr.join(", ")); - } - } - } - } - }); - }; - }; - Router2.prototype.all = function(name, path4, middleware) { - if (typeof path4 === "string") { - middleware = Array.prototype.slice.call(arguments, 2); - } else { - middleware = Array.prototype.slice.call(arguments, 1); - path4 = name; - name = null; - } - if (typeof path4 !== "string" && !(path4 instanceof RegExp) && (!Array.isArray(path4) || path4.length === 0)) - throw new Error("You have to provide a path when adding an all handler"); - this.register(path4, methods, middleware, { name }); - return this; - }; - Router2.prototype.redirect = function(source2, destination, code) { - if (typeof source2 === "symbol" || source2[0] !== "/") { - source2 = this.url(source2); - if (source2 instanceof Error) - throw source2; - } - if (typeof destination === "symbol" || destination[0] !== "/" && !destination.includes("://")) { - destination = this.url(destination); - if (destination instanceof Error) - throw destination; - } - return this.all(source2, (ctx) => { - ctx.redirect(destination); - ctx.status = code || 301; - }); - }; - Router2.prototype.register = function(path4, methods2, middleware, opts = {}) { - const router18 = this; - const { stack: stack2 } = this; - if (Array.isArray(path4)) { - for (const curPath of path4) { - router18.register.call(router18, curPath, methods2, middleware, opts); - } - return this; - } - const route = new Layer(path4, methods2, middleware, { - end: opts.end === false ? opts.end : true, - name: opts.name, - sensitive: opts.sensitive || this.opts.sensitive || false, - strict: opts.strict || this.opts.strict || false, - prefix: opts.prefix || this.opts.prefix || "", - ignoreCaptures: opts.ignoreCaptures - }); - if (this.opts.prefix) { - route.setPrefix(this.opts.prefix); - } - for (let i = 0; i < Object.keys(this.params).length; i++) { - const param = Object.keys(this.params)[i]; - route.param(param, this.params[param]); - } - stack2.push(route); - debug("defined route %s %s", route.methods, route.path); - return route; - }; - Router2.prototype.route = function(name) { - const routes = this.stack; - for (let len = routes.length, i = 0; i < len; i++) { - if (routes[i].name && routes[i].name === name) - return routes[i]; - } - return false; - }; - Router2.prototype.url = function(name, params) { - const route = this.route(name); - if (route) { - const args2 = Array.prototype.slice.call(arguments, 1); - return route.url.apply(route, args2); - } - return new Error(`No route found for name: ${String(name)}`); - }; - Router2.prototype.match = function(path4, method) { - const layers = this.stack; - let layer; - const matched = { - path: [], - pathAndMethod: [], - route: false - }; - for (let len = layers.length, i = 0; i < len; i++) { - layer = layers[i]; - debug("test %s %s", layer.path, layer.regexp); - if (layer.match(path4)) { - matched.path.push(layer); - if (layer.methods.length === 0 || ~layer.methods.indexOf(method)) { - matched.pathAndMethod.push(layer); - if (layer.methods.length > 0) - matched.route = true; - } - } - } - return matched; - }; - Router2.prototype.matchHost = function(input) { - const { host } = this; - if (!host) { - return true; - } - if (!input) { - return false; - } - if (typeof host === "string") { - return input === host; - } - if (typeof host === "object" && host instanceof RegExp) { - return host.test(input); - } - }; - Router2.prototype.param = function(param, middleware) { - this.params[param] = middleware; - for (let i = 0; i < this.stack.length; i++) { - const route = this.stack[i]; - route.param(param, middleware); - } - return this; - }; - Router2.url = function(path4) { - const args2 = Array.prototype.slice.call(arguments, 1); - return Layer.prototype.url.apply({ path: path4 }, args2); - }; - } -}); - -// server/Modules/web/user/user.service.js -var createUser, getUsers, getUser, updateUser, deleteUser, changePassword; -var init_user_service = __esm({ - "server/Modules/web/user/user.service.js"() { - init_server(); - createUser = async (username, password, isMaster, roleId = null, fxname = "") => { - const { resCode, resMsg } = await Database.createUser( - username, - password, - isMaster, - roleId, - fxname - ); - return { resCode, resMsg }; - }; - getUsers = async () => { - return Database.getUsers(); - }; - getUser = async (username) => { - return Database.getUser(username); - }; - updateUser = async (username, roleId, fxname) => { - return Database.updateUser(username, roleId, fxname); - }; - deleteUser = async (username) => { - return Database.deleteUser(username); - }; - changePassword = async (username, password) => { - return Database.updatePassword(username, password); - }; - } -}); - -// server/Modules/system/app/app.route.js -var import_router, setupRouter, app_route_default; -var init_app_route = __esm({ - "server/Modules/system/app/app.route.js"() { - import_router = __toESM(require_router()); - init_server(); - init_user_service(); - setupRouter = new import_router.default(); - setupRouter.get("/init", async function(ctx) { - ctx.status = 200; - if (getSetupMode()) { - ctx.body = { setup: true }; - return; - } - ctx.body = { - appData: { - lang: Database.getConfigValue("lang"), - colors: Database.getConfigValue("colors") - } - }; - }); - setupRouter.post("/setup", async function(ctx) { - if (!getSetupMode()) - return ctx.status = 500; - ctx.status = 200; - let { language, username, password, token } = ctx.request.body; - if (!language || !username || !password || !token) { - ctx.body = { - status: "error", - title: "Failed to Setup Unlimited Web", - msg: "Missing required fields" - }; - return; - } - if (token !== setupToken) { - ctx.body = { - status: "error", - title: "Failed to Setup Unlimited Web", - msg: "Wrong Setup Token" - }; - return; - } - try { - await createUser(username, password, true); - await Database.updateConfigValue("lang", language); - setSetupMode(false); - ctx.body = { - lang: language - }; - } catch (e) { - ctx.body = { - status: "error", - title: "Failed to Setup Unlimited Web", - msg: "Failed creating master user" - }; - } - }); - app_route_default = setupRouter; - } -}); - -// node_modules/jsonwebtoken/lib/JsonWebTokenError.js -var require_JsonWebTokenError = __commonJS({ - "node_modules/jsonwebtoken/lib/JsonWebTokenError.js"(exports2, module2) { - var JsonWebTokenError = function(message2, error) { - Error.call(this, message2); - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } - this.name = "JsonWebTokenError"; - this.message = message2; - if (error) - this.inner = error; - }; - JsonWebTokenError.prototype = Object.create(Error.prototype); - JsonWebTokenError.prototype.constructor = JsonWebTokenError; - module2.exports = JsonWebTokenError; - } -}); - -// node_modules/jsonwebtoken/lib/NotBeforeError.js -var require_NotBeforeError = __commonJS({ - "node_modules/jsonwebtoken/lib/NotBeforeError.js"(exports2, module2) { - var JsonWebTokenError = require_JsonWebTokenError(); - var NotBeforeError = function(message2, date) { - JsonWebTokenError.call(this, message2); - this.name = "NotBeforeError"; - this.date = date; - }; - NotBeforeError.prototype = Object.create(JsonWebTokenError.prototype); - NotBeforeError.prototype.constructor = NotBeforeError; - module2.exports = NotBeforeError; - } -}); - -// node_modules/jsonwebtoken/lib/TokenExpiredError.js -var require_TokenExpiredError = __commonJS({ - "node_modules/jsonwebtoken/lib/TokenExpiredError.js"(exports2, module2) { - var JsonWebTokenError = require_JsonWebTokenError(); - var TokenExpiredError = function(message2, expiredAt) { - JsonWebTokenError.call(this, message2); - this.name = "TokenExpiredError"; - this.expiredAt = expiredAt; - }; - TokenExpiredError.prototype = Object.create(JsonWebTokenError.prototype); - TokenExpiredError.prototype.constructor = TokenExpiredError; - module2.exports = TokenExpiredError; - } -}); - -// node_modules/jws/lib/data-stream.js -var require_data_stream = __commonJS({ - "node_modules/jws/lib/data-stream.js"(exports2, module2) { - var Buffer2 = require_safe_buffer().Buffer; - var Stream = require("stream"); - var util2 = require("util"); - function DataStream(data) { - this.buffer = null; - this.writable = true; - this.readable = true; - if (!data) { - this.buffer = Buffer2.alloc(0); - return this; - } - if (typeof data.pipe === "function") { - this.buffer = Buffer2.alloc(0); - data.pipe(this); - return this; - } - if (data.length || typeof data === "object") { - this.buffer = data; - this.writable = false; - process.nextTick(function() { - this.emit("end", data); - this.readable = false; - this.emit("close"); - }.bind(this)); - return this; - } - throw new TypeError("Unexpected data type (" + typeof data + ")"); - } - util2.inherits(DataStream, Stream); - DataStream.prototype.write = function write(data) { - this.buffer = Buffer2.concat([this.buffer, Buffer2.from(data)]); - this.emit("data", data); - }; - DataStream.prototype.end = function end(data) { - if (data) - this.write(data); - this.emit("end", data); - this.emit("close"); - this.writable = false; - this.readable = false; - }; - module2.exports = DataStream; - } -}); - -// node_modules/buffer-equal-constant-time/index.js -var require_buffer_equal_constant_time = __commonJS({ - "node_modules/buffer-equal-constant-time/index.js"(exports2, module2) { - "use strict"; - var Buffer2 = require("buffer").Buffer; - var SlowBuffer = require("buffer").SlowBuffer; - module2.exports = bufferEq; - function bufferEq(a, b) { - if (!Buffer2.isBuffer(a) || !Buffer2.isBuffer(b)) { - return false; - } - if (a.length !== b.length) { - return false; - } - var c = 0; - for (var i = 0; i < a.length; i++) { - c |= a[i] ^ b[i]; - } - return c === 0; - } - bufferEq.install = function() { - Buffer2.prototype.equal = SlowBuffer.prototype.equal = function equal(that) { - return bufferEq(this, that); - }; - }; - var origBufEqual = Buffer2.prototype.equal; - var origSlowBufEqual = SlowBuffer.prototype.equal; - bufferEq.restore = function() { - Buffer2.prototype.equal = origBufEqual; - SlowBuffer.prototype.equal = origSlowBufEqual; - }; - } -}); - -// node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js -var require_param_bytes_for_alg = __commonJS({ - "node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js"(exports2, module2) { - "use strict"; - function getParamSize(keySize) { - var result = (keySize / 8 | 0) + (keySize % 8 === 0 ? 0 : 1); - return result; - } - var paramBytesForAlg = { - ES256: getParamSize(256), - ES384: getParamSize(384), - ES512: getParamSize(521) - }; - function getParamBytesForAlg(alg) { - var paramBytes = paramBytesForAlg[alg]; - if (paramBytes) { - return paramBytes; - } - throw new Error('Unknown algorithm "' + alg + '"'); - } - module2.exports = getParamBytesForAlg; - } -}); - -// node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.js -var require_ecdsa_sig_formatter = __commonJS({ - "node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.js"(exports2, module2) { - "use strict"; - var Buffer2 = require_safe_buffer().Buffer; - var getParamBytesForAlg = require_param_bytes_for_alg(); - var MAX_OCTET = 128; - var CLASS_UNIVERSAL = 0; - var PRIMITIVE_BIT = 32; - var TAG_SEQ = 16; - var TAG_INT = 2; - var ENCODED_TAG_SEQ = TAG_SEQ | PRIMITIVE_BIT | CLASS_UNIVERSAL << 6; - var ENCODED_TAG_INT = TAG_INT | CLASS_UNIVERSAL << 6; - function base64Url(base64) { - return base64.replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_"); - } - function signatureAsBuffer(signature) { - if (Buffer2.isBuffer(signature)) { - return signature; - } else if ("string" === typeof signature) { - return Buffer2.from(signature, "base64"); - } - throw new TypeError("ECDSA signature must be a Base64 string or a Buffer"); - } - function derToJose(signature, alg) { - signature = signatureAsBuffer(signature); - var paramBytes = getParamBytesForAlg(alg); - var maxEncodedParamLength = paramBytes + 1; - var inputLength = signature.length; - var offset = 0; - if (signature[offset++] !== ENCODED_TAG_SEQ) { - throw new Error('Could not find expected "seq"'); - } - var seqLength = signature[offset++]; - if (seqLength === (MAX_OCTET | 1)) { - seqLength = signature[offset++]; - } - if (inputLength - offset < seqLength) { - throw new Error('"seq" specified length of "' + seqLength + '", only "' + (inputLength - offset) + '" remaining'); - } - if (signature[offset++] !== ENCODED_TAG_INT) { - throw new Error('Could not find expected "int" for "r"'); - } - var rLength = signature[offset++]; - if (inputLength - offset - 2 < rLength) { - throw new Error('"r" specified length of "' + rLength + '", only "' + (inputLength - offset - 2) + '" available'); - } - if (maxEncodedParamLength < rLength) { - throw new Error('"r" specified length of "' + rLength + '", max of "' + maxEncodedParamLength + '" is acceptable'); - } - var rOffset = offset; - offset += rLength; - if (signature[offset++] !== ENCODED_TAG_INT) { - throw new Error('Could not find expected "int" for "s"'); - } - var sLength = signature[offset++]; - if (inputLength - offset !== sLength) { - throw new Error('"s" specified length of "' + sLength + '", expected "' + (inputLength - offset) + '"'); - } - if (maxEncodedParamLength < sLength) { - throw new Error('"s" specified length of "' + sLength + '", max of "' + maxEncodedParamLength + '" is acceptable'); - } - var sOffset = offset; - offset += sLength; - if (offset !== inputLength) { - throw new Error('Expected to consume entire buffer, but "' + (inputLength - offset) + '" bytes remain'); - } - var rPadding = paramBytes - rLength, sPadding = paramBytes - sLength; - var dst = Buffer2.allocUnsafe(rPadding + rLength + sPadding + sLength); - for (offset = 0; offset < rPadding; ++offset) { - dst[offset] = 0; - } - signature.copy(dst, offset, rOffset + Math.max(-rPadding, 0), rOffset + rLength); - offset = paramBytes; - for (var o = offset; offset < o + sPadding; ++offset) { - dst[offset] = 0; - } - signature.copy(dst, offset, sOffset + Math.max(-sPadding, 0), sOffset + sLength); - dst = dst.toString("base64"); - dst = base64Url(dst); - return dst; - } - function countPadding(buf, start, stop) { - var padding = 0; - while (start + padding < stop && buf[start + padding] === 0) { - ++padding; - } - var needsSign = buf[start + padding] >= MAX_OCTET; - if (needsSign) { - --padding; - } - return padding; - } - function joseToDer(signature, alg) { - signature = signatureAsBuffer(signature); - var paramBytes = getParamBytesForAlg(alg); - var signatureBytes = signature.length; - if (signatureBytes !== paramBytes * 2) { - throw new TypeError('"' + alg + '" signatures must be "' + paramBytes * 2 + '" bytes, saw "' + signatureBytes + '"'); - } - var rPadding = countPadding(signature, 0, paramBytes); - var sPadding = countPadding(signature, paramBytes, signature.length); - var rLength = paramBytes - rPadding; - var sLength = paramBytes - sPadding; - var rsBytes = 1 + 1 + rLength + 1 + 1 + sLength; - var shortLength = rsBytes < MAX_OCTET; - var dst = Buffer2.allocUnsafe((shortLength ? 2 : 3) + rsBytes); - var offset = 0; - dst[offset++] = ENCODED_TAG_SEQ; - if (shortLength) { - dst[offset++] = rsBytes; - } else { - dst[offset++] = MAX_OCTET | 1; - dst[offset++] = rsBytes & 255; - } - dst[offset++] = ENCODED_TAG_INT; - dst[offset++] = rLength; - if (rPadding < 0) { - dst[offset++] = 0; - offset += signature.copy(dst, offset, 0, paramBytes); - } else { - offset += signature.copy(dst, offset, rPadding, paramBytes); - } - dst[offset++] = ENCODED_TAG_INT; - dst[offset++] = sLength; - if (sPadding < 0) { - dst[offset++] = 0; - signature.copy(dst, offset, paramBytes); - } else { - signature.copy(dst, offset, paramBytes + sPadding); - } - return dst; - } - module2.exports = { - derToJose, - joseToDer - }; - } -}); - -// node_modules/jwa/index.js -var require_jwa = __commonJS({ - "node_modules/jwa/index.js"(exports2, module2) { - var bufferEqual = require_buffer_equal_constant_time(); - var Buffer2 = require_safe_buffer().Buffer; - var crypto4 = require("crypto"); - var formatEcdsa = require_ecdsa_sig_formatter(); - var util2 = require("util"); - var MSG_INVALID_ALGORITHM = '"%s" is not a valid algorithm.\n Supported algorithms are:\n "HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512" and "none".'; - var MSG_INVALID_SECRET = "secret must be a string or buffer"; - var MSG_INVALID_VERIFIER_KEY = "key must be a string or a buffer"; - var MSG_INVALID_SIGNER_KEY = "key must be a string, a buffer or an object"; - var supportsKeyObjects = typeof crypto4.createPublicKey === "function"; - if (supportsKeyObjects) { - MSG_INVALID_VERIFIER_KEY += " or a KeyObject"; - MSG_INVALID_SECRET += "or a KeyObject"; - } - function checkIsPublicKey(key) { - if (Buffer2.isBuffer(key)) { - return; - } - if (typeof key === "string") { - return; - } - if (!supportsKeyObjects) { - throw typeError(MSG_INVALID_VERIFIER_KEY); - } - if (typeof key !== "object") { - throw typeError(MSG_INVALID_VERIFIER_KEY); - } - if (typeof key.type !== "string") { - throw typeError(MSG_INVALID_VERIFIER_KEY); - } - if (typeof key.asymmetricKeyType !== "string") { - throw typeError(MSG_INVALID_VERIFIER_KEY); - } - if (typeof key.export !== "function") { - throw typeError(MSG_INVALID_VERIFIER_KEY); - } - } - function checkIsPrivateKey(key) { - if (Buffer2.isBuffer(key)) { - return; - } - if (typeof key === "string") { - return; - } - if (typeof key === "object") { - return; - } - throw typeError(MSG_INVALID_SIGNER_KEY); - } - function checkIsSecretKey(key) { - if (Buffer2.isBuffer(key)) { - return; - } - if (typeof key === "string") { - return key; - } - if (!supportsKeyObjects) { - throw typeError(MSG_INVALID_SECRET); - } - if (typeof key !== "object") { - throw typeError(MSG_INVALID_SECRET); - } - if (key.type !== "secret") { - throw typeError(MSG_INVALID_SECRET); - } - if (typeof key.export !== "function") { - throw typeError(MSG_INVALID_SECRET); - } - } - function fromBase64(base64) { - return base64.replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_"); - } - function toBase64(base64url) { - base64url = base64url.toString(); - var padding = 4 - base64url.length % 4; - if (padding !== 4) { - for (var i = 0; i < padding; ++i) { - base64url += "="; - } - } - return base64url.replace(/\-/g, "+").replace(/_/g, "/"); - } - function typeError(template) { - var args2 = [].slice.call(arguments, 1); - var errMsg = util2.format.bind(util2, template).apply(null, args2); - return new TypeError(errMsg); - } - function bufferOrString(obj) { - return Buffer2.isBuffer(obj) || typeof obj === "string"; - } - function normalizeInput(thing) { - if (!bufferOrString(thing)) - thing = JSON.stringify(thing); - return thing; - } - function createHmacSigner(bits) { - return function sign(thing, secret) { - checkIsSecretKey(secret); - thing = normalizeInput(thing); - var hmac = crypto4.createHmac("sha" + bits, secret); - var sig = (hmac.update(thing), hmac.digest("base64")); - return fromBase64(sig); - }; - } - function createHmacVerifier(bits) { - return function verify(thing, signature, secret) { - var computedSig = createHmacSigner(bits)(thing, secret); - return bufferEqual(Buffer2.from(signature), Buffer2.from(computedSig)); - }; - } - function createKeySigner(bits) { - return function sign(thing, privateKey) { - checkIsPrivateKey(privateKey); - thing = normalizeInput(thing); - var signer = crypto4.createSign("RSA-SHA" + bits); - var sig = (signer.update(thing), signer.sign(privateKey, "base64")); - return fromBase64(sig); - }; - } - function createKeyVerifier(bits) { - return function verify(thing, signature, publicKey) { - checkIsPublicKey(publicKey); - thing = normalizeInput(thing); - signature = toBase64(signature); - var verifier = crypto4.createVerify("RSA-SHA" + bits); - verifier.update(thing); - return verifier.verify(publicKey, signature, "base64"); - }; - } - function createPSSKeySigner(bits) { - return function sign(thing, privateKey) { - checkIsPrivateKey(privateKey); - thing = normalizeInput(thing); - var signer = crypto4.createSign("RSA-SHA" + bits); - var sig = (signer.update(thing), signer.sign({ - key: privateKey, - padding: crypto4.constants.RSA_PKCS1_PSS_PADDING, - saltLength: crypto4.constants.RSA_PSS_SALTLEN_DIGEST - }, "base64")); - return fromBase64(sig); - }; - } - function createPSSKeyVerifier(bits) { - return function verify(thing, signature, publicKey) { - checkIsPublicKey(publicKey); - thing = normalizeInput(thing); - signature = toBase64(signature); - var verifier = crypto4.createVerify("RSA-SHA" + bits); - verifier.update(thing); - return verifier.verify({ - key: publicKey, - padding: crypto4.constants.RSA_PKCS1_PSS_PADDING, - saltLength: crypto4.constants.RSA_PSS_SALTLEN_DIGEST - }, signature, "base64"); - }; - } - function createECDSASigner(bits) { - var inner = createKeySigner(bits); - return function sign() { - var signature = inner.apply(null, arguments); - signature = formatEcdsa.derToJose(signature, "ES" + bits); - return signature; - }; - } - function createECDSAVerifer(bits) { - var inner = createKeyVerifier(bits); - return function verify(thing, signature, publicKey) { - signature = formatEcdsa.joseToDer(signature, "ES" + bits).toString("base64"); - var result = inner(thing, signature, publicKey); - return result; - }; - } - function createNoneSigner() { - return function sign() { - return ""; - }; - } - function createNoneVerifier() { - return function verify(thing, signature) { - return signature === ""; - }; - } - module2.exports = function jwa(algorithm) { - var signerFactories = { - hs: createHmacSigner, - rs: createKeySigner, - ps: createPSSKeySigner, - es: createECDSASigner, - none: createNoneSigner - }; - var verifierFactories = { - hs: createHmacVerifier, - rs: createKeyVerifier, - ps: createPSSKeyVerifier, - es: createECDSAVerifer, - none: createNoneVerifier - }; - var match = algorithm.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/i); - if (!match) - throw typeError(MSG_INVALID_ALGORITHM, algorithm); - var algo = (match[1] || match[3]).toLowerCase(); - var bits = match[2]; - return { - sign: signerFactories[algo](bits), - verify: verifierFactories[algo](bits) - }; - }; - } -}); - -// node_modules/jws/lib/tostring.js -var require_tostring = __commonJS({ - "node_modules/jws/lib/tostring.js"(exports2, module2) { - var Buffer2 = require("buffer").Buffer; - module2.exports = function toString3(obj) { - if (typeof obj === "string") - return obj; - if (typeof obj === "number" || Buffer2.isBuffer(obj)) - return obj.toString(); - return JSON.stringify(obj); - }; - } -}); - -// node_modules/jws/lib/sign-stream.js -var require_sign_stream = __commonJS({ - "node_modules/jws/lib/sign-stream.js"(exports2, module2) { - var Buffer2 = require_safe_buffer().Buffer; - var DataStream = require_data_stream(); - var jwa = require_jwa(); - var Stream = require("stream"); - var toString3 = require_tostring(); - var util2 = require("util"); - function base64url(string, encoding) { - return Buffer2.from(string, encoding).toString("base64").replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_"); - } - function jwsSecuredInput(header, payload, encoding) { - encoding = encoding || "utf8"; - var encodedHeader = base64url(toString3(header), "binary"); - var encodedPayload = base64url(toString3(payload), encoding); - return util2.format("%s.%s", encodedHeader, encodedPayload); - } - function jwsSign(opts) { - var header = opts.header; - var payload = opts.payload; - var secretOrKey = opts.secret || opts.privateKey; - var encoding = opts.encoding; - var algo = jwa(header.alg); - var securedInput = jwsSecuredInput(header, payload, encoding); - var signature = algo.sign(securedInput, secretOrKey); - return util2.format("%s.%s", securedInput, signature); - } - function SignStream(opts) { - var secret = opts.secret || opts.privateKey || opts.key; - var secretStream = new DataStream(secret); - this.readable = true; - this.header = opts.header; - this.encoding = opts.encoding; - this.secret = this.privateKey = this.key = secretStream; - this.payload = new DataStream(opts.payload); - this.secret.once("close", function() { - if (!this.payload.writable && this.readable) - this.sign(); - }.bind(this)); - this.payload.once("close", function() { - if (!this.secret.writable && this.readable) - this.sign(); - }.bind(this)); - } - util2.inherits(SignStream, Stream); - SignStream.prototype.sign = function sign() { - try { - var signature = jwsSign({ - header: this.header, - payload: this.payload.buffer, - secret: this.secret.buffer, - encoding: this.encoding - }); - this.emit("done", signature); - this.emit("data", signature); - this.emit("end"); - this.readable = false; - return signature; - } catch (e) { - this.readable = false; - this.emit("error", e); - this.emit("close"); - } - }; - SignStream.sign = jwsSign; - module2.exports = SignStream; - } -}); - -// node_modules/jws/lib/verify-stream.js -var require_verify_stream = __commonJS({ - "node_modules/jws/lib/verify-stream.js"(exports2, module2) { - var Buffer2 = require_safe_buffer().Buffer; - var DataStream = require_data_stream(); - var jwa = require_jwa(); - var Stream = require("stream"); - var toString3 = require_tostring(); - var util2 = require("util"); - var JWS_REGEX = /^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/; - function isObject4(thing) { - return Object.prototype.toString.call(thing) === "[object Object]"; - } - function safeJsonParse(thing) { - if (isObject4(thing)) - return thing; - try { - return JSON.parse(thing); - } catch (e) { - return void 0; - } - } - function headerFromJWS(jwsSig) { - var encodedHeader = jwsSig.split(".", 1)[0]; - return safeJsonParse(Buffer2.from(encodedHeader, "base64").toString("binary")); - } - function securedInputFromJWS(jwsSig) { - return jwsSig.split(".", 2).join("."); - } - function signatureFromJWS(jwsSig) { - return jwsSig.split(".")[2]; - } - function payloadFromJWS(jwsSig, encoding) { - encoding = encoding || "utf8"; - var payload = jwsSig.split(".")[1]; - return Buffer2.from(payload, "base64").toString(encoding); - } - function isValidJws(string) { - return JWS_REGEX.test(string) && !!headerFromJWS(string); - } - function jwsVerify(jwsSig, algorithm, secretOrKey) { - if (!algorithm) { - var err = new Error("Missing algorithm parameter for jws.verify"); - err.code = "MISSING_ALGORITHM"; - throw err; - } - jwsSig = toString3(jwsSig); - var signature = signatureFromJWS(jwsSig); - var securedInput = securedInputFromJWS(jwsSig); - var algo = jwa(algorithm); - return algo.verify(securedInput, signature, secretOrKey); - } - function jwsDecode(jwsSig, opts) { - opts = opts || {}; - jwsSig = toString3(jwsSig); - if (!isValidJws(jwsSig)) - return null; - var header = headerFromJWS(jwsSig); - if (!header) - return null; - var payload = payloadFromJWS(jwsSig); - if (header.typ === "JWT" || opts.json) - payload = JSON.parse(payload, opts.encoding); - return { - header, - payload, - signature: signatureFromJWS(jwsSig) - }; - } - function VerifyStream(opts) { - opts = opts || {}; - var secretOrKey = opts.secret || opts.publicKey || opts.key; - var secretStream = new DataStream(secretOrKey); - this.readable = true; - this.algorithm = opts.algorithm; - this.encoding = opts.encoding; - this.secret = this.publicKey = this.key = secretStream; - this.signature = new DataStream(opts.signature); - this.secret.once("close", function() { - if (!this.signature.writable && this.readable) - this.verify(); - }.bind(this)); - this.signature.once("close", function() { - if (!this.secret.writable && this.readable) - this.verify(); - }.bind(this)); - } - util2.inherits(VerifyStream, Stream); - VerifyStream.prototype.verify = function verify() { - try { - var valid = jwsVerify(this.signature.buffer, this.algorithm, this.key.buffer); - var obj = jwsDecode(this.signature.buffer, this.encoding); - this.emit("done", valid, obj); - this.emit("data", valid); - this.emit("end"); - this.readable = false; - return valid; - } catch (e) { - this.readable = false; - this.emit("error", e); - this.emit("close"); - } - }; - VerifyStream.decode = jwsDecode; - VerifyStream.isValid = isValidJws; - VerifyStream.verify = jwsVerify; - module2.exports = VerifyStream; - } -}); - -// node_modules/jws/index.js -var require_jws = __commonJS({ - "node_modules/jws/index.js"(exports2) { - var SignStream = require_sign_stream(); - var VerifyStream = require_verify_stream(); - var ALGORITHMS = [ - "HS256", - "HS384", - "HS512", - "RS256", - "RS384", - "RS512", - "PS256", - "PS384", - "PS512", - "ES256", - "ES384", - "ES512" - ]; - exports2.ALGORITHMS = ALGORITHMS; - exports2.sign = SignStream.sign; - exports2.verify = VerifyStream.verify; - exports2.decode = VerifyStream.decode; - exports2.isValid = VerifyStream.isValid; - exports2.createSign = function createSign(opts) { - return new SignStream(opts); - }; - exports2.createVerify = function createVerify(opts) { - return new VerifyStream(opts); - }; - } -}); - -// node_modules/jsonwebtoken/decode.js -var require_decode = __commonJS({ - "node_modules/jsonwebtoken/decode.js"(exports2, module2) { - var jws = require_jws(); - module2.exports = function(jwt3, options) { - options = options || {}; - var decoded = jws.decode(jwt3, options); - if (!decoded) { - return null; - } - var payload = decoded.payload; - if (typeof payload === "string") { - try { - var obj = JSON.parse(payload); - if (obj !== null && typeof obj === "object") { - payload = obj; - } - } catch (e) { - } - } - if (options.complete === true) { - return { - header: decoded.header, - payload, - signature: decoded.signature - }; - } - return payload; - }; - } -}); - -// node_modules/jsonwebtoken/lib/timespan.js -var require_timespan = __commonJS({ - "node_modules/jsonwebtoken/lib/timespan.js"(exports2, module2) { - var ms = require_ms(); - module2.exports = function(time, iat) { - var timestamp2 = iat || Math.floor(Date.now() / 1e3); - if (typeof time === "string") { - var milliseconds = ms(time); - if (typeof milliseconds === "undefined") { - return; - } - return Math.floor(timestamp2 + milliseconds / 1e3); - } else if (typeof time === "number") { - return timestamp2 + time; - } else { - return; - } - }; - } -}); - -// node_modules/semver/internal/constants.js -var require_constants2 = __commonJS({ - "node_modules/semver/internal/constants.js"(exports2, module2) { - var SEMVER_SPEC_VERSION = "2.0.0"; - var MAX_LENGTH = 256; - var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991; - var MAX_SAFE_COMPONENT_LENGTH = 16; - var RELEASE_TYPES = [ - "major", - "premajor", - "minor", - "preminor", - "patch", - "prepatch", - "prerelease" - ]; - module2.exports = { - MAX_LENGTH, - MAX_SAFE_COMPONENT_LENGTH, - MAX_SAFE_INTEGER, - RELEASE_TYPES, - SEMVER_SPEC_VERSION, - FLAG_INCLUDE_PRERELEASE: 1, - FLAG_LOOSE: 2 - }; - } -}); - -// node_modules/semver/internal/debug.js -var require_debug2 = __commonJS({ - "node_modules/semver/internal/debug.js"(exports2, module2) { - var debug = typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...args2) => console.error("SEMVER", ...args2) : () => { - }; - module2.exports = debug; - } -}); - -// node_modules/semver/internal/re.js -var require_re = __commonJS({ - "node_modules/semver/internal/re.js"(exports2, module2) { - var { MAX_SAFE_COMPONENT_LENGTH } = require_constants2(); - var debug = require_debug2(); - exports2 = module2.exports = {}; - var re = exports2.re = []; - var src = exports2.src = []; - var t = exports2.t = {}; - var R = 0; - var createToken = (name, value, isGlobal) => { - const index = R++; - debug(name, index, value); - t[name] = index; - src[index] = value; - re[index] = new RegExp(value, isGlobal ? "g" : void 0); - }; - createToken("NUMERICIDENTIFIER", "0|[1-9]\\d*"); - createToken("NUMERICIDENTIFIERLOOSE", "[0-9]+"); - createToken("NONNUMERICIDENTIFIER", "\\d*[a-zA-Z-][a-zA-Z0-9-]*"); - createToken("MAINVERSION", `(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})`); - createToken("MAINVERSIONLOOSE", `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})`); - createToken("PRERELEASEIDENTIFIER", `(?:${src[t.NUMERICIDENTIFIER]}|${src[t.NONNUMERICIDENTIFIER]})`); - createToken("PRERELEASEIDENTIFIERLOOSE", `(?:${src[t.NUMERICIDENTIFIERLOOSE]}|${src[t.NONNUMERICIDENTIFIER]})`); - createToken("PRERELEASE", `(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`); - createToken("PRERELEASELOOSE", `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`); - createToken("BUILDIDENTIFIER", "[0-9A-Za-z-]+"); - createToken("BUILD", `(?:\\+(${src[t.BUILDIDENTIFIER]}(?:\\.${src[t.BUILDIDENTIFIER]})*))`); - createToken("FULLPLAIN", `v?${src[t.MAINVERSION]}${src[t.PRERELEASE]}?${src[t.BUILD]}?`); - createToken("FULL", `^${src[t.FULLPLAIN]}$`); - createToken("LOOSEPLAIN", `[v=\\s]*${src[t.MAINVERSIONLOOSE]}${src[t.PRERELEASELOOSE]}?${src[t.BUILD]}?`); - createToken("LOOSE", `^${src[t.LOOSEPLAIN]}$`); - createToken("GTLT", "((?:<|>)?=?)"); - createToken("XRANGEIDENTIFIERLOOSE", `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`); - createToken("XRANGEIDENTIFIER", `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`); - createToken("XRANGEPLAIN", `[v=\\s]*(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:${src[t.PRERELEASE]})?${src[t.BUILD]}?)?)?`); - createToken("XRANGEPLAINLOOSE", `[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:${src[t.PRERELEASELOOSE]})?${src[t.BUILD]}?)?)?`); - createToken("XRANGE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`); - createToken("XRANGELOOSE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`); - createToken("COERCE", `${"(^|[^\\d])(\\d{1,"}${MAX_SAFE_COMPONENT_LENGTH}})(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:$|[^\\d])`); - createToken("COERCERTL", src[t.COERCE], true); - createToken("LONETILDE", "(?:~>?)"); - createToken("TILDETRIM", `(\\s*)${src[t.LONETILDE]}\\s+`, true); - exports2.tildeTrimReplace = "$1~"; - createToken("TILDE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`); - createToken("TILDELOOSE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`); - createToken("LONECARET", "(?:\\^)"); - createToken("CARETTRIM", `(\\s*)${src[t.LONECARET]}\\s+`, true); - exports2.caretTrimReplace = "$1^"; - createToken("CARET", `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`); - createToken("CARETLOOSE", `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`); - createToken("COMPARATORLOOSE", `^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`); - createToken("COMPARATOR", `^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`); - createToken("COMPARATORTRIM", `(\\s*)${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true); - exports2.comparatorTrimReplace = "$1$2$3"; - createToken("HYPHENRANGE", `^\\s*(${src[t.XRANGEPLAIN]})\\s+-\\s+(${src[t.XRANGEPLAIN]})\\s*$`); - createToken("HYPHENRANGELOOSE", `^\\s*(${src[t.XRANGEPLAINLOOSE]})\\s+-\\s+(${src[t.XRANGEPLAINLOOSE]})\\s*$`); - createToken("STAR", "(<|>)?=?\\s*\\*"); - createToken("GTE0", "^\\s*>=\\s*0\\.0\\.0\\s*$"); - createToken("GTE0PRE", "^\\s*>=\\s*0\\.0\\.0-0\\s*$"); - } -}); - -// node_modules/semver/internal/parse-options.js -var require_parse_options = __commonJS({ - "node_modules/semver/internal/parse-options.js"(exports2, module2) { - var looseOption = Object.freeze({ loose: true }); - var emptyOpts = Object.freeze({}); - var parseOptions = (options) => { - if (!options) { - return emptyOpts; - } - if (typeof options !== "object") { - return looseOption; - } - return options; - }; - module2.exports = parseOptions; - } -}); - -// node_modules/semver/internal/identifiers.js -var require_identifiers = __commonJS({ - "node_modules/semver/internal/identifiers.js"(exports2, module2) { - var numeric = /^[0-9]+$/; - var compareIdentifiers = (a, b) => { - const anum = numeric.test(a); - const bnum = numeric.test(b); - if (anum && bnum) { - a = +a; - b = +b; - } - return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1; - }; - var rcompareIdentifiers = (a, b) => compareIdentifiers(b, a); - module2.exports = { - compareIdentifiers, - rcompareIdentifiers - }; - } -}); - -// node_modules/semver/classes/semver.js -var require_semver = __commonJS({ - "node_modules/semver/classes/semver.js"(exports2, module2) { - var debug = require_debug2(); - var { MAX_LENGTH, MAX_SAFE_INTEGER } = require_constants2(); - var { re, t } = require_re(); - var parseOptions = require_parse_options(); - var { compareIdentifiers } = require_identifiers(); - var SemVer = class { - constructor(version, options) { - options = parseOptions(options); - if (version instanceof SemVer) { - if (version.loose === !!options.loose && version.includePrerelease === !!options.includePrerelease) { - return version; - } else { - version = version.version; - } - } else if (typeof version !== "string") { - throw new TypeError(`Invalid Version: ${require("util").inspect(version)}`); - } - if (version.length > MAX_LENGTH) { - throw new TypeError( - `version is longer than ${MAX_LENGTH} characters` - ); - } - debug("SemVer", version, options); - this.options = options; - this.loose = !!options.loose; - this.includePrerelease = !!options.includePrerelease; - const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]); - if (!m) { - throw new TypeError(`Invalid Version: ${version}`); - } - this.raw = version; - this.major = +m[1]; - this.minor = +m[2]; - this.patch = +m[3]; - if (this.major > MAX_SAFE_INTEGER || this.major < 0) { - throw new TypeError("Invalid major version"); - } - if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) { - throw new TypeError("Invalid minor version"); - } - if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) { - throw new TypeError("Invalid patch version"); - } - if (!m[4]) { - this.prerelease = []; - } else { - this.prerelease = m[4].split(".").map((id) => { - if (/^[0-9]+$/.test(id)) { - const num = +id; - if (num >= 0 && num < MAX_SAFE_INTEGER) { - return num; - } - } - return id; - }); - } - this.build = m[5] ? m[5].split(".") : []; - this.format(); - } - format() { - this.version = `${this.major}.${this.minor}.${this.patch}`; - if (this.prerelease.length) { - this.version += `-${this.prerelease.join(".")}`; - } - return this.version; - } - toString() { - return this.version; - } - compare(other) { - debug("SemVer.compare", this.version, this.options, other); - if (!(other instanceof SemVer)) { - if (typeof other === "string" && other === this.version) { - return 0; - } - other = new SemVer(other, this.options); - } - if (other.version === this.version) { - return 0; - } - return this.compareMain(other) || this.comparePre(other); - } - compareMain(other) { - if (!(other instanceof SemVer)) { - other = new SemVer(other, this.options); - } - return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch); - } - comparePre(other) { - if (!(other instanceof SemVer)) { - other = new SemVer(other, this.options); - } - if (this.prerelease.length && !other.prerelease.length) { - return -1; - } else if (!this.prerelease.length && other.prerelease.length) { - return 1; - } else if (!this.prerelease.length && !other.prerelease.length) { - return 0; - } - let i = 0; - do { - const a = this.prerelease[i]; - const b = other.prerelease[i]; - debug("prerelease compare", i, a, b); - if (a === void 0 && b === void 0) { - return 0; - } else if (b === void 0) { - return 1; - } else if (a === void 0) { - return -1; - } else if (a === b) { - continue; - } else { - return compareIdentifiers(a, b); - } - } while (++i); - } - compareBuild(other) { - if (!(other instanceof SemVer)) { - other = new SemVer(other, this.options); - } - let i = 0; - do { - const a = this.build[i]; - const b = other.build[i]; - debug("prerelease compare", i, a, b); - if (a === void 0 && b === void 0) { - return 0; - } else if (b === void 0) { - return 1; - } else if (a === void 0) { - return -1; - } else if (a === b) { - continue; - } else { - return compareIdentifiers(a, b); - } - } while (++i); - } - inc(release, identifier, identifierBase) { - switch (release) { - case "premajor": - this.prerelease.length = 0; - this.patch = 0; - this.minor = 0; - this.major++; - this.inc("pre", identifier, identifierBase); - break; - case "preminor": - this.prerelease.length = 0; - this.patch = 0; - this.minor++; - this.inc("pre", identifier, identifierBase); - break; - case "prepatch": - this.prerelease.length = 0; - this.inc("patch", identifier, identifierBase); - this.inc("pre", identifier, identifierBase); - break; - case "prerelease": - if (this.prerelease.length === 0) { - this.inc("patch", identifier, identifierBase); - } - this.inc("pre", identifier, identifierBase); - break; - case "major": - if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) { - this.major++; - } - this.minor = 0; - this.patch = 0; - this.prerelease = []; - break; - case "minor": - if (this.patch !== 0 || this.prerelease.length === 0) { - this.minor++; - } - this.patch = 0; - this.prerelease = []; - break; - case "patch": - if (this.prerelease.length === 0) { - this.patch++; - } - this.prerelease = []; - break; - case "pre": { - const base = Number(identifierBase) ? 1 : 0; - if (!identifier && identifierBase === false) { - throw new Error("invalid increment argument: identifier is empty"); - } - if (this.prerelease.length === 0) { - this.prerelease = [base]; - } else { - let i = this.prerelease.length; - while (--i >= 0) { - if (typeof this.prerelease[i] === "number") { - this.prerelease[i]++; - i = -2; - } - } - if (i === -1) { - if (identifier === this.prerelease.join(".") && identifierBase === false) { - throw new Error("invalid increment argument: identifier already exists"); - } - this.prerelease.push(base); - } - } - if (identifier) { - let prerelease = [identifier, base]; - if (identifierBase === false) { - prerelease = [identifier]; - } - if (compareIdentifiers(this.prerelease[0], identifier) === 0) { - if (isNaN(this.prerelease[1])) { - this.prerelease = prerelease; - } - } else { - this.prerelease = prerelease; - } - } - break; - } - default: - throw new Error(`invalid increment argument: ${release}`); - } - this.format(); - this.raw = this.version; - return this; - } - }; - module2.exports = SemVer; - } -}); - -// node_modules/semver/functions/parse.js -var require_parse2 = __commonJS({ - "node_modules/semver/functions/parse.js"(exports2, module2) { - var SemVer = require_semver(); - var parse = (version, options, throwErrors = false) => { - if (version instanceof SemVer) { - return version; - } - try { - return new SemVer(version, options); - } catch (er) { - if (!throwErrors) { - return null; - } - throw er; - } - }; - module2.exports = parse; - } -}); - -// node_modules/semver/functions/valid.js -var require_valid = __commonJS({ - "node_modules/semver/functions/valid.js"(exports2, module2) { - var parse = require_parse2(); - var valid = (version, options) => { - const v = parse(version, options); - return v ? v.version : null; - }; - module2.exports = valid; - } -}); - -// node_modules/semver/functions/clean.js -var require_clean = __commonJS({ - "node_modules/semver/functions/clean.js"(exports2, module2) { - var parse = require_parse2(); - var clean = (version, options) => { - const s = parse(version.trim().replace(/^[=v]+/, ""), options); - return s ? s.version : null; - }; - module2.exports = clean; - } -}); - -// node_modules/semver/functions/inc.js -var require_inc = __commonJS({ - "node_modules/semver/functions/inc.js"(exports2, module2) { - var SemVer = require_semver(); - var inc = (version, release, options, identifier, identifierBase) => { - if (typeof options === "string") { - identifierBase = identifier; - identifier = options; - options = void 0; - } - try { - return new SemVer( - version instanceof SemVer ? version.version : version, - options - ).inc(release, identifier, identifierBase).version; - } catch (er) { - return null; - } - }; - module2.exports = inc; - } -}); - -// node_modules/semver/functions/diff.js -var require_diff = __commonJS({ - "node_modules/semver/functions/diff.js"(exports2, module2) { - var parse = require_parse2(); - var diff = (version1, version2) => { - const v1 = parse(version1, null, true); - const v2 = parse(version2, null, true); - const comparison = v1.compare(v2); - if (comparison === 0) { - return null; - } - const v1Higher = comparison > 0; - const highVersion = v1Higher ? v1 : v2; - const lowVersion = v1Higher ? v2 : v1; - const highHasPre = !!highVersion.prerelease.length; - const prefix = highHasPre ? "pre" : ""; - if (v1.major !== v2.major) { - return prefix + "major"; - } - if (v1.minor !== v2.minor) { - return prefix + "minor"; - } - if (v1.patch !== v2.patch) { - return prefix + "patch"; - } - if (highHasPre) { - return "prerelease"; - } - if (lowVersion.patch) { - return "patch"; - } - if (lowVersion.minor) { - return "minor"; - } - return "major"; - }; - module2.exports = diff; - } -}); - -// node_modules/semver/functions/major.js -var require_major = __commonJS({ - "node_modules/semver/functions/major.js"(exports2, module2) { - var SemVer = require_semver(); - var major = (a, loose) => new SemVer(a, loose).major; - module2.exports = major; - } -}); - -// node_modules/semver/functions/minor.js -var require_minor = __commonJS({ - "node_modules/semver/functions/minor.js"(exports2, module2) { - var SemVer = require_semver(); - var minor = (a, loose) => new SemVer(a, loose).minor; - module2.exports = minor; - } -}); - -// node_modules/semver/functions/patch.js -var require_patch = __commonJS({ - "node_modules/semver/functions/patch.js"(exports2, module2) { - var SemVer = require_semver(); - var patch = (a, loose) => new SemVer(a, loose).patch; - module2.exports = patch; - } -}); - -// node_modules/semver/functions/prerelease.js -var require_prerelease = __commonJS({ - "node_modules/semver/functions/prerelease.js"(exports2, module2) { - var parse = require_parse2(); - var prerelease = (version, options) => { - const parsed = parse(version, options); - return parsed && parsed.prerelease.length ? parsed.prerelease : null; - }; - module2.exports = prerelease; - } -}); - -// node_modules/semver/functions/compare.js -var require_compare = __commonJS({ - "node_modules/semver/functions/compare.js"(exports2, module2) { - var SemVer = require_semver(); - var compare = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, loose)); - module2.exports = compare; - } -}); - -// node_modules/semver/functions/rcompare.js -var require_rcompare = __commonJS({ - "node_modules/semver/functions/rcompare.js"(exports2, module2) { - var compare = require_compare(); - var rcompare = (a, b, loose) => compare(b, a, loose); - module2.exports = rcompare; - } -}); - -// node_modules/semver/functions/compare-loose.js -var require_compare_loose = __commonJS({ - "node_modules/semver/functions/compare-loose.js"(exports2, module2) { - var compare = require_compare(); - var compareLoose = (a, b) => compare(a, b, true); - module2.exports = compareLoose; - } -}); - -// node_modules/semver/functions/compare-build.js -var require_compare_build = __commonJS({ - "node_modules/semver/functions/compare-build.js"(exports2, module2) { - var SemVer = require_semver(); - var compareBuild = (a, b, loose) => { - const versionA = new SemVer(a, loose); - const versionB = new SemVer(b, loose); - return versionA.compare(versionB) || versionA.compareBuild(versionB); - }; - module2.exports = compareBuild; - } -}); - -// node_modules/semver/functions/sort.js -var require_sort = __commonJS({ - "node_modules/semver/functions/sort.js"(exports2, module2) { - var compareBuild = require_compare_build(); - var sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose)); - module2.exports = sort; - } -}); - -// node_modules/semver/functions/rsort.js -var require_rsort = __commonJS({ - "node_modules/semver/functions/rsort.js"(exports2, module2) { - var compareBuild = require_compare_build(); - var rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose)); - module2.exports = rsort; - } -}); - -// node_modules/semver/functions/gt.js -var require_gt = __commonJS({ - "node_modules/semver/functions/gt.js"(exports2, module2) { - var compare = require_compare(); - var gt = (a, b, loose) => compare(a, b, loose) > 0; - module2.exports = gt; - } -}); - -// node_modules/semver/functions/lt.js -var require_lt = __commonJS({ - "node_modules/semver/functions/lt.js"(exports2, module2) { - var compare = require_compare(); - var lt = (a, b, loose) => compare(a, b, loose) < 0; - module2.exports = lt; - } -}); - -// node_modules/semver/functions/eq.js -var require_eq = __commonJS({ - "node_modules/semver/functions/eq.js"(exports2, module2) { - var compare = require_compare(); - var eq = (a, b, loose) => compare(a, b, loose) === 0; - module2.exports = eq; - } -}); - -// node_modules/semver/functions/neq.js -var require_neq = __commonJS({ - "node_modules/semver/functions/neq.js"(exports2, module2) { - var compare = require_compare(); - var neq = (a, b, loose) => compare(a, b, loose) !== 0; - module2.exports = neq; - } -}); - -// node_modules/semver/functions/gte.js -var require_gte = __commonJS({ - "node_modules/semver/functions/gte.js"(exports2, module2) { - var compare = require_compare(); - var gte = (a, b, loose) => compare(a, b, loose) >= 0; - module2.exports = gte; - } -}); - -// node_modules/semver/functions/lte.js -var require_lte = __commonJS({ - "node_modules/semver/functions/lte.js"(exports2, module2) { - var compare = require_compare(); - var lte = (a, b, loose) => compare(a, b, loose) <= 0; - module2.exports = lte; - } -}); - -// node_modules/semver/functions/cmp.js -var require_cmp = __commonJS({ - "node_modules/semver/functions/cmp.js"(exports2, module2) { - var eq = require_eq(); - var neq = require_neq(); - var gt = require_gt(); - var gte = require_gte(); - var lt = require_lt(); - var lte = require_lte(); - var cmp = (a, op, b, loose) => { - switch (op) { - case "===": - if (typeof a === "object") { - a = a.version; - } - if (typeof b === "object") { - b = b.version; - } - return a === b; - case "!==": - if (typeof a === "object") { - a = a.version; - } - if (typeof b === "object") { - b = b.version; - } - return a !== b; - case "": - case "=": - case "==": - return eq(a, b, loose); - case "!=": - return neq(a, b, loose); - case ">": - return gt(a, b, loose); - case ">=": - return gte(a, b, loose); - case "<": - return lt(a, b, loose); - case "<=": - return lte(a, b, loose); - default: - throw new TypeError(`Invalid operator: ${op}`); - } - }; - module2.exports = cmp; - } -}); - -// node_modules/semver/functions/coerce.js -var require_coerce = __commonJS({ - "node_modules/semver/functions/coerce.js"(exports2, module2) { - var SemVer = require_semver(); - var parse = require_parse2(); - var { re, t } = require_re(); - var coerce = (version, options) => { - if (version instanceof SemVer) { - return version; - } - if (typeof version === "number") { - version = String(version); - } - if (typeof version !== "string") { - return null; - } - options = options || {}; - let match = null; - if (!options.rtl) { - match = version.match(re[t.COERCE]); - } else { - let next; - while ((next = re[t.COERCERTL].exec(version)) && (!match || match.index + match[0].length !== version.length)) { - if (!match || next.index + next[0].length !== match.index + match[0].length) { - match = next; - } - re[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length; - } - re[t.COERCERTL].lastIndex = -1; - } - if (match === null) { - return null; - } - return parse(`${match[2]}.${match[3] || "0"}.${match[4] || "0"}`, options); - }; - module2.exports = coerce; - } -}); - -// node_modules/yallist/iterator.js -var require_iterator2 = __commonJS({ - "node_modules/yallist/iterator.js"(exports2, module2) { - "use strict"; - module2.exports = function(Yallist) { - Yallist.prototype[Symbol.iterator] = function* () { - for (let walker = this.head; walker; walker = walker.next) { - yield walker.value; - } - }; - }; - } -}); - -// node_modules/yallist/yallist.js -var require_yallist = __commonJS({ - "node_modules/yallist/yallist.js"(exports2, module2) { - "use strict"; - module2.exports = Yallist; - Yallist.Node = Node; - Yallist.create = Yallist; - function Yallist(list) { - var self2 = this; - if (!(self2 instanceof Yallist)) { - self2 = new Yallist(); - } - self2.tail = null; - self2.head = null; - self2.length = 0; - if (list && typeof list.forEach === "function") { - list.forEach(function(item) { - self2.push(item); - }); - } else if (arguments.length > 0) { - for (var i = 0, l = arguments.length; i < l; i++) { - self2.push(arguments[i]); - } - } - return self2; - } - Yallist.prototype.removeNode = function(node) { - if (node.list !== this) { - throw new Error("removing node which does not belong to this list"); - } - var next = node.next; - var prev = node.prev; - if (next) { - next.prev = prev; - } - if (prev) { - prev.next = next; - } - if (node === this.head) { - this.head = next; - } - if (node === this.tail) { - this.tail = prev; - } - node.list.length--; - node.next = null; - node.prev = null; - node.list = null; - return next; - }; - Yallist.prototype.unshiftNode = function(node) { - if (node === this.head) { - return; - } - if (node.list) { - node.list.removeNode(node); - } - var head = this.head; - node.list = this; - node.next = head; - if (head) { - head.prev = node; - } - this.head = node; - if (!this.tail) { - this.tail = node; - } - this.length++; - }; - Yallist.prototype.pushNode = function(node) { - if (node === this.tail) { - return; - } - if (node.list) { - node.list.removeNode(node); - } - var tail = this.tail; - node.list = this; - node.prev = tail; - if (tail) { - tail.next = node; - } - this.tail = node; - if (!this.head) { - this.head = node; - } - this.length++; - }; - Yallist.prototype.push = function() { - for (var i = 0, l = arguments.length; i < l; i++) { - push(this, arguments[i]); - } - return this.length; - }; - Yallist.prototype.unshift = function() { - for (var i = 0, l = arguments.length; i < l; i++) { - unshift(this, arguments[i]); - } - return this.length; - }; - Yallist.prototype.pop = function() { - if (!this.tail) { - return void 0; - } - var res = this.tail.value; - this.tail = this.tail.prev; - if (this.tail) { - this.tail.next = null; - } else { - this.head = null; - } - this.length--; - return res; - }; - Yallist.prototype.shift = function() { - if (!this.head) { - return void 0; - } - var res = this.head.value; - this.head = this.head.next; - if (this.head) { - this.head.prev = null; - } else { - this.tail = null; - } - this.length--; - return res; - }; - Yallist.prototype.forEach = function(fn2, thisp) { - thisp = thisp || this; - for (var walker = this.head, i = 0; walker !== null; i++) { - fn2.call(thisp, walker.value, i, this); - walker = walker.next; - } - }; - Yallist.prototype.forEachReverse = function(fn2, thisp) { - thisp = thisp || this; - for (var walker = this.tail, i = this.length - 1; walker !== null; i--) { - fn2.call(thisp, walker.value, i, this); - walker = walker.prev; - } - }; - Yallist.prototype.get = function(n) { - for (var i = 0, walker = this.head; walker !== null && i < n; i++) { - walker = walker.next; - } - if (i === n && walker !== null) { - return walker.value; - } - }; - Yallist.prototype.getReverse = function(n) { - for (var i = 0, walker = this.tail; walker !== null && i < n; i++) { - walker = walker.prev; - } - if (i === n && walker !== null) { - return walker.value; - } - }; - Yallist.prototype.map = function(fn2, thisp) { - thisp = thisp || this; - var res = new Yallist(); - for (var walker = this.head; walker !== null; ) { - res.push(fn2.call(thisp, walker.value, this)); - walker = walker.next; - } - return res; - }; - Yallist.prototype.mapReverse = function(fn2, thisp) { - thisp = thisp || this; - var res = new Yallist(); - for (var walker = this.tail; walker !== null; ) { - res.push(fn2.call(thisp, walker.value, this)); - walker = walker.prev; - } - return res; - }; - Yallist.prototype.reduce = function(fn2, initial) { - var acc; - var walker = this.head; - if (arguments.length > 1) { - acc = initial; - } else if (this.head) { - walker = this.head.next; - acc = this.head.value; - } else { - throw new TypeError("Reduce of empty list with no initial value"); - } - for (var i = 0; walker !== null; i++) { - acc = fn2(acc, walker.value, i); - walker = walker.next; - } - return acc; - }; - Yallist.prototype.reduceReverse = function(fn2, initial) { - var acc; - var walker = this.tail; - if (arguments.length > 1) { - acc = initial; - } else if (this.tail) { - walker = this.tail.prev; - acc = this.tail.value; - } else { - throw new TypeError("Reduce of empty list with no initial value"); - } - for (var i = this.length - 1; walker !== null; i--) { - acc = fn2(acc, walker.value, i); - walker = walker.prev; - } - return acc; - }; - Yallist.prototype.toArray = function() { - var arr = new Array(this.length); - for (var i = 0, walker = this.head; walker !== null; i++) { - arr[i] = walker.value; - walker = walker.next; - } - return arr; - }; - Yallist.prototype.toArrayReverse = function() { - var arr = new Array(this.length); - for (var i = 0, walker = this.tail; walker !== null; i++) { - arr[i] = walker.value; - walker = walker.prev; - } - return arr; - }; - Yallist.prototype.slice = function(from, to) { - to = to || this.length; - if (to < 0) { - to += this.length; - } - from = from || 0; - if (from < 0) { - from += this.length; - } - var ret = new Yallist(); - if (to < from || to < 0) { - return ret; - } - if (from < 0) { - from = 0; - } - if (to > this.length) { - to = this.length; - } - for (var i = 0, walker = this.head; walker !== null && i < from; i++) { - walker = walker.next; - } - for (; walker !== null && i < to; i++, walker = walker.next) { - ret.push(walker.value); - } - return ret; - }; - Yallist.prototype.sliceReverse = function(from, to) { - to = to || this.length; - if (to < 0) { - to += this.length; - } - from = from || 0; - if (from < 0) { - from += this.length; - } - var ret = new Yallist(); - if (to < from || to < 0) { - return ret; - } - if (from < 0) { - from = 0; - } - if (to > this.length) { - to = this.length; - } - for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) { - walker = walker.prev; - } - for (; walker !== null && i > from; i--, walker = walker.prev) { - ret.push(walker.value); - } - return ret; - }; - Yallist.prototype.splice = function(start, deleteCount, ...nodes) { - if (start > this.length) { - start = this.length - 1; - } - if (start < 0) { - start = this.length + start; - } - for (var i = 0, walker = this.head; walker !== null && i < start; i++) { - walker = walker.next; - } - var ret = []; - for (var i = 0; walker && i < deleteCount; i++) { - ret.push(walker.value); - walker = this.removeNode(walker); - } - if (walker === null) { - walker = this.tail; - } - if (walker !== this.head && walker !== this.tail) { - walker = walker.prev; - } - for (var i = 0; i < nodes.length; i++) { - walker = insert(this, walker, nodes[i]); - } - return ret; - }; - Yallist.prototype.reverse = function() { - var head = this.head; - var tail = this.tail; - for (var walker = head; walker !== null; walker = walker.prev) { - var p = walker.prev; - walker.prev = walker.next; - walker.next = p; - } - this.head = tail; - this.tail = head; - return this; - }; - function insert(self2, node, value) { - var inserted = node === self2.head ? new Node(value, null, node, self2) : new Node(value, node, node.next, self2); - if (inserted.next === null) { - self2.tail = inserted; - } - if (inserted.prev === null) { - self2.head = inserted; - } - self2.length++; - return inserted; - } - function push(self2, item) { - self2.tail = new Node(item, self2.tail, null, self2); - if (!self2.head) { - self2.head = self2.tail; - } - self2.length++; - } - function unshift(self2, item) { - self2.head = new Node(item, null, self2.head, self2); - if (!self2.tail) { - self2.tail = self2.head; - } - self2.length++; - } - function Node(value, prev, next, list) { - if (!(this instanceof Node)) { - return new Node(value, prev, next, list); - } - this.list = list; - this.value = value; - if (prev) { - prev.next = this; - this.prev = prev; - } else { - this.prev = null; - } - if (next) { - next.prev = this; - this.next = next; - } else { - this.next = null; - } - } - try { - require_iterator2()(Yallist); - } catch (er) { - } - } -}); - -// node_modules/lru-cache/index.js -var require_lru_cache = __commonJS({ - "node_modules/lru-cache/index.js"(exports2, module2) { - "use strict"; - var Yallist = require_yallist(); - var MAX = Symbol("max"); - var LENGTH = Symbol("length"); - var LENGTH_CALCULATOR = Symbol("lengthCalculator"); - var ALLOW_STALE = Symbol("allowStale"); - var MAX_AGE = Symbol("maxAge"); - var DISPOSE = Symbol("dispose"); - var NO_DISPOSE_ON_SET = Symbol("noDisposeOnSet"); - var LRU_LIST = Symbol("lruList"); - var CACHE = Symbol("cache"); - var UPDATE_AGE_ON_GET = Symbol("updateAgeOnGet"); - var naiveLength = () => 1; - var LRUCache = class { - constructor(options) { - if (typeof options === "number") - options = { max: options }; - if (!options) - options = {}; - if (options.max && (typeof options.max !== "number" || options.max < 0)) - throw new TypeError("max must be a non-negative number"); - const max = this[MAX] = options.max || Infinity; - const lc = options.length || naiveLength; - this[LENGTH_CALCULATOR] = typeof lc !== "function" ? naiveLength : lc; - this[ALLOW_STALE] = options.stale || false; - if (options.maxAge && typeof options.maxAge !== "number") - throw new TypeError("maxAge must be a number"); - this[MAX_AGE] = options.maxAge || 0; - this[DISPOSE] = options.dispose; - this[NO_DISPOSE_ON_SET] = options.noDisposeOnSet || false; - this[UPDATE_AGE_ON_GET] = options.updateAgeOnGet || false; - this.reset(); - } - set max(mL) { - if (typeof mL !== "number" || mL < 0) - throw new TypeError("max must be a non-negative number"); - this[MAX] = mL || Infinity; - trim2(this); - } - get max() { - return this[MAX]; - } - set allowStale(allowStale) { - this[ALLOW_STALE] = !!allowStale; - } - get allowStale() { - return this[ALLOW_STALE]; - } - set maxAge(mA) { - if (typeof mA !== "number") - throw new TypeError("maxAge must be a non-negative number"); - this[MAX_AGE] = mA; - trim2(this); - } - get maxAge() { - return this[MAX_AGE]; - } - set lengthCalculator(lC) { - if (typeof lC !== "function") - lC = naiveLength; - if (lC !== this[LENGTH_CALCULATOR]) { - this[LENGTH_CALCULATOR] = lC; - this[LENGTH] = 0; - this[LRU_LIST].forEach((hit) => { - hit.length = this[LENGTH_CALCULATOR](hit.value, hit.key); - this[LENGTH] += hit.length; - }); - } - trim2(this); - } - get lengthCalculator() { - return this[LENGTH_CALCULATOR]; - } - get length() { - return this[LENGTH]; - } - get itemCount() { - return this[LRU_LIST].length; - } - rforEach(fn2, thisp) { - thisp = thisp || this; - for (let walker = this[LRU_LIST].tail; walker !== null; ) { - const prev = walker.prev; - forEachStep(this, fn2, walker, thisp); - walker = prev; - } - } - forEach(fn2, thisp) { - thisp = thisp || this; - for (let walker = this[LRU_LIST].head; walker !== null; ) { - const next = walker.next; - forEachStep(this, fn2, walker, thisp); - walker = next; - } - } - keys() { - return this[LRU_LIST].toArray().map((k) => k.key); - } - values() { - return this[LRU_LIST].toArray().map((k) => k.value); - } - reset() { - if (this[DISPOSE] && this[LRU_LIST] && this[LRU_LIST].length) { - this[LRU_LIST].forEach((hit) => this[DISPOSE](hit.key, hit.value)); - } - this[CACHE] = /* @__PURE__ */ new Map(); - this[LRU_LIST] = new Yallist(); - this[LENGTH] = 0; - } - dump() { - return this[LRU_LIST].map((hit) => isStale(this, hit) ? false : { - k: hit.key, - v: hit.value, - e: hit.now + (hit.maxAge || 0) - }).toArray().filter((h) => h); - } - dumpLru() { - return this[LRU_LIST]; - } - set(key, value, maxAge) { - maxAge = maxAge || this[MAX_AGE]; - if (maxAge && typeof maxAge !== "number") - throw new TypeError("maxAge must be a number"); - const now = maxAge ? Date.now() : 0; - const len = this[LENGTH_CALCULATOR](value, key); - if (this[CACHE].has(key)) { - if (len > this[MAX]) { - del(this, this[CACHE].get(key)); - return false; - } - const node = this[CACHE].get(key); - const item = node.value; - if (this[DISPOSE]) { - if (!this[NO_DISPOSE_ON_SET]) - this[DISPOSE](key, item.value); - } - item.now = now; - item.maxAge = maxAge; - item.value = value; - this[LENGTH] += len - item.length; - item.length = len; - this.get(key); - trim2(this); - return true; - } - const hit = new Entry(key, value, len, now, maxAge); - if (hit.length > this[MAX]) { - if (this[DISPOSE]) - this[DISPOSE](key, value); - return false; - } - this[LENGTH] += hit.length; - this[LRU_LIST].unshift(hit); - this[CACHE].set(key, this[LRU_LIST].head); - trim2(this); - return true; - } - has(key) { - if (!this[CACHE].has(key)) - return false; - const hit = this[CACHE].get(key).value; - return !isStale(this, hit); - } - get(key) { - return get(this, key, true); - } - peek(key) { - return get(this, key, false); - } - pop() { - const node = this[LRU_LIST].tail; - if (!node) - return null; - del(this, node); - return node.value; - } - del(key) { - del(this, this[CACHE].get(key)); - } - load(arr) { - this.reset(); - const now = Date.now(); - for (let l = arr.length - 1; l >= 0; l--) { - const hit = arr[l]; - const expiresAt = hit.e || 0; - if (expiresAt === 0) - this.set(hit.k, hit.v); - else { - const maxAge = expiresAt - now; - if (maxAge > 0) { - this.set(hit.k, hit.v, maxAge); - } - } - } - } - prune() { - this[CACHE].forEach((value, key) => get(this, key, false)); - } - }; - var get = (self2, key, doUse) => { - const node = self2[CACHE].get(key); - if (node) { - const hit = node.value; - if (isStale(self2, hit)) { - del(self2, node); - if (!self2[ALLOW_STALE]) - return void 0; - } else { - if (doUse) { - if (self2[UPDATE_AGE_ON_GET]) - node.value.now = Date.now(); - self2[LRU_LIST].unshiftNode(node); - } - } - return hit.value; - } - }; - var isStale = (self2, hit) => { - if (!hit || !hit.maxAge && !self2[MAX_AGE]) - return false; - const diff = Date.now() - hit.now; - return hit.maxAge ? diff > hit.maxAge : self2[MAX_AGE] && diff > self2[MAX_AGE]; - }; - var trim2 = (self2) => { - if (self2[LENGTH] > self2[MAX]) { - for (let walker = self2[LRU_LIST].tail; self2[LENGTH] > self2[MAX] && walker !== null; ) { - const prev = walker.prev; - del(self2, walker); - walker = prev; - } - } - }; - var del = (self2, node) => { - if (node) { - const hit = node.value; - if (self2[DISPOSE]) - self2[DISPOSE](hit.key, hit.value); - self2[LENGTH] -= hit.length; - self2[CACHE].delete(hit.key); - self2[LRU_LIST].removeNode(node); - } - }; - var Entry = class { - constructor(key, value, length, now, maxAge) { - this.key = key; - this.value = value; - this.length = length; - this.now = now; - this.maxAge = maxAge || 0; - } - }; - var forEachStep = (self2, fn2, node, thisp) => { - let hit = node.value; - if (isStale(self2, hit)) { - del(self2, node); - if (!self2[ALLOW_STALE]) - hit = void 0; - } - if (hit) - fn2.call(thisp, hit.value, hit.key, self2); - }; - module2.exports = LRUCache; - } -}); - -// node_modules/semver/classes/range.js -var require_range = __commonJS({ - "node_modules/semver/classes/range.js"(exports2, module2) { - var Range = class { - constructor(range, options) { - options = parseOptions(options); - if (range instanceof Range) { - if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) { - return range; - } else { - return new Range(range.raw, options); - } - } - if (range instanceof Comparator) { - this.raw = range.value; - this.set = [[range]]; - this.format(); - return this; - } - this.options = options; - this.loose = !!options.loose; - this.includePrerelease = !!options.includePrerelease; - this.raw = range; - this.set = range.split("||").map((r) => this.parseRange(r.trim())).filter((c) => c.length); - if (!this.set.length) { - throw new TypeError(`Invalid SemVer Range: ${range}`); - } - if (this.set.length > 1) { - const first = this.set[0]; - this.set = this.set.filter((c) => !isNullSet(c[0])); - if (this.set.length === 0) { - this.set = [first]; - } else if (this.set.length > 1) { - for (const c of this.set) { - if (c.length === 1 && isAny(c[0])) { - this.set = [c]; - break; - } - } - } - } - this.format(); - } - format() { - this.range = this.set.map((comps) => { - return comps.join(" ").trim(); - }).join("||").trim(); - return this.range; - } - toString() { - return this.range; - } - parseRange(range) { - range = range.trim(); - const memoOpts = (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) | (this.options.loose && FLAG_LOOSE); - const memoKey = memoOpts + ":" + range; - const cached = cache.get(memoKey); - if (cached) { - return cached; - } - const loose = this.options.loose; - const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]; - range = range.replace(hr, hyphenReplace(this.options.includePrerelease)); - debug("hyphen replace", range); - range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace); - debug("comparator trim", range); - range = range.replace(re[t.TILDETRIM], tildeTrimReplace); - range = range.replace(re[t.CARETTRIM], caretTrimReplace); - range = range.split(/\s+/).join(" "); - let rangeList = range.split(" ").map((comp) => parseComparator(comp, this.options)).join(" ").split(/\s+/).map((comp) => replaceGTE0(comp, this.options)); - if (loose) { - rangeList = rangeList.filter((comp) => { - debug("loose invalid filter", comp, this.options); - return !!comp.match(re[t.COMPARATORLOOSE]); - }); - } - debug("range list", rangeList); - const rangeMap = /* @__PURE__ */ new Map(); - const comparators = rangeList.map((comp) => new Comparator(comp, this.options)); - for (const comp of comparators) { - if (isNullSet(comp)) { - return [comp]; - } - rangeMap.set(comp.value, comp); - } - if (rangeMap.size > 1 && rangeMap.has("")) { - rangeMap.delete(""); - } - const result = [...rangeMap.values()]; - cache.set(memoKey, result); - return result; - } - intersects(range, options) { - if (!(range instanceof Range)) { - throw new TypeError("a Range is required"); - } - return this.set.some((thisComparators) => { - return isSatisfiable(thisComparators, options) && range.set.some((rangeComparators) => { - return isSatisfiable(rangeComparators, options) && thisComparators.every((thisComparator) => { - return rangeComparators.every((rangeComparator) => { - return thisComparator.intersects(rangeComparator, options); - }); - }); - }); - }); - } - test(version) { - if (!version) { - return false; - } - if (typeof version === "string") { - try { - version = new SemVer(version, this.options); - } catch (er) { - return false; - } - } - for (let i = 0; i < this.set.length; i++) { - if (testSet(this.set[i], version, this.options)) { - return true; - } - } - return false; - } - }; - module2.exports = Range; - var LRU = require_lru_cache(); - var cache = new LRU({ max: 1e3 }); - var parseOptions = require_parse_options(); - var Comparator = require_comparator(); - var debug = require_debug2(); - var SemVer = require_semver(); - var { - re, - t, - comparatorTrimReplace, - tildeTrimReplace, - caretTrimReplace - } = require_re(); - var { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require_constants2(); - var isNullSet = (c) => c.value === "<0.0.0-0"; - var isAny = (c) => c.value === ""; - var isSatisfiable = (comparators, options) => { - let result = true; - const remainingComparators = comparators.slice(); - let testComparator = remainingComparators.pop(); - while (result && remainingComparators.length) { - result = remainingComparators.every((otherComparator) => { - return testComparator.intersects(otherComparator, options); - }); - testComparator = remainingComparators.pop(); - } - return result; - }; - var parseComparator = (comp, options) => { - debug("comp", comp, options); - comp = replaceCarets(comp, options); - debug("caret", comp); - comp = replaceTildes(comp, options); - debug("tildes", comp); - comp = replaceXRanges(comp, options); - debug("xrange", comp); - comp = replaceStars(comp, options); - debug("stars", comp); - return comp; - }; - var isX = (id) => !id || id.toLowerCase() === "x" || id === "*"; - var replaceTildes = (comp, options) => comp.trim().split(/\s+/).map((c) => { - return replaceTilde(c, options); - }).join(" "); - var replaceTilde = (comp, options) => { - const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE]; - return comp.replace(r, (_, M, m, p, pr) => { - debug("tilde", comp, _, M, m, p, pr); - let ret; - if (isX(M)) { - ret = ""; - } else if (isX(m)) { - ret = `>=${M}.0.0 <${+M + 1}.0.0-0`; - } else if (isX(p)) { - ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`; - } else if (pr) { - debug("replaceTilde pr", pr); - ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`; - } else { - ret = `>=${M}.${m}.${p} <${M}.${+m + 1}.0-0`; - } - debug("tilde return", ret); - return ret; - }); - }; - var replaceCarets = (comp, options) => comp.trim().split(/\s+/).map((c) => { - return replaceCaret(c, options); - }).join(" "); - var replaceCaret = (comp, options) => { - debug("caret", comp, options); - const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET]; - const z = options.includePrerelease ? "-0" : ""; - return comp.replace(r, (_, M, m, p, pr) => { - debug("caret", comp, _, M, m, p, pr); - let ret; - if (isX(M)) { - ret = ""; - } else if (isX(m)) { - ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`; - } else if (isX(p)) { - if (M === "0") { - ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`; - } else { - ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`; - } - } else if (pr) { - debug("replaceCaret pr", pr); - if (M === "0") { - if (m === "0") { - ret = `>=${M}.${m}.${p}-${pr} <${M}.${m}.${+p + 1}-0`; - } else { - ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`; - } - } else { - ret = `>=${M}.${m}.${p}-${pr} <${+M + 1}.0.0-0`; - } - } else { - debug("no pr"); - if (M === "0") { - if (m === "0") { - ret = `>=${M}.${m}.${p}${z} <${M}.${m}.${+p + 1}-0`; - } else { - ret = `>=${M}.${m}.${p}${z} <${M}.${+m + 1}.0-0`; - } - } else { - ret = `>=${M}.${m}.${p} <${+M + 1}.0.0-0`; - } - } - debug("caret return", ret); - return ret; - }); - }; - var replaceXRanges = (comp, options) => { - debug("replaceXRanges", comp, options); - return comp.split(/\s+/).map((c) => { - return replaceXRange(c, options); - }).join(" "); - }; - var replaceXRange = (comp, options) => { - comp = comp.trim(); - const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE]; - return comp.replace(r, (ret, gtlt, M, m, p, pr) => { - debug("xRange", comp, ret, gtlt, M, m, p, pr); - const xM = isX(M); - const xm = xM || isX(m); - const xp = xm || isX(p); - const anyX = xp; - if (gtlt === "=" && anyX) { - gtlt = ""; - } - pr = options.includePrerelease ? "-0" : ""; - if (xM) { - if (gtlt === ">" || gtlt === "<") { - ret = "<0.0.0-0"; - } else { - ret = "*"; - } - } else if (gtlt && anyX) { - if (xm) { - m = 0; - } - p = 0; - if (gtlt === ">") { - gtlt = ">="; - if (xm) { - M = +M + 1; - m = 0; - p = 0; - } else { - m = +m + 1; - p = 0; - } - } else if (gtlt === "<=") { - gtlt = "<"; - if (xm) { - M = +M + 1; - } else { - m = +m + 1; - } - } - if (gtlt === "<") { - pr = "-0"; - } - ret = `${gtlt + M}.${m}.${p}${pr}`; - } else if (xm) { - ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`; - } else if (xp) { - ret = `>=${M}.${m}.0${pr} <${M}.${+m + 1}.0-0`; - } - debug("xRange return", ret); - return ret; - }); - }; - var replaceStars = (comp, options) => { - debug("replaceStars", comp, options); - return comp.trim().replace(re[t.STAR], ""); - }; - var replaceGTE0 = (comp, options) => { - debug("replaceGTE0", comp, options); - return comp.trim().replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], ""); - }; - var hyphenReplace = (incPr) => ($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr, tb) => { - if (isX(fM)) { - from = ""; - } else if (isX(fm)) { - from = `>=${fM}.0.0${incPr ? "-0" : ""}`; - } else if (isX(fp)) { - from = `>=${fM}.${fm}.0${incPr ? "-0" : ""}`; - } else if (fpr) { - from = `>=${from}`; - } else { - from = `>=${from}${incPr ? "-0" : ""}`; - } - if (isX(tM)) { - to = ""; - } else if (isX(tm)) { - to = `<${+tM + 1}.0.0-0`; - } else if (isX(tp)) { - to = `<${tM}.${+tm + 1}.0-0`; - } else if (tpr) { - to = `<=${tM}.${tm}.${tp}-${tpr}`; - } else if (incPr) { - to = `<${tM}.${tm}.${+tp + 1}-0`; - } else { - to = `<=${to}`; - } - return `${from} ${to}`.trim(); - }; - var testSet = (set, version, options) => { - for (let i = 0; i < set.length; i++) { - if (!set[i].test(version)) { - return false; - } - } - if (version.prerelease.length && !options.includePrerelease) { - for (let i = 0; i < set.length; i++) { - debug(set[i].semver); - if (set[i].semver === Comparator.ANY) { - continue; - } - if (set[i].semver.prerelease.length > 0) { - const allowed = set[i].semver; - if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) { - return true; - } - } - } - return false; - } - return true; - }; - } -}); - -// node_modules/semver/classes/comparator.js -var require_comparator = __commonJS({ - "node_modules/semver/classes/comparator.js"(exports2, module2) { - var ANY = Symbol("SemVer ANY"); - var Comparator = class { - static get ANY() { - return ANY; - } - constructor(comp, options) { - options = parseOptions(options); - if (comp instanceof Comparator) { - if (comp.loose === !!options.loose) { - return comp; - } else { - comp = comp.value; - } - } - debug("comparator", comp, options); - this.options = options; - this.loose = !!options.loose; - this.parse(comp); - if (this.semver === ANY) { - this.value = ""; - } else { - this.value = this.operator + this.semver.version; - } - debug("comp", this); - } - parse(comp) { - const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]; - const m = comp.match(r); - if (!m) { - throw new TypeError(`Invalid comparator: ${comp}`); - } - this.operator = m[1] !== void 0 ? m[1] : ""; - if (this.operator === "=") { - this.operator = ""; - } - if (!m[2]) { - this.semver = ANY; - } else { - this.semver = new SemVer(m[2], this.options.loose); - } - } - toString() { - return this.value; - } - test(version) { - debug("Comparator.test", version, this.options.loose); - if (this.semver === ANY || version === ANY) { - return true; - } - if (typeof version === "string") { - try { - version = new SemVer(version, this.options); - } catch (er) { - return false; - } - } - return cmp(version, this.operator, this.semver, this.options); - } - intersects(comp, options) { - if (!(comp instanceof Comparator)) { - throw new TypeError("a Comparator is required"); - } - if (this.operator === "") { - if (this.value === "") { - return true; - } - return new Range(comp.value, options).test(this.value); - } else if (comp.operator === "") { - if (comp.value === "") { - return true; - } - return new Range(this.value, options).test(comp.semver); - } - options = parseOptions(options); - if (options.includePrerelease && (this.value === "<0.0.0-0" || comp.value === "<0.0.0-0")) { - return false; - } - if (!options.includePrerelease && (this.value.startsWith("<0.0.0") || comp.value.startsWith("<0.0.0"))) { - return false; - } - if (this.operator.startsWith(">") && comp.operator.startsWith(">")) { - return true; - } - if (this.operator.startsWith("<") && comp.operator.startsWith("<")) { - return true; - } - if (this.semver.version === comp.semver.version && this.operator.includes("=") && comp.operator.includes("=")) { - return true; - } - if (cmp(this.semver, "<", comp.semver, options) && this.operator.startsWith(">") && comp.operator.startsWith("<")) { - return true; - } - if (cmp(this.semver, ">", comp.semver, options) && this.operator.startsWith("<") && comp.operator.startsWith(">")) { - return true; - } - return false; - } - }; - module2.exports = Comparator; - var parseOptions = require_parse_options(); - var { re, t } = require_re(); - var cmp = require_cmp(); - var debug = require_debug2(); - var SemVer = require_semver(); - var Range = require_range(); - } -}); - -// node_modules/semver/functions/satisfies.js -var require_satisfies = __commonJS({ - "node_modules/semver/functions/satisfies.js"(exports2, module2) { - var Range = require_range(); - var satisfies = (version, range, options) => { - try { - range = new Range(range, options); - } catch (er) { - return false; - } - return range.test(version); - }; - module2.exports = satisfies; - } -}); - -// node_modules/semver/ranges/to-comparators.js -var require_to_comparators = __commonJS({ - "node_modules/semver/ranges/to-comparators.js"(exports2, module2) { - var Range = require_range(); - var toComparators = (range, options) => new Range(range, options).set.map((comp) => comp.map((c) => c.value).join(" ").trim().split(" ")); - module2.exports = toComparators; - } -}); - -// node_modules/semver/ranges/max-satisfying.js -var require_max_satisfying = __commonJS({ - "node_modules/semver/ranges/max-satisfying.js"(exports2, module2) { - var SemVer = require_semver(); - var Range = require_range(); - var maxSatisfying = (versions, range, options) => { - let max = null; - let maxSV = null; - let rangeObj = null; - try { - rangeObj = new Range(range, options); - } catch (er) { - return null; - } - versions.forEach((v) => { - if (rangeObj.test(v)) { - if (!max || maxSV.compare(v) === -1) { - max = v; - maxSV = new SemVer(max, options); - } - } - }); - return max; - }; - module2.exports = maxSatisfying; - } -}); - -// node_modules/semver/ranges/min-satisfying.js -var require_min_satisfying = __commonJS({ - "node_modules/semver/ranges/min-satisfying.js"(exports2, module2) { - var SemVer = require_semver(); - var Range = require_range(); - var minSatisfying = (versions, range, options) => { - let min = null; - let minSV = null; - let rangeObj = null; - try { - rangeObj = new Range(range, options); - } catch (er) { - return null; - } - versions.forEach((v) => { - if (rangeObj.test(v)) { - if (!min || minSV.compare(v) === 1) { - min = v; - minSV = new SemVer(min, options); - } - } - }); - return min; - }; - module2.exports = minSatisfying; - } -}); - -// node_modules/semver/ranges/min-version.js -var require_min_version = __commonJS({ - "node_modules/semver/ranges/min-version.js"(exports2, module2) { - var SemVer = require_semver(); - var Range = require_range(); - var gt = require_gt(); - var minVersion = (range, loose) => { - range = new Range(range, loose); - let minver = new SemVer("0.0.0"); - if (range.test(minver)) { - return minver; - } - minver = new SemVer("0.0.0-0"); - if (range.test(minver)) { - return minver; - } - minver = null; - for (let i = 0; i < range.set.length; ++i) { - const comparators = range.set[i]; - let setMin = null; - comparators.forEach((comparator) => { - const compver = new SemVer(comparator.semver.version); - switch (comparator.operator) { - case ">": - if (compver.prerelease.length === 0) { - compver.patch++; - } else { - compver.prerelease.push(0); - } - compver.raw = compver.format(); - case "": - case ">=": - if (!setMin || gt(compver, setMin)) { - setMin = compver; - } - break; - case "<": - case "<=": - break; - default: - throw new Error(`Unexpected operation: ${comparator.operator}`); - } - }); - if (setMin && (!minver || gt(minver, setMin))) { - minver = setMin; - } - } - if (minver && range.test(minver)) { - return minver; - } - return null; - }; - module2.exports = minVersion; - } -}); - -// node_modules/semver/ranges/valid.js -var require_valid2 = __commonJS({ - "node_modules/semver/ranges/valid.js"(exports2, module2) { - var Range = require_range(); - var validRange = (range, options) => { - try { - return new Range(range, options).range || "*"; - } catch (er) { - return null; - } - }; - module2.exports = validRange; - } -}); - -// node_modules/semver/ranges/outside.js -var require_outside = __commonJS({ - "node_modules/semver/ranges/outside.js"(exports2, module2) { - var SemVer = require_semver(); - var Comparator = require_comparator(); - var { ANY } = Comparator; - var Range = require_range(); - var satisfies = require_satisfies(); - var gt = require_gt(); - var lt = require_lt(); - var lte = require_lte(); - var gte = require_gte(); - var outside = (version, range, hilo, options) => { - version = new SemVer(version, options); - range = new Range(range, options); - let gtfn, ltefn, ltfn, comp, ecomp; - switch (hilo) { - case ">": - gtfn = gt; - ltefn = lte; - ltfn = lt; - comp = ">"; - ecomp = ">="; - break; - case "<": - gtfn = lt; - ltefn = gte; - ltfn = gt; - comp = "<"; - ecomp = "<="; - break; - default: - throw new TypeError('Must provide a hilo val of "<" or ">"'); - } - if (satisfies(version, range, options)) { - return false; - } - for (let i = 0; i < range.set.length; ++i) { - const comparators = range.set[i]; - let high = null; - let low = null; - comparators.forEach((comparator) => { - if (comparator.semver === ANY) { - comparator = new Comparator(">=0.0.0"); - } - high = high || comparator; - low = low || comparator; - if (gtfn(comparator.semver, high.semver, options)) { - high = comparator; - } else if (ltfn(comparator.semver, low.semver, options)) { - low = comparator; - } - }); - if (high.operator === comp || high.operator === ecomp) { - return false; - } - if ((!low.operator || low.operator === comp) && ltefn(version, low.semver)) { - return false; - } else if (low.operator === ecomp && ltfn(version, low.semver)) { - return false; - } - } - return true; - }; - module2.exports = outside; - } -}); - -// node_modules/semver/ranges/gtr.js -var require_gtr = __commonJS({ - "node_modules/semver/ranges/gtr.js"(exports2, module2) { - var outside = require_outside(); - var gtr = (version, range, options) => outside(version, range, ">", options); - module2.exports = gtr; - } -}); - -// node_modules/semver/ranges/ltr.js -var require_ltr = __commonJS({ - "node_modules/semver/ranges/ltr.js"(exports2, module2) { - var outside = require_outside(); - var ltr = (version, range, options) => outside(version, range, "<", options); - module2.exports = ltr; - } -}); - -// node_modules/semver/ranges/intersects.js -var require_intersects = __commonJS({ - "node_modules/semver/ranges/intersects.js"(exports2, module2) { - var Range = require_range(); - var intersects = (r1, r2, options) => { - r1 = new Range(r1, options); - r2 = new Range(r2, options); - return r1.intersects(r2, options); - }; - module2.exports = intersects; - } -}); - -// node_modules/semver/ranges/simplify.js -var require_simplify = __commonJS({ - "node_modules/semver/ranges/simplify.js"(exports2, module2) { - var satisfies = require_satisfies(); - var compare = require_compare(); - module2.exports = (versions, range, options) => { - const set = []; - let first = null; - let prev = null; - const v = versions.sort((a, b) => compare(a, b, options)); - for (const version of v) { - const included = satisfies(version, range, options); - if (included) { - prev = version; - if (!first) { - first = version; - } - } else { - if (prev) { - set.push([first, prev]); - } - prev = null; - first = null; - } - } - if (first) { - set.push([first, null]); - } - const ranges = []; - for (const [min, max] of set) { - if (min === max) { - ranges.push(min); - } else if (!max && min === v[0]) { - ranges.push("*"); - } else if (!max) { - ranges.push(`>=${min}`); - } else if (min === v[0]) { - ranges.push(`<=${max}`); - } else { - ranges.push(`${min} - ${max}`); - } - } - const simplified = ranges.join(" || "); - const original = typeof range.raw === "string" ? range.raw : String(range); - return simplified.length < original.length ? simplified : range; - }; - } -}); - -// node_modules/semver/ranges/subset.js -var require_subset = __commonJS({ - "node_modules/semver/ranges/subset.js"(exports2, module2) { - var Range = require_range(); - var Comparator = require_comparator(); - var { ANY } = Comparator; - var satisfies = require_satisfies(); - var compare = require_compare(); - var subset = (sub, dom, options = {}) => { - if (sub === dom) { - return true; - } - sub = new Range(sub, options); - dom = new Range(dom, options); - let sawNonNull = false; - OUTER: - for (const simpleSub of sub.set) { - for (const simpleDom of dom.set) { - const isSub = simpleSubset(simpleSub, simpleDom, options); - sawNonNull = sawNonNull || isSub !== null; - if (isSub) { - continue OUTER; - } - } - if (sawNonNull) { - return false; - } - } - return true; - }; - var minimumVersionWithPreRelease = [new Comparator(">=0.0.0-0")]; - var minimumVersion = [new Comparator(">=0.0.0")]; - var simpleSubset = (sub, dom, options) => { - if (sub === dom) { - return true; - } - if (sub.length === 1 && sub[0].semver === ANY) { - if (dom.length === 1 && dom[0].semver === ANY) { - return true; - } else if (options.includePrerelease) { - sub = minimumVersionWithPreRelease; - } else { - sub = minimumVersion; - } - } - if (dom.length === 1 && dom[0].semver === ANY) { - if (options.includePrerelease) { - return true; - } else { - dom = minimumVersion; - } - } - const eqSet = /* @__PURE__ */ new Set(); - let gt, lt; - for (const c of sub) { - if (c.operator === ">" || c.operator === ">=") { - gt = higherGT(gt, c, options); - } else if (c.operator === "<" || c.operator === "<=") { - lt = lowerLT(lt, c, options); - } else { - eqSet.add(c.semver); - } - } - if (eqSet.size > 1) { - return null; - } - let gtltComp; - if (gt && lt) { - gtltComp = compare(gt.semver, lt.semver, options); - if (gtltComp > 0) { - return null; - } else if (gtltComp === 0 && (gt.operator !== ">=" || lt.operator !== "<=")) { - return null; - } - } - for (const eq of eqSet) { - if (gt && !satisfies(eq, String(gt), options)) { - return null; - } - if (lt && !satisfies(eq, String(lt), options)) { - return null; - } - for (const c of dom) { - if (!satisfies(eq, String(c), options)) { - return false; - } - } - return true; - } - let higher, lower; - let hasDomLT, hasDomGT; - let needDomLTPre = lt && !options.includePrerelease && lt.semver.prerelease.length ? lt.semver : false; - let needDomGTPre = gt && !options.includePrerelease && gt.semver.prerelease.length ? gt.semver : false; - if (needDomLTPre && needDomLTPre.prerelease.length === 1 && lt.operator === "<" && needDomLTPre.prerelease[0] === 0) { - needDomLTPre = false; - } - for (const c of dom) { - hasDomGT = hasDomGT || c.operator === ">" || c.operator === ">="; - hasDomLT = hasDomLT || c.operator === "<" || c.operator === "<="; - if (gt) { - if (needDomGTPre) { - if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomGTPre.major && c.semver.minor === needDomGTPre.minor && c.semver.patch === needDomGTPre.patch) { - needDomGTPre = false; - } - } - if (c.operator === ">" || c.operator === ">=") { - higher = higherGT(gt, c, options); - if (higher === c && higher !== gt) { - return false; - } - } else if (gt.operator === ">=" && !satisfies(gt.semver, String(c), options)) { - return false; - } - } - if (lt) { - if (needDomLTPre) { - if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomLTPre.major && c.semver.minor === needDomLTPre.minor && c.semver.patch === needDomLTPre.patch) { - needDomLTPre = false; - } - } - if (c.operator === "<" || c.operator === "<=") { - lower = lowerLT(lt, c, options); - if (lower === c && lower !== lt) { - return false; - } - } else if (lt.operator === "<=" && !satisfies(lt.semver, String(c), options)) { - return false; - } - } - if (!c.operator && (lt || gt) && gtltComp !== 0) { - return false; - } - } - if (gt && hasDomLT && !lt && gtltComp !== 0) { - return false; - } - if (lt && hasDomGT && !gt && gtltComp !== 0) { - return false; - } - if (needDomGTPre || needDomLTPre) { - return false; - } - return true; - }; - var higherGT = (a, b, options) => { - if (!a) { - return b; - } - const comp = compare(a.semver, b.semver, options); - return comp > 0 ? a : comp < 0 ? b : b.operator === ">" && a.operator === ">=" ? b : a; - }; - var lowerLT = (a, b, options) => { - if (!a) { - return b; - } - const comp = compare(a.semver, b.semver, options); - return comp < 0 ? a : comp > 0 ? b : b.operator === "<" && a.operator === "<=" ? b : a; - }; - module2.exports = subset; - } -}); - -// node_modules/semver/index.js -var require_semver2 = __commonJS({ - "node_modules/semver/index.js"(exports2, module2) { - var internalRe = require_re(); - var constants = require_constants2(); - var SemVer = require_semver(); - var identifiers = require_identifiers(); - var parse = require_parse2(); - var valid = require_valid(); - var clean = require_clean(); - var inc = require_inc(); - var diff = require_diff(); - var major = require_major(); - var minor = require_minor(); - var patch = require_patch(); - var prerelease = require_prerelease(); - var compare = require_compare(); - var rcompare = require_rcompare(); - var compareLoose = require_compare_loose(); - var compareBuild = require_compare_build(); - var sort = require_sort(); - var rsort = require_rsort(); - var gt = require_gt(); - var lt = require_lt(); - var eq = require_eq(); - var neq = require_neq(); - var gte = require_gte(); - var lte = require_lte(); - var cmp = require_cmp(); - var coerce = require_coerce(); - var Comparator = require_comparator(); - var Range = require_range(); - var satisfies = require_satisfies(); - var toComparators = require_to_comparators(); - var maxSatisfying = require_max_satisfying(); - var minSatisfying = require_min_satisfying(); - var minVersion = require_min_version(); - var validRange = require_valid2(); - var outside = require_outside(); - var gtr = require_gtr(); - var ltr = require_ltr(); - var intersects = require_intersects(); - var simplifyRange = require_simplify(); - var subset = require_subset(); - module2.exports = { - parse, - valid, - clean, - inc, - diff, - major, - minor, - patch, - prerelease, - compare, - rcompare, - compareLoose, - compareBuild, - sort, - rsort, - gt, - lt, - eq, - neq, - gte, - lte, - cmp, - coerce, - Comparator, - Range, - satisfies, - toComparators, - maxSatisfying, - minSatisfying, - minVersion, - validRange, - outside, - gtr, - ltr, - intersects, - simplifyRange, - subset, - SemVer, - re: internalRe.re, - src: internalRe.src, - tokens: internalRe.t, - SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION, - RELEASE_TYPES: constants.RELEASE_TYPES, - compareIdentifiers: identifiers.compareIdentifiers, - rcompareIdentifiers: identifiers.rcompareIdentifiers - }; - } -}); - -// node_modules/jsonwebtoken/lib/asymmetricKeyDetailsSupported.js -var require_asymmetricKeyDetailsSupported = __commonJS({ - "node_modules/jsonwebtoken/lib/asymmetricKeyDetailsSupported.js"(exports2, module2) { - var semver = require_semver2(); - module2.exports = semver.satisfies(process.version, ">=15.7.0"); - } -}); - -// node_modules/jsonwebtoken/lib/rsaPssKeyDetailsSupported.js -var require_rsaPssKeyDetailsSupported = __commonJS({ - "node_modules/jsonwebtoken/lib/rsaPssKeyDetailsSupported.js"(exports2, module2) { - var semver = require_semver2(); - module2.exports = semver.satisfies(process.version, ">=16.9.0"); - } -}); - -// node_modules/jsonwebtoken/lib/validateAsymmetricKey.js -var require_validateAsymmetricKey = __commonJS({ - "node_modules/jsonwebtoken/lib/validateAsymmetricKey.js"(exports2, module2) { - var ASYMMETRIC_KEY_DETAILS_SUPPORTED = require_asymmetricKeyDetailsSupported(); - var RSA_PSS_KEY_DETAILS_SUPPORTED = require_rsaPssKeyDetailsSupported(); - var allowedAlgorithmsForKeys = { - "ec": ["ES256", "ES384", "ES512"], - "rsa": ["RS256", "PS256", "RS384", "PS384", "RS512", "PS512"], - "rsa-pss": ["PS256", "PS384", "PS512"] - }; - var allowedCurves = { - ES256: "prime256v1", - ES384: "secp384r1", - ES512: "secp521r1" - }; - module2.exports = function(algorithm, key) { - if (!algorithm || !key) - return; - const keyType = key.asymmetricKeyType; - if (!keyType) - return; - const allowedAlgorithms = allowedAlgorithmsForKeys[keyType]; - if (!allowedAlgorithms) { - throw new Error(`Unknown key type "${keyType}".`); - } - if (!allowedAlgorithms.includes(algorithm)) { - throw new Error(`"alg" parameter for "${keyType}" key type must be one of: ${allowedAlgorithms.join(", ")}.`); - } - if (ASYMMETRIC_KEY_DETAILS_SUPPORTED) { - switch (keyType) { - case "ec": - const keyCurve = key.asymmetricKeyDetails.namedCurve; - const allowedCurve = allowedCurves[algorithm]; - if (keyCurve !== allowedCurve) { - throw new Error(`"alg" parameter "${algorithm}" requires curve "${allowedCurve}".`); - } - break; - case "rsa-pss": - if (RSA_PSS_KEY_DETAILS_SUPPORTED) { - const length = parseInt(algorithm.slice(-3), 10); - const { hashAlgorithm, mgf1HashAlgorithm, saltLength } = key.asymmetricKeyDetails; - if (hashAlgorithm !== `sha${length}` || mgf1HashAlgorithm !== hashAlgorithm) { - throw new Error(`Invalid key for this operation, its RSA-PSS parameters do not meet the requirements of "alg" ${algorithm}.`); - } - if (saltLength !== void 0 && saltLength > length >> 3) { - throw new Error(`Invalid key for this operation, its RSA-PSS parameter saltLength does not meet the requirements of "alg" ${algorithm}.`); - } - } - break; - } - } - }; - } -}); - -// node_modules/jsonwebtoken/lib/psSupported.js -var require_psSupported = __commonJS({ - "node_modules/jsonwebtoken/lib/psSupported.js"(exports2, module2) { - var semver = require_semver2(); - module2.exports = semver.satisfies(process.version, "^6.12.0 || >=8.0.0"); - } -}); - -// node_modules/jsonwebtoken/verify.js -var require_verify = __commonJS({ - "node_modules/jsonwebtoken/verify.js"(exports2, module2) { - var JsonWebTokenError = require_JsonWebTokenError(); - var NotBeforeError = require_NotBeforeError(); - var TokenExpiredError = require_TokenExpiredError(); - var decode = require_decode(); - var timespan = require_timespan(); - var validateAsymmetricKey = require_validateAsymmetricKey(); - var PS_SUPPORTED = require_psSupported(); - var jws = require_jws(); - var { KeyObject, createSecretKey, createPublicKey } = require("crypto"); - var PUB_KEY_ALGS = ["RS256", "RS384", "RS512"]; - var EC_KEY_ALGS = ["ES256", "ES384", "ES512"]; - var RSA_KEY_ALGS = ["RS256", "RS384", "RS512"]; - var HS_ALGS = ["HS256", "HS384", "HS512"]; - if (PS_SUPPORTED) { - PUB_KEY_ALGS.splice(PUB_KEY_ALGS.length, 0, "PS256", "PS384", "PS512"); - RSA_KEY_ALGS.splice(RSA_KEY_ALGS.length, 0, "PS256", "PS384", "PS512"); - } - module2.exports = function(jwtString, secretOrPublicKey, options, callback) { - if (typeof options === "function" && !callback) { - callback = options; - options = {}; - } - if (!options) { - options = {}; - } - options = Object.assign({}, options); - let done; - if (callback) { - done = callback; - } else { - done = function(err, data) { - if (err) - throw err; - return data; - }; - } - if (options.clockTimestamp && typeof options.clockTimestamp !== "number") { - return done(new JsonWebTokenError("clockTimestamp must be a number")); - } - if (options.nonce !== void 0 && (typeof options.nonce !== "string" || options.nonce.trim() === "")) { - return done(new JsonWebTokenError("nonce must be a non-empty string")); - } - if (options.allowInvalidAsymmetricKeyTypes !== void 0 && typeof options.allowInvalidAsymmetricKeyTypes !== "boolean") { - return done(new JsonWebTokenError("allowInvalidAsymmetricKeyTypes must be a boolean")); - } - const clockTimestamp = options.clockTimestamp || Math.floor(Date.now() / 1e3); - if (!jwtString) { - return done(new JsonWebTokenError("jwt must be provided")); - } - if (typeof jwtString !== "string") { - return done(new JsonWebTokenError("jwt must be a string")); - } - const parts = jwtString.split("."); - if (parts.length !== 3) { - return done(new JsonWebTokenError("jwt malformed")); - } - let decodedToken; - try { - decodedToken = decode(jwtString, { complete: true }); - } catch (err) { - return done(err); - } - if (!decodedToken) { - return done(new JsonWebTokenError("invalid token")); - } - const header = decodedToken.header; - let getSecret; - if (typeof secretOrPublicKey === "function") { - if (!callback) { - return done(new JsonWebTokenError("verify must be called asynchronous if secret or public key is provided as a callback")); - } - getSecret = secretOrPublicKey; - } else { - getSecret = function(header2, secretCallback) { - return secretCallback(null, secretOrPublicKey); - }; - } - return getSecret(header, function(err, secretOrPublicKey2) { - if (err) { - return done(new JsonWebTokenError("error in secret or public key callback: " + err.message)); - } - const hasSignature = parts[2].trim() !== ""; - if (!hasSignature && secretOrPublicKey2) { - return done(new JsonWebTokenError("jwt signature is required")); - } - if (hasSignature && !secretOrPublicKey2) { - return done(new JsonWebTokenError("secret or public key must be provided")); - } - if (!hasSignature && !options.algorithms) { - return done(new JsonWebTokenError('please specify "none" in "algorithms" to verify unsigned tokens')); - } - if (secretOrPublicKey2 != null && !(secretOrPublicKey2 instanceof KeyObject)) { - try { - secretOrPublicKey2 = createPublicKey(secretOrPublicKey2); - } catch (_) { - try { - secretOrPublicKey2 = createSecretKey(typeof secretOrPublicKey2 === "string" ? Buffer.from(secretOrPublicKey2) : secretOrPublicKey2); - } catch (_2) { - return done(new JsonWebTokenError("secretOrPublicKey is not valid key material")); - } - } - } - if (!options.algorithms) { - if (secretOrPublicKey2.type === "secret") { - options.algorithms = HS_ALGS; - } else if (["rsa", "rsa-pss"].includes(secretOrPublicKey2.asymmetricKeyType)) { - options.algorithms = RSA_KEY_ALGS; - } else if (secretOrPublicKey2.asymmetricKeyType === "ec") { - options.algorithms = EC_KEY_ALGS; - } else { - options.algorithms = PUB_KEY_ALGS; - } - } - if (options.algorithms.indexOf(decodedToken.header.alg) === -1) { - return done(new JsonWebTokenError("invalid algorithm")); - } - if (header.alg.startsWith("HS") && secretOrPublicKey2.type !== "secret") { - return done(new JsonWebTokenError(`secretOrPublicKey must be a symmetric key when using ${header.alg}`)); - } else if (/^(?:RS|PS|ES)/.test(header.alg) && secretOrPublicKey2.type !== "public") { - return done(new JsonWebTokenError(`secretOrPublicKey must be an asymmetric key when using ${header.alg}`)); - } - if (!options.allowInvalidAsymmetricKeyTypes) { - try { - validateAsymmetricKey(header.alg, secretOrPublicKey2); - } catch (e) { - return done(e); - } - } - let valid; - try { - valid = jws.verify(jwtString, decodedToken.header.alg, secretOrPublicKey2); - } catch (e) { - return done(e); - } - if (!valid) { - return done(new JsonWebTokenError("invalid signature")); - } - const payload = decodedToken.payload; - if (typeof payload.nbf !== "undefined" && !options.ignoreNotBefore) { - if (typeof payload.nbf !== "number") { - return done(new JsonWebTokenError("invalid nbf value")); - } - if (payload.nbf > clockTimestamp + (options.clockTolerance || 0)) { - return done(new NotBeforeError("jwt not active", new Date(payload.nbf * 1e3))); - } - } - if (typeof payload.exp !== "undefined" && !options.ignoreExpiration) { - if (typeof payload.exp !== "number") { - return done(new JsonWebTokenError("invalid exp value")); - } - if (clockTimestamp >= payload.exp + (options.clockTolerance || 0)) { - return done(new TokenExpiredError("jwt expired", new Date(payload.exp * 1e3))); - } - } - if (options.audience) { - const audiences = Array.isArray(options.audience) ? options.audience : [options.audience]; - const target = Array.isArray(payload.aud) ? payload.aud : [payload.aud]; - const match = target.some(function(targetAudience) { - return audiences.some(function(audience) { - return audience instanceof RegExp ? audience.test(targetAudience) : audience === targetAudience; - }); - }); - if (!match) { - return done(new JsonWebTokenError("jwt audience invalid. expected: " + audiences.join(" or "))); - } - } - if (options.issuer) { - const invalid_issuer = typeof options.issuer === "string" && payload.iss !== options.issuer || Array.isArray(options.issuer) && options.issuer.indexOf(payload.iss) === -1; - if (invalid_issuer) { - return done(new JsonWebTokenError("jwt issuer invalid. expected: " + options.issuer)); - } - } - if (options.subject) { - if (payload.sub !== options.subject) { - return done(new JsonWebTokenError("jwt subject invalid. expected: " + options.subject)); - } - } - if (options.jwtid) { - if (payload.jti !== options.jwtid) { - return done(new JsonWebTokenError("jwt jwtid invalid. expected: " + options.jwtid)); - } - } - if (options.nonce) { - if (payload.nonce !== options.nonce) { - return done(new JsonWebTokenError("jwt nonce invalid. expected: " + options.nonce)); - } - } - if (options.maxAge) { - if (typeof payload.iat !== "number") { - return done(new JsonWebTokenError("iat required when maxAge is specified")); - } - const maxAgeTimestamp = timespan(options.maxAge, payload.iat); - if (typeof maxAgeTimestamp === "undefined") { - return done(new JsonWebTokenError('"maxAge" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60')); - } - if (clockTimestamp >= maxAgeTimestamp + (options.clockTolerance || 0)) { - return done(new TokenExpiredError("maxAge exceeded", new Date(maxAgeTimestamp * 1e3))); - } - } - if (options.complete === true) { - const signature = decodedToken.signature; - return done(null, { - header, - payload, - signature - }); - } - return done(null, payload); - }); - }; - } -}); - -// node_modules/jsonwebtoken/sign.js -var require_sign = __commonJS({ - "node_modules/jsonwebtoken/sign.js"(exports2, module2) { - var timespan = require_timespan(); - var PS_SUPPORTED = require_psSupported(); - var validateAsymmetricKey = require_validateAsymmetricKey(); - var jws = require_jws(); - var { includes, isBoolean: isBoolean3, isInteger, isNumber: isNumber3, isPlainObject: isPlainObject2, isString: isString3, once } = require_lodash(); - var { KeyObject, createSecretKey, createPrivateKey } = require("crypto"); - var SUPPORTED_ALGS = ["RS256", "RS384", "RS512", "ES256", "ES384", "ES512", "HS256", "HS384", "HS512", "none"]; - if (PS_SUPPORTED) { - SUPPORTED_ALGS.splice(3, 0, "PS256", "PS384", "PS512"); - } - var sign_options_schema = { - expiresIn: { isValid: function(value) { - return isInteger(value) || isString3(value) && value; - }, message: '"expiresIn" should be a number of seconds or string representing a timespan' }, - notBefore: { isValid: function(value) { - return isInteger(value) || isString3(value) && value; - }, message: '"notBefore" should be a number of seconds or string representing a timespan' }, - audience: { isValid: function(value) { - return isString3(value) || Array.isArray(value); - }, message: '"audience" must be a string or array' }, - algorithm: { isValid: includes.bind(null, SUPPORTED_ALGS), message: '"algorithm" must be a valid string enum value' }, - header: { isValid: isPlainObject2, message: '"header" must be an object' }, - encoding: { isValid: isString3, message: '"encoding" must be a string' }, - issuer: { isValid: isString3, message: '"issuer" must be a string' }, - subject: { isValid: isString3, message: '"subject" must be a string' }, - jwtid: { isValid: isString3, message: '"jwtid" must be a string' }, - noTimestamp: { isValid: isBoolean3, message: '"noTimestamp" must be a boolean' }, - keyid: { isValid: isString3, message: '"keyid" must be a string' }, - mutatePayload: { isValid: isBoolean3, message: '"mutatePayload" must be a boolean' }, - allowInsecureKeySizes: { isValid: isBoolean3, message: '"allowInsecureKeySizes" must be a boolean' }, - allowInvalidAsymmetricKeyTypes: { isValid: isBoolean3, message: '"allowInvalidAsymmetricKeyTypes" must be a boolean' } - }; - var registered_claims_schema = { - iat: { isValid: isNumber3, message: '"iat" should be a number of seconds' }, - exp: { isValid: isNumber3, message: '"exp" should be a number of seconds' }, - nbf: { isValid: isNumber3, message: '"nbf" should be a number of seconds' } - }; - function validate(schema, allowUnknown, object, parameterName) { - if (!isPlainObject2(object)) { - throw new Error('Expected "' + parameterName + '" to be a plain object.'); - } - Object.keys(object).forEach(function(key) { - const validator = schema[key]; - if (!validator) { - if (!allowUnknown) { - throw new Error('"' + key + '" is not allowed in "' + parameterName + '"'); - } - return; - } - if (!validator.isValid(object[key])) { - throw new Error(validator.message); - } - }); - } - function validateOptions(options) { - return validate(sign_options_schema, false, options, "options"); - } - function validatePayload(payload) { - return validate(registered_claims_schema, true, payload, "payload"); - } - var options_to_payload = { - "audience": "aud", - "issuer": "iss", - "subject": "sub", - "jwtid": "jti" - }; - var options_for_objects = [ - "expiresIn", - "notBefore", - "noTimestamp", - "audience", - "issuer", - "subject", - "jwtid" - ]; - module2.exports = function(payload, secretOrPrivateKey, options, callback) { - if (typeof options === "function") { - callback = options; - options = {}; - } else { - options = options || {}; - } - const isObjectPayload = typeof payload === "object" && !Buffer.isBuffer(payload); - const header = Object.assign({ - alg: options.algorithm || "HS256", - typ: isObjectPayload ? "JWT" : void 0, - kid: options.keyid - }, options.header); - function failure(err) { - if (callback) { - return callback(err); - } - throw err; - } - if (!secretOrPrivateKey && options.algorithm !== "none") { - return failure(new Error("secretOrPrivateKey must have a value")); - } - if (secretOrPrivateKey != null && !(secretOrPrivateKey instanceof KeyObject)) { - try { - secretOrPrivateKey = createPrivateKey(secretOrPrivateKey); - } catch (_) { - try { - secretOrPrivateKey = createSecretKey(typeof secretOrPrivateKey === "string" ? Buffer.from(secretOrPrivateKey) : secretOrPrivateKey); - } catch (_2) { - return failure(new Error("secretOrPrivateKey is not valid key material")); - } - } - } - if (header.alg.startsWith("HS") && secretOrPrivateKey.type !== "secret") { - return failure(new Error(`secretOrPrivateKey must be a symmetric key when using ${header.alg}`)); - } else if (/^(?:RS|PS|ES)/.test(header.alg)) { - if (secretOrPrivateKey.type !== "private") { - return failure(new Error(`secretOrPrivateKey must be an asymmetric key when using ${header.alg}`)); - } - if (!options.allowInsecureKeySizes && !header.alg.startsWith("ES") && secretOrPrivateKey.asymmetricKeyDetails !== void 0 && secretOrPrivateKey.asymmetricKeyDetails.modulusLength < 2048) { - return failure(new Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${header.alg}`)); - } - } - if (typeof payload === "undefined") { - return failure(new Error("payload is required")); - } else if (isObjectPayload) { - try { - validatePayload(payload); - } catch (error) { - return failure(error); - } - if (!options.mutatePayload) { - payload = Object.assign({}, payload); - } - } else { - const invalid_options = options_for_objects.filter(function(opt) { - return typeof options[opt] !== "undefined"; - }); - if (invalid_options.length > 0) { - return failure(new Error("invalid " + invalid_options.join(",") + " option for " + typeof payload + " payload")); - } - } - if (typeof payload.exp !== "undefined" && typeof options.expiresIn !== "undefined") { - return failure(new Error('Bad "options.expiresIn" option the payload already has an "exp" property.')); - } - if (typeof payload.nbf !== "undefined" && typeof options.notBefore !== "undefined") { - return failure(new Error('Bad "options.notBefore" option the payload already has an "nbf" property.')); - } - try { - validateOptions(options); - } catch (error) { - return failure(error); - } - if (!options.allowInvalidAsymmetricKeyTypes) { - try { - validateAsymmetricKey(header.alg, secretOrPrivateKey); - } catch (error) { - return failure(error); - } - } - const timestamp2 = payload.iat || Math.floor(Date.now() / 1e3); - if (options.noTimestamp) { - delete payload.iat; - } else if (isObjectPayload) { - payload.iat = timestamp2; - } - if (typeof options.notBefore !== "undefined") { - try { - payload.nbf = timespan(options.notBefore, timestamp2); - } catch (err) { - return failure(err); - } - if (typeof payload.nbf === "undefined") { - return failure(new Error('"notBefore" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60')); - } - } - if (typeof options.expiresIn !== "undefined" && typeof payload === "object") { - try { - payload.exp = timespan(options.expiresIn, timestamp2); - } catch (err) { - return failure(err); - } - if (typeof payload.exp === "undefined") { - return failure(new Error('"expiresIn" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60')); - } - } - Object.keys(options_to_payload).forEach(function(key) { - const claim = options_to_payload[key]; - if (typeof options[key] !== "undefined") { - if (typeof payload[claim] !== "undefined") { - return failure(new Error('Bad "options.' + key + '" option. The payload already has an "' + claim + '" property.')); - } - payload[claim] = options[key]; - } - }); - const encoding = options.encoding || "utf8"; - if (typeof callback === "function") { - callback = callback && once(callback); - jws.createSign({ - header, - privateKey: secretOrPrivateKey, - payload, - encoding - }).once("error", callback).once("done", function(signature) { - if (!options.allowInsecureKeySizes && /^(?:RS|PS)/.test(header.alg) && signature.length < 256) { - return callback(new Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${header.alg}`)); - } - callback(null, signature); - }); - } else { - let signature = jws.sign({ header, payload, secret: secretOrPrivateKey, encoding }); - if (!options.allowInsecureKeySizes && /^(?:RS|PS)/.test(header.alg) && signature.length < 256) { - throw new Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${header.alg}`); - } - return signature; - } - }; - } -}); - -// node_modules/jsonwebtoken/index.js -var require_jsonwebtoken = __commonJS({ - "node_modules/jsonwebtoken/index.js"(exports2, module2) { - module2.exports = { - verify: require_verify(), - sign: require_sign(), - JsonWebTokenError: require_JsonWebTokenError(), - NotBeforeError: require_NotBeforeError(), - TokenExpiredError: require_TokenExpiredError() - }; - Object.defineProperty(module2.exports, "decode", { - enumerable: false, - value: require_decode() - }); - } -}); - -// server/Modules/web/role/role.service.js -var createRole, getRole, getRoles, getRolePermissions, hasRolePermission, updateRole, deleteRole; -var init_role_service = __esm({ - "server/Modules/web/role/role.service.js"() { - init_server(); - createRole = async (name, desc, permissions, color) => { - const { resCode, resMsg } = await Database.createRole( - name, - desc, - permissions, - color - ); - return { resCode, resMsg }; - }; - getRole = async (name) => { - return Database.getRole(name); - }; - getRoles = async () => { - return Database.getRoles(); - }; - getRolePermissions = async (name) => { - if (typeof name !== "string") - return []; - const role = Database.getRole(name); - return role ? role.permissions : []; - }; - hasRolePermission = async (name, permAction, permResource) => { - if (typeof name !== "string") - return false; - const role = Database.getRole(name); - return role ? role.permissions.some( - (p) => p.action === permAction && p.subject === permResource - ) : false; - }; - updateRole = async (name, desc, permissions, color) => { - return Database.updateRole(name, desc, permissions, color); - }; - deleteRole = async (name) => { - return Database.deleteRole(name); - }; - } -}); - -// server/Utils/query.params.js -var init_query_params = __esm({ - "server/Utils/query.params.js"() { - } -}); - -// node_modules/mime/Mime.js -var require_Mime = __commonJS({ - "node_modules/mime/Mime.js"(exports2, module2) { - "use strict"; - function Mime() { - this._types = /* @__PURE__ */ Object.create(null); - this._extensions = /* @__PURE__ */ Object.create(null); - for (let i = 0; i < arguments.length; i++) { - this.define(arguments[i]); - } - this.define = this.define.bind(this); - this.getType = this.getType.bind(this); - this.getExtension = this.getExtension.bind(this); - } - Mime.prototype.define = function(typeMap, force) { - for (let type in typeMap) { - let extensions = typeMap[type].map(function(t) { - return t.toLowerCase(); - }); - type = type.toLowerCase(); - for (let i = 0; i < extensions.length; i++) { - const ext = extensions[i]; - if (ext[0] === "*") { - continue; - } - if (!force && ext in this._types) { - throw new Error( - 'Attempt to change mapping for "' + ext + '" extension from "' + this._types[ext] + '" to "' + type + '". Pass `force=true` to allow this, otherwise remove "' + ext + '" from the list of extensions for "' + type + '".' - ); - } - this._types[ext] = type; - } - if (force || !this._extensions[type]) { - const ext = extensions[0]; - this._extensions[type] = ext[0] !== "*" ? ext : ext.substr(1); - } - } - }; - Mime.prototype.getType = function(path4) { - path4 = String(path4); - let last = path4.replace(/^.*[/\\]/, "").toLowerCase(); - let ext = last.replace(/^.*\./, "").toLowerCase(); - let hasPath = last.length < path4.length; - let hasDot = ext.length < last.length - 1; - return (hasDot || !hasPath) && this._types[ext] || null; - }; - Mime.prototype.getExtension = function(type) { - type = /^\s*([^;\s]*)/.test(type) && RegExp.$1; - return type && this._extensions[type.toLowerCase()] || null; - }; - module2.exports = Mime; - } -}); - -// node_modules/mime/types/standard.js -var require_standard = __commonJS({ - "node_modules/mime/types/standard.js"(exports2, module2) { - module2.exports = { "application/andrew-inset": ["ez"], "application/applixware": ["aw"], "application/atom+xml": ["atom"], "application/atomcat+xml": ["atomcat"], "application/atomdeleted+xml": ["atomdeleted"], "application/atomsvc+xml": ["atomsvc"], "application/atsc-dwd+xml": ["dwd"], "application/atsc-held+xml": ["held"], "application/atsc-rsat+xml": ["rsat"], "application/bdoc": ["bdoc"], "application/calendar+xml": ["xcs"], "application/ccxml+xml": ["ccxml"], "application/cdfx+xml": ["cdfx"], "application/cdmi-capability": ["cdmia"], "application/cdmi-container": ["cdmic"], "application/cdmi-domain": ["cdmid"], "application/cdmi-object": ["cdmio"], "application/cdmi-queue": ["cdmiq"], "application/cu-seeme": ["cu"], "application/dash+xml": ["mpd"], "application/davmount+xml": ["davmount"], "application/docbook+xml": ["dbk"], "application/dssc+der": ["dssc"], "application/dssc+xml": ["xdssc"], "application/ecmascript": ["es", "ecma"], "application/emma+xml": ["emma"], "application/emotionml+xml": ["emotionml"], "application/epub+zip": ["epub"], "application/exi": ["exi"], "application/express": ["exp"], "application/fdt+xml": ["fdt"], "application/font-tdpfr": ["pfr"], "application/geo+json": ["geojson"], "application/gml+xml": ["gml"], "application/gpx+xml": ["gpx"], "application/gxf": ["gxf"], "application/gzip": ["gz"], "application/hjson": ["hjson"], "application/hyperstudio": ["stk"], "application/inkml+xml": ["ink", "inkml"], "application/ipfix": ["ipfix"], "application/its+xml": ["its"], "application/java-archive": ["jar", "war", "ear"], "application/java-serialized-object": ["ser"], "application/java-vm": ["class"], "application/javascript": ["js", "mjs"], "application/json": ["json", "map"], "application/json5": ["json5"], "application/jsonml+json": ["jsonml"], "application/ld+json": ["jsonld"], "application/lgr+xml": ["lgr"], "application/lost+xml": ["lostxml"], "application/mac-binhex40": ["hqx"], "application/mac-compactpro": ["cpt"], "application/mads+xml": ["mads"], "application/manifest+json": ["webmanifest"], "application/marc": ["mrc"], "application/marcxml+xml": ["mrcx"], "application/mathematica": ["ma", "nb", "mb"], "application/mathml+xml": ["mathml"], "application/mbox": ["mbox"], "application/mediaservercontrol+xml": ["mscml"], "application/metalink+xml": ["metalink"], "application/metalink4+xml": ["meta4"], "application/mets+xml": ["mets"], "application/mmt-aei+xml": ["maei"], "application/mmt-usd+xml": ["musd"], "application/mods+xml": ["mods"], "application/mp21": ["m21", "mp21"], "application/mp4": ["mp4s", "m4p"], "application/msword": ["doc", "dot"], "application/mxf": ["mxf"], "application/n-quads": ["nq"], "application/n-triples": ["nt"], "application/node": ["cjs"], "application/octet-stream": ["bin", "dms", "lrf", "mar", "so", "dist", "distz", "pkg", "bpk", "dump", "elc", "deploy", "exe", "dll", "deb", "dmg", "iso", "img", "msi", "msp", "msm", "buffer"], "application/oda": ["oda"], "application/oebps-package+xml": ["opf"], "application/ogg": ["ogx"], "application/omdoc+xml": ["omdoc"], "application/onenote": ["onetoc", "onetoc2", "onetmp", "onepkg"], "application/oxps": ["oxps"], "application/p2p-overlay+xml": ["relo"], "application/patch-ops-error+xml": ["xer"], "application/pdf": ["pdf"], "application/pgp-encrypted": ["pgp"], "application/pgp-signature": ["asc", "sig"], "application/pics-rules": ["prf"], "application/pkcs10": ["p10"], "application/pkcs7-mime": ["p7m", "p7c"], "application/pkcs7-signature": ["p7s"], "application/pkcs8": ["p8"], "application/pkix-attr-cert": ["ac"], "application/pkix-cert": ["cer"], "application/pkix-crl": ["crl"], "application/pkix-pkipath": ["pkipath"], "application/pkixcmp": ["pki"], "application/pls+xml": ["pls"], "application/postscript": ["ai", "eps", "ps"], "application/provenance+xml": ["provx"], "application/pskc+xml": ["pskcxml"], "application/raml+yaml": ["raml"], "application/rdf+xml": ["rdf", "owl"], "application/reginfo+xml": ["rif"], "application/relax-ng-compact-syntax": ["rnc"], "application/resource-lists+xml": ["rl"], "application/resource-lists-diff+xml": ["rld"], "application/rls-services+xml": ["rs"], "application/route-apd+xml": ["rapd"], "application/route-s-tsid+xml": ["sls"], "application/route-usd+xml": ["rusd"], "application/rpki-ghostbusters": ["gbr"], "application/rpki-manifest": ["mft"], "application/rpki-roa": ["roa"], "application/rsd+xml": ["rsd"], "application/rss+xml": ["rss"], "application/rtf": ["rtf"], "application/sbml+xml": ["sbml"], "application/scvp-cv-request": ["scq"], "application/scvp-cv-response": ["scs"], "application/scvp-vp-request": ["spq"], "application/scvp-vp-response": ["spp"], "application/sdp": ["sdp"], "application/senml+xml": ["senmlx"], "application/sensml+xml": ["sensmlx"], "application/set-payment-initiation": ["setpay"], "application/set-registration-initiation": ["setreg"], "application/shf+xml": ["shf"], "application/sieve": ["siv", "sieve"], "application/smil+xml": ["smi", "smil"], "application/sparql-query": ["rq"], "application/sparql-results+xml": ["srx"], "application/srgs": ["gram"], "application/srgs+xml": ["grxml"], "application/sru+xml": ["sru"], "application/ssdl+xml": ["ssdl"], "application/ssml+xml": ["ssml"], "application/swid+xml": ["swidtag"], "application/tei+xml": ["tei", "teicorpus"], "application/thraud+xml": ["tfi"], "application/timestamped-data": ["tsd"], "application/toml": ["toml"], "application/trig": ["trig"], "application/ttml+xml": ["ttml"], "application/ubjson": ["ubj"], "application/urc-ressheet+xml": ["rsheet"], "application/urc-targetdesc+xml": ["td"], "application/voicexml+xml": ["vxml"], "application/wasm": ["wasm"], "application/widget": ["wgt"], "application/winhlp": ["hlp"], "application/wsdl+xml": ["wsdl"], "application/wspolicy+xml": ["wspolicy"], "application/xaml+xml": ["xaml"], "application/xcap-att+xml": ["xav"], "application/xcap-caps+xml": ["xca"], "application/xcap-diff+xml": ["xdf"], "application/xcap-el+xml": ["xel"], "application/xcap-ns+xml": ["xns"], "application/xenc+xml": ["xenc"], "application/xhtml+xml": ["xhtml", "xht"], "application/xliff+xml": ["xlf"], "application/xml": ["xml", "xsl", "xsd", "rng"], "application/xml-dtd": ["dtd"], "application/xop+xml": ["xop"], "application/xproc+xml": ["xpl"], "application/xslt+xml": ["*xsl", "xslt"], "application/xspf+xml": ["xspf"], "application/xv+xml": ["mxml", "xhvml", "xvml", "xvm"], "application/yang": ["yang"], "application/yin+xml": ["yin"], "application/zip": ["zip"], "audio/3gpp": ["*3gpp"], "audio/adpcm": ["adp"], "audio/amr": ["amr"], "audio/basic": ["au", "snd"], "audio/midi": ["mid", "midi", "kar", "rmi"], "audio/mobile-xmf": ["mxmf"], "audio/mp3": ["*mp3"], "audio/mp4": ["m4a", "mp4a"], "audio/mpeg": ["mpga", "mp2", "mp2a", "mp3", "m2a", "m3a"], "audio/ogg": ["oga", "ogg", "spx", "opus"], "audio/s3m": ["s3m"], "audio/silk": ["sil"], "audio/wav": ["wav"], "audio/wave": ["*wav"], "audio/webm": ["weba"], "audio/xm": ["xm"], "font/collection": ["ttc"], "font/otf": ["otf"], "font/ttf": ["ttf"], "font/woff": ["woff"], "font/woff2": ["woff2"], "image/aces": ["exr"], "image/apng": ["apng"], "image/avif": ["avif"], "image/bmp": ["bmp"], "image/cgm": ["cgm"], "image/dicom-rle": ["drle"], "image/emf": ["emf"], "image/fits": ["fits"], "image/g3fax": ["g3"], "image/gif": ["gif"], "image/heic": ["heic"], "image/heic-sequence": ["heics"], "image/heif": ["heif"], "image/heif-sequence": ["heifs"], "image/hej2k": ["hej2"], "image/hsj2": ["hsj2"], "image/ief": ["ief"], "image/jls": ["jls"], "image/jp2": ["jp2", "jpg2"], "image/jpeg": ["jpeg", "jpg", "jpe"], "image/jph": ["jph"], "image/jphc": ["jhc"], "image/jpm": ["jpm"], "image/jpx": ["jpx", "jpf"], "image/jxr": ["jxr"], "image/jxra": ["jxra"], "image/jxrs": ["jxrs"], "image/jxs": ["jxs"], "image/jxsc": ["jxsc"], "image/jxsi": ["jxsi"], "image/jxss": ["jxss"], "image/ktx": ["ktx"], "image/ktx2": ["ktx2"], "image/png": ["png"], "image/sgi": ["sgi"], "image/svg+xml": ["svg", "svgz"], "image/t38": ["t38"], "image/tiff": ["tif", "tiff"], "image/tiff-fx": ["tfx"], "image/webp": ["webp"], "image/wmf": ["wmf"], "message/disposition-notification": ["disposition-notification"], "message/global": ["u8msg"], "message/global-delivery-status": ["u8dsn"], "message/global-disposition-notification": ["u8mdn"], "message/global-headers": ["u8hdr"], "message/rfc822": ["eml", "mime"], "model/3mf": ["3mf"], "model/gltf+json": ["gltf"], "model/gltf-binary": ["glb"], "model/iges": ["igs", "iges"], "model/mesh": ["msh", "mesh", "silo"], "model/mtl": ["mtl"], "model/obj": ["obj"], "model/step+xml": ["stpx"], "model/step+zip": ["stpz"], "model/step-xml+zip": ["stpxz"], "model/stl": ["stl"], "model/vrml": ["wrl", "vrml"], "model/x3d+binary": ["*x3db", "x3dbz"], "model/x3d+fastinfoset": ["x3db"], "model/x3d+vrml": ["*x3dv", "x3dvz"], "model/x3d+xml": ["x3d", "x3dz"], "model/x3d-vrml": ["x3dv"], "text/cache-manifest": ["appcache", "manifest"], "text/calendar": ["ics", "ifb"], "text/coffeescript": ["coffee", "litcoffee"], "text/css": ["css"], "text/csv": ["csv"], "text/html": ["html", "htm", "shtml"], "text/jade": ["jade"], "text/jsx": ["jsx"], "text/less": ["less"], "text/markdown": ["markdown", "md"], "text/mathml": ["mml"], "text/mdx": ["mdx"], "text/n3": ["n3"], "text/plain": ["txt", "text", "conf", "def", "list", "log", "in", "ini"], "text/richtext": ["rtx"], "text/rtf": ["*rtf"], "text/sgml": ["sgml", "sgm"], "text/shex": ["shex"], "text/slim": ["slim", "slm"], "text/spdx": ["spdx"], "text/stylus": ["stylus", "styl"], "text/tab-separated-values": ["tsv"], "text/troff": ["t", "tr", "roff", "man", "me", "ms"], "text/turtle": ["ttl"], "text/uri-list": ["uri", "uris", "urls"], "text/vcard": ["vcard"], "text/vtt": ["vtt"], "text/xml": ["*xml"], "text/yaml": ["yaml", "yml"], "video/3gpp": ["3gp", "3gpp"], "video/3gpp2": ["3g2"], "video/h261": ["h261"], "video/h263": ["h263"], "video/h264": ["h264"], "video/iso.segment": ["m4s"], "video/jpeg": ["jpgv"], "video/jpm": ["*jpm", "jpgm"], "video/mj2": ["mj2", "mjp2"], "video/mp2t": ["ts"], "video/mp4": ["mp4", "mp4v", "mpg4"], "video/mpeg": ["mpeg", "mpg", "mpe", "m1v", "m2v"], "video/ogg": ["ogv"], "video/quicktime": ["qt", "mov"], "video/webm": ["webm"] }; - } -}); - -// node_modules/mime/types/other.js -var require_other = __commonJS({ - "node_modules/mime/types/other.js"(exports2, module2) { - module2.exports = { "application/prs.cww": ["cww"], "application/vnd.1000minds.decision-model+xml": ["1km"], "application/vnd.3gpp.pic-bw-large": ["plb"], "application/vnd.3gpp.pic-bw-small": ["psb"], "application/vnd.3gpp.pic-bw-var": ["pvb"], "application/vnd.3gpp2.tcap": ["tcap"], "application/vnd.3m.post-it-notes": ["pwn"], "application/vnd.accpac.simply.aso": ["aso"], "application/vnd.accpac.simply.imp": ["imp"], "application/vnd.acucobol": ["acu"], "application/vnd.acucorp": ["atc", "acutc"], "application/vnd.adobe.air-application-installer-package+zip": ["air"], "application/vnd.adobe.formscentral.fcdt": ["fcdt"], "application/vnd.adobe.fxp": ["fxp", "fxpl"], "application/vnd.adobe.xdp+xml": ["xdp"], "application/vnd.adobe.xfdf": ["xfdf"], "application/vnd.ahead.space": ["ahead"], "application/vnd.airzip.filesecure.azf": ["azf"], "application/vnd.airzip.filesecure.azs": ["azs"], "application/vnd.amazon.ebook": ["azw"], "application/vnd.americandynamics.acc": ["acc"], "application/vnd.amiga.ami": ["ami"], "application/vnd.android.package-archive": ["apk"], "application/vnd.anser-web-certificate-issue-initiation": ["cii"], "application/vnd.anser-web-funds-transfer-initiation": ["fti"], "application/vnd.antix.game-component": ["atx"], "application/vnd.apple.installer+xml": ["mpkg"], "application/vnd.apple.keynote": ["key"], "application/vnd.apple.mpegurl": ["m3u8"], "application/vnd.apple.numbers": ["numbers"], "application/vnd.apple.pages": ["pages"], "application/vnd.apple.pkpass": ["pkpass"], "application/vnd.aristanetworks.swi": ["swi"], "application/vnd.astraea-software.iota": ["iota"], "application/vnd.audiograph": ["aep"], "application/vnd.balsamiq.bmml+xml": ["bmml"], "application/vnd.blueice.multipass": ["mpm"], "application/vnd.bmi": ["bmi"], "application/vnd.businessobjects": ["rep"], "application/vnd.chemdraw+xml": ["cdxml"], "application/vnd.chipnuts.karaoke-mmd": ["mmd"], "application/vnd.cinderella": ["cdy"], "application/vnd.citationstyles.style+xml": ["csl"], "application/vnd.claymore": ["cla"], "application/vnd.cloanto.rp9": ["rp9"], "application/vnd.clonk.c4group": ["c4g", "c4d", "c4f", "c4p", "c4u"], "application/vnd.cluetrust.cartomobile-config": ["c11amc"], "application/vnd.cluetrust.cartomobile-config-pkg": ["c11amz"], "application/vnd.commonspace": ["csp"], "application/vnd.contact.cmsg": ["cdbcmsg"], "application/vnd.cosmocaller": ["cmc"], "application/vnd.crick.clicker": ["clkx"], "application/vnd.crick.clicker.keyboard": ["clkk"], "application/vnd.crick.clicker.palette": ["clkp"], "application/vnd.crick.clicker.template": ["clkt"], "application/vnd.crick.clicker.wordbank": ["clkw"], "application/vnd.criticaltools.wbs+xml": ["wbs"], "application/vnd.ctc-posml": ["pml"], "application/vnd.cups-ppd": ["ppd"], "application/vnd.curl.car": ["car"], "application/vnd.curl.pcurl": ["pcurl"], "application/vnd.dart": ["dart"], "application/vnd.data-vision.rdz": ["rdz"], "application/vnd.dbf": ["dbf"], "application/vnd.dece.data": ["uvf", "uvvf", "uvd", "uvvd"], "application/vnd.dece.ttml+xml": ["uvt", "uvvt"], "application/vnd.dece.unspecified": ["uvx", "uvvx"], "application/vnd.dece.zip": ["uvz", "uvvz"], "application/vnd.denovo.fcselayout-link": ["fe_launch"], "application/vnd.dna": ["dna"], "application/vnd.dolby.mlp": ["mlp"], "application/vnd.dpgraph": ["dpg"], "application/vnd.dreamfactory": ["dfac"], "application/vnd.ds-keypoint": ["kpxx"], "application/vnd.dvb.ait": ["ait"], "application/vnd.dvb.service": ["svc"], "application/vnd.dynageo": ["geo"], "application/vnd.ecowin.chart": ["mag"], "application/vnd.enliven": ["nml"], "application/vnd.epson.esf": ["esf"], "application/vnd.epson.msf": ["msf"], "application/vnd.epson.quickanime": ["qam"], "application/vnd.epson.salt": ["slt"], "application/vnd.epson.ssf": ["ssf"], "application/vnd.eszigno3+xml": ["es3", "et3"], "application/vnd.ezpix-album": ["ez2"], "application/vnd.ezpix-package": ["ez3"], "application/vnd.fdf": ["fdf"], "application/vnd.fdsn.mseed": ["mseed"], "application/vnd.fdsn.seed": ["seed", "dataless"], "application/vnd.flographit": ["gph"], "application/vnd.fluxtime.clip": ["ftc"], "application/vnd.framemaker": ["fm", "frame", "maker", "book"], "application/vnd.frogans.fnc": ["fnc"], "application/vnd.frogans.ltf": ["ltf"], "application/vnd.fsc.weblaunch": ["fsc"], "application/vnd.fujitsu.oasys": ["oas"], "application/vnd.fujitsu.oasys2": ["oa2"], "application/vnd.fujitsu.oasys3": ["oa3"], "application/vnd.fujitsu.oasysgp": ["fg5"], "application/vnd.fujitsu.oasysprs": ["bh2"], "application/vnd.fujixerox.ddd": ["ddd"], "application/vnd.fujixerox.docuworks": ["xdw"], "application/vnd.fujixerox.docuworks.binder": ["xbd"], "application/vnd.fuzzysheet": ["fzs"], "application/vnd.genomatix.tuxedo": ["txd"], "application/vnd.geogebra.file": ["ggb"], "application/vnd.geogebra.tool": ["ggt"], "application/vnd.geometry-explorer": ["gex", "gre"], "application/vnd.geonext": ["gxt"], "application/vnd.geoplan": ["g2w"], "application/vnd.geospace": ["g3w"], "application/vnd.gmx": ["gmx"], "application/vnd.google-apps.document": ["gdoc"], "application/vnd.google-apps.presentation": ["gslides"], "application/vnd.google-apps.spreadsheet": ["gsheet"], "application/vnd.google-earth.kml+xml": ["kml"], "application/vnd.google-earth.kmz": ["kmz"], "application/vnd.grafeq": ["gqf", "gqs"], "application/vnd.groove-account": ["gac"], "application/vnd.groove-help": ["ghf"], "application/vnd.groove-identity-message": ["gim"], "application/vnd.groove-injector": ["grv"], "application/vnd.groove-tool-message": ["gtm"], "application/vnd.groove-tool-template": ["tpl"], "application/vnd.groove-vcard": ["vcg"], "application/vnd.hal+xml": ["hal"], "application/vnd.handheld-entertainment+xml": ["zmm"], "application/vnd.hbci": ["hbci"], "application/vnd.hhe.lesson-player": ["les"], "application/vnd.hp-hpgl": ["hpgl"], "application/vnd.hp-hpid": ["hpid"], "application/vnd.hp-hps": ["hps"], "application/vnd.hp-jlyt": ["jlt"], "application/vnd.hp-pcl": ["pcl"], "application/vnd.hp-pclxl": ["pclxl"], "application/vnd.hydrostatix.sof-data": ["sfd-hdstx"], "application/vnd.ibm.minipay": ["mpy"], "application/vnd.ibm.modcap": ["afp", "listafp", "list3820"], "application/vnd.ibm.rights-management": ["irm"], "application/vnd.ibm.secure-container": ["sc"], "application/vnd.iccprofile": ["icc", "icm"], "application/vnd.igloader": ["igl"], "application/vnd.immervision-ivp": ["ivp"], "application/vnd.immervision-ivu": ["ivu"], "application/vnd.insors.igm": ["igm"], "application/vnd.intercon.formnet": ["xpw", "xpx"], "application/vnd.intergeo": ["i2g"], "application/vnd.intu.qbo": ["qbo"], "application/vnd.intu.qfx": ["qfx"], "application/vnd.ipunplugged.rcprofile": ["rcprofile"], "application/vnd.irepository.package+xml": ["irp"], "application/vnd.is-xpr": ["xpr"], "application/vnd.isac.fcs": ["fcs"], "application/vnd.jam": ["jam"], "application/vnd.jcp.javame.midlet-rms": ["rms"], "application/vnd.jisp": ["jisp"], "application/vnd.joost.joda-archive": ["joda"], "application/vnd.kahootz": ["ktz", "ktr"], "application/vnd.kde.karbon": ["karbon"], "application/vnd.kde.kchart": ["chrt"], "application/vnd.kde.kformula": ["kfo"], "application/vnd.kde.kivio": ["flw"], "application/vnd.kde.kontour": ["kon"], "application/vnd.kde.kpresenter": ["kpr", "kpt"], "application/vnd.kde.kspread": ["ksp"], "application/vnd.kde.kword": ["kwd", "kwt"], "application/vnd.kenameaapp": ["htke"], "application/vnd.kidspiration": ["kia"], "application/vnd.kinar": ["kne", "knp"], "application/vnd.koan": ["skp", "skd", "skt", "skm"], "application/vnd.kodak-descriptor": ["sse"], "application/vnd.las.las+xml": ["lasxml"], "application/vnd.llamagraphics.life-balance.desktop": ["lbd"], "application/vnd.llamagraphics.life-balance.exchange+xml": ["lbe"], "application/vnd.lotus-1-2-3": ["123"], "application/vnd.lotus-approach": ["apr"], "application/vnd.lotus-freelance": ["pre"], "application/vnd.lotus-notes": ["nsf"], "application/vnd.lotus-organizer": ["org"], "application/vnd.lotus-screencam": ["scm"], "application/vnd.lotus-wordpro": ["lwp"], "application/vnd.macports.portpkg": ["portpkg"], "application/vnd.mapbox-vector-tile": ["mvt"], "application/vnd.mcd": ["mcd"], "application/vnd.medcalcdata": ["mc1"], "application/vnd.mediastation.cdkey": ["cdkey"], "application/vnd.mfer": ["mwf"], "application/vnd.mfmp": ["mfm"], "application/vnd.micrografx.flo": ["flo"], "application/vnd.micrografx.igx": ["igx"], "application/vnd.mif": ["mif"], "application/vnd.mobius.daf": ["daf"], "application/vnd.mobius.dis": ["dis"], "application/vnd.mobius.mbk": ["mbk"], "application/vnd.mobius.mqy": ["mqy"], "application/vnd.mobius.msl": ["msl"], "application/vnd.mobius.plc": ["plc"], "application/vnd.mobius.txf": ["txf"], "application/vnd.mophun.application": ["mpn"], "application/vnd.mophun.certificate": ["mpc"], "application/vnd.mozilla.xul+xml": ["xul"], "application/vnd.ms-artgalry": ["cil"], "application/vnd.ms-cab-compressed": ["cab"], "application/vnd.ms-excel": ["xls", "xlm", "xla", "xlc", "xlt", "xlw"], "application/vnd.ms-excel.addin.macroenabled.12": ["xlam"], "application/vnd.ms-excel.sheet.binary.macroenabled.12": ["xlsb"], "application/vnd.ms-excel.sheet.macroenabled.12": ["xlsm"], "application/vnd.ms-excel.template.macroenabled.12": ["xltm"], "application/vnd.ms-fontobject": ["eot"], "application/vnd.ms-htmlhelp": ["chm"], "application/vnd.ms-ims": ["ims"], "application/vnd.ms-lrm": ["lrm"], "application/vnd.ms-officetheme": ["thmx"], "application/vnd.ms-outlook": ["msg"], "application/vnd.ms-pki.seccat": ["cat"], "application/vnd.ms-pki.stl": ["*stl"], "application/vnd.ms-powerpoint": ["ppt", "pps", "pot"], "application/vnd.ms-powerpoint.addin.macroenabled.12": ["ppam"], "application/vnd.ms-powerpoint.presentation.macroenabled.12": ["pptm"], "application/vnd.ms-powerpoint.slide.macroenabled.12": ["sldm"], "application/vnd.ms-powerpoint.slideshow.macroenabled.12": ["ppsm"], "application/vnd.ms-powerpoint.template.macroenabled.12": ["potm"], "application/vnd.ms-project": ["mpp", "mpt"], "application/vnd.ms-word.document.macroenabled.12": ["docm"], "application/vnd.ms-word.template.macroenabled.12": ["dotm"], "application/vnd.ms-works": ["wps", "wks", "wcm", "wdb"], "application/vnd.ms-wpl": ["wpl"], "application/vnd.ms-xpsdocument": ["xps"], "application/vnd.mseq": ["mseq"], "application/vnd.musician": ["mus"], "application/vnd.muvee.style": ["msty"], "application/vnd.mynfc": ["taglet"], "application/vnd.neurolanguage.nlu": ["nlu"], "application/vnd.nitf": ["ntf", "nitf"], "application/vnd.noblenet-directory": ["nnd"], "application/vnd.noblenet-sealer": ["nns"], "application/vnd.noblenet-web": ["nnw"], "application/vnd.nokia.n-gage.ac+xml": ["*ac"], "application/vnd.nokia.n-gage.data": ["ngdat"], "application/vnd.nokia.n-gage.symbian.install": ["n-gage"], "application/vnd.nokia.radio-preset": ["rpst"], "application/vnd.nokia.radio-presets": ["rpss"], "application/vnd.novadigm.edm": ["edm"], "application/vnd.novadigm.edx": ["edx"], "application/vnd.novadigm.ext": ["ext"], "application/vnd.oasis.opendocument.chart": ["odc"], "application/vnd.oasis.opendocument.chart-template": ["otc"], "application/vnd.oasis.opendocument.database": ["odb"], "application/vnd.oasis.opendocument.formula": ["odf"], "application/vnd.oasis.opendocument.formula-template": ["odft"], "application/vnd.oasis.opendocument.graphics": ["odg"], "application/vnd.oasis.opendocument.graphics-template": ["otg"], "application/vnd.oasis.opendocument.image": ["odi"], "application/vnd.oasis.opendocument.image-template": ["oti"], "application/vnd.oasis.opendocument.presentation": ["odp"], "application/vnd.oasis.opendocument.presentation-template": ["otp"], "application/vnd.oasis.opendocument.spreadsheet": ["ods"], "application/vnd.oasis.opendocument.spreadsheet-template": ["ots"], "application/vnd.oasis.opendocument.text": ["odt"], "application/vnd.oasis.opendocument.text-master": ["odm"], "application/vnd.oasis.opendocument.text-template": ["ott"], "application/vnd.oasis.opendocument.text-web": ["oth"], "application/vnd.olpc-sugar": ["xo"], "application/vnd.oma.dd2+xml": ["dd2"], "application/vnd.openblox.game+xml": ["obgx"], "application/vnd.openofficeorg.extension": ["oxt"], "application/vnd.openstreetmap.data+xml": ["osm"], "application/vnd.openxmlformats-officedocument.presentationml.presentation": ["pptx"], "application/vnd.openxmlformats-officedocument.presentationml.slide": ["sldx"], "application/vnd.openxmlformats-officedocument.presentationml.slideshow": ["ppsx"], "application/vnd.openxmlformats-officedocument.presentationml.template": ["potx"], "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": ["xlsx"], "application/vnd.openxmlformats-officedocument.spreadsheetml.template": ["xltx"], "application/vnd.openxmlformats-officedocument.wordprocessingml.document": ["docx"], "application/vnd.openxmlformats-officedocument.wordprocessingml.template": ["dotx"], "application/vnd.osgeo.mapguide.package": ["mgp"], "application/vnd.osgi.dp": ["dp"], "application/vnd.osgi.subsystem": ["esa"], "application/vnd.palm": ["pdb", "pqa", "oprc"], "application/vnd.pawaafile": ["paw"], "application/vnd.pg.format": ["str"], "application/vnd.pg.osasli": ["ei6"], "application/vnd.picsel": ["efif"], "application/vnd.pmi.widget": ["wg"], "application/vnd.pocketlearn": ["plf"], "application/vnd.powerbuilder6": ["pbd"], "application/vnd.previewsystems.box": ["box"], "application/vnd.proteus.magazine": ["mgz"], "application/vnd.publishare-delta-tree": ["qps"], "application/vnd.pvi.ptid1": ["ptid"], "application/vnd.quark.quarkxpress": ["qxd", "qxt", "qwd", "qwt", "qxl", "qxb"], "application/vnd.rar": ["rar"], "application/vnd.realvnc.bed": ["bed"], "application/vnd.recordare.musicxml": ["mxl"], "application/vnd.recordare.musicxml+xml": ["musicxml"], "application/vnd.rig.cryptonote": ["cryptonote"], "application/vnd.rim.cod": ["cod"], "application/vnd.rn-realmedia": ["rm"], "application/vnd.rn-realmedia-vbr": ["rmvb"], "application/vnd.route66.link66+xml": ["link66"], "application/vnd.sailingtracker.track": ["st"], "application/vnd.seemail": ["see"], "application/vnd.sema": ["sema"], "application/vnd.semd": ["semd"], "application/vnd.semf": ["semf"], "application/vnd.shana.informed.formdata": ["ifm"], "application/vnd.shana.informed.formtemplate": ["itp"], "application/vnd.shana.informed.interchange": ["iif"], "application/vnd.shana.informed.package": ["ipk"], "application/vnd.simtech-mindmapper": ["twd", "twds"], "application/vnd.smaf": ["mmf"], "application/vnd.smart.teacher": ["teacher"], "application/vnd.software602.filler.form+xml": ["fo"], "application/vnd.solent.sdkm+xml": ["sdkm", "sdkd"], "application/vnd.spotfire.dxp": ["dxp"], "application/vnd.spotfire.sfs": ["sfs"], "application/vnd.stardivision.calc": ["sdc"], "application/vnd.stardivision.draw": ["sda"], "application/vnd.stardivision.impress": ["sdd"], "application/vnd.stardivision.math": ["smf"], "application/vnd.stardivision.writer": ["sdw", "vor"], "application/vnd.stardivision.writer-global": ["sgl"], "application/vnd.stepmania.package": ["smzip"], "application/vnd.stepmania.stepchart": ["sm"], "application/vnd.sun.wadl+xml": ["wadl"], "application/vnd.sun.xml.calc": ["sxc"], "application/vnd.sun.xml.calc.template": ["stc"], "application/vnd.sun.xml.draw": ["sxd"], "application/vnd.sun.xml.draw.template": ["std"], "application/vnd.sun.xml.impress": ["sxi"], "application/vnd.sun.xml.impress.template": ["sti"], "application/vnd.sun.xml.math": ["sxm"], "application/vnd.sun.xml.writer": ["sxw"], "application/vnd.sun.xml.writer.global": ["sxg"], "application/vnd.sun.xml.writer.template": ["stw"], "application/vnd.sus-calendar": ["sus", "susp"], "application/vnd.svd": ["svd"], "application/vnd.symbian.install": ["sis", "sisx"], "application/vnd.syncml+xml": ["xsm"], "application/vnd.syncml.dm+wbxml": ["bdm"], "application/vnd.syncml.dm+xml": ["xdm"], "application/vnd.syncml.dmddf+xml": ["ddf"], "application/vnd.tao.intent-module-archive": ["tao"], "application/vnd.tcpdump.pcap": ["pcap", "cap", "dmp"], "application/vnd.tmobile-livetv": ["tmo"], "application/vnd.trid.tpt": ["tpt"], "application/vnd.triscape.mxs": ["mxs"], "application/vnd.trueapp": ["tra"], "application/vnd.ufdl": ["ufd", "ufdl"], "application/vnd.uiq.theme": ["utz"], "application/vnd.umajin": ["umj"], "application/vnd.unity": ["unityweb"], "application/vnd.uoml+xml": ["uoml"], "application/vnd.vcx": ["vcx"], "application/vnd.visio": ["vsd", "vst", "vss", "vsw"], "application/vnd.visionary": ["vis"], "application/vnd.vsf": ["vsf"], "application/vnd.wap.wbxml": ["wbxml"], "application/vnd.wap.wmlc": ["wmlc"], "application/vnd.wap.wmlscriptc": ["wmlsc"], "application/vnd.webturbo": ["wtb"], "application/vnd.wolfram.player": ["nbp"], "application/vnd.wordperfect": ["wpd"], "application/vnd.wqd": ["wqd"], "application/vnd.wt.stf": ["stf"], "application/vnd.xara": ["xar"], "application/vnd.xfdl": ["xfdl"], "application/vnd.yamaha.hv-dic": ["hvd"], "application/vnd.yamaha.hv-script": ["hvs"], "application/vnd.yamaha.hv-voice": ["hvp"], "application/vnd.yamaha.openscoreformat": ["osf"], "application/vnd.yamaha.openscoreformat.osfpvg+xml": ["osfpvg"], "application/vnd.yamaha.smaf-audio": ["saf"], "application/vnd.yamaha.smaf-phrase": ["spf"], "application/vnd.yellowriver-custom-menu": ["cmp"], "application/vnd.zul": ["zir", "zirz"], "application/vnd.zzazz.deck+xml": ["zaz"], "application/x-7z-compressed": ["7z"], "application/x-abiword": ["abw"], "application/x-ace-compressed": ["ace"], "application/x-apple-diskimage": ["*dmg"], "application/x-arj": ["arj"], "application/x-authorware-bin": ["aab", "x32", "u32", "vox"], "application/x-authorware-map": ["aam"], "application/x-authorware-seg": ["aas"], "application/x-bcpio": ["bcpio"], "application/x-bdoc": ["*bdoc"], "application/x-bittorrent": ["torrent"], "application/x-blorb": ["blb", "blorb"], "application/x-bzip": ["bz"], "application/x-bzip2": ["bz2", "boz"], "application/x-cbr": ["cbr", "cba", "cbt", "cbz", "cb7"], "application/x-cdlink": ["vcd"], "application/x-cfs-compressed": ["cfs"], "application/x-chat": ["chat"], "application/x-chess-pgn": ["pgn"], "application/x-chrome-extension": ["crx"], "application/x-cocoa": ["cco"], "application/x-conference": ["nsc"], "application/x-cpio": ["cpio"], "application/x-csh": ["csh"], "application/x-debian-package": ["*deb", "udeb"], "application/x-dgc-compressed": ["dgc"], "application/x-director": ["dir", "dcr", "dxr", "cst", "cct", "cxt", "w3d", "fgd", "swa"], "application/x-doom": ["wad"], "application/x-dtbncx+xml": ["ncx"], "application/x-dtbook+xml": ["dtb"], "application/x-dtbresource+xml": ["res"], "application/x-dvi": ["dvi"], "application/x-envoy": ["evy"], "application/x-eva": ["eva"], "application/x-font-bdf": ["bdf"], "application/x-font-ghostscript": ["gsf"], "application/x-font-linux-psf": ["psf"], "application/x-font-pcf": ["pcf"], "application/x-font-snf": ["snf"], "application/x-font-type1": ["pfa", "pfb", "pfm", "afm"], "application/x-freearc": ["arc"], "application/x-futuresplash": ["spl"], "application/x-gca-compressed": ["gca"], "application/x-glulx": ["ulx"], "application/x-gnumeric": ["gnumeric"], "application/x-gramps-xml": ["gramps"], "application/x-gtar": ["gtar"], "application/x-hdf": ["hdf"], "application/x-httpd-php": ["php"], "application/x-install-instructions": ["install"], "application/x-iso9660-image": ["*iso"], "application/x-iwork-keynote-sffkey": ["*key"], "application/x-iwork-numbers-sffnumbers": ["*numbers"], "application/x-iwork-pages-sffpages": ["*pages"], "application/x-java-archive-diff": ["jardiff"], "application/x-java-jnlp-file": ["jnlp"], "application/x-keepass2": ["kdbx"], "application/x-latex": ["latex"], "application/x-lua-bytecode": ["luac"], "application/x-lzh-compressed": ["lzh", "lha"], "application/x-makeself": ["run"], "application/x-mie": ["mie"], "application/x-mobipocket-ebook": ["prc", "mobi"], "application/x-ms-application": ["application"], "application/x-ms-shortcut": ["lnk"], "application/x-ms-wmd": ["wmd"], "application/x-ms-wmz": ["wmz"], "application/x-ms-xbap": ["xbap"], "application/x-msaccess": ["mdb"], "application/x-msbinder": ["obd"], "application/x-mscardfile": ["crd"], "application/x-msclip": ["clp"], "application/x-msdos-program": ["*exe"], "application/x-msdownload": ["*exe", "*dll", "com", "bat", "*msi"], "application/x-msmediaview": ["mvb", "m13", "m14"], "application/x-msmetafile": ["*wmf", "*wmz", "*emf", "emz"], "application/x-msmoney": ["mny"], "application/x-mspublisher": ["pub"], "application/x-msschedule": ["scd"], "application/x-msterminal": ["trm"], "application/x-mswrite": ["wri"], "application/x-netcdf": ["nc", "cdf"], "application/x-ns-proxy-autoconfig": ["pac"], "application/x-nzb": ["nzb"], "application/x-perl": ["pl", "pm"], "application/x-pilot": ["*prc", "*pdb"], "application/x-pkcs12": ["p12", "pfx"], "application/x-pkcs7-certificates": ["p7b", "spc"], "application/x-pkcs7-certreqresp": ["p7r"], "application/x-rar-compressed": ["*rar"], "application/x-redhat-package-manager": ["rpm"], "application/x-research-info-systems": ["ris"], "application/x-sea": ["sea"], "application/x-sh": ["sh"], "application/x-shar": ["shar"], "application/x-shockwave-flash": ["swf"], "application/x-silverlight-app": ["xap"], "application/x-sql": ["sql"], "application/x-stuffit": ["sit"], "application/x-stuffitx": ["sitx"], "application/x-subrip": ["srt"], "application/x-sv4cpio": ["sv4cpio"], "application/x-sv4crc": ["sv4crc"], "application/x-t3vm-image": ["t3"], "application/x-tads": ["gam"], "application/x-tar": ["tar"], "application/x-tcl": ["tcl", "tk"], "application/x-tex": ["tex"], "application/x-tex-tfm": ["tfm"], "application/x-texinfo": ["texinfo", "texi"], "application/x-tgif": ["*obj"], "application/x-ustar": ["ustar"], "application/x-virtualbox-hdd": ["hdd"], "application/x-virtualbox-ova": ["ova"], "application/x-virtualbox-ovf": ["ovf"], "application/x-virtualbox-vbox": ["vbox"], "application/x-virtualbox-vbox-extpack": ["vbox-extpack"], "application/x-virtualbox-vdi": ["vdi"], "application/x-virtualbox-vhd": ["vhd"], "application/x-virtualbox-vmdk": ["vmdk"], "application/x-wais-source": ["src"], "application/x-web-app-manifest+json": ["webapp"], "application/x-x509-ca-cert": ["der", "crt", "pem"], "application/x-xfig": ["fig"], "application/x-xliff+xml": ["*xlf"], "application/x-xpinstall": ["xpi"], "application/x-xz": ["xz"], "application/x-zmachine": ["z1", "z2", "z3", "z4", "z5", "z6", "z7", "z8"], "audio/vnd.dece.audio": ["uva", "uvva"], "audio/vnd.digital-winds": ["eol"], "audio/vnd.dra": ["dra"], "audio/vnd.dts": ["dts"], "audio/vnd.dts.hd": ["dtshd"], "audio/vnd.lucent.voice": ["lvp"], "audio/vnd.ms-playready.media.pya": ["pya"], "audio/vnd.nuera.ecelp4800": ["ecelp4800"], "audio/vnd.nuera.ecelp7470": ["ecelp7470"], "audio/vnd.nuera.ecelp9600": ["ecelp9600"], "audio/vnd.rip": ["rip"], "audio/x-aac": ["aac"], "audio/x-aiff": ["aif", "aiff", "aifc"], "audio/x-caf": ["caf"], "audio/x-flac": ["flac"], "audio/x-m4a": ["*m4a"], "audio/x-matroska": ["mka"], "audio/x-mpegurl": ["m3u"], "audio/x-ms-wax": ["wax"], "audio/x-ms-wma": ["wma"], "audio/x-pn-realaudio": ["ram", "ra"], "audio/x-pn-realaudio-plugin": ["rmp"], "audio/x-realaudio": ["*ra"], "audio/x-wav": ["*wav"], "chemical/x-cdx": ["cdx"], "chemical/x-cif": ["cif"], "chemical/x-cmdf": ["cmdf"], "chemical/x-cml": ["cml"], "chemical/x-csml": ["csml"], "chemical/x-xyz": ["xyz"], "image/prs.btif": ["btif"], "image/prs.pti": ["pti"], "image/vnd.adobe.photoshop": ["psd"], "image/vnd.airzip.accelerator.azv": ["azv"], "image/vnd.dece.graphic": ["uvi", "uvvi", "uvg", "uvvg"], "image/vnd.djvu": ["djvu", "djv"], "image/vnd.dvb.subtitle": ["*sub"], "image/vnd.dwg": ["dwg"], "image/vnd.dxf": ["dxf"], "image/vnd.fastbidsheet": ["fbs"], "image/vnd.fpx": ["fpx"], "image/vnd.fst": ["fst"], "image/vnd.fujixerox.edmics-mmr": ["mmr"], "image/vnd.fujixerox.edmics-rlc": ["rlc"], "image/vnd.microsoft.icon": ["ico"], "image/vnd.ms-dds": ["dds"], "image/vnd.ms-modi": ["mdi"], "image/vnd.ms-photo": ["wdp"], "image/vnd.net-fpx": ["npx"], "image/vnd.pco.b16": ["b16"], "image/vnd.tencent.tap": ["tap"], "image/vnd.valve.source.texture": ["vtf"], "image/vnd.wap.wbmp": ["wbmp"], "image/vnd.xiff": ["xif"], "image/vnd.zbrush.pcx": ["pcx"], "image/x-3ds": ["3ds"], "image/x-cmu-raster": ["ras"], "image/x-cmx": ["cmx"], "image/x-freehand": ["fh", "fhc", "fh4", "fh5", "fh7"], "image/x-icon": ["*ico"], "image/x-jng": ["jng"], "image/x-mrsid-image": ["sid"], "image/x-ms-bmp": ["*bmp"], "image/x-pcx": ["*pcx"], "image/x-pict": ["pic", "pct"], "image/x-portable-anymap": ["pnm"], "image/x-portable-bitmap": ["pbm"], "image/x-portable-graymap": ["pgm"], "image/x-portable-pixmap": ["ppm"], "image/x-rgb": ["rgb"], "image/x-tga": ["tga"], "image/x-xbitmap": ["xbm"], "image/x-xpixmap": ["xpm"], "image/x-xwindowdump": ["xwd"], "message/vnd.wfa.wsc": ["wsc"], "model/vnd.collada+xml": ["dae"], "model/vnd.dwf": ["dwf"], "model/vnd.gdl": ["gdl"], "model/vnd.gtw": ["gtw"], "model/vnd.mts": ["mts"], "model/vnd.opengex": ["ogex"], "model/vnd.parasolid.transmit.binary": ["x_b"], "model/vnd.parasolid.transmit.text": ["x_t"], "model/vnd.sap.vds": ["vds"], "model/vnd.usdz+zip": ["usdz"], "model/vnd.valve.source.compiled-map": ["bsp"], "model/vnd.vtu": ["vtu"], "text/prs.lines.tag": ["dsc"], "text/vnd.curl": ["curl"], "text/vnd.curl.dcurl": ["dcurl"], "text/vnd.curl.mcurl": ["mcurl"], "text/vnd.curl.scurl": ["scurl"], "text/vnd.dvb.subtitle": ["sub"], "text/vnd.fly": ["fly"], "text/vnd.fmi.flexstor": ["flx"], "text/vnd.graphviz": ["gv"], "text/vnd.in3d.3dml": ["3dml"], "text/vnd.in3d.spot": ["spot"], "text/vnd.sun.j2me.app-descriptor": ["jad"], "text/vnd.wap.wml": ["wml"], "text/vnd.wap.wmlscript": ["wmls"], "text/x-asm": ["s", "asm"], "text/x-c": ["c", "cc", "cxx", "cpp", "h", "hh", "dic"], "text/x-component": ["htc"], "text/x-fortran": ["f", "for", "f77", "f90"], "text/x-handlebars-template": ["hbs"], "text/x-java-source": ["java"], "text/x-lua": ["lua"], "text/x-markdown": ["mkd"], "text/x-nfo": ["nfo"], "text/x-opml": ["opml"], "text/x-org": ["*org"], "text/x-pascal": ["p", "pas"], "text/x-processing": ["pde"], "text/x-sass": ["sass"], "text/x-scss": ["scss"], "text/x-setext": ["etx"], "text/x-sfv": ["sfv"], "text/x-suse-ymp": ["ymp"], "text/x-uuencode": ["uu"], "text/x-vcalendar": ["vcs"], "text/x-vcard": ["vcf"], "video/vnd.dece.hd": ["uvh", "uvvh"], "video/vnd.dece.mobile": ["uvm", "uvvm"], "video/vnd.dece.pd": ["uvp", "uvvp"], "video/vnd.dece.sd": ["uvs", "uvvs"], "video/vnd.dece.video": ["uvv", "uvvv"], "video/vnd.dvb.file": ["dvb"], "video/vnd.fvt": ["fvt"], "video/vnd.mpegurl": ["mxu", "m4u"], "video/vnd.ms-playready.media.pyv": ["pyv"], "video/vnd.uvvu.mp4": ["uvu", "uvvu"], "video/vnd.vivo": ["viv"], "video/x-f4v": ["f4v"], "video/x-fli": ["fli"], "video/x-flv": ["flv"], "video/x-m4v": ["m4v"], "video/x-matroska": ["mkv", "mk3d", "mks"], "video/x-mng": ["mng"], "video/x-ms-asf": ["asf", "asx"], "video/x-ms-vob": ["vob"], "video/x-ms-wm": ["wm"], "video/x-ms-wmv": ["wmv"], "video/x-ms-wmx": ["wmx"], "video/x-ms-wvx": ["wvx"], "video/x-msvideo": ["avi"], "video/x-sgi-movie": ["movie"], "video/x-smv": ["smv"], "x-conference/x-cooltalk": ["ice"] }; - } -}); - -// node_modules/mime/index.js -var require_mime = __commonJS({ - "node_modules/mime/index.js"(exports2, module2) { - "use strict"; - var Mime = require_Mime(); - module2.exports = new Mime(require_standard(), require_other()); - } -}); - -// node_modules/formidable/src/PersistentFile.js -var require_PersistentFile = __commonJS({ - "node_modules/formidable/src/PersistentFile.js"(exports2, module2) { - "use strict"; - var fs7 = require("fs"); - var crypto4 = require("crypto"); - var { EventEmitter: EventEmitter2 } = require("events"); - var PersistentFile = class extends EventEmitter2 { - constructor({ filepath, newFilename, originalFilename, mimetype, hashAlgorithm }) { - super(); - this.lastModifiedDate = null; - Object.assign(this, { filepath, newFilename, originalFilename, mimetype, hashAlgorithm }); - this.size = 0; - this._writeStream = null; - if (typeof this.hashAlgorithm === "string") { - this.hash = crypto4.createHash(this.hashAlgorithm); - } else { - this.hash = null; - } - } - open() { - this._writeStream = new fs7.WriteStream(this.filepath); - this._writeStream.on("error", (err) => { - this.emit("error", err); - }); - } - toJSON() { - const json = { - size: this.size, - filepath: this.filepath, - newFilename: this.newFilename, - mimetype: this.mimetype, - mtime: this.lastModifiedDate, - length: this.length, - originalFilename: this.originalFilename - }; - if (this.hash && this.hash !== "") { - json.hash = this.hash; - } - return json; - } - toString() { - return `PersistentFile: ${this.newFilename}, Original: ${this.originalFilename}, Path: ${this.filepath}`; - } - write(buffer, cb) { - if (this.hash) { - this.hash.update(buffer); - } - if (this._writeStream.closed) { - cb(); - return; - } - this._writeStream.write(buffer, () => { - this.lastModifiedDate = new Date(); - this.size += buffer.length; - this.emit("progress", this.size); - cb(); - }); - } - end(cb) { - if (this.hash) { - this.hash = this.hash.digest("hex"); - } - this._writeStream.end(() => { - this.emit("end"); - cb(); - }); - } - destroy() { - this._writeStream.destroy(); - fs7.unlink(this.filepath, () => { - }); - } - }; - module2.exports = PersistentFile; - } -}); - -// node_modules/formidable/src/VolatileFile.js -var require_VolatileFile = __commonJS({ - "node_modules/formidable/src/VolatileFile.js"(exports2, module2) { - "use strict"; - var crypto4 = require("crypto"); - var { EventEmitter: EventEmitter2 } = require("events"); - var VolatileFile = class extends EventEmitter2 { - constructor({ filepath, newFilename, originalFilename, mimetype, hashAlgorithm, createFileWriteStream }) { - super(); - this.lastModifiedDate = null; - Object.assign(this, { filepath, newFilename, originalFilename, mimetype, hashAlgorithm, createFileWriteStream }); - this.size = 0; - this._writeStream = null; - if (typeof this.hashAlgorithm === "string") { - this.hash = crypto4.createHash(this.hashAlgorithm); - } else { - this.hash = null; - } - } - open() { - this._writeStream = this.createFileWriteStream(this); - this._writeStream.on("error", (err) => { - this.emit("error", err); - }); - } - destroy() { - this._writeStream.destroy(); - } - toJSON() { - const json = { - size: this.size, - newFilename: this.newFilename, - length: this.length, - originalFilename: this.originalFilename, - mimetype: this.mimetype - }; - if (this.hash && this.hash !== "") { - json.hash = this.hash; - } - return json; - } - toString() { - return `VolatileFile: ${this.originalFilename}`; - } - write(buffer, cb) { - if (this.hash) { - this.hash.update(buffer); - } - if (this._writeStream.closed || this._writeStream.destroyed) { - cb(); - return; - } - this._writeStream.write(buffer, () => { - this.size += buffer.length; - this.emit("progress", this.size); - cb(); - }); - } - end(cb) { - if (this.hash) { - this.hash = this.hash.digest("hex"); - } - this._writeStream.end(() => { - this.emit("end"); - cb(); - }); - } - }; - module2.exports = VolatileFile; - } -}); - -// node_modules/hexoid/dist/index.js -var require_dist4 = __commonJS({ - "node_modules/hexoid/dist/index.js"(exports2, module2) { - var IDX = 256; - var HEX = []; - while (IDX--) - HEX[IDX] = (IDX + 256).toString(16).substring(1); - module2.exports = function(len) { - len = len || 16; - var str = "", num = 0; - return function() { - if (!str || num === 256) { - str = ""; - num = (1 + len) / 2 | 0; - while (num--) - str += HEX[256 * Math.random() | 0]; - str = str.substring(num = 0, len - 2); - } - return str + HEX[num++]; - }; - }; - } -}); - -// node_modules/wrappy/wrappy.js -var require_wrappy = __commonJS({ - "node_modules/wrappy/wrappy.js"(exports2, module2) { - module2.exports = wrappy; - function wrappy(fn2, cb) { - if (fn2 && cb) - return wrappy(fn2)(cb); - if (typeof fn2 !== "function") - throw new TypeError("need wrapper function"); - Object.keys(fn2).forEach(function(k) { - wrapper[k] = fn2[k]; - }); - return wrapper; - function wrapper() { - var args2 = new Array(arguments.length); - for (var i = 0; i < args2.length; i++) { - args2[i] = arguments[i]; - } - var ret = fn2.apply(this, args2); - var cb2 = args2[args2.length - 1]; - if (typeof ret === "function" && ret !== cb2) { - Object.keys(cb2).forEach(function(k) { - ret[k] = cb2[k]; - }); - } - return ret; - } - } - } -}); - -// node_modules/once/once.js -var require_once2 = __commonJS({ - "node_modules/once/once.js"(exports2, module2) { - var wrappy = require_wrappy(); - module2.exports = wrappy(once); - module2.exports.strict = wrappy(onceStrict); - once.proto = once(function() { - Object.defineProperty(Function.prototype, "once", { - value: function() { - return once(this); - }, - configurable: true - }); - Object.defineProperty(Function.prototype, "onceStrict", { - value: function() { - return onceStrict(this); - }, - configurable: true - }); - }); - function once(fn2) { - var f = function() { - if (f.called) - return f.value; - f.called = true; - return f.value = fn2.apply(this, arguments); - }; - f.called = false; - return f; - } - function onceStrict(fn2) { - var f = function() { - if (f.called) - throw new Error(f.onceError); - f.called = true; - return f.value = fn2.apply(this, arguments); - }; - var name = fn2.name || "Function wrapped with `once`"; - f.onceError = name + " shouldn't be called more than once"; - f.called = false; - return f; - } - } -}); - -// node_modules/asap/raw.js -var require_raw = __commonJS({ - "node_modules/asap/raw.js"(exports2, module2) { - "use strict"; - var domain; - var hasSetImmediate = typeof setImmediate === "function"; - module2.exports = rawAsap; - function rawAsap(task) { - if (!queue.length) { - requestFlush(); - flushing = true; - } - queue[queue.length] = task; - } - var queue = []; - var flushing = false; - var index = 0; - var capacity = 1024; - function flush() { - while (index < queue.length) { - var currentIndex = index; - index = index + 1; - queue[currentIndex].call(); - if (index > capacity) { - for (var scan = 0, newLength = queue.length - index; scan < newLength; scan++) { - queue[scan] = queue[scan + index]; - } - queue.length -= index; - index = 0; - } - } - queue.length = 0; - index = 0; - flushing = false; - } - rawAsap.requestFlush = requestFlush; - function requestFlush() { - var parentDomain = process.domain; - if (parentDomain) { - if (!domain) { - domain = require("domain"); - } - domain.active = process.domain = null; - } - if (flushing && hasSetImmediate) { - setImmediate(flush); - } else { - process.nextTick(flush); - } - if (parentDomain) { - domain.active = process.domain = parentDomain; - } - } - } -}); - -// node_modules/asap/asap.js -var require_asap = __commonJS({ - "node_modules/asap/asap.js"(exports2, module2) { - "use strict"; - var rawAsap = require_raw(); - var freeTasks = []; - module2.exports = asap; - function asap(task) { - var rawTask; - if (freeTasks.length) { - rawTask = freeTasks.pop(); - } else { - rawTask = new RawTask(); - } - rawTask.task = task; - rawTask.domain = process.domain; - rawAsap(rawTask); - } - function RawTask() { - this.task = null; - this.domain = null; - } - RawTask.prototype.call = function() { - if (this.domain) { - this.domain.enter(); - } - var threw = true; - try { - this.task.call(); - threw = false; - if (this.domain) { - this.domain.exit(); - } - } finally { - if (threw) { - rawAsap.requestFlush(); - } - this.task = null; - this.domain = null; - freeTasks.push(this); - } - }; - } -}); - -// node_modules/dezalgo/dezalgo.js -var require_dezalgo = __commonJS({ - "node_modules/dezalgo/dezalgo.js"(exports2, module2) { - var wrappy = require_wrappy(); - module2.exports = wrappy(dezalgo); - var asap = require_asap(); - function dezalgo(cb) { - var sync = true; - asap(function() { - sync = false; - }); - return function zalgoSafe() { - var args2 = arguments; - var me = this; - if (sync) - asap(function() { - cb.apply(me, args2); - }); - else - cb.apply(me, args2); - }; - } - } -}); - -// node_modules/formidable/src/parsers/Dummy.js -var require_Dummy = __commonJS({ - "node_modules/formidable/src/parsers/Dummy.js"(exports2, module2) { - "use strict"; - var { Transform } = require("stream"); - var DummyParser = class extends Transform { - constructor(incomingForm, options = {}) { - super(); - this.globalOptions = { ...options }; - this.incomingForm = incomingForm; - } - _flush(callback) { - this.incomingForm.ended = true; - this.incomingForm._maybeEnd(); - callback(); - } - }; - module2.exports = DummyParser; - } -}); - -// node_modules/formidable/src/FormidableError.js -var require_FormidableError = __commonJS({ - "node_modules/formidable/src/FormidableError.js"(exports2, module2) { - var missingPlugin = 1e3; - var pluginFunction = 1001; - var aborted = 1002; - var noParser = 1003; - var uninitializedParser = 1004; - var filenameNotString = 1005; - var maxFieldsSizeExceeded = 1006; - var maxFieldsExceeded = 1007; - var smallerThanMinFileSize = 1008; - var biggerThanMaxFileSize = 1009; - var noEmptyFiles = 1010; - var missingContentType = 1011; - var malformedMultipart = 1012; - var missingMultipartBoundary = 1013; - var unknownTransferEncoding = 1014; - var FormidableError = class extends Error { - constructor(message2, internalCode, httpCode = 500) { - super(message2); - this.code = internalCode; - this.httpCode = httpCode; - } - }; - module2.exports = { - missingPlugin, - pluginFunction, - aborted, - noParser, - uninitializedParser, - filenameNotString, - maxFieldsSizeExceeded, - maxFieldsExceeded, - smallerThanMinFileSize, - biggerThanMaxFileSize, - noEmptyFiles, - missingContentType, - malformedMultipart, - missingMultipartBoundary, - unknownTransferEncoding, - FormidableError - }; - } -}); - -// node_modules/formidable/src/parsers/Multipart.js -var require_Multipart = __commonJS({ - "node_modules/formidable/src/parsers/Multipart.js"(exports2, module2) { - "use strict"; - var { Transform } = require("stream"); - var errors = require_FormidableError(); - var { FormidableError } = errors; - var s = 0; - var STATE = { - PARSER_UNINITIALIZED: s++, - START: s++, - START_BOUNDARY: s++, - HEADER_FIELD_START: s++, - HEADER_FIELD: s++, - HEADER_VALUE_START: s++, - HEADER_VALUE: s++, - HEADER_VALUE_ALMOST_DONE: s++, - HEADERS_ALMOST_DONE: s++, - PART_DATA_START: s++, - PART_DATA: s++, - PART_END: s++, - END: s++ - }; - var f = 1; - var FBOUNDARY = { PART_BOUNDARY: f, LAST_BOUNDARY: f *= 2 }; - var LF = 10; - var CR = 13; - var SPACE = 32; - var HYPHEN = 45; - var COLON = 58; - var A = 97; - var Z = 122; - function lower(c) { - return c | 32; - } - exports2.STATES = {}; - Object.keys(STATE).forEach((stateName) => { - exports2.STATES[stateName] = STATE[stateName]; - }); - var MultipartParser = class extends Transform { - constructor(options = {}) { - super({ readableObjectMode: true }); - this.boundary = null; - this.boundaryChars = null; - this.lookbehind = null; - this.bufferLength = 0; - this.state = STATE.PARSER_UNINITIALIZED; - this.globalOptions = { ...options }; - this.index = null; - this.flags = 0; - } - _flush(done) { - if (this.state === STATE.HEADER_FIELD_START && this.index === 0 || this.state === STATE.PART_DATA && this.index === this.boundary.length) { - this._handleCallback("partEnd"); - this._handleCallback("end"); - done(); - } else if (this.state !== STATE.END) { - done( - new FormidableError( - `MultipartParser.end(): stream ended unexpectedly: ${this.explain()}`, - errors.malformedMultipart, - 400 - ) - ); - } - } - initWithBoundary(str) { - this.boundary = Buffer.from(`\r ---${str}`); - this.lookbehind = Buffer.alloc(this.boundary.length + 8); - this.state = STATE.START; - this.boundaryChars = {}; - for (let i = 0; i < this.boundary.length; i++) { - this.boundaryChars[this.boundary[i]] = true; - } - } - _handleCallback(name, buf, start, end) { - if (start !== void 0 && start === end) { - return; - } - this.push({ name, buffer: buf, start, end }); - } - _transform(buffer, _, done) { - let i = 0; - let prevIndex = this.index; - let { index, state, flags } = this; - const { lookbehind, boundary, boundaryChars } = this; - const boundaryLength = boundary.length; - const boundaryEnd = boundaryLength - 1; - this.bufferLength = buffer.length; - let c = null; - let cl = null; - const setMark = (name, idx) => { - this[`${name}Mark`] = typeof idx === "number" ? idx : i; - }; - const clearMarkSymbol = (name) => { - delete this[`${name}Mark`]; - }; - const dataCallback = (name, shouldClear) => { - const markSymbol = `${name}Mark`; - if (!(markSymbol in this)) { - return; - } - if (!shouldClear) { - this._handleCallback(name, buffer, this[markSymbol], buffer.length); - setMark(name, 0); - } else { - this._handleCallback(name, buffer, this[markSymbol], i); - clearMarkSymbol(name); - } - }; - for (i = 0; i < this.bufferLength; i++) { - c = buffer[i]; - switch (state) { - case STATE.PARSER_UNINITIALIZED: - return i; - case STATE.START: - index = 0; - state = STATE.START_BOUNDARY; - case STATE.START_BOUNDARY: - if (index === boundary.length - 2) { - if (c === HYPHEN) { - flags |= FBOUNDARY.LAST_BOUNDARY; - } else if (c !== CR) { - return i; - } - index++; - break; - } else if (index - 1 === boundary.length - 2) { - if (flags & FBOUNDARY.LAST_BOUNDARY && c === HYPHEN) { - this._handleCallback("end"); - state = STATE.END; - flags = 0; - } else if (!(flags & FBOUNDARY.LAST_BOUNDARY) && c === LF) { - index = 0; - this._handleCallback("partBegin"); - state = STATE.HEADER_FIELD_START; - } else { - return i; - } - break; - } - if (c !== boundary[index + 2]) { - index = -2; - } - if (c === boundary[index + 2]) { - index++; - } - break; - case STATE.HEADER_FIELD_START: - state = STATE.HEADER_FIELD; - setMark("headerField"); - index = 0; - case STATE.HEADER_FIELD: - if (c === CR) { - clearMarkSymbol("headerField"); - state = STATE.HEADERS_ALMOST_DONE; - break; - } - index++; - if (c === HYPHEN) { - break; - } - if (c === COLON) { - if (index === 1) { - return i; - } - dataCallback("headerField", true); - state = STATE.HEADER_VALUE_START; - break; - } - cl = lower(c); - if (cl < A || cl > Z) { - return i; - } - break; - case STATE.HEADER_VALUE_START: - if (c === SPACE) { - break; - } - setMark("headerValue"); - state = STATE.HEADER_VALUE; - case STATE.HEADER_VALUE: - if (c === CR) { - dataCallback("headerValue", true); - this._handleCallback("headerEnd"); - state = STATE.HEADER_VALUE_ALMOST_DONE; - } - break; - case STATE.HEADER_VALUE_ALMOST_DONE: - if (c !== LF) { - return i; - } - state = STATE.HEADER_FIELD_START; - break; - case STATE.HEADERS_ALMOST_DONE: - if (c !== LF) { - return i; - } - this._handleCallback("headersEnd"); - state = STATE.PART_DATA_START; - break; - case STATE.PART_DATA_START: - state = STATE.PART_DATA; - setMark("partData"); - case STATE.PART_DATA: - prevIndex = index; - if (index === 0) { - i += boundaryEnd; - while (i < this.bufferLength && !(buffer[i] in boundaryChars)) { - i += boundaryLength; - } - i -= boundaryEnd; - c = buffer[i]; - } - if (index < boundary.length) { - if (boundary[index] === c) { - if (index === 0) { - dataCallback("partData", true); - } - index++; - } else { - index = 0; - } - } else if (index === boundary.length) { - index++; - if (c === CR) { - flags |= FBOUNDARY.PART_BOUNDARY; - } else if (c === HYPHEN) { - flags |= FBOUNDARY.LAST_BOUNDARY; - } else { - index = 0; - } - } else if (index - 1 === boundary.length) { - if (flags & FBOUNDARY.PART_BOUNDARY) { - index = 0; - if (c === LF) { - flags &= ~FBOUNDARY.PART_BOUNDARY; - this._handleCallback("partEnd"); - this._handleCallback("partBegin"); - state = STATE.HEADER_FIELD_START; - break; - } - } else if (flags & FBOUNDARY.LAST_BOUNDARY) { - if (c === HYPHEN) { - this._handleCallback("partEnd"); - this._handleCallback("end"); - state = STATE.END; - flags = 0; - } else { - index = 0; - } - } else { - index = 0; - } - } - if (index > 0) { - lookbehind[index - 1] = c; - } else if (prevIndex > 0) { - this._handleCallback("partData", lookbehind, 0, prevIndex); - prevIndex = 0; - setMark("partData"); - i--; - } - break; - case STATE.END: - break; - default: - return i; - } - } - dataCallback("headerField"); - dataCallback("headerValue"); - dataCallback("partData"); - this.index = index; - this.state = state; - this.flags = flags; - done(); - return this.bufferLength; - } - explain() { - return `state = ${MultipartParser.stateToString(this.state)}`; - } - }; - MultipartParser.stateToString = (stateNumber) => { - for (const stateName in STATE) { - const number = STATE[stateName]; - if (number === stateNumber) - return stateName; - } - }; - module2.exports = Object.assign(MultipartParser, { STATES: exports2.STATES }); - } -}); - -// node_modules/formidable/src/Formidable.js -var require_Formidable = __commonJS({ - "node_modules/formidable/src/Formidable.js"(exports2, module2) { - "use strict"; - var os = require("os"); - var path4 = require("path"); - var hexoid = require_dist4(); - var once = require_once2(); - var dezalgo = require_dezalgo(); - var { EventEmitter: EventEmitter2 } = require("events"); - var { StringDecoder } = require("string_decoder"); - var qs = require_lib3(); - var toHexoId = hexoid(25); - var DEFAULT_OPTIONS = { - maxFields: 1e3, - maxFieldsSize: 20 * 1024 * 1024, - maxFileSize: 200 * 1024 * 1024, - minFileSize: 1, - allowEmptyFiles: true, - keepExtensions: false, - encoding: "utf-8", - hashAlgorithm: false, - uploadDir: os.tmpdir(), - multiples: false, - enabledPlugins: ["octetstream", "querystring", "multipart", "json"], - fileWriteStreamHandler: null, - defaultInvalidName: "invalid-name", - filter: function() { - return true; - } - }; - var PersistentFile = require_PersistentFile(); - var VolatileFile = require_VolatileFile(); - var DummyParser = require_Dummy(); - var MultipartParser = require_Multipart(); - var errors = require_FormidableError(); - var { FormidableError } = errors; - function hasOwnProp(obj, key) { - return Object.prototype.hasOwnProperty.call(obj, key); - } - var IncomingForm = class extends EventEmitter2 { - constructor(options = {}) { - super(); - this.options = { ...DEFAULT_OPTIONS, ...options }; - const dir = path4.resolve( - this.options.uploadDir || this.options.uploaddir || os.tmpdir() - ); - this.uploaddir = dir; - this.uploadDir = dir; - [ - "error", - "headers", - "type", - "bytesExpected", - "bytesReceived", - "_parser" - ].forEach((key) => { - this[key] = null; - }); - this._setUpRename(); - this._flushing = 0; - this._fieldsSize = 0; - this._fileSize = 0; - this._plugins = []; - this.openedFiles = []; - this.options.enabledPlugins = [].concat(this.options.enabledPlugins).filter(Boolean); - if (this.options.enabledPlugins.length === 0) { - throw new FormidableError( - "expect at least 1 enabled builtin plugin, see options.enabledPlugins", - errors.missingPlugin - ); - } - this.options.enabledPlugins.forEach((pluginName) => { - const plgName = pluginName.toLowerCase(); - this.use(require(path4.join(__dirname, "plugins", `${plgName}.js`))); - }); - this._setUpMaxFields(); - } - use(plugin) { - if (typeof plugin !== "function") { - throw new FormidableError( - ".use: expect `plugin` to be a function", - errors.pluginFunction - ); - } - this._plugins.push(plugin.bind(this)); - return this; - } - parse(req, cb) { - this.pause = () => { - try { - req.pause(); - } catch (err) { - if (!this.ended) { - this._error(err); - } - return false; - } - return true; - }; - this.resume = () => { - try { - req.resume(); - } catch (err) { - if (!this.ended) { - this._error(err); - } - return false; - } - return true; - }; - if (cb) { - const callback = once(dezalgo(cb)); - const fields = {}; - let mockFields = ""; - const files = {}; - this.on("field", (name, value) => { - if (this.options.multiples && (this.type === "multipart" || this.type === "urlencoded")) { - const mObj = { [name]: value }; - mockFields = mockFields ? `${mockFields}&${qs.stringify(mObj)}` : `${qs.stringify(mObj)}`; - } else { - fields[name] = value; - } - }); - this.on("file", (name, file) => { - if (this.options.multiples) { - if (hasOwnProp(files, name)) { - if (!Array.isArray(files[name])) { - files[name] = [files[name]]; - } - files[name].push(file); - } else { - files[name] = file; - } - } else { - files[name] = file; - } - }); - this.on("error", (err) => { - callback(err, fields, files); - }); - this.on("end", () => { - if (this.options.multiples) { - Object.assign(fields, qs.parse(mockFields)); - } - callback(null, fields, files); - }); - } - this.writeHeaders(req.headers); - req.on("error", (err) => { - this._error(err); - }).on("aborted", () => { - this.emit("aborted"); - this._error(new FormidableError("Request aborted", errors.aborted)); - }).on("data", (buffer) => { - try { - this.write(buffer); - } catch (err) { - this._error(err); - } - }).on("end", () => { - if (this.error) { - return; - } - if (this._parser) { - this._parser.end(); - } - this._maybeEnd(); - }); - return this; - } - writeHeaders(headers) { - this.headers = headers; - this._parseContentLength(); - this._parseContentType(); - if (!this._parser) { - this._error( - new FormidableError( - "no parser found", - errors.noParser, - 415 - ) - ); - return; - } - this._parser.once("error", (error) => { - this._error(error); - }); - } - write(buffer) { - if (this.error) { - return null; - } - if (!this._parser) { - this._error( - new FormidableError("uninitialized parser", errors.uninitializedParser) - ); - return null; - } - this.bytesReceived += buffer.length; - this.emit("progress", this.bytesReceived, this.bytesExpected); - this._parser.write(buffer); - return this.bytesReceived; - } - pause() { - return false; - } - resume() { - return false; - } - onPart(part) { - this._handlePart(part); - } - _handlePart(part) { - if (part.originalFilename && typeof part.originalFilename !== "string") { - this._error( - new FormidableError( - `the part.originalFilename should be string when it exists`, - errors.filenameNotString - ) - ); - return; - } - if (!part.mimetype) { - let value = ""; - const decoder = new StringDecoder( - part.transferEncoding || this.options.encoding - ); - part.on("data", (buffer) => { - this._fieldsSize += buffer.length; - if (this._fieldsSize > this.options.maxFieldsSize) { - this._error( - new FormidableError( - `options.maxFieldsSize (${this.options.maxFieldsSize} bytes) exceeded, received ${this._fieldsSize} bytes of field data`, - errors.maxFieldsSizeExceeded, - 413 - ) - ); - return; - } - value += decoder.write(buffer); - }); - part.on("end", () => { - this.emit("field", part.name, value); - }); - return; - } - if (!this.options.filter(part)) { - return; - } - this._flushing += 1; - const newFilename = this._getNewName(part); - const filepath = this._joinDirectoryName(newFilename); - const file = this._newFile({ - newFilename, - filepath, - originalFilename: part.originalFilename, - mimetype: part.mimetype - }); - file.on("error", (err) => { - this._error(err); - }); - this.emit("fileBegin", part.name, file); - file.open(); - this.openedFiles.push(file); - part.on("data", (buffer) => { - this._fileSize += buffer.length; - if (this._fileSize < this.options.minFileSize) { - this._error( - new FormidableError( - `options.minFileSize (${this.options.minFileSize} bytes) inferior, received ${this._fileSize} bytes of file data`, - errors.smallerThanMinFileSize, - 400 - ) - ); - return; - } - if (this._fileSize > this.options.maxFileSize) { - this._error( - new FormidableError( - `options.maxFileSize (${this.options.maxFileSize} bytes) exceeded, received ${this._fileSize} bytes of file data`, - errors.biggerThanMaxFileSize, - 413 - ) - ); - return; - } - if (buffer.length === 0) { - return; - } - this.pause(); - file.write(buffer, () => { - this.resume(); - }); - }); - part.on("end", () => { - if (!this.options.allowEmptyFiles && this._fileSize === 0) { - this._error( - new FormidableError( - `options.allowEmptyFiles is false, file size should be greather than 0`, - errors.noEmptyFiles, - 400 - ) - ); - return; - } - file.end(() => { - this._flushing -= 1; - this.emit("file", part.name, file); - this._maybeEnd(); - }); - }); - } - _parseContentType() { - if (this.bytesExpected === 0) { - this._parser = new DummyParser(this, this.options); - return; - } - if (!this.headers["content-type"]) { - this._error( - new FormidableError( - "bad content-type header, no content-type", - errors.missingContentType, - 400 - ) - ); - return; - } - const results = []; - const _dummyParser = new DummyParser(this, this.options); - for (let idx = 0; idx < this._plugins.length; idx++) { - const plugin = this._plugins[idx]; - let pluginReturn = null; - try { - pluginReturn = plugin(this, this.options) || this; - } catch (err) { - const error = new FormidableError( - `plugin on index ${idx} failed with: ${err.message}`, - errors.pluginFailed, - 500 - ); - error.idx = idx; - throw error; - } - Object.assign(this, pluginReturn); - this.emit("plugin", idx, pluginReturn); - results.push(pluginReturn); - } - this.emit("pluginsResults", results); - } - _error(err, eventName = "error") { - if (this.error || this.ended) { - return; - } - this.error = err; - this.emit(eventName, err); - if (Array.isArray(this.openedFiles)) { - this.openedFiles.forEach((file) => { - file.destroy(); - }); - } - } - _parseContentLength() { - this.bytesReceived = 0; - if (this.headers["content-length"]) { - this.bytesExpected = parseInt(this.headers["content-length"], 10); - } else if (this.headers["transfer-encoding"] === void 0) { - this.bytesExpected = 0; - } - if (this.bytesExpected !== null) { - this.emit("progress", this.bytesReceived, this.bytesExpected); - } - } - _newParser() { - return new MultipartParser(this.options); - } - _newFile({ filepath, originalFilename, mimetype, newFilename }) { - return this.options.fileWriteStreamHandler ? new VolatileFile({ - newFilename, - filepath, - originalFilename, - mimetype, - createFileWriteStream: this.options.fileWriteStreamHandler, - hashAlgorithm: this.options.hashAlgorithm - }) : new PersistentFile({ - newFilename, - filepath, - originalFilename, - mimetype, - hashAlgorithm: this.options.hashAlgorithm - }); - } - _getFileName(headerValue) { - const m = headerValue.match( - /\bfilename=("(.*?)"|([^()<>{}[\]@,;:"?=\s/\t]+))($|;\s)/i - ); - if (!m) - return null; - const match = m[2] || m[3] || ""; - let originalFilename = match.substr(match.lastIndexOf("\\") + 1); - originalFilename = originalFilename.replace(/%22/g, '"'); - originalFilename = originalFilename.replace( - /&#([\d]{4});/g, - (_, code) => String.fromCharCode(code) - ); - return originalFilename; - } - _getExtension(str) { - if (!str) { - return ""; - } - const basename2 = path4.basename(str); - const firstDot = basename2.indexOf("."); - const lastDot = basename2.lastIndexOf("."); - const extname = path4.extname(basename2).replace(/(\.[a-z0-9]+).*/i, "$1"); - if (firstDot === lastDot) { - return extname; - } - return basename2.slice(firstDot, lastDot) + extname; - } - _joinDirectoryName(name) { - const newPath = path4.join(this.uploadDir, name); - if (!newPath.startsWith(this.uploadDir)) { - return path4.join(this.uploadDir, this.options.defaultInvalidName); - } - return newPath; - } - _setUpRename() { - const hasRename = typeof this.options.filename === "function"; - if (hasRename) { - this._getNewName = (part) => { - let ext = ""; - let name = this.options.defaultInvalidName; - if (part.originalFilename) { - ({ ext, name } = path4.parse(part.originalFilename)); - if (this.options.keepExtensions !== true) { - ext = ""; - } - } - return this.options.filename.call(this, name, ext, part, this); - }; - } else { - this._getNewName = (part) => { - const name = toHexoId(); - if (part && this.options.keepExtensions) { - const originalFilename = typeof part === "string" ? part : part.originalFilename; - return `${name}${this._getExtension(originalFilename)}`; - } - return name; - }; - } - } - _setUpMaxFields() { - if (this.options.maxFields !== 0) { - let fieldsCount = 0; - this.on("field", () => { - fieldsCount += 1; - if (fieldsCount > this.options.maxFields) { - this._error( - new FormidableError( - `options.maxFields (${this.options.maxFields}) exceeded`, - errors.maxFieldsExceeded, - 413 - ) - ); - } - }); - } - } - _maybeEnd() { - if (!this.ended || this._flushing || this.error) { - return; - } - this.emit("end"); - } - }; - IncomingForm.DEFAULT_OPTIONS = DEFAULT_OPTIONS; - module2.exports = IncomingForm; - } -}); - -// node_modules/formidable/src/parsers/OctetStream.js -var require_OctetStream = __commonJS({ - "node_modules/formidable/src/parsers/OctetStream.js"(exports2, module2) { - "use strict"; - var { PassThrough } = require("stream"); - var OctetStreamParser = class extends PassThrough { - constructor(options = {}) { - super(); - this.globalOptions = { ...options }; - } - }; - module2.exports = OctetStreamParser; - } -}); - -// node_modules/formidable/src/plugins/octetstream.js -var require_octetstream = __commonJS({ - "node_modules/formidable/src/plugins/octetstream.js"(exports2, module2) { - "use strict"; - var OctetStreamParser = require_OctetStream(); - module2.exports = function plugin(formidable, options) { - const self2 = this || formidable; - if (/octet-stream/i.test(self2.headers["content-type"])) { - init.call(self2, self2, options); - } - return self2; - }; - function init(_self, _opts) { - this.type = "octet-stream"; - const originalFilename = this.headers["x-file-name"]; - const mimetype = this.headers["content-type"]; - const thisPart = { - originalFilename, - mimetype - }; - const newFilename = this._getNewName(thisPart); - const filepath = this._joinDirectoryName(newFilename); - const file = this._newFile({ - newFilename, - filepath, - originalFilename, - mimetype - }); - this.emit("fileBegin", originalFilename, file); - file.open(); - this.openedFiles.push(file); - this._flushing += 1; - this._parser = new OctetStreamParser(this.options); - let outstandingWrites = 0; - this._parser.on("data", (buffer) => { - this.pause(); - outstandingWrites += 1; - file.write(buffer, () => { - outstandingWrites -= 1; - this.resume(); - if (this.ended) { - this._parser.emit("doneWritingFile"); - } - }); - }); - this._parser.on("end", () => { - this._flushing -= 1; - this.ended = true; - const done = () => { - file.end(() => { - this.emit("file", "file", file); - this._maybeEnd(); - }); - }; - if (outstandingWrites === 0) { - done(); - } else { - this._parser.once("doneWritingFile", done); - } - }); - return this; - } - } -}); - -// node_modules/formidable/src/parsers/Querystring.js -var require_Querystring = __commonJS({ - "node_modules/formidable/src/parsers/Querystring.js"(exports2, module2) { - "use strict"; - var { Transform } = require("stream"); - var querystring2 = require("querystring"); - var QuerystringParser = class extends Transform { - constructor(options = {}) { - super({ readableObjectMode: true }); - this.globalOptions = { ...options }; - this.buffer = ""; - this.bufferLength = 0; - } - _transform(buffer, encoding, callback) { - this.buffer += buffer.toString("ascii"); - this.bufferLength = this.buffer.length; - callback(); - } - _flush(callback) { - const fields = querystring2.parse(this.buffer, "&", "="); - for (const key in fields) { - this.push({ - key, - value: fields[key] - }); - } - this.buffer = ""; - callback(); - } - }; - module2.exports = QuerystringParser; - } -}); - -// node_modules/formidable/src/plugins/querystring.js -var require_querystring = __commonJS({ - "node_modules/formidable/src/plugins/querystring.js"(exports2, module2) { - "use strict"; - var QuerystringParser = require_Querystring(); - module2.exports = function plugin(formidable, options) { - const self2 = this || formidable; - if (/urlencoded/i.test(self2.headers["content-type"])) { - init.call(self2, self2, options); - } - return self2; - }; - function init(_self, _opts) { - this.type = "urlencoded"; - const parser = new QuerystringParser(this.options); - parser.on("data", ({ key, value }) => { - this.emit("field", key, value); - }); - parser.once("end", () => { - this.ended = true; - this._maybeEnd(); - }); - this._parser = parser; - return this; - } - } -}); - -// node_modules/formidable/src/plugins/multipart.js -var require_multipart = __commonJS({ - "node_modules/formidable/src/plugins/multipart.js"(exports2, module2) { - "use strict"; - var { Stream } = require("stream"); - var MultipartParser = require_Multipart(); - var errors = require_FormidableError(); - var { FormidableError } = errors; - module2.exports = function plugin(formidable, options) { - const self2 = this || formidable; - const multipart = /multipart/i.test(self2.headers["content-type"]); - if (multipart) { - const m = self2.headers["content-type"].match( - /boundary=(?:"([^"]+)"|([^;]+))/i - ); - if (m) { - const initMultipart = createInitMultipart(m[1] || m[2]); - initMultipart.call(self2, self2, options); - } else { - const err = new FormidableError( - "bad content-type header, no multipart boundary", - errors.missingMultipartBoundary, - 400 - ); - self2._error(err); - } - } - }; - function createInitMultipart(boundary) { - return function initMultipart() { - this.type = "multipart"; - const parser = new MultipartParser(this.options); - let headerField; - let headerValue; - let part; - parser.initWithBoundary(boundary); - parser.on("data", ({ name, buffer, start, end }) => { - if (name === "partBegin") { - part = new Stream(); - part.readable = true; - part.headers = {}; - part.name = null; - part.originalFilename = null; - part.mimetype = null; - part.transferEncoding = this.options.encoding; - part.transferBuffer = ""; - headerField = ""; - headerValue = ""; - } else if (name === "headerField") { - headerField += buffer.toString(this.options.encoding, start, end); - } else if (name === "headerValue") { - headerValue += buffer.toString(this.options.encoding, start, end); - } else if (name === "headerEnd") { - headerField = headerField.toLowerCase(); - part.headers[headerField] = headerValue; - const m = headerValue.match( - /\bname=("([^"]*)"|([^\(\)<>@,;:\\"\/\[\]\?=\{\}\s\t/]+))/i - ); - if (headerField === "content-disposition") { - if (m) { - part.name = m[2] || m[3] || ""; - } - part.originalFilename = this._getFileName(headerValue); - } else if (headerField === "content-type") { - part.mimetype = headerValue; - } else if (headerField === "content-transfer-encoding") { - part.transferEncoding = headerValue.toLowerCase(); - } - headerField = ""; - headerValue = ""; - } else if (name === "headersEnd") { - switch (part.transferEncoding) { - case "binary": - case "7bit": - case "8bit": - case "utf-8": { - const dataPropagation = (ctx) => { - if (ctx.name === "partData") { - part.emit("data", ctx.buffer.slice(ctx.start, ctx.end)); - } - }; - const dataStopPropagation = (ctx) => { - if (ctx.name === "partEnd") { - part.emit("end"); - parser.off("data", dataPropagation); - parser.off("data", dataStopPropagation); - } - }; - parser.on("data", dataPropagation); - parser.on("data", dataStopPropagation); - break; - } - case "base64": { - const dataPropagation = (ctx) => { - if (ctx.name === "partData") { - part.transferBuffer += ctx.buffer.slice(ctx.start, ctx.end).toString("ascii"); - const offset = parseInt(part.transferBuffer.length / 4, 10) * 4; - part.emit( - "data", - Buffer.from( - part.transferBuffer.substring(0, offset), - "base64" - ) - ); - part.transferBuffer = part.transferBuffer.substring(offset); - } - }; - const dataStopPropagation = (ctx) => { - if (ctx.name === "partEnd") { - part.emit("data", Buffer.from(part.transferBuffer, "base64")); - part.emit("end"); - parser.off("data", dataPropagation); - parser.off("data", dataStopPropagation); - } - }; - parser.on("data", dataPropagation); - parser.on("data", dataStopPropagation); - break; - } - default: - return this._error( - new FormidableError( - "unknown transfer-encoding", - errors.unknownTransferEncoding, - 501 - ) - ); - } - this.onPart(part); - } else if (name === "end") { - this.ended = true; - this._maybeEnd(); - } - }); - this._parser = parser; - }; - } - } -}); - -// node_modules/formidable/src/parsers/JSON.js -var require_JSON = __commonJS({ - "node_modules/formidable/src/parsers/JSON.js"(exports2, module2) { - "use strict"; - var { Transform } = require("stream"); - var JSONParser = class extends Transform { - constructor(options = {}) { - super({ readableObjectMode: true }); - this.chunks = []; - this.globalOptions = { ...options }; - } - _transform(chunk, encoding, callback) { - this.chunks.push(String(chunk)); - callback(); - } - _flush(callback) { - try { - const fields = JSON.parse(this.chunks.join("")); - Object.keys(fields).forEach((key) => { - const value = fields[key]; - this.push({ key, value }); - }); - } catch (e) { - callback(e); - return; - } - this.chunks = null; - callback(); - } - }; - module2.exports = JSONParser; - } -}); - -// node_modules/formidable/src/plugins/json.js -var require_json3 = __commonJS({ - "node_modules/formidable/src/plugins/json.js"(exports2, module2) { - "use strict"; - var JSONParser = require_JSON(); - module2.exports = function plugin(formidable, options) { - const self2 = this || formidable; - if (/json/i.test(self2.headers["content-type"])) { - init.call(self2, self2, options); - } - }; - function init(_self, _opts) { - this.type = "json"; - const parser = new JSONParser(this.options); - parser.on("data", ({ key, value }) => { - this.emit("field", key, value); - }); - parser.once("end", () => { - this.ended = true; - this._maybeEnd(); - }); - this._parser = parser; - } - } -}); - -// node_modules/formidable/src/plugins/index.js -var require_plugins = __commonJS({ - "node_modules/formidable/src/plugins/index.js"(exports2) { - "use strict"; - var octetstream = require_octetstream(); - var querystring2 = require_querystring(); - var multipart = require_multipart(); - var json = require_json3(); - Object.assign(exports2, { - octetstream, - querystring: querystring2, - multipart, - json - }); - } -}); - -// node_modules/formidable/src/parsers/index.js -var require_parsers = __commonJS({ - "node_modules/formidable/src/parsers/index.js"(exports2) { - "use strict"; - var JSONParser = require_JSON(); - var DummyParser = require_Dummy(); - var MultipartParser = require_Multipart(); - var OctetStreamParser = require_OctetStream(); - var QueryStringParser = require_Querystring(); - Object.assign(exports2, { - JSONParser, - DummyParser, - MultipartParser, - OctetStreamParser, - OctetstreamParser: OctetStreamParser, - QueryStringParser, - QuerystringParser: QueryStringParser - }); - } -}); - -// node_modules/formidable/src/index.js -var require_src9 = __commonJS({ - "node_modules/formidable/src/index.js"(exports2, module2) { - "use strict"; - var PersistentFile = require_PersistentFile(); - var VolatileFile = require_VolatileFile(); - var Formidable = require_Formidable(); - var FormidableError = require_FormidableError(); - var plugins = require_plugins(); - var parsers = require_parsers(); - var formidable = (...args2) => new Formidable(...args2); - module2.exports = Object.assign(formidable, { - errors: FormidableError, - File: PersistentFile, - PersistentFile, - VolatileFile, - Formidable, - formidable, - IncomingForm: Formidable, - ...parsers, - parsers, - defaultOptions: Formidable.DEFAULT_OPTIONS, - enabledPlugins: Formidable.DEFAULT_OPTIONS.enabledPlugins, - plugins: { - ...plugins - } - }); - } -}); - -// node_modules/superagent/node_modules/ms/index.js -var require_ms9 = __commonJS({ - "node_modules/superagent/node_modules/ms/index.js"(exports2, module2) { - var s = 1e3; - var m = s * 60; - var h = m * 60; - var d = h * 24; - var w = d * 7; - var y = d * 365.25; - module2.exports = function(val, options) { - options = options || {}; - var type = typeof val; - if (type === "string" && val.length > 0) { - return parse(val); - } else if (type === "number" && isFinite(val)) { - return options.long ? fmtLong(val) : fmtShort(val); - } - throw new Error( - "val is not a non-empty string or a valid number. val=" + JSON.stringify(val) - ); - }; - function parse(str) { - str = String(str); - if (str.length > 100) { - return; - } - var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec( - str - ); - if (!match) { - return; - } - var n = parseFloat(match[1]); - var type = (match[2] || "ms").toLowerCase(); - switch (type) { - case "years": - case "year": - case "yrs": - case "yr": - case "y": - return n * y; - case "weeks": - case "week": - case "w": - return n * w; - case "days": - case "day": - case "d": - return n * d; - case "hours": - case "hour": - case "hrs": - case "hr": - case "h": - return n * h; - case "minutes": - case "minute": - case "mins": - case "min": - case "m": - return n * m; - case "seconds": - case "second": - case "secs": - case "sec": - case "s": - return n * s; - case "milliseconds": - case "millisecond": - case "msecs": - case "msec": - case "ms": - return n; - default: - return void 0; - } - } - function fmtShort(ms) { - var msAbs = Math.abs(ms); - if (msAbs >= d) { - return Math.round(ms / d) + "d"; - } - if (msAbs >= h) { - return Math.round(ms / h) + "h"; - } - if (msAbs >= m) { - return Math.round(ms / m) + "m"; - } - if (msAbs >= s) { - return Math.round(ms / s) + "s"; - } - return ms + "ms"; - } - function fmtLong(ms) { - var msAbs = Math.abs(ms); - if (msAbs >= d) { - return plural(ms, msAbs, d, "day"); - } - if (msAbs >= h) { - return plural(ms, msAbs, h, "hour"); - } - if (msAbs >= m) { - return plural(ms, msAbs, m, "minute"); - } - if (msAbs >= s) { - return plural(ms, msAbs, s, "second"); - } - return ms + " ms"; - } - function plural(ms, msAbs, n, name) { - var isPlural = msAbs >= n * 1.5; - return Math.round(ms / n) + " " + name + (isPlural ? "s" : ""); - } - } -}); - -// node_modules/superagent/node_modules/debug/src/common.js -var require_common9 = __commonJS({ - "node_modules/superagent/node_modules/debug/src/common.js"(exports2, module2) { - function setup(env) { - createDebug.debug = createDebug; - createDebug.default = createDebug; - createDebug.coerce = coerce; - createDebug.disable = disable; - createDebug.enable = enable; - createDebug.enabled = enabled; - createDebug.humanize = require_ms9(); - createDebug.destroy = destroy; - Object.keys(env).forEach((key) => { - createDebug[key] = env[key]; - }); - createDebug.names = []; - createDebug.skips = []; - createDebug.formatters = {}; - function selectColor(namespace) { - let hash = 0; - for (let i = 0; i < namespace.length; i++) { - hash = (hash << 5) - hash + namespace.charCodeAt(i); - hash |= 0; - } - return createDebug.colors[Math.abs(hash) % createDebug.colors.length]; - } - createDebug.selectColor = selectColor; - function createDebug(namespace) { - let prevTime; - let enableOverride = null; - let namespacesCache; - let enabledCache; - function debug(...args2) { - if (!debug.enabled) { - return; - } - const self2 = debug; - const curr = Number(new Date()); - const ms = curr - (prevTime || curr); - self2.diff = ms; - self2.prev = prevTime; - self2.curr = curr; - prevTime = curr; - args2[0] = createDebug.coerce(args2[0]); - if (typeof args2[0] !== "string") { - args2.unshift("%O"); - } - let index = 0; - args2[0] = args2[0].replace(/%([a-zA-Z%])/g, (match, format2) => { - if (match === "%%") { - return "%"; - } - index++; - const formatter = createDebug.formatters[format2]; - if (typeof formatter === "function") { - const val = args2[index]; - match = formatter.call(self2, val); - args2.splice(index, 1); - index--; - } - return match; - }); - createDebug.formatArgs.call(self2, args2); - const logFn = self2.log || createDebug.log; - logFn.apply(self2, args2); - } - debug.namespace = namespace; - debug.useColors = createDebug.useColors(); - debug.color = createDebug.selectColor(namespace); - debug.extend = extend2; - debug.destroy = createDebug.destroy; - Object.defineProperty(debug, "enabled", { - enumerable: true, - configurable: false, - get: () => { - if (enableOverride !== null) { - return enableOverride; - } - if (namespacesCache !== createDebug.namespaces) { - namespacesCache = createDebug.namespaces; - enabledCache = createDebug.enabled(namespace); - } - return enabledCache; - }, - set: (v) => { - enableOverride = v; - } - }); - if (typeof createDebug.init === "function") { - createDebug.init(debug); - } - return debug; - } - function extend2(namespace, delimiter) { - const newDebug = createDebug(this.namespace + (typeof delimiter === "undefined" ? ":" : delimiter) + namespace); - newDebug.log = this.log; - return newDebug; - } - function enable(namespaces) { - createDebug.save(namespaces); - createDebug.namespaces = namespaces; - createDebug.names = []; - createDebug.skips = []; - let i; - const split = (typeof namespaces === "string" ? namespaces : "").split(/[\s,]+/); - const len = split.length; - for (i = 0; i < len; i++) { - if (!split[i]) { - continue; - } - namespaces = split[i].replace(/\*/g, ".*?"); - if (namespaces[0] === "-") { - createDebug.skips.push(new RegExp("^" + namespaces.slice(1) + "$")); - } else { - createDebug.names.push(new RegExp("^" + namespaces + "$")); - } - } - } - function disable() { - const namespaces = [ - ...createDebug.names.map(toNamespace), - ...createDebug.skips.map(toNamespace).map((namespace) => "-" + namespace) - ].join(","); - createDebug.enable(""); - return namespaces; - } - function enabled(name) { - if (name[name.length - 1] === "*") { - return true; - } - let i; - let len; - for (i = 0, len = createDebug.skips.length; i < len; i++) { - if (createDebug.skips[i].test(name)) { - return false; - } - } - for (i = 0, len = createDebug.names.length; i < len; i++) { - if (createDebug.names[i].test(name)) { - return true; - } - } - return false; - } - function toNamespace(regexp) { - return regexp.toString().substring(2, regexp.toString().length - 2).replace(/\.\*\?$/, "*"); - } - function coerce(val) { - if (val instanceof Error) { - return val.stack || val.message; - } - return val; - } - function destroy() { - console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."); - } - createDebug.enable(createDebug.load()); - return createDebug; - } - module2.exports = setup; - } -}); - -// node_modules/superagent/node_modules/debug/src/browser.js -var require_browser8 = __commonJS({ - "node_modules/superagent/node_modules/debug/src/browser.js"(exports2, module2) { - exports2.formatArgs = formatArgs; - exports2.save = save; - exports2.load = load; - exports2.useColors = useColors; - exports2.storage = localstorage(); - exports2.destroy = (() => { - let warned = false; - return () => { - if (!warned) { - warned = true; - console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."); - } - }; - })(); - exports2.colors = [ - "#0000CC", - "#0000FF", - "#0033CC", - "#0033FF", - "#0066CC", - "#0066FF", - "#0099CC", - "#0099FF", - "#00CC00", - "#00CC33", - "#00CC66", - "#00CC99", - "#00CCCC", - "#00CCFF", - "#3300CC", - "#3300FF", - "#3333CC", - "#3333FF", - "#3366CC", - "#3366FF", - "#3399CC", - "#3399FF", - "#33CC00", - "#33CC33", - "#33CC66", - "#33CC99", - "#33CCCC", - "#33CCFF", - "#6600CC", - "#6600FF", - "#6633CC", - "#6633FF", - "#66CC00", - "#66CC33", - "#9900CC", - "#9900FF", - "#9933CC", - "#9933FF", - "#99CC00", - "#99CC33", - "#CC0000", - "#CC0033", - "#CC0066", - "#CC0099", - "#CC00CC", - "#CC00FF", - "#CC3300", - "#CC3333", - "#CC3366", - "#CC3399", - "#CC33CC", - "#CC33FF", - "#CC6600", - "#CC6633", - "#CC9900", - "#CC9933", - "#CCCC00", - "#CCCC33", - "#FF0000", - "#FF0033", - "#FF0066", - "#FF0099", - "#FF00CC", - "#FF00FF", - "#FF3300", - "#FF3333", - "#FF3366", - "#FF3399", - "#FF33CC", - "#FF33FF", - "#FF6600", - "#FF6633", - "#FF9900", - "#FF9933", - "#FFCC00", - "#FFCC33" - ]; - function useColors() { - if (typeof window !== "undefined" && window.process && (window.process.type === "renderer" || window.process.__nwjs)) { - return true; - } - if (typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { - return false; - } - return typeof document !== "undefined" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || typeof window !== "undefined" && window.console && (window.console.firebug || window.console.exception && window.console.table) || typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 || typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/); - } - function formatArgs(args2) { - args2[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + args2[0] + (this.useColors ? "%c " : " ") + "+" + module2.exports.humanize(this.diff); - if (!this.useColors) { - return; - } - const c = "color: " + this.color; - args2.splice(1, 0, c, "color: inherit"); - let index = 0; - let lastC = 0; - args2[0].replace(/%[a-zA-Z%]/g, (match) => { - if (match === "%%") { - return; - } - index++; - if (match === "%c") { - lastC = index; - } - }); - args2.splice(lastC, 0, c); - } - exports2.log = console.debug || console.log || (() => { - }); - function save(namespaces) { - try { - if (namespaces) { - exports2.storage.setItem("debug", namespaces); - } else { - exports2.storage.removeItem("debug"); - } - } catch (error) { - } - } - function load() { - let r; - try { - r = exports2.storage.getItem("debug"); - } catch (error) { - } - if (!r && typeof process !== "undefined" && "env" in process) { - r = process.env.DEBUG; - } - return r; - } - function localstorage() { - try { - return localStorage; - } catch (error) { - } - } - module2.exports = require_common9()(exports2); - var { formatters } = module2.exports; - formatters.j = function(v) { - try { - return JSON.stringify(v); - } catch (error) { - return "[UnexpectedJSONParseError]: " + error.message; - } - }; - } -}); - -// node_modules/superagent/node_modules/debug/src/node.js -var require_node10 = __commonJS({ - "node_modules/superagent/node_modules/debug/src/node.js"(exports2, module2) { - var tty = require("tty"); - var util2 = require("util"); - exports2.init = init; - exports2.log = log2; - exports2.formatArgs = formatArgs; - exports2.save = save; - exports2.load = load; - exports2.useColors = useColors; - exports2.destroy = util2.deprecate( - () => { - }, - "Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`." - ); - exports2.colors = [6, 2, 3, 4, 5, 1]; - try { - const supportsColor = require("supports-color"); - if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) { - exports2.colors = [ - 20, - 21, - 26, - 27, - 32, - 33, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 56, - 57, - 62, - 63, - 68, - 69, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 92, - 93, - 98, - 99, - 112, - 113, - 128, - 129, - 134, - 135, - 148, - 149, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 178, - 179, - 184, - 185, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 214, - 215, - 220, - 221 - ]; - } - } catch (error) { - } - exports2.inspectOpts = Object.keys(process.env).filter((key) => { - return /^debug_/i.test(key); - }).reduce((obj, key) => { - const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_, k) => { - return k.toUpperCase(); - }); - let val = process.env[key]; - if (/^(yes|on|true|enabled)$/i.test(val)) { - val = true; - } else if (/^(no|off|false|disabled)$/i.test(val)) { - val = false; - } else if (val === "null") { - val = null; - } else { - val = Number(val); - } - obj[prop] = val; - return obj; - }, {}); - function useColors() { - return "colors" in exports2.inspectOpts ? Boolean(exports2.inspectOpts.colors) : tty.isatty(process.stderr.fd); - } - function formatArgs(args2) { - const { namespace: name, useColors: useColors2 } = this; - if (useColors2) { - const c = this.color; - const colorCode = "\x1B[3" + (c < 8 ? c : "8;5;" + c); - const prefix = ` ${colorCode};1m${name} \x1B[0m`; - args2[0] = prefix + args2[0].split("\n").join("\n" + prefix); - args2.push(colorCode + "m+" + module2.exports.humanize(this.diff) + "\x1B[0m"); - } else { - args2[0] = getDate() + name + " " + args2[0]; - } - } - function getDate() { - if (exports2.inspectOpts.hideDate) { - return ""; - } - return new Date().toISOString() + " "; - } - function log2(...args2) { - return process.stderr.write(util2.format(...args2) + "\n"); - } - function save(namespaces) { - if (namespaces) { - process.env.DEBUG = namespaces; - } else { - delete process.env.DEBUG; - } - } - function load() { - return process.env.DEBUG; - } - function init(debug) { - debug.inspectOpts = {}; - const keys2 = Object.keys(exports2.inspectOpts); - for (let i = 0; i < keys2.length; i++) { - debug.inspectOpts[keys2[i]] = exports2.inspectOpts[keys2[i]]; - } - } - module2.exports = require_common9()(exports2); - var { formatters } = module2.exports; - formatters.o = function(v) { - this.inspectOpts.colors = this.useColors; - return util2.inspect(v, this.inspectOpts).split("\n").map((str) => str.trim()).join(" "); - }; - formatters.O = function(v) { - this.inspectOpts.colors = this.useColors; - return util2.inspect(v, this.inspectOpts); - }; - } -}); - -// node_modules/superagent/node_modules/debug/src/index.js -var require_src10 = __commonJS({ - "node_modules/superagent/node_modules/debug/src/index.js"(exports2, module2) { - if (typeof process === "undefined" || process.type === "renderer" || process.browser === true || process.__nwjs) { - module2.exports = require_browser8(); - } else { - module2.exports = require_node10(); - } - } -}); - -// node_modules/cookiejar/cookiejar.js -var require_cookiejar = __commonJS({ - "node_modules/cookiejar/cookiejar.js"(exports2) { - (function() { - "use strict"; - function CookieAccessInfo(domain, path4, secure, script) { - if (this instanceof CookieAccessInfo) { - this.domain = domain || void 0; - this.path = path4 || "/"; - this.secure = !!secure; - this.script = !!script; - return this; - } - return new CookieAccessInfo(domain, path4, secure, script); - } - CookieAccessInfo.All = Object.freeze(/* @__PURE__ */ Object.create(null)); - exports2.CookieAccessInfo = CookieAccessInfo; - function Cookie(cookiestr, request_domain, request_path) { - if (cookiestr instanceof Cookie) { - return cookiestr; - } - if (this instanceof Cookie) { - this.name = null; - this.value = null; - this.expiration_date = Infinity; - this.path = String(request_path || "/"); - this.explicit_path = false; - this.domain = request_domain || null; - this.explicit_domain = false; - this.secure = false; - this.noscript = false; - if (cookiestr) { - this.parse(cookiestr, request_domain, request_path); - } - return this; - } - return new Cookie(cookiestr, request_domain, request_path); - } - exports2.Cookie = Cookie; - Cookie.prototype.toString = function toString3() { - var str = [this.name + "=" + this.value]; - if (this.expiration_date !== Infinity) { - str.push("expires=" + new Date(this.expiration_date).toGMTString()); - } - if (this.domain) { - str.push("domain=" + this.domain); - } - if (this.path) { - str.push("path=" + this.path); - } - if (this.secure) { - str.push("secure"); - } - if (this.noscript) { - str.push("httponly"); - } - return str.join("; "); - }; - Cookie.prototype.toValueString = function toValueString() { - return this.name + "=" + this.value; - }; - var cookie_str_splitter = /[:](?=\s*[a-zA-Z0-9_\-]+\s*[=])/g; - Cookie.prototype.parse = function parse(str, request_domain, request_path) { - if (this instanceof Cookie) { - if (str.length > 32768) { - console.warn("Cookie too long for parsing (>32768 characters)"); - return; - } - var parts = str.split(";").filter(function(value2) { - return !!value2; - }); - var i; - var pair = parts[0].match(/([^=]+)=([\s\S]*)/); - if (!pair) { - console.warn("Invalid cookie header encountered. Header: '" + str + "'"); - return; - } - var key = pair[1]; - var value = pair[2]; - if (typeof key !== "string" || key.length === 0 || typeof value !== "string") { - console.warn("Unable to extract values from cookie header. Cookie: '" + str + "'"); - return; - } - this.name = key; - this.value = value; - for (i = 1; i < parts.length; i += 1) { - pair = parts[i].match(/([^=]+)(?:=([\s\S]*))?/); - key = pair[1].trim().toLowerCase(); - value = pair[2]; - switch (key) { - case "httponly": - this.noscript = true; - break; - case "expires": - this.expiration_date = value ? Number(Date.parse(value)) : Infinity; - break; - case "path": - this.path = value ? value.trim() : ""; - this.explicit_path = true; - break; - case "domain": - this.domain = value ? value.trim() : ""; - this.explicit_domain = !!this.domain; - break; - case "secure": - this.secure = true; - break; - } - } - if (!this.explicit_path) { - this.path = request_path || "/"; - } - if (!this.explicit_domain) { - this.domain = request_domain; - } - return this; - } - return new Cookie().parse(str, request_domain, request_path); - }; - Cookie.prototype.matches = function matches(access_info) { - if (access_info === CookieAccessInfo.All) { - return true; - } - if (this.noscript && access_info.script || this.secure && !access_info.secure || !this.collidesWith(access_info)) { - return false; - } - return true; - }; - Cookie.prototype.collidesWith = function collidesWith(access_info) { - if (this.path && !access_info.path || this.domain && !access_info.domain) { - return false; - } - if (this.path && access_info.path.indexOf(this.path) !== 0) { - return false; - } - if (this.explicit_path && access_info.path.indexOf(this.path) !== 0) { - return false; - } - var access_domain = access_info.domain && access_info.domain.replace(/^[\.]/, ""); - var cookie_domain = this.domain && this.domain.replace(/^[\.]/, ""); - if (cookie_domain === access_domain) { - return true; - } - if (cookie_domain) { - if (!this.explicit_domain) { - return false; - } - var wildcard = access_domain.indexOf(cookie_domain); - if (wildcard === -1 || wildcard !== access_domain.length - cookie_domain.length) { - return false; - } - return true; - } - return true; - }; - function CookieJar() { - var cookies, cookies_list, collidable_cookie; - if (this instanceof CookieJar) { - cookies = /* @__PURE__ */ Object.create(null); - this.setCookie = function setCookie(cookie, request_domain, request_path) { - var remove, i; - cookie = new Cookie(cookie, request_domain, request_path); - remove = cookie.expiration_date <= Date.now(); - if (cookies[cookie.name] !== void 0) { - cookies_list = cookies[cookie.name]; - for (i = 0; i < cookies_list.length; i += 1) { - collidable_cookie = cookies_list[i]; - if (collidable_cookie.collidesWith(cookie)) { - if (remove) { - cookies_list.splice(i, 1); - if (cookies_list.length === 0) { - delete cookies[cookie.name]; - } - return false; - } - cookies_list[i] = cookie; - return cookie; - } - } - if (remove) { - return false; - } - cookies_list.push(cookie); - return cookie; - } - if (remove) { - return false; - } - cookies[cookie.name] = [cookie]; - return cookies[cookie.name]; - }; - this.getCookie = function getCookie(cookie_name, access_info) { - var cookie, i; - cookies_list = cookies[cookie_name]; - if (!cookies_list) { - return; - } - for (i = 0; i < cookies_list.length; i += 1) { - cookie = cookies_list[i]; - if (cookie.expiration_date <= Date.now()) { - if (cookies_list.length === 0) { - delete cookies[cookie.name]; - } - continue; - } - if (cookie.matches(access_info)) { - return cookie; - } - } - }; - this.getCookies = function getCookies(access_info) { - var matches = [], cookie_name, cookie; - for (cookie_name in cookies) { - cookie = this.getCookie(cookie_name, access_info); - if (cookie) { - matches.push(cookie); - } - } - matches.toString = function toString3() { - return matches.join(":"); - }; - matches.toValueString = function toValueString() { - return matches.map(function(c) { - return c.toValueString(); - }).join("; "); - }; - return matches; - }; - return this; - } - return new CookieJar(); - } - exports2.CookieJar = CookieJar; - CookieJar.prototype.setCookies = function setCookies(cookies, request_domain, request_path) { - cookies = Array.isArray(cookies) ? cookies : cookies.split(cookie_str_splitter); - var successful = [], i, cookie; - cookies = cookies.map(function(item) { - return new Cookie(item, request_domain, request_path); - }); - for (i = 0; i < cookies.length; i += 1) { - cookie = cookies[i]; - if (this.setCookie(cookie, request_domain, request_path)) { - successful.push(cookie); - } - } - return successful; - }; - })(); - } -}); - -// node_modules/fast-safe-stringify/index.js -var require_fast_safe_stringify = __commonJS({ - "node_modules/fast-safe-stringify/index.js"(exports2, module2) { - module2.exports = stringify; - stringify.default = stringify; - stringify.stable = deterministicStringify; - stringify.stableStringify = deterministicStringify; - var LIMIT_REPLACE_NODE = "[...]"; - var CIRCULAR_REPLACE_NODE = "[Circular]"; - var arr = []; - var replacerStack = []; - function defaultOptions() { - return { - depthLimit: Number.MAX_SAFE_INTEGER, - edgesLimit: Number.MAX_SAFE_INTEGER - }; - } - function stringify(obj, replacer, spacer, options) { - if (typeof options === "undefined") { - options = defaultOptions(); - } - decirc(obj, "", 0, [], void 0, 0, options); - var res; - try { - if (replacerStack.length === 0) { - res = JSON.stringify(obj, replacer, spacer); - } else { - res = JSON.stringify(obj, replaceGetterValues(replacer), spacer); - } - } catch (_) { - return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]"); - } finally { - while (arr.length !== 0) { - var part = arr.pop(); - if (part.length === 4) { - Object.defineProperty(part[0], part[1], part[3]); - } else { - part[0][part[1]] = part[2]; - } - } - } - return res; - } - function setReplace(replace, val, k, parent) { - var propertyDescriptor = Object.getOwnPropertyDescriptor(parent, k); - if (propertyDescriptor.get !== void 0) { - if (propertyDescriptor.configurable) { - Object.defineProperty(parent, k, { value: replace }); - arr.push([parent, k, val, propertyDescriptor]); - } else { - replacerStack.push([val, k, replace]); - } - } else { - parent[k] = replace; - arr.push([parent, k, val]); - } - } - function decirc(val, k, edgeIndex, stack2, parent, depth, options) { - depth += 1; - var i; - if (typeof val === "object" && val !== null) { - for (i = 0; i < stack2.length; i++) { - if (stack2[i] === val) { - setReplace(CIRCULAR_REPLACE_NODE, val, k, parent); - return; - } - } - if (typeof options.depthLimit !== "undefined" && depth > options.depthLimit) { - setReplace(LIMIT_REPLACE_NODE, val, k, parent); - return; - } - if (typeof options.edgesLimit !== "undefined" && edgeIndex + 1 > options.edgesLimit) { - setReplace(LIMIT_REPLACE_NODE, val, k, parent); - return; - } - stack2.push(val); - if (Array.isArray(val)) { - for (i = 0; i < val.length; i++) { - decirc(val[i], i, i, stack2, val, depth, options); - } - } else { - var keys2 = Object.keys(val); - for (i = 0; i < keys2.length; i++) { - var key = keys2[i]; - decirc(val[key], key, i, stack2, val, depth, options); - } - } - stack2.pop(); - } - } - function compareFunction(a, b) { - if (a < b) { - return -1; - } - if (a > b) { - return 1; - } - return 0; - } - function deterministicStringify(obj, replacer, spacer, options) { - if (typeof options === "undefined") { - options = defaultOptions(); - } - var tmp = deterministicDecirc(obj, "", 0, [], void 0, 0, options) || obj; - var res; - try { - if (replacerStack.length === 0) { - res = JSON.stringify(tmp, replacer, spacer); - } else { - res = JSON.stringify(tmp, replaceGetterValues(replacer), spacer); - } - } catch (_) { - return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]"); - } finally { - while (arr.length !== 0) { - var part = arr.pop(); - if (part.length === 4) { - Object.defineProperty(part[0], part[1], part[3]); - } else { - part[0][part[1]] = part[2]; - } - } - } - return res; - } - function deterministicDecirc(val, k, edgeIndex, stack2, parent, depth, options) { - depth += 1; - var i; - if (typeof val === "object" && val !== null) { - for (i = 0; i < stack2.length; i++) { - if (stack2[i] === val) { - setReplace(CIRCULAR_REPLACE_NODE, val, k, parent); - return; - } - } - try { - if (typeof val.toJSON === "function") { - return; - } - } catch (_) { - return; - } - if (typeof options.depthLimit !== "undefined" && depth > options.depthLimit) { - setReplace(LIMIT_REPLACE_NODE, val, k, parent); - return; - } - if (typeof options.edgesLimit !== "undefined" && edgeIndex + 1 > options.edgesLimit) { - setReplace(LIMIT_REPLACE_NODE, val, k, parent); - return; - } - stack2.push(val); - if (Array.isArray(val)) { - for (i = 0; i < val.length; i++) { - deterministicDecirc(val[i], i, i, stack2, val, depth, options); - } - } else { - var tmp = {}; - var keys2 = Object.keys(val).sort(compareFunction); - for (i = 0; i < keys2.length; i++) { - var key = keys2[i]; - deterministicDecirc(val[key], key, i, stack2, val, depth, options); - tmp[key] = val[key]; - } - if (typeof parent !== "undefined") { - arr.push([parent, k, val]); - parent[k] = tmp; - } else { - return tmp; - } - } - stack2.pop(); - } - } - function replaceGetterValues(replacer) { - replacer = typeof replacer !== "undefined" ? replacer : function(k, v) { - return v; - }; - return function(key, val) { - if (replacerStack.length > 0) { - for (var i = 0; i < replacerStack.length; i++) { - var part = replacerStack[i]; - if (part[1] === key && part[0] === val) { - val = part[2]; - replacerStack.splice(i, 1); - break; - } - } - } - return replacer.call(this, key, val); - }; - } - } -}); - -// node_modules/superagent/lib/utils.js -var require_utils3 = __commonJS({ - "node_modules/superagent/lib/utils.js"(exports2) { - "use strict"; - function _createForOfIteratorHelper(o, allowArrayLike) { - var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; - if (!it) { - if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { - if (it) - o = it; - var i = 0; - var F = function F2() { - }; - return { s: F, n: function n() { - if (i >= o.length) - return { done: true }; - return { done: false, value: o[i++] }; - }, e: function e(_e) { - throw _e; - }, f: F }; - } - throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); - } - var normalCompletion = true, didErr = false, err; - return { s: function s() { - it = it.call(o); - }, n: function n() { - var step = it.next(); - normalCompletion = step.done; - return step; - }, e: function e(_e2) { - didErr = true; - err = _e2; - }, f: function f() { - try { - if (!normalCompletion && it.return != null) - it.return(); - } finally { - if (didErr) - throw err; - } - } }; - } - function _unsupportedIterableToArray(o, minLen) { - if (!o) - return; - if (typeof o === "string") - return _arrayLikeToArray(o, minLen); - var n = Object.prototype.toString.call(o).slice(8, -1); - if (n === "Object" && o.constructor) - n = o.constructor.name; - if (n === "Map" || n === "Set") - return Array.from(o); - if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) - return _arrayLikeToArray(o, minLen); - } - function _arrayLikeToArray(arr, len) { - if (len == null || len > arr.length) - len = arr.length; - for (var i = 0, arr2 = new Array(len); i < len; i++) - arr2[i] = arr[i]; - return arr2; - } - exports2.type = (string_) => string_.split(/ *; */).shift(); - exports2.params = (value) => { - const object = {}; - var _iterator = _createForOfIteratorHelper(value.split(/ *; */)), _step; - try { - for (_iterator.s(); !(_step = _iterator.n()).done; ) { - const string_ = _step.value; - const parts = string_.split(/ *= */); - const key = parts.shift(); - const value2 = parts.shift(); - if (key && value2) - object[key] = value2; - } - } catch (err) { - _iterator.e(err); - } finally { - _iterator.f(); - } - return object; - }; - exports2.parseLinks = (value) => { - const object = {}; - var _iterator2 = _createForOfIteratorHelper(value.split(/ *, */)), _step2; - try { - for (_iterator2.s(); !(_step2 = _iterator2.n()).done; ) { - const string_ = _step2.value; - const parts = string_.split(/ *; */); - const url2 = parts[0].slice(1, -1); - const rel = parts[1].split(/ *= */)[1].slice(1, -1); - object[rel] = url2; - } - } catch (err) { - _iterator2.e(err); - } finally { - _iterator2.f(); - } - return object; - }; - exports2.cleanHeader = (header, changesOrigin) => { - delete header["content-type"]; - delete header["content-length"]; - delete header["transfer-encoding"]; - delete header.host; - if (changesOrigin) { - delete header.authorization; - delete header.cookie; - } - return header; - }; - exports2.isObject = (object) => { - return object !== null && typeof object === "object"; - }; - exports2.hasOwn = Object.hasOwn || function(object, property) { - if (object == null) { - throw new TypeError("Cannot convert undefined or null to object"); - } - return Object.prototype.hasOwnProperty.call(new Object(object), property); - }; - exports2.mixin = (target, source2) => { - for (const key in source2) { - if (exports2.hasOwn(source2, key)) { - target[key] = source2[key]; - } - } - }; - } -}); - -// node_modules/superagent/lib/request-base.js -var require_request_base = __commonJS({ - "node_modules/superagent/lib/request-base.js"(exports2, module2) { - "use strict"; - var semver = require_semver2(); - var _require = require_utils3(); - var isObject4 = _require.isObject; - var hasOwn = _require.hasOwn; - module2.exports = RequestBase; - function RequestBase() { - } - RequestBase.prototype.clearTimeout = function() { - clearTimeout(this._timer); - clearTimeout(this._responseTimeoutTimer); - clearTimeout(this._uploadTimeoutTimer); - delete this._timer; - delete this._responseTimeoutTimer; - delete this._uploadTimeoutTimer; - return this; - }; - RequestBase.prototype.parse = function(fn2) { - this._parser = fn2; - return this; - }; - RequestBase.prototype.responseType = function(value) { - this._responseType = value; - return this; - }; - RequestBase.prototype.serialize = function(fn2) { - this._serializer = fn2; - return this; - }; - RequestBase.prototype.timeout = function(options) { - if (!options || typeof options !== "object") { - this._timeout = options; - this._responseTimeout = 0; - this._uploadTimeout = 0; - return this; - } - for (const option in options) { - if (hasOwn(options, option)) { - switch (option) { - case "deadline": - this._timeout = options.deadline; - break; - case "response": - this._responseTimeout = options.response; - break; - case "upload": - this._uploadTimeout = options.upload; - break; - default: - console.warn("Unknown timeout option", option); - } - } - } - return this; - }; - RequestBase.prototype.retry = function(count, fn2) { - if (arguments.length === 0 || count === true) - count = 1; - if (count <= 0) - count = 0; - this._maxRetries = count; - this._retries = 0; - this._retryCallback = fn2; - return this; - }; - var ERROR_CODES = /* @__PURE__ */ new Set(["ETIMEDOUT", "ECONNRESET", "EADDRINUSE", "ECONNREFUSED", "EPIPE", "ENOTFOUND", "ENETUNREACH", "EAI_AGAIN"]); - var STATUS_CODES = /* @__PURE__ */ new Set([408, 413, 429, 500, 502, 503, 504, 521, 522, 524]); - RequestBase.prototype._shouldRetry = function(error, res) { - if (!this._maxRetries || this._retries++ >= this._maxRetries) { - return false; - } - if (this._retryCallback) { - try { - const override = this._retryCallback(error, res); - if (override === true) - return true; - if (override === false) - return false; - } catch (err) { - console.error(err); - } - } - if (res && res.status && STATUS_CODES.has(res.status)) - return true; - if (error) { - if (error.code && ERROR_CODES.has(error.code)) - return true; - if (error.timeout && error.code === "ECONNABORTED") - return true; - if (error.crossDomain) - return true; - } - return false; - }; - RequestBase.prototype._retry = function() { - this.clearTimeout(); - if (this.req) { - this.req = null; - this.req = this.request(); - } - this._aborted = false; - this.timedout = false; - this.timedoutError = null; - return this._end(); - }; - RequestBase.prototype.then = function(resolve, reject) { - if (!this._fullfilledPromise) { - const self2 = this; - if (this._endCalled) { - console.warn("Warning: superagent request was sent twice, because both .end() and .then() were called. Never call .end() if you use promises"); - } - this._fullfilledPromise = new Promise((resolve2, reject2) => { - self2.on("abort", () => { - if (this._maxRetries && this._maxRetries > this._retries) { - return; - } - if (this.timedout && this.timedoutError) { - reject2(this.timedoutError); - return; - } - const error = new Error("Aborted"); - error.code = "ABORTED"; - error.status = this.status; - error.method = this.method; - error.url = this.url; - reject2(error); - }); - self2.end((error, res) => { - if (error) - reject2(error); - else - resolve2(res); - }); - }); - } - return this._fullfilledPromise.then(resolve, reject); - }; - RequestBase.prototype.catch = function(callback) { - return this.then(void 0, callback); - }; - RequestBase.prototype.use = function(fn2) { - fn2(this); - return this; - }; - RequestBase.prototype.ok = function(callback) { - if (typeof callback !== "function") - throw new Error("Callback required"); - this._okCallback = callback; - return this; - }; - RequestBase.prototype._isResponseOK = function(res) { - if (!res) { - return false; - } - if (this._okCallback) { - return this._okCallback(res); - } - return res.status >= 200 && res.status < 300; - }; - RequestBase.prototype.get = function(field) { - return this._header[field.toLowerCase()]; - }; - RequestBase.prototype.getHeader = RequestBase.prototype.get; - RequestBase.prototype.set = function(field, value) { - if (isObject4(field)) { - for (const key in field) { - if (hasOwn(field, key)) - this.set(key, field[key]); - } - return this; - } - this._header[field.toLowerCase()] = value; - this.header[field] = value; - return this; - }; - RequestBase.prototype.unset = function(field) { - delete this._header[field.toLowerCase()]; - delete this.header[field]; - return this; - }; - RequestBase.prototype.field = function(name, value, options) { - if (name === null || void 0 === name) { - throw new Error(".field(name, val) name can not be empty"); - } - if (this._data) { - throw new Error(".field() can't be used if .send() is used. Please use only .send() or only .field() & .attach()"); - } - if (isObject4(name)) { - for (const key in name) { - if (hasOwn(name, key)) - this.field(key, name[key]); - } - return this; - } - if (Array.isArray(value)) { - for (const i in value) { - if (hasOwn(value, i)) - this.field(name, value[i]); - } - return this; - } - if (value === null || void 0 === value) { - throw new Error(".field(name, val) val can not be empty"); - } - if (typeof value === "boolean") { - value = String(value); - } - if (options) - this._getFormData().append(name, value, options); - else - this._getFormData().append(name, value); - return this; - }; - RequestBase.prototype.abort = function() { - if (this._aborted) { - return this; - } - this._aborted = true; - if (this.xhr) - this.xhr.abort(); - if (this.req) { - if (semver.gte(process.version, "v13.0.0") && semver.lt(process.version, "v14.0.0")) { - throw new Error("Superagent does not work in v13 properly with abort() due to Node.js core changes"); - } else if (semver.gte(process.version, "v14.0.0")) { - this.req.destroyed = true; - } - this.req.abort(); - } - this.clearTimeout(); - this.emit("abort"); - return this; - }; - RequestBase.prototype._auth = function(user, pass, options, base64Encoder) { - switch (options.type) { - case "basic": - this.set("Authorization", `Basic ${base64Encoder(`${user}:${pass}`)}`); - break; - case "auto": - this.username = user; - this.password = pass; - break; - case "bearer": - this.set("Authorization", `Bearer ${user}`); - break; - default: - break; - } - return this; - }; - RequestBase.prototype.withCredentials = function(on2) { - if (on2 === void 0) - on2 = true; - this._withCredentials = on2; - return this; - }; - RequestBase.prototype.redirects = function(n) { - this._maxRedirects = n; - return this; - }; - RequestBase.prototype.maxResponseSize = function(n) { - if (typeof n !== "number") { - throw new TypeError("Invalid argument"); - } - this._maxResponseSize = n; - return this; - }; - RequestBase.prototype.toJSON = function() { - return { - method: this.method, - url: this.url, - data: this._data, - headers: this._header - }; - }; - RequestBase.prototype.send = function(data) { - const isObject_ = isObject4(data); - let type = this._header["content-type"]; - if (this._formData) { - throw new Error(".send() can't be used if .attach() or .field() is used. Please use only .send() or only .field() & .attach()"); - } - if (isObject_ && !this._data) { - if (Array.isArray(data)) { - this._data = []; - } else if (!this._isHost(data)) { - this._data = {}; - } - } else if (data && this._data && this._isHost(this._data)) { - throw new Error("Can't merge these send calls"); - } - if (isObject_ && isObject4(this._data)) { - for (const key in data) { - if (hasOwn(data, key)) - this._data[key] = data[key]; - } - } else if (typeof data === "string") { - if (!type) - this.type("form"); - type = this._header["content-type"]; - if (type) - type = type.toLowerCase().trim(); - if (type === "application/x-www-form-urlencoded") { - this._data = this._data ? `${this._data}&${data}` : data; - } else { - this._data = (this._data || "") + data; - } - } else { - this._data = data; - } - if (!isObject_ || this._isHost(data)) { - return this; - } - if (!type) - this.type("json"); - return this; - }; - RequestBase.prototype.sortQuery = function(sort) { - this._sort = typeof sort === "undefined" ? true : sort; - return this; - }; - RequestBase.prototype._finalizeQueryString = function() { - const query = this._query.join("&"); - if (query) { - this.url += (this.url.includes("?") ? "&" : "?") + query; - } - this._query.length = 0; - if (this._sort) { - const index = this.url.indexOf("?"); - if (index >= 0) { - const queryArray = this.url.slice(index + 1).split("&"); - if (typeof this._sort === "function") { - queryArray.sort(this._sort); - } else { - queryArray.sort(); - } - this.url = this.url.slice(0, index) + "?" + queryArray.join("&"); - } - } - }; - RequestBase.prototype._appendQueryString = () => { - console.warn("Unsupported"); - }; - RequestBase.prototype._timeoutError = function(reason, timeout, errno) { - if (this._aborted) { - return; - } - const error = new Error(`${reason + timeout}ms exceeded`); - error.timeout = timeout; - error.code = "ECONNABORTED"; - error.errno = errno; - this.timedout = true; - this.timedoutError = error; - this.abort(); - this.callback(error); - }; - RequestBase.prototype._setTimeouts = function() { - const self2 = this; - if (this._timeout && !this._timer) { - this._timer = setTimeout(() => { - self2._timeoutError("Timeout of ", self2._timeout, "ETIME"); - }, this._timeout); - } - if (this._responseTimeout && !this._responseTimeoutTimer) { - this._responseTimeoutTimer = setTimeout(() => { - self2._timeoutError("Response timeout of ", self2._responseTimeout, "ETIMEDOUT"); - }, this._responseTimeout); - } - }; - } -}); - -// node_modules/superagent/lib/node/unzip.js -var require_unzip = __commonJS({ - "node_modules/superagent/lib/node/unzip.js"(exports2) { - "use strict"; - var _require = require("string_decoder"); - var StringDecoder = _require.StringDecoder; - var Stream = require("stream"); - var zlib2 = require("zlib"); - exports2.unzip = (request2, res) => { - const unzip = zlib2.createUnzip(); - const stream4 = new Stream(); - let decoder; - stream4.req = request2; - unzip.on("error", (error) => { - if (error && error.code === "Z_BUF_ERROR") { - stream4.emit("end"); - return; - } - stream4.emit("error", error); - }); - res.pipe(unzip); - res.setEncoding = (type) => { - decoder = new StringDecoder(type); - }; - unzip.on("data", (buf) => { - if (decoder) { - const string_ = decoder.write(buf); - if (string_.length > 0) - stream4.emit("data", string_); - } else { - stream4.emit("data", buf); - } - }); - unzip.on("end", () => { - stream4.emit("end"); - }); - const _on = res.on; - res.on = function(type, fn2) { - if (type === "data" || type === "end") { - stream4.on(type, fn2.bind(res)); - } else if (type === "error") { - stream4.on(type, fn2.bind(res)); - _on.call(res, type, fn2); - } else { - _on.call(res, type, fn2); - } - return this; - }; - }; - } -}); - -// node_modules/superagent/lib/response-base.js -var require_response_base = __commonJS({ - "node_modules/superagent/lib/response-base.js"(exports2, module2) { - "use strict"; - var utils = require_utils3(); - module2.exports = ResponseBase; - function ResponseBase() { - } - ResponseBase.prototype.get = function(field) { - return this.header[field.toLowerCase()]; - }; - ResponseBase.prototype._setHeaderProperties = function(header) { - const ct = header["content-type"] || ""; - this.type = utils.type(ct); - const parameters = utils.params(ct); - for (const key in parameters) { - if (Object.prototype.hasOwnProperty.call(parameters, key)) - this[key] = parameters[key]; - } - this.links = {}; - try { - if (header.link) { - this.links = utils.parseLinks(header.link); - } - } catch (err) { - } - }; - ResponseBase.prototype._setStatusProperties = function(status) { - const type = Math.trunc(status / 100); - this.statusCode = status; - this.status = this.statusCode; - this.statusType = type; - this.info = type === 1; - this.ok = type === 2; - this.redirect = type === 3; - this.clientError = type === 4; - this.serverError = type === 5; - this.error = type === 4 || type === 5 ? this.toError() : false; - this.created = status === 201; - this.accepted = status === 202; - this.noContent = status === 204; - this.badRequest = status === 400; - this.unauthorized = status === 401; - this.notAcceptable = status === 406; - this.forbidden = status === 403; - this.notFound = status === 404; - this.unprocessableEntity = status === 422; - }; - } -}); - -// node_modules/superagent/lib/node/response.js -var require_response2 = __commonJS({ - "node_modules/superagent/lib/node/response.js"(exports2, module2) { - "use strict"; - var util2 = require("util"); - var Stream = require("stream"); - var ResponseBase = require_response_base(); - var _require = require_utils3(); - var mixin = _require.mixin; - module2.exports = Response; - function Response(request2) { - Stream.call(this); - this.res = request2.res; - const res = this.res; - this.request = request2; - this.req = request2.req; - this.text = res.text; - this.files = res.files || {}; - this.buffered = request2._resBuffered; - this.headers = res.headers; - this.header = this.headers; - this._setStatusProperties(res.statusCode); - this._setHeaderProperties(this.header); - this.setEncoding = res.setEncoding.bind(res); - res.on("data", this.emit.bind(this, "data")); - res.on("end", this.emit.bind(this, "end")); - res.on("close", this.emit.bind(this, "close")); - res.on("error", this.emit.bind(this, "error")); - } - Object.defineProperty(Response.prototype, "body", { - get() { - return this._body !== void 0 ? this._body : this.res.body !== void 0 ? this.res.body : {}; - }, - set(value) { - this._body = value; - } - }); - util2.inherits(Response, Stream); - mixin(Response.prototype, ResponseBase.prototype); - Response.prototype.destroy = function(error) { - this.res.destroy(error); - }; - Response.prototype.pause = function() { - this.res.pause(); - }; - Response.prototype.resume = function() { - this.res.resume(); - }; - Response.prototype.toError = function() { - const req = this.req; - const method = req.method; - const path4 = req.path; - const message2 = `cannot ${method} ${path4} (${this.status})`; - const error = new Error(message2); - error.status = this.status; - error.text = this.text; - error.method = method; - error.path = path4; - return error; - }; - Response.prototype.setStatusProperties = function(status) { - console.warn("In superagent 2.x setStatusProperties is a private method"); - return this._setStatusProperties(status); - }; - Response.prototype.toJSON = function() { - return { - req: this.request.toJSON(), - header: this.header, - status: this.status, - text: this.text - }; - }; - } -}); - -// node_modules/superagent/lib/node/http2wrapper.js -var require_http2wrapper = __commonJS({ - "node_modules/superagent/lib/node/http2wrapper.js"(exports2) { - "use strict"; - function ownKeys(object, enumerableOnly) { - var keys2 = Object.keys(object); - if (Object.getOwnPropertySymbols) { - var symbols = Object.getOwnPropertySymbols(object); - enumerableOnly && (symbols = symbols.filter(function(sym) { - return Object.getOwnPropertyDescriptor(object, sym).enumerable; - })), keys2.push.apply(keys2, symbols); - } - return keys2; - } - function _objectSpread(target) { - for (var i = 1; i < arguments.length; i++) { - var source2 = null != arguments[i] ? arguments[i] : {}; - i % 2 ? ownKeys(Object(source2), true).forEach(function(key) { - _defineProperty(target, key, source2[key]); - }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source2)) : ownKeys(Object(source2)).forEach(function(key) { - Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source2, key)); - }); - } - return target; - } - function _defineProperty(obj, key, value) { - key = _toPropertyKey(key); - if (key in obj) { - Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); - } else { - obj[key] = value; - } - return obj; - } - function _toPropertyKey(arg) { - var key = _toPrimitive(arg, "string"); - return typeof key === "symbol" ? key : String(key); - } - function _toPrimitive(input, hint) { - if (typeof input !== "object" || input === null) - return input; - var prim = input[Symbol.toPrimitive]; - if (prim !== void 0) { - var res = prim.call(input, hint || "default"); - if (typeof res !== "object") - return res; - throw new TypeError("@@toPrimitive must return a primitive value."); - } - return (hint === "string" ? String : Number)(input); - } - var Stream = require("stream"); - var util2 = require("util"); - var net = require("net"); - var tls = require("tls"); - var _require = require("url"); - var parse = _require.parse; - var process2 = require("process"); - var semverGte = require_gte(); - var http2; - if (semverGte(process2.version, "v10.10.0")) - http2 = require("http2"); - else - throw new Error("superagent: this version of Node.js does not support http2"); - var _http2$constants = http2.constants; - var HTTP2_HEADER_PATH = _http2$constants.HTTP2_HEADER_PATH; - var HTTP2_HEADER_STATUS = _http2$constants.HTTP2_HEADER_STATUS; - var HTTP2_HEADER_METHOD = _http2$constants.HTTP2_HEADER_METHOD; - var HTTP2_HEADER_AUTHORITY = _http2$constants.HTTP2_HEADER_AUTHORITY; - var HTTP2_HEADER_HOST = _http2$constants.HTTP2_HEADER_HOST; - var HTTP2_HEADER_SET_COOKIE = _http2$constants.HTTP2_HEADER_SET_COOKIE; - var NGHTTP2_CANCEL = _http2$constants.NGHTTP2_CANCEL; - function setProtocol(protocol) { - return { - request(options) { - return new Request(protocol, options); - } - }; - } - function Request(protocol, options) { - Stream.call(this); - const defaultPort = protocol === "https:" ? 443 : 80; - const defaultHost = "localhost"; - const port = options.port || defaultPort; - const host = options.host || defaultHost; - delete options.port; - delete options.host; - this.method = options.method; - this.path = options.path; - this.protocol = protocol; - this.host = host; - delete options.method; - delete options.path; - const sessionOptions = _objectSpread({}, options); - if (options.socketPath) { - sessionOptions.socketPath = options.socketPath; - sessionOptions.createConnection = this.createUnixConnection.bind(this); - } - this._headers = {}; - const session = http2.connect(`${protocol}//${host}:${port}`, sessionOptions); - this.setHeader("host", `${host}:${port}`); - session.on("error", (error) => this.emit("error", error)); - this.session = session; - } - util2.inherits(Request, Stream); - Request.prototype.createUnixConnection = function(authority, options) { - switch (this.protocol) { - case "http:": - return net.connect(options.socketPath); - case "https:": - options.ALPNProtocols = ["h2"]; - options.servername = this.host; - options.allowHalfOpen = true; - return tls.connect(options.socketPath, options); - default: - throw new Error("Unsupported protocol", this.protocol); - } - }; - Request.prototype.setNoDelay = function(bool) { - }; - Request.prototype.getFrame = function() { - if (this.frame) { - return this.frame; - } - const method = { - [HTTP2_HEADER_PATH]: this.path, - [HTTP2_HEADER_METHOD]: this.method - }; - let headers = this.mapToHttp2Header(this._headers); - headers = Object.assign(headers, method); - const frame = this.session.request(headers); - frame.once("response", (headers2, flags) => { - headers2 = this.mapToHttpHeader(headers2); - frame.headers = headers2; - frame.statusCode = headers2[HTTP2_HEADER_STATUS]; - frame.status = frame.statusCode; - this.emit("response", frame); - }); - this._headerSent = true; - frame.once("drain", () => this.emit("drain")); - frame.on("error", (error) => this.emit("error", error)); - frame.on("close", () => this.session.close()); - this.frame = frame; - return frame; - }; - Request.prototype.mapToHttpHeader = function(headers) { - const keys2 = Object.keys(headers); - const http2Headers = {}; - for (var _i = 0, _keys = keys2; _i < _keys.length; _i++) { - let key = _keys[_i]; - let value = headers[key]; - key = key.toLowerCase(); - switch (key) { - case HTTP2_HEADER_SET_COOKIE: - value = Array.isArray(value) ? value : [value]; - break; - default: - break; - } - http2Headers[key] = value; - } - return http2Headers; - }; - Request.prototype.mapToHttp2Header = function(headers) { - const keys2 = Object.keys(headers); - const http2Headers = {}; - for (var _i2 = 0, _keys2 = keys2; _i2 < _keys2.length; _i2++) { - let key = _keys2[_i2]; - let value = headers[key]; - key = key.toLowerCase(); - switch (key) { - case HTTP2_HEADER_HOST: - key = HTTP2_HEADER_AUTHORITY; - value = /^http:\/\/|^https:\/\//.test(value) ? parse(value).host : value; - break; - default: - break; - } - http2Headers[key] = value; - } - return http2Headers; - }; - Request.prototype.setHeader = function(name, value) { - this._headers[name.toLowerCase()] = value; - }; - Request.prototype.getHeader = function(name) { - return this._headers[name.toLowerCase()]; - }; - Request.prototype.write = function(data, encoding) { - const frame = this.getFrame(); - return frame.write(data, encoding); - }; - Request.prototype.pipe = function(stream4, options) { - const frame = this.getFrame(); - return frame.pipe(stream4, options); - }; - Request.prototype.end = function(data) { - const frame = this.getFrame(); - frame.end(data); - }; - Request.prototype.abort = function(data) { - const frame = this.getFrame(); - frame.close(NGHTTP2_CANCEL); - this.session.destroy(); - }; - exports2.setProtocol = setProtocol; - } -}); - -// node_modules/superagent/lib/agent-base.js -var require_agent_base = __commonJS({ - "node_modules/superagent/lib/agent-base.js"(exports2, module2) { - "use strict"; - function _createForOfIteratorHelper(o, allowArrayLike) { - var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; - if (!it) { - if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { - if (it) - o = it; - var i = 0; - var F = function F2() { - }; - return { s: F, n: function n() { - if (i >= o.length) - return { done: true }; - return { done: false, value: o[i++] }; - }, e: function e(_e) { - throw _e; - }, f: F }; - } - throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); - } - var normalCompletion = true, didErr = false, err; - return { s: function s() { - it = it.call(o); - }, n: function n() { - var step = it.next(); - normalCompletion = step.done; - return step; - }, e: function e(_e2) { - didErr = true; - err = _e2; - }, f: function f() { - try { - if (!normalCompletion && it.return != null) - it.return(); - } finally { - if (didErr) - throw err; - } - } }; - } - function _unsupportedIterableToArray(o, minLen) { - if (!o) - return; - if (typeof o === "string") - return _arrayLikeToArray(o, minLen); - var n = Object.prototype.toString.call(o).slice(8, -1); - if (n === "Object" && o.constructor) - n = o.constructor.name; - if (n === "Map" || n === "Set") - return Array.from(o); - if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) - return _arrayLikeToArray(o, minLen); - } - function _arrayLikeToArray(arr, len) { - if (len == null || len > arr.length) - len = arr.length; - for (var i = 0, arr2 = new Array(len); i < len; i++) - arr2[i] = arr[i]; - return arr2; - } - function Agent() { - this._defaults = []; - } - for (_i = 0, _arr = ["use", "on", "once", "set", "query", "type", "accept", "auth", "withCredentials", "sortQuery", "retry", "ok", "redirects", "timeout", "buffer", "serialize", "parse", "ca", "key", "pfx", "cert", "disableTLSCerts"]; _i < _arr.length; _i++) { - const fn2 = _arr[_i]; - Agent.prototype[fn2] = function() { - for (var _len = arguments.length, args2 = new Array(_len), _key = 0; _key < _len; _key++) { - args2[_key] = arguments[_key]; - } - this._defaults.push({ - fn: fn2, - args: args2 - }); - return this; - }; - } - var _i; - var _arr; - Agent.prototype._setDefaults = function(request2) { - var _iterator = _createForOfIteratorHelper(this._defaults), _step; - try { - for (_iterator.s(); !(_step = _iterator.n()).done; ) { - const def = _step.value; - request2[def.fn](...def.args); - } - } catch (err) { - _iterator.e(err); - } finally { - _iterator.f(); - } - }; - module2.exports = Agent; - } -}); - -// node_modules/superagent/lib/node/agent.js -var require_agent = __commonJS({ - "node_modules/superagent/lib/node/agent.js"(exports2, module2) { - "use strict"; - function _createForOfIteratorHelper(o, allowArrayLike) { - var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; - if (!it) { - if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { - if (it) - o = it; - var i = 0; - var F = function F2() { - }; - return { s: F, n: function n() { - if (i >= o.length) - return { done: true }; - return { done: false, value: o[i++] }; - }, e: function e(_e) { - throw _e; - }, f: F }; - } - throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); - } - var normalCompletion = true, didErr = false, err; - return { s: function s() { - it = it.call(o); - }, n: function n() { - var step = it.next(); - normalCompletion = step.done; - return step; - }, e: function e(_e2) { - didErr = true; - err = _e2; - }, f: function f() { - try { - if (!normalCompletion && it.return != null) - it.return(); - } finally { - if (didErr) - throw err; - } - } }; - } - function _unsupportedIterableToArray(o, minLen) { - if (!o) - return; - if (typeof o === "string") - return _arrayLikeToArray(o, minLen); - var n = Object.prototype.toString.call(o).slice(8, -1); - if (n === "Object" && o.constructor) - n = o.constructor.name; - if (n === "Map" || n === "Set") - return Array.from(o); - if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) - return _arrayLikeToArray(o, minLen); - } - function _arrayLikeToArray(arr, len) { - if (len == null || len > arr.length) - len = arr.length; - for (var i = 0, arr2 = new Array(len); i < len; i++) - arr2[i] = arr[i]; - return arr2; - } - var _require = require("url"); - var parse = _require.parse; - var _require2 = require_cookiejar(); - var CookieJar = _require2.CookieJar; - var _require3 = require_cookiejar(); - var CookieAccessInfo = _require3.CookieAccessInfo; - var methods = require_methods(); - var request2 = require_node11(); - var AgentBase = require_agent_base(); - module2.exports = Agent; - function Agent(options) { - if (!(this instanceof Agent)) { - return new Agent(options); - } - AgentBase.call(this); - this.jar = new CookieJar(); - if (options) { - if (options.ca) { - this.ca(options.ca); - } - if (options.key) { - this.key(options.key); - } - if (options.pfx) { - this.pfx(options.pfx); - } - if (options.cert) { - this.cert(options.cert); - } - if (options.rejectUnauthorized === false) { - this.disableTLSCerts(); - } - } - } - Agent.prototype = Object.create(AgentBase.prototype); - Agent.prototype._saveCookies = function(res) { - const cookies = res.headers["set-cookie"]; - if (cookies) { - var _res$request; - const url2 = parse(((_res$request = res.request) === null || _res$request === void 0 ? void 0 : _res$request.url) || ""); - this.jar.setCookies(cookies, url2.hostname, url2.pathname); - } - }; - Agent.prototype._attachCookies = function(request_) { - const url2 = parse(request_.url); - const access = new CookieAccessInfo(url2.hostname, url2.pathname, url2.protocol === "https:"); - const cookies = this.jar.getCookies(access).toValueString(); - request_.cookies = cookies; - }; - var _iterator = _createForOfIteratorHelper(methods); - var _step; - try { - for (_iterator.s(); !(_step = _iterator.n()).done; ) { - const name = _step.value; - const method = name.toUpperCase(); - Agent.prototype[name] = function(url2, fn2) { - const request_ = new request2.Request(method, url2); - request_.on("response", this._saveCookies.bind(this)); - request_.on("redirect", this._saveCookies.bind(this)); - request_.on("redirect", this._attachCookies.bind(this, request_)); - this._setDefaults(request_); - this._attachCookies(request_); - if (fn2) { - request_.end(fn2); - } - return request_; - }; - } - } catch (err) { - _iterator.e(err); - } finally { - _iterator.f(); - } - Agent.prototype.del = Agent.prototype.delete; - } -}); - -// node_modules/superagent/lib/node/parsers/urlencoded.js -var require_urlencoded = __commonJS({ - "node_modules/superagent/lib/node/parsers/urlencoded.js"(exports2, module2) { - "use strict"; - var qs = require_lib3(); - module2.exports = (res, fn2) => { - res.text = ""; - res.setEncoding("ascii"); - res.on("data", (chunk) => { - res.text += chunk; - }); - res.on("end", () => { - try { - fn2(null, qs.parse(res.text)); - } catch (err) { - fn2(err); - } - }); - }; - } -}); - -// node_modules/superagent/lib/node/parsers/json.js -var require_json4 = __commonJS({ - "node_modules/superagent/lib/node/parsers/json.js"(exports2, module2) { - "use strict"; - module2.exports = function(res, fn2) { - res.text = ""; - res.setEncoding("utf8"); - res.on("data", (chunk) => { - res.text += chunk; - }); - res.on("end", () => { - let body; - let error; - try { - body = res.text && JSON.parse(res.text); - } catch (err) { - error = err; - error.rawResponse = res.text || null; - error.statusCode = res.statusCode; - } finally { - fn2(error, body); - } - }); - }; - } -}); - -// node_modules/superagent/lib/node/parsers/text.js -var require_text2 = __commonJS({ - "node_modules/superagent/lib/node/parsers/text.js"(exports2, module2) { - "use strict"; - module2.exports = (res, fn2) => { - res.text = ""; - res.setEncoding("utf8"); - res.on("data", (chunk) => { - res.text += chunk; - }); - res.on("end", fn2); - }; - } -}); - -// node_modules/superagent/lib/node/parsers/image.js -var require_image = __commonJS({ - "node_modules/superagent/lib/node/parsers/image.js"(exports2, module2) { - "use strict"; - module2.exports = (res, fn2) => { - const data = []; - res.on("data", (chunk) => { - data.push(chunk); - }); - res.on("end", () => { - fn2(null, Buffer.concat(data)); - }); - }; - } -}); - -// node_modules/superagent/lib/node/parsers/index.js -var require_parsers2 = __commonJS({ - "node_modules/superagent/lib/node/parsers/index.js"(exports2) { - "use strict"; - exports2["application/x-www-form-urlencoded"] = require_urlencoded(); - exports2["application/json"] = require_json4(); - exports2.text = require_text2(); - exports2["application/json-seq"] = exports2.text; - var binary = require_image(); - exports2["application/octet-stream"] = binary; - exports2["application/pdf"] = binary; - exports2.image = binary; - } -}); - -// node_modules/superagent/lib/node/index.js -var require_node11 = __commonJS({ - "node_modules/superagent/lib/node/index.js"(exports2, module2) { - "use strict"; - function _slicedToArray(arr, i) { - return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); - } - function _nonIterableRest() { - throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); - } - function _iterableToArrayLimit(arr, i) { - var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; - if (null != _i) { - var _s, _e, _x, _r, _arr = [], _n = true, _d = false; - try { - if (_x = (_i = _i.call(arr)).next, 0 === i) { - if (Object(_i) !== _i) - return; - _n = false; - } else - for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = true) - ; - } catch (err) { - _d = true, _e = err; - } finally { - try { - if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) - return; - } finally { - if (_d) - throw _e; - } - } - return _arr; - } - } - function _arrayWithHoles(arr) { - if (Array.isArray(arr)) - return arr; - } - function _createForOfIteratorHelper(o, allowArrayLike) { - var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; - if (!it) { - if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { - if (it) - o = it; - var i = 0; - var F = function F2() { - }; - return { s: F, n: function n() { - if (i >= o.length) - return { done: true }; - return { done: false, value: o[i++] }; - }, e: function e(_e2) { - throw _e2; - }, f: F }; - } - throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); - } - var normalCompletion = true, didErr = false, err; - return { s: function s() { - it = it.call(o); - }, n: function n() { - var step = it.next(); - normalCompletion = step.done; - return step; - }, e: function e(_e3) { - didErr = true; - err = _e3; - }, f: function f() { - try { - if (!normalCompletion && it.return != null) - it.return(); - } finally { - if (didErr) - throw err; - } - } }; - } - function _unsupportedIterableToArray(o, minLen) { - if (!o) - return; - if (typeof o === "string") - return _arrayLikeToArray(o, minLen); - var n = Object.prototype.toString.call(o).slice(8, -1); - if (n === "Object" && o.constructor) - n = o.constructor.name; - if (n === "Map" || n === "Set") - return Array.from(o); - if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) - return _arrayLikeToArray(o, minLen); - } - function _arrayLikeToArray(arr, len) { - if (len == null || len > arr.length) - len = arr.length; - for (var i = 0, arr2 = new Array(len); i < len; i++) - arr2[i] = arr[i]; - return arr2; - } - var _require = require("url"); - var parse = _require.parse; - var format2 = _require.format; - var resolve = _require.resolve; - var Stream = require("stream"); - var https2 = require("https"); - var http2 = require("http"); - var fs7 = require("fs"); - var zlib2 = require("zlib"); - var util2 = require("util"); - var qs = require_lib3(); - var mime = require_mime(); - var methods = require_methods(); - var FormData3 = require_form_data(); - var formidable = require_src9(); - var debug = require_src10()("superagent"); - var CookieJar = require_cookiejar(); - var semverGte = require_gte(); - var safeStringify = require_fast_safe_stringify(); - var utils = require_utils3(); - var RequestBase = require_request_base(); - var _require2 = require_unzip(); - var unzip = _require2.unzip; - var Response = require_response2(); - var mixin = utils.mixin; - var hasOwn = utils.hasOwn; - var http22; - if (semverGte(process.version, "v10.10.0")) - http22 = require_http2wrapper(); - function request2(method, url2) { - if (typeof url2 === "function") { - return new exports2.Request("GET", method).end(url2); - } - if (arguments.length === 1) { - return new exports2.Request("GET", method); - } - return new exports2.Request(method, url2); - } - module2.exports = request2; - exports2 = module2.exports; - exports2.Request = Request; - exports2.agent = require_agent(); - function noop2() { - } - exports2.Response = Response; - mime.define({ - "application/x-www-form-urlencoded": ["form", "urlencoded", "form-data"] - }, true); - exports2.protocols = { - "http:": http2, - "https:": https2, - "http2:": http22 - }; - exports2.serialize = { - "application/x-www-form-urlencoded": qs.stringify, - "application/json": safeStringify - }; - exports2.parse = require_parsers2(); - exports2.buffer = {}; - function _initHeaders(request_) { - request_._header = {}; - request_.header = {}; - } - function Request(method, url2) { - Stream.call(this); - if (typeof url2 !== "string") - url2 = format2(url2); - this._enableHttp2 = Boolean(process.env.HTTP2_TEST); - this._agent = false; - this._formData = null; - this.method = method; - this.url = url2; - _initHeaders(this); - this.writable = true; - this._redirects = 0; - this.redirects(method === "HEAD" ? 0 : 5); - this.cookies = ""; - this.qs = {}; - this._query = []; - this.qsRaw = this._query; - this._redirectList = []; - this._streamRequest = false; - this._lookup = void 0; - this.once("end", this.clearTimeout.bind(this)); - } - util2.inherits(Request, Stream); - mixin(Request.prototype, RequestBase.prototype); - Request.prototype.http2 = function(bool) { - if (exports2.protocols["http2:"] === void 0) { - throw new Error("superagent: this version of Node.js does not support http2"); - } - this._enableHttp2 = bool === void 0 ? true : bool; - return this; - }; - Request.prototype.attach = function(field, file, options) { - if (file) { - if (this._data) { - throw new Error("superagent can't mix .send() and .attach()"); - } - let o = options || {}; - if (typeof options === "string") { - o = { - filename: options - }; - } - if (typeof file === "string") { - if (!o.filename) - o.filename = file; - debug("creating `fs.ReadStream` instance for file: %s", file); - file = fs7.createReadStream(file); - file.on("error", (error) => { - const formData = this._getFormData(); - formData.emit("error", error); - }); - } else if (!o.filename && file.path) { - o.filename = file.path; - } - this._getFormData().append(field, file, o); - } - return this; - }; - Request.prototype._getFormData = function() { - if (!this._formData) { - this._formData = new FormData3(); - this._formData.on("error", (error) => { - debug("FormData error", error); - if (this.called) { - return; - } - this.callback(error); - this.abort(); - }); - } - return this._formData; - }; - Request.prototype.agent = function(agent) { - if (arguments.length === 0) - return this._agent; - this._agent = agent; - return this; - }; - Request.prototype.lookup = function(lookup) { - if (arguments.length === 0) - return this._lookup; - this._lookup = lookup; - return this; - }; - Request.prototype.type = function(type) { - return this.set("Content-Type", type.includes("/") ? type : mime.getType(type)); - }; - Request.prototype.accept = function(type) { - return this.set("Accept", type.includes("/") ? type : mime.getType(type)); - }; - Request.prototype.query = function(value) { - if (typeof value === "string") { - this._query.push(value); - } else { - Object.assign(this.qs, value); - } - return this; - }; - Request.prototype.write = function(data, encoding) { - const request_ = this.request(); - if (!this._streamRequest) { - this._streamRequest = true; - } - return request_.write(data, encoding); - }; - Request.prototype.pipe = function(stream4, options) { - this.piped = true; - this.buffer(false); - this.end(); - return this._pipeContinue(stream4, options); - }; - Request.prototype._pipeContinue = function(stream4, options) { - this.req.once("response", (res) => { - if (isRedirect(res.statusCode) && this._redirects++ !== this._maxRedirects) { - return this._redirect(res) === this ? this._pipeContinue(stream4, options) : void 0; - } - this.res = res; - this._emitResponse(); - if (this._aborted) - return; - if (this._shouldUnzip(res)) { - const unzipObject = zlib2.createUnzip(); - unzipObject.on("error", (error) => { - if (error && error.code === "Z_BUF_ERROR") { - stream4.emit("end"); - return; - } - stream4.emit("error", error); - }); - res.pipe(unzipObject).pipe(stream4, options); - } else { - res.pipe(stream4, options); - } - res.once("end", () => { - this.emit("end"); - }); - }); - return stream4; - }; - Request.prototype.buffer = function(value) { - this._buffer = value !== false; - return this; - }; - Request.prototype._redirect = function(res) { - let url2 = res.headers.location; - if (!url2) { - return this.callback(new Error("No location header for redirect"), res); - } - debug("redirect %s -> %s", this.url, url2); - url2 = resolve(this.url, url2); - res.resume(); - let headers = this.req.getHeaders ? this.req.getHeaders() : this.req._headers; - const changesOrigin = parse(url2).host !== parse(this.url).host; - if (res.statusCode === 301 || res.statusCode === 302) { - headers = utils.cleanHeader(headers, changesOrigin); - this.method = this.method === "HEAD" ? "HEAD" : "GET"; - this._data = null; - } - if (res.statusCode === 303) { - headers = utils.cleanHeader(headers, changesOrigin); - this.method = "GET"; - this._data = null; - } - delete headers.host; - delete this.req; - delete this._formData; - _initHeaders(this); - this.res = res; - this._endCalled = false; - this.url = url2; - this.qs = {}; - this._query.length = 0; - this.set(headers); - this._emitRedirect(); - this._redirectList.push(this.url); - this.end(this._callback); - return this; - }; - Request.prototype.auth = function(user, pass, options) { - if (arguments.length === 1) - pass = ""; - if (typeof pass === "object" && pass !== null) { - options = pass; - pass = ""; - } - if (!options) { - options = { - type: "basic" - }; - } - const encoder = (string) => Buffer.from(string).toString("base64"); - return this._auth(user, pass, options, encoder); - }; - Request.prototype.ca = function(cert) { - this._ca = cert; - return this; - }; - Request.prototype.key = function(cert) { - this._key = cert; - return this; - }; - Request.prototype.pfx = function(cert) { - if (typeof cert === "object" && !Buffer.isBuffer(cert)) { - this._pfx = cert.pfx; - this._passphrase = cert.passphrase; - } else { - this._pfx = cert; - } - return this; - }; - Request.prototype.cert = function(cert) { - this._cert = cert; - return this; - }; - Request.prototype.disableTLSCerts = function() { - this._disableTLSCerts = true; - return this; - }; - Request.prototype.request = function() { - if (this.req) - return this.req; - const options = {}; - try { - const query = qs.stringify(this.qs, { - indices: false, - strictNullHandling: true - }); - if (query) { - this.qs = {}; - this._query.push(query); - } - this._finalizeQueryString(); - } catch (err) { - return this.emit("error", err); - } - let url2 = this.url; - const retries = this._retries; - let queryStringBackticks; - if (url2.includes("`")) { - const queryStartIndex = url2.indexOf("?"); - if (queryStartIndex !== -1) { - const queryString = url2.slice(queryStartIndex + 1); - queryStringBackticks = queryString.match(/`|%60/g); - } - } - if (url2.indexOf("http") !== 0) - url2 = `http://${url2}`; - url2 = parse(url2); - if (queryStringBackticks) { - let i = 0; - url2.query = url2.query.replace(/%60/g, () => queryStringBackticks[i++]); - url2.search = `?${url2.query}`; - url2.path = url2.pathname + url2.search; - } - if (/^https?\+unix:/.test(url2.protocol) === true) { - url2.protocol = `${url2.protocol.split("+")[0]}:`; - const unixParts = url2.path.match(/^([^/]+)(.+)$/); - options.socketPath = unixParts[1].replace(/%2F/g, "/"); - url2.path = unixParts[2]; - } - if (this._connectOverride) { - const _url = url2, hostname2 = _url.hostname; - const match = hostname2 in this._connectOverride ? this._connectOverride[hostname2] : this._connectOverride["*"]; - if (match) { - if (!this._header.host) { - this.set("host", url2.host); - } - let newHost; - let newPort; - if (typeof match === "object") { - newHost = match.host; - newPort = match.port; - } else { - newHost = match; - newPort = url2.port; - } - url2.host = /:/.test(newHost) ? `[${newHost}]` : newHost; - if (newPort) { - url2.host += `:${newPort}`; - url2.port = newPort; - } - url2.hostname = newHost; - } - } - options.method = this.method; - options.port = url2.port; - options.path = url2.path; - options.host = url2.hostname; - options.ca = this._ca; - options.key = this._key; - options.pfx = this._pfx; - options.cert = this._cert; - options.passphrase = this._passphrase; - options.agent = this._agent; - options.lookup = this._lookup; - options.rejectUnauthorized = typeof this._disableTLSCerts === "boolean" ? !this._disableTLSCerts : process.env.NODE_TLS_REJECT_UNAUTHORIZED !== "0"; - if (this._header.host) { - options.servername = this._header.host.replace(/:\d+$/, ""); - } - if (this._trustLocalhost && /^(?:localhost|127\.0\.0\.\d+|(0*:)+:0*1)$/.test(url2.hostname)) { - options.rejectUnauthorized = false; - } - const module_ = this._enableHttp2 ? exports2.protocols["http2:"].setProtocol(url2.protocol) : exports2.protocols[url2.protocol]; - this.req = module_.request(options); - const req = this.req; - req.setNoDelay(true); - if (options.method !== "HEAD") { - req.setHeader("Accept-Encoding", "gzip, deflate"); - } - this.protocol = url2.protocol; - this.host = url2.host; - req.once("drain", () => { - this.emit("drain"); - }); - req.on("error", (error) => { - if (this._aborted) - return; - if (this._retries !== retries) - return; - if (this.response) - return; - this.callback(error); - }); - if (url2.auth) { - const auth = url2.auth.split(":"); - this.auth(auth[0], auth[1]); - } - if (this.username && this.password) { - this.auth(this.username, this.password); - } - for (const key in this.header) { - if (hasOwn(this.header, key)) - req.setHeader(key, this.header[key]); - } - if (this.cookies) { - if (hasOwn(this._header, "cookie")) { - const temporaryJar = new CookieJar.CookieJar(); - temporaryJar.setCookies(this._header.cookie.split("; ")); - temporaryJar.setCookies(this.cookies.split("; ")); - req.setHeader("Cookie", temporaryJar.getCookies(CookieJar.CookieAccessInfo.All).toValueString()); - } else { - req.setHeader("Cookie", this.cookies); - } - } - return req; - }; - Request.prototype.callback = function(error, res) { - if (this._shouldRetry(error, res)) { - return this._retry(); - } - const fn2 = this._callback || noop2; - this.clearTimeout(); - if (this.called) - return console.warn("superagent: double callback bug"); - this.called = true; - if (!error) { - try { - if (!this._isResponseOK(res)) { - let message2 = "Unsuccessful HTTP response"; - if (res) { - message2 = http2.STATUS_CODES[res.status] || message2; - } - error = new Error(message2); - error.status = res ? res.status : void 0; - } - } catch (err) { - error = err; - error.status = error.status || (res ? res.status : void 0); - } - } - if (!error) { - return fn2(null, res); - } - error.response = res; - if (this._maxRetries) - error.retries = this._retries - 1; - if (error && this.listeners("error").length > 0) { - this.emit("error", error); - } - fn2(error, res); - }; - Request.prototype._isHost = function(object) { - return Buffer.isBuffer(object) || object instanceof Stream || object instanceof FormData3; - }; - Request.prototype._emitResponse = function(body, files) { - const response = new Response(this); - this.response = response; - response.redirects = this._redirectList; - if (void 0 !== body) { - response.body = body; - } - response.files = files; - if (this._endCalled) { - response.pipe = function() { - throw new Error("end() has already been called, so it's too late to start piping"); - }; - } - this.emit("response", response); - return response; - }; - Request.prototype._emitRedirect = function() { - const response = new Response(this); - response.redirects = this._redirectList; - this.emit("redirect", response); - }; - Request.prototype.end = function(fn2) { - this.request(); - debug("%s %s", this.method, this.url); - if (this._endCalled) { - throw new Error(".end() was called twice. This is not supported in superagent"); - } - this._endCalled = true; - this._callback = fn2 || noop2; - this._end(); - }; - Request.prototype._end = function() { - if (this._aborted) - return this.callback(new Error("The request has been aborted even before .end() was called")); - let data = this._data; - const req = this.req; - const method = this.method; - this._setTimeouts(); - if (method !== "HEAD" && !req._headerSent) { - if (typeof data !== "string") { - let contentType = req.getHeader("Content-Type"); - if (contentType) - contentType = contentType.split(";")[0]; - let serialize = this._serializer || exports2.serialize[contentType]; - if (!serialize && isJSON(contentType)) { - serialize = exports2.serialize["application/json"]; - } - if (serialize) - data = serialize(data); - } - if (data && !req.getHeader("Content-Length")) { - req.setHeader("Content-Length", Buffer.isBuffer(data) ? data.length : Buffer.byteLength(data)); - } - } - req.once("response", (res) => { - debug("%s %s -> %s", this.method, this.url, res.statusCode); - if (this._responseTimeoutTimer) { - clearTimeout(this._responseTimeoutTimer); - } - if (this.piped) { - return; - } - const max = this._maxRedirects; - const mime2 = utils.type(res.headers["content-type"] || "") || "text/plain"; - let type = mime2.split("/")[0]; - if (type) - type = type.toLowerCase().trim(); - const multipart = type === "multipart"; - const redirect = isRedirect(res.statusCode); - const responseType = this._responseType; - this.res = res; - if (redirect && this._redirects++ !== max) { - return this._redirect(res); - } - if (this.method === "HEAD") { - this.emit("end"); - this.callback(null, this._emitResponse()); - return; - } - if (this._shouldUnzip(res)) { - unzip(req, res); - } - let buffer = this._buffer; - if (buffer === void 0 && mime2 in exports2.buffer) { - buffer = Boolean(exports2.buffer[mime2]); - } - let parser = this._parser; - if (void 0 === buffer && parser) { - console.warn("A custom superagent parser has been set, but buffering strategy for the parser hasn't been configured. Call `req.buffer(true or false)` or set `superagent.buffer[mime] = true or false`"); - buffer = true; - } - if (!parser) { - if (responseType) { - parser = exports2.parse.image; - buffer = true; - } else if (multipart) { - const form = formidable(); - parser = form.parse.bind(form); - buffer = true; - } else if (isBinary(mime2)) { - parser = exports2.parse.image; - buffer = true; - } else if (exports2.parse[mime2]) { - parser = exports2.parse[mime2]; - } else if (type === "text") { - parser = exports2.parse.text; - buffer = buffer !== false; - } else if (isJSON(mime2)) { - parser = exports2.parse["application/json"]; - buffer = buffer !== false; - } else if (buffer) { - parser = exports2.parse.text; - } else if (void 0 === buffer) { - parser = exports2.parse.image; - buffer = true; - } - } - if (void 0 === buffer && isText(mime2) || isJSON(mime2)) { - buffer = true; - } - this._resBuffered = buffer; - let parserHandlesEnd = false; - if (buffer) { - let responseBytesLeft = this._maxResponseSize || 2e8; - res.on("data", (buf) => { - responseBytesLeft -= buf.byteLength || buf.length > 0 ? buf.length : 0; - if (responseBytesLeft < 0) { - const error = new Error("Maximum response size reached"); - error.code = "ETOOLARGE"; - parserHandlesEnd = false; - res.destroy(error); - this.callback(error, null); - } - }); - } - if (parser) { - try { - parserHandlesEnd = buffer; - parser(res, (error, object, files) => { - if (this.timedout) { - return; - } - if (error && !this._aborted) { - return this.callback(error); - } - if (parserHandlesEnd) { - this.emit("end"); - this.callback(null, this._emitResponse(object, files)); - } - }); - } catch (err) { - this.callback(err); - return; - } - } - this.res = res; - if (!buffer) { - debug("unbuffered %s %s", this.method, this.url); - this.callback(null, this._emitResponse()); - if (multipart) - return; - res.once("end", () => { - debug("end %s %s", this.method, this.url); - this.emit("end"); - }); - return; - } - res.once("error", (error) => { - parserHandlesEnd = false; - this.callback(error, null); - }); - if (!parserHandlesEnd) - res.once("end", () => { - debug("end %s %s", this.method, this.url); - this.emit("end"); - this.callback(null, this._emitResponse()); - }); - }); - this.emit("request", this); - const getProgressMonitor = () => { - const lengthComputable = true; - const total = req.getHeader("Content-Length"); - let loaded = 0; - const progress = new Stream.Transform(); - progress._transform = (chunk, encoding, callback) => { - loaded += chunk.length; - this.emit("progress", { - direction: "upload", - lengthComputable, - loaded, - total - }); - callback(null, chunk); - }; - return progress; - }; - const bufferToChunks = (buffer) => { - const chunkSize = 16 * 1024; - const chunking = new Stream.Readable(); - const totalLength = buffer.length; - const remainder = totalLength % chunkSize; - const cutoff = totalLength - remainder; - for (let i = 0; i < cutoff; i += chunkSize) { - const chunk = buffer.slice(i, i + chunkSize); - chunking.push(chunk); - } - if (remainder > 0) { - const remainderBuffer = buffer.slice(-remainder); - chunking.push(remainderBuffer); - } - chunking.push(null); - return chunking; - }; - const formData = this._formData; - if (formData) { - const headers = formData.getHeaders(); - for (const i in headers) { - if (hasOwn(headers, i)) { - debug('setting FormData header: "%s: %s"', i, headers[i]); - req.setHeader(i, headers[i]); - } - } - formData.getLength((error, length) => { - if (error) - debug("formData.getLength had error", error, length); - debug("got FormData Content-Length: %s", length); - if (typeof length === "number") { - req.setHeader("Content-Length", length); - } - formData.pipe(getProgressMonitor()).pipe(req); - }); - } else if (Buffer.isBuffer(data)) { - bufferToChunks(data).pipe(getProgressMonitor()).pipe(req); - } else { - req.end(data); - } - }; - Request.prototype._shouldUnzip = (res) => { - if (res.statusCode === 204 || res.statusCode === 304) { - return false; - } - if (res.headers["content-length"] === "0") { - return false; - } - return /^\s*(?:deflate|gzip)\s*$/.test(res.headers["content-encoding"]); - }; - Request.prototype.connect = function(connectOverride) { - if (typeof connectOverride === "string") { - this._connectOverride = { - "*": connectOverride - }; - } else if (typeof connectOverride === "object") { - this._connectOverride = connectOverride; - } else { - this._connectOverride = void 0; - } - return this; - }; - Request.prototype.trustLocalhost = function(toggle) { - this._trustLocalhost = toggle === void 0 ? true : toggle; - return this; - }; - if (!methods.includes("del")) { - methods = [...methods]; - methods.push("del"); - } - var _iterator = _createForOfIteratorHelper(methods); - var _step; - try { - for (_iterator.s(); !(_step = _iterator.n()).done; ) { - let method = _step.value; - const name = method; - method = method === "del" ? "delete" : method; - method = method.toUpperCase(); - request2[name] = (url2, data, fn2) => { - const request_ = request2(method, url2); - if (typeof data === "function") { - fn2 = data; - data = null; - } - if (data) { - if (method === "GET" || method === "HEAD") { - request_.query(data); - } else { - request_.send(data); - } - } - if (fn2) - request_.end(fn2); - return request_; - }; - } - } catch (err) { - _iterator.e(err); - } finally { - _iterator.f(); - } - function isText(mime2) { - const parts = mime2.split("/"); - let type = parts[0]; - if (type) - type = type.toLowerCase().trim(); - let subtype = parts[1]; - if (subtype) - subtype = subtype.toLowerCase().trim(); - return type === "text" || subtype === "x-www-form-urlencoded"; - } - function isBinary(mime2) { - let _mime$split = mime2.split("/"), _mime$split2 = _slicedToArray(_mime$split, 2), registry = _mime$split2[0], name = _mime$split2[1]; - if (registry) - registry = registry.toLowerCase().trim(); - if (name) - name = name.toLowerCase().trim(); - return ["audio", "font", "image", "video"].includes(registry) || ["gz", "gzip"].includes(name); - } - function isJSON(mime2) { - return /[/+]json($|[^-\w])/i.test(mime2); - } - function isRedirect(code) { - return [301, 302, 303, 305, 307, 308].includes(code); - } - } -}); - -// server/Provider/citizenfx.provider.js -var import_node_crypto3, import_superagent, import_node_os, import_jsonwebtoken, genCallbackURL, CitizenFXProvider; -var init_citizenfx_provider = __esm({ - "server/Provider/citizenfx.provider.js"() { - import_node_crypto3 = __toESM(require("node:crypto")); - init_UnlLogger(); - init_query_params(); - import_superagent = __toESM(require_node11()); - import_node_os = require("node:os"); - init_server(); - import_jsonwebtoken = __toESM(require_jsonwebtoken()); - genCallbackURL = (ctx, provider) => { - return ctx.protocol + "://" + ctx.get("host") + `/auth/${provider}/callback`; - }; - CitizenFXProvider = class { - constructor() { - const { publicKey, privateKey } = import_node_crypto3.default.generateKeyPairSync("rsa", { - modulusLength: 4096, - publicKeyEncoding: { - type: "pkcs1", - format: "pem" - }, - privateKeyEncoding: { - type: "pkcs1", - format: "pem" - } - }); - this.publicKey = publicKey; - this.privateKey = privateKey; - } - async getAuthURL(ctx, stateKern) { - try { - const url2 = new URL("https://forum.cfx.re/user-api-key/new"); - url2.searchParams.append("application_name", "Unlimited"); - url2.searchParams.append("client_id", (0, import_node_os.hostname)()); - url2.searchParams.append("scopes", "session_info"); - url2.searchParams.append("public_key", this.publicKey); - url2.searchParams.append("nonce", "1"); - url2.searchParams.append("auth_redirect", genCallbackURL(ctx, "citizenfx")); - return { - resCode: true, - resMsg: url2 - }; - } catch (error) { - UnlLogger.error(error); - return { resCode: false, resMsg: "internal_error" }; - } - } - async processCallback(ctx) { - try { - const token = ctx.query.payload; - if (!token) { - return { resCode: false, resMsg: "no_token" }; - } - const decreptedKey = import_node_crypto3.default.privateDecrypt( - { - key: this.privateKey, - padding: import_node_crypto3.default.constants.RSA_PKCS1_PADDING - }, - Buffer.from(token, "base64") - ); - const json = JSON.parse(decreptedKey.toString("ascii")); - return { resCode: true, resMsg: { accessToken: json.key } }; - } catch (error) { - UnlLogger.error(error); - return { resCode: false, resMsg: "internal_error" }; - } - } - async getUserInfo(accessToken) { - try { - const { resCodeUser, resMsgUser } = await import_superagent.default.get("https://forum.cfx.re/session/current.json").set("User-Api-Key", accessToken).set("User-Api-Client-Id", "Unlimited/json").then((response) => { - if (response.status !== 200) - return { resCodeUser: false, resMsgUser: "userdata_fetch_failed" }; - import_superagent.default.post("https://forum.cfx.re/user-api-key/revoke").set("User-Api-Key", accessToken).end(); - return { - resCodeUser: true, - resMsgUser: JSON.parse(response.text) - }; - }); - return { resCodeUser, resMsgUser }; - } catch (error) { - UnlLogger.error(error); - return { resCodeUser: false, resMsgUser: "internal_error" }; - } - } - async createSession(ctx, fxUserData) { - try { - const user = Database.getUserByFx(fxUserData.username); - if (!user) { - return { resCodeSession: false, resMsgSession: "no_fx_user" }; - } - const accessToken = import_jsonwebtoken.default.sign( - { userId: user.name }, - Database.getConfigValue("tokenSecret"), - { - expiresIn: "6h" - } - ); - const refreshToken = import_jsonwebtoken.default.sign( - { userId: user.name }, - Database.getConfigValue("tokenSecret"), - { - expiresIn: "1d" - } - ); - ctx.session.auth = { - refreshToken, - user: { - name: user.name, - roleId: user.roleId, - isMaster: user.isMaster - } - }; - return { - resCodeSession: true, - resMsgSession: { user, accessToken } - }; - } catch (error) { - UnlLogger.error(error); - return { resCodeSession: false, resMsgSession: "internal_error" }; - } - } - }; - } -}); - -// server/Modules/system/auth/auth.route.js -var import_jsonwebtoken2, import_router2, authRouter, cfxProvider, providers, auth_route_default; -var init_auth_route = __esm({ - "server/Modules/system/auth/auth.route.js"() { - import_jsonwebtoken2 = __toESM(require_jsonwebtoken()); - import_router2 = __toESM(require_router()); - init_auth_service(); - init_user_service(); - init_role_service(); - init_WebLogger(); - init_server(); - init_citizenfx_provider(); - authRouter = new import_router2.default({ prefix: "/auth" }); - cfxProvider = new CitizenFXProvider(); - providers = { - citizenfx: cfxProvider - }; - authRouter.post("/login", async function(ctx) { - const { username, password } = ctx.request.body; - const user = await checkCredentials(username, password); - webLogger.info(`Login attempt on ${username} from ${ctx.request.ip}`); - ctx.status = 200; - if (user) { - if (!user.isMaster && user.roleId === null) { - ctx.body = { - error: { - title: "Error", - msg: "No master account and role assigned" - } - }; - webLogger.warn( - `Login failed for ${username}. No master account and role assigned.` - ); - return; - } - const accessToken = import_jsonwebtoken2.default.sign( - { userId: user.name }, - Database.getConfigValue("tokenSecret"), - { - expiresIn: "6h" - } - ); - const refreshToken = import_jsonwebtoken2.default.sign( - { userId: user.name }, - Database.getConfigValue("tokenSecret"), - { - expiresIn: "1d" - } - ); - ctx.session.auth = { - refreshToken, - user: { - name: user.name, - roleId: user.roleId, - isMaster: user.isMaster - } - }; - ctx.body = { - status: 200, - accessToken, - userData: { - ability: await getRolePermissions(user.roleId), - isMaster: user.isMaster - } - }; - } else { - ctx.body = { - error: { - title: "Error", - msg: "Invalid username or password" - } - }; - } - }); - authRouter.post("/logout", async function(ctx) { - ctx.session = null; - ctx.status = 200; - }); - authRouter.post("/refresh", async function(ctx) { - var _a; - if ((_a = ctx.session.auth) == null ? void 0 : _a.refreshToken) { - const refreshToken = ctx.session.auth.refreshToken; - await import_jsonwebtoken2.default.verify( - refreshToken, - Database.getConfigValue("tokenSecret"), - async (err, decoded) => { - if (err) { - ctx.body = "Create new Session"; - return ctx.status = 200; - } else { - const user = await getUser(decoded.userId); - if (!user) { - ctx.body = "Create new Session"; - ctx.status = 200; - return; - } - const accessToken = import_jsonwebtoken2.default.sign( - { userId: decoded.userId }, - Database.getConfigValue("tokenSecret"), - { - expiresIn: "6h" - } - ); - ctx.body = { - accessToken, - userData: { - ability: await getRolePermissions(user.roleId), - isMaster: user.isMaster - } - }; - return ctx.status = 200; - } - } - ); - } else { - ctx.body = "Create new Session"; - ctx.status = 200; - } - }); - authRouter.post("/:provider/callback", async function(ctx) { - const provider = ctx.params.provider; - if (!providers[provider]) { - return ctx.body = { - resCode: false, - resMsg: "not_supported" - }; - } - const { resCode, resMsg } = await providers[provider].processCallback(ctx); - if (!resCode) { - return ctx.body = { - resCode, - resMsg - }; - } - const { resCodeUser, resMsgUser } = await providers[provider].getUserInfo( - resMsg.accessToken - ); - if (!resCodeUser) { - return ctx.body = { - resCode: resCodeUser, - resMsg: resMsgUser - }; - } - const { resCodeSession, resMsgSession } = await providers[provider].createSession(ctx, resMsgUser.current_user); - if (!resCodeSession) { - return ctx.body = { - resCode: resCodeSession, - resMsg: resMsgSession - }; - } - ctx.body = { - resCode: resCodeSession, - resMsg: "success", - accessToken: resMsgSession.accessToken, - userData: { - ability: await getRolePermissions(resMsgSession.user.roleId), - isMaster: resMsgSession.user.isMaster - } - }; - }); - authRouter.post("/:provider", async function(ctx) { - const provider = ctx.params.provider; - if (!providers[provider]) { - return ctx.body = { - resCode: false, - resMsg: "not_supported" - }; - } - const { resCode, resMsg } = await providers[provider].getAuthURL( - ctx, - ctx.session._sessCtx.opts.key - ); - ctx.body = { - resCode, - resMsg - }; - }); - auth_route_default = authRouter; - } -}); - -// node_modules/indent-string/index.js -var require_indent_string = __commonJS({ - "node_modules/indent-string/index.js"(exports2, module2) { - "use strict"; - module2.exports = (string, count = 1, options) => { - options = { - indent: " ", - includeEmptyLines: false, - ...options - }; - if (typeof string !== "string") { - throw new TypeError( - `Expected \`input\` to be a \`string\`, got \`${typeof string}\`` - ); - } - if (typeof count !== "number") { - throw new TypeError( - `Expected \`count\` to be a \`number\`, got \`${typeof count}\`` - ); - } - if (typeof options.indent !== "string") { - throw new TypeError( - `Expected \`options.indent\` to be a \`string\`, got \`${typeof options.indent}\`` - ); - } - if (count === 0) { - return string; - } - const regex = options.includeEmptyLines ? /^/gm : /^(?!\s*$)/gm; - return string.replace(regex, options.indent.repeat(count)); - }; - } -}); - -// node_modules/clean-stack/index.js -var require_clean_stack = __commonJS({ - "node_modules/clean-stack/index.js"(exports2, module2) { - "use strict"; - var os = require("os"); - var extractPathRegex = /\s+at.*(?:\(|\s)(.*)\)?/; - var pathRegex = /^(?:(?:(?:node|(?:internal\/[\w/]*|.*node_modules\/(?:babel-polyfill|pirates)\/.*)?\w+)\.js:\d+:\d+)|native)/; - var homeDir = typeof os.homedir === "undefined" ? "" : os.homedir(); - module2.exports = (stack2, options) => { - options = Object.assign({ pretty: false }, options); - return stack2.replace(/\\/g, "/").split("\n").filter((line) => { - const pathMatches = line.match(extractPathRegex); - if (pathMatches === null || !pathMatches[1]) { - return true; - } - const match = pathMatches[1]; - if (match.includes(".app/Contents/Resources/electron.asar") || match.includes(".app/Contents/Resources/default_app.asar")) { - return false; - } - return !pathRegex.test(match); - }).filter((line) => line.trim() !== "").map((line) => { - if (options.pretty) { - return line.replace(extractPathRegex, (m, p1) => m.replace(p1, p1.replace(homeDir, "~"))); - } - return line; - }).join("\n"); - }; - } -}); - -// node_modules/aggregate-error/index.js -var require_aggregate_error = __commonJS({ - "node_modules/aggregate-error/index.js"(exports2, module2) { - "use strict"; - var indentString = require_indent_string(); - var cleanStack = require_clean_stack(); - var cleanInternalStack = (stack2) => stack2.replace(/\s+at .*aggregate-error\/index.js:\d+:\d+\)?/g, ""); - var AggregateError2 = class extends Error { - constructor(errors) { - if (!Array.isArray(errors)) { - throw new TypeError(`Expected input to be an Array, got ${typeof errors}`); - } - errors = [...errors].map((error) => { - if (error instanceof Error) { - return error; - } - if (error !== null && typeof error === "object") { - return Object.assign(new Error(error.message), error); - } - return new Error(error); - }); - let message2 = errors.map((error) => { - return typeof error.stack === "string" ? cleanInternalStack(cleanStack(error.stack)) : String(error); - }).join("\n"); - message2 = "\n" + indentString(message2, 4); - super(message2); - this.name = "AggregateError"; - Object.defineProperty(this, "_errors", { value: errors }); - } - *[Symbol.iterator]() { - for (const error of this._errors) { - yield error; - } - } - }; - module2.exports = AggregateError2; - } -}); - -// node_modules/p-cancelable/index.js -var require_p_cancelable = __commonJS({ - "node_modules/p-cancelable/index.js"(exports2, module2) { - "use strict"; - var CancelError = class extends Error { - constructor(reason) { - super(reason || "Promise was canceled"); - this.name = "CancelError"; - } - get isCanceled() { - return true; - } - }; - var PCancelable = class { - static fn(userFn) { - return (...arguments_) => { - return new PCancelable((resolve, reject, onCancel) => { - arguments_.push(onCancel); - userFn(...arguments_).then(resolve, reject); - }); - }; - } - constructor(executor) { - this._cancelHandlers = []; - this._isPending = true; - this._isCanceled = false; - this._rejectOnCancel = true; - this._promise = new Promise((resolve, reject) => { - this._reject = reject; - const onResolve = (value) => { - if (!this._isCanceled || !onCancel.shouldReject) { - this._isPending = false; - resolve(value); - } - }; - const onReject = (error) => { - this._isPending = false; - reject(error); - }; - const onCancel = (handler) => { - if (!this._isPending) { - throw new Error("The `onCancel` handler was attached after the promise settled."); - } - this._cancelHandlers.push(handler); - }; - Object.defineProperties(onCancel, { - shouldReject: { - get: () => this._rejectOnCancel, - set: (boolean) => { - this._rejectOnCancel = boolean; - } - } - }); - return executor(onResolve, onReject, onCancel); - }); - } - then(onFulfilled, onRejected) { - return this._promise.then(onFulfilled, onRejected); - } - catch(onRejected) { - return this._promise.catch(onRejected); - } - finally(onFinally) { - return this._promise.finally(onFinally); - } - cancel(reason) { - if (!this._isPending || this._isCanceled) { - return; - } - this._isCanceled = true; - if (this._cancelHandlers.length > 0) { - try { - for (const handler of this._cancelHandlers) { - handler(); - } - } catch (error) { - this._reject(error); - return; - } - } - if (this._rejectOnCancel) { - this._reject(new CancelError(reason)); - } - } - get isCanceled() { - return this._isCanceled; - } - }; - Object.setPrototypeOf(PCancelable.prototype, Promise.prototype); - module2.exports = PCancelable; - module2.exports.CancelError = CancelError; - } -}); - -// node_modules/p-some/index.js -var require_p_some = __commonJS({ - "node_modules/p-some/index.js"(exports2, module2) { - "use strict"; - var AggregateError2 = require_aggregate_error(); - var PCancelable = require_p_cancelable(); - var pSome = (iterable, options) => new PCancelable((resolve, reject, onCancel) => { - options = { - filter: () => true, - ...options - }; - if (!Number.isFinite(options.count)) { - throw new TypeError(`Expected a finite number, got ${typeof options.count}`); - } - const values = []; - const errors = []; - let elementCount = 0; - let maxErrors = -options.count + 1; - let maxFiltered = -options.count + 1; - let isDone = false; - const completed = /* @__PURE__ */ new Set(); - const cancelPendingIfDone = () => { - if (!isDone) { - return; - } - for (const promise of iterable) { - if (!completed.has(promise) && typeof promise.cancel === "function") { - promise.cancel(); - } - } - }; - onCancel(() => { - isDone = true; - cancelPendingIfDone(); - }); - const fulfilled = (value) => { - if (isDone) { - return; - } - if (!options.filter(value)) { - if (--maxFiltered === 0) { - isDone = true; - reject(new RangeError("Not enough values pass the `filter` option")); - } - return; - } - values.push(value); - if (--options.count === 0) { - isDone = true; - resolve(values); - } - }; - const rejected = (error) => { - if (isDone) { - return; - } - errors.push(error); - if (--maxErrors === 0) { - isDone = true; - reject(new AggregateError2(errors)); - } - }; - for (const element of iterable) { - maxErrors++; - maxFiltered++; - elementCount++; - (async () => { - try { - const value = await Promise.resolve(element); - fulfilled(value); - } catch (error) { - rejected(error); - } - completed.add(element); - cancelPendingIfDone(); - })(); - } - if (options.count > elementCount) { - throw new RangeError(`Expected input to contain at least ${options.count} items, but contains ${elementCount} items`); - } - }); - module2.exports = pSome; - module2.exports.default = pSome; - module2.exports.AggregateError = AggregateError2; - } -}); - -// node_modules/p-any/index.js -var require_p_any = __commonJS({ - "node_modules/p-any/index.js"(exports2, module2) { - "use strict"; - var pSome = require_p_some(); - var PCancelable = require_p_cancelable(); - var pAny = (iterable, options) => { - const anyCancelable = pSome(iterable, { ...options, count: 1 }); - return PCancelable.fn(async (onCancel) => { - onCancel(() => { - anyCancelable.cancel(); - }); - const [value] = await anyCancelable; - return value; - })(); - }; - module2.exports = pAny; - module2.exports.default = pAny; - module2.exports.AggregateError = pSome.AggregateError; - } -}); - -// node_modules/koa-unless/index.js -var require_koa_unless = __commonJS({ - "node_modules/koa-unless/index.js"(exports2, module2) { - "use strict"; - var url2 = require("url"); - module2.exports = function(options) { - var originalMiddleware = this; - var opts = typeof options === "function" ? { custom: options } : options; - opts.useOriginalUrl = typeof opts.useOriginalUrl === "undefined" ? true : opts.useOriginalUrl; - return function(ctx, next) { - var requestedUrl = url2.parse((opts.useOriginalUrl ? ctx.originalUrl : ctx.url) || "", true); - if (matchesCustom(ctx, opts) || matchesPath(requestedUrl, opts) || matchesExtension(requestedUrl, opts) || matchesMethod(ctx.method, opts)) { - return next(); - } - return originalMiddleware(ctx, next); - }; - }; - function matchesCustom(ctx, opts) { - if (opts.custom) { - return opts.custom(ctx); - } - return false; - } - function matchesPath(requestedUrl, opts) { - var paths = !opts.path || Array.isArray(opts.path) ? opts.path : [opts.path]; - if (paths) { - return paths.some(function(p) { - return typeof p === "string" && p === requestedUrl.pathname || p instanceof RegExp && !!p.exec(requestedUrl.pathname); - }); - } - return false; - } - function matchesExtension(requestedUrl, opts) { - var exts = !opts.ext || Array.isArray(opts.ext) ? opts.ext : [opts.ext]; - if (exts) { - return exts.some(function(ext) { - return requestedUrl.pathname.substr(ext.length * -1) === ext; - }); - } - } - function matchesMethod(method, opts) { - var methods = !opts.method || Array.isArray(opts.method) ? opts.method : [opts.method]; - if (methods) { - return !!~methods.indexOf(method); - } - } - } -}); - -// node_modules/koa-jwt/node_modules/jsonwebtoken/decode.js -var require_decode2 = __commonJS({ - "node_modules/koa-jwt/node_modules/jsonwebtoken/decode.js"(exports2, module2) { - var jws = require_jws(); - module2.exports = function(jwt3, options) { - options = options || {}; - var decoded = jws.decode(jwt3, options); - if (!decoded) { - return null; - } - var payload = decoded.payload; - if (typeof payload === "string") { - try { - var obj = JSON.parse(payload); - if (obj !== null && typeof obj === "object") { - payload = obj; - } - } catch (e) { - } - } - if (options.complete === true) { - return { - header: decoded.header, - payload, - signature: decoded.signature - }; - } - return payload; - }; - } -}); - -// node_modules/koa-jwt/node_modules/jsonwebtoken/lib/JsonWebTokenError.js -var require_JsonWebTokenError2 = __commonJS({ - "node_modules/koa-jwt/node_modules/jsonwebtoken/lib/JsonWebTokenError.js"(exports2, module2) { - var JsonWebTokenError = function(message2, error) { - Error.call(this, message2); - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } - this.name = "JsonWebTokenError"; - this.message = message2; - if (error) - this.inner = error; - }; - JsonWebTokenError.prototype = Object.create(Error.prototype); - JsonWebTokenError.prototype.constructor = JsonWebTokenError; - module2.exports = JsonWebTokenError; - } -}); - -// node_modules/koa-jwt/node_modules/jsonwebtoken/lib/NotBeforeError.js -var require_NotBeforeError2 = __commonJS({ - "node_modules/koa-jwt/node_modules/jsonwebtoken/lib/NotBeforeError.js"(exports2, module2) { - var JsonWebTokenError = require_JsonWebTokenError2(); - var NotBeforeError = function(message2, date) { - JsonWebTokenError.call(this, message2); - this.name = "NotBeforeError"; - this.date = date; - }; - NotBeforeError.prototype = Object.create(JsonWebTokenError.prototype); - NotBeforeError.prototype.constructor = NotBeforeError; - module2.exports = NotBeforeError; - } -}); - -// node_modules/koa-jwt/node_modules/jsonwebtoken/lib/TokenExpiredError.js -var require_TokenExpiredError2 = __commonJS({ - "node_modules/koa-jwt/node_modules/jsonwebtoken/lib/TokenExpiredError.js"(exports2, module2) { - var JsonWebTokenError = require_JsonWebTokenError2(); - var TokenExpiredError = function(message2, expiredAt) { - JsonWebTokenError.call(this, message2); - this.name = "TokenExpiredError"; - this.expiredAt = expiredAt; - }; - TokenExpiredError.prototype = Object.create(JsonWebTokenError.prototype); - TokenExpiredError.prototype.constructor = TokenExpiredError; - module2.exports = TokenExpiredError; - } -}); - -// node_modules/koa-jwt/node_modules/jsonwebtoken/lib/timespan.js -var require_timespan2 = __commonJS({ - "node_modules/koa-jwt/node_modules/jsonwebtoken/lib/timespan.js"(exports2, module2) { - var ms = require_ms(); - module2.exports = function(time, iat) { - var timestamp2 = iat || Math.floor(Date.now() / 1e3); - if (typeof time === "string") { - var milliseconds = ms(time); - if (typeof milliseconds === "undefined") { - return; - } - return Math.floor(timestamp2 + milliseconds / 1e3); - } else if (typeof time === "number") { - return timestamp2 + time; - } else { - return; - } - }; - } -}); - -// node_modules/koa-jwt/node_modules/semver/semver.js -var require_semver3 = __commonJS({ - "node_modules/koa-jwt/node_modules/semver/semver.js"(exports2, module2) { - exports2 = module2.exports = SemVer; - var debug; - if (typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG)) { - debug = function() { - var args2 = Array.prototype.slice.call(arguments, 0); - args2.unshift("SEMVER"); - console.log.apply(console, args2); - }; - } else { - debug = function() { - }; - } - exports2.SEMVER_SPEC_VERSION = "2.0.0"; - var MAX_LENGTH = 256; - var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991; - var MAX_SAFE_COMPONENT_LENGTH = 16; - var re = exports2.re = []; - var src = exports2.src = []; - var R = 0; - var NUMERICIDENTIFIER = R++; - src[NUMERICIDENTIFIER] = "0|[1-9]\\d*"; - var NUMERICIDENTIFIERLOOSE = R++; - src[NUMERICIDENTIFIERLOOSE] = "[0-9]+"; - var NONNUMERICIDENTIFIER = R++; - src[NONNUMERICIDENTIFIER] = "\\d*[a-zA-Z-][a-zA-Z0-9-]*"; - var MAINVERSION = R++; - src[MAINVERSION] = "(" + src[NUMERICIDENTIFIER] + ")\\.(" + src[NUMERICIDENTIFIER] + ")\\.(" + src[NUMERICIDENTIFIER] + ")"; - var MAINVERSIONLOOSE = R++; - src[MAINVERSIONLOOSE] = "(" + src[NUMERICIDENTIFIERLOOSE] + ")\\.(" + src[NUMERICIDENTIFIERLOOSE] + ")\\.(" + src[NUMERICIDENTIFIERLOOSE] + ")"; - var PRERELEASEIDENTIFIER = R++; - src[PRERELEASEIDENTIFIER] = "(?:" + src[NUMERICIDENTIFIER] + "|" + src[NONNUMERICIDENTIFIER] + ")"; - var PRERELEASEIDENTIFIERLOOSE = R++; - src[PRERELEASEIDENTIFIERLOOSE] = "(?:" + src[NUMERICIDENTIFIERLOOSE] + "|" + src[NONNUMERICIDENTIFIER] + ")"; - var PRERELEASE = R++; - src[PRERELEASE] = "(?:-(" + src[PRERELEASEIDENTIFIER] + "(?:\\." + src[PRERELEASEIDENTIFIER] + ")*))"; - var PRERELEASELOOSE = R++; - src[PRERELEASELOOSE] = "(?:-?(" + src[PRERELEASEIDENTIFIERLOOSE] + "(?:\\." + src[PRERELEASEIDENTIFIERLOOSE] + ")*))"; - var BUILDIDENTIFIER = R++; - src[BUILDIDENTIFIER] = "[0-9A-Za-z-]+"; - var BUILD = R++; - src[BUILD] = "(?:\\+(" + src[BUILDIDENTIFIER] + "(?:\\." + src[BUILDIDENTIFIER] + ")*))"; - var FULL = R++; - var FULLPLAIN = "v?" + src[MAINVERSION] + src[PRERELEASE] + "?" + src[BUILD] + "?"; - src[FULL] = "^" + FULLPLAIN + "$"; - var LOOSEPLAIN = "[v=\\s]*" + src[MAINVERSIONLOOSE] + src[PRERELEASELOOSE] + "?" + src[BUILD] + "?"; - var LOOSE = R++; - src[LOOSE] = "^" + LOOSEPLAIN + "$"; - var GTLT = R++; - src[GTLT] = "((?:<|>)?=?)"; - var XRANGEIDENTIFIERLOOSE = R++; - src[XRANGEIDENTIFIERLOOSE] = src[NUMERICIDENTIFIERLOOSE] + "|x|X|\\*"; - var XRANGEIDENTIFIER = R++; - src[XRANGEIDENTIFIER] = src[NUMERICIDENTIFIER] + "|x|X|\\*"; - var XRANGEPLAIN = R++; - src[XRANGEPLAIN] = "[v=\\s]*(" + src[XRANGEIDENTIFIER] + ")(?:\\.(" + src[XRANGEIDENTIFIER] + ")(?:\\.(" + src[XRANGEIDENTIFIER] + ")(?:" + src[PRERELEASE] + ")?" + src[BUILD] + "?)?)?"; - var XRANGEPLAINLOOSE = R++; - src[XRANGEPLAINLOOSE] = "[v=\\s]*(" + src[XRANGEIDENTIFIERLOOSE] + ")(?:\\.(" + src[XRANGEIDENTIFIERLOOSE] + ")(?:\\.(" + src[XRANGEIDENTIFIERLOOSE] + ")(?:" + src[PRERELEASELOOSE] + ")?" + src[BUILD] + "?)?)?"; - var XRANGE = R++; - src[XRANGE] = "^" + src[GTLT] + "\\s*" + src[XRANGEPLAIN] + "$"; - var XRANGELOOSE = R++; - src[XRANGELOOSE] = "^" + src[GTLT] + "\\s*" + src[XRANGEPLAINLOOSE] + "$"; - var COERCE = R++; - src[COERCE] = "(?:^|[^\\d])(\\d{1," + MAX_SAFE_COMPONENT_LENGTH + "})(?:\\.(\\d{1," + MAX_SAFE_COMPONENT_LENGTH + "}))?(?:\\.(\\d{1," + MAX_SAFE_COMPONENT_LENGTH + "}))?(?:$|[^\\d])"; - var LONETILDE = R++; - src[LONETILDE] = "(?:~>?)"; - var TILDETRIM = R++; - src[TILDETRIM] = "(\\s*)" + src[LONETILDE] + "\\s+"; - re[TILDETRIM] = new RegExp(src[TILDETRIM], "g"); - var tildeTrimReplace = "$1~"; - var TILDE = R++; - src[TILDE] = "^" + src[LONETILDE] + src[XRANGEPLAIN] + "$"; - var TILDELOOSE = R++; - src[TILDELOOSE] = "^" + src[LONETILDE] + src[XRANGEPLAINLOOSE] + "$"; - var LONECARET = R++; - src[LONECARET] = "(?:\\^)"; - var CARETTRIM = R++; - src[CARETTRIM] = "(\\s*)" + src[LONECARET] + "\\s+"; - re[CARETTRIM] = new RegExp(src[CARETTRIM], "g"); - var caretTrimReplace = "$1^"; - var CARET = R++; - src[CARET] = "^" + src[LONECARET] + src[XRANGEPLAIN] + "$"; - var CARETLOOSE = R++; - src[CARETLOOSE] = "^" + src[LONECARET] + src[XRANGEPLAINLOOSE] + "$"; - var COMPARATORLOOSE = R++; - src[COMPARATORLOOSE] = "^" + src[GTLT] + "\\s*(" + LOOSEPLAIN + ")$|^$"; - var COMPARATOR = R++; - src[COMPARATOR] = "^" + src[GTLT] + "\\s*(" + FULLPLAIN + ")$|^$"; - var COMPARATORTRIM = R++; - src[COMPARATORTRIM] = "(\\s*)" + src[GTLT] + "\\s*(" + LOOSEPLAIN + "|" + src[XRANGEPLAIN] + ")"; - re[COMPARATORTRIM] = new RegExp(src[COMPARATORTRIM], "g"); - var comparatorTrimReplace = "$1$2$3"; - var HYPHENRANGE = R++; - src[HYPHENRANGE] = "^\\s*(" + src[XRANGEPLAIN] + ")\\s+-\\s+(" + src[XRANGEPLAIN] + ")\\s*$"; - var HYPHENRANGELOOSE = R++; - src[HYPHENRANGELOOSE] = "^\\s*(" + src[XRANGEPLAINLOOSE] + ")\\s+-\\s+(" + src[XRANGEPLAINLOOSE] + ")\\s*$"; - var STAR = R++; - src[STAR] = "(<|>)?=?\\s*\\*"; - for (i = 0; i < R; i++) { - debug(i, src[i]); - if (!re[i]) { - re[i] = new RegExp(src[i]); - } - } - var i; - exports2.parse = parse; - function parse(version, options) { - if (!options || typeof options !== "object") { - options = { - loose: !!options, - includePrerelease: false - }; - } - if (version instanceof SemVer) { - return version; - } - if (typeof version !== "string") { - return null; - } - if (version.length > MAX_LENGTH) { - return null; - } - var r = options.loose ? re[LOOSE] : re[FULL]; - if (!r.test(version)) { - return null; - } - try { - return new SemVer(version, options); - } catch (er) { - return null; - } - } - exports2.valid = valid; - function valid(version, options) { - var v = parse(version, options); - return v ? v.version : null; - } - exports2.clean = clean; - function clean(version, options) { - var s = parse(version.trim().replace(/^[=v]+/, ""), options); - return s ? s.version : null; - } - exports2.SemVer = SemVer; - function SemVer(version, options) { - if (!options || typeof options !== "object") { - options = { - loose: !!options, - includePrerelease: false - }; - } - if (version instanceof SemVer) { - if (version.loose === options.loose) { - return version; - } else { - version = version.version; - } - } else if (typeof version !== "string") { - throw new TypeError("Invalid Version: " + version); - } - if (version.length > MAX_LENGTH) { - throw new TypeError("version is longer than " + MAX_LENGTH + " characters"); - } - if (!(this instanceof SemVer)) { - return new SemVer(version, options); - } - debug("SemVer", version, options); - this.options = options; - this.loose = !!options.loose; - var m = version.trim().match(options.loose ? re[LOOSE] : re[FULL]); - if (!m) { - throw new TypeError("Invalid Version: " + version); - } - this.raw = version; - this.major = +m[1]; - this.minor = +m[2]; - this.patch = +m[3]; - if (this.major > MAX_SAFE_INTEGER || this.major < 0) { - throw new TypeError("Invalid major version"); - } - if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) { - throw new TypeError("Invalid minor version"); - } - if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) { - throw new TypeError("Invalid patch version"); - } - if (!m[4]) { - this.prerelease = []; - } else { - this.prerelease = m[4].split(".").map(function(id) { - if (/^[0-9]+$/.test(id)) { - var num = +id; - if (num >= 0 && num < MAX_SAFE_INTEGER) { - return num; - } - } - return id; - }); - } - this.build = m[5] ? m[5].split(".") : []; - this.format(); - } - SemVer.prototype.format = function() { - this.version = this.major + "." + this.minor + "." + this.patch; - if (this.prerelease.length) { - this.version += "-" + this.prerelease.join("."); - } - return this.version; - }; - SemVer.prototype.toString = function() { - return this.version; - }; - SemVer.prototype.compare = function(other) { - debug("SemVer.compare", this.version, this.options, other); - if (!(other instanceof SemVer)) { - other = new SemVer(other, this.options); - } - return this.compareMain(other) || this.comparePre(other); - }; - SemVer.prototype.compareMain = function(other) { - if (!(other instanceof SemVer)) { - other = new SemVer(other, this.options); - } - return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch); - }; - SemVer.prototype.comparePre = function(other) { - if (!(other instanceof SemVer)) { - other = new SemVer(other, this.options); - } - if (this.prerelease.length && !other.prerelease.length) { - return -1; - } else if (!this.prerelease.length && other.prerelease.length) { - return 1; - } else if (!this.prerelease.length && !other.prerelease.length) { - return 0; - } - var i2 = 0; - do { - var a = this.prerelease[i2]; - var b = other.prerelease[i2]; - debug("prerelease compare", i2, a, b); - if (a === void 0 && b === void 0) { - return 0; - } else if (b === void 0) { - return 1; - } else if (a === void 0) { - return -1; - } else if (a === b) { - continue; - } else { - return compareIdentifiers(a, b); - } - } while (++i2); - }; - SemVer.prototype.inc = function(release, identifier) { - switch (release) { - case "premajor": - this.prerelease.length = 0; - this.patch = 0; - this.minor = 0; - this.major++; - this.inc("pre", identifier); - break; - case "preminor": - this.prerelease.length = 0; - this.patch = 0; - this.minor++; - this.inc("pre", identifier); - break; - case "prepatch": - this.prerelease.length = 0; - this.inc("patch", identifier); - this.inc("pre", identifier); - break; - case "prerelease": - if (this.prerelease.length === 0) { - this.inc("patch", identifier); - } - this.inc("pre", identifier); - break; - case "major": - if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) { - this.major++; - } - this.minor = 0; - this.patch = 0; - this.prerelease = []; - break; - case "minor": - if (this.patch !== 0 || this.prerelease.length === 0) { - this.minor++; - } - this.patch = 0; - this.prerelease = []; - break; - case "patch": - if (this.prerelease.length === 0) { - this.patch++; - } - this.prerelease = []; - break; - case "pre": - if (this.prerelease.length === 0) { - this.prerelease = [0]; - } else { - var i2 = this.prerelease.length; - while (--i2 >= 0) { - if (typeof this.prerelease[i2] === "number") { - this.prerelease[i2]++; - i2 = -2; - } - } - if (i2 === -1) { - this.prerelease.push(0); - } - } - if (identifier) { - if (this.prerelease[0] === identifier) { - if (isNaN(this.prerelease[1])) { - this.prerelease = [identifier, 0]; - } - } else { - this.prerelease = [identifier, 0]; - } - } - break; - default: - throw new Error("invalid increment argument: " + release); - } - this.format(); - this.raw = this.version; - return this; - }; - exports2.inc = inc; - function inc(version, release, loose, identifier) { - if (typeof loose === "string") { - identifier = loose; - loose = void 0; - } - try { - return new SemVer(version, loose).inc(release, identifier).version; - } catch (er) { - return null; - } - } - exports2.diff = diff; - function diff(version1, version2) { - if (eq(version1, version2)) { - return null; - } else { - var v1 = parse(version1); - var v2 = parse(version2); - var prefix = ""; - if (v1.prerelease.length || v2.prerelease.length) { - prefix = "pre"; - var defaultResult = "prerelease"; - } - for (var key in v1) { - if (key === "major" || key === "minor" || key === "patch") { - if (v1[key] !== v2[key]) { - return prefix + key; - } - } - } - return defaultResult; - } - } - exports2.compareIdentifiers = compareIdentifiers; - var numeric = /^[0-9]+$/; - function compareIdentifiers(a, b) { - var anum = numeric.test(a); - var bnum = numeric.test(b); - if (anum && bnum) { - a = +a; - b = +b; - } - return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1; - } - exports2.rcompareIdentifiers = rcompareIdentifiers; - function rcompareIdentifiers(a, b) { - return compareIdentifiers(b, a); - } - exports2.major = major; - function major(a, loose) { - return new SemVer(a, loose).major; - } - exports2.minor = minor; - function minor(a, loose) { - return new SemVer(a, loose).minor; - } - exports2.patch = patch; - function patch(a, loose) { - return new SemVer(a, loose).patch; - } - exports2.compare = compare; - function compare(a, b, loose) { - return new SemVer(a, loose).compare(new SemVer(b, loose)); - } - exports2.compareLoose = compareLoose; - function compareLoose(a, b) { - return compare(a, b, true); - } - exports2.rcompare = rcompare; - function rcompare(a, b, loose) { - return compare(b, a, loose); - } - exports2.sort = sort; - function sort(list, loose) { - return list.sort(function(a, b) { - return exports2.compare(a, b, loose); - }); - } - exports2.rsort = rsort; - function rsort(list, loose) { - return list.sort(function(a, b) { - return exports2.rcompare(a, b, loose); - }); - } - exports2.gt = gt; - function gt(a, b, loose) { - return compare(a, b, loose) > 0; - } - exports2.lt = lt; - function lt(a, b, loose) { - return compare(a, b, loose) < 0; - } - exports2.eq = eq; - function eq(a, b, loose) { - return compare(a, b, loose) === 0; - } - exports2.neq = neq; - function neq(a, b, loose) { - return compare(a, b, loose) !== 0; - } - exports2.gte = gte; - function gte(a, b, loose) { - return compare(a, b, loose) >= 0; - } - exports2.lte = lte; - function lte(a, b, loose) { - return compare(a, b, loose) <= 0; - } - exports2.cmp = cmp; - function cmp(a, op, b, loose) { - switch (op) { - case "===": - if (typeof a === "object") - a = a.version; - if (typeof b === "object") - b = b.version; - return a === b; - case "!==": - if (typeof a === "object") - a = a.version; - if (typeof b === "object") - b = b.version; - return a !== b; - case "": - case "=": - case "==": - return eq(a, b, loose); - case "!=": - return neq(a, b, loose); - case ">": - return gt(a, b, loose); - case ">=": - return gte(a, b, loose); - case "<": - return lt(a, b, loose); - case "<=": - return lte(a, b, loose); - default: - throw new TypeError("Invalid operator: " + op); - } - } - exports2.Comparator = Comparator; - function Comparator(comp, options) { - if (!options || typeof options !== "object") { - options = { - loose: !!options, - includePrerelease: false - }; - } - if (comp instanceof Comparator) { - if (comp.loose === !!options.loose) { - return comp; - } else { - comp = comp.value; - } - } - if (!(this instanceof Comparator)) { - return new Comparator(comp, options); - } - debug("comparator", comp, options); - this.options = options; - this.loose = !!options.loose; - this.parse(comp); - if (this.semver === ANY) { - this.value = ""; - } else { - this.value = this.operator + this.semver.version; - } - debug("comp", this); - } - var ANY = {}; - Comparator.prototype.parse = function(comp) { - var r = this.options.loose ? re[COMPARATORLOOSE] : re[COMPARATOR]; - var m = comp.match(r); - if (!m) { - throw new TypeError("Invalid comparator: " + comp); - } - this.operator = m[1]; - if (this.operator === "=") { - this.operator = ""; - } - if (!m[2]) { - this.semver = ANY; - } else { - this.semver = new SemVer(m[2], this.options.loose); - } - }; - Comparator.prototype.toString = function() { - return this.value; - }; - Comparator.prototype.test = function(version) { - debug("Comparator.test", version, this.options.loose); - if (this.semver === ANY) { - return true; - } - if (typeof version === "string") { - version = new SemVer(version, this.options); - } - return cmp(version, this.operator, this.semver, this.options); - }; - Comparator.prototype.intersects = function(comp, options) { - if (!(comp instanceof Comparator)) { - throw new TypeError("a Comparator is required"); - } - if (!options || typeof options !== "object") { - options = { - loose: !!options, - includePrerelease: false - }; - } - var rangeTmp; - if (this.operator === "") { - rangeTmp = new Range(comp.value, options); - return satisfies(this.value, rangeTmp, options); - } else if (comp.operator === "") { - rangeTmp = new Range(this.value, options); - return satisfies(comp.semver, rangeTmp, options); - } - var sameDirectionIncreasing = (this.operator === ">=" || this.operator === ">") && (comp.operator === ">=" || comp.operator === ">"); - var sameDirectionDecreasing = (this.operator === "<=" || this.operator === "<") && (comp.operator === "<=" || comp.operator === "<"); - var sameSemVer = this.semver.version === comp.semver.version; - var differentDirectionsInclusive = (this.operator === ">=" || this.operator === "<=") && (comp.operator === ">=" || comp.operator === "<="); - var oppositeDirectionsLessThan = cmp(this.semver, "<", comp.semver, options) && ((this.operator === ">=" || this.operator === ">") && (comp.operator === "<=" || comp.operator === "<")); - var oppositeDirectionsGreaterThan = cmp(this.semver, ">", comp.semver, options) && ((this.operator === "<=" || this.operator === "<") && (comp.operator === ">=" || comp.operator === ">")); - return sameDirectionIncreasing || sameDirectionDecreasing || sameSemVer && differentDirectionsInclusive || oppositeDirectionsLessThan || oppositeDirectionsGreaterThan; - }; - exports2.Range = Range; - function Range(range, options) { - if (!options || typeof options !== "object") { - options = { - loose: !!options, - includePrerelease: false - }; - } - if (range instanceof Range) { - if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) { - return range; - } else { - return new Range(range.raw, options); - } - } - if (range instanceof Comparator) { - return new Range(range.value, options); - } - if (!(this instanceof Range)) { - return new Range(range, options); - } - this.options = options; - this.loose = !!options.loose; - this.includePrerelease = !!options.includePrerelease; - this.raw = range; - this.set = range.split(/\s*\|\|\s*/).map(function(range2) { - return this.parseRange(range2.trim()); - }, this).filter(function(c) { - return c.length; - }); - if (!this.set.length) { - throw new TypeError("Invalid SemVer Range: " + range); - } - this.format(); - } - Range.prototype.format = function() { - this.range = this.set.map(function(comps) { - return comps.join(" ").trim(); - }).join("||").trim(); - return this.range; - }; - Range.prototype.toString = function() { - return this.range; - }; - Range.prototype.parseRange = function(range) { - var loose = this.options.loose; - range = range.trim(); - var hr = loose ? re[HYPHENRANGELOOSE] : re[HYPHENRANGE]; - range = range.replace(hr, hyphenReplace); - debug("hyphen replace", range); - range = range.replace(re[COMPARATORTRIM], comparatorTrimReplace); - debug("comparator trim", range, re[COMPARATORTRIM]); - range = range.replace(re[TILDETRIM], tildeTrimReplace); - range = range.replace(re[CARETTRIM], caretTrimReplace); - range = range.split(/\s+/).join(" "); - var compRe = loose ? re[COMPARATORLOOSE] : re[COMPARATOR]; - var set = range.split(" ").map(function(comp) { - return parseComparator(comp, this.options); - }, this).join(" ").split(/\s+/); - if (this.options.loose) { - set = set.filter(function(comp) { - return !!comp.match(compRe); - }); - } - set = set.map(function(comp) { - return new Comparator(comp, this.options); - }, this); - return set; - }; - Range.prototype.intersects = function(range, options) { - if (!(range instanceof Range)) { - throw new TypeError("a Range is required"); - } - return this.set.some(function(thisComparators) { - return thisComparators.every(function(thisComparator) { - return range.set.some(function(rangeComparators) { - return rangeComparators.every(function(rangeComparator) { - return thisComparator.intersects(rangeComparator, options); - }); - }); - }); - }); - }; - exports2.toComparators = toComparators; - function toComparators(range, options) { - return new Range(range, options).set.map(function(comp) { - return comp.map(function(c) { - return c.value; - }).join(" ").trim().split(" "); - }); - } - function parseComparator(comp, options) { - debug("comp", comp, options); - comp = replaceCarets(comp, options); - debug("caret", comp); - comp = replaceTildes(comp, options); - debug("tildes", comp); - comp = replaceXRanges(comp, options); - debug("xrange", comp); - comp = replaceStars(comp, options); - debug("stars", comp); - return comp; - } - function isX(id) { - return !id || id.toLowerCase() === "x" || id === "*"; - } - function replaceTildes(comp, options) { - return comp.trim().split(/\s+/).map(function(comp2) { - return replaceTilde(comp2, options); - }).join(" "); - } - function replaceTilde(comp, options) { - var r = options.loose ? re[TILDELOOSE] : re[TILDE]; - return comp.replace(r, function(_, M, m, p, pr) { - debug("tilde", comp, _, M, m, p, pr); - var ret; - if (isX(M)) { - ret = ""; - } else if (isX(m)) { - ret = ">=" + M + ".0.0 <" + (+M + 1) + ".0.0"; - } else if (isX(p)) { - ret = ">=" + M + "." + m + ".0 <" + M + "." + (+m + 1) + ".0"; - } else if (pr) { - debug("replaceTilde pr", pr); - ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + M + "." + (+m + 1) + ".0"; - } else { - ret = ">=" + M + "." + m + "." + p + " <" + M + "." + (+m + 1) + ".0"; - } - debug("tilde return", ret); - return ret; - }); - } - function replaceCarets(comp, options) { - return comp.trim().split(/\s+/).map(function(comp2) { - return replaceCaret(comp2, options); - }).join(" "); - } - function replaceCaret(comp, options) { - debug("caret", comp, options); - var r = options.loose ? re[CARETLOOSE] : re[CARET]; - return comp.replace(r, function(_, M, m, p, pr) { - debug("caret", comp, _, M, m, p, pr); - var ret; - if (isX(M)) { - ret = ""; - } else if (isX(m)) { - ret = ">=" + M + ".0.0 <" + (+M + 1) + ".0.0"; - } else if (isX(p)) { - if (M === "0") { - ret = ">=" + M + "." + m + ".0 <" + M + "." + (+m + 1) + ".0"; - } else { - ret = ">=" + M + "." + m + ".0 <" + (+M + 1) + ".0.0"; - } - } else if (pr) { - debug("replaceCaret pr", pr); - if (M === "0") { - if (m === "0") { - ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + M + "." + m + "." + (+p + 1); - } else { - ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + M + "." + (+m + 1) + ".0"; - } - } else { - ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + (+M + 1) + ".0.0"; - } - } else { - debug("no pr"); - if (M === "0") { - if (m === "0") { - ret = ">=" + M + "." + m + "." + p + " <" + M + "." + m + "." + (+p + 1); - } else { - ret = ">=" + M + "." + m + "." + p + " <" + M + "." + (+m + 1) + ".0"; - } - } else { - ret = ">=" + M + "." + m + "." + p + " <" + (+M + 1) + ".0.0"; - } - } - debug("caret return", ret); - return ret; - }); - } - function replaceXRanges(comp, options) { - debug("replaceXRanges", comp, options); - return comp.split(/\s+/).map(function(comp2) { - return replaceXRange(comp2, options); - }).join(" "); - } - function replaceXRange(comp, options) { - comp = comp.trim(); - var r = options.loose ? re[XRANGELOOSE] : re[XRANGE]; - return comp.replace(r, function(ret, gtlt, M, m, p, pr) { - debug("xRange", comp, ret, gtlt, M, m, p, pr); - var xM = isX(M); - var xm = xM || isX(m); - var xp = xm || isX(p); - var anyX = xp; - if (gtlt === "=" && anyX) { - gtlt = ""; - } - if (xM) { - if (gtlt === ">" || gtlt === "<") { - ret = "<0.0.0"; - } else { - ret = "*"; - } - } else if (gtlt && anyX) { - if (xm) { - m = 0; - } - p = 0; - if (gtlt === ">") { - gtlt = ">="; - if (xm) { - M = +M + 1; - m = 0; - p = 0; - } else { - m = +m + 1; - p = 0; - } - } else if (gtlt === "<=") { - gtlt = "<"; - if (xm) { - M = +M + 1; - } else { - m = +m + 1; - } - } - ret = gtlt + M + "." + m + "." + p; - } else if (xm) { - ret = ">=" + M + ".0.0 <" + (+M + 1) + ".0.0"; - } else if (xp) { - ret = ">=" + M + "." + m + ".0 <" + M + "." + (+m + 1) + ".0"; - } - debug("xRange return", ret); - return ret; - }); - } - function replaceStars(comp, options) { - debug("replaceStars", comp, options); - return comp.trim().replace(re[STAR], ""); - } - function hyphenReplace($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr, tb) { - if (isX(fM)) { - from = ""; - } else if (isX(fm)) { - from = ">=" + fM + ".0.0"; - } else if (isX(fp)) { - from = ">=" + fM + "." + fm + ".0"; - } else { - from = ">=" + from; - } - if (isX(tM)) { - to = ""; - } else if (isX(tm)) { - to = "<" + (+tM + 1) + ".0.0"; - } else if (isX(tp)) { - to = "<" + tM + "." + (+tm + 1) + ".0"; - } else if (tpr) { - to = "<=" + tM + "." + tm + "." + tp + "-" + tpr; - } else { - to = "<=" + to; - } - return (from + " " + to).trim(); - } - Range.prototype.test = function(version) { - if (!version) { - return false; - } - if (typeof version === "string") { - version = new SemVer(version, this.options); - } - for (var i2 = 0; i2 < this.set.length; i2++) { - if (testSet(this.set[i2], version, this.options)) { - return true; - } - } - return false; - }; - function testSet(set, version, options) { - for (var i2 = 0; i2 < set.length; i2++) { - if (!set[i2].test(version)) { - return false; - } - } - if (version.prerelease.length && !options.includePrerelease) { - for (i2 = 0; i2 < set.length; i2++) { - debug(set[i2].semver); - if (set[i2].semver === ANY) { - continue; - } - if (set[i2].semver.prerelease.length > 0) { - var allowed = set[i2].semver; - if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) { - return true; - } - } - } - return false; - } - return true; - } - exports2.satisfies = satisfies; - function satisfies(version, range, options) { - try { - range = new Range(range, options); - } catch (er) { - return false; - } - return range.test(version); - } - exports2.maxSatisfying = maxSatisfying; - function maxSatisfying(versions, range, options) { - var max = null; - var maxSV = null; - try { - var rangeObj = new Range(range, options); - } catch (er) { - return null; - } - versions.forEach(function(v) { - if (rangeObj.test(v)) { - if (!max || maxSV.compare(v) === -1) { - max = v; - maxSV = new SemVer(max, options); - } - } - }); - return max; - } - exports2.minSatisfying = minSatisfying; - function minSatisfying(versions, range, options) { - var min = null; - var minSV = null; - try { - var rangeObj = new Range(range, options); - } catch (er) { - return null; - } - versions.forEach(function(v) { - if (rangeObj.test(v)) { - if (!min || minSV.compare(v) === 1) { - min = v; - minSV = new SemVer(min, options); - } - } - }); - return min; - } - exports2.minVersion = minVersion; - function minVersion(range, loose) { - range = new Range(range, loose); - var minver = new SemVer("0.0.0"); - if (range.test(minver)) { - return minver; - } - minver = new SemVer("0.0.0-0"); - if (range.test(minver)) { - return minver; - } - minver = null; - for (var i2 = 0; i2 < range.set.length; ++i2) { - var comparators = range.set[i2]; - comparators.forEach(function(comparator) { - var compver = new SemVer(comparator.semver.version); - switch (comparator.operator) { - case ">": - if (compver.prerelease.length === 0) { - compver.patch++; - } else { - compver.prerelease.push(0); - } - compver.raw = compver.format(); - case "": - case ">=": - if (!minver || gt(minver, compver)) { - minver = compver; - } - break; - case "<": - case "<=": - break; - default: - throw new Error("Unexpected operation: " + comparator.operator); - } - }); - } - if (minver && range.test(minver)) { - return minver; - } - return null; - } - exports2.validRange = validRange; - function validRange(range, options) { - try { - return new Range(range, options).range || "*"; - } catch (er) { - return null; - } - } - exports2.ltr = ltr; - function ltr(version, range, options) { - return outside(version, range, "<", options); - } - exports2.gtr = gtr; - function gtr(version, range, options) { - return outside(version, range, ">", options); - } - exports2.outside = outside; - function outside(version, range, hilo, options) { - version = new SemVer(version, options); - range = new Range(range, options); - var gtfn, ltefn, ltfn, comp, ecomp; - switch (hilo) { - case ">": - gtfn = gt; - ltefn = lte; - ltfn = lt; - comp = ">"; - ecomp = ">="; - break; - case "<": - gtfn = lt; - ltefn = gte; - ltfn = gt; - comp = "<"; - ecomp = "<="; - break; - default: - throw new TypeError('Must provide a hilo val of "<" or ">"'); - } - if (satisfies(version, range, options)) { - return false; - } - for (var i2 = 0; i2 < range.set.length; ++i2) { - var comparators = range.set[i2]; - var high = null; - var low = null; - comparators.forEach(function(comparator) { - if (comparator.semver === ANY) { - comparator = new Comparator(">=0.0.0"); - } - high = high || comparator; - low = low || comparator; - if (gtfn(comparator.semver, high.semver, options)) { - high = comparator; - } else if (ltfn(comparator.semver, low.semver, options)) { - low = comparator; - } - }); - if (high.operator === comp || high.operator === ecomp) { - return false; - } - if ((!low.operator || low.operator === comp) && ltefn(version, low.semver)) { - return false; - } else if (low.operator === ecomp && ltfn(version, low.semver)) { - return false; - } - } - return true; - } - exports2.prerelease = prerelease; - function prerelease(version, options) { - var parsed = parse(version, options); - return parsed && parsed.prerelease.length ? parsed.prerelease : null; - } - exports2.intersects = intersects; - function intersects(r1, r2, options) { - r1 = new Range(r1, options); - r2 = new Range(r2, options); - return r1.intersects(r2); - } - exports2.coerce = coerce; - function coerce(version) { - if (version instanceof SemVer) { - return version; - } - if (typeof version !== "string") { - return null; - } - var match = version.match(re[COERCE]); - if (match == null) { - return null; - } - return parse(match[1] + "." + (match[2] || "0") + "." + (match[3] || "0")); - } - } -}); - -// node_modules/koa-jwt/node_modules/jsonwebtoken/lib/psSupported.js -var require_psSupported2 = __commonJS({ - "node_modules/koa-jwt/node_modules/jsonwebtoken/lib/psSupported.js"(exports2, module2) { - var semver = require_semver3(); - module2.exports = semver.satisfies(process.version, "^6.12.0 || >=8.0.0"); - } -}); - -// node_modules/koa-jwt/node_modules/jsonwebtoken/verify.js -var require_verify2 = __commonJS({ - "node_modules/koa-jwt/node_modules/jsonwebtoken/verify.js"(exports2, module2) { - var JsonWebTokenError = require_JsonWebTokenError2(); - var NotBeforeError = require_NotBeforeError2(); - var TokenExpiredError = require_TokenExpiredError2(); - var decode = require_decode2(); - var timespan = require_timespan2(); - var PS_SUPPORTED = require_psSupported2(); - var jws = require_jws(); - var PUB_KEY_ALGS = ["RS256", "RS384", "RS512", "ES256", "ES384", "ES512"]; - var RSA_KEY_ALGS = ["RS256", "RS384", "RS512"]; - var HS_ALGS = ["HS256", "HS384", "HS512"]; - if (PS_SUPPORTED) { - PUB_KEY_ALGS.splice(3, 0, "PS256", "PS384", "PS512"); - RSA_KEY_ALGS.splice(3, 0, "PS256", "PS384", "PS512"); - } - module2.exports = function(jwtString, secretOrPublicKey, options, callback) { - if (typeof options === "function" && !callback) { - callback = options; - options = {}; - } - if (!options) { - options = {}; - } - options = Object.assign({}, options); - var done; - if (callback) { - done = callback; - } else { - done = function(err, data) { - if (err) - throw err; - return data; - }; - } - if (options.clockTimestamp && typeof options.clockTimestamp !== "number") { - return done(new JsonWebTokenError("clockTimestamp must be a number")); - } - if (options.nonce !== void 0 && (typeof options.nonce !== "string" || options.nonce.trim() === "")) { - return done(new JsonWebTokenError("nonce must be a non-empty string")); - } - var clockTimestamp = options.clockTimestamp || Math.floor(Date.now() / 1e3); - if (!jwtString) { - return done(new JsonWebTokenError("jwt must be provided")); - } - if (typeof jwtString !== "string") { - return done(new JsonWebTokenError("jwt must be a string")); - } - var parts = jwtString.split("."); - if (parts.length !== 3) { - return done(new JsonWebTokenError("jwt malformed")); - } - var decodedToken; - try { - decodedToken = decode(jwtString, { complete: true }); - } catch (err) { - return done(err); - } - if (!decodedToken) { - return done(new JsonWebTokenError("invalid token")); - } - var header = decodedToken.header; - var getSecret; - if (typeof secretOrPublicKey === "function") { - if (!callback) { - return done(new JsonWebTokenError("verify must be called asynchronous if secret or public key is provided as a callback")); - } - getSecret = secretOrPublicKey; - } else { - getSecret = function(header2, secretCallback) { - return secretCallback(null, secretOrPublicKey); - }; - } - return getSecret(header, function(err, secretOrPublicKey2) { - if (err) { - return done(new JsonWebTokenError("error in secret or public key callback: " + err.message)); - } - var hasSignature = parts[2].trim() !== ""; - if (!hasSignature && secretOrPublicKey2) { - return done(new JsonWebTokenError("jwt signature is required")); - } - if (hasSignature && !secretOrPublicKey2) { - return done(new JsonWebTokenError("secret or public key must be provided")); - } - if (!hasSignature && !options.algorithms) { - options.algorithms = ["none"]; - } - if (!options.algorithms) { - options.algorithms = ~secretOrPublicKey2.toString().indexOf("BEGIN CERTIFICATE") || ~secretOrPublicKey2.toString().indexOf("BEGIN PUBLIC KEY") ? PUB_KEY_ALGS : ~secretOrPublicKey2.toString().indexOf("BEGIN RSA PUBLIC KEY") ? RSA_KEY_ALGS : HS_ALGS; - } - if (!~options.algorithms.indexOf(decodedToken.header.alg)) { - return done(new JsonWebTokenError("invalid algorithm")); - } - var valid; - try { - valid = jws.verify(jwtString, decodedToken.header.alg, secretOrPublicKey2); - } catch (e) { - return done(e); - } - if (!valid) { - return done(new JsonWebTokenError("invalid signature")); - } - var payload = decodedToken.payload; - if (typeof payload.nbf !== "undefined" && !options.ignoreNotBefore) { - if (typeof payload.nbf !== "number") { - return done(new JsonWebTokenError("invalid nbf value")); - } - if (payload.nbf > clockTimestamp + (options.clockTolerance || 0)) { - return done(new NotBeforeError("jwt not active", new Date(payload.nbf * 1e3))); - } - } - if (typeof payload.exp !== "undefined" && !options.ignoreExpiration) { - if (typeof payload.exp !== "number") { - return done(new JsonWebTokenError("invalid exp value")); - } - if (clockTimestamp >= payload.exp + (options.clockTolerance || 0)) { - return done(new TokenExpiredError("jwt expired", new Date(payload.exp * 1e3))); - } - } - if (options.audience) { - var audiences = Array.isArray(options.audience) ? options.audience : [options.audience]; - var target = Array.isArray(payload.aud) ? payload.aud : [payload.aud]; - var match = target.some(function(targetAudience) { - return audiences.some(function(audience) { - return audience instanceof RegExp ? audience.test(targetAudience) : audience === targetAudience; - }); - }); - if (!match) { - return done(new JsonWebTokenError("jwt audience invalid. expected: " + audiences.join(" or "))); - } - } - if (options.issuer) { - var invalid_issuer = typeof options.issuer === "string" && payload.iss !== options.issuer || Array.isArray(options.issuer) && options.issuer.indexOf(payload.iss) === -1; - if (invalid_issuer) { - return done(new JsonWebTokenError("jwt issuer invalid. expected: " + options.issuer)); - } - } - if (options.subject) { - if (payload.sub !== options.subject) { - return done(new JsonWebTokenError("jwt subject invalid. expected: " + options.subject)); - } - } - if (options.jwtid) { - if (payload.jti !== options.jwtid) { - return done(new JsonWebTokenError("jwt jwtid invalid. expected: " + options.jwtid)); - } - } - if (options.nonce) { - if (payload.nonce !== options.nonce) { - return done(new JsonWebTokenError("jwt nonce invalid. expected: " + options.nonce)); - } - } - if (options.maxAge) { - if (typeof payload.iat !== "number") { - return done(new JsonWebTokenError("iat required when maxAge is specified")); - } - var maxAgeTimestamp = timespan(options.maxAge, payload.iat); - if (typeof maxAgeTimestamp === "undefined") { - return done(new JsonWebTokenError('"maxAge" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60')); - } - if (clockTimestamp >= maxAgeTimestamp + (options.clockTolerance || 0)) { - return done(new TokenExpiredError("maxAge exceeded", new Date(maxAgeTimestamp * 1e3))); - } - } - if (options.complete === true) { - var signature = decodedToken.signature; - return done(null, { - header, - payload, - signature - }); - } - return done(null, payload); - }); - }; - } -}); - -// node_modules/lodash.includes/index.js -var require_lodash2 = __commonJS({ - "node_modules/lodash.includes/index.js"(exports2, module2) { - var INFINITY = 1 / 0; - var MAX_SAFE_INTEGER = 9007199254740991; - var MAX_INTEGER = 17976931348623157e292; - var NAN = 0 / 0; - var argsTag = "[object Arguments]"; - var funcTag = "[object Function]"; - var genTag = "[object GeneratorFunction]"; - var stringTag = "[object String]"; - var symbolTag = "[object Symbol]"; - var reTrim = /^\s+|\s+$/g; - var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; - var reIsBinary = /^0b[01]+$/i; - var reIsOctal = /^0o[0-7]+$/i; - var reIsUint = /^(?:0|[1-9]\d*)$/; - var freeParseInt = parseInt; - function arrayMap(array, iteratee) { - var index = -1, length = array ? array.length : 0, result = Array(length); - while (++index < length) { - result[index] = iteratee(array[index], index, array); - } - return result; - } - function baseFindIndex(array, predicate, fromIndex, fromRight) { - var length = array.length, index = fromIndex + (fromRight ? 1 : -1); - while (fromRight ? index-- : ++index < length) { - if (predicate(array[index], index, array)) { - return index; - } - } - return -1; - } - function baseIndexOf(array, value, fromIndex) { - if (value !== value) { - return baseFindIndex(array, baseIsNaN, fromIndex); - } - var index = fromIndex - 1, length = array.length; - while (++index < length) { - if (array[index] === value) { - return index; - } - } - return -1; - } - function baseIsNaN(value) { - return value !== value; - } - function baseTimes(n, iteratee) { - var index = -1, result = Array(n); - while (++index < n) { - result[index] = iteratee(index); - } - return result; - } - function baseValues(object, props) { - return arrayMap(props, function(key) { - return object[key]; - }); - } - function overArg(func, transform) { - return function(arg) { - return func(transform(arg)); - }; - } - var objectProto = Object.prototype; - var hasOwnProperty2 = objectProto.hasOwnProperty; - var objectToString = objectProto.toString; - var propertyIsEnumerable = objectProto.propertyIsEnumerable; - var nativeKeys = overArg(Object.keys, Object); - var nativeMax = Math.max; - function arrayLikeKeys(value, inherited) { - var result = isArray3(value) || isArguments(value) ? baseTimes(value.length, String) : []; - var length = result.length, skipIndexes = !!length; - for (var key in value) { - if ((inherited || hasOwnProperty2.call(value, key)) && !(skipIndexes && (key == "length" || isIndex(key, length)))) { - result.push(key); - } - } - return result; - } - function baseKeys(object) { - if (!isPrototype(object)) { - return nativeKeys(object); - } - var result = []; - for (var key in Object(object)) { - if (hasOwnProperty2.call(object, key) && key != "constructor") { - result.push(key); - } - } - return result; - } - function isIndex(value, length) { - length = length == null ? MAX_SAFE_INTEGER : length; - return !!length && (typeof value == "number" || reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length); - } - function isPrototype(value) { - var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto; - return value === proto; - } - function includes(collection, value, fromIndex, guard) { - collection = isArrayLike(collection) ? collection : values(collection); - fromIndex = fromIndex && !guard ? toInteger(fromIndex) : 0; - var length = collection.length; - if (fromIndex < 0) { - fromIndex = nativeMax(length + fromIndex, 0); - } - return isString3(collection) ? fromIndex <= length && collection.indexOf(value, fromIndex) > -1 : !!length && baseIndexOf(collection, value, fromIndex) > -1; - } - function isArguments(value) { - return isArrayLikeObject(value) && hasOwnProperty2.call(value, "callee") && (!propertyIsEnumerable.call(value, "callee") || objectToString.call(value) == argsTag); - } - var isArray3 = Array.isArray; - function isArrayLike(value) { - return value != null && isLength(value.length) && !isFunction2(value); - } - function isArrayLikeObject(value) { - return isObjectLike(value) && isArrayLike(value); - } - function isFunction2(value) { - var tag = isObject4(value) ? objectToString.call(value) : ""; - return tag == funcTag || tag == genTag; - } - function isLength(value) { - return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; - } - function isObject4(value) { - var type = typeof value; - return !!value && (type == "object" || type == "function"); - } - function isObjectLike(value) { - return !!value && typeof value == "object"; - } - function isString3(value) { - return typeof value == "string" || !isArray3(value) && isObjectLike(value) && objectToString.call(value) == stringTag; - } - function isSymbol(value) { - return typeof value == "symbol" || isObjectLike(value) && objectToString.call(value) == symbolTag; - } - function toFinite(value) { - if (!value) { - return value === 0 ? value : 0; - } - value = toNumber(value); - if (value === INFINITY || value === -INFINITY) { - var sign = value < 0 ? -1 : 1; - return sign * MAX_INTEGER; - } - return value === value ? value : 0; - } - function toInteger(value) { - var result = toFinite(value), remainder = result % 1; - return result === result ? remainder ? result - remainder : result : 0; - } - function toNumber(value) { - if (typeof value == "number") { - return value; - } - if (isSymbol(value)) { - return NAN; - } - if (isObject4(value)) { - var other = typeof value.valueOf == "function" ? value.valueOf() : value; - value = isObject4(other) ? other + "" : other; - } - if (typeof value != "string") { - return value === 0 ? value : +value; - } - value = value.replace(reTrim, ""); - var isBinary = reIsBinary.test(value); - return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value; - } - function keys2(object) { - return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); - } - function values(object) { - return object ? baseValues(object, keys2(object)) : []; - } - module2.exports = includes; - } -}); - -// node_modules/lodash.isboolean/index.js -var require_lodash3 = __commonJS({ - "node_modules/lodash.isboolean/index.js"(exports2, module2) { - var boolTag = "[object Boolean]"; - var objectProto = Object.prototype; - var objectToString = objectProto.toString; - function isBoolean3(value) { - return value === true || value === false || isObjectLike(value) && objectToString.call(value) == boolTag; - } - function isObjectLike(value) { - return !!value && typeof value == "object"; - } - module2.exports = isBoolean3; - } -}); - -// node_modules/lodash.isinteger/index.js -var require_lodash4 = __commonJS({ - "node_modules/lodash.isinteger/index.js"(exports2, module2) { - var INFINITY = 1 / 0; - var MAX_INTEGER = 17976931348623157e292; - var NAN = 0 / 0; - var symbolTag = "[object Symbol]"; - var reTrim = /^\s+|\s+$/g; - var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; - var reIsBinary = /^0b[01]+$/i; - var reIsOctal = /^0o[0-7]+$/i; - var freeParseInt = parseInt; - var objectProto = Object.prototype; - var objectToString = objectProto.toString; - function isInteger(value) { - return typeof value == "number" && value == toInteger(value); - } - function isObject4(value) { - var type = typeof value; - return !!value && (type == "object" || type == "function"); - } - function isObjectLike(value) { - return !!value && typeof value == "object"; - } - function isSymbol(value) { - return typeof value == "symbol" || isObjectLike(value) && objectToString.call(value) == symbolTag; - } - function toFinite(value) { - if (!value) { - return value === 0 ? value : 0; - } - value = toNumber(value); - if (value === INFINITY || value === -INFINITY) { - var sign = value < 0 ? -1 : 1; - return sign * MAX_INTEGER; - } - return value === value ? value : 0; - } - function toInteger(value) { - var result = toFinite(value), remainder = result % 1; - return result === result ? remainder ? result - remainder : result : 0; - } - function toNumber(value) { - if (typeof value == "number") { - return value; - } - if (isSymbol(value)) { - return NAN; - } - if (isObject4(value)) { - var other = typeof value.valueOf == "function" ? value.valueOf() : value; - value = isObject4(other) ? other + "" : other; - } - if (typeof value != "string") { - return value === 0 ? value : +value; - } - value = value.replace(reTrim, ""); - var isBinary = reIsBinary.test(value); - return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value; - } - module2.exports = isInteger; - } -}); - -// node_modules/lodash.isnumber/index.js -var require_lodash5 = __commonJS({ - "node_modules/lodash.isnumber/index.js"(exports2, module2) { - var numberTag = "[object Number]"; - var objectProto = Object.prototype; - var objectToString = objectProto.toString; - function isObjectLike(value) { - return !!value && typeof value == "object"; - } - function isNumber3(value) { - return typeof value == "number" || isObjectLike(value) && objectToString.call(value) == numberTag; - } - module2.exports = isNumber3; - } -}); - -// node_modules/lodash.isplainobject/index.js -var require_lodash6 = __commonJS({ - "node_modules/lodash.isplainobject/index.js"(exports2, module2) { - var objectTag = "[object Object]"; - function isHostObject(value) { - var result = false; - if (value != null && typeof value.toString != "function") { - try { - result = !!(value + ""); - } catch (e) { - } - } - return result; - } - function overArg(func, transform) { - return function(arg) { - return func(transform(arg)); - }; - } - var funcProto = Function.prototype; - var objectProto = Object.prototype; - var funcToString = funcProto.toString; - var hasOwnProperty2 = objectProto.hasOwnProperty; - var objectCtorString = funcToString.call(Object); - var objectToString = objectProto.toString; - var getPrototype = overArg(Object.getPrototypeOf, Object); - function isObjectLike(value) { - return !!value && typeof value == "object"; - } - function isPlainObject2(value) { - if (!isObjectLike(value) || objectToString.call(value) != objectTag || isHostObject(value)) { - return false; - } - var proto = getPrototype(value); - if (proto === null) { - return true; - } - var Ctor = hasOwnProperty2.call(proto, "constructor") && proto.constructor; - return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString; - } - module2.exports = isPlainObject2; - } -}); - -// node_modules/lodash.isstring/index.js -var require_lodash7 = __commonJS({ - "node_modules/lodash.isstring/index.js"(exports2, module2) { - var stringTag = "[object String]"; - var objectProto = Object.prototype; - var objectToString = objectProto.toString; - var isArray3 = Array.isArray; - function isObjectLike(value) { - return !!value && typeof value == "object"; - } - function isString3(value) { - return typeof value == "string" || !isArray3(value) && isObjectLike(value) && objectToString.call(value) == stringTag; - } - module2.exports = isString3; - } -}); - -// node_modules/lodash.once/index.js -var require_lodash8 = __commonJS({ - "node_modules/lodash.once/index.js"(exports2, module2) { - var FUNC_ERROR_TEXT = "Expected a function"; - var INFINITY = 1 / 0; - var MAX_INTEGER = 17976931348623157e292; - var NAN = 0 / 0; - var symbolTag = "[object Symbol]"; - var reTrim = /^\s+|\s+$/g; - var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; - var reIsBinary = /^0b[01]+$/i; - var reIsOctal = /^0o[0-7]+$/i; - var freeParseInt = parseInt; - var objectProto = Object.prototype; - var objectToString = objectProto.toString; - function before(n, func) { - var result; - if (typeof func != "function") { - throw new TypeError(FUNC_ERROR_TEXT); - } - n = toInteger(n); - return function() { - if (--n > 0) { - result = func.apply(this, arguments); - } - if (n <= 1) { - func = void 0; - } - return result; - }; - } - function once(func) { - return before(2, func); - } - function isObject4(value) { - var type = typeof value; - return !!value && (type == "object" || type == "function"); - } - function isObjectLike(value) { - return !!value && typeof value == "object"; - } - function isSymbol(value) { - return typeof value == "symbol" || isObjectLike(value) && objectToString.call(value) == symbolTag; - } - function toFinite(value) { - if (!value) { - return value === 0 ? value : 0; - } - value = toNumber(value); - if (value === INFINITY || value === -INFINITY) { - var sign = value < 0 ? -1 : 1; - return sign * MAX_INTEGER; - } - return value === value ? value : 0; - } - function toInteger(value) { - var result = toFinite(value), remainder = result % 1; - return result === result ? remainder ? result - remainder : result : 0; - } - function toNumber(value) { - if (typeof value == "number") { - return value; - } - if (isSymbol(value)) { - return NAN; - } - if (isObject4(value)) { - var other = typeof value.valueOf == "function" ? value.valueOf() : value; - value = isObject4(other) ? other + "" : other; - } - if (typeof value != "string") { - return value === 0 ? value : +value; - } - value = value.replace(reTrim, ""); - var isBinary = reIsBinary.test(value); - return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value; - } - module2.exports = once; - } -}); - -// node_modules/koa-jwt/node_modules/jsonwebtoken/sign.js -var require_sign2 = __commonJS({ - "node_modules/koa-jwt/node_modules/jsonwebtoken/sign.js"(exports2, module2) { - var timespan = require_timespan2(); - var PS_SUPPORTED = require_psSupported2(); - var jws = require_jws(); - var includes = require_lodash2(); - var isBoolean3 = require_lodash3(); - var isInteger = require_lodash4(); - var isNumber3 = require_lodash5(); - var isPlainObject2 = require_lodash6(); - var isString3 = require_lodash7(); - var once = require_lodash8(); - var SUPPORTED_ALGS = ["RS256", "RS384", "RS512", "ES256", "ES384", "ES512", "HS256", "HS384", "HS512", "none"]; - if (PS_SUPPORTED) { - SUPPORTED_ALGS.splice(3, 0, "PS256", "PS384", "PS512"); - } - var sign_options_schema = { - expiresIn: { isValid: function(value) { - return isInteger(value) || isString3(value) && value; - }, message: '"expiresIn" should be a number of seconds or string representing a timespan' }, - notBefore: { isValid: function(value) { - return isInteger(value) || isString3(value) && value; - }, message: '"notBefore" should be a number of seconds or string representing a timespan' }, - audience: { isValid: function(value) { - return isString3(value) || Array.isArray(value); - }, message: '"audience" must be a string or array' }, - algorithm: { isValid: includes.bind(null, SUPPORTED_ALGS), message: '"algorithm" must be a valid string enum value' }, - header: { isValid: isPlainObject2, message: '"header" must be an object' }, - encoding: { isValid: isString3, message: '"encoding" must be a string' }, - issuer: { isValid: isString3, message: '"issuer" must be a string' }, - subject: { isValid: isString3, message: '"subject" must be a string' }, - jwtid: { isValid: isString3, message: '"jwtid" must be a string' }, - noTimestamp: { isValid: isBoolean3, message: '"noTimestamp" must be a boolean' }, - keyid: { isValid: isString3, message: '"keyid" must be a string' }, - mutatePayload: { isValid: isBoolean3, message: '"mutatePayload" must be a boolean' } - }; - var registered_claims_schema = { - iat: { isValid: isNumber3, message: '"iat" should be a number of seconds' }, - exp: { isValid: isNumber3, message: '"exp" should be a number of seconds' }, - nbf: { isValid: isNumber3, message: '"nbf" should be a number of seconds' } - }; - function validate(schema, allowUnknown, object, parameterName) { - if (!isPlainObject2(object)) { - throw new Error('Expected "' + parameterName + '" to be a plain object.'); - } - Object.keys(object).forEach(function(key) { - var validator = schema[key]; - if (!validator) { - if (!allowUnknown) { - throw new Error('"' + key + '" is not allowed in "' + parameterName + '"'); - } - return; - } - if (!validator.isValid(object[key])) { - throw new Error(validator.message); - } - }); - } - function validateOptions(options) { - return validate(sign_options_schema, false, options, "options"); - } - function validatePayload(payload) { - return validate(registered_claims_schema, true, payload, "payload"); - } - var options_to_payload = { - "audience": "aud", - "issuer": "iss", - "subject": "sub", - "jwtid": "jti" - }; - var options_for_objects = [ - "expiresIn", - "notBefore", - "noTimestamp", - "audience", - "issuer", - "subject", - "jwtid" - ]; - module2.exports = function(payload, secretOrPrivateKey, options, callback) { - if (typeof options === "function") { - callback = options; - options = {}; - } else { - options = options || {}; - } - var isObjectPayload = typeof payload === "object" && !Buffer.isBuffer(payload); - var header = Object.assign({ - alg: options.algorithm || "HS256", - typ: isObjectPayload ? "JWT" : void 0, - kid: options.keyid - }, options.header); - function failure(err) { - if (callback) { - return callback(err); - } - throw err; - } - if (!secretOrPrivateKey && options.algorithm !== "none") { - return failure(new Error("secretOrPrivateKey must have a value")); - } - if (typeof payload === "undefined") { - return failure(new Error("payload is required")); - } else if (isObjectPayload) { - try { - validatePayload(payload); - } catch (error) { - return failure(error); - } - if (!options.mutatePayload) { - payload = Object.assign({}, payload); - } - } else { - var invalid_options = options_for_objects.filter(function(opt) { - return typeof options[opt] !== "undefined"; - }); - if (invalid_options.length > 0) { - return failure(new Error("invalid " + invalid_options.join(",") + " option for " + typeof payload + " payload")); - } - } - if (typeof payload.exp !== "undefined" && typeof options.expiresIn !== "undefined") { - return failure(new Error('Bad "options.expiresIn" option the payload already has an "exp" property.')); - } - if (typeof payload.nbf !== "undefined" && typeof options.notBefore !== "undefined") { - return failure(new Error('Bad "options.notBefore" option the payload already has an "nbf" property.')); - } - try { - validateOptions(options); - } catch (error) { - return failure(error); - } - var timestamp2 = payload.iat || Math.floor(Date.now() / 1e3); - if (options.noTimestamp) { - delete payload.iat; - } else if (isObjectPayload) { - payload.iat = timestamp2; - } - if (typeof options.notBefore !== "undefined") { - try { - payload.nbf = timespan(options.notBefore, timestamp2); - } catch (err) { - return failure(err); - } - if (typeof payload.nbf === "undefined") { - return failure(new Error('"notBefore" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60')); - } - } - if (typeof options.expiresIn !== "undefined" && typeof payload === "object") { - try { - payload.exp = timespan(options.expiresIn, timestamp2); - } catch (err) { - return failure(err); - } - if (typeof payload.exp === "undefined") { - return failure(new Error('"expiresIn" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60')); - } - } - Object.keys(options_to_payload).forEach(function(key) { - var claim = options_to_payload[key]; - if (typeof options[key] !== "undefined") { - if (typeof payload[claim] !== "undefined") { - return failure(new Error('Bad "options.' + key + '" option. The payload already has an "' + claim + '" property.')); - } - payload[claim] = options[key]; - } - }); - var encoding = options.encoding || "utf8"; - if (typeof callback === "function") { - callback = callback && once(callback); - jws.createSign({ - header, - privateKey: secretOrPrivateKey, - payload, - encoding - }).once("error", callback).once("done", function(signature) { - callback(null, signature); - }); - } else { - return jws.sign({ header, payload, secret: secretOrPrivateKey, encoding }); - } - }; - } -}); - -// node_modules/koa-jwt/node_modules/jsonwebtoken/index.js -var require_jsonwebtoken2 = __commonJS({ - "node_modules/koa-jwt/node_modules/jsonwebtoken/index.js"(exports2, module2) { - module2.exports = { - decode: require_decode2(), - verify: require_verify2(), - sign: require_sign2(), - JsonWebTokenError: require_JsonWebTokenError2(), - NotBeforeError: require_NotBeforeError2(), - TokenExpiredError: require_TokenExpiredError2() - }; - } -}); - -// node_modules/koa-jwt/lib/verify.js -var require_verify3 = __commonJS({ - "node_modules/koa-jwt/lib/verify.js"(exports2, module2) { - var jwt3 = require_jsonwebtoken2(); - module2.exports = (...args2) => { - return new Promise((resolve, reject) => { - jwt3.verify(...args2, (error, decoded) => { - error ? reject(error) : resolve(decoded); - }); - }); - }; - } -}); - -// node_modules/koa-jwt/lib/get-secret.js -var require_get_secret = __commonJS({ - "node_modules/koa-jwt/lib/get-secret.js"(exports2, module2) { - var { decode } = require_jsonwebtoken2(); - module2.exports = async (provider, token) => { - const decoded = decode(token, { complete: true }); - if (!decoded || !decoded.header) { - throw new Error("Invalid token"); - } - return provider(decoded.header, decoded.payload); - }; - } -}); - -// node_modules/koa-jwt/lib/resolvers/auth-header.js -var require_auth_header = __commonJS({ - "node_modules/koa-jwt/lib/resolvers/auth-header.js"(exports2, module2) { - module2.exports = function resolveAuthorizationHeader(ctx, opts) { - if (!ctx.header || !ctx.header.authorization) { - return; - } - const parts = ctx.header.authorization.trim().split(" "); - if (parts.length === 2) { - const scheme = parts[0]; - const credentials = parts[1]; - if (/^Bearer$/i.test(scheme)) { - return credentials; - } - } - if (!opts.passthrough) { - ctx.throw(401, 'Bad Authorization header format. Format is "Authorization: Bearer "'); - } - }; - } -}); - -// node_modules/koa-jwt/lib/resolvers/cookie.js -var require_cookie2 = __commonJS({ - "node_modules/koa-jwt/lib/resolvers/cookie.js"(exports2, module2) { - module2.exports = function resolveCookies(ctx, opts) { - return opts.cookie && ctx.cookies.get(opts.cookie); - }; - } -}); - -// node_modules/koa-jwt/lib/index.js -var require_lib7 = __commonJS({ - "node_modules/koa-jwt/lib/index.js"(exports2, module2) { - "use strict"; - var pAny = require_p_any(); - var unless = require_koa_unless(); - var verify = require_verify3(); - var getSecret = require_get_secret(); - var resolveAuthHeader = require_auth_header(); - var resolveCookies = require_cookie2(); - module2.exports = (opts = {}) => { - const { debug, getToken, isRevoked, key = "user", passthrough, tokenKey } = opts; - const tokenResolvers = [resolveCookies, resolveAuthHeader]; - if (getToken && typeof getToken === "function") { - tokenResolvers.unshift(getToken); - } - const middleware = async function jwt3(ctx, next) { - let token; - tokenResolvers.find((resolver) => token = resolver(ctx, opts)); - if (!token && !passthrough) { - ctx.throw(401, debug ? "Token not found" : "Authentication Error"); - } - let { state: { secret = opts.secret } } = ctx; - try { - if (typeof secret === "function") { - secret = await getSecret(secret, token); - } - if (!secret) { - throw new Error("Secret not provided"); - } - let secrets = Array.isArray(secret) ? secret : [secret]; - const decodedTokens = secrets.map(async (s) => await verify(token, s, opts)); - const decodedToken = await pAny(decodedTokens).catch(function(err) { - if (err instanceof pAny.AggregateError) { - for (const e of err) { - throw e; - } - } else { - throw err; - } - }); - if (isRevoked) { - const tokenRevoked = await isRevoked(ctx, decodedToken, token); - if (tokenRevoked) { - throw new Error("Token revoked"); - } - } - ctx.state[key] = decodedToken; - if (tokenKey) { - ctx.state[tokenKey] = token; - } - } catch (e) { - if (!passthrough) { - const msg = debug ? e.message : "Authentication Error"; - ctx.throw(401, msg, { originalError: e }); - } else { - ctx.state.jwtOriginalError = e; - } - } - return next(); - }; - middleware.unless = unless; - return middleware; - }; - } -}); - -// server/Middleware/jwt.middleware.js -var require_jwt_middleware = __commonJS({ - "server/Middleware/jwt.middleware.js"(exports2, module2) { - var import_koa_jwt = __toESM(require_lib7()); - init_server(); - module2.exports = (0, import_koa_jwt.default)({ - secret: Database.getConfigValue("tokenSecret") - }); - } -}); - -// server/Modules/web/role/role.controller.js -var checkPermission; -var init_role_controller = __esm({ - "server/Modules/web/role/role.controller.js"() { - init_role_service(); - init_UnlLogger(); - init_permissions(); - checkPermission = (permAction, permResource) => async function(ctx, next) { - try { - const hasRolePerm = await hasRolePermission( - ctx.session.auth.user.roleId, - permAction, - permResource - ); - if (hasRolePerm || ctx.session.auth.user.isMaster || ctx.session.auth.user && permAction === ACTION.APP.DASHBOARD && permResource === RESOURCE.APP) { - return next(); - } - } catch (e) { - ctx.status = 500; - } - UnlLogger.error(`${ctx.session.auth.user.name} permission denied.`); - ctx.throw(403, "Permission denied"); - }; - } -}); - -// server/Modules/web/user/user.route.js -var import_router3, import_nolookalikes2, userRouter, user_route_default; -var init_user_route = __esm({ - "server/Modules/web/user/user.route.js"() { - import_router3 = __toESM(require_router()); - init_role_controller(); - init_permissions(); - init_user_service(); - init_role_service(); - init_nanoid(); - import_nolookalikes2 = __toESM(require_nolookalikes()); - init_UnlLogger(); - init_WebLogger(); - userRouter = new import_router3.default({ prefix: "/users" }); - userRouter.get( - "/", - checkPermission(ACTION.WEB.USER.READ, RESOURCE.WEB), - async (ctx) => { - webLogger.info(`${ctx.session.auth.user.name} requested all users.`); - try { - const users = await getUsers(); - ctx.body = { users }; - ctx.status = 200; - } catch (e) { - ctx.body = e.message; - ctx.status = 500; - } - } - ); - userRouter.get( - "/:id", - checkPermission(ACTION.WEB.USER.READ, RESOURCE.WEB), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} requested user ${ctx.params.id}.` - ); - try { - const user = await getUser(ctx.params.id); - const roles = await getRoles(); - const rolesList = Object.values(roles).map(({ name, color }) => { - return { value: name, color }; - }); - ctx.body = { user, roles: rolesList }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - userRouter.patch( - "/save/:id", - checkPermission(ACTION.WEB.USER.MODIFY, RESOURCE.WEB), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} requested save user ${ctx.params.id}.` - ); - try { - const userId = ctx.params.id; - const data = ctx.request.body; - const { resCode, resMsg } = await updateUser( - userId, - data.roleId, - data.fxname - ); - ctx.body = { - resCode, - resMsg - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - userRouter.post( - "/create", - checkPermission(ACTION.WEB.USER.CREATE, RESOURCE.WEB), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} requested create user ${ctx.request.body.name}.` - ); - try { - const { name, roleId, password, fxname } = ctx.request.body; - const { resCode, resMsg } = await createUser( - name, - password, - false, - roleId, - fxname - ); - ctx.body = { - resCode, - resMsg - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - userRouter.delete( - "/delete/:id", - checkPermission(ACTION.WEB.USER.DELETE, RESOURCE.WEB), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} requested delete user ${ctx.params.id}.` - ); - try { - const userId = ctx.params.id; - const { resCode, resMsg } = await deleteUser(userId); - ctx.body = { - resCode, - resMsg - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - userRouter.post( - "/password/reset", - checkPermission(ACTION.WEB.USER.MODIFY, RESOURCE.WEB), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} requested password reset for ${ctx.request.body.userId}.` - ); - try { - const data = ctx.request.body; - const user = await getUser(data.userId); - if (user.isMaster) { - ctx.body = { - resCode: false, - resMsg: "is_master" - }; - ctx.status = 200; - return; - } - const password = customAlphabet(import_nolookalikes2.default, 20)(); - const { resCode, resMsg } = await changePassword( - data.userId, - password - ); - ctx.body = { - resCode, - resMsg, - newPw: password - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - userRouter.patch( - "/password/change", - checkPermission(ACTION.APP.DASHBOARD, RESOURCE.APP), - async (ctx) => { - webLogger.info(`${ctx.session.auth.user.name} requested password change.`); - try { - const data = ctx.request.body; - const { resCode, resMsg } = await changePassword( - ctx.session.auth.user.name, - data.password - ); - ctx.body = { - resCode, - resMsg - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - user_route_default = userRouter; - } -}); - -// server/Modules/web/role/role.route.js -var import_router4, roleRouter, role_route_default; -var init_role_route = __esm({ - "server/Modules/web/role/role.route.js"() { - import_router4 = __toESM(require_router()); - init_role_controller(); - init_role_service(); - init_permissions(); - init_UnlLogger(); - init_WebLogger(); - roleRouter = new import_router4.default({ prefix: "/roles" }); - roleRouter.get( - "/", - checkPermission(ACTION.WEB.ROLE.READ, RESOURCE.WEB), - async (ctx) => { - webLogger.info(`${ctx.session.auth.user.name} requested all roles.`); - try { - const roles = await getRoles(); - ctx.body = { roles }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - roleRouter.get( - "/list", - checkPermission(ACTION.WEB.USER.CREATE, RESOURCE.WEB), - async (ctx) => { - webLogger.info(`${ctx.session.auth.user.name} requested role list.`); - try { - const roles = await getRoles(); - const rolesList = Object.values(roles).map(({ name, color }) => { - return { value: name, color }; - }); - ctx.body = { - roles: rolesList - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - roleRouter.get( - "/:id", - checkPermission(ACTION.WEB.ROLE.READ, RESOURCE.WEB), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} requested role ${ctx.params.id}.` - ); - try { - const roleId = ctx.params.id; - const role = await getRole(roleId); - ctx.body = { role }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - roleRouter.patch( - "/save/:id", - checkPermission(ACTION.WEB.ROLE.MODIFY, RESOURCE.WEB), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} requested save role ${ctx.params.id}.` - ); - try { - const roleId = ctx.params.id; - const data = ctx.request.body; - const { resCode, resMsg } = await updateRole( - roleId, - data.desc, - data.permissions, - data.color - ); - ctx.body = { - resCode, - resMsg - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - roleRouter.post( - "/create", - checkPermission(ACTION.WEB.ROLE.CREATE, RESOURCE.WEB), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} requested create role ${ctx.request.body.name}.` - ); - try { - const { name, desc, permissions, color } = ctx.request.body; - const { resCode, resMsg } = await createRole( - name, - desc, - permissions, - color - ); - ctx.body = { - resCode, - resMsg - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - roleRouter.delete( - "/delete/:id", - checkPermission(ACTION.WEB.ROLE.DELETE, RESOURCE.WEB), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} requested delete role ${ctx.params.id}.` - ); - try { - const roleId = ctx.params.id; - const { resCode, resMsg } = await deleteRole(roleId); - ctx.body = { - resCode, - resMsg - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - role_route_default = roleRouter; - } -}); - -// node_modules/busboy/lib/utils.js -var require_utils4 = __commonJS({ - "node_modules/busboy/lib/utils.js"(exports2, module2) { - "use strict"; - function parseContentType(str) { - if (str.length === 0) - return; - const params = /* @__PURE__ */ Object.create(null); - let i = 0; - for (; i < str.length; ++i) { - const code = str.charCodeAt(i); - if (TOKEN[code] !== 1) { - if (code !== 47 || i === 0) - return; - break; - } - } - if (i === str.length) - return; - const type = str.slice(0, i).toLowerCase(); - const subtypeStart = ++i; - for (; i < str.length; ++i) { - const code = str.charCodeAt(i); - if (TOKEN[code] !== 1) { - if (i === subtypeStart) - return; - if (parseContentTypeParams(str, i, params) === void 0) - return; - break; - } - } - if (i === subtypeStart) - return; - const subtype = str.slice(subtypeStart, i).toLowerCase(); - return { type, subtype, params }; - } - function parseContentTypeParams(str, i, params) { - while (i < str.length) { - for (; i < str.length; ++i) { - const code = str.charCodeAt(i); - if (code !== 32 && code !== 9) - break; - } - if (i === str.length) - break; - if (str.charCodeAt(i++) !== 59) - return; - for (; i < str.length; ++i) { - const code = str.charCodeAt(i); - if (code !== 32 && code !== 9) - break; - } - if (i === str.length) - return; - let name; - const nameStart = i; - for (; i < str.length; ++i) { - const code = str.charCodeAt(i); - if (TOKEN[code] !== 1) { - if (code !== 61) - return; - break; - } - } - if (i === str.length) - return; - name = str.slice(nameStart, i); - ++i; - if (i === str.length) - return; - let value = ""; - let valueStart; - if (str.charCodeAt(i) === 34) { - valueStart = ++i; - let escaping = false; - for (; i < str.length; ++i) { - const code = str.charCodeAt(i); - if (code === 92) { - if (escaping) { - valueStart = i; - escaping = false; - } else { - value += str.slice(valueStart, i); - escaping = true; - } - continue; - } - if (code === 34) { - if (escaping) { - valueStart = i; - escaping = false; - continue; - } - value += str.slice(valueStart, i); - break; - } - if (escaping) { - valueStart = i - 1; - escaping = false; - } - if (QDTEXT[code] !== 1) - return; - } - if (i === str.length) - return; - ++i; - } else { - valueStart = i; - for (; i < str.length; ++i) { - const code = str.charCodeAt(i); - if (TOKEN[code] !== 1) { - if (i === valueStart) - return; - break; - } - } - value = str.slice(valueStart, i); - } - name = name.toLowerCase(); - if (params[name] === void 0) - params[name] = value; - } - return params; - } - function parseDisposition(str, defDecoder) { - if (str.length === 0) - return; - const params = /* @__PURE__ */ Object.create(null); - let i = 0; - for (; i < str.length; ++i) { - const code = str.charCodeAt(i); - if (TOKEN[code] !== 1) { - if (parseDispositionParams(str, i, params, defDecoder) === void 0) - return; - break; - } - } - const type = str.slice(0, i).toLowerCase(); - return { type, params }; - } - function parseDispositionParams(str, i, params, defDecoder) { - while (i < str.length) { - for (; i < str.length; ++i) { - const code = str.charCodeAt(i); - if (code !== 32 && code !== 9) - break; - } - if (i === str.length) - break; - if (str.charCodeAt(i++) !== 59) - return; - for (; i < str.length; ++i) { - const code = str.charCodeAt(i); - if (code !== 32 && code !== 9) - break; - } - if (i === str.length) - return; - let name; - const nameStart = i; - for (; i < str.length; ++i) { - const code = str.charCodeAt(i); - if (TOKEN[code] !== 1) { - if (code === 61) - break; - return; - } - } - if (i === str.length) - return; - let value = ""; - let valueStart; - let charset; - name = str.slice(nameStart, i); - if (name.charCodeAt(name.length - 1) === 42) { - const charsetStart = ++i; - for (; i < str.length; ++i) { - const code = str.charCodeAt(i); - if (CHARSET[code] !== 1) { - if (code !== 39) - return; - break; - } - } - if (i === str.length) - return; - charset = str.slice(charsetStart, i); - ++i; - for (; i < str.length; ++i) { - const code = str.charCodeAt(i); - if (code === 39) - break; - } - if (i === str.length) - return; - ++i; - if (i === str.length) - return; - valueStart = i; - let encode3 = 0; - for (; i < str.length; ++i) { - const code = str.charCodeAt(i); - if (EXTENDED_VALUE[code] !== 1) { - if (code === 37) { - let hexUpper; - let hexLower; - if (i + 2 < str.length && (hexUpper = HEX_VALUES[str.charCodeAt(i + 1)]) !== -1 && (hexLower = HEX_VALUES[str.charCodeAt(i + 2)]) !== -1) { - const byteVal = (hexUpper << 4) + hexLower; - value += str.slice(valueStart, i); - value += String.fromCharCode(byteVal); - i += 2; - valueStart = i + 1; - if (byteVal >= 128) - encode3 = 2; - else if (encode3 === 0) - encode3 = 1; - continue; - } - return; - } - break; - } - } - value += str.slice(valueStart, i); - value = convertToUTF8(value, charset, encode3); - if (value === void 0) - return; - } else { - ++i; - if (i === str.length) - return; - if (str.charCodeAt(i) === 34) { - valueStart = ++i; - let escaping = false; - for (; i < str.length; ++i) { - const code = str.charCodeAt(i); - if (code === 92) { - if (escaping) { - valueStart = i; - escaping = false; - } else { - value += str.slice(valueStart, i); - escaping = true; - } - continue; - } - if (code === 34) { - if (escaping) { - valueStart = i; - escaping = false; - continue; - } - value += str.slice(valueStart, i); - break; - } - if (escaping) { - valueStart = i - 1; - escaping = false; - } - if (QDTEXT[code] !== 1) - return; - } - if (i === str.length) - return; - ++i; - } else { - valueStart = i; - for (; i < str.length; ++i) { - const code = str.charCodeAt(i); - if (TOKEN[code] !== 1) { - if (i === valueStart) - return; - break; - } - } - value = str.slice(valueStart, i); - } - value = defDecoder(value, 2); - if (value === void 0) - return; - } - name = name.toLowerCase(); - if (params[name] === void 0) - params[name] = value; - } - return params; - } - function getDecoder(charset) { - let lc; - while (true) { - switch (charset) { - case "utf-8": - case "utf8": - return decoders.utf8; - case "latin1": - case "ascii": - case "us-ascii": - case "iso-8859-1": - case "iso8859-1": - case "iso88591": - case "iso_8859-1": - case "windows-1252": - case "iso_8859-1:1987": - case "cp1252": - case "x-cp1252": - return decoders.latin1; - case "utf16le": - case "utf-16le": - case "ucs2": - case "ucs-2": - return decoders.utf16le; - case "base64": - return decoders.base64; - default: - if (lc === void 0) { - lc = true; - charset = charset.toLowerCase(); - continue; - } - return decoders.other.bind(charset); - } - } - } - var decoders = { - utf8: (data, hint) => { - if (data.length === 0) - return ""; - if (typeof data === "string") { - if (hint < 2) - return data; - data = Buffer.from(data, "latin1"); - } - return data.utf8Slice(0, data.length); - }, - latin1: (data, hint) => { - if (data.length === 0) - return ""; - if (typeof data === "string") - return data; - return data.latin1Slice(0, data.length); - }, - utf16le: (data, hint) => { - if (data.length === 0) - return ""; - if (typeof data === "string") - data = Buffer.from(data, "latin1"); - return data.ucs2Slice(0, data.length); - }, - base64: (data, hint) => { - if (data.length === 0) - return ""; - if (typeof data === "string") - data = Buffer.from(data, "latin1"); - return data.base64Slice(0, data.length); - }, - other: (data, hint) => { - if (data.length === 0) - return ""; - if (typeof data === "string") - data = Buffer.from(data, "latin1"); - try { - const decoder = new TextDecoder(exports2); - return decoder.decode(data); - } catch { - } - } - }; - function convertToUTF8(data, charset, hint) { - const decode = getDecoder(charset); - if (decode) - return decode(data, hint); - } - function basename2(path4) { - if (typeof path4 !== "string") - return ""; - for (let i = path4.length - 1; i >= 0; --i) { - switch (path4.charCodeAt(i)) { - case 47: - case 92: - path4 = path4.slice(i + 1); - return path4 === ".." || path4 === "." ? "" : path4; - } - } - return path4 === ".." || path4 === "." ? "" : path4; - } - var TOKEN = [ - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 0, - 1, - 1, - 1, - 1, - 1, - 0, - 0, - 1, - 1, - 0, - 1, - 1, - 0, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 0, - 0, - 0, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 0, - 1, - 0, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0 - ]; - var QDTEXT = [ - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 0, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 0, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 0, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1 - ]; - var CHARSET = [ - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 0, - 1, - 1, - 1, - 1, - 0, - 0, - 0, - 0, - 1, - 0, - 1, - 0, - 0, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 0, - 0, - 0, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 0, - 1, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0 - ]; - var EXTENDED_VALUE = [ - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 0, - 1, - 1, - 0, - 1, - 0, - 0, - 0, - 0, - 1, - 0, - 1, - 1, - 0, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 0, - 0, - 0, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 0, - 1, - 0, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0 - ]; - var HEX_VALUES = [ - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - 10, - 11, - 12, - 13, - 14, - 15, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - 10, - 11, - 12, - 13, - 14, - 15, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1 - ]; - module2.exports = { - basename: basename2, - convertToUTF8, - getDecoder, - parseContentType, - parseDisposition - }; - } -}); - -// node_modules/streamsearch/lib/sbmh.js -var require_sbmh = __commonJS({ - "node_modules/streamsearch/lib/sbmh.js"(exports2, module2) { - "use strict"; - function memcmp(buf1, pos1, buf2, pos2, num) { - for (let i = 0; i < num; ++i) { - if (buf1[pos1 + i] !== buf2[pos2 + i]) - return false; - } - return true; - } - var SBMH = class { - constructor(needle, cb) { - if (typeof cb !== "function") - throw new Error("Missing match callback"); - if (typeof needle === "string") - needle = Buffer.from(needle); - else if (!Buffer.isBuffer(needle)) - throw new Error(`Expected Buffer for needle, got ${typeof needle}`); - const needleLen = needle.length; - this.maxMatches = Infinity; - this.matches = 0; - this._cb = cb; - this._lookbehindSize = 0; - this._needle = needle; - this._bufPos = 0; - this._lookbehind = Buffer.allocUnsafe(needleLen); - this._occ = [ - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen, - needleLen - ]; - if (needleLen > 1) { - for (let i = 0; i < needleLen - 1; ++i) - this._occ[needle[i]] = needleLen - 1 - i; - } - } - reset() { - this.matches = 0; - this._lookbehindSize = 0; - this._bufPos = 0; - } - push(chunk, pos) { - let result; - if (!Buffer.isBuffer(chunk)) - chunk = Buffer.from(chunk, "latin1"); - const chunkLen = chunk.length; - this._bufPos = pos || 0; - while (result !== chunkLen && this.matches < this.maxMatches) - result = feed(this, chunk); - return result; - } - destroy() { - const lbSize = this._lookbehindSize; - if (lbSize) - this._cb(false, this._lookbehind, 0, lbSize, false); - this.reset(); - } - }; - function feed(self2, data) { - const len = data.length; - const needle = self2._needle; - const needleLen = needle.length; - let pos = -self2._lookbehindSize; - const lastNeedleCharPos = needleLen - 1; - const lastNeedleChar = needle[lastNeedleCharPos]; - const end = len - needleLen; - const occ = self2._occ; - const lookbehind = self2._lookbehind; - if (pos < 0) { - while (pos < 0 && pos <= end) { - const nextPos = pos + lastNeedleCharPos; - const ch = nextPos < 0 ? lookbehind[self2._lookbehindSize + nextPos] : data[nextPos]; - if (ch === lastNeedleChar && matchNeedle(self2, data, pos, lastNeedleCharPos)) { - self2._lookbehindSize = 0; - ++self2.matches; - if (pos > -self2._lookbehindSize) - self2._cb(true, lookbehind, 0, self2._lookbehindSize + pos, false); - else - self2._cb(true, void 0, 0, 0, true); - return self2._bufPos = pos + needleLen; - } - pos += occ[ch]; - } - while (pos < 0 && !matchNeedle(self2, data, pos, len - pos)) - ++pos; - if (pos < 0) { - const bytesToCutOff = self2._lookbehindSize + pos; - if (bytesToCutOff > 0) { - self2._cb(false, lookbehind, 0, bytesToCutOff, false); - } - self2._lookbehindSize -= bytesToCutOff; - lookbehind.copy(lookbehind, 0, bytesToCutOff, self2._lookbehindSize); - lookbehind.set(data, self2._lookbehindSize); - self2._lookbehindSize += len; - self2._bufPos = len; - return len; - } - self2._cb(false, lookbehind, 0, self2._lookbehindSize, false); - self2._lookbehindSize = 0; - } - pos += self2._bufPos; - const firstNeedleChar = needle[0]; - while (pos <= end) { - const ch = data[pos + lastNeedleCharPos]; - if (ch === lastNeedleChar && data[pos] === firstNeedleChar && memcmp(needle, 0, data, pos, lastNeedleCharPos)) { - ++self2.matches; - if (pos > 0) - self2._cb(true, data, self2._bufPos, pos, true); - else - self2._cb(true, void 0, 0, 0, true); - return self2._bufPos = pos + needleLen; - } - pos += occ[ch]; - } - while (pos < len) { - if (data[pos] !== firstNeedleChar || !memcmp(data, pos, needle, 0, len - pos)) { - ++pos; - continue; - } - data.copy(lookbehind, 0, pos, len); - self2._lookbehindSize = len - pos; - break; - } - if (pos > 0) - self2._cb(false, data, self2._bufPos, pos < len ? pos : len, true); - self2._bufPos = len; - return len; - } - function matchNeedle(self2, data, pos, len) { - const lb = self2._lookbehind; - const lbSize = self2._lookbehindSize; - const needle = self2._needle; - for (let i = 0; i < len; ++i, ++pos) { - const ch = pos < 0 ? lb[lbSize + pos] : data[pos]; - if (ch !== needle[i]) - return false; - } - return true; - } - module2.exports = SBMH; - } -}); - -// node_modules/busboy/lib/types/multipart.js -var require_multipart2 = __commonJS({ - "node_modules/busboy/lib/types/multipart.js"(exports2, module2) { - "use strict"; - var { Readable: Readable2, Writable } = require("stream"); - var StreamSearch = require_sbmh(); - var { - basename: basename2, - convertToUTF8, - getDecoder, - parseContentType, - parseDisposition - } = require_utils4(); - var BUF_CRLF = Buffer.from("\r\n"); - var BUF_CR = Buffer.from("\r"); - var BUF_DASH = Buffer.from("-"); - function noop2() { - } - var MAX_HEADER_PAIRS = 2e3; - var MAX_HEADER_SIZE = 16 * 1024; - var HPARSER_NAME = 0; - var HPARSER_PRE_OWS = 1; - var HPARSER_VALUE = 2; - var HeaderParser = class { - constructor(cb) { - this.header = /* @__PURE__ */ Object.create(null); - this.pairCount = 0; - this.byteCount = 0; - this.state = HPARSER_NAME; - this.name = ""; - this.value = ""; - this.crlf = 0; - this.cb = cb; - } - reset() { - this.header = /* @__PURE__ */ Object.create(null); - this.pairCount = 0; - this.byteCount = 0; - this.state = HPARSER_NAME; - this.name = ""; - this.value = ""; - this.crlf = 0; - } - push(chunk, pos, end) { - let start = pos; - while (pos < end) { - switch (this.state) { - case HPARSER_NAME: { - let done = false; - for (; pos < end; ++pos) { - if (this.byteCount === MAX_HEADER_SIZE) - return -1; - ++this.byteCount; - const code = chunk[pos]; - if (TOKEN[code] !== 1) { - if (code !== 58) - return -1; - this.name += chunk.latin1Slice(start, pos); - if (this.name.length === 0) - return -1; - ++pos; - done = true; - this.state = HPARSER_PRE_OWS; - break; - } - } - if (!done) { - this.name += chunk.latin1Slice(start, pos); - break; - } - } - case HPARSER_PRE_OWS: { - let done = false; - for (; pos < end; ++pos) { - if (this.byteCount === MAX_HEADER_SIZE) - return -1; - ++this.byteCount; - const code = chunk[pos]; - if (code !== 32 && code !== 9) { - start = pos; - done = true; - this.state = HPARSER_VALUE; - break; - } - } - if (!done) - break; - } - case HPARSER_VALUE: - switch (this.crlf) { - case 0: - for (; pos < end; ++pos) { - if (this.byteCount === MAX_HEADER_SIZE) - return -1; - ++this.byteCount; - const code = chunk[pos]; - if (FIELD_VCHAR[code] !== 1) { - if (code !== 13) - return -1; - ++this.crlf; - break; - } - } - this.value += chunk.latin1Slice(start, pos++); - break; - case 1: - if (this.byteCount === MAX_HEADER_SIZE) - return -1; - ++this.byteCount; - if (chunk[pos++] !== 10) - return -1; - ++this.crlf; - break; - case 2: { - if (this.byteCount === MAX_HEADER_SIZE) - return -1; - ++this.byteCount; - const code = chunk[pos]; - if (code === 32 || code === 9) { - start = pos; - this.crlf = 0; - } else { - if (++this.pairCount < MAX_HEADER_PAIRS) { - this.name = this.name.toLowerCase(); - if (this.header[this.name] === void 0) - this.header[this.name] = [this.value]; - else - this.header[this.name].push(this.value); - } - if (code === 13) { - ++this.crlf; - ++pos; - } else { - start = pos; - this.crlf = 0; - this.state = HPARSER_NAME; - this.name = ""; - this.value = ""; - } - } - break; - } - case 3: { - if (this.byteCount === MAX_HEADER_SIZE) - return -1; - ++this.byteCount; - if (chunk[pos++] !== 10) - return -1; - const header = this.header; - this.reset(); - this.cb(header); - return pos; - } - } - break; - } - } - return pos; - } - }; - var FileStream = class extends Readable2 { - constructor(opts, owner) { - super(opts); - this.truncated = false; - this._readcb = null; - this.once("end", () => { - this._read(); - if (--owner._fileEndsLeft === 0 && owner._finalcb) { - const cb = owner._finalcb; - owner._finalcb = null; - process.nextTick(cb); - } - }); - } - _read(n) { - const cb = this._readcb; - if (cb) { - this._readcb = null; - cb(); - } - } - }; - var ignoreData = { - push: (chunk, pos) => { - }, - destroy: () => { - } - }; - function callAndUnsetCb(self2, err) { - const cb = self2._writecb; - self2._writecb = null; - if (err) - self2.destroy(err); - else if (cb) - cb(); - } - function nullDecoder(val, hint) { - return val; - } - var Multipart = class extends Writable { - constructor(cfg) { - const streamOpts = { - autoDestroy: true, - emitClose: true, - highWaterMark: typeof cfg.highWaterMark === "number" ? cfg.highWaterMark : void 0 - }; - super(streamOpts); - if (!cfg.conType.params || typeof cfg.conType.params.boundary !== "string") - throw new Error("Multipart: Boundary not found"); - const boundary = cfg.conType.params.boundary; - const paramDecoder = typeof cfg.defParamCharset === "string" && cfg.defParamCharset ? getDecoder(cfg.defParamCharset) : nullDecoder; - const defCharset = cfg.defCharset || "utf8"; - const preservePath = cfg.preservePath; - const fileOpts = { - autoDestroy: true, - emitClose: true, - highWaterMark: typeof cfg.fileHwm === "number" ? cfg.fileHwm : void 0 - }; - const limits = cfg.limits; - const fieldSizeLimit = limits && typeof limits.fieldSize === "number" ? limits.fieldSize : 1 * 1024 * 1024; - const fileSizeLimit = limits && typeof limits.fileSize === "number" ? limits.fileSize : Infinity; - const filesLimit = limits && typeof limits.files === "number" ? limits.files : Infinity; - const fieldsLimit = limits && typeof limits.fields === "number" ? limits.fields : Infinity; - const partsLimit = limits && typeof limits.parts === "number" ? limits.parts : Infinity; - let parts = -1; - let fields = 0; - let files = 0; - let skipPart = false; - this._fileEndsLeft = 0; - this._fileStream = void 0; - this._complete = false; - let fileSize = 0; - let field; - let fieldSize = 0; - let partCharset; - let partEncoding; - let partType; - let partName; - let partTruncated = false; - let hitFilesLimit = false; - let hitFieldsLimit = false; - this._hparser = null; - const hparser = new HeaderParser((header) => { - this._hparser = null; - skipPart = false; - partType = "text/plain"; - partCharset = defCharset; - partEncoding = "7bit"; - partName = void 0; - partTruncated = false; - let filename; - if (!header["content-disposition"]) { - skipPart = true; - return; - } - const disp = parseDisposition( - header["content-disposition"][0], - paramDecoder - ); - if (!disp || disp.type !== "form-data") { - skipPart = true; - return; - } - if (disp.params) { - if (disp.params.name) - partName = disp.params.name; - if (disp.params["filename*"]) - filename = disp.params["filename*"]; - else if (disp.params.filename) - filename = disp.params.filename; - if (filename !== void 0 && !preservePath) - filename = basename2(filename); - } - if (header["content-type"]) { - const conType = parseContentType(header["content-type"][0]); - if (conType) { - partType = `${conType.type}/${conType.subtype}`; - if (conType.params && typeof conType.params.charset === "string") - partCharset = conType.params.charset.toLowerCase(); - } - } - if (header["content-transfer-encoding"]) - partEncoding = header["content-transfer-encoding"][0].toLowerCase(); - if (partType === "application/octet-stream" || filename !== void 0) { - if (files === filesLimit) { - if (!hitFilesLimit) { - hitFilesLimit = true; - this.emit("filesLimit"); - } - skipPart = true; - return; - } - ++files; - if (this.listenerCount("file") === 0) { - skipPart = true; - return; - } - fileSize = 0; - this._fileStream = new FileStream(fileOpts, this); - ++this._fileEndsLeft; - this.emit( - "file", - partName, - this._fileStream, - { - filename, - encoding: partEncoding, - mimeType: partType - } - ); - } else { - if (fields === fieldsLimit) { - if (!hitFieldsLimit) { - hitFieldsLimit = true; - this.emit("fieldsLimit"); - } - skipPart = true; - return; - } - ++fields; - if (this.listenerCount("field") === 0) { - skipPart = true; - return; - } - field = []; - fieldSize = 0; - } - }); - let matchPostBoundary = 0; - const ssCb = (isMatch, data, start, end, isDataSafe) => { - retrydata: - while (data) { - if (this._hparser !== null) { - const ret = this._hparser.push(data, start, end); - if (ret === -1) { - this._hparser = null; - hparser.reset(); - this.emit("error", new Error("Malformed part header")); - break; - } - start = ret; - } - if (start === end) - break; - if (matchPostBoundary !== 0) { - if (matchPostBoundary === 1) { - switch (data[start]) { - case 45: - matchPostBoundary = 2; - ++start; - break; - case 13: - matchPostBoundary = 3; - ++start; - break; - default: - matchPostBoundary = 0; - } - if (start === end) - return; - } - if (matchPostBoundary === 2) { - matchPostBoundary = 0; - if (data[start] === 45) { - this._complete = true; - this._bparser = ignoreData; - return; - } - const writecb = this._writecb; - this._writecb = noop2; - ssCb(false, BUF_DASH, 0, 1, false); - this._writecb = writecb; - } else if (matchPostBoundary === 3) { - matchPostBoundary = 0; - if (data[start] === 10) { - ++start; - if (parts >= partsLimit) - break; - this._hparser = hparser; - if (start === end) - break; - continue retrydata; - } else { - const writecb = this._writecb; - this._writecb = noop2; - ssCb(false, BUF_CR, 0, 1, false); - this._writecb = writecb; - } - } - } - if (!skipPart) { - if (this._fileStream) { - let chunk; - const actualLen = Math.min(end - start, fileSizeLimit - fileSize); - if (!isDataSafe) { - chunk = Buffer.allocUnsafe(actualLen); - data.copy(chunk, 0, start, start + actualLen); - } else { - chunk = data.slice(start, start + actualLen); - } - fileSize += chunk.length; - if (fileSize === fileSizeLimit) { - if (chunk.length > 0) - this._fileStream.push(chunk); - this._fileStream.emit("limit"); - this._fileStream.truncated = true; - skipPart = true; - } else if (!this._fileStream.push(chunk)) { - if (this._writecb) - this._fileStream._readcb = this._writecb; - this._writecb = null; - } - } else if (field !== void 0) { - let chunk; - const actualLen = Math.min( - end - start, - fieldSizeLimit - fieldSize - ); - if (!isDataSafe) { - chunk = Buffer.allocUnsafe(actualLen); - data.copy(chunk, 0, start, start + actualLen); - } else { - chunk = data.slice(start, start + actualLen); - } - fieldSize += actualLen; - field.push(chunk); - if (fieldSize === fieldSizeLimit) { - skipPart = true; - partTruncated = true; - } - } - } - break; - } - if (isMatch) { - matchPostBoundary = 1; - if (this._fileStream) { - this._fileStream.push(null); - this._fileStream = null; - } else if (field !== void 0) { - let data2; - switch (field.length) { - case 0: - data2 = ""; - break; - case 1: - data2 = convertToUTF8(field[0], partCharset, 0); - break; - default: - data2 = convertToUTF8( - Buffer.concat(field, fieldSize), - partCharset, - 0 - ); - } - field = void 0; - fieldSize = 0; - this.emit( - "field", - partName, - data2, - { - nameTruncated: false, - valueTruncated: partTruncated, - encoding: partEncoding, - mimeType: partType - } - ); - } - if (++parts === partsLimit) - this.emit("partsLimit"); - } - }; - this._bparser = new StreamSearch(`\r ---${boundary}`, ssCb); - this._writecb = null; - this._finalcb = null; - this.write(BUF_CRLF); - } - static detect(conType) { - return conType.type === "multipart" && conType.subtype === "form-data"; - } - _write(chunk, enc, cb) { - this._writecb = cb; - this._bparser.push(chunk, 0); - if (this._writecb) - callAndUnsetCb(this); - } - _destroy(err, cb) { - this._hparser = null; - this._bparser = ignoreData; - if (!err) - err = checkEndState(this); - const fileStream = this._fileStream; - if (fileStream) { - this._fileStream = null; - fileStream.destroy(err); - } - cb(err); - } - _final(cb) { - this._bparser.destroy(); - if (!this._complete) - return cb(new Error("Unexpected end of form")); - if (this._fileEndsLeft) - this._finalcb = finalcb.bind(null, this, cb); - else - finalcb(this, cb); - } - }; - function finalcb(self2, cb, err) { - if (err) - return cb(err); - err = checkEndState(self2); - cb(err); - } - function checkEndState(self2) { - if (self2._hparser) - return new Error("Malformed part header"); - const fileStream = self2._fileStream; - if (fileStream) { - self2._fileStream = null; - fileStream.destroy(new Error("Unexpected end of file")); - } - if (!self2._complete) - return new Error("Unexpected end of form"); - } - var TOKEN = [ - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 0, - 1, - 1, - 1, - 1, - 1, - 0, - 0, - 1, - 1, - 0, - 1, - 1, - 0, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 0, - 0, - 0, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 0, - 1, - 0, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0 - ]; - var FIELD_VCHAR = [ - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 0, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1 - ]; - module2.exports = Multipart; - } -}); - -// node_modules/busboy/lib/types/urlencoded.js -var require_urlencoded2 = __commonJS({ - "node_modules/busboy/lib/types/urlencoded.js"(exports2, module2) { - "use strict"; - var { Writable } = require("stream"); - var { getDecoder } = require_utils4(); - var URLEncoded = class extends Writable { - constructor(cfg) { - const streamOpts = { - autoDestroy: true, - emitClose: true, - highWaterMark: typeof cfg.highWaterMark === "number" ? cfg.highWaterMark : void 0 - }; - super(streamOpts); - let charset = cfg.defCharset || "utf8"; - if (cfg.conType.params && typeof cfg.conType.params.charset === "string") - charset = cfg.conType.params.charset; - this.charset = charset; - const limits = cfg.limits; - this.fieldSizeLimit = limits && typeof limits.fieldSize === "number" ? limits.fieldSize : 1 * 1024 * 1024; - this.fieldsLimit = limits && typeof limits.fields === "number" ? limits.fields : Infinity; - this.fieldNameSizeLimit = limits && typeof limits.fieldNameSize === "number" ? limits.fieldNameSize : 100; - this._inKey = true; - this._keyTrunc = false; - this._valTrunc = false; - this._bytesKey = 0; - this._bytesVal = 0; - this._fields = 0; - this._key = ""; - this._val = ""; - this._byte = -2; - this._lastPos = 0; - this._encode = 0; - this._decoder = getDecoder(charset); - } - static detect(conType) { - return conType.type === "application" && conType.subtype === "x-www-form-urlencoded"; - } - _write(chunk, enc, cb) { - if (this._fields >= this.fieldsLimit) - return cb(); - let i = 0; - const len = chunk.length; - this._lastPos = 0; - if (this._byte !== -2) { - i = readPctEnc(this, chunk, i, len); - if (i === -1) - return cb(new Error("Malformed urlencoded form")); - if (i >= len) - return cb(); - if (this._inKey) - ++this._bytesKey; - else - ++this._bytesVal; - } - main: - while (i < len) { - if (this._inKey) { - i = skipKeyBytes(this, chunk, i, len); - while (i < len) { - switch (chunk[i]) { - case 61: - if (this._lastPos < i) - this._key += chunk.latin1Slice(this._lastPos, i); - this._lastPos = ++i; - this._key = this._decoder(this._key, this._encode); - this._encode = 0; - this._inKey = false; - continue main; - case 38: - if (this._lastPos < i) - this._key += chunk.latin1Slice(this._lastPos, i); - this._lastPos = ++i; - this._key = this._decoder(this._key, this._encode); - this._encode = 0; - if (this._bytesKey > 0) { - this.emit( - "field", - this._key, - "", - { - nameTruncated: this._keyTrunc, - valueTruncated: false, - encoding: this.charset, - mimeType: "text/plain" - } - ); - } - this._key = ""; - this._val = ""; - this._keyTrunc = false; - this._valTrunc = false; - this._bytesKey = 0; - this._bytesVal = 0; - if (++this._fields >= this.fieldsLimit) { - this.emit("fieldsLimit"); - return cb(); - } - continue; - case 43: - if (this._lastPos < i) - this._key += chunk.latin1Slice(this._lastPos, i); - this._key += " "; - this._lastPos = i + 1; - break; - case 37: - if (this._encode === 0) - this._encode = 1; - if (this._lastPos < i) - this._key += chunk.latin1Slice(this._lastPos, i); - this._lastPos = i + 1; - this._byte = -1; - i = readPctEnc(this, chunk, i + 1, len); - if (i === -1) - return cb(new Error("Malformed urlencoded form")); - if (i >= len) - return cb(); - ++this._bytesKey; - i = skipKeyBytes(this, chunk, i, len); - continue; - } - ++i; - ++this._bytesKey; - i = skipKeyBytes(this, chunk, i, len); - } - if (this._lastPos < i) - this._key += chunk.latin1Slice(this._lastPos, i); - } else { - i = skipValBytes(this, chunk, i, len); - while (i < len) { - switch (chunk[i]) { - case 38: - if (this._lastPos < i) - this._val += chunk.latin1Slice(this._lastPos, i); - this._lastPos = ++i; - this._inKey = true; - this._val = this._decoder(this._val, this._encode); - this._encode = 0; - if (this._bytesKey > 0 || this._bytesVal > 0) { - this.emit( - "field", - this._key, - this._val, - { - nameTruncated: this._keyTrunc, - valueTruncated: this._valTrunc, - encoding: this.charset, - mimeType: "text/plain" - } - ); - } - this._key = ""; - this._val = ""; - this._keyTrunc = false; - this._valTrunc = false; - this._bytesKey = 0; - this._bytesVal = 0; - if (++this._fields >= this.fieldsLimit) { - this.emit("fieldsLimit"); - return cb(); - } - continue main; - case 43: - if (this._lastPos < i) - this._val += chunk.latin1Slice(this._lastPos, i); - this._val += " "; - this._lastPos = i + 1; - break; - case 37: - if (this._encode === 0) - this._encode = 1; - if (this._lastPos < i) - this._val += chunk.latin1Slice(this._lastPos, i); - this._lastPos = i + 1; - this._byte = -1; - i = readPctEnc(this, chunk, i + 1, len); - if (i === -1) - return cb(new Error("Malformed urlencoded form")); - if (i >= len) - return cb(); - ++this._bytesVal; - i = skipValBytes(this, chunk, i, len); - continue; - } - ++i; - ++this._bytesVal; - i = skipValBytes(this, chunk, i, len); - } - if (this._lastPos < i) - this._val += chunk.latin1Slice(this._lastPos, i); - } - } - cb(); - } - _final(cb) { - if (this._byte !== -2) - return cb(new Error("Malformed urlencoded form")); - if (!this._inKey || this._bytesKey > 0 || this._bytesVal > 0) { - if (this._inKey) - this._key = this._decoder(this._key, this._encode); - else - this._val = this._decoder(this._val, this._encode); - this.emit( - "field", - this._key, - this._val, - { - nameTruncated: this._keyTrunc, - valueTruncated: this._valTrunc, - encoding: this.charset, - mimeType: "text/plain" - } - ); - } - cb(); - } - }; - function readPctEnc(self2, chunk, pos, len) { - if (pos >= len) - return len; - if (self2._byte === -1) { - const hexUpper = HEX_VALUES[chunk[pos++]]; - if (hexUpper === -1) - return -1; - if (hexUpper >= 8) - self2._encode = 2; - if (pos < len) { - const hexLower = HEX_VALUES[chunk[pos++]]; - if (hexLower === -1) - return -1; - if (self2._inKey) - self2._key += String.fromCharCode((hexUpper << 4) + hexLower); - else - self2._val += String.fromCharCode((hexUpper << 4) + hexLower); - self2._byte = -2; - self2._lastPos = pos; - } else { - self2._byte = hexUpper; - } - } else { - const hexLower = HEX_VALUES[chunk[pos++]]; - if (hexLower === -1) - return -1; - if (self2._inKey) - self2._key += String.fromCharCode((self2._byte << 4) + hexLower); - else - self2._val += String.fromCharCode((self2._byte << 4) + hexLower); - self2._byte = -2; - self2._lastPos = pos; - } - return pos; - } - function skipKeyBytes(self2, chunk, pos, len) { - if (self2._bytesKey > self2.fieldNameSizeLimit) { - if (!self2._keyTrunc) { - if (self2._lastPos < pos) - self2._key += chunk.latin1Slice(self2._lastPos, pos - 1); - } - self2._keyTrunc = true; - for (; pos < len; ++pos) { - const code = chunk[pos]; - if (code === 61 || code === 38) - break; - ++self2._bytesKey; - } - self2._lastPos = pos; - } - return pos; - } - function skipValBytes(self2, chunk, pos, len) { - if (self2._bytesVal > self2.fieldSizeLimit) { - if (!self2._valTrunc) { - if (self2._lastPos < pos) - self2._val += chunk.latin1Slice(self2._lastPos, pos - 1); - } - self2._valTrunc = true; - for (; pos < len; ++pos) { - if (chunk[pos] === 38) - break; - ++self2._bytesVal; - } - self2._lastPos = pos; - } - return pos; - } - var HEX_VALUES = [ - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - 10, - 11, - 12, - 13, - 14, - 15, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - 10, - 11, - 12, - 13, - 14, - 15, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - -1 - ]; - module2.exports = URLEncoded; - } -}); - -// node_modules/busboy/lib/index.js -var require_lib8 = __commonJS({ - "node_modules/busboy/lib/index.js"(exports2, module2) { - "use strict"; - var { parseContentType } = require_utils4(); - function getInstance(cfg) { - const headers = cfg.headers; - const conType = parseContentType(headers["content-type"]); - if (!conType) - throw new Error("Malformed content type"); - for (const type of TYPES) { - const matched = type.detect(conType); - if (!matched) - continue; - const instanceCfg = { - limits: cfg.limits, - headers, - conType, - highWaterMark: void 0, - fileHwm: void 0, - defCharset: void 0, - defParamCharset: void 0, - preservePath: false - }; - if (cfg.highWaterMark) - instanceCfg.highWaterMark = cfg.highWaterMark; - if (cfg.fileHwm) - instanceCfg.fileHwm = cfg.fileHwm; - instanceCfg.defCharset = cfg.defCharset; - instanceCfg.defParamCharset = cfg.defParamCharset; - instanceCfg.preservePath = cfg.preservePath; - return new type(instanceCfg); - } - throw new Error(`Unsupported content type: ${headers["content-type"]}`); - } - var TYPES = [ - require_multipart2(), - require_urlencoded2() - ].filter(function(typemod) { - return typeof typemod.detect === "function"; - }); - module2.exports = (cfg) => { - if (typeof cfg !== "object" || cfg === null) - cfg = {}; - if (typeof cfg.headers !== "object" || cfg.headers === null || typeof cfg.headers["content-type"] !== "string") { - throw new Error("Missing Content-Type"); - } - return getInstance(cfg); - }; - } -}); - -// node_modules/xtend/immutable.js -var require_immutable = __commonJS({ - "node_modules/xtend/immutable.js"(exports2, module2) { - module2.exports = extend2; - var hasOwnProperty2 = Object.prototype.hasOwnProperty; - function extend2() { - var target = {}; - for (var i = 0; i < arguments.length; i++) { - var source2 = arguments[i]; - for (var key in source2) { - if (hasOwnProperty2.call(source2, key)) { - target[key] = source2[key]; - } - } - } - return target; - } - } -}); - -// node_modules/append-field/lib/parse-path.js -var require_parse_path = __commonJS({ - "node_modules/append-field/lib/parse-path.js"(exports2, module2) { - var reFirstKey = /^[^\[]*/; - var reDigitPath = /^\[(\d+)\]/; - var reNormalPath = /^\[([^\]]+)\]/; - function parsePath(key) { - function failure() { - return [{ type: "object", key, last: true }]; - } - var firstKey = reFirstKey.exec(key)[0]; - if (!firstKey) - return failure(); - var len = key.length; - var pos = firstKey.length; - var tail = { type: "object", key: firstKey }; - var steps = [tail]; - while (pos < len) { - var m; - if (key[pos] === "[" && key[pos + 1] === "]") { - pos += 2; - tail.append = true; - if (pos !== len) - return failure(); - continue; - } - m = reDigitPath.exec(key.substring(pos)); - if (m !== null) { - pos += m[0].length; - tail.nextType = "array"; - tail = { type: "array", key: parseInt(m[1], 10) }; - steps.push(tail); - continue; - } - m = reNormalPath.exec(key.substring(pos)); - if (m !== null) { - pos += m[0].length; - tail.nextType = "object"; - tail = { type: "object", key: m[1] }; - steps.push(tail); - continue; - } - return failure(); - } - tail.last = true; - return steps; - } - module2.exports = parsePath; - } -}); - -// node_modules/append-field/lib/set-value.js -var require_set_value = __commonJS({ - "node_modules/append-field/lib/set-value.js"(exports2, module2) { - function valueType(value) { - if (value === void 0) - return "undefined"; - if (Array.isArray(value)) - return "array"; - if (typeof value === "object") - return "object"; - return "scalar"; - } - function setLastValue(context, step, currentValue, entryValue) { - switch (valueType(currentValue)) { - case "undefined": - if (step.append) { - context[step.key] = [entryValue]; - } else { - context[step.key] = entryValue; - } - break; - case "array": - context[step.key].push(entryValue); - break; - case "object": - return setLastValue(currentValue, { type: "object", key: "", last: true }, currentValue[""], entryValue); - case "scalar": - context[step.key] = [context[step.key], entryValue]; - break; - } - return context; - } - function setValue(context, step, currentValue, entryValue) { - if (step.last) - return setLastValue(context, step, currentValue, entryValue); - var obj; - switch (valueType(currentValue)) { - case "undefined": - if (step.nextType === "array") { - context[step.key] = []; - } else { - context[step.key] = /* @__PURE__ */ Object.create(null); - } - return context[step.key]; - case "object": - return context[step.key]; - case "array": - if (step.nextType === "array") { - return currentValue; - } - obj = /* @__PURE__ */ Object.create(null); - context[step.key] = obj; - currentValue.forEach(function(item, i) { - if (item !== void 0) - obj["" + i] = item; - }); - return obj; - case "scalar": - obj = /* @__PURE__ */ Object.create(null); - obj[""] = currentValue; - context[step.key] = obj; - return obj; - } - } - module2.exports = setValue; - } -}); - -// node_modules/append-field/index.js -var require_append_field = __commonJS({ - "node_modules/append-field/index.js"(exports2, module2) { - var parsePath = require_parse_path(); - var setValue = require_set_value(); - function appendField(store, key, value) { - var steps = parsePath(key); - steps.reduce(function(context, step) { - return setValue(context, step, context[step.key], value); - }, store); - } - module2.exports = appendField; - } -}); - -// node_modules/multer/lib/counter.js -var require_counter = __commonJS({ - "node_modules/multer/lib/counter.js"(exports2, module2) { - var EventEmitter2 = require("events").EventEmitter; - function Counter() { - EventEmitter2.call(this); - this.value = 0; - } - Counter.prototype = Object.create(EventEmitter2.prototype); - Counter.prototype.increment = function increment() { - this.value++; - }; - Counter.prototype.decrement = function decrement() { - if (--this.value === 0) - this.emit("zero"); - }; - Counter.prototype.isZero = function isZero() { - return this.value === 0; - }; - Counter.prototype.onceZero = function onceZero(fn2) { - if (this.isZero()) - return fn2(); - this.once("zero", fn2); - }; - module2.exports = Counter; - } -}); - -// node_modules/multer/lib/multer-error.js -var require_multer_error = __commonJS({ - "node_modules/multer/lib/multer-error.js"(exports2, module2) { - var util2 = require("util"); - var errorMessages = { - LIMIT_PART_COUNT: "Too many parts", - LIMIT_FILE_SIZE: "File too large", - LIMIT_FILE_COUNT: "Too many files", - LIMIT_FIELD_KEY: "Field name too long", - LIMIT_FIELD_VALUE: "Field value too long", - LIMIT_FIELD_COUNT: "Too many fields", - LIMIT_UNEXPECTED_FILE: "Unexpected field", - MISSING_FIELD_NAME: "Field name missing" - }; - function MulterError(code, field) { - Error.captureStackTrace(this, this.constructor); - this.name = this.constructor.name; - this.message = errorMessages[code]; - this.code = code; - if (field) - this.field = field; - } - util2.inherits(MulterError, Error); - module2.exports = MulterError; - } -}); - -// node_modules/multer/lib/file-appender.js -var require_file_appender = __commonJS({ - "node_modules/multer/lib/file-appender.js"(exports2, module2) { - var objectAssign = require_object_assign(); - function arrayRemove(arr, item) { - var idx = arr.indexOf(item); - if (~idx) - arr.splice(idx, 1); - } - function FileAppender(strategy, req) { - this.strategy = strategy; - this.req = req; - switch (strategy) { - case "NONE": - break; - case "VALUE": - break; - case "ARRAY": - req.files = []; - break; - case "OBJECT": - req.files = /* @__PURE__ */ Object.create(null); - break; - default: - throw new Error("Unknown file strategy: " + strategy); - } - } - FileAppender.prototype.insertPlaceholder = function(file) { - var placeholder = { - fieldname: file.fieldname - }; - switch (this.strategy) { - case "NONE": - break; - case "VALUE": - break; - case "ARRAY": - this.req.files.push(placeholder); - break; - case "OBJECT": - if (this.req.files[file.fieldname]) { - this.req.files[file.fieldname].push(placeholder); - } else { - this.req.files[file.fieldname] = [placeholder]; - } - break; - } - return placeholder; - }; - FileAppender.prototype.removePlaceholder = function(placeholder) { - switch (this.strategy) { - case "NONE": - break; - case "VALUE": - break; - case "ARRAY": - arrayRemove(this.req.files, placeholder); - break; - case "OBJECT": - if (this.req.files[placeholder.fieldname].length === 1) { - delete this.req.files[placeholder.fieldname]; - } else { - arrayRemove(this.req.files[placeholder.fieldname], placeholder); - } - break; - } - }; - FileAppender.prototype.replacePlaceholder = function(placeholder, file) { - if (this.strategy === "VALUE") { - this.req.file = file; - return; - } - delete placeholder.fieldname; - objectAssign(placeholder, file); - }; - module2.exports = FileAppender; - } -}); - -// node_modules/multer/lib/remove-uploaded-files.js -var require_remove_uploaded_files = __commonJS({ - "node_modules/multer/lib/remove-uploaded-files.js"(exports2, module2) { - function removeUploadedFiles(uploadedFiles, remove, cb) { - var length = uploadedFiles.length; - var errors = []; - if (length === 0) - return cb(null, errors); - function handleFile(idx) { - var file = uploadedFiles[idx]; - remove(file, function(err) { - if (err) { - err.file = file; - err.field = file.fieldname; - errors.push(err); - } - if (idx < length - 1) { - handleFile(idx + 1); - } else { - cb(null, errors); - } - }); - } - handleFile(0); - } - module2.exports = removeUploadedFiles; - } -}); - -// node_modules/multer/lib/make-middleware.js -var require_make_middleware = __commonJS({ - "node_modules/multer/lib/make-middleware.js"(exports2, module2) { - var is = require_type_is(); - var Busboy = require_lib8(); - var extend2 = require_immutable(); - var appendField = require_append_field(); - var Counter = require_counter(); - var MulterError = require_multer_error(); - var FileAppender = require_file_appender(); - var removeUploadedFiles = require_remove_uploaded_files(); - function makeMiddleware(setup) { - return function multerMiddleware(req, res, next) { - if (!is(req, ["multipart"])) - return next(); - var options = setup(); - var limits = options.limits; - var storage = options.storage; - var fileFilter2 = options.fileFilter; - var fileStrategy = options.fileStrategy; - var preservePath = options.preservePath; - req.body = /* @__PURE__ */ Object.create(null); - var busboy; - try { - busboy = Busboy({ headers: req.headers, limits, preservePath }); - } catch (err) { - return next(err); - } - var appender = new FileAppender(fileStrategy, req); - var isDone = false; - var readFinished = false; - var errorOccured = false; - var pendingWrites = new Counter(); - var uploadedFiles = []; - function done(err) { - if (isDone) - return; - isDone = true; - req.unpipe(busboy); - busboy.removeAllListeners(); - next(err); - } - function indicateDone() { - if (readFinished && pendingWrites.isZero() && !errorOccured) - done(); - } - function abortWithError(uploadError) { - if (errorOccured) - return; - errorOccured = true; - pendingWrites.onceZero(function() { - function remove(file, cb) { - storage._removeFile(req, file, cb); - } - removeUploadedFiles(uploadedFiles, remove, function(err, storageErrors) { - if (err) - return done(err); - uploadError.storageErrors = storageErrors; - done(uploadError); - }); - }); - } - function abortWithCode(code, optionalField) { - abortWithError(new MulterError(code, optionalField)); - } - busboy.on("field", function(fieldname, value, { nameTruncated, valueTruncated }) { - if (fieldname == null) - return abortWithCode("MISSING_FIELD_NAME"); - if (nameTruncated) - return abortWithCode("LIMIT_FIELD_KEY"); - if (valueTruncated) - return abortWithCode("LIMIT_FIELD_VALUE", fieldname); - if (limits && Object.prototype.hasOwnProperty.call(limits, "fieldNameSize")) { - if (fieldname.length > limits.fieldNameSize) - return abortWithCode("LIMIT_FIELD_KEY"); - } - appendField(req.body, fieldname, value); - }); - busboy.on("file", function(fieldname, fileStream, { filename, encoding, mimeType }) { - if (!filename) - return fileStream.resume(); - if (limits && Object.prototype.hasOwnProperty.call(limits, "fieldNameSize")) { - if (fieldname.length > limits.fieldNameSize) - return abortWithCode("LIMIT_FIELD_KEY"); - } - var file = { - fieldname, - originalname: filename, - encoding, - mimetype: mimeType - }; - var placeholder = appender.insertPlaceholder(file); - fileFilter2(req, file, function(err, includeFile) { - if (err) { - appender.removePlaceholder(placeholder); - return abortWithError(err); - } - if (!includeFile) { - appender.removePlaceholder(placeholder); - return fileStream.resume(); - } - var aborting = false; - pendingWrites.increment(); - Object.defineProperty(file, "stream", { - configurable: true, - enumerable: false, - value: fileStream - }); - fileStream.on("error", function(err2) { - pendingWrites.decrement(); - abortWithError(err2); - }); - fileStream.on("limit", function() { - aborting = true; - abortWithCode("LIMIT_FILE_SIZE", fieldname); - }); - storage._handleFile(req, file, function(err2, info) { - if (aborting) { - appender.removePlaceholder(placeholder); - uploadedFiles.push(extend2(file, info)); - return pendingWrites.decrement(); - } - if (err2) { - appender.removePlaceholder(placeholder); - pendingWrites.decrement(); - return abortWithError(err2); - } - var fileInfo = extend2(file, info); - appender.replacePlaceholder(placeholder, fileInfo); - uploadedFiles.push(fileInfo); - pendingWrites.decrement(); - indicateDone(); - }); - }); - }); - busboy.on("error", function(err) { - abortWithError(err); - }); - busboy.on("partsLimit", function() { - abortWithCode("LIMIT_PART_COUNT"); - }); - busboy.on("filesLimit", function() { - abortWithCode("LIMIT_FILE_COUNT"); - }); - busboy.on("fieldsLimit", function() { - abortWithCode("LIMIT_FIELD_COUNT"); - }); - busboy.on("close", function() { - readFinished = true; - indicateDone(); - }); - req.pipe(busboy); - }; - } - module2.exports = makeMiddleware; - } -}); - -// node_modules/multer/node_modules/mkdirp/index.js -var require_mkdirp = __commonJS({ - "node_modules/multer/node_modules/mkdirp/index.js"(exports2, module2) { - var path4 = require("path"); - var fs7 = require("fs"); - var _0777 = parseInt("0777", 8); - module2.exports = mkdirP.mkdirp = mkdirP.mkdirP = mkdirP; - function mkdirP(p, opts, f, made) { - if (typeof opts === "function") { - f = opts; - opts = {}; - } else if (!opts || typeof opts !== "object") { - opts = { mode: opts }; - } - var mode = opts.mode; - var xfs = opts.fs || fs7; - if (mode === void 0) { - mode = _0777; - } - if (!made) - made = null; - var cb = f || function() { - }; - p = path4.resolve(p); - xfs.mkdir(p, mode, function(er) { - if (!er) { - made = made || p; - return cb(null, made); - } - switch (er.code) { - case "ENOENT": - if (path4.dirname(p) === p) - return cb(er); - mkdirP(path4.dirname(p), opts, function(er2, made2) { - if (er2) - cb(er2, made2); - else - mkdirP(p, opts, cb, made2); - }); - break; - default: - xfs.stat(p, function(er2, stat) { - if (er2 || !stat.isDirectory()) - cb(er, made); - else - cb(null, made); - }); - break; - } - }); - } - mkdirP.sync = function sync(p, opts, made) { - if (!opts || typeof opts !== "object") { - opts = { mode: opts }; - } - var mode = opts.mode; - var xfs = opts.fs || fs7; - if (mode === void 0) { - mode = _0777; - } - if (!made) - made = null; - p = path4.resolve(p); - try { - xfs.mkdirSync(p, mode); - made = made || p; - } catch (err0) { - switch (err0.code) { - case "ENOENT": - made = sync(path4.dirname(p), opts, made); - sync(p, opts, made); - break; - default: - var stat; - try { - stat = xfs.statSync(p); - } catch (err1) { - throw err0; - } - if (!stat.isDirectory()) - throw err0; - break; - } - } - return made; - }; - } -}); - -// node_modules/multer/storage/disk.js -var require_disk = __commonJS({ - "node_modules/multer/storage/disk.js"(exports2, module2) { - var fs7 = require("fs"); - var os = require("os"); - var path4 = require("path"); - var crypto4 = require("crypto"); - var mkdirp = require_mkdirp(); - function getFilename(req, file, cb) { - crypto4.randomBytes(16, function(err, raw) { - cb(err, err ? void 0 : raw.toString("hex")); - }); - } - function getDestination(req, file, cb) { - cb(null, os.tmpdir()); - } - function DiskStorage(opts) { - this.getFilename = opts.filename || getFilename; - if (typeof opts.destination === "string") { - mkdirp.sync(opts.destination); - this.getDestination = function($0, $1, cb) { - cb(null, opts.destination); - }; - } else { - this.getDestination = opts.destination || getDestination; - } - } - DiskStorage.prototype._handleFile = function _handleFile(req, file, cb) { - var that = this; - that.getDestination(req, file, function(err, destination) { - if (err) - return cb(err); - that.getFilename(req, file, function(err2, filename) { - if (err2) - return cb(err2); - var finalPath = path4.join(destination, filename); - var outStream = fs7.createWriteStream(finalPath); - file.stream.pipe(outStream); - outStream.on("error", cb); - outStream.on("finish", function() { - cb(null, { - destination, - filename, - path: finalPath, - size: outStream.bytesWritten - }); - }); - }); - }); - }; - DiskStorage.prototype._removeFile = function _removeFile(req, file, cb) { - var path5 = file.path; - delete file.destination; - delete file.filename; - delete file.path; - fs7.unlink(path5, cb); - }; - module2.exports = function(opts) { - return new DiskStorage(opts); - }; - } -}); - -// node_modules/process-nextick-args/index.js -var require_process_nextick_args = __commonJS({ - "node_modules/process-nextick-args/index.js"(exports2, module2) { - "use strict"; - if (typeof process === "undefined" || !process.version || process.version.indexOf("v0.") === 0 || process.version.indexOf("v1.") === 0 && process.version.indexOf("v1.8.") !== 0) { - module2.exports = { nextTick }; - } else { - module2.exports = process; - } - function nextTick(fn2, arg1, arg2, arg3) { - if (typeof fn2 !== "function") { - throw new TypeError('"callback" argument must be a function'); - } - var len = arguments.length; - var args2, i; - switch (len) { - case 0: - case 1: - return process.nextTick(fn2); - case 2: - return process.nextTick(function afterTickOne() { - fn2.call(null, arg1); - }); - case 3: - return process.nextTick(function afterTickTwo() { - fn2.call(null, arg1, arg2); - }); - case 4: - return process.nextTick(function afterTickThree() { - fn2.call(null, arg1, arg2, arg3); - }); - default: - args2 = new Array(len - 1); - i = 0; - while (i < args2.length) { - args2[i++] = arguments[i]; - } - return process.nextTick(function afterTick() { - fn2.apply(null, args2); - }); - } - } - } -}); - -// node_modules/isarray/index.js -var require_isarray = __commonJS({ - "node_modules/isarray/index.js"(exports2, module2) { - var toString3 = {}.toString; - module2.exports = Array.isArray || function(arr) { - return toString3.call(arr) == "[object Array]"; - }; - } -}); - -// node_modules/concat-stream/node_modules/readable-stream/lib/internal/streams/stream.js -var require_stream4 = __commonJS({ - "node_modules/concat-stream/node_modules/readable-stream/lib/internal/streams/stream.js"(exports2, module2) { - module2.exports = require("stream"); - } -}); - -// node_modules/concat-stream/node_modules/safe-buffer/index.js -var require_safe_buffer2 = __commonJS({ - "node_modules/concat-stream/node_modules/safe-buffer/index.js"(exports2, module2) { - var buffer = require("buffer"); - var Buffer2 = buffer.Buffer; - function copyProps(src, dst) { - for (var key in src) { - dst[key] = src[key]; - } - } - if (Buffer2.from && Buffer2.alloc && Buffer2.allocUnsafe && Buffer2.allocUnsafeSlow) { - module2.exports = buffer; - } else { - copyProps(buffer, exports2); - exports2.Buffer = SafeBuffer; - } - function SafeBuffer(arg, encodingOrOffset, length) { - return Buffer2(arg, encodingOrOffset, length); - } - copyProps(Buffer2, SafeBuffer); - SafeBuffer.from = function(arg, encodingOrOffset, length) { - if (typeof arg === "number") { - throw new TypeError("Argument must not be a number"); - } - return Buffer2(arg, encodingOrOffset, length); - }; - SafeBuffer.alloc = function(size, fill, encoding) { - if (typeof size !== "number") { - throw new TypeError("Argument must be a number"); - } - var buf = Buffer2(size); - if (fill !== void 0) { - if (typeof encoding === "string") { - buf.fill(fill, encoding); - } else { - buf.fill(fill); - } - } else { - buf.fill(0); - } - return buf; - }; - SafeBuffer.allocUnsafe = function(size) { - if (typeof size !== "number") { - throw new TypeError("Argument must be a number"); - } - return Buffer2(size); - }; - SafeBuffer.allocUnsafeSlow = function(size) { - if (typeof size !== "number") { - throw new TypeError("Argument must be a number"); - } - return buffer.SlowBuffer(size); - }; - } -}); - -// node_modules/concat-stream/node_modules/readable-stream/lib/internal/streams/BufferList.js -var require_BufferList = __commonJS({ - "node_modules/concat-stream/node_modules/readable-stream/lib/internal/streams/BufferList.js"(exports2, module2) { - "use strict"; - function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } - } - var Buffer2 = require_safe_buffer2().Buffer; - var util2 = require("util"); - function copyBuffer(src, target, offset) { - src.copy(target, offset); - } - module2.exports = function() { - function BufferList() { - _classCallCheck(this, BufferList); - this.head = null; - this.tail = null; - this.length = 0; - } - BufferList.prototype.push = function push(v) { - var entry = { data: v, next: null }; - if (this.length > 0) - this.tail.next = entry; - else - this.head = entry; - this.tail = entry; - ++this.length; - }; - BufferList.prototype.unshift = function unshift(v) { - var entry = { data: v, next: this.head }; - if (this.length === 0) - this.tail = entry; - this.head = entry; - ++this.length; - }; - BufferList.prototype.shift = function shift() { - if (this.length === 0) - return; - var ret = this.head.data; - if (this.length === 1) - this.head = this.tail = null; - else - this.head = this.head.next; - --this.length; - return ret; - }; - BufferList.prototype.clear = function clear() { - this.head = this.tail = null; - this.length = 0; - }; - BufferList.prototype.join = function join2(s) { - if (this.length === 0) - return ""; - var p = this.head; - var ret = "" + p.data; - while (p = p.next) { - ret += s + p.data; - } - return ret; - }; - BufferList.prototype.concat = function concat(n) { - if (this.length === 0) - return Buffer2.alloc(0); - if (this.length === 1) - return this.head.data; - var ret = Buffer2.allocUnsafe(n >>> 0); - var p = this.head; - var i = 0; - while (p) { - copyBuffer(p.data, ret, i); - i += p.data.length; - p = p.next; - } - return ret; - }; - return BufferList; - }(); - if (util2 && util2.inspect && util2.inspect.custom) { - module2.exports.prototype[util2.inspect.custom] = function() { - var obj = util2.inspect({ length: this.length }); - return this.constructor.name + " " + obj; - }; - } - } -}); - -// node_modules/concat-stream/node_modules/readable-stream/lib/internal/streams/destroy.js -var require_destroy3 = __commonJS({ - "node_modules/concat-stream/node_modules/readable-stream/lib/internal/streams/destroy.js"(exports2, module2) { - "use strict"; - var pna = require_process_nextick_args(); - function destroy(err, cb) { - var _this = this; - var readableDestroyed = this._readableState && this._readableState.destroyed; - var writableDestroyed = this._writableState && this._writableState.destroyed; - if (readableDestroyed || writableDestroyed) { - if (cb) { - cb(err); - } else if (err && (!this._writableState || !this._writableState.errorEmitted)) { - pna.nextTick(emitErrorNT, this, err); - } - return this; - } - if (this._readableState) { - this._readableState.destroyed = true; - } - if (this._writableState) { - this._writableState.destroyed = true; - } - this._destroy(err || null, function(err2) { - if (!cb && err2) { - pna.nextTick(emitErrorNT, _this, err2); - if (_this._writableState) { - _this._writableState.errorEmitted = true; - } - } else if (cb) { - cb(err2); - } - }); - return this; - } - function undestroy() { - if (this._readableState) { - this._readableState.destroyed = false; - this._readableState.reading = false; - this._readableState.ended = false; - this._readableState.endEmitted = false; - } - if (this._writableState) { - this._writableState.destroyed = false; - this._writableState.ended = false; - this._writableState.ending = false; - this._writableState.finished = false; - this._writableState.errorEmitted = false; - } - } - function emitErrorNT(self2, err) { - self2.emit("error", err); - } - module2.exports = { - destroy, - undestroy - }; - } -}); - -// node_modules/concat-stream/node_modules/readable-stream/lib/_stream_writable.js -var require_stream_writable2 = __commonJS({ - "node_modules/concat-stream/node_modules/readable-stream/lib/_stream_writable.js"(exports2, module2) { - "use strict"; - var pna = require_process_nextick_args(); - module2.exports = Writable; - function CorkedRequest(state) { - var _this = this; - this.next = null; - this.entry = null; - this.finish = function() { - onCorkedFinish(_this, state); - }; - } - var asyncWrite = !process.browser && ["v0.10", "v0.9."].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : pna.nextTick; - var Duplex; - Writable.WritableState = WritableState; - var util2 = Object.create(require_util2()); - util2.inherits = require_inherits(); - var internalUtil = { - deprecate: require_node() - }; - var Stream = require_stream4(); - var Buffer2 = require_safe_buffer2().Buffer; - var OurUint8Array = global.Uint8Array || function() { - }; - function _uint8ArrayToBuffer(chunk) { - return Buffer2.from(chunk); - } - function _isUint8Array(obj) { - return Buffer2.isBuffer(obj) || obj instanceof OurUint8Array; - } - var destroyImpl = require_destroy3(); - util2.inherits(Writable, Stream); - function nop() { - } - function WritableState(options, stream4) { - Duplex = Duplex || require_stream_duplex2(); - options = options || {}; - var isDuplex = stream4 instanceof Duplex; - this.objectMode = !!options.objectMode; - if (isDuplex) - this.objectMode = this.objectMode || !!options.writableObjectMode; - var hwm = options.highWaterMark; - var writableHwm = options.writableHighWaterMark; - var defaultHwm = this.objectMode ? 16 : 16 * 1024; - if (hwm || hwm === 0) - this.highWaterMark = hwm; - else if (isDuplex && (writableHwm || writableHwm === 0)) - this.highWaterMark = writableHwm; - else - this.highWaterMark = defaultHwm; - this.highWaterMark = Math.floor(this.highWaterMark); - this.finalCalled = false; - this.needDrain = false; - this.ending = false; - this.ended = false; - this.finished = false; - this.destroyed = false; - var noDecode = options.decodeStrings === false; - this.decodeStrings = !noDecode; - this.defaultEncoding = options.defaultEncoding || "utf8"; - this.length = 0; - this.writing = false; - this.corked = 0; - this.sync = true; - this.bufferProcessing = false; - this.onwrite = function(er) { - onwrite(stream4, er); - }; - this.writecb = null; - this.writelen = 0; - this.bufferedRequest = null; - this.lastBufferedRequest = null; - this.pendingcb = 0; - this.prefinished = false; - this.errorEmitted = false; - this.bufferedRequestCount = 0; - this.corkedRequestsFree = new CorkedRequest(this); - } - WritableState.prototype.getBuffer = function getBuffer() { - var current = this.bufferedRequest; - var out = []; - while (current) { - out.push(current); - current = current.next; - } - return out; - }; - (function() { - try { - Object.defineProperty(WritableState.prototype, "buffer", { - get: internalUtil.deprecate(function() { - return this.getBuffer(); - }, "_writableState.buffer is deprecated. Use _writableState.getBuffer instead.", "DEP0003") - }); - } catch (_) { - } - })(); - var realHasInstance; - if (typeof Symbol === "function" && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === "function") { - realHasInstance = Function.prototype[Symbol.hasInstance]; - Object.defineProperty(Writable, Symbol.hasInstance, { - value: function(object) { - if (realHasInstance.call(this, object)) - return true; - if (this !== Writable) - return false; - return object && object._writableState instanceof WritableState; - } - }); - } else { - realHasInstance = function(object) { - return object instanceof this; - }; - } - function Writable(options) { - Duplex = Duplex || require_stream_duplex2(); - if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) { - return new Writable(options); - } - this._writableState = new WritableState(options, this); - this.writable = true; - if (options) { - if (typeof options.write === "function") - this._write = options.write; - if (typeof options.writev === "function") - this._writev = options.writev; - if (typeof options.destroy === "function") - this._destroy = options.destroy; - if (typeof options.final === "function") - this._final = options.final; - } - Stream.call(this); - } - Writable.prototype.pipe = function() { - this.emit("error", new Error("Cannot pipe, not readable")); - }; - function writeAfterEnd(stream4, cb) { - var er = new Error("write after end"); - stream4.emit("error", er); - pna.nextTick(cb, er); - } - function validChunk(stream4, state, chunk, cb) { - var valid = true; - var er = false; - if (chunk === null) { - er = new TypeError("May not write null values to stream"); - } else if (typeof chunk !== "string" && chunk !== void 0 && !state.objectMode) { - er = new TypeError("Invalid non-string/buffer chunk"); - } - if (er) { - stream4.emit("error", er); - pna.nextTick(cb, er); - valid = false; - } - return valid; - } - Writable.prototype.write = function(chunk, encoding, cb) { - var state = this._writableState; - var ret = false; - var isBuf = !state.objectMode && _isUint8Array(chunk); - if (isBuf && !Buffer2.isBuffer(chunk)) { - chunk = _uint8ArrayToBuffer(chunk); - } - if (typeof encoding === "function") { - cb = encoding; - encoding = null; - } - if (isBuf) - encoding = "buffer"; - else if (!encoding) - encoding = state.defaultEncoding; - if (typeof cb !== "function") - cb = nop; - if (state.ended) - writeAfterEnd(this, cb); - else if (isBuf || validChunk(this, state, chunk, cb)) { - state.pendingcb++; - ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb); - } - return ret; - }; - Writable.prototype.cork = function() { - var state = this._writableState; - state.corked++; - }; - Writable.prototype.uncork = function() { - var state = this._writableState; - if (state.corked) { - state.corked--; - if (!state.writing && !state.corked && !state.finished && !state.bufferProcessing && state.bufferedRequest) - clearBuffer(this, state); - } - }; - Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) { - if (typeof encoding === "string") - encoding = encoding.toLowerCase(); - if (!(["hex", "utf8", "utf-8", "ascii", "binary", "base64", "ucs2", "ucs-2", "utf16le", "utf-16le", "raw"].indexOf((encoding + "").toLowerCase()) > -1)) - throw new TypeError("Unknown encoding: " + encoding); - this._writableState.defaultEncoding = encoding; - return this; - }; - function decodeChunk(state, chunk, encoding) { - if (!state.objectMode && state.decodeStrings !== false && typeof chunk === "string") { - chunk = Buffer2.from(chunk, encoding); - } - return chunk; - } - Object.defineProperty(Writable.prototype, "writableHighWaterMark", { - enumerable: false, - get: function() { - return this._writableState.highWaterMark; - } - }); - function writeOrBuffer(stream4, state, isBuf, chunk, encoding, cb) { - if (!isBuf) { - var newChunk = decodeChunk(state, chunk, encoding); - if (chunk !== newChunk) { - isBuf = true; - encoding = "buffer"; - chunk = newChunk; - } - } - var len = state.objectMode ? 1 : chunk.length; - state.length += len; - var ret = state.length < state.highWaterMark; - if (!ret) - state.needDrain = true; - if (state.writing || state.corked) { - var last = state.lastBufferedRequest; - state.lastBufferedRequest = { - chunk, - encoding, - isBuf, - callback: cb, - next: null - }; - if (last) { - last.next = state.lastBufferedRequest; - } else { - state.bufferedRequest = state.lastBufferedRequest; - } - state.bufferedRequestCount += 1; - } else { - doWrite(stream4, state, false, len, chunk, encoding, cb); - } - return ret; - } - function doWrite(stream4, state, writev, len, chunk, encoding, cb) { - state.writelen = len; - state.writecb = cb; - state.writing = true; - state.sync = true; - if (writev) - stream4._writev(chunk, state.onwrite); - else - stream4._write(chunk, encoding, state.onwrite); - state.sync = false; - } - function onwriteError(stream4, state, sync, er, cb) { - --state.pendingcb; - if (sync) { - pna.nextTick(cb, er); - pna.nextTick(finishMaybe, stream4, state); - stream4._writableState.errorEmitted = true; - stream4.emit("error", er); - } else { - cb(er); - stream4._writableState.errorEmitted = true; - stream4.emit("error", er); - finishMaybe(stream4, state); - } - } - function onwriteStateUpdate(state) { - state.writing = false; - state.writecb = null; - state.length -= state.writelen; - state.writelen = 0; - } - function onwrite(stream4, er) { - var state = stream4._writableState; - var sync = state.sync; - var cb = state.writecb; - onwriteStateUpdate(state); - if (er) - onwriteError(stream4, state, sync, er, cb); - else { - var finished = needFinish(state); - if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) { - clearBuffer(stream4, state); - } - if (sync) { - asyncWrite(afterWrite, stream4, state, finished, cb); - } else { - afterWrite(stream4, state, finished, cb); - } - } - } - function afterWrite(stream4, state, finished, cb) { - if (!finished) - onwriteDrain(stream4, state); - state.pendingcb--; - cb(); - finishMaybe(stream4, state); - } - function onwriteDrain(stream4, state) { - if (state.length === 0 && state.needDrain) { - state.needDrain = false; - stream4.emit("drain"); - } - } - function clearBuffer(stream4, state) { - state.bufferProcessing = true; - var entry = state.bufferedRequest; - if (stream4._writev && entry && entry.next) { - var l = state.bufferedRequestCount; - var buffer = new Array(l); - var holder = state.corkedRequestsFree; - holder.entry = entry; - var count = 0; - var allBuffers = true; - while (entry) { - buffer[count] = entry; - if (!entry.isBuf) - allBuffers = false; - entry = entry.next; - count += 1; - } - buffer.allBuffers = allBuffers; - doWrite(stream4, state, true, state.length, buffer, "", holder.finish); - state.pendingcb++; - state.lastBufferedRequest = null; - if (holder.next) { - state.corkedRequestsFree = holder.next; - holder.next = null; - } else { - state.corkedRequestsFree = new CorkedRequest(state); - } - state.bufferedRequestCount = 0; - } else { - while (entry) { - var chunk = entry.chunk; - var encoding = entry.encoding; - var cb = entry.callback; - var len = state.objectMode ? 1 : chunk.length; - doWrite(stream4, state, false, len, chunk, encoding, cb); - entry = entry.next; - state.bufferedRequestCount--; - if (state.writing) { - break; - } - } - if (entry === null) - state.lastBufferedRequest = null; - } - state.bufferedRequest = entry; - state.bufferProcessing = false; - } - Writable.prototype._write = function(chunk, encoding, cb) { - cb(new Error("_write() is not implemented")); - }; - Writable.prototype._writev = null; - Writable.prototype.end = function(chunk, encoding, cb) { - var state = this._writableState; - if (typeof chunk === "function") { - cb = chunk; - chunk = null; - encoding = null; - } else if (typeof encoding === "function") { - cb = encoding; - encoding = null; - } - if (chunk !== null && chunk !== void 0) - this.write(chunk, encoding); - if (state.corked) { - state.corked = 1; - this.uncork(); - } - if (!state.ending && !state.finished) - endWritable(this, state, cb); - }; - function needFinish(state) { - return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing; - } - function callFinal(stream4, state) { - stream4._final(function(err) { - state.pendingcb--; - if (err) { - stream4.emit("error", err); - } - state.prefinished = true; - stream4.emit("prefinish"); - finishMaybe(stream4, state); - }); - } - function prefinish(stream4, state) { - if (!state.prefinished && !state.finalCalled) { - if (typeof stream4._final === "function") { - state.pendingcb++; - state.finalCalled = true; - pna.nextTick(callFinal, stream4, state); - } else { - state.prefinished = true; - stream4.emit("prefinish"); - } - } - } - function finishMaybe(stream4, state) { - var need = needFinish(state); - if (need) { - prefinish(stream4, state); - if (state.pendingcb === 0) { - state.finished = true; - stream4.emit("finish"); - } - } - return need; - } - function endWritable(stream4, state, cb) { - state.ending = true; - finishMaybe(stream4, state); - if (cb) { - if (state.finished) - pna.nextTick(cb); - else - stream4.once("finish", cb); - } - state.ended = true; - stream4.writable = false; - } - function onCorkedFinish(corkReq, state, err) { - var entry = corkReq.entry; - corkReq.entry = null; - while (entry) { - var cb = entry.callback; - state.pendingcb--; - cb(err); - entry = entry.next; - } - if (state.corkedRequestsFree) { - state.corkedRequestsFree.next = corkReq; - } else { - state.corkedRequestsFree = corkReq; - } - } - Object.defineProperty(Writable.prototype, "destroyed", { - get: function() { - if (this._writableState === void 0) { - return false; - } - return this._writableState.destroyed; - }, - set: function(value) { - if (!this._writableState) { - return; - } - this._writableState.destroyed = value; - } - }); - Writable.prototype.destroy = destroyImpl.destroy; - Writable.prototype._undestroy = destroyImpl.undestroy; - Writable.prototype._destroy = function(err, cb) { - this.end(); - cb(err); - }; - } -}); - -// node_modules/concat-stream/node_modules/readable-stream/lib/_stream_duplex.js -var require_stream_duplex2 = __commonJS({ - "node_modules/concat-stream/node_modules/readable-stream/lib/_stream_duplex.js"(exports2, module2) { - "use strict"; - var pna = require_process_nextick_args(); - var objectKeys = Object.keys || function(obj) { - var keys3 = []; - for (var key in obj) { - keys3.push(key); - } - return keys3; - }; - module2.exports = Duplex; - var util2 = Object.create(require_util2()); - util2.inherits = require_inherits(); - var Readable2 = require_stream_readable2(); - var Writable = require_stream_writable2(); - util2.inherits(Duplex, Readable2); - { - keys2 = objectKeys(Writable.prototype); - for (v = 0; v < keys2.length; v++) { - method = keys2[v]; - if (!Duplex.prototype[method]) - Duplex.prototype[method] = Writable.prototype[method]; - } - } - var keys2; - var method; - var v; - function Duplex(options) { - if (!(this instanceof Duplex)) - return new Duplex(options); - Readable2.call(this, options); - Writable.call(this, options); - if (options && options.readable === false) - this.readable = false; - if (options && options.writable === false) - this.writable = false; - this.allowHalfOpen = true; - if (options && options.allowHalfOpen === false) - this.allowHalfOpen = false; - this.once("end", onend); - } - Object.defineProperty(Duplex.prototype, "writableHighWaterMark", { - enumerable: false, - get: function() { - return this._writableState.highWaterMark; - } - }); - function onend() { - if (this.allowHalfOpen || this._writableState.ended) - return; - pna.nextTick(onEndNT, this); - } - function onEndNT(self2) { - self2.end(); - } - Object.defineProperty(Duplex.prototype, "destroyed", { - get: function() { - if (this._readableState === void 0 || this._writableState === void 0) { - return false; - } - return this._readableState.destroyed && this._writableState.destroyed; - }, - set: function(value) { - if (this._readableState === void 0 || this._writableState === void 0) { - return; - } - this._readableState.destroyed = value; - this._writableState.destroyed = value; - } - }); - Duplex.prototype._destroy = function(err, cb) { - this.push(null); - this.end(); - pna.nextTick(cb, err); - }; - } -}); - -// node_modules/concat-stream/node_modules/string_decoder/lib/string_decoder.js -var require_string_decoder2 = __commonJS({ - "node_modules/concat-stream/node_modules/string_decoder/lib/string_decoder.js"(exports2) { - "use strict"; - var Buffer2 = require_safe_buffer2().Buffer; - var isEncoding = Buffer2.isEncoding || function(encoding) { - encoding = "" + encoding; - switch (encoding && encoding.toLowerCase()) { - case "hex": - case "utf8": - case "utf-8": - case "ascii": - case "binary": - case "base64": - case "ucs2": - case "ucs-2": - case "utf16le": - case "utf-16le": - case "raw": - return true; - default: - return false; - } - }; - function _normalizeEncoding(enc) { - if (!enc) - return "utf8"; - var retried; - while (true) { - switch (enc) { - case "utf8": - case "utf-8": - return "utf8"; - case "ucs2": - case "ucs-2": - case "utf16le": - case "utf-16le": - return "utf16le"; - case "latin1": - case "binary": - return "latin1"; - case "base64": - case "ascii": - case "hex": - return enc; - default: - if (retried) - return; - enc = ("" + enc).toLowerCase(); - retried = true; - } - } - } - function normalizeEncoding(enc) { - var nenc = _normalizeEncoding(enc); - if (typeof nenc !== "string" && (Buffer2.isEncoding === isEncoding || !isEncoding(enc))) - throw new Error("Unknown encoding: " + enc); - return nenc || enc; - } - exports2.StringDecoder = StringDecoder; - function StringDecoder(encoding) { - this.encoding = normalizeEncoding(encoding); - var nb; - switch (this.encoding) { - case "utf16le": - this.text = utf16Text; - this.end = utf16End; - nb = 4; - break; - case "utf8": - this.fillLast = utf8FillLast; - nb = 4; - break; - case "base64": - this.text = base64Text; - this.end = base64End; - nb = 3; - break; - default: - this.write = simpleWrite; - this.end = simpleEnd; - return; - } - this.lastNeed = 0; - this.lastTotal = 0; - this.lastChar = Buffer2.allocUnsafe(nb); - } - StringDecoder.prototype.write = function(buf) { - if (buf.length === 0) - return ""; - var r; - var i; - if (this.lastNeed) { - r = this.fillLast(buf); - if (r === void 0) - return ""; - i = this.lastNeed; - this.lastNeed = 0; - } else { - i = 0; - } - if (i < buf.length) - return r ? r + this.text(buf, i) : this.text(buf, i); - return r || ""; - }; - StringDecoder.prototype.end = utf8End; - StringDecoder.prototype.text = utf8Text; - StringDecoder.prototype.fillLast = function(buf) { - if (this.lastNeed <= buf.length) { - buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed); - return this.lastChar.toString(this.encoding, 0, this.lastTotal); - } - buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length); - this.lastNeed -= buf.length; - }; - function utf8CheckByte(byte) { - if (byte <= 127) - return 0; - else if (byte >> 5 === 6) - return 2; - else if (byte >> 4 === 14) - return 3; - else if (byte >> 3 === 30) - return 4; - return byte >> 6 === 2 ? -1 : -2; - } - function utf8CheckIncomplete(self2, buf, i) { - var j = buf.length - 1; - if (j < i) - return 0; - var nb = utf8CheckByte(buf[j]); - if (nb >= 0) { - if (nb > 0) - self2.lastNeed = nb - 1; - return nb; - } - if (--j < i || nb === -2) - return 0; - nb = utf8CheckByte(buf[j]); - if (nb >= 0) { - if (nb > 0) - self2.lastNeed = nb - 2; - return nb; - } - if (--j < i || nb === -2) - return 0; - nb = utf8CheckByte(buf[j]); - if (nb >= 0) { - if (nb > 0) { - if (nb === 2) - nb = 0; - else - self2.lastNeed = nb - 3; - } - return nb; - } - return 0; - } - function utf8CheckExtraBytes(self2, buf, p) { - if ((buf[0] & 192) !== 128) { - self2.lastNeed = 0; - return "\uFFFD"; - } - if (self2.lastNeed > 1 && buf.length > 1) { - if ((buf[1] & 192) !== 128) { - self2.lastNeed = 1; - return "\uFFFD"; - } - if (self2.lastNeed > 2 && buf.length > 2) { - if ((buf[2] & 192) !== 128) { - self2.lastNeed = 2; - return "\uFFFD"; - } - } - } - } - function utf8FillLast(buf) { - var p = this.lastTotal - this.lastNeed; - var r = utf8CheckExtraBytes(this, buf, p); - if (r !== void 0) - return r; - if (this.lastNeed <= buf.length) { - buf.copy(this.lastChar, p, 0, this.lastNeed); - return this.lastChar.toString(this.encoding, 0, this.lastTotal); - } - buf.copy(this.lastChar, p, 0, buf.length); - this.lastNeed -= buf.length; - } - function utf8Text(buf, i) { - var total = utf8CheckIncomplete(this, buf, i); - if (!this.lastNeed) - return buf.toString("utf8", i); - this.lastTotal = total; - var end = buf.length - (total - this.lastNeed); - buf.copy(this.lastChar, 0, end); - return buf.toString("utf8", i, end); - } - function utf8End(buf) { - var r = buf && buf.length ? this.write(buf) : ""; - if (this.lastNeed) - return r + "\uFFFD"; - return r; - } - function utf16Text(buf, i) { - if ((buf.length - i) % 2 === 0) { - var r = buf.toString("utf16le", i); - if (r) { - var c = r.charCodeAt(r.length - 1); - if (c >= 55296 && c <= 56319) { - this.lastNeed = 2; - this.lastTotal = 4; - this.lastChar[0] = buf[buf.length - 2]; - this.lastChar[1] = buf[buf.length - 1]; - return r.slice(0, -1); - } - } - return r; - } - this.lastNeed = 1; - this.lastTotal = 2; - this.lastChar[0] = buf[buf.length - 1]; - return buf.toString("utf16le", i, buf.length - 1); - } - function utf16End(buf) { - var r = buf && buf.length ? this.write(buf) : ""; - if (this.lastNeed) { - var end = this.lastTotal - this.lastNeed; - return r + this.lastChar.toString("utf16le", 0, end); - } - return r; - } - function base64Text(buf, i) { - var n = (buf.length - i) % 3; - if (n === 0) - return buf.toString("base64", i); - this.lastNeed = 3 - n; - this.lastTotal = 3; - if (n === 1) { - this.lastChar[0] = buf[buf.length - 1]; - } else { - this.lastChar[0] = buf[buf.length - 2]; - this.lastChar[1] = buf[buf.length - 1]; - } - return buf.toString("base64", i, buf.length - n); - } - function base64End(buf) { - var r = buf && buf.length ? this.write(buf) : ""; - if (this.lastNeed) - return r + this.lastChar.toString("base64", 0, 3 - this.lastNeed); - return r; - } - function simpleWrite(buf) { - return buf.toString(this.encoding); - } - function simpleEnd(buf) { - return buf && buf.length ? this.write(buf) : ""; - } - } -}); - -// node_modules/concat-stream/node_modules/readable-stream/lib/_stream_readable.js -var require_stream_readable2 = __commonJS({ - "node_modules/concat-stream/node_modules/readable-stream/lib/_stream_readable.js"(exports2, module2) { - "use strict"; - var pna = require_process_nextick_args(); - module2.exports = Readable2; - var isArray3 = require_isarray(); - var Duplex; - Readable2.ReadableState = ReadableState; - var EE = require("events").EventEmitter; - var EElistenerCount = function(emitter, type) { - return emitter.listeners(type).length; - }; - var Stream = require_stream4(); - var Buffer2 = require_safe_buffer2().Buffer; - var OurUint8Array = global.Uint8Array || function() { - }; - function _uint8ArrayToBuffer(chunk) { - return Buffer2.from(chunk); - } - function _isUint8Array(obj) { - return Buffer2.isBuffer(obj) || obj instanceof OurUint8Array; - } - var util2 = Object.create(require_util2()); - util2.inherits = require_inherits(); - var debugUtil = require("util"); - var debug = void 0; - if (debugUtil && debugUtil.debuglog) { - debug = debugUtil.debuglog("stream"); - } else { - debug = function() { - }; - } - var BufferList = require_BufferList(); - var destroyImpl = require_destroy3(); - var StringDecoder; - util2.inherits(Readable2, Stream); - var kProxyEvents = ["error", "close", "destroy", "pause", "resume"]; - function prependListener(emitter, event, fn2) { - if (typeof emitter.prependListener === "function") - return emitter.prependListener(event, fn2); - if (!emitter._events || !emitter._events[event]) - emitter.on(event, fn2); - else if (isArray3(emitter._events[event])) - emitter._events[event].unshift(fn2); - else - emitter._events[event] = [fn2, emitter._events[event]]; - } - function ReadableState(options, stream4) { - Duplex = Duplex || require_stream_duplex2(); - options = options || {}; - var isDuplex = stream4 instanceof Duplex; - this.objectMode = !!options.objectMode; - if (isDuplex) - this.objectMode = this.objectMode || !!options.readableObjectMode; - var hwm = options.highWaterMark; - var readableHwm = options.readableHighWaterMark; - var defaultHwm = this.objectMode ? 16 : 16 * 1024; - if (hwm || hwm === 0) - this.highWaterMark = hwm; - else if (isDuplex && (readableHwm || readableHwm === 0)) - this.highWaterMark = readableHwm; - else - this.highWaterMark = defaultHwm; - this.highWaterMark = Math.floor(this.highWaterMark); - this.buffer = new BufferList(); - this.length = 0; - this.pipes = null; - this.pipesCount = 0; - this.flowing = null; - this.ended = false; - this.endEmitted = false; - this.reading = false; - this.sync = true; - this.needReadable = false; - this.emittedReadable = false; - this.readableListening = false; - this.resumeScheduled = false; - this.destroyed = false; - this.defaultEncoding = options.defaultEncoding || "utf8"; - this.awaitDrain = 0; - this.readingMore = false; - this.decoder = null; - this.encoding = null; - if (options.encoding) { - if (!StringDecoder) - StringDecoder = require_string_decoder2().StringDecoder; - this.decoder = new StringDecoder(options.encoding); - this.encoding = options.encoding; - } - } - function Readable2(options) { - Duplex = Duplex || require_stream_duplex2(); - if (!(this instanceof Readable2)) - return new Readable2(options); - this._readableState = new ReadableState(options, this); - this.readable = true; - if (options) { - if (typeof options.read === "function") - this._read = options.read; - if (typeof options.destroy === "function") - this._destroy = options.destroy; - } - Stream.call(this); - } - Object.defineProperty(Readable2.prototype, "destroyed", { - get: function() { - if (this._readableState === void 0) { - return false; - } - return this._readableState.destroyed; - }, - set: function(value) { - if (!this._readableState) { - return; - } - this._readableState.destroyed = value; - } - }); - Readable2.prototype.destroy = destroyImpl.destroy; - Readable2.prototype._undestroy = destroyImpl.undestroy; - Readable2.prototype._destroy = function(err, cb) { - this.push(null); - cb(err); - }; - Readable2.prototype.push = function(chunk, encoding) { - var state = this._readableState; - var skipChunkCheck; - if (!state.objectMode) { - if (typeof chunk === "string") { - encoding = encoding || state.defaultEncoding; - if (encoding !== state.encoding) { - chunk = Buffer2.from(chunk, encoding); - encoding = ""; - } - skipChunkCheck = true; - } - } else { - skipChunkCheck = true; - } - return readableAddChunk(this, chunk, encoding, false, skipChunkCheck); - }; - Readable2.prototype.unshift = function(chunk) { - return readableAddChunk(this, chunk, null, true, false); - }; - function readableAddChunk(stream4, chunk, encoding, addToFront, skipChunkCheck) { - var state = stream4._readableState; - if (chunk === null) { - state.reading = false; - onEofChunk(stream4, state); - } else { - var er; - if (!skipChunkCheck) - er = chunkInvalid(state, chunk); - if (er) { - stream4.emit("error", er); - } else if (state.objectMode || chunk && chunk.length > 0) { - if (typeof chunk !== "string" && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer2.prototype) { - chunk = _uint8ArrayToBuffer(chunk); - } - if (addToFront) { - if (state.endEmitted) - stream4.emit("error", new Error("stream.unshift() after end event")); - else - addChunk(stream4, state, chunk, true); - } else if (state.ended) { - stream4.emit("error", new Error("stream.push() after EOF")); - } else { - state.reading = false; - if (state.decoder && !encoding) { - chunk = state.decoder.write(chunk); - if (state.objectMode || chunk.length !== 0) - addChunk(stream4, state, chunk, false); - else - maybeReadMore(stream4, state); - } else { - addChunk(stream4, state, chunk, false); - } - } - } else if (!addToFront) { - state.reading = false; - } - } - return needMoreData(state); - } - function addChunk(stream4, state, chunk, addToFront) { - if (state.flowing && state.length === 0 && !state.sync) { - stream4.emit("data", chunk); - stream4.read(0); - } else { - state.length += state.objectMode ? 1 : chunk.length; - if (addToFront) - state.buffer.unshift(chunk); - else - state.buffer.push(chunk); - if (state.needReadable) - emitReadable(stream4); - } - maybeReadMore(stream4, state); - } - function chunkInvalid(state, chunk) { - var er; - if (!_isUint8Array(chunk) && typeof chunk !== "string" && chunk !== void 0 && !state.objectMode) { - er = new TypeError("Invalid non-string/buffer chunk"); - } - return er; - } - function needMoreData(state) { - return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0); - } - Readable2.prototype.isPaused = function() { - return this._readableState.flowing === false; - }; - Readable2.prototype.setEncoding = function(enc) { - if (!StringDecoder) - StringDecoder = require_string_decoder2().StringDecoder; - this._readableState.decoder = new StringDecoder(enc); - this._readableState.encoding = enc; - return this; - }; - var MAX_HWM = 8388608; - function computeNewHighWaterMark(n) { - if (n >= MAX_HWM) { - n = MAX_HWM; - } else { - n--; - n |= n >>> 1; - n |= n >>> 2; - n |= n >>> 4; - n |= n >>> 8; - n |= n >>> 16; - n++; - } - return n; - } - function howMuchToRead(n, state) { - if (n <= 0 || state.length === 0 && state.ended) - return 0; - if (state.objectMode) - return 1; - if (n !== n) { - if (state.flowing && state.length) - return state.buffer.head.data.length; - else - return state.length; - } - if (n > state.highWaterMark) - state.highWaterMark = computeNewHighWaterMark(n); - if (n <= state.length) - return n; - if (!state.ended) { - state.needReadable = true; - return 0; - } - return state.length; - } - Readable2.prototype.read = function(n) { - debug("read", n); - n = parseInt(n, 10); - var state = this._readableState; - var nOrig = n; - if (n !== 0) - state.emittedReadable = false; - if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) { - debug("read: emitReadable", state.length, state.ended); - if (state.length === 0 && state.ended) - endReadable(this); - else - emitReadable(this); - return null; - } - n = howMuchToRead(n, state); - if (n === 0 && state.ended) { - if (state.length === 0) - endReadable(this); - return null; - } - var doRead = state.needReadable; - debug("need readable", doRead); - if (state.length === 0 || state.length - n < state.highWaterMark) { - doRead = true; - debug("length less than watermark", doRead); - } - if (state.ended || state.reading) { - doRead = false; - debug("reading or ended", doRead); - } else if (doRead) { - debug("do read"); - state.reading = true; - state.sync = true; - if (state.length === 0) - state.needReadable = true; - this._read(state.highWaterMark); - state.sync = false; - if (!state.reading) - n = howMuchToRead(nOrig, state); - } - var ret; - if (n > 0) - ret = fromList(n, state); - else - ret = null; - if (ret === null) { - state.needReadable = true; - n = 0; - } else { - state.length -= n; - } - if (state.length === 0) { - if (!state.ended) - state.needReadable = true; - if (nOrig !== n && state.ended) - endReadable(this); - } - if (ret !== null) - this.emit("data", ret); - return ret; - }; - function onEofChunk(stream4, state) { - if (state.ended) - return; - if (state.decoder) { - var chunk = state.decoder.end(); - if (chunk && chunk.length) { - state.buffer.push(chunk); - state.length += state.objectMode ? 1 : chunk.length; - } - } - state.ended = true; - emitReadable(stream4); - } - function emitReadable(stream4) { - var state = stream4._readableState; - state.needReadable = false; - if (!state.emittedReadable) { - debug("emitReadable", state.flowing); - state.emittedReadable = true; - if (state.sync) - pna.nextTick(emitReadable_, stream4); - else - emitReadable_(stream4); - } - } - function emitReadable_(stream4) { - debug("emit readable"); - stream4.emit("readable"); - flow(stream4); - } - function maybeReadMore(stream4, state) { - if (!state.readingMore) { - state.readingMore = true; - pna.nextTick(maybeReadMore_, stream4, state); - } - } - function maybeReadMore_(stream4, state) { - var len = state.length; - while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) { - debug("maybeReadMore read 0"); - stream4.read(0); - if (len === state.length) - break; - else - len = state.length; - } - state.readingMore = false; - } - Readable2.prototype._read = function(n) { - this.emit("error", new Error("_read() is not implemented")); - }; - Readable2.prototype.pipe = function(dest, pipeOpts) { - var src = this; - var state = this._readableState; - switch (state.pipesCount) { - case 0: - state.pipes = dest; - break; - case 1: - state.pipes = [state.pipes, dest]; - break; - default: - state.pipes.push(dest); - break; - } - state.pipesCount += 1; - debug("pipe count=%d opts=%j", state.pipesCount, pipeOpts); - var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr; - var endFn = doEnd ? onend : unpipe; - if (state.endEmitted) - pna.nextTick(endFn); - else - src.once("end", endFn); - dest.on("unpipe", onunpipe); - function onunpipe(readable, unpipeInfo) { - debug("onunpipe"); - if (readable === src) { - if (unpipeInfo && unpipeInfo.hasUnpiped === false) { - unpipeInfo.hasUnpiped = true; - cleanup(); - } - } - } - function onend() { - debug("onend"); - dest.end(); - } - var ondrain = pipeOnDrain(src); - dest.on("drain", ondrain); - var cleanedUp = false; - function cleanup() { - debug("cleanup"); - dest.removeListener("close", onclose); - dest.removeListener("finish", onfinish); - dest.removeListener("drain", ondrain); - dest.removeListener("error", onerror); - dest.removeListener("unpipe", onunpipe); - src.removeListener("end", onend); - src.removeListener("end", unpipe); - src.removeListener("data", ondata); - cleanedUp = true; - if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) - ondrain(); - } - var increasedAwaitDrain = false; - src.on("data", ondata); - function ondata(chunk) { - debug("ondata"); - increasedAwaitDrain = false; - var ret = dest.write(chunk); - if (false === ret && !increasedAwaitDrain) { - if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) { - debug("false write response, pause", src._readableState.awaitDrain); - src._readableState.awaitDrain++; - increasedAwaitDrain = true; - } - src.pause(); - } - } - function onerror(er) { - debug("onerror", er); - unpipe(); - dest.removeListener("error", onerror); - if (EElistenerCount(dest, "error") === 0) - dest.emit("error", er); - } - prependListener(dest, "error", onerror); - function onclose() { - dest.removeListener("finish", onfinish); - unpipe(); - } - dest.once("close", onclose); - function onfinish() { - debug("onfinish"); - dest.removeListener("close", onclose); - unpipe(); - } - dest.once("finish", onfinish); - function unpipe() { - debug("unpipe"); - src.unpipe(dest); - } - dest.emit("pipe", src); - if (!state.flowing) { - debug("pipe resume"); - src.resume(); - } - return dest; - }; - function pipeOnDrain(src) { - return function() { - var state = src._readableState; - debug("pipeOnDrain", state.awaitDrain); - if (state.awaitDrain) - state.awaitDrain--; - if (state.awaitDrain === 0 && EElistenerCount(src, "data")) { - state.flowing = true; - flow(src); - } - }; - } - Readable2.prototype.unpipe = function(dest) { - var state = this._readableState; - var unpipeInfo = { hasUnpiped: false }; - if (state.pipesCount === 0) - return this; - if (state.pipesCount === 1) { - if (dest && dest !== state.pipes) - return this; - if (!dest) - dest = state.pipes; - state.pipes = null; - state.pipesCount = 0; - state.flowing = false; - if (dest) - dest.emit("unpipe", this, unpipeInfo); - return this; - } - if (!dest) { - var dests = state.pipes; - var len = state.pipesCount; - state.pipes = null; - state.pipesCount = 0; - state.flowing = false; - for (var i = 0; i < len; i++) { - dests[i].emit("unpipe", this, unpipeInfo); - } - return this; - } - var index = indexOf(state.pipes, dest); - if (index === -1) - return this; - state.pipes.splice(index, 1); - state.pipesCount -= 1; - if (state.pipesCount === 1) - state.pipes = state.pipes[0]; - dest.emit("unpipe", this, unpipeInfo); - return this; - }; - Readable2.prototype.on = function(ev, fn2) { - var res = Stream.prototype.on.call(this, ev, fn2); - if (ev === "data") { - if (this._readableState.flowing !== false) - this.resume(); - } else if (ev === "readable") { - var state = this._readableState; - if (!state.endEmitted && !state.readableListening) { - state.readableListening = state.needReadable = true; - state.emittedReadable = false; - if (!state.reading) { - pna.nextTick(nReadingNextTick, this); - } else if (state.length) { - emitReadable(this); - } - } - } - return res; - }; - Readable2.prototype.addListener = Readable2.prototype.on; - function nReadingNextTick(self2) { - debug("readable nexttick read 0"); - self2.read(0); - } - Readable2.prototype.resume = function() { - var state = this._readableState; - if (!state.flowing) { - debug("resume"); - state.flowing = true; - resume(this, state); - } - return this; - }; - function resume(stream4, state) { - if (!state.resumeScheduled) { - state.resumeScheduled = true; - pna.nextTick(resume_, stream4, state); - } - } - function resume_(stream4, state) { - if (!state.reading) { - debug("resume read 0"); - stream4.read(0); - } - state.resumeScheduled = false; - state.awaitDrain = 0; - stream4.emit("resume"); - flow(stream4); - if (state.flowing && !state.reading) - stream4.read(0); - } - Readable2.prototype.pause = function() { - debug("call pause flowing=%j", this._readableState.flowing); - if (false !== this._readableState.flowing) { - debug("pause"); - this._readableState.flowing = false; - this.emit("pause"); - } - return this; - }; - function flow(stream4) { - var state = stream4._readableState; - debug("flow", state.flowing); - while (state.flowing && stream4.read() !== null) { - } - } - Readable2.prototype.wrap = function(stream4) { - var _this = this; - var state = this._readableState; - var paused = false; - stream4.on("end", function() { - debug("wrapped end"); - if (state.decoder && !state.ended) { - var chunk = state.decoder.end(); - if (chunk && chunk.length) - _this.push(chunk); - } - _this.push(null); - }); - stream4.on("data", function(chunk) { - debug("wrapped data"); - if (state.decoder) - chunk = state.decoder.write(chunk); - if (state.objectMode && (chunk === null || chunk === void 0)) - return; - else if (!state.objectMode && (!chunk || !chunk.length)) - return; - var ret = _this.push(chunk); - if (!ret) { - paused = true; - stream4.pause(); - } - }); - for (var i in stream4) { - if (this[i] === void 0 && typeof stream4[i] === "function") { - this[i] = function(method) { - return function() { - return stream4[method].apply(stream4, arguments); - }; - }(i); - } - } - for (var n = 0; n < kProxyEvents.length; n++) { - stream4.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n])); - } - this._read = function(n2) { - debug("wrapped _read", n2); - if (paused) { - paused = false; - stream4.resume(); - } - }; - return this; - }; - Object.defineProperty(Readable2.prototype, "readableHighWaterMark", { - enumerable: false, - get: function() { - return this._readableState.highWaterMark; - } - }); - Readable2._fromList = fromList; - function fromList(n, state) { - if (state.length === 0) - return null; - var ret; - if (state.objectMode) - ret = state.buffer.shift(); - else if (!n || n >= state.length) { - if (state.decoder) - ret = state.buffer.join(""); - else if (state.buffer.length === 1) - ret = state.buffer.head.data; - else - ret = state.buffer.concat(state.length); - state.buffer.clear(); - } else { - ret = fromListPartial(n, state.buffer, state.decoder); - } - return ret; - } - function fromListPartial(n, list, hasStrings) { - var ret; - if (n < list.head.data.length) { - ret = list.head.data.slice(0, n); - list.head.data = list.head.data.slice(n); - } else if (n === list.head.data.length) { - ret = list.shift(); - } else { - ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list); - } - return ret; - } - function copyFromBufferString(n, list) { - var p = list.head; - var c = 1; - var ret = p.data; - n -= ret.length; - while (p = p.next) { - var str = p.data; - var nb = n > str.length ? str.length : n; - if (nb === str.length) - ret += str; - else - ret += str.slice(0, n); - n -= nb; - if (n === 0) { - if (nb === str.length) { - ++c; - if (p.next) - list.head = p.next; - else - list.head = list.tail = null; - } else { - list.head = p; - p.data = str.slice(nb); - } - break; - } - ++c; - } - list.length -= c; - return ret; - } - function copyFromBuffer(n, list) { - var ret = Buffer2.allocUnsafe(n); - var p = list.head; - var c = 1; - p.data.copy(ret); - n -= p.data.length; - while (p = p.next) { - var buf = p.data; - var nb = n > buf.length ? buf.length : n; - buf.copy(ret, ret.length - n, 0, nb); - n -= nb; - if (n === 0) { - if (nb === buf.length) { - ++c; - if (p.next) - list.head = p.next; - else - list.head = list.tail = null; - } else { - list.head = p; - p.data = buf.slice(nb); - } - break; - } - ++c; - } - list.length -= c; - return ret; - } - function endReadable(stream4) { - var state = stream4._readableState; - if (state.length > 0) - throw new Error('"endReadable()" called on non-empty stream'); - if (!state.endEmitted) { - state.ended = true; - pna.nextTick(endReadableNT, state, stream4); - } - } - function endReadableNT(state, stream4) { - if (!state.endEmitted && state.length === 0) { - state.endEmitted = true; - stream4.readable = false; - stream4.emit("end"); - } - } - function indexOf(xs, x) { - for (var i = 0, l = xs.length; i < l; i++) { - if (xs[i] === x) - return i; - } - return -1; - } - } -}); - -// node_modules/concat-stream/node_modules/readable-stream/lib/_stream_transform.js -var require_stream_transform2 = __commonJS({ - "node_modules/concat-stream/node_modules/readable-stream/lib/_stream_transform.js"(exports2, module2) { - "use strict"; - module2.exports = Transform; - var Duplex = require_stream_duplex2(); - var util2 = Object.create(require_util2()); - util2.inherits = require_inherits(); - util2.inherits(Transform, Duplex); - function afterTransform(er, data) { - var ts = this._transformState; - ts.transforming = false; - var cb = ts.writecb; - if (!cb) { - return this.emit("error", new Error("write callback called multiple times")); - } - ts.writechunk = null; - ts.writecb = null; - if (data != null) - this.push(data); - cb(er); - var rs = this._readableState; - rs.reading = false; - if (rs.needReadable || rs.length < rs.highWaterMark) { - this._read(rs.highWaterMark); - } - } - function Transform(options) { - if (!(this instanceof Transform)) - return new Transform(options); - Duplex.call(this, options); - this._transformState = { - afterTransform: afterTransform.bind(this), - needTransform: false, - transforming: false, - writecb: null, - writechunk: null, - writeencoding: null - }; - this._readableState.needReadable = true; - this._readableState.sync = false; - if (options) { - if (typeof options.transform === "function") - this._transform = options.transform; - if (typeof options.flush === "function") - this._flush = options.flush; - } - this.on("prefinish", prefinish); - } - function prefinish() { - var _this = this; - if (typeof this._flush === "function") { - this._flush(function(er, data) { - done(_this, er, data); - }); - } else { - done(this, null, null); - } - } - Transform.prototype.push = function(chunk, encoding) { - this._transformState.needTransform = false; - return Duplex.prototype.push.call(this, chunk, encoding); - }; - Transform.prototype._transform = function(chunk, encoding, cb) { - throw new Error("_transform() is not implemented"); - }; - Transform.prototype._write = function(chunk, encoding, cb) { - var ts = this._transformState; - ts.writecb = cb; - ts.writechunk = chunk; - ts.writeencoding = encoding; - if (!ts.transforming) { - var rs = this._readableState; - if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) - this._read(rs.highWaterMark); - } - }; - Transform.prototype._read = function(n) { - var ts = this._transformState; - if (ts.writechunk !== null && ts.writecb && !ts.transforming) { - ts.transforming = true; - this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform); - } else { - ts.needTransform = true; - } - }; - Transform.prototype._destroy = function(err, cb) { - var _this2 = this; - Duplex.prototype._destroy.call(this, err, function(err2) { - cb(err2); - _this2.emit("close"); - }); - }; - function done(stream4, er, data) { - if (er) - return stream4.emit("error", er); - if (data != null) - stream4.push(data); - if (stream4._writableState.length) - throw new Error("Calling transform done when ws.length != 0"); - if (stream4._transformState.transforming) - throw new Error("Calling transform done when still transforming"); - return stream4.push(null); - } - } -}); - -// node_modules/concat-stream/node_modules/readable-stream/lib/_stream_passthrough.js -var require_stream_passthrough2 = __commonJS({ - "node_modules/concat-stream/node_modules/readable-stream/lib/_stream_passthrough.js"(exports2, module2) { - "use strict"; - module2.exports = PassThrough; - var Transform = require_stream_transform2(); - var util2 = Object.create(require_util2()); - util2.inherits = require_inherits(); - util2.inherits(PassThrough, Transform); - function PassThrough(options) { - if (!(this instanceof PassThrough)) - return new PassThrough(options); - Transform.call(this, options); - } - PassThrough.prototype._transform = function(chunk, encoding, cb) { - cb(null, chunk); - }; - } -}); - -// node_modules/concat-stream/node_modules/readable-stream/readable.js -var require_readable2 = __commonJS({ - "node_modules/concat-stream/node_modules/readable-stream/readable.js"(exports2, module2) { - var Stream = require("stream"); - if (process.env.READABLE_STREAM === "disable" && Stream) { - module2.exports = Stream; - exports2 = module2.exports = Stream.Readable; - exports2.Readable = Stream.Readable; - exports2.Writable = Stream.Writable; - exports2.Duplex = Stream.Duplex; - exports2.Transform = Stream.Transform; - exports2.PassThrough = Stream.PassThrough; - exports2.Stream = Stream; - } else { - exports2 = module2.exports = require_stream_readable2(); - exports2.Stream = Stream || exports2; - exports2.Readable = exports2; - exports2.Writable = require_stream_writable2(); - exports2.Duplex = require_stream_duplex2(); - exports2.Transform = require_stream_transform2(); - exports2.PassThrough = require_stream_passthrough2(); - } - } -}); - -// node_modules/buffer-from/index.js -var require_buffer_from = __commonJS({ - "node_modules/buffer-from/index.js"(exports2, module2) { - var toString3 = Object.prototype.toString; - var isModern = typeof Buffer !== "undefined" && typeof Buffer.alloc === "function" && typeof Buffer.allocUnsafe === "function" && typeof Buffer.from === "function"; - function isArrayBuffer2(input) { - return toString3.call(input).slice(8, -1) === "ArrayBuffer"; - } - function fromArrayBuffer(obj, byteOffset, length) { - byteOffset >>>= 0; - var maxLength = obj.byteLength - byteOffset; - if (maxLength < 0) { - throw new RangeError("'offset' is out of bounds"); - } - if (length === void 0) { - length = maxLength; - } else { - length >>>= 0; - if (length > maxLength) { - throw new RangeError("'length' is out of bounds"); - } - } - return isModern ? Buffer.from(obj.slice(byteOffset, byteOffset + length)) : new Buffer(new Uint8Array(obj.slice(byteOffset, byteOffset + length))); - } - function fromString(string, encoding) { - if (typeof encoding !== "string" || encoding === "") { - encoding = "utf8"; - } - if (!Buffer.isEncoding(encoding)) { - throw new TypeError('"encoding" must be a valid string encoding'); - } - return isModern ? Buffer.from(string, encoding) : new Buffer(string, encoding); - } - function bufferFrom(value, encodingOrOffset, length) { - if (typeof value === "number") { - throw new TypeError('"value" argument must not be a number'); - } - if (isArrayBuffer2(value)) { - return fromArrayBuffer(value, encodingOrOffset, length); - } - if (typeof value === "string") { - return fromString(value, encodingOrOffset); - } - return isModern ? Buffer.from(value) : new Buffer(value); - } - module2.exports = bufferFrom; - } -}); - -// node_modules/typedarray/index.js -var require_typedarray = __commonJS({ - "node_modules/typedarray/index.js"(exports2) { - var undefined2 = void 0; - var MAX_ARRAY_LENGTH = 1e5; - var ECMAScript = function() { - var opts = Object.prototype.toString, ophop = Object.prototype.hasOwnProperty; - return { - Class: function(v) { - return opts.call(v).replace(/^\[object *|\]$/g, ""); - }, - HasProperty: function(o, p) { - return p in o; - }, - HasOwnProperty: function(o, p) { - return ophop.call(o, p); - }, - IsCallable: function(o) { - return typeof o === "function"; - }, - ToInt32: function(v) { - return v >> 0; - }, - ToUint32: function(v) { - return v >>> 0; - } - }; - }(); - var LN2 = Math.LN2; - var abs = Math.abs; - var floor = Math.floor; - var log2 = Math.log; - var min = Math.min; - var pow = Math.pow; - var round = Math.round; - function configureProperties(obj) { - if (getOwnPropNames && defineProp) { - var props = getOwnPropNames(obj), i; - for (i = 0; i < props.length; i += 1) { - defineProp(obj, props[i], { - value: obj[props[i]], - writable: false, - enumerable: false, - configurable: false - }); - } - } - } - var defineProp; - if (Object.defineProperty && function() { - try { - Object.defineProperty({}, "x", {}); - return true; - } catch (e) { - return false; - } - }()) { - defineProp = Object.defineProperty; - } else { - defineProp = function(o, p, desc) { - if (!o === Object(o)) - throw new TypeError("Object.defineProperty called on non-object"); - if (ECMAScript.HasProperty(desc, "get") && Object.prototype.__defineGetter__) { - Object.prototype.__defineGetter__.call(o, p, desc.get); - } - if (ECMAScript.HasProperty(desc, "set") && Object.prototype.__defineSetter__) { - Object.prototype.__defineSetter__.call(o, p, desc.set); - } - if (ECMAScript.HasProperty(desc, "value")) { - o[p] = desc.value; - } - return o; - }; - } - var getOwnPropNames = Object.getOwnPropertyNames || function(o) { - if (o !== Object(o)) - throw new TypeError("Object.getOwnPropertyNames called on non-object"); - var props = [], p; - for (p in o) { - if (ECMAScript.HasOwnProperty(o, p)) { - props.push(p); - } - } - return props; - }; - function makeArrayAccessors(obj) { - if (!defineProp) { - return; - } - if (obj.length > MAX_ARRAY_LENGTH) - throw new RangeError("Array too large for polyfill"); - function makeArrayAccessor(index) { - defineProp(obj, index, { - "get": function() { - return obj._getter(index); - }, - "set": function(v) { - obj._setter(index, v); - }, - enumerable: true, - configurable: false - }); - } - var i; - for (i = 0; i < obj.length; i += 1) { - makeArrayAccessor(i); - } - } - function as_signed(value, bits) { - var s = 32 - bits; - return value << s >> s; - } - function as_unsigned(value, bits) { - var s = 32 - bits; - return value << s >>> s; - } - function packI8(n) { - return [n & 255]; - } - function unpackI8(bytes) { - return as_signed(bytes[0], 8); - } - function packU8(n) { - return [n & 255]; - } - function unpackU8(bytes) { - return as_unsigned(bytes[0], 8); - } - function packU8Clamped(n) { - n = round(Number(n)); - return [n < 0 ? 0 : n > 255 ? 255 : n & 255]; - } - function packI16(n) { - return [n >> 8 & 255, n & 255]; - } - function unpackI16(bytes) { - return as_signed(bytes[0] << 8 | bytes[1], 16); - } - function packU16(n) { - return [n >> 8 & 255, n & 255]; - } - function unpackU16(bytes) { - return as_unsigned(bytes[0] << 8 | bytes[1], 16); - } - function packI32(n) { - return [n >> 24 & 255, n >> 16 & 255, n >> 8 & 255, n & 255]; - } - function unpackI32(bytes) { - return as_signed(bytes[0] << 24 | bytes[1] << 16 | bytes[2] << 8 | bytes[3], 32); - } - function packU32(n) { - return [n >> 24 & 255, n >> 16 & 255, n >> 8 & 255, n & 255]; - } - function unpackU32(bytes) { - return as_unsigned(bytes[0] << 24 | bytes[1] << 16 | bytes[2] << 8 | bytes[3], 32); - } - function packIEEE754(v, ebits, fbits) { - var bias = (1 << ebits - 1) - 1, s, e, f, ln, i, bits, str, bytes; - function roundToEven(n) { - var w = floor(n), f2 = n - w; - if (f2 < 0.5) - return w; - if (f2 > 0.5) - return w + 1; - return w % 2 ? w + 1 : w; - } - if (v !== v) { - e = (1 << ebits) - 1; - f = pow(2, fbits - 1); - s = 0; - } else if (v === Infinity || v === -Infinity) { - e = (1 << ebits) - 1; - f = 0; - s = v < 0 ? 1 : 0; - } else if (v === 0) { - e = 0; - f = 0; - s = 1 / v === -Infinity ? 1 : 0; - } else { - s = v < 0; - v = abs(v); - if (v >= pow(2, 1 - bias)) { - e = min(floor(log2(v) / LN2), 1023); - f = roundToEven(v / pow(2, e) * pow(2, fbits)); - if (f / pow(2, fbits) >= 2) { - e = e + 1; - f = 1; - } - if (e > bias) { - e = (1 << ebits) - 1; - f = 0; - } else { - e = e + bias; - f = f - pow(2, fbits); - } - } else { - e = 0; - f = roundToEven(v / pow(2, 1 - bias - fbits)); - } - } - bits = []; - for (i = fbits; i; i -= 1) { - bits.push(f % 2 ? 1 : 0); - f = floor(f / 2); - } - for (i = ebits; i; i -= 1) { - bits.push(e % 2 ? 1 : 0); - e = floor(e / 2); - } - bits.push(s ? 1 : 0); - bits.reverse(); - str = bits.join(""); - bytes = []; - while (str.length) { - bytes.push(parseInt(str.substring(0, 8), 2)); - str = str.substring(8); - } - return bytes; - } - function unpackIEEE754(bytes, ebits, fbits) { - var bits = [], i, j, b, str, bias, s, e, f; - for (i = bytes.length; i; i -= 1) { - b = bytes[i - 1]; - for (j = 8; j; j -= 1) { - bits.push(b % 2 ? 1 : 0); - b = b >> 1; - } - } - bits.reverse(); - str = bits.join(""); - bias = (1 << ebits - 1) - 1; - s = parseInt(str.substring(0, 1), 2) ? -1 : 1; - e = parseInt(str.substring(1, 1 + ebits), 2); - f = parseInt(str.substring(1 + ebits), 2); - if (e === (1 << ebits) - 1) { - return f !== 0 ? NaN : s * Infinity; - } else if (e > 0) { - return s * pow(2, e - bias) * (1 + f / pow(2, fbits)); - } else if (f !== 0) { - return s * pow(2, -(bias - 1)) * (f / pow(2, fbits)); - } else { - return s < 0 ? -0 : 0; - } - } - function unpackF64(b) { - return unpackIEEE754(b, 11, 52); - } - function packF64(v) { - return packIEEE754(v, 11, 52); - } - function unpackF32(b) { - return unpackIEEE754(b, 8, 23); - } - function packF32(v) { - return packIEEE754(v, 8, 23); - } - (function() { - var ArrayBuffer2 = function ArrayBuffer3(length) { - length = ECMAScript.ToInt32(length); - if (length < 0) - throw new RangeError("ArrayBuffer size is not a small enough positive integer"); - this.byteLength = length; - this._bytes = []; - this._bytes.length = length; - var i; - for (i = 0; i < this.byteLength; i += 1) { - this._bytes[i] = 0; - } - configureProperties(this); - }; - exports2.ArrayBuffer = exports2.ArrayBuffer || ArrayBuffer2; - var ArrayBufferView = function ArrayBufferView2() { - }; - function makeConstructor(bytesPerElement, pack, unpack) { - var ctor; - ctor = function(buffer, byteOffset, length) { - var array, sequence, i, s; - if (!arguments.length || typeof arguments[0] === "number") { - this.length = ECMAScript.ToInt32(arguments[0]); - if (length < 0) - throw new RangeError("ArrayBufferView size is not a small enough positive integer"); - this.byteLength = this.length * this.BYTES_PER_ELEMENT; - this.buffer = new ArrayBuffer2(this.byteLength); - this.byteOffset = 0; - } else if (typeof arguments[0] === "object" && arguments[0].constructor === ctor) { - array = arguments[0]; - this.length = array.length; - this.byteLength = this.length * this.BYTES_PER_ELEMENT; - this.buffer = new ArrayBuffer2(this.byteLength); - this.byteOffset = 0; - for (i = 0; i < this.length; i += 1) { - this._setter(i, array._getter(i)); - } - } else if (typeof arguments[0] === "object" && !(arguments[0] instanceof ArrayBuffer2 || ECMAScript.Class(arguments[0]) === "ArrayBuffer")) { - sequence = arguments[0]; - this.length = ECMAScript.ToUint32(sequence.length); - this.byteLength = this.length * this.BYTES_PER_ELEMENT; - this.buffer = new ArrayBuffer2(this.byteLength); - this.byteOffset = 0; - for (i = 0; i < this.length; i += 1) { - s = sequence[i]; - this._setter(i, Number(s)); - } - } else if (typeof arguments[0] === "object" && (arguments[0] instanceof ArrayBuffer2 || ECMAScript.Class(arguments[0]) === "ArrayBuffer")) { - this.buffer = buffer; - this.byteOffset = ECMAScript.ToUint32(byteOffset); - if (this.byteOffset > this.buffer.byteLength) { - throw new RangeError("byteOffset out of range"); - } - if (this.byteOffset % this.BYTES_PER_ELEMENT) { - throw new RangeError("ArrayBuffer length minus the byteOffset is not a multiple of the element size."); - } - if (arguments.length < 3) { - this.byteLength = this.buffer.byteLength - this.byteOffset; - if (this.byteLength % this.BYTES_PER_ELEMENT) { - throw new RangeError("length of buffer minus byteOffset not a multiple of the element size"); - } - this.length = this.byteLength / this.BYTES_PER_ELEMENT; - } else { - this.length = ECMAScript.ToUint32(length); - this.byteLength = this.length * this.BYTES_PER_ELEMENT; - } - if (this.byteOffset + this.byteLength > this.buffer.byteLength) { - throw new RangeError("byteOffset and length reference an area beyond the end of the buffer"); - } - } else { - throw new TypeError("Unexpected argument type(s)"); - } - this.constructor = ctor; - configureProperties(this); - makeArrayAccessors(this); - }; - ctor.prototype = new ArrayBufferView(); - ctor.prototype.BYTES_PER_ELEMENT = bytesPerElement; - ctor.prototype._pack = pack; - ctor.prototype._unpack = unpack; - ctor.BYTES_PER_ELEMENT = bytesPerElement; - ctor.prototype._getter = function(index) { - if (arguments.length < 1) - throw new SyntaxError("Not enough arguments"); - index = ECMAScript.ToUint32(index); - if (index >= this.length) { - return undefined2; - } - var bytes = [], i, o; - for (i = 0, o = this.byteOffset + index * this.BYTES_PER_ELEMENT; i < this.BYTES_PER_ELEMENT; i += 1, o += 1) { - bytes.push(this.buffer._bytes[o]); - } - return this._unpack(bytes); - }; - ctor.prototype.get = ctor.prototype._getter; - ctor.prototype._setter = function(index, value) { - if (arguments.length < 2) - throw new SyntaxError("Not enough arguments"); - index = ECMAScript.ToUint32(index); - if (index >= this.length) { - return undefined2; - } - var bytes = this._pack(value), i, o; - for (i = 0, o = this.byteOffset + index * this.BYTES_PER_ELEMENT; i < this.BYTES_PER_ELEMENT; i += 1, o += 1) { - this.buffer._bytes[o] = bytes[i]; - } - }; - ctor.prototype.set = function(index, value) { - if (arguments.length < 1) - throw new SyntaxError("Not enough arguments"); - var array, sequence, offset, len, i, s, d, byteOffset, byteLength, tmp; - if (typeof arguments[0] === "object" && arguments[0].constructor === this.constructor) { - array = arguments[0]; - offset = ECMAScript.ToUint32(arguments[1]); - if (offset + array.length > this.length) { - throw new RangeError("Offset plus length of array is out of range"); - } - byteOffset = this.byteOffset + offset * this.BYTES_PER_ELEMENT; - byteLength = array.length * this.BYTES_PER_ELEMENT; - if (array.buffer === this.buffer) { - tmp = []; - for (i = 0, s = array.byteOffset; i < byteLength; i += 1, s += 1) { - tmp[i] = array.buffer._bytes[s]; - } - for (i = 0, d = byteOffset; i < byteLength; i += 1, d += 1) { - this.buffer._bytes[d] = tmp[i]; - } - } else { - for (i = 0, s = array.byteOffset, d = byteOffset; i < byteLength; i += 1, s += 1, d += 1) { - this.buffer._bytes[d] = array.buffer._bytes[s]; - } - } - } else if (typeof arguments[0] === "object" && typeof arguments[0].length !== "undefined") { - sequence = arguments[0]; - len = ECMAScript.ToUint32(sequence.length); - offset = ECMAScript.ToUint32(arguments[1]); - if (offset + len > this.length) { - throw new RangeError("Offset plus length of array is out of range"); - } - for (i = 0; i < len; i += 1) { - s = sequence[i]; - this._setter(offset + i, Number(s)); - } - } else { - throw new TypeError("Unexpected argument type(s)"); - } - }; - ctor.prototype.subarray = function(start, end) { - function clamp(v, min2, max) { - return v < min2 ? min2 : v > max ? max : v; - } - start = ECMAScript.ToInt32(start); - end = ECMAScript.ToInt32(end); - if (arguments.length < 1) { - start = 0; - } - if (arguments.length < 2) { - end = this.length; - } - if (start < 0) { - start = this.length + start; - } - if (end < 0) { - end = this.length + end; - } - start = clamp(start, 0, this.length); - end = clamp(end, 0, this.length); - var len = end - start; - if (len < 0) { - len = 0; - } - return new this.constructor( - this.buffer, - this.byteOffset + start * this.BYTES_PER_ELEMENT, - len - ); - }; - return ctor; - } - var Int8Array2 = makeConstructor(1, packI8, unpackI8); - var Uint8Array2 = makeConstructor(1, packU8, unpackU8); - var Uint8ClampedArray2 = makeConstructor(1, packU8Clamped, unpackU8); - var Int16Array2 = makeConstructor(2, packI16, unpackI16); - var Uint16Array2 = makeConstructor(2, packU16, unpackU16); - var Int32Array2 = makeConstructor(4, packI32, unpackI32); - var Uint32Array2 = makeConstructor(4, packU32, unpackU32); - var Float32Array2 = makeConstructor(4, packF32, unpackF32); - var Float64Array2 = makeConstructor(8, packF64, unpackF64); - exports2.Int8Array = exports2.Int8Array || Int8Array2; - exports2.Uint8Array = exports2.Uint8Array || Uint8Array2; - exports2.Uint8ClampedArray = exports2.Uint8ClampedArray || Uint8ClampedArray2; - exports2.Int16Array = exports2.Int16Array || Int16Array2; - exports2.Uint16Array = exports2.Uint16Array || Uint16Array2; - exports2.Int32Array = exports2.Int32Array || Int32Array2; - exports2.Uint32Array = exports2.Uint32Array || Uint32Array2; - exports2.Float32Array = exports2.Float32Array || Float32Array2; - exports2.Float64Array = exports2.Float64Array || Float64Array2; - })(); - (function() { - function r(array, index) { - return ECMAScript.IsCallable(array.get) ? array.get(index) : array[index]; - } - var IS_BIG_ENDIAN = function() { - var u16array = new exports2.Uint16Array([4660]), u8array = new exports2.Uint8Array(u16array.buffer); - return r(u8array, 0) === 18; - }(); - var DataView2 = function DataView3(buffer, byteOffset, byteLength) { - if (arguments.length === 0) { - buffer = new exports2.ArrayBuffer(0); - } else if (!(buffer instanceof exports2.ArrayBuffer || ECMAScript.Class(buffer) === "ArrayBuffer")) { - throw new TypeError("TypeError"); - } - this.buffer = buffer || new exports2.ArrayBuffer(0); - this.byteOffset = ECMAScript.ToUint32(byteOffset); - if (this.byteOffset > this.buffer.byteLength) { - throw new RangeError("byteOffset out of range"); - } - if (arguments.length < 3) { - this.byteLength = this.buffer.byteLength - this.byteOffset; - } else { - this.byteLength = ECMAScript.ToUint32(byteLength); - } - if (this.byteOffset + this.byteLength > this.buffer.byteLength) { - throw new RangeError("byteOffset and length reference an area beyond the end of the buffer"); - } - configureProperties(this); - }; - function makeGetter(arrayType) { - return function(byteOffset, littleEndian) { - byteOffset = ECMAScript.ToUint32(byteOffset); - if (byteOffset + arrayType.BYTES_PER_ELEMENT > this.byteLength) { - throw new RangeError("Array index out of range"); - } - byteOffset += this.byteOffset; - var uint8Array = new exports2.Uint8Array(this.buffer, byteOffset, arrayType.BYTES_PER_ELEMENT), bytes = [], i; - for (i = 0; i < arrayType.BYTES_PER_ELEMENT; i += 1) { - bytes.push(r(uint8Array, i)); - } - if (Boolean(littleEndian) === Boolean(IS_BIG_ENDIAN)) { - bytes.reverse(); - } - return r(new arrayType(new exports2.Uint8Array(bytes).buffer), 0); - }; - } - DataView2.prototype.getUint8 = makeGetter(exports2.Uint8Array); - DataView2.prototype.getInt8 = makeGetter(exports2.Int8Array); - DataView2.prototype.getUint16 = makeGetter(exports2.Uint16Array); - DataView2.prototype.getInt16 = makeGetter(exports2.Int16Array); - DataView2.prototype.getUint32 = makeGetter(exports2.Uint32Array); - DataView2.prototype.getInt32 = makeGetter(exports2.Int32Array); - DataView2.prototype.getFloat32 = makeGetter(exports2.Float32Array); - DataView2.prototype.getFloat64 = makeGetter(exports2.Float64Array); - function makeSetter(arrayType) { - return function(byteOffset, value, littleEndian) { - byteOffset = ECMAScript.ToUint32(byteOffset); - if (byteOffset + arrayType.BYTES_PER_ELEMENT > this.byteLength) { - throw new RangeError("Array index out of range"); - } - var typeArray = new arrayType([value]), byteArray = new exports2.Uint8Array(typeArray.buffer), bytes = [], i, byteView; - for (i = 0; i < arrayType.BYTES_PER_ELEMENT; i += 1) { - bytes.push(r(byteArray, i)); - } - if (Boolean(littleEndian) === Boolean(IS_BIG_ENDIAN)) { - bytes.reverse(); - } - byteView = new exports2.Uint8Array(this.buffer, byteOffset, arrayType.BYTES_PER_ELEMENT); - byteView.set(bytes); - }; - } - DataView2.prototype.setUint8 = makeSetter(exports2.Uint8Array); - DataView2.prototype.setInt8 = makeSetter(exports2.Int8Array); - DataView2.prototype.setUint16 = makeSetter(exports2.Uint16Array); - DataView2.prototype.setInt16 = makeSetter(exports2.Int16Array); - DataView2.prototype.setUint32 = makeSetter(exports2.Uint32Array); - DataView2.prototype.setInt32 = makeSetter(exports2.Int32Array); - DataView2.prototype.setFloat32 = makeSetter(exports2.Float32Array); - DataView2.prototype.setFloat64 = makeSetter(exports2.Float64Array); - exports2.DataView = exports2.DataView || DataView2; - })(); - } -}); - -// node_modules/concat-stream/index.js -var require_concat_stream = __commonJS({ - "node_modules/concat-stream/index.js"(exports2, module2) { - var Writable = require_readable2().Writable; - var inherits2 = require_inherits(); - var bufferFrom = require_buffer_from(); - if (typeof Uint8Array === "undefined") { - U8 = require_typedarray().Uint8Array; - } else { - U8 = Uint8Array; - } - var U8; - function ConcatStream(opts, cb) { - if (!(this instanceof ConcatStream)) - return new ConcatStream(opts, cb); - if (typeof opts === "function") { - cb = opts; - opts = {}; - } - if (!opts) - opts = {}; - var encoding = opts.encoding; - var shouldInferEncoding = false; - if (!encoding) { - shouldInferEncoding = true; - } else { - encoding = String(encoding).toLowerCase(); - if (encoding === "u8" || encoding === "uint8") { - encoding = "uint8array"; - } - } - Writable.call(this, { objectMode: true }); - this.encoding = encoding; - this.shouldInferEncoding = shouldInferEncoding; - if (cb) - this.on("finish", function() { - cb(this.getBody()); - }); - this.body = []; - } - module2.exports = ConcatStream; - inherits2(ConcatStream, Writable); - ConcatStream.prototype._write = function(chunk, enc, next) { - this.body.push(chunk); - next(); - }; - ConcatStream.prototype.inferEncoding = function(buff) { - var firstBuffer = buff === void 0 ? this.body[0] : buff; - if (Buffer.isBuffer(firstBuffer)) - return "buffer"; - if (typeof Uint8Array !== "undefined" && firstBuffer instanceof Uint8Array) - return "uint8array"; - if (Array.isArray(firstBuffer)) - return "array"; - if (typeof firstBuffer === "string") - return "string"; - if (Object.prototype.toString.call(firstBuffer) === "[object Object]") - return "object"; - return "buffer"; - }; - ConcatStream.prototype.getBody = function() { - if (!this.encoding && this.body.length === 0) - return []; - if (this.shouldInferEncoding) - this.encoding = this.inferEncoding(); - if (this.encoding === "array") - return arrayConcat(this.body); - if (this.encoding === "string") - return stringConcat(this.body); - if (this.encoding === "buffer") - return bufferConcat(this.body); - if (this.encoding === "uint8array") - return u8Concat(this.body); - return this.body; - }; - var isArray3 = Array.isArray || function(arr) { - return Object.prototype.toString.call(arr) == "[object Array]"; - }; - function isArrayish(arr) { - return /Array\]$/.test(Object.prototype.toString.call(arr)); - } - function isBufferish(p) { - return typeof p === "string" || isArrayish(p) || p && typeof p.subarray === "function"; - } - function stringConcat(parts) { - var strings = []; - var needsToString = false; - for (var i = 0; i < parts.length; i++) { - var p = parts[i]; - if (typeof p === "string") { - strings.push(p); - } else if (Buffer.isBuffer(p)) { - strings.push(p); - } else if (isBufferish(p)) { - strings.push(bufferFrom(p)); - } else { - strings.push(bufferFrom(String(p))); - } - } - if (Buffer.isBuffer(parts[0])) { - strings = Buffer.concat(strings); - strings = strings.toString("utf8"); - } else { - strings = strings.join(""); - } - return strings; - } - function bufferConcat(parts) { - var bufs = []; - for (var i = 0; i < parts.length; i++) { - var p = parts[i]; - if (Buffer.isBuffer(p)) { - bufs.push(p); - } else if (isBufferish(p)) { - bufs.push(bufferFrom(p)); - } else { - bufs.push(bufferFrom(String(p))); - } - } - return Buffer.concat(bufs); - } - function arrayConcat(parts) { - var res = []; - for (var i = 0; i < parts.length; i++) { - res.push.apply(res, parts[i]); - } - return res; - } - function u8Concat(parts) { - var len = 0; - for (var i = 0; i < parts.length; i++) { - if (typeof parts[i] === "string") { - parts[i] = bufferFrom(parts[i]); - } - len += parts[i].length; - } - var u8 = new U8(len); - for (var i = 0, offset = 0; i < parts.length; i++) { - var part = parts[i]; - for (var j = 0; j < part.length; j++) { - u8[offset++] = part[j]; - } - } - return u8; - } - } -}); - -// node_modules/multer/storage/memory.js -var require_memory = __commonJS({ - "node_modules/multer/storage/memory.js"(exports2, module2) { - var concat = require_concat_stream(); - function MemoryStorage(opts) { - } - MemoryStorage.prototype._handleFile = function _handleFile(req, file, cb) { - file.stream.pipe(concat({ encoding: "buffer" }, function(data) { - cb(null, { - buffer: data, - size: data.length - }); - })); - }; - MemoryStorage.prototype._removeFile = function _removeFile(req, file, cb) { - delete file.buffer; - cb(null); - }; - module2.exports = function(opts) { - return new MemoryStorage(opts); - }; - } -}); - -// node_modules/multer/index.js -var require_multer = __commonJS({ - "node_modules/multer/index.js"(exports2, module2) { - var makeMiddleware = require_make_middleware(); - var diskStorage = require_disk(); - var memoryStorage = require_memory(); - var MulterError = require_multer_error(); - function allowAll(req, file, cb) { - cb(null, true); - } - function Multer(options) { - if (options.storage) { - this.storage = options.storage; - } else if (options.dest) { - this.storage = diskStorage({ destination: options.dest }); - } else { - this.storage = memoryStorage(); - } - this.limits = options.limits; - this.preservePath = options.preservePath; - this.fileFilter = options.fileFilter || allowAll; - } - Multer.prototype._makeMiddleware = function(fields, fileStrategy) { - function setup() { - var fileFilter2 = this.fileFilter; - var filesLeft = /* @__PURE__ */ Object.create(null); - fields.forEach(function(field) { - if (typeof field.maxCount === "number") { - filesLeft[field.name] = field.maxCount; - } else { - filesLeft[field.name] = Infinity; - } - }); - function wrappedFileFilter(req, file, cb) { - if ((filesLeft[file.fieldname] || 0) <= 0) { - return cb(new MulterError("LIMIT_UNEXPECTED_FILE", file.fieldname)); - } - filesLeft[file.fieldname] -= 1; - fileFilter2(req, file, cb); - } - return { - limits: this.limits, - preservePath: this.preservePath, - storage: this.storage, - fileFilter: wrappedFileFilter, - fileStrategy - }; - } - return makeMiddleware(setup.bind(this)); - }; - Multer.prototype.single = function(name) { - return this._makeMiddleware([{ name, maxCount: 1 }], "VALUE"); - }; - Multer.prototype.array = function(name, maxCount) { - return this._makeMiddleware([{ name, maxCount }], "ARRAY"); - }; - Multer.prototype.fields = function(fields) { - return this._makeMiddleware(fields, "OBJECT"); - }; - Multer.prototype.none = function() { - return this._makeMiddleware([], "NONE"); - }; - Multer.prototype.any = function() { - function setup() { - return { - limits: this.limits, - preservePath: this.preservePath, - storage: this.storage, - fileFilter: this.fileFilter, - fileStrategy: "ARRAY" - }; - } - return makeMiddleware(setup.bind(this)); - }; - function multer2(options) { - if (options === void 0) { - return new Multer({}); - } - if (typeof options === "object" && options !== null) { - return new Multer(options); - } - throw new TypeError("Expected object for argument options"); - } - module2.exports = multer2; - module2.exports.diskStorage = diskStorage; - module2.exports.memoryStorage = memoryStorage; - module2.exports.MulterError = MulterError; - } -}); - -// server/Middleware/koa.multer.js -var require_koa_multer = __commonJS({ - "server/Middleware/koa.multer.js"(exports2, module2) { - var import_multer = __toESM(require_multer()); - function multer2(options) { - const m = (0, import_multer.default)(options); - makePromise(m, "any"); - makePromise(m, "array"); - makePromise(m, "fields"); - makePromise(m, "none"); - makePromise(m, "single"); - return m; - } - function makePromise(multer3, name) { - if (!multer3[name]) - return; - const fn2 = multer3[name]; - multer3[name] = function() { - const middleware = Reflect.apply(fn2, this, arguments); - return async (ctx, next) => { - await new Promise((resolve, reject) => { - middleware(ctx.req, ctx.res, (err) => { - if (err) - return reject(err); - if ("request" in ctx) { - if (ctx.req.body) { - ctx.request.body = ctx.req.body; - delete ctx.req.body; - } - if (ctx.req.file) { - ctx.request.file = ctx.req.file; - ctx.file = ctx.req.file; - delete ctx.req.file; - } - if (ctx.req.files) { - ctx.request.files = ctx.req.files; - ctx.files = ctx.req.files; - delete ctx.req.files; - } - } - resolve(ctx); - }); - }); - return next(); - }; - }; - } - multer2.diskStorage = import_multer.default.diskStorage; - multer2.memoryStorage = import_multer.default.memoryStorage; - module2.exports = multer2; - } -}); - -// server/Modules/dev/item/item.route.js -var import_node_fs, import_router5, import_koa, imageStorage, imageLimits, fileFilter, upload, itemRouter, item_route_default; -var init_item_route = __esm({ - "server/Modules/dev/item/item.route.js"() { - import_node_fs = __toESM(require("node:fs")); - import_router5 = __toESM(require_router()); - import_koa = __toESM(require_koa_multer()); - init_role_controller(); - init_server(); - init_permissions(); - init_DevLogger(); - init_UnlLogger(); - init_globalData(); - init_item_utils(); - init_WebLogger(); - imageStorage = import_koa.default.diskStorage({ - destination: unlEnv.inventoryImagePath, - filename: function(req, file, cb) { - return cb(null, file.originalname); - } - }); - imageLimits = { - fields: 10, - fileSize: 500 * 1024, - files: 1 - }; - fileFilter = function(req, file, callback) { - if (import_node_fs.default.existsSync(path.join(unlEnv.inventoryImagePath, file.originalname))) { - req.error = `File ${file.originalname} does already exist!`; - callback(null, false); - } else { - callback(null, true); - } - }; - upload = (0, import_koa.default)({ - storage: imageStorage, - limits: imageLimits, - fileFilter - }).single("file"); - itemRouter = new import_router5.default({ prefix: "/items" }); - itemRouter.get( - "/", - checkPermission(ACTION.DEV.ITEM.READ, RESOURCE.DEV), - async (ctx) => { - devLogger.info(`${ctx.session.auth.user.name} requested all items.`); - try { - const items = Game.getItems(); - ctx.body = { - items - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - itemRouter.get( - "/list", - checkPermission(ACTION.DEV.ITEM.READ, RESOURCE.DEV), - async (ctx) => { - devLogger.info(`${ctx.session.auth.user.name} requested item list.`); - try { - const items = Game.getItems(); - let images = []; - import_node_fs.default.readdirSync(unlEnv.inventoryImagePath).forEach((image) => { - images.push(image); - }); - ctx.body = { - items: Object.values(items).map(({ name, label }) => { - return { value: name, label }; - }), - images - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - itemRouter.get("/item-list", async (ctx) => { - webLogger.info(`${ctx.session.auth.user.name} requested item list.`); - try { - const items = Game.QBCore.Shared.Items; - ctx.body = { - items: Object.values(items).map(({ name, label, image }) => { - return { value: name, label, image }; - }) - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - }); - itemRouter.get( - "/:id", - checkPermission(ACTION.DEV.ITEM.READ, RESOURCE.DEV), - (ctx) => { - devLogger.info( - `${ctx.session.auth.user.name} requested item ${ctx.params.id}.` - ); - try { - const itemId = ctx.params.id; - const items = Game.getItems(); - const item = Game.getItem(itemId); - let images = []; - import_node_fs.default.readdirSync(unlEnv.inventoryImagePath).forEach((image) => { - images.push(image); - }); - ctx.body = { - item, - items: Object.values(items).map(({ name, label }) => { - return { value: name, label }; - }), - images - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - itemRouter.patch( - "/save/:id", - checkPermission(ACTION.DEV.ITEM.MODIFY, RESOURCE.DEV), - async (ctx) => { - devLogger.info( - `${ctx.session.auth.user.name} requested save item ${ctx.params.id}.` - ); - try { - const itemId = ctx.params.id; - const data = ctx.request.body; - const { resCode, resMsg } = await Game.updateItem(itemId, data); - if (resCode) - devLogger.info( - `${ctx.session.auth.user.name} successfully saved item ${itemId}.` - ); - ctx.body = { - resCode, - resMsg - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - itemRouter.post( - "/create", - checkPermission(ACTION.DEV.ITEM.CREATE, RESOURCE.DEV), - async (ctx) => { - devLogger.info( - `${ctx.session.auth.user.name} requested create item ${ctx.request.body.name}.` - ); - try { - const data = ctx.request.body; - const { resCode, resMsg } = await Game.addItem(data.name, data); - if (resCode) - devLogger.info( - `${ctx.session.auth.user.name} successfully created item ${data.name}.` - ); - ctx.body = { - resCode, - resMsg - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - itemRouter.delete( - "/delete/:id", - checkPermission(ACTION.DEV.ITEM.DELETE, RESOURCE.DEV), - async (ctx) => { - devLogger.info( - `${ctx.session.auth.user.name} requested delete item ${ctx.params.id}.` - ); - try { - const itemId = ctx.params.id; - const { resCode, resMsg } = await Game.deleteItem(itemId); - if (resCode) { - devLogger.info( - `${ctx.session.auth.user.name} successfully deleted item ${itemId}.` - ); - await deleteItemTypeFromSupportStash(itemId); - } - ctx.body = { - resCode, - resMsg - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - itemRouter.post( - "/icon-upload", - checkPermission(ACTION.DEV.ITEM.READ, RESOURCE.DEV), - upload, - async (ctx) => { - try { - ctx.status = 200; - if (ctx.req.error) { - ctx.body = { - resCode: false, - resMsg: "filename_exists" - }; - return; - } - devLogger.info( - `${ctx.session.auth.user.name} uplaoded item image ${ctx.file.originalname}.` - ); - let images = []; - import_node_fs.default.readdirSync(unlEnv.inventoryImagePath).forEach((image) => { - images.push(image); - }); - ctx.body = { - resCode: true, - filename: ctx.file.originalname, - images - }; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - item_route_default = itemRouter; - } -}); - -// server/Modules/dev/gang/gang.route.js -var import_router6, gangRouter, gang_route_default; -var init_gang_route = __esm({ - "server/Modules/dev/gang/gang.route.js"() { - import_router6 = __toESM(require_router()); - init_role_controller(); - init_server(); - init_permissions(); - init_DevLogger(); - init_UnlLogger(); - gangRouter = new import_router6.default({ prefix: "/gangs" }); - gangRouter.get( - "/", - checkPermission(ACTION.DEV.GANG.READ, RESOURCE.DEV), - async (ctx) => { - devLogger.info(`${ctx.session.auth.user.name} requested all gangs.`); - try { - const gangs = Game.getGangs(); - ctx.body = { - gangs - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - gangRouter.get( - "/:id", - checkPermission(ACTION.DEV.GANG.READ, RESOURCE.DEV), - (ctx) => { - devLogger.info( - `${ctx.session.auth.user.name} requested gang ${ctx.params.id}.` - ); - try { - const gangId = ctx.params.id; - const gang = Game.getGang(gangId); - ctx.body = { - gang - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - gangRouter.patch( - "/save/:id", - checkPermission(ACTION.DEV.GANG.MODIFY, RESOURCE.DEV), - async (ctx) => { - devLogger.info( - `${ctx.session.auth.user.name} requested save gang ${ctx.params.id}.` - ); - try { - const gangId = ctx.params.id; - const data = ctx.request.body; - const { resCode, resMsg } = await Game.updateGang(gangId, data); - if (resCode) - devLogger.info( - `${ctx.session.auth.user.name} successfully saved gang ${gangId}.` - ); - ctx.body = { - resCode, - resMsg - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - gangRouter.post( - "/create", - checkPermission(ACTION.DEV.GANG.CREATE, RESOURCE.DEV), - async (ctx) => { - devLogger.info( - `${ctx.session.auth.user.name} requested create gang ${ctx.request.body.name}.` - ); - try { - const gang = ctx.request.body; - const { resCode, resMsg } = await Game.addGang(gang.name, gang); - if (resCode) - devLogger.info( - `${ctx.session.auth.user.name} successfully created gang ${gang.name}.` - ); - ctx.body = { - resCode, - resMsg - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - gangRouter.delete( - "/delete/:id", - checkPermission(ACTION.DEV.GANG.DELETE, RESOURCE.DEV), - async (ctx) => { - devLogger.info( - `${ctx.session.auth.user.name} requested delete gang ${ctx.params.id}.` - ); - try { - const gangId = ctx.params.id; - const { resCode, resMsg } = await Game.deleteGang(gangId); - if (resCode) - devLogger.info( - `${ctx.session.auth.user.name} successfully deleted gang ${gangId}.` - ); - ctx.body = { - resCode, - resMsg - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - gang_route_default = gangRouter; - } -}); - -// server/Modules/dev/job/job.route.js -var import_router7, jobRouter, job_route_default; -var init_job_route = __esm({ - "server/Modules/dev/job/job.route.js"() { - import_router7 = __toESM(require_router()); - init_role_controller(); - init_server(); - init_permissions(); - init_DevLogger(); - init_UnlLogger(); - jobRouter = new import_router7.default({ prefix: "/jobs" }); - jobRouter.get( - "/", - checkPermission(ACTION.DEV.JOB.READ, RESOURCE.DEV), - async (ctx) => { - devLogger.info(`${ctx.session.auth.user.name} requested all jobs.`); - try { - const jobs = Game.getJobs(); - ctx.body = { - jobs - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - jobRouter.get( - "/:id", - checkPermission(ACTION.DEV.JOB.READ, RESOURCE.DEV), - (ctx) => { - devLogger.info( - `${ctx.session.auth.user.name} requested job ${ctx.params.id}.` - ); - try { - const jobId = ctx.params.id; - const job = Game.getJob(jobId); - ctx.body = { - job - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - jobRouter.patch( - "/save/:id", - checkPermission(ACTION.DEV.JOB.MODIFY, RESOURCE.DEV), - async (ctx) => { - devLogger.info( - `${ctx.session.auth.user.name} requested save job ${ctx.params.id}.` - ); - try { - const jobId = ctx.params.id; - const data = ctx.request.body; - const { resCode, resMsg } = await Game.updateJob(jobId, data); - if (resCode) - devLogger.info( - `${ctx.session.auth.user.name} successfully saved job ${jobId}.` - ); - ctx.body = { - resCode, - resMsg - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - jobRouter.post( - "/create", - checkPermission(ACTION.DEV.JOB.CREATE, RESOURCE.DEV), - async (ctx) => { - devLogger.info( - `${ctx.session.auth.user.name} requested create job ${ctx.request.body.name}.` - ); - try { - const job = ctx.request.body; - const { resCode, resMsg } = await Game.addJob(job.name, job); - if (resCode) - devLogger.info( - `${ctx.session.auth.user.name} successfully created item ${job.name}.` - ); - ctx.body = { - resCode, - resMsg - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - jobRouter.delete( - "/delete/:id", - checkPermission(ACTION.DEV.JOB.DELETE, RESOURCE.DEV), - async (ctx) => { - devLogger.info( - `${ctx.session.auth.user.name} requested delete job ${ctx.params.id}.` - ); - try { - const jobId = ctx.params.id; - const { resCode, resMsg } = await Game.deleteJob(jobId); - if (resCode) - devLogger.info( - `${ctx.session.auth.user.name} successfully deleted job ${jobId}.` - ); - ctx.body = { - resCode, - resMsg - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - job_route_default = jobRouter; - } -}); - -// server/Modules/game/vehicle/vehicle.controller.js -var getVehicleHandle, getPartialDatabaseVehicles, getPlayerVehicles, getVehicle, updateVehicleOwnerData, updateVehicleFieldData, deleteVehicle; -var init_vehicle_controller = __esm({ - "server/Modules/game/vehicle/vehicle.controller.js"() { - init_vehicle_service(); - init_globalData(); - getVehicleHandle = (plate) => { - const vehicleHandles = GetAllVehicles(); - const searchPlate = plate.trim().toUpperCase(); - let foundHandle = false; - vehicleHandles.some(function(handle) { - const curPlate = GetVehicleNumberPlateText(handle); - if (curPlate.trim() === searchPlate) { - foundHandle = handle; - return true; - } - }); - return foundHandle; - }; - getPartialDatabaseVehicles = async (start, count, filter2, orderBy, desc) => { - const ownedVehicles = await getOwnedVehiclesPartial( - start, - count, - filter2, - orderBy, - desc - ); - if (ownedVehicles.length === 0) - return []; - const vehicleHandles = GetAllVehicles(); - vehicleHandles.forEach((handle) => { - const plate = GetVehicleNumberPlateText(handle); - const matchedVeh = ownedVehicles.find( - (e) => e.plate.trim() === plate.trim().toUpperCase() - ); - if (matchedVeh) - matchedVeh.spawned = true; - }); - return ownedVehicles; - }; - getPlayerVehicles = async (startRow, count, filter2, sortBy, descending, citizenid) => { - const ownedVehicles = await getPlayerOwnedVehiclesPartial( - startRow, - count, - filter2, - sortBy, - descending, - citizenid - ); - if (ownedVehicles.length === 0) - return []; - const vehicleHandles = GetAllVehicles(); - vehicleHandles.forEach((handle) => { - const plate = GetVehicleNumberPlateText(handle); - const matchedVeh = ownedVehicles.find( - (e) => e.plate.trim() === plate.trim().toUpperCase() - ); - if (matchedVeh) - matchedVeh.spawned = true; - }); - return ownedVehicles; - }; - getVehicle = async (id) => { - let vehicle = await getVehicleById(id); - vehicle = vehicle[0]; - if (!vehicle) - return null; - vehicle.garage = vehicle[unlEnv.config.vehGarageColumn]; - vehicle.mods = JSON.parse(vehicle.mods); - return vehicle; - }; - updateVehicleOwnerData = async (id, citizenid, license) => { - return await updateVehicleOwner(id, citizenid, license); - }; - updateVehicleFieldData = async (id, field, value) => { - const fields = [ - "fuel", - "engine", - "body", - "state", - "garage", - "drivingdistance", - "depotprice", - "balance", - "paymentamount", - "paymentsleft", - "financetime" - ]; - if (!fields.includes(field)) - return false; - let cField = field; - if (field === "garage") - cField = unlEnv.config.vehGarageColumn; - if (field === "state") - cField = unlEnv.config.vehStateColumn; - return await updateVehicleField(id, cField, value); - }; - deleteVehicle = async (id) => { - return await deleteVehicleDataset(id); - }; - } -}); - -// server/Logging/LogReader.js -async function getLogFileData(logFile, fromline = null) { - const inputStream = fs6.createReadStream(unlEnv.loggerPaths[logFile]); - const lineReader = readline.createInterface({ - input: inputStream, - terminal: false - }); - const results = []; - for await (const line of lineReader) { - results.push(line); - } - lineReader.close(); - inputStream.destroy(); - const fromlineIndex = results.indexOf(fromline); - if (results[fromlineIndex] === results[0]) - return []; - return fromlineIndex !== -1 ? results.slice(fromlineIndex - 50 >= 0 ? fromlineIndex - 50 : 0, fromlineIndex).reverse() : results.slice( - results.length - 50 >= 0 ? results.length - 50 : 0, - results.length - ).reverse(); -} -async function getPlayerLogs(citizenid, fromline = null) { - const inputStream = fs6.createReadStream(unlEnv.loggerPaths["player"]); - const lineReader = readline.createInterface({ - input: inputStream, - terminal: false - }); - const results = []; - for await (const line of lineReader) { - results.push(line); - } - lineReader.close(); - inputStream.destroy(); - const playerResult = results.filter(function(str) { - return str.includes(`[${citizenid}]`); - }); - const fromlineIndex = playerResult.indexOf(fromline); - if (playerResult[fromlineIndex] === playerResult[0]) - return []; - return fromlineIndex !== -1 ? playerResult.slice(fromlineIndex - 50 >= 0 ? fromlineIndex - 50 : 0, fromlineIndex).reverse() : playerResult.slice( - playerResult.length - 50 >= 0 ? playerResult.length - 50 : 0, - playerResult.length - ).reverse(); -} -async function getPlayerBans(citizenid) { - const inputStream = fs6.createReadStream(unlEnv.banFile); - const lineReader = readline.createInterface({ - input: inputStream, - terminal: false - }); - const results = []; - for await (const line of lineReader) { - results.push(line); - } - lineReader.close(); - inputStream.destroy(); - return results.filter(function(str) { - return str.includes(`[${citizenid}]`); - }).reverse(); -} -var readline, fs6; -var init_LogReader = __esm({ - "server/Logging/LogReader.js"() { - readline = __toESM(require("node:readline")); - fs6 = __toESM(require("node:fs")); - init_globalData(); - } -}); - -// server/Modules/game/player/inventory/inventory.service.js -var parseItemsToObject, handleFinishInvAction, handleEditItem2, handleAddItem2, handleDeleteItem2, handleMoveItem, handleClearInventory, handleFixInventory; -var init_inventory_service = __esm({ - "server/Modules/game/player/inventory/inventory.service.js"() { - init_globalData(); - init_player_service(); - init_item_utils(); - init_server(); - init_PlayerLogger(); - parseItemsToObject = (items) => { - let rebuildedInv = {}; - items.forEach((item) => { - rebuildedInv[`${item.slot}`] = item; - }); - return rebuildedInv; - }; - handleFinishInvAction = async (player, stashItems, itemName) => { - if (player) { - global.exports[unlEnv.resourceName].parseItemUpdate( - unlEnv.unlQBName, - player.PlayerData.citizenid, - player.PlayerData.items - ); - if (!player.Offline) { - if (itemName) - TriggerClientEvent( - "inventory:client:CheckWeapon", - player.PlayerData.source, - itemName - ); - TriggerClientEvent( - "inventory:client:UpdatePlayerInventory", - player.PlayerData.source, - false - ); - } - TriggerEvent("unlimited::update::playerInv", player.PlayerData); - } - if (stashItems) { - await saveSupporterStash(stashItems); - TriggerEvent("unlimited::update::supStash", stashItems); - } - }; - handleEditItem2 = async (citizenid, fromStorage, fromSlot, item) => { - let items = null; - let player = null; - let playerUsed = false; - let stashUsed = false; - if (fromStorage === STORAGE_IDENTIFIERS.PLAYER) { - playerUsed = true; - player = await getPlayer(citizenid); - if (!player) { - return { resCode: false, resMsg: "unknown_citizenid" }; - } - if (Array.isArray(player.PlayerData.items)) { - player.PlayerData.items = parseItemsToObject(player.PlayerData.items); - } - items = player.PlayerData.items; - } else { - stashUsed = true; - items = await getSupporterStash(); - } - const foundItem = items[fromSlot]; - if (!foundItem) - return { resCode: false, resMsg: "moved" }; - const { resCode, resMsg } = editItem(items, item); - if (!resCode) { - return { resCode, resMsg }; - } - await handleFinishInvAction( - playerUsed ? player : null, - stashUsed ? items : null, - item.name - ); - return { resCode: true, resMsg: "success" }; - }; - handleAddItem2 = async (citizenid, storage, item) => { - let items = null; - let player = null; - let playerUsed = false; - let stashUsed = false; - if (storage === STORAGE_IDENTIFIERS.PLAYER) { - playerUsed = true; - player = await getPlayer(citizenid); - if (!player) { - return { resCode: false, resMsg: "unknown_citizenid" }; - } - if (Array.isArray(player.PlayerData.items)) { - player.PlayerData.items = parseItemsToObject(player.PlayerData.items); - } - items = player.PlayerData.items; - } else { - stashUsed = true; - items = await getSupporterStash(); - } - const { resCode, resMsg } = addItem( - items, - item.name, - null, - item.amount, - item.info, - unlEnv.maxPlayerSlots - ); - if (!resCode) { - return { resCode, resMsg }; - } - await handleFinishInvAction( - playerUsed ? player : null, - stashUsed ? items : null, - item.name - ); - return { resCode: true, resMsg: "success" }; - }; - handleDeleteItem2 = async (citizenid, fromStorage, fromSlot, amount) => { - let items = null; - let player = null; - let playerUsed = false; - let stashUsed = false; - if (fromStorage === STORAGE_IDENTIFIERS.PLAYER) { - playerUsed = true; - player = await getPlayer(citizenid); - if (!player) { - return { resCode: false, resMsg: "unknown_citizenid" }; - } - if (Array.isArray(player.PlayerData.items)) { - player.PlayerData.items = parseItemsToObject(player.PlayerData.items); - } - items = player.PlayerData.items; - } else { - stashUsed = true; - items = await getSupporterStash(); - } - const item = items[fromSlot]; - if (!item) - return { resCode: false, resMsg: "moved" }; - const itemFromAmount = amount || item.amount; - if (itemFromAmount < 0) - return { resCode: false, resMsg: "negative" }; - removeItem( - items, - fromSlot, - item.amount < itemFromAmount ? item.amount : itemFromAmount - ); - await handleFinishInvAction( - playerUsed ? player : null, - stashUsed ? items : null, - item.name - ); - return { resCode: true, resMsg: "success", resItem: item }; - }; - handleMoveItem = async (citizenid, fromStorage, toStorage, fromSlot, toSlot, amount) => { - let player = null; - let stashItems = null; - let playerUsed = false; - let stashUsed = false; - let didSwap = false; - if (fromStorage === STORAGE_IDENTIFIERS.PLAYER || toStorage === STORAGE_IDENTIFIERS.PLAYER) { - playerUsed = true; - player = await getPlayer(citizenid); - if (!player) { - return { resCode: false, resMsg: "unknown_citizenid" }; - } - if (Array.isArray(player.PlayerData.items)) { - player.PlayerData.items = parseItemsToObject(player.PlayerData.items); - } - } - if (fromStorage === STORAGE_IDENTIFIERS.STASH || toStorage === STORAGE_IDENTIFIERS.STASH) { - stashUsed = true; - stashItems = await getSupporterStash(); - } - const fromItems = fromStorage === STORAGE_IDENTIFIERS.PLAYER ? player.PlayerData.items : stashItems; - const item = fromItems[fromSlot]; - if (!item) - return { resCode: false, resMsg: "moved" }; - const itemFromAmount = amount || item.amount; - if (itemFromAmount < 0) - return { resCode: false, resMsg: "negative" }; - if (item.amount < itemFromAmount) - return { resCode: false, resMsg: "not_enough" }; - const toItems = toStorage === STORAGE_IDENTIFIERS.PLAYER ? player.PlayerData.items : stashItems; - const toItem = toItems[toSlot]; - if (toItem && toItem.name !== item.name || toItem && toItem.name === toItem.name && toItem.unique) { - didSwap = true; - swapItem(fromItems, toItems, fromSlot, toSlot); - } else { - removeItem(fromItems, fromSlot, itemFromAmount); - const { resCode, resMsg } = addItem( - toItems, - item.name, - toSlot, - itemFromAmount, - item.info, - unlEnv.maxPlayerSlots - ); - if (!resCode && resMsg === "noSlot") { - return { resCode: true, resMsg: "internal" }; - } - } - await handleFinishInvAction( - playerUsed ? player : null, - stashUsed ? stashItems : null, - item.name - ); - return { - resCode: true, - resMsg: "success", - resItems: { didSwap, item: item.name, toItem: toItem == null ? void 0 : toItem.name } - }; - }; - handleClearInventory = async (citizenid) => { - let player = await getPlayer(citizenid); - if (!player) { - return { resCode: false, resMsg: "unknown_citizenid" }; - } - player.PlayerData.items = {}; - await handleFinishInvAction(player, null, null); - return { resCode: true, resMsg: "success" }; - }; - handleFixInventory = async (citizenid) => { - var _a; - const data = await getPlayerInventoryFromDB(citizenid); - if (!data) { - return { resCode: false, resMsg: "unknown_citizenid" }; - } - let inv = JSON.parse(data.inventory); - if (Array.isArray(inv)) { - inv = parseItemsToObject(inv); - } - const resItems = []; - const newInv = {}; - for (const [slot, item] of Object.entries(inv)) { - const itemInfo = Game.QBCore.Shared.Items[(_a = item == null ? void 0 : item.name) == null ? void 0 : _a.toLowerCase()]; - if (!itemInfo) { - playerLogger.warn( - `[${citizenid}] Deleted player inventory item ${item.name} due deleted item defintion (QBShared).` - ); - resItems.push(item); - continue; - } - newInv[slot] = item; - } - await savePlayerInventoryToDB(citizenid, JSON.stringify(newInv)); - return { resCode: true, resMsg: "success", resItems }; - }; - } -}); - -// server/Modules/game/player/inventory/inventory.route.js -var import_router8, playerInventoryRouter, inventory_route_default; -var init_inventory_route = __esm({ - "server/Modules/game/player/inventory/inventory.route.js"() { - import_router8 = __toESM(require_router()); - init_role_controller(); - init_permissions(); - init_WebLogger(); - init_UnlLogger(); - init_player_service(); - init_inventory_service(); - init_globalData(); - init_server(); - init_PlayerLogger(); - init_item_utils(); - playerInventoryRouter = new import_router8.default({ prefix: "/:citizenid/inventory" }); - playerInventoryRouter.get( - "/", - checkPermission(ACTION.GAME.PLAYER.READ, RESOURCE.GAME), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} requested inventory for citizenid ${ctx.params.citizenid}.` - ); - try { - const citizenid = ctx.params.citizenid; - const player = await getPlayer(citizenid); - if (!player) { - ctx.body = { - resCode: false, - resMsg: "unknown_citizenid" - }; - return; - } - const inventory2 = player.PlayerData.items; - const stash = await getSupporterStash(); - const playerSlots = unlEnv.maxPlayerSlots; - playerLogger.info( - `[${ctx.params.citizenid}] ${ctx.session.auth.user.name} viewed inventory.` - ); - ctx.body = { - resCode: true, - inventory: inventory2, - stash, - playerSlots - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - playerInventoryRouter.post( - "/move", - checkPermission(ACTION.GAME.PLAYER.INVENTORY, RESOURCE.GAME), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} requested move item for citizenid ${ctx.params.citizenid}.` - ); - try { - const citizenid = ctx.params.citizenid; - const { fromStorage, toStorage, fromSlot, toSlot, amount } = ctx.request.body; - const fromStorageName = fromStorage === "p" ? "Player-Inventory" : "Supporter-Stash"; - const toStorageName = toStorage === "p" ? "Player-Inventory" : "Supporter-Stash"; - const { resCode, resMsg, resItems } = await handleMoveItem( - citizenid, - fromStorage, - toStorage, - fromSlot, - toSlot, - amount - ); - if (resCode) - if (resItems.didSwap) - playerLogger.info( - `[${ctx.params.citizenid}] ${ctx.session.auth.user.name} swaped item ${resItems.item} from ${fromStorageName} slot ${fromSlot} with item ${resItems.toItem} from ${toStorageName} slot ${toSlot} in inventory.` - ); - else - playerLogger.info( - `[${ctx.params.citizenid}] ${ctx.session.auth.user.name} moved item ${resItems.item} from ${fromStorageName} slot ${fromSlot} to ${toStorageName} slot ${toSlot} in inventory.` - ); - ctx.body = { - resCode, - resMsg - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - playerInventoryRouter.post( - "/delete", - checkPermission(ACTION.GAME.PLAYER.INVENTORY, RESOURCE.GAME), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} requested delete item for citizenid ${ctx.params.citizenid}.` - ); - try { - const citizenid = ctx.params.citizenid; - const { fromStorage, fromSlot, amount } = ctx.request.body; - const storageName = fromStorage === "p" ? "Player-Inventory" : "Supporter-Stash"; - const { resCode, resMsg, resItem } = await handleDeleteItem2( - citizenid, - fromStorage, - fromSlot, - amount - ); - if (resCode) - playerLogger.info( - `[${ctx.params.citizenid}] ${ctx.session.auth.user.name} deleted item ${resItem.name} from ${storageName} slot ${fromSlot} in inventory.` - ); - ctx.body = { - resCode, - resMsg - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - playerInventoryRouter.post( - "/add", - checkPermission(ACTION.GAME.PLAYER.INVENTORY, RESOURCE.GAME), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} requested add item for citizenid ${ctx.params.citizenid}.` - ); - try { - const citizenid = ctx.params.citizenid; - const { storage, item } = ctx.request.body; - const { resCode, resMsg } = await handleAddItem2(citizenid, storage, item); - if (resCode && storage === STORAGE_IDENTIFIERS.PLAYER) - playerLogger.info( - `[${ctx.params.citizenid}] ${ctx.session.auth.user.name} added ${item.amount}x ${item.name} to inventory.` - ); - ctx.body = { - resCode, - resMsg - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - playerInventoryRouter.post( - "/edit", - checkPermission(ACTION.GAME.PLAYER.INVENTORY, RESOURCE.GAME), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} requested edit item for citizenid ${ctx.params.citizenid}.` - ); - try { - const citizenid = ctx.params.citizenid; - const { fromStorage, fromSlot, item } = ctx.request.body; - const { resCode, resMsg } = await handleEditItem2( - citizenid, - fromStorage, - fromSlot, - item - ); - if (resCode) - playerLogger.info( - `[${ctx.params.citizenid}] ${ctx.session.auth.user.name} edited ${item.name} at slot ${fromSlot} in inventory.` - ); - ctx.body = { - resCode, - resMsg - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - playerInventoryRouter.post( - "/clear", - checkPermission(ACTION.GAME.PLAYER.INVENTORY, RESOURCE.GAME), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} requested clear inv for citizenid ${ctx.params.citizenid}.` - ); - try { - const citizenid = ctx.params.citizenid; - const { resCode, resMsg } = await handleClearInventory(citizenid); - if (resCode) - playerLogger.info( - `[${ctx.params.citizenid}] ${ctx.session.auth.user.name} cleared inventory.` - ); - ctx.body = { - resCode, - resMsg - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - playerInventoryRouter.post( - "/fix-items", - checkPermission(ACTION.GAME.PLAYER.READ, RESOURCE.GAME), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} requested fix inv for citizenid ${ctx.params.citizenid}.` - ); - try { - const citizenid = ctx.params.citizenid; - const { resCode, resMsg, resItems } = await handleFixInventory(citizenid); - ctx.body = { - resCode, - resMsg, - resItems - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - inventory_route_default = playerInventoryRouter; - } -}); - -// server/Modules/game/player/player.route.js -var import_router9, playerRouter, player_route_default; -var init_player_route = __esm({ - "server/Modules/game/player/player.route.js"() { - import_router9 = __toESM(require_router()); - init_role_controller(); - init_server(); - init_permissions(); - init_player_service(); - init_PlayerLogger(); - init_UnlLogger(); - init_WebLogger(); - init_vehicle_controller(); - init_globalData(); - init_BanFile(); - init_LogReader(); - init_inventory_route(); - init_vehicle_service(); - playerRouter = new import_router9.default({ prefix: "/players" }); - playerRouter.use( - inventory_route_default.routes(), - inventory_route_default.allowedMethods() - ); - playerRouter.post( - "/", - checkPermission(ACTION.GAME.PLAYER.READ, RESOURCE.GAME), - async (ctx) => { - webLogger.info(`${ctx.session.auth.user.name} requested all players.`); - try { - const { startRow, count, filter: filter2, sortBy, descending } = ctx.request.body; - const players = await getPartialDatabasePlayers( - startRow, - count, - filter2, - sortBy, - descending - ); - players.forEach((player) => { - player.online = !!Game.QBCore.Functions.GetPlayerByCitizenId( - player.citizenid - ); - }); - ctx.body = { - players - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - playerRouter.post( - "/player-count", - checkPermission(ACTION.GAME.PLAYER.READ, RESOURCE.GAME), - async (ctx) => { - try { - const { filter: filter2 } = ctx.request.body; - const data = await getDatabasePlayersCount(filter2); - ctx.body = { - count: data[0].count - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - playerRouter.post( - "/change-account", - checkPermission(ACTION.GAME.PLAYER.LICENSE, RESOURCE.GAME), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} requested change account for citizenid ${ctx.request.body.citizenid}.` - ); - try { - const { citizenid, license } = ctx.request.body; - const player = await getPlayer(citizenid); - if (!citizenid || !license) { - ctx.body = { - resCode: false, - resMsg: "missingFields" - }; - ctx.status = 200; - return; - } - playerLogger.info( - `[${citizenid}] ${ctx.session.auth.user.name} changed account to ${license}.` - ); - if (player.PlayerData.source) - DropPlayer( - player.PlayerData.source, - `Your character got transfered to an other account by ${ctx.session.auth.user.name}` - ); - const resCode = await changePlayerAccount(citizenid, license); - ctx.body = { - resCode, - resMsg: resCode ? "" : "notFound" - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - playerRouter.get( - "/change-job", - checkPermission(ACTION.GAME.PLAYER.JOB, RESOURCE.GAME), - async (ctx) => { - webLogger.info(`${ctx.session.auth.user.name} requested change jobs.`); - try { - const jobs = Game.QBCore.Shared.Jobs; - ctx.body = { - jobs - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - playerRouter.post( - "/change-job", - checkPermission(ACTION.GAME.PLAYER.JOB, RESOURCE.GAME), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} requested change job for citizenid ${ctx.request.body.citizenid}.` - ); - try { - const { citizenid, name, grade } = ctx.request.body; - let player = Game.QBCore.Functions.GetPlayerByCitizenId(citizenid); - if (!player) { - player = await Game.QBCore.Functions.GetOfflinePlayerByCitizenId( - citizenid - ); - } - if (!player) { - ctx.body = { - resCode: false, - resMsg: "notFound" - }; - ctx.status = 200; - return; - } - const resCode = player.Functions.SetJob(name, grade); - if (resCode) - player.Functions.Save(); - playerLogger.info( - `[${player.PlayerData.citizenid}] ${ctx.session.auth.user.name} changed job to ${name} ${grade} for ${player.PlayerData.charinfo.firstname} ${player.PlayerData.charinfo.lastname}.` - ); - ctx.body = { - resCode - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - playerRouter.get( - "/change-gang", - checkPermission(ACTION.GAME.PLAYER.GANG, RESOURCE.GAME), - async (ctx) => { - webLogger.info(`${ctx.session.auth.user.name} requested change gangs.`); - try { - const gangs = Game.QBCore.Shared.Gangs; - ctx.body = { - gangs - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - playerRouter.post( - "/change-gang", - checkPermission(ACTION.GAME.PLAYER.GANG, RESOURCE.GAME), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} requested change gang for citizenid ${ctx.request.body.citizenid}.` - ); - try { - const { citizenid, name, grade } = ctx.request.body; - let player = Game.QBCore.Functions.GetPlayerByCitizenId(citizenid); - if (!player) { - player = await Game.QBCore.Functions.GetOfflinePlayerByCitizenId( - citizenid - ); - } - if (!player) { - ctx.body = { - resCode: false, - resMsg: "notFound" - }; - ctx.status = 200; - return; - } - const resCode = player.Functions.SetGang(name, grade); - if (resCode) - player.Functions.Save(); - playerLogger.info( - `[${player.PlayerData.citizenid}] ${ctx.session.auth.user.name} changed gang to ${name} ${grade} for ${player.PlayerData.charinfo.firstname} ${player.PlayerData.charinfo.lastname}.` - ); - ctx.body = { - resCode - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - playerRouter.get( - "/:citizenid/screen", - checkPermission(ACTION.GAME.PLAYER.READ, RESOURCE.GAME), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} requested screenshot for citizenid ${ctx.params.citizenid}.` - ); - const player = Game.QBCore.Functions.GetPlayerByCitizenId( - ctx.params.citizenid - ); - if (!player) { - ctx.body = { - resCode: false, - resMsg: "notFound" - }; - ctx.status = 200; - return; - } - const screenResponse = await getPlayerScreen(player.PlayerData.source); - ctx.body = { - resCode: !screenResponse.err, - resMsg: "success", - img: screenResponse.data - }; - ctx.status = 200; - } - ); - playerRouter.get( - "/:citizenid/notes", - checkPermission(ACTION.GAME.PLAYER.READ, RESOURCE.GAME), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} requested save note for citizenid ${ctx.params.citizenid}.` - ); - try { - const note = Database.getNote(ctx.params.citizenid); - ctx.body = { - resCode: true, - resMsg: "success", - note - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - playerRouter.post( - "/:citizenid/notes", - checkPermission(ACTION.GAME.PLAYER.READ, RESOURCE.GAME), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} requested save note for citizenid ${ctx.params.citizenid}.` - ); - try { - const { note } = ctx.request.body; - const { resCode, resMsg } = await Database.saveNote( - ctx.params.citizenid, - note - ); - ctx.body = { - resCode, - resMsg - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - playerRouter.get( - "/:citizenid", - checkPermission(ACTION.GAME.PLAYER.READ, RESOURCE.GAME), - async (ctx) => { - var _a; - webLogger.info( - `${ctx.session.auth.user.name} requested player with citizenid ${ctx.params.citizenid}.` - ); - try { - const citizenid = ctx.params.citizenid; - console.log("X0"); - let player = Game.QBCore.Functions.GetPlayerByCitizenId(citizenid); - if (player) { - console.log("X1"); - const ped = GetPlayerPed(player.PlayerData.source); - if (DoesEntityExist(ped)) { - const [playerX, playerY, playerZ] = GetEntityCoords(ped); - player.PlayerData.position = { x: playerX, y: playerY, z: playerZ }; - player.PlayerData.health = GetEntityHealth(ped); - } - player.PlayerData.discord = (_a = Game.QBCore.Functions.GetIdentifier( - player.PlayerData.source, - "discord" - )) == null ? void 0 : _a.split(":")[1]; - const tmpIP = Game.QBCore.Functions.GetIdentifier( - player.PlayerData.source, - "ip" - ); - const isIPv6 = (tmpIP == null ? void 0 : tmpIP.split(":").length) - 1 > 1; - player.PlayerData.ip = isIPv6 ? tmpIP : tmpIP == null ? void 0 : tmpIP.split(":")[1]; - player.PlayerData.bucket = GetPlayerRoutingBucket( - player.PlayerData.source - ); - } else { - console.log("Xoffline"); - player = await Game.QBCore.Functions.GetOfflinePlayerByCitizenId( - citizenid - ); - } - console.log("X2"); - player.banned = await isPlayerBanned(player.PlayerData.license); - console.log("X3"); - player.bans = await getPlayerBans(citizenid); - playerLogger.info( - `[${player.PlayerData.citizenid}] ${ctx.session.auth.user.name} requested ${player.PlayerData.charinfo.firstname} ${player.PlayerData.charinfo.lastname}.` - ); - ctx.body = { - resCode: !!player, - player, - moneyTypes: unlEnv.config.additionalMoneyTypes - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - playerRouter.post( - "/:citizenid/vehicle-count", - checkPermission(ACTION.GAME.PLAYER.READ, RESOURCE.GAME), - async (ctx) => { - try { - const citizenid = ctx.params.citizenid; - const { filter: filter2 } = ctx.request.body; - const data = await getPlayerDatabaseVehicleCount(citizenid, filter2); - ctx.body = { - count: data[0].count - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - playerRouter.post( - "/:citizenid/vehicles", - checkPermission(ACTION.GAME.PLAYER.READ, RESOURCE.GAME), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} requested player vehicles for citizenid ${ctx.params.citizenid}.` - ); - try { - const citizenid = ctx.params.citizenid; - const { startRow, count, filter: filter2, sortBy, descending } = ctx.request.body; - const vehicles = await getPlayerVehicles( - startRow, - count, - filter2, - sortBy, - descending, - citizenid - ); - playerLogger.info( - `[${ctx.params.citizenid}] ${ctx.session.auth.user.name} requested player vehicles.` - ); - ctx.body = { - vehicles - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - playerRouter.post( - "/set-meta", - checkPermission(ACTION.GAME.PLAYER.META, RESOURCE.GAME), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} requested change meta for citizenid ${ctx.request.body.citizenid}.` - ); - try { - const { citizenid, meta, value } = ctx.request.body; - let player = Game.QBCore.Functions.GetPlayerByCitizenId(citizenid); - if (!player) { - player = await Game.QBCore.Functions.GetOfflinePlayerByCitizenId( - citizenid - ); - } - if (!player) { - ctx.body = { - resCode: false, - resMsg: "notFound" - }; - ctx.status = 200; - return; - } - if (player.PlayerData.source && meta === "isdead") - handleIsDead(value, player.PlayerData.source); - if (player.PlayerData.source && meta === "ishandcuffed") - handleHandCuffed(value, player.PlayerData.source); - if (player.PlayerData.source && meta === "armor") - handlePlayerArmor(player.PlayerData.source); - player.Functions.SetMetaData(meta, value); - player.Functions.Save(); - playerLogger.info( - `[${player.PlayerData.citizenid}] ${ctx.session.auth.user.name} changed meta ${meta} for ${player.PlayerData.charinfo.firstname} ${player.PlayerData.charinfo.lastname} to ${value}.` - ); - ctx.body = { - resCode: true, - resMsg: meta - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - playerRouter.post( - "/set-charinfo", - checkPermission(ACTION.GAME.PLAYER.MODIFY, RESOURCE.GAME), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} requested change charinfo for citizenid ${ctx.request.body.citizenid}.` - ); - try { - const { citizenid, charinfo } = ctx.request.body; - let player = Game.QBCore.Functions.GetPlayerByCitizenId(citizenid); - if (!player) { - player = await Game.QBCore.Functions.GetOfflinePlayerByCitizenId( - citizenid - ); - } - if (!player) { - ctx.body = { - resCode: false, - resMsg: "notFound" - }; - ctx.status = 200; - return; - } - const idCardData = { - citizenid: player.PlayerData.citizenid, - gender: charinfo.gender, - firstname: charinfo.firstname, - birthdate: charinfo.birthdate, - lastname: charinfo.lastname, - nationality: charinfo.nationality - }; - player.Functions.SetPlayerData("cid", charinfo.cid); - player.Functions.SetPlayerData("charinfo", charinfo); - if (player.PlayerData.source) { - if (GetResourceState(unlEnv.inventory) === "started") { - global.exports[unlEnv.inventory].SetItemData( - player.PlayerData.source, - "id_card", - "info", - idCardData - ); - let visum = global.exports[unlEnv.inventory].GetItemByName( - player.PlayerData.source, - "visumpass" - ); - if (visum) { - visum.info = { - birthdate: charinfo.birthdate, - citizenid: player.PlayerData.citizenid, - visumstart: visum.info.visumstart, - firstname: charinfo.firstname, - lastname: charinfo.lastname, - visumend: visum.info.visumend, - gender: charinfo.gender - }; - global.exports[unlEnv.inventory].SetItemData( - player.PlayerData.source, - "id_card", - "info", - visum.info - ); - } - } - } else { - const items = player.PlayerData.items; - for (const [_, value] of Object.entries(items)) { - if (value.name === "id_card") { - value.info = idCardData; - break; - } - if (value.name === "visumpass") { - value.info = { - birthdate: charinfo.birthdate, - citizenid: player.PlayerData.citizenid, - visumstart: value.info.visumstart, - firstname: charinfo.firstname, - lastname: charinfo.lastname, - visumend: value.info.visumend, - gender: charinfo.gender - }; - } - } - player.Functions.SetPlayerData("items", items); - } - player.Functions.Save(); - playerLogger.info( - `[${player.PlayerData.citizenid}] ${ctx.session.auth.user.name} changed charinfo for ${charinfo.firstname} ${charinfo.lastname}.` - ); - ctx.body = { - resCode: true, - resMsg: "success" - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - playerRouter.post( - "/set-money", - checkPermission(ACTION.GAME.PLAYER.MONEY, RESOURCE.GAME), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} requested set money ${ctx.request.body.type} for citizenid ${ctx.request.body.citizenid}.` - ); - try { - const { citizenid, type, value } = ctx.request.body; - let player = Game.QBCore.Functions.GetPlayerByCitizenId(citizenid); - if (!player) { - player = await Game.QBCore.Functions.GetOfflinePlayerByCitizenId( - citizenid - ); - } - if (!player) { - ctx.body = { - resCode: false, - resMsg: "notFound" - }; - ctx.status = 200; - return; - } - player.Functions.SetMoney(type, value); - player.Functions.Save(); - playerLogger.info( - `[${player.PlayerData.citizenid}] ${ctx.session.auth.user.name} changed money ${type} for ${player.PlayerData.charinfo.firstname} ${player.PlayerData.charinfo.lastname} to ${value}.` - ); - ctx.body = { - resCode: true, - resMsg: "success" - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - playerRouter.post( - "/add-money", - checkPermission(ACTION.GAME.PLAYER.MONEY, RESOURCE.GAME), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} requested add money ${ctx.request.body.type} for citizenid ${ctx.request.body.citizenid}.` - ); - try { - const { citizenid, type, value } = ctx.request.body; - const player = await getPlayer(citizenid); - if (!player) { - ctx.body = { - resCode: false, - resMsg: "notFound" - }; - ctx.status = 200; - return; - } - player.Functions.AddMoney(type, value, `By ${ctx.session.auth.user.name}`); - player.Functions.Save(); - playerLogger.info( - `[${player.PlayerData.citizenid}] ${ctx.session.auth.user.name} gave ${value} ${type} to ${player.PlayerData.charinfo.firstname} ${player.PlayerData.charinfo.lastname}.` - ); - ctx.body = { - resCode: true, - resMsg: "success" - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - playerRouter.post( - "/remove-money", - checkPermission(ACTION.GAME.PLAYER.MONEY, RESOURCE.GAME), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} requested remove money ${ctx.request.body.type} for citizenid ${ctx.request.body.citizenid}.` - ); - try { - const { citizenid, type, value } = ctx.request.body; - const player = await getPlayer(citizenid); - if (!player) { - ctx.body = { - resCode: false, - resMsg: "notFound" - }; - ctx.status = 200; - return; - } - const success = player.Functions.RemoveMoney( - type, - value, - `By ${ctx.session.auth.user.name}` - ); - player.Functions.Save(); - playerLogger.info( - `[${player.PlayerData.citizenid}] ${ctx.session.auth.user.name} removed ${value} ${type} from ${player.PlayerData.charinfo.firstname} ${player.PlayerData.charinfo.lastname}.` - ); - ctx.body = { - resCode: success, - resMsg: success ? "success" : "not_allowed" - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - playerRouter.post( - "/teleport", - checkPermission(ACTION.GAME.PLAYER.POSITION, RESOURCE.GAME), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} requested teleport for citizenid ${ctx.request.body.citizenid}.` - ); - try { - const { citizenid, coords } = ctx.request.body; - const player = Game.QBCore.Functions.GetPlayerByCitizenId(citizenid); - if (!player) { - ctx.body = { - resCode: false, - resMsg: "notOnline" - }; - ctx.status = 200; - return; - } - teleportTo(coords, player.PlayerData.source); - playerLogger.info( - `[${player.PlayerData.citizenid}] ${ctx.session.auth.user.name} teleported to [x: ${coords.x}, y: ${coords.y}].` - ); - ctx.body = { - resCode: true, - resMsg: "success" - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - playerRouter.post( - "/kick", - checkPermission(ACTION.GAME.PLAYER.KICK, RESOURCE.GAME), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} kicked player with id ${ctx.request.body.source} (${ctx.request.body.reason}).` - ); - try { - const { source: source2, reason } = ctx.request.body; - const player = Game.QBCore.Functions.GetPlayer(source2); - if (!player) { - ctx.body = { - resCode: false, - resMsg: "notOnline" - }; - ctx.status = 200; - return; - } - Game.QBCore.Functions.Kick(source2, reason); - playerLogger.info( - `[${player.PlayerData.citizenid}] ${ctx.session.auth.user.name} kicked ${player.PlayerData.charinfo.firstname} ${player.PlayerData.charinfo.lastname} with reason '${ctx.request.body.reason}.'` - ); - ctx.body = { - resCode: true, - resMsg: "kicked" - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - playerRouter.post( - "/warn", - checkPermission(ACTION.GAME.PLAYER.WARN, RESOURCE.GAME), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} requested warn player with citizenid ${ctx.request.body.citizenid} (${ctx.request.body.reason}).` - ); - try { - const { citizenid, reason } = ctx.request.body; - const player = await getPlayer(citizenid); - if (!player) { - ctx.body = { - resCode: false, - resMsg: "invalid_citizenid" - }; - ctx.status = 200; - return; - } - banFile2.info( - `[${player.PlayerData.citizenid}] ${ctx.session.auth.user.name} has warned ${player.PlayerData.charinfo.firstname} ${player.PlayerData.charinfo.lastname} with reason '${reason}'.` - ); - ctx.body = { - resCode: true, - resMsg: "warn" - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - playerRouter.post( - "/ban", - checkPermission(ACTION.GAME.PLAYER.BAN, RESOURCE.GAME), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} requested ban player with citizenid ${ctx.request.body.citizenid} (${ctx.request.body.reason}).` - ); - try { - const { citizenid, time, reason, hwid } = ctx.request.body; - let player = Game.QBCore.Functions.GetPlayerByCitizenId(citizenid); - const inputTime = global.exports[unlEnv.resourceName].getOsTime() + parseInt(time); - const banTime = inputTime > 2147483647 ? 2147483647 : inputTime; - if (player) { - const playerTokens = global.exports[unlEnv.resourceName].getHWID( - player.PlayerData.source - ); - await handlePlayerBan( - player.PlayerData.name, - player.PlayerData.license, - Game.QBCore.Functions.GetIdentifier( - player.PlayerData.source, - "discord" - ), - Game.QBCore.Functions.GetIdentifier(player.PlayerData.source, "ip"), - reason, - banTime, - `Unlimited - ${ctx.session.auth.user.name}`, - hwid ? playerTokens : "" - ); - DropPlayer(player.PlayerData.source, `\u{1F528} - ${reason}`); - } else { - player = await Game.QBCore.Functions.GetOfflinePlayerByCitizenId( - citizenid - ); - await handlePlayerBan( - player.PlayerData.name, - player.PlayerData.license, - null, - null, - reason, - banTime, - `Unlimited - ${ctx.session.auth.user.name}` - ); - } - playerLogger.info( - `[${player.PlayerData.citizenid}] ${ctx.session.auth.user.name} has banned ${player.PlayerData.charinfo.firstname} ${player.PlayerData.charinfo.lastname} until ${new Date(banTime * 1e3)} with reason '${ctx.request.body.reason}'.` - ); - banFile2.info( - `[${player.PlayerData.citizenid}] ${ctx.session.auth.user.name} has banned ${player.PlayerData.charinfo.firstname} ${player.PlayerData.charinfo.lastname} until ${new Date(banTime * 1e3)} with reason '${ctx.request.body.reason}'.` - ); - ctx.body = { - resCode: true, - resMsg: "ban" - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - playerRouter.post( - "/unban", - checkPermission(ACTION.GAME.PLAYER.BAN, RESOURCE.GAME), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} requested unban player with citizenid ${ctx.request.body.citizenid}.` - ); - try { - const { citizenid } = ctx.request.body; - let player = Game.QBCore.Functions.GetPlayerByCitizenId(citizenid); - if (player) { - await resetPlayerBan(player.PlayerData.license); - } else { - player = await Game.QBCore.Functions.GetOfflinePlayerByCitizenId( - citizenid - ); - await resetPlayerBan(player.PlayerData.license); - } - playerLogger.info( - `[${player.PlayerData.citizenid}] ${ctx.session.auth.user.name} had unban ${player.PlayerData.charinfo.firstname} ${player.PlayerData.charinfo.lastname}.` - ); - ctx.body = { - resCode: true, - resMsg: "unban" - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - playerRouter.post( - "/delete", - checkPermission(ACTION.GAME.PLAYER.DELETE, RESOURCE.GAME), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} requested delete player with citizenid ${ctx.request.body.citizenid}.` - ); - try { - const { citizenid } = ctx.request.body; - let player = Game.QBCore.Functions.GetPlayerByCitizenId(citizenid); - if (!player) { - player = await Game.QBCore.Functions.GetOfflinePlayerByCitizenId( - citizenid - ); - } - Game.QBCore.Player.ForceDeleteCharacter(citizenid); - playerLogger.info( - `[${player.PlayerData.citizenid}] ${ctx.session.auth.user.name} deleted ${player.PlayerData.charinfo.firstname} ${player.PlayerData.charinfo.lastname}.` - ); - ctx.body = { - resCode: true, - resMsg: "delete" - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - playerRouter.post( - "/heal", - checkPermission(ACTION.GAME.PLAYER.META, RESOURCE.GAME), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} requested heal for citizenid ${ctx.request.body.citizenid}.` - ); - try { - const { citizenid } = ctx.request.body; - const player = await getPlayer(citizenid); - if (!player) { - ctx.body = { - resCode: false, - resMsg: "notFound" - }; - ctx.status = 200; - return; - } - if (!player.PlayerData.source) { - ctx.body = { - resCode: false, - resMsg: "notOnline" - }; - ctx.status = 200; - return; - } - handleHealPlayer(player.PlayerData.source); - playerLogger.info( - `[${player.PlayerData.citizenid}] ${ctx.session.auth.user.name} healed ${player.PlayerData.charinfo.firstname} ${player.PlayerData.charinfo.lastname}.` - ); - ctx.body = { - resCode: true, - resMsg: "healed" - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - playerRouter.post( - "/bucket", - checkPermission(ACTION.GAME.PLAYER.META, RESOURCE.GAME), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} requested change bucket for citizenid ${ctx.request.body.citizenid}.` - ); - try { - const { citizenid, bucket } = ctx.request.body; - const player = await getPlayer(citizenid); - if (!player) { - ctx.body = { - resCode: false, - resMsg: "notFound" - }; - ctx.status = 200; - return; - } - if (!player.PlayerData.source) { - ctx.body = { - resCode: false, - resMsg: "notOnline" - }; - ctx.status = 200; - return; - } - SetPlayerRoutingBucket( - player.PlayerData.source, - bucket === null ? 0 : parseInt(bucket) - ); - playerLogger.info( - `[${player.PlayerData.citizenid}] ${ctx.session.auth.user.name} changed bucket for ${player.PlayerData.charinfo.firstname} ${player.PlayerData.charinfo.lastname} to ${bucket}.` - ); - ctx.body = { - resCode: true, - resMsg: "changedBucket" - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - player_route_default = playerRouter; - } -}); - -// server/Modules/game/vehicle/vehicle.route.js -var import_router10, vehicleRouter, vehicle_route_default; -var init_vehicle_route = __esm({ - "server/Modules/game/vehicle/vehicle.route.js"() { - import_router10 = __toESM(require_router()); - init_role_controller(); - init_permissions(); - init_WebLogger(); - init_UnlLogger(); - init_vehicle_controller(); - init_vehicle_service(); - init_player_service(); - vehicleRouter = new import_router10.default({ prefix: "/vehicles" }); - vehicleRouter.post( - "/", - checkPermission(ACTION.GAME.VEHICLE.READ, RESOURCE.GAME), - async (ctx) => { - webLogger.info(`${ctx.session.auth.user.name} requested all vehicles.`); - try { - const { startRow, count, filter: filter2, sortBy, descending } = ctx.request.body; - const vehicles = await getPartialDatabaseVehicles( - startRow, - count, - filter2, - sortBy, - descending - ); - ctx.body = { - vehicles - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - vehicleRouter.get( - "/:id", - checkPermission(ACTION.GAME.VEHICLE.READ, RESOURCE.GAME), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} requested vehicle with id ${ctx.params.id}.` - ); - try { - const id = ctx.params.id; - let vehicle = await getVehicle(id); - const player = await getPlayer(vehicle.citizenid); - if (player) { - vehicle.ownerName = `${player.PlayerData.charinfo.firstname} ${player.PlayerData.charinfo.lastname}`; - } - ctx.body = { - resCode: !!vehicle, - vehicle - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - vehicleRouter.post( - "/vehicle-count", - checkPermission(ACTION.GAME.VEHICLE.READ, RESOURCE.GAME), - async (ctx) => { - try { - const { filter: filter2 } = ctx.request.body; - const data = await getDatabaseVehicleCount(filter2); - ctx.body = { - count: data[0].count - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - vehicleRouter.post( - "/changeOwner", - checkPermission(ACTION.GAME.VEHICLE.MODIFY, RESOURCE.GAME), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} requested change vehicle owner for id ${ctx.request.body.id}.` - ); - try { - const data = ctx.request.body; - const player = await getPlayer(data.citizenid); - if (!player) { - return ctx.body = { - resCode: false, - resMsg: "invalid_citizenid" - }; - } - const success = await updateVehicleOwnerData( - data.id, - player.PlayerData.citizenid, - player.PlayerData.license - ); - ctx.body = { - resCode: success, - resMsg: success ? "success" : "missingData" - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - vehicleRouter.post( - "/changePlate", - checkPermission(ACTION.GAME.VEHICLE.MODIFY, RESOURCE.GAME), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} requested change vehicle plate for id ${ctx.request.body.id} (${ctx.request.body.plate}).` - ); - try { - const { id, plate, newPlate } = ctx.request.body; - const plates = await getVehicleByPlate(newPlate); - if (plates.length > 0) { - return ctx.body = { - resCode: false, - resMsg: "plate_exists" - }; - } - const { resCode, resMsg } = await updateVehiclePlate( - id, - plate, - newPlate.toUpperCase() - ); - if (resCode) { - const vehHandle = getVehicleHandle(plate); - if (vehHandle) { - SetVehicleNumberPlateText(vehHandle, newPlate.toUpperCase()); - } - } - ctx.body = { - resCode, - resMsg - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - vehicleRouter.post( - "/updateField", - checkPermission(ACTION.GAME.VEHICLE.MODIFY, RESOURCE.GAME), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} requested change vehicle ${ctx.request.body.field} with id ${ctx.request.body.id}.` - ); - try { - const data = ctx.request.body; - const success = await updateVehicleFieldData( - data.id, - data.field, - data.value - ); - const vehHandle = getVehicleHandle(data.plate); - if (vehHandle && success) { - const vehNetOwner = NetworkGetEntityOwner(vehHandle); - if (vehNetOwner && (data.field === "fuel" || data.field === "body" || data.field === "engine")) { - TriggerClientEvent( - `unlWeb:vehicle:${data.field}`, - vehNetOwner, - data.plate, - data.value - ); - } - } - ctx.body = { - resCode: success, - resMsg: success ? "success" : "not_found" - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - vehicleRouter.post( - "/repair", - checkPermission(ACTION.GAME.VEHICLE.REPAIR, RESOURCE.GAME), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} requested vehicle repair for id ${ctx.request.body.id}.` - ); - try { - const data = ctx.request.body; - const vehHandle = getVehicleHandle(data.plate); - const success = await repairVehicle(data.id); - if (vehHandle) { - const vehNetOwner = NetworkGetEntityOwner(vehHandle); - if (vehNetOwner) - TriggerClientEvent("unlWeb:vehicle:repair", vehNetOwner, data.plate); - } - ctx.body = { - resCode: success, - resMsg: success ? "success" : "not_found" - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - vehicleRouter.post( - "/despawn", - checkPermission(ACTION.GAME.VEHICLE.DESPAWN, RESOURCE.GAME), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} requested despawn vehicle with plate ${ctx.request.body.plate} id ${ctx.request.body.id}.` - ); - try { - const data = ctx.request.body; - const vehHandle = getVehicleHandle(data.plate); - if (vehHandle) { - if (GetResourceState("AdvancedParking") === "started") { - global.exports["AdvancedParking"].DeleteVehicle(vehHandle); - } else { - DeleteEntity(vehHandle); - } - } - ctx.body = { - resCode: !!vehHandle, - resMsg: vehHandle ? "success" : "not_spawned" - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - vehicleRouter.post( - "/delete", - checkPermission(ACTION.GAME.VEHICLE.DELETE, RESOURCE.GAME), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} requested delete vehicle id ${ctx.request.body.id}.` - ); - try { - const data = ctx.request.body; - const success = deleteVehicle(data.id); - const vehHandle = getVehicleHandle(data.plate); - if (vehHandle && success) { - if (GetResourceState("AdvancedParking") === "started") { - global.exports["AdvancedParking"].DeleteVehicle(vehHandle); - } else { - DeleteEntity(vehHandle); - } - } - ctx.body = { - resCode: success, - resMsg: success ? null : "not_found" - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - vehicleRouter.post( - "/create", - checkPermission(ACTION.GAME.VEHICLE.CREATE, RESOURCE.GAME), - async (ctx) => { - webLogger.info(`${ctx.session.auth.user.name} requested create vehicle.`); - try { - const { citizenid, vehicle } = ctx.request.body; - const player = await getPlayer(citizenid); - if (!player) { - return ctx.body = { - resCode: false, - resMsg: "invalid_citizenid" - }; - } - const plates = await getVehicleByPlate(vehicle.plate); - if (plates.length > 0) { - return ctx.body = { - resCode: false, - resMsg: "plate_exists" - }; - } - const { resCode, resMsg } = await createPlayerVehicle(player, vehicle); - ctx.body = { - resCode, - resMsg - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - vehicle_route_default = vehicleRouter; - } -}); - -// server/Modules/game/logs/logs.route.js -var import_router11, logRouter, logs_route_default; -var init_logs_route = __esm({ - "server/Modules/game/logs/logs.route.js"() { - import_router11 = __toESM(require_router()); - init_role_controller(); - init_permissions(); - init_LogReader(); - init_globalData(); - init_role_service(); - init_UnlLogger(); - logRouter = new import_router11.default({ prefix: "/logs" }); - logRouter.post( - "/", - checkPermission(ACTION.GAME.LOGS.READ, RESOURCE.GAME), - async (ctx) => { - try { - const { type, fromline } = ctx.request.body; - if (unlEnv.loggerPaths[type] === void 0) { - ctx.body = { - resCode: false, - logs: "Unknown log type." - }; - ctx.status = 500; - return; - } - const hasRolePerm = await hasRolePermission( - ctx.session.auth.user.roleId, - unlEnv.loggerPerms[type], - RESOURCE.GAME - ); - if (hasRolePerm || ctx.session.auth.user.isMaster) { - const logs = await getLogFileData(type, fromline); - ctx.body = { - resCode: true, - logs - }; - ctx.status = 200; - return; - } - ctx.throw(403, "Permission denied"); - } catch (e) { - ctx.body = e.message; - ctx.status = 500; - } - } - ); - logRouter.post( - "/:citizenid", - checkPermission(ACTION.GAME.PLAYER.READ, RESOURCE.GAME), - async (ctx) => { - try { - const citizenid = ctx.params.citizenid; - const { fromline } = ctx.request.body; - const logs = await getPlayerLogs(citizenid, fromline); - ctx.body = { - resCode: true, - logs - }; - ctx.status = 200; - } catch (e) { - ctx.body = e.message; - ctx.status = 500; - } - } - ); - logs_route_default = logRouter; - } -}); - -// server/Modules/web/config/config.router.js -var import_router12, configRouter, config_router_default; -var init_config_router = __esm({ - "server/Modules/web/config/config.router.js"() { - import_router12 = __toESM(require_router()); - init_role_controller(); - init_permissions(); - init_WebLogger(); - init_UnlLogger(); - init_server(); - init_item_utils(); - configRouter = new import_router12.default({ prefix: "/config" }); - configRouter.post( - "/update", - checkPermission(ACTION.WEB.CONFIG.MODIFY, RESOURCE.WEB), - async (ctx) => { - webLogger.info(`${ctx.session.auth.user.name} requested save config.`); - try { - const { colors, lang } = ctx.request.body; - await Database.updateConfigValue("colors", colors); - await Database.updateConfigValue("lang", lang); - ctx.body = { resCode: true }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - configRouter.post( - "/fix-items", - checkPermission(ACTION.WEB.CONFIG.MODIFY, RESOURCE.WEB), - async (ctx) => { - webLogger.info(`${ctx.session.auth.user.name} requested fix inv`); - try { - const stash = await getSupporterStash(); - await saveSupporterStash(stash); - ctx.body = { resCode: true }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - config_router_default = configRouter; - } -}); - -// server/Modules/dev/vehicle/vehicle.route.js -var import_router13, devVehicleRouter, vehicle_route_default2; -var init_vehicle_route2 = __esm({ - "server/Modules/dev/vehicle/vehicle.route.js"() { - import_router13 = __toESM(require_router()); - init_role_controller(); - init_server(); - init_permissions(); - init_DevLogger(); - init_UnlLogger(); - devVehicleRouter = new import_router13.default({ prefix: "/dev-vehicles" }); - devVehicleRouter.get( - "/", - checkPermission(ACTION.DEV.VEHICLE.READ, RESOURCE.DEV), - async (ctx) => { - try { - const vehicles = Game.getVehicles(); - ctx.body = { - vehicles - }; - ctx.status = 200; - } catch (e) { - ctx.body = e.message; - ctx.status = 500; - } - } - ); - devVehicleRouter.get( - "/:id", - checkPermission(ACTION.DEV.VEHICLE.READ, RESOURCE.DEV), - (ctx) => { - devLogger.info( - `${ctx.session.auth.user.name} requested shared vehicle ${ctx.params.id}.` - ); - try { - const vehId = ctx.params.id; - const vehicle = Game.getVehicle(vehId); - ctx.body = { - vehicle - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - devVehicleRouter.patch( - "/save/:id", - checkPermission(ACTION.DEV.VEHICLE.MODIFY, RESOURCE.DEV), - async (ctx) => { - devLogger.info( - `${ctx.session.auth.user.name} requested save shared vehicle ${ctx.params.id}.` - ); - try { - const vehId = ctx.params.id; - const data = ctx.request.body; - const { resCode, resMsg } = await Game.updateVehicle(vehId, data); - if (resCode) - devLogger.info( - `${ctx.session.auth.user.name} successfully saved shared vehicle ${vehId}.` - ); - ctx.body = { - resCode, - resMsg - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - devVehicleRouter.post( - "/create", - checkPermission(ACTION.DEV.VEHICLE.CREATE, RESOURCE.DEV), - async (ctx) => { - devLogger.info( - `${ctx.session.auth.user.name} requested create shared vehicle ${ctx.request.body.model}.` - ); - try { - const veh = ctx.request.body; - const { resCode, resMsg } = await Game.addVehicle(veh.model, veh); - if (resCode) - devLogger.info( - `${ctx.session.auth.user.name} successfully created shared vehicle ${veh.model}.` - ); - ctx.body = { - resCode, - resMsg - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - devVehicleRouter.delete( - "/delete/:id", - checkPermission(ACTION.DEV.VEHICLE.DELETE, RESOURCE.DEV), - async (ctx) => { - devLogger.info( - `${ctx.session.auth.user.name} requested delete shared vehicle ${ctx.params.id}.` - ); - try { - const vehId = ctx.params.id; - const { resCode, resMsg } = await Game.deleteVehicle(vehId); - if (resCode) - devLogger.info( - `${ctx.session.auth.user.name} successfully deleted shared vehicle ${vehId}.` - ); - ctx.body = { - resCode, - resMsg - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - vehicle_route_default2 = devVehicleRouter; - } -}); - -// server/Modules/game/waypoint/waypoint.service.js -var createWaypoint, getWaypoint, getWaypoints, updateWaypoint, deleteWaypoint; -var init_waypoint_service = __esm({ - "server/Modules/game/waypoint/waypoint.service.js"() { - init_server(); - createWaypoint = async (name, label, coords) => { - const { resCode, resMsg } = await Database.createWaypoint(name, label, coords); - return { resCode, resMsg }; - }; - getWaypoint = async (name) => { - return Database.getWaypoint(name); - }; - getWaypoints = async () => { - return Database.getWaypoints(); - }; - updateWaypoint = async (name, label, coords) => { - return Database.updateWaypoint(name, label, coords); - }; - deleteWaypoint = async (name) => { - return Database.deleteWaypoint(name); - }; - } -}); - -// server/Modules/game/waypoint/waypoint.route.js -var import_router14, waypointRouter, waypoint_route_default; -var init_waypoint_route = __esm({ - "server/Modules/game/waypoint/waypoint.route.js"() { - import_router14 = __toESM(require_router()); - init_role_controller(); - init_permissions(); - init_GameLogger(); - init_UnlLogger(); - init_waypoint_service(); - waypointRouter = new import_router14.default({ prefix: "/waypoints" }); - waypointRouter.get( - "/", - checkPermission(ACTION.GAME.WAYPOINT.READ, RESOURCE.GAME), - async (ctx) => { - gameLogger.info(`${ctx.session.auth.user.name} requested all waypoints.`); - try { - const waypoints = await getWaypoints(); - ctx.body = { waypoints }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - waypointRouter.get( - "/:id", - checkPermission(ACTION.GAME.WAYPOINT.READ, RESOURCE.GAME), - async (ctx) => { - gameLogger.info( - `${ctx.session.auth.user.name} requested waypoint ${ctx.params.id}.` - ); - try { - const waypointId = ctx.params.id; - const waypoint = await getWaypoint(waypointId); - ctx.body = { waypoint }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - waypointRouter.patch( - "/save/:id", - checkPermission(ACTION.GAME.WAYPOINT.MODIFY, RESOURCE.GAME), - async (ctx) => { - gameLogger.info( - `${ctx.session.auth.user.name} requested save waypoint ${ctx.params.id}.` - ); - try { - const waypointId = ctx.params.id; - const { label, coords } = ctx.request.body; - const { resCode, resMsg } = await updateWaypoint( - waypointId, - label, - coords - ); - ctx.body = { - resCode, - resMsg - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - waypointRouter.post( - "/create", - checkPermission(ACTION.GAME.WAYPOINT.CREATE, RESOURCE.GAME), - async (ctx) => { - gameLogger.info( - `${ctx.session.auth.user.name} requested create waypoint ${ctx.request.body.name}.` - ); - try { - const { name, label, coords } = ctx.request.body; - const { resCode, resMsg } = await createWaypoint( - name, - label, - coords - ); - ctx.body = { - resCode, - resMsg - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - waypointRouter.delete( - "/delete/:id", - checkPermission(ACTION.GAME.WAYPOINT.DELETE, RESOURCE.GAME), - async (ctx) => { - gameLogger.info( - `${ctx.session.auth.user.name} requested delete waypoint ${ctx.params.id}.` - ); - try { - const waypointId = ctx.params.id; - const { resCode, resMsg } = await deleteWaypoint( - waypointId - ); - ctx.body = { - resCode, - resMsg - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - waypoint_route_default = waypointRouter; - } -}); - -// server/Modules/game/accounts/accounts.service.js -var import_oxmysql6, getPartialDatabaseAccounts, getDatabaseAccountsCount, getDatabaseAccountsPlayersCount, getPartialDatabaseAccountPlayers; -var init_accounts_service = __esm({ - "server/Modules/game/accounts/accounts.service.js"() { - import_oxmysql6 = __toESM(require_MySQL()); - getPartialDatabaseAccounts = async (start, count, filter2, orderBy, desc) => { - const DESC = desc ? "DESC" : "ASC"; - const query = `SELECT license, name, unix_timestamp(max(last_updated)) as last_active, count(license) as character_count FROM players WHERE license LIKE ? OR name LIKE ? OR citizenid LIKE ? OR JSON_EXTRACT(\`charinfo\`, '$.firstname') LIKE ? OR JSON_EXTRACT(\`charinfo\`, '$.lastname') LIKE ? GROUP BY license ORDER BY ${orderBy} ${DESC} LIMIT ?, ?`; - return await import_oxmysql6.oxmysql.query(query, [ - `%${filter2}%`, - `%${filter2}%`, - `%${filter2}%`, - `%${filter2}%`, - `%${filter2}%`, - start, - count - ]); - }; - getDatabaseAccountsCount = async (filter2) => { - return await import_oxmysql6.oxmysql.query( - `SELECT count(*) as count FROM players WHERE license LIKE ? OR name LIKE ? OR citizenid LIKE ? OR JSON_EXTRACT(\`charinfo\`, '$.firstname') LIKE ? OR JSON_EXTRACT(\`charinfo\`, '$.lastname') LIKE ?`, - [`%${filter2}%`, `%${filter2}%`, `%${filter2}%`, `%${filter2}%`, `%${filter2}%`] - ); - }; - getDatabaseAccountsPlayersCount = async (license, filter2) => { - return await import_oxmysql6.oxmysql.query( - `SELECT count(*) as count FROM players WHERE license LIKE ? or name LIKE ? OR citizenid LIKE ? OR JSON_EXTRACT(\`charinfo\`, '$.firstname') LIKE ? OR JSON_EXTRACT(\`charinfo\`, '$.lastname') LIKE ?`, - [license, `%${filter2}%`, `%${filter2}%`, `%${filter2}%`, `%${filter2}%`] - ); - }; - getPartialDatabaseAccountPlayers = async (license, start, count, filter2, orderBy, desc) => { - const DESC = desc ? "DESC" : "ASC"; - const query = `SELECT name, license, citizenid, job, gang, charinfo, JSON_EXTRACT(\`charinfo\`, '$.firstname') as firstname, JSON_EXTRACT(\`charinfo\`, '$.lastname') as lastname FROM players WHERE license = ? AND (citizenid LIKE ? or name LIKE ? or JSON_EXTRACT(\`charinfo\`, '$.firstname') LIKE ? or JSON_EXTRACT(\`charinfo\`, '$.lastname') LIKE ?) ORDER BY ${orderBy} ${DESC} LIMIT ?, ?;`; - return await import_oxmysql6.oxmysql.query(query, [ - license, - `%${filter2}%`, - `%${filter2}%`, - `%${filter2}%`, - `%${filter2}%`, - start, - count - ]); - }; - } -}); - -// server/Modules/game/accounts/accounts.route.js -var import_router15, accountRouter, accounts_route_default; -var init_accounts_route = __esm({ - "server/Modules/game/accounts/accounts.route.js"() { - import_router15 = __toESM(require_router()); - init_role_controller(); - init_permissions(); - init_WebLogger(); - init_UnlLogger(); - init_accounts_service(); - accountRouter = new import_router15.default({ prefix: "/accounts" }); - accountRouter.post( - "/", - checkPermission(ACTION.GAME.ACCOUNT.READ, RESOURCE.GAME), - async (ctx) => { - webLogger.info(`${ctx.session.auth.user.name} requested all accounts.`); - try { - const { startRow, count, filter: filter2, sortBy, descending } = ctx.request.body; - const accounts = await getPartialDatabaseAccounts( - startRow, - count, - filter2, - sortBy, - descending - ); - ctx.body = { - accounts - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - accountRouter.post( - "/account-count", - checkPermission(ACTION.GAME.ACCOUNT.READ, RESOURCE.GAME), - async (ctx) => { - try { - const { filter: filter2 } = ctx.request.body; - const data = await getDatabaseAccountsCount(filter2); - ctx.body = { - count: data[0].count - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - accountRouter.post( - "/account-player-count", - checkPermission(ACTION.GAME.ACCOUNT.READ, RESOURCE.GAME), - async (ctx) => { - try { - const { license, filter: filter2 } = ctx.request.body; - const data = await getDatabaseAccountsPlayersCount(license, filter2); - ctx.body = { - count: data[0].count - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - accountRouter.post( - "/:license", - checkPermission(ACTION.GAME.ACCOUNT.READ, RESOURCE.GAME), - async (ctx) => { - try { - const license = ctx.params.license; - const { startRow, count, filter: filter2, sortBy, descending } = ctx.request.body; - const players = await getPartialDatabaseAccountPlayers( - license, - startRow, - count, - filter2, - sortBy, - descending - ); - ctx.body = { - players - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - accounts_route_default = accountRouter; - } -}); - -// server/Modules/game/stashes/stashes.route.js -var import_router16, stashesRouter, getStashSettings, stashes_route_default; -var init_stashes_route = __esm({ - "server/Modules/game/stashes/stashes.route.js"() { - import_router16 = __toESM(require_router()); - init_permissions(); - init_WebLogger(); - init_UnlLogger(); - init_role_controller(); - init_stashes_service(); - init_globalData(); - init_GameLogger(); - init_item_utils(); - stashesRouter = new import_router16.default({ prefix: "/stashes" }); - getStashSettings = (type) => { - return unlEnv.config.stashTables.filter((s) => s.type === type)[0]; - }; - stashesRouter.post( - "/", - checkPermission(ACTION.GAME.STASHES.READ, RESOURCE.GAME), - async (ctx) => { - webLogger.info(`${ctx.session.auth.user.name} requested all stashes.`); - try { - const { startRow, count, filter: filter2, sortBy, descending } = ctx.request.body; - const stashes = await getPartialDatabaseStashes( - startRow, - count, - filter2, - sortBy, - descending - ); - ctx.body = { - stashes - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - stashesRouter.post( - "/stashes-count", - checkPermission(ACTION.GAME.STASHES.READ, RESOURCE.GAME), - async (ctx) => { - try { - const { filter: filter2 } = ctx.request.body; - const data = await getDatabaseStashesCount(filter2); - ctx.body = { - count: data[0].count - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - stashesRouter.post( - "/get", - checkPermission(ACTION.GAME.STASHES.READ, RESOURCE.GAME), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} requested ${ctx.request.body.type} ${ctx.request.body.identifier}.` - ); - try { - const { type, identifier } = ctx.request.body; - const storageSettings = getStashSettings(type); - const storage = await getStorage(identifier, storageSettings); - const stash = await getSupporterStash(); - ctx.body = { - resCode: true, - storage, - stash, - storageSlots: storageSettings.maxSlots - }; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - stashesRouter.post( - "/move", - checkPermission(ACTION.GAME.STASHES.MODIFY, RESOURCE.GAME), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} requested move item for ${ctx.request.body.type} ${ctx.request.body.identifier}.` - ); - try { - const { - type, - identifier, - fromStorage, - toStorage, - fromSlot, - toSlot, - amount - } = ctx.request.body; - const storageSettings = getStashSettings(type); - const fromStorageName = fromStorage === "c" ? `${type}-${identifier}` : "Supporter-Stash"; - const toStorageName = toStorage === "c" ? `${type}-${identifier}` : "Supporter-Stash"; - const { resCode, resMsg, resItems } = await handleMoveStashItem( - identifier, - storageSettings, - fromStorage, - toStorage, - fromSlot, - toSlot, - amount - ); - if (resCode) - if (resItems.didSwap) - gameLogger.info( - `${ctx.session.auth.user.name} swaped item ${resItems.item} from ${fromStorageName} slot ${fromSlot} with item ${resItems.toItem} from ${toStorageName} slot ${toSlot}.` - ); - else - gameLogger.info( - `${ctx.session.auth.user.name} moved item ${resItems.item} from ${fromStorageName} slot ${fromSlot} to ${toStorageName} slot ${toSlot}.` - ); - ctx.body = { - resCode, - resMsg - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - stashesRouter.post( - "/delete", - checkPermission(ACTION.GAME.STASHES.MODIFY, RESOURCE.GAME), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} requested delete item for ${ctx.request.body.type} ${ctx.request.body.identifier}.` - ); - try { - const { type, identifier, fromStorage, fromSlot, amount } = ctx.request.body; - const storageSettings = getStashSettings(type); - const storageName = fromStorage === "c" ? `${type}-${identifier}` : "Supporter-Stash"; - const { resCode, resMsg, resItem } = await handleDeleteItem( - identifier, - storageSettings, - fromStorage, - fromSlot, - amount - ); - if (resCode) - gameLogger.info( - `${ctx.session.auth.user.name} deleted item ${resItem.name} from ${storageName} slot ${fromSlot} in inventory.` - ); - ctx.body = { - resCode, - resMsg - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - stashesRouter.post( - "/add", - checkPermission(ACTION.GAME.STASHES.MODIFY, RESOURCE.GAME), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} requested add item for ${ctx.request.body.type} ${ctx.request.body.identifier}.` - ); - try { - const { type, identifier, storage, item } = ctx.request.body; - const storageSettings = getStashSettings(type); - const { resCode, resMsg } = await handleAddItem( - identifier, - storageSettings, - storage, - item - ); - if (resCode && storage === STORAGE_IDENTIFIERS.STORAGE) - gameLogger.info( - `${ctx.session.auth.user.name} added ${item.amount}x ${item.name} to ${type} ${identifier}.` - ); - ctx.body = { - resCode, - resMsg - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - stashesRouter.post( - "/edit", - checkPermission(ACTION.GAME.STASHES.MODIFY, RESOURCE.GAME), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} requested edit item for ${ctx.request.body.type} ${ctx.request.body.identifier}.` - ); - try { - const { type, identifier, fromStorage, fromSlot, item } = ctx.request.body; - const storageSettings = getStashSettings(type); - const { resCode, resMsg } = await handleEditItem( - identifier, - storageSettings, - fromStorage, - fromSlot, - item - ); - if (resCode && fromStorage === STORAGE_IDENTIFIERS.STORAGE) - gameLogger.info( - `${ctx.session.auth.user.name} edited ${item.name} at slot ${fromSlot} in ${type} ${identifier}.` - ); - ctx.body = { - resCode, - resMsg - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - stashesRouter.post( - "/clear", - checkPermission(ACTION.GAME.STASHES.MODIFY, RESOURCE.GAME), - async (ctx) => { - webLogger.info( - `${ctx.session.auth.user.name} requested clear stash for ${ctx.request.body.type} ${ctx.request.body.identifier}.` - ); - try { - const { type, identifier } = ctx.request.body; - const storageSettings = getStashSettings(type); - const { resCode, resMsg } = await handleClearStorage( - identifier, - storageSettings - ); - if (resCode) - gameLogger.info( - `${ctx.session.auth.user.name} cleared ${type} ${identifier}.` - ); - ctx.body = { - resCode, - resMsg - }; - ctx.status = 200; - } catch (e) { - UnlLogger.error(e.message); - ctx.body = e.message; - ctx.status = 500; - } - } - ); - stashes_route_default = stashesRouter; - } -}); - -// server/Router/api.router.js -var import_router17, import_jwt, router17, api_router_default; -var init_api_router = __esm({ - "server/Router/api.router.js"() { - import_router17 = __toESM(require_router()); - import_jwt = __toESM(require_jwt_middleware()); - init_user_route(); - init_role_route(); - init_item_route(); - init_gang_route(); - init_job_route(); - init_player_route(); - init_vehicle_route(); - init_logs_route(); - init_config_router(); - init_vehicle_route2(); - init_waypoint_route(); - init_accounts_route(); - init_stashes_route(); - router17 = new import_router17.default({ prefix: "/api" }); - router17.use(import_jwt.default); - router17.use(user_route_default.routes(), user_route_default.allowedMethods()); - router17.use(role_route_default.routes(), role_route_default.allowedMethods()); - router17.use(config_router_default.routes(), config_router_default.allowedMethods()); - router17.use(accounts_route_default.routes(), accounts_route_default.allowedMethods()); - router17.use(player_route_default.routes(), player_route_default.allowedMethods()); - router17.use(vehicle_route_default.routes(), vehicle_route_default.allowedMethods()); - router17.use(logs_route_default.routes(), logs_route_default.allowedMethods()); - router17.use(waypoint_route_default.routes(), waypoint_route_default.allowedMethods()); - router17.use(stashes_route_default.routes(), stashes_route_default.allowedMethods()); - router17.use(item_route_default.routes(), item_route_default.allowedMethods()); - router17.use(gang_route_default.routes(), gang_route_default.allowedMethods()); - router17.use(job_route_default.routes(), job_route_default.allowedMethods()); - router17.use(vehicle_route_default2.routes(), vehicle_route_default2.allowedMethods()); - api_router_default = router17; - } -}); - -// node_modules/tail/lib/tail.js -var require_tail = __commonJS({ - "node_modules/tail/lib/tail.js"(exports2) { - var events = require("events"); - var fs7 = require("fs"); - var path4 = require("path"); - var devNull = class { - info() { - } - error() { - } - }; - var Tail2 = class extends events.EventEmitter { - constructor(filename, options = {}) { - super(); - this.filename = filename; - this.absPath = path4.dirname(this.filename); - this.separator = options.separator !== void 0 ? options.separator : /[\r]{0,1}\n/; - this.fsWatchOptions = options.fsWatchOptions || {}; - this.follow = options["follow"] != void 0 ? options["follow"] : true; - this.logger = options.logger || new devNull(); - this.useWatchFile = options.useWatchFile || false; - this.flushAtEOF = options.flushAtEOF || false; - this.encoding = options.encoding || "utf-8"; - const fromBeginning = options.fromBeginning || false; - this.nLines = options.nLines || void 0; - this.logger.info(`Tail starting...`); - this.logger.info(`filename: ${this.filename}`); - this.logger.info(`encoding: ${this.encoding}`); - try { - fs7.accessSync(this.filename, fs7.constants.F_OK); - } catch (err) { - if (err.code == "ENOENT") { - throw err; - } - } - this.buffer = ""; - this.internalDispatcher = new events.EventEmitter(); - this.queue = []; - this.isWatching = false; - this.pos = 0; - this.internalDispatcher.on("next", () => { - this.readBlock(); - }); - this.logger.info(`fromBeginning: ${fromBeginning}`); - let startingCursor; - if (fromBeginning) { - startingCursor = 0; - } else if (this.nLines !== void 0) { - const data = fs7.readFileSync(this.filename, { - flag: "r", - encoding: this.encoding - }); - const tokens = data.split(this.separator); - const dropLastToken = tokens[tokens.length - 1] === "" ? 1 : 0; - if (tokens.length - this.nLines - dropLastToken <= 0) { - startingCursor = 0; - } else { - const match = data.match(new RegExp(`(?:[^\r -]*[\r]{0,1} -){${tokens.length - this.nLines - dropLastToken}}`)); - startingCursor = match && match.length ? Buffer.byteLength(match[0], this.encoding) : this.latestPosition(); - } - } else { - startingCursor = this.latestPosition(); - } - if (startingCursor === void 0) - throw new Error("Tail can't initialize."); - const flush = fromBeginning || this.nLines != void 0; - try { - this.watch(startingCursor, flush); - } catch (err) { - this.logger.error(`watch for ${this.filename} failed: ${err}`); - this.emit("error", `watch for ${this.filename} failed: ${err}`); - } - } - latestPosition() { - try { - return fs7.statSync(this.filename).size; - } catch (err) { - this.logger.error(`size check for ${this.filename} failed: ${err}`); - this.emit("error", `size check for ${this.filename} failed: ${err}`); - throw err; - } - } - readBlock() { - if (this.queue.length >= 1) { - const block = this.queue[0]; - if (block.end > block.start) { - let stream4 = fs7.createReadStream(this.filename, { start: block.start, end: block.end - 1, encoding: this.encoding }); - stream4.on("error", (error) => { - this.logger.error(`Tail error: ${error}`); - this.emit("error", error); - }); - stream4.on("end", () => { - let _ = this.queue.shift(); - if (this.queue.length > 0) { - this.internalDispatcher.emit("next"); - } - if (this.flushAtEOF && this.buffer.length > 0) { - this.emit("line", this.buffer); - this.buffer = ""; - } - }); - stream4.on("data", (d) => { - if (this.separator === null) { - this.emit("line", d); - } else { - this.buffer += d; - let parts = this.buffer.split(this.separator); - this.buffer = parts.pop(); - for (const chunk of parts) { - this.emit("line", chunk); - } - } - }); - } - } - } - change() { - let p = this.latestPosition(); - if (p < this.currentCursorPos) { - this.currentCursorPos = p; - } else if (p > this.currentCursorPos) { - this.queue.push({ start: this.currentCursorPos, end: p }); - this.currentCursorPos = p; - if (this.queue.length == 1) { - this.internalDispatcher.emit("next"); - } - } - } - watch(startingCursor, flush) { - if (this.isWatching) - return; - this.logger.info(`filesystem.watch present? ${fs7.watch != void 0}`); - this.logger.info(`useWatchFile: ${this.useWatchFile}`); - this.isWatching = true; - this.currentCursorPos = startingCursor; - if (flush) - this.change(); - if (!this.useWatchFile && fs7.watch) { - this.logger.info(`watch strategy: watch`); - this.watcher = fs7.watch(this.filename, this.fsWatchOptions, (e, filename) => { - this.watchEvent(e, filename); - }); - } else { - this.logger.info(`watch strategy: watchFile`); - fs7.watchFile(this.filename, this.fsWatchOptions, (curr, prev) => { - this.watchFileEvent(curr, prev); - }); - } - } - rename(filename) { - if (filename === void 0 || filename !== this.filename) { - this.unwatch(); - if (this.follow) { - this.filename = path4.join(this.absPath, filename); - this.rewatchId = setTimeout(() => { - try { - this.watch(this.currentCursorPos); - } catch (ex) { - this.logger.error(`'rename' event for ${this.filename}. File not available anymore.`); - this.emit("error", ex); - } - }, 1e3); - } else { - this.logger.error(`'rename' event for ${this.filename}. File not available anymore.`); - this.emit("error", `'rename' event for ${this.filename}. File not available anymore.`); - } - } else { - } - } - watchEvent(e, evtFilename) { - try { - if (e === "change") { - this.change(); - } else if (e === "rename") { - this.rename(evtFilename); - } - } catch (err) { - this.logger.error(`watchEvent for ${this.filename} failed: ${err}`); - this.emit("error", `watchEvent for ${this.filename} failed: ${err}`); - } - } - watchFileEvent(curr, prev) { - if (curr.size > prev.size) { - this.currentCursorPos = curr.size; - this.queue.push({ start: prev.size, end: curr.size }); - if (this.queue.length == 1) { - this.internalDispatcher.emit("next"); - } - } - } - unwatch() { - if (this.watcher) { - this.watcher.close(); - } else { - fs7.unwatchFile(this.filename); - } - if (this.rewatchId) { - clearTimeout(this.rewatchId); - this.rewatchId = void 0; - } - this.isWatching = false; - this.queue = []; - if (this.logger) { - this.logger.info(`Unwatch ${this.filename}`); - } - } - }; - exports2.Tail = Tail2; - } -}); - -// server/Logging/LogWatcher.js -var import_tail, LogWatcher; -var init_LogWatcher = __esm({ - "server/Logging/LogWatcher.js"() { - import_tail = __toESM(require_tail()); - init_globalData(); - LogWatcher = class { - constructor(webSocket) { - this.unlLog = new import_tail.Tail(unlEnv.loggerPaths.unlimited, { - useWatchFile: true - }); - this.unlLog.on("line", function(line) { - webSocket.updateLogs("unlimited", line); - }); - this.gameLog = new import_tail.Tail(unlEnv.loggerPaths.game, { useWatchFile: true }); - this.gameLog.on("line", function(line) { - webSocket.updateLogs("game", line); - }); - this.playerLog = new import_tail.Tail(unlEnv.loggerPaths.player, { useWatchFile: true }); - this.playerLog.on("line", function(line) { - webSocket.updateLogs("player", line); - }); - this.devLog = new import_tail.Tail(unlEnv.loggerPaths.dev, { useWatchFile: true }); - this.devLog.on("line", function(line) { - webSocket.updateLogs("dev", line); - }); - this.webLog = new import_tail.Tail(unlEnv.loggerPaths.web, { useWatchFile: true }); - this.webLog.on("line", function(line) { - webSocket.updateLogs("web", line); - }); - } - }; - } -}); - -// server/Web/Webserver.js -var Webserver_exports = {}; -__export(Webserver_exports, { - default: () => Webserver -}); -var import_node_crypto4, import_node_path2, import_node_http2, import_koa_bodyparser, import_koa_static, import_koa_mount, import_koa_history_api_fallback, import_koa_session, import_cors, import_koa_session_memory, import_mysql_session, import_http_wrapper, import_nolookalikes3, Webserver; -var init_Webserver = __esm({ - "server/Web/Webserver.js"() { - import_node_crypto4 = __toESM(require("node:crypto")); - import_node_path2 = __toESM(require("node:path")); - import_node_http2 = __toESM(require("node:http")); - init_koa(); - import_koa_bodyparser = __toESM(require_koa_bodyparser()); - import_koa_static = __toESM(require_koa_static()); - import_koa_mount = __toESM(require_koa_mount()); - import_koa_history_api_fallback = __toESM(require_lib4()); - import_koa_session = __toESM(require_koa_session()); - import_cors = __toESM(require_cors()); - import_koa_session_memory = __toESM(require_koa_session_memory()); - import_mysql_session = __toESM(require_mysql_session_store()); - init_wrapper(); - init_socketio_session_middleware(); - init_SocketServer(); - import_http_wrapper = __toESM(require_http_wrapper()); - import_nolookalikes3 = __toESM(require_nolookalikes()); - init_globalData(); - init_UnlLogger(); - init_app_route(); - init_auth_route(); - init_api_router(); - init_LogWatcher(); - init_server(); - Webserver = class { - constructor() { - const pathHash = import_node_crypto4.default.createHash("shake256", { outputLength: 6 }).update("ServerProfilePath").digest("hex"); - this.koaSessionKey = `R:UnlWeb:${pathHash}`; - this.setupKoa(); - this.setupSocketIO(); - this.setupLogWatcher(); - this.setupServerCallbacks(); - } - setupKoa() { - this.app = new koa_default(); - this.app.proxy = true; - this.app.keys = ["unlWeb" + Database.getConfigValue("tokenSecret")]; - this.koaSessionMemoryStore = unlEnv.unlMySQLSessions ? import_mysql_session.default : new import_koa_session_memory.default(); - this.sessionInstance = (0, import_koa_session.default)( - { - store: this.koaSessionMemoryStore, - key: this.koaSessionKey, - rolling: true, - maxAge: 24 * 60 * 60 * 1e3 - }, - this.app - ); - this.app.use(this.sessionInstance); - this.app.use( - (0, import_cors.default)({ - credentials: true, - origin: "*" - }) - ); - const jsonLimit = "16MB"; - this.app.use((0, import_koa_bodyparser.default)({ jsonLimit })); - this.app.use(function(ctx, next) { - return next().catch((err) => { - if (401 === err.status) { - ctx.body = "Protected resource, Authorization needed\n"; - ctx.status = 401; - } else { - throw err; - } - }); - }); - this.app.use(app_route_default.routes()); - this.app.use(app_route_default.allowedMethods()); - this.app.use(auth_route_default.routes()); - this.app.use(auth_route_default.allowedMethods()); - this.app.use(api_router_default.routes()); - this.app.use(api_router_default.allowedMethods()); - this.app.use( - (0, import_koa_history_api_fallback.default)({ - verbose: false, - rewrites: [ - { - from: /\/assets/, - to: function(context) { - return "/assets/" + context.parsedUrl.pathname.substring( - context.parsedUrl.pathname.lastIndexOf("/") + 1 - ); - } - } - ] - }) - ); - if (!unlEnv.unlDisableServe) - this.app.use((0, import_koa_static.default)(import_node_path2.default.join(unlEnv.unlWebResourcePath, "html/"), {})); - this.app.use( - (0, import_koa_mount.default)( - "/public/inventory/icons", - (0, import_koa_static.default)(unlEnv.inventoryImagePath, {}) - ) - ); - this.koaCallback = this.app.callback(); - } - setupSocketIO() { - this.io = new Server(import_node_http2.default.createServer(), { - serveClient: false, - cors: { - origin: "*" - } - }); - this.io.use(HandleKoaSession(this.app)); - this.webSocket = new SocketServer(this.io); - this.io.on( - "connection", - this.webSocket.handleConnection.bind(this.webSocket) - ); - this.io.of(`/${unlEnv.resourceName}`).on("connection", this.webSocket.handleConnection.bind(this.webSocket)); - } - setupLogWatcher() { - this.logWatcher = new LogWatcher(this.webSocket); - } - httpCallbackHandler(source2, req, res) { - try { - if (req.url.startsWith("/socket.io")) { - this.io.engine.handleRequest(req, res); - } else { - this.koaCallback(req, res); - } - } catch (error) { - if (req.url.startsWith("/socket.io")) - return; - UnlLogger.error("Error Handling httpRequest"); - } - } - setupServerCallbacks() { - try { - (0, import_http_wrapper.setHttpCallback)(this.httpCallbackHandler.bind(this, "citizenfx")); - } catch (error) { - UnlLogger.error( - `Failed to start Cfx.re Reverse Proxy Callback with error: ${error}` - ); - } - try { - const listenErrorHandler = (error) => { - if (error.code !== "EADDRINUSE") - return; - UnlLogger.error( - `Failed to start HTTP server, port ${error.port} already in use.` - ); - process.exit(1); - }; - this.httpServer = import_node_http2.default.createServer( - this.httpCallbackHandler.bind(this, "httpserver") - ); - this.httpServer.on("error", listenErrorHandler); - this.httpServer.listen(unlEnv.unlWebPort, "0.0.0.0", async () => { - UnlLogger.info(`HTTP Server started on port ${unlEnv.unlWebPort}.`, { - discord: false - }); - }); - } catch (error) { - UnlLogger.error(`Failed to start HTTP server with error: ${error}.`); - } - } - }; - } -}); - -// server/index.js -var server_exports = {}; -__export(server_exports, { - Database: () => Database, - Game: () => Game, - Players: () => Players, - Vehicles: () => Vehicles, - getSetupMode: () => getSetupMode, - setSetupMode: () => setSetupMode, - setupToken: () => setupToken -}); -module.exports = __toCommonJS(server_exports); -var import_nolookalikes4, import_oxmysql7, CREATE_TABLE, CHECK_BAN_COLUMN, ADD_BAN_COLUMN, setupMode, setSetupMode, getSetupMode, setupToken, Database, Game, Players, Vehicles; -var init_server = __esm({ - "server/index.js"() { - init_globalData(); - init_UnlLogger(); - init_nanoid(); - import_nolookalikes4 = __toESM(require_nolookalikes()); - init_db_controller(); - init_GameController(); - init_PlayerController(); - init_VehicleController(); - import_oxmysql7 = __toESM(require_MySQL()); - init_exports(); - init_events(); - if (!qbEnv.qbPath) { - throw new Error( - `Could not find ${unlEnv.unlQBName} in your resources! Startup abort ...` - ); - } - CREATE_TABLE = "CREATE TABLE IF NOT EXISTS `unl_session_store` (`session_id` varchar(50) NOT NULL, `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `modified` timestamp NULL DEFAULT NULL, `payload` text, PRIMARY KEY (`session_id`)) ENGINE=InnoDB;"; - CHECK_BAN_COLUMN = "SHOW COLUMNS FROM bans LIKE '%tokens%';"; - ADD_BAN_COLUMN = "ALTER TABLE bans ADD tokens text DEFAULT NULL;"; - setupMode = false; - setSetupMode = (val) => { - setupMode = val; - }; - getSetupMode = () => { - return setupMode; - }; - setupToken = customAlphabet(import_nolookalikes4.default, 48)(); - Database = new DatabaseController(); - Game = new GameController(); - Players = new PlayerController(); - Vehicles = new VehicleController(); - Database.init().then(async () => { - if (!unlEnv.unlMySQLSessions) { - await Database.updateConfigValue( - "tokenSecret", - customAlphabet(import_nolookalikes4.default, 20)(), - !setupMode - ); - } - if (unlEnv.unlMySQLSessions) { - await import_oxmysql7.oxmysql.query(CREATE_TABLE); - if (!Database.getConfigValue("tokenSecret")) - await Database.updateConfigValue( - "tokenSecret", - customAlphabet(import_nolookalikes4.default, 20)(), - !setupMode - ); - } - const columns = await import_oxmysql7.oxmysql.query(CHECK_BAN_COLUMN); - if (columns.length === 0) { - await import_oxmysql7.oxmysql.query(ADD_BAN_COLUMN); - } - if (getSetupMode()) { - UnlLogger.info("Setup Mode detected.", { discord: false }); - UnlLogger.info("Generated Setup Token.", { discord: false }); - console.log( - "\n", - "#################################################################", - "\n", - `# Setup Token: ${setupToken} #`, - "\n", - "#################################################################", - "\n" - ); - } - const { default: Webserver2 } = await Promise.resolve().then(() => (init_Webserver(), Webserver_exports)); - const unlimitedWeb = new Webserver2(); - on(`${unlEnv.unlQBObject}:Server:UpdateObject`, Game.updateQBCore.bind(Game)); - on( - `${unlEnv.unlQBObject}:Player:SetPlayerData`, - unlimitedWeb.webSocket.updatePlayer.bind(unlimitedWeb.webSocket) - ); - on( - `unlimited::update::playerInv`, - unlimitedWeb.webSocket.updatePlayer.bind(unlimitedWeb.webSocket) - ); - on( - `unlimited::update::supStash`, - unlimitedWeb.webSocket.updateSupStash.bind(unlimitedWeb.webSocket) - ); - onNet( - `inventory:server:SaveInventory`, - unlimitedWeb.webSocket.checkStorageUpdate.bind(unlimitedWeb.webSocket) - ); - on( - `unlimited::update::storage`, - unlimitedWeb.webSocket.updateStorage.bind(unlimitedWeb.webSocket) - ); - global.exports[unlEnv.resourceName].initLua( - unlEnv.unlQBName, - unlEnv.unlQBObject - ); - }); - } -}); -init_server(); -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - Database, - Game, - Players, - Vehicles, - getSetupMode, - setSetupMode, - setupToken -}); -/* -object-assign -(c) Sindre Sorhus -@license MIT -*/ -/*! - * accepts - * Copyright(c) 2014 Jonathan Ong - * Copyright(c) 2015 Douglas Christopher Wilson - * MIT Licensed - */ -/*! - * base64id v0.1.0 - */ -/*! - * bytes - * Copyright(c) 2012-2014 TJ Holowaychuk - * Copyright(c) 2015 Jed Watson - * MIT Licensed - */ -/*! - * content-disposition - * Copyright(c) 2014-2017 Douglas Christopher Wilson - * MIT Licensed - */ -/*! - * content-type - * Copyright(c) 2015 Douglas Christopher Wilson - * MIT Licensed - */ -/*! - * cookie - * Copyright(c) 2012-2014 Roman Shtylman - * Copyright(c) 2015 Douglas Christopher Wilson - * MIT Licensed - */ -/*! - * cookies - * Copyright(c) 2014 Jed Schmidt, http://jed.is/ - * Copyright(c) 2015-2016 Douglas Christopher Wilson - * MIT Licensed - */ -/*! - * copy-to - index.js - * Copyright(c) 2014 dead_horse - * MIT Licensed - */ -/*! - * depd - * Copyright(c) 2014 Douglas Christopher Wilson - * MIT Licensed - */ -/*! - * depd - * Copyright(c) 2014-2015 Douglas Christopher Wilson - * MIT Licensed - */ -/*! - * depd - * Copyright(c) 2014-2017 Douglas Christopher Wilson - * MIT Licensed - */ -/*! - * depd - * Copyright(c) 2014-2018 Douglas Christopher Wilson - * MIT Licensed - */ -/*! - * depd - * Copyright(c) 2015 Douglas Christopher Wilson - * MIT Licensed - */ -/*! - * destroy - * Copyright(c) 2014 Jonathan Ong - * Copyright(c) 2015-2022 Douglas Christopher Wilson - * MIT Licensed - */ -/*! - * ee-first - * Copyright(c) 2014 Jonathan Ong - * MIT Licensed - */ -/*! - * encodeurl - * Copyright(c) 2016 Douglas Christopher Wilson - * MIT Licensed - */ -/*! - * escape-html - * Copyright(c) 2012-2013 TJ Holowaychuk - * Copyright(c) 2015 Andreas Lubbe - * Copyright(c) 2015 Tiancheng "Timothy" Gu - * MIT Licensed - */ -/*! - * fresh - * Copyright(c) 2012 TJ Holowaychuk - * Copyright(c) 2016-2017 Douglas Christopher Wilson - * MIT Licensed - */ -/*! - * http-errors - * Copyright(c) 2014 Jonathan Ong - * Copyright(c) 2016 Douglas Christopher Wilson - * MIT Licensed - */ -/*! - * keygrip - * Copyright(c) 2011-2014 Jed Schmidt - * MIT Licensed - */ -/*! - * media-typer - * Copyright(c) 2014 Douglas Christopher Wilson - * MIT Licensed - */ -/*! - * methods - * Copyright(c) 2013-2014 TJ Holowaychuk - * Copyright(c) 2015-2016 Douglas Christopher Wilson - * MIT Licensed - */ -/*! - * mime-db - * Copyright(c) 2014 Jonathan Ong - * Copyright(c) 2015-2022 Douglas Christopher Wilson - * MIT Licensed - */ -/*! - * mime-types - * Copyright(c) 2014 Jonathan Ong - * Copyright(c) 2015 Douglas Christopher Wilson - * MIT Licensed - */ -/*! - * negotiator - * Copyright(c) 2012 Federico Romero - * Copyright(c) 2012-2014 Isaac Z. Schlueter - * Copyright(c) 2015 Douglas Christopher Wilson - * MIT Licensed - */ -/*! - * on-finished - * Copyright(c) 2013 Jonathan Ong - * Copyright(c) 2014 Douglas Christopher Wilson - * MIT Licensed - */ -/*! - * parseurl - * Copyright(c) 2014 Jonathan Ong - * Copyright(c) 2014-2017 Douglas Christopher Wilson - * MIT Licensed - */ -/*! - * raw-body - * Copyright(c) 2013-2014 Jonathan Ong - * Copyright(c) 2014-2022 Douglas Christopher Wilson - * MIT Licensed - */ -/*! - * resolve-path - * Copyright(c) 2014 Jonathan Ong - * Copyright(c) 2015-2018 Douglas Christopher Wilson - * MIT Licensed - */ -/*! - * statuses - * Copyright(c) 2014 Jonathan Ong - * Copyright(c) 2016 Douglas Christopher Wilson - * MIT Licensed - */ -/*! - * toidentifier - * Copyright(c) 2016 Douglas Christopher Wilson - * MIT Licensed - */ -/*! - * type-is - * Copyright(c) 2014 Jonathan Ong - * Copyright(c) 2014-2015 Douglas Christopher Wilson - * MIT Licensed - */ -/*! - * unpipe - * Copyright(c) 2015 Douglas Christopher Wilson - * MIT Licensed - */ -/*! - * vary - * Copyright(c) 2014-2017 Douglas Christopher Wilson - * MIT Licensed - */ -/*! https://mths.be/utf8js v2.1.2 by @mathias */ -/*! safe-buffer. MIT License. Feross Aboukhadijeh */ -/** - * @license - * Lodash - * Copyright OpenJS Foundation and other contributors - * Released under MIT license - * Based on Underscore.js 1.8.3 - * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */ diff --git a/resources/[tools]/unlimited-spectre/server/lua/wrapper.lua b/resources/[tools]/unlimited-spectre/server/lua/wrapper.lua deleted file mode 100644 index 3a9f61553..000000000 Binary files a/resources/[tools]/unlimited-spectre/server/lua/wrapper.lua and /dev/null differ diff --git a/resources/[tools]/unlimited-spectre/unlWeb/data.json b/resources/[tools]/unlimited-spectre/unlWeb/data.json deleted file mode 100644 index f03a5c0c0..000000000 --- a/resources/[tools]/unlimited-spectre/unlWeb/data.json +++ /dev/null @@ -1,4153 +0,0 @@ -{ - "lang": "de", - "user": [ - { - "name": "mark", - "password": "cBLD1yCc4J5KCtMCOeuW/4zAUth3CBb7F9zS4DBJm6I=", - "isMaster": false, - "roleId": "Serverwaltung", - "fxname": "" - }, - { - "name": "nordi", - "password": "ytDAKxtTL4FJrtzKuSRgkec3SFLDX4XpVnpxzi56svI=", - "isMaster": false, - "roleId": "CarDev", - "fxname": "" - }, - { - "name": "campers", - "password": "dT6I1nx1TB4epyVJGDEAN3yPKrudTLfwc8pa6z4NK+g=", - "isMaster": false, - "roleId": "Projektleitung", - "fxname": "" - }, - { - "name": "saylem", - "password": "h5GouQJKLI9rUSDVz942mJIoXf6p0rTmBn87vq2KjUI=", - "isMaster": false, - "roleId": "Supporter", - "fxname": "" - }, - { - "name": "max", - "password": "6Iv4EFATxWX/QYrAOOg856USlZMF6IhLWZpNui0i/Fw=", - "isMaster": true, - "roleId": "Inhaber", - "fxname": "" - }, - { - "name": "marc", - "password": "PyXx3qb6gvKVhGgTD7VeoSf7FZEh2BAFpROYXAr8/rk=", - "isMaster": false, - "roleId": "Projektleitung", - "fxname": "" - }, - { - "name": "voltstromi", - "password": "EoYpr+TvEU4iASGDbbdEx5UpzJsmepQuXyrWxahpbrg=", - "isMaster": false, - "roleId": "Fraktionsverwaltung", - "fxname": "" - }, - { - "name": "mimi", - "password": "LugmHs2Y1AClniHceHsIq6GCCfzJaPC+DPvPGoIZGaM=", - "isMaster": false, - "roleId": "StellvProjektleitung", - "fxname": "" - }, - { - "name": "dennis2", - "password": "IEjrRhu2Zi8yIiVfVUeGXT6xYmlHNlUZW0LJ0NIIVXc=", - "isMaster": false, - "roleId": "Supporter", - "fxname": "" - } - ], - "roles": [ - { - "name": "Projektleitung", - "desc": "PL", - "permissions": [ - { - "subject": "game", - "action": "livemap:read" - }, - { - "subject": "game", - "action": "livemap:player" - }, - { - "subject": "game", - "action": "livemap:vehicle" - }, - { - "subject": "game", - "action": "waypoint:read" - }, - { - "subject": "game", - "action": "waypoint:modify" - }, - { - "subject": "game", - "action": "waypoint:delete" - }, - { - "subject": "game", - "action": "waypoint:create" - }, - { - "subject": "game", - "action": "account:read" - }, - { - "subject": "game", - "action": "player:read" - }, - { - "subject": "game", - "action": "player:modify" - }, - { - "subject": "game", - "action": "player:delete" - }, - { - "subject": "game", - "action": "player:license" - }, - { - "subject": "game", - "action": "player:job" - }, - { - "subject": "game", - "action": "player:gang" - }, - { - "subject": "game", - "action": "player:kick" - }, - { - "subject": "game", - "action": "player:warn" - }, - { - "subject": "game", - "action": "player:ban" - }, - { - "subject": "game", - "action": "player:money" - }, - { - "subject": "game", - "action": "player:meta" - }, - { - "subject": "game", - "action": "player:position" - }, - { - "subject": "game", - "action": "player:inventory" - }, - { - "subject": "game", - "action": "player:screen" - }, - { - "subject": "game", - "action": "vehicle:read" - }, - { - "subject": "game", - "action": "vehicle:modify" - }, - { - "subject": "game", - "action": "vehicle:delete" - }, - { - "subject": "game", - "action": "vehicle:create" - }, - { - "subject": "game", - "action": "vehicle:despawn" - }, - { - "subject": "game", - "action": "vehicle:repair" - }, - { - "subject": "game", - "action": "stashes:read" - }, - { - "subject": "game", - "action": "stashes:modify" - }, - { - "subject": "game", - "action": "stashes:delete" - }, - { - "subject": "game", - "action": "logs:read" - }, - { - "subject": "game", - "action": "logs:game" - }, - { - "subject": "game", - "action": "logs:player" - }, - { - "subject": "game", - "action": "logs:dev" - }, - { - "subject": "game", - "action": "logs:web" - }, - { - "subject": "dev", - "action": "item:read" - }, - { - "subject": "dev", - "action": "item:modify" - }, - { - "subject": "dev", - "action": "item:delete" - }, - { - "subject": "dev", - "action": "item:create" - }, - { - "subject": "dev", - "action": "job:read" - }, - { - "subject": "dev", - "action": "job:modify" - }, - { - "subject": "dev", - "action": "job:delete" - }, - { - "subject": "dev", - "action": "job:create" - }, - { - "subject": "dev", - "action": "gang:read" - }, - { - "subject": "dev", - "action": "gang:modify" - }, - { - "subject": "dev", - "action": "gang:delete" - }, - { - "subject": "dev", - "action": "gang:create" - }, - { - "subject": "dev", - "action": "vehicle:read" - }, - { - "subject": "dev", - "action": "vehicle:modify" - }, - { - "subject": "dev", - "action": "vehicle:delete" - }, - { - "subject": "dev", - "action": "vehicle:create" - }, - { - "subject": "web", - "action": "user:read" - }, - { - "subject": "web", - "action": "user:modify" - }, - { - "subject": "web", - "action": "user:delete" - }, - { - "subject": "web", - "action": "user:create" - }, - { - "subject": "web", - "action": "role:read" - }, - { - "subject": "web", - "action": "role:modify" - }, - { - "subject": "web", - "action": "role:delete" - }, - { - "subject": "web", - "action": "role:create" - }, - { - "subject": "web", - "action": "config:read" - }, - { - "subject": "web", - "action": "config:modify" - } - ], - "color": "deep-purple" - }, - { - "name": "Serverwaltung", - "desc": "SV", - "permissions": [ - { - "subject": "game", - "action": "livemap:read" - }, - { - "subject": "game", - "action": "livemap:player" - }, - { - "subject": "game", - "action": "livemap:vehicle" - }, - { - "subject": "game", - "action": "waypoint:read" - }, - { - "subject": "game", - "action": "waypoint:modify" - }, - { - "subject": "game", - "action": "waypoint:delete" - }, - { - "subject": "game", - "action": "waypoint:create" - }, - { - "subject": "game", - "action": "account:read" - }, - { - "subject": "game", - "action": "player:read" - }, - { - "subject": "game", - "action": "player:modify" - }, - { - "subject": "game", - "action": "player:delete" - }, - { - "subject": "game", - "action": "player:license" - }, - { - "subject": "game", - "action": "player:job" - }, - { - "subject": "game", - "action": "player:gang" - }, - { - "subject": "game", - "action": "player:kick" - }, - { - "subject": "game", - "action": "player:warn" - }, - { - "subject": "game", - "action": "player:ban" - }, - { - "subject": "game", - "action": "player:money" - }, - { - "subject": "game", - "action": "player:meta" - }, - { - "subject": "game", - "action": "player:position" - }, - { - "subject": "game", - "action": "player:inventory" - }, - { - "subject": "game", - "action": "player:screen" - }, - { - "subject": "game", - "action": "vehicle:read" - }, - { - "subject": "game", - "action": "vehicle:modify" - }, - { - "subject": "game", - "action": "vehicle:delete" - }, - { - "subject": "game", - "action": "vehicle:create" - }, - { - "subject": "game", - "action": "vehicle:despawn" - }, - { - "subject": "game", - "action": "vehicle:repair" - }, - { - "subject": "game", - "action": "stashes:read" - }, - { - "subject": "game", - "action": "stashes:modify" - }, - { - "subject": "game", - "action": "stashes:delete" - }, - { - "subject": "game", - "action": "logs:read" - }, - { - "subject": "game", - "action": "logs:game" - }, - { - "subject": "game", - "action": "logs:player" - }, - { - "subject": "game", - "action": "logs:dev" - }, - { - "subject": "game", - "action": "logs:web" - }, - { - "subject": "dev", - "action": "item:read" - }, - { - "subject": "dev", - "action": "item:modify" - }, - { - "subject": "dev", - "action": "item:delete" - }, - { - "subject": "dev", - "action": "item:create" - }, - { - "subject": "dev", - "action": "job:read" - }, - { - "subject": "dev", - "action": "job:modify" - }, - { - "subject": "dev", - "action": "job:delete" - }, - { - "subject": "dev", - "action": "job:create" - }, - { - "subject": "dev", - "action": "gang:read" - }, - { - "subject": "dev", - "action": "gang:modify" - }, - { - "subject": "dev", - "action": "gang:delete" - }, - { - "subject": "dev", - "action": "gang:create" - }, - { - "subject": "dev", - "action": "vehicle:read" - }, - { - "subject": "dev", - "action": "vehicle:modify" - }, - { - "subject": "dev", - "action": "vehicle:delete" - }, - { - "subject": "dev", - "action": "vehicle:create" - }, - { - "subject": "web", - "action": "user:read" - }, - { - "subject": "web", - "action": "user:modify" - }, - { - "subject": "web", - "action": "user:delete" - }, - { - "subject": "web", - "action": "user:create" - }, - { - "subject": "web", - "action": "role:read" - }, - { - "subject": "web", - "action": "role:modify" - }, - { - "subject": "web", - "action": "role:delete" - }, - { - "subject": "web", - "action": "role:create" - }, - { - "subject": "web", - "action": "config:read" - }, - { - "subject": "web", - "action": "config:modify" - } - ], - "color": "blue-grey" - }, - { - "name": "HeadDeveloper", - "desc": "HD", - "permissions": [ - { - "subject": "game", - "action": "livemap:read" - }, - { - "subject": "game", - "action": "livemap:player" - }, - { - "subject": "game", - "action": "livemap:vehicle" - }, - { - "subject": "game", - "action": "waypoint:read" - }, - { - "subject": "game", - "action": "waypoint:modify" - }, - { - "subject": "game", - "action": "waypoint:delete" - }, - { - "subject": "game", - "action": "waypoint:create" - }, - { - "subject": "game", - "action": "account:read" - }, - { - "subject": "game", - "action": "player:read" - }, - { - "subject": "game", - "action": "player:modify" - }, - { - "subject": "game", - "action": "player:delete" - }, - { - "subject": "game", - "action": "player:license" - }, - { - "subject": "game", - "action": "player:job" - }, - { - "subject": "game", - "action": "player:gang" - }, - { - "subject": "game", - "action": "player:kick" - }, - { - "subject": "game", - "action": "player:warn" - }, - { - "subject": "game", - "action": "player:ban" - }, - { - "subject": "game", - "action": "player:money" - }, - { - "subject": "game", - "action": "player:meta" - }, - { - "subject": "game", - "action": "player:position" - }, - { - "subject": "game", - "action": "player:inventory" - }, - { - "subject": "game", - "action": "player:screen" - }, - { - "subject": "game", - "action": "vehicle:read" - }, - { - "subject": "game", - "action": "vehicle:modify" - }, - { - "subject": "game", - "action": "vehicle:delete" - }, - { - "subject": "game", - "action": "vehicle:create" - }, - { - "subject": "game", - "action": "vehicle:despawn" - }, - { - "subject": "game", - "action": "vehicle:repair" - }, - { - "subject": "game", - "action": "stashes:read" - }, - { - "subject": "game", - "action": "stashes:modify" - }, - { - "subject": "game", - "action": "stashes:delete" - }, - { - "subject": "game", - "action": "logs:read" - }, - { - "subject": "game", - "action": "logs:game" - }, - { - "subject": "game", - "action": "logs:player" - }, - { - "subject": "game", - "action": "logs:dev" - }, - { - "subject": "game", - "action": "logs:web" - }, - { - "subject": "dev", - "action": "item:read" - }, - { - "subject": "dev", - "action": "item:modify" - }, - { - "subject": "dev", - "action": "item:delete" - }, - { - "subject": "dev", - "action": "item:create" - }, - { - "subject": "dev", - "action": "job:read" - }, - { - "subject": "dev", - "action": "job:modify" - }, - { - "subject": "dev", - "action": "job:delete" - }, - { - "subject": "dev", - "action": "job:create" - }, - { - "subject": "dev", - "action": "gang:read" - }, - { - "subject": "dev", - "action": "gang:modify" - }, - { - "subject": "dev", - "action": "gang:delete" - }, - { - "subject": "dev", - "action": "gang:create" - }, - { - "subject": "dev", - "action": "vehicle:read" - }, - { - "subject": "dev", - "action": "vehicle:modify" - }, - { - "subject": "dev", - "action": "vehicle:delete" - }, - { - "subject": "dev", - "action": "vehicle:create" - }, - { - "subject": "web", - "action": "user:read" - }, - { - "subject": "web", - "action": "user:modify" - }, - { - "subject": "web", - "action": "user:delete" - }, - { - "subject": "web", - "action": "user:create" - }, - { - "subject": "web", - "action": "role:read" - }, - { - "subject": "web", - "action": "role:modify" - }, - { - "subject": "web", - "action": "role:delete" - }, - { - "subject": "web", - "action": "role:create" - }, - { - "subject": "web", - "action": "config:read" - }, - { - "subject": "web", - "action": "config:modify" - } - ], - "color": "indigo" - }, - { - "name": "Developer", - "desc": "DEV", - "permissions": [ - { - "subject": "game", - "action": "livemap:read" - }, - { - "subject": "game", - "action": "livemap:player" - }, - { - "subject": "game", - "action": "livemap:vehicle" - }, - { - "subject": "game", - "action": "waypoint:read" - }, - { - "subject": "game", - "action": "waypoint:modify" - }, - { - "subject": "game", - "action": "waypoint:delete" - }, - { - "subject": "game", - "action": "waypoint:create" - }, - { - "subject": "game", - "action": "account:read" - }, - { - "subject": "game", - "action": "player:read" - }, - { - "subject": "game", - "action": "player:modify" - }, - { - "subject": "game", - "action": "player:delete" - }, - { - "subject": "game", - "action": "player:license" - }, - { - "subject": "game", - "action": "player:job" - }, - { - "subject": "game", - "action": "player:gang" - }, - { - "subject": "game", - "action": "player:kick" - }, - { - "subject": "game", - "action": "player:warn" - }, - { - "subject": "game", - "action": "player:ban" - }, - { - "subject": "game", - "action": "player:money" - }, - { - "subject": "game", - "action": "player:meta" - }, - { - "subject": "game", - "action": "player:position" - }, - { - "subject": "game", - "action": "player:inventory" - }, - { - "subject": "game", - "action": "player:screen" - }, - { - "subject": "game", - "action": "vehicle:read" - }, - { - "subject": "game", - "action": "vehicle:modify" - }, - { - "subject": "game", - "action": "vehicle:delete" - }, - { - "subject": "game", - "action": "vehicle:create" - }, - { - "subject": "game", - "action": "vehicle:despawn" - }, - { - "subject": "game", - "action": "vehicle:repair" - }, - { - "subject": "game", - "action": "stashes:read" - }, - { - "subject": "game", - "action": "stashes:modify" - }, - { - "subject": "game", - "action": "stashes:delete" - }, - { - "subject": "game", - "action": "logs:read" - }, - { - "subject": "game", - "action": "logs:game" - }, - { - "subject": "game", - "action": "logs:player" - }, - { - "subject": "game", - "action": "logs:dev" - }, - { - "subject": "game", - "action": "logs:web" - }, - { - "subject": "dev", - "action": "item:read" - }, - { - "subject": "dev", - "action": "item:modify" - }, - { - "subject": "dev", - "action": "item:delete" - }, - { - "subject": "dev", - "action": "item:create" - }, - { - "subject": "dev", - "action": "job:read" - }, - { - "subject": "dev", - "action": "job:modify" - }, - { - "subject": "dev", - "action": "job:delete" - }, - { - "subject": "dev", - "action": "job:create" - }, - { - "subject": "dev", - "action": "gang:read" - }, - { - "subject": "dev", - "action": "gang:modify" - }, - { - "subject": "dev", - "action": "gang:delete" - }, - { - "subject": "dev", - "action": "gang:create" - }, - { - "subject": "dev", - "action": "vehicle:read" - }, - { - "subject": "dev", - "action": "vehicle:modify" - }, - { - "subject": "dev", - "action": "vehicle:delete" - }, - { - "subject": "dev", - "action": "vehicle:create" - }, - { - "subject": "web", - "action": "user:read" - }, - { - "subject": "web", - "action": "user:modify" - }, - { - "subject": "web", - "action": "user:delete" - }, - { - "subject": "web", - "action": "user:create" - }, - { - "subject": "web", - "action": "role:read" - }, - { - "subject": "web", - "action": "role:modify" - }, - { - "subject": "web", - "action": "role:delete" - }, - { - "subject": "web", - "action": "role:create" - }, - { - "subject": "web", - "action": "config:read" - }, - { - "subject": "web", - "action": "config:modify" - } - ], - "color": "blue" - }, - { - "name": "StellvProjektleitung", - "desc": "Stellv. PL", - "permissions": [ - { - "subject": "game", - "action": "livemap:read" - }, - { - "subject": "game", - "action": "livemap:player" - }, - { - "subject": "game", - "action": "livemap:vehicle" - }, - { - "subject": "game", - "action": "waypoint:read" - }, - { - "subject": "game", - "action": "waypoint:modify" - }, - { - "subject": "game", - "action": "waypoint:delete" - }, - { - "subject": "game", - "action": "waypoint:create" - }, - { - "subject": "game", - "action": "account:read" - }, - { - "subject": "game", - "action": "player:read" - }, - { - "subject": "game", - "action": "player:modify" - }, - { - "subject": "game", - "action": "player:delete" - }, - { - "subject": "game", - "action": "player:license" - }, - { - "subject": "game", - "action": "player:job" - }, - { - "subject": "game", - "action": "player:gang" - }, - { - "subject": "game", - "action": "player:kick" - }, - { - "subject": "game", - "action": "player:warn" - }, - { - "subject": "game", - "action": "player:ban" - }, - { - "subject": "game", - "action": "player:money" - }, - { - "subject": "game", - "action": "player:meta" - }, - { - "subject": "game", - "action": "player:position" - }, - { - "subject": "game", - "action": "player:inventory" - }, - { - "subject": "game", - "action": "player:screen" - }, - { - "subject": "game", - "action": "vehicle:read" - }, - { - "subject": "game", - "action": "vehicle:modify" - }, - { - "subject": "game", - "action": "vehicle:delete" - }, - { - "subject": "game", - "action": "vehicle:create" - }, - { - "subject": "game", - "action": "vehicle:despawn" - }, - { - "subject": "game", - "action": "vehicle:repair" - }, - { - "subject": "game", - "action": "stashes:read" - }, - { - "subject": "game", - "action": "stashes:modify" - }, - { - "subject": "game", - "action": "stashes:delete" - }, - { - "subject": "game", - "action": "logs:read" - }, - { - "subject": "game", - "action": "logs:game" - }, - { - "subject": "game", - "action": "logs:player" - }, - { - "subject": "game", - "action": "logs:dev" - }, - { - "subject": "game", - "action": "logs:web" - }, - { - "subject": "dev", - "action": "item:read" - }, - { - "subject": "dev", - "action": "item:modify" - }, - { - "subject": "dev", - "action": "item:delete" - }, - { - "subject": "dev", - "action": "item:create" - }, - { - "subject": "dev", - "action": "job:read" - }, - { - "subject": "dev", - "action": "job:modify" - }, - { - "subject": "dev", - "action": "job:delete" - }, - { - "subject": "dev", - "action": "job:create" - }, - { - "subject": "dev", - "action": "gang:read" - }, - { - "subject": "dev", - "action": "gang:modify" - }, - { - "subject": "dev", - "action": "gang:delete" - }, - { - "subject": "dev", - "action": "gang:create" - }, - { - "subject": "dev", - "action": "vehicle:read" - }, - { - "subject": "dev", - "action": "vehicle:modify" - }, - { - "subject": "dev", - "action": "vehicle:delete" - }, - { - "subject": "dev", - "action": "vehicle:create" - }, - { - "subject": "web", - "action": "user:read" - }, - { - "subject": "web", - "action": "user:modify" - }, - { - "subject": "web", - "action": "user:delete" - }, - { - "subject": "web", - "action": "user:create" - }, - { - "subject": "web", - "action": "role:read" - }, - { - "subject": "web", - "action": "role:modify" - }, - { - "subject": "web", - "action": "role:delete" - }, - { - "subject": "web", - "action": "role:create" - }, - { - "subject": "web", - "action": "config:read" - }, - { - "subject": "web", - "action": "config:modify" - } - ], - "color": "pink" - }, - { - "name": "CarDev", - "desc": "CD", - "permissions": [ - { - "subject": "game", - "action": "livemap:read" - }, - { - "subject": "game", - "action": "livemap:player" - }, - { - "subject": "game", - "action": "livemap:vehicle" - }, - { - "subject": "game", - "action": "waypoint:read" - }, - { - "subject": "game", - "action": "waypoint:modify" - }, - { - "subject": "game", - "action": "waypoint:delete" - }, - { - "subject": "game", - "action": "waypoint:create" - }, - { - "subject": "game", - "action": "account:read" - }, - { - "subject": "game", - "action": "player:read" - }, - { - "subject": "game", - "action": "player:modify" - }, - { - "subject": "game", - "action": "player:delete" - }, - { - "subject": "game", - "action": "player:license" - }, - { - "subject": "game", - "action": "player:job" - }, - { - "subject": "game", - "action": "player:gang" - }, - { - "subject": "game", - "action": "player:kick" - }, - { - "subject": "game", - "action": "player:warn" - }, - { - "subject": "game", - "action": "player:ban" - }, - { - "subject": "game", - "action": "player:money" - }, - { - "subject": "game", - "action": "player:meta" - }, - { - "subject": "game", - "action": "player:position" - }, - { - "subject": "game", - "action": "player:inventory" - }, - { - "subject": "game", - "action": "player:screen" - }, - { - "subject": "game", - "action": "vehicle:read" - }, - { - "subject": "game", - "action": "vehicle:modify" - }, - { - "subject": "game", - "action": "vehicle:delete" - }, - { - "subject": "game", - "action": "vehicle:create" - }, - { - "subject": "game", - "action": "vehicle:despawn" - }, - { - "subject": "game", - "action": "vehicle:repair" - }, - { - "subject": "game", - "action": "stashes:read" - }, - { - "subject": "game", - "action": "stashes:modify" - }, - { - "subject": "game", - "action": "stashes:delete" - }, - { - "subject": "game", - "action": "logs:read" - }, - { - "subject": "game", - "action": "logs:game" - }, - { - "subject": "game", - "action": "logs:player" - }, - { - "subject": "game", - "action": "logs:dev" - }, - { - "subject": "game", - "action": "logs:web" - }, - { - "subject": "dev", - "action": "item:read" - }, - { - "subject": "dev", - "action": "item:modify" - }, - { - "subject": "dev", - "action": "item:delete" - }, - { - "subject": "dev", - "action": "item:create" - }, - { - "subject": "dev", - "action": "job:read" - }, - { - "subject": "dev", - "action": "job:modify" - }, - { - "subject": "dev", - "action": "job:delete" - }, - { - "subject": "dev", - "action": "job:create" - }, - { - "subject": "dev", - "action": "gang:read" - }, - { - "subject": "dev", - "action": "gang:modify" - }, - { - "subject": "dev", - "action": "gang:delete" - }, - { - "subject": "dev", - "action": "gang:create" - }, - { - "subject": "dev", - "action": "vehicle:read" - }, - { - "subject": "dev", - "action": "vehicle:modify" - }, - { - "subject": "dev", - "action": "vehicle:delete" - }, - { - "subject": "dev", - "action": "vehicle:create" - }, - { - "subject": "web", - "action": "user:read" - }, - { - "subject": "web", - "action": "user:modify" - }, - { - "subject": "web", - "action": "user:delete" - }, - { - "subject": "web", - "action": "user:create" - }, - { - "subject": "web", - "action": "role:read" - }, - { - "subject": "web", - "action": "role:modify" - }, - { - "subject": "web", - "action": "role:delete" - }, - { - "subject": "web", - "action": "role:create" - }, - { - "subject": "web", - "action": "config:read" - }, - { - "subject": "web", - "action": "config:modify" - } - ], - "color": "light-blue" - }, - { - "name": "Grafik/GameDeveloper", - "desc": "GGD", - "permissions": [ - { - "subject": "game", - "action": "livemap:read" - }, - { - "subject": "game", - "action": "livemap:player" - }, - { - "subject": "game", - "action": "livemap:vehicle" - }, - { - "subject": "game", - "action": "waypoint:read" - }, - { - "subject": "game", - "action": "waypoint:modify" - }, - { - "subject": "game", - "action": "waypoint:delete" - }, - { - "subject": "game", - "action": "waypoint:create" - }, - { - "subject": "game", - "action": "account:read" - }, - { - "subject": "game", - "action": "player:read" - }, - { - "subject": "game", - "action": "player:modify" - }, - { - "subject": "game", - "action": "player:delete" - }, - { - "subject": "game", - "action": "player:license" - }, - { - "subject": "game", - "action": "player:job" - }, - { - "subject": "game", - "action": "player:gang" - }, - { - "subject": "game", - "action": "player:kick" - }, - { - "subject": "game", - "action": "player:warn" - }, - { - "subject": "game", - "action": "player:ban" - }, - { - "subject": "game", - "action": "player:money" - }, - { - "subject": "game", - "action": "player:meta" - }, - { - "subject": "game", - "action": "player:position" - }, - { - "subject": "game", - "action": "player:inventory" - }, - { - "subject": "game", - "action": "player:screen" - }, - { - "subject": "game", - "action": "vehicle:read" - }, - { - "subject": "game", - "action": "vehicle:modify" - }, - { - "subject": "game", - "action": "vehicle:delete" - }, - { - "subject": "game", - "action": "vehicle:create" - }, - { - "subject": "game", - "action": "vehicle:despawn" - }, - { - "subject": "game", - "action": "vehicle:repair" - }, - { - "subject": "game", - "action": "stashes:read" - }, - { - "subject": "game", - "action": "stashes:modify" - }, - { - "subject": "game", - "action": "stashes:delete" - }, - { - "subject": "game", - "action": "logs:read" - }, - { - "subject": "game", - "action": "logs:game" - }, - { - "subject": "game", - "action": "logs:player" - }, - { - "subject": "game", - "action": "logs:dev" - }, - { - "subject": "game", - "action": "logs:web" - }, - { - "subject": "dev", - "action": "item:read" - }, - { - "subject": "dev", - "action": "item:modify" - }, - { - "subject": "dev", - "action": "item:delete" - }, - { - "subject": "dev", - "action": "item:create" - }, - { - "subject": "dev", - "action": "job:read" - }, - { - "subject": "dev", - "action": "job:modify" - }, - { - "subject": "dev", - "action": "job:delete" - }, - { - "subject": "dev", - "action": "job:create" - }, - { - "subject": "dev", - "action": "gang:read" - }, - { - "subject": "dev", - "action": "gang:modify" - }, - { - "subject": "dev", - "action": "gang:delete" - }, - { - "subject": "dev", - "action": "gang:create" - }, - { - "subject": "dev", - "action": "vehicle:read" - }, - { - "subject": "dev", - "action": "vehicle:modify" - }, - { - "subject": "dev", - "action": "vehicle:delete" - }, - { - "subject": "dev", - "action": "vehicle:create" - }, - { - "subject": "web", - "action": "user:read" - }, - { - "subject": "web", - "action": "user:modify" - }, - { - "subject": "web", - "action": "user:delete" - }, - { - "subject": "web", - "action": "user:create" - }, - { - "subject": "web", - "action": "role:read" - }, - { - "subject": "web", - "action": "role:modify" - }, - { - "subject": "web", - "action": "role:delete" - }, - { - "subject": "web", - "action": "role:create" - }, - { - "subject": "web", - "action": "config:read" - }, - { - "subject": "web", - "action": "config:modify" - } - ], - "color": "cyan" - }, - { - "name": "Admin", - "desc": "A", - "permissions": [ - { - "subject": "game", - "action": "livemap:read" - }, - { - "subject": "game", - "action": "livemap:player" - }, - { - "subject": "game", - "action": "livemap:vehicle" - }, - { - "subject": "game", - "action": "waypoint:read" - }, - { - "subject": "game", - "action": "waypoint:modify" - }, - { - "subject": "game", - "action": "waypoint:delete" - }, - { - "subject": "game", - "action": "waypoint:create" - }, - { - "subject": "game", - "action": "account:read" - }, - { - "subject": "game", - "action": "player:read" - }, - { - "subject": "game", - "action": "player:modify" - }, - { - "subject": "game", - "action": "player:delete" - }, - { - "subject": "game", - "action": "player:license" - }, - { - "subject": "game", - "action": "player:job" - }, - { - "subject": "game", - "action": "player:gang" - }, - { - "subject": "game", - "action": "player:kick" - }, - { - "subject": "game", - "action": "player:warn" - }, - { - "subject": "game", - "action": "player:ban" - }, - { - "subject": "game", - "action": "player:money" - }, - { - "subject": "game", - "action": "player:meta" - }, - { - "subject": "game", - "action": "player:position" - }, - { - "subject": "game", - "action": "player:inventory" - }, - { - "subject": "game", - "action": "player:screen" - }, - { - "subject": "game", - "action": "vehicle:read" - }, - { - "subject": "game", - "action": "vehicle:modify" - }, - { - "subject": "game", - "action": "vehicle:delete" - }, - { - "subject": "game", - "action": "vehicle:create" - }, - { - "subject": "game", - "action": "vehicle:despawn" - }, - { - "subject": "game", - "action": "vehicle:repair" - }, - { - "subject": "game", - "action": "stashes:read" - }, - { - "subject": "game", - "action": "stashes:modify" - }, - { - "subject": "game", - "action": "stashes:delete" - }, - { - "subject": "game", - "action": "logs:read" - }, - { - "subject": "game", - "action": "logs:game" - }, - { - "subject": "game", - "action": "logs:player" - }, - { - "subject": "game", - "action": "logs:dev" - }, - { - "subject": "game", - "action": "logs:web" - }, - { - "subject": "dev", - "action": "item:read" - }, - { - "subject": "dev", - "action": "item:modify" - }, - { - "subject": "dev", - "action": "item:delete" - }, - { - "subject": "dev", - "action": "item:create" - }, - { - "subject": "dev", - "action": "job:read" - }, - { - "subject": "dev", - "action": "job:modify" - }, - { - "subject": "dev", - "action": "job:delete" - }, - { - "subject": "dev", - "action": "job:create" - }, - { - "subject": "dev", - "action": "gang:read" - }, - { - "subject": "dev", - "action": "gang:modify" - }, - { - "subject": "dev", - "action": "gang:delete" - }, - { - "subject": "dev", - "action": "gang:create" - }, - { - "subject": "dev", - "action": "vehicle:read" - }, - { - "subject": "dev", - "action": "vehicle:modify" - }, - { - "subject": "dev", - "action": "vehicle:delete" - }, - { - "subject": "dev", - "action": "vehicle:create" - }, - { - "subject": "web", - "action": "user:read" - }, - { - "subject": "web", - "action": "user:modify" - }, - { - "subject": "web", - "action": "user:delete" - }, - { - "subject": "web", - "action": "user:create" - }, - { - "subject": "web", - "action": "role:read" - }, - { - "subject": "web", - "action": "role:modify" - }, - { - "subject": "web", - "action": "role:delete" - }, - { - "subject": "web", - "action": "role:create" - }, - { - "subject": "web", - "action": "config:read" - }, - { - "subject": "web", - "action": "config:modify" - } - ], - "color": "yellow" - }, - { - "name": "Moderatorleitung", - "desc": "HM", - "permissions": [ - { - "subject": "game", - "action": "livemap:read" - }, - { - "subject": "game", - "action": "livemap:player" - }, - { - "subject": "game", - "action": "livemap:vehicle" - }, - { - "subject": "game", - "action": "waypoint:read" - }, - { - "subject": "game", - "action": "waypoint:modify" - }, - { - "subject": "game", - "action": "waypoint:delete" - }, - { - "subject": "game", - "action": "waypoint:create" - }, - { - "subject": "game", - "action": "account:read" - }, - { - "subject": "game", - "action": "player:read" - }, - { - "subject": "game", - "action": "player:modify" - }, - { - "subject": "game", - "action": "player:delete" - }, - { - "subject": "game", - "action": "player:license" - }, - { - "subject": "game", - "action": "player:job" - }, - { - "subject": "game", - "action": "player:gang" - }, - { - "subject": "game", - "action": "player:kick" - }, - { - "subject": "game", - "action": "player:warn" - }, - { - "subject": "game", - "action": "player:ban" - }, - { - "subject": "game", - "action": "player:money" - }, - { - "subject": "game", - "action": "player:meta" - }, - { - "subject": "game", - "action": "player:position" - }, - { - "subject": "game", - "action": "player:inventory" - }, - { - "subject": "game", - "action": "player:screen" - }, - { - "subject": "game", - "action": "vehicle:read" - }, - { - "subject": "game", - "action": "vehicle:modify" - }, - { - "subject": "game", - "action": "vehicle:delete" - }, - { - "subject": "game", - "action": "vehicle:create" - }, - { - "subject": "game", - "action": "vehicle:despawn" - }, - { - "subject": "game", - "action": "vehicle:repair" - }, - { - "subject": "game", - "action": "stashes:read" - }, - { - "subject": "game", - "action": "stashes:modify" - }, - { - "subject": "game", - "action": "stashes:delete" - }, - { - "subject": "game", - "action": "logs:read" - }, - { - "subject": "game", - "action": "logs:game" - }, - { - "subject": "game", - "action": "logs:player" - }, - { - "subject": "game", - "action": "logs:dev" - }, - { - "subject": "game", - "action": "logs:web" - }, - { - "subject": "dev", - "action": "item:read" - }, - { - "subject": "dev", - "action": "item:modify" - }, - { - "subject": "dev", - "action": "item:delete" - }, - { - "subject": "dev", - "action": "item:create" - }, - { - "subject": "dev", - "action": "job:read" - }, - { - "subject": "dev", - "action": "job:modify" - }, - { - "subject": "dev", - "action": "job:delete" - }, - { - "subject": "dev", - "action": "job:create" - }, - { - "subject": "dev", - "action": "gang:read" - }, - { - "subject": "dev", - "action": "gang:modify" - }, - { - "subject": "dev", - "action": "gang:delete" - }, - { - "subject": "dev", - "action": "gang:create" - }, - { - "subject": "dev", - "action": "vehicle:read" - }, - { - "subject": "dev", - "action": "vehicle:modify" - }, - { - "subject": "dev", - "action": "vehicle:delete" - }, - { - "subject": "dev", - "action": "vehicle:create" - }, - { - "subject": "web", - "action": "user:read" - }, - { - "subject": "web", - "action": "user:modify" - }, - { - "subject": "web", - "action": "user:delete" - }, - { - "subject": "web", - "action": "user:create" - }, - { - "subject": "web", - "action": "role:read" - }, - { - "subject": "web", - "action": "role:modify" - }, - { - "subject": "web", - "action": "role:delete" - }, - { - "subject": "web", - "action": "role:create" - }, - { - "subject": "web", - "action": "config:read" - }, - { - "subject": "web", - "action": "config:modify" - } - ], - "color": "green" - }, - { - "name": "Moderator", - "desc": "Mod", - "permissions": [ - { - "subject": "game", - "action": "livemap:read" - }, - { - "subject": "game", - "action": "livemap:player" - }, - { - "subject": "game", - "action": "livemap:vehicle" - }, - { - "subject": "game", - "action": "waypoint:read" - }, - { - "subject": "game", - "action": "waypoint:modify" - }, - { - "subject": "game", - "action": "waypoint:delete" - }, - { - "subject": "game", - "action": "waypoint:create" - }, - { - "subject": "game", - "action": "account:read" - }, - { - "subject": "game", - "action": "player:read" - }, - { - "subject": "game", - "action": "player:modify" - }, - { - "subject": "game", - "action": "player:delete" - }, - { - "subject": "game", - "action": "player:license" - }, - { - "subject": "game", - "action": "player:job" - }, - { - "subject": "game", - "action": "player:gang" - }, - { - "subject": "game", - "action": "player:kick" - }, - { - "subject": "game", - "action": "player:warn" - }, - { - "subject": "game", - "action": "player:ban" - }, - { - "subject": "game", - "action": "player:money" - }, - { - "subject": "game", - "action": "player:meta" - }, - { - "subject": "game", - "action": "player:position" - }, - { - "subject": "game", - "action": "player:inventory" - }, - { - "subject": "game", - "action": "player:screen" - }, - { - "subject": "game", - "action": "vehicle:read" - }, - { - "subject": "game", - "action": "vehicle:modify" - }, - { - "subject": "game", - "action": "vehicle:delete" - }, - { - "subject": "game", - "action": "vehicle:create" - }, - { - "subject": "game", - "action": "vehicle:despawn" - }, - { - "subject": "game", - "action": "vehicle:repair" - }, - { - "subject": "game", - "action": "stashes:read" - }, - { - "subject": "game", - "action": "stashes:modify" - }, - { - "subject": "game", - "action": "stashes:delete" - }, - { - "subject": "game", - "action": "logs:read" - }, - { - "subject": "game", - "action": "logs:game" - }, - { - "subject": "game", - "action": "logs:player" - }, - { - "subject": "game", - "action": "logs:dev" - }, - { - "subject": "game", - "action": "logs:web" - }, - { - "subject": "dev", - "action": "item:read" - }, - { - "subject": "dev", - "action": "item:modify" - }, - { - "subject": "dev", - "action": "item:delete" - }, - { - "subject": "dev", - "action": "item:create" - }, - { - "subject": "dev", - "action": "job:read" - }, - { - "subject": "dev", - "action": "job:modify" - }, - { - "subject": "dev", - "action": "job:delete" - }, - { - "subject": "dev", - "action": "job:create" - }, - { - "subject": "dev", - "action": "gang:read" - }, - { - "subject": "dev", - "action": "gang:modify" - }, - { - "subject": "dev", - "action": "gang:delete" - }, - { - "subject": "dev", - "action": "gang:create" - }, - { - "subject": "dev", - "action": "vehicle:read" - }, - { - "subject": "dev", - "action": "vehicle:modify" - }, - { - "subject": "dev", - "action": "vehicle:delete" - }, - { - "subject": "dev", - "action": "vehicle:create" - }, - { - "subject": "web", - "action": "user:read" - }, - { - "subject": "web", - "action": "user:modify" - }, - { - "subject": "web", - "action": "user:delete" - }, - { - "subject": "web", - "action": "user:create" - }, - { - "subject": "web", - "action": "role:read" - }, - { - "subject": "web", - "action": "role:modify" - }, - { - "subject": "web", - "action": "role:delete" - }, - { - "subject": "web", - "action": "role:create" - }, - { - "subject": "web", - "action": "config:read" - }, - { - "subject": "web", - "action": "config:modify" - } - ], - "color": "light-green" - }, - { - "name": "Supportleitung", - "desc": "HS", - "permissions": [ - { - "subject": "game", - "action": "livemap:read" - }, - { - "subject": "game", - "action": "livemap:player" - }, - { - "subject": "game", - "action": "livemap:vehicle" - }, - { - "subject": "game", - "action": "waypoint:read" - }, - { - "subject": "game", - "action": "waypoint:modify" - }, - { - "subject": "game", - "action": "waypoint:delete" - }, - { - "subject": "game", - "action": "waypoint:create" - }, - { - "subject": "game", - "action": "account:read" - }, - { - "subject": "game", - "action": "player:read" - }, - { - "subject": "game", - "action": "player:modify" - }, - { - "subject": "game", - "action": "player:delete" - }, - { - "subject": "game", - "action": "player:license" - }, - { - "subject": "game", - "action": "player:job" - }, - { - "subject": "game", - "action": "player:gang" - }, - { - "subject": "game", - "action": "player:kick" - }, - { - "subject": "game", - "action": "player:warn" - }, - { - "subject": "game", - "action": "player:ban" - }, - { - "subject": "game", - "action": "player:money" - }, - { - "subject": "game", - "action": "player:meta" - }, - { - "subject": "game", - "action": "player:position" - }, - { - "subject": "game", - "action": "player:inventory" - }, - { - "subject": "game", - "action": "player:screen" - }, - { - "subject": "game", - "action": "vehicle:read" - }, - { - "subject": "game", - "action": "vehicle:modify" - }, - { - "subject": "game", - "action": "vehicle:delete" - }, - { - "subject": "game", - "action": "vehicle:create" - }, - { - "subject": "game", - "action": "vehicle:despawn" - }, - { - "subject": "game", - "action": "vehicle:repair" - }, - { - "subject": "game", - "action": "stashes:read" - }, - { - "subject": "game", - "action": "stashes:modify" - }, - { - "subject": "game", - "action": "stashes:delete" - }, - { - "subject": "game", - "action": "logs:read" - }, - { - "subject": "game", - "action": "logs:game" - }, - { - "subject": "game", - "action": "logs:player" - }, - { - "subject": "game", - "action": "logs:dev" - }, - { - "subject": "game", - "action": "logs:web" - }, - { - "subject": "dev", - "action": "item:read" - }, - { - "subject": "dev", - "action": "item:modify" - }, - { - "subject": "dev", - "action": "item:delete" - }, - { - "subject": "dev", - "action": "item:create" - }, - { - "subject": "dev", - "action": "job:read" - }, - { - "subject": "dev", - "action": "job:modify" - }, - { - "subject": "dev", - "action": "job:delete" - }, - { - "subject": "dev", - "action": "job:create" - }, - { - "subject": "dev", - "action": "gang:read" - }, - { - "subject": "dev", - "action": "gang:modify" - }, - { - "subject": "dev", - "action": "gang:delete" - }, - { - "subject": "dev", - "action": "gang:create" - }, - { - "subject": "dev", - "action": "vehicle:read" - }, - { - "subject": "dev", - "action": "vehicle:modify" - }, - { - "subject": "dev", - "action": "vehicle:delete" - }, - { - "subject": "dev", - "action": "vehicle:create" - }, - { - "subject": "web", - "action": "user:read" - }, - { - "subject": "web", - "action": "user:modify" - }, - { - "subject": "web", - "action": "user:delete" - }, - { - "subject": "web", - "action": "user:create" - }, - { - "subject": "web", - "action": "role:read" - }, - { - "subject": "web", - "action": "role:modify" - }, - { - "subject": "web", - "action": "role:delete" - }, - { - "subject": "web", - "action": "role:create" - }, - { - "subject": "web", - "action": "config:read" - }, - { - "subject": "web", - "action": "config:modify" - } - ], - "color": "amber" - }, - { - "name": "Supporter", - "desc": "S", - "permissions": [ - { - "subject": "game", - "action": "livemap:read" - }, - { - "subject": "game", - "action": "livemap:player" - }, - { - "subject": "game", - "action": "livemap:vehicle" - }, - { - "subject": "game", - "action": "waypoint:read" - }, - { - "subject": "game", - "action": "waypoint:modify" - }, - { - "subject": "game", - "action": "waypoint:delete" - }, - { - "subject": "game", - "action": "waypoint:create" - }, - { - "subject": "game", - "action": "account:read" - }, - { - "subject": "game", - "action": "player:read" - }, - { - "subject": "game", - "action": "player:modify" - }, - { - "subject": "game", - "action": "player:delete" - }, - { - "subject": "game", - "action": "player:license" - }, - { - "subject": "game", - "action": "player:job" - }, - { - "subject": "game", - "action": "player:gang" - }, - { - "subject": "game", - "action": "player:kick" - }, - { - "subject": "game", - "action": "player:warn" - }, - { - "subject": "game", - "action": "player:ban" - }, - { - "subject": "game", - "action": "player:money" - }, - { - "subject": "game", - "action": "player:meta" - }, - { - "subject": "game", - "action": "player:position" - }, - { - "subject": "game", - "action": "player:inventory" - }, - { - "subject": "game", - "action": "player:screen" - }, - { - "subject": "game", - "action": "vehicle:read" - }, - { - "subject": "game", - "action": "vehicle:modify" - }, - { - "subject": "game", - "action": "vehicle:delete" - }, - { - "subject": "game", - "action": "vehicle:create" - }, - { - "subject": "game", - "action": "vehicle:despawn" - }, - { - "subject": "game", - "action": "vehicle:repair" - }, - { - "subject": "game", - "action": "stashes:read" - }, - { - "subject": "game", - "action": "stashes:modify" - }, - { - "subject": "game", - "action": "stashes:delete" - }, - { - "subject": "game", - "action": "logs:read" - }, - { - "subject": "game", - "action": "logs:game" - }, - { - "subject": "game", - "action": "logs:player" - }, - { - "subject": "game", - "action": "logs:dev" - }, - { - "subject": "game", - "action": "logs:web" - }, - { - "subject": "dev", - "action": "item:read" - }, - { - "subject": "dev", - "action": "item:modify" - }, - { - "subject": "dev", - "action": "item:delete" - }, - { - "subject": "dev", - "action": "item:create" - }, - { - "subject": "dev", - "action": "job:read" - }, - { - "subject": "dev", - "action": "job:modify" - }, - { - "subject": "dev", - "action": "job:delete" - }, - { - "subject": "dev", - "action": "job:create" - }, - { - "subject": "dev", - "action": "gang:read" - }, - { - "subject": "dev", - "action": "gang:modify" - }, - { - "subject": "dev", - "action": "gang:delete" - }, - { - "subject": "dev", - "action": "gang:create" - }, - { - "subject": "dev", - "action": "vehicle:read" - }, - { - "subject": "dev", - "action": "vehicle:modify" - }, - { - "subject": "dev", - "action": "vehicle:delete" - }, - { - "subject": "dev", - "action": "vehicle:create" - }, - { - "subject": "web", - "action": "user:read" - }, - { - "subject": "web", - "action": "user:modify" - }, - { - "subject": "web", - "action": "user:delete" - }, - { - "subject": "web", - "action": "user:create" - }, - { - "subject": "web", - "action": "role:read" - }, - { - "subject": "web", - "action": "role:modify" - }, - { - "subject": "web", - "action": "role:delete" - }, - { - "subject": "web", - "action": "role:create" - }, - { - "subject": "web", - "action": "config:read" - }, - { - "subject": "web", - "action": "config:modify" - } - ], - "color": "orange" - }, - { - "name": "TestSupport", - "desc": "TS", - "permissions": [ - { - "subject": "game", - "action": "livemap:read" - }, - { - "subject": "game", - "action": "livemap:player" - }, - { - "subject": "game", - "action": "livemap:vehicle" - }, - { - "subject": "game", - "action": "waypoint:read" - }, - { - "subject": "game", - "action": "waypoint:modify" - }, - { - "subject": "game", - "action": "waypoint:delete" - }, - { - "subject": "game", - "action": "waypoint:create" - }, - { - "subject": "game", - "action": "account:read" - }, - { - "subject": "game", - "action": "player:read" - }, - { - "subject": "game", - "action": "player:modify" - }, - { - "subject": "game", - "action": "player:delete" - }, - { - "subject": "game", - "action": "player:license" - }, - { - "subject": "game", - "action": "player:job" - }, - { - "subject": "game", - "action": "player:gang" - }, - { - "subject": "game", - "action": "player:kick" - }, - { - "subject": "game", - "action": "player:warn" - }, - { - "subject": "game", - "action": "player:ban" - }, - { - "subject": "game", - "action": "player:money" - }, - { - "subject": "game", - "action": "player:meta" - }, - { - "subject": "game", - "action": "player:position" - }, - { - "subject": "game", - "action": "player:inventory" - }, - { - "subject": "game", - "action": "player:screen" - }, - { - "subject": "game", - "action": "vehicle:read" - }, - { - "subject": "game", - "action": "vehicle:modify" - }, - { - "subject": "game", - "action": "vehicle:delete" - }, - { - "subject": "game", - "action": "vehicle:create" - }, - { - "subject": "game", - "action": "vehicle:despawn" - }, - { - "subject": "game", - "action": "vehicle:repair" - }, - { - "subject": "game", - "action": "stashes:read" - }, - { - "subject": "game", - "action": "stashes:modify" - }, - { - "subject": "game", - "action": "stashes:delete" - }, - { - "subject": "game", - "action": "logs:read" - }, - { - "subject": "game", - "action": "logs:game" - }, - { - "subject": "game", - "action": "logs:player" - }, - { - "subject": "game", - "action": "logs:dev" - }, - { - "subject": "game", - "action": "logs:web" - }, - { - "subject": "dev", - "action": "item:read" - }, - { - "subject": "dev", - "action": "item:modify" - }, - { - "subject": "dev", - "action": "item:delete" - }, - { - "subject": "dev", - "action": "item:create" - }, - { - "subject": "dev", - "action": "job:read" - }, - { - "subject": "dev", - "action": "job:modify" - }, - { - "subject": "dev", - "action": "job:delete" - }, - { - "subject": "dev", - "action": "job:create" - }, - { - "subject": "dev", - "action": "gang:read" - }, - { - "subject": "dev", - "action": "gang:modify" - }, - { - "subject": "dev", - "action": "gang:delete" - }, - { - "subject": "dev", - "action": "gang:create" - }, - { - "subject": "dev", - "action": "vehicle:read" - }, - { - "subject": "dev", - "action": "vehicle:modify" - }, - { - "subject": "dev", - "action": "vehicle:delete" - }, - { - "subject": "dev", - "action": "vehicle:create" - }, - { - "subject": "web", - "action": "user:read" - }, - { - "subject": "web", - "action": "user:modify" - }, - { - "subject": "web", - "action": "user:delete" - }, - { - "subject": "web", - "action": "user:create" - }, - { - "subject": "web", - "action": "role:read" - }, - { - "subject": "web", - "action": "role:modify" - }, - { - "subject": "web", - "action": "role:delete" - }, - { - "subject": "web", - "action": "role:create" - }, - { - "subject": "web", - "action": "config:read" - }, - { - "subject": "web", - "action": "config:modify" - } - ], - "color": "deep-orange" - }, - { - "name": "Teamleitung", - "desc": "TL", - "permissions": [ - { - "subject": "game", - "action": "livemap:read" - }, - { - "subject": "game", - "action": "livemap:player" - }, - { - "subject": "game", - "action": "livemap:vehicle" - }, - { - "subject": "game", - "action": "waypoint:read" - }, - { - "subject": "game", - "action": "waypoint:modify" - }, - { - "subject": "game", - "action": "waypoint:delete" - }, - { - "subject": "game", - "action": "waypoint:create" - }, - { - "subject": "game", - "action": "account:read" - }, - { - "subject": "game", - "action": "player:read" - }, - { - "subject": "game", - "action": "player:modify" - }, - { - "subject": "game", - "action": "player:delete" - }, - { - "subject": "game", - "action": "player:license" - }, - { - "subject": "game", - "action": "player:job" - }, - { - "subject": "game", - "action": "player:gang" - }, - { - "subject": "game", - "action": "player:kick" - }, - { - "subject": "game", - "action": "player:warn" - }, - { - "subject": "game", - "action": "player:ban" - }, - { - "subject": "game", - "action": "player:money" - }, - { - "subject": "game", - "action": "player:meta" - }, - { - "subject": "game", - "action": "player:position" - }, - { - "subject": "game", - "action": "player:inventory" - }, - { - "subject": "game", - "action": "player:screen" - }, - { - "subject": "game", - "action": "vehicle:read" - }, - { - "subject": "game", - "action": "vehicle:modify" - }, - { - "subject": "game", - "action": "vehicle:delete" - }, - { - "subject": "game", - "action": "vehicle:create" - }, - { - "subject": "game", - "action": "vehicle:despawn" - }, - { - "subject": "game", - "action": "vehicle:repair" - }, - { - "subject": "game", - "action": "stashes:read" - }, - { - "subject": "game", - "action": "stashes:modify" - }, - { - "subject": "game", - "action": "stashes:delete" - }, - { - "subject": "game", - "action": "logs:read" - }, - { - "subject": "game", - "action": "logs:game" - }, - { - "subject": "game", - "action": "logs:player" - }, - { - "subject": "game", - "action": "logs:dev" - }, - { - "subject": "game", - "action": "logs:web" - }, - { - "subject": "dev", - "action": "item:read" - }, - { - "subject": "dev", - "action": "item:modify" - }, - { - "subject": "dev", - "action": "item:delete" - }, - { - "subject": "dev", - "action": "item:create" - }, - { - "subject": "dev", - "action": "job:read" - }, - { - "subject": "dev", - "action": "job:modify" - }, - { - "subject": "dev", - "action": "job:delete" - }, - { - "subject": "dev", - "action": "job:create" - }, - { - "subject": "dev", - "action": "gang:read" - }, - { - "subject": "dev", - "action": "gang:modify" - }, - { - "subject": "dev", - "action": "gang:delete" - }, - { - "subject": "dev", - "action": "gang:create" - }, - { - "subject": "dev", - "action": "vehicle:read" - }, - { - "subject": "dev", - "action": "vehicle:modify" - }, - { - "subject": "dev", - "action": "vehicle:delete" - }, - { - "subject": "dev", - "action": "vehicle:create" - }, - { - "subject": "web", - "action": "user:read" - }, - { - "subject": "web", - "action": "user:modify" - }, - { - "subject": "web", - "action": "user:delete" - }, - { - "subject": "web", - "action": "user:create" - }, - { - "subject": "web", - "action": "role:read" - }, - { - "subject": "web", - "action": "role:modify" - }, - { - "subject": "web", - "action": "role:delete" - }, - { - "subject": "web", - "action": "role:create" - }, - { - "subject": "web", - "action": "config:read" - }, - { - "subject": "web", - "action": "config:modify" - } - ], - "color": "purple" - }, - { - "name": "Fraktionsverwaltung", - "desc": "FV", - "permissions": [ - { - "subject": "game", - "action": "livemap:read" - }, - { - "subject": "game", - "action": "livemap:player" - }, - { - "subject": "game", - "action": "livemap:vehicle" - }, - { - "subject": "game", - "action": "waypoint:read" - }, - { - "subject": "game", - "action": "waypoint:modify" - }, - { - "subject": "game", - "action": "waypoint:delete" - }, - { - "subject": "game", - "action": "waypoint:create" - }, - { - "subject": "game", - "action": "account:read" - }, - { - "subject": "game", - "action": "player:read" - }, - { - "subject": "game", - "action": "player:modify" - }, - { - "subject": "game", - "action": "player:delete" - }, - { - "subject": "game", - "action": "player:license" - }, - { - "subject": "game", - "action": "player:job" - }, - { - "subject": "game", - "action": "player:gang" - }, - { - "subject": "game", - "action": "player:kick" - }, - { - "subject": "game", - "action": "player:warn" - }, - { - "subject": "game", - "action": "player:ban" - }, - { - "subject": "game", - "action": "player:money" - }, - { - "subject": "game", - "action": "player:meta" - }, - { - "subject": "game", - "action": "player:position" - }, - { - "subject": "game", - "action": "player:inventory" - }, - { - "subject": "game", - "action": "player:screen" - }, - { - "subject": "game", - "action": "vehicle:read" - }, - { - "subject": "game", - "action": "vehicle:modify" - }, - { - "subject": "game", - "action": "vehicle:delete" - }, - { - "subject": "game", - "action": "vehicle:create" - }, - { - "subject": "game", - "action": "vehicle:despawn" - }, - { - "subject": "game", - "action": "vehicle:repair" - }, - { - "subject": "game", - "action": "stashes:read" - }, - { - "subject": "game", - "action": "stashes:modify" - }, - { - "subject": "game", - "action": "stashes:delete" - }, - { - "subject": "game", - "action": "logs:read" - }, - { - "subject": "game", - "action": "logs:game" - }, - { - "subject": "game", - "action": "logs:player" - }, - { - "subject": "game", - "action": "logs:dev" - }, - { - "subject": "game", - "action": "logs:web" - }, - { - "subject": "dev", - "action": "item:read" - }, - { - "subject": "dev", - "action": "item:modify" - }, - { - "subject": "dev", - "action": "item:delete" - }, - { - "subject": "dev", - "action": "item:create" - }, - { - "subject": "dev", - "action": "job:read" - }, - { - "subject": "dev", - "action": "job:modify" - }, - { - "subject": "dev", - "action": "job:delete" - }, - { - "subject": "dev", - "action": "job:create" - }, - { - "subject": "dev", - "action": "gang:read" - }, - { - "subject": "dev", - "action": "gang:modify" - }, - { - "subject": "dev", - "action": "gang:delete" - }, - { - "subject": "dev", - "action": "gang:create" - }, - { - "subject": "dev", - "action": "vehicle:read" - }, - { - "subject": "dev", - "action": "vehicle:modify" - }, - { - "subject": "dev", - "action": "vehicle:delete" - }, - { - "subject": "dev", - "action": "vehicle:create" - }, - { - "subject": "web", - "action": "user:read" - }, - { - "subject": "web", - "action": "user:modify" - }, - { - "subject": "web", - "action": "user:delete" - }, - { - "subject": "web", - "action": "user:create" - }, - { - "subject": "web", - "action": "role:read" - }, - { - "subject": "web", - "action": "role:modify" - }, - { - "subject": "web", - "action": "role:delete" - }, - { - "subject": "web", - "action": "role:create" - }, - { - "subject": "web", - "action": "config:read" - }, - { - "subject": "web", - "action": "config:modify" - } - ], - "color": "brown" - }, - { - "name": "Inhaber", - "desc": "IH", - "permissions": [ - { - "subject": "game", - "action": "livemap:read" - }, - { - "subject": "game", - "action": "livemap:player" - }, - { - "subject": "game", - "action": "livemap:vehicle" - }, - { - "subject": "game", - "action": "waypoint:read" - }, - { - "subject": "game", - "action": "waypoint:modify" - }, - { - "subject": "game", - "action": "waypoint:delete" - }, - { - "subject": "game", - "action": "waypoint:create" - }, - { - "subject": "game", - "action": "account:read" - }, - { - "subject": "game", - "action": "player:read" - }, - { - "subject": "game", - "action": "player:modify" - }, - { - "subject": "game", - "action": "player:delete" - }, - { - "subject": "game", - "action": "player:license" - }, - { - "subject": "game", - "action": "player:job" - }, - { - "subject": "game", - "action": "player:gang" - }, - { - "subject": "game", - "action": "player:kick" - }, - { - "subject": "game", - "action": "player:warn" - }, - { - "subject": "game", - "action": "player:ban" - }, - { - "subject": "game", - "action": "player:money" - }, - { - "subject": "game", - "action": "player:meta" - }, - { - "subject": "game", - "action": "player:position" - }, - { - "subject": "game", - "action": "player:inventory" - }, - { - "subject": "game", - "action": "player:screen" - }, - { - "subject": "game", - "action": "vehicle:read" - }, - { - "subject": "game", - "action": "vehicle:modify" - }, - { - "subject": "game", - "action": "vehicle:delete" - }, - { - "subject": "game", - "action": "vehicle:create" - }, - { - "subject": "game", - "action": "vehicle:despawn" - }, - { - "subject": "game", - "action": "vehicle:repair" - }, - { - "subject": "game", - "action": "stashes:read" - }, - { - "subject": "game", - "action": "stashes:modify" - }, - { - "subject": "game", - "action": "stashes:delete" - }, - { - "subject": "game", - "action": "logs:read" - }, - { - "subject": "game", - "action": "logs:game" - }, - { - "subject": "game", - "action": "logs:player" - }, - { - "subject": "game", - "action": "logs:dev" - }, - { - "subject": "game", - "action": "logs:web" - }, - { - "subject": "dev", - "action": "item:read" - }, - { - "subject": "dev", - "action": "item:modify" - }, - { - "subject": "dev", - "action": "item:delete" - }, - { - "subject": "dev", - "action": "item:create" - }, - { - "subject": "dev", - "action": "job:read" - }, - { - "subject": "dev", - "action": "job:modify" - }, - { - "subject": "dev", - "action": "job:delete" - }, - { - "subject": "dev", - "action": "job:create" - }, - { - "subject": "dev", - "action": "gang:read" - }, - { - "subject": "dev", - "action": "gang:modify" - }, - { - "subject": "dev", - "action": "gang:delete" - }, - { - "subject": "dev", - "action": "gang:create" - }, - { - "subject": "dev", - "action": "vehicle:read" - }, - { - "subject": "dev", - "action": "vehicle:modify" - }, - { - "subject": "dev", - "action": "vehicle:delete" - }, - { - "subject": "dev", - "action": "vehicle:create" - }, - { - "subject": "web", - "action": "user:read" - }, - { - "subject": "web", - "action": "user:modify" - }, - { - "subject": "web", - "action": "user:delete" - }, - { - "subject": "web", - "action": "user:create" - }, - { - "subject": "web", - "action": "role:read" - }, - { - "subject": "web", - "action": "role:modify" - }, - { - "subject": "web", - "action": "role:delete" - }, - { - "subject": "web", - "action": "role:create" - }, - { - "subject": "web", - "action": "config:read" - }, - { - "subject": "web", - "action": "config:modify" - } - ], - "color": "red" - } - ], - "waypoints": [], - "tokenSecret": "yDNdeDprFFC64eJJYaJW", - "supporterStash": [] -} \ No newline at end of file diff --git a/resources/[tools]/unlimited-spectre/unlWeb/logs/dev.log b/resources/[tools]/unlimited-spectre/unlWeb/logs/dev.log deleted file mode 100644 index 0aa69e77f..000000000 --- a/resources/[tools]/unlimited-spectre/unlWeb/logs/dev.log +++ /dev/null @@ -1,8922 +0,0 @@ -[info][2025/04/26 22:49:56]: minichaoz requested all items. -[info][2025/04/26 22:50:48]: minichaoz requested item list. -[info][2025/04/26 22:53:29]: minichaoz uplaoded item image BaldursLightElixir.png. -[info][2025/04/26 22:53:49]: minichaoz requested create item baldurslightelixir. -[info][2025/04/26 22:53:49]: minichaoz successfully created item baldurslightelixir. -[info][2025/04/26 22:53:49]: minichaoz requested all items. -[info][2025/04/26 22:56:12]: minichaoz requested all items. -[info][2025/04/26 22:56:46]: minichaoz requested item weapon_combatpistol. -[info][2025/04/26 22:57:24]: minichaoz requested save item weapon_combatpistol. -[info][2025/04/26 22:57:24]: minichaoz successfully saved item weapon_combatpistol. -[info][2025/04/26 22:58:12]: minichaoz requested all items. -[info][2025/04/26 22:58:50]: minichaoz requested all jobs. -[info][2025/04/26 22:59:00]: minichaoz requested job police. -[info][2025/04/26 22:59:04]: minichaoz requested all jobs. -[info][2025/04/26 22:59:59]: minichaoz requested job police. -[info][2025/04/26 23:03:52]: minichaoz requested all items. -[info][2025/04/26 23:06:22]: minichaoz requested item list. -[info][2025/04/26 23:08:51]: minichaoz uplaoded item image FreyasBlossom.png. -[info][2025/04/26 23:10:09]: minichaoz requested create item freyas_blossom. -[info][2025/04/26 23:10:09]: minichaoz successfully created item freyas_blossom. -[info][2025/04/26 23:10:09]: minichaoz requested all items. -[info][2025/04/26 23:15:49]: campers requested all items. -[info][2025/04/26 23:15:50]: campers requested all jobs. -[info][2025/04/26 23:15:52]: campers requested all gangs. -[info][2025/04/26 23:17:33]: campers requested all items. -[info][2025/04/26 23:23:29]: tim requested all items. -[info][2025/04/26 23:23:37]: tim requested all jobs. -[info][2025/04/26 23:23:42]: tim requested all gangs. -[info][2025/04/26 23:23:51]: nordi requested all items. -[info][2025/04/26 23:24:13]: nordi requested item weapon_marksmanrifle. -[info][2025/04/26 23:27:52]: campers requested all jobs. -[info][2025/04/26 23:27:54]: campers requested job police. -[info][2025/04/26 23:34:04]: nordi uplaoded item image screenshot_395-removebg-preview.png. -[info][2025/04/26 23:34:14]: nordi requested save item weapon_marksmanrifle. -[info][2025/04/26 23:34:14]: nordi successfully saved item weapon_marksmanrifle. -[info][2025/04/26 23:34:17]: nordi requested all items. -[info][2025/04/26 23:35:07]: nordi requested item weapon_marksmanrifle. -[info][2025/04/26 23:35:11]: nordi requested all items. -[info][2025/04/26 23:35:41]: nordi requested item weapon_appistol. -[info][2025/04/26 23:36:25]: nordi uplaoded item image screenshot_406-removebg-preview.png. -[info][2025/04/26 23:37:47]: nordi requested save item weapon_appistol. -[info][2025/04/26 23:37:47]: nordi successfully saved item weapon_appistol. -[info][2025/04/26 23:38:02]: nordi requested save item weapon_appistol. -[info][2025/04/26 23:38:02]: nordi successfully saved item weapon_appistol. -[info][2025/04/26 23:38:36]: nordi requested all items. -[info][2025/04/26 23:39:17]: nordi requested item weapon_combatpistol. -[info][2025/04/26 23:39:54]: nordi uplaoded item image screenshot_396-removebg-preview.png. -[info][2025/04/26 23:39:57]: nordi requested save item weapon_combatpistol. -[info][2025/04/26 23:39:57]: nordi successfully saved item weapon_combatpistol. -[info][2025/04/26 23:40:00]: nordi requested all items. -[info][2025/04/26 23:40:02]: nordi requested item weapon_appistol. -[info][2025/04/26 23:40:12]: nordi requested save item weapon_appistol. -[info][2025/04/26 23:40:12]: nordi successfully saved item weapon_appistol. -[info][2025/04/26 23:40:15]: nordi requested all items. -[info][2025/04/26 23:40:48]: nordi requested item weapon_combatpistol. -[info][2025/04/26 23:40:54]: nordi requested all items. -[info][2025/04/26 23:40:55]: nordi requested item weapon_combatpistol. -[info][2025/04/26 23:40:59]: nordi requested all items. -[info][2025/04/26 23:41:09]: nordi requested item weapon_combatpistol. -[info][2025/04/26 23:41:32]: nordi requested item weapon_combatpistol. -[info][2025/04/26 23:41:36]: nordi requested all items. -[info][2025/04/26 23:41:41]: nordi requested item weapon_appistol. -[info][2025/04/26 23:41:50]: nordi requested all items. -[info][2025/04/26 23:41:58]: nordi requested item weapon_marksmanrifle. -[info][2025/04/26 23:42:46]: nordi requested all items. -[info][2025/04/26 23:42:57]: nordi requested item weapon_appistol. -[info][2025/04/26 23:43:02]: nordi requested all items. -[info][2025/04/26 23:43:07]: nordi requested item weapon_pistol. -[info][2025/04/26 23:43:14]: nordi requested all items. -[info][2025/04/26 23:43:18]: nordi requested item walkstick. -[info][2025/04/26 23:43:19]: nordi requested all items. -[info][2025/04/26 23:43:23]: nordi requested all items. -[info][2025/04/26 23:43:33]: campers requested all items. -[info][2025/04/26 23:43:34]: nordi requested item zebracamo_attachment. -[info][2025/04/26 23:43:36]: campers requested item slanted_muzzle_brake. -[info][2025/04/26 23:43:46]: nordi requested all items. -[info][2025/04/26 23:43:49]: tim requested all items. -[info][2025/04/26 23:43:50]: campers requested all items. -[info][2025/04/26 23:44:22]: campers requested item attachment_bench. -[info][2025/04/26 23:44:25]: campers requested all items. -[info][2025/04/26 23:44:40]: nordi requested item weapon_marksmanrifle. -[info][2025/04/26 23:44:48]: tim requested item weapon_sawnoffshotgun. -[info][2025/04/26 23:44:51]: tim requested all items. -[info][2025/04/26 23:44:54]: nordi requested save item undefined. -[info][2025/04/26 23:44:58]: campers requested item weapon_marksmanrifle. -[info][2025/04/26 23:45:01]: nordi requested all items. -[info][2025/04/26 23:45:12]: campers requested all items. -[info][2025/04/26 23:45:14]: campers requested item trojan_usb. -[info][2025/04/26 23:45:16]: campers requested all items. -[info][2025/04/26 23:45:55]: nordi requested item freyas_blossom. -[info][2025/04/26 23:45:59]: campers requested item freyas_blossom. -[info][2025/04/26 23:46:01]: nordi requested all items. -[info][2025/04/27 00:26:09]: nordi requested all items. -[info][2025/04/27 00:26:10]: tim requested all items. -[info][2025/04/27 00:26:11]: nordi requested item weapon_assaultrifle. -[info][2025/04/27 00:26:11]: tim requested item weapon_assaultrifle. -[info][2025/04/27 01:05:00]: nordi requested all items. -[info][2025/04/27 01:05:06]: nordi requested item weapon_combatpistol. -[info][2025/04/27 01:05:17]: nordi uplaoded item image screenshot_406-removebg-preview.png. -[info][2025/04/27 01:05:20]: nordi requested save item weapon_combatpistol. -[info][2025/04/27 01:05:20]: nordi successfully saved item weapon_combatpistol. -[info][2025/04/27 01:05:40]: nordi requested all items. -[info][2025/04/27 01:05:42]: nordi requested item weapon_appistol. -[info][2025/04/27 01:05:47]: nordi requested all items. -[info][2025/04/27 01:06:12]: nordi requested item weapon_stungun. -[info][2025/04/27 01:06:24]: nordi uplaoded item image screenshot_408-removebg-preview.png. -[info][2025/04/27 01:06:32]: nordi requested save item weapon_stungun. -[info][2025/04/27 01:06:32]: nordi successfully saved item weapon_stungun. -[info][2025/04/27 01:07:28]: nordi requested save item weapon_stungun. -[info][2025/04/27 01:07:28]: nordi successfully saved item weapon_stungun. -[info][2025/04/27 01:08:14]: nordi requested all items. -[info][2025/04/27 01:09:49]: nordi requested item weapon_combatpistol. -[info][2025/04/27 01:10:10]: nordi requested save item weapon_combatpistol. -[info][2025/04/27 01:10:10]: nordi successfully saved item weapon_combatpistol. -[info][2025/04/27 01:14:58]: nordi requested all items. -[info][2025/04/27 01:15:53]: nordi requested item weapon_assaultrifle. -[info][2025/04/27 01:17:55]: nordi uplaoded item image screenshot_403-removebg-preview.png. -[info][2025/04/27 01:18:03]: nordi requested save item weapon_assaultrifle. -[info][2025/04/27 01:18:03]: nordi successfully saved item weapon_assaultrifle. -[info][2025/04/27 01:18:29]: nordi requested save item weapon_assaultrifle. -[info][2025/04/27 01:18:29]: nordi successfully saved item weapon_assaultrifle. -[info][2025/04/27 01:18:32]: nordi requested all items. -[info][2025/04/27 01:18:40]: nordi requested item weapon_carbinerifle. -[info][2025/04/27 01:21:05]: campers requested all items. -[info][2025/04/27 01:21:51]: nordi uplaoded item image screenshot_402-removebg-preview.png. -[info][2025/04/27 01:21:53]: tim requested all items. -[info][2025/04/27 01:21:55]: tim requested all gangs. -[info][2025/04/27 01:21:56]: tim requested all jobs. -[info][2025/04/27 01:21:59]: nordi requested save item weapon_carbinerifle. -[info][2025/04/27 01:21:59]: nordi successfully saved item weapon_carbinerifle. -[info][2025/04/27 01:22:03]: nordi requested all items. -[info][2025/04/27 01:22:06]: nordi requested item weapon_specialcarbine. -[info][2025/04/27 01:22:08]: campers requested item list. -[info][2025/04/27 01:22:15]: tim requested shared vehicle manana. -[info][2025/04/27 01:23:22]: nordi uplaoded item image screenshot_407-removebg-preview.png. -[info][2025/04/27 01:23:23]: campers uplaoded item image metalscrap.png. -[info][2025/04/27 01:23:27]: nordi requested save item weapon_specialcarbine. -[info][2025/04/27 01:23:27]: nordi successfully saved item weapon_specialcarbine. -[info][2025/04/27 01:23:45]: campers requested all items. -[info][2025/04/27 01:23:57]: campers requested item metalscrap. -[info][2025/04/27 01:25:16]: nordi requested all items. -[info][2025/04/27 01:25:32]: nordi requested item weapon_pumpshotgun. -[info][2025/04/27 01:25:38]: nordi uplaoded item image screenshot_399-removebg-preview.png. -[info][2025/04/27 01:26:12]: nordi uplaoded item image screenshot_395-removebg-preview.png. -[info][2025/04/27 01:26:50]: campers requested save item metalscrap. -[info][2025/04/27 01:26:50]: campers successfully saved item metalscrap. -[info][2025/04/27 01:27:43]: nordi requested save item weapon_pumpshotgun. -[info][2025/04/27 01:27:44]: nordi successfully saved item weapon_pumpshotgun. -[info][2025/04/27 01:28:39]: nordi requested all items. -[info][2025/04/27 01:28:48]: nordi requested item weapon_snspistol. -[info][2025/04/27 01:30:45]: nordi uplaoded item image screenshot_401-removebg-preview.png. -[info][2025/04/27 01:31:56]: campers requested all items. -[info][2025/04/27 01:32:00]: nordi requested save item weapon_snspistol. -[info][2025/04/27 01:32:00]: nordi successfully saved item weapon_snspistol. -[info][2025/04/27 01:32:11]: campers requested item metalscrap. -[info][2025/04/27 01:32:13]: campers requested all items. -[info][2025/04/27 01:32:31]: nordi requested save item weapon_snspistol. -[info][2025/04/27 01:32:31]: nordi successfully saved item weapon_snspistol. -[info][2025/04/27 01:32:33]: nordi requested all items. -[info][2025/04/27 01:32:39]: nordi requested item weapon_smg. -[info][2025/04/27 01:32:44]: nordi uplaoded item image screenshot_409-removebg-preview.png. -[info][2025/04/27 01:33:38]: nordi requested save item weapon_smg. -[info][2025/04/27 01:33:38]: nordi successfully saved item weapon_smg. -[info][2025/04/27 01:33:45]: nordi requested save item weapon_smg. -[info][2025/04/27 01:33:45]: nordi successfully saved item weapon_smg. -[info][2025/04/27 01:33:45]: campers requested item weapontint_mk2_27. -[info][2025/04/27 01:33:47]: campers requested all items. -[info][2025/04/27 01:33:48]: nordi requested all items. -[info][2025/04/27 01:34:09]: nordi requested item weapon_heavypistol. -[info][2025/04/27 01:34:21]: tim requested all items. -[info][2025/04/27 01:34:35]: nordi uplaoded item image screenshot_405-removebg-preview.png. -[info][2025/04/27 01:34:36]: nordi requested save item weapon_heavypistol. -[info][2025/04/27 01:34:36]: nordi successfully saved item weapon_heavypistol. -[info][2025/04/27 01:35:08]: nordi requested save item weapon_heavypistol. -[info][2025/04/27 01:35:08]: nordi successfully saved item weapon_heavypistol. -[info][2025/04/27 01:35:10]: nordi requested all items. -[info][2025/04/27 01:35:30]: tim requested item weapon_heavysniper. -[info][2025/04/27 01:38:01]: campers requested all items. -[info][2025/04/27 01:38:06]: nordi requested item weapon_heavypistol. -[info][2025/04/27 01:38:11]: nordi requested all items. -[info][2025/04/27 01:38:25]: nordi requested item weapon_heavypistol. -[info][2025/04/27 01:39:16]: nordi requested save item weapon_heavypistol. -[info][2025/04/27 01:39:16]: nordi successfully saved item weapon_heavypistol. -[info][2025/04/27 01:39:20]: nordi requested all items. -[info][2025/04/27 01:39:25]: nordi requested item weapon_assaultsmg. -[info][2025/04/27 01:39:46]: campers requested item list. -[info][2025/04/27 01:40:04]: nordi uplaoded item image screenshot_40d-removebg-preview.png. -[info][2025/04/27 01:40:12]: nordi requested save item weapon_assaultsmg. -[info][2025/04/27 01:40:12]: nordi successfully saved item weapon_assaultsmg. -[info][2025/04/27 01:40:51]: nordi requested save item weapon_assaultsmg. -[info][2025/04/27 01:40:51]: nordi successfully saved item weapon_assaultsmg. -[info][2025/04/27 01:40:55]: nordi requested all items. -[info][2025/04/27 01:41:53]: nordi requested item list. -[info][2025/04/27 01:42:29]: campers requested all items. -[info][2025/04/27 01:42:33]: campers requested item list. -[info][2025/04/27 01:42:36]: campers requested all items. -[info][2025/04/27 01:42:40]: campers requested item steel. -[info][2025/04/27 01:42:45]: campers requested all items. -[info][2025/04/27 01:42:54]: campers requested item list. -[info][2025/04/27 01:43:07]: nordi requested create item weapon_assaultsmg. -[info][2025/04/27 01:43:14]: nordi requested all items. -[info][2025/04/27 01:43:35]: campers uplaoded item image Steel ingot.png. -[info][2025/04/27 01:43:43]: campers requested create item steel_ingots. -[info][2025/04/27 01:43:43]: campers successfully created item steel_ingots. -[info][2025/04/27 01:43:44]: campers requested all items. -[info][2025/04/27 01:43:56]: nordi requested item weapon_pistol. -[info][2025/04/27 01:44:01]: campers requested item steel_ingots. -[info][2025/04/27 01:44:46]: nordi uplaoded item image screenshot_398-removebg-preview.png. -[info][2025/04/27 01:44:51]: nordi requested save item weapon_pistol. -[info][2025/04/27 01:44:51]: nordi successfully saved item weapon_pistol. -[info][2025/04/27 01:44:53]: nordi requested all items. -[info][2025/04/27 01:45:09]: nordi requested item weapon_switchblade. -[info][2025/04/27 01:45:10]: campers requested save item steel_ingots. -[info][2025/04/27 01:45:10]: campers successfully saved item steel_ingots. -[info][2025/04/27 01:45:26]: campers requested all items. -[info][2025/04/27 01:46:06]: campers requested item weapon_assaultshotgun. -[info][2025/04/27 01:46:08]: campers requested all items. -[info][2025/04/27 01:47:02]: nordi requested all items. -[info][2025/04/27 01:47:05]: nordi requested item weapon_pistol. -[info][2025/04/27 01:47:11]: nordi requested all items. -[info][2025/04/27 01:47:14]: nordi requested all items. -[info][2025/04/27 01:47:46]: nordi requested item list. -[info][2025/04/27 01:48:20]: nordi requested all items. -[info][2025/04/27 01:48:24]: nordi requested item list. -[info][2025/04/27 01:48:41]: nordi requested create item weapon_assaultsmg. -[info][2025/04/27 01:49:33]: nordi requested all items. -[info][2025/04/27 01:49:53]: tim requested all items. -[info][2025/04/27 01:50:22]: nordi requested item weapon_revolver_mk2. -[info][2025/04/27 01:50:41]: minichaoz requested all items. -[info][2025/04/27 01:52:23]: nordi uplaoded item image screenshot_419-removebg-preview.png. -[info][2025/04/27 01:52:42]: nordi requested save item weapon_revolver_mk2. -[info][2025/04/27 01:52:42]: nordi successfully saved item weapon_revolver_mk2. -[info][2025/04/27 01:52:49]: nordi requested all items. -[info][2025/04/27 01:53:08]: nordi requested item weapon_poolcue. -[info][2025/04/27 01:53:17]: minichaoz requested item weapon_grenade. -[info][2025/04/27 01:53:29]: minichaoz requested all items. -[info][2025/04/27 01:53:56]: nordi requested save item weapon_poolcue. -[info][2025/04/27 01:53:56]: nordi successfully saved item weapon_poolcue. -[info][2025/04/27 01:53:58]: nordi requested all items. -[info][2025/04/27 01:54:04]: nordi requested item water_bottle. -[info][2025/04/27 01:54:57]: minichaoz requested item list. -[info][2025/04/27 01:55:05]: campers requested item steel_ingots. -[info][2025/04/27 01:55:13]: minichaoz requested create item assaultsmg. -[info][2025/04/27 01:55:13]: minichaoz successfully created item assaultsmg. -[info][2025/04/27 01:55:14]: minichaoz requested all items. -[info][2025/04/27 01:55:15]: minichaoz requested item assaultsmg. -[info][2025/04/27 01:55:18]: minichaoz requested save item assaultsmg. -[info][2025/04/27 01:55:18]: minichaoz successfully saved item assaultsmg. -[info][2025/04/27 01:55:24]: minichaoz requested all items. -[info][2025/04/27 01:55:44]: minichaoz requested item assaultsmg. -[info][2025/04/27 01:55:54]: minichaoz requested delete item assaultsmg. -[info][2025/04/27 01:55:54]: minichaoz successfully deleted item assaultsmg. -[info][2025/04/27 01:55:55]: minichaoz requested all items. -[info][2025/04/27 01:55:57]: minichaoz requested item list. -[info][2025/04/27 01:56:14]: minichaoz requested create item weapon_assaultsmg. -[info][2025/04/27 01:56:18]: minichaoz requested all items. -[info][2025/04/27 01:56:49]: nordi uplaoded item image photorealistic-water-bottle-removebg-preview.png. -[info][2025/04/27 01:58:26]: nordi uplaoded item image waterbottle.png. -[info][2025/04/27 01:58:58]: nordi uplaoded item image waterbottl1e.png. -[info][2025/04/27 01:59:06]: nordi requested save item water_bottle. -[info][2025/04/27 01:59:06]: nordi successfully saved item water_bottle. -[info][2025/04/27 02:01:26]: nordi requested all items. -[info][2025/04/27 02:01:56]: nordi requested item list. -[info][2025/04/27 02:03:10]: nordi requested create item weapon_assaultsmg. -[info][2025/04/27 02:03:24]: nordi requested all items. -[info][2025/04/27 02:03:35]: nordi requested item weapon_gusenberg. -[info][2025/04/27 02:04:33]: campers requested all items. -[info][2025/04/27 02:04:37]: campers requested item list. -[info][2025/04/27 02:07:01]: campers requested all items. -[info][2025/04/27 02:07:03]: campers requested item list. -[info][2025/04/27 02:07:46]: nordi requested save item weapon_gusenberg. -[info][2025/04/27 02:07:46]: nordi successfully saved item weapon_gusenberg. -[info][2025/04/27 02:07:48]: nordi requested all items. -[info][2025/04/27 02:07:57]: nordi requested all items. -[info][2025/04/27 02:08:04]: campers requested item list. -[info][2025/04/27 02:08:15]: campers requested all items. -[info][2025/04/27 02:08:43]: minichaoz requested all items. -[info][2025/04/27 02:12:16]: nordi requested item weapon_appistol. -[info][2025/04/27 02:14:31]: nordi requested save item weapon_appistol. -[info][2025/04/27 02:14:31]: nordi successfully saved item weapon_appistol. -[info][2025/04/27 02:14:34]: nordi requested all items. -[info][2025/04/27 02:14:37]: nordi requested item weapon_appistol. -[info][2025/04/27 02:14:40]: nordi requested all items. -[info][2025/04/27 02:14:55]: nordi requested item weapon_appistol. -[info][2025/04/27 02:14:58]: nordi requested save item weapon_appistol. -[info][2025/04/27 02:14:58]: nordi successfully saved item weapon_appistol. -[info][2025/04/27 02:15:02]: nordi requested all items. -[info][2025/04/27 02:15:54]: nordi requested item weapon_gusenberg. -[info][2025/04/27 02:16:01]: nordi uplaoded item image screenshot_412-removebg-preview.png. -[info][2025/04/27 02:16:05]: nordi requested save item weapon_gusenberg. -[info][2025/04/27 02:16:05]: nordi successfully saved item weapon_gusenberg. -[info][2025/04/27 02:16:50]: nordi requested save item weapon_gusenberg. -[info][2025/04/27 02:16:50]: nordi successfully saved item weapon_gusenberg. -[info][2025/04/27 02:17:08]: nordi requested all items. -[info][2025/04/27 02:20:41]: minichaoz requested all items. -[info][2025/04/27 02:20:55]: minichaoz requested item weapon_assaultsmg. -[info][2025/04/27 02:21:12]: minichaoz requested all items. -[info][2025/04/27 02:21:36]: nordi requested all items. -[info][2025/04/27 02:21:48]: nordi requested item weapon_assaultsmg. -[info][2025/04/27 02:22:06]: campers requested item list. -[info][2025/04/27 02:22:21]: nordi requested save item weapon_assaultsmg. -[info][2025/04/27 02:22:21]: nordi successfully saved item weapon_assaultsmg. -[info][2025/04/27 02:22:23]: nordi requested all items. -[info][2025/04/27 02:22:25]: campers requested all items. -[info][2025/04/27 02:22:27]: campers requested item list. -[info][2025/04/27 02:22:36]: nordi requested item weapon_sniperrifle. -[info][2025/04/27 02:24:10]: campers uplaoded item image shotgun_barrel_compressed_better.png. -[info][2025/04/27 02:24:17]: nordi uplaoded item image screenshot_414-removebg-preview.png. -[info][2025/04/27 02:24:21]: nordi requested save item weapon_sniperrifle. -[info][2025/04/27 02:24:21]: nordi successfully saved item weapon_sniperrifle. -[info][2025/04/27 02:24:23]: nordi requested all items. -[info][2025/04/27 02:24:38]: nordi requested item weapon_smokegrenade. -[info][2025/04/27 02:24:58]: campers requested create item shortened_gunbarrel. -[info][2025/04/27 02:24:58]: campers successfully created item shortened_gunbarrel. -[info][2025/04/27 02:24:58]: campers requested all items. -[info][2025/04/27 02:25:03]: nordi requested save item weapon_smokegrenade. -[info][2025/04/27 02:25:03]: nordi successfully saved item weapon_smokegrenade. -[info][2025/04/27 02:25:05]: nordi requested all items. -[info][2025/04/27 02:25:15]: nordi requested item weapon_bzgas. -[info][2025/04/27 02:26:49]: nordi uplaoded item image screenshot_423-removebg-preview.png. -[info][2025/04/27 02:27:26]: nordi requested save item weapon_bzgas. -[info][2025/04/27 02:27:26]: nordi successfully saved item weapon_bzgas. -[info][2025/04/27 02:27:31]: nordi requested all items. -[info][2025/04/27 02:27:35]: nordi requested item weapon_bzgas. -[info][2025/04/27 02:27:37]: nordi requested save item weapon_bzgas. -[info][2025/04/27 02:27:37]: nordi successfully saved item weapon_bzgas. -[info][2025/04/27 02:27:40]: nordi requested all items. -[info][2025/04/27 02:31:25]: campers requested item list. -[info][2025/04/27 02:33:25]: campers requested all items. -[info][2025/04/27 02:33:34]: campers requested item list. -[info][2025/04/27 02:38:23]: campers uplaoded item image ar_grip.png. -[info][2025/04/27 02:38:28]: campers requested create item shaft. -[info][2025/04/27 02:38:28]: campers successfully created item shaft. -[info][2025/04/27 02:38:28]: campers requested all items. -[info][2025/04/27 02:40:06]: campers requested item list. -[info][2025/04/27 02:42:18]: campers uplaoded item image snspistol_part_2.png. -[info][2025/04/27 02:45:09]: campers requested create item trigger_unit. -[info][2025/04/27 02:45:09]: campers successfully created item trigger_unit. -[info][2025/04/27 02:45:09]: campers requested all items. -[info][2025/04/27 02:45:58]: campers requested item list. -[info][2025/04/27 02:49:10]: campers uplaoded item image axehandle.png. -[info][2025/04/27 02:49:44]: campers requested create item revolver_barrel. -[info][2025/04/27 02:49:44]: campers successfully created item revolver_barrel. -[info][2025/04/27 02:49:44]: campers requested all items. -[info][2025/04/27 02:53:42]: nordi requested all items. -[info][2025/04/27 02:54:01]: nordi requested item binoculars. -[info][2025/04/27 02:54:33]: nordi requested all items. -[info][2025/04/27 02:54:39]: nordi requested item binoculars. -[info][2025/04/27 02:54:43]: campers requested item list. -[info][2025/04/27 02:56:48]: nordi uplaoded item image overview-icon-png-5.jpg. -[info][2025/04/27 02:57:21]: nordi requested save item binoculars. -[info][2025/04/27 02:57:21]: nordi successfully saved item binoculars. -[info][2025/04/27 02:57:24]: nordi requested all items. -[info][2025/04/27 02:57:32]: nordi requested all jobs. -[info][2025/04/27 02:57:35]: nordi requested all items. -[info][2025/04/27 02:59:05]: campers uplaoded item image Trommel.png. -[info][2025/04/27 02:59:18]: campers requested create item drum_mechanism. -[info][2025/04/27 02:59:18]: campers successfully created item drum_mechanism. -[info][2025/04/27 02:59:19]: campers requested all items. -[info][2025/04/27 03:00:41]: campers requested item list. -[info][2025/04/27 03:02:27]: campers uplaoded item image snspistol_part_3.png. -[info][2025/04/27 03:03:12]: campers requested create item weapon_handle. -[info][2025/04/27 03:03:12]: campers successfully created item weapon_handle. -[info][2025/04/27 03:03:13]: campers requested all items. -[info][2025/04/27 03:04:26]: campers requested item list. -[info][2025/04/27 03:04:52]: campers uplaoded item image snspistol_part_1 (1).png. -[info][2025/04/27 03:05:51]: campers requested create item pistol_barrel. -[info][2025/04/27 03:05:51]: campers successfully created item pistol_barrel. -[info][2025/04/27 03:05:52]: campers requested all items. -[info][2025/04/27 03:06:05]: campers requested item pistol_barrel. -[info][2025/04/27 03:07:18]: campers uplaoded item image receiver3.png. -[info][2025/04/27 03:07:23]: campers requested save item pistol_barrel. -[info][2025/04/27 03:07:23]: campers successfully saved item pistol_barrel. -[info][2025/04/27 03:08:06]: campers uplaoded item image weapon_batton.png. -[info][2025/04/27 03:08:08]: campers requested save item pistol_barrel. -[info][2025/04/27 03:08:08]: campers successfully saved item pistol_barrel. -[info][2025/04/27 03:08:12]: campers requested all items. -[info][2025/04/27 03:08:19]: campers requested item list. -[info][2025/04/27 03:10:32]: campers uplaoded item image Waffenschlitten.png. -[info][2025/04/27 03:10:43]: campers requested create item weapon_sled. -[info][2025/04/27 03:10:43]: campers successfully created item weapon_sled. -[info][2025/04/27 03:10:44]: campers requested all items. -[info][2025/04/27 03:10:48]: campers requested item weapon_sled. -[info][2025/04/27 03:13:06]: campers requested save item weapon_sled. -[info][2025/04/27 03:13:06]: campers successfully saved item weapon_sled. -[info][2025/04/27 03:14:51]: campers requested all items. -[info][2025/04/27 03:14:54]: campers requested item pistol_barrel. -[info][2025/04/27 03:14:57]: campers requested all items. -[info][2025/04/27 03:14:59]: campers requested item list. -[info][2025/04/27 03:15:04]: campers uplaoded item image empuñadura.png. -[info][2025/04/27 03:17:33]: campers requested create item weapon_handle. -[info][2025/04/27 03:18:16]: campers requested create item gun_handle. -[info][2025/04/27 03:18:16]: campers successfully created item gun_handle. -[info][2025/04/27 03:18:17]: campers requested all items. -[info][2025/04/27 03:18:36]: campers requested item gun_handle. -[info][2025/04/27 03:20:49]: campers requested all items. -[info][2025/04/27 03:32:22]: campers requested all items. -[info][2025/04/27 03:32:25]: campers requested item list. -[info][2025/04/27 03:33:13]: campers uplaoded item image keramiklauf.png. -[info][2025/04/27 03:36:45]: campers requested create item ceramic_barrel. -[info][2025/04/27 03:36:45]: campers successfully created item ceramic_barrel. -[info][2025/04/27 03:36:46]: campers requested all items. -[info][2025/04/27 03:37:17]: campers requested item list. -[info][2025/04/27 03:38:28]: campers uplaoded item image trigger2.png. -[info][2025/04/27 03:39:01]: campers requested create item small_triggersystem. -[info][2025/04/27 03:39:01]: campers successfully created item small_triggersystem. -[info][2025/04/27 03:39:02]: campers requested all items. -[info][2025/04/27 03:57:44]: campers requested item list. -[info][2025/04/27 03:58:23]: campers uplaoded item image P1026942-3-scaled-removebg-preview.png. -[info][2025/04/27 03:59:47]: campers requested create item dagger_blade. -[info][2025/04/27 03:59:47]: campers successfully created item dagger_blade. -[info][2025/04/27 03:59:47]: campers requested all items. -[info][2025/04/27 04:03:17]: campers requested item list. -[info][2025/04/27 04:04:42]: campers uplaoded item image Machetenklinge.png. -[info][2025/04/27 04:04:55]: campers requested create item machete_blade. -[info][2025/04/27 04:04:55]: campers successfully created item machete_blade. -[info][2025/04/27 04:04:55]: campers requested all items. -[info][2025/04/27 04:05:19]: campers requested item machete_blade. -[info][2025/04/27 04:09:28]: campers requested all items. -[info][2025/04/27 04:13:11]: campers requested item list. -[info][2025/04/27 04:13:16]: campers uplaoded item image Bild_2025-04-27_041317037.png. -[info][2025/04/27 04:15:01]: campers requested create item small_blade. -[info][2025/04/27 04:15:02]: campers successfully created item small_blade. -[info][2025/04/27 04:15:02]: campers requested all items. -[info][2025/04/27 04:15:18]: campers requested item small_blade. -[info][2025/04/27 04:16:19]: campers requested all items. -[info][2025/04/27 04:16:33]: campers requested item list. -[info][2025/04/27 04:16:57]: campers uplaoded item image hammerhandle.png. -[info][2025/04/27 04:17:25]: campers requested create item handle. -[info][2025/04/27 04:17:25]: campers successfully created item handle. -[info][2025/04/27 04:17:26]: campers requested all items. -[info][2025/04/27 04:18:50]: campers requested item list. -[info][2025/04/27 04:21:22]: campers uplaoded item image weapon_parts2.png. -[info][2025/04/27 04:21:28]: campers requested create item switchblade_mechanism. -[info][2025/04/27 04:21:28]: campers successfully created item switchblade_mechanism. -[info][2025/04/27 04:21:28]: campers requested all items. -[info][2025/04/27 04:21:45]: campers requested item switchblade_mechanism. -[info][2025/04/27 04:26:07]: campers requested all items. -[info][2025/04/27 04:26:09]: campers requested item list. -[info][2025/04/27 04:27:18]: campers uplaoded item image Axtkopf.png. -[info][2025/04/27 04:27:39]: campers requested create item axe_head. -[info][2025/04/27 04:27:39]: campers successfully created item axe_head. -[info][2025/04/27 04:27:40]: campers requested all items. -[info][2025/04/27 04:31:23]: campers requested item list. -[info][2025/04/27 04:33:13]: campers uplaoded item image Verstärktergriff.png. -[info][2025/04/27 04:33:22]: campers requested create item reinforced_handle. -[info][2025/04/27 04:33:22]: campers successfully created item reinforced_handle. -[info][2025/04/27 04:33:22]: campers requested all items. -[info][2025/04/27 04:46:37]: campers requested item list. -[info][2025/04/27 04:47:06]: campers uplaoded item image weed.png. -[info][2025/04/27 04:48:31]: campers requested create item weed. -[info][2025/04/27 04:48:31]: campers successfully created item weed. -[info][2025/04/27 04:48:32]: campers requested all items. -[info][2025/04/27 04:49:45]: campers requested item rolling_paper. -[info][2025/04/27 04:50:50]: campers uplaoded item image rolling_paper.png. -[info][2025/04/27 04:51:40]: campers uplaoded item image rolling_paper2.png. -[info][2025/04/27 04:52:12]: campers requested save item rolling_paper. -[info][2025/04/27 04:52:12]: campers successfully saved item rolling_paper. -[info][2025/04/27 05:03:40]: campers requested all items. -[info][2025/04/27 05:03:42]: campers requested item list. -[info][2025/04/27 05:04:50]: campers uplaoded item image Fiterstrips.png. -[info][2025/04/27 05:05:15]: campers requested all items. -[info][2025/04/27 05:05:22]: campers requested item joint. -[info][2025/04/27 05:06:05]: campers uplaoded item image joint7.png. -[info][2025/04/27 05:07:03]: campers requested save item joint. -[info][2025/04/27 05:07:03]: campers successfully saved item joint. -[info][2025/04/27 05:07:21]: campers requested all items. -[info][2025/04/27 05:10:25]: campers requested item list. -[info][2025/04/27 05:11:12]: campers uplaoded item image opium_dry.png. -[info][2025/04/27 05:11:24]: campers requested create item opium. -[info][2025/04/27 05:11:24]: campers successfully created item opium. -[info][2025/04/27 05:11:25]: campers requested all items. -[info][2025/04/27 05:11:59]: campers requested item opium. -[info][2025/04/27 05:12:19]: campers uplaoded item image opium_dry2.png. -[info][2025/04/27 05:12:25]: campers requested save item opium. -[info][2025/04/27 05:12:25]: campers successfully saved item opium. -[info][2025/04/27 05:12:37]: campers requested all items. -[info][2025/04/27 05:13:02]: campers requested item list. -[info][2025/04/27 05:13:42]: campers requested create item opium_poppy. -[info][2025/04/27 05:13:42]: campers successfully created item opium_poppy. -[info][2025/04/27 05:13:43]: campers requested all items. -[info][2025/04/27 05:13:48]: campers requested item opium. -[info][2025/04/27 05:14:22]: campers requested save item opium. -[info][2025/04/27 05:14:22]: campers successfully saved item opium. -[info][2025/04/27 05:14:24]: campers requested all items. -[info][2025/04/27 05:14:27]: campers requested item opium_poppy. -[info][2025/04/27 05:15:01]: campers requested all items. -[info][2025/04/27 05:15:03]: campers requested item list. -[info][2025/04/27 05:16:01]: campers uplaoded item image acetone2.png. -[info][2025/04/27 05:17:21]: campers requested create item acetic. -[info][2025/04/27 05:17:21]: campers successfully created item acetic. -[info][2025/04/27 05:17:22]: campers requested all items. -[info][2025/04/27 05:17:30]: campers requested item acetic. -[info][2025/04/27 05:18:13]: campers requested all items. -[info][2025/04/27 05:19:11]: campers requested item list. -[info][2025/04/27 05:20:20]: campers uplaoded item image syringe.png. -[info][2025/04/27 05:20:31]: campers requested create item injection. -[info][2025/04/27 05:20:31]: campers successfully created item injection. -[info][2025/04/27 05:20:32]: campers requested all items. -[info][2025/04/27 05:20:43]: campers requested item injection. -[info][2025/04/27 05:21:18]: campers requested all items. -[info][2025/04/27 05:21:52]: campers requested item list. -[info][2025/04/27 05:22:49]: campers uplaoded item image dirtyneedle.png. -[info][2025/04/27 05:22:56]: campers requested create item heroin_injection. -[info][2025/04/27 05:22:56]: campers successfully created item heroin_injection. -[info][2025/04/27 05:22:56]: campers requested all items. -[info][2025/04/27 05:23:09]: campers requested item heroin_injection. -[info][2025/04/27 05:25:45]: campers requested all items. -[info][2025/04/27 05:26:53]: campers requested item list. -[info][2025/04/27 05:27:44]: campers uplaoded item image candy1.png. -[info][2025/04/27 05:28:09]: campers requested create item sweets_candies. -[info][2025/04/27 05:28:09]: campers successfully created item sweets_candies. -[info][2025/04/27 05:28:10]: campers requested all items. -[info][2025/04/27 05:29:27]: campers requested item kurkakola. -[info][2025/04/27 05:29:40]: campers uplaoded item image cola.png. -[info][2025/04/27 05:32:44]: campers uplaoded item image Ecola.png. -[info][2025/04/27 05:32:58]: campers requested all items. -[info][2025/04/27 05:33:02]: campers requested item list. -[info][2025/04/27 05:33:34]: campers requested create item ecola. -[info][2025/04/27 05:33:34]: campers successfully created item ecola. -[info][2025/04/27 05:33:34]: campers requested all items. -[info][2025/04/27 05:33:56]: campers requested item list. -[info][2025/04/27 05:35:11]: campers uplaoded item image crackmixingagent.png. -[info][2025/04/27 05:35:25]: campers requested create item codeine_syrup. -[info][2025/04/27 05:35:26]: campers successfully created item codeine_syrup. -[info][2025/04/27 05:35:26]: campers requested all items. -[info][2025/04/27 05:35:43]: campers requested item list. -[info][2025/04/27 05:36:37]: campers uplaoded item image lean.png. -[info][2025/04/27 05:36:45]: campers requested create item lean. -[info][2025/04/27 05:36:45]: campers successfully created item lean. -[info][2025/04/27 05:36:45]: campers requested all items. -[info][2025/04/27 05:41:45]: campers requested item list. -[info][2025/04/27 05:41:47]: campers requested all items. -[info][2025/04/27 05:41:57]: campers requested item list. -[info][2025/04/27 05:43:07]: campers uplaoded item image ephedrine.png. -[info][2025/04/27 05:43:19]: campers requested create item ephedrin. -[info][2025/04/27 05:43:19]: campers successfully created item ephedrin. -[info][2025/04/27 05:43:20]: campers requested all items. -[info][2025/04/27 05:43:29]: campers requested item ephedrin. -[info][2025/04/27 05:43:51]: campers requested all items. -[info][2025/04/27 05:44:00]: campers requested item list. -[info][2025/04/27 05:45:10]: campers uplaoded item image lab.png. -[info][2025/04/27 05:45:20]: campers requested create item chemical_set. -[info][2025/04/27 05:45:20]: campers successfully created item chemical_set. -[info][2025/04/27 05:45:20]: campers requested all items. -[info][2025/04/27 05:50:21]: campers requested item snp_ammo. -[info][2025/04/27 05:50:22]: campers requested all items. -[info][2025/04/27 05:50:24]: campers requested item list. -[info][2025/04/27 05:52:09]: campers uplaoded item image Meth pfeife.png. -[info][2025/04/27 05:52:14]: campers requested create item meth_pipe. -[info][2025/04/27 05:52:14]: campers successfully created item meth_pipe. -[info][2025/04/27 05:52:15]: campers requested all items. -[info][2025/04/27 05:52:23]: campers requested item meth_pipe. -[info][2025/04/27 05:52:56]: campers requested all items. -[info][2025/04/27 05:52:59]: campers requested item list. -[info][2025/04/27 05:54:58]: campers uplaoded item image opium_pipe.png. -[info][2025/04/27 05:55:15]: campers requested create item ready_methpipe. -[info][2025/04/27 05:55:15]: campers successfully created item ready_methpipe. -[info][2025/04/27 05:55:16]: campers requested all items. -[info][2025/04/27 05:56:13]: campers requested item list. -[info][2025/04/27 05:57:35]: campers uplaoded item image magic_mushroom.png. -[info][2025/04/27 05:57:38]: campers requested create item magic_mushroom. -[info][2025/04/27 05:57:38]: campers successfully created item magic_mushroom. -[info][2025/04/27 05:57:38]: campers requested all items. -[info][2025/04/27 05:57:45]: campers requested item magic_mushroom. -[info][2025/04/27 05:58:18]: campers requested save item magic_mushroom. -[info][2025/04/27 05:58:18]: campers successfully saved item magic_mushroom. -[info][2025/04/27 05:58:20]: campers requested all items. -[info][2025/04/27 05:59:20]: campers requested item list. -[info][2025/04/27 05:59:46]: campers uplaoded item image acid.png. -[info][2025/04/27 06:00:23]: campers requested create item lysergic_acid. -[info][2025/04/27 06:00:23]: campers successfully created item lysergic_acid. -[info][2025/04/27 06:00:24]: campers requested all items. -[info][2025/04/27 06:01:00]: campers requested item list. -[info][2025/04/27 06:02:03]: campers uplaoded item image paperroll.png. -[info][2025/04/27 06:02:06]: campers requested create item blotter_paper. -[info][2025/04/27 06:02:06]: campers successfully created item blotter_paper. -[info][2025/04/27 06:02:07]: campers requested all items. -[info][2025/04/27 06:02:16]: campers requested item blotter_paper. -[info][2025/04/27 06:02:56]: campers requested all items. -[info][2025/04/27 06:02:58]: campers requested item list. -[info][2025/04/27 06:04:14]: campers uplaoded item image lsd.png. -[info][2025/04/27 06:04:24]: campers requested create item lsd_papers. -[info][2025/04/27 06:04:24]: campers successfully created item lsd_papers. -[info][2025/04/27 06:04:24]: campers requested all items. -[info][2025/04/27 10:15:54]: nordi requested all items. -[info][2025/04/27 10:20:49]: nordi requested item list. -[info][2025/04/27 10:24:11]: nordi uplaoded item image Gözleme.png. -[info][2025/04/27 10:24:17]: nordi requested create item goezleme. -[info][2025/04/27 10:24:17]: nordi successfully created item goezleme. -[info][2025/04/27 10:24:17]: nordi requested all items. -[info][2025/04/27 10:24:23]: nordi requested item list. -[info][2025/04/27 10:24:30]: nordi uplaoded item image Falafel.png. -[info][2025/04/27 10:25:51]: nordi requested create item falafel. -[info][2025/04/27 10:25:51]: nordi successfully created item falafel. -[info][2025/04/27 10:25:51]: nordi requested all items. -[info][2025/04/27 10:26:15]: nordi requested item list. -[info][2025/04/27 10:26:35]: nordi uplaoded item image Kuzu sis.png. -[info][2025/04/27 10:27:40]: nordi requested create item kuzu_sis. -[info][2025/04/27 10:27:40]: nordi successfully created item kuzu_sis. -[info][2025/04/27 10:27:41]: nordi requested all items. -[info][2025/04/27 10:27:52]: nordi requested item list. -[info][2025/04/27 10:28:22]: nordi uplaoded item image Dürüm.png. -[info][2025/04/27 10:29:16]: nordi requested create item dueruem. -[info][2025/04/27 10:29:16]: nordi successfully created item dueruem. -[info][2025/04/27 10:29:16]: nordi requested all items. -[info][2025/04/27 10:29:22]: nordi requested item list. -[info][2025/04/27 10:32:21]: nordi uplaoded item image Produktshooting-Juli-2022-Qulis-Mannheim-Karisik-Izgara-removebg-preview.png. -[info][2025/04/27 10:32:48]: nordi uplaoded item image shutterstock_1146550169-removebg-preview.png. -[info][2025/04/27 10:33:08]: nordi requested create item mixed_grilled_plate. -[info][2025/04/27 10:33:08]: nordi successfully created item mixed_grilled_plate. -[info][2025/04/27 10:33:08]: nordi requested all items. -[info][2025/04/27 10:33:14]: nordi requested item list. -[info][2025/04/27 10:34:15]: nordi uplaoded item image Döner.png. -[info][2025/04/27 10:34:23]: nordi requested create item doener. -[info][2025/04/27 10:34:23]: nordi successfully created item doener. -[info][2025/04/27 10:34:24]: nordi requested all items. -[info][2025/04/27 10:34:45]: nordi requested item list. -[info][2025/04/27 10:40:23]: nordi uplaoded item image Lahmacun_668x376-removebg-preview.png. -[info][2025/04/27 10:40:32]: nordi requested create item lahmacun. -[info][2025/04/27 10:40:32]: nordi successfully created item lahmacun. -[info][2025/04/27 10:40:33]: nordi requested all items. -[info][2025/04/27 10:40:37]: nordi requested item list. -[info][2025/04/27 10:42:18]: nordi uplaoded item image Sonnenblumenkerne.png. -[info][2025/04/27 10:42:29]: nordi requested create item sunflowerseeds. -[info][2025/04/27 10:42:29]: nordi successfully created item sunflowerseeds. -[info][2025/04/27 10:42:29]: nordi requested all items. -[info][2025/04/27 10:43:57]: nordi requested item list. -[info][2025/04/27 10:44:15]: nordi uplaoded item image Cay.png. -[info][2025/04/27 10:44:27]: nordi requested create item cay. -[info][2025/04/27 10:44:27]: nordi successfully created item cay. -[info][2025/04/27 10:44:27]: nordi requested all items. -[info][2025/04/27 10:44:32]: nordi requested item list. -[info][2025/04/27 10:45:37]: nordi uplaoded item image raki.png. -[info][2025/04/27 10:45:46]: nordi requested create item raki. -[info][2025/04/27 10:45:46]: nordi successfully created item raki. -[info][2025/04/27 10:45:47]: nordi requested all items. -[info][2025/04/27 10:46:03]: nordi requested item list. -[info][2025/04/27 10:46:40]: nordi uplaoded item image Gazoz.png. -[info][2025/04/27 10:46:47]: nordi requested create item gazoz. -[info][2025/04/27 10:46:47]: nordi successfully created item gazoz. -[info][2025/04/27 10:46:48]: nordi requested all items. -[info][2025/04/27 10:46:58]: nordi requested item list. -[info][2025/04/27 10:47:47]: nordi uplaoded item image (Salep) Zimt Heißgetränk.png. -[info][2025/04/27 10:47:54]: nordi requested create item salep. -[info][2025/04/27 10:47:54]: nordi successfully created item salep. -[info][2025/04/27 10:47:54]: nordi requested all items. -[info][2025/04/27 10:47:59]: nordi requested item list. -[info][2025/04/27 10:48:17]: nordi uplaoded item image Kolonya.png. -[info][2025/04/27 10:49:08]: nordi requested create item kolonya. -[info][2025/04/27 10:49:08]: nordi successfully created item kolonya. -[info][2025/04/27 10:49:09]: nordi requested all items. -[info][2025/04/27 10:49:12]: nordi requested item list. -[info][2025/04/27 10:49:26]: nordi uplaoded item image Ayran.png. -[info][2025/04/27 10:49:46]: nordi requested create item ayran. -[info][2025/04/27 10:49:46]: nordi successfully created item ayran. -[info][2025/04/27 10:49:47]: nordi requested all items. -[info][2025/04/27 10:49:55]: nordi requested item list. -[info][2025/04/27 10:50:39]: nordi uplaoded item image Kırmızı şarap (Rotwein).png. -[info][2025/04/27 10:50:46]: nordi requested create item kayas_rotwein. -[info][2025/04/27 10:50:46]: nordi successfully created item kayas_rotwein. -[info][2025/04/27 10:50:47]: nordi requested all items. -[info][2025/04/27 10:51:06]: nordi requested item list. -[info][2025/04/27 10:51:28]: nordi uplaoded item image Çorban salatası (bauernsalat).png. -[info][2025/04/27 10:52:24]: nordi requested create item bauernsalat. -[info][2025/04/27 10:52:24]: nordi successfully created item bauernsalat. -[info][2025/04/27 10:52:25]: nordi requested all items. -[info][2025/04/27 10:52:32]: nordi requested item list. -[info][2025/04/27 10:53:03]: nordi uplaoded item image Soğan salatası (zwiebelsalat).png. -[info][2025/04/27 10:53:11]: nordi requested create item zwiebelsalat. -[info][2025/04/27 10:53:11]: nordi successfully created item zwiebelsalat. -[info][2025/04/27 10:53:12]: nordi requested all items. -[info][2025/04/27 10:54:13]: nordi requested item goezleme. -[info][2025/04/27 10:54:16]: nordi requested save item goezleme. -[info][2025/04/27 10:54:16]: nordi successfully saved item goezleme. -[info][2025/04/27 10:54:19]: nordi requested all items. -[info][2025/04/27 10:54:50]: nordi requested item doener. -[info][2025/04/27 10:54:53]: nordi requested save item doener. -[info][2025/04/27 10:54:53]: nordi successfully saved item doener. -[info][2025/04/27 10:56:08]: nordi requested all items. -[info][2025/04/27 10:56:52]: nordi requested all items. -[info][2025/04/27 11:18:40]: nordi requested item list. -[info][2025/04/27 11:18:44]: nordi requested all items. -[info][2025/04/27 11:18:46]: nordi requested item list. -[info][2025/04/27 11:19:15]: nordi uplaoded item image ChatGPT_Image_26._Apr._2025__18_03_49-removebg-preview.png. -[info][2025/04/27 11:20:13]: nordi requested create item bcesandwich. -[info][2025/04/27 11:20:13]: nordi successfully created item bcesandwich. -[info][2025/04/27 11:20:13]: nordi requested all items. -[info][2025/04/27 11:20:17]: nordi requested item list. -[info][2025/04/27 11:20:34]: nordi uplaoded item image ChatGPT_Image_26._Apr._2025__18_16_22-removebg-preview.png. -[info][2025/04/27 11:21:53]: nordi requested create item pizza_burger. -[info][2025/04/27 11:21:53]: nordi successfully created item pizza_burger. -[info][2025/04/27 11:21:53]: nordi requested all items. -[info][2025/04/27 11:21:59]: nordi requested item list. -[info][2025/04/27 11:22:25]: nordi uplaoded item image ChatGPT_Image_26._Apr._2025__18_19_52-removebg-preview.png. -[info][2025/04/27 11:23:26]: nordi requested create item loaded_fries. -[info][2025/04/27 11:23:27]: nordi successfully created item loaded_fries. -[info][2025/04/27 11:23:27]: nordi requested all items. -[info][2025/04/27 11:23:33]: nordi requested item list. -[info][2025/04/27 11:24:11]: nordi uplaoded item image ChatGPT_Image_26._Apr._2025__18_25_48-removebg-preview.png. -[info][2025/04/27 11:24:15]: nordi requested create item cheeseanachos. -[info][2025/04/27 11:24:15]: nordi successfully created item cheeseanachos. -[info][2025/04/27 11:24:15]: nordi requested all items. -[info][2025/04/27 11:24:20]: nordi requested item list. -[info][2025/04/27 11:24:56]: nordi uplaoded item image ChatGPT_Image_26._Apr._2025__19_00_33-removebg-preview.png. -[info][2025/04/27 11:25:01]: nordi requested create item salsa_nachos. -[info][2025/04/27 11:25:01]: nordi successfully created item salsa_nachos. -[info][2025/04/27 11:25:02]: nordi requested all items. -[info][2025/04/27 11:25:06]: nordi requested item list. -[info][2025/04/27 11:25:28]: nordi uplaoded item image ChatGPT_Image_27._Apr._2025__00_12_06-removebg-preview.png. -[info][2025/04/27 11:26:16]: nordi requested create item saldprezels. -[info][2025/04/27 11:26:16]: nordi successfully created item saldprezels. -[info][2025/04/27 11:26:17]: nordi requested all items. -[info][2025/04/27 11:26:23]: nordi requested item list. -[info][2025/04/27 11:27:15]: nordi uplaoded item image ChatGPT Image 26. Apr. 2025, 17_05_56-min.png. -[info][2025/04/27 11:27:41]: nordi requested create item popcorn. -[info][2025/04/27 11:27:41]: nordi successfully created item popcorn. -[info][2025/04/27 11:27:42]: nordi requested all items. -[info][2025/04/27 11:27:48]: nordi requested item list. -[info][2025/04/27 11:29:22]: nordi uplaoded item image ChatGPT Image 26. Apr. 2025, 16_33_18-min.png. -[info][2025/04/27 11:29:32]: nordi requested create item marble_pop_limo. -[info][2025/04/27 11:29:32]: nordi successfully created item marble_pop_limo. -[info][2025/04/27 11:29:33]: nordi requested all items. -[info][2025/04/27 11:29:37]: nordi requested item list. -[info][2025/04/27 11:30:26]: nordi uplaoded item image ChatGPT Image 26. Apr. 2025, 15_29_53-min.png. -[info][2025/04/27 11:30:31]: nordi requested create item cerveza_barracho. -[info][2025/04/27 11:30:31]: nordi successfully created item cerveza_barracho. -[info][2025/04/27 11:30:32]: nordi requested all items. -[info][2025/04/27 11:46:10]: nordi requested item marble_pop_limo. -[info][2025/04/27 11:50:25]: nordi requested all items. -[info][2025/04/27 11:50:32]: nordi requested item list. -[info][2025/04/27 12:07:06]: nordi uplaoded item image file_00000000007861f7963805e1f6fecfc5-removebg-preview.png. -[info][2025/04/27 12:07:47]: nordi requested create item jelly_beans. -[info][2025/04/27 12:07:47]: nordi successfully created item jelly_beans. -[info][2025/04/27 12:07:48]: nordi requested all items. -[info][2025/04/27 12:08:45]: nordi requested item list. -[info][2025/04/27 12:09:34]: nordi uplaoded item image ChatGPT_Image_27._Apr._2025__12_06_23-removebg-preview.png. -[info][2025/04/27 12:09:43]: nordi requested create item j_and_js. -[info][2025/04/27 12:09:43]: nordi successfully created item j_and_js. -[info][2025/04/27 12:09:44]: nordi requested all items. -[info][2025/04/27 12:09:58]: nordi requested item j_and_js. -[info][2025/04/27 12:10:11]: nordi requested save item j_and_js. -[info][2025/04/27 12:10:11]: nordi successfully saved item j_and_js. -[info][2025/04/27 12:10:14]: nordi requested all items. -[info][2025/04/27 12:10:15]: nordi requested item list. -[info][2025/04/27 12:11:28]: nordi uplaoded item image ChatGPT_Image_27._Apr._2025__11_52_24-removebg-preview.png. -[info][2025/04/27 12:14:41]: nordi requested create item spazi. -[info][2025/04/27 12:14:41]: nordi successfully created item spazi. -[info][2025/04/27 12:14:42]: nordi requested all items. -[info][2025/04/27 12:15:47]: nordi requested item spazi. -[info][2025/04/27 12:15:52]: nordi requested save item spazi. -[info][2025/04/27 12:15:52]: nordi successfully saved item spazi. -[info][2025/04/27 12:16:02]: nordi requested save item spazi. -[info][2025/04/27 12:16:02]: nordi successfully saved item spazi. -[info][2025/04/27 12:16:04]: nordi requested all items. -[info][2025/04/27 12:16:06]: nordi requested item list. -[info][2025/04/27 12:16:13]: nordi uplaoded item image ChatGPT_Image_27._Apr._2025__11_54_28-removebg-preview.png. -[info][2025/04/27 12:16:52]: nordi requested create item spazi_limo. -[info][2025/04/27 12:16:52]: nordi successfully created item spazi_limo. -[info][2025/04/27 12:16:53]: nordi requested all items. -[info][2025/04/27 12:16:56]: nordi requested item spazi. -[info][2025/04/27 12:17:06]: nordi requested all items. -[info][2025/04/27 12:18:40]: nordi requested item cheeseanachos. -[info][2025/04/27 12:18:52]: nordi requested save item cheeseanachos. -[info][2025/04/27 12:18:52]: nordi successfully saved item cheeseanachos. -[info][2025/04/27 12:18:55]: nordi requested all items. -[info][2025/04/27 12:19:04]: nordi requested item cheeseanachos. -[info][2025/04/27 12:19:17]: nordi requested all items. -[info][2025/04/27 12:19:31]: nordi requested item list. -[info][2025/04/27 12:20:00]: nordi uplaoded item image ChatGPT_Image_27._Apr._2025__12_04_58-removebg-preview.png. -[info][2025/04/27 12:20:58]: nordi requested all items. -[info][2025/04/27 12:25:13]: nordi requested item list. -[info][2025/04/27 12:25:46]: nordi requested create item cheese_burger. -[info][2025/04/27 12:25:46]: nordi successfully created item cheese_burger. -[info][2025/04/27 12:25:47]: nordi requested all items. -[info][2025/04/27 12:25:49]: nordi requested item cheese_burger. -[info][2025/04/27 12:26:30]: nordi requested save item cheese_burger. -[info][2025/04/27 12:26:30]: nordi successfully saved item cheese_burger. -[info][2025/04/27 12:26:33]: nordi requested all items. -[info][2025/04/27 12:32:50]: nordi requested all items. -[info][2025/04/27 12:33:05]: nordi requested item list. -[info][2025/04/27 12:33:33]: nordi uplaoded item image ChatGPT_Image_27._Apr._2025__12_24_22-removebg-preview.png. -[info][2025/04/27 12:34:32]: nordi requested create item eis_konfekt. -[info][2025/04/27 12:34:32]: nordi successfully created item eis_konfekt. -[info][2025/04/27 12:34:33]: nordi requested all items. -[info][2025/04/27 12:34:39]: nordi requested item sandwich. -[info][2025/04/27 12:38:29]: nordi uplaoded item image ChatGPT_Image_27._Apr._2025__12_38_04-removebg-preview.png. -[info][2025/04/27 12:38:33]: nordi requested save item sandwich. -[info][2025/04/27 12:38:33]: nordi successfully saved item sandwich. -[info][2025/04/27 12:38:44]: nordi requested save item sandwich. -[info][2025/04/27 12:38:44]: nordi successfully saved item sandwich. -[info][2025/04/27 12:38:46]: nordi requested all items. -[info][2025/04/27 12:40:03]: nordi requested item list. -[info][2025/04/27 12:42:01]: nordi uplaoded item image ChatGPT_Image_27._Apr._2025__12_41_35-removebg-preview.png. -[info][2025/04/27 12:42:37]: nordi requested create item fries_with_dip. -[info][2025/04/27 12:42:38]: nordi successfully created item fries_with_dip. -[info][2025/04/27 12:42:38]: nordi requested all items. -[info][2025/04/27 12:44:35]: nordi requested item pizza_burger. -[info][2025/04/27 12:44:37]: nordi requested all items. -[info][2025/04/27 12:44:44]: nordi requested item fries_with_dip. -[info][2025/04/27 12:44:49]: nordi requested all items. -[info][2025/04/27 12:45:34]: nordi requested item cheeseanachos. -[info][2025/04/27 12:45:36]: nordi requested all items. -[info][2025/04/27 12:45:49]: nordi requested item salsa_nachos. -[info][2025/04/27 12:45:52]: nordi requested all items. -[info][2025/04/27 12:45:59]: nordi requested item saldprezels. -[info][2025/04/27 12:46:06]: nordi requested all items. -[info][2025/04/27 12:46:20]: nordi requested item jelly_beans. -[info][2025/04/27 12:47:44]: nordi requested all items. -[info][2025/04/27 12:47:49]: nordi requested item popcorn. -[info][2025/04/27 12:47:52]: nordi requested all items. -[info][2025/04/27 12:47:59]: nordi requested item eis_konfekt. -[info][2025/04/27 12:48:01]: nordi requested all items. -[info][2025/04/27 12:48:08]: nordi requested item marble_pop_limo. -[info][2025/04/27 12:48:11]: nordi requested all items. -[info][2025/04/27 12:48:29]: nordi requested item spazi_limo. -[info][2025/04/27 12:48:37]: nordi requested save item spazi_limo. -[info][2025/04/27 12:48:37]: nordi successfully saved item spazi_limo. -[info][2025/04/27 12:48:40]: nordi requested all items. -[info][2025/04/27 12:48:59]: nordi requested item spazi_limo. -[info][2025/04/27 12:49:02]: nordi requested all items. -[info][2025/04/27 12:49:04]: nordi requested item spazi. -[info][2025/04/27 12:49:06]: nordi requested all items. -[info][2025/04/27 12:50:12]: nordi requested item list. -[info][2025/04/27 12:51:28]: nordi uplaoded item image ChatGPT_Image_27._Apr._2025__12_49_09-removebg-preview.png. -[info][2025/04/27 12:51:32]: nordi requested create item waffle_icream. -[info][2025/04/27 12:51:32]: nordi successfully created item waffle_icream. -[info][2025/04/27 12:51:33]: nordi requested all items. -[info][2025/04/27 12:51:38]: nordi requested item waffle_icream. -[info][2025/04/27 12:51:43]: nordi requested all items. -[info][2025/04/27 12:52:22]: nordi requested item list. -[info][2025/04/27 12:52:43]: nordi uplaoded item image file_00000000abf061f788ede1aa1c949dae-removebg-preview.png. -[info][2025/04/27 12:54:44]: nordi requested create item pizza_piece. -[info][2025/04/27 12:54:44]: nordi successfully created item pizza_piece. -[info][2025/04/27 12:54:45]: nordi requested all items. -[info][2025/04/27 12:55:00]: nordi requested item list. -[info][2025/04/27 12:56:13]: nordi uplaoded item image ChatGPT_Image_27._Apr._2025__12_53_39-removebg-preview.png. -[info][2025/04/27 12:56:49]: nordi requested create item slushi. -[info][2025/04/27 12:56:49]: nordi successfully created item slushi. -[info][2025/04/27 12:56:50]: nordi requested all items. -[info][2025/04/27 12:59:11]: nordi requested item list. -[info][2025/04/27 13:01:58]: nordi requested all items. -[info][2025/04/27 13:23:05]: nordi requested item list. -[info][2025/04/27 13:24:14]: nordi uplaoded item image OdinsMead.png. -[info][2025/04/27 13:24:26]: nordi requested create item odins_mead. -[info][2025/04/27 13:24:26]: nordi successfully created item odins_mead. -[info][2025/04/27 13:24:26]: nordi requested all items. -[info][2025/04/27 13:57:22]: nordi requested item list. -[info][2025/04/27 13:58:06]: nordi uplaoded item image ThorsHammerBeer.png. -[info][2025/04/27 13:58:13]: nordi requested create item thors_hammer. -[info][2025/04/27 13:58:13]: nordi successfully created item thors_hammer. -[info][2025/04/27 13:58:14]: nordi requested all items. -[info][2025/04/27 13:58:41]: nordi requested item list. -[info][2025/04/27 13:59:09]: nordi uplaoded item image FreyasKiss.png. -[info][2025/04/27 13:59:27]: nordi requested create item freyas_kiss. -[info][2025/04/27 13:59:27]: nordi successfully created item freyas_kiss. -[info][2025/04/27 13:59:27]: nordi requested all items. -[info][2025/04/27 13:59:33]: nordi requested item freyas_kiss. -[info][2025/04/27 14:04:01]: nordi requested save item freyas_kiss. -[info][2025/04/27 14:04:01]: nordi successfully saved item freyas_kiss. -[info][2025/04/27 14:04:07]: nordi requested all items. -[info][2025/04/27 14:04:09]: nordi requested item list. -[info][2025/04/27 14:04:41]: campers requested all items. -[info][2025/04/27 14:04:48]: nordi uplaoded item image LokisTrickery.png. -[info][2025/04/27 14:04:52]: campers requested item meth. -[info][2025/04/27 14:04:56]: campers requested all items. -[info][2025/04/27 14:05:39]: campers requested item weed. -[info][2025/04/27 14:06:42]: nordi requested all items. -[info][2025/04/27 14:07:33]: nordi requested item list. -[info][2025/04/27 14:09:03]: nordi requested create item lokis_trickery. -[info][2025/04/27 14:09:03]: nordi successfully created item lokis_trickery. -[info][2025/04/27 14:09:04]: nordi requested all items. -[info][2025/04/27 14:09:27]: nordi requested item list. -[info][2025/04/27 14:10:02]: nordi uplaoded item image HeimdallsWatch.png. -[info][2025/04/27 14:10:04]: nordi requested create item heimdalls_watch. -[info][2025/04/27 14:10:04]: nordi successfully created item heimdalls_watch. -[info][2025/04/27 14:10:05]: nordi requested all items. -[info][2025/04/27 14:10:13]: nordi requested item list. -[info][2025/04/27 14:10:38]: nordi uplaoded item image BaldursLight.png. -[info][2025/04/27 14:10:44]: nordi requested create item baldurs_light. -[info][2025/04/27 14:10:44]: nordi successfully created item baldurs_light. -[info][2025/04/27 14:10:45]: nordi requested all items. -[info][2025/04/27 14:10:52]: nordi requested item list. -[info][2025/04/27 14:11:15]: nordi uplaoded item image YggdrasilsRoot.png. -[info][2025/04/27 14:12:46]: nordi requested create item yggdrasils_root. -[info][2025/04/27 14:12:46]: nordi successfully created item yggdrasils_root. -[info][2025/04/27 14:12:47]: nordi requested all items. -[info][2025/04/27 14:12:56]: nordi requested item list. -[info][2025/04/27 14:13:44]: nordi uplaoded item image SifGoldenAle.png. -[info][2025/04/27 14:13:47]: nordi requested create item sifs_golden-ale. -[info][2025/04/27 14:13:47]: nordi successfully created item sifs_golden-ale. -[info][2025/04/27 14:13:48]: nordi requested all items. -[info][2025/04/27 14:14:14]: nordi requested item list. -[info][2025/04/27 14:14:49]: nordi uplaoded item image NjordsTide.png. -[info][2025/04/27 14:14:53]: nordi requested create item njords_tide. -[info][2025/04/27 14:14:53]: nordi successfully created item njords_tide. -[info][2025/04/27 14:14:53]: nordi requested all items. -[info][2025/04/27 14:14:59]: nordi requested item list. -[info][2025/04/27 14:15:27]: nordi uplaoded item image SkadisHunt.png. -[info][2025/04/27 14:15:30]: nordi requested create item skadis_hunt. -[info][2025/04/27 14:15:30]: nordi successfully created item skadis_hunt. -[info][2025/04/27 14:15:31]: nordi requested all items. -[info][2025/04/27 14:15:45]: nordi requested item list. -[info][2025/04/27 14:16:29]: nordi uplaoded item image OdinsWisdomBrew.png. -[info][2025/04/27 14:16:35]: nordi requested create item odins_wisdom_brew. -[info][2025/04/27 14:16:35]: nordi successfully created item odins_wisdom_brew. -[info][2025/04/27 14:16:35]: nordi requested all items. -[info][2025/04/27 14:20:54]: nordi requested item list. -[info][2025/04/27 14:21:29]: nordi uplaoded item image ThorsThunderStorm.png. -[info][2025/04/27 14:21:39]: nordi requested create item hors_hunder_torm. -[info][2025/04/27 14:21:39]: nordi successfully created item hors_hunder_torm. -[info][2025/04/27 14:21:40]: nordi requested all items. -[info][2025/04/27 14:21:55]: nordi requested item list. -[info][2025/04/27 14:22:16]: nordi uplaoded item image LokisTricksterPunch.png. -[info][2025/04/27 14:22:17]: nordi requested create item okis_rickster_unch. -[info][2025/04/27 14:22:17]: nordi successfully created item okis_rickster_unch. -[info][2025/04/27 14:22:18]: nordi requested all items. -[info][2025/04/27 14:22:29]: nordi requested item list. -[info][2025/04/27 14:22:49]: nordi uplaoded item image HeimdallsClearSight.png. -[info][2025/04/27 14:22:51]: nordi requested create item eimdalls_lear_ight. -[info][2025/04/27 14:22:51]: nordi successfully created item eimdalls_lear_ight. -[info][2025/04/27 14:22:52]: nordi requested all items. -[info][2025/04/27 14:22:59]: nordi requested item list. -[info][2025/04/27 14:23:31]: nordi uplaoded item image BaldursLightElixir.png. -[info][2025/04/27 14:24:03]: nordi requested create item aldurs_ight_lixir. -[info][2025/04/27 14:24:03]: nordi successfully created item aldurs_ight_lixir. -[info][2025/04/27 14:24:03]: nordi requested all items. -[info][2025/04/27 14:24:14]: nordi requested item list. -[info][2025/04/27 14:27:10]: nordi uplaoded item image YggdrasilsEssence.png. -[info][2025/04/27 14:27:12]: nordi requested create item ggdrasils_ssence. -[info][2025/04/27 14:27:12]: nordi successfully created item ggdrasils_ssence. -[info][2025/04/27 14:27:12]: nordi requested all items. -[info][2025/04/27 14:27:17]: nordi requested item list. -[info][2025/04/27 14:27:38]: nordi uplaoded item image SifGoldenNectar.png. -[info][2025/04/27 14:27:44]: nordi requested create item ifs_olden_ectar. -[info][2025/04/27 14:27:44]: nordi successfully created item ifs_olden_ectar. -[info][2025/04/27 14:27:44]: nordi requested all items. -[info][2025/04/27 14:27:52]: nordi requested item list. -[info][2025/04/27 14:28:17]: nordi uplaoded item image NjordsOceanBreeze.png. -[info][2025/04/27 14:28:19]: nordi requested create item jords_cean_reeze_alkoholfrei. -[info][2025/04/27 14:28:19]: nordi successfully created item jords_cean_reeze_alkoholfrei. -[info][2025/04/27 14:28:20]: nordi requested all items. -[info][2025/04/27 14:28:24]: nordi requested item list. -[info][2025/04/27 14:29:30]: nordi uplaoded item image SkadisFrostbite.png. -[info][2025/04/27 14:29:31]: nordi requested create item kadis_rostbite. -[info][2025/04/27 14:29:32]: nordi successfully created item kadis_rostbite. -[info][2025/04/27 14:29:32]: nordi requested all items. -[info][2025/04/27 14:29:37]: nordi requested item list. -[info][2025/04/27 14:30:11]: nordi uplaoded item image OdinsWisdomPlatter.png. -[info][2025/04/27 14:30:13]: nordi requested create item dins_isdom_latter. -[info][2025/04/27 14:30:13]: nordi successfully created item dins_isdom_latter. -[info][2025/04/27 14:30:14]: nordi requested all items. -[info][2025/04/27 14:30:30]: nordi requested item list. -[info][2025/04/27 14:31:01]: nordi uplaoded item image ThorsThunderWings.png. -[info][2025/04/27 14:31:03]: nordi requested create item hors_hunder_ings. -[info][2025/04/27 14:31:03]: nordi successfully created item hors_hunder_ings. -[info][2025/04/27 14:31:04]: nordi requested all items. -[info][2025/04/27 14:31:09]: nordi requested item list. -[info][2025/04/27 14:31:47]: nordi uplaoded item image FreyasGardenSalad.png. -[info][2025/04/27 14:31:50]: nordi requested create item reyas_arden_alad. -[info][2025/04/27 14:31:50]: nordi successfully created item reyas_arden_alad. -[info][2025/04/27 14:31:51]: nordi requested all items. -[info][2025/04/27 14:31:54]: nordi requested item list. -[info][2025/04/27 14:32:36]: nordi uplaoded item image LokisMischiefBites.png. -[info][2025/04/27 14:32:38]: nordi requested create item okis_ischief_ites. -[info][2025/04/27 14:32:38]: nordi successfully created item okis_ischief_ites. -[info][2025/04/27 14:32:39]: nordi requested all items. -[info][2025/04/27 14:32:43]: nordi requested item list. -[info][2025/04/27 14:33:04]: nordi uplaoded item image HeimdallsGuardBread.png. -[info][2025/04/27 14:33:06]: nordi requested create item eimdalls_uard_read. -[info][2025/04/27 14:33:06]: nordi successfully created item eimdalls_uard_read. -[info][2025/04/27 14:33:07]: nordi requested all items. -[info][2025/04/27 14:33:13]: nordi requested item list. -[info][2025/04/27 14:33:37]: nordi uplaoded item image BaldursBrightBites.png. -[info][2025/04/27 14:33:50]: nordi requested create item aldurs_right_ites. -[info][2025/04/27 14:33:50]: nordi successfully created item aldurs_right_ites. -[info][2025/04/27 14:33:51]: nordi requested all items. -[info][2025/04/27 14:33:55]: nordi requested item list. -[info][2025/04/27 14:34:29]: nordi uplaoded item image YggdrasilsRootsGemüseChips.png. -[info][2025/04/27 14:34:41]: nordi requested create item ggdrasils_oots. -[info][2025/04/27 14:34:41]: nordi successfully created item ggdrasils_oots. -[info][2025/04/27 14:34:41]: nordi requested all items. -[info][2025/04/27 14:34:43]: nordi requested item list. -[info][2025/04/27 14:35:04]: nordi uplaoded item image SifsGoldenHarvest.png. -[info][2025/04/27 14:35:08]: nordi requested create item ifs_olden_arvest. -[info][2025/04/27 14:35:08]: nordi successfully created item ifs_olden_arvest. -[info][2025/04/27 14:35:08]: nordi requested all items. -[info][2025/04/27 14:35:14]: nordi requested item list. -[info][2025/04/27 14:35:37]: nordi uplaoded item image NjordsSeaPlatter.png. -[info][2025/04/27 14:35:39]: nordi requested create item jords_ea_latter. -[info][2025/04/27 14:35:39]: nordi successfully created item jords_ea_latter. -[info][2025/04/27 14:35:40]: nordi requested all items. -[info][2025/04/27 14:35:47]: nordi requested item list. -[info][2025/04/27 14:36:14]: nordi uplaoded item image SkadisWinterSkewers.png. -[info][2025/04/27 14:36:17]: nordi requested create item kadis_inter_kewers. -[info][2025/04/27 14:36:17]: nordi successfully created item kadis_inter_kewers. -[info][2025/04/27 14:36:18]: nordi requested all items. -[info][2025/04/27 14:36:23]: nordi requested item list. -[info][2025/04/27 14:36:48]: nordi uplaoded item image Odin(sNüsse).png. -[info][2025/04/27 14:36:52]: nordi requested create item dins_sse. -[info][2025/04/27 14:36:52]: nordi successfully created item dins_sse. -[info][2025/04/27 14:36:52]: nordi requested all items. -[info][2025/04/27 14:36:59]: nordi requested item list. -[info][2025/04/27 14:37:17]: nordi uplaoded item image ThorsSandwich.png. -[info][2025/04/27 14:37:19]: nordi requested create item hors_andwich. -[info][2025/04/27 14:37:19]: nordi successfully created item hors_andwich. -[info][2025/04/27 14:37:19]: nordi requested all items. -[info][2025/04/27 15:11:53]: nordi requested all items. -[info][2025/04/27 15:12:34]: minichaoz requested all items. -[info][2025/04/27 15:12:46]: minichaoz requested item dins_sse. -[info][2025/04/27 15:17:33]: campers requested all items. -[info][2025/04/27 15:17:45]: campers requested item weed. -[info][2025/04/27 15:21:40]: nordi requested all items. -[info][2025/04/27 15:23:11]: campers requested all items. -[info][2025/04/27 15:23:17]: campers requested item metalscrap. -[info][2025/04/27 15:24:29]: campers uplaoded item image scrap-iron.png. -[info][2025/04/27 15:24:34]: campers requested save item metalscrap. -[info][2025/04/27 15:24:34]: campers successfully saved item metalscrap. -[info][2025/04/27 15:25:03]: campers requested all items. -[info][2025/04/27 15:25:19]: campers requested item steel_ingots. -[info][2025/04/27 15:25:42]: campers requested all items. -[info][2025/04/27 15:25:49]: campers requested item shortened_gunbarrel. -[info][2025/04/27 15:26:20]: campers requested all items. -[info][2025/04/27 15:26:27]: campers requested item shaft. -[info][2025/04/27 15:27:03]: campers requested all items. -[info][2025/04/27 15:27:08]: campers requested item trigger_unit. -[info][2025/04/27 15:27:23]: campers requested all items. -[info][2025/04/27 15:27:33]: campers requested item revolver_barrel. -[info][2025/04/27 15:28:00]: campers requested all items. -[info][2025/04/27 15:28:12]: campers requested item drum_mechanism. -[info][2025/04/27 15:28:25]: campers requested all items. -[info][2025/04/27 15:28:35]: campers requested item weapon_handle. -[info][2025/04/27 15:29:19]: campers requested all items. -[info][2025/04/27 15:29:30]: campers requested item pistol_barrel. -[info][2025/04/27 15:30:11]: campers requested all items. -[info][2025/04/27 15:30:16]: campers requested item weapon_sled. -[info][2025/04/27 15:30:31]: campers requested all items. -[info][2025/04/27 15:30:41]: campers requested item gun_handle. -[info][2025/04/27 15:30:52]: campers requested all items. -[info][2025/04/27 15:31:02]: campers requested item ceramic_barrel. -[info][2025/04/27 15:31:10]: campers requested all items. -[info][2025/04/27 15:31:21]: campers requested item small_triggersystem. -[info][2025/04/27 15:31:33]: campers requested all items. -[info][2025/04/27 15:31:43]: campers requested item dagger_blade. -[info][2025/04/27 15:32:01]: campers requested all items. -[info][2025/04/27 15:32:10]: campers requested item machete_blade. -[info][2025/04/27 15:32:20]: campers requested all items. -[info][2025/04/27 15:32:32]: campers requested item handle. -[info][2025/04/27 15:32:44]: campers requested all items. -[info][2025/04/27 15:32:49]: campers requested item switchblade_mechanism. -[info][2025/04/27 15:33:28]: campers requested all items. -[info][2025/04/27 15:33:41]: campers requested item small_blade. -[info][2025/04/27 15:40:43]: campers uplaoded item image Klinge Springmesser.png. -[info][2025/04/27 15:41:00]: campers requested save item small_blade. -[info][2025/04/27 15:41:00]: campers successfully saved item small_blade. -[info][2025/04/27 15:41:04]: campers requested all items. -[info][2025/04/27 15:41:20]: campers requested item axe_head. -[info][2025/04/27 15:41:45]: campers requested all items. -[info][2025/04/27 15:41:45]: nordi requested all items. -[info][2025/04/27 15:41:49]: campers requested item reinforced_handle. -[info][2025/04/27 15:41:56]: nordi requested item weapon_bullpuprifle. -[info][2025/04/27 15:42:10]: campers requested all items. -[info][2025/04/27 15:42:27]: campers requested item weed. -[info][2025/04/27 15:42:41]: campers requested all items. -[info][2025/04/27 15:42:45]: campers requested item rolling_paper. -[info][2025/04/27 15:42:57]: campers requested all items. -[info][2025/04/27 15:43:40]: campers requested item list. -[info][2025/04/27 15:44:12]: campers uplaoded item image Fiterstrips.png. -[info][2025/04/27 15:44:52]: campers requested create item filter_papers. -[info][2025/04/27 15:44:53]: campers successfully created item filter_papers. -[info][2025/04/27 15:44:53]: campers requested all items. -[info][2025/04/27 15:45:18]: campers requested item filter_papers. -[info][2025/04/27 15:45:20]: campers requested all items. -[info][2025/04/27 15:45:34]: campers requested item joint. -[info][2025/04/27 15:45:49]: campers requested all items. -[info][2025/04/27 15:45:56]: campers requested item filter_papers. -[info][2025/04/27 15:46:58]: campers uplaoded item image Fiterstrips2.png. -[info][2025/04/27 15:47:09]: campers requested save item filter_papers. -[info][2025/04/27 15:47:09]: campers successfully saved item filter_papers. -[info][2025/04/27 15:47:12]: campers requested all items. -[info][2025/04/27 15:47:33]: nordi requested save item weapon_bullpuprifle. -[info][2025/04/27 15:47:33]: nordi successfully saved item weapon_bullpuprifle. -[info][2025/04/27 15:47:33]: campers requested item opium_poppy. -[info][2025/04/27 15:47:42]: campers requested all items. -[info][2025/04/27 15:47:44]: nordi requested save item weapon_bullpuprifle. -[info][2025/04/27 15:47:44]: nordi successfully saved item weapon_bullpuprifle. -[info][2025/04/27 15:47:47]: nordi requested all items. -[info][2025/04/27 15:48:02]: campers requested item opium. -[info][2025/04/27 15:48:17]: campers requested all items. -[info][2025/04/27 15:48:25]: campers requested item acetic. -[info][2025/04/27 15:48:33]: campers requested all items. -[info][2025/04/27 15:48:44]: campers requested item injection. -[info][2025/04/27 15:48:58]: campers requested all items. -[info][2025/04/27 15:49:01]: campers requested item heroin_injection. -[info][2025/04/27 15:49:12]: campers requested all items. -[info][2025/04/27 15:49:31]: campers requested item codeine_syrup. -[info][2025/04/27 15:49:40]: campers requested all items. -[info][2025/04/27 15:49:49]: campers requested item ecola. -[info][2025/04/27 15:49:57]: campers requested all items. -[info][2025/04/27 15:50:11]: campers requested item sweets_candies. -[info][2025/04/27 15:50:21]: campers requested all items. -[info][2025/04/27 15:50:47]: campers requested item chemical_set. -[info][2025/04/27 15:51:01]: campers requested all items. -[info][2025/04/27 15:51:11]: campers requested item meth_pipe. -[info][2025/04/27 15:51:23]: campers requested all items. -[info][2025/04/27 15:51:25]: campers requested item ready_methpipe. -[info][2025/04/27 15:51:42]: campers requested all items. -[info][2025/04/27 15:53:01]: campers requested item reinforced_handle. -[info][2025/04/27 15:53:18]: campers uplaoded item image Verstaerktergriff.png. -[info][2025/04/27 15:53:34]: campers requested save item reinforced_handle. -[info][2025/04/27 15:53:34]: campers successfully saved item reinforced_handle. -[info][2025/04/27 15:53:37]: campers requested all items. -[info][2025/04/27 15:54:13]: campers requested item lysergic_acid. -[info][2025/04/27 15:54:22]: campers requested all items. -[info][2025/04/27 15:54:32]: campers requested item blotter_paper. -[info][2025/04/27 15:54:44]: campers requested all items. -[info][2025/04/27 15:55:55]: campers requested all items. -[info][2025/04/27 15:55:59]: campers requested item gun_handle. -[info][2025/04/27 15:56:28]: campers uplaoded item image gun_handle.png. -[info][2025/04/27 16:03:04]: nordi requested item weapon_combatpistol. -[info][2025/04/27 16:03:11]: nordi requested all items. -[info][2025/04/27 16:03:13]: nordi requested item weapon_appistol. -[info][2025/04/27 16:03:29]: nordi requested all items. -[info][2025/04/27 16:04:27]: nordi requested item weapon_appistol. -[info][2025/04/27 17:26:19]: nordi requested all items. -[info][2025/04/27 18:54:20]: nordi requested all items. -[info][2025/04/27 20:20:29]: campers requested all items. -[info][2025/04/27 20:56:06]: nordi requested all items. -[info][2025/04/27 20:56:10]: nordi requested item weapon_combatshotgun. -[info][2025/04/27 20:56:54]: nordi requested save item weapon_combatshotgun. -[info][2025/04/27 20:56:54]: nordi successfully saved item weapon_combatshotgun. -[info][2025/04/27 21:11:09]: nordi requested all items. -[info][2025/04/27 21:25:06]: nordi requested all items. -[info][2025/04/27 21:25:14]: nordi requested item list. -[info][2025/04/27 21:26:02]: nordi uplaoded item image beanbag_ammo.png. -[info][2025/04/27 21:26:29]: nordi requested create item ammo_beanbag. -[info][2025/04/27 21:26:29]: nordi successfully created item ammo_beanbag. -[info][2025/04/27 21:26:30]: nordi requested all items. -[info][2025/04/27 21:26:35]: nordi requested item smg_ammo. -[info][2025/04/27 21:26:47]: nordi requested all items. -[info][2025/04/27 21:26:54]: nordi requested item ammo_beanbag. -[info][2025/04/27 21:27:01]: nordi requested save item ammo_beanbag. -[info][2025/04/27 21:27:01]: nordi successfully saved item ammo_beanbag. -[info][2025/04/27 21:27:06]: nordi requested all items. -[info][2025/04/27 21:27:22]: nordi requested item snp_ammo. -[info][2025/04/27 22:02:28]: nordi requested all items. -[info][2025/04/27 22:02:39]: nordi requested item weapon_combatshotgun. -[info][2025/04/27 22:03:15]: nordi requested all items. -[info][2025/04/27 22:03:20]: nordi requested item ammo_beanbag. -[info][2025/04/27 22:03:28]: nordi requested all items. -[info][2025/04/27 22:03:31]: nordi requested item weapon_combatshotgun. -[info][2025/04/27 22:03:36]: nordi requested save item weapon_combatshotgun. -[info][2025/04/27 22:03:37]: nordi successfully saved item weapon_combatshotgun. -[info][2025/04/27 22:11:00]: nordi requested all items. -[info][2025/04/27 22:12:02]: nordi requested all items. -[info][2025/04/27 22:12:07]: nordi requested item weapon_marksmanrifle. -[info][2025/04/27 22:12:11]: nordi requested save item weapon_marksmanrifle. -[info][2025/04/27 22:12:11]: nordi successfully saved item weapon_marksmanrifle. -[info][2025/04/27 22:13:01]: nordi requested save item weapon_marksmanrifle. -[info][2025/04/27 22:13:01]: nordi successfully saved item weapon_marksmanrifle. -[info][2025/04/27 22:18:59]: nordi requested all items. -[info][2025/04/27 22:19:05]: nordi requested item weapon_combatshotgun. -[info][2025/04/27 22:19:12]: nordi requested save item weapon_combatshotgun. -[info][2025/04/27 22:19:12]: nordi successfully saved item weapon_combatshotgun. -[info][2025/04/27 22:23:33]: nordi requested all items. -[info][2025/04/27 22:23:42]: nordi requested item weapon_carbinerifle. -[info][2025/04/27 22:23:48]: nordi requested all items. -[info][2025/04/27 22:24:01]: nordi requested item ammo_beanbag. -[info][2025/04/27 22:24:21]: nordi requested all items. -[info][2025/04/27 22:38:43]: nordi requested all items. -[info][2025/04/27 22:39:00]: nordi requested item shotgun_ammo. -[info][2025/04/27 22:46:25]: nordi requested all items. -[info][2025/04/27 23:35:37]: campers requested all items. -[info][2025/04/27 23:40:18]: nordi requested all items. -[info][2025/04/27 23:49:56]: campers requested all items. -[info][2025/04/27 23:50:08]: campers requested item ammo_beanbag. -[info][2025/04/27 23:50:11]: campers requested all items. -[info][2025/04/27 23:50:14]: campers requested item emp_ammo. -[info][2025/04/27 23:50:15]: campers requested all items. -[info][2025/04/27 23:50:48]: campers requested item weapon_grenadelauncher_smoke. -[info][2025/04/27 23:51:37]: campers requested all items. -[info][2025/04/27 23:58:19]: tim requested shared vehicle surfer3. -[info][2025/04/27 23:59:45]: nordi requested all items. -[info][2025/04/27 23:59:58]: nordi requested item weapon_grenadelauncher_smoke. -[info][2025/04/28 00:00:10]: nordi requested all items. -[info][2025/04/28 00:00:14]: nordi requested item weapon_grenadelauncher. -[info][2025/04/28 00:00:23]: nordi requested all items. -[info][2025/04/28 00:00:25]: nordi requested item weapon_grenadelauncher_smoke. -[info][2025/04/28 00:00:50]: nordi requested save item weapon_grenadelauncher_smoke. -[info][2025/04/28 00:00:50]: nordi successfully saved item weapon_grenadelauncher_smoke. -[info][2025/04/28 00:00:53]: nordi requested all items. -[info][2025/04/28 00:00:54]: nordi requested item list. -[info][2025/04/28 00:01:30]: tim requested all items. -[info][2025/04/28 00:01:51]: nordi uplaoded item image grenade_launcher_tokyo_marui_m320a1_6_-removebg-preview.png. -[info][2025/04/28 00:01:59]: nordi requested create item ammo_grenadelauncher. -[info][2025/04/28 00:01:59]: nordi successfully created item ammo_grenadelauncher. -[info][2025/04/28 00:02:00]: nordi requested all items. -[info][2025/04/28 00:10:17]: nordi requested all items. -[info][2025/04/28 00:10:22]: nordi requested all jobs. -[info][2025/04/28 00:12:49]: nordi requested all items. -[info][2025/04/28 00:12:53]: nordi requested item weapon_stungun. -[info][2025/04/28 00:13:01]: nordi requested save item weapon_stungun. -[info][2025/04/28 00:13:01]: nordi successfully saved item weapon_stungun. -[info][2025/04/28 00:13:07]: nordi requested all items. -[info][2025/04/28 00:13:13]: nordi requested item weapon_smokegrenade. -[info][2025/04/28 00:16:00]: nordi uplaoded item image screenshot_425-removebg-preview.png. -[info][2025/04/28 00:16:02]: nordi requested save item weapon_smokegrenade. -[info][2025/04/28 00:16:02]: nordi successfully saved item weapon_smokegrenade. -[info][2025/04/28 00:16:06]: nordi requested all items. -[info][2025/04/28 00:16:18]: nordi requested item weapon_bzgas. -[info][2025/04/28 00:16:22]: nordi uplaoded item image bz_gas.png. -[info][2025/04/28 00:16:23]: nordi requested save item weapon_bzgas. -[info][2025/04/28 00:16:23]: nordi successfully saved item weapon_bzgas. -[info][2025/04/28 04:56:45]: nordi requested all items. -[info][2025/04/28 13:13:32]: nordi requested all items. -[info][2025/04/28 13:13:39]: nordi requested item weapon_combatpistol. -[info][2025/04/28 13:13:52]: nordi uplaoded item image screenshot_434-removebg-preview.png. -[info][2025/04/28 13:13:59]: nordi requested save item weapon_combatpistol. -[info][2025/04/28 13:13:59]: nordi successfully saved item weapon_combatpistol. -[info][2025/04/28 13:46:58]: nordi requested all items. -[info][2025/04/28 14:41:50]: nordi requested all items. -[info][2025/04/28 14:41:58]: nordi requested item weapon_carbinerifle. -[info][2025/04/28 14:42:59]: nordi uplaoded item image ar15.png. -[info][2025/04/28 14:43:02]: nordi requested save item weapon_carbinerifle. -[info][2025/04/28 14:43:02]: nordi successfully saved item weapon_carbinerifle. -[info][2025/04/28 15:34:53]: nordi requested all items. -[info][2025/04/28 15:34:55]: nordi requested item list. -[info][2025/04/28 15:35:06]: nordi requested all items. -[info][2025/04/28 15:35:30]: nordi requested item weapon_pistol_mk2. -[info][2025/04/28 15:36:09]: nordi requested save item weapon_pistol_mk2. -[info][2025/04/28 15:36:10]: nordi successfully saved item weapon_pistol_mk2. -[info][2025/04/28 15:36:16]: nordi requested all items. -[info][2025/04/28 15:36:21]: nordi requested item weapon_appistol. -[info][2025/04/28 15:36:25]: nordi requested save item weapon_appistol. -[info][2025/04/28 15:36:25]: nordi successfully saved item weapon_appistol. -[info][2025/04/28 15:36:28]: nordi requested all items. -[info][2025/04/28 16:23:34]: max requested all jobs. -[info][2025/04/28 16:23:47]: max requested all items. -[info][2025/04/28 17:03:54]: nordi requested all jobs. -[info][2025/04/28 17:03:58]: nordi requested job police. -[info][2025/04/28 17:06:06]: nordi requested save job police. -[info][2025/04/28 17:06:06]: nordi successfully saved job police. -[info][2025/04/28 17:06:48]: max requested all jobs. -[info][2025/04/28 17:07:11]: max requested job hotdog. -[info][2025/04/28 17:07:17]: max requested all jobs. -[info][2025/04/28 17:07:46]: max requested job hotdog. -[info][2025/04/28 17:07:56]: max requested delete job hotdog. -[info][2025/04/28 17:07:56]: max successfully deleted job hotdog. -[info][2025/04/28 17:07:57]: max requested all jobs. -[info][2025/04/28 17:08:03]: max requested job mechanic. -[info][2025/04/28 17:08:08]: max requested delete job mechanic. -[info][2025/04/28 17:08:08]: max successfully deleted job mechanic. -[info][2025/04/28 17:08:09]: max requested all jobs. -[info][2025/04/28 17:08:15]: max requested job ambulance. -[info][2025/04/28 17:08:20]: max requested delete job ambulance. -[info][2025/04/28 17:08:21]: max successfully deleted job ambulance. -[info][2025/04/28 17:08:21]: max requested all jobs. -[info][2025/04/28 17:08:27]: max requested job taxi. -[info][2025/04/28 17:08:33]: max requested delete job taxi. -[info][2025/04/28 17:08:33]: max successfully deleted job taxi. -[info][2025/04/28 17:08:34]: max requested all jobs. -[info][2025/04/28 17:08:40]: max requested job beeker. -[info][2025/04/28 17:08:45]: max requested delete job beeker. -[info][2025/04/28 17:08:46]: max successfully deleted job beeker. -[info][2025/04/28 17:08:46]: max requested all jobs. -[info][2025/04/28 17:08:50]: max requested job tow. -[info][2025/04/28 17:08:54]: max requested delete job tow. -[info][2025/04/28 17:08:54]: max successfully deleted job tow. -[info][2025/04/28 17:08:54]: max requested all jobs. -[info][2025/04/28 17:08:57]: max requested job bus. -[info][2025/04/28 17:09:00]: max requested delete job bus. -[info][2025/04/28 17:09:01]: max successfully deleted job bus. -[info][2025/04/28 17:09:01]: max requested all jobs. -[info][2025/04/28 17:09:14]: max requested job cardealer. -[info][2025/04/28 17:09:18]: max requested delete job cardealer. -[info][2025/04/28 17:09:18]: max successfully deleted job cardealer. -[info][2025/04/28 17:09:19]: max requested all jobs. -[info][2025/04/28 17:09:23]: max requested job realestate. -[info][2025/04/28 17:09:26]: max requested delete job realestate. -[info][2025/04/28 17:09:26]: max successfully deleted job realestate. -[info][2025/04/28 17:09:27]: max requested all jobs. -[info][2025/04/28 17:11:43]: max requested job trucker. -[info][2025/04/28 17:11:46]: max requested delete job trucker. -[info][2025/04/28 17:11:46]: max successfully deleted job trucker. -[info][2025/04/28 17:11:47]: max requested all jobs. -[info][2025/04/28 17:11:50]: max requested job bennys. -[info][2025/04/28 17:11:54]: max requested delete job bennys. -[info][2025/04/28 17:11:54]: max successfully deleted job bennys. -[info][2025/04/28 17:11:55]: max requested all jobs. -[info][2025/04/28 17:12:00]: max requested job mechanic3. -[info][2025/04/28 17:12:03]: max requested delete job mechanic3. -[info][2025/04/28 17:12:03]: max successfully deleted job mechanic3. -[info][2025/04/28 17:12:04]: max requested all jobs. -[info][2025/04/28 17:12:07]: max requested job judge. -[info][2025/04/28 17:12:09]: max requested delete job judge. -[info][2025/04/28 17:12:09]: max successfully deleted job judge. -[info][2025/04/28 17:12:10]: max requested all jobs. -[info][2025/04/28 17:12:13]: max requested job mechanic2. -[info][2025/04/28 17:12:17]: max requested delete job mechanic2. -[info][2025/04/28 17:12:17]: max successfully deleted job mechanic2. -[info][2025/04/28 17:12:18]: max requested all jobs. -[info][2025/04/28 17:12:21]: max requested job reporter. -[info][2025/04/28 17:13:21]: max requested all jobs. -[info][2025/04/28 17:13:26]: max requested job reporter. -[info][2025/04/28 17:13:29]: max requested delete job reporter. -[info][2025/04/28 17:13:29]: max successfully deleted job reporter. -[info][2025/04/28 17:13:30]: max requested all jobs. -[info][2025/04/28 17:13:33]: max requested job vineyard. -[info][2025/04/28 17:13:37]: max requested delete job vineyard. -[info][2025/04/28 17:13:37]: max successfully deleted job vineyard. -[info][2025/04/28 17:13:37]: max requested all jobs. -[info][2025/04/28 17:13:44]: max requested job garbage. -[info][2025/04/28 17:13:48]: max requested delete job garbage. -[info][2025/04/28 17:13:48]: max successfully deleted job garbage. -[info][2025/04/28 17:13:49]: max requested all jobs. -[info][2025/04/28 17:13:52]: max requested job lawyer. -[info][2025/04/28 17:13:56]: max requested delete job lawyer. -[info][2025/04/28 17:13:56]: max successfully deleted job lawyer. -[info][2025/04/28 17:13:57]: max requested all jobs. -[info][2025/04/28 17:19:46]: max requested create job mechanic. -[info][2025/04/28 17:19:46]: max successfully created item undefined. -[info][2025/04/28 17:19:46]: max requested all jobs. -[info][2025/04/28 17:19:49]: max requested job mechanic. -[info][2025/04/28 17:29:55]: max requested save job mechanic. -[info][2025/04/28 17:29:55]: max successfully saved job mechanic. -[info][2025/04/28 17:30:07]: max requested save job mechanic. -[info][2025/04/28 17:30:07]: max successfully saved job mechanic. -[info][2025/04/28 17:30:29]: max requested save job mechanic. -[info][2025/04/28 17:30:29]: max successfully saved job mechanic. -[info][2025/04/28 17:32:57]: max requested all jobs. -[info][2025/04/28 17:33:00]: max requested job mechanic. -[info][2025/04/28 17:33:26]: max requested save job mechanic. -[info][2025/04/28 17:33:26]: max successfully saved job mechanic. -[info][2025/04/28 17:33:39]: max requested save job mechanic. -[info][2025/04/28 17:33:39]: max successfully saved job mechanic. -[info][2025/04/28 17:34:06]: nordi requested job police. -[info][2025/04/28 17:44:22]: nordi requested job police. -[info][2025/04/28 19:47:17]: nordi requested all items. -[info][2025/04/28 19:47:24]: nordi requested all items. -[info][2025/04/28 19:47:26]: nordi requested item list. -[info][2025/04/28 19:48:16]: nordi uplaoded item image DI2_police_keycard-removebg-preview.png. -[info][2025/04/28 19:48:36]: nordi requested create item pd_keycard. -[info][2025/04/28 19:48:36]: nordi successfully created item pd_keycard. -[info][2025/04/28 19:48:37]: nordi requested all items. -[info][2025/04/28 19:50:27]: nordi requested all jobs. -[info][2025/04/28 19:50:34]: nordi requested job police. -[info][2025/04/28 19:50:37]: nordi requested all jobs. -[info][2025/04/28 20:35:45]: tim requested all items. -[info][2025/04/28 20:35:48]: tim requested item list. -[info][2025/04/28 20:35:49]: tim requested all jobs. -[info][2025/04/28 20:35:50]: tim requested all items. -[info][2025/04/28 20:36:00]: tim requested item weapon_heavysniper_mk2. -[info][2025/04/28 21:45:54]: nordi requested all jobs. -[info][2025/04/28 21:45:59]: nordi requested all jobs. -[info][2025/04/28 21:46:03]: nordi requested job police. -[info][2025/04/28 22:15:37]: campers requested all jobs. -[info][2025/04/28 22:15:39]: campers requested job police. -[info][2025/04/28 22:19:54]: campers requested all items. -[info][2025/04/28 22:24:44]: campers requested all items. -[info][2025/04/28 22:25:11]: campers requested item dagger_blade. -[info][2025/04/29 03:41:43]: nordi requested job police. -[info][2025/04/29 04:04:24]: nordi requested all items. -[info][2025/04/29 04:04:31]: nordi requested item list. -[info][2025/04/29 04:05:52]: nordi requested create item w_me_colbaton. -[info][2025/04/29 04:05:52]: nordi successfully created item w_me_colbaton. -[info][2025/04/29 04:05:53]: nordi requested all items. -[info][2025/04/29 04:05:57]: nordi requested item weapon_doubleaction. -[info][2025/04/29 04:08:49]: nordi requested all items. -[info][2025/04/29 04:09:01]: nordi requested all items. -[info][2025/04/29 04:13:00]: nordi requested all items. -[info][2025/04/29 04:15:24]: nordi requested all items. -[info][2025/04/29 04:15:31]: nordi requested item w_me_colbaton. -[info][2025/04/29 04:15:54]: nordi requested save item w_me_colbaton. -[info][2025/04/29 04:15:54]: nordi successfully saved item w_me_colbaton. -[info][2025/04/29 04:23:29]: nordi requested delete item w_me_colbaton. -[info][2025/04/29 04:23:29]: nordi successfully deleted item w_me_colbaton. -[info][2025/04/29 04:23:35]: nordi requested all items. -[info][2025/04/29 04:23:40]: nordi requested item list. -[info][2025/04/29 04:24:24]: nordi requested create item weapon_colbaton. -[info][2025/04/29 04:24:24]: nordi successfully created item weapon_colbaton. -[info][2025/04/29 04:24:25]: nordi requested all items. -[info][2025/04/29 04:30:12]: nordi requested all items. -[info][2025/04/29 04:47:25]: nordi requested all jobs. -[info][2025/04/29 04:47:34]: nordi requested all items. -[info][2025/04/29 04:47:39]: nordi requested item weapon_colbaton. -[info][2025/04/29 04:47:42]: nordi requested delete item weapon_colbaton. -[info][2025/04/29 04:47:42]: nordi successfully deleted item weapon_colbaton. -[info][2025/04/29 04:47:42]: nordi requested all items. -[info][2025/04/29 05:17:53]: nordi requested item weapon_pistol50. -[info][2025/04/29 05:19:13]: nordi requested save item weapon_pistol50. -[info][2025/04/29 05:19:13]: nordi successfully saved item weapon_pistol50. -[info][2025/04/29 05:25:14]: nordi uplaoded item image tropical_eagle.png. -[info][2025/04/29 05:25:17]: nordi requested save item weapon_pistol50. -[info][2025/04/29 05:25:17]: nordi successfully saved item weapon_pistol50. -[info][2025/04/29 06:06:06]: nordi requested save item weapon_pistol50. -[info][2025/04/29 06:06:06]: nordi successfully saved item weapon_pistol50. -[info][2025/04/29 06:06:10]: nordi requested all items. -[info][2025/04/29 06:06:25]: nordi requested item weapon_snspistol_mk2. -[info][2025/04/29 06:06:36]: nordi requested save item weapon_snspistol_mk2. -[info][2025/04/29 06:06:36]: nordi successfully saved item weapon_snspistol_mk2. -[info][2025/04/29 06:08:25]: nordi requested save item weapon_snspistol_mk2. -[info][2025/04/29 06:08:25]: nordi successfully saved item weapon_snspistol_mk2. -[info][2025/04/29 06:08:37]: nordi requested all items. -[info][2025/04/29 06:09:44]: nordi requested item weapon_snspistol_mk2. -[info][2025/04/29 06:13:31]: nordi requested all items. -[info][2025/04/29 06:30:49]: nordi requested item weapon_militaryrifle. -[info][2025/04/29 06:30:58]: nordi requested all items. -[info][2025/04/29 06:35:28]: nordi requested item weapon_militaryrifle. -[info][2025/04/29 06:37:38]: nordi uplaoded item image screenshot_455-removebg-preview.png. -[info][2025/04/29 06:37:44]: nordi requested save item weapon_militaryrifle. -[info][2025/04/29 06:37:44]: nordi successfully saved item weapon_militaryrifle. -[info][2025/04/29 06:39:04]: nordi requested all items. -[info][2025/04/29 06:39:15]: nordi requested item weapon_flashlight. -[info][2025/04/29 06:39:30]: nordi requested save item weapon_flashlight. -[info][2025/04/29 06:39:30]: nordi successfully saved item weapon_flashlight. -[info][2025/04/29 07:00:21]: nordi requested all items. -[info][2025/04/29 07:00:28]: nordi requested item weapon_militaryrifle. -[info][2025/04/29 07:00:52]: nordi requested save item weapon_militaryrifle. -[info][2025/04/29 07:00:52]: nordi successfully saved item weapon_militaryrifle. -[info][2025/04/29 07:00:56]: nordi requested all items. -[info][2025/04/29 07:01:08]: nordi requested item weapon_carbinerifle_mk2. -[info][2025/04/29 07:02:07]: nordi requested save item weapon_carbinerifle_mk2. -[info][2025/04/29 07:02:07]: nordi successfully saved item weapon_carbinerifle_mk2. -[info][2025/04/29 11:32:03]: nordi requested all items. -[info][2025/04/29 16:49:01]: tim requested all jobs. -[info][2025/04/29 16:49:07]: tim requested all jobs. -[info][2025/04/29 16:50:27]: tim requested all jobs. -[info][2025/04/29 16:50:57]: tim requested create job larossa. -[info][2025/04/29 16:50:57]: tim successfully created item undefined. -[info][2025/04/29 16:50:57]: tim requested all jobs. -[info][2025/04/29 16:51:00]: tim requested job mechanic. -[info][2025/04/29 16:51:10]: tim requested all jobs. -[info][2025/04/29 16:51:52]: tim requested all jobs. -[info][2025/04/29 16:55:37]: tim requested job larossa. -[info][2025/04/29 16:55:39]: tim requested delete job larossa. -[info][2025/04/29 16:55:44]: tim requested all jobs. -[info][2025/04/29 16:55:49]: tim requested job larossa. -[info][2025/04/29 16:55:52]: tim requested delete job larossa. -[info][2025/04/29 16:55:53]: tim requested save job larossa. -[info][2025/04/29 16:55:57]: tim requested all jobs. -[info][2025/04/29 16:55:59]: tim requested all jobs. -[info][2025/04/29 16:56:01]: tim requested job larossa. -[info][2025/04/29 16:56:03]: tim requested delete job larossa. -[info][2025/04/29 17:09:48]: tim requested all jobs. -[info][2025/04/29 17:09:52]: tim requested job larossa. -[info][2025/04/29 17:09:54]: tim requested delete job larossa. -[info][2025/04/29 17:09:54]: tim successfully deleted job larossa. -[info][2025/04/29 17:09:55]: tim requested all jobs. -[info][2025/04/29 17:22:28]: tim requested all jobs. -[info][2025/04/29 17:38:02]: max requested all jobs. -[info][2025/04/29 17:39:15]: tim requested all jobs. -[info][2025/04/29 17:39:59]: tim requested create job larossa. -[info][2025/04/29 17:39:59]: tim successfully created item undefined. -[info][2025/04/29 17:40:00]: tim requested all jobs. -[info][2025/04/29 17:48:59]: tim requested all jobs. -[info][2025/04/29 17:49:01]: tim requested job larossa. -[info][2025/04/29 17:49:09]: tim requested save job larossa. -[info][2025/04/29 17:49:09]: tim successfully saved job larossa. -[info][2025/04/29 17:57:06]: nordi requested all jobs. -[info][2025/04/29 17:57:14]: nordi requested all items. -[info][2025/04/29 17:57:20]: nordi requested item weapon_stungun. -[info][2025/04/29 17:57:24]: nordi requested save item weapon_stungun. -[info][2025/04/29 17:57:24]: nordi successfully saved item weapon_stungun. -[info][2025/04/29 17:57:27]: nordi requested all items. -[info][2025/04/29 18:30:31]: nordi requested all gangs. -[info][2025/04/29 19:07:26]: nordi requested all items. -[info][2025/04/29 19:12:35]: tim requested all jobs. -[info][2025/04/29 19:12:37]: tim requested job larossa. -[info][2025/04/29 19:12:40]: tim requested save job larossa. -[info][2025/04/29 19:12:40]: tim successfully saved job larossa. -[info][2025/04/29 19:40:41]: nordi requested item jelly_beans. -[info][2025/04/29 19:40:54]: nordi requested all items. -[info][2025/04/29 19:41:03]: nordi requested item bcesandwich. -[info][2025/04/29 19:41:15]: nordi requested all items. -[info][2025/04/29 19:46:42]: nordi requested all items. -[info][2025/04/29 20:00:57]: nordi requested all items. -[info][2025/04/29 20:01:10]: nordi requested all items. -[info][2025/04/29 20:20:19]: nordi requested all jobs. -[info][2025/04/29 20:20:23]: nordi requested all jobs. -[info][2025/04/29 20:20:57]: nordi requested create job ambulance. -[info][2025/04/29 20:20:57]: nordi successfully created item undefined. -[info][2025/04/29 20:20:58]: nordi requested all jobs. -[info][2025/04/29 20:21:04]: nordi requested job ambulance. -[info][2025/04/29 20:23:02]: nordi requested save job ambulance. -[info][2025/04/29 20:23:02]: nordi successfully saved job ambulance. -[info][2025/04/29 20:23:06]: nordi requested all jobs. -[info][2025/04/29 20:23:10]: nordi requested job ambulance. -[info][2025/04/29 23:17:38]: campers requested all jobs. -[info][2025/04/29 23:17:41]: campers requested job police. -[info][2025/04/30 00:13:18]: nordi requested all items. -[info][2025/04/30 00:46:48]: nordi requested all items. -[info][2025/04/30 00:47:28]: nordi requested item water_bottle. -[info][2025/04/30 00:49:02]: nordi uplaoded item image wasserflasche.png. -[info][2025/04/30 00:51:45]: nordi requested save item water_bottle. -[info][2025/04/30 00:51:45]: nordi successfully saved item water_bottle. -[info][2025/04/30 00:52:20]: nordi requested save item water_bottle. -[info][2025/04/30 00:52:20]: nordi successfully saved item water_bottle. -[info][2025/04/30 00:52:25]: nordi requested all items. -[info][2025/04/30 00:52:30]: nordi requested item tosti. -[info][2025/04/30 00:52:34]: nordi requested save item tosti. -[info][2025/04/30 00:52:34]: nordi successfully saved item tosti. -[info][2025/04/30 00:52:37]: nordi requested all items. -[info][2025/04/30 00:52:46]: nordi requested item twerks_candy. -[info][2025/04/30 00:53:35]: nordi requested save item twerks_candy. -[info][2025/04/30 00:53:35]: nordi successfully saved item twerks_candy. -[info][2025/04/30 00:53:39]: nordi requested all items. -[info][2025/04/30 00:53:44]: nordi requested item twerks_candy. -[info][2025/04/30 00:53:48]: nordi requested all items. -[info][2025/04/30 00:53:53]: nordi requested item slushi. -[info][2025/04/30 00:55:11]: nordi requested save item slushi. -[info][2025/04/30 00:55:11]: nordi successfully saved item slushi. -[info][2025/04/30 00:55:15]: nordi requested all items. -[info][2025/04/30 00:55:19]: nordi requested item pizza_piece. -[info][2025/04/30 00:55:21]: nordi requested save item pizza_piece. -[info][2025/04/30 00:55:21]: nordi successfully saved item pizza_piece. -[info][2025/04/30 20:29:46]: nordi requested all items. -[info][2025/04/30 20:29:52]: nordi requested item ggdrasils_ssence. -[info][2025/04/30 20:29:54]: nordi requested all items. -[info][2025/04/30 20:29:56]: nordi requested item kayas_rotwein. -[info][2025/04/30 20:29:58]: nordi requested all items. -[info][2025/04/30 20:30:01]: nordi requested item kayas_rotwein. -[info][2025/04/30 20:30:03]: nordi requested all items. -[info][2025/04/30 20:30:09]: nordi requested item weapon_carbinerifle. -[info][2025/04/30 20:30:11]: nordi requested all items. -[info][2025/04/30 20:30:16]: nordi requested item slushi. -[info][2025/04/30 20:30:23]: nordi requested all items. -[info][2025/04/30 20:44:42]: nordi requested item sandwich. -[info][2025/04/30 20:52:59]: nordi requested all jobs. -[info][2025/04/30 20:53:26]: nordi requested all jobs. -[info][2025/04/30 22:37:28]: campers requested all jobs. -[info][2025/04/30 22:37:32]: campers requested job police. -[info][2025/04/30 23:22:10]: nordi requested all items. -[info][2025/04/30 23:22:12]: nordi requested item kurkakola. -[info][2025/04/30 23:22:40]: nordi requested all items. -[info][2025/04/30 23:23:14]: nordi requested item kurkakola. -[info][2025/04/30 23:23:20]: nordi requested delete item kurkakola. -[info][2025/04/30 23:23:20]: nordi successfully deleted item kurkakola. -[info][2025/04/30 23:23:20]: nordi requested all items. -[info][2025/04/30 23:23:24]: nordi requested item list. -[info][2025/04/30 23:29:54]: nordi uplaoded item image sprunkcan.png. -[info][2025/04/30 23:30:05]: nordi requested create item sprunk_dose. -[info][2025/04/30 23:30:05]: nordi successfully created item sprunk_dose. -[info][2025/04/30 23:30:06]: nordi requested all items. -[info][2025/04/30 23:30:09]: nordi requested item injection. -[info][2025/04/30 23:30:12]: nordi requested all items. -[info][2025/04/30 23:30:22]: nordi requested item sprunk_dose. -[info][2025/04/30 23:30:31]: nordi requested all items. -[info][2025/04/30 23:30:35]: nordi requested item list. -[info][2025/05/01 00:52:57]: nordi requested all items. -[info][2025/05/01 00:53:04]: nordi requested item list. -[info][2025/05/01 00:53:41]: nordi uplaoded item image sprunkbottle.png. -[info][2025/05/01 00:53:46]: nordi requested create item sprunk_zero_flasche. -[info][2025/05/01 00:53:46]: nordi successfully created item sprunk_zero_flasche. -[info][2025/05/01 00:53:47]: nordi requested all items. -[info][2025/05/01 02:32:44]: campers requested all items. -[info][2025/05/01 02:33:24]: campers requested item steel_ingots. -[info][2025/05/01 02:33:43]: campers requested all items. -[info][2025/05/01 02:33:49]: campers requested item steel_ingots. -[info][2025/05/01 03:19:34]: nordi requested all items. -[info][2025/05/01 03:19:38]: nordi requested item list. -[info][2025/05/01 03:30:21]: nordi uplaoded item image screenshot_477-removebg-preview.png. -[info][2025/05/01 03:30:32]: nordi requested create item field_dressing. -[info][2025/05/01 03:30:33]: nordi successfully created item field_dressing. -[info][2025/05/01 03:30:33]: nordi requested all items. -[info][2025/05/01 03:32:46]: nordi requested item field_dressing. -[info][2025/05/01 03:32:51]: nordi requested all items. -[info][2025/05/01 03:33:33]: nordi requested item list. -[info][2025/05/01 03:37:34]: nordi uplaoded item image screenshot_478-removebg-preview.png. -[info][2025/05/01 03:37:39]: nordi requested create item packing_bandage. -[info][2025/05/01 03:37:39]: nordi successfully created item packing_bandage. -[info][2025/05/01 03:37:39]: nordi requested all items. -[info][2025/05/01 03:42:45]: nordi requested item list. -[info][2025/05/01 03:43:01]: nordi uplaoded item image elastisches-medizinisches-bandageband-komprimierend-geringe-dehnung-80-mm_189499203-removebg-preview.png. -[info][2025/05/01 03:43:07]: nordi requested create item elastic_bandage. -[info][2025/05/01 03:43:07]: nordi successfully created item elastic_bandage. -[info][2025/05/01 03:43:08]: nordi requested all items. -[info][2025/05/01 03:44:15]: nordi requested item list. -[info][2025/05/01 03:44:32]: nordi uplaoded item image 40053-QuikClot-Combat-Gauze-01-removebg-preview.png. -[info][2025/05/01 03:44:36]: nordi requested create item quickclot. -[info][2025/05/01 03:44:36]: nordi successfully created item quickclot. -[info][2025/05/01 03:44:36]: nordi requested all items. -[info][2025/05/01 03:44:53]: nordi requested item list. -[info][2025/05/01 03:46:25]: nordi uplaoded item image bloodbag.png. -[info][2025/05/01 03:46:31]: nordi requested create item blood_100. -[info][2025/05/01 03:46:31]: nordi successfully created item blood_100. -[info][2025/05/01 03:46:31]: nordi requested all items. -[info][2025/05/01 03:46:43]: nordi requested item list. -[info][2025/05/01 03:47:11]: nordi requested create item blood_250. -[info][2025/05/01 03:47:12]: nordi successfully created item blood_250. -[info][2025/05/01 03:47:12]: nordi requested all items. -[info][2025/05/01 03:47:23]: nordi requested item list. -[info][2025/05/01 03:47:42]: nordi requested create item blood_500. -[info][2025/05/01 03:47:42]: nordi successfully created item blood_500. -[info][2025/05/01 03:47:43]: nordi requested all items. -[info][2025/05/01 03:47:50]: nordi requested item list. -[info][2025/05/01 03:48:11]: nordi requested create item blood_750. -[info][2025/05/01 03:48:11]: nordi successfully created item blood_750. -[info][2025/05/01 03:48:12]: nordi requested all items. -[info][2025/05/01 03:48:23]: nordi requested item list. -[info][2025/05/01 03:51:27]: nordi requested create item blood_1000. -[info][2025/05/01 03:51:27]: nordi successfully created item blood_1000. -[info][2025/05/01 03:51:27]: nordi requested all items. -[info][2025/05/01 03:51:32]: nordi requested item blotter_paper. -[info][2025/05/01 03:51:35]: nordi requested all items. -[info][2025/05/01 03:51:57]: nordi requested item list. -[info][2025/05/01 03:53:08]: nordi requested create item morphine. -[info][2025/05/01 03:53:08]: nordi successfully created item morphine. -[info][2025/05/01 03:53:09]: nordi requested all items. -[info][2025/05/01 03:53:32]: nordi requested item list. -[info][2025/05/01 03:53:55]: nordi uplaoded item image epi_pen.png. -[info][2025/05/01 03:53:58]: nordi requested create item epinephrine. -[info][2025/05/01 03:53:58]: nordi successfully created item epinephrine. -[info][2025/05/01 03:53:58]: nordi requested all items. -[info][2025/05/01 03:54:12]: nordi requested item list. -[info][2025/05/01 03:54:36]: nordi uplaoded item image medbox.png. -[info][2025/05/01 03:54:40]: nordi requested create item emergency_revive_kit. -[info][2025/05/01 03:54:40]: nordi successfully created item emergency_revive_kit. -[info][2025/05/01 03:54:41]: nordi requested all items. -[info][2025/05/01 03:54:49]: nordi requested item list. -[info][2025/05/01 03:55:09]: nordi uplaoded item image aed.png. -[info][2025/05/01 03:55:15]: nordi requested create item defibrillator. -[info][2025/05/01 03:55:15]: nordi successfully created item defibrillator. -[info][2025/05/01 03:55:16]: nordi requested all items. -[info][2025/05/01 03:55:24]: nordi requested item list. -[info][2025/05/01 03:55:47]: nordi uplaoded item image surgicalkit.png. -[info][2025/05/01 03:55:49]: nordi requested create item surgical_kit. -[info][2025/05/01 03:55:49]: nordi successfully created item surgical_kit. -[info][2025/05/01 03:55:50]: nordi requested all items. -[info][2025/05/01 03:57:24]: nordi requested item list. -[info][2025/05/01 04:01:26]: nordi uplaoded item image 81khEr+-vcL._AC_SX450_-removebg-preview.png. -[info][2025/05/01 04:01:30]: nordi requested create item tourniquet. -[info][2025/05/01 04:01:30]: nordi successfully created item tourniquet. -[info][2025/05/01 04:01:30]: nordi requested all items. -[info][2025/05/01 04:02:02]: nordi requested item list. -[info][2025/05/01 04:03:26]: nordi uplaoded item image 148383-multiparameter-patientenmonitor-pc-3000-lepu-medical-2-removebg-preview.png. -[info][2025/05/01 04:03:33]: nordi requested create item ecg_monitor. -[info][2025/05/01 04:03:34]: nordi successfully created item ecg_monitor. -[info][2025/05/01 04:03:34]: nordi requested all items. -[info][2025/05/01 04:03:42]: nordi requested item list. -[info][2025/05/01 04:04:00]: nordi uplaoded item image syringefull.png. -[info][2025/05/01 04:04:04]: nordi requested create item fentanyl. -[info][2025/05/01 04:04:04]: nordi successfully created item fentanyl. -[info][2025/05/01 04:04:05]: nordi requested all items. -[info][2025/05/01 04:04:56]: nordi requested item list. -[info][2025/05/01 04:05:35]: nordi uplaoded item image Propofol-00409469924-removebg-preview.png. -[info][2025/05/01 04:05:39]: nordi requested create item propofol_100. -[info][2025/05/01 04:05:39]: nordi successfully created item propofol_100. -[info][2025/05/01 04:05:40]: nordi requested all items. -[info][2025/05/01 04:05:41]: nordi requested item list. -[info][2025/05/01 04:06:14]: nordi requested create item propofol_250. -[info][2025/05/01 04:06:14]: nordi successfully created item propofol_250. -[info][2025/05/01 04:06:15]: nordi requested all items. -[info][2025/05/01 04:06:57]: nordi requested item list. -[info][2025/05/01 04:07:11]: nordi uplaoded item image 40407-leichensack-xxl-schwarz-100-cm-x-220-cm_detail-removebg-preview.png. -[info][2025/05/01 04:07:15]: nordi requested create item bodybag. -[info][2025/05/01 04:07:15]: nordi successfully created item bodybag. -[info][2025/05/01 04:07:15]: nordi requested all items. -[info][2025/05/01 04:09:01]: nordi requested item list. -[info][2025/05/01 04:10:14]: nordi uplaoded item image Nordisee Fischfrikadellenbroetchen.png. -[info][2025/05/01 04:10:19]: nordi requested create item nordisee_fischfrikadellenbroetchen. -[info][2025/05/01 04:10:19]: nordi successfully created item nordisee_fischfrikadellenbroetchen. -[info][2025/05/01 04:10:20]: nordi requested all items. -[info][2025/05/01 04:10:34]: nordi requested item nordisee_fischfrikadellenbroetchen. -[info][2025/05/01 04:15:07]: nordi requested save item nordisee_fischfrikadellenbroetchen. -[info][2025/05/01 04:15:07]: nordi successfully saved item nordisee_fischfrikadellenbroetchen. -[info][2025/05/01 04:16:00]: nordi requested save item nordisee_fischfrikadellenbroetchen. -[info][2025/05/01 04:16:00]: nordi successfully saved item nordisee_fischfrikadellenbroetchen. -[info][2025/05/01 04:16:02]: nordi requested all items. -[info][2025/05/01 04:16:04]: nordi requested item list. -[info][2025/05/01 04:16:15]: nordi requested all items. -[info][2025/05/01 13:08:11]: nordi requested all items. -[info][2025/05/01 13:09:44]: nordi requested item list. -[info][2025/05/01 13:16:52]: nordi uplaoded item image ChatGPT_Image_1._Mai_2025__03_26_12-removebg-preview.png. -[info][2025/05/01 13:17:08]: nordi requested all items. -[info][2025/05/01 13:17:10]: nordi requested item list. -[info][2025/05/01 13:18:07]: nordi requested create item tims_instant_nudeln. -[info][2025/05/01 13:18:07]: nordi successfully created item tims_instant_nudeln. -[info][2025/05/01 13:18:08]: nordi requested all items. -[info][2025/05/01 13:18:13]: nordi requested item tims_instant_nudeln. -[info][2025/05/01 13:18:23]: nordi requested all items. -[info][2025/05/01 13:18:43]: nordi requested item list. -[info][2025/05/01 13:19:16]: nordi uplaoded item image stefansabpfelmustorte.png. -[info][2025/05/01 13:19:25]: nordi requested create item stevens_apfelmustorte. -[info][2025/05/01 13:19:25]: nordi successfully created item stevens_apfelmustorte. -[info][2025/05/01 13:19:26]: nordi requested all items. -[info][2025/05/01 13:19:41]: nordi requested item list. -[info][2025/05/01 13:21:03]: nordi uplaoded item image leberkasemmel-removebg-preview.png. -[info][2025/05/01 13:21:10]: nordi requested create item leberkas_semmal. -[info][2025/05/01 13:21:10]: nordi successfully created item leberkas_semmal. -[info][2025/05/01 13:21:11]: nordi requested all items. -[info][2025/05/01 13:21:27]: nordi requested item list. -[info][2025/05/01 13:22:11]: nordi uplaoded item image mettbroetchen.png. -[info][2025/05/01 13:22:22]: nordi requested create item mettbroetchen. -[info][2025/05/01 13:22:23]: nordi successfully created item mettbroetchen. -[info][2025/05/01 13:22:23]: nordi requested all items. -[info][2025/05/01 13:23:00]: nordi requested item mettbroetchen. -[info][2025/05/01 13:23:05]: nordi requested all items. -[info][2025/05/01 13:23:19]: nordi requested item list. -[info][2025/05/01 13:24:10]: nordi uplaoded item image bubbletea.png. -[info][2025/05/01 13:24:13]: nordi requested create item bubble_tea. -[info][2025/05/01 13:24:13]: nordi successfully created item bubble_tea. -[info][2025/05/01 13:24:14]: nordi requested all items. -[info][2025/05/01 13:24:47]: nordi requested item bubble_tea. -[info][2025/05/01 13:24:51]: nordi requested save item bubble_tea. -[info][2025/05/01 13:24:51]: nordi successfully saved item bubble_tea. -[info][2025/05/01 13:24:55]: nordi requested all items. -[info][2025/05/01 13:25:12]: nordi requested item list. -[info][2025/05/01 13:27:44]: nordi uplaoded item image munkyicetea .png. -[info][2025/05/01 13:27:48]: nordi requested create item munky_juice_ice_tea. -[info][2025/05/01 13:27:48]: nordi successfully created item munky_juice_ice_tea. -[info][2025/05/01 13:27:48]: nordi requested all items. -[info][2025/05/01 13:27:52]: nordi requested item munky_juice_ice_tea. -[info][2025/05/01 13:27:57]: nordi requested all items. -[info][2025/05/01 13:28:02]: nordi requested item list. -[info][2025/05/01 13:28:54]: nordi uplaoded item image munkeyjuice.png. -[info][2025/05/01 13:29:05]: nordi requested create item munky_juice. -[info][2025/05/01 13:29:05]: nordi successfully created item munky_juice. -[info][2025/05/01 13:29:06]: nordi requested all items. -[info][2025/05/01 13:37:35]: nordi requested item list. -[info][2025/05/01 13:40:02]: nordi uplaoded item image junkcan.png. -[info][2025/05/01 13:40:05]: nordi requested create item junk_energy. -[info][2025/05/01 13:40:05]: nordi successfully created item junk_energy. -[info][2025/05/01 13:40:06]: nordi requested all items. -[info][2025/05/01 13:40:11]: nordi requested item junk_energy. -[info][2025/05/01 13:40:29]: nordi requested all items. -[info][2025/05/01 13:41:22]: nordi requested item list. -[info][2025/05/01 13:41:48]: nordi requested item list. -[info][2025/05/01 13:42:52]: nordi uplaoded item image _R4GAVMI-removebg-preview.png. -[info][2025/05/01 13:42:55]: nordi requested create item campers_fuel. -[info][2025/05/01 13:42:55]: nordi successfully created item campers_fuel. -[info][2025/05/01 13:42:56]: nordi requested all items. -[info][2025/05/01 13:51:55]: nordi requested item list. -[info][2025/05/01 13:52:46]: nordi uplaoded item image fishandchips.png. -[info][2025/05/01 13:52:49]: nordi requested create item fish_and_chips. -[info][2025/05/01 13:52:49]: nordi successfully created item fish_and_chips. -[info][2025/05/01 13:52:50]: nordi requested all items. -[info][2025/05/01 13:53:12]: nordi requested item list. -[info][2025/05/01 13:55:02]: nordi uplaoded item image ChatGPT_Image_1._Mai_2025__03_50_52-removebg-preview.png. -[info][2025/05/01 13:55:07]: nordi requested create item muffin. -[info][2025/05/01 13:55:07]: nordi successfully created item muffin. -[info][2025/05/01 13:55:07]: nordi requested all items. -[info][2025/05/01 13:55:14]: nordi requested item muffin. -[info][2025/05/01 13:55:28]: nordi requested all items. -[info][2025/05/01 13:55:54]: nordi requested item list. -[info][2025/05/01 13:56:58]: nordi uplaoded item image ontangcanzero.png. -[info][2025/05/01 13:57:03]: nordi requested create item orange_o_tang_zero_dose. -[info][2025/05/01 13:57:03]: nordi successfully created item orange_o_tang_zero_dose. -[info][2025/05/01 13:57:04]: nordi requested all items. -[info][2025/05/01 13:57:16]: nordi requested item list. -[info][2025/05/01 13:57:37]: nordi uplaoded item image otangcan.png. -[info][2025/05/01 13:57:46]: nordi requested create item orange_o_tang_dose. -[info][2025/05/01 13:57:46]: nordi successfully created item orange_o_tang_dose. -[info][2025/05/01 13:57:46]: nordi requested all items. -[info][2025/05/01 13:58:10]: nordi requested item list. -[info][2025/05/01 14:00:22]: nordi uplaoded item image otangzerobottle.png. -[info][2025/05/01 14:00:28]: nordi requested create item orange_o_tang_zero_flasche. -[info][2025/05/01 14:00:28]: nordi successfully created item orange_o_tang_zero_flasche. -[info][2025/05/01 14:00:29]: nordi requested all items. -[info][2025/05/01 14:00:56]: nordi requested item list. -[info][2025/05/01 14:01:16]: nordi uplaoded item image otangbottle.png. -[info][2025/05/01 14:01:18]: nordi requested create item orange_o_tang_flasche. -[info][2025/05/01 14:01:18]: nordi successfully created item orange_o_tang_flasche. -[info][2025/05/01 14:01:19]: nordi requested all items. -[info][2025/05/01 14:04:01]: nordi requested item list. -[info][2025/05/01 14:04:24]: nordi uplaoded item image sprunkbottle1.png. -[info][2025/05/01 14:04:28]: nordi requested create item sprunk_flasche. -[info][2025/05/01 14:04:28]: nordi successfully created item sprunk_flasche. -[info][2025/05/01 14:04:29]: nordi requested all items. -[info][2025/05/01 14:04:39]: nordi requested item list. -[info][2025/05/01 14:05:01]: nordi uplaoded item image sprunkcanzero.png. -[info][2025/05/01 14:05:03]: nordi requested create item sprunk_zero_dose. -[info][2025/05/01 14:05:03]: nordi successfully created item sprunk_zero_dose. -[info][2025/05/01 14:05:04]: nordi requested all items. -[info][2025/05/01 14:18:51]: nordi requested item list. -[info][2025/05/01 14:19:24]: nordi uplaoded item image ecolacan.png. -[info][2025/05/01 14:19:26]: nordi requested create item ecola_dose. -[info][2025/05/01 14:19:26]: nordi successfully created item ecola_dose. -[info][2025/05/01 14:19:27]: nordi requested all items. -[info][2025/05/01 14:19:36]: nordi requested item ecola. -[info][2025/05/01 14:19:39]: nordi requested delete item ecola. -[info][2025/05/01 14:19:39]: nordi successfully deleted item ecola. -[info][2025/05/01 14:19:39]: nordi requested all items. -[info][2025/05/01 14:19:41]: nordi requested item ecola_dose. -[info][2025/05/01 14:19:52]: nordi requested all items. -[info][2025/05/01 14:22:18]: nordi requested item list. -[info][2025/05/01 14:22:37]: nordi uplaoded item image ecolazerocan.png. -[info][2025/05/01 14:22:46]: nordi requested create item ecola_zero_dose. -[info][2025/05/01 14:22:46]: nordi successfully created item ecola_zero_dose. -[info][2025/05/01 14:22:46]: nordi requested all items. -[info][2025/05/01 14:22:54]: nordi requested item ecola_zero_dose. -[info][2025/05/01 14:23:00]: nordi requested save item ecola_zero_dose. -[info][2025/05/01 14:23:00]: nordi successfully saved item ecola_zero_dose. -[info][2025/05/01 14:23:03]: nordi requested all items. -[info][2025/05/01 14:23:07]: nordi requested item ecola_zero_dose. -[info][2025/05/01 14:23:27]: nordi requested all items. -[info][2025/05/01 14:23:32]: nordi requested item list. -[info][2025/05/01 14:23:57]: nordi uplaoded item image ecolazerobottle.png. -[info][2025/05/01 14:24:04]: nordi requested create item ecola_zero_flasche. -[info][2025/05/01 14:24:05]: nordi successfully created item ecola_zero_flasche. -[info][2025/05/01 14:24:05]: nordi requested all items. -[info][2025/05/01 14:24:12]: nordi requested item list. -[info][2025/05/01 14:24:43]: nordi uplaoded item image ecolabottle.png. -[info][2025/05/01 14:24:46]: nordi requested create item ecola_flasche. -[info][2025/05/01 14:24:46]: nordi successfully created item ecola_flasche. -[info][2025/05/01 14:24:47]: nordi requested all items. -[info][2025/05/01 14:44:10]: nordi requested item list. -[info][2025/05/01 14:44:56]: nordi uplaoded item image hotdogdeluxe-removebg-preview.png. -[info][2025/05/01 14:45:00]: nordi requested create item hotdog_deluxe. -[info][2025/05/01 14:45:00]: nordi successfully created item hotdog_deluxe. -[info][2025/05/01 14:45:01]: nordi requested all items. -[info][2025/05/01 14:45:16]: nordi requested item hotdog_deluxe. -[info][2025/05/01 14:45:20]: nordi requested all items. -[info][2025/05/01 14:45:25]: nordi requested item list. -[info][2025/05/01 14:47:06]: nordi uplaoded item image gummanimals.png. -[info][2025/05/01 14:47:09]: nordi requested create item gumianimals. -[info][2025/05/01 14:47:09]: nordi successfully created item gumianimals. -[info][2025/05/01 14:47:10]: nordi requested all items. -[info][2025/05/01 14:48:10]: nordi requested item list. -[info][2025/05/01 14:48:43]: nordi uplaoded item image fingerice.png. -[info][2025/05/01 14:48:45]: nordi requested create item lutschfinger_eis. -[info][2025/05/01 14:48:45]: nordi successfully created item lutschfinger_eis. -[info][2025/05/01 14:48:46]: nordi requested all items. -[info][2025/05/01 14:48:51]: nordi requested item lutschfinger_eis. -[info][2025/05/01 14:50:04]: nordi requested save item lutschfinger_eis. -[info][2025/05/01 14:50:04]: nordi successfully saved item lutschfinger_eis. -[info][2025/05/01 14:50:07]: nordi requested all items. -[info][2025/05/01 14:50:21]: nordi requested item weapon_pistol_mk2. -[info][2025/05/01 14:50:28]: nordi requested all items. -[info][2025/05/01 15:02:54]: nordi requested item list. -[info][2025/05/01 15:03:02]: nordi requested all items. -[info][2025/05/01 15:03:04]: nordi requested item list. -[info][2025/05/01 15:04:47]: nordi uplaoded item image donut.png. -[info][2025/05/01 15:04:52]: nordi requested create item donut. -[info][2025/05/01 15:04:52]: nordi successfully created item donut. -[info][2025/05/01 15:04:52]: nordi requested all items. -[info][2025/05/01 15:04:54]: nordi requested item list. -[info][2025/05/01 15:06:39]: nordi uplaoded item image kasleberkassemmel.png. -[info][2025/05/01 15:06:41]: nordi requested create item kas_leberkas_semmal. -[info][2025/05/01 15:06:41]: nordi successfully created item kas_leberkas_semmal. -[info][2025/05/01 15:06:41]: nordi requested all items. -[info][2025/05/01 15:06:47]: nordi requested item leberkas_semmal. -[info][2025/05/01 15:06:51]: nordi requested save item leberkas_semmal. -[info][2025/05/01 15:06:51]: nordi successfully saved item leberkas_semmal. -[info][2025/05/01 15:06:54]: nordi requested all items. -[info][2025/05/01 15:07:13]: nordi requested item list. -[info][2025/05/01 15:07:47]: nordi uplaoded item image schnitzelbrotechen.png. -[info][2025/05/01 15:07:49]: nordi requested create item schnitzelbroetchen. -[info][2025/05/01 15:07:49]: nordi successfully created item schnitzelbroetchen. -[info][2025/05/01 15:07:49]: nordi requested all items. -[info][2025/05/01 15:08:21]: nordi requested item list. -[info][2025/05/01 15:09:20]: nordi uplaoded item image pelmini.png. -[info][2025/05/01 15:09:23]: nordi requested create item pelmini. -[info][2025/05/01 15:09:23]: nordi successfully created item pelmini. -[info][2025/05/01 15:09:23]: nordi requested all items. -[info][2025/05/01 15:10:54]: nordi requested item list. -[info][2025/05/01 15:11:32]: nordi uplaoded item image macrons.png. -[info][2025/05/01 15:11:34]: nordi requested create item macrons. -[info][2025/05/01 15:11:34]: nordi successfully created item macrons. -[info][2025/05/01 15:11:35]: nordi requested all items. -[info][2025/05/01 15:15:16]: nordi requested item antipatharia_coral. -[info][2025/05/01 15:15:18]: nordi requested all items. -[info][2025/05/01 15:24:52]: nordi requested item list. -[info][2025/05/01 15:25:18]: nordi uplaoded item image dogfood.png. -[info][2025/05/01 15:25:21]: nordi requested create item hundefutter. -[info][2025/05/01 15:25:21]: nordi successfully created item hundefutter. -[info][2025/05/01 15:25:22]: nordi requested all items. -[info][2025/05/01 15:25:47]: nordi requested item hundefutter. -[info][2025/05/01 15:25:52]: nordi requested all items. -[info][2025/05/01 15:27:11]: nordi requested item list. -[info][2025/05/01 15:28:33]: nordi uplaoded item image cheapcoffee.png. -[info][2025/05/01 15:28:45]: nordi requested create item billokaffee. -[info][2025/05/01 15:28:45]: nordi successfully created item billokaffee. -[info][2025/05/01 15:28:46]: nordi requested all items. -[info][2025/05/01 15:32:35]: nordi requested item list. -[info][2025/05/01 15:33:09]: nordi uplaoded item image pralinen.png. -[info][2025/05/01 15:33:15]: nordi requested create item pralinen. -[info][2025/05/01 15:33:15]: nordi successfully created item pralinen. -[info][2025/05/01 15:33:16]: nordi requested all items. -[info][2025/05/01 15:33:41]: nordi requested item pralinen. -[info][2025/05/01 15:33:45]: nordi requested save item pralinen. -[info][2025/05/01 15:33:45]: nordi successfully saved item pralinen. -[info][2025/05/01 15:46:19]: nordi requested save item pralinen. -[info][2025/05/01 15:46:19]: nordi successfully saved item pralinen. -[info][2025/05/01 15:59:06]: nordi requested save item pralinen. -[info][2025/05/01 15:59:06]: nordi successfully saved item pralinen. -[info][2025/05/01 15:59:08]: nordi requested all items. -[info][2025/05/01 17:44:01]: nordi requested all items. -[info][2025/05/01 17:44:08]: nordi requested item pd_keycard. -[info][2025/05/01 17:44:15]: nordi requested save item pd_keycard. -[info][2025/05/01 17:44:15]: nordi successfully saved item pd_keycard. -[info][2025/05/01 17:44:57]: nordi requested all items. -[info][2025/05/01 17:45:03]: nordi requested item weapon_combatshotgun. -[info][2025/05/01 17:45:11]: nordi uplaoded item image beanbagshotgun.png. -[info][2025/05/01 17:45:13]: nordi requested save item weapon_combatshotgun. -[info][2025/05/01 17:45:13]: nordi successfully saved item weapon_combatshotgun. -[info][2025/05/01 17:49:52]: nordi requested save item weapon_combatshotgun. -[info][2025/05/01 17:49:52]: nordi successfully saved item weapon_combatshotgun. -[info][2025/05/01 17:49:54]: nordi requested all items. -[info][2025/05/01 18:59:07]: nordi requested item tims_instant_nudeln. -[info][2025/05/01 18:59:13]: nordi requested all items. -[info][2025/05/01 18:59:17]: nordi requested item tims_instant_nudeln. -[info][2025/05/01 19:00:27]: nordi requested all items. -[info][2025/05/01 19:01:01]: nordi requested item spazi. -[info][2025/05/01 19:06:01]: nordi requested all items. -[info][2025/05/01 19:21:24]: nordi requested all items. -[info][2025/05/01 19:21:35]: nordi requested item binoculars. -[info][2025/05/01 19:24:51]: nordi uplaoded item image fernglas.png. -[info][2025/05/01 19:24:57]: nordi requested save item binoculars. -[info][2025/05/01 19:24:58]: nordi successfully saved item binoculars. -[info][2025/05/01 19:25:01]: nordi requested all items. -[info][2025/05/01 19:25:08]: nordi requested item weapon_revolver. -[info][2025/05/01 19:25:46]: nordi uplaoded item image revolver.png. -[info][2025/05/01 19:25:47]: nordi requested save item weapon_revolver. -[info][2025/05/01 19:25:48]: nordi successfully saved item weapon_revolver. -[info][2025/05/01 21:04:05]: nordi requested all items. -[info][2025/05/01 21:04:19]: nordi requested item list. -[info][2025/05/01 21:10:42]: nordi uplaoded item image Ibuprophen.png. -[info][2025/05/01 21:10:46]: nordi requested create item ibuprophen. -[info][2025/05/01 21:10:46]: nordi successfully created item ibuprophen. -[info][2025/05/01 21:10:46]: nordi requested all items. -[info][2025/05/01 21:10:59]: nordi requested item list. -[info][2025/05/01 21:11:12]: nordi uplaoded item image Novalmin.png. -[info][2025/05/01 21:11:15]: nordi requested create item novalmin. -[info][2025/05/01 21:11:15]: nordi successfully created item novalmin. -[info][2025/05/01 21:11:15]: nordi requested all items. -[info][2025/05/01 21:11:23]: nordi requested item list. -[info][2025/05/01 21:11:35]: nordi uplaoded item image Paracetamol.png. -[info][2025/05/01 21:11:37]: nordi requested create item paracetamol. -[info][2025/05/01 21:11:37]: nordi successfully created item paracetamol. -[info][2025/05/01 21:11:37]: nordi requested all items. -[info][2025/05/01 21:11:47]: nordi requested item list. -[info][2025/05/01 21:12:09]: nordi uplaoded item image tilidin.png. -[info][2025/05/01 21:12:19]: nordi requested create item tilidin. -[info][2025/05/01 21:12:19]: nordi successfully created item tilidin. -[info][2025/05/01 21:12:19]: nordi requested all items. -[info][2025/05/01 21:12:29]: nordi requested item list. -[info][2025/05/01 21:12:49]: nordi uplaoded item image vomex.png. -[info][2025/05/01 21:12:52]: nordi requested create item vomex. -[info][2025/05/01 21:12:52]: nordi successfully created item vomex. -[info][2025/05/01 21:12:52]: nordi requested all items. -[info][2025/05/01 21:13:11]: nordi requested item list. -[info][2025/05/01 21:13:24]: nordi uplaoded item image Wurmkur.png. -[info][2025/05/01 21:13:26]: nordi requested create item wurmkur. -[info][2025/05/01 21:13:26]: nordi successfully created item wurmkur. -[info][2025/05/01 21:13:26]: nordi requested all items. -[info][2025/05/01 21:13:34]: nordi requested item list. -[info][2025/05/01 21:15:01]: nordi uplaoded item image salbenverband.png. -[info][2025/05/01 21:15:05]: nordi requested create item voltaren_salbenverband. -[info][2025/05/01 21:15:05]: nordi successfully created item voltaren_salbenverband. -[info][2025/05/01 21:15:06]: nordi requested all items. -[info][2025/05/01 21:16:46]: nordi requested item list. -[info][2025/05/01 21:17:10]: nordi uplaoded item image fentanyl-removebg-preview.png. -[info][2025/05/01 21:17:13]: nordi requested create item fentanyl. -[info][2025/05/01 21:17:21]: nordi requested all items. -[info][2025/05/01 21:17:27]: nordi requested item fentanyl. -[info][2025/05/01 21:18:07]: nordi requested save item fentanyl. -[info][2025/05/01 21:18:07]: nordi successfully saved item fentanyl. -[info][2025/05/01 21:18:10]: nordi requested all items. -[info][2025/05/01 21:18:12]: nordi requested item fentanyl. -[info][2025/05/01 21:18:15]: nordi requested all items. -[info][2025/05/01 21:18:44]: nordi requested item list. -[info][2025/05/01 21:19:01]: nordi uplaoded item image placebo.png. -[info][2025/05/01 21:19:02]: nordi requested create item placebo. -[info][2025/05/01 21:19:02]: nordi successfully created item placebo. -[info][2025/05/01 21:19:03]: nordi requested all items. -[info][2025/05/01 21:19:25]: nordi requested item list. -[info][2025/05/01 21:19:40]: nordi uplaoded item image penicillin.png. -[info][2025/05/01 21:19:42]: nordi requested create item penicillin. -[info][2025/05/01 21:19:42]: nordi successfully created item penicillin. -[info][2025/05/01 21:19:43]: nordi requested all items. -[info][2025/05/01 21:20:08]: nordi requested item list. -[info][2025/05/01 21:20:20]: nordi uplaoded item image aspirin.png. -[info][2025/05/01 21:20:21]: nordi requested create item aspirin. -[info][2025/05/01 21:20:22]: nordi successfully created item aspirin. -[info][2025/05/01 21:20:22]: nordi requested all items. -[info][2025/05/01 21:21:45]: nordi requested item list. -[info][2025/05/01 21:21:58]: nordi uplaoded item image salbutamol.png. -[info][2025/05/01 21:22:00]: nordi requested create item salbutamol. -[info][2025/05/01 21:22:00]: nordi successfully created item salbutamol. -[info][2025/05/01 21:22:00]: nordi requested all items. -[info][2025/05/01 21:23:01]: nordi requested item list. -[info][2025/05/01 21:23:12]: nordi uplaoded item image Lidocain.png. -[info][2025/05/01 21:23:16]: nordi requested create item lidocain. -[info][2025/05/01 21:23:16]: nordi successfully created item lidocain. -[info][2025/05/01 21:23:17]: nordi requested all items. -[info][2025/05/01 21:25:23]: nordi requested item list. -[info][2025/05/01 21:25:37]: nordi uplaoded item image akrinor.png. -[info][2025/05/01 21:25:39]: nordi requested create item akrinor. -[info][2025/05/01 21:25:39]: nordi successfully created item akrinor. -[info][2025/05/01 21:25:39]: nordi requested all items. -[info][2025/05/01 21:26:35]: nordi requested item list. -[info][2025/05/01 21:27:12]: nordi uplaoded item image glucoseg40.png. -[info][2025/05/01 21:27:14]: nordi requested create item glucoseg40. -[info][2025/05/01 21:27:14]: nordi successfully created item glucoseg40. -[info][2025/05/01 21:27:15]: nordi requested all items. -[info][2025/05/01 21:28:06]: nordi requested item list. -[info][2025/05/01 21:28:23]: nordi uplaoded item image amiodaron.png. -[info][2025/05/01 21:28:25]: nordi requested create item amiodaron. -[info][2025/05/01 21:28:25]: nordi successfully created item amiodaron. -[info][2025/05/01 21:28:26]: nordi requested all items. -[info][2025/05/01 21:29:47]: nordi requested item list. -[info][2025/05/01 21:30:04]: nordi uplaoded item image esketamin.png. -[info][2025/05/01 21:30:05]: nordi requested create item esketamin. -[info][2025/05/01 21:30:05]: nordi successfully created item esketamin. -[info][2025/05/01 21:30:06]: nordi requested all items. -[info][2025/05/01 21:31:26]: nordi requested item list. -[info][2025/05/01 21:31:40]: nordi uplaoded item image heparin.png. -[info][2025/05/01 21:31:42]: nordi requested create item heparin. -[info][2025/05/01 21:31:42]: nordi successfully created item heparin. -[info][2025/05/01 21:31:43]: nordi requested all items. -[info][2025/05/01 21:32:46]: nordi requested item list. -[info][2025/05/01 21:32:57]: nordi uplaoded item image amoxicillin.png. -[info][2025/05/01 21:32:58]: nordi requested create item amoxicillin. -[info][2025/05/01 21:32:58]: nordi successfully created item amoxicillin. -[info][2025/05/01 21:32:59]: nordi requested all items. -[info][2025/05/01 21:34:21]: nordi requested item list. -[info][2025/05/01 21:34:42]: nordi uplaoded item image tavor1.png. -[info][2025/05/01 21:34:44]: nordi requested create item tavor1. -[info][2025/05/01 21:34:44]: nordi successfully created item tavor1. -[info][2025/05/01 21:34:44]: nordi requested all items. -[info][2025/05/01 21:35:29]: nordi requested item list. -[info][2025/05/01 21:35:59]: nordi uplaoded item image tavor25.png. -[info][2025/05/01 21:36:00]: nordi requested create item tavor25. -[info][2025/05/01 21:36:00]: nordi successfully created item tavor25. -[info][2025/05/01 21:36:01]: nordi requested all items. -[info][2025/05/01 21:37:29]: nordi requested item list. -[info][2025/05/01 21:37:52]: nordi uplaoded item image tranexamsaure.png. -[info][2025/05/01 21:37:55]: nordi requested create item tranexamsaure. -[info][2025/05/01 21:37:55]: nordi successfully created item tranexamsaure. -[info][2025/05/01 21:37:55]: nordi requested all items. -[info][2025/05/01 21:39:02]: nordi requested item list. -[info][2025/05/01 21:39:36]: nordi uplaoded item image urapidil1.png. -[info][2025/05/01 21:39:38]: nordi requested create item urapidil1. -[info][2025/05/01 21:39:38]: nordi successfully created item urapidil1. -[info][2025/05/01 21:39:38]: nordi requested all items. -[info][2025/05/01 21:39:40]: nordi requested item list. -[info][2025/05/01 21:40:15]: nordi requested create item urapidil3. -[info][2025/05/01 21:40:15]: nordi successfully created item urapidil3. -[info][2025/05/01 21:40:16]: nordi requested all items. -[info][2025/05/01 21:43:53]: nordi requested item list. -[info][2025/05/01 21:44:17]: nordi uplaoded item image hundeimpfstoff.png. -[info][2025/05/01 21:44:20]: nordi requested create item 5-fach_impfung_hund. -[info][2025/05/01 21:44:20]: nordi successfully created item 5-fach_impfung_hund. -[info][2025/05/01 21:44:20]: nordi requested all items. -[info][2025/05/01 21:44:34]: nordi requested item list. -[info][2025/05/01 21:44:51]: nordi uplaoded item image katzenimpfstoff.png. -[info][2025/05/01 21:44:56]: nordi requested create item 3-fach_impfung_katze. -[info][2025/05/01 21:44:57]: nordi successfully created item 3-fach_impfung_katze. -[info][2025/05/01 21:44:57]: nordi requested all items. -[info][2025/05/01 21:46:58]: nordi requested item list. -[info][2025/05/01 21:47:10]: nordi uplaoded item image Zeckenschutzmittel.png. -[info][2025/05/01 21:47:11]: nordi requested create item zeckenschutzmittel. -[info][2025/05/01 21:47:12]: nordi successfully created item zeckenschutzmittel. -[info][2025/05/01 21:47:12]: nordi requested all items. -[info][2025/05/01 21:51:27]: nordi requested item list. -[info][2025/05/01 21:51:37]: nordi uplaoded item image Flohmittel.png. -[info][2025/05/01 21:51:39]: nordi requested create item flohmittel. -[info][2025/05/01 21:51:39]: nordi successfully created item flohmittel. -[info][2025/05/01 21:51:39]: nordi requested all items. -[info][2025/05/01 21:53:33]: nordi requested item list. -[info][2025/05/01 21:53:41]: nordi uplaoded item image Metacam.png. -[info][2025/05/01 21:53:42]: nordi requested create item metacam. -[info][2025/05/01 21:53:42]: nordi successfully created item metacam. -[info][2025/05/01 21:53:43]: nordi requested all items. -[info][2025/05/01 21:54:25]: nordi requested item list. -[info][2025/05/01 21:54:35]: nordi uplaoded item image Cefalexin.png. -[info][2025/05/01 21:54:37]: nordi requested create item cefalexin. -[info][2025/05/01 21:54:37]: nordi successfully created item cefalexin. -[info][2025/05/01 21:54:37]: nordi requested all items. -[info][2025/05/01 21:56:04]: nordi requested item list. -[info][2025/05/01 21:56:55]: nordi uplaoded item image nacl.png. -[info][2025/05/01 21:56:56]: nordi requested create item nacl_500. -[info][2025/05/01 21:56:56]: nordi successfully created item nacl_500. -[info][2025/05/01 21:56:56]: nordi requested all items. -[info][2025/05/01 21:56:59]: nordi requested item list. -[info][2025/05/01 21:57:24]: nordi requested create item nacl_1000. -[info][2025/05/01 21:57:25]: nordi successfully created item nacl_1000. -[info][2025/05/01 21:57:25]: nordi requested all items. -[info][2025/05/01 22:15:34]: campers requested all jobs. -[info][2025/05/01 22:15:38]: campers requested job ambulance. -[info][2025/05/01 22:15:42]: campers requested all jobs. -[info][2025/05/01 22:15:43]: campers requested job police. -[info][2025/05/01 22:15:49]: campers requested all jobs. -[info][2025/05/01 22:20:47]: campers requested job police. -[info][2025/05/01 22:20:54]: campers requested all jobs. -[info][2025/05/01 22:20:57]: campers requested job larossa. -[info][2025/05/01 22:20:59]: campers requested all jobs. -[info][2025/05/01 22:21:00]: campers requested job larossa. -[info][2025/05/01 22:21:03]: campers requested all jobs. -[info][2025/05/01 22:21:04]: campers requested job ambulance. -[info][2025/05/01 22:21:09]: campers requested all jobs. -[info][2025/05/01 22:21:12]: campers requested job mechanic. -[info][2025/05/01 22:21:26]: campers requested all jobs. -[info][2025/05/01 22:25:04]: campers requested job police. -[info][2025/05/01 22:25:06]: campers requested all jobs. -[info][2025/05/01 22:25:08]: campers requested job police. -[info][2025/05/01 22:25:19]: campers requested all jobs. -[info][2025/05/01 22:25:21]: campers requested job mechanic. -[info][2025/05/01 22:25:23]: campers requested all jobs. -[info][2025/05/01 22:25:25]: campers requested job mechanic. -[info][2025/05/01 22:25:39]: campers requested all jobs. -[info][2025/05/01 22:25:42]: campers requested job unemployed. -[info][2025/05/01 22:48:20]: tim requested all items. -[info][2025/05/01 22:48:28]: tim requested all jobs. -[info][2025/05/01 22:48:30]: tim requested all gangs. -[info][2025/05/01 22:58:07]: campers requested all items. -[info][2025/05/01 22:59:15]: campers requested item steel_ingots. -[info][2025/05/01 23:00:10]: campers uplaoded item image steel_ingot.png. -[info][2025/05/01 23:00:16]: campers requested save item steel_ingots. -[info][2025/05/01 23:00:16]: campers successfully saved item steel_ingots. -[info][2025/05/02 13:54:56]: campers requested all items. -[info][2025/05/02 13:56:05]: campers requested item salbutamol. -[info][2025/05/02 13:56:12]: campers requested all items. -[info][2025/05/02 13:56:16]: campers requested item emergency_revive_kit. -[info][2025/05/02 13:56:18]: campers requested all items. -[info][2025/05/02 13:56:23]: campers requested item weed_whitewidow. -[info][2025/05/02 13:56:27]: campers requested all items. -[info][2025/05/02 13:56:31]: campers requested item ready_methpipe. -[info][2025/05/02 13:56:35]: campers requested all items. -[info][2025/05/02 14:02:57]: campers requested item list. -[info][2025/05/02 14:05:33]: campers uplaoded item image weaponsroute.png. -[info][2025/05/02 14:09:49]: campers requested create item weapons_route. -[info][2025/05/02 14:09:49]: campers successfully created item weapons_route. -[info][2025/05/02 14:09:49]: campers requested all items. -[info][2025/05/02 14:13:58]: campers requested item list. -[info][2025/05/02 14:27:09]: campers requested all jobs. -[info][2025/05/02 14:27:12]: campers requested job police. -[info][2025/05/02 14:29:52]: campers requested all jobs. -[info][2025/05/02 14:29:56]: campers requested job ambulance. -[info][2025/05/02 14:29:58]: campers requested all jobs. -[info][2025/05/02 14:30:00]: campers requested job mechanic. -[info][2025/05/02 14:32:07]: campers requested all jobs. -[info][2025/05/02 14:32:19]: campers requested all jobs. -[info][2025/05/02 14:32:47]: campers requested all jobs. -[info][2025/05/02 14:32:49]: campers requested all gangs. -[info][2025/05/02 14:32:52]: campers requested all jobs. -[info][2025/05/02 14:33:00]: campers requested all gangs. -[info][2025/05/02 14:39:13]: campers requested all gangs. -[info][2025/05/02 14:39:14]: campers requested gang vagos. -[info][2025/05/02 14:39:19]: campers requested all gangs. -[info][2025/05/02 14:39:21]: campers requested gang ballas. -[info][2025/05/02 14:39:25]: campers requested all gangs. -[info][2025/05/02 14:39:28]: campers requested gang lostmc. -[info][2025/05/02 14:39:30]: campers requested all gangs. -[info][2025/05/02 14:39:42]: campers requested gang none. -[info][2025/05/02 14:39:44]: campers requested all gangs. -[info][2025/05/02 15:36:30]: nordi requested all items. -[info][2025/05/02 15:36:35]: nordi requested item weapon_assaultsmg. -[info][2025/05/02 15:45:46]: nordi uplaoded item image bdr-c.png. -[info][2025/05/02 15:45:48]: nordi requested save item weapon_assaultsmg. -[info][2025/05/02 15:45:49]: nordi successfully saved item weapon_assaultsmg. -[info][2025/05/02 15:45:52]: nordi requested all items. -[info][2025/05/02 15:45:57]: nordi requested item weapon_combatpdw. -[info][2025/05/02 15:46:29]: nordi uplaoded item image zigmpx.png. -[info][2025/05/02 15:46:33]: nordi requested save item weapon_combatpdw. -[info][2025/05/02 15:46:33]: nordi successfully saved item weapon_combatpdw. -[info][2025/05/02 15:58:02]: nordi requested save item weapon_combatpdw. -[info][2025/05/02 15:58:02]: nordi successfully saved item weapon_combatpdw. -[info][2025/05/02 16:02:02]: nordi requested save item weapon_combatpdw. -[info][2025/05/02 16:02:02]: nordi successfully saved item weapon_combatpdw. -[info][2025/05/02 16:02:18]: nordi requested all items. -[info][2025/05/02 16:02:58]: nordi requested all items. -[info][2025/05/02 16:05:03]: nordi requested all items. -[info][2025/05/02 16:05:05]: nordi requested item list. -[info][2025/05/02 16:05:47]: nordi requested create item weapon_combatpdw. -[info][2025/05/02 16:06:07]: nordi requested all items. -[info][2025/05/02 16:09:07]: nordi requested all items. -[info][2025/05/02 16:10:24]: nordi requested all items. -[info][2025/05/02 16:11:14]: nordi requested item list. -[info][2025/05/02 16:11:33]: nordi requested create item weapon_combatpdw. -[info][2025/05/02 16:12:52]: nordi requested all items. -[info][2025/05/02 16:13:07]: nordi requested item list. -[info][2025/05/02 16:13:18]: nordi requested create item weapon_combatpdw. -[info][2025/05/02 16:13:18]: nordi successfully created item weapon_combatpdw. -[info][2025/05/02 16:13:19]: nordi requested all items. -[info][2025/05/02 16:13:25]: nordi requested item weapon_combatpdw. -[info][2025/05/02 16:14:01]: nordi requested save item weapon_combatpdw. -[info][2025/05/02 16:14:01]: nordi successfully saved item weapon_combatpdw. -[info][2025/05/02 16:19:37]: nordi requested all items. -[info][2025/05/02 16:19:44]: nordi requested item weapon_pistolxm3. -[info][2025/05/02 16:20:35]: nordi uplaoded item image highteampistol.png. -[info][2025/05/02 16:20:38]: nordi requested save item weapon_pistolxm3. -[info][2025/05/02 16:20:38]: nordi successfully saved item weapon_pistolxm3. -[info][2025/05/02 16:22:14]: campers requested all jobs. -[info][2025/05/02 16:22:22]: campers requested all jobs. -[info][2025/05/02 16:22:24]: campers requested job police. -[info][2025/05/02 16:27:09]: campers requested save job police. -[info][2025/05/02 16:27:09]: campers successfully saved job police. -[info][2025/05/02 16:27:14]: campers requested all jobs. -[info][2025/05/02 16:27:17]: campers requested job police. -[info][2025/05/02 16:27:36]: campers requested all jobs. -[info][2025/05/02 16:27:39]: campers requested job mechanic. -[info][2025/05/02 16:27:53]: campers requested all jobs. -[info][2025/05/02 16:27:56]: campers requested job police. -[info][2025/05/02 16:28:03]: nordi requested save item weapon_pistolxm3. -[info][2025/05/02 16:28:03]: nordi successfully saved item weapon_pistolxm3. -[info][2025/05/02 16:28:05]: nordi requested all items. -[info][2025/05/02 16:28:11]: nordi requested item weapon_specialcarbine. -[info][2025/05/02 16:28:13]: nordi requested all items. -[info][2025/05/02 16:28:14]: nordi requested item weapon_specialcarbine_mk2. -[info][2025/05/02 16:28:21]: nordi uplaoded item image highteamspecialcarbinemk2.png. -[info][2025/05/02 16:28:23]: nordi requested save item weapon_specialcarbine_mk2. -[info][2025/05/02 16:28:23]: nordi successfully saved item weapon_specialcarbine_mk2. -[info][2025/05/02 16:28:27]: nordi requested save item weapon_specialcarbine_mk2. -[info][2025/05/02 16:28:27]: nordi successfully saved item weapon_specialcarbine_mk2. -[info][2025/05/02 16:28:29]: nordi requested all items. -[info][2025/05/02 16:29:51]: campers requested save job police. -[info][2025/05/02 16:29:51]: campers successfully saved job police. -[info][2025/05/02 16:29:55]: campers requested all jobs. -[info][2025/05/02 16:29:59]: campers requested job police. -[info][2025/05/02 16:30:34]: campers requested all jobs. -[info][2025/05/02 16:30:40]: campers requested job police. -[info][2025/05/02 16:30:43]: campers requested all jobs. -[info][2025/05/02 16:30:45]: campers requested job ambulance. -[info][2025/05/02 16:30:48]: campers requested all jobs. -[info][2025/05/02 16:30:49]: campers requested job police. -[info][2025/05/02 16:31:17]: campers requested save job police. -[info][2025/05/02 16:31:17]: campers successfully saved job police. -[info][2025/05/02 17:04:56]: nordi requested all items. -[info][2025/05/02 17:05:02]: nordi requested item weapon_smg_mk2. -[info][2025/05/02 17:05:04]: nordi uplaoded item image highteamsmgmk2-removebg-preview.png. -[info][2025/05/02 17:05:07]: nordi requested save item weapon_smg_mk2. -[info][2025/05/02 17:05:07]: nordi successfully saved item weapon_smg_mk2. -[info][2025/05/02 17:05:09]: nordi requested all items. -[info][2025/05/02 17:05:11]: nordi requested item weapon_smg. -[info][2025/05/02 22:13:00]: campers requested all jobs. -[info][2025/05/02 22:57:09]: campers requested all items. -[info][2025/05/03 05:28:19]: nordi requested all items. -[info][2025/05/03 07:12:13]: nordi requested all items. -[info][2025/05/03 07:12:16]: nordi requested item list. -[info][2025/05/03 07:13:25]: nordi uplaoded item image oropax.png. -[info][2025/05/03 07:13:29]: nordi requested create item ohrstopsel. -[info][2025/05/03 07:13:29]: nordi successfully created item ohrstopsel. -[info][2025/05/03 07:13:30]: nordi requested all items. -[info][2025/05/03 07:13:36]: nordi requested item ohrstopsel. -[info][2025/05/03 07:13:39]: nordi requested all items. -[info][2025/05/03 07:13:44]: nordi requested item pralinen. -[info][2025/05/03 07:16:11]: nordi requested all items. -[info][2025/05/03 07:16:15]: nordi requested item donut. -[info][2025/05/03 07:18:06]: nordi requested all items. -[info][2025/05/03 07:18:08]: nordi requested item list. -[info][2025/05/03 07:19:05]: nordi requested create item lighter. -[info][2025/05/03 07:19:08]: nordi requested all items. -[info][2025/05/03 07:19:14]: nordi requested item lighter. -[info][2025/05/03 07:19:42]: nordi requested save item lighter. -[info][2025/05/03 07:19:42]: nordi successfully saved item lighter. -[info][2025/05/03 16:57:18]: nordi requested all jobs. -[info][2025/05/03 16:57:20]: nordi requested job police. -[info][2025/05/03 19:42:14]: nordi requested all items. -[info][2025/05/03 19:43:38]: nordi requested item weapon_advancedrifle. -[info][2025/05/03 19:43:41]: nordi requested all items. -[info][2025/05/03 19:46:54]: nordi requested item weapon_machete. -[info][2025/05/03 19:47:25]: nordi uplaoded item image machete.png. -[info][2025/05/03 19:47:30]: nordi requested save item weapon_machete. -[info][2025/05/03 19:47:30]: nordi successfully saved item weapon_machete. -[info][2025/05/03 19:50:29]: nordi requested save item weapon_machete. -[info][2025/05/03 19:50:29]: nordi successfully saved item weapon_machete. -[info][2025/05/03 19:50:31]: nordi requested all items. -[info][2025/05/03 19:50:37]: nordi requested item weapon_pistol50. -[info][2025/05/03 23:10:20]: campers requested all jobs. -[info][2025/05/03 23:10:24]: campers requested job police. -[info][2025/05/03 23:10:26]: campers requested all jobs. -[info][2025/05/04 02:55:45]: nordi requested item weapon_pistol50. -[info][2025/05/04 03:35:26]: nordi requested all items. -[info][2025/05/04 03:35:59]: nordi requested all items. -[info][2025/05/04 03:36:01]: nordi requested item list. -[info][2025/05/04 03:39:21]: nordi uplaoded item image halbes_handel.png. -[info][2025/05/04 03:39:23]: nordi requested create item halbes_haendel. -[info][2025/05/04 03:39:23]: nordi successfully created item halbes_haendel. -[info][2025/05/04 03:39:24]: nordi requested all items. -[info][2025/05/04 03:39:31]: nordi requested item list. -[info][2025/05/04 03:40:06]: nordi uplaoded item image pet_treats.png. -[info][2025/05/04 03:40:08]: nordi requested create item tier_leckerlis. -[info][2025/05/04 03:40:08]: nordi successfully created item tier_leckerlis. -[info][2025/05/04 03:40:08]: nordi requested all items. -[info][2025/05/04 03:40:21]: nordi requested item beer. -[info][2025/05/04 03:40:44]: nordi requested save item beer. -[info][2025/05/04 03:40:44]: nordi successfully saved item beer. -[info][2025/05/04 03:40:50]: nordi requested save item beer. -[info][2025/05/04 03:40:50]: nordi successfully saved item beer. -[info][2025/05/04 03:40:52]: nordi requested all items. -[info][2025/05/04 03:41:04]: nordi requested item vodka. -[info][2025/05/04 03:41:51]: nordi requested save item vodka. -[info][2025/05/04 03:41:51]: nordi successfully saved item vodka. -[info][2025/05/04 03:41:54]: nordi requested all items. -[info][2025/05/04 03:42:03]: nordi requested item whiskey. -[info][2025/05/04 03:42:11]: nordi requested all items. -[info][2025/05/04 03:42:19]: nordi requested item tablet. -[info][2025/05/04 03:42:21]: nordi requested all items. -[info][2025/05/04 03:42:24]: nordi requested item sprunk_flasche. -[info][2025/05/04 03:42:26]: nordi requested all items. -[info][2025/05/04 03:43:27]: nordi requested item tier_leckerlis. -[info][2025/05/04 03:43:34]: nordi requested save item tier_leckerlis. -[info][2025/05/04 03:43:34]: nordi successfully saved item tier_leckerlis. -[info][2025/05/04 03:43:36]: nordi requested all items. -[info][2025/05/04 03:43:41]: nordi requested item list. -[info][2025/05/04 03:44:26]: nordi uplaoded item image redwoodlights.png. -[info][2025/05/04 03:44:30]: nordi requested create item redwood_light. -[info][2025/05/04 03:44:30]: nordi successfully created item redwood_light. -[info][2025/05/04 03:44:31]: nordi requested all items. -[info][2025/05/04 03:44:59]: nordi requested item list. -[info][2025/05/04 03:46:07]: nordi uplaoded item image Pussycat-GTAV-Cover1.png. -[info][2025/05/04 03:46:09]: nordi requested create item pussycat. -[info][2025/05/04 03:46:09]: nordi successfully created item pussycat. -[info][2025/05/04 03:46:10]: nordi requested all items. -[info][2025/05/04 03:46:15]: nordi requested item pussycat. -[info][2025/05/04 03:48:38]: nordi requested all items. -[info][2025/05/04 03:48:42]: nordi requested item list. -[info][2025/05/04 03:51:52]: nordi uplaoded item image gleitgel.png. -[info][2025/05/04 03:51:54]: nordi requested create item gleitgel. -[info][2025/05/04 03:51:54]: nordi successfully created item gleitgel. -[info][2025/05/04 03:51:54]: nordi requested all items. -[info][2025/05/04 03:53:43]: nordi requested item gleitgel. -[info][2025/05/04 03:53:54]: nordi requested save item gleitgel. -[info][2025/05/04 03:53:54]: nordi successfully saved item gleitgel. -[info][2025/05/04 03:53:56]: nordi requested all items. -[info][2025/05/04 03:54:07]: nordi requested item list. -[info][2025/05/04 03:54:35]: nordi uplaoded item image dildo.png. -[info][2025/05/04 03:54:38]: nordi requested create item dildo. -[info][2025/05/04 03:54:38]: nordi successfully created item dildo. -[info][2025/05/04 03:54:38]: nordi requested all items. -[info][2025/05/04 03:55:33]: nordi requested item list. -[info][2025/05/04 03:56:10]: nordi uplaoded item image kaugummi.png. -[info][2025/05/04 03:56:41]: nordi requested create item kaugummi. -[info][2025/05/04 03:56:41]: nordi successfully created item kaugummi. -[info][2025/05/04 03:56:42]: nordi requested all items. -[info][2025/05/04 03:58:07]: nordi requested item gleitgel. -[info][2025/05/04 03:58:09]: nordi requested all items. -[info][2025/05/04 03:58:15]: nordi requested item mettbroetchen. -[info][2025/05/04 03:58:22]: nordi requested save item mettbroetchen. -[info][2025/05/04 03:58:22]: nordi successfully saved item mettbroetchen. -[info][2025/05/04 03:58:24]: nordi requested all items. -[info][2025/05/04 03:58:28]: nordi requested item billokaffee. -[info][2025/05/04 03:58:37]: nordi requested all items. -[info][2025/05/04 03:59:26]: nordi requested item hundefutter. -[info][2025/05/04 03:59:28]: nordi requested all items. -[info][2025/05/04 03:59:33]: nordi requested item list. -[info][2025/05/04 03:59:53]: nordi uplaoded item image catfood.png. -[info][2025/05/04 04:00:00]: nordi requested create item katzenfutter. -[info][2025/05/04 04:00:00]: nordi successfully created item katzenfutter. -[info][2025/05/04 04:00:01]: nordi requested all items. -[info][2025/05/04 04:01:57]: nordi requested item weapon_sawnoffshotgun. -[info][2025/05/04 04:01:58]: nordi requested all items. -[info][2025/05/04 04:02:02]: nordi requested item parachute. -[info][2025/05/04 04:02:03]: nordi requested all items. -[info][2025/05/04 04:02:05]: nordi requested item elastic_bandage. -[info][2025/05/04 04:02:07]: nordi requested all items. -[info][2025/05/04 04:02:10]: nordi requested item sprunk_zero_dose. -[info][2025/05/04 04:02:12]: nordi requested all items. -[info][2025/05/04 04:02:14]: nordi requested item binoculars. -[info][2025/05/04 04:02:16]: nordi requested all items. -[info][2025/05/04 04:02:19]: nordi requested item weapon_specialcarbine. -[info][2025/05/04 04:02:21]: nordi requested all items. -[info][2025/05/04 04:02:45]: nordi requested item binoculars. -[info][2025/05/04 04:03:22]: nordi requested all items. -[info][2025/05/04 04:03:32]: nordi requested item binoculars. -[info][2025/05/04 04:03:35]: nordi requested save item binoculars. -[info][2025/05/04 04:03:35]: nordi successfully saved item binoculars. -[info][2025/05/04 04:03:38]: nordi requested all items. -[info][2025/05/04 04:03:45]: nordi requested item pistol_ammo. -[info][2025/05/04 04:04:20]: nordi requested save item pistol_ammo. -[info][2025/05/04 04:04:20]: nordi successfully saved item pistol_ammo. -[info][2025/05/04 04:04:24]: nordi requested all items. -[info][2025/05/04 04:04:32]: nordi requested item shotgun_ammo. -[info][2025/05/04 04:04:48]: nordi requested save item shotgun_ammo. -[info][2025/05/04 04:04:49]: nordi successfully saved item shotgun_ammo. -[info][2025/05/04 04:05:03]: nordi requested save item shotgun_ammo. -[info][2025/05/04 04:05:03]: nordi successfully saved item shotgun_ammo. -[info][2025/05/04 04:05:05]: nordi requested all items. -[info][2025/05/04 04:05:11]: nordi requested item rifle_ammo. -[info][2025/05/04 04:06:56]: nordi uplaoded item image gewehrmunition.png. -[info][2025/05/04 04:07:02]: nordi requested save item rifle_ammo. -[info][2025/05/04 04:07:02]: nordi successfully saved item rifle_ammo. -[info][2025/05/04 04:07:05]: nordi requested all items. -[info][2025/05/04 04:07:08]: nordi requested item shotgun_ammo. -[info][2025/05/04 04:07:10]: nordi requested all items. -[info][2025/05/04 04:07:12]: nordi requested item smg_ammo. -[info][2025/05/04 04:07:15]: nordi requested all items. -[info][2025/05/04 04:07:18]: nordi requested item snp_ammo. -[info][2025/05/04 04:07:26]: nordi requested save item snp_ammo. -[info][2025/05/04 04:07:26]: nordi successfully saved item snp_ammo. -[info][2025/05/04 04:12:56]: nordi uplaoded item image snipermuni.png. -[info][2025/05/04 04:12:58]: nordi requested save item snp_ammo. -[info][2025/05/04 04:12:58]: nordi successfully saved item snp_ammo. -[info][2025/05/04 04:13:01]: nordi requested all items. -[info][2025/05/04 04:13:06]: nordi requested item rifle_ammo. -[info][2025/05/04 04:13:11]: nordi uplaoded item image gewehrmuni.png. -[info][2025/05/04 04:13:19]: nordi requested save item rifle_ammo. -[info][2025/05/04 04:13:19]: nordi successfully saved item rifle_ammo. -[info][2025/05/04 04:13:22]: nordi requested all items. -[info][2025/05/04 04:13:24]: nordi requested item pistol_ammo. -[info][2025/05/04 04:13:28]: nordi uplaoded item image pistolenmuni.png. -[info][2025/05/04 04:13:31]: nordi requested save item pistol_ammo. -[info][2025/05/04 04:13:31]: nordi successfully saved item pistol_ammo. -[info][2025/05/04 04:14:43]: nordi requested all items. -[info][2025/05/04 04:14:45]: nordi requested item smg_ammo. -[info][2025/05/04 04:15:48]: nordi uplaoded item image smgmuni.png. -[info][2025/05/04 04:15:50]: nordi requested save item smg_ammo. -[info][2025/05/04 04:15:50]: nordi successfully saved item smg_ammo. -[info][2025/05/04 04:15:53]: nordi requested all items. -[info][2025/05/04 04:15:58]: nordi requested item smg_ammo. -[info][2025/05/04 04:15:59]: nordi requested all items. -[info][2025/05/04 04:16:01]: nordi requested item rifle_ammo. -[info][2025/05/04 04:19:40]: nordi requested all items. -[info][2025/05/04 04:19:44]: nordi requested item smg_ammo. -[info][2025/05/04 04:20:02]: nordi requested save item smg_ammo. -[info][2025/05/04 04:20:02]: nordi successfully saved item smg_ammo. -[info][2025/05/04 04:20:04]: nordi requested all items. -[info][2025/05/04 04:20:11]: nordi requested item shotgun_ammo. -[info][2025/05/04 04:20:13]: nordi uplaoded item image shotgunmuni.png. -[info][2025/05/04 04:20:15]: nordi requested save item shotgun_ammo. -[info][2025/05/04 04:20:15]: nordi successfully saved item shotgun_ammo. -[info][2025/05/04 04:20:17]: nordi requested all items. -[info][2025/05/04 04:20:24]: nordi requested item pistol_ammo. -[info][2025/05/04 04:20:29]: nordi requested all items. -[info][2025/05/04 04:20:31]: nordi requested item rifle_ammo. -[info][2025/05/04 04:20:33]: nordi requested all items. -[info][2025/05/04 17:55:27]: nordi requested all items. -[info][2025/05/04 17:55:30]: nordi requested item weed_ak47_seed. -[info][2025/05/04 17:55:32]: nordi requested all items. -[info][2025/05/04 17:55:40]: nordi requested item quickclot. -[info][2025/05/04 17:55:44]: nordi requested all items. -[info][2025/05/04 17:55:46]: nordi requested item weapon_specialcarbine. -[info][2025/05/04 17:55:49]: nordi requested all items. -[info][2025/05/04 17:55:51]: nordi requested item list. -[info][2025/05/04 17:57:03]: nordi uplaoded item image spikestripes.png. -[info][2025/05/04 17:57:05]: nordi requested create item spikestrips. -[info][2025/05/04 17:57:05]: nordi successfully created item spikestrips. -[info][2025/05/04 17:57:06]: nordi requested all items. -[info][2025/05/04 17:58:14]: nordi requested item spikestrips. -[info][2025/05/04 18:35:13]: nordi requested all items. -[info][2025/05/04 18:35:17]: nordi requested item coffee. -[info][2025/05/04 20:07:05]: nordi requested all items. -[info][2025/05/04 20:07:18]: nordi requested item salsa_nachos. -[info][2025/05/04 20:07:20]: nordi requested all items. -[info][2025/05/04 20:28:16]: nordi requested all items. -[info][2025/05/04 21:19:42]: nordi requested all items. -[info][2025/05/04 21:20:33]: nordi requested item defibrillator. -[info][2025/05/04 21:20:55]: nordi requested all items. -[info][2025/05/05 04:30:39]: nordi requested all items. -[info][2025/05/05 04:46:57]: nordi requested item salsa_nachos. -[info][2025/05/05 04:46:59]: nordi requested all items. -[info][2025/05/05 15:29:54]: max requested all jobs. -[info][2025/05/05 18:11:51]: max requested all jobs. -[info][2025/05/05 18:18:34]: max requested create job skyline. -[info][2025/05/05 18:18:34]: max successfully created item undefined. -[info][2025/05/05 18:18:34]: max requested all jobs. -[info][2025/05/05 18:18:39]: max requested job skyline. -[info][2025/05/05 18:20:01]: max requested save job skyline. -[info][2025/05/05 18:20:01]: max successfully saved job skyline. -[info][2025/05/05 18:25:27]: max requested save job skyline. -[info][2025/05/05 18:25:27]: max successfully saved job skyline. -[info][2025/05/05 18:26:48]: max requested save job skyline. -[info][2025/05/05 18:26:48]: max successfully saved job skyline. -[info][2025/05/05 18:27:26]: max requested save job skyline. -[info][2025/05/05 18:27:26]: max successfully saved job skyline. -[info][2025/05/05 18:27:31]: max requested save job skyline. -[info][2025/05/05 18:27:31]: max successfully saved job skyline. -[info][2025/05/05 18:27:32]: max requested save job skyline. -[info][2025/05/05 18:27:32]: max successfully saved job skyline. -[info][2025/05/05 18:27:37]: max requested all items. -[info][2025/05/05 21:08:20]: nordi requested all jobs. -[info][2025/05/05 21:08:27]: campers requested all jobs. -[info][2025/05/05 21:09:12]: nordi requested create job ammu. -[info][2025/05/05 21:09:12]: nordi successfully created item undefined. -[info][2025/05/05 21:09:13]: nordi requested all jobs. -[info][2025/05/05 21:09:21]: nordi requested job ammu. -[info][2025/05/05 21:09:44]: nordi requested save job ammu. -[info][2025/05/05 21:09:44]: nordi successfully saved job ammu. -[info][2025/05/05 21:10:05]: nordi requested save job ammu. -[info][2025/05/05 21:10:05]: nordi successfully saved job ammu. -[info][2025/05/05 21:10:14]: nordi requested all jobs. -[info][2025/05/05 21:10:20]: nordi requested job police. -[info][2025/05/05 21:10:24]: nordi requested save job police. -[info][2025/05/05 21:10:24]: nordi successfully saved job police. -[info][2025/05/05 21:10:29]: nordi requested save job police. -[info][2025/05/05 21:10:29]: nordi successfully saved job police. -[info][2025/05/05 21:10:31]: nordi requested all jobs. -[info][2025/05/05 21:10:33]: nordi requested job ammu. -[info][2025/05/05 21:10:35]: nordi requested save job ammu. -[info][2025/05/05 21:10:35]: nordi successfully saved job ammu. -[info][2025/05/05 23:12:30]: campers requested all jobs. -[info][2025/05/05 23:12:36]: campers requested job ammu. -[info][2025/05/06 19:49:09]: tim requested all items. -[info][2025/05/06 19:49:13]: tim requested all jobs. -[info][2025/05/06 19:49:15]: tim requested all gangs. -[info][2025/05/06 21:24:34]: nordi requested all items. -[info][2025/05/06 22:09:08]: nordi requested all items. -[info][2025/05/06 22:09:13]: nordi requested item weapon_revolver. -[info][2025/05/06 22:09:35]: nordi requested save item weapon_revolver. -[info][2025/05/06 22:09:35]: nordi successfully saved item weapon_revolver. -[info][2025/05/06 22:09:41]: nordi requested all items. -[info][2025/05/06 22:09:49]: nordi requested item weapon_doubleaction. -[info][2025/05/06 22:13:03]: nordi uplaoded item image revolver2.png. -[info][2025/05/06 22:13:05]: nordi requested save item weapon_doubleaction. -[info][2025/05/06 22:13:05]: nordi successfully saved item weapon_doubleaction. -[info][2025/05/06 22:13:10]: nordi requested save item weapon_doubleaction. -[info][2025/05/06 22:13:10]: nordi successfully saved item weapon_doubleaction. -[info][2025/05/06 22:13:25]: nordi requested save item weapon_doubleaction. -[info][2025/05/06 22:13:26]: nordi successfully saved item weapon_doubleaction. -[info][2025/05/06 22:15:36]: nordi requested save item weapon_doubleaction. -[info][2025/05/06 22:15:36]: nordi successfully saved item weapon_doubleaction. -[info][2025/05/06 22:18:25]: nordi requested all items. -[info][2025/05/06 22:18:40]: nordi requested all items. -[info][2025/05/06 22:18:45]: nordi requested item weapon_doubleaction. -[info][2025/05/06 23:02:36]: nordi requested all jobs. -[info][2025/05/07 19:31:41]: max requested all jobs. -[info][2025/05/07 20:20:20]: nordi requested all items. -[info][2025/05/07 20:20:26]: nordi requested item sprunk_dose. -[info][2025/05/07 20:20:46]: nordi requested all items. -[info][2025/05/07 20:20:50]: nordi requested item ecola_dose. -[info][2025/05/07 20:24:22]: nordi requested all items. -[info][2025/05/07 20:24:28]: nordi requested item spazi. -[info][2025/05/07 20:25:31]: nordi requested all items. -[info][2025/05/07 20:25:36]: nordi requested item hotdog_deluxe. -[info][2025/05/07 20:27:40]: nordi requested all items. -[info][2025/05/07 20:27:44]: nordi requested item sandwich. -[info][2025/05/07 20:28:33]: nordi requested all items. -[info][2025/05/07 20:28:37]: nordi requested item cheese_burger. -[info][2025/05/07 20:29:08]: nordi requested all items. -[info][2025/05/07 20:29:18]: nordi requested item spazi_limo. -[info][2025/05/07 20:29:50]: nordi requested all items. -[info][2025/05/07 20:29:56]: nordi requested item slushi. -[info][2025/05/07 20:32:04]: nordi requested all items. -[info][2025/05/07 20:32:12]: nordi requested item bubble_tea. -[info][2025/05/07 20:32:35]: nordi requested all items. -[info][2025/05/07 20:35:15]: nordi requested all items. -[info][2025/05/07 20:36:40]: max requested all items. -[info][2025/05/07 20:36:43]: max requested all jobs. -[info][2025/05/07 20:37:48]: max requested all jobs. -[info][2025/05/07 21:04:58]: max requested all jobs. -[info][2025/05/07 21:05:01]: max requested job mechanic. -[info][2025/05/07 22:53:50]: nordi requested all items. -[info][2025/05/07 22:54:31]: nordi requested item list. -[info][2025/05/07 22:57:44]: nordi uplaoded item image screenshot_558-removebg-preview.png. -[info][2025/05/07 22:57:46]: nordi requested create item hei_prop_wall_alarm_blue. -[info][2025/05/07 22:57:46]: nordi successfully created item hei_prop_wall_alarm_blue. -[info][2025/05/07 22:57:47]: nordi requested all items. -[info][2025/05/07 23:06:49]: nordi requested all items. -[info][2025/05/07 23:06:54]: nordi requested item hei_prop_wall_alarm_blue. -[info][2025/05/07 23:11:10]: nordi requested delete item hei_prop_wall_alarm_blue. -[info][2025/05/07 23:11:11]: nordi successfully deleted item hei_prop_wall_alarm_blue. -[info][2025/05/07 23:11:11]: nordi requested all items. -[info][2025/05/07 23:11:13]: nordi requested item list. -[info][2025/05/07 23:12:05]: nordi requested create item deployable_light. -[info][2025/05/07 23:12:05]: nordi successfully created item deployable_light. -[info][2025/05/07 23:12:05]: nordi requested all items. -[info][2025/05/07 23:14:10]: campers requested all jobs. -[info][2025/05/07 23:14:13]: campers requested job police. -[info][2025/05/07 23:19:05]: nordi requested item deployable_light. -[info][2025/05/07 23:19:08]: nordi uplaoded item image rundumleuchte.png. -[info][2025/05/07 23:19:09]: nordi requested save item deployable_light. -[info][2025/05/07 23:19:09]: nordi successfully saved item deployable_light. -[info][2025/05/07 23:29:00]: nordi requested all items. -[info][2025/05/07 23:29:07]: nordi requested item tims_instant_nudeln. -[info][2025/05/07 23:31:48]: nordi requested all items. -[info][2025/05/08 21:41:29]: nordi requested all items. -[info][2025/05/08 21:45:06]: nordi requested all items. -[info][2025/05/08 21:45:12]: nordi requested item tilidin. -[info][2025/05/08 21:51:05]: nordi requested all items. -[info][2025/05/08 21:51:08]: nordi requested item tilidin. -[info][2025/05/08 21:51:50]: nordi requested save item tilidin. -[info][2025/05/08 21:51:50]: nordi successfully saved item tilidin. -[info][2025/05/08 22:55:36]: campers requested all jobs. -[info][2025/05/08 22:55:41]: campers requested job ammu. -[info][2025/05/08 22:55:44]: campers requested all jobs. -[info][2025/05/09 00:39:24]: campers requested all jobs. -[info][2025/05/09 00:39:28]: campers requested job police. -[info][2025/05/09 00:40:13]: campers requested all jobs. -[info][2025/05/09 00:42:13]: campers requested all jobs. -[info][2025/05/09 00:42:15]: campers requested job police. -[info][2025/05/09 20:04:17]: max requested all jobs. -[info][2025/05/09 22:22:52]: max requested all jobs. -[info][2025/05/09 22:33:38]: nordi requested all items. -[info][2025/05/09 22:36:53]: nordi requested item list. -[info][2025/05/09 22:38:48]: nordi uplaoded item image lighting_controller.png. -[info][2025/05/09 22:38:50]: nordi requested create item lighting_controller. -[info][2025/05/09 22:38:50]: nordi successfully created item lighting_controller. -[info][2025/05/09 22:38:51]: nordi requested all items. -[info][2025/05/09 23:01:02]: nordi requested all items. -[info][2025/05/09 23:01:16]: nordi requested all jobs. -[info][2025/05/10 03:04:03]: nordi requested all items. -[info][2025/05/10 18:11:01]: nordi requested all jobs. -[info][2025/05/10 18:15:35]: nordi requested all jobs. -[info][2025/05/10 22:29:18]: nordi requested all jobs. -[info][2025/05/10 22:30:16]: nordi requested create job cinema. -[info][2025/05/10 22:30:16]: nordi successfully created item undefined. -[info][2025/05/10 22:30:16]: nordi requested all jobs. -[info][2025/05/11 19:24:28]: nordi requested all jobs. -[info][2025/05/11 20:31:08]: nordi requested all items. -[info][2025/05/11 20:31:14]: nordi requested item rolling_paper. -[info][2025/05/12 01:19:09]: nordi requested item rolling_paper. -[info][2025/05/12 17:24:54]: nordi requested item rolling_paper. -[info][2025/05/13 01:12:38]: max requested all jobs. -[info][2025/05/13 01:12:42]: max requested job mechanic. -[info][2025/05/13 01:26:18]: max requested all items. -[info][2025/05/13 01:26:22]: max requested item list. -[info][2025/05/13 01:28:40]: max requested create item mechanic_tablet. -[info][2025/05/13 01:28:40]: max successfully created item mechanic_tablet. -[info][2025/05/13 01:28:41]: max requested all items. -[info][2025/05/13 01:30:55]: max requested all items. -[info][2025/05/13 01:31:15]: max requested item mechanic_tablet. -[info][2025/05/13 01:35:44]: max uplaoded item image mechanic_tablet.png. -[info][2025/05/13 01:35:47]: max requested save item mechanic_tablet. -[info][2025/05/13 01:35:47]: max successfully saved item mechanic_tablet. -[info][2025/05/13 22:47:41]: campers requested all jobs. -[info][2025/05/13 22:47:45]: campers requested job mechanic. -[info][2025/05/13 22:48:25]: nordi requested all jobs. -[info][2025/05/13 22:48:28]: nordi requested job police. -[info][2025/05/13 22:48:37]: campers requested all jobs. -[info][2025/05/13 22:48:42]: campers requested job police. -[info][2025/05/13 22:49:06]: nordi requested all jobs. -[info][2025/05/13 22:49:08]: nordi requested job police. -[info][2025/05/13 22:51:06]: campers requested all jobs. -[info][2025/05/13 22:51:09]: campers requested job police. -[info][2025/05/13 22:51:10]: campers requested all jobs. -[info][2025/05/13 22:51:13]: campers requested job mechanic. -[info][2025/05/13 22:53:43]: campers requested all jobs. -[info][2025/05/13 23:06:33]: max requested all jobs. -[info][2025/05/13 23:06:39]: max requested all jobs. -[info][2025/05/13 23:06:44]: max requested job mechanic. -[info][2025/05/14 00:12:42]: campers requested all jobs. -[info][2025/05/14 00:12:45]: campers requested job mechanic. -[info][2025/05/14 00:13:01]: max requested all jobs. -[info][2025/05/14 00:13:08]: max requested job mechanic. -[info][2025/05/14 00:13:14]: max requested save job mechanic. -[info][2025/05/14 00:13:14]: max successfully saved job mechanic. -[info][2025/05/14 00:13:42]: campers requested all jobs. -[info][2025/05/14 00:13:46]: campers requested all gangs. -[info][2025/05/14 00:19:36]: campers requested all jobs. -[info][2025/05/14 00:23:55]: max requested all gangs. -[info][2025/05/14 00:23:57]: max requested all jobs. -[info][2025/05/14 00:34:39]: max requested all jobs. -[info][2025/05/14 00:34:45]: max requested job mechanic. -[info][2025/05/14 00:34:49]: max requested save job mechanic. -[info][2025/05/14 00:34:49]: max successfully saved job mechanic. -[info][2025/05/14 00:42:21]: nordi requested all jobs. -[info][2025/05/14 00:42:23]: nordi requested job police. -[info][2025/05/14 00:42:30]: nordi requested save job police. -[info][2025/05/14 00:42:30]: nordi successfully saved job police. -[info][2025/05/14 00:48:31]: campers requested all jobs. -[info][2025/05/14 00:48:36]: campers requested job police. -[info][2025/05/14 00:48:52]: campers requested all jobs. -[info][2025/05/14 00:48:57]: campers requested job cinema. -[info][2025/05/14 00:48:58]: campers requested all jobs. -[info][2025/05/14 00:49:09]: campers requested job skyline. -[info][2025/05/14 00:49:13]: campers requested all jobs. -[info][2025/05/15 08:09:51]: nordi requested all items. -[info][2025/05/15 21:31:35]: nordi requested all items. -[info][2025/05/15 23:03:59]: nordi requested all items. -[info][2025/05/15 23:04:04]: nordi requested item weapon_snspistol_mk2. -[info][2025/05/15 23:40:39]: campers requested all items. -[info][2025/05/16 00:15:56]: campers requested all items. -[info][2025/05/16 00:17:36]: campers requested item campers_fuel. -[info][2025/05/16 00:18:47]: campers requested all items. -[info][2025/05/16 00:18:55]: campers requested item water_bottle. -[info][2025/05/16 00:19:30]: campers requested all items. -[info][2025/05/16 01:15:29]: campers requested all items. -[info][2025/05/16 01:15:36]: campers requested item weapons_route. -[info][2025/05/16 01:16:00]: campers requested all items. -[info][2025/05/16 01:16:02]: campers requested item list. -[info][2025/05/16 01:16:15]: campers uplaoded item image weed_route.png. -[info][2025/05/16 01:17:08]: campers requested create item weed_route. -[info][2025/05/16 01:17:08]: campers successfully created item weed_route. -[info][2025/05/16 01:17:09]: campers requested all items. -[info][2025/05/16 01:17:36]: campers requested item weapons_route. -[info][2025/05/16 01:17:45]: campers requested all items. -[info][2025/05/16 01:17:46]: campers requested item list. -[info][2025/05/16 01:17:51]: campers uplaoded item image lean_route.png. -[info][2025/05/16 01:18:15]: campers requested create item lean_route. -[info][2025/05/16 01:18:15]: campers successfully created item lean_route. -[info][2025/05/16 01:18:15]: campers requested all items. -[info][2025/05/16 01:18:44]: campers requested item list. -[info][2025/05/16 01:18:48]: campers uplaoded item image meth_route.png. -[info][2025/05/16 01:19:11]: campers requested create item meth_route. -[info][2025/05/16 01:19:11]: campers successfully created item meth_route. -[info][2025/05/16 01:19:12]: campers requested all items. -[info][2025/05/16 01:20:06]: campers requested item list. -[info][2025/05/16 01:20:30]: campers uplaoded item image heroin_route.png. -[info][2025/05/16 01:20:36]: campers requested create item heroin_route. -[info][2025/05/16 01:20:36]: campers successfully created item heroin_route. -[info][2025/05/16 01:20:36]: campers requested all items. -[info][2025/05/16 01:20:41]: campers requested item list. -[info][2025/05/16 01:21:15]: campers uplaoded item image lsd_route.png. -[info][2025/05/16 01:21:36]: campers requested create item lsd_route. -[info][2025/05/16 01:21:37]: campers successfully created item lsd_route. -[info][2025/05/16 01:21:37]: campers requested all items. -[info][2025/05/16 01:22:54]: campers requested item list. -[info][2025/05/16 01:23:19]: campers requested all items. -[info][2025/05/16 01:23:21]: campers requested item weapons_route. -[info][2025/05/16 01:23:29]: campers requested all items. -[info][2025/05/16 01:23:30]: campers requested item list. -[info][2025/05/16 01:23:43]: campers uplaoded item image ammunition_route.png. -[info][2025/05/16 01:24:12]: campers requested create item ammunition_route. -[info][2025/05/16 01:24:12]: campers successfully created item ammunition_route. -[info][2025/05/16 01:24:12]: campers requested all items. -[info][2025/05/16 01:24:43]: campers requested item list. -[info][2025/05/16 01:25:15]: campers uplaoded item image blackmoney_route.png. -[info][2025/05/16 01:25:20]: campers requested create item blackmoney_route. -[info][2025/05/16 01:25:21]: campers successfully created item blackmoney_route. -[info][2025/05/16 01:25:21]: campers requested all items. -[info][2025/05/16 02:06:06]: max requested all jobs. -[info][2025/05/16 10:27:16]: nordi requested all items. -[info][2025/05/17 18:41:24]: max requested all items. -[info][2025/05/17 18:42:16]: max requested all items. -[info][2025/05/17 18:43:20]: max requested item mechanic_tablet. -[info][2025/05/17 18:45:15]: max requested save item mechanic_tablet. -[info][2025/05/17 18:45:15]: max successfully saved item mechanic_tablet. -[info][2025/05/17 18:47:26]: max requested save item mechanic_tablet. -[info][2025/05/17 18:47:26]: max successfully saved item mechanic_tablet. -[info][2025/05/17 18:47:29]: max requested all items. -[info][2025/05/17 18:47:45]: max requested item lighting_controller. -[info][2025/05/17 22:12:16]: max requested all items. -[info][2025/05/17 22:12:29]: max requested item list. -[info][2025/05/17 22:16:54]: max requested create item engine_oil. -[info][2025/05/17 22:16:54]: max successfully created item engine_oil. -[info][2025/05/17 22:16:55]: max requested all items. -[info][2025/05/17 22:17:43]: max requested all items. -[info][2025/05/17 22:18:12]: max requested item engine_oil. -[info][2025/05/17 22:18:29]: max requested save item engine_oil. -[info][2025/05/17 22:18:30]: max successfully saved item engine_oil. -[info][2025/05/17 22:18:54]: max requested all items. -[info][2025/05/17 22:18:56]: max requested item list. -[info][2025/05/17 22:20:46]: max requested create item tyre_replacement. -[info][2025/05/17 22:20:46]: max successfully created item tyre_replacement. -[info][2025/05/17 22:20:47]: max requested all items. -[info][2025/05/17 22:21:01]: max requested item list. -[info][2025/05/17 22:22:30]: max requested create item clutch_replacement. -[info][2025/05/17 22:22:30]: max successfully created item clutch_replacement. -[info][2025/05/17 22:22:30]: max requested all items. -[info][2025/05/17 22:22:33]: max requested item list. -[info][2025/05/17 22:23:52]: max requested create item air_filter. -[info][2025/05/17 22:23:52]: max successfully created item air_filter. -[info][2025/05/17 22:23:53]: max requested all items. -[info][2025/05/17 22:23:56]: max requested item list. -[info][2025/05/17 22:24:39]: max requested create item spark_plug. -[info][2025/05/17 22:24:39]: max successfully created item spark_plug. -[info][2025/05/17 22:24:39]: max requested all items. -[info][2025/05/17 22:24:44]: max requested item list. -[info][2025/05/17 22:26:33]: max requested create item suspension_parts. -[info][2025/05/17 22:26:33]: max successfully created item suspension_parts. -[info][2025/05/17 22:26:34]: max requested all items. -[info][2025/05/17 22:27:19]: max requested item list. -[info][2025/05/17 22:28:48]: max requested create item brakepad_replacement. -[info][2025/05/17 22:28:48]: max successfully created item brakepad_replacement. -[info][2025/05/17 22:28:48]: max requested all items. -[info][2025/05/17 22:50:05]: max requested item list. -[info][2025/05/17 22:52:01]: max requested create item i4_engine. -[info][2025/05/17 22:52:01]: max successfully created item i4_engine. -[info][2025/05/17 22:52:01]: max requested all items. -[info][2025/05/17 22:52:04]: max requested item list. -[info][2025/05/17 22:52:22]: max requested create item v6_engine. -[info][2025/05/17 22:52:22]: max successfully created item v6_engine. -[info][2025/05/17 22:52:23]: max requested all items. -[info][2025/05/17 22:52:26]: max requested item list. -[info][2025/05/17 22:52:47]: max requested create item v8_engine. -[info][2025/05/17 22:52:47]: max successfully created item v8_engine. -[info][2025/05/17 22:52:47]: max requested all items. -[info][2025/05/17 22:52:51]: max requested item list. -[info][2025/05/17 22:54:48]: max requested create item v12_engine. -[info][2025/05/17 22:54:48]: max successfully created item v12_engine. -[info][2025/05/17 22:54:49]: max requested all items. -[info][2025/05/17 22:54:52]: max requested item list. -[info][2025/05/17 22:55:25]: max requested create item turbocharger. -[info][2025/05/17 22:55:25]: max successfully created item turbocharger. -[info][2025/05/17 22:55:25]: max requested all items. -[info][2025/05/17 22:55:32]: max requested item list. -[info][2025/05/17 22:56:28]: max requested create item ev_motor. -[info][2025/05/17 22:56:28]: max successfully created item ev_motor. -[info][2025/05/17 22:56:29]: max requested all items. -[info][2025/05/17 22:56:32]: max requested item list. -[info][2025/05/17 22:57:04]: max requested create item ev_battery. -[info][2025/05/17 22:57:04]: max successfully created item ev_battery. -[info][2025/05/17 22:57:05]: max requested all items. -[info][2025/05/17 22:57:10]: max requested item list. -[info][2025/05/17 22:57:50]: max requested create item ev_coolant. -[info][2025/05/17 22:57:50]: max successfully created item ev_coolant. -[info][2025/05/17 22:57:51]: max requested all items. -[info][2025/05/17 22:57:53]: max requested item list. -[info][2025/05/17 22:58:13]: max requested create item awd_drivetrain. -[info][2025/05/17 22:58:13]: max successfully created item awd_drivetrain. -[info][2025/05/17 22:58:14]: max requested all items. -[info][2025/05/17 22:58:18]: max requested item list. -[info][2025/05/17 22:58:37]: max requested create item rwd_drivetrain. -[info][2025/05/17 22:58:37]: max successfully created item rwd_drivetrain. -[info][2025/05/17 22:58:37]: max requested all items. -[info][2025/05/17 22:58:52]: max requested item list. -[info][2025/05/17 22:59:46]: max requested create item fwd_drivetrain. -[info][2025/05/17 22:59:46]: max successfully created item fwd_drivetrain. -[info][2025/05/17 22:59:47]: max requested all items. -[info][2025/05/17 23:00:02]: max requested item list. -[info][2025/05/17 23:00:53]: max requested create item slick_tyres. -[info][2025/05/17 23:00:53]: max successfully created item slick_tyres. -[info][2025/05/17 23:00:54]: max requested all items. -[info][2025/05/17 23:01:00]: max requested item list. -[info][2025/05/17 23:01:15]: max requested create item semi_slick_tyres. -[info][2025/05/17 23:01:15]: max successfully created item semi_slick_tyres. -[info][2025/05/17 23:01:16]: max requested all items. -[info][2025/05/17 23:01:22]: max requested item list. -[info][2025/05/17 23:01:42]: max requested create item offroad_tyres. -[info][2025/05/17 23:01:42]: max successfully created item offroad_tyres. -[info][2025/05/17 23:01:42]: max requested all items. -[info][2025/05/17 23:01:46]: max requested item list. -[info][2025/05/17 23:02:13]: max requested create item ceramic_brakes. -[info][2025/05/17 23:02:14]: max successfully created item ceramic_brakes. -[info][2025/05/17 23:02:14]: max requested all items. -[info][2025/05/17 23:02:17]: max requested item list. -[info][2025/05/17 23:02:32]: max requested create item drift_tuning_kit. -[info][2025/05/17 23:02:32]: max successfully created item drift_tuning_kit. -[info][2025/05/17 23:02:32]: max requested all items. -[info][2025/05/17 23:02:37]: max requested item list. -[info][2025/05/17 23:04:00]: max requested create item stancing_kit. -[info][2025/05/17 23:04:00]: max successfully created item stancing_kit. -[info][2025/05/17 23:04:01]: max requested all items. -[info][2025/05/17 23:04:08]: max requested item list. -[info][2025/05/17 23:04:23]: max requested create item cosmetic_part. -[info][2025/05/17 23:04:23]: max successfully created item cosmetic_part. -[info][2025/05/17 23:04:24]: max requested all items. -[info][2025/05/17 23:04:31]: max requested item list. -[info][2025/05/17 23:07:23]: max requested create item respray_kit. -[info][2025/05/17 23:07:23]: max successfully created item respray_kit. -[info][2025/05/17 23:07:23]: max requested all items. -[info][2025/05/17 23:09:01]: max requested item list. -[info][2025/05/17 23:10:13]: max requested create item vehicle_wheels. -[info][2025/05/17 23:10:13]: max successfully created item vehicle_wheels. -[info][2025/05/17 23:10:13]: max requested all items. -[info][2025/05/17 23:10:24]: max requested item list. -[info][2025/05/17 23:11:30]: max requested create item tyre_smoke_kit. -[info][2025/05/17 23:11:30]: max successfully created item tyre_smoke_kit. -[info][2025/05/17 23:11:31]: max requested all items. -[info][2025/05/17 23:11:37]: max requested item list. -[info][2025/05/17 23:12:14]: max requested create item bulletproof_tyres. -[info][2025/05/17 23:12:14]: max successfully created item bulletproof_tyres. -[info][2025/05/17 23:12:15]: max requested all items. -[info][2025/05/17 23:13:06]: max requested item list. -[info][2025/05/17 23:13:26]: max requested create item extras_kit. -[info][2025/05/17 23:13:26]: max successfully created item extras_kit. -[info][2025/05/17 23:13:26]: max requested all items. -[info][2025/05/17 23:13:31]: max requested item list. -[info][2025/05/17 23:13:54]: max requested create item nitrous_bottle. -[info][2025/05/17 23:13:54]: max successfully created item nitrous_bottle. -[info][2025/05/17 23:13:54]: max requested all items. -[info][2025/05/17 23:13:59]: max requested item list. -[info][2025/05/17 23:14:13]: max requested create item empty_nitrous_bottle. -[info][2025/05/17 23:14:13]: max successfully created item empty_nitrous_bottle. -[info][2025/05/17 23:14:14]: max requested all items. -[info][2025/05/17 23:15:10]: max requested item list. -[info][2025/05/17 23:15:28]: max requested create item nitrous_install_kit. -[info][2025/05/17 23:15:29]: max successfully created item nitrous_install_kit. -[info][2025/05/17 23:15:29]: max requested all items. -[info][2025/05/17 23:15:33]: max requested item list. -[info][2025/05/17 23:16:23]: max requested create item cleaning_kit. -[info][2025/05/17 23:16:24]: max successfully created item cleaning_kit. -[info][2025/05/17 23:16:24]: max requested all items. -[info][2025/05/17 23:16:28]: max requested item list. -[info][2025/05/17 23:19:02]: max requested create item repair_kit. -[info][2025/05/17 23:19:02]: max successfully created item repair_kit. -[info][2025/05/17 23:19:03]: max requested all items. -[info][2025/05/17 23:19:07]: max requested item list. -[info][2025/05/17 23:20:01]: max requested create item duct_tape. -[info][2025/05/17 23:20:02]: max successfully created item duct_tape. -[info][2025/05/17 23:20:02]: max requested all items. -[info][2025/05/17 23:20:09]: max requested item list. -[info][2025/05/17 23:20:27]: max requested create item performance_part. -[info][2025/05/17 23:20:27]: max successfully created item performance_part. -[info][2025/05/17 23:20:28]: max requested all items. -[info][2025/05/17 23:20:33]: max requested item list. -[info][2025/05/17 23:22:13]: max requested create item manual_gearbox. -[info][2025/05/17 23:22:13]: max successfully created item manual_gearbox. -[info][2025/05/17 23:22:13]: max requested all items. -[info][2025/05/17 23:28:41]: max requested all items. -[info][2025/05/17 23:29:19]: max requested item air_filter. -[info][2025/05/17 23:29:43]: max uplaoded item image air_filter.png. -[info][2025/05/17 23:29:47]: max requested save item air_filter. -[info][2025/05/17 23:29:47]: max successfully saved item air_filter. -[info][2025/05/17 23:29:58]: max requested all items. -[info][2025/05/17 23:30:06]: max requested item awd_drivetrain. -[info][2025/05/17 23:30:14]: max uplaoded item image awd_drivetrain.png. -[info][2025/05/17 23:30:16]: max requested save item awd_drivetrain. -[info][2025/05/17 23:30:16]: max successfully saved item awd_drivetrain. -[info][2025/05/17 23:30:21]: max requested all items. -[info][2025/05/17 23:30:23]: max requested all items. -[info][2025/05/17 23:30:43]: max requested item veh_brakes. -[info][2025/05/17 23:31:05]: max requested all items. -[info][2025/05/17 23:31:06]: max requested item list. -[info][2025/05/17 23:31:09]: max requested all items. -[info][2025/05/17 23:31:57]: max requested item brakepad_replacement. -[info][2025/05/17 23:32:06]: max uplaoded item image brakepad_replacement.png. -[info][2025/05/17 23:32:08]: max requested save item brakepad_replacement. -[info][2025/05/17 23:32:08]: max successfully saved item brakepad_replacement. -[info][2025/05/17 23:32:15]: max requested all items. -[info][2025/05/17 23:32:27]: max requested item bulletproof_tyres. -[info][2025/05/17 23:32:33]: max uplaoded item image bulletproof_tyres.png. -[info][2025/05/17 23:32:35]: max requested save item bulletproof_tyres. -[info][2025/05/17 23:32:36]: max successfully saved item bulletproof_tyres. -[info][2025/05/17 23:32:38]: max requested all items. -[info][2025/05/17 23:32:48]: max requested item ceramic_brakes. -[info][2025/05/17 23:32:56]: max uplaoded item image ceramic_brakes.png. -[info][2025/05/17 23:32:59]: max requested save item ceramic_brakes. -[info][2025/05/17 23:32:59]: max successfully saved item ceramic_brakes. -[info][2025/05/17 23:33:45]: max requested save item ceramic_brakes. -[info][2025/05/17 23:33:45]: max successfully saved item ceramic_brakes. -[info][2025/05/17 23:33:48]: max requested all items. -[info][2025/05/17 23:33:50]: max requested item list. -[info][2025/05/17 23:33:54]: max requested all items. -[info][2025/05/17 23:34:43]: max requested item cleaningkit. -[info][2025/05/17 23:34:51]: max requested save item cleaningkit. -[info][2025/05/17 23:34:51]: max successfully saved item cleaningkit. -[info][2025/05/17 23:34:55]: max requested all items. -[info][2025/05/17 23:35:19]: max requested item clutch_replacement. -[info][2025/05/17 23:35:27]: max uplaoded item image clutch_replacement.png. -[info][2025/05/17 23:35:29]: max requested save item clutch_replacement. -[info][2025/05/17 23:35:29]: max successfully saved item clutch_replacement. -[info][2025/05/17 23:35:40]: max requested all items. -[info][2025/05/17 23:35:42]: max requested item list. -[info][2025/05/17 23:43:30]: max requested all items. -[info][2025/05/17 23:44:41]: max requested item ceramic_brakes. -[info][2025/05/17 23:44:47]: max requested all items. -[info][2025/05/17 23:45:30]: max requested item cleaningkit. -[info][2025/05/17 23:45:34]: max requested save item cleaningkit. -[info][2025/05/17 23:45:34]: max successfully saved item cleaningkit. -[info][2025/05/17 23:45:37]: max requested all items. -[info][2025/05/17 23:45:50]: max requested item clutch_replacement. -[info][2025/05/17 23:45:52]: max requested save item clutch_replacement. -[info][2025/05/17 23:45:53]: max successfully saved item clutch_replacement. -[info][2025/05/17 23:45:58]: max requested all items. -[info][2025/05/17 23:46:08]: max requested item cosmetic_part. -[info][2025/05/17 23:46:16]: max uplaoded item image cosmetic_part.png. -[info][2025/05/17 23:46:17]: max requested save item cosmetic_part. -[info][2025/05/17 23:46:17]: max successfully saved item cosmetic_part. -[info][2025/05/17 23:53:19]: max requested save item cosmetic_part. -[info][2025/05/17 23:53:19]: max successfully saved item cosmetic_part. -[info][2025/05/17 23:53:23]: max requested all items. -[info][2025/05/18 00:01:31]: max requested item cosmetic_part. -[info][2025/05/18 00:01:35]: max requested all items. -[info][2025/05/18 00:01:51]: max requested item air_filter. -[info][2025/05/18 00:02:04]: max requested save item air_filter. -[info][2025/05/18 00:02:04]: max successfully saved item air_filter. -[info][2025/05/18 00:02:07]: max requested all items. -[info][2025/05/18 00:02:16]: max requested item awd_drivetrain. -[info][2025/05/18 00:02:27]: max requested save item awd_drivetrain. -[info][2025/05/18 00:02:27]: max successfully saved item awd_drivetrain. -[info][2025/05/18 00:02:32]: max requested all items. -[info][2025/05/18 00:03:21]: max requested item brakepad_replacement. -[info][2025/05/18 00:03:29]: max requested save item brakepad_replacement. -[info][2025/05/18 00:03:30]: max successfully saved item brakepad_replacement. -[info][2025/05/18 00:06:31]: max requested save item brakepad_replacement. -[info][2025/05/18 00:06:31]: max successfully saved item brakepad_replacement. -[info][2025/05/18 00:06:35]: max requested all items. -[info][2025/05/18 00:07:23]: max requested item bulletproof_tyres. -[info][2025/05/18 00:08:07]: max requested save item bulletproof_tyres. -[info][2025/05/18 00:08:08]: max successfully saved item bulletproof_tyres. -[info][2025/05/18 00:08:13]: max requested all items. -[info][2025/05/18 00:08:24]: max requested item ceramic_brakes. -[info][2025/05/18 00:08:40]: max requested save item ceramic_brakes. -[info][2025/05/18 00:08:40]: max successfully saved item ceramic_brakes. -[info][2025/05/18 00:08:44]: max requested all items. -[info][2025/05/18 00:09:38]: max requested item ceramic_brakes. -[info][2025/05/18 00:09:41]: max requested save item ceramic_brakes. -[info][2025/05/18 00:09:41]: max successfully saved item ceramic_brakes. -[info][2025/05/18 00:09:43]: max requested all items. -[info][2025/05/18 00:09:55]: max requested item cleaningkit. -[info][2025/05/18 00:10:18]: max requested save item cleaningkit. -[info][2025/05/18 00:10:18]: max successfully saved item cleaningkit. -[info][2025/05/18 00:10:22]: max requested all items. -[info][2025/05/18 00:10:33]: max requested item clutch_replacement. -[info][2025/05/18 00:10:57]: max requested save item clutch_replacement. -[info][2025/05/18 00:10:57]: max successfully saved item clutch_replacement. -[info][2025/05/18 00:11:00]: max requested all items. -[info][2025/05/18 00:11:12]: max requested item cosmetic_part. -[info][2025/05/18 00:11:16]: max requested save item cosmetic_part. -[info][2025/05/18 00:11:16]: max successfully saved item cosmetic_part. -[info][2025/05/18 00:11:17]: max requested save item cosmetic_part. -[info][2025/05/18 00:11:17]: max successfully saved item cosmetic_part. -[info][2025/05/18 00:11:23]: max requested all items. -[info][2025/05/18 00:11:57]: max requested item drift_tuning_kit. -[info][2025/05/18 00:12:12]: max uplaoded item image drift_tuning_kit.png. -[info][2025/05/18 00:12:16]: max requested save item drift_tuning_kit. -[info][2025/05/18 00:12:16]: max successfully saved item drift_tuning_kit. -[info][2025/05/18 00:12:31]: max requested save item drift_tuning_kit. -[info][2025/05/18 00:12:31]: max successfully saved item drift_tuning_kit. -[info][2025/05/18 00:12:34]: max requested all items. -[info][2025/05/18 00:12:44]: max requested item duct_tape. -[info][2025/05/18 00:12:51]: max uplaoded item image duct_tape.png. -[info][2025/05/18 00:12:58]: max requested save item duct_tape. -[info][2025/05/18 00:12:58]: max successfully saved item duct_tape. -[info][2025/05/18 00:13:01]: max requested all items. -[info][2025/05/18 00:13:13]: max requested item empty_nitrous_bottle. -[info][2025/05/18 00:13:26]: max uplaoded item image empty_nitrous_bottle.png. -[info][2025/05/18 00:13:32]: max requested save item empty_nitrous_bottle. -[info][2025/05/18 00:13:32]: max successfully saved item empty_nitrous_bottle. -[info][2025/05/18 00:13:36]: max requested all items. -[info][2025/05/18 00:13:43]: max requested item empty_nitrous_bottle. -[info][2025/05/18 00:13:47]: max requested all items. -[info][2025/05/18 00:14:15]: max requested item veh_engine. -[info][2025/05/18 00:14:21]: max requested all items. -[info][2025/05/18 00:14:26]: max requested item engine_oil. -[info][2025/05/18 00:14:34]: max uplaoded item image engine_oil.png. -[info][2025/05/18 00:14:40]: max requested save item engine_oil. -[info][2025/05/18 00:14:40]: max successfully saved item engine_oil. -[info][2025/05/18 00:14:41]: max requested save item engine_oil. -[info][2025/05/18 00:14:41]: max successfully saved item engine_oil. -[info][2025/05/18 00:14:43]: max requested all items. -[info][2025/05/18 00:14:55]: max requested item ev_battery. -[info][2025/05/18 00:15:03]: max uplaoded item image ev_battery.png. -[info][2025/05/18 00:15:10]: max requested save item ev_battery. -[info][2025/05/18 00:15:10]: max successfully saved item ev_battery. -[info][2025/05/18 00:15:11]: max requested save item ev_battery. -[info][2025/05/18 00:15:11]: max successfully saved item ev_battery. -[info][2025/05/18 00:15:14]: max requested all items. -[info][2025/05/18 00:15:37]: max requested item ev_coolant. -[info][2025/05/18 00:15:43]: max uplaoded item image ev_coolant.png. -[info][2025/05/18 00:15:48]: max requested save item ev_coolant. -[info][2025/05/18 00:15:48]: max successfully saved item ev_coolant. -[info][2025/05/18 00:15:49]: max requested save item ev_coolant. -[info][2025/05/18 00:15:49]: max successfully saved item ev_coolant. -[info][2025/05/18 00:15:53]: max requested all items. -[info][2025/05/18 00:16:14]: max requested item ev_motor. -[info][2025/05/18 00:16:21]: max uplaoded item image ev_motor.png. -[info][2025/05/18 00:16:29]: max requested save item ev_motor. -[info][2025/05/18 00:16:29]: max successfully saved item ev_motor. -[info][2025/05/18 00:16:29]: max requested save item ev_motor. -[info][2025/05/18 00:16:29]: max successfully saved item ev_motor. -[info][2025/05/18 00:16:29]: max requested save item ev_motor. -[info][2025/05/18 00:16:29]: max successfully saved item ev_motor. -[info][2025/05/18 00:16:30]: max requested save item ev_motor. -[info][2025/05/18 00:16:30]: max successfully saved item ev_motor. -[info][2025/05/18 00:16:32]: max requested all items. -[info][2025/05/18 00:16:45]: max requested item extras_kit. -[info][2025/05/18 00:16:51]: max uplaoded item image extras_kit.png. -[info][2025/05/18 00:16:57]: max requested save item extras_kit. -[info][2025/05/18 00:16:57]: max successfully saved item extras_kit. -[info][2025/05/18 00:16:57]: max requested save item extras_kit. -[info][2025/05/18 00:16:58]: max successfully saved item extras_kit. -[info][2025/05/18 00:17:01]: max requested all items. -[info][2025/05/18 00:17:15]: max requested item fwd_drivetrain. -[info][2025/05/18 00:17:23]: max uplaoded item image fwd_drivetrain.png. -[info][2025/05/18 00:17:38]: max requested save item fwd_drivetrain. -[info][2025/05/18 00:17:38]: max successfully saved item fwd_drivetrain. -[info][2025/05/18 00:17:38]: max requested save item fwd_drivetrain. -[info][2025/05/18 00:17:39]: max successfully saved item fwd_drivetrain. -[info][2025/05/18 00:17:39]: max requested save item fwd_drivetrain. -[info][2025/05/18 00:17:39]: max successfully saved item fwd_drivetrain. -[info][2025/05/18 00:17:40]: max requested all items. -[info][2025/05/18 00:17:50]: max requested item i4_engine. -[info][2025/05/18 00:17:56]: max uplaoded item image i4_engine.png. -[info][2025/05/18 00:18:00]: max requested save item i4_engine. -[info][2025/05/18 00:18:00]: max successfully saved item i4_engine. -[info][2025/05/18 00:18:00]: max requested save item i4_engine. -[info][2025/05/18 00:18:00]: max successfully saved item i4_engine. -[info][2025/05/18 00:18:01]: max requested save item i4_engine. -[info][2025/05/18 00:18:01]: max successfully saved item i4_engine. -[info][2025/05/18 00:18:03]: max requested all items. -[info][2025/05/18 00:18:13]: max requested item lighting_controller. -[info][2025/05/18 00:18:21]: max requested save item lighting_controller. -[info][2025/05/18 00:18:21]: max successfully saved item lighting_controller. -[info][2025/05/18 00:18:25]: max requested all items. -[info][2025/05/18 00:18:36]: max requested item manual_gearbox. -[info][2025/05/18 00:18:47]: max uplaoded item image manual_gearbox.png. -[info][2025/05/18 00:18:54]: max requested save item manual_gearbox. -[info][2025/05/18 00:18:54]: max successfully saved item manual_gearbox. -[info][2025/05/18 00:18:55]: max requested save item manual_gearbox. -[info][2025/05/18 00:18:55]: max successfully saved item manual_gearbox. -[info][2025/05/18 00:18:55]: max requested save item manual_gearbox. -[info][2025/05/18 00:18:55]: max successfully saved item manual_gearbox. -[info][2025/05/18 00:18:58]: max requested all items. -[info][2025/05/18 00:19:09]: max requested item mechanic_tablet. -[info][2025/05/18 00:19:16]: max requested save item mechanic_tablet. -[info][2025/05/18 00:19:16]: max successfully saved item mechanic_tablet. -[info][2025/05/18 00:19:19]: max requested all items. -[info][2025/05/18 00:19:32]: max requested item nitrous. -[info][2025/05/18 00:19:37]: max requested save item nitrous. -[info][2025/05/18 00:19:37]: max successfully saved item nitrous. -[info][2025/05/18 00:19:38]: max requested save item nitrous. -[info][2025/05/18 00:19:38]: max successfully saved item nitrous. -[info][2025/05/18 00:19:38]: max requested save item nitrous. -[info][2025/05/18 00:19:38]: max successfully saved item nitrous. -[info][2025/05/18 00:19:41]: max requested all items. -[info][2025/05/18 00:19:52]: max requested item nitrous_install_kit. -[info][2025/05/18 00:19:58]: max uplaoded item image nitrous_install_kit.png. -[info][2025/05/18 00:20:05]: max requested save item nitrous_install_kit. -[info][2025/05/18 00:20:06]: max successfully saved item nitrous_install_kit. -[info][2025/05/18 00:20:06]: max requested save item nitrous_install_kit. -[info][2025/05/18 00:20:06]: max successfully saved item nitrous_install_kit. -[info][2025/05/18 00:20:06]: max requested save item nitrous_install_kit. -[info][2025/05/18 00:20:06]: max successfully saved item nitrous_install_kit. -[info][2025/05/18 00:20:10]: max requested all items. -[info][2025/05/18 00:20:22]: max requested item offroad_tyres. -[info][2025/05/18 00:20:31]: max uplaoded item image offroad_tyres.png. -[info][2025/05/18 00:20:33]: max requested save item offroad_tyres. -[info][2025/05/18 00:20:34]: max successfully saved item offroad_tyres. -[info][2025/05/18 00:20:34]: max requested save item offroad_tyres. -[info][2025/05/18 00:20:34]: max successfully saved item offroad_tyres. -[info][2025/05/18 00:20:34]: max requested save item offroad_tyres. -[info][2025/05/18 00:20:34]: max successfully saved item offroad_tyres. -[info][2025/05/18 00:20:43]: max requested all items. -[info][2025/05/18 00:20:56]: max requested item performance_part. -[info][2025/05/18 00:21:08]: max uplaoded item image performance_part.png. -[info][2025/05/18 00:21:11]: max requested save item performance_part. -[info][2025/05/18 00:21:11]: max successfully saved item performance_part. -[info][2025/05/18 00:21:11]: max requested save item performance_part. -[info][2025/05/18 00:21:11]: max successfully saved item performance_part. -[info][2025/05/18 00:21:11]: max requested save item performance_part. -[info][2025/05/18 00:21:12]: max successfully saved item performance_part. -[info][2025/05/18 00:21:21]: max requested all items. -[info][2025/05/18 00:21:33]: max requested item repairkit. -[info][2025/05/18 00:21:54]: max requested all items. -[info][2025/05/18 00:22:00]: max requested item repair_kit. -[info][2025/05/18 00:22:11]: max uplaoded item image repair_kit.png. -[info][2025/05/18 00:22:19]: max requested save item repair_kit. -[info][2025/05/18 00:22:19]: max successfully saved item repair_kit. -[info][2025/05/18 00:22:19]: max requested save item repair_kit. -[info][2025/05/18 00:22:19]: max successfully saved item repair_kit. -[info][2025/05/18 00:22:22]: max requested all items. -[info][2025/05/18 00:23:20]: max requested item respray_kit. -[info][2025/05/18 00:23:37]: max uplaoded item image respray_kit.png. -[info][2025/05/18 00:23:40]: max requested save item respray_kit. -[info][2025/05/18 00:23:40]: max successfully saved item respray_kit. -[info][2025/05/18 00:23:41]: max requested save item respray_kit. -[info][2025/05/18 00:23:41]: max successfully saved item respray_kit. -[info][2025/05/18 00:23:44]: max requested all items. -[info][2025/05/18 00:24:37]: max requested item rwd_drivetrain. -[info][2025/05/18 00:24:45]: max uplaoded item image rwd_drivetrain.png. -[info][2025/05/18 00:24:51]: max requested save item rwd_drivetrain. -[info][2025/05/18 00:24:51]: max successfully saved item rwd_drivetrain. -[info][2025/05/18 00:24:51]: max requested save item rwd_drivetrain. -[info][2025/05/18 00:24:51]: max successfully saved item rwd_drivetrain. -[info][2025/05/18 00:24:54]: max requested all items. -[info][2025/05/18 00:25:06]: max requested item semi_slick_tyres. -[info][2025/05/18 00:25:19]: max uplaoded item image semi_slick_tyres.png. -[info][2025/05/18 00:25:25]: max requested save item semi_slick_tyres. -[info][2025/05/18 00:25:25]: max successfully saved item semi_slick_tyres. -[info][2025/05/18 00:25:25]: max requested save item semi_slick_tyres. -[info][2025/05/18 00:25:25]: max successfully saved item semi_slick_tyres. -[info][2025/05/18 00:25:26]: max requested save item semi_slick_tyres. -[info][2025/05/18 00:25:26]: max successfully saved item semi_slick_tyres. -[info][2025/05/18 00:25:26]: max requested save item semi_slick_tyres. -[info][2025/05/18 00:25:26]: max successfully saved item semi_slick_tyres. -[info][2025/05/18 00:25:29]: max requested all items. -[info][2025/05/18 00:25:39]: max requested item slick_tyres. -[info][2025/05/18 00:25:45]: max uplaoded item image slick_tyres.png. -[info][2025/05/18 00:25:50]: max requested save item slick_tyres. -[info][2025/05/18 00:25:50]: max successfully saved item slick_tyres. -[info][2025/05/18 00:25:50]: max requested save item slick_tyres. -[info][2025/05/18 00:25:50]: max successfully saved item slick_tyres. -[info][2025/05/18 00:25:50]: max requested save item slick_tyres. -[info][2025/05/18 00:25:51]: max successfully saved item slick_tyres. -[info][2025/05/18 00:25:51]: max requested save item slick_tyres. -[info][2025/05/18 00:25:51]: max successfully saved item slick_tyres. -[info][2025/05/18 00:25:53]: max requested all items. -[info][2025/05/18 00:26:36]: max requested item slick_tyres. -[info][2025/05/18 00:26:39]: max requested save item slick_tyres. -[info][2025/05/18 00:26:39]: max successfully saved item slick_tyres. -[info][2025/05/18 00:26:44]: max requested all items. -[info][2025/05/18 00:26:53]: max requested item spark_plug. -[info][2025/05/18 00:27:02]: max uplaoded item image spark_plug.png. -[info][2025/05/18 00:27:07]: max requested save item spark_plug. -[info][2025/05/18 00:27:07]: max successfully saved item spark_plug. -[info][2025/05/18 00:27:07]: max requested save item spark_plug. -[info][2025/05/18 00:27:07]: max successfully saved item spark_plug. -[info][2025/05/18 00:27:07]: max requested save item spark_plug. -[info][2025/05/18 00:27:07]: max successfully saved item spark_plug. -[info][2025/05/18 00:27:10]: max requested all items. -[info][2025/05/18 00:27:22]: max requested item stancing_kit. -[info][2025/05/18 00:27:29]: max uplaoded item image stancing_kit.png. -[info][2025/05/18 00:27:32]: max requested save item stancing_kit. -[info][2025/05/18 00:27:32]: max successfully saved item stancing_kit. -[info][2025/05/18 00:27:35]: max requested all items. -[info][2025/05/18 00:27:48]: max requested item suspension_parts. -[info][2025/05/18 00:28:03]: max uplaoded item image suspension_parts.png. -[info][2025/05/18 00:28:06]: max requested save item suspension_parts. -[info][2025/05/18 00:28:06]: max successfully saved item suspension_parts. -[info][2025/05/18 00:28:06]: max requested save item suspension_parts. -[info][2025/05/18 00:28:06]: max successfully saved item suspension_parts. -[info][2025/05/18 00:28:07]: max requested save item suspension_parts. -[info][2025/05/18 00:28:07]: max successfully saved item suspension_parts. -[info][2025/05/18 00:28:08]: max requested all items. -[info][2025/05/18 00:28:30]: max requested item turbocharger. -[info][2025/05/18 00:28:37]: max uplaoded item image turbocharger.png. -[info][2025/05/18 00:28:41]: max requested save item turbocharger. -[info][2025/05/18 00:28:41]: max successfully saved item turbocharger. -[info][2025/05/18 00:28:42]: max requested save item turbocharger. -[info][2025/05/18 00:28:42]: max successfully saved item turbocharger. -[info][2025/05/18 00:28:42]: max requested save item turbocharger. -[info][2025/05/18 00:28:42]: max successfully saved item turbocharger. -[info][2025/05/18 00:28:44]: max requested all items. -[info][2025/05/18 00:29:01]: max requested item tyre_replacement. -[info][2025/05/18 00:29:58]: max uplaoded item image tyre_replacement.png. -[info][2025/05/18 00:30:12]: max requested save item tyre_replacement. -[info][2025/05/18 00:30:12]: max successfully saved item tyre_replacement. -[info][2025/05/18 00:30:15]: max requested all items. -[info][2025/05/18 00:30:33]: max requested item tyre_smoke_kit. -[info][2025/05/18 00:30:43]: max uplaoded item image tyre_smoke_kit.png. -[info][2025/05/18 00:30:48]: max requested save item tyre_smoke_kit. -[info][2025/05/18 00:30:49]: max successfully saved item tyre_smoke_kit. -[info][2025/05/18 00:30:49]: max requested save item tyre_smoke_kit. -[info][2025/05/18 00:30:49]: max successfully saved item tyre_smoke_kit. -[info][2025/05/18 00:30:49]: max requested save item tyre_smoke_kit. -[info][2025/05/18 00:30:49]: max successfully saved item tyre_smoke_kit. -[info][2025/05/18 00:30:53]: max requested all items. -[info][2025/05/18 00:31:01]: max requested item v6_engine. -[info][2025/05/18 00:31:10]: max uplaoded item image v6_engine.png. -[info][2025/05/18 00:31:14]: max requested save item v6_engine. -[info][2025/05/18 00:31:14]: max successfully saved item v6_engine. -[info][2025/05/18 00:31:14]: max requested save item v6_engine. -[info][2025/05/18 00:31:14]: max successfully saved item v6_engine. -[info][2025/05/18 00:31:14]: max requested save item v6_engine. -[info][2025/05/18 00:31:14]: max successfully saved item v6_engine. -[info][2025/05/18 00:31:17]: max requested all items. -[info][2025/05/18 00:31:25]: max requested item v8_engine. -[info][2025/05/18 00:31:32]: max uplaoded item image v8_engine.png. -[info][2025/05/18 00:31:37]: max requested save item v8_engine. -[info][2025/05/18 00:31:37]: max successfully saved item v8_engine. -[info][2025/05/18 00:31:38]: max requested save item v8_engine. -[info][2025/05/18 00:31:38]: max successfully saved item v8_engine. -[info][2025/05/18 00:31:41]: max requested all items. -[info][2025/05/18 00:37:52]: max requested item v6_engine. -[info][2025/05/18 00:37:57]: max requested all items. -[info][2025/05/18 00:38:04]: max requested item v12_engine. -[info][2025/05/18 00:38:12]: max uplaoded item image v12_engine.png. -[info][2025/05/18 00:38:18]: max requested save item v12_engine. -[info][2025/05/18 00:38:18]: max successfully saved item v12_engine. -[info][2025/05/18 00:38:22]: max requested all items. -[info][2025/05/18 00:38:32]: max requested item vehicle_wheels. -[info][2025/05/18 00:38:37]: max uplaoded item image vehicle_wheels.png. -[info][2025/05/18 00:38:41]: max requested save item vehicle_wheels. -[info][2025/05/18 00:38:41]: max successfully saved item vehicle_wheels. -[info][2025/05/18 00:38:41]: max requested save item vehicle_wheels. -[info][2025/05/18 00:38:41]: max successfully saved item vehicle_wheels. -[info][2025/05/18 00:38:41]: max requested save item vehicle_wheels. -[info][2025/05/18 00:38:41]: max successfully saved item vehicle_wheels. -[info][2025/05/18 00:38:42]: max requested save item vehicle_wheels. -[info][2025/05/18 00:38:42]: max successfully saved item vehicle_wheels. -[info][2025/05/18 00:41:30]: max requested save item vehicle_wheels. -[info][2025/05/18 00:41:30]: max successfully saved item vehicle_wheels. -[info][2025/05/18 00:45:45]: max requested all items. -[info][2025/05/18 00:49:57]: max requested all jobs. -[info][2025/05/18 01:03:53]: max requested all items. -[info][2025/05/18 01:03:59]: max requested all jobs. -[info][2025/05/18 01:04:06]: max requested all items. -[info][2025/05/18 01:13:01]: max requested all jobs. -[info][2025/05/18 01:19:59]: nordi requested all jobs. -[info][2025/05/18 01:23:58]: max requested all jobs. -[info][2025/05/18 01:25:03]: max requested create job admin. -[info][2025/05/18 01:25:03]: max successfully created item undefined. -[info][2025/05/18 01:25:03]: max requested all jobs. -[info][2025/05/18 01:25:08]: max requested job admin. -[info][2025/05/18 01:25:18]: max requested save job admin. -[info][2025/05/18 01:25:18]: max successfully saved job admin. -[info][2025/05/18 01:25:24]: max requested save job admin. -[info][2025/05/18 01:25:24]: max successfully saved job admin. -[info][2025/05/18 01:25:40]: max requested save job admin. -[info][2025/05/18 01:25:40]: max successfully saved job admin. -[info][2025/05/18 01:28:43]: max requested save job admin. -[info][2025/05/18 01:28:43]: max successfully saved job admin. -[info][2025/05/18 01:28:43]: max requested save job admin. -[info][2025/05/18 01:28:43]: max successfully saved job admin. -[info][2025/05/18 01:29:28]: max requested save job admin. -[info][2025/05/18 01:29:28]: max successfully saved job admin. -[info][2025/05/18 18:38:04]: minichaoz requested all jobs. -[info][2025/05/18 18:38:07]: minichaoz requested job larossa. -[info][2025/05/18 18:38:14]: minichaoz requested all jobs. -[info][2025/05/18 18:38:16]: minichaoz requested job ambulance. -[info][2025/05/18 18:38:21]: minichaoz requested all items. -[info][2025/05/18 18:38:26]: minichaoz requested item weapontint_mk2_26. -[info][2025/05/18 19:04:05]: minichaoz requested all jobs. -[info][2025/05/18 19:04:08]: steven requested all jobs. -[info][2025/05/18 19:04:32]: rockit requested all jobs. -[info][2025/05/18 19:04:35]: rockit requested job police. -[info][2025/05/18 19:04:59]: rockit requested all jobs. -[info][2025/05/18 19:05:10]: rockit requested job mechanic. -[info][2025/05/18 19:05:18]: rockit requested all jobs. -[info][2025/05/18 19:05:21]: rockit requested job ambulance. -[info][2025/05/18 19:05:28]: rockit requested all jobs. -[info][2025/05/18 19:05:32]: rockit requested job ammu. -[info][2025/05/18 19:05:38]: rockit requested all jobs. -[info][2025/05/18 19:05:45]: rockit requested job unemployed. -[info][2025/05/18 19:06:15]: rockit requested all jobs. -[info][2025/05/18 19:06:56]: rockit requested create job dynasty. -[info][2025/05/18 19:06:56]: rockit successfully created item undefined. -[info][2025/05/18 19:06:56]: rockit requested all jobs. -[info][2025/05/18 19:07:00]: rockit requested job dynasty. -[info][2025/05/18 19:07:25]: rockit requested save job dynasty. -[info][2025/05/18 19:07:25]: rockit successfully saved job dynasty. -[info][2025/05/18 19:07:28]: rockit requested save job dynasty. -[info][2025/05/18 19:07:28]: rockit successfully saved job dynasty. -[info][2025/05/18 19:07:43]: rockit requested all jobs. -[info][2025/05/18 19:07:46]: steven requested all jobs. -[info][2025/05/18 19:07:55]: steven requested all jobs. -[info][2025/05/18 19:08:00]: rockit requested job dynasty. -[info][2025/05/18 19:08:07]: rockit requested save job dynasty. -[info][2025/05/18 19:08:07]: rockit successfully saved job dynasty. -[info][2025/05/18 19:08:16]: rockit requested all jobs. -[info][2025/05/18 19:08:24]: rockit requested job dynasty. -[info][2025/05/18 19:08:29]: rockit requested save job dynasty. -[info][2025/05/18 19:08:30]: rockit successfully saved job dynasty. -[info][2025/05/18 19:08:32]: rockit requested all jobs. -[info][2025/05/18 19:09:15]: steven requested all items. -[info][2025/05/18 19:09:28]: steven requested all jobs. -[info][2025/05/18 19:13:15]: minichaoz requested all jobs. -[info][2025/05/18 19:13:17]: minichaoz requested job larossa. -[info][2025/05/18 19:13:23]: minichaoz requested all jobs. -[info][2025/05/18 19:14:36]: minichaoz requested job ambulance. -[info][2025/05/18 19:14:39]: minichaoz requested all jobs. -[info][2025/05/18 19:14:41]: minichaoz requested job police. -[info][2025/05/18 19:14:43]: minichaoz requested all jobs. -[info][2025/05/18 19:17:53]: steven requested create job blood-pack-mc. -[info][2025/05/18 19:17:53]: steven successfully created item undefined. -[info][2025/05/18 19:17:53]: steven requested all jobs. -[info][2025/05/18 19:18:05]: steven requested job blood-pack-mc. -[info][2025/05/18 19:19:51]: minichaoz requested all jobs. -[info][2025/05/18 19:21:10]: minichaoz requested all jobs. -[info][2025/05/18 19:21:36]: steven requested save job blood-pack-mc. -[info][2025/05/18 19:21:36]: steven successfully saved job blood-pack-mc. -[info][2025/05/18 19:22:22]: steven requested save job blood-pack-mc. -[info][2025/05/18 19:22:22]: steven successfully saved job blood-pack-mc. -[info][2025/05/18 19:22:29]: steven requested all jobs. -[info][2025/05/18 19:23:35]: steven requested all jobs. -[info][2025/05/18 19:28:20]: minichaoz requested create job odins_bar. -[info][2025/05/18 19:28:20]: minichaoz successfully created item undefined. -[info][2025/05/18 19:28:20]: minichaoz requested all jobs. -[info][2025/05/18 19:28:25]: minichaoz requested job odins_bar. -[info][2025/05/18 19:28:32]: minichaoz requested all jobs. -[info][2025/05/18 19:28:53]: minichaoz requested job blood-pack-mc. -[info][2025/05/18 19:29:03]: steven requested job blood-pack-mc. -[info][2025/05/18 19:29:32]: steven requested save job blood-pack-mc. -[info][2025/05/18 19:29:32]: steven successfully saved job blood-pack-mc. -[info][2025/05/18 19:29:36]: minichaoz requested all gangs. -[info][2025/05/18 19:29:43]: steven requested all jobs. -[info][2025/05/18 19:30:04]: minichaoz requested all jobs. -[info][2025/05/18 21:20:08]: steven requested all items. -[info][2025/05/18 21:20:46]: steven requested all jobs. -[info][2025/05/18 21:22:27]: minichaoz requested all items. -[info][2025/05/18 21:45:03]: tim requested all jobs. -[info][2025/05/18 21:45:20]: tim requested job dynasty. -[info][2025/05/18 21:49:32]: minichaoz requested all jobs. -[info][2025/05/18 21:49:35]: minichaoz requested job odins_bar. -[info][2025/05/19 21:13:03]: steven requested all jobs. -[info][2025/05/19 21:13:20]: steven requested job larossa. -[info][2025/05/19 21:13:52]: steven requested all jobs. -[info][2025/05/19 21:16:55]: steven requested all items. -[info][2025/05/19 21:51:37]: campers requested all jobs. -[info][2025/05/19 21:51:43]: campers requested job admin. -[info][2025/05/19 21:51:52]: campers requested all jobs. -[info][2025/05/19 21:54:25]: campers requested shared vehicle coureur. -[info][2025/05/19 21:54:38]: campers requested all items. -[info][2025/05/19 22:39:46]: campers requested all items. -[info][2025/05/20 00:51:10]: tim requested all gangs. -[info][2025/05/20 23:13:33]: campers requested all jobs. -[info][2025/05/20 23:13:42]: campers requested job police. -[info][2025/05/21 08:55:37]: rockit requested all jobs. -[info][2025/05/21 08:55:39]: rockit requested job police. -[info][2025/05/21 08:56:05]: rockit requested save job police. -[info][2025/05/21 08:56:05]: rockit successfully saved job police. -[info][2025/05/21 09:25:03]: rockit requested all items. -[info][2025/05/22 00:11:44]: campers requested all items. -[info][2025/05/22 01:00:36]: campers requested all jobs. -[info][2025/05/22 01:00:39]: campers requested job police. -[info][2025/05/22 01:00:56]: campers requested save job police. -[info][2025/05/22 01:00:56]: campers successfully saved job police. -[info][2025/05/22 01:03:01]: campers requested all jobs. -[info][2025/05/22 01:03:04]: campers requested job police. -[info][2025/05/22 01:03:10]: campers requested save job police. -[info][2025/05/22 01:03:10]: campers successfully saved job police. -[info][2025/05/22 01:03:23]: campers requested all jobs. -[info][2025/05/22 01:03:25]: campers requested job police. -[info][2025/05/22 15:29:44]: nordi requested all jobs. -[info][2025/05/22 15:30:58]: nordi requested create job const. -[info][2025/05/22 15:30:58]: nordi successfully created item undefined. -[info][2025/05/22 15:30:59]: nordi requested all jobs. -[info][2025/05/22 16:30:56]: rockit requested all jobs. -[info][2025/05/22 16:30:58]: rockit requested job police. -[info][2025/05/22 16:31:15]: rockit requested save job police. -[info][2025/05/22 16:31:15]: rockit successfully saved job police. -[info][2025/05/22 16:31:30]: rockit requested save job police. -[info][2025/05/22 16:31:30]: rockit successfully saved job police. -[info][2025/05/22 16:31:41]: rockit requested save job police. -[info][2025/05/22 16:31:41]: rockit successfully saved job police. -[info][2025/05/23 03:26:29]: nordi requested all jobs. -[info][2025/05/23 04:48:57]: nordi requested all items. -[info][2025/05/23 04:48:59]: nordi requested item list. -[info][2025/05/23 04:49:41]: nordi uplaoded item image roofbox_color.png. -[info][2025/05/23 04:50:01]: nordi requested create item roofbox_color. -[info][2025/05/23 04:50:01]: nordi successfully created item roofbox_color. -[info][2025/05/23 04:50:02]: nordi requested all items. -[info][2025/05/23 04:50:04]: nordi requested item list. -[info][2025/05/23 04:50:29]: nordi uplaoded item image roofbox_carbon.png. -[info][2025/05/23 04:50:30]: nordi requested create item roofbox_carbon. -[info][2025/05/23 04:50:31]: nordi successfully created item roofbox_carbon. -[info][2025/05/23 04:50:31]: nordi requested all items. -[info][2025/05/23 04:50:33]: nordi requested item list. -[info][2025/05/23 04:51:01]: nordi uplaoded item image bikerack.png. -[info][2025/05/23 04:51:04]: nordi requested create item bikerack. -[info][2025/05/23 04:51:04]: nordi successfully created item bikerack. -[info][2025/05/23 04:51:04]: nordi requested all items. -[info][2025/05/23 13:13:57]: tim requested all jobs. -[info][2025/05/23 13:14:04]: tim requested job police. -[info][2025/05/23 13:14:43]: tim requested save job police. -[info][2025/05/23 13:14:43]: tim successfully saved job police. -[info][2025/05/23 13:18:32]: tim requested all gangs. -[info][2025/05/23 13:18:39]: tim requested gang vagos. -[info][2025/05/23 13:18:42]: tim requested delete gang vagos. -[info][2025/05/23 13:18:42]: tim successfully deleted gang vagos. -[info][2025/05/23 13:18:43]: tim requested all gangs. -[info][2025/05/23 13:18:44]: tim requested gang cartel. -[info][2025/05/23 13:18:47]: tim requested delete gang cartel. -[info][2025/05/23 13:18:47]: tim successfully deleted gang cartel. -[info][2025/05/23 13:18:48]: tim requested all gangs. -[info][2025/05/23 13:18:49]: tim requested gang ballas. -[info][2025/05/23 13:18:51]: tim requested delete gang ballas. -[info][2025/05/23 13:18:51]: tim successfully deleted gang ballas. -[info][2025/05/23 13:18:52]: tim requested all gangs. -[info][2025/05/23 13:18:53]: tim requested gang none. -[info][2025/05/23 13:18:55]: tim requested delete gang none. -[info][2025/05/23 13:18:55]: tim successfully deleted gang none. -[info][2025/05/23 13:18:55]: tim requested all gangs. -[info][2025/05/23 13:18:56]: tim requested gang triads. -[info][2025/05/23 13:18:59]: tim requested delete gang triads. -[info][2025/05/23 13:18:59]: tim successfully deleted gang triads. -[info][2025/05/23 13:18:59]: tim requested all gangs. -[info][2025/05/23 13:19:00]: tim requested gang families. -[info][2025/05/23 13:19:03]: tim requested delete gang families. -[info][2025/05/23 13:19:03]: tim successfully deleted gang families. -[info][2025/05/23 13:19:03]: tim requested all gangs. -[info][2025/05/23 13:19:04]: tim requested gang lostmc. -[info][2025/05/23 13:19:07]: tim requested delete gang lostmc. -[info][2025/05/23 13:19:07]: tim successfully deleted gang lostmc. -[info][2025/05/23 13:19:07]: tim requested all gangs. -[info][2025/05/23 13:19:09]: tim requested all jobs. -[info][2025/05/23 13:19:11]: tim requested all items. -[info][2025/05/23 13:20:36]: tim requested all items. -[info][2025/05/23 13:20:37]: tim requested all gangs. -[info][2025/05/23 20:17:35]: campers requested all jobs. -[info][2025/05/23 20:17:42]: campers requested job police. -[info][2025/05/23 20:17:48]: campers requested all jobs. -[info][2025/05/23 20:18:22]: campers requested all jobs. -[info][2025/05/23 20:18:27]: campers requested job police. -[info][2025/05/23 20:18:33]: campers requested all jobs. -[info][2025/05/23 20:18:35]: campers requested job blood-pack-mc. -[info][2025/05/23 20:18:40]: campers requested all items. -[info][2025/05/23 20:18:41]: campers requested all jobs. -[info][2025/05/23 20:18:47]: campers requested job police. -[info][2025/05/24 02:44:01]: campers requested all jobs. -[info][2025/05/24 02:44:05]: campers requested job mechanic. -[info][2025/05/24 02:44:07]: campers requested all jobs. -[info][2025/05/24 02:44:12]: campers requested job dynasty. -[info][2025/05/24 02:44:13]: campers requested all jobs. -[info][2025/05/24 02:44:18]: campers requested job const. -[info][2025/05/24 02:44:19]: campers requested all jobs. -[info][2025/05/24 02:44:23]: campers requested job ambulance. -[info][2025/05/24 02:44:25]: campers requested all jobs. -[info][2025/05/24 02:44:28]: campers requested job cinema. -[info][2025/05/24 02:44:30]: campers requested all jobs. -[info][2025/05/24 02:44:33]: campers requested job odins_bar. -[info][2025/05/24 02:44:35]: campers requested all jobs. -[info][2025/05/24 02:44:38]: campers requested job unemployed. -[info][2025/05/24 02:44:40]: campers requested all jobs. -[info][2025/05/24 02:44:43]: campers requested job skyline. -[info][2025/05/24 02:44:46]: campers requested all jobs. -[info][2025/05/24 02:44:54]: campers requested job blood-pack-mc. -[info][2025/05/24 08:45:27]: mark requested all items. -[info][2025/05/24 10:28:48]: nordi requested all items. -[info][2025/05/24 10:28:56]: nordi requested all items. -[info][2025/05/24 10:57:33]: nordi requested all items. -[info][2025/05/24 23:32:28]: campers requested all jobs. -[info][2025/05/25 04:25:56]: steven requested all jobs. -[info][2025/05/25 04:26:07]: steven requested job police. -[info][2025/05/25 12:21:53]: nordi requested all items. -[info][2025/05/25 12:33:06]: steven requested all jobs. -[info][2025/05/25 12:33:20]: steven requested job police. -[info][2025/05/25 13:53:33]: steven requested all jobs. -[info][2025/05/25 14:02:04]: steven requested all jobs. -[info][2025/05/25 22:18:48]: steven requested all jobs. -[info][2025/05/25 22:19:11]: steven requested all items. -[info][2025/05/25 22:19:31]: steven requested all jobs. -[info][2025/05/25 22:19:44]: campers requested all gangs. -[info][2025/05/25 22:19:58]: campers requested all jobs. -[info][2025/05/25 22:19:59]: steven requested all gangs. -[info][2025/05/25 22:43:35]: steven requested all gangs. -[info][2025/05/25 22:45:07]: steven requested all gangs. -[info][2025/05/25 22:45:32]: steven requested all jobs. -[info][2025/05/25 22:45:37]: steven requested job blood-pack-mc. -[info][2025/05/25 22:46:34]: steven requested all gangs. -[info][2025/05/25 22:57:32]: max requested all jobs. -[info][2025/05/25 22:57:41]: max requested job mechanic. -[info][2025/05/25 22:58:19]: max requested save job mechanic. -[info][2025/05/25 22:58:19]: max successfully saved job mechanic. -[info][2025/05/25 22:58:31]: max requested save job mechanic. -[info][2025/05/25 22:58:31]: max successfully saved job mechanic. -[info][2025/05/25 22:59:11]: max requested save job mechanic. -[info][2025/05/25 22:59:11]: max successfully saved job mechanic. -[info][2025/05/25 22:59:18]: max requested save job mechanic. -[info][2025/05/25 22:59:18]: max successfully saved job mechanic. -[info][2025/05/26 22:33:33]: campers requested all jobs. -[info][2025/05/26 22:33:37]: campers requested job police. -[info][2025/05/27 19:28:22]: nordi requested all items. -[info][2025/05/27 19:28:57]: nordi requested item tosti. -[info][2025/05/27 19:29:25]: nordi requested all items. -[info][2025/05/27 19:29:34]: nordi requested item water_bottle. -[info][2025/05/27 19:37:41]: nordi requested all items. -[info][2025/05/27 19:37:48]: nordi requested item twerks_candy. -[info][2025/05/27 19:38:24]: nordi requested all items. -[info][2025/05/27 19:38:38]: nordi requested item sandwich. -[info][2025/05/27 19:41:20]: nordi requested all items. -[info][2025/05/27 19:41:25]: nordi requested item muffin. -[info][2025/05/27 19:46:44]: nordi requested all items. -[info][2025/05/27 19:46:48]: nordi requested item halbes_haendel. -[info][2025/05/27 19:48:26]: nordi requested all items. -[info][2025/05/27 19:48:30]: nordi requested item leberkas_semmal. -[info][2025/05/27 19:49:30]: nordi requested all items. -[info][2025/05/27 19:49:35]: nordi requested item kas_leberkas_semmal. -[info][2025/05/27 19:50:26]: nordi requested all items. -[info][2025/05/27 19:50:33]: nordi requested item macrons. -[info][2025/05/27 19:51:32]: nordi requested all items. -[info][2025/05/27 19:51:37]: nordi requested item pelmini. -[info][2025/05/27 19:53:03]: nordi requested all items. -[info][2025/05/27 19:53:11]: nordi requested item fish_and_chips. -[info][2025/05/27 19:53:58]: nordi requested all items. -[info][2025/05/27 19:54:04]: nordi requested item schnitzelbroetchen. -[info][2025/05/27 19:55:00]: nordi requested all items. -[info][2025/05/27 19:55:04]: nordi requested item tims_instant_nudeln. -[info][2025/05/27 19:55:53]: nordi requested all items. -[info][2025/05/27 19:55:58]: nordi requested item lutschfinger_eis. -[info][2025/05/27 19:57:13]: nordi requested all items. -[info][2025/05/27 19:57:16]: nordi requested item stevens_apfelmustorte. -[info][2025/05/27 20:11:03]: nordi requested all items. -[info][2025/05/27 20:11:08]: nordi requested item bubble_tea. -[info][2025/05/27 20:23:08]: nordi requested all items. -[info][2025/05/27 20:23:15]: nordi requested item ohrstopsel. -[info][2025/05/27 20:23:32]: nordi requested all items. -[info][2025/05/27 20:25:30]: nordi requested item dildo. -[info][2025/05/27 22:08:22]: minichaoz requested all items. -[info][2025/05/27 22:13:23]: nordi requested all items. -[info][2025/05/27 22:13:25]: nordi requested item ecola_dose. -[info][2025/05/27 22:28:16]: nordi requested all items. -[info][2025/05/27 22:28:20]: nordi requested item bubble_tea. -[info][2025/05/27 22:28:42]: nordi requested all items. -[info][2025/05/27 22:32:37]: nordi requested all items. -[info][2025/05/27 22:32:40]: nordi requested item twerks_candy. -[info][2025/05/27 22:42:16]: nordi requested all items. -[info][2025/05/27 22:42:21]: nordi requested item leberkas_semmal. -[info][2025/05/27 22:42:47]: nordi requested all items. -[info][2025/05/27 22:42:50]: nordi requested item kas_leberkas_semmal. -[info][2025/05/27 22:42:59]: nordi requested all items. -[info][2025/05/27 22:45:20]: nordi requested item tims_instant_nudeln. -[info][2025/05/27 22:45:56]: nordi requested all items. -[info][2025/05/27 22:56:26]: nordi requested item ohrstopsel. -[info][2025/05/27 23:01:34]: nordi requested all items. -[info][2025/05/27 23:10:10]: nordi requested item spikestrips. -[info][2025/05/27 23:13:07]: nordi requested all items. -[info][2025/05/27 23:13:31]: nordi requested item holoscope_attachment. -[info][2025/05/27 23:13:44]: nordi requested all items. -[info][2025/05/27 23:13:50]: nordi requested item flashlight_attachment. -[info][2025/05/27 23:31:00]: steven requested all jobs. -[info][2025/05/27 23:31:19]: nordi requested all items. -[info][2025/05/27 23:31:45]: steven requested job dynasty. -[info][2025/05/27 23:32:42]: nordi requested item ibuprophen. -[info][2025/05/27 23:37:45]: nordi requested all items. -[info][2025/05/27 23:37:48]: nordi requested item tranexamsaure. -[info][2025/05/27 23:39:25]: nordi requested all items. -[info][2025/05/27 23:39:31]: nordi requested item 5-fach_impfung_hund. -[info][2025/05/27 23:46:07]: nordi requested all jobs. -[info][2025/05/27 23:46:28]: nordi requested job ambulance. -[info][2025/05/28 00:11:23]: nordi requested all jobs. -[info][2025/05/28 00:11:25]: nordi requested job police. -[info][2025/05/28 00:19:42]: campers requested all jobs. -[info][2025/05/28 00:19:45]: campers requested job police. -[info][2025/05/28 00:27:37]: nordi requested all items. -[info][2025/05/28 00:27:45]: nordi requested item weapon_smg. -[info][2025/05/28 00:27:51]: nordi requested save item weapon_smg. -[info][2025/05/28 00:27:51]: nordi successfully saved item weapon_smg. -[info][2025/05/28 00:43:15]: nordi requested all items. -[info][2025/05/28 00:43:19]: nordi requested item weapon_assaultrifle. -[info][2025/05/28 01:20:30]: campers requested all jobs. -[info][2025/05/28 01:20:33]: campers requested job police. -[info][2025/05/28 06:06:46]: nordi requested item weapon_assaultrifle. -[info][2025/05/28 07:38:11]: nordi requested all items. -[info][2025/05/28 07:38:16]: nordi requested item bcesandwich. -[info][2025/05/28 07:38:58]: nordi requested all items. -[info][2025/05/28 07:39:04]: nordi requested item cheese_burger. -[info][2025/05/28 07:39:53]: nordi requested all items. -[info][2025/05/28 07:39:56]: nordi requested item cheeseanachos. -[info][2025/05/28 07:40:22]: nordi requested all items. -[info][2025/05/28 07:40:38]: nordi requested item pizza_burger. -[info][2025/05/28 07:40:57]: nordi requested all items. -[info][2025/05/28 07:40:59]: nordi requested item pizza_piece. -[info][2025/05/28 07:41:35]: nordi requested all items. -[info][2025/05/28 07:41:39]: nordi requested item fries_with_dip. -[info][2025/05/28 07:41:59]: nordi requested all items. -[info][2025/05/28 07:42:52]: nordi requested item j_and_js. -[info][2025/05/28 07:43:16]: nordi requested all items. -[info][2025/05/28 07:43:20]: nordi requested item loaded_fries. -[info][2025/05/28 07:44:10]: nordi requested all items. -[info][2025/05/28 07:45:48]: nordi requested item jelly_beans. -[info][2025/05/28 07:47:20]: nordi requested all items. -[info][2025/05/28 07:47:25]: nordi requested item salsa_nachos. -[info][2025/05/28 07:47:51]: nordi requested all items. -[info][2025/05/28 07:47:55]: nordi requested item salsa_nachos. -[info][2025/05/28 07:47:58]: nordi requested all items. -[info][2025/05/28 07:48:02]: nordi requested item saldprezels. -[info][2025/05/28 07:50:21]: nordi requested all items. -[info][2025/05/28 07:50:39]: nordi requested item gumianimals. -[info][2025/05/28 07:51:06]: nordi requested all items. -[info][2025/05/28 07:51:11]: nordi requested item salsa_nachos. -[info][2025/05/28 07:51:15]: nordi requested all items. -[info][2025/05/28 07:52:02]: nordi requested item eis_konfekt. -[info][2025/05/28 07:53:04]: nordi requested all items. -[info][2025/05/28 07:53:07]: nordi requested item waffle_icream. -[info][2025/05/28 07:55:19]: nordi requested all items. -[info][2025/05/28 07:56:05]: nordi requested item slushi. -[info][2025/05/28 07:56:18]: nordi requested all items. -[info][2025/05/28 07:56:31]: nordi requested item marble_pop_limo. -[info][2025/05/28 07:58:15]: nordi requested all items. -[info][2025/05/28 07:58:20]: nordi requested item cerveza_barracho. -[info][2025/05/28 07:58:57]: nordi requested all items. -[info][2025/05/28 07:59:02]: nordi requested item spazi. -[info][2025/05/28 07:59:11]: nordi requested all items. -[info][2025/05/28 07:59:12]: nordi requested item spazi_limo. -[info][2025/05/28 08:00:43]: nordi requested all items. -[info][2025/05/28 08:00:47]: nordi requested item hotdog_deluxe. -[info][2025/05/28 08:07:13]: nordi requested all items. -[info][2025/05/28 08:07:19]: nordi requested item goezleme. -[info][2025/05/28 08:07:47]: nordi requested all items. -[info][2025/05/28 08:07:51]: nordi requested item kuzu_sis. -[info][2025/05/28 08:08:06]: nordi requested save item kuzu_sis. -[info][2025/05/28 08:08:06]: nordi successfully saved item kuzu_sis. -[info][2025/05/28 08:08:12]: nordi requested all items. -[info][2025/05/28 08:08:21]: nordi requested item dueruem. -[info][2025/05/28 08:09:25]: nordi requested all items. -[info][2025/05/28 08:09:31]: nordi requested item falafel. -[info][2025/05/28 08:09:48]: nordi requested all items. -[info][2025/05/28 08:09:58]: nordi requested item mixed_grilled_plate. -[info][2025/05/28 08:10:23]: nordi requested all items. -[info][2025/05/28 08:10:39]: nordi requested item list. -[info][2025/05/28 08:12:58]: nordi uplaoded item image doner.png. -[info][2025/05/28 08:13:06]: nordi requested create item doener. -[info][2025/05/28 08:13:09]: nordi requested all items. -[info][2025/05/28 08:13:17]: nordi requested item list. -[info][2025/05/28 08:13:53]: nordi requested create item donerkebab. -[info][2025/05/28 08:13:54]: nordi successfully created item donerkebab. -[info][2025/05/28 08:13:54]: nordi requested all items. -[info][2025/05/28 08:14:04]: nordi requested all items. -[info][2025/05/28 08:14:10]: nordi requested item doener. -[info][2025/05/28 08:14:24]: nordi requested save item doener. -[info][2025/05/28 08:14:24]: nordi successfully saved item doener. -[info][2025/05/28 08:17:14]: nordi requested all items. -[info][2025/05/28 08:17:20]: nordi requested item sunflowerseeds. -[info][2025/05/28 08:17:52]: nordi requested all items. -[info][2025/05/28 08:18:02]: nordi requested item bauernsalat. -[info][2025/05/28 08:19:27]: nordi requested all items. -[info][2025/05/28 08:19:35]: nordi requested item zwiebelsalat. -[info][2025/05/28 08:20:05]: nordi requested all items. -[info][2025/05/28 08:31:01]: nordi requested item salep. -[info][2025/05/28 08:31:24]: nordi requested all items. -[info][2025/05/28 08:32:02]: nordi requested item weapon_rayminigun. -[info][2025/05/28 08:32:19]: nordi requested all items. -[info][2025/05/28 08:34:14]: nordi requested item kayas_rotwein. -[info][2025/05/28 09:04:07]: nordi requested all items. -[info][2025/05/28 09:04:15]: nordi requested item thors_thunder_storm. -[info][2025/05/28 09:04:22]: nordi requested item thors_thunder_storm. -[info][2025/05/28 09:04:27]: nordi requested all items. -[info][2025/05/28 09:04:45]: nordi requested item freyas_kiss. -[info][2025/05/28 09:05:26]: nordi requested all items. -[info][2025/05/28 09:07:52]: nordi requested item lokis_trickery. -[info][2025/05/28 09:08:26]: nordi requested all items. -[info][2025/05/28 09:08:30]: nordi requested item lokis_trickster_punch. -[info][2025/05/28 09:08:33]: nordi requested all items. -[info][2025/05/28 09:08:37]: nordi requested item lokis_trickster_punch. -[info][2025/05/28 09:08:38]: nordi requested all items. -[info][2025/05/28 09:08:42]: nordi requested item lokis_trickster_punch. -[info][2025/05/28 09:08:46]: nordi requested all items. -[info][2025/05/28 09:10:04]: nordi requested item kuzu_sis. -[info][2025/05/28 09:10:25]: nordi requested all items. -[info][2025/05/28 09:15:24]: nordi requested item aldurs_right_ites. -[info][2025/05/28 09:15:27]: nordi requested all items. -[info][2025/05/28 09:28:46]: nordi requested item ggdrasils_ssence. -[info][2025/05/28 09:29:09]: nordi requested all items. -[info][2025/05/28 09:29:12]: nordi requested item yggdrasils_roots. -[info][2025/05/28 09:29:15]: nordi requested all items. -[info][2025/05/28 09:29:24]: nordi requested item yggdrasils_root. -[info][2025/05/28 09:29:59]: nordi requested all items. -[info][2025/05/28 09:32:04]: nordi requested item sifs_golden-ale. -[info][2025/05/28 09:32:07]: nordi requested all items. -[info][2025/05/28 09:36:38]: nordi requested item skadis_winter_skewers. -[info][2025/05/28 09:36:40]: nordi requested all items. -[info][2025/05/28 09:48:56]: nordi requested item cheese_burger. -[info][2025/05/28 09:49:31]: nordi requested all items. -[info][2025/05/28 09:49:37]: nordi requested item fries_with_dip. -[info][2025/05/28 13:24:21]: nordi requested all items. -[info][2025/05/28 13:24:57]: nordi requested all items. -[info][2025/05/28 13:25:06]: nordi requested item list. -[info][2025/05/28 13:26:11]: nordi uplaoded item image screenshot_684-removebg-preview.png. -[info][2025/05/28 13:27:07]: nordi uplaoded item image screenshot_685-removebg-preview.png. -[info][2025/05/28 13:28:27]: nordi requested create item bleeder. -[info][2025/05/28 13:28:27]: nordi successfully created item bleeder. -[info][2025/05/28 13:28:27]: nordi requested all items. -[info][2025/05/28 13:28:35]: nordi requested item bleeder. -[info][2025/05/28 13:33:27]: nordi requested all items. -[info][2025/05/28 13:33:28]: nordi requested item list. -[info][2025/05/28 13:34:31]: nordi uplaoded item image screenshot_687-removebg-preview.png. -[info][2025/05/28 13:34:39]: nordi requested create item heartstopper. -[info][2025/05/28 13:34:39]: nordi successfully created item heartstopper. -[info][2025/05/28 13:34:39]: nordi requested all items. -[info][2025/05/28 13:34:45]: nordi requested item heartstopper. -[info][2025/05/28 13:37:04]: nordi requested save item heartstopper. -[info][2025/05/28 13:37:04]: nordi successfully saved item heartstopper. -[info][2025/05/28 13:37:06]: nordi requested all items. -[info][2025/05/28 13:37:07]: nordi requested item list. -[info][2025/05/28 13:37:35]: nordi uplaoded item image screenshot_686-removebg-preview.png. -[info][2025/05/28 13:37:39]: nordi requested create item ffries. -[info][2025/05/28 13:37:39]: nordi successfully created item ffries. -[info][2025/05/28 13:37:39]: nordi requested all items. -[info][2025/05/28 13:38:03]: nordi requested item list. -[info][2025/05/28 13:38:09]: nordi uplaoded item image screenshot_688-removebg-preview.png. -[info][2025/05/28 13:38:43]: nordi requested create item ecola. -[info][2025/05/28 13:38:43]: nordi successfully created item ecola. -[info][2025/05/28 13:38:44]: nordi requested all items. -[info][2025/05/28 13:39:13]: nordi requested item list. -[info][2025/05/28 13:39:42]: nordi requested create item sprunk. -[info][2025/05/28 13:39:42]: nordi successfully created item sprunk. -[info][2025/05/28 13:39:43]: nordi requested all items. -[info][2025/05/28 13:40:12]: nordi requested item list. -[info][2025/05/28 13:41:02]: nordi requested create item ornageo. -[info][2025/05/28 13:41:02]: nordi successfully created item ornageo. -[info][2025/05/28 13:41:03]: nordi requested all items. -[info][2025/05/28 13:45:33]: nordi requested item vodka. -[info][2025/05/28 13:57:37]: nordi requested all jobs. -[info][2025/05/28 14:19:52]: nordi requested all items. -[info][2025/05/28 14:19:57]: nordi requested item redwood_light. -[info][2025/05/28 15:01:12]: nordi requested all items. -[info][2025/05/28 15:01:15]: nordi requested item list. -[info][2025/05/28 15:01:52]: nordi uplaoded item image screenshot_689-removebg-preview.png. -[info][2025/05/28 15:01:54]: nordi requested create item burger. -[info][2025/05/28 15:01:54]: nordi successfully created item burger. -[info][2025/05/28 15:01:55]: nordi requested all items. -[info][2025/05/28 15:02:05]: nordi requested item list. -[info][2025/05/28 15:02:38]: nordi uplaoded item image screenshot_692-removebg-preview.png. -[info][2025/05/28 15:02:39]: nordi requested create item frenchfries. -[info][2025/05/28 15:02:39]: nordi successfully created item frenchfries. -[info][2025/05/28 15:02:40]: nordi requested all items. -[info][2025/05/28 15:02:42]: nordi requested item list. -[info][2025/05/28 15:02:58]: nordi uplaoded item image screenshot_691-removebg-preview.png. -[info][2025/05/28 15:02:59]: nordi requested create item hotdog. -[info][2025/05/28 15:02:59]: nordi successfully created item hotdog. -[info][2025/05/28 15:03:00]: nordi requested all items. -[info][2025/05/28 15:03:05]: nordi requested item list. -[info][2025/05/28 15:03:33]: nordi uplaoded item image screenshot_690-removebg-preview.png. -[info][2025/05/28 15:03:35]: nordi requested create item burrito. -[info][2025/05/28 15:03:35]: nordi successfully created item burrito. -[info][2025/05/28 15:03:35]: nordi requested all items. -[info][2025/05/28 15:06:08]: nordi requested item list. -[info][2025/05/28 15:06:36]: nordi uplaoded item image screenshot_693-removebg-preview.png. -[info][2025/05/28 15:06:42]: nordi requested create item cottoncandy. -[info][2025/05/28 15:06:42]: nordi successfully created item cottoncandy. -[info][2025/05/28 15:06:42]: nordi requested all items. -[info][2025/05/28 15:07:20]: nordi requested item jelly_beans. -[info][2025/05/28 15:22:21]: nordi requested all items. -[info][2025/05/28 15:22:26]: nordi requested all items. -[info][2025/05/28 15:22:32]: nordi requested item list. -[info][2025/05/28 15:24:44]: nordi uplaoded item image samsplint.png. -[info][2025/05/28 15:24:46]: nordi requested create item samsplint. -[info][2025/05/28 15:24:46]: nordi successfully created item samsplint. -[info][2025/05/28 15:24:47]: nordi requested all items. -[info][2025/05/28 15:29:44]: nordi requested item list. -[info][2025/05/28 15:31:20]: nordi uplaoded item image fenystil.png. -[info][2025/05/28 15:31:23]: nordi requested create item fenystil. -[info][2025/05/28 15:31:23]: nordi successfully created item fenystil. -[info][2025/05/28 15:31:24]: nordi requested all items. -[info][2025/05/28 15:34:06]: nordi requested item list. -[info][2025/05/28 15:34:17]: nordi uplaoded item image screenshot_696-removebg-preview.png. -[info][2025/05/28 15:34:19]: nordi requested create item etilefrin. -[info][2025/05/28 15:34:19]: nordi successfully created item etilefrin. -[info][2025/05/28 15:34:19]: nordi requested all items. -[info][2025/05/28 15:34:35]: nordi requested item list. -[info][2025/05/28 15:35:04]: nordi requested create item midazolam. -[info][2025/05/28 15:35:04]: nordi successfully created item midazolam. -[info][2025/05/28 15:35:04]: nordi requested all items. -[info][2025/05/28 15:35:10]: nordi requested item list. -[info][2025/05/28 15:35:36]: nordi requested create item narketan. -[info][2025/05/28 15:35:36]: nordi successfully created item narketan. -[info][2025/05/28 15:35:37]: nordi requested all items. -[info][2025/05/28 15:36:30]: nordi requested item list. -[info][2025/05/28 15:37:27]: nordi requested create item thiopental. -[info][2025/05/28 15:37:27]: nordi successfully created item thiopental. -[info][2025/05/28 15:37:28]: nordi requested all items. -[info][2025/05/28 15:39:02]: nordi requested item list. -[info][2025/05/28 15:39:12]: nordi uplaoded item image screenshot_697-removebg-preview.png. -[info][2025/05/28 15:39:13]: nordi requested create item sauerstoff. -[info][2025/05/28 15:39:13]: nordi successfully created item sauerstoff. -[info][2025/05/28 15:39:14]: nordi requested all items. -[info][2025/05/28 15:39:26]: nordi requested item list. -[info][2025/05/28 15:39:56]: nordi requested create item vitaminloesung. -[info][2025/05/28 15:39:56]: nordi successfully created item vitaminloesung. -[info][2025/05/28 15:39:57]: nordi requested all items. -[info][2025/05/28 15:41:07]: nordi requested item list. -[info][2025/05/28 15:41:51]: nordi requested create item vitaminloesung_250. -[info][2025/05/28 15:41:51]: nordi successfully created item vitaminloesung_250. -[info][2025/05/28 15:41:51]: nordi requested all items. -[info][2025/05/28 15:42:08]: nordi requested item vitaminloesung. -[info][2025/05/28 15:42:16]: nordi requested save item vitaminloesung. -[info][2025/05/28 15:42:16]: nordi successfully saved item vitaminloesung. -[info][2025/05/28 15:43:05]: nordi requested all items. -[info][2025/05/28 15:43:07]: nordi requested item list. -[info][2025/05/28 15:43:54]: nordi requested create item vitaminloesung_500. -[info][2025/05/28 15:43:54]: nordi successfully created item vitaminloesung_500. -[info][2025/05/28 15:43:55]: nordi requested all items. -[info][2025/05/28 15:43:57]: nordi requested item list. -[info][2025/05/28 15:44:31]: nordi requested create item vitaminloesung_750. -[info][2025/05/28 15:44:31]: nordi successfully created item vitaminloesung_750. -[info][2025/05/28 15:44:32]: nordi requested all items. -[info][2025/05/28 15:44:34]: nordi requested item list. -[info][2025/05/28 15:45:01]: nordi requested create item vitaminloesung. -[info][2025/05/28 15:45:11]: nordi requested create item vitaminloesung_1000. -[info][2025/05/28 15:45:11]: nordi successfully created item vitaminloesung_1000. -[info][2025/05/28 15:45:12]: nordi requested all items. -[info][2025/05/28 15:45:35]: nordi requested item list. -[info][2025/05/28 15:46:04]: nordi requested all items. -[info][2025/05/28 15:46:09]: nordi requested item narketan. -[info][2025/05/28 15:46:15]: nordi requested save item narketan. -[info][2025/05/28 15:46:15]: nordi successfully saved item narketan. -[info][2025/05/28 15:46:18]: nordi requested all items. -[info][2025/05/28 15:46:29]: nordi requested item vitaminloesung_1000. -[info][2025/05/28 15:46:36]: nordi requested all items. -[info][2025/05/28 15:46:41]: nordi requested all items. -[info][2025/05/28 16:21:46]: nordi requested item spazi_limo. -[info][2025/05/28 19:36:50]: nordi requested all items. -[info][2025/05/28 19:36:56]: nordi requested item mettbroetchen. -[info][2025/05/28 21:41:43]: nordi requested all items. -[info][2025/05/28 21:41:49]: nordi requested all items. -[info][2025/05/28 21:41:58]: nordi requested item donut. -[info][2025/05/28 21:57:32]: marc requested shared vehicle hakuchou2. -[info][2025/05/28 21:57:47]: marc requested shared vehicle hakuchou2. -[info][2025/05/28 21:58:27]: marc requested shared vehicle tampa2. -[info][2025/05/29 00:38:11]: minichaoz requested all items. -[info][2025/05/29 00:40:26]: minichaoz requested item list. -[info][2025/05/29 00:40:52]: minichaoz requested create item testitem. -[info][2025/05/29 00:40:52]: minichaoz successfully created item testitem. -[info][2025/05/29 00:40:53]: minichaoz requested all items. -[info][2025/05/29 00:41:39]: minichaoz requested item testitem. -[info][2025/05/29 00:41:43]: minichaoz requested delete item testitem. -[info][2025/05/29 00:41:43]: minichaoz successfully deleted item testitem. -[info][2025/05/29 00:41:43]: minichaoz requested all items. -[info][2025/05/29 00:41:52]: minichaoz requested all items. -[info][2025/05/29 00:42:58]: minichaoz requested all items. -[info][2025/05/29 06:36:19]: max requested all jobs. -[info][2025/05/29 09:38:28]: steven requested all jobs. -[info][2025/05/29 09:39:23]: steven requested all gangs. -[info][2025/05/29 09:40:48]: steven requested all gangs. -[info][2025/05/29 09:40:51]: steven requested all jobs. -[info][2025/05/29 11:52:41]: nordi requested all jobs. -[info][2025/05/29 11:52:47]: steven requested all jobs. -[info][2025/05/29 11:52:57]: steven requested all gangs. -[info][2025/05/29 11:55:44]: steven requested all jobs. -[info][2025/05/29 11:56:26]: nordi requested all jobs. -[info][2025/05/29 12:15:43]: nordi requested all items. -[info][2025/05/29 12:23:37]: nordi requested item ayran. -[info][2025/05/29 12:27:10]: nordi requested all items. -[info][2025/05/29 12:27:16]: nordi requested item gazoz. -[info][2025/05/29 12:28:45]: nordi requested all items. -[info][2025/05/29 12:29:01]: nordi requested item kayas_rotwein. -[info][2025/05/29 12:30:38]: nordi requested all items. -[info][2025/05/29 12:30:44]: nordi requested item kuzu_sis. -[info][2025/05/29 12:34:58]: nordi requested all items. -[info][2025/05/29 12:35:04]: nordi requested item dueruem. -[info][2025/05/29 12:36:11]: nordi requested all items. -[info][2025/05/29 12:38:30]: nordi requested item mixed_grilled_plate. -[info][2025/05/29 12:39:57]: nordi requested all items. -[info][2025/05/29 12:44:15]: nordi requested item sunflowerseeds. -[info][2025/05/29 12:50:28]: nordi requested all items. -[info][2025/05/29 12:50:39]: nordi requested item munky_juice. -[info][2025/05/29 12:50:42]: nordi requested all items. -[info][2025/05/29 12:50:43]: nordi requested item munky_juice_ice_tea. -[info][2025/05/29 12:50:47]: nordi requested all items. -[info][2025/05/29 12:50:48]: nordi requested item munky_juice. -[info][2025/05/29 12:50:52]: nordi requested all items. -[info][2025/05/29 12:50:53]: nordi requested item munky_juice_ice_tea. -[info][2025/05/29 13:01:36]: marc requested all jobs. -[info][2025/05/29 13:04:21]: marc requested all gangs. -[info][2025/05/29 13:04:23]: marc requested all jobs. -[info][2025/05/29 13:05:17]: mark requested all gangs. -[info][2025/05/29 13:05:22]: mark requested all items. -[info][2025/05/29 13:05:22]: mark requested all jobs. -[info][2025/05/29 13:07:15]: mark requested all gangs. -[info][2025/05/29 13:07:17]: mark requested all jobs. -[info][2025/05/29 14:10:13]: nordi requested all jobs. -[info][2025/05/29 14:19:34]: nordi requested all items. -[info][2025/05/29 14:19:41]: nordi requested item goezleme. -[info][2025/05/29 14:29:01]: nordi requested all items. -[info][2025/05/29 14:29:05]: nordi requested item weapon_pistol_mk2. -[info][2025/05/29 14:29:12]: nordi requested all items. -[info][2025/05/29 14:31:06]: nordi requested item munky_juice_ice_tea. -[info][2025/05/29 14:31:54]: nordi requested all items. -[info][2025/05/29 14:32:01]: nordi requested item kuzu_sis. -[info][2025/05/29 14:33:07]: nordi requested all items. -[info][2025/05/29 14:33:12]: nordi requested item lahmacun. -[info][2025/05/29 14:39:39]: nordi uplaoded item image lahmacun.png. -[info][2025/05/29 14:39:41]: nordi requested save item lahmacun. -[info][2025/05/29 14:39:42]: nordi successfully saved item lahmacun. -[info][2025/05/29 14:39:44]: nordi requested all items. -[info][2025/05/29 14:39:48]: nordi requested item raki. -[info][2025/05/29 14:39:52]: nordi requested save item raki. -[info][2025/05/29 14:39:52]: nordi successfully saved item raki. -[info][2025/05/29 14:39:55]: nordi requested all items. -[info][2025/05/29 14:40:03]: nordi requested item dueruem. -[info][2025/05/29 14:40:05]: nordi requested save item dueruem. -[info][2025/05/29 14:40:05]: nordi successfully saved item dueruem. -[info][2025/05/29 14:40:07]: nordi requested all items. -[info][2025/05/29 14:40:12]: nordi requested item doener. -[info][2025/05/29 14:40:14]: nordi requested save item doener. -[info][2025/05/29 14:40:14]: nordi successfully saved item doener. -[info][2025/05/29 14:40:16]: nordi requested all items. -[info][2025/05/29 14:40:22]: nordi requested item donerkebab. -[info][2025/05/29 14:40:24]: nordi requested delete item donerkebab. -[info][2025/05/29 14:40:24]: nordi successfully deleted item donerkebab. -[info][2025/05/29 14:40:25]: nordi requested all items. -[info][2025/05/29 14:40:33]: nordi requested item bauernsalat. -[info][2025/05/29 14:40:34]: nordi requested save item bauernsalat. -[info][2025/05/29 14:40:34]: nordi successfully saved item bauernsalat. -[info][2025/05/29 14:40:37]: nordi requested all items. -[info][2025/05/29 14:40:40]: nordi requested item zwiebelsalat. -[info][2025/05/29 14:40:43]: nordi requested save item zwiebelsalat. -[info][2025/05/29 14:40:43]: nordi successfully saved item zwiebelsalat. -[info][2025/05/29 14:40:45]: nordi requested all items. -[info][2025/05/29 14:40:55]: nordi requested item falafel. -[info][2025/05/29 14:40:57]: nordi requested save item falafel. -[info][2025/05/29 14:40:57]: nordi successfully saved item falafel. -[info][2025/05/29 14:40:59]: nordi requested all items. -[info][2025/05/29 14:41:04]: nordi requested item cay. -[info][2025/05/29 14:41:06]: nordi requested save item cay. -[info][2025/05/29 14:41:06]: nordi successfully saved item cay. -[info][2025/05/29 14:41:08]: nordi requested all items. -[info][2025/05/29 14:41:12]: nordi requested item mixed_grilled_plate. -[info][2025/05/29 14:41:15]: nordi requested save item mixed_grilled_plate. -[info][2025/05/29 14:41:15]: nordi successfully saved item mixed_grilled_plate. -[info][2025/05/29 14:41:16]: nordi requested all items. -[info][2025/05/29 14:41:20]: nordi requested item kuzu_sis. -[info][2025/05/29 14:41:24]: nordi requested save item kuzu_sis. -[info][2025/05/29 14:41:24]: nordi successfully saved item kuzu_sis. -[info][2025/05/29 14:41:25]: nordi requested all items. -[info][2025/05/29 14:41:40]: nordi requested item kayas_rotwein. -[info][2025/05/29 14:41:41]: nordi requested save item kayas_rotwein. -[info][2025/05/29 14:41:41]: nordi successfully saved item kayas_rotwein. -[info][2025/05/29 14:41:42]: nordi requested save item kayas_rotwein. -[info][2025/05/29 14:41:42]: nordi successfully saved item kayas_rotwein. -[info][2025/05/29 14:41:44]: nordi requested all items. -[info][2025/05/29 14:41:50]: nordi requested item gazoz. -[info][2025/05/29 14:41:53]: nordi requested save item gazoz. -[info][2025/05/29 14:41:53]: nordi successfully saved item gazoz. -[info][2025/05/29 14:41:56]: nordi requested all items. -[info][2025/05/29 14:42:04]: nordi requested item sunflowerseeds. -[info][2025/05/29 14:42:06]: nordi requested save item sunflowerseeds. -[info][2025/05/29 14:42:06]: nordi successfully saved item sunflowerseeds. -[info][2025/05/29 14:42:08]: nordi requested all items. -[info][2025/05/29 14:42:21]: nordi requested item pizza_burger. -[info][2025/05/29 14:42:23]: nordi requested save item pizza_burger. -[info][2025/05/29 14:42:23]: nordi successfully saved item pizza_burger. -[info][2025/05/29 14:42:26]: nordi requested all items. -[info][2025/05/29 14:42:31]: nordi requested item spazi. -[info][2025/05/29 14:42:33]: nordi requested save item spazi. -[info][2025/05/29 14:42:33]: nordi successfully saved item spazi. -[info][2025/05/29 14:42:36]: nordi requested all items. -[info][2025/05/29 14:42:38]: nordi requested item spazi_limo. -[info][2025/05/29 14:42:40]: nordi requested save item spazi_limo. -[info][2025/05/29 14:42:41]: nordi successfully saved item spazi_limo. -[info][2025/05/29 14:42:43]: nordi requested all items. -[info][2025/05/29 14:42:50]: nordi requested item salep. -[info][2025/05/29 14:42:52]: nordi requested save item salep. -[info][2025/05/29 14:42:52]: nordi successfully saved item salep. -[info][2025/05/29 14:42:55]: nordi requested all items. -[info][2025/05/29 14:43:13]: nordi requested item goezleme. -[info][2025/05/29 14:43:16]: nordi requested save item goezleme. -[info][2025/05/29 14:43:16]: nordi successfully saved item goezleme. -[info][2025/05/29 14:43:18]: nordi requested all items. -[info][2025/05/29 14:43:29]: nordi requested item ayran. -[info][2025/05/29 14:43:30]: nordi requested save item ayran. -[info][2025/05/29 14:43:30]: nordi successfully saved item ayran. -[info][2025/05/29 14:43:32]: nordi requested all items. -[info][2025/05/29 14:46:31]: nordi requested item salep. -[info][2025/05/29 14:47:13]: nordi requested all items. -[info][2025/05/29 14:47:20]: nordi requested item marble_pop_limo. -[info][2025/05/29 14:48:47]: nordi requested all items. -[info][2025/05/29 14:48:53]: nordi requested item cerveza_barracho. -[info][2025/05/29 14:52:37]: nordi requested all items. -[info][2025/05/29 14:52:44]: nordi requested item pizza_piece. -[info][2025/05/29 14:52:46]: nordi requested save item pizza_piece. -[info][2025/05/29 14:52:46]: nordi successfully saved item pizza_piece. -[info][2025/05/29 14:52:48]: nordi requested all items. -[info][2025/05/29 15:00:50]: nordi requested item fries_with_dip. -[info][2025/05/29 15:00:51]: nordi requested save item fries_with_dip. -[info][2025/05/29 15:00:52]: nordi successfully saved item fries_with_dip. -[info][2025/05/29 15:00:53]: nordi requested all items. -[info][2025/05/29 15:01:01]: nordi requested item loaded_fries. -[info][2025/05/29 15:02:04]: nordi requested all items. -[info][2025/05/29 15:02:10]: nordi requested item loaded_fries. -[info][2025/05/29 15:02:12]: nordi requested save item loaded_fries. -[info][2025/05/29 15:02:12]: nordi successfully saved item loaded_fries. -[info][2025/05/29 15:02:14]: nordi requested all items. -[info][2025/05/29 15:02:22]: nordi requested item salsa_nachos. -[info][2025/05/29 15:03:36]: nordi requested all items. -[info][2025/05/29 15:03:38]: nordi requested item salsa_nachos. -[info][2025/05/29 15:03:40]: nordi requested save item salsa_nachos. -[info][2025/05/29 15:03:40]: nordi successfully saved item salsa_nachos. -[info][2025/05/29 15:03:42]: nordi requested all items. -[info][2025/05/29 15:03:44]: nordi requested item cheeseanachos. -[info][2025/05/29 15:04:17]: nordi requested all items. -[info][2025/05/29 15:04:19]: nordi requested item cheeseanachos. -[info][2025/05/29 15:04:20]: nordi requested save item cheeseanachos. -[info][2025/05/29 15:04:20]: nordi successfully saved item cheeseanachos. -[info][2025/05/29 15:04:23]: nordi requested all items. -[info][2025/05/29 15:04:31]: nordi requested item saldprezels. -[info][2025/05/29 15:06:11]: nordi requested save item saldprezels. -[info][2025/05/29 15:06:12]: nordi successfully saved item saldprezels. -[info][2025/05/29 15:06:13]: nordi requested all items. -[info][2025/05/29 15:07:23]: nordi requested item jelly_beans. -[info][2025/05/29 15:07:25]: nordi requested save item jelly_beans. -[info][2025/05/29 15:07:25]: nordi successfully saved item jelly_beans. -[info][2025/05/29 15:07:27]: nordi requested all items. -[info][2025/05/29 15:07:35]: nordi requested item j_and_js. -[info][2025/05/29 15:08:19]: nordi requested save item j_and_js. -[info][2025/05/29 15:08:19]: nordi successfully saved item j_and_js. -[info][2025/05/29 15:08:23]: nordi requested all items. -[info][2025/05/29 15:08:29]: nordi requested item gumianimals. -[info][2025/05/29 15:08:41]: nordi requested save item gumianimals. -[info][2025/05/29 15:08:41]: nordi successfully saved item gumianimals. -[info][2025/05/29 15:08:43]: nordi requested all items. -[info][2025/05/29 15:08:56]: nordi requested item eis_konfekt. -[info][2025/05/29 15:10:18]: nordi requested save item eis_konfekt. -[info][2025/05/29 15:10:18]: nordi successfully saved item eis_konfekt. -[info][2025/05/29 15:10:20]: nordi requested all items. -[info][2025/05/29 15:10:23]: nordi requested item waffle_icream. -[info][2025/05/29 15:12:51]: nordi requested item waffle_icream. -[info][2025/05/29 15:14:52]: nordi requested item waffle_icream. -[info][2025/05/29 15:14:58]: nordi requested save item waffle_icream. -[info][2025/05/29 15:14:58]: nordi successfully saved item waffle_icream. -[info][2025/05/29 15:14:59]: nordi requested save item waffle_icream. -[info][2025/05/29 15:14:59]: nordi successfully saved item waffle_icream. -[info][2025/05/29 15:15:14]: nordi requested all items. -[info][2025/05/29 15:15:20]: nordi requested item popcorn. -[info][2025/05/29 15:15:22]: nordi requested save item popcorn. -[info][2025/05/29 15:15:22]: nordi successfully saved item popcorn. -[info][2025/05/29 15:15:26]: nordi requested all items. -[info][2025/05/29 16:06:41]: nordi requested item popcorn. -[info][2025/05/29 17:04:25]: nordi requested all items. -[info][2025/05/29 17:04:31]: nordi requested all items. -[info][2025/05/29 17:04:37]: nordi requested item waffle_icream. -[info][2025/05/29 17:06:17]: nordi requested all items. -[info][2025/05/29 17:06:25]: nordi requested item bcesandwich. -[info][2025/05/29 17:09:31]: nordi requested all items. -[info][2025/05/29 17:09:37]: nordi requested item list. -[info][2025/05/29 17:09:56]: nordi uplaoded item image softccookie.png. -[info][2025/05/29 17:10:23]: nordi requested create item scookie. -[info][2025/05/29 17:10:23]: nordi successfully created item scookie. -[info][2025/05/29 17:10:24]: nordi requested all items. -[info][2025/05/29 17:14:31]: nordi requested all items. -[info][2025/05/29 17:49:34]: nordi requested item sunflowerseeds. -[info][2025/05/29 17:49:39]: nordi requested all items. -[info][2025/05/29 17:49:44]: nordi requested item sunflowerseeds. -[info][2025/05/29 17:52:30]: nordi requested all items. -[info][2025/05/29 17:52:37]: nordi requested item marble_pop_limo. -[info][2025/05/29 17:53:37]: nordi uplaoded item image marblepop.png. -[info][2025/05/29 17:53:40]: nordi requested save item marble_pop_limo. -[info][2025/05/29 17:53:40]: nordi successfully saved item marble_pop_limo. -[info][2025/05/29 17:56:12]: nordi requested save item marble_pop_limo. -[info][2025/05/29 17:56:12]: nordi successfully saved item marble_pop_limo. -[info][2025/05/29 17:56:30]: nordi requested save item marble_pop_limo. -[info][2025/05/29 17:56:31]: nordi successfully saved item marble_pop_limo. -[info][2025/05/29 17:56:32]: nordi requested all items. -[info][2025/05/29 17:56:38]: nordi requested item sunflowerseeds. -[info][2025/05/29 17:57:41]: nordi requested delete item sunflowerseeds. -[info][2025/05/29 17:57:41]: nordi successfully deleted item sunflowerseeds. -[info][2025/05/29 17:57:41]: nordi requested all items. -[info][2025/05/29 17:57:44]: nordi requested item list. -[info][2025/05/29 17:58:41]: nordi requested create item sunflowerseeds. -[info][2025/05/29 17:58:41]: nordi successfully created item sunflowerseeds. -[info][2025/05/29 17:58:42]: nordi requested all items. -[info][2025/05/29 18:49:45]: nordi requested item waffle_icream. -[info][2025/05/29 18:50:14]: nordi requested all items. -[info][2025/05/29 18:50:33]: nordi requested all items. -[info][2025/05/29 18:50:39]: nordi requested item waffle_icream. -[info][2025/05/29 19:25:02]: mark requested all jobs. -[info][2025/05/29 19:25:11]: mark requested job ambulance. -[info][2025/05/29 19:35:28]: nordi requested all items. -[info][2025/05/29 19:35:36]: nordi requested item billokaffee. -[info][2025/05/29 19:35:42]: nordi requested all items. -[info][2025/05/29 19:35:46]: nordi requested item coffee. -[info][2025/05/29 19:35:58]: nordi requested save item coffee. -[info][2025/05/29 19:35:58]: nordi successfully saved item coffee. -[info][2025/05/29 19:37:01]: nordi requested save item coffee. -[info][2025/05/29 19:37:01]: nordi successfully saved item coffee. -[info][2025/05/29 20:41:13]: campers requested all jobs. -[info][2025/05/29 20:41:41]: campers requested job police. -[info][2025/05/29 21:41:03]: campers requested all items. -[info][2025/05/29 21:45:44]: max requested all items. -[info][2025/05/29 22:00:34]: campers requested all items. -[info][2025/05/29 22:00:36]: campers requested item list. -[info][2025/05/29 22:00:39]: campers requested all items. -[info][2025/05/29 22:00:48]: campers requested item ammunition_route. -[info][2025/05/29 22:01:25]: campers requested all items. -[info][2025/05/29 22:01:43]: campers requested item pistol_ammo. -[info][2025/05/29 22:30:47]: campers requested all items. -[info][2025/05/30 06:30:49]: nordi requested all items. -[info][2025/05/30 06:30:58]: nordi requested item water_bottle. -[info][2025/05/30 06:31:50]: nordi requested save item water_bottle. -[info][2025/05/30 06:31:50]: nordi successfully saved item water_bottle. -[info][2025/05/30 06:40:23]: nordi requested all items. -[info][2025/05/30 06:40:28]: nordi requested item snikkel_candy. -[info][2025/05/30 07:05:43]: nordi requested all items. -[info][2025/05/30 07:05:49]: nordi requested item ornageo. -[info][2025/05/30 07:26:37]: nordi requested all items. -[info][2025/05/30 07:27:35]: nordi requested item twerks_candy. -[info][2025/05/30 07:28:51]: nordi requested all items. -[info][2025/05/30 07:28:57]: nordi requested item snikkel_candy. -[info][2025/05/30 07:33:21]: nordi requested all items. -[info][2025/05/30 07:34:30]: nordi requested item list. -[info][2025/05/30 07:39:55]: nordi requested create item kakao. -[info][2025/05/30 07:39:55]: nordi successfully created item kakao. -[info][2025/05/30 07:39:56]: nordi requested all items. -[info][2025/05/30 07:40:03]: nordi requested item kakao. -[info][2025/05/30 07:40:07]: nordi requested all items. -[info][2025/05/30 07:40:11]: nordi requested item snikkel_candy. -[info][2025/05/30 07:40:52]: nordi uplaoded item image snikkelcandy.png. -[info][2025/05/30 07:40:59]: nordi requested save item snikkel_candy. -[info][2025/05/30 07:40:59]: nordi successfully saved item snikkel_candy. -[info][2025/05/30 08:57:10]: nordi requested all items. -[info][2025/05/30 09:39:26]: nordi requested item freyas_blossom. -[info][2025/05/30 09:39:46]: nordi requested all items. -[info][2025/05/30 09:39:54]: nordi requested item odins_wisdom_brew. -[info][2025/05/30 09:42:28]: nordi requested all items. -[info][2025/05/30 09:42:32]: nordi requested item skadis_hunt. -[info][2025/05/30 09:43:15]: nordi requested all items. -[info][2025/05/30 09:43:24]: nordi requested item njords_tide. -[info][2025/05/30 09:44:04]: nordi requested all items. -[info][2025/05/30 09:44:08]: nordi requested item sifs_golden-ale. -[info][2025/05/30 09:44:35]: nordi requested all items. -[info][2025/05/30 09:44:49]: nordi requested item yggdrasils_roots. -[info][2025/05/30 09:44:52]: nordi requested delete item undefined. -[info][2025/05/30 09:44:54]: nordi requested all items. -[info][2025/05/30 09:44:55]: nordi requested item yggdrasils_root. -[info][2025/05/30 09:46:54]: nordi requested all items. -[info][2025/05/30 09:47:16]: nordi requested item baldurs_light. -[info][2025/05/30 09:47:50]: nordi requested all items. -[info][2025/05/30 09:47:56]: nordi requested item baldurslightelixir. -[info][2025/05/30 09:47:59]: nordi requested all items. -[info][2025/05/30 09:48:01]: nordi requested item baldurs_light_elixir. -[info][2025/05/30 09:48:03]: nordi requested all items. -[info][2025/05/30 09:48:05]: nordi requested item baldurslightelixir. -[info][2025/05/30 09:48:07]: nordi requested all items. -[info][2025/05/30 09:48:19]: nordi requested item baldurslightelixir. -[info][2025/05/30 09:48:59]: nordi requested all items. -[info][2025/05/30 09:49:01]: nordi requested item baldurs_light. -[info][2025/05/30 09:49:02]: nordi requested all items. -[info][2025/05/30 09:49:04]: nordi requested item baldurs_light_elixir. -[info][2025/05/30 09:49:07]: nordi requested delete item undefined. -[info][2025/05/30 09:49:09]: nordi requested all items. -[info][2025/05/30 09:49:18]: nordi requested item aldurs_right_ites. -[info][2025/05/30 09:49:20]: nordi requested all items. -[info][2025/05/30 09:49:21]: nordi requested item aldurs_right_ites. -[info][2025/05/30 09:49:26]: nordi requested all items. -[info][2025/05/30 09:49:54]: nordi requested item heimdalls_watch. -[info][2025/05/30 09:50:26]: nordi requested all items. -[info][2025/05/30 09:50:32]: nordi requested item lokis_trickster_punch. -[info][2025/05/30 09:50:34]: nordi requested all items. -[info][2025/05/30 09:50:35]: nordi requested item lokis_trickery. -[info][2025/05/30 09:51:08]: nordi requested all items. -[info][2025/05/30 09:51:17]: nordi requested item freyas_kiss. -[info][2025/05/30 09:52:30]: nordi requested all items. -[info][2025/05/30 09:52:34]: nordi requested item thors_hammer. -[info][2025/05/30 09:54:10]: nordi requested all items. -[info][2025/05/30 09:54:14]: nordi requested item odins_mead. -[info][2025/05/30 09:57:53]: nordi requested all items. -[info][2025/05/30 10:00:42]: nordi requested item ornageo. -[info][2025/05/30 10:01:09]: nordi requested all items. -[info][2025/05/30 10:01:34]: nordi requested item list. -[info][2025/05/30 10:03:00]: nordi uplaoded item image sludgie.png. -[info][2025/05/30 10:03:08]: nordi requested create item sludgie. -[info][2025/05/30 10:03:08]: nordi successfully created item sludgie. -[info][2025/05/30 10:03:08]: nordi requested all items. -[info][2025/05/30 10:08:34]: nordi requested item sludgie. -[info][2025/05/30 10:10:15]: nordi requested all items. -[info][2025/05/30 10:10:23]: nordi requested item ornageo. -[info][2025/05/30 10:15:19]: nordi requested all items. -[info][2025/05/30 10:15:25]: nordi requested item list. -[info][2025/05/30 10:16:55]: nordi requested create item ecola_light. -[info][2025/05/30 10:16:55]: nordi successfully created item ecola_light. -[info][2025/05/30 10:16:56]: nordi requested all items. -[info][2025/05/30 10:17:00]: nordi requested item ecola_light. -[info][2025/05/30 10:19:02]: nordi requested all items. -[info][2025/05/30 10:19:04]: nordi requested item ornageo. -[info][2025/05/30 10:19:08]: nordi requested all items. -[info][2025/05/30 10:19:10]: nordi requested item ecola_light. -[info][2025/05/30 10:19:13]: nordi requested save item ecola_light. -[info][2025/05/30 10:19:13]: nordi successfully saved item ecola_light. -[info][2025/05/30 10:19:56]: nordi requested all items. -[info][2025/05/30 10:20:08]: nordi requested item heartstopper. -[info][2025/05/30 10:21:56]: nordi requested all items. -[info][2025/05/30 10:22:00]: nordi requested item bleeder. -[info][2025/05/30 10:22:16]: nordi requested all items. -[info][2025/05/30 10:22:21]: nordi requested item burger. -[info][2025/05/30 10:24:04]: nordi requested all items. -[info][2025/05/30 10:24:08]: nordi requested item cheese_burger. -[info][2025/05/30 10:24:12]: nordi uplaoded item image baconcheeseburger.png. -[info][2025/05/30 10:24:15]: nordi requested save item cheese_burger. -[info][2025/05/30 10:24:15]: nordi successfully saved item cheese_burger. -[info][2025/05/30 10:24:26]: nordi requested save item cheese_burger. -[info][2025/05/30 10:24:26]: nordi successfully saved item cheese_burger. -[info][2025/05/30 10:24:29]: nordi requested all items. -[info][2025/05/30 10:25:18]: nordi requested item burger. -[info][2025/05/30 10:25:31]: nordi requested all items. -[info][2025/05/30 10:25:40]: nordi requested item ffries. -[info][2025/05/30 10:26:37]: nordi requested all items. -[info][2025/05/30 10:26:45]: nordi requested item frenchfries. -[info][2025/05/30 10:26:58]: nordi requested all items. -[info][2025/05/30 10:27:21]: nordi requested item burrito. -[info][2025/05/30 10:27:46]: nordi requested all items. -[info][2025/05/30 10:29:03]: nordi requested item cottoncandy. -[info][2025/05/30 11:05:35]: nordi requested all items. -[info][2025/05/30 11:05:37]: nordi requested item list. -[info][2025/05/30 11:20:04]: nordi uplaoded item image juice.png. -[info][2025/05/30 11:20:07]: nordi requested create item juice. -[info][2025/05/30 11:20:07]: nordi successfully created item juice. -[info][2025/05/30 11:20:07]: nordi requested all items. -[info][2025/05/30 11:33:18]: nordi requested all jobs. -[info][2025/05/30 11:33:20]: nordi requested all items. -[info][2025/05/30 11:34:04]: nordi requested item wine. -[info][2025/05/30 11:34:17]: nordi requested save item wine. -[info][2025/05/30 11:34:17]: nordi successfully saved item wine. -[info][2025/05/30 11:35:13]: nordi requested all items. -[info][2025/05/30 11:35:20]: nordi requested item list. -[info][2025/05/30 11:37:14]: nordi uplaoded item image wwine.png. -[info][2025/05/30 11:41:13]: nordi uplaoded item image wwine.png. -[info][2025/05/30 11:43:47]: nordi requested all items. -[info][2025/05/30 11:43:56]: nordi requested item list. -[info][2025/05/30 11:44:54]: nordi requested create item wwine. -[info][2025/05/30 11:44:55]: nordi successfully created item wwine. -[info][2025/05/30 11:44:55]: nordi requested all items. -[info][2025/05/30 11:45:03]: nordi requested item wwine. -[info][2025/05/30 11:47:24]: nordi requested all items. -[info][2025/05/30 11:47:27]: nordi requested item wwine. -[info][2025/05/30 11:47:31]: nordi requested save item wwine. -[info][2025/05/30 11:47:31]: nordi successfully saved item wwine. -[info][2025/05/30 11:47:33]: nordi requested all items. -[info][2025/05/30 11:47:39]: nordi requested item wine. -[info][2025/05/30 11:47:44]: nordi requested save item wine. -[info][2025/05/30 11:47:44]: nordi successfully saved item wine. -[info][2025/05/30 12:32:43]: nordi requested all items. -[info][2025/05/30 12:32:49]: nordi requested item roofbox_carbon. -[info][2025/05/30 12:33:20]: nordi requested all items. -[info][2025/05/30 12:33:22]: nordi requested item roofbox_color. -[info][2025/05/30 12:33:43]: nordi requested all items. -[info][2025/05/30 12:33:50]: nordi requested item bikerack. -[info][2025/05/30 23:43:46]: campers requested all items. -[info][2025/05/30 23:55:56]: campers requested item weapon_combatpistol. -[info][2025/05/30 23:56:01]: campers requested all items. -[info][2025/05/30 23:56:24]: campers requested item weapon_marksmanpistol. -[info][2025/05/30 23:56:25]: campers requested all items. -[info][2025/05/30 23:56:30]: campers requested item weapon_pistolxm3. -[info][2025/05/31 00:50:01]: campers requested all items. -[info][2025/05/31 00:50:58]: campers requested item campers_fuel. -[info][2025/05/31 11:21:15]: nordi requested all jobs. -[info][2025/05/31 11:21:19]: nordi requested job police. -[info][2025/05/31 11:25:57]: nordi requested all items. -[info][2025/05/31 11:27:19]: nordi requested all items. -[info][2025/05/31 11:27:25]: nordi requested item pd_keycard. -[info][2025/05/31 11:31:04]: nordi requested all items. -[info][2025/05/31 11:31:09]: nordi requested all jobs. -[info][2025/05/31 11:31:29]: nordi requested job police. -[info][2025/05/31 11:31:33]: nordi requested save job police. -[info][2025/05/31 11:31:33]: nordi successfully saved job police. -[info][2025/05/31 12:34:35]: campers requested all jobs. -[info][2025/05/31 12:42:25]: campers requested all jobs. -[info][2025/05/31 12:49:26]: campers requested create job marshal. -[info][2025/05/31 12:49:26]: campers successfully created item undefined. -[info][2025/05/31 12:49:26]: campers requested all jobs. -[info][2025/05/31 14:42:28]: nordi requested all items. -[info][2025/05/31 14:42:30]: nordi requested item list. -[info][2025/05/31 14:43:20]: nordi uplaoded item image idcardpd.png. -[info][2025/05/31 14:43:24]: nordi requested create item police_card. -[info][2025/05/31 14:43:24]: nordi successfully created item police_card. -[info][2025/05/31 14:43:25]: nordi requested all items. -[info][2025/05/31 14:43:27]: nordi requested item list. -[info][2025/05/31 14:43:53]: nordi requested create item ems_card. -[info][2025/05/31 14:43:54]: nordi successfully created item ems_card. -[info][2025/05/31 14:43:54]: nordi requested all items. -[info][2025/05/31 14:44:04]: nordi requested item list. -[info][2025/05/31 14:44:25]: nordi requested create item marshal_card. -[info][2025/05/31 14:44:25]: nordi successfully created item marshal_card. -[info][2025/05/31 14:44:25]: nordi requested all items. -[info][2025/05/31 14:44:31]: nordi requested item list. -[info][2025/05/31 14:45:00]: nordi requested create item doj_card. -[info][2025/05/31 14:45:00]: nordi successfully created item doj_card. -[info][2025/05/31 14:45:01]: nordi requested all items. -[info][2025/05/31 14:45:08]: nordi requested item list. -[info][2025/05/31 14:45:32]: nordi requested create item bcso_card. -[info][2025/05/31 14:45:32]: nordi successfully created item bcso_card. -[info][2025/05/31 14:45:32]: nordi requested all items. -[info][2025/05/31 15:16:56]: nordi requested all jobs. -[info][2025/05/31 15:17:26]: nordi requested all jobs. -[info][2025/05/31 15:34:56]: nordi requested all items. -[info][2025/05/31 15:37:51]: nordi requested item list. -[info][2025/05/31 15:40:29]: nordi uplaoded item image idcard.png. -[info][2025/05/31 15:40:30]: nordi requested create item id_card. -[info][2025/05/31 15:40:34]: nordi requested all items. -[info][2025/05/31 15:40:40]: nordi requested item id_card. -[info][2025/05/31 15:40:45]: nordi requested all items. -[info][2025/05/31 15:40:49]: nordi requested item driver_license. -[info][2025/05/31 15:41:40]: nordi requested all jobs. -[info][2025/05/31 15:49:17]: nordi requested job unemployed. -[info][2025/05/31 16:36:37]: nordi requested all items. -[info][2025/05/31 16:42:43]: nordi requested item list. -[info][2025/05/31 16:44:35]: nordi requested all items. -[info][2025/05/31 16:44:37]: nordi requested item list. -[info][2025/05/31 16:46:05]: nordi requested all items. -[info][2025/05/31 16:46:22]: nordi requested item list. -[info][2025/05/31 16:46:56]: nordi requested create item weapon_license. -[info][2025/05/31 16:46:56]: nordi successfully created item weapon_license. -[info][2025/05/31 16:46:57]: nordi requested all items. -[info][2025/05/31 16:47:02]: nordi requested item weapon_license. -[info][2025/05/31 16:47:10]: nordi requested save item weapon_license. -[info][2025/05/31 16:47:10]: nordi successfully saved item weapon_license. -[info][2025/05/31 18:52:49]: nordi requested all items. -[info][2025/05/31 18:53:16]: nordi requested item clip_attachment. -[info][2025/05/31 19:08:23]: nordi requested all items. -[info][2025/05/31 19:08:25]: nordi requested item list. -[info][2025/05/31 19:09:56]: nordi requested create item pistol_extendedclip. -[info][2025/05/31 19:09:56]: nordi successfully created item pistol_extendedclip. -[info][2025/05/31 19:09:57]: nordi requested all items. -[info][2025/05/31 19:12:35]: nordi requested all items. -[info][2025/05/31 19:12:40]: nordi requested item pistol_extendedclip. -[info][2025/05/31 19:17:53]: nordi requested save item pistol_extendedclip. -[info][2025/05/31 19:17:53]: nordi successfully saved item pistol_extendedclip. -[info][2025/05/31 19:17:55]: nordi requested all items. -[info][2025/05/31 19:17:58]: nordi requested item list. -[info][2025/05/31 19:18:19]: nordi requested create item pistol_defaultclip. -[info][2025/05/31 19:18:19]: nordi successfully created item pistol_defaultclip. -[info][2025/05/31 19:18:20]: nordi requested all items. -[info][2025/05/31 19:19:45]: nordi requested item list. -[info][2025/05/31 19:20:09]: nordi requested create item pistol_flashlight. -[info][2025/05/31 19:20:09]: nordi successfully created item pistol_flashlight. -[info][2025/05/31 19:20:10]: nordi requested all items. -[info][2025/05/31 19:20:19]: nordi requested item list. -[info][2025/05/31 19:20:49]: nordi requested create item pistol_suppressor. -[info][2025/05/31 19:20:49]: nordi successfully created item pistol_suppressor. -[info][2025/05/31 19:20:51]: nordi requested all items. -[info][2025/05/31 19:20:59]: nordi requested item list. -[info][2025/05/31 19:21:43]: nordi requested create item pistol_holoscope. -[info][2025/05/31 19:21:43]: nordi successfully created item pistol_holoscope. -[info][2025/05/31 19:21:44]: nordi requested all items. -[info][2025/05/31 19:22:02]: nordi requested item suppressor_attachment. -[info][2025/05/31 19:22:04]: nordi requested all items. -[info][2025/05/31 19:22:06]: nordi requested item pistol_suppressor. -[info][2025/05/31 19:22:16]: nordi requested all items. -[info][2025/05/31 19:22:33]: nordi requested item pistol_flashlight. -[info][2025/05/31 19:22:57]: nordi requested all items. -[info][2025/05/31 19:22:59]: nordi requested item pistol_holoscope. -[info][2025/05/31 21:02:52]: max requested all items. -[info][2025/05/31 21:02:55]: max requested item list. -[info][2025/05/31 21:04:06]: max requested all items. -[info][2025/05/31 21:04:23]: max requested item list. -[info][2025/05/31 21:05:32]: max uplaoded item image kq_outfitbag.png. -[info][2025/05/31 21:05:55]: max requested create item kq_outfitbag. -[info][2025/05/31 21:05:55]: max successfully created item kq_outfitbag. -[info][2025/05/31 21:05:56]: max requested all items. -[info][2025/05/31 22:20:02]: max requested all jobs. -[info][2025/05/31 22:20:05]: max requested job mechanic. -[info][2025/05/31 22:36:00]: max requested all jobs. -[info][2025/05/31 22:36:06]: max requested job mechanic. -[info][2025/05/31 23:27:19]: campers requested all jobs. -[info][2025/05/31 23:27:22]: campers requested job marshal. -[info][2025/05/31 23:28:38]: campers requested all jobs. -[info][2025/05/31 23:28:43]: campers requested job police. -[info][2025/05/31 23:28:55]: campers requested all jobs. -[info][2025/05/31 23:28:58]: campers requested job marshal. -[info][2025/05/31 23:30:05]: campers requested save job marshal. -[info][2025/05/31 23:30:05]: campers successfully saved job marshal. -[info][2025/05/31 23:30:07]: campers requested all jobs. -[info][2025/05/31 23:30:10]: campers requested job marshal. -[info][2025/05/31 23:30:13]: campers requested all jobs. -[info][2025/05/31 23:30:17]: campers requested job police. -[info][2025/05/31 23:30:21]: campers requested all jobs. -[info][2025/05/31 23:30:23]: campers requested job marshal. -[info][2025/05/31 23:30:27]: campers requested all jobs. -[info][2025/05/31 23:30:30]: campers requested job ambulance. -[info][2025/05/31 23:30:31]: campers requested all jobs. -[info][2025/05/31 23:30:33]: campers requested job police. -[info][2025/05/31 23:30:38]: campers requested all jobs. -[info][2025/05/31 23:30:39]: campers requested job marshal. -[info][2025/05/31 23:30:49]: campers requested save job marshal. -[info][2025/05/31 23:30:50]: campers successfully saved job marshal. -[info][2025/05/31 23:30:56]: campers requested all jobs. -[info][2025/05/31 23:30:59]: campers requested job police. -[info][2025/05/31 23:31:07]: campers requested all jobs. -[info][2025/05/31 23:31:10]: campers requested job marshal. -[info][2025/05/31 23:31:33]: campers requested save job marshal. -[info][2025/05/31 23:31:33]: campers successfully saved job marshal. -[info][2025/05/31 23:31:37]: campers requested all jobs. -[info][2025/05/31 23:31:41]: campers requested job police. -[info][2025/05/31 23:31:51]: campers requested all jobs. -[info][2025/05/31 23:31:58]: campers requested job marshal. -[info][2025/05/31 23:32:31]: campers requested save job marshal. -[info][2025/05/31 23:32:31]: campers successfully saved job marshal. -[info][2025/05/31 23:32:34]: campers requested save job marshal. -[info][2025/05/31 23:32:34]: campers successfully saved job marshal. -[info][2025/05/31 23:32:39]: campers requested all jobs. -[info][2025/05/31 23:32:41]: campers requested job marshal. -[info][2025/05/31 23:32:53]: campers requested all items. -[info][2025/05/31 23:45:59]: campers requested all jobs. -[info][2025/05/31 23:46:02]: campers requested job marshal. -[info][2025/06/01 00:06:04]: nordi requested all items. -[info][2025/06/01 00:06:13]: nordi requested item pistol_flashlight. -[info][2025/06/01 00:06:40]: nordi requested all items. -[info][2025/06/01 00:06:49]: nordi requested item pistol_holoscope. -[info][2025/06/01 00:08:57]: campers requested all jobs. -[info][2025/06/01 00:52:29]: max requested all items. -[info][2025/06/01 00:52:32]: max requested item list. -[info][2025/06/01 00:52:51]: max requested create item kennzeichen_tool. -[info][2025/06/01 00:52:51]: max successfully created item kennzeichen_tool. -[info][2025/06/01 00:52:52]: max requested all items. -[info][2025/06/01 00:52:55]: max requested item list. -[info][2025/06/01 00:53:20]: max requested create item tuch. -[info][2025/06/01 00:53:20]: max successfully created item tuch. -[info][2025/06/01 00:53:20]: max requested all items. -[info][2025/06/01 10:38:40]: nordi requested all items. -[info][2025/06/01 10:38:42]: nordi requested item list. -[info][2025/06/01 10:39:13]: nordi requested create item smg_defaultclip. -[info][2025/06/01 10:39:13]: nordi successfully created item smg_defaultclip. -[info][2025/06/01 10:39:13]: nordi requested all items. -[info][2025/06/01 10:39:17]: nordi requested item list. -[info][2025/06/01 10:39:50]: nordi uplaoded item image smg_extendedclip.png. -[info][2025/06/01 10:39:55]: nordi requested create item smg_extendedclip. -[info][2025/06/01 10:39:55]: nordi successfully created item smg_extendedclip. -[info][2025/06/01 10:39:56]: nordi requested all items. -[info][2025/06/01 10:40:11]: nordi requested all items. -[info][2025/06/01 10:40:37]: nordi requested item list. -[info][2025/06/01 10:40:54]: nordi requested create item smg_flashlight. -[info][2025/06/01 10:40:54]: nordi successfully created item smg_flashlight. -[info][2025/06/01 10:40:55]: nordi requested all items. -[info][2025/06/01 10:41:01]: nordi requested item list. -[info][2025/06/01 10:41:24]: nordi requested create item smg_scope. -[info][2025/06/01 10:41:24]: nordi successfully created item smg_scope. -[info][2025/06/01 10:41:25]: nordi requested all items. -[info][2025/06/01 10:41:44]: nordi requested item list. -[info][2025/06/01 10:42:14]: nordi requested create item smg_suppressor. -[info][2025/06/01 10:42:14]: nordi successfully created item smg_suppressor. -[info][2025/06/01 10:42:15]: nordi requested all items. -[info][2025/06/01 10:43:12]: nordi requested item list. -[info][2025/06/01 10:44:00]: nordi requested create item smg_drum. -[info][2025/06/01 10:44:00]: nordi successfully created item smg_drum. -[info][2025/06/01 10:44:00]: nordi requested all items. -[info][2025/06/01 10:44:18]: nordi requested item list. -[info][2025/06/01 10:44:53]: nordi requested create item smg_grip. -[info][2025/06/01 10:44:53]: nordi successfully created item smg_grip. -[info][2025/06/01 10:44:53]: nordi requested all items. -[info][2025/06/01 10:49:03]: nordi requested item smg_drum. -[info][2025/06/01 10:50:34]: nordi requested all items. -[info][2025/06/01 10:50:35]: nordi requested item list. -[info][2025/06/01 10:51:37]: nordi requested create item pistol_smallscope. -[info][2025/06/01 10:51:37]: nordi successfully created item pistol_smallscope. -[info][2025/06/01 10:51:37]: nordi requested all items. -[info][2025/06/01 10:52:52]: nordi requested item list. -[info][2025/06/01 10:53:21]: nordi requested create item pistol_compensator. -[info][2025/06/01 10:53:21]: nordi successfully created item pistol_compensator. -[info][2025/06/01 10:53:22]: nordi requested all items. -[info][2025/06/01 10:55:20]: nordi requested item list. -[info][2025/06/01 10:55:41]: nordi requested create item smg_holoscope. -[info][2025/06/01 10:55:41]: nordi successfully created item smg_holoscope. -[info][2025/06/01 10:55:42]: nordi requested all items. -[info][2025/06/01 10:56:58]: nordi requested item list. -[info][2025/06/01 10:57:16]: nordi requested create item shotgun_flashlight. -[info][2025/06/01 10:57:16]: nordi successfully created item shotgun_flashlight. -[info][2025/06/01 10:57:17]: nordi requested all items. -[info][2025/06/01 10:57:41]: nordi requested item list. -[info][2025/06/01 10:57:58]: nordi requested create item shotgun_suppressor. -[info][2025/06/01 10:57:58]: nordi successfully created item shotgun_suppressor. -[info][2025/06/01 10:57:59]: nordi requested all items. -[info][2025/06/01 10:58:36]: nordi requested item list. -[info][2025/06/01 10:59:00]: nordi requested create item shotgun_grip. -[info][2025/06/01 10:59:00]: nordi successfully created item shotgun_grip. -[info][2025/06/01 10:59:01]: nordi requested all items. -[info][2025/06/01 10:59:31]: nordi requested item list. -[info][2025/06/01 11:00:49]: nordi requested create item shotgun_holoscope. -[info][2025/06/01 11:00:49]: nordi successfully created item shotgun_holoscope. -[info][2025/06/01 11:00:50]: nordi requested all items. -[info][2025/06/01 11:01:25]: nordi requested item list. -[info][2025/06/01 11:01:31]: nordi requested all items. -[info][2025/06/01 11:01:46]: nordi requested all items. -[info][2025/06/01 11:02:00]: nordi requested item shotgun_holoscope. -[info][2025/06/01 11:02:08]: nordi requested save item shotgun_holoscope. -[info][2025/06/01 11:02:08]: nordi successfully saved item shotgun_holoscope. -[info][2025/06/01 11:02:32]: nordi requested all items. -[info][2025/06/01 11:02:33]: nordi requested item list. -[info][2025/06/01 11:02:55]: nordi requested create item shotgun_scope. -[info][2025/06/01 11:02:55]: nordi successfully created item shotgun_scope. -[info][2025/06/01 11:02:56]: nordi requested all items. -[info][2025/06/01 11:03:13]: nordi requested item list. -[info][2025/06/01 11:04:30]: nordi requested create item shotgun_squaredmuzzle. -[info][2025/06/01 11:04:30]: nordi successfully created item shotgun_squaredmuzzle. -[info][2025/06/01 11:04:31]: nordi requested all items. -[info][2025/06/01 11:04:50]: nordi requested item shotgun_squaredmuzzle. -[info][2025/06/01 11:05:15]: nordi requested all items. -[info][2025/06/01 11:05:48]: nordi requested item list. -[info][2025/06/01 11:06:04]: nordi uplaoded item image rifle_defaultclip.png. -[info][2025/06/01 11:06:09]: nordi requested create item rifle_defaultclip. -[info][2025/06/01 11:06:09]: nordi successfully created item rifle_defaultclip. -[info][2025/06/01 11:06:10]: nordi requested all items. -[info][2025/06/01 11:06:36]: nordi requested item list. -[info][2025/06/01 11:07:08]: nordi uplaoded item image rifle_extendedclip.png. -[info][2025/06/01 11:07:12]: nordi requested create item rifle_extendedclip. -[info][2025/06/01 11:07:12]: nordi successfully created item rifle_extendedclip. -[info][2025/06/01 11:07:13]: nordi requested all items. -[info][2025/06/01 11:07:39]: nordi requested item list. -[info][2025/06/01 11:08:06]: nordi requested create item rifle_drum. -[info][2025/06/01 11:08:06]: nordi successfully created item rifle_drum. -[info][2025/06/01 11:08:06]: nordi requested all items. -[info][2025/06/01 11:08:38]: nordi requested item list. -[info][2025/06/01 11:08:58]: nordi requested create item rifle_flashlight. -[info][2025/06/01 11:08:58]: nordi successfully created item rifle_flashlight. -[info][2025/06/01 11:08:59]: nordi requested all items. -[info][2025/06/01 11:09:56]: nordi requested item list. -[info][2025/06/01 11:10:17]: nordi requested create item rifle_scope. -[info][2025/06/01 11:10:17]: nordi successfully created item rifle_scope. -[info][2025/06/01 11:10:18]: nordi requested all items. -[info][2025/06/01 11:10:52]: nordi requested item list. -[info][2025/06/01 11:11:07]: nordi requested create item rifle_suppressor. -[info][2025/06/01 11:11:07]: nordi successfully created item rifle_suppressor. -[info][2025/06/01 11:11:07]: nordi requested all items. -[info][2025/06/01 11:11:41]: nordi requested item list. -[info][2025/06/01 11:12:00]: nordi requested create item rifle_grip. -[info][2025/06/01 11:12:00]: nordi successfully created item rifle_grip. -[info][2025/06/01 11:12:01]: nordi requested all items. -[info][2025/06/01 11:12:33]: nordi requested item list. -[info][2025/06/01 11:13:24]: nordi requested create item rifle_largescope. -[info][2025/06/01 11:13:24]: nordi successfully created item rifle_largescope. -[info][2025/06/01 11:13:24]: nordi requested all items. -[info][2025/06/01 11:14:10]: nordi requested item rifle_largescope. -[info][2025/06/01 11:14:15]: nordi requested save item rifle_largescope. -[info][2025/06/01 11:14:15]: nordi successfully saved item rifle_largescope. -[info][2025/06/01 11:14:52]: nordi requested all items. -[info][2025/06/01 11:14:53]: nordi requested item list. -[info][2025/06/01 11:15:36]: nordi requested create item rifle_smallscope. -[info][2025/06/01 11:15:36]: nordi successfully created item rifle_smallscope. -[info][2025/06/01 11:15:37]: nordi requested all items. -[info][2025/06/01 11:16:03]: nordi requested item list. -[info][2025/06/01 11:16:16]: nordi requested create item rifle_holoscope. -[info][2025/06/01 11:16:16]: nordi successfully created item rifle_holoscope. -[info][2025/06/01 11:16:17]: nordi requested all items. -[info][2025/06/01 11:16:21]: nordi requested item rifle_largescope. -[info][2025/06/01 11:16:23]: nordi requested all items. -[info][2025/06/01 11:16:26]: nordi requested item rifle_holoscope. -[info][2025/06/01 11:16:34]: nordi requested save item rifle_holoscope. -[info][2025/06/01 11:16:34]: nordi successfully saved item rifle_holoscope. -[info][2025/06/01 11:16:57]: nordi requested all items. -[info][2025/06/01 11:16:59]: nordi requested item list. -[info][2025/06/01 11:19:34]: nordi uplaoded item image sniper_defaultclip.png. -[info][2025/06/01 11:19:51]: nordi requested item list. -[info][2025/06/01 11:19:55]: nordi requested all items. -[info][2025/06/01 11:20:26]: nordi requested item list. -[info][2025/06/01 11:20:46]: nordi requested create item sniper_defaultclip. -[info][2025/06/01 11:20:47]: nordi successfully created item sniper_defaultclip. -[info][2025/06/01 11:20:47]: nordi requested all items. -[info][2025/06/01 11:20:50]: nordi requested item list. -[info][2025/06/01 11:22:00]: nordi uplaoded item image sniper_extendedclip.png. -[info][2025/06/01 11:22:04]: nordi requested create item sniper_extendedclip. -[info][2025/06/01 11:22:04]: nordi successfully created item sniper_extendedclip. -[info][2025/06/01 11:22:04]: nordi requested all items. -[info][2025/06/01 11:22:10]: nordi requested item sniper_extendedclip. -[info][2025/06/01 11:22:40]: nordi requested all items. -[info][2025/06/01 11:22:42]: nordi requested item list. -[info][2025/06/01 11:23:06]: nordi requested create item sniper_suppressor. -[info][2025/06/01 11:23:06]: nordi successfully created item sniper_suppressor. -[info][2025/06/01 11:23:06]: nordi requested all items. -[info][2025/06/01 11:23:45]: nordi requested item list. -[info][2025/06/01 11:24:12]: nordi requested create item sniper_scope. -[info][2025/06/01 11:24:12]: nordi successfully created item sniper_scope. -[info][2025/06/01 11:24:13]: nordi requested all items. -[info][2025/06/01 11:24:44]: nordi requested item list. -[info][2025/06/01 11:25:06]: nordi requested item list. -[info][2025/06/01 11:25:57]: nordi requested create item sniper_largescope. -[info][2025/06/01 11:25:57]: nordi successfully created item sniper_largescope. -[info][2025/06/01 11:25:58]: nordi requested all items. -[info][2025/06/01 11:26:33]: nordi requested item list. -[info][2025/06/01 11:26:47]: nordi requested create item sniper_flashlight. -[info][2025/06/01 11:26:47]: nordi successfully created item sniper_flashlight. -[info][2025/06/01 11:26:48]: nordi requested all items. -[info][2025/06/01 11:27:21]: nordi requested item list. -[info][2025/06/01 11:28:49]: nordi requested create item sniper_grip. -[info][2025/06/01 11:28:49]: nordi successfully created item sniper_grip. -[info][2025/06/01 11:28:50]: nordi requested all items. -[info][2025/06/01 11:29:03]: nordi requested item sniper_grip. -[info][2025/06/01 11:29:45]: nordi requested all items. -[info][2025/06/01 11:29:48]: nordi requested item list. -[info][2025/06/01 11:30:17]: nordi requested create item sniper_holoscope. -[info][2025/06/01 11:30:17]: nordi successfully created item sniper_holoscope. -[info][2025/06/01 11:30:18]: nordi requested all items. -[info][2025/06/01 11:46:00]: nordi requested all items. -[info][2025/06/01 11:46:08]: nordi requested item rifle_scope. -[info][2025/06/01 11:59:14]: nordi requested all items. -[info][2025/06/01 11:59:19]: nordi requested item rifle_smallscope. -[info][2025/06/01 12:45:35]: nordi requested all items. -[info][2025/06/01 17:06:48]: nordi requested all items. -[info][2025/06/01 17:07:30]: nordi requested all items. -[info][2025/06/01 17:07:49]: nordi requested item pistol_extendedclip. -[info][2025/06/01 17:07:56]: nordi requested all items. -[info][2025/06/01 18:04:20]: nordi requested item id_card. -[info][2025/06/01 18:04:32]: max requested all jobs. -[info][2025/06/01 18:04:41]: max requested job police. -[info][2025/06/01 18:05:16]: nordi requested all items. -[info][2025/06/01 18:05:20]: nordi requested item id_card. -[info][2025/06/01 18:05:45]: tim requested all jobs. -[info][2025/06/01 18:05:50]: tim requested job police. -[info][2025/06/01 18:05:55]: tim requested all jobs. -[info][2025/06/01 18:06:12]: max requested all jobs. -[info][2025/06/01 18:06:15]: max requested job police. -[info][2025/06/01 18:10:52]: max requested all jobs. -[info][2025/06/01 18:10:57]: max requested job cinema. -[info][2025/06/01 18:11:01]: max requested all jobs. -[info][2025/06/01 18:11:05]: max requested job skyline. -[info][2025/06/01 18:11:22]: max requested all jobs. -[info][2025/06/01 18:11:27]: max requested job odins_bar. -[info][2025/06/01 18:11:41]: max requested all jobs. -[info][2025/06/01 18:11:45]: max requested job larossa. -[info][2025/06/01 18:11:49]: max requested all jobs. -[info][2025/06/01 18:11:54]: max requested job blood-pack-mc. -[info][2025/06/01 18:12:08]: max requested all jobs. -[info][2025/06/01 18:12:13]: max requested job marshal. -[info][2025/06/01 18:12:28]: max requested all jobs. -[info][2025/06/01 18:12:35]: max requested job dynasty. -[info][2025/06/01 18:12:39]: max requested all jobs. -[info][2025/06/01 18:12:42]: max requested job ammu. -[info][2025/06/01 18:12:53]: max requested all jobs. -[info][2025/06/01 18:12:57]: max requested job ambulance. -[info][2025/06/01 18:13:32]: max requested job ambulance. -[info][2025/06/01 18:13:34]: max requested all jobs. -[info][2025/06/01 18:13:39]: max requested job police. -[info][2025/06/01 18:13:46]: max requested all jobs. -[info][2025/06/01 18:13:56]: max requested job police. -[info][2025/06/01 18:14:05]: max requested delete job police. -[info][2025/06/01 18:14:06]: max successfully deleted job police. -[info][2025/06/01 18:14:06]: max requested all jobs. -[info][2025/06/01 18:14:09]: max requested job cinema. -[info][2025/06/01 18:14:12]: max requested delete job cinema. -[info][2025/06/01 18:14:12]: max successfully deleted job cinema. -[info][2025/06/01 18:14:12]: max requested all jobs. -[info][2025/06/01 18:14:14]: max requested job unemployed. -[info][2025/06/01 18:14:18]: max requested delete job unemployed. -[info][2025/06/01 18:14:18]: max successfully deleted job unemployed. -[info][2025/06/01 18:14:18]: max requested all jobs. -[info][2025/06/01 18:14:20]: max requested job skyline. -[info][2025/06/01 18:14:23]: max requested delete job skyline. -[info][2025/06/01 18:14:23]: max successfully deleted job skyline. -[info][2025/06/01 18:14:24]: max requested all jobs. -[info][2025/06/01 18:14:26]: max requested job admin. -[info][2025/06/01 18:14:29]: max requested delete job admin. -[info][2025/06/01 18:14:29]: max successfully deleted job admin. -[info][2025/06/01 18:14:29]: max requested all jobs. -[info][2025/06/01 18:14:31]: max requested job odins_bar. -[info][2025/06/01 18:14:35]: max requested delete job odins_bar. -[info][2025/06/01 18:14:35]: max successfully deleted job odins_bar. -[info][2025/06/01 18:14:35]: max requested all jobs. -[info][2025/06/01 18:14:37]: max requested job larossa. -[info][2025/06/01 18:14:40]: max requested delete job larossa. -[info][2025/06/01 18:14:40]: max successfully deleted job larossa. -[info][2025/06/01 18:14:40]: max requested all jobs. -[info][2025/06/01 18:14:42]: max requested job blood-pack-mc. -[info][2025/06/01 18:14:46]: max requested delete job blood-pack-mc. -[info][2025/06/01 18:14:46]: max successfully deleted job blood-pack-mc. -[info][2025/06/01 18:14:46]: max requested all jobs. -[info][2025/06/01 18:14:48]: max requested job marshal. -[info][2025/06/01 18:14:52]: max requested delete job marshal. -[info][2025/06/01 18:14:52]: max successfully deleted job marshal. -[info][2025/06/01 18:14:52]: max requested all jobs. -[info][2025/06/01 18:14:54]: max requested job mechanic. -[info][2025/06/01 18:14:58]: max requested delete job mechanic. -[info][2025/06/01 18:14:59]: max successfully deleted job mechanic. -[info][2025/06/01 18:14:59]: max requested all jobs. -[info][2025/06/01 18:15:01]: max requested job dynasty. -[info][2025/06/01 18:15:04]: max requested delete job dynasty. -[info][2025/06/01 18:15:04]: max successfully deleted job dynasty. -[info][2025/06/01 18:15:04]: max requested all jobs. -[info][2025/06/01 18:15:06]: max requested job const. -[info][2025/06/01 18:15:09]: max requested delete job const. -[info][2025/06/01 18:15:09]: max successfully deleted job const. -[info][2025/06/01 18:15:10]: max requested all jobs. -[info][2025/06/01 18:15:12]: max requested job ammu. -[info][2025/06/01 18:15:14]: max requested delete job ammu. -[info][2025/06/01 18:15:14]: max successfully deleted job ammu. -[info][2025/06/01 18:15:15]: max requested all jobs. -[info][2025/06/01 18:15:17]: max requested job ambulance. -[info][2025/06/01 18:15:21]: max requested delete job ambulance. -[info][2025/06/01 18:15:21]: max successfully deleted job ambulance. -[info][2025/06/01 18:15:21]: max requested all jobs. -[info][2025/06/01 18:15:38]: max requested all gangs. -[info][2025/06/01 18:17:39]: tim requested all jobs. -[info][2025/06/01 18:19:40]: nordi requested all items. -[info][2025/06/01 18:19:51]: nordi requested item snikkel_candy. -[info][2025/06/01 18:23:05]: nordi requested all items. -[info][2025/06/01 18:23:14]: nordi requested item twerks_candy. -[info][2025/06/01 18:23:44]: nordi requested all items. -[info][2025/06/01 18:23:50]: nordi requested item billokaffee. -[info][2025/06/01 18:24:06]: nordi requested all items. -[info][2025/06/01 18:24:09]: nordi requested item kakao. -[info][2025/06/01 18:24:30]: nordi requested all items. -[info][2025/06/01 18:24:37]: nordi requested item ecola_dose. -[info][2025/06/01 18:24:48]: nordi requested all items. -[info][2025/06/01 18:24:55]: nordi requested item ecola_zero_dose. -[info][2025/06/01 18:25:04]: nordi requested all items. -[info][2025/06/01 18:25:13]: nordi requested item sprunk_dose. -[info][2025/06/01 18:25:36]: nordi requested all items. -[info][2025/06/01 18:25:53]: nordi requested all items. -[info][2025/06/01 18:26:29]: nordi requested item orange_o_tang_dose. -[info][2025/06/01 18:26:54]: nordi requested all items. -[info][2025/06/01 18:26:59]: nordi requested item orange_o_tang_zero_dose. -[info][2025/06/01 18:27:52]: nordi requested all items. -[info][2025/06/01 18:31:18]: nordi requested item junk_energy. -[info][2025/06/01 18:32:11]: nordi requested all items. -[info][2025/06/01 18:32:15]: nordi requested all jobs. -[info][2025/06/01 18:35:58]: nordi requested all jobs. -[info][2025/06/01 21:09:18]: nordi requested all items. -[info][2025/06/01 21:10:16]: nordi requested all items. -[info][2025/06/01 21:10:25]: campers requested all items. -[info][2025/06/01 21:10:28]: campers requested item list. -[info][2025/06/01 21:10:46]: nordi requested item list. -[info][2025/06/01 21:13:18]: campers uplaoded item image armaid_plant.png. -[info][2025/06/01 21:13:29]: nordi uplaoded item image seed.png. -[info][2025/06/01 21:13:31]: campers requested create item armaid_plant. -[info][2025/06/01 21:13:31]: campers successfully created item armaid_plant. -[info][2025/06/01 21:13:31]: nordi requested create item seed. -[info][2025/06/01 21:13:32]: nordi successfully created item seed. -[info][2025/06/01 21:13:32]: campers requested all items. -[info][2025/06/01 21:13:32]: nordi requested all items. -[info][2025/06/01 21:17:29]: campers requested all jobs. -[info][2025/06/01 23:13:39]: campers requested all items. -[info][2025/06/01 23:14:08]: campers requested item armaid_plant. -[info][2025/06/01 23:14:54]: campers requested save item armaid_plant. -[info][2025/06/01 23:14:54]: campers successfully saved item armaid_plant. -[info][2025/06/01 23:36:53]: campers requested all jobs. -[info][2025/06/02 00:26:00]: max requested all items. -[info][2025/06/02 00:26:17]: max requested item kq_outfitbag. -[info][2025/06/02 00:51:15]: campers requested all items. -[info][2025/06/02 00:51:24]: campers requested item weapon_navyrevolver. -[info][2025/06/02 00:51:54]: campers requested all items. -[info][2025/06/02 00:52:10]: campers requested item weapon_ceramicpistol. -[info][2025/06/02 00:52:38]: campers requested all items. -[info][2025/06/02 00:52:45]: campers requested item weapon_navyrevolver. -[info][2025/06/02 00:53:36]: campers requested all items. -[info][2025/06/02 00:53:47]: campers requested item weapon_pistol50. -[info][2025/06/02 00:54:13]: campers requested all items. -[info][2025/06/02 00:54:45]: campers requested item weapon_sawnoffshotgun. -[info][2025/06/02 00:55:03]: campers requested all items. -[info][2025/06/02 00:55:19]: campers requested item weapon_combatpistol. -[info][2025/06/02 01:32:11]: max requested all jobs. -[info][2025/06/02 01:41:45]: campers requested all items. -[info][2025/06/02 01:41:50]: campers requested item weapon_dagger. -[info][2025/06/02 01:42:19]: campers requested all items. -[info][2025/06/02 01:42:26]: campers requested item weapon_machete. -[info][2025/06/02 01:42:35]: campers requested all items. -[info][2025/06/02 01:43:57]: campers requested item weapon_switchblade. -[info][2025/06/02 01:44:19]: campers requested all items. -[info][2025/06/02 01:44:25]: campers requested item weapon_hatchet. -[info][2025/06/02 01:45:20]: campers requested all items. -[info][2025/06/02 01:46:09]: campers requested item armor. -[info][2025/06/02 01:46:36]: campers requested all items. -[info][2025/06/02 01:46:49]: campers requested item bodybag. -[info][2025/06/02 01:46:54]: campers requested all items. -[info][2025/06/02 11:50:50]: mark requested all items. -[info][2025/06/02 12:34:35]: mark requested all items. -[info][2025/06/02 14:50:15]: nordi requested all items. -[info][2025/06/02 14:50:31]: nordi requested item list. -[info][2025/06/02 14:52:44]: nordi uplaoded item image keycard.png. -[info][2025/06/02 14:52:46]: nordi requested create item kino_keycard. -[info][2025/06/02 14:52:46]: nordi successfully created item kino_keycard. -[info][2025/06/02 14:52:47]: nordi requested all items. -[info][2025/06/02 15:02:09]: nordi requested all items. -[info][2025/06/02 15:02:20]: nordi requested item kino_keycard. -[info][2025/06/02 15:04:16]: nordi requested all jobs. -[info][2025/06/02 16:34:59]: nordi requested all items. -[info][2025/06/02 16:35:06]: nordi requested item rifle_grip. -[info][2025/06/02 19:02:45]: nordi requested all items. -[info][2025/06/02 19:02:52]: nordi requested item cheese_burger. -[info][2025/06/02 19:04:26]: nordi requested save item cheese_burger. -[info][2025/06/02 19:04:26]: nordi successfully saved item cheese_burger. -[info][2025/06/02 19:22:01]: nordi requested all items. -[info][2025/06/02 19:22:07]: nordi requested item kq_outfitbag. -[info][2025/06/02 19:35:13]: nordi requested all items. -[info][2025/06/02 19:35:21]: nordi requested item rifle_grip. -[info][2025/06/02 21:49:44]: nordi requested all items. -[info][2025/06/02 21:49:56]: nordi requested item iphone. -[info][2025/06/02 21:49:58]: nordi requested delete item iphone. -[info][2025/06/02 21:49:59]: nordi successfully deleted item iphone. -[info][2025/06/02 21:49:59]: nordi requested all items. -[info][2025/06/02 21:50:01]: nordi requested item samsungphone. -[info][2025/06/02 21:50:04]: nordi requested delete item samsungphone. -[info][2025/06/02 21:50:04]: nordi successfully deleted item samsungphone. -[info][2025/06/02 21:50:05]: nordi requested all items. -[info][2025/06/02 21:50:08]: nordi requested item phone. -[info][2025/06/02 21:51:47]: nordi requested all items. -[info][2025/06/02 21:51:49]: nordi requested item list. -[info][2025/06/02 21:54:46]: nordi requested create item purple_phone. -[info][2025/06/02 21:54:46]: nordi successfully created item purple_phone. -[info][2025/06/02 21:54:47]: nordi requested all items. -[info][2025/06/02 21:54:59]: nordi requested item purple_phone. -[info][2025/06/02 21:55:02]: nordi requested save item purple_phone. -[info][2025/06/02 21:55:03]: nordi successfully saved item purple_phone. -[info][2025/06/02 21:55:05]: nordi requested all items. -[info][2025/06/02 21:55:07]: nordi requested item list. -[info][2025/06/02 21:56:27]: nordi requested create item green_phone. -[info][2025/06/02 21:56:27]: nordi successfully created item green_phone. -[info][2025/06/02 21:56:28]: nordi requested all items. -[info][2025/06/02 21:56:32]: nordi requested item green_phone. -[info][2025/06/02 21:56:36]: nordi requested save item green_phone. -[info][2025/06/02 21:56:36]: nordi successfully saved item green_phone. -[info][2025/06/02 21:56:40]: nordi requested all items. -[info][2025/06/02 21:56:43]: nordi requested item purple_phone. -[info][2025/06/02 21:56:47]: nordi requested save item purple_phone. -[info][2025/06/02 21:56:47]: nordi successfully saved item purple_phone. -[info][2025/06/02 21:56:49]: nordi requested all items. -[info][2025/06/02 21:56:53]: nordi requested item list. -[info][2025/06/02 21:57:35]: nordi requested create item red_phone. -[info][2025/06/02 21:57:35]: nordi successfully created item red_phone. -[info][2025/06/02 21:57:35]: nordi requested all items. -[info][2025/06/02 21:57:41]: nordi requested item green_phone. -[info][2025/06/02 21:57:46]: nordi requested all items. -[info][2025/06/02 21:57:47]: nordi requested item list. -[info][2025/06/02 21:58:41]: nordi requested create item blue_phone. -[info][2025/06/02 21:58:41]: nordi successfully created item blue_phone. -[info][2025/06/02 21:58:42]: nordi requested all items. -[info][2025/06/02 21:58:48]: nordi requested item list. -[info][2025/06/02 21:59:42]: nordi requested create item black_phone. -[info][2025/06/02 21:59:42]: nordi successfully created item black_phone. -[info][2025/06/02 21:59:42]: nordi requested all items. -[info][2025/06/02 22:04:56]: nordi requested item radio. -[info][2025/06/03 00:17:51]: max requested all items. -[info][2025/06/03 00:18:01]: max requested item list. -[info][2025/06/03 00:18:43]: max requested create item creditcard. -[info][2025/06/03 00:18:44]: max successfully created item creditcard. -[info][2025/06/03 00:18:44]: max requested all items. -[info][2025/06/03 00:33:11]: campers requested all items. -[info][2025/06/03 00:33:20]: campers requested item weapon_switchblade. -[info][2025/06/03 00:33:31]: campers requested all items. -[info][2025/06/03 00:34:15]: campers requested item veh_armor. -[info][2025/06/03 00:34:19]: campers requested all items. -[info][2025/06/03 00:34:21]: campers requested item armor. -[info][2025/06/03 00:40:05]: campers requested all items. -[info][2025/06/03 00:40:09]: campers requested item heavyarmor. -[info][2025/06/03 00:47:34]: campers requested all jobs. -[info][2025/06/03 00:47:35]: campers requested all items. -[info][2025/06/03 00:47:47]: campers requested item armor. -[info][2025/06/03 00:50:04]: campers requested all items. -[info][2025/06/03 00:51:00]: campers requested item weapon_pistol50. -[info][2025/06/03 00:51:18]: campers requested all items. -[info][2025/06/03 00:52:36]: campers requested item weapon_ceramicpistol. -[info][2025/06/03 00:53:10]: campers requested all items. -[info][2025/06/03 00:53:18]: campers requested item weapon_navyrevolver. -[info][2025/06/03 00:53:36]: campers requested all items. -[info][2025/06/03 00:53:43]: campers requested item weapon_sawnoffshotgun. -[info][2025/06/03 00:54:33]: campers requested all items. -[info][2025/06/03 00:54:40]: campers requested item weapon_combatpistol. -[info][2025/06/03 00:55:08]: campers requested all items. -[info][2025/06/03 00:55:27]: campers requested item weapon_dagger. -[info][2025/06/03 00:55:55]: campers requested all items. -[info][2025/06/03 00:56:04]: campers requested item weapon_machete. -[info][2025/06/03 00:56:24]: campers requested all items. -[info][2025/06/03 00:56:33]: campers requested item weapon_switchblade. -[info][2025/06/03 00:56:53]: campers requested all items. -[info][2025/06/03 00:57:01]: campers requested item weapon_hatchet. -[info][2025/06/03 00:59:08]: campers requested all items. -[info][2025/06/03 00:59:22]: nordi requested all items. -[info][2025/06/03 00:59:24]: nordi requested item list. -[info][2025/06/03 00:59:35]: campers requested item list. -[info][2025/06/03 00:59:46]: campers uplaoded item image gunpowder.png. -[info][2025/06/03 01:01:05]: nordi uplaoded item image redwoodpack.png. -[info][2025/06/03 01:01:19]: nordi requested create item redwoodpack. -[info][2025/06/03 01:01:19]: nordi successfully created item redwoodpack. -[info][2025/06/03 01:01:20]: nordi requested all items. -[info][2025/06/03 01:01:36]: nordi requested item lighter. -[info][2025/06/03 01:01:40]: campers requested create item gunpowder. -[info][2025/06/03 01:01:40]: campers successfully created item gunpowder. -[info][2025/06/03 01:01:40]: campers requested all items. -[info][2025/06/03 01:01:58]: campers requested item gunpowder. -[info][2025/06/03 01:02:01]: nordi requested save item lighter. -[info][2025/06/03 01:02:01]: nordi successfully saved item lighter. -[info][2025/06/03 01:02:04]: nordi requested all items. -[info][2025/06/03 01:02:06]: campers requested save item gunpowder. -[info][2025/06/03 01:02:06]: campers successfully saved item gunpowder. -[info][2025/06/03 01:02:15]: nordi requested item list. -[info][2025/06/03 01:02:16]: nordi requested all items. -[info][2025/06/03 01:02:21]: nordi requested item list. -[info][2025/06/03 01:02:59]: nordi uplaoded item image cigs.png. -[info][2025/06/03 01:03:04]: nordi requested create item cigs. -[info][2025/06/03 01:03:04]: nordi successfully created item cigs. -[info][2025/06/03 01:03:04]: nordi requested all items. -[info][2025/06/03 01:03:50]: campers requested all jobs. -[info][2025/06/03 01:03:52]: campers requested all items. -[info][2025/06/03 01:04:07]: campers requested item campers_fuel. -[info][2025/06/03 01:04:14]: nordi requested item campers_fuel. -[info][2025/06/03 01:04:26]: nordi requested save item campers_fuel. -[info][2025/06/03 01:04:26]: nordi successfully saved item campers_fuel. -[info][2025/06/03 01:04:35]: campers requested all items. -[info][2025/06/03 01:04:49]: campers requested item spazi_limo. -[info][2025/06/03 01:04:53]: campers requested all items. -[info][2025/06/03 01:04:55]: campers requested item marble_pop_limo. -[info][2025/06/03 01:05:02]: campers requested all items. -[info][2025/06/03 01:05:09]: campers requested item campers_fuel. -[info][2025/06/03 01:08:19]: nordi requested all items. -[info][2025/06/03 01:08:26]: nordi requested item rolling_paper. -[info][2025/06/03 01:08:36]: nordi requested save item rolling_paper. -[info][2025/06/03 01:08:36]: nordi successfully saved item rolling_paper. -[info][2025/06/03 01:08:38]: nordi requested all items. -[info][2025/06/03 01:08:43]: nordi requested item filter_papers. -[info][2025/06/03 01:08:46]: campers requested all items. -[info][2025/06/03 01:09:03]: nordi requested save item filter_papers. -[info][2025/06/03 01:09:03]: nordi successfully saved item filter_papers. -[info][2025/06/03 01:14:32]: nordi requested all items. -[info][2025/06/03 01:14:44]: nordi requested item redwoodpack. -[info][2025/06/03 01:30:35]: nordi requested all items. -[info][2025/06/03 01:30:57]: nordi requested item redwood_light. -[info][2025/06/03 01:31:00]: nordi requested delete item redwood_light. -[info][2025/06/03 01:31:01]: nordi successfully deleted item redwood_light. -[info][2025/06/03 01:31:01]: nordi requested all items. -[info][2025/06/03 01:31:07]: nordi requested item redwoodpack. -[info][2025/06/03 01:31:11]: nordi requested save item redwoodpack. -[info][2025/06/03 01:31:11]: nordi successfully saved item redwoodpack. -[info][2025/06/03 01:31:14]: nordi requested all items. -[info][2025/06/03 09:25:38]: nordi requested all items. -[info][2025/06/03 10:52:25]: nordi requested all items. -[info][2025/06/03 10:52:29]: nordi requested item list. -[info][2025/06/03 10:54:07]: nordi uplaoded item image sim-karte.png. -[info][2025/06/03 10:54:09]: nordi requested create item simcard. -[info][2025/06/03 10:54:09]: nordi successfully created item simcard. -[info][2025/06/03 10:54:10]: nordi requested all items. -[info][2025/06/03 10:56:47]: nordi requested item simcard. -[info][2025/06/03 10:56:53]: nordi requested save item simcard. -[info][2025/06/03 10:56:53]: nordi successfully saved item simcard. -[info][2025/06/03 10:56:56]: nordi requested all items. -[info][2025/06/03 10:57:39]: nordi requested item list. -[info][2025/06/03 11:03:51]: nordi uplaoded item image roadpods.png. -[info][2025/06/03 11:04:06]: nordi requested create item roadpods. -[info][2025/06/03 11:04:06]: nordi successfully created item roadpods. -[info][2025/06/03 11:04:07]: nordi requested all items. -[info][2025/06/03 11:11:01]: nordi requested item black_phone. -[info][2025/06/03 11:14:20]: nordi requested all items. -[info][2025/06/03 11:14:23]: nordi requested item simcard. -[info][2025/06/03 11:15:40]: nordi requested save item simcard. -[info][2025/06/03 11:15:40]: nordi successfully saved item simcard. -[info][2025/06/03 11:16:22]: nordi requested all items. -[info][2025/06/03 11:16:26]: nordi requested item roadpods. -[info][2025/06/03 11:16:30]: nordi requested save item roadpods. -[info][2025/06/03 11:16:30]: nordi successfully saved item roadpods. -[info][2025/06/03 11:16:32]: nordi requested all items. -[info][2025/06/03 11:44:22]: nordi requested all items. -[info][2025/06/03 11:44:27]: nordi requested item blue_phone. -[info][2025/06/03 12:28:16]: mark requested all jobs. -[info][2025/06/03 12:31:01]: nordi uplaoded item image phone_blue.png. -[info][2025/06/03 12:31:03]: nordi requested save item blue_phone. -[info][2025/06/03 12:31:03]: nordi successfully saved item blue_phone. -[info][2025/06/03 12:31:11]: nordi requested all items. -[info][2025/06/03 12:31:13]: nordi requested item blue_phone. -[info][2025/06/03 12:31:14]: nordi requested all items. -[info][2025/06/03 12:31:15]: nordi requested item red_phone. -[info][2025/06/03 12:31:30]: nordi uplaoded item image phone_red.png. -[info][2025/06/03 12:31:32]: nordi requested save item red_phone. -[info][2025/06/03 12:31:32]: nordi successfully saved item red_phone. -[info][2025/06/03 12:31:34]: nordi requested all items. -[info][2025/06/03 12:31:37]: nordi requested item green_phone. -[info][2025/06/03 12:31:54]: nordi uplaoded item image phone_green.png. -[info][2025/06/03 12:32:00]: nordi requested save item green_phone. -[info][2025/06/03 12:32:00]: nordi successfully saved item green_phone. -[info][2025/06/03 12:32:02]: nordi requested all items. -[info][2025/06/03 12:32:05]: nordi requested item purple_phone. -[info][2025/06/03 12:32:31]: nordi uplaoded item image phone_purple.png. -[info][2025/06/03 12:32:33]: nordi requested save item purple_phone. -[info][2025/06/03 12:32:33]: nordi successfully saved item purple_phone. -[info][2025/06/03 12:32:35]: nordi requested all items. -[info][2025/06/03 12:32:39]: nordi requested item black_phone. -[info][2025/06/03 12:32:56]: nordi uplaoded item image phone_black.png. -[info][2025/06/03 12:35:15]: nordi requested all items. -[info][2025/06/03 12:35:17]: nordi requested item list. -[info][2025/06/03 12:37:09]: nordi uplaoded item image drone.png. -[info][2025/06/03 12:38:23]: nordi requested all items. -[info][2025/06/03 12:38:25]: nordi requested item list. -[info][2025/06/03 12:38:55]: nordi uplaoded item image police_drone.png. -[info][2025/06/03 12:38:59]: nordi requested create item emergencydrone. -[info][2025/06/03 12:38:59]: nordi successfully created item emergencydrone. -[info][2025/06/03 12:38:59]: nordi requested all items. -[info][2025/06/03 12:46:03]: nordi requested all items. -[info][2025/06/03 12:46:08]: nordi requested item emergencydrone. -[info][2025/06/03 12:51:50]: nordi requested all items. -[info][2025/06/03 12:51:55]: nordi requested item black_phone. -[info][2025/06/03 12:52:18]: nordi requested save item black_phone. -[info][2025/06/03 12:52:18]: nordi successfully saved item black_phone. -[info][2025/06/03 12:52:20]: nordi requested all items. -[info][2025/06/03 12:52:24]: nordi requested item purple_phone. -[info][2025/06/03 16:13:42]: nordi requested all items. -[info][2025/06/03 16:22:45]: nordi requested item emergencydrone. -[info][2025/06/03 16:38:24]: nordi requested all items. -[info][2025/06/03 16:38:27]: nordi requested item list. -[info][2025/06/03 16:38:48]: nordi requested create item drone. -[info][2025/06/03 16:38:48]: nordi successfully created item drone. -[info][2025/06/03 16:38:49]: nordi requested all items. -[info][2025/06/03 17:17:38]: nordi requested item pizza_piece. -[info][2025/06/03 19:03:10]: nordi requested all items. -[info][2025/06/03 19:03:31]: nordi requested item list. -[info][2025/06/03 19:28:31]: nordi requested all items. -[info][2025/06/03 19:28:37]: nordi requested item list. -[info][2025/06/03 19:31:18]: nordi requested create item bbq_grill. -[info][2025/06/03 19:31:18]: nordi successfully created item bbq_grill. -[info][2025/06/03 19:31:19]: nordi requested all items. -[info][2025/06/03 19:31:20]: nordi requested item list. -[info][2025/06/03 19:32:08]: nordi requested create item gazebo. -[info][2025/06/03 19:32:08]: nordi successfully created item gazebo. -[info][2025/06/03 19:32:09]: nordi requested all items. -[info][2025/06/03 19:32:16]: nordi requested item list. -[info][2025/06/03 19:32:59]: nordi requested create item soda_macine. -[info][2025/06/03 19:32:59]: nordi successfully created item soda_macine. -[info][2025/06/03 19:33:00]: nordi requested all items. -[info][2025/06/03 19:33:04]: nordi requested item list. -[info][2025/06/03 19:34:16]: nordi requested create item table. -[info][2025/06/03 19:34:16]: nordi successfully created item table. -[info][2025/06/03 19:34:16]: nordi requested all items. -[info][2025/06/03 19:42:04]: nordi requested item list. -[info][2025/06/03 19:43:17]: nordi requested create item flood_light. -[info][2025/06/03 19:43:17]: nordi successfully created item flood_light. -[info][2025/06/03 19:43:17]: nordi requested all items. -[info][2025/06/03 19:43:20]: nordi requested item list. -[info][2025/06/03 19:43:39]: nordi requested create item chair. -[info][2025/06/03 19:43:40]: nordi successfully created item chair. -[info][2025/06/03 19:43:40]: nordi requested all items. -[info][2025/06/03 19:43:42]: nordi requested item list. -[info][2025/06/03 19:44:25]: nordi requested create item raw_ribs. -[info][2025/06/03 19:44:25]: nordi successfully created item raw_ribs. -[info][2025/06/03 19:44:26]: nordi requested all items. -[info][2025/06/03 19:44:50]: nordi requested item list. -[info][2025/06/03 19:45:12]: nordi requested create item raw_beef_brisket. -[info][2025/06/03 19:45:12]: nordi successfully created item raw_beef_brisket. -[info][2025/06/03 19:45:13]: nordi requested all items. -[info][2025/06/03 19:45:19]: nordi requested item list. -[info][2025/06/03 19:47:08]: nordi requested create item pork_joint. -[info][2025/06/03 19:47:08]: nordi successfully created item pork_joint. -[info][2025/06/03 19:47:09]: nordi requested all items. -[info][2025/06/03 19:47:14]: nordi requested item list. -[info][2025/06/03 19:47:41]: nordi requested create item raw_sausages. -[info][2025/06/03 19:47:41]: nordi successfully created item raw_sausages. -[info][2025/06/03 19:47:41]: nordi requested all items. -[info][2025/06/03 19:47:55]: nordi requested item list. -[info][2025/06/03 19:48:36]: nordi requested create item raw_short_ribs. -[info][2025/06/03 19:48:36]: nordi successfully created item raw_short_ribs. -[info][2025/06/03 19:48:36]: nordi requested all items. -[info][2025/06/03 19:48:44]: nordi requested item raw_short_ribs. -[info][2025/06/03 19:48:48]: nordi requested save item raw_short_ribs. -[info][2025/06/03 19:48:48]: nordi successfully saved item raw_short_ribs. -[info][2025/06/03 19:48:51]: nordi requested all items. -[info][2025/06/03 19:50:00]: nordi requested item list. -[info][2025/06/03 19:50:48]: nordi requested create item lamb_chops. -[info][2025/06/03 19:50:48]: nordi successfully created item lamb_chops. -[info][2025/06/03 19:50:49]: nordi requested all items. -[info][2025/06/03 19:50:55]: nordi requested item list. -[info][2025/06/03 19:52:09]: nordi requested create item ribeye_steak. -[info][2025/06/03 19:52:09]: nordi successfully created item ribeye_steak. -[info][2025/06/03 19:52:10]: nordi requested all items. -[info][2025/06/03 19:53:49]: nordi requested item list. -[info][2025/06/03 19:54:17]: nordi requested create item chicken_thigh. -[info][2025/06/03 19:54:17]: nordi successfully created item chicken_thigh. -[info][2025/06/03 19:54:18]: nordi requested all items. -[info][2025/06/03 19:54:36]: nordi requested item list. -[info][2025/06/03 19:55:20]: nordi requested create item raw_turkey_drums. -[info][2025/06/03 19:55:20]: nordi successfully created item raw_turkey_drums. -[info][2025/06/03 19:55:21]: nordi requested all items. -[info][2025/06/03 19:55:26]: nordi requested item list. -[info][2025/06/03 19:55:50]: nordi requested create item corn_cob. -[info][2025/06/03 19:55:51]: nordi successfully created item corn_cob. -[info][2025/06/03 19:55:51]: nordi requested all items. -[info][2025/06/03 19:55:57]: nordi requested item list. -[info][2025/06/03 19:56:40]: nordi requested create item raw_kebab. -[info][2025/06/03 19:56:40]: nordi successfully created item raw_kebab. -[info][2025/06/03 19:56:41]: nordi requested all items. -[info][2025/06/03 19:57:05]: nordi requested item list. -[info][2025/06/03 19:57:25]: nordi requested create item bbq_seasoning. -[info][2025/06/03 19:57:25]: nordi successfully created item bbq_seasoning. -[info][2025/06/03 19:57:26]: nordi requested all items. -[info][2025/06/03 19:57:33]: nordi requested item list. -[info][2025/06/03 19:57:56]: nordi requested create item raw_wings. -[info][2025/06/03 19:57:56]: nordi successfully created item raw_wings. -[info][2025/06/03 19:57:57]: nordi requested all items. -[info][2025/06/03 19:58:03]: nordi requested item list. -[info][2025/06/03 19:58:28]: nordi requested create item cooked_ribs. -[info][2025/06/03 19:58:28]: nordi successfully created item cooked_ribs. -[info][2025/06/03 19:58:29]: nordi requested all items. -[info][2025/06/03 19:58:43]: nordi requested item list. -[info][2025/06/03 20:00:14]: nordi requested create item cooked_brisket. -[info][2025/06/03 20:00:14]: nordi successfully created item cooked_brisket. -[info][2025/06/03 20:00:15]: nordi requested all items. -[info][2025/06/03 20:00:29]: nordi requested item list. -[info][2025/06/03 20:00:59]: nordi requested create item cooked_pork_joint. -[info][2025/06/03 20:00:59]: nordi successfully created item cooked_pork_joint. -[info][2025/06/03 20:01:00]: nordi requested all items. -[info][2025/06/03 20:01:09]: nordi requested item list. -[info][2025/06/03 20:01:50]: nordi requested create item cooked_bbq_sausages. -[info][2025/06/03 20:01:50]: nordi successfully created item cooked_bbq_sausages. -[info][2025/06/03 20:01:51]: nordi requested all items. -[info][2025/06/03 20:01:55]: nordi requested item list. -[info][2025/06/03 20:02:40]: nordi requested create item cooked_short_ribs. -[info][2025/06/03 20:02:40]: nordi successfully created item cooked_short_ribs. -[info][2025/06/03 20:02:40]: nordi requested all items. -[info][2025/06/03 20:02:46]: nordi requested item list. -[info][2025/06/03 20:03:02]: nordi requested create item cooked_lamb_chop. -[info][2025/06/03 20:03:02]: nordi successfully created item cooked_lamb_chop. -[info][2025/06/03 20:03:03]: nordi requested all items. -[info][2025/06/03 20:03:07]: nordi requested item list. -[info][2025/06/03 20:03:35]: nordi requested create item cooked_bbq_ribeye. -[info][2025/06/03 20:03:35]: nordi successfully created item cooked_bbq_ribeye. -[info][2025/06/03 20:03:35]: nordi requested all items. -[info][2025/06/03 20:03:50]: nordi requested item list. -[info][2025/06/03 20:04:09]: nordi requested create item cooked_bbq_thigh. -[info][2025/06/03 20:04:09]: nordi successfully created item cooked_bbq_thigh. -[info][2025/06/03 20:04:09]: nordi requested all items. -[info][2025/06/03 20:04:23]: nordi requested item chicken_thigh. -[info][2025/06/03 20:04:35]: nordi requested save item chicken_thigh. -[info][2025/06/03 20:04:35]: nordi successfully saved item chicken_thigh. -[info][2025/06/03 20:04:37]: nordi requested all items. -[info][2025/06/03 20:04:39]: nordi requested item cooked_bbq_thigh. -[info][2025/06/03 20:04:49]: nordi requested save item cooked_bbq_thigh. -[info][2025/06/03 20:04:49]: nordi successfully saved item cooked_bbq_thigh. -[info][2025/06/03 20:26:29]: nordi requested all items. -[info][2025/06/03 20:26:54]: nordi requested item list. -[info][2025/06/03 20:27:28]: nordi requested create item cooked_turkey_drum. -[info][2025/06/03 20:27:29]: nordi successfully created item cooked_turkey_drum. -[info][2025/06/03 20:27:29]: nordi requested all items. -[info][2025/06/03 20:27:38]: nordi requested item list. -[info][2025/06/03 20:28:13]: nordi requested create item cooked_corn_cob. -[info][2025/06/03 20:28:13]: nordi successfully created item cooked_corn_cob. -[info][2025/06/03 20:28:14]: nordi requested all items. -[info][2025/06/03 20:28:22]: nordi requested item list. -[info][2025/06/03 20:28:48]: nordi requested create item cooked_kebab. -[info][2025/06/03 20:28:49]: nordi successfully created item cooked_kebab. -[info][2025/06/03 20:28:49]: nordi requested all items. -[info][2025/06/03 20:29:04]: nordi requested item list. -[info][2025/06/03 20:29:31]: nordi requested create item cooked_bbq_wings. -[info][2025/06/03 20:29:31]: nordi successfully created item cooked_bbq_wings. -[info][2025/06/03 20:29:32]: nordi requested all items. -[info][2025/06/03 20:29:38]: nordi requested item list. -[info][2025/06/03 20:29:59]: nordi requested create item cup_cola. -[info][2025/06/03 20:29:59]: nordi successfully created item cup_cola. -[info][2025/06/03 20:30:00]: nordi requested all items. -[info][2025/06/03 20:30:05]: nordi requested item list. -[info][2025/06/03 20:30:24]: nordi requested create item cup_lemonade. -[info][2025/06/03 20:30:24]: nordi successfully created item cup_lemonade. -[info][2025/06/03 20:30:25]: nordi requested all items. -[info][2025/06/03 20:31:13]: nordi requested item list. -[info][2025/06/03 20:31:45]: nordi requested create item cup_tide. -[info][2025/06/03 20:31:45]: nordi successfully created item cup_tide. -[info][2025/06/03 20:31:46]: nordi requested all items. -[info][2025/06/03 20:31:51]: nordi requested item list. -[info][2025/06/03 20:32:11]: nordi requested create item empty_cup. -[info][2025/06/03 20:32:11]: nordi successfully created item empty_cup. -[info][2025/06/03 20:32:12]: nordi requested all items. -[info][2025/06/03 20:32:15]: nordi requested item list. -[info][2025/06/03 20:32:45]: nordi requested create item big_bottle_cola. -[info][2025/06/03 20:32:45]: nordi successfully created item big_bottle_cola. -[info][2025/06/03 20:32:46]: nordi requested all items. -[info][2025/06/03 20:32:54]: nordi requested item list. -[info][2025/06/03 20:33:14]: nordi requested create item big_bottle_lemonade. -[info][2025/06/03 20:33:14]: nordi successfully created item big_bottle_lemonade. -[info][2025/06/03 20:33:15]: nordi requested all items. -[info][2025/06/03 20:33:24]: nordi requested item list. -[info][2025/06/03 20:35:17]: nordi requested create item big_bottle_tide. -[info][2025/06/03 20:35:17]: nordi successfully created item big_bottle_tide. -[info][2025/06/03 20:35:18]: nordi requested all items. -[info][2025/06/04 00:38:55]: nordi requested all items. -[info][2025/06/04 00:38:57]: nordi requested item list. -[info][2025/06/04 00:38:59]: nordi requested all items. -[info][2025/06/04 00:39:03]: nordi requested item soda_macine. -[info][2025/06/04 00:39:08]: nordi requested delete item soda_macine. -[info][2025/06/04 00:39:08]: nordi successfully deleted item soda_macine. -[info][2025/06/04 00:39:08]: nordi requested all items. -[info][2025/06/04 00:39:11]: nordi requested item list. -[info][2025/06/04 00:39:31]: nordi requested create item soda_machine. -[info][2025/06/04 00:39:31]: nordi successfully created item soda_machine. -[info][2025/06/04 00:39:32]: nordi requested all items. -[info][2025/06/04 01:05:04]: nordi requested item list. -[info][2025/06/04 01:05:29]: nordi uplaoded item image beerkeg.png. -[info][2025/06/04 01:05:33]: nordi requested create item beerkeg. -[info][2025/06/04 01:05:34]: nordi successfully created item beerkeg. -[info][2025/06/04 01:05:34]: nordi requested all items. -[info][2025/06/04 01:05:39]: nordi requested item soda_machine. -[info][2025/06/04 01:06:05]: nordi requested save item soda_machine. -[info][2025/06/04 01:06:05]: nordi successfully saved item soda_machine. -[info][2025/06/04 01:16:02]: nordi requested all items. -[info][2025/06/04 01:16:11]: nordi requested all items. -[info][2025/06/04 01:16:33]: nordi requested item list. -[info][2025/06/04 01:17:03]: nordi requested create item cup_beer. -[info][2025/06/04 01:17:03]: nordi successfully created item cup_beer. -[info][2025/06/04 01:17:04]: nordi requested all items. -[info][2025/06/04 01:17:12]: nordi requested item cup_beer. -[info][2025/06/04 01:17:35]: nordi uplaoded item image cup_beer.png. -[info][2025/06/04 01:17:36]: nordi requested save item cup_beer. -[info][2025/06/04 01:17:36]: nordi successfully saved item cup_beer. -[info][2025/06/04 10:02:41]: nordi requested item cup_beer. -[info][2025/06/04 14:44:18]: max requested all items. -[info][2025/06/04 16:30:59]: nordi requested item cup_beer. -[info][2025/06/04 16:43:51]: nordi requested all items. -[info][2025/06/04 16:44:09]: nordi requested item list. -[info][2025/06/04 16:44:48]: nordi requested create item weapon_huntingrifle. -[info][2025/06/04 16:44:48]: nordi successfully created item weapon_huntingrifle. -[info][2025/06/04 16:45:29]: nordi requested all items. -[info][2025/06/04 16:45:35]: nordi requested item list. -[info][2025/06/04 16:45:47]: nordi requested all items. -[info][2025/06/04 16:45:49]: nordi requested item list. -[info][2025/06/04 16:47:01]: nordi requested create item weapon_huntingrifle. -[info][2025/06/04 16:47:06]: nordi requested all items. -[info][2025/06/04 16:47:10]: nordi requested item weapon_huntingrifle. -[info][2025/06/04 16:47:33]: nordi requested save item weapon_huntingrifle. -[info][2025/06/04 16:47:33]: nordi successfully saved item weapon_huntingrifle. -[info][2025/06/04 16:47:42]: nordi requested save item weapon_huntingrifle. -[info][2025/06/04 16:47:42]: nordi successfully saved item weapon_huntingrifle. -[info][2025/06/04 16:47:44]: nordi requested all items. -[info][2025/06/04 16:47:47]: nordi requested item list. -[info][2025/06/04 16:48:16]: nordi requested create item weapon_crossbow. -[info][2025/06/04 16:48:16]: nordi successfully created item weapon_crossbow. -[info][2025/06/04 16:48:17]: nordi requested all items. -[info][2025/06/04 16:48:28]: nordi requested item list. -[info][2025/06/04 16:48:56]: nordi requested create item gg_hunting_arrowammo. -[info][2025/06/04 16:48:56]: nordi successfully created item gg_hunting_arrowammo. -[info][2025/06/04 16:48:57]: nordi requested all items. -[info][2025/06/04 16:49:06]: nordi requested item gg_hunting_arrowammo. -[info][2025/06/04 16:49:08]: nordi requested save item gg_hunting_arrowammo. -[info][2025/06/04 16:49:08]: nordi successfully saved item gg_hunting_arrowammo. -[info][2025/06/04 16:49:15]: nordi requested all items. -[info][2025/06/04 16:49:17]: nordi requested item list. -[info][2025/06/04 16:49:47]: nordi requested create item gg_hunting_rifleammo. -[info][2025/06/04 16:49:48]: nordi successfully created item gg_hunting_rifleammo. -[info][2025/06/04 16:49:48]: nordi requested all items. -[info][2025/06/04 16:49:54]: nordi requested item list. -[info][2025/06/04 16:50:45]: nordi requested create item gg_hunting_animaltracker. -[info][2025/06/04 16:50:45]: nordi successfully created item gg_hunting_animaltracker. -[info][2025/06/04 16:50:45]: nordi requested all items. -[info][2025/06/04 16:50:51]: nordi requested item list. -[info][2025/06/04 16:51:06]: nordi requested create item gg_hunting_animaltrap. -[info][2025/06/04 16:51:06]: nordi successfully created item gg_hunting_animaltrap. -[info][2025/06/04 16:51:08]: nordi requested all items. -[info][2025/06/04 16:51:13]: nordi requested item list. -[info][2025/06/04 16:51:31]: nordi requested create item gg_hunting_campfire. -[info][2025/06/04 16:51:31]: nordi successfully created item gg_hunting_campfire. -[info][2025/06/04 16:51:32]: nordi requested all items. -[info][2025/06/04 16:51:45]: nordi requested item list. -[info][2025/06/04 16:52:18]: nordi requested create item gg_hunting_meat. -[info][2025/06/04 16:52:19]: nordi successfully created item gg_hunting_meat. -[info][2025/06/04 16:52:19]: nordi requested all items. -[info][2025/06/04 16:52:29]: nordi requested item list. -[info][2025/06/04 16:53:14]: nordi requested create item gg_hunting_cookedmeat. -[info][2025/06/04 16:53:14]: nordi successfully created item gg_hunting_cookedmeat. -[info][2025/06/04 16:53:15]: nordi requested all items. -[info][2025/06/04 16:53:28]: nordi requested item list. -[info][2025/06/04 16:54:00]: nordi requested create item gg_hunting_knife_01. -[info][2025/06/04 16:54:00]: nordi successfully created item gg_hunting_knife_01. -[info][2025/06/04 16:54:01]: nordi requested all items. -[info][2025/06/04 16:54:11]: nordi requested item list. -[info][2025/06/04 16:55:12]: nordi requested create item gg_hunting_knife_02. -[info][2025/06/04 16:55:12]: nordi successfully created item gg_hunting_knife_02. -[info][2025/06/04 16:55:13]: nordi requested all items. -[info][2025/06/04 16:55:23]: nordi requested item list. -[info][2025/06/04 16:55:47]: nordi requested create item gg_hunting_knife_03. -[info][2025/06/04 16:55:47]: nordi successfully created item gg_hunting_knife_03. -[info][2025/06/04 16:55:48]: nordi requested all items. -[info][2025/06/04 16:55:54]: nordi requested item list. -[info][2025/06/04 16:56:57]: nordi requested create item gg_deer_hide_01. -[info][2025/06/04 16:56:57]: nordi successfully created item gg_deer_hide_01. -[info][2025/06/04 16:56:57]: nordi requested all items. -[info][2025/06/04 17:02:03]: nordi requested all items. -[info][2025/06/04 17:02:19]: nordi requested item list. -[info][2025/06/04 17:03:07]: nordi requested create item gg_deer_hide_02. -[info][2025/06/04 17:03:07]: nordi successfully created item gg_deer_hide_02. -[info][2025/06/04 17:03:08]: nordi requested all items. -[info][2025/06/04 17:03:13]: nordi requested item list. -[info][2025/06/04 17:03:47]: nordi requested create item gg_deer_hide_03. -[info][2025/06/04 17:03:47]: nordi successfully created item gg_deer_hide_03. -[info][2025/06/04 17:03:47]: nordi requested all items. -[info][2025/06/04 17:03:53]: nordi requested item list. -[info][2025/06/04 17:04:22]: nordi requested create item gg_boar_tusk_01. -[info][2025/06/04 17:04:22]: nordi successfully created item gg_boar_tusk_01. -[info][2025/06/04 17:04:23]: nordi requested all items. -[info][2025/06/04 17:04:30]: nordi requested item list. -[info][2025/06/04 17:04:51]: nordi requested create item gg_boar_tusk_02. -[info][2025/06/04 17:04:51]: nordi successfully created item gg_boar_tusk_02. -[info][2025/06/04 17:04:52]: nordi requested all items. -[info][2025/06/04 17:04:56]: nordi requested item list. -[info][2025/06/04 17:05:23]: nordi requested create item gg_boar_tusk_03. -[info][2025/06/04 17:05:23]: nordi successfully created item gg_boar_tusk_03. -[info][2025/06/04 17:05:24]: nordi requested all items. -[info][2025/06/04 17:05:45]: nordi requested item gg_deer_hide_03. -[info][2025/06/04 17:05:54]: nordi requested save item gg_deer_hide_03. -[info][2025/06/04 17:05:54]: nordi successfully saved item gg_deer_hide_03. -[info][2025/06/04 17:05:56]: nordi requested save item gg_deer_hide_03. -[info][2025/06/04 17:05:56]: nordi successfully saved item gg_deer_hide_03. -[info][2025/06/04 17:05:58]: nordi requested all items. -[info][2025/06/04 17:06:33]: nordi requested item list. -[info][2025/06/04 17:06:56]: nordi requested create item gg_rabbit_pelt_01. -[info][2025/06/04 17:06:56]: nordi successfully created item gg_rabbit_pelt_01. -[info][2025/06/04 17:06:56]: nordi requested all items. -[info][2025/06/04 17:07:04]: nordi requested item list. -[info][2025/06/04 17:07:27]: nordi requested create item gg_rabbit_pelt_02. -[info][2025/06/04 17:07:27]: nordi successfully created item gg_rabbit_pelt_02. -[info][2025/06/04 17:07:28]: nordi requested all items. -[info][2025/06/04 17:07:42]: nordi requested item list. -[info][2025/06/04 17:08:07]: nordi requested create item gg_rabbit_pelt_03. -[info][2025/06/04 17:08:07]: nordi successfully created item gg_rabbit_pelt_03. -[info][2025/06/04 17:08:07]: nordi requested all items. -[info][2025/06/04 17:08:13]: nordi requested item list. -[info][2025/06/04 17:09:42]: nordi requested create item gg_cougar_claw_01. -[info][2025/06/04 17:09:42]: nordi successfully created item gg_cougar_claw_01. -[info][2025/06/04 17:09:43]: nordi requested all items. -[info][2025/06/04 17:09:49]: nordi requested item list. -[info][2025/06/04 17:10:18]: nordi requested create item gg_cougar_claw_02. -[info][2025/06/04 17:10:18]: nordi successfully created item gg_cougar_claw_02. -[info][2025/06/04 17:10:18]: nordi requested all items. -[info][2025/06/04 17:10:31]: nordi requested item gg_cougar_claw_02. -[info][2025/06/04 17:10:34]: nordi requested save item gg_cougar_claw_02. -[info][2025/06/04 17:10:34]: nordi successfully saved item gg_cougar_claw_02. -[info][2025/06/04 17:11:04]: nordi requested save item gg_cougar_claw_02. -[info][2025/06/04 17:11:04]: nordi successfully saved item gg_cougar_claw_02. -[info][2025/06/04 17:11:07]: nordi requested all items. -[info][2025/06/04 17:11:08]: nordi requested item list. -[info][2025/06/04 17:11:31]: nordi requested create item gg_cougar_claw_03. -[info][2025/06/04 17:11:31]: nordi successfully created item gg_cougar_claw_03. -[info][2025/06/04 17:11:32]: nordi requested all items. -[info][2025/06/04 17:11:38]: nordi requested item list. -[info][2025/06/04 17:12:21]: nordi requested create item gg_coyote_fangs_01. -[info][2025/06/04 17:12:22]: nordi successfully created item gg_coyote_fangs_01. -[info][2025/06/04 17:12:22]: nordi requested all items. -[info][2025/06/04 17:12:59]: nordi requested item list. -[info][2025/06/04 17:13:28]: nordi requested create item gg_coyote_fangs_02. -[info][2025/06/04 17:13:28]: nordi successfully created item gg_coyote_fangs_02. -[info][2025/06/04 17:13:29]: nordi requested all items. -[info][2025/06/04 17:13:39]: nordi requested item list. -[info][2025/06/04 17:14:13]: nordi requested create item gg_coyote_fangs_03. -[info][2025/06/04 17:14:13]: nordi successfully created item gg_coyote_fangs_03. -[info][2025/06/04 17:14:13]: nordi requested all items. -[info][2025/06/04 17:14:27]: nordi requested item list. -[info][2025/06/04 17:14:57]: nordi requested create item gg_salt_block_01. -[info][2025/06/04 17:14:57]: nordi successfully created item gg_salt_block_01. -[info][2025/06/04 17:14:58]: nordi requested all items. -[info][2025/06/04 17:15:03]: nordi requested item list. -[info][2025/06/04 17:15:31]: nordi requested create item gg_salt_block_02. -[info][2025/06/04 17:15:31]: nordi successfully created item gg_salt_block_02. -[info][2025/06/04 17:15:31]: nordi requested all items. -[info][2025/06/04 17:15:37]: nordi requested item list. -[info][2025/06/04 17:15:57]: nordi requested create item gg_salt_block_03. -[info][2025/06/04 17:15:57]: nordi successfully created item gg_salt_block_03. -[info][2025/06/04 17:15:58]: nordi requested all items. -[info][2025/06/04 17:16:04]: nordi requested item list. -[info][2025/06/04 17:19:44]: nordi requested create item gg_pug_bait_01. -[info][2025/06/04 17:19:44]: nordi successfully created item gg_pug_bait_01. -[info][2025/06/04 17:19:44]: nordi requested all items. -[info][2025/06/04 17:20:02]: nordi requested item list. -[info][2025/06/04 17:20:42]: nordi requested create item gg_pug_bait_02. -[info][2025/06/04 17:20:42]: nordi successfully created item gg_pug_bait_02. -[info][2025/06/04 17:20:43]: nordi requested all items. -[info][2025/06/04 17:20:50]: nordi requested item gg_pug_bait_02. -[info][2025/06/04 17:20:54]: nordi requested save item gg_pug_bait_02. -[info][2025/06/04 17:20:54]: nordi successfully saved item gg_pug_bait_02. -[info][2025/06/04 17:20:56]: nordi requested all items. -[info][2025/06/04 17:21:11]: nordi requested item list. -[info][2025/06/04 17:22:00]: nordi requested create item gg_pug_bait_03. -[info][2025/06/04 17:22:00]: nordi successfully created item gg_pug_bait_03. -[info][2025/06/04 17:22:00]: nordi requested all items. -[info][2025/06/04 17:22:07]: nordi requested item list. -[info][2025/06/04 17:23:01]: nordi requested create item gg_captured_rabbit. -[info][2025/06/04 17:23:01]: nordi successfully created item gg_captured_rabbit. -[info][2025/06/04 17:23:02]: nordi requested all items. -[info][2025/06/04 17:23:06]: nordi requested item list. -[info][2025/06/04 17:23:44]: nordi requested create item gg_captured_hen. -[info][2025/06/04 17:23:44]: nordi successfully created item gg_captured_hen. -[info][2025/06/04 17:23:45]: nordi requested all items. -[info][2025/06/04 17:24:06]: nordi requested item gg_captured_hen. -[info][2025/06/04 17:24:14]: nordi requested save item gg_captured_hen. -[info][2025/06/04 17:24:14]: nordi successfully saved item gg_captured_hen. -[info][2025/06/04 17:24:16]: nordi requested all items. -[info][2025/06/04 17:24:19]: nordi requested item list. -[info][2025/06/04 17:25:43]: nordi requested create item gg_captured_chickenhawk. -[info][2025/06/04 17:25:43]: nordi successfully created item gg_captured_chickenhawk. -[info][2025/06/04 17:25:43]: nordi requested all items. -[info][2025/06/04 17:25:47]: nordi requested item gg_captured_hen. -[info][2025/06/04 17:25:59]: nordi requested save item gg_captured_hen. -[info][2025/06/04 17:25:59]: nordi successfully saved item gg_captured_hen. -[info][2025/06/04 17:51:03]: nordi requested all items. -[info][2025/06/04 17:51:08]: nordi requested item gg_pug_bait_03. -[info][2025/06/04 17:51:41]: nordi requested save item gg_pug_bait_03. -[info][2025/06/04 17:51:41]: nordi successfully saved item gg_pug_bait_03. -[info][2025/06/04 17:51:43]: nordi requested all items. -[info][2025/06/04 17:51:48]: nordi requested item gg_pug_bait_03. -[info][2025/06/04 17:51:51]: nordi requested save item gg_pug_bait_03. -[info][2025/06/04 17:51:51]: nordi successfully saved item gg_pug_bait_03. -[info][2025/06/04 17:51:53]: nordi requested all items. -[info][2025/06/04 17:51:55]: nordi requested item gg_pug_bait_02. -[info][2025/06/04 17:52:02]: nordi requested save item gg_pug_bait_02. -[info][2025/06/04 17:52:03]: nordi successfully saved item gg_pug_bait_02. -[info][2025/06/04 17:52:08]: nordi requested save item gg_pug_bait_02. -[info][2025/06/04 17:52:09]: nordi successfully saved item gg_pug_bait_02. -[info][2025/06/04 17:52:10]: nordi requested all items. -[info][2025/06/04 17:52:13]: nordi requested item gg_pug_bait_02. -[info][2025/06/04 17:52:16]: nordi requested save item gg_pug_bait_02. -[info][2025/06/04 17:52:16]: nordi successfully saved item gg_pug_bait_02. -[info][2025/06/04 17:52:21]: nordi requested save item gg_pug_bait_02. -[info][2025/06/04 17:52:21]: nordi successfully saved item gg_pug_bait_02. -[info][2025/06/04 17:52:23]: nordi requested all items. -[info][2025/06/04 17:52:25]: nordi requested item gg_pug_bait_01. -[info][2025/06/04 17:52:32]: nordi requested save item gg_pug_bait_01. -[info][2025/06/04 17:52:32]: nordi successfully saved item gg_pug_bait_01. -[info][2025/06/04 17:52:35]: nordi requested all items. -[info][2025/06/04 17:52:37]: nordi requested item gg_pug_bait_03. -[info][2025/06/04 17:52:48]: nordi requested save item gg_pug_bait_03. -[info][2025/06/04 17:52:48]: nordi successfully saved item gg_pug_bait_03. -[info][2025/06/04 17:52:50]: nordi requested all items. -[info][2025/06/04 17:52:52]: nordi requested item gg_pug_bait_02. -[info][2025/06/04 17:53:02]: nordi requested save item gg_pug_bait_02. -[info][2025/06/04 17:53:02]: nordi successfully saved item gg_pug_bait_02. -[info][2025/06/04 17:53:04]: nordi requested all items. -[info][2025/06/04 17:53:07]: nordi requested item gg_pug_bait_01. -[info][2025/06/04 17:53:18]: nordi requested save item gg_pug_bait_01. -[info][2025/06/04 17:53:18]: nordi successfully saved item gg_pug_bait_01. -[info][2025/06/04 17:53:20]: nordi requested all items. -[info][2025/06/04 18:04:28]: nordi requested item gg_pug_bait_01. -[info][2025/06/04 18:05:03]: nordi requested all items. -[info][2025/06/04 18:08:43]: nordi requested item snp_ammo. -[info][2025/06/04 18:10:31]: nordi requested all items. -[info][2025/06/04 18:10:52]: nordi requested item weapon_huntingrifle. -[info][2025/06/04 19:11:22]: nordi requested all items. -[info][2025/06/04 19:11:33]: nordi requested item gg_hunting_meat. -[info][2025/06/04 19:11:37]: nordi requested all items. -[info][2025/06/04 19:12:32]: nordi requested item gg_hunting_cookedmeat. -[info][2025/06/04 19:12:44]: nordi requested save item gg_hunting_cookedmeat. -[info][2025/06/04 19:12:44]: nordi successfully saved item gg_hunting_cookedmeat. -[info][2025/06/04 19:12:48]: nordi requested all items. -[info][2025/06/04 19:12:54]: nordi requested item gg_hunting_meat. -[info][2025/06/04 19:13:06]: nordi requested save item gg_hunting_meat. -[info][2025/06/04 19:13:06]: nordi successfully saved item gg_hunting_meat. -[info][2025/06/04 20:11:13]: nordi requested all items. -[info][2025/06/04 20:11:22]: nordi requested item weapon_marksmanrifle. -[info][2025/06/04 20:11:48]: nordi requested save item weapon_marksmanrifle. -[info][2025/06/04 20:11:48]: nordi successfully saved item weapon_marksmanrifle. -[info][2025/06/04 20:14:44]: nordi requested all items. -[info][2025/06/04 20:14:52]: nordi requested item binoculars. -[info][2025/06/04 20:56:35]: nordi requested all items. -[info][2025/06/04 20:56:40]: nordi requested item creditcard. -[info][2025/06/04 21:05:27]: nordi uplaoded item image creditcard.png. -[info][2025/06/04 21:07:40]: nordi uplaoded item image creditcard.png. -[info][2025/06/04 21:07:44]: nordi requested save item creditcard. -[info][2025/06/04 21:07:44]: nordi successfully saved item creditcard. -[info][2025/06/04 21:07:47]: nordi requested item creditcard. -[info][2025/06/04 21:08:04]: nordi requested save item creditcard. -[info][2025/06/04 21:08:04]: nordi successfully saved item creditcard. -[info][2025/06/04 21:11:10]: nordi requested all items. -[info][2025/06/04 21:11:19]: nordi requested item weapon_marksmanrifle_mk2. -[info][2025/06/04 21:24:51]: nordi uplaoded item image huntingrifle2.png. -[info][2025/06/04 21:24:54]: nordi requested save item weapon_marksmanrifle_mk2. -[info][2025/06/04 21:24:55]: nordi successfully saved item weapon_marksmanrifle_mk2. -[info][2025/06/04 21:27:49]: max requested all items. -[info][2025/06/04 21:27:51]: max requested all jobs. -[info][2025/06/04 21:27:54]: max requested all gangs. -[info][2025/06/04 21:31:40]: nordi requested all items. -[info][2025/06/04 21:41:16]: nordi requested item sniper_largescope. -[info][2025/06/04 22:11:55]: max requested all items. -[info][2025/06/04 22:12:01]: max requested all items. -[info][2025/06/04 22:28:54]: nordi requested all items. -[info][2025/06/04 22:29:11]: nordi requested item sniper_suppressor. -[info][2025/06/04 22:50:22]: nordi requested all items. -[info][2025/06/04 22:50:29]: nordi requested item redwoodpack. -[info][2025/06/04 22:52:33]: nordi requested all items. -[info][2025/06/04 22:52:37]: nordi requested item tims_instant_nudeln. -[info][2025/06/04 22:53:11]: nordi requested all items. -[info][2025/06/04 23:33:04]: nordi requested item copper. -[info][2025/06/04 23:33:59]: nordi requested save item copper. -[info][2025/06/04 23:33:59]: nordi successfully saved item copper. -[info][2025/06/04 23:34:30]: nordi requested all items. -[info][2025/06/04 23:35:10]: nordi requested item steel. -[info][2025/06/04 23:36:42]: nordi requested all items. -[info][2025/06/04 23:36:48]: nordi requested item empty_cup. -[info][2025/06/04 23:37:03]: campers requested all items. -[info][2025/06/04 23:37:10]: campers requested item campers_fuel. -[info][2025/06/04 23:38:02]: nordi requested all items. -[info][2025/06/04 23:39:58]: campers requested all items. -[info][2025/06/04 23:40:05]: campers requested item campers_fuel. -[info][2025/06/04 23:58:47]: campers requested all items. -[info][2025/06/04 23:59:00]: campers requested all jobs. -[info][2025/06/04 23:59:38]: campers requested all items. -[info][2025/06/04 23:59:54]: campers requested item handle. -[info][2025/06/04 23:59:59]: campers requested all items. -[info][2025/06/05 00:01:51]: campers requested all items. -[info][2025/06/05 00:02:03]: campers requested item copper. -[info][2025/06/05 00:03:25]: nordi requested item list. -[info][2025/06/05 00:03:26]: campers uplaoded item image copperplate.png. -[info][2025/06/05 00:03:30]: nordi requested all items. -[info][2025/06/05 00:03:30]: campers requested save item copper. -[info][2025/06/05 00:03:30]: campers successfully saved item copper. -[info][2025/06/05 00:03:31]: nordi requested item list. -[info][2025/06/05 00:05:29]: nordi uplaoded item image cash.png. -[info][2025/06/05 00:05:31]: nordi requested create item cash. -[info][2025/06/05 00:05:31]: nordi successfully created item cash. -[info][2025/06/05 00:05:32]: nordi requested all items. -[info][2025/06/05 00:05:36]: nordi requested item cash. -[info][2025/06/05 00:05:41]: nordi requested save item cash. -[info][2025/06/05 00:05:41]: nordi successfully saved item cash. -[info][2025/06/05 00:05:43]: nordi requested all items. -[info][2025/06/05 00:05:46]: nordi requested item cash. -[info][2025/06/05 00:05:57]: nordi requested save item cash. -[info][2025/06/05 00:05:57]: nordi successfully saved item cash. -[info][2025/06/05 00:05:58]: nordi requested all items. -[info][2025/06/05 00:18:15]: nordi requested item lockpick. -[info][2025/06/05 00:18:32]: nordi requested save item lockpick. -[info][2025/06/05 00:18:32]: nordi successfully saved item lockpick. -[info][2025/06/05 00:18:34]: nordi requested all items. -[info][2025/06/05 00:19:27]: nordi requested item dildo. -[info][2025/06/05 00:36:11]: campers requested save item copper. -[info][2025/06/05 00:36:11]: campers successfully saved item copper. -[info][2025/06/05 00:36:14]: campers requested all items. -[info][2025/06/05 00:36:58]: campers requested item gunpowder. -[info][2025/06/05 00:37:37]: campers requested save item gunpowder. -[info][2025/06/05 00:37:37]: campers successfully saved item gunpowder. -[info][2025/06/05 00:49:27]: campers requested all items. -[info][2025/06/05 00:49:40]: campers requested all items. -[info][2025/06/05 00:50:01]: campers requested item markedbills. -[info][2025/06/05 00:54:05]: nordi requested all items. -[info][2025/06/05 01:15:41]: nordi requested all items. -[info][2025/06/05 01:15:45]: nordi requested all items. -[info][2025/06/05 01:15:53]: nordi requested item rifle_ammo. -[info][2025/06/05 01:15:59]: nordi requested save item rifle_ammo. -[info][2025/06/05 01:15:59]: nordi successfully saved item rifle_ammo. -[info][2025/06/05 01:16:54]: nordi requested all items. -[info][2025/06/05 01:20:51]: nordi requested all items. -[info][2025/06/05 01:21:02]: nordi requested item weapon_appistol. -[info][2025/06/05 01:21:23]: nordi requested all items. -[info][2025/06/05 01:21:37]: nordi requested item weapon_assaultrifle. -[info][2025/06/05 01:21:57]: nordi requested all items. -[info][2025/06/05 01:22:02]: nordi requested item rifle_ammo. -[info][2025/06/05 03:18:24]: nordi requested all items. -[info][2025/06/05 03:18:29]: nordi requested all items. -[info][2025/06/05 03:18:33]: nordi requested item beerkeg. -[info][2025/06/05 03:19:01]: nordi requested save item beerkeg. -[info][2025/06/05 03:19:01]: nordi successfully saved item beerkeg. -[info][2025/06/05 03:21:55]: nordi requested save item beerkeg. -[info][2025/06/05 03:21:55]: nordi successfully saved item beerkeg. -[info][2025/06/05 03:22:44]: nordi requested save item beerkeg. -[info][2025/06/05 03:22:44]: nordi successfully saved item beerkeg. -[info][2025/06/05 08:58:00]: nordi requested item beerkeg. -[info][2025/06/05 09:41:33]: nordi requested all items. -[info][2025/06/05 09:41:37]: nordi requested item lockpick. -[info][2025/06/05 09:41:50]: nordi requested save item lockpick. -[info][2025/06/05 09:41:50]: nordi successfully saved item lockpick. -[info][2025/06/05 09:44:09]: nordi requested all items. -[info][2025/06/05 09:44:17]: nordi requested item list. -[info][2025/06/05 09:44:19]: nordi requested all items. -[info][2025/06/05 09:44:23]: nordi requested item screwdriverset. -[info][2025/06/05 09:45:08]: nordi uplaoded item image screwdriver.png. -[info][2025/06/05 09:45:14]: nordi requested save item screwdriverset. -[info][2025/06/05 09:45:14]: nordi successfully saved item screwdriverset. -[info][2025/06/05 09:47:19]: nordi requested save item screwdriverset. -[info][2025/06/05 09:47:19]: nordi successfully saved item screwdriverset. -[info][2025/06/05 09:55:56]: nordi requested all items. -[info][2025/06/05 09:56:01]: nordi requested item cash. -[info][2025/06/05 09:58:31]: nordi requested item cash. -[info][2025/06/05 10:01:05]: nordi uplaoded item image cash.png. -[info][2025/06/05 10:01:10]: nordi requested item cash. -[info][2025/06/05 10:01:15]: nordi requested save item cash. -[info][2025/06/05 10:01:15]: nordi successfully saved item cash. -[info][2025/06/05 10:02:41]: nordi requested all items. -[info][2025/06/05 10:02:58]: nordi requested item screwdriverset. -[info][2025/06/05 10:03:28]: nordi uplaoded item image screwdriverset.png. -[info][2025/06/05 10:03:30]: nordi requested save item screwdriverset. -[info][2025/06/05 10:03:30]: nordi successfully saved item screwdriverset. -[info][2025/06/05 10:03:38]: nordi requested all items. -[info][2025/06/05 10:03:42]: nordi requested item creditcard. -[info][2025/06/05 10:03:54]: nordi requested save item creditcard. -[info][2025/06/05 10:03:54]: nordi successfully saved item creditcard. -[info][2025/06/05 10:04:13]: nordi requested save item creditcard. -[info][2025/06/05 10:04:13]: nordi successfully saved item creditcard. -[info][2025/06/05 10:04:32]: nordi requested all items. -[info][2025/06/05 11:34:51]: nordi requested item weapon_compactrifle. -[info][2025/06/05 11:34:57]: nordi requested all items. -[info][2025/06/05 11:35:04]: nordi requested item weapon_compactrifle. -[info][2025/06/05 11:35:06]: nordi requested all items. -[info][2025/06/05 11:41:03]: nordi requested item weapon_appistol. -[info][2025/06/05 11:49:11]: nordi requested all items. -[info][2025/06/05 11:49:16]: nordi requested item cheese_burger. -[info][2025/06/05 12:04:53]: nordi requested all items. -[info][2025/06/05 12:05:00]: nordi requested item cash. -[info][2025/06/05 12:17:19]: nordi requested all items. -[info][2025/06/05 12:39:50]: nordi requested item screwdriverset. -[info][2025/06/05 12:40:00]: mark requested all items. -[info][2025/06/05 12:40:13]: mark requested item screwdriverset. -[info][2025/06/05 12:58:31]: nordi requested all items. -[info][2025/06/05 12:58:37]: nordi requested item fries_with_dip. -[info][2025/06/05 17:33:07]: nordi requested all items. -[info][2025/06/05 17:33:15]: nordi requested all items. -[info][2025/06/05 17:36:11]: nordi requested item list. -[info][2025/06/05 17:36:51]: nordi uplaoded item image coffeemug.png. -[info][2025/06/05 17:36:54]: nordi requested create item coffeemug. -[info][2025/06/05 17:36:54]: nordi successfully created item coffeemug. -[info][2025/06/05 17:36:55]: nordi requested all items. -[info][2025/06/05 17:40:43]: nordi requested item coffeemug. -[info][2025/06/05 17:40:57]: nordi requested save item coffeemug. -[info][2025/06/05 17:40:57]: nordi successfully saved item coffeemug. -[info][2025/06/05 17:44:39]: nordi requested all items. -[info][2025/06/05 17:44:42]: nordi requested item list. -[info][2025/06/05 17:46:58]: nordi uplaoded item image espresso.png. -[info][2025/06/05 17:47:00]: nordi requested create item espresso. -[info][2025/06/05 17:47:00]: nordi successfully created item espresso. -[info][2025/06/05 17:47:01]: nordi requested all items. -[info][2025/06/05 17:47:11]: nordi requested item list. -[info][2025/06/05 17:51:42]: nordi uplaoded item image cappuccino.png. -[info][2025/06/05 17:51:43]: nordi requested create item cappuccino. -[info][2025/06/05 17:51:44]: nordi successfully created item cappuccino. -[info][2025/06/05 17:51:44]: nordi requested all items. -[info][2025/06/05 17:52:01]: nordi requested item list. -[info][2025/06/05 17:54:51]: nordi uplaoded item image latte.png. -[info][2025/06/05 17:55:50]: nordi requested create item latte. -[info][2025/06/05 17:55:50]: nordi successfully created item latte. -[info][2025/06/05 17:55:50]: nordi requested all items. -[info][2025/06/05 17:57:42]: nordi requested item list. -[info][2025/06/05 17:58:38]: nordi uplaoded item image coffee_beans.png. -[info][2025/06/05 17:58:41]: nordi requested create item coffee_beans. -[info][2025/06/05 17:58:41]: nordi successfully created item coffee_beans. -[info][2025/06/05 17:58:41]: nordi requested all items. -[info][2025/06/05 17:59:38]: nordi requested item list. -[info][2025/06/05 18:00:14]: nordi uplaoded item image milk.png. -[info][2025/06/05 18:00:17]: nordi requested create item milk. -[info][2025/06/05 18:00:17]: nordi successfully created item milk. -[info][2025/06/05 18:00:18]: nordi requested all items. -[info][2025/06/05 18:02:42]: nordi requested item coffeemug. -[info][2025/06/05 18:03:21]: nordi requested save item coffeemug. -[info][2025/06/05 18:03:21]: nordi successfully saved item coffeemug. -[info][2025/06/05 18:03:57]: nordi requested save item coffeemug. -[info][2025/06/05 18:03:57]: nordi successfully saved item coffeemug. -[info][2025/06/05 18:03:59]: nordi requested all items. -[info][2025/06/05 18:04:03]: nordi requested item cappuccino. -[info][2025/06/05 18:04:08]: nordi requested save item cappuccino. -[info][2025/06/05 18:04:08]: nordi successfully saved item cappuccino. -[info][2025/06/05 18:04:30]: nordi requested all items. -[info][2025/06/05 18:04:35]: nordi requested item coffee_beans. -[info][2025/06/05 18:04:38]: nordi requested save item coffee_beans. -[info][2025/06/05 18:04:38]: nordi successfully saved item coffee_beans. -[info][2025/06/05 18:06:36]: nordi requested save item coffee_beans. -[info][2025/06/05 18:06:36]: nordi successfully saved item coffee_beans. -[info][2025/06/05 19:57:32]: nordi requested all items. -[info][2025/06/05 20:05:09]: nordi requested all items. -[info][2025/06/05 20:05:14]: nordi requested item list. -[info][2025/06/05 20:05:41]: nordi uplaoded item image marshmallows.png. -[info][2025/06/05 20:06:31]: nordi requested create item marshmallows. -[info][2025/06/05 20:06:31]: nordi successfully created item marshmallows. -[info][2025/06/05 20:06:32]: nordi requested all items. -[info][2025/06/05 20:07:06]: nordi requested item list. -[info][2025/06/05 20:07:37]: nordi uplaoded item image cacao.png. -[info][2025/06/05 20:08:39]: nordi requested create item cocoa. -[info][2025/06/05 20:08:40]: nordi successfully created item cocoa. -[info][2025/06/05 20:08:40]: nordi requested all items. -[info][2025/06/05 20:09:12]: nordi requested item hotdog_deluxe. -[info][2025/06/05 20:09:14]: nordi requested save item hotdog_deluxe. -[info][2025/06/05 20:09:14]: nordi successfully saved item hotdog_deluxe. -[info][2025/06/05 20:09:15]: nordi requested all items. -[info][2025/06/05 20:12:16]: nordi requested item cocoa. -[info][2025/06/05 20:13:37]: nordi requested all items. -[info][2025/06/05 20:13:43]: nordi requested item marshmallows. -[info][2025/06/05 20:14:27]: nordi requested save item marshmallows. -[info][2025/06/05 20:14:27]: nordi successfully saved item marshmallows. -[info][2025/06/05 20:17:29]: nordi requested all items. -[info][2025/06/05 20:17:41]: nordi requested item list. -[info][2025/06/05 20:23:01]: nordi uplaoded item image kakao2.png. -[info][2025/06/05 20:23:03]: nordi requested create item kakao2. -[info][2025/06/05 20:23:03]: nordi successfully created item kakao2. -[info][2025/06/05 20:23:04]: nordi requested all items. -[info][2025/06/05 20:23:17]: nordi requested item list. -[info][2025/06/05 20:24:20]: nordi uplaoded item image kakao3.png. -[info][2025/06/05 20:24:23]: nordi requested create item kakao3. -[info][2025/06/05 20:24:23]: nordi successfully created item kakao3. -[info][2025/06/05 20:24:24]: nordi requested all items. -[info][2025/06/06 13:58:00]: nordi requested all items. -[info][2025/06/06 13:58:10]: nordi requested item gg_cougar_claw_02. -[info][2025/06/06 13:58:14]: nordi requested save item gg_cougar_claw_02. -[info][2025/06/06 13:58:14]: nordi successfully saved item gg_cougar_claw_02. -[info][2025/06/06 13:58:16]: nordi requested all items. -[info][2025/06/06 13:58:18]: nordi requested item gg_cougar_claw_03. -[info][2025/06/06 13:58:22]: nordi requested save item gg_cougar_claw_03. -[info][2025/06/06 13:58:22]: nordi successfully saved item gg_cougar_claw_03. -[info][2025/06/06 13:58:24]: nordi requested all items. -[info][2025/06/06 13:58:25]: nordi requested item gg_cougar_claw_01. -[info][2025/06/06 13:58:30]: nordi requested save item gg_cougar_claw_01. -[info][2025/06/06 13:58:30]: nordi successfully saved item gg_cougar_claw_01. -[info][2025/06/06 13:58:32]: nordi requested all items. -[info][2025/06/06 13:58:38]: nordi requested item gg_rabbit_pelt_02. -[info][2025/06/06 13:58:40]: nordi requested save item gg_rabbit_pelt_02. -[info][2025/06/06 13:58:40]: nordi successfully saved item gg_rabbit_pelt_02. -[info][2025/06/06 13:58:42]: nordi requested all items. -[info][2025/06/06 14:02:33]: nordi requested item weapon_handcuffs. -[info][2025/06/06 14:02:39]: nordi requested all items. -[info][2025/06/06 14:02:41]: nordi requested item weapon_handcuffs. -[info][2025/06/06 14:02:43]: nordi requested all items. -[info][2025/06/06 14:02:46]: nordi requested item handcuffs. -[info][2025/06/06 14:04:40]: nordi uplaoded item image handcuffs.png. -[info][2025/06/06 14:04:45]: nordi requested item handcuffs. -[info][2025/06/06 14:04:58]: nordi requested save item handcuffs. -[info][2025/06/06 14:04:58]: nordi successfully saved item handcuffs. -[info][2025/06/06 14:05:06]: nordi requested save item handcuffs. -[info][2025/06/06 14:05:06]: nordi successfully saved item handcuffs. -[info][2025/06/06 17:47:13]: max requested all items. -[info][2025/06/06 17:47:21]: max requested item lockpick. -[info][2025/06/06 18:09:43]: max requested all jobs. -[info][2025/06/07 20:26:48]: max requested all items. -[info][2025/06/08 00:42:29]: campers requested all items. -[info][2025/06/08 00:43:07]: campers requested item copper. -[info][2025/06/08 00:45:12]: campers requested all items. -[info][2025/06/08 00:46:33]: campers requested item woodcamo_attachment. -[info][2025/06/08 00:46:34]: campers requested all items. -[info][2025/06/08 00:46:42]: campers requested item handle. -[info][2025/06/08 00:47:38]: campers requested all items. -[info][2025/06/08 00:48:27]: campers requested item list. -[info][2025/06/08 00:51:27]: campers uplaoded item image wood_scraps.png. -[info][2025/06/08 00:51:53]: campers requested create item log. -[info][2025/06/08 00:51:53]: campers successfully created item log. -[info][2025/06/08 00:51:59]: campers requested all items. -[info][2025/06/08 00:52:13]: campers requested all items. -[info][2025/06/08 00:52:20]: campers requested item log. -[info][2025/06/08 00:53:58]: campers requested all items. -[info][2025/06/08 01:17:18]: campers requested item gunpowder. -[info][2025/06/08 17:40:55]: nordi requested all items. -[info][2025/06/08 17:40:57]: nordi requested item list. -[info][2025/06/08 17:42:44]: nordi uplaoded item image gardernsicor.png. -[info][2025/06/08 17:42:47]: nordi requested create item gardensicorr. -[info][2025/06/08 17:42:47]: nordi successfully created item gardensicorr. -[info][2025/06/08 17:42:48]: nordi requested all items. -[info][2025/06/08 17:42:54]: nordi requested item list. -[info][2025/06/08 17:43:07]: nordi uplaoded item image korb.png. -[info][2025/06/08 17:43:10]: nordi requested create item korb. -[info][2025/06/08 17:43:10]: nordi successfully created item korb. -[info][2025/06/08 17:43:10]: nordi requested all items. -[info][2025/06/08 17:44:00]: nordi requested item list. -[info][2025/06/08 17:47:16]: nordi uplaoded item image rohkaffee.png. -[info][2025/06/08 17:47:19]: nordi requested create item rohkaffee. -[info][2025/06/08 17:47:19]: nordi successfully created item rohkaffee. -[info][2025/06/08 17:47:20]: nordi requested all items. -[info][2025/06/08 17:54:07]: nordi requested item coffee_beans. -[info][2025/06/08 17:54:25]: nordi requested save item coffee_beans. -[info][2025/06/08 17:54:25]: nordi successfully saved item coffee_beans. -[info][2025/06/08 17:54:32]: nordi requested all items. -[info][2025/06/08 17:54:38]: nordi requested item coffee_beans. -[info][2025/06/08 17:55:37]: nordi requested save item coffee_beans. -[info][2025/06/08 17:55:37]: nordi successfully saved item coffee_beans. -[info][2025/06/08 17:57:16]: nordi requested all items. -[info][2025/06/08 17:57:21]: nordi requested item list. -[info][2025/06/08 17:59:23]: nordi uplaoded item image rostedcoffee.png. -[info][2025/06/08 17:59:28]: nordi requested create item rostedcoffee. -[info][2025/06/08 17:59:28]: nordi successfully created item rostedcoffee. -[info][2025/06/08 17:59:28]: nordi requested all items. -[info][2025/06/08 18:08:30]: nordi requested item list. -[info][2025/06/08 18:08:56]: nordi uplaoded item image emptybag.png. -[info][2025/06/08 18:08:58]: nordi requested create item emptybag. -[info][2025/06/08 18:08:58]: nordi successfully created item emptybag. -[info][2025/06/08 18:08:58]: nordi requested all items. -[info][2025/06/08 18:12:42]: nordi requested all items. -[info][2025/06/08 18:12:49]: nordi requested item rostedcoffee. -[info][2025/06/08 18:12:56]: nordi requested save item rostedcoffee. -[info][2025/06/08 18:12:56]: nordi successfully saved item rostedcoffee. -[info][2025/06/08 18:37:32]: nordi requested all items. -[info][2025/06/08 18:37:42]: nordi requested item weapon_knife. -[info][2025/06/08 18:43:35]: nordi requested all items. -[info][2025/06/08 18:43:36]: nordi requested item list. -[info][2025/06/08 18:46:28]: nordi requested create item salad. -[info][2025/06/08 18:46:28]: nordi successfully created item salad. -[info][2025/06/08 18:46:28]: nordi requested all items. -[info][2025/06/08 18:46:35]: nordi requested item gardensicorr. -[info][2025/06/08 19:00:24]: nordi requested all items. -[info][2025/06/08 19:00:52]: nordi requested item salad. -[info][2025/06/08 19:01:00]: nordi uplaoded item image salad.png. -[info][2025/06/08 19:01:01]: nordi requested save item salad. -[info][2025/06/08 19:01:01]: nordi successfully saved item salad. -[info][2025/06/08 19:02:32]: nordi requested all items. -[info][2025/06/08 19:02:36]: nordi requested item screwdriverset. -[info][2025/06/08 19:02:45]: nordi requested save item screwdriverset. -[info][2025/06/08 19:02:45]: nordi successfully saved item screwdriverset. -[info][2025/06/08 19:02:48]: nordi requested save item screwdriverset. -[info][2025/06/08 19:02:48]: nordi successfully saved item screwdriverset. -[info][2025/06/08 19:02:50]: nordi requested all items. -[info][2025/06/08 19:02:55]: nordi requested item rostedcoffee. -[info][2025/06/08 19:02:57]: nordi requested save item rostedcoffee. -[info][2025/06/08 19:02:57]: nordi successfully saved item rostedcoffee. -[info][2025/06/08 19:02:59]: nordi requested all items. -[info][2025/06/08 19:26:21]: nordi requested item list. -[info][2025/06/08 19:26:23]: nordi requested all items. -[info][2025/06/08 19:26:27]: nordi requested item list. -[info][2025/06/08 19:28:14]: nordi uplaoded item image tomato.png. -[info][2025/06/08 19:28:16]: nordi requested create item tomato. -[info][2025/06/08 19:28:16]: nordi successfully created item tomato. -[info][2025/06/08 19:28:17]: nordi requested all items. -[info][2025/06/08 19:41:49]: nordi requested item list. -[info][2025/06/08 19:43:28]: nordi uplaoded item image gardenshovel.png. -[info][2025/06/08 19:43:35]: nordi requested create item gardenshovel. -[info][2025/06/08 19:43:35]: nordi successfully created item gardenshovel. -[info][2025/06/08 19:43:36]: nordi requested all items. -[info][2025/06/08 19:44:36]: nordi requested item list. -[info][2025/06/08 19:46:42]: nordi uplaoded item image potato.png. -[info][2025/06/08 19:46:46]: nordi requested create item potato. -[info][2025/06/08 19:46:46]: nordi successfully created item potato. -[info][2025/06/08 19:46:47]: nordi requested all items. -[info][2025/06/08 19:47:02]: nordi requested item list. -[info][2025/06/08 19:48:47]: nordi uplaoded item image potatobag.png. -[info][2025/06/08 19:48:51]: nordi requested create item potatobag. -[info][2025/06/08 19:48:51]: nordi successfully created item potatobag. -[info][2025/06/08 19:48:52]: nordi requested all items. -[info][2025/06/08 19:55:47]: nordi requested item list. -[info][2025/06/08 19:56:35]: nordi uplaoded item image packung.png. -[info][2025/06/08 19:56:36]: nordi requested create item packung. -[info][2025/06/08 19:56:36]: nordi successfully created item packung. -[info][2025/06/08 19:56:37]: nordi requested all items. -[info][2025/06/08 19:56:39]: nordi requested item list. -[info][2025/06/08 19:58:08]: nordi uplaoded item image packtomatos.png. -[info][2025/06/08 19:58:11]: nordi requested create item packtomatos. -[info][2025/06/08 19:58:11]: nordi successfully created item packtomatos. -[info][2025/06/08 19:58:12]: nordi requested all items. -[info][2025/06/08 20:11:50]: campers requested all items. -[info][2025/06/08 20:16:14]: campers requested item weapon_sawnoffshotgun. -[info][2025/06/08 20:16:39]: campers requested all items. -[info][2025/06/08 20:17:06]: nordi requested item packtomatos. -[info][2025/06/08 20:17:23]: campers requested item weapon_machinepistol. -[info][2025/06/08 20:17:26]: campers requested all items. -[info][2025/06/08 20:17:33]: campers requested item weapon_dbshotgun. -[info][2025/06/08 20:17:37]: campers requested all items. -[info][2025/06/08 20:17:49]: campers requested item weapon_doubleaction. -[info][2025/06/08 20:17:54]: nordi requested all items. -[info][2025/06/08 20:17:54]: campers requested all items. -[info][2025/06/08 20:18:06]: campers requested item weapon_assaultrifle_mk2. -[info][2025/06/08 20:18:11]: campers requested all items. -[info][2025/06/08 20:18:31]: campers requested item weapon_specialcarbine. -[info][2025/06/08 20:18:33]: campers requested all items. -[info][2025/06/08 20:18:40]: campers requested item weapon_ceramicpistol. -[info][2025/06/08 20:18:54]: campers requested all items. -[info][2025/06/08 20:19:14]: nordi requested item list. -[info][2025/06/08 20:19:17]: campers requested item weapon_assaultrifle. -[info][2025/06/08 20:19:44]: campers requested all items. -[info][2025/06/08 20:20:09]: campers requested item weapon_microsmg. -[info][2025/06/08 20:20:12]: campers requested all items. -[info][2025/06/08 20:20:25]: campers requested item weapon_combatmg. -[info][2025/06/08 20:20:27]: campers requested all items. -[info][2025/06/08 20:20:39]: campers requested item weapon_pistol50. -[info][2025/06/08 20:21:04]: campers requested all items. -[info][2025/06/08 20:21:33]: campers requested item weapon_combatpistol. -[info][2025/06/08 20:23:45]: nordi uplaoded item image screenshot_848-removebg-preview.png. -[info][2025/06/08 20:23:50]: nordi requested create item apple. -[info][2025/06/08 20:23:50]: nordi successfully created item apple. -[info][2025/06/08 20:23:50]: nordi requested all items. -[info][2025/06/08 20:24:07]: nordi requested item apple. -[info][2025/06/08 20:24:13]: nordi requested all items. -[info][2025/06/08 20:24:15]: nordi requested item list. -[info][2025/06/08 20:24:56]: nordi uplaoded item image applejuice.png. -[info][2025/06/08 20:24:58]: nordi requested create item applejuice. -[info][2025/06/08 20:24:58]: nordi successfully created item applejuice. -[info][2025/06/08 20:24:59]: nordi requested all items. -[info][2025/06/08 20:25:06]: nordi requested item list. -[info][2025/06/08 20:26:44]: nordi uplaoded item image applebox.png. -[info][2025/06/08 20:26:47]: nordi requested create item boxapples. -[info][2025/06/08 20:26:47]: nordi successfully created item boxapples. -[info][2025/06/08 20:26:48]: nordi requested all items. -[info][2025/06/08 20:29:01]: nordi requested item list. -[info][2025/06/08 20:29:12]: nordi uplaoded item image box.png. -[info][2025/06/08 20:29:14]: nordi requested create item box. -[info][2025/06/08 20:29:14]: nordi successfully created item box. -[info][2025/06/08 20:29:14]: nordi requested all items. -[info][2025/06/08 20:29:30]: nordi requested item boxapples. -[info][2025/06/08 20:29:58]: nordi requested save item boxapples. -[info][2025/06/08 20:29:58]: nordi successfully saved item boxapples. -[info][2025/06/08 20:30:00]: nordi requested all items. -[info][2025/06/08 20:31:01]: nordi requested item list. -[info][2025/06/08 20:32:15]: nordi uplaoded item image boxapplejuice.png. -[info][2025/06/08 20:32:21]: nordi requested create item boxapplejuice. -[info][2025/06/08 20:32:21]: nordi successfully created item boxapplejuice. -[info][2025/06/08 20:32:21]: nordi requested all items. -[info][2025/06/08 20:42:36]: campers requested all items. -[info][2025/06/08 20:42:46]: campers requested item weapon_assaultrifle. -[info][2025/06/08 20:43:47]: campers requested all items. -[info][2025/06/08 20:45:40]: nordi requested all items. -[info][2025/06/08 20:46:28]: nordi requested item list. -[info][2025/06/08 20:46:48]: nordi uplaoded item image emptybottle.png. -[info][2025/06/08 20:46:52]: nordi requested create item emptybottle. -[info][2025/06/08 20:46:52]: nordi successfully created item emptybottle. -[info][2025/06/08 20:46:53]: nordi requested all items. -[info][2025/06/08 20:48:32]: nordi requested item packung. -[info][2025/06/08 20:48:40]: nordi requested save item packung. -[info][2025/06/08 20:48:40]: nordi successfully saved item packung. -[info][2025/06/08 21:09:49]: nordi requested all items. -[info][2025/06/08 21:10:00]: nordi requested item emptybottle. -[info][2025/06/08 21:16:23]: campers requested all items. -[info][2025/06/08 21:16:29]: campers requested item weapon_dbshotgun. -[info][2025/06/08 21:17:33]: campers requested all items. -[info][2025/06/08 21:18:07]: campers requested item weapon_microsmg. -[info][2025/06/08 21:18:36]: campers requested all items. -[info][2025/06/08 21:18:43]: campers requested item weapon_minismg. -[info][2025/06/08 21:19:11]: campers requested all items. -[info][2025/06/08 21:19:22]: campers requested item weapon_bullpuprifle. -[info][2025/06/08 21:19:54]: campers requested all items. -[info][2025/06/08 21:20:07]: campers requested item weapon_marksmanpistol. -[info][2025/06/08 21:20:44]: campers requested all items. -[info][2025/06/08 21:20:54]: campers requested item weapon_gusenberg. -[info][2025/06/08 21:22:11]: nordi requested save item emptybottle. -[info][2025/06/08 21:22:11]: nordi successfully saved item emptybottle. -[info][2025/06/08 21:22:14]: nordi requested all items. -[info][2025/06/08 21:22:25]: nordi requested item emptybag. -[info][2025/06/08 21:22:29]: nordi requested save item emptybag. -[info][2025/06/08 21:22:29]: nordi successfully saved item emptybag. -[info][2025/06/08 21:23:44]: campers requested all items. -[info][2025/06/08 21:23:49]: campers requested item shaft. -[info][2025/06/08 21:23:51]: campers requested all items. -[info][2025/06/08 21:28:20]: campers requested item shortened_gunbarrel. -[info][2025/06/08 21:28:23]: campers requested all items. -[info][2025/06/08 21:28:26]: campers requested item weapon_gusenberg. -[info][2025/06/08 21:28:28]: campers requested all items. -[info][2025/06/08 21:28:36]: campers requested item shortened_gunbarrel. -[info][2025/06/08 21:32:24]: campers requested all items. -[info][2025/06/08 21:32:28]: campers requested item list. -[info][2025/06/08 21:33:14]: campers requested all items. -[info][2025/06/08 21:33:49]: campers requested item list. -[info][2025/06/08 21:33:53]: campers uplaoded item image weapon_batton_1.png. -[info][2025/06/08 21:34:20]: nordi requested all items. -[info][2025/06/08 21:34:34]: nordi requested item apple. -[info][2025/06/08 21:34:37]: nordi requested save item apple. -[info][2025/06/08 21:34:37]: nordi successfully saved item apple. -[info][2025/06/08 21:34:42]: nordi requested save item apple. -[info][2025/06/08 21:34:42]: nordi successfully saved item apple. -[info][2025/06/08 21:34:48]: nordi requested save item apple. -[info][2025/06/08 21:34:48]: nordi successfully saved item apple. -[info][2025/06/08 21:34:50]: nordi requested all items. -[info][2025/06/08 21:34:57]: nordi requested item packung. -[info][2025/06/08 21:35:01]: nordi requested save item packung. -[info][2025/06/08 21:35:01]: nordi successfully saved item packung. -[info][2025/06/08 21:35:02]: nordi requested all items. -[info][2025/06/08 21:35:09]: nordi requested item emptybottle. -[info][2025/06/08 21:35:13]: nordi requested save item emptybottle. -[info][2025/06/08 21:35:13]: nordi successfully saved item emptybottle. -[info][2025/06/08 21:35:16]: nordi requested all items. -[info][2025/06/08 21:35:26]: nordi requested item applejuice. -[info][2025/06/08 21:35:30]: nordi requested save item applejuice. -[info][2025/06/08 21:35:30]: nordi successfully saved item applejuice. -[info][2025/06/08 21:35:33]: nordi requested all items. -[info][2025/06/08 21:35:48]: nordi requested item tomato. -[info][2025/06/08 21:35:51]: nordi requested save item tomato. -[info][2025/06/08 21:35:51]: nordi successfully saved item tomato. -[info][2025/06/08 21:35:56]: nordi requested save item tomato. -[info][2025/06/08 21:35:56]: nordi successfully saved item tomato. -[info][2025/06/08 21:35:58]: nordi requested all items. -[info][2025/06/08 21:36:04]: nordi requested item potato. -[info][2025/06/08 21:36:06]: nordi requested save item potato. -[info][2025/06/08 21:36:06]: nordi successfully saved item potato. -[info][2025/06/08 21:36:08]: nordi requested all items. -[info][2025/06/08 21:36:46]: campers requested create item weapon_batton. -[info][2025/06/08 21:36:47]: campers successfully created item weapon_batton. -[info][2025/06/08 21:36:47]: campers requested all items. -[info][2025/06/08 21:36:53]: campers requested item weapon_batton. -[info][2025/06/08 21:43:51]: mark requested all items. -[info][2025/06/08 21:44:23]: mark requested item boxapples. -[info][2025/06/08 21:44:33]: mark requested all items. -[info][2025/06/08 21:44:35]: mark requested item apple. -[info][2025/06/08 21:44:47]: nordi requested item apple. -[info][2025/06/08 21:45:04]: mark requested all items. -[info][2025/06/08 21:45:08]: mark requested item apple. -[info][2025/06/08 21:45:24]: mark requested all items. -[info][2025/06/08 22:11:13]: nordi requested all items. -[info][2025/06/08 22:12:35]: nordi requested item rostedcoffee. -[info][2025/06/08 22:14:38]: nordi requested save item rostedcoffee. -[info][2025/06/08 22:14:38]: nordi successfully saved item rostedcoffee. -[info][2025/06/08 22:23:53]: nordi requested all items. -[info][2025/06/08 22:24:01]: nordi requested item potatobag. -[info][2025/06/08 22:25:14]: nordi requested all items. -[info][2025/06/08 22:25:29]: nordi requested item boxapples. -[info][2025/06/08 22:25:52]: nordi requested all items. -[info][2025/06/08 22:25:56]: nordi requested item applejuice. -[info][2025/06/08 22:26:18]: nordi requested all items. -[info][2025/06/08 22:26:45]: nordi requested item boxapplejuice. -[info][2025/06/08 22:27:50]: nordi requested all items. -[info][2025/06/08 22:29:17]: nordi requested item emptybottle. -[info][2025/06/08 22:29:55]: nordi requested all items. -[info][2025/06/08 22:35:06]: nordi requested item list. -[info][2025/06/08 22:35:42]: nordi requested create item boxsalad. -[info][2025/06/08 22:35:42]: nordi successfully created item boxsalad. -[info][2025/06/08 22:35:43]: nordi requested all items. -[info][2025/06/08 22:42:23]: nordi requested item list. -[info][2025/06/08 22:43:28]: nordi requested all items. -[info][2025/06/08 22:43:31]: nordi requested item boxsalad. -[info][2025/06/08 22:43:33]: nordi uplaoded item image saladbox.png. -[info][2025/06/08 22:43:35]: nordi requested save item boxsalad. -[info][2025/06/08 22:43:35]: nordi successfully saved item boxsalad. -[info][2025/06/08 22:43:37]: nordi requested all items. -[info][2025/06/08 22:45:40]: nordi requested item list. -[info][2025/06/08 22:46:25]: nordi uplaoded item image badfruit.png. -[info][2025/06/08 22:46:28]: nordi requested create item badfruit. -[info][2025/06/08 22:46:28]: nordi successfully created item badfruit. -[info][2025/06/08 22:46:28]: nordi requested all items. -[info][2025/06/08 22:49:56]: nordi requested item list. -[info][2025/06/08 22:51:25]: nordi uplaoded item image orange.png. -[info][2025/06/08 22:51:28]: nordi requested create item orange. -[info][2025/06/08 22:51:28]: nordi successfully created item orange. -[info][2025/06/08 22:51:28]: nordi requested all items. -[info][2025/06/08 22:55:09]: nordi requested item list. -[info][2025/06/08 22:55:35]: nordi uplaoded item image boxorange.png. -[info][2025/06/08 22:55:38]: nordi requested create item boxorange. -[info][2025/06/08 22:55:38]: nordi successfully created item boxorange. -[info][2025/06/08 22:55:39]: nordi requested all items. -[info][2025/06/08 22:58:47]: nordi requested item list. -[info][2025/06/08 22:58:49]: nordi requested all items. -[info][2025/06/08 22:59:03]: nordi requested item list. -[info][2025/06/08 22:59:31]: nordi uplaoded item image orangejuice.png. -[info][2025/06/08 22:59:35]: nordi requested create item orangejuice. -[info][2025/06/08 22:59:35]: nordi successfully created item orangejuice. -[info][2025/06/08 22:59:36]: nordi requested all items. -[info][2025/06/08 23:00:29]: mark requested all items. -[info][2025/06/08 23:00:43]: mark requested item shaft. -[info][2025/06/08 23:01:07]: nordi requested item list. -[info][2025/06/08 23:01:38]: nordi uplaoded item image boxorangejuice.png. -[info][2025/06/08 23:01:40]: nordi requested create item boxorangejuice. -[info][2025/06/08 23:01:40]: nordi successfully created item boxorangejuice. -[info][2025/06/08 23:01:41]: nordi requested all items. -[info][2025/06/08 23:03:06]: mark requested all items. -[info][2025/06/08 23:03:41]: mark requested item gun_handle. -[info][2025/06/08 23:03:59]: mark requested all items. -[info][2025/06/08 23:09:48]: nordi requested item list. -[info][2025/06/08 23:10:49]: nordi uplaoded item image chainsaw.png. -[info][2025/06/08 23:10:51]: nordi requested create item chainsaw. -[info][2025/06/08 23:10:52]: nordi successfully created item chainsaw. -[info][2025/06/08 23:10:52]: nordi requested all items. -[info][2025/06/08 23:14:33]: nordi requested item list. -[info][2025/06/08 23:15:55]: nordi uplaoded item image woodbug.png. -[info][2025/06/08 23:16:00]: nordi requested create item woodbug. -[info][2025/06/08 23:16:00]: nordi successfully created item woodbug. -[info][2025/06/08 23:16:01]: nordi requested all items. -[info][2025/06/08 23:17:51]: nordi requested item list. -[info][2025/06/08 23:19:21]: nordi uplaoded item image wood.png. -[info][2025/06/08 23:19:22]: nordi requested create item wood. -[info][2025/06/08 23:19:22]: nordi successfully created item wood. -[info][2025/06/08 23:19:23]: nordi requested all items. -[info][2025/06/08 23:20:35]: nordi requested item list. -[info][2025/06/08 23:23:29]: nordi uplaoded item image plank.png. -[info][2025/06/08 23:23:32]: nordi requested create item plank. -[info][2025/06/08 23:23:32]: nordi successfully created item plank. -[info][2025/06/08 23:23:33]: nordi requested all items. -[info][2025/06/08 23:24:59]: campers requested all items. -[info][2025/06/08 23:25:19]: campers requested item wood. -[info][2025/06/08 23:25:21]: campers requested all items. -[info][2025/06/08 23:29:57]: nordi requested item weapon_battleaxe. -[info][2025/06/08 23:29:59]: nordi requested all items. -[info][2025/06/08 23:30:15]: nordi requested item weapon_hatchet. -[info][2025/06/08 23:30:38]: nordi requested save item weapon_hatchet. -[info][2025/06/08 23:30:38]: nordi successfully saved item weapon_hatchet. -[info][2025/06/08 23:44:41]: nordi requested all items. -[info][2025/06/08 23:44:50]: nordi requested item list. -[info][2025/06/08 23:45:13]: nordi uplaoded item image sawdust.png. -[info][2025/06/08 23:45:15]: nordi requested create item sawdust. -[info][2025/06/08 23:45:15]: nordi successfully created item sawdust. -[info][2025/06/08 23:45:16]: nordi requested all items. -[info][2025/06/08 23:51:05]: nordi requested item gg_hunting_meat. -[info][2025/06/08 23:51:08]: nordi requested all items. -[info][2025/06/08 23:51:58]: nordi requested item list. -[info][2025/06/08 23:52:40]: nordi uplaoded item image rawmeat.png. -[info][2025/06/08 23:52:43]: nordi requested create item rawmeat. -[info][2025/06/08 23:52:43]: nordi successfully created item rawmeat. -[info][2025/06/08 23:52:44]: nordi requested all items. -[info][2025/06/08 23:53:44]: nordi requested item list. -[info][2025/06/08 23:54:55]: nordi uplaoded item image butcherknife.png. -[info][2025/06/08 23:54:57]: nordi requested create item butcherknife. -[info][2025/06/08 23:54:57]: nordi successfully created item butcherknife. -[info][2025/06/08 23:54:58]: nordi requested all items. -[info][2025/06/08 23:56:55]: nordi requested item butcherknife. -[info][2025/06/08 23:56:59]: nordi requested save item butcherknife. -[info][2025/06/08 23:56:59]: nordi successfully saved item butcherknife. -[info][2025/06/08 23:59:59]: nordi requested all items. -[info][2025/06/09 00:00:07]: nordi requested item grape. -[info][2025/06/09 00:00:13]: nordi requested save item grape. -[info][2025/06/09 00:00:13]: nordi successfully saved item grape. -[info][2025/06/09 00:11:24]: nordi requested save item grape. -[info][2025/06/09 00:11:24]: nordi successfully saved item grape. -[info][2025/06/09 00:11:26]: nordi requested all items. -[info][2025/06/09 00:11:28]: nordi requested item grapejuice. -[info][2025/06/09 00:15:14]: nordi uplaoded item image traubensaft.png. -[info][2025/06/09 00:15:17]: nordi requested save item grapejuice. -[info][2025/06/09 00:15:17]: nordi successfully saved item grapejuice. -[info][2025/06/09 00:15:22]: nordi requested all items. -[info][2025/06/09 00:15:26]: nordi requested item list. -[info][2025/06/09 00:15:46]: nordi uplaoded item image boxgrapes.png. -[info][2025/06/09 00:15:48]: nordi requested create item boxgrapes. -[info][2025/06/09 00:15:48]: nordi successfully created item boxgrapes. -[info][2025/06/09 00:15:49]: nordi requested all items. -[info][2025/06/09 00:15:54]: nordi requested item list. -[info][2025/06/09 00:16:15]: nordi uplaoded item image boxgrapejuice.png. -[info][2025/06/09 00:16:17]: nordi requested create item boxgrapejuice. -[info][2025/06/09 00:16:17]: nordi successfully created item boxgrapejuice. -[info][2025/06/09 00:16:18]: nordi requested all items. -[info][2025/06/09 00:16:24]: nordi requested item wwine. -[info][2025/06/09 00:16:26]: nordi requested all items. -[info][2025/06/09 00:17:59]: nordi requested item boxorange. -[info][2025/06/09 00:18:27]: nordi requested all items. -[info][2025/06/09 00:18:44]: nordi requested item boxorangejuice. -[info][2025/06/09 00:21:22]: nordi requested all items. -[info][2025/06/09 00:21:39]: nordi requested item grape. -[info][2025/06/09 00:21:51]: nordi requested save item grape. -[info][2025/06/09 00:21:51]: nordi successfully saved item grape. -[info][2025/06/09 00:22:00]: nordi requested all items. -[info][2025/06/09 00:22:05]: nordi requested item boxgrapes. -[info][2025/06/09 00:22:58]: nordi requested all items. -[info][2025/06/09 00:23:30]: nordi requested item grapejuice. -[info][2025/06/09 00:25:26]: nordi requested all items. -[info][2025/06/09 00:25:29]: nordi requested item boxgrapejuice. -[info][2025/06/09 00:25:33]: nordi requested all items. -[info][2025/06/09 00:28:05]: nordi requested item boxgrapejuice. -[info][2025/06/09 00:35:04]: nordi requested all items. -[info][2025/06/09 00:55:53]: nordi requested item list. -[info][2025/06/09 00:56:23]: nordi uplaoded item image freshtobbacoleaf.png. -[info][2025/06/09 00:56:33]: nordi requested create item freshtobbacoleaf. -[info][2025/06/09 00:56:33]: nordi successfully created item freshtobbacoleaf. -[info][2025/06/09 00:56:33]: nordi requested all items. -[info][2025/06/09 01:01:20]: nordi requested item ephedrin. -[info][2025/06/09 01:01:23]: nordi requested all items. -[info][2025/06/09 01:01:24]: nordi requested item freshtobbacoleaf. -[info][2025/06/09 01:06:48]: nordi requested save item freshtobbacoleaf. -[info][2025/06/09 01:06:48]: nordi successfully saved item freshtobbacoleaf. -[info][2025/06/09 01:07:35]: nordi requested all items. -[info][2025/06/09 01:13:30]: nordi requested item list. -[info][2025/06/09 01:17:51]: nordi uplaoded item image drietobbacoleaf.png. -[info][2025/06/09 01:17:56]: nordi requested create item drytobbacoleaf. -[info][2025/06/09 01:17:56]: nordi successfully created item drytobbacoleaf. -[info][2025/06/09 01:17:57]: nordi requested all items. -[info][2025/06/09 01:18:03]: nordi requested item list. -[info][2025/06/09 01:18:20]: nordi uplaoded item image tobbaco.png. -[info][2025/06/09 01:18:22]: nordi requested create item tobbaco. -[info][2025/06/09 01:18:22]: nordi successfully created item tobbaco. -[info][2025/06/09 01:18:23]: nordi requested all items. -[info][2025/06/09 01:28:30]: nordi requested item drytobbacoleaf. -[info][2025/06/09 01:29:21]: nordi requested all items. -[info][2025/06/09 01:29:24]: nordi requested item freshtobbacoleaf. -[info][2025/06/09 01:29:34]: nordi requested all items. -[info][2025/06/09 01:30:16]: nordi requested item drytobbacoleaf. -[info][2025/06/09 01:31:05]: nordi requested all items. -[info][2025/06/09 01:31:07]: nordi requested item tobbaco. -[info][2025/06/09 01:31:57]: nordi requested all items. -[info][2025/06/09 01:32:06]: nordi requested item list. -[info][2025/06/09 01:33:14]: nordi uplaoded item image cigar.png. -[info][2025/06/09 01:33:18]: nordi requested create item cigar. -[info][2025/06/09 01:33:18]: nordi successfully created item cigar. -[info][2025/06/09 01:33:19]: nordi requested all items. -[info][2025/06/09 01:35:08]: nordi requested item rolling_paper. -[info][2025/06/09 01:35:19]: nordi requested all items. -[info][2025/06/09 01:35:22]: nordi requested item filter_papers. -[info][2025/06/09 01:35:42]: nordi requested all items. -[info][2025/06/09 01:35:47]: nordi requested item cigs. -[info][2025/06/09 01:35:49]: nordi requested all items. -[info][2025/06/09 01:35:57]: nordi requested item redwoodpack. -[info][2025/06/09 01:48:40]: nordi requested all items. -[info][2025/06/09 01:48:41]: nordi requested item list. -[info][2025/06/09 01:49:28]: nordi uplaoded item image cigbox.png. -[info][2025/06/09 01:49:31]: nordi requested create item cigbox. -[info][2025/06/09 01:49:31]: nordi successfully created item cigbox. -[info][2025/06/09 01:49:32]: nordi requested all items. -[info][2025/06/09 02:32:11]: campers requested all items. -[info][2025/06/09 02:32:24]: campers requested item weed. -[info][2025/06/09 02:37:27]: campers requested save item weed. -[info][2025/06/09 02:37:27]: campers successfully saved item weed. -[info][2025/06/09 13:39:16]: nordi requested all items. -[info][2025/06/09 13:39:32]: nordi requested item weapon_hatchet. -[info][2025/06/09 13:39:43]: nordi requested all items. -[info][2025/06/09 13:39:55]: nordi requested item butcherknife. -[info][2025/06/09 13:44:25]: nordi requested all items. -[info][2025/06/09 13:44:39]: nordi requested item list. -[info][2025/06/09 13:47:28]: nordi uplaoded item image erz.png. -[info][2025/06/09 13:47:30]: nordi requested create item erz. -[info][2025/06/09 13:47:30]: nordi successfully created item erz. -[info][2025/06/09 13:47:30]: nordi requested all items. -[info][2025/06/09 13:49:24]: nordi requested item list. -[info][2025/06/09 13:49:49]: nordi uplaoded item image dirt.png. -[info][2025/06/09 13:49:51]: nordi requested create item dirt. -[info][2025/06/09 13:49:51]: nordi successfully created item dirt. -[info][2025/06/09 13:49:52]: nordi requested all items. -[info][2025/06/09 13:50:29]: nordi requested item list. -[info][2025/06/09 13:51:32]: nordi requested all items. -[info][2025/06/09 13:51:39]: nordi requested item drill. -[info][2025/06/09 13:51:47]: nordi requested save item drill. -[info][2025/06/09 13:51:47]: nordi successfully saved item drill. -[info][2025/06/09 13:52:10]: nordi requested save item drill. -[info][2025/06/09 13:52:10]: nordi successfully saved item drill. -[info][2025/06/09 13:52:12]: nordi requested save item drill. -[info][2025/06/09 13:52:12]: nordi successfully saved item drill. -[info][2025/06/09 13:52:13]: nordi requested all items. -[info][2025/06/09 13:52:15]: nordi requested item list. -[info][2025/06/09 13:55:26]: nordi requested create item stonedrill. -[info][2025/06/09 13:55:26]: nordi successfully created item stonedrill. -[info][2025/06/09 13:55:27]: nordi requested all items. -[info][2025/06/09 13:56:31]: nordi requested item stonedrill. -[info][2025/06/09 13:56:38]: nordi uplaoded item image stonedrill.png. -[info][2025/06/09 13:56:42]: nordi requested save item stonedrill. -[info][2025/06/09 13:56:42]: nordi successfully saved item stonedrill. -[info][2025/06/09 13:56:47]: nordi requested all items. -[info][2025/06/09 13:56:49]: nordi requested item stonedrill. -[info][2025/06/09 13:56:51]: nordi requested all items. -[info][2025/06/09 13:56:52]: nordi requested item drill. -[info][2025/06/09 13:57:04]: nordi requested save item drill. -[info][2025/06/09 13:57:04]: nordi successfully saved item drill. -[info][2025/06/09 14:14:08]: nordi requested all items. -[info][2025/06/09 14:14:19]: nordi requested item weapon_ball. -[info][2025/06/09 14:14:25]: nordi requested all items. -[info][2025/06/09 14:14:42]: nordi requested item weapon_ball. -[info][2025/06/09 14:15:45]: nordi requested all items. -[info][2025/06/09 14:19:33]: nordi requested item walkstick. -[info][2025/06/09 14:19:59]: nordi requested save item walkstick. -[info][2025/06/09 14:19:59]: nordi successfully saved item walkstick. -[info][2025/06/09 14:20:24]: nordi requested all items. -[info][2025/06/09 14:20:49]: nordi requested item walkstick. -[info][2025/06/09 14:20:52]: nordi requested save item walkstick. -[info][2025/06/09 14:20:52]: nordi successfully saved item walkstick. -[info][2025/06/09 14:20:54]: nordi requested all items. -[info][2025/06/09 14:22:26]: nordi requested item list. -[info][2025/06/09 14:30:53]: nordi requested all items. -[info][2025/06/09 14:30:55]: nordi requested item weapon_nightstick. -[info][2025/06/09 14:30:59]: nordi requested all items. -[info][2025/06/09 14:31:00]: nordi requested item list. -[info][2025/06/09 14:31:04]: nordi requested all items. -[info][2025/06/09 14:31:06]: nordi requested item weapon_nightstick. -[info][2025/06/09 14:31:13]: nordi requested all items. -[info][2025/06/09 14:31:15]: nordi requested item list. -[info][2025/06/09 14:31:20]: nordi requested all items. -[info][2025/06/09 14:31:24]: nordi requested item list. -[info][2025/06/09 14:34:17]: nordi uplaoded item image shoe.png. -[info][2025/06/09 14:34:19]: nordi requested create item weapon_shoe. -[info][2025/06/09 14:34:19]: nordi successfully created item weapon_shoe. -[info][2025/06/09 14:34:20]: nordi requested all items. -[info][2025/06/09 14:34:29]: nordi requested item weapon_shoe. -[info][2025/06/09 14:34:32]: nordi requested save item weapon_shoe. -[info][2025/06/09 14:34:32]: nordi successfully saved item weapon_shoe. -[info][2025/06/09 14:34:54]: nordi requested save item weapon_shoe. -[info][2025/06/09 14:34:54]: nordi successfully saved item weapon_shoe. -[info][2025/06/09 14:39:36]: nordi requested all items. -[info][2025/06/09 14:39:43]: nordi requested item list. -[info][2025/06/09 14:39:45]: nordi requested all items. -[info][2025/06/09 14:39:52]: nordi requested item list. -[info][2025/06/09 14:41:30]: nordi uplaoded item image ironbar.png. -[info][2025/06/09 14:41:33]: nordi requested create item ironbar. -[info][2025/06/09 14:41:33]: nordi successfully created item ironbar. -[info][2025/06/09 14:41:34]: nordi requested all items. -[info][2025/06/09 14:50:13]: nordi requested item list. -[info][2025/06/09 14:50:42]: nordi uplaoded item image gussform.png. -[info][2025/06/09 14:50:44]: nordi requested create item gussform. -[info][2025/06/09 14:50:44]: nordi successfully created item gussform. -[info][2025/06/09 14:50:44]: nordi requested all items. -[info][2025/06/09 15:11:59]: nordi requested item list. -[info][2025/06/09 15:12:20]: nordi uplaoded item image sand.png. -[info][2025/06/09 15:12:22]: nordi requested create item sand. -[info][2025/06/09 15:12:22]: nordi successfully created item sand. -[info][2025/06/09 15:12:23]: nordi requested all items. -[info][2025/06/09 15:15:54]: nordi requested item list. -[info][2025/06/09 15:16:07]: nordi requested item list. -[info][2025/06/09 15:16:51]: nordi uplaoded item image bucket.png. -[info][2025/06/09 15:16:53]: nordi requested create item bucket. -[info][2025/06/09 15:16:53]: nordi successfully created item bucket. -[info][2025/06/09 15:16:53]: nordi requested all items. -[info][2025/06/09 15:18:52]: nordi requested item list. -[info][2025/06/09 15:19:47]: nordi uplaoded item image shovel.png. -[info][2025/06/09 15:20:55]: nordi requested create item shovel. -[info][2025/06/09 15:20:55]: nordi successfully created item shovel. -[info][2025/06/09 15:20:55]: nordi requested all items. -[info][2025/06/09 15:21:04]: nordi requested item bucket. -[info][2025/06/09 15:23:29]: nordi requested all items. -[info][2025/06/09 15:32:52]: nordi requested item list. -[info][2025/06/09 15:38:05]: nordi uplaoded item image woodcoal.png. -[info][2025/06/09 15:38:10]: nordi requested create item woodcoal. -[info][2025/06/09 15:38:10]: nordi successfully created item woodcoal. -[info][2025/06/09 15:38:11]: nordi requested all items. -[info][2025/06/09 15:38:14]: nordi requested item list. -[info][2025/06/09 15:39:27]: nordi requested all items. -[info][2025/06/09 15:39:35]: nordi requested item steel. -[info][2025/06/09 15:39:42]: nordi requested save item steel. -[info][2025/06/09 15:39:42]: nordi successfully saved item steel. -[info][2025/06/09 15:39:49]: nordi requested all items. -[info][2025/06/09 15:39:51]: nordi requested item steel_ingots. -[info][2025/06/09 15:59:01]: nordi requested all items. -[info][2025/06/09 15:59:06]: nordi requested item woodcoal. -[info][2025/06/09 15:59:16]: nordi requested all items. -[info][2025/06/09 15:59:24]: nordi requested item ironbar. -[info][2025/06/09 15:59:27]: nordi requested save item ironbar. -[info][2025/06/09 15:59:27]: nordi successfully saved item ironbar. -[info][2025/06/09 15:59:29]: nordi requested all items. -[info][2025/06/09 15:59:36]: nordi requested item gardenshovel. -[info][2025/06/09 15:59:40]: nordi requested save item gardenshovel. -[info][2025/06/09 15:59:40]: nordi successfully saved item gardenshovel. -[info][2025/06/09 15:59:42]: nordi requested all items. -[info][2025/06/09 16:00:28]: nordi requested item aluminum. -[info][2025/06/09 16:00:31]: nordi requested all items. -[info][2025/06/09 16:00:33]: nordi requested item aluminumoxide. -[info][2025/06/09 16:00:38]: nordi requested all items. -[info][2025/06/09 16:02:12]: nordi requested item aluminum. -[info][2025/06/09 16:02:21]: nordi requested all items. -[info][2025/06/09 16:02:28]: nordi requested item steel_ingots. -[info][2025/06/09 16:02:29]: nordi requested all items. -[info][2025/06/09 16:02:32]: nordi requested item list. -[info][2025/06/09 16:02:41]: nordi requested all items. -[info][2025/06/09 16:02:46]: nordi requested item metalscrap. -[info][2025/06/09 16:03:29]: nordi requested all items. -[info][2025/06/09 16:03:34]: nordi requested item list. -[info][2025/06/09 16:09:40]: nordi requested create item anglegrinder. -[info][2025/06/09 16:09:40]: nordi successfully created item anglegrinder. -[info][2025/06/09 16:09:41]: nordi requested all items. -[info][2025/06/09 16:10:45]: nordi requested item list. -[info][2025/06/09 16:13:05]: nordi uplaoded item image anglegrinder.png. -[info][2025/06/09 16:13:08]: nordi requested create item cuttingdisc. -[info][2025/06/09 16:13:08]: nordi successfully created item cuttingdisc. -[info][2025/06/09 16:13:09]: nordi requested all items. -[info][2025/06/09 16:16:02]: nordi requested item metalscrap. -[info][2025/06/09 16:16:38]: nordi requested all items. -[info][2025/06/09 16:17:39]: nordi requested item aluminum. -[info][2025/06/09 16:19:12]: nordi requested all items. -[info][2025/06/09 16:19:22]: nordi requested item metalscrap. -[info][2025/06/09 16:20:11]: nordi requested all items. -[info][2025/06/09 16:20:18]: nordi requested item tosti. -[info][2025/06/09 16:20:22]: nordi requested all items. -[info][2025/06/09 16:20:23]: nordi requested item bcesandwich. -[info][2025/06/09 16:20:26]: nordi requested save item bcesandwich. -[info][2025/06/09 16:20:26]: nordi successfully saved item bcesandwich. -[info][2025/06/09 16:20:28]: nordi requested all items. -[info][2025/06/09 16:20:30]: nordi requested item thors_sandwich. -[info][2025/06/09 16:20:32]: nordi requested save item thors_sandwich. -[info][2025/06/09 16:20:32]: nordi successfully saved item thors_sandwich. -[info][2025/06/09 16:20:34]: nordi requested all items. -[info][2025/06/09 16:20:40]: nordi requested item sand. -[info][2025/06/09 16:20:43]: nordi requested save item sand. -[info][2025/06/09 16:20:43]: nordi successfully saved item sand. -[info][2025/06/09 16:20:45]: nordi requested all items. -[info][2025/06/09 16:24:43]: nordi requested item stonedrill. -[info][2025/06/09 16:26:52]: nordi requested all items. -[info][2025/06/09 16:26:56]: nordi requested item anglegrinder. -[info][2025/06/09 16:27:10]: nordi requested save item anglegrinder. -[info][2025/06/09 16:27:10]: nordi successfully saved item anglegrinder. -[info][2025/06/09 16:28:41]: nordi requested save item anglegrinder. -[info][2025/06/09 16:28:41]: nordi successfully saved item anglegrinder. -[info][2025/06/09 16:28:44]: nordi requested all items. -[info][2025/06/09 16:29:17]: nordi requested item glass. -[info][2025/06/09 16:29:22]: nordi requested save item glass. -[info][2025/06/09 16:29:22]: nordi successfully saved item glass. -[info][2025/06/09 16:29:25]: nordi requested all items. -[info][2025/06/09 16:30:26]: nordi requested item glass. -[info][2025/06/09 16:30:31]: nordi requested save item glass. -[info][2025/06/09 16:30:31]: nordi successfully saved item glass. -[info][2025/06/09 16:30:33]: nordi requested all items. -[info][2025/06/09 16:33:35]: nordi requested item copper. -[info][2025/06/09 16:36:33]: nordi uplaoded item image cooperbar.png. -[info][2025/06/09 16:36:42]: nordi requested save item copper. -[info][2025/06/09 16:36:42]: nordi successfully saved item copper. -[info][2025/06/09 17:03:46]: mark requested all items. -[info][2025/06/09 17:04:29]: nordi requested save item copper. -[info][2025/06/09 17:04:29]: nordi successfully saved item copper. -[info][2025/06/09 17:04:31]: nordi requested all items. -[info][2025/06/09 17:04:48]: mark requested item burrito. -[info][2025/06/09 17:05:02]: mark requested all items. -[info][2025/06/09 17:19:47]: nordi requested item weapon_knife. -[info][2025/06/09 17:19:51]: nordi requested save item weapon_knife. -[info][2025/06/09 17:19:51]: nordi successfully saved item weapon_knife. -[info][2025/06/09 17:28:36]: nordi requested all items. -[info][2025/06/09 17:28:48]: nordi requested item shovel. -[info][2025/06/09 18:16:50]: nordi requested all items. -[info][2025/06/09 18:17:24]: nordi requested item list. -[info][2025/06/09 18:18:48]: nordi uplaoded item image rohmilk.png. -[info][2025/06/09 18:18:52]: nordi requested create item rohmilk. -[info][2025/06/09 18:18:52]: nordi successfully created item rohmilk. -[info][2025/06/09 18:18:52]: nordi requested all items. -[info][2025/06/09 18:33:49]: nordi requested item rohmilk. -[info][2025/06/09 18:34:07]: nordi requested all items. -[info][2025/06/09 18:34:10]: nordi requested item rohmilk. -[info][2025/06/09 18:38:57]: nordi requested all items. -[info][2025/06/09 18:38:59]: nordi requested item list. -[info][2025/06/09 18:39:21]: nordi uplaoded item image boxmilk.png. -[info][2025/06/09 18:39:42]: nordi requested create item boxmilk. -[info][2025/06/09 18:39:42]: nordi successfully created item boxmilk. -[info][2025/06/09 18:39:43]: nordi requested all items. -[info][2025/06/09 19:06:40]: nordi requested item list. -[info][2025/06/09 19:12:15]: nordi requested create item pump. -[info][2025/06/09 19:12:15]: nordi successfully created item pump. -[info][2025/06/09 19:12:16]: nordi requested all items. -[info][2025/06/09 19:13:37]: nordi requested item pump. -[info][2025/06/09 19:13:42]: nordi requested all items. -[info][2025/06/09 19:13:44]: nordi requested item list. -[info][2025/06/09 19:14:59]: nordi uplaoded item image kanister.png. -[info][2025/06/09 19:15:02]: nordi requested create item kanister. -[info][2025/06/09 19:15:02]: nordi successfully created item kanister. -[info][2025/06/09 19:15:03]: nordi requested all items. -[info][2025/06/09 19:19:42]: nordi requested item pump. -[info][2025/06/09 19:19:44]: nordi uplaoded item image pump.png. -[info][2025/06/09 19:19:47]: nordi requested save item pump. -[info][2025/06/09 19:19:47]: nordi successfully saved item pump. -[info][2025/06/09 19:21:53]: nordi requested save item pump. -[info][2025/06/09 19:21:53]: nordi successfully saved item pump. -[info][2025/06/09 19:22:19]: nordi requested all items. -[info][2025/06/09 19:22:26]: nordi requested item kanister. -[info][2025/06/09 19:24:45]: nordi requested all items. -[info][2025/06/09 19:24:49]: nordi requested item list. -[info][2025/06/09 19:25:24]: nordi requested create item fullknasiter. -[info][2025/06/09 19:25:25]: nordi successfully created item fullknasiter. -[info][2025/06/09 19:25:25]: nordi requested all items. -[info][2025/06/09 19:26:47]: nordi requested item fullknasiter. -[info][2025/06/09 19:26:50]: nordi requested delete item fullknasiter. -[info][2025/06/09 19:26:50]: nordi successfully deleted item fullknasiter. -[info][2025/06/09 19:26:50]: nordi requested all items. -[info][2025/06/09 19:26:54]: nordi requested item list. -[info][2025/06/09 19:27:31]: nordi requested create item riverwater. -[info][2025/06/09 19:27:31]: nordi successfully created item riverwater. -[info][2025/06/09 19:27:32]: nordi requested all items. -[info][2025/06/09 19:34:17]: nordi requested item water_bottle. -[info][2025/06/09 19:39:24]: nordi requested all items. -[info][2025/06/09 19:39:44]: nordi requested item list. -[info][2025/06/09 19:41:47]: nordi uplaoded item image boxwater.png. -[info][2025/06/09 19:41:49]: nordi requested create item boxwater. -[info][2025/06/09 19:41:49]: nordi successfully created item boxwater. -[info][2025/06/09 19:41:50]: nordi requested all items. -[info][2025/06/09 19:43:16]: nordi requested item copper. -[info][2025/06/09 19:45:50]: nordi requested all items. -[info][2025/06/09 19:53:03]: nordi requested item list. -[info][2025/06/09 19:53:16]: nordi requested create item sugarbeet. -[info][2025/06/09 19:53:16]: nordi successfully created item sugarbeet. -[info][2025/06/09 19:53:17]: nordi requested all items. -[info][2025/06/09 19:53:56]: nordi requested item dirt. -[info][2025/06/09 19:54:01]: nordi requested save item dirt. -[info][2025/06/09 19:54:01]: nordi successfully saved item dirt. -[info][2025/06/09 19:54:03]: nordi requested all items. -[info][2025/06/09 19:54:09]: nordi requested item sugarbeet. -[info][2025/06/09 20:02:06]: nordi requested save item sugarbeet. -[info][2025/06/09 20:02:07]: nordi successfully saved item sugarbeet. -[info][2025/06/09 20:06:05]: nordi requested save item sugarbeet. -[info][2025/06/09 20:06:05]: nordi successfully saved item sugarbeet. -[info][2025/06/09 20:06:08]: nordi requested item sugarbeet. -[info][2025/06/09 20:07:23]: nordi uplaoded item image rube.png. -[info][2025/06/09 20:07:25]: nordi requested save item sugarbeet. -[info][2025/06/09 20:07:26]: nordi successfully saved item sugarbeet. -[info][2025/06/09 20:07:32]: nordi requested save item sugarbeet. -[info][2025/06/09 20:07:32]: nordi successfully saved item sugarbeet. -[info][2025/06/09 20:07:34]: nordi requested all items. -[info][2025/06/09 20:08:49]: nordi requested item list. -[info][2025/06/09 20:09:00]: nordi uplaoded item image sugar.png. -[info][2025/06/09 20:09:03]: nordi requested create item sugar. -[info][2025/06/09 20:09:03]: nordi successfully created item sugar. -[info][2025/06/09 20:09:04]: nordi requested all items. -[info][2025/06/09 20:10:11]: nordi requested item list. -[info][2025/06/09 20:10:42]: nordi requested create item bagruben. -[info][2025/06/09 20:10:42]: nordi successfully created item bagruben. -[info][2025/06/09 20:10:43]: nordi requested all items. -[info][2025/06/09 20:10:50]: nordi requested item bagruben. -[info][2025/06/09 20:12:31]: nordi requested save item bagruben. -[info][2025/06/09 20:12:31]: nordi successfully saved item bagruben. -[info][2025/06/09 20:14:59]: nordi uplaoded item image bagruben.png. -[info][2025/06/09 20:15:03]: nordi requested save item bagruben. -[info][2025/06/09 20:15:03]: nordi successfully saved item bagruben. -[info][2025/06/09 20:15:49]: nordi requested save item bagruben. -[info][2025/06/09 20:15:49]: nordi successfully saved item bagruben. -[info][2025/06/09 20:33:07]: nordi requested save item bagruben. -[info][2025/06/09 20:33:07]: nordi successfully saved item bagruben. -[info][2025/06/09 20:33:09]: nordi requested all items. -[info][2025/06/09 20:33:10]: nordi requested item list. -[info][2025/06/09 20:33:25]: nordi uplaoded item image hopfen.png. -[info][2025/06/09 20:33:26]: nordi requested create item hopfen. -[info][2025/06/09 20:33:26]: nordi successfully created item hopfen. -[info][2025/06/09 20:33:27]: nordi requested all items. -[info][2025/06/09 20:42:50]: nordi requested item riverwater. -[info][2025/06/09 20:44:33]: nordi requested all items. -[info][2025/06/09 20:52:06]: nordi requested item list. -[info][2025/06/09 20:53:01]: nordi requested create item corn. -[info][2025/06/09 20:53:01]: nordi successfully created item corn. -[info][2025/06/09 20:53:01]: nordi requested all items. -[info][2025/06/09 20:53:04]: nordi requested item corn. -[info][2025/06/09 20:56:36]: nordi uplaoded item image corn.png. -[info][2025/06/09 20:56:38]: nordi requested save item corn. -[info][2025/06/09 20:56:38]: nordi successfully saved item corn. -[info][2025/06/09 21:00:01]: nordi requested save item corn. -[info][2025/06/09 21:00:01]: nordi successfully saved item corn. -[info][2025/06/09 21:00:03]: nordi requested all items. -[info][2025/06/09 21:00:28]: nordi requested item spazi_limo. -[info][2025/06/09 21:00:33]: nordi requested save item spazi_limo. -[info][2025/06/09 21:00:33]: nordi successfully saved item spazi_limo. -[info][2025/06/09 21:01:15]: nordi requested all items. -[info][2025/06/09 21:01:19]: nordi requested item spazi. -[info][2025/06/09 21:01:22]: nordi requested all items. -[info][2025/06/09 21:04:00]: nordi requested item list. -[info][2025/06/09 21:04:23]: nordi uplaoded item image barrel.png. -[info][2025/06/09 21:04:25]: nordi requested create item barrel. -[info][2025/06/09 21:04:25]: nordi successfully created item barrel. -[info][2025/06/09 21:04:26]: nordi requested all items. -[info][2025/06/09 21:05:29]: nordi requested item barrel_attachment. -[info][2025/06/09 21:05:34]: nordi requested all items. -[info][2025/06/09 21:05:39]: nordi requested item barrel. -[info][2025/06/09 21:05:58]: nordi requested save item barrel. -[info][2025/06/09 21:05:59]: nordi successfully saved item barrel. -[info][2025/06/09 21:06:01]: nordi requested all items. -[info][2025/06/09 21:06:03]: nordi requested item list. -[info][2025/06/09 21:06:39]: nordi uplaoded item image oilbarrel.png. -[info][2025/06/09 21:06:41]: nordi requested create item oilbarrel. -[info][2025/06/09 21:06:41]: nordi successfully created item oilbarrel. -[info][2025/06/09 21:06:41]: nordi requested all items. -[info][2025/06/09 21:10:17]: nordi requested item rubber. -[info][2025/06/09 21:10:23]: nordi requested save item rubber. -[info][2025/06/09 21:10:24]: nordi successfully saved item rubber. -[info][2025/06/09 21:10:29]: nordi requested save item rubber. -[info][2025/06/09 21:10:29]: nordi successfully saved item rubber. -[info][2025/06/09 21:13:22]: nordi requested all items. -[info][2025/06/09 21:13:31]: nordi requested item oilbarrel. -[info][2025/06/09 21:13:44]: nordi requested save item oilbarrel. -[info][2025/06/09 21:13:44]: nordi successfully saved item oilbarrel. -[info][2025/06/09 21:17:11]: nordi requested all items. -[info][2025/06/09 21:17:27]: nordi requested item list. -[info][2025/06/09 21:17:30]: nordi requested all items. -[info][2025/06/09 21:17:34]: nordi requested item list. -[info][2025/06/09 21:17:56]: nordi requested create item flour. -[info][2025/06/09 21:17:56]: nordi successfully created item flour. -[info][2025/06/09 21:17:57]: nordi requested all items. -[info][2025/06/09 21:22:04]: nordi requested item flour. -[info][2025/06/09 21:22:09]: nordi requested save item flour. -[info][2025/06/09 21:22:09]: nordi successfully saved item flour. -[info][2025/06/09 21:23:07]: nordi uplaoded item image flour.png. -[info][2025/06/09 21:23:09]: nordi requested save item flour. -[info][2025/06/09 21:23:09]: nordi successfully saved item flour. -[info][2025/06/09 21:24:16]: nordi requested all items. -[info][2025/06/09 21:24:21]: nordi requested item sugar. -[info][2025/06/09 21:24:29]: nordi requested delete item sugar. -[info][2025/06/09 21:24:29]: nordi successfully deleted item sugar. -[info][2025/06/09 21:24:29]: nordi requested all items. -[info][2025/06/09 21:24:31]: nordi requested item list. -[info][2025/06/09 21:24:43]: nordi requested create item sugar. -[info][2025/06/09 21:24:43]: nordi successfully created item sugar. -[info][2025/06/09 21:24:44]: nordi requested all items. -[info][2025/06/09 21:24:45]: nordi requested item sugar. -[info][2025/06/09 21:25:51]: nordi uplaoded item image sugaar.png. -[info][2025/06/09 21:25:52]: nordi requested save item sugar. -[info][2025/06/09 21:25:52]: nordi successfully saved item sugar. -[info][2025/06/09 21:25:54]: nordi requested all items. -[info][2025/06/09 21:25:57]: nordi requested item sugar. -[info][2025/06/09 21:25:59]: nordi requested all items. -[info][2025/06/09 21:26:06]: nordi requested item sugarbeet. -[info][2025/06/09 21:26:26]: nordi requested save item sugarbeet. -[info][2025/06/09 21:26:26]: nordi successfully saved item sugarbeet. -[info][2025/06/09 21:26:28]: nordi requested all items. -[info][2025/06/09 21:26:38]: nordi requested item oilbarrel. -[info][2025/06/09 22:03:31]: nordi requested all items. -[info][2025/06/09 22:03:36]: nordi requested all items. -[info][2025/06/09 22:03:38]: nordi requested item list. -[info][2025/06/09 22:04:07]: nordi uplaoded item image Deckelwurst_mit_Sauerkraft-removebg-preview.png. -[info][2025/06/09 22:04:14]: nordi requested create item dwurstmskraut. -[info][2025/06/09 22:04:14]: nordi successfully created item dwurstmskraut. -[info][2025/06/09 22:04:14]: nordi requested all items. -[info][2025/06/09 22:04:20]: nordi requested item dwurstmskraut. -[info][2025/06/09 22:04:22]: nordi requested all items. -[info][2025/06/09 22:04:24]: nordi requested item list. -[info][2025/06/09 22:04:44]: nordi uplaoded item image Fritten_wie_bei_Muttern.png. -[info][2025/06/09 22:04:48]: nordi requested create item frittenwbm. -[info][2025/06/09 22:04:48]: nordi successfully created item frittenwbm. -[info][2025/06/09 22:04:48]: nordi requested all items. -[info][2025/06/09 22:04:56]: nordi requested item list. -[info][2025/06/09 22:05:20]: nordi uplaoded item image Der_Irische_Beziehungsstatus.png. -[info][2025/06/09 22:05:22]: nordi requested create item dirischebs. -[info][2025/06/09 22:05:22]: nordi successfully created item dirischebs. -[info][2025/06/09 22:05:23]: nordi requested all items. -[info][2025/06/09 22:05:28]: nordi requested item list. -[info][2025/06/09 22:06:04]: nordi uplaoded item image Koboldbrot_mit_Cheddar.png. -[info][2025/06/09 22:06:09]: nordi requested create item kbrotmcr. -[info][2025/06/09 22:06:09]: nordi successfully created item kbrotmcr. -[info][2025/06/09 22:06:09]: nordi requested all items. -[info][2025/06/09 22:06:22]: nordi requested item list. -[info][2025/06/09 22:07:15]: nordi uplaoded item image dacklschreck.png. -[info][2025/06/09 22:07:16]: nordi requested create item dackels. -[info][2025/06/09 22:07:16]: nordi successfully created item dackels. -[info][2025/06/09 22:07:17]: nordi requested all items. -[info][2025/06/09 22:07:32]: nordi requested item list. -[info][2025/06/09 22:08:16]: nordi uplaoded item image Dackelklatscher.png. -[info][2025/06/09 22:08:19]: nordi requested create item dackelk. -[info][2025/06/09 22:08:20]: nordi successfully created item dackelk. -[info][2025/06/09 22:08:20]: nordi requested all items. -[info][2025/06/09 22:08:28]: nordi requested item list. -[info][2025/06/09 22:08:51]: nordi uplaoded item image irish_exit.png. -[info][2025/06/09 22:08:52]: nordi requested create item irishexit. -[info][2025/06/09 22:08:53]: nordi successfully created item irishexit. -[info][2025/06/09 22:08:53]: nordi requested all items. -[info][2025/06/09 22:09:00]: nordi requested item list. -[info][2025/06/09 22:09:20]: nordi uplaoded item image Koboldkotze.png. -[info][2025/06/09 22:09:22]: nordi requested create item koboldkotze. -[info][2025/06/09 22:09:22]: nordi successfully created item koboldkotze. -[info][2025/06/09 22:09:22]: nordi requested all items. -[info][2025/06/09 23:52:43]: nordi requested item police_stormram. -[info][2025/06/09 23:52:53]: nordi requested save item police_stormram. -[info][2025/06/09 23:52:53]: nordi successfully saved item police_stormram. -[info][2025/06/10 00:04:32]: nordi requested all items. -[info][2025/06/10 00:04:33]: nordi requested item list. -[info][2025/06/10 00:05:37]: nordi uplaoded item image mmorgenlicht.png. -[info][2025/06/10 00:05:40]: nordi requested all items. -[info][2025/06/10 00:05:45]: nordi requested item kbrotmcr. -[info][2025/06/10 00:05:47]: nordi requested all items. -[info][2025/06/10 00:05:51]: nordi requested item list. -[info][2025/06/10 00:06:24]: nordi requested create item mmorgenlicht. -[info][2025/06/10 00:06:24]: nordi successfully created item mmorgenlicht. -[info][2025/06/10 00:06:24]: nordi requested all items. -[info][2025/06/10 00:06:31]: nordi requested item list. -[info][2025/06/10 00:07:50]: nordi uplaoded item image deckelblendno5.png. -[info][2025/06/10 00:07:52]: nordi requested create item deckelblendno5. -[info][2025/06/10 00:07:52]: nordi successfully created item deckelblendno5. -[info][2025/06/10 00:07:53]: nordi requested all items. -[info][2025/06/10 00:09:21]: nordi requested item list. -[info][2025/06/10 00:09:59]: nordi uplaoded item image kobolbrolle.png. -[info][2025/06/10 00:10:05]: nordi requested create item kobolbrolle. -[info][2025/06/10 00:10:05]: nordi successfully created item kobolbrolle. -[info][2025/06/10 00:10:05]: nordi requested all items. -[info][2025/06/10 00:12:03]: nordi requested item cigar. -[info][2025/06/10 00:12:26]: nordi requested all items. -[info][2025/06/10 00:12:28]: nordi requested item cigar. -[info][2025/06/10 00:12:31]: nordi requested all items. -[info][2025/06/10 00:12:34]: nordi requested item list. -[info][2025/06/10 00:13:01]: nordi uplaoded item image whiskeywickel.png. -[info][2025/06/10 00:13:05]: nordi requested create item whiskeywickel. -[info][2025/06/10 00:13:05]: nordi successfully created item whiskeywickel. -[info][2025/06/10 00:13:06]: nordi requested all items. -[info][2025/06/10 00:19:28]: nordi requested item tobbaco. -[info][2025/06/10 00:21:34]: nordi requested all items. -[info][2025/06/10 00:21:35]: nordi requested item list. -[info][2025/06/10 00:21:37]: nordi requested all items. -[info][2025/06/10 00:21:41]: nordi requested item list. -[info][2025/06/10 00:23:52]: nordi requested create item vapejuice. -[info][2025/06/10 00:23:53]: nordi successfully created item vapejuice. -[info][2025/06/10 00:23:53]: nordi requested all items. -[info][2025/06/10 00:24:00]: nordi requested item vapejuice. -[info][2025/06/10 00:25:20]: nordi requested save item vapejuice. -[info][2025/06/10 00:25:20]: nordi successfully saved item vapejuice. -[info][2025/06/10 00:25:44]: nordi requested all items. -[info][2025/06/10 00:25:47]: nordi requested item list. -[info][2025/06/10 00:26:08]: nordi requested create item packtobbaco. -[info][2025/06/10 00:26:08]: nordi successfully created item packtobbaco. -[info][2025/06/10 00:26:09]: nordi requested all items. -[info][2025/06/10 00:26:14]: nordi requested item packtobbaco. -[info][2025/06/10 00:28:59]: nordi requested all items. -[info][2025/06/10 00:29:03]: nordi requested item vapejuice. -[info][2025/06/10 00:29:24]: nordi uplaoded item image vapejuice.png. -[info][2025/06/10 00:29:26]: nordi requested save item vapejuice. -[info][2025/06/10 00:29:26]: nordi successfully saved item vapejuice. -[info][2025/06/10 00:29:28]: nordi requested all items. -[info][2025/06/10 00:30:32]: nordi requested item list. -[info][2025/06/10 00:32:49]: nordi uplaoded item image vape.png. -[info][2025/06/10 00:32:50]: nordi requested create item vape. -[info][2025/06/10 00:32:50]: nordi successfully created item vape. -[info][2025/06/10 00:32:51]: nordi requested all items. -[info][2025/06/10 00:32:55]: nordi requested item vape. -[info][2025/06/10 00:34:42]: nordi requested save item vape. -[info][2025/06/10 00:34:42]: nordi successfully saved item vape. -[info][2025/06/10 00:34:46]: nordi requested all items. -[info][2025/06/10 00:34:52]: nordi requested item packtobbaco. -[info][2025/06/10 00:34:54]: nordi uplaoded item image packtobbaco.png. -[info][2025/06/10 00:34:56]: nordi requested save item packtobbaco. -[info][2025/06/10 00:34:56]: nordi successfully saved item packtobbaco. -[info][2025/06/10 00:35:22]: nordi requested all items. -[info][2025/06/10 00:35:29]: nordi requested item list. -[info][2025/06/10 00:35:40]: nordi requested all items. -[info][2025/06/10 00:35:45]: nordi requested item list. -[info][2025/06/10 00:36:45]: nordi uplaoded item image pipe.png. -[info][2025/06/10 00:36:49]: nordi requested create item pipe. -[info][2025/06/10 00:36:49]: nordi successfully created item pipe. -[info][2025/06/10 00:36:50]: nordi requested all items. -[info][2025/06/10 01:41:22]: nordi requested all items. -[info][2025/06/10 01:41:24]: nordi requested item list. -[info][2025/06/10 01:43:17]: nordi uplaoded item image remote.png. -[info][2025/06/10 01:43:19]: nordi requested create item remote. -[info][2025/06/10 01:43:19]: nordi successfully created item remote. -[info][2025/06/10 01:43:20]: nordi requested all items. -[info][2025/06/10 01:49:43]: nordi requested all items. -[info][2025/06/10 01:49:48]: nordi requested item packtobbaco. -[info][2025/06/10 01:50:15]: nordi requested all items. -[info][2025/06/10 18:11:32]: nordi requested all items. -[info][2025/06/10 18:11:37]: nordi requested item remote. -[info][2025/06/10 19:36:04]: nordi requested all items. -[info][2025/06/10 19:36:12]: nordi requested item list. -[info][2025/06/10 19:38:38]: nordi uplaoded item image aktexyz.png. -[info][2025/06/10 19:39:01]: nordi requested create item aktexyz. -[info][2025/06/10 19:39:01]: nordi successfully created item aktexyz. -[info][2025/06/10 19:39:02]: nordi requested all items. -[info][2025/06/10 19:39:09]: nordi requested item aktexyz. -[info][2025/06/10 22:22:05]: campers requested all items. -[info][2025/06/10 22:22:21]: campers requested item sifs_olden_harvest. -[info][2025/06/10 22:22:23]: campers requested all items. -[info][2025/06/10 22:22:31]: campers requested all items. -[info][2025/06/10 22:22:43]: campers requested item heavyarmor. -[info][2025/06/10 22:22:51]: campers requested all items. -[info][2025/06/10 22:22:52]: campers requested item armor. -[info][2025/06/10 22:22:59]: campers requested all items. -[info][2025/06/10 22:28:11]: nordi requested all items. -[info][2025/06/10 23:21:55]: nordi requested all items. -[info][2025/06/10 23:57:37]: nordi requested item rifle_flashlight. -[info][2025/06/11 00:15:08]: nordi requested all items. -[info][2025/06/11 00:15:13]: campers requested all items. -[info][2025/06/11 00:15:16]: nordi requested item steel. -[info][2025/06/11 00:15:19]: campers requested item steel. -[info][2025/06/11 00:15:21]: nordi requested all items. -[info][2025/06/11 00:15:21]: campers requested all items. -[info][2025/06/11 00:15:23]: campers requested item steel_ingots. -[info][2025/06/11 00:15:24]: nordi requested item steel_ingots. -[info][2025/06/11 00:15:26]: campers requested all items. -[info][2025/06/11 00:15:27]: campers requested item steel. -[info][2025/06/11 00:15:32]: campers requested all items. -[info][2025/06/11 00:25:57]: nordi requested all items. -[info][2025/06/11 00:26:14]: nordi requested item filter_papers. -[info][2025/06/11 00:26:20]: nordi requested save item filter_papers. -[info][2025/06/11 00:26:20]: nordi successfully saved item filter_papers. -[info][2025/06/11 00:29:42]: nordi requested all items. -[info][2025/06/11 00:30:07]: nordi requested item weed. -[info][2025/06/11 00:31:14]: nordi uplaoded item image marihuana.png. -[info][2025/06/11 00:31:17]: nordi requested save item weed. -[info][2025/06/11 00:31:17]: nordi successfully saved item weed. -[info][2025/06/11 00:31:33]: nordi requested save item weed. -[info][2025/06/11 00:31:33]: nordi successfully saved item weed. -[info][2025/06/11 00:31:36]: nordi requested all items. -[info][2025/06/11 00:31:44]: nordi requested item kq_outfitbag. -[info][2025/06/11 00:34:24]: nordi requested save item kq_outfitbag. -[info][2025/06/11 00:34:24]: nordi successfully saved item kq_outfitbag. -[info][2025/06/11 01:54:28]: nordi requested all items. -[info][2025/06/11 01:54:34]: nordi requested item list. -[info][2025/06/11 01:55:25]: nordi requested create item zig. -[info][2025/06/11 01:55:25]: nordi successfully created item zig. -[info][2025/06/11 01:55:25]: nordi requested all items. -[info][2025/06/11 02:02:33]: nordi requested item zig. -[info][2025/06/11 02:02:39]: nordi uplaoded item image zig.png. -[info][2025/06/11 02:02:41]: nordi requested save item zig. -[info][2025/06/11 02:02:41]: nordi successfully saved item zig. -[info][2025/06/11 02:10:54]: nordi requested save item zig. -[info][2025/06/11 02:10:54]: nordi successfully saved item zig. -[info][2025/06/11 02:22:52]: nordi requested all items. -[info][2025/06/11 02:30:24]: nordi requested item weapon_appistol. -[info][2025/06/11 02:30:51]: nordi requested all items. -[info][2025/06/11 02:38:48]: nordi requested item weapon_shoe. -[info][2025/06/11 02:38:50]: nordi requested all items. -[info][2025/06/11 02:59:50]: nordi requested item vapejuice. -[info][2025/06/11 02:59:54]: nordi requested save item vapejuice. -[info][2025/06/11 02:59:54]: nordi successfully saved item vapejuice. -[info][2025/06/11 02:59:56]: nordi requested all items. -[info][2025/06/11 03:00:19]: nordi requested item packtobbaco. -[info][2025/06/11 03:00:33]: nordi requested save item packtobbaco. -[info][2025/06/11 03:00:33]: nordi successfully saved item packtobbaco. -[info][2025/06/11 03:00:34]: nordi requested all items. -[info][2025/06/11 03:00:44]: nordi requested item pipe. -[info][2025/06/11 03:00:46]: nordi requested save item pipe. -[info][2025/06/11 03:00:46]: nordi successfully saved item pipe. -[info][2025/06/11 03:01:16]: nordi requested save item pipe. -[info][2025/06/11 03:01:16]: nordi successfully saved item pipe. -[info][2025/06/11 13:13:43]: nordi requested all items. -[info][2025/06/11 13:13:48]: nordi requested item pd_keycard. -[info][2025/06/11 13:42:00]: nordi requested all items. -[info][2025/06/11 13:42:06]: nordi requested item freyas_blossom. -[info][2025/06/11 13:43:30]: nordi requested all items. -[info][2025/06/11 13:46:47]: nordi requested item skadis_winter_skewers. -[info][2025/06/11 13:47:03]: nordi requested delete item undefined. -[info][2025/06/11 13:48:26]: nordi uplaoded item image sws.png. -[info][2025/06/11 13:48:27]: nordi requested save item undefined. -[info][2025/06/11 13:48:38]: nordi requested all items. -[info][2025/06/11 13:48:40]: nordi requested item skadis_winter_skewers. -[info][2025/06/11 13:48:42]: nordi requested delete item undefined. -[info][2025/06/11 13:48:45]: nordi requested all items. -[info][2025/06/11 13:48:47]: nordi requested item list. -[info][2025/06/11 13:49:11]: nordi requested create item skadis_winter_skewers. -[info][2025/06/11 13:49:11]: nordi successfully created item skadis_winter_skewers. -[info][2025/06/11 13:49:13]: nordi requested all items. -[info][2025/06/11 13:50:05]: nordi requested item kadis_rostbite. -[info][2025/06/11 13:50:07]: nordi requested save item kadis_rostbite. -[info][2025/06/11 13:50:07]: nordi successfully saved item kadis_rostbite. -[info][2025/06/11 13:50:09]: nordi requested all items. -[info][2025/06/11 13:50:12]: nordi requested item skadis_hunt. -[info][2025/06/11 13:50:14]: nordi requested save item skadis_hunt. -[info][2025/06/11 13:50:14]: nordi successfully saved item skadis_hunt. -[info][2025/06/11 13:50:16]: nordi requested all items. -[info][2025/06/11 13:50:24]: nordi requested item freyas_blossom. -[info][2025/06/11 13:50:26]: nordi requested save item freyas_blossom. -[info][2025/06/11 13:50:26]: nordi successfully saved item freyas_blossom. -[info][2025/06/11 13:50:29]: nordi requested all items. -[info][2025/06/11 13:50:33]: nordi requested item reyas_arden_alad. -[info][2025/06/11 13:50:35]: nordi requested save item reyas_arden_alad. -[info][2025/06/11 13:50:35]: nordi successfully saved item reyas_arden_alad. -[info][2025/06/11 13:50:37]: nordi requested all items. -[info][2025/06/11 13:50:40]: nordi requested item odins_wisdom_brew. -[info][2025/06/11 13:50:43]: nordi requested save item odins_wisdom_brew. -[info][2025/06/11 13:50:43]: nordi successfully saved item odins_wisdom_brew. -[info][2025/06/11 13:50:44]: nordi requested all items. -[info][2025/06/11 13:50:48]: nordi requested item njords_ocean_breeze_alkoholfrei. -[info][2025/06/11 13:50:51]: nordi requested all items. -[info][2025/06/11 13:50:55]: nordi requested item freyas_kiss. -[info][2025/06/11 13:50:57]: nordi requested save item freyas_kiss. -[info][2025/06/11 13:50:57]: nordi successfully saved item freyas_kiss. -[info][2025/06/11 13:50:59]: nordi requested all items. -[info][2025/06/11 13:51:02]: nordi requested item thors_thunder_storm. -[info][2025/06/11 13:51:04]: nordi requested all items. -[info][2025/06/11 13:51:08]: nordi requested item njords_ocean_breeze_alkoholfrei. -[info][2025/06/11 13:51:10]: nordi requested all items. -[info][2025/06/11 13:51:24]: nordi requested item list. -[info][2025/06/11 13:51:48]: nordi requested create item njords_ocean_breeze_alkoholfrei. -[info][2025/06/11 13:51:48]: nordi successfully created item njords_ocean_breeze_alkoholfrei. -[info][2025/06/11 13:51:49]: nordi requested all items. -[info][2025/06/11 13:51:54]: nordi requested item thors_thunder_storm. -[info][2025/06/11 13:51:56]: nordi requested all items. -[info][2025/06/11 13:52:09]: nordi requested item list. -[info][2025/06/11 13:52:28]: nordi requested create item thors_thunder_storm. -[info][2025/06/11 13:52:28]: nordi successfully created item thors_thunder_storm. -[info][2025/06/11 13:52:29]: nordi requested all items. -[info][2025/06/11 13:52:40]: nordi requested item thors_hammer. -[info][2025/06/11 13:52:42]: nordi requested save item thors_hammer. -[info][2025/06/11 13:52:42]: nordi successfully saved item thors_hammer. -[info][2025/06/11 13:52:44]: nordi requested all items. -[info][2025/06/11 13:53:02]: nordi requested item njords_sea_platter. -[info][2025/06/11 13:53:10]: nordi requested all items. -[info][2025/06/11 13:53:13]: nordi requested item list. -[info][2025/06/11 13:53:31]: nordi requested create item njords_sea_platter. -[info][2025/06/11 13:53:31]: nordi successfully created item njords_sea_platter. -[info][2025/06/11 13:53:32]: nordi requested all items. -[info][2025/06/11 13:53:38]: nordi requested item njords_tide. -[info][2025/06/11 13:53:41]: nordi requested save item njords_tide. -[info][2025/06/11 13:53:41]: nordi successfully saved item njords_tide. -[info][2025/06/11 13:53:43]: nordi requested all items. -[info][2025/06/11 13:53:46]: nordi requested item njords_ocean_breeze_alkoholfrei. -[info][2025/06/11 13:53:49]: nordi requested all items. -[info][2025/06/11 13:53:55]: nordi requested item njords_ocean_breeze_alkoholfrei. -[info][2025/06/11 13:53:57]: nordi requested all items. -[info][2025/06/11 13:53:59]: nordi requested item njords_ocean_breeze_alkoholfrei. -[info][2025/06/11 13:54:02]: nordi requested all items. -[info][2025/06/11 13:54:07]: nordi requested item njords_ocean_breeze_alkoholfrei. -[info][2025/06/11 13:54:09]: nordi requested delete item njords_ocean_breeze_alkoholfrei. -[info][2025/06/11 13:54:09]: nordi successfully deleted item njords_ocean_breeze_alkoholfrei. -[info][2025/06/11 13:54:10]: nordi requested all items. -[info][2025/06/11 13:54:13]: nordi requested item njords_ocean_breeze_alkoholfrei. -[info][2025/06/11 13:54:16]: nordi requested all items. -[info][2025/06/11 13:54:26]: nordi requested item list. -[info][2025/06/11 13:54:54]: nordi requested create item njords_ocean_breeze_alkoholfrei. -[info][2025/06/11 13:54:54]: nordi successfully created item njords_ocean_breeze_alkoholfrei. -[info][2025/06/11 13:54:55]: nordi requested all items. -[info][2025/06/11 13:55:02]: nordi requested item njords_ocean_breeze_alkoholfrei. -[info][2025/06/11 13:55:04]: nordi requested all items. -[info][2025/06/11 13:55:06]: nordi requested item njords_sea_platter. -[info][2025/06/11 13:55:08]: nordi requested save item njords_sea_platter. -[info][2025/06/11 13:55:08]: nordi successfully saved item njords_sea_platter. -[info][2025/06/11 13:55:10]: nordi requested all items. -[info][2025/06/11 13:55:12]: nordi requested item njords_ocean_breeze_alkoholfrei. -[info][2025/06/11 13:55:14]: nordi requested save item njords_ocean_breeze_alkoholfrei. -[info][2025/06/11 13:55:14]: nordi successfully saved item njords_ocean_breeze_alkoholfrei. -[info][2025/06/11 13:55:16]: nordi requested all items. -[info][2025/06/11 13:55:23]: nordi requested item heimdalls_guard_bread. -[info][2025/06/11 13:56:43]: nordi requested all items. -[info][2025/06/11 13:56:45]: nordi requested item heimdalls_guard_bread. -[info][2025/06/11 13:56:56]: nordi requested all items. -[info][2025/06/11 13:56:58]: nordi requested item list. -[info][2025/06/11 13:57:19]: nordi requested create item heimdalls_guard_bread. -[info][2025/06/11 13:57:19]: nordi successfully created item heimdalls_guard_bread. -[info][2025/06/11 13:57:20]: nordi requested all items. -[info][2025/06/11 13:57:24]: nordi requested item heimdalls_watch. -[info][2025/06/11 13:57:26]: nordi requested save item heimdalls_watch. -[info][2025/06/11 13:57:26]: nordi successfully saved item heimdalls_watch. -[info][2025/06/11 13:57:28]: nordi requested all items. -[info][2025/06/11 13:57:30]: nordi requested item heimdalls_clear_sight. -[info][2025/06/11 13:57:36]: nordi requested all items. -[info][2025/06/11 13:57:38]: nordi requested item list. -[info][2025/06/11 13:57:58]: nordi requested create item heimdalls_clear_sight. -[info][2025/06/11 13:57:58]: nordi successfully created item heimdalls_clear_sight. -[info][2025/06/11 13:58:01]: nordi requested all items. -[info][2025/06/11 13:58:07]: nordi requested item heimdalls_clear_sight. -[info][2025/06/11 13:58:09]: nordi requested all items. -[info][2025/06/11 13:58:11]: nordi requested item heimdalls_guard_bread. -[info][2025/06/11 13:58:14]: nordi requested all items. -[info][2025/06/11 13:58:18]: nordi requested item heimdalls_guard_bread. -[info][2025/06/11 13:58:20]: nordi requested all items. -[info][2025/06/11 13:58:21]: nordi requested item heimdalls_guard_bread. -[info][2025/06/11 13:58:24]: nordi requested delete item heimdalls_guard_bread. -[info][2025/06/11 13:58:24]: nordi successfully deleted item heimdalls_guard_bread. -[info][2025/06/11 13:58:24]: nordi requested all items. -[info][2025/06/11 13:58:27]: nordi requested item heimdalls_guard_bread. -[info][2025/06/11 13:58:29]: nordi requested all items. -[info][2025/06/11 13:58:36]: nordi requested item list. -[info][2025/06/11 13:58:51]: nordi requested create item heimdalls_guard_bread. -[info][2025/06/11 13:58:51]: nordi successfully created item heimdalls_guard_bread. -[info][2025/06/11 13:58:53]: nordi requested all items. -[info][2025/06/11 13:59:06]: nordi requested item yggdrasils_root. -[info][2025/06/11 13:59:09]: nordi requested save item yggdrasils_root. -[info][2025/06/11 13:59:09]: nordi successfully saved item yggdrasils_root. -[info][2025/06/11 13:59:10]: nordi requested all items. -[info][2025/06/11 13:59:15]: nordi requested item ggdrasils_ssence. -[info][2025/06/11 13:59:19]: nordi requested save item ggdrasils_ssence. -[info][2025/06/11 13:59:19]: nordi successfully saved item ggdrasils_ssence. -[info][2025/06/11 13:59:21]: nordi requested all items. -[info][2025/06/11 13:59:24]: nordi requested item yggdrasils_roots. -[info][2025/06/11 13:59:31]: nordi requested all items. -[info][2025/06/11 13:59:32]: nordi requested item list. -[info][2025/06/11 13:59:54]: nordi requested create item yggdrasils_root. -[info][2025/06/11 14:00:00]: nordi requested all items. -[info][2025/06/11 14:00:02]: nordi requested item yggdrasils_roots. -[info][2025/06/11 14:00:06]: nordi requested delete item undefined. -[info][2025/06/11 14:00:09]: nordi requested all items. -[info][2025/06/11 14:00:13]: nordi requested item yggdrasils_root. -[info][2025/06/11 14:00:15]: nordi requested all items. -[info][2025/06/11 14:00:21]: nordi requested item sifs_golden-ale. -[info][2025/06/11 14:00:24]: nordi requested save item sifs_golden-ale. -[info][2025/06/11 14:00:24]: nordi successfully saved item sifs_golden-ale. -[info][2025/06/11 14:00:25]: nordi requested all items. -[info][2025/06/11 14:00:27]: nordi requested item sifs_olden_harvest. -[info][2025/06/11 14:00:32]: nordi requested delete item undefined. -[info][2025/06/11 14:00:33]: nordi requested all items. -[info][2025/06/11 14:00:39]: nordi requested item list. -[info][2025/06/11 14:00:56]: nordi requested create item sifs_olden_harvest. -[info][2025/06/11 14:00:56]: nordi successfully created item sifs_olden_harvest. -[info][2025/06/11 14:00:57]: nordi requested all items. -[info][2025/06/11 14:01:01]: nordi requested item sifs_olden_harvest. -[info][2025/06/11 14:01:02]: nordi requested all items. -[info][2025/06/11 14:01:10]: nordi requested item lokis_trickery. -[info][2025/06/11 14:01:12]: nordi requested save item lokis_trickery. -[info][2025/06/11 14:01:12]: nordi successfully saved item lokis_trickery. -[info][2025/06/11 14:01:13]: nordi requested all items. -[info][2025/06/11 14:01:15]: nordi requested item okis_ischief_ites. -[info][2025/06/11 14:01:17]: nordi requested save item okis_ischief_ites. -[info][2025/06/11 14:01:17]: nordi successfully saved item okis_ischief_ites. -[info][2025/06/11 14:01:18]: nordi requested all items. -[info][2025/06/11 14:01:20]: nordi requested item lokis_trickster_punch. -[info][2025/06/11 14:01:28]: nordi requested all items. -[info][2025/06/11 14:01:30]: nordi requested item lokis_trickster_punch. -[info][2025/06/11 14:01:31]: nordi requested all items. -[info][2025/06/11 14:01:42]: nordi requested item list. -[info][2025/06/11 14:02:01]: nordi requested create item lokis_trickster_punch. -[info][2025/06/11 14:02:01]: nordi successfully created item lokis_trickster_punch. -[info][2025/06/11 14:02:02]: nordi requested all items. -[info][2025/06/11 14:02:14]: nordi requested item reyas_arden_alad. -[info][2025/06/11 14:02:16]: nordi requested all items. -[info][2025/06/11 14:02:34]: nordi requested item hors_hunder_ings. -[info][2025/06/11 14:02:36]: nordi requested save item hors_hunder_ings. -[info][2025/06/11 14:02:36]: nordi successfully saved item hors_hunder_ings. -[info][2025/06/11 14:09:19]: nordi requested all items. -[info][2025/06/11 15:22:50]: nordi requested all items. -[info][2025/06/11 15:23:00]: nordi requested item barrel. -[info][2025/06/11 17:00:31]: nordi requested all items. -[info][2025/06/11 17:01:17]: nordi requested item list. -[info][2025/06/11 17:01:40]: nordi uplaoded item image chemie.png. -[info][2025/06/11 17:01:43]: nordi requested create item chemiebarrel. -[info][2025/06/11 17:01:47]: nordi successfully created item chemiebarrel. -[info][2025/06/11 17:01:48]: nordi requested all items. -[info][2025/06/11 17:09:36]: nordi requested item chemiebarrel. -[info][2025/06/11 17:09:45]: nordi requested all items. -[info][2025/06/11 17:09:52]: nordi requested item armaid_plant. -[info][2025/06/11 17:10:15]: nordi requested delete item armaid_plant. -[info][2025/06/11 17:10:15]: nordi successfully deleted item armaid_plant. -[info][2025/06/11 17:10:16]: nordi requested all items. -[info][2025/06/11 17:10:17]: nordi requested item list. -[info][2025/06/11 17:11:51]: nordi uplaoded item image screenshot_918-removebg-preview.png. -[info][2025/06/11 17:11:53]: nordi requested create item amarid. -[info][2025/06/11 17:11:53]: nordi successfully created item amarid. -[info][2025/06/11 17:11:54]: nordi requested all items. -[info][2025/06/11 17:12:00]: nordi requested item amarid. -[info][2025/06/11 17:13:39]: nordi requested all items. -[info][2025/06/11 17:13:41]: nordi requested item list. -[info][2025/06/11 17:14:32]: nordi uplaoded item image kevlar.png. -[info][2025/06/11 17:14:34]: nordi requested create item kevlar. -[info][2025/06/11 17:14:34]: nordi successfully created item kevlar. -[info][2025/06/11 17:14:35]: nordi requested all items. -[info][2025/06/11 17:15:47]: nordi requested item chemical_set. -[info][2025/06/11 17:15:49]: nordi requested all items. -[info][2025/06/11 17:15:51]: nordi requested item chemiebarrel. -[info][2025/06/11 17:22:23]: nordi requested all items. -[info][2025/06/11 17:22:26]: nordi requested item list. -[info][2025/06/11 17:23:29]: nordi uplaoded item image cotton.png. -[info][2025/06/11 17:23:30]: nordi requested create item cotton. -[info][2025/06/11 17:23:30]: nordi successfully created item cotton. -[info][2025/06/11 17:23:31]: nordi requested all items. -[info][2025/06/11 17:29:04]: nordi requested item list. -[info][2025/06/11 17:29:57]: nordi uplaoded item image stoff.png. -[info][2025/06/11 17:29:59]: nordi requested create item stoff. -[info][2025/06/11 17:29:59]: nordi successfully created item stoff. -[info][2025/06/11 17:30:00]: nordi requested all items. -[info][2025/06/11 17:31:36]: nordi requested item list. -[info][2025/06/11 17:31:37]: nordi requested all items. -[info][2025/06/11 17:31:58]: nordi requested item armor. -[info][2025/06/11 17:32:12]: nordi requested save item armor. -[info][2025/06/11 17:32:12]: nordi successfully saved item armor. -[info][2025/06/11 17:34:52]: nordi requested all items. -[info][2025/06/11 17:34:58]: nordi requested item armor. -[info][2025/06/11 17:34:59]: nordi requested all items. -[info][2025/06/11 17:35:01]: nordi requested item heavyarmor. -[info][2025/06/11 17:35:16]: nordi requested save item heavyarmor. -[info][2025/06/11 17:35:16]: nordi successfully saved item heavyarmor. -[info][2025/06/11 17:35:22]: nordi requested all items. -[info][2025/06/11 17:35:23]: nordi requested item veh_armor. -[info][2025/06/11 17:35:26]: nordi requested all items. -[info][2025/06/11 17:35:33]: nordi requested item armor. -[info][2025/06/11 17:35:36]: nordi requested save item armor. -[info][2025/06/11 17:35:36]: nordi successfully saved item armor. -[info][2025/06/11 17:35:38]: nordi requested all items. -[info][2025/06/11 18:04:46]: nordi requested all items. -[info][2025/06/11 18:04:54]: nordi requested item ecola_dose. -[info][2025/06/11 18:05:24]: nordi requested all items. -[info][2025/06/11 18:05:34]: nordi requested item spazi_limo. -[info][2025/06/11 18:25:40]: voltstromi requested all jobs. -[info][2025/06/11 18:25:45]: voltstromi requested all gangs. -[info][2025/06/11 18:25:48]: voltstromi requested all gangs. -[info][2025/06/11 18:25:49]: voltstromi requested all jobs. -[info][2025/06/11 18:43:39]: nordi requested all items. -[info][2025/06/11 18:43:45]: nordi requested item redwoodpack. -[info][2025/06/11 18:44:44]: nordi requested all items. -[info][2025/06/11 18:44:49]: nordi requested item weapon_carbinerifle. -[info][2025/06/11 18:45:20]: nordi requested all items. -[info][2025/06/11 18:45:40]: nordi requested item rifle_ammo. -[info][2025/06/11 18:45:53]: nordi requested all items. -[info][2025/06/11 18:46:00]: nordi requested item rifle_scope. -[info][2025/06/11 18:46:21]: nordi requested all items. -[info][2025/06/11 18:46:33]: nordi requested item rifle_suppressor. -[info][2025/06/11 18:46:49]: nordi requested all items. -[info][2025/06/11 18:47:02]: nordi requested item rifle_flashlight. -[info][2025/06/11 18:47:42]: nordi requested all items. -[info][2025/06/11 18:48:09]: nordi requested item rifle_extendedclip. -[info][2025/06/11 18:48:34]: nordi requested all items. -[info][2025/06/11 18:48:42]: nordi requested item rifle_ammo. -[info][2025/06/11 19:04:26]: nordi requested all items. -[info][2025/06/11 19:04:38]: nordi requested item mettbroetchen. -[info][2025/06/11 21:52:44]: marc requested all jobs. -[info][2025/06/11 21:52:47]: marc requested all gangs. -[info][2025/06/11 21:52:48]: marc requested all jobs. -[info][2025/06/11 22:33:52]: campers requested all items. -[info][2025/06/12 01:07:32]: nordi requested all items. -[info][2025/06/12 01:07:37]: nordi requested item weapon_pistol_mk2. -[info][2025/06/12 01:15:23]: nordi requested item weapon_pistol_mk2. -[info][2025/06/12 03:54:15]: nordi requested all items. -[info][2025/06/12 03:54:58]: nordi requested item weapon_shoe. -[info][2025/06/12 03:55:05]: nordi requested save item weapon_shoe. -[info][2025/06/12 03:55:05]: nordi successfully saved item weapon_shoe. -[info][2025/06/12 03:55:07]: nordi requested delete item weapon_shoe. -[info][2025/06/12 03:55:07]: nordi successfully deleted item weapon_shoe. -[info][2025/06/12 03:55:08]: nordi requested all items. -[info][2025/06/12 03:55:10]: nordi requested item list. -[info][2025/06/12 03:56:00]: nordi requested create item shoe. -[info][2025/06/12 03:56:00]: nordi successfully created item shoe. -[info][2025/06/12 03:56:01]: nordi requested all items. -[info][2025/06/12 03:56:08]: nordi requested item dildo. -[info][2025/06/12 03:56:10]: nordi requested save item dildo. -[info][2025/06/12 03:56:10]: nordi successfully saved item dildo. -[info][2025/06/12 03:57:06]: nordi requested all items. -[info][2025/06/12 03:57:14]: nordi requested item list. -[info][2025/06/12 04:01:17]: nordi uplaoded item image newspaper.png. -[info][2025/06/12 04:01:20]: nordi requested all items. -[info][2025/06/12 04:01:26]: nordi requested item list. -[info][2025/06/12 04:01:53]: nordi requested create item newspaper. -[info][2025/06/12 04:01:53]: nordi successfully created item newspaper. -[info][2025/06/12 04:01:54]: nordi requested all items. -[info][2025/06/12 04:01:59]: nordi requested item dildo. -[info][2025/06/12 04:02:02]: nordi requested save item dildo. -[info][2025/06/12 04:02:02]: nordi successfully saved item dildo. -[info][2025/06/12 04:02:03]: nordi requested all items. -[info][2025/06/12 04:02:07]: nordi requested item pussycat. -[info][2025/06/12 04:03:20]: nordi requested all items. -[info][2025/06/12 04:03:28]: nordi requested item weapon_assaultsmg. -[info][2025/06/12 04:04:09]: nordi requested all items. -[info][2025/06/12 04:04:13]: nordi requested item slushi. -[info][2025/06/12 04:04:30]: nordi requested all items. -[info][2025/06/12 04:04:39]: nordi requested item ecola_dose. -[info][2025/06/12 04:06:18]: nordi requested all items. -[info][2025/06/12 04:06:24]: nordi requested item lutschfinger_eis. -[info][2025/06/12 04:06:35]: nordi requested all items. -[info][2025/06/12 04:06:39]: nordi requested item pussycat. -[info][2025/06/12 04:06:50]: nordi requested all items. -[info][2025/06/12 04:06:56]: nordi requested item nordisee_fischfrikadellenbroetchen. -[info][2025/06/12 04:07:13]: nordi requested all items. -[info][2025/06/12 04:07:16]: nordi requested item leberkas_semmal. -[info][2025/06/12 04:07:38]: nordi requested all items. -[info][2025/06/12 04:07:40]: nordi requested item kas_leberkas_semmal. -[info][2025/06/12 04:08:05]: nordi requested all items. -[info][2025/06/12 04:08:12]: nordi requested item halbes_haendel. -[info][2025/06/12 04:08:23]: nordi requested all items. -[info][2025/06/12 04:08:27]: nordi requested item gardensicorr. -[info][2025/06/12 04:08:53]: nordi requested all items. -[info][2025/06/12 04:09:13]: nordi requested item spazi_limo. -[info][2025/06/12 04:09:39]: nordi requested all items. -[info][2025/06/12 04:09:51]: nordi requested item sandwich. -[info][2025/06/12 04:10:05]: nordi requested all items. -[info][2025/06/12 04:10:10]: nordi requested item j_and_js. -[info][2025/06/12 04:10:19]: nordi requested all items. -[info][2025/06/12 04:10:24]: nordi requested item pizza_burger. -[info][2025/06/12 04:10:33]: nordi requested all items. -[info][2025/06/12 04:10:36]: nordi requested item tims_instant_nudeln. -[info][2025/06/12 04:10:52]: nordi requested all items. -[info][2025/06/12 04:10:55]: nordi requested item muffin. -[info][2025/06/12 04:11:03]: nordi requested all items. -[info][2025/06/12 04:11:11]: nordi requested item loaded_fries. -[info][2025/06/12 04:11:22]: nordi requested all items. -[info][2025/06/12 04:11:23]: nordi requested all items. -[info][2025/06/12 04:11:27]: nordi requested item slushi. -[info][2025/06/12 04:11:38]: nordi requested all items. -[info][2025/06/12 04:11:43]: nordi requested item bcesandwich. -[info][2025/06/12 04:12:02]: nordi requested all items. -[info][2025/06/12 04:12:15]: nordi requested item saldprezels. -[info][2025/06/12 04:12:23]: nordi requested all items. -[info][2025/06/12 04:12:27]: nordi requested item cheeseanachos. -[info][2025/06/12 04:12:40]: nordi requested all items. -[info][2025/06/12 04:12:45]: nordi requested item weapon_license. -[info][2025/06/12 04:12:47]: nordi requested all items. -[info][2025/06/12 04:12:59]: nordi requested item waffle_icream. -[info][2025/06/12 04:13:21]: nordi requested all items. -[info][2025/06/12 04:13:25]: nordi requested item eis_konfekt. -[info][2025/06/12 04:13:33]: nordi requested all items. -[info][2025/06/12 04:13:38]: nordi requested item salsa_nachos. -[info][2025/06/12 04:13:55]: nordi requested all items. -[info][2025/06/12 04:14:01]: nordi requested item fries_with_dip. -[info][2025/06/12 04:14:11]: nordi requested all items. -[info][2025/06/12 04:14:14]: nordi requested item campers_fuel. -[info][2025/06/12 04:14:31]: nordi requested all items. -[info][2025/06/12 04:14:43]: nordi requested item tourniquet. -[info][2025/06/12 04:15:00]: nordi requested all items. -[info][2025/06/12 04:15:03]: nordi requested item quickclot. -[info][2025/06/12 04:15:12]: nordi requested all items. -[info][2025/06/12 04:15:17]: nordi requested item bodybag. -[info][2025/06/12 04:15:25]: nordi requested all items. -[info][2025/06/12 04:15:33]: nordi requested item ecg_monitor. -[info][2025/06/12 04:15:53]: nordi requested all items. -[info][2025/06/12 04:15:57]: nordi requested item cheese_burger. -[info][2025/06/12 04:16:21]: nordi requested all items. -[info][2025/06/12 04:16:29]: nordi requested item katzenfutter. -[info][2025/06/12 04:16:42]: nordi requested all items. -[info][2025/06/12 04:16:52]: nordi requested item hundefutter. -[info][2025/06/12 04:17:12]: nordi requested all items. -[info][2025/06/12 04:17:39]: nordi requested item rifle_scope. -[info][2025/06/12 04:17:44]: nordi requested all items. -[info][2025/06/12 04:18:42]: nordi requested item shotgun_ammo. -[info][2025/06/12 04:18:57]: nordi requested all items. -[info][2025/06/12 04:19:02]: nordi requested item smg_ammo. -[info][2025/06/12 04:19:11]: nordi requested all items. -[info][2025/06/12 04:19:13]: nordi requested item pistol_ammo. -[info][2025/06/12 04:20:08]: nordi requested all items. -[info][2025/06/12 04:20:14]: nordi requested item redwoodpack. -[info][2025/06/12 04:23:21]: nordi requested all items. -[info][2025/06/12 04:23:38]: nordi requested item hotdog_deluxe. -[info][2025/06/12 04:23:50]: nordi requested all items. -[info][2025/06/12 04:23:54]: nordi requested item ibuprophen. -[info][2025/06/12 04:24:12]: nordi requested all items. -[info][2025/06/12 04:24:17]: nordi requested item police_card. -[info][2025/06/12 04:25:05]: nordi requested all items. -[info][2025/06/12 04:25:11]: nordi requested item amoxicillin. -[info][2025/06/12 04:25:21]: nordi requested all items. -[info][2025/06/12 04:25:25]: nordi requested item ayran. -[info][2025/06/12 04:25:42]: nordi requested all items. -[info][2025/06/12 04:25:47]: nordi requested item emergencydrone. -[info][2025/06/12 04:26:45]: nordi requested all items. -[info][2025/06/12 04:28:03]: nordi requested item cefalexin. -[info][2025/06/12 04:28:34]: nordi requested all items. -[info][2025/06/12 04:28:48]: nordi requested item junk_energy. -[info][2025/06/12 04:29:07]: nordi requested all items. -[info][2025/06/12 04:29:23]: nordi requested item 3-fach_impfung_katze. -[info][2025/06/12 04:29:32]: nordi requested all items. -[info][2025/06/12 04:29:34]: nordi requested item 5-fach_impfung_hund. -[info][2025/06/12 04:33:42]: nordi requested all items. -[info][2025/06/12 04:34:01]: nordi requested item snp_ammo. -[info][2025/06/12 04:34:46]: nordi requested all items. -[info][2025/06/12 04:35:04]: nordi requested item weapon_assaultrifle. -[info][2025/06/12 04:35:17]: nordi requested all items. -[info][2025/06/12 04:35:22]: nordi requested item weapon_combatpdw. -[info][2025/06/12 04:36:25]: nordi requested all items. -[info][2025/06/12 04:36:30]: nordi requested item doj_card. -[info][2025/06/12 04:40:22]: nordi requested all items. -[info][2025/06/12 04:42:54]: nordi requested item orange_o_tang_zero_flasche. -[info][2025/06/12 04:43:07]: nordi requested all items. -[info][2025/06/12 04:43:13]: nordi requested item orange_o_tang_zero_dose. -[info][2025/06/12 04:43:24]: nordi requested all items. -[info][2025/06/12 04:43:28]: nordi requested item orange_o_tang_dose. -[info][2025/06/12 04:43:36]: nordi requested all items. -[info][2025/06/12 04:43:40]: nordi requested item orange_o_tang_flasche. -[info][2025/06/12 04:43:51]: nordi requested all items. -[info][2025/06/12 04:44:06]: nordi requested item ohrstopsel. -[info][2025/06/12 04:46:17]: nordi requested all items. -[info][2025/06/12 04:46:21]: nordi requested item weapon_stungun. -[info][2025/06/12 04:46:49]: nordi requested all items. -[info][2025/06/12 13:27:29]: nordi requested all items. -[info][2025/06/12 14:01:59]: nordi requested item bcesandwich. -[info][2025/06/12 14:02:06]: nordi requested all items. -[info][2025/06/12 14:02:11]: nordi requested item cheese_burger. -[info][2025/06/12 14:02:35]: nordi requested save item cheese_burger. -[info][2025/06/12 14:02:35]: nordi successfully saved item cheese_burger. -[info][2025/06/12 14:02:37]: nordi requested all items. -[info][2025/06/12 14:02:42]: nordi requested item spazi_limo. -[info][2025/06/12 14:02:53]: nordi requested save item spazi_limo. -[info][2025/06/12 14:02:53]: nordi successfully saved item spazi_limo. -[info][2025/06/12 14:02:55]: nordi requested all items. -[info][2025/06/12 14:03:09]: nordi requested item spazi. -[info][2025/06/12 14:03:17]: nordi requested save item spazi. -[info][2025/06/12 14:03:17]: nordi successfully saved item spazi. -[info][2025/06/12 14:03:19]: nordi requested all items. -[info][2025/06/12 14:03:26]: nordi requested item sandwich. -[info][2025/06/12 14:03:48]: nordi requested all items. -[info][2025/06/12 14:03:59]: nordi requested item smg_ammo. -[info][2025/06/12 14:22:46]: nordi requested all items. -[info][2025/06/12 14:22:58]: nordi requested item shotgun_ammo. -[info][2025/06/12 14:23:06]: nordi requested save item shotgun_ammo. -[info][2025/06/12 14:23:06]: nordi successfully saved item shotgun_ammo. -[info][2025/06/12 14:23:07]: nordi requested all items. -[info][2025/06/12 14:23:10]: nordi requested item rifle_ammo. -[info][2025/06/12 14:23:24]: nordi requested all items. -[info][2025/06/12 14:23:27]: nordi requested item pistol_ammo. -[info][2025/06/12 14:23:36]: nordi requested all items. -[info][2025/06/12 14:25:36]: nordi requested item rifle_ammo. -[info][2025/06/12 14:25:38]: nordi requested all items. -[info][2025/06/12 14:25:49]: nordi requested item hotdog. -[info][2025/06/12 14:26:04]: nordi requested all items. -[info][2025/06/12 14:26:10]: nordi requested item burrito. -[info][2025/06/12 14:26:26]: nordi requested all items. -[info][2025/06/12 14:26:33]: nordi requested item frenchfries. -[info][2025/06/12 14:27:36]: nordi requested all items. -[info][2025/06/12 14:27:41]: nordi requested item stevens_apfelmustorte. -[info][2025/06/12 15:19:14]: nordi requested all items. -[info][2025/06/12 15:19:21]: nordi requested item weapon_stungun. -[info][2025/06/12 15:19:31]: nordi requested save item weapon_stungun. -[info][2025/06/12 15:19:31]: nordi successfully saved item weapon_stungun. -[info][2025/06/12 15:19:42]: nordi requested all items. -[info][2025/06/12 15:19:44]: nordi requested item weapon_stungun. -[info][2025/06/12 15:19:49]: nordi requested save item weapon_stungun. -[info][2025/06/12 15:19:49]: nordi successfully saved item weapon_stungun. -[info][2025/06/12 15:19:51]: nordi requested all items. -[info][2025/06/12 15:19:59]: nordi requested item cheese_burger. -[info][2025/06/12 15:20:02]: nordi requested save item cheese_burger. -[info][2025/06/12 15:20:02]: nordi successfully saved item cheese_burger. -[info][2025/06/12 15:25:26]: nordi requested all items. -[info][2025/06/12 16:02:57]: nordi requested item smg_ammo. -[info][2025/06/12 16:03:07]: nordi requested save item smg_ammo. -[info][2025/06/12 16:03:07]: nordi successfully saved item smg_ammo. -[info][2025/06/12 16:03:09]: nordi requested all items. -[info][2025/06/12 16:03:11]: nordi requested item smg_ammo. -[info][2025/06/12 16:03:13]: nordi requested all items. -[info][2025/06/12 16:03:30]: nordi requested item pd_keycard. -[info][2025/06/12 16:03:38]: nordi requested save item pd_keycard. -[info][2025/06/12 16:03:38]: nordi successfully saved item pd_keycard. -[info][2025/06/12 16:03:39]: nordi requested all items. -[info][2025/06/12 16:03:43]: nordi requested item doj_card. -[info][2025/06/12 16:03:51]: nordi requested save item doj_card. -[info][2025/06/12 16:03:51]: nordi successfully saved item doj_card. -[info][2025/06/12 16:03:53]: nordi requested all items. -[info][2025/06/12 16:04:09]: nordi requested item police_card. -[info][2025/06/12 16:04:32]: nordi requested save item police_card. -[info][2025/06/12 16:04:32]: nordi successfully saved item police_card. -[info][2025/06/12 16:04:34]: nordi requested all items. -[info][2025/06/12 16:04:36]: nordi requested item bank_card. -[info][2025/06/12 16:04:41]: nordi requested all items. -[info][2025/06/12 16:05:03]: nordi requested item newspaper. -[info][2025/06/12 16:17:33]: nordi requested all items. -[info][2025/06/12 17:04:12]: nordi requested item snikkel_candy. -[info][2025/06/12 17:05:28]: nordi requested save item snikkel_candy. -[info][2025/06/12 17:05:28]: nordi successfully saved item snikkel_candy. -[info][2025/06/12 17:05:30]: nordi requested all items. -[info][2025/06/12 17:06:25]: nordi requested item tier_leckerlis. -[info][2025/06/12 17:06:46]: nordi requested item tier_leckerlis. -[info][2025/06/12 17:06:53]: nordi requested all items. -[info][2025/06/12 17:06:57]: nordi requested item fish_and_chips. -[info][2025/06/12 17:08:17]: nordi requested all items. -[info][2025/06/12 17:08:21]: nordi requested item munky_juice. -[info][2025/06/12 17:08:49]: nordi requested all items. -[info][2025/06/12 17:08:50]: nordi requested item munky_juice_ice_tea. -[info][2025/06/12 17:09:18]: nordi requested all items. -[info][2025/06/12 17:10:06]: nordi requested item sprunk_flasche. -[info][2025/06/12 17:10:37]: nordi requested all items. -[info][2025/06/12 17:11:00]: nordi requested item cup_lemonade. -[info][2025/06/12 17:11:04]: nordi requested all items. -[info][2025/06/12 17:11:14]: nordi requested item sprunk. -[info][2025/06/12 17:11:40]: nordi requested all items. -[info][2025/06/12 17:11:52]: nordi requested item ornageo. -[info][2025/06/12 17:12:17]: nordi requested all items. -[info][2025/06/12 17:13:16]: nordi requested item schnitzelbroetchen. -[info][2025/06/12 17:14:14]: nordi requested all items. -[info][2025/06/12 17:14:21]: nordi requested item filter_papers. -[info][2025/06/12 17:16:58]: nordi requested all items. -[info][2025/06/12 17:17:51]: nordi requested all items. -[info][2025/06/12 17:17:55]: nordi requested all items. -[info][2025/06/12 17:17:59]: nordi requested item jelly_beans. -[info][2025/06/12 17:18:19]: nordi requested all items. -[info][2025/06/12 17:18:32]: nordi requested item bleeder. -[info][2025/06/12 17:18:51]: nordi requested all items. -[info][2025/06/12 17:18:55]: nordi requested item burger. -[info][2025/06/12 17:19:09]: nordi requested all items. -[info][2025/06/12 17:19:12]: nordi requested item heartstopper. -[info][2025/06/12 17:22:31]: nordi requested all items. -[info][2025/06/12 17:25:21]: nordi requested item salbutamol. -[info][2025/06/12 17:25:30]: nordi requested all items. -[info][2025/06/12 17:25:35]: nordi requested item voltaren_salbenverband. -[info][2025/06/12 17:26:23]: nordi requested all items. -[info][2025/06/12 17:26:28]: nordi requested item deployable_light. -[info][2025/06/12 17:26:58]: nordi requested all items. -[info][2025/06/12 17:27:02]: nordi requested item propofol_100. -[info][2025/06/12 17:27:17]: nordi requested all items. -[info][2025/06/12 17:27:19]: nordi requested item propofol_250. -[info][2025/06/12 17:27:29]: nordi requested all items. -[info][2025/06/12 17:27:32]: nordi requested item ibuprophen. -[info][2025/06/12 17:27:46]: nordi requested all items. -[info][2025/06/12 17:28:11]: nordi requested item paracetamol. -[info][2025/06/12 17:28:14]: nordi requested all items. -[info][2025/06/12 17:28:24]: nordi requested item marble_pop_limo. -[info][2025/06/12 17:28:40]: nordi requested all items. -[info][2025/06/12 17:28:43]: nordi requested item lidocain. -[info][2025/06/12 17:31:15]: nordi requested all items. -[info][2025/06/12 17:31:20]: nordi requested item blood_500. -[info][2025/06/12 17:31:29]: nordi requested save item blood_500. -[info][2025/06/12 17:31:29]: nordi successfully saved item blood_500. -[info][2025/06/12 17:31:31]: nordi requested all items. -[info][2025/06/12 17:31:34]: nordi requested item blood_750. -[info][2025/06/12 17:31:42]: nordi requested save item blood_750. -[info][2025/06/12 17:31:42]: nordi successfully saved item blood_750. -[info][2025/06/12 17:31:44]: nordi requested all items. -[info][2025/06/12 17:31:46]: nordi requested item blood_1000. -[info][2025/06/12 17:31:52]: nordi requested save item blood_1000. -[info][2025/06/12 17:31:52]: nordi successfully saved item blood_1000. -[info][2025/06/12 17:31:55]: nordi requested all items. -[info][2025/06/12 17:31:57]: nordi requested item blood_250. -[info][2025/06/12 17:32:05]: nordi requested save item blood_250. -[info][2025/06/12 17:32:05]: nordi successfully saved item blood_250. -[info][2025/06/12 17:32:06]: nordi requested all items. -[info][2025/06/12 17:32:09]: nordi requested item blood_750. -[info][2025/06/12 17:32:11]: nordi requested all items. -[info][2025/06/12 17:32:13]: nordi requested item blood_250. -[info][2025/06/12 17:32:14]: nordi requested all items. -[info][2025/06/12 17:32:18]: nordi requested item blood_100. -[info][2025/06/12 17:32:24]: nordi requested save item blood_100. -[info][2025/06/12 17:32:24]: nordi successfully saved item blood_100. -[info][2025/06/12 17:32:26]: nordi requested all items. -[info][2025/06/12 17:33:22]: nordi requested item weapon_appistol. -[info][2025/06/12 17:34:04]: nordi requested all items. -[info][2025/06/12 17:34:16]: nordi requested item weapon_combatpistol. -[info][2025/06/12 17:35:04]: nordi requested all items. -[info][2025/06/12 17:35:08]: nordi requested item weapon_pistol_mk2. -[info][2025/06/12 17:35:32]: nordi requested all items. -[info][2025/06/12 17:35:37]: nordi requested item weapon_heavypistol. -[info][2025/06/12 17:36:01]: nordi requested all items. -[info][2025/06/12 17:36:29]: nordi requested item weapon_assaultrifle. -[info][2025/06/12 17:36:35]: nordi requested save item weapon_assaultrifle. -[info][2025/06/12 17:36:35]: nordi successfully saved item weapon_assaultrifle. -[info][2025/06/12 17:36:37]: nordi requested all items. -[info][2025/06/12 17:36:40]: nordi requested item weapon_assaultsmg. -[info][2025/06/12 17:36:48]: nordi requested save item weapon_assaultsmg. -[info][2025/06/12 17:36:48]: nordi successfully saved item weapon_assaultsmg. -[info][2025/06/12 17:36:51]: nordi requested all items. -[info][2025/06/12 17:37:21]: nordi requested item weapon_raycarbine. -[info][2025/06/12 17:37:23]: nordi requested all items. -[info][2025/06/12 17:37:24]: nordi requested item weapon_specialcarbine. -[info][2025/06/12 17:38:11]: nordi requested all items. -[info][2025/06/12 17:38:15]: nordi requested all items. -[info][2025/06/12 17:38:27]: nordi requested item weapon_carbinerifle_mk2. -[info][2025/06/12 17:39:29]: nordi requested all items. -[info][2025/06/12 17:39:33]: nordi requested item weapon_bullpuprifle. -[info][2025/06/12 17:39:44]: nordi requested all items. -[info][2025/06/12 17:39:51]: nordi requested item ffries. -[info][2025/06/12 17:40:12]: nordi requested all items. -[info][2025/06/12 17:40:14]: nordi requested item ffries. -[info][2025/06/12 17:40:15]: nordi requested all items. -[info][2025/06/12 17:40:21]: nordi requested item weapon_assaultsmg. -[info][2025/06/12 17:40:23]: nordi requested all items. -[info][2025/06/12 17:40:32]: nordi requested item weapon_smg. -[info][2025/06/12 17:41:11]: nordi requested all items. -[info][2025/06/12 17:41:13]: nordi requested all items. -[info][2025/06/12 17:41:53]: nordi requested item weapon_appistol. -[info][2025/06/12 17:41:57]: nordi requested item weapon_appistol. -[info][2025/06/12 17:42:03]: nordi requested all items. -[info][2025/06/12 17:42:07]: nordi requested item spikestrips. -[info][2025/06/12 17:42:37]: nordi requested all items. -[info][2025/06/12 17:48:07]: nordi requested item weapon_snspistol_mk2. -[info][2025/06/12 17:52:21]: nordi requested all items. -[info][2025/06/12 17:52:33]: nordi requested item sugarbeet. -[info][2025/06/12 17:52:35]: nordi requested all items. -[info][2025/06/12 17:53:48]: nordi requested item filter_papers. -[info][2025/06/12 17:56:22]: nordi requested all items. -[info][2025/06/12 17:56:31]: nordi requested item bodybag. -[info][2025/06/12 17:56:37]: nordi requested save item bodybag. -[info][2025/06/12 17:56:37]: nordi successfully saved item bodybag. -[info][2025/06/12 17:56:39]: nordi requested all items. -[info][2025/06/12 17:57:37]: nordi requested item weapon_assaultshotgun. -[info][2025/06/12 17:57:39]: nordi requested all items. -[info][2025/06/12 17:57:47]: nordi requested item weapon_combatshotgun. -[info][2025/06/12 17:58:39]: nordi requested all items. -[info][2025/06/12 17:59:22]: nordi requested item epinephrine. -[info][2025/06/12 17:59:44]: nordi requested save item epinephrine. -[info][2025/06/12 17:59:44]: nordi successfully saved item epinephrine. -[info][2025/06/12 17:59:46]: nordi requested all items. -[info][2025/06/12 17:59:52]: nordi requested item esketamin. -[info][2025/06/12 17:59:59]: nordi requested all items. -[info][2025/06/12 18:00:37]: nordi requested item list. -[info][2025/06/12 18:02:21]: nordi uplaoded item image battery.png. -[info][2025/06/12 18:02:24]: nordi requested create item battery. -[info][2025/06/12 18:02:24]: nordi successfully created item battery. -[info][2025/06/12 18:02:24]: nordi requested all items. -[info][2025/06/12 18:28:07]: nordi requested item riverwater. -[info][2025/06/12 18:30:07]: nordi requested all items. -[info][2025/06/12 18:30:09]: nordi requested item riverwater. -[info][2025/06/12 18:30:16]: nordi requested save item riverwater. -[info][2025/06/12 18:30:16]: nordi successfully saved item riverwater. -[info][2025/06/12 18:30:18]: nordi requested all items. -[info][2025/06/12 18:30:27]: nordi requested item cigbox. -[info][2025/06/12 18:43:47]: nordi requested all items. -[info][2025/06/12 18:44:11]: nordi requested item plastic. -[info][2025/06/12 18:44:43]: nordi requested save item plastic. -[info][2025/06/12 18:44:43]: nordi successfully saved item plastic. -[info][2025/06/12 18:46:17]: nordi requested all items. -[info][2025/06/12 18:47:52]: nordi requested item list. -[info][2025/06/12 18:48:46]: nordi uplaoded item image rare_earths.png. -[info][2025/06/12 18:48:48]: nordi requested create item rare_earths. -[info][2025/06/12 18:48:48]: nordi successfully created item rare_earths. -[info][2025/06/12 18:48:49]: nordi requested all items. -[info][2025/06/12 18:50:44]: nordi requested item rare_earths. -[info][2025/06/12 18:57:47]: nordi requested all items. -[info][2025/06/12 18:57:54]: nordi requested item trojan_usb. -[info][2025/06/12 18:57:57]: nordi requested all items. -[info][2025/06/12 18:58:36]: nordi requested item list. -[info][2025/06/12 18:59:20]: nordi uplaoded item image sd_card.png. -[info][2025/06/12 18:59:23]: nordi requested create item sd_card. -[info][2025/06/12 18:59:23]: nordi successfully created item sd_card. -[info][2025/06/12 18:59:24]: nordi requested all items. -[info][2025/06/12 19:04:34]: nordi requested item list. -[info][2025/06/12 19:07:51]: nordi uplaoded item image filament.png. -[info][2025/06/12 19:07:53]: nordi requested create item filament. -[info][2025/06/12 19:07:53]: nordi successfully created item filament. -[info][2025/06/12 19:07:53]: nordi requested all items. -[info][2025/06/12 19:07:58]: nordi requested item filament. -[info][2025/06/12 19:12:42]: nordi requested save item filament. -[info][2025/06/12 19:12:42]: nordi successfully saved item filament. -[info][2025/06/12 19:19:08]: nordi requested save item filament. -[info][2025/06/12 19:19:08]: nordi successfully saved item filament. -[info][2025/06/12 19:19:11]: nordi requested all items. -[info][2025/06/12 19:21:04]: nordi requested item list. -[info][2025/06/12 19:21:25]: nordi requested create item file. -[info][2025/06/12 19:21:25]: nordi successfully created item file. -[info][2025/06/12 19:21:26]: nordi requested all items. -[info][2025/06/12 19:21:31]: nordi requested item file. -[info][2025/06/12 19:22:17]: nordi uplaoded item image file.png. -[info][2025/06/12 19:22:19]: nordi requested save item file. -[info][2025/06/12 19:22:19]: nordi successfully saved item file. -[info][2025/06/12 19:22:22]: nordi requested save item file. -[info][2025/06/12 19:22:22]: nordi successfully saved item file. -[info][2025/06/12 19:22:24]: nordi requested all items. -[info][2025/06/12 19:22:32]: nordi requested item sd_card. -[info][2025/06/12 19:29:16]: nordi requested all items. -[info][2025/06/12 19:29:30]: nordi requested item file. -[info][2025/06/12 19:45:28]: nordi requested save item file. -[info][2025/06/12 19:45:28]: nordi successfully saved item file. -[info][2025/06/12 19:45:30]: nordi requested all items. -[info][2025/06/12 19:51:53]: nordi requested item file. -[info][2025/06/12 19:52:11]: nordi requested all items. -[info][2025/06/12 19:52:16]: nordi requested item battery. -[info][2025/06/12 19:52:24]: nordi requested all items. -[info][2025/06/12 19:52:28]: nordi requested item filament. -[info][2025/06/12 19:55:57]: nordi requested all items. -[info][2025/06/12 19:56:01]: nordi requested item schnitzelbroetchen. -[info][2025/06/12 19:56:09]: nordi requested save item schnitzelbroetchen. -[info][2025/06/12 19:56:09]: nordi successfully saved item schnitzelbroetchen. -[info][2025/06/12 19:56:12]: nordi requested all items. -[info][2025/06/12 19:56:17]: nordi requested item cup_tide. -[info][2025/06/12 19:56:20]: nordi requested all items. -[info][2025/06/12 19:56:24]: nordi requested item orange_o_tang_zero_dose. -[info][2025/06/12 19:56:35]: nordi requested save item orange_o_tang_zero_dose. -[info][2025/06/12 19:56:35]: nordi successfully saved item orange_o_tang_zero_dose. -[info][2025/06/12 19:56:40]: nordi requested all items. -[info][2025/06/12 19:56:43]: nordi requested item orange_o_tang_flasche. -[info][2025/06/12 19:56:52]: nordi requested save item orange_o_tang_flasche. -[info][2025/06/12 19:56:52]: nordi successfully saved item orange_o_tang_flasche. -[info][2025/06/12 19:56:54]: nordi requested all items. -[info][2025/06/12 19:56:58]: nordi requested item orange_o_tang_zero_flasche. -[info][2025/06/12 19:57:08]: nordi requested save item orange_o_tang_zero_flasche. -[info][2025/06/12 19:57:08]: nordi successfully saved item orange_o_tang_zero_flasche. -[info][2025/06/12 19:57:10]: nordi requested all items. -[info][2025/06/12 19:57:17]: nordi requested item orange_o_tang_dose. -[info][2025/06/12 19:57:32]: nordi requested save item orange_o_tang_dose. -[info][2025/06/12 19:57:32]: nordi successfully saved item orange_o_tang_dose. -[info][2025/06/12 19:58:00]: nordi requested all items. -[info][2025/06/12 19:58:06]: nordi requested item weapon_appistol. -[info][2025/06/12 21:22:33]: nordi requested all items. -[info][2025/06/12 21:22:38]: nordi requested item weapon_knife. -[info][2025/06/12 21:30:32]: nordi requested all items. -[info][2025/06/12 21:30:37]: nordi requested item water_bottle. -[info][2025/06/12 21:33:33]: nordi requested all items. -[info][2025/06/12 23:22:24]: nordi requested all items. -[info][2025/06/12 23:23:00]: nordi requested item weapon_pistol_mk2. -[info][2025/06/12 23:23:12]: nordi requested save item weapon_pistol_mk2. -[info][2025/06/12 23:23:12]: nordi successfully saved item weapon_pistol_mk2. -[info][2025/06/12 23:23:14]: nordi requested all items. -[info][2025/06/12 23:23:16]: nordi requested item weapon_appistol. -[info][2025/06/12 23:23:23]: nordi requested save item weapon_appistol. -[info][2025/06/12 23:23:24]: nordi successfully saved item weapon_appistol. -[info][2025/06/12 23:23:25]: nordi requested all items. -[info][2025/06/13 01:42:45]: nordi requested all items. -[info][2025/06/13 01:42:49]: nordi requested item cuttingdisc. -[info][2025/06/13 01:44:30]: nordi requested item cuttingdisc. -[info][2025/06/13 01:44:40]: nordi requested save item cuttingdisc. -[info][2025/06/13 01:44:40]: nordi successfully saved item cuttingdisc. -[info][2025/06/13 01:44:42]: nordi requested all items. -[info][2025/06/13 01:44:46]: nordi requested item cuttingdisc. -[info][2025/06/13 01:58:47]: nordi requested all items. -[info][2025/06/13 01:58:53]: nordi requested item bucket. -[info][2025/06/13 01:59:02]: nordi requested save item bucket. -[info][2025/06/13 01:59:02]: nordi successfully saved item bucket. -[info][2025/06/13 02:01:01]: nordi requested all items. -[info][2025/06/13 02:01:08]: nordi requested item gatecrack. -[info][2025/06/13 02:01:10]: nordi requested all items. -[info][2025/06/13 02:01:16]: nordi requested item ecola_light. -[info][2025/06/13 02:02:05]: nordi requested all items. -[info][2025/06/13 02:02:08]: nordi requested item ecola. -[info][2025/06/13 02:02:15]: nordi requested save item ecola. -[info][2025/06/13 02:02:15]: nordi successfully saved item ecola. -[info][2025/06/13 02:02:17]: nordi requested all items. -[info][2025/06/13 02:02:23]: nordi requested item ecola_dose. -[info][2025/06/13 02:02:38]: nordi requested save item ecola_dose. -[info][2025/06/13 02:02:38]: nordi successfully saved item ecola_dose. -[info][2025/06/13 02:02:41]: nordi requested all items. -[info][2025/06/13 02:02:43]: nordi requested item ecola_zero_dose. -[info][2025/06/13 02:03:19]: nordi requested all items. -[info][2025/06/13 02:03:30]: nordi requested item ecola_dose. -[info][2025/06/13 02:03:31]: nordi requested all items. -[info][2025/06/13 02:03:36]: nordi requested item cuttingdisc. -[info][2025/06/13 02:03:42]: nordi requested save item cuttingdisc. -[info][2025/06/13 02:03:42]: nordi successfully saved item cuttingdisc. -[info][2025/06/13 02:03:44]: nordi requested all items. -[info][2025/06/13 02:15:50]: nordi requested item drill. -[info][2025/06/13 17:27:40]: mark requested all items. -[info][2025/06/13 17:27:42]: mark requested item list. -[info][2025/06/13 17:29:12]: mark requested all items. -[info][2025/06/13 17:29:23]: mark requested item list. -[info][2025/06/13 17:30:51]: mark requested all items. -[info][2025/06/13 17:30:53]: mark requested item list. -[info][2025/06/14 17:57:36]: nordi requested all items. -[info][2025/06/14 17:58:05]: nordi requested item ems_card. -[info][2025/06/14 17:58:51]: nordi requested save item ems_card. -[info][2025/06/14 17:58:51]: nordi successfully saved item ems_card. -[info][2025/06/14 17:58:53]: nordi requested all items. -[info][2025/06/14 17:59:44]: nordi requested item id_card. -[info][2025/06/14 20:46:33]: nordi requested save item id_card. -[info][2025/06/14 20:46:33]: nordi successfully saved item id_card. -[info][2025/06/14 20:46:35]: nordi requested all items. -[info][2025/06/14 21:01:14]: nordi requested item slushi. -[info][2025/06/14 21:01:16]: nordi requested save item slushi. -[info][2025/06/14 21:01:16]: nordi successfully saved item slushi. -[info][2025/06/14 21:01:25]: nordi requested save item slushi. -[info][2025/06/14 21:01:25]: nordi successfully saved item slushi. -[info][2025/06/14 21:01:27]: nordi requested all items. -[info][2025/06/14 21:01:29]: nordi requested item sludgie. -[info][2025/06/14 21:01:32]: nordi requested all items. -[info][2025/06/14 21:58:45]: nordi requested all items. -[info][2025/06/14 21:58:50]: nordi requested item ems_card. -[info][2025/06/14 23:13:56]: campers requested all items. -[info][2025/06/14 23:15:39]: nordi requested all items. -[info][2025/06/14 23:16:00]: nordi requested item marshal_card. -[info][2025/06/14 23:16:09]: nordi requested save item marshal_card. -[info][2025/06/14 23:16:09]: nordi successfully saved item marshal_card. -[info][2025/06/14 23:16:10]: campers requested item rifle_ammo. -[info][2025/06/14 23:16:26]: campers requested all items. -[info][2025/06/14 23:37:36]: nordi requested all items. -[info][2025/06/14 23:37:38]: nordi requested item list. -[info][2025/06/14 23:37:39]: nordi requested all items. -[info][2025/06/14 23:37:41]: nordi requested item list. -[info][2025/06/14 23:38:17]: nordi requested create item bcso_card. -[info][2025/06/14 23:38:23]: nordi requested all items. -[info][2025/06/14 23:38:28]: nordi requested item bcso_card. -[info][2025/06/14 23:38:50]: nordi requested save item bcso_card. -[info][2025/06/14 23:38:51]: nordi successfully saved item bcso_card. -[info][2025/06/14 23:39:00]: nordi requested save item bcso_card. -[info][2025/06/14 23:39:00]: nordi successfully saved item bcso_card. -[info][2025/06/14 23:56:53]: nordi requested all items. -[info][2025/06/14 23:57:12]: nordi requested item snp_ammo. -[info][2025/06/15 00:14:47]: nordi requested save item snp_ammo. -[info][2025/06/15 00:14:47]: nordi successfully saved item snp_ammo. -[info][2025/06/15 00:15:42]: nordi requested save item snp_ammo. -[info][2025/06/15 00:15:42]: nordi successfully saved item snp_ammo. -[info][2025/06/15 00:15:44]: nordi requested all items. -[info][2025/06/15 00:18:18]: nordi requested item weapon_pistol_mk2. -[info][2025/06/15 00:18:21]: nordi requested all items. -[info][2025/06/15 00:18:23]: nordi requested item weapon_appistol. -[info][2025/06/15 00:18:26]: nordi requested all items. -[info][2025/06/15 00:18:37]: nordi requested item radio. -[info][2025/06/15 00:18:52]: nordi requested save item radio. -[info][2025/06/15 00:18:52]: nordi successfully saved item radio. -[info][2025/06/15 00:19:02]: nordi requested save item radio. -[info][2025/06/15 00:19:02]: nordi successfully saved item radio. -[info][2025/06/15 00:19:04]: nordi requested all items. -[info][2025/06/15 00:23:11]: nordi requested item pussycat. -[info][2025/06/15 00:23:16]: nordi requested save item pussycat. -[info][2025/06/15 00:23:17]: nordi successfully saved item pussycat. -[info][2025/06/15 00:23:18]: nordi requested all items. -[info][2025/06/15 00:23:25]: nordi requested item ecola_light. -[info][2025/06/15 00:23:37]: nordi requested save item ecola_light. -[info][2025/06/15 00:23:37]: nordi successfully saved item ecola_light. -[info][2025/06/15 00:23:39]: nordi requested all items. -[info][2025/06/15 00:23:40]: nordi requested item ecola_zero_flasche. -[info][2025/06/15 00:23:43]: nordi requested save item ecola_zero_flasche. -[info][2025/06/15 00:23:43]: nordi successfully saved item ecola_zero_flasche. -[info][2025/06/15 00:23:45]: nordi requested all items. -[info][2025/06/15 00:23:47]: nordi requested item ecola_dose. -[info][2025/06/15 00:23:49]: nordi requested save item ecola_dose. -[info][2025/06/15 00:23:49]: nordi successfully saved item ecola_dose. -[info][2025/06/15 00:23:51]: nordi requested all items. -[info][2025/06/15 00:23:52]: nordi requested item ecola_flasche. -[info][2025/06/15 00:24:12]: nordi requested all items. -[info][2025/06/15 00:24:32]: nordi requested item sprunk_flasche. -[info][2025/06/15 00:24:42]: nordi requested save item sprunk_flasche. -[info][2025/06/15 00:24:42]: nordi successfully saved item sprunk_flasche. -[info][2025/06/15 00:24:44]: nordi requested all items. -[info][2025/06/15 00:24:46]: nordi requested item sprunk. -[info][2025/06/15 00:24:52]: nordi requested save item sprunk. -[info][2025/06/15 00:24:52]: nordi successfully saved item sprunk. -[info][2025/06/15 00:24:54]: nordi requested all items. -[info][2025/06/15 00:24:55]: nordi requested item sprunk_zero_dose. -[info][2025/06/15 00:25:06]: nordi requested save item sprunk_zero_dose. -[info][2025/06/15 00:25:06]: nordi successfully saved item sprunk_zero_dose. -[info][2025/06/15 00:25:07]: nordi requested all items. -[info][2025/06/15 00:25:10]: nordi requested item sprunk_zero_dose. -[info][2025/06/15 00:25:13]: nordi requested save item sprunk_zero_dose. -[info][2025/06/15 00:25:13]: nordi successfully saved item sprunk_zero_dose. -[info][2025/06/15 00:25:15]: nordi requested all items. -[info][2025/06/15 00:25:17]: nordi requested item cup_lemonade. -[info][2025/06/15 00:25:25]: nordi requested save item cup_lemonade. -[info][2025/06/15 00:25:25]: nordi successfully saved item cup_lemonade. -[info][2025/06/15 00:25:27]: nordi requested all items. -[info][2025/06/15 00:25:29]: nordi requested item sprunk_zero_flasche. -[info][2025/06/15 00:25:37]: nordi requested save item sprunk_zero_flasche. -[info][2025/06/15 00:25:37]: nordi successfully saved item sprunk_zero_flasche. -[info][2025/06/15 00:25:40]: nordi requested all items. -[info][2025/06/15 00:25:41]: nordi requested item sprunk_dose. -[info][2025/06/15 00:25:47]: nordi requested save item sprunk_dose. -[info][2025/06/15 00:25:47]: nordi successfully saved item sprunk_dose. -[info][2025/06/15 00:25:48]: nordi requested all items. -[info][2025/06/15 00:25:51]: nordi requested item cup_lemonade. -[info][2025/06/15 00:25:52]: nordi requested all items. -[info][2025/06/15 00:25:54]: nordi requested item big_bottle_lemonade. -[info][2025/06/15 00:25:55]: nordi requested all items. -[info][2025/06/15 00:25:57]: nordi requested item sprunk_dose. -[info][2025/06/15 00:25:58]: nordi requested all items. -[info][2025/06/15 00:26:00]: nordi requested item sprunk_flasche. -[info][2025/06/15 00:26:01]: nordi requested all items. -[info][2025/06/15 00:26:08]: nordi requested item ornageo. -[info][2025/06/15 00:26:23]: nordi requested all items. -[info][2025/06/15 00:26:24]: nordi requested item orange_o_tang_dose. -[info][2025/06/15 00:26:28]: nordi requested all items. -[info][2025/06/15 00:26:29]: nordi requested item orange_o_tang_zero_flasche. -[info][2025/06/15 00:26:33]: nordi requested all items. -[info][2025/06/15 00:26:44]: nordi requested item orange_o_tang_flasche. -[info][2025/06/15 00:26:48]: nordi requested all items. -[info][2025/06/15 00:30:55]: nordi requested item cup_tide. -[info][2025/06/15 00:30:57]: nordi requested all items. -[info][2025/06/15 00:30:59]: nordi requested item big_bottle_tide. -[info][2025/06/15 00:31:01]: nordi requested all items. -[info][2025/06/15 00:32:21]: nordi requested item rawmeat. -[info][2025/06/15 00:34:18]: nordi requested all items. -[info][2025/06/15 00:34:27]: nordi requested item butcherknife. -[info][2025/06/15 01:06:02]: nordi requested all items. -[info][2025/06/15 01:06:06]: nordi requested item simcard. -[info][2025/06/15 01:07:04]: nordi requested all items. -[info][2025/06/15 01:07:13]: nordi requested item purple_phone. -[info][2025/06/15 01:07:45]: nordi requested all items. -[info][2025/06/15 01:07:48]: nordi requested item red_phone. -[info][2025/06/15 01:08:02]: nordi requested all items. -[info][2025/06/15 01:23:14]: nordi requested item black_phone. -[info][2025/06/15 01:23:26]: nordi requested save item black_phone. -[info][2025/06/15 01:23:26]: nordi successfully saved item black_phone. -[info][2025/06/15 01:23:29]: nordi requested all items. -[info][2025/06/15 01:25:51]: nordi requested item list. -[info][2025/06/15 01:26:56]: nordi uplaoded item image soccer.png. -[info][2025/06/15 01:27:55]: nordi uplaoded item image football.png. -[info][2025/06/15 01:28:00]: nordi requested create item football. -[info][2025/06/15 01:28:00]: nordi successfully created item football. -[info][2025/06/15 01:28:01]: nordi requested all items. -[info][2025/06/15 01:28:03]: nordi requested item list. -[info][2025/06/15 01:28:19]: nordi requested create item soocer. -[info][2025/06/15 01:28:19]: nordi successfully created item soocer. -[info][2025/06/15 01:28:20]: nordi requested all items. -[info][2025/06/15 01:28:23]: nordi requested item soocer. -[info][2025/06/15 01:28:27]: nordi requested save item soocer. -[info][2025/06/15 01:28:27]: nordi successfully saved item soocer. -[info][2025/06/15 01:28:29]: nordi requested all items. -[info][2025/06/15 01:28:31]: nordi requested item list. -[info][2025/06/15 01:28:51]: nordi uplaoded item image basketball.png. -[info][2025/06/15 01:28:57]: nordi requested create item basketball. -[info][2025/06/15 01:28:57]: nordi successfully created item basketball. -[info][2025/06/15 01:28:58]: nordi requested all items. -[info][2025/06/15 01:29:01]: nordi requested item list. -[info][2025/06/15 01:29:20]: nordi uplaoded item image baseball.png. -[info][2025/06/15 01:31:40]: nordi requested all items. -[info][2025/06/15 01:31:44]: nordi requested item basketball. -[info][2025/06/15 01:35:08]: nordi requested all items. -[info][2025/06/15 02:13:13]: nordi requested item kuzu_sis. -[info][2025/06/15 02:26:57]: nordi requested all items. -[info][2025/06/15 02:28:59]: nordi requested item sand. -[info][2025/06/15 02:29:06]: nordi requested save item sand. -[info][2025/06/15 02:29:06]: nordi successfully saved item sand. -[info][2025/06/15 02:29:08]: nordi requested all items. -[info][2025/06/15 02:33:20]: nordi requested item dueruem. -[info][2025/06/15 02:35:06]: nordi requested all items. -[info][2025/06/15 02:35:10]: nordi requested item mixed_grilled_plate. -[info][2025/06/15 02:49:43]: nordi requested all items. -[info][2025/06/15 02:49:48]: nordi requested item waffle_icream. -[info][2025/06/15 02:50:12]: nordi requested save item waffle_icream. -[info][2025/06/15 02:50:12]: nordi successfully saved item waffle_icream. -[info][2025/06/15 02:50:36]: nordi requested save item waffle_icream. -[info][2025/06/15 02:50:36]: nordi successfully saved item waffle_icream. -[info][2025/06/15 02:50:42]: nordi requested save item waffle_icream. -[info][2025/06/15 02:50:42]: nordi successfully saved item waffle_icream. -[info][2025/06/15 02:51:24]: nordi requested all items. -[info][2025/06/15 02:51:30]: nordi requested item kayas_rotwein. -[info][2025/06/15 03:04:02]: nordi requested all items. -[info][2025/06/15 03:04:13]: nordi requested item tosti. -[info][2025/06/15 03:05:36]: nordi requested save item tosti. -[info][2025/06/15 03:05:36]: nordi successfully saved item tosti. -[info][2025/06/15 03:05:38]: nordi requested all items. -[info][2025/06/15 03:08:12]: nordi requested item njords_tide. -[info][2025/06/15 03:12:11]: nordi requested all items. -[info][2025/06/15 03:12:16]: nordi requested item sand. -[info][2025/06/15 03:12:28]: nordi requested all items. -[info][2025/06/15 03:13:33]: nordi requested item njords_tide. -[info][2025/06/15 03:17:52]: nordi requested all items. -[info][2025/06/15 03:17:56]: nordi requested item waffle_icream. -[info][2025/06/15 03:46:31]: nordi requested item waffle_icream. -[info][2025/06/15 04:03:58]: nordi requested all items. -[info][2025/06/15 04:04:03]: nordi requested item thors_sandwich. -[info][2025/06/15 04:04:51]: nordi requested all items. -[info][2025/06/15 04:36:49]: nordi requested item list. -[info][2025/06/15 04:36:52]: nordi requested all items. -[info][2025/06/15 04:37:03]: nordi requested item list. -[info][2025/06/15 04:37:32]: nordi uplaoded item image fruitpicker.png. -[info][2025/06/15 04:37:41]: nordi requested create item fruitpicker. -[info][2025/06/15 04:37:41]: nordi successfully created item fruitpicker. -[info][2025/06/15 04:37:41]: nordi requested all items. -[info][2025/06/15 04:37:46]: nordi requested item fruitpicker. -[info][2025/06/15 04:38:56]: nordi requested save item fruitpicker. -[info][2025/06/15 04:38:56]: nordi successfully saved item fruitpicker. -[info][2025/06/15 04:57:59]: nordi requested all items. -[info][2025/06/15 05:22:42]: nordi requested all items. -[info][2025/06/15 05:22:46]: nordi requested all jobs. -[info][2025/06/15 05:22:47]: nordi requested all items. -[info][2025/06/15 05:30:35]: nordi requested item emptybottle. -[info][2025/06/15 20:52:22]: nordi requested all items. -[info][2025/06/15 20:52:26]: nordi requested item filter_papers. -[info][2025/06/15 21:51:34]: nordi requested item filter_papers. -[info][2025/06/15 21:54:56]: nordi uplaoded item image filter_papers.png. -[info][2025/06/15 21:54:59]: nordi requested save item filter_papers. -[info][2025/06/15 21:55:00]: nordi successfully saved item filter_papers. -[info][2025/06/16 20:44:40]: nordi requested all items. -[info][2025/06/16 20:47:25]: nordi requested item tims_instant_nudeln. -[info][2025/06/16 20:47:32]: nordi requested save item tims_instant_nudeln. -[info][2025/06/16 20:47:32]: nordi successfully saved item tims_instant_nudeln. -[info][2025/06/16 20:47:35]: nordi requested all items. -[info][2025/06/16 20:47:37]: nordi requested item tims_instant_nudeln. -[info][2025/06/16 20:47:39]: nordi requested save item tims_instant_nudeln. -[info][2025/06/16 20:47:39]: nordi successfully saved item tims_instant_nudeln. -[info][2025/06/16 20:48:54]: nordi requested all items. -[info][2025/06/16 21:53:57]: nordi requested item cigs. -[info][2025/06/16 21:56:16]: campers requested all items. -[info][2025/06/16 21:56:30]: campers requested item cigs. -[info][2025/06/16 21:56:51]: campers requested all items. -[info][2025/06/16 21:57:17]: campers requested item cigar. -[info][2025/06/16 22:25:01]: nordi requested all items. -[info][2025/06/16 22:25:11]: nordi requested item dueruem. -[info][2025/06/16 22:25:13]: nordi requested save item dueruem. -[info][2025/06/16 22:25:13]: nordi successfully saved item dueruem. -[info][2025/06/16 22:25:15]: nordi requested all items. -[info][2025/06/16 22:25:19]: nordi requested item doener. -[info][2025/06/16 22:25:20]: nordi requested save item doener. -[info][2025/06/16 22:25:20]: nordi successfully saved item doener. -[info][2025/06/16 22:25:22]: nordi requested all items. -[info][2025/06/16 22:25:27]: nordi requested item goezleme. -[info][2025/06/16 22:25:29]: nordi requested save item goezleme. -[info][2025/06/16 22:25:29]: nordi successfully saved item goezleme. -[info][2025/06/16 22:25:30]: nordi requested save item goezleme. -[info][2025/06/16 22:25:30]: nordi successfully saved item goezleme. -[info][2025/06/16 22:25:32]: nordi requested all items. -[info][2025/06/16 22:25:36]: nordi requested item gazoz. -[info][2025/06/16 22:25:38]: nordi requested save item gazoz. -[info][2025/06/16 22:25:38]: nordi successfully saved item gazoz. -[info][2025/06/16 22:25:39]: nordi requested all items. -[info][2025/06/16 22:25:44]: nordi requested item cay. -[info][2025/06/16 22:25:46]: nordi requested save item cay. -[info][2025/06/16 22:25:46]: nordi successfully saved item cay. -[info][2025/06/16 22:25:48]: nordi requested all items. -[info][2025/06/16 22:26:01]: nordi requested item mixed_grilled_plate. -[info][2025/06/16 22:26:02]: nordi requested save item mixed_grilled_plate. -[info][2025/06/16 22:26:03]: nordi successfully saved item mixed_grilled_plate. -[info][2025/06/16 22:26:04]: nordi requested all items. -[info][2025/06/16 22:54:20]: nordi requested item list. -[info][2025/06/16 22:57:01]: nordi uplaoded item image baklava.png. -[info][2025/06/16 22:57:11]: nordi requested create item baklava. -[info][2025/06/16 22:57:11]: nordi successfully created item baklava. -[info][2025/06/16 22:57:11]: nordi requested all items. -[info][2025/06/16 22:57:20]: nordi requested item baklava. -[info][2025/06/16 23:49:42]: campers requested all items. -[info][2025/06/16 23:50:28]: nordi requested all items. -[info][2025/06/16 23:50:36]: nordi requested item deployable_light. -[info][2025/06/16 23:50:45]: nordi requested save item deployable_light. -[info][2025/06/16 23:50:45]: nordi successfully saved item deployable_light. -[info][2025/06/16 23:53:41]: nordi requested all items. -[info][2025/06/17 01:06:47]: campers requested all items. -[info][2025/06/17 16:01:49]: marc requested shared vehicle bobcatxl. -[info][2025/06/17 16:01:59]: marc requested shared vehicle bobcatxl. -[info][2025/06/17 18:35:08]: nordi requested all items. -[info][2025/06/17 18:35:16]: nordi requested item sandwich. -[info][2025/06/17 18:35:31]: nordi requested save item sandwich. -[info][2025/06/17 18:35:31]: nordi successfully saved item sandwich. -[info][2025/06/17 18:36:16]: nordi requested save item sandwich. -[info][2025/06/17 18:36:16]: nordi successfully saved item sandwich. -[info][2025/06/17 18:36:32]: nordi requested all items. -[info][2025/06/17 18:41:43]: nordi requested item spazi. -[info][2025/06/17 18:44:06]: nordi requested save item spazi. -[info][2025/06/17 18:44:06]: nordi successfully saved item spazi. -[info][2025/06/17 19:10:36]: nordi requested all items. -[info][2025/06/17 19:10:50]: nordi requested item coffee. -[info][2025/06/17 19:11:01]: nordi requested all items. -[info][2025/06/17 19:11:05]: nordi requested item billokaffee. -[info][2025/06/17 21:14:35]: nordi requested all items. -[info][2025/06/17 21:14:41]: nordi requested item thors_sandwich. -[info][2025/06/17 21:14:52]: nordi requested save item thors_sandwich. -[info][2025/06/17 21:14:52]: nordi successfully saved item thors_sandwich. -[info][2025/06/17 21:19:14]: nordi requested all items. -[info][2025/06/17 21:19:17]: nordi requested item thors_thunder_storm. -[info][2025/06/17 21:19:19]: nordi requested save item thors_thunder_storm. -[info][2025/06/17 21:19:20]: nordi successfully saved item thors_thunder_storm. -[info][2025/06/17 21:19:21]: nordi requested all items. -[info][2025/06/17 21:19:23]: nordi requested item thors_hammer. -[info][2025/06/17 21:19:28]: nordi requested all items. -[info][2025/06/17 21:19:43]: nordi requested item heimdalls_guard_bread. -[info][2025/06/17 21:19:46]: nordi requested save item heimdalls_guard_bread. -[info][2025/06/17 21:19:47]: nordi successfully saved item heimdalls_guard_bread. -[info][2025/06/17 21:20:35]: nordi requested all items. -[info][2025/06/17 21:20:37]: nordi requested item heimdalls_clear_sight. -[info][2025/06/17 21:20:39]: nordi requested save item heimdalls_clear_sight. -[info][2025/06/17 21:20:39]: nordi successfully saved item heimdalls_clear_sight. -[info][2025/06/17 21:20:41]: nordi requested all items. -[info][2025/06/17 21:20:43]: nordi requested item heimdalls_watch. -[info][2025/06/17 21:20:45]: nordi requested save item heimdalls_watch. -[info][2025/06/17 21:20:45]: nordi successfully saved item heimdalls_watch. -[info][2025/06/17 21:20:48]: nordi requested save item heimdalls_watch. -[info][2025/06/17 21:20:48]: nordi successfully saved item heimdalls_watch. -[info][2025/06/17 21:20:50]: nordi requested all items. -[info][2025/06/17 21:20:56]: nordi requested item Odins_nuesse. -[info][2025/06/17 21:21:00]: nordi requested all items. -[info][2025/06/17 21:21:02]: nordi requested item dins_isdom_latter. -[info][2025/06/17 21:24:17]: nordi requested all items. -[info][2025/06/17 21:24:20]: nordi requested item odins_wisdom_brew. -[info][2025/06/17 21:24:22]: nordi requested save item odins_wisdom_brew. -[info][2025/06/17 21:24:22]: nordi successfully saved item odins_wisdom_brew. -[info][2025/06/17 21:24:23]: nordi requested all items. -[info][2025/06/17 21:24:25]: nordi requested item Odins_nuesse. -[info][2025/06/17 21:24:28]: nordi requested all items. -[info][2025/06/17 21:24:32]: nordi requested item okis_ischief_ites. -[info][2025/06/17 21:24:35]: nordi requested save item okis_ischief_ites. -[info][2025/06/17 21:24:35]: nordi successfully saved item okis_ischief_ites. -[info][2025/06/17 21:25:09]: nordi requested save item okis_ischief_ites. -[info][2025/06/17 21:25:09]: nordi successfully saved item okis_ischief_ites. -[info][2025/06/17 21:25:10]: nordi requested all items. -[info][2025/06/17 21:26:01]: nordi requested item Odins_nuesse. -[info][2025/06/17 21:26:05]: nordi requested all items. -[info][2025/06/17 21:26:09]: nordi requested item Odins_nuesse. -[info][2025/06/17 21:26:12]: nordi requested delete item undefined. -[info][2025/06/17 21:26:15]: nordi requested all items. -[info][2025/06/17 21:26:17]: nordi requested item list. -[info][2025/06/17 21:26:43]: nordi requested create item odins_nuesse. -[info][2025/06/17 21:26:51]: nordi requested all items. -[info][2025/06/17 21:26:56]: nordi requested item Odins_nuesse. -[info][2025/06/17 21:27:01]: nordi requested delete item undefined. -[info][2025/06/17 21:27:03]: nordi requested all items. -[info][2025/06/17 21:28:17]: nordi requested all items. -[info][2025/06/17 21:28:26]: nordi requested item Odins_nuesse. -[info][2025/06/17 21:31:05]: nordi requested all items. -[info][2025/06/17 22:11:05]: nordi requested item mettbroetchen. -[info][2025/06/17 22:29:36]: nordi requested all items. -[info][2025/06/17 22:29:43]: nordi requested item campers_fuel. -[info][2025/06/17 22:30:17]: nordi requested item campers_fuel. -[info][2025/06/17 22:30:26]: nordi requested save item campers_fuel. -[info][2025/06/17 22:30:26]: nordi successfully saved item campers_fuel. -[info][2025/06/17 22:30:29]: nordi requested all items. -[info][2025/06/17 22:30:33]: nordi requested item fish_and_chips. -[info][2025/06/17 22:30:39]: nordi requested save item fish_and_chips. -[info][2025/06/17 22:30:39]: nordi successfully saved item fish_and_chips. -[info][2025/06/17 22:30:41]: nordi requested all items. -[info][2025/06/17 22:30:59]: nordi requested item sandwich. -[info][2025/06/17 22:31:01]: nordi requested save item sandwich. -[info][2025/06/17 22:31:01]: nordi successfully saved item sandwich. -[info][2025/06/17 22:31:03]: nordi requested all items. -[info][2025/06/17 22:31:17]: nordi requested item sandwich. -[info][2025/06/17 22:31:19]: nordi requested all items. -[info][2025/06/17 22:31:24]: nordi requested item milk. -[info][2025/06/17 22:31:27]: nordi requested save item milk. -[info][2025/06/17 22:31:28]: nordi successfully saved item milk. -[info][2025/06/17 22:31:30]: nordi requested all items. -[info][2025/06/17 22:32:25]: nordi requested item snp_ammo. -[info][2025/06/17 22:33:50]: nordi requested all items. -[info][2025/06/17 22:54:57]: marc requested all items. -[info][2025/06/17 23:06:13]: nordi requested item junk_energy. -[info][2025/06/17 23:06:16]: nordi requested all items. -[info][2025/06/17 23:06:20]: nordi requested item junk_energy. -[info][2025/06/17 23:06:26]: nordi requested save item junk_energy. -[info][2025/06/17 23:06:26]: nordi successfully saved item junk_energy. -[info][2025/06/17 23:21:14]: nordi requested all items. -[info][2025/06/17 23:21:18]: nordi requested item halbes_haendel. -[info][2025/06/17 23:21:26]: nordi requested save item halbes_haendel. -[info][2025/06/17 23:21:26]: nordi successfully saved item halbes_haendel. -[info][2025/06/17 23:21:36]: nordi requested all items. -[info][2025/06/17 23:21:42]: nordi requested item lutschfinger_eis. -[info][2025/06/17 23:21:58]: nordi requested save item lutschfinger_eis. -[info][2025/06/17 23:21:58]: nordi successfully saved item lutschfinger_eis. -[info][2025/06/17 23:22:00]: nordi requested all items. -[info][2025/06/17 23:40:25]: nordi requested item erz. -[info][2025/06/17 23:40:34]: nordi requested all items. -[info][2025/06/17 23:42:31]: nordi requested item drill. -[info][2025/06/17 23:42:45]: nordi requested save item drill. -[info][2025/06/17 23:42:45]: nordi successfully saved item drill. -[info][2025/06/17 23:42:47]: nordi requested all items. -[info][2025/06/17 23:43:00]: nordi requested item stonedrill. -[info][2025/06/17 23:43:05]: nordi requested save item stonedrill. -[info][2025/06/17 23:43:05]: nordi successfully saved item stonedrill. -[info][2025/06/17 23:43:07]: nordi requested all items. -[info][2025/06/17 23:43:17]: nordi requested item drill. -[info][2025/06/17 23:43:21]: nordi requested save item drill. -[info][2025/06/17 23:43:21]: nordi successfully saved item drill. -[info][2025/06/17 23:43:23]: nordi requested all items. -[info][2025/06/17 23:43:29]: nordi requested item red_phone. -[info][2025/06/17 23:43:47]: nordi requested save item red_phone. -[info][2025/06/17 23:43:47]: nordi successfully saved item red_phone. -[info][2025/06/17 23:43:56]: nordi requested save item red_phone. -[info][2025/06/17 23:43:57]: nordi successfully saved item red_phone. -[info][2025/06/17 23:43:59]: nordi requested all items. -[info][2025/06/17 23:44:09]: nordi requested item green_phone. -[info][2025/06/17 23:44:16]: nordi requested save item green_phone. -[info][2025/06/17 23:44:16]: nordi successfully saved item green_phone. -[info][2025/06/17 23:44:18]: nordi requested all items. -[info][2025/06/17 23:44:22]: nordi requested item red_phone. -[info][2025/06/17 23:44:29]: nordi requested save item red_phone. -[info][2025/06/17 23:44:29]: nordi successfully saved item red_phone. -[info][2025/06/17 23:44:31]: nordi requested all items. -[info][2025/06/17 23:44:33]: nordi requested item green_phone. -[info][2025/06/17 23:44:42]: nordi requested save item green_phone. -[info][2025/06/17 23:44:42]: nordi successfully saved item green_phone. -[info][2025/06/17 23:44:45]: nordi requested all items. -[info][2025/06/17 23:44:47]: nordi requested item blue_phone. -[info][2025/06/17 23:44:55]: nordi requested save item blue_phone. -[info][2025/06/17 23:44:55]: nordi successfully saved item blue_phone. -[info][2025/06/17 23:44:57]: nordi requested all items. -[info][2025/06/17 23:44:59]: nordi requested item black_phone. -[info][2025/06/17 23:45:03]: nordi requested save item black_phone. -[info][2025/06/17 23:45:03]: nordi successfully saved item black_phone. -[info][2025/06/17 23:45:04]: nordi requested all items. -[info][2025/06/17 23:45:07]: nordi requested item purple_phone. -[info][2025/06/17 23:45:17]: nordi requested save item purple_phone. -[info][2025/06/17 23:45:17]: nordi successfully saved item purple_phone. -[info][2025/06/17 23:45:18]: nordi requested all items. -[info][2025/06/17 23:45:41]: nordi requested item phone. -[info][2025/06/17 23:45:44]: nordi requested delete item phone. -[info][2025/06/17 23:45:44]: nordi successfully deleted item phone. -[info][2025/06/17 23:45:45]: nordi requested all items. -[info][2025/06/17 23:45:59]: nordi requested item creditcard. -[info][2025/06/17 23:46:01]: nordi requested all items. -[info][2025/06/17 23:46:08]: nordi requested item korb. -[info][2025/06/17 23:46:12]: nordi requested save item korb. -[info][2025/06/17 23:46:12]: nordi successfully saved item korb. -[info][2025/06/17 23:46:13]: nordi requested all items. -[info][2025/06/17 23:46:18]: nordi requested item dackels. -[info][2025/06/17 23:46:19]: nordi requested all items. -[info][2025/06/17 23:46:23]: nordi requested item gardensicorr. -[info][2025/06/17 23:46:27]: nordi requested save item gardensicorr. -[info][2025/06/17 23:46:27]: nordi successfully saved item gardensicorr. -[info][2025/06/17 23:46:37]: nordi requested save item gardensicorr. -[info][2025/06/17 23:46:37]: nordi successfully saved item gardensicorr. -[info][2025/06/17 23:46:39]: nordi requested all items. -[info][2025/06/17 23:46:47]: nordi requested item shovel. -[info][2025/06/17 23:46:51]: nordi requested save item shovel. -[info][2025/06/17 23:46:51]: nordi successfully saved item shovel. -[info][2025/06/17 23:46:53]: nordi requested all items. -[info][2025/06/17 23:46:57]: nordi requested item fruitpicker. -[info][2025/06/17 23:47:01]: nordi requested save item fruitpicker. -[info][2025/06/17 23:47:01]: nordi successfully saved item fruitpicker. -[info][2025/06/17 23:47:03]: nordi requested all items. -[info][2025/06/17 23:47:08]: nordi requested item gardenshovel. -[info][2025/06/17 23:47:12]: nordi requested save item gardenshovel. -[info][2025/06/17 23:47:12]: nordi successfully saved item gardenshovel. -[info][2025/06/17 23:47:13]: nordi requested all items. -[info][2025/06/18 00:11:42]: nordi requested item munky_juice_ice_tea. -[info][2025/06/18 00:11:49]: nordi requested save item munky_juice_ice_tea. -[info][2025/06/18 00:11:49]: nordi successfully saved item munky_juice_ice_tea. -[info][2025/06/18 00:11:51]: nordi requested all items. -[info][2025/06/18 00:11:53]: nordi requested item munky_juice. -[info][2025/06/18 00:11:59]: nordi requested save item munky_juice. -[info][2025/06/18 00:11:59]: nordi successfully saved item munky_juice. -[info][2025/06/18 00:12:01]: nordi requested all items. -[info][2025/06/18 00:12:07]: nordi requested item bubble_tea. -[info][2025/06/18 00:12:14]: nordi requested save item bubble_tea. -[info][2025/06/18 00:12:14]: nordi successfully saved item bubble_tea. -[info][2025/06/18 00:12:16]: nordi requested save item bubble_tea. -[info][2025/06/18 00:12:16]: nordi successfully saved item bubble_tea. -[info][2025/06/18 00:25:21]: nordi requested all items. -[info][2025/06/18 00:25:25]: nordi requested item leberkas_semmal. -[info][2025/06/18 00:25:31]: nordi requested save item leberkas_semmal. -[info][2025/06/18 00:25:31]: nordi successfully saved item leberkas_semmal. -[info][2025/06/18 00:25:33]: nordi requested all items. -[info][2025/06/18 00:25:35]: nordi requested item kas_leberkas_semmal. -[info][2025/06/18 00:25:41]: nordi requested save item kas_leberkas_semmal. -[info][2025/06/18 00:25:41]: nordi successfully saved item kas_leberkas_semmal. -[info][2025/06/18 00:25:43]: nordi requested all items. -[info][2025/06/18 00:36:55]: nordi requested item applejuice. -[info][2025/06/18 00:37:37]: nordi requested all items. -[info][2025/06/18 00:37:42]: nordi requested item boxorange. -[info][2025/06/18 00:37:43]: nordi requested all items. -[info][2025/06/18 00:37:46]: nordi requested item orangejuice. -[info][2025/06/18 00:46:15]: nordi requested save item orangejuice. -[info][2025/06/18 00:46:15]: nordi successfully saved item orangejuice. -[info][2025/06/18 00:46:16]: nordi requested all items. -[info][2025/06/18 00:46:25]: nordi requested item applejuice. -[info][2025/06/18 00:46:28]: nordi requested save item applejuice. -[info][2025/06/18 00:46:28]: nordi successfully saved item applejuice. -[info][2025/06/18 00:57:11]: nordi requested all items. -[info][2025/06/18 01:05:27]: nordi requested delete item undefined. -[info][2025/06/18 01:10:21]: nordi requested all items. -[info][2025/06/18 01:10:22]: nordi requested item loaded_fries. -[info][2025/06/18 01:12:51]: nordi requested save item loaded_fries. -[info][2025/06/18 01:12:51]: nordi successfully saved item loaded_fries. -[info][2025/06/18 01:12:54]: nordi requested save item loaded_fries. -[info][2025/06/18 01:12:54]: nordi successfully saved item loaded_fries. -[info][2025/06/18 01:13:54]: nordi requested all items. -[info][2025/06/18 01:14:02]: nordi requested item skadis_winter_skewers. -[info][2025/06/18 01:14:13]: nordi requested save item skadis_winter_skewers. -[info][2025/06/18 01:14:13]: nordi successfully saved item skadis_winter_skewers. -[info][2025/06/18 01:15:58]: nordi requested all items. -[info][2025/06/18 01:16:06]: nordi requested item lokis_trickster_punch. -[info][2025/06/18 01:16:44]: nordi requested save item lokis_trickster_punch. -[info][2025/06/18 01:16:44]: nordi successfully saved item lokis_trickster_punch. -[info][2025/06/18 01:16:47]: nordi requested all items. -[info][2025/06/18 01:16:49]: nordi requested item lokis_trickster_punch. -[info][2025/06/18 01:16:52]: nordi requested delete item lokis_trickster_punch. -[info][2025/06/18 01:16:52]: nordi successfully deleted item lokis_trickster_punch. -[info][2025/06/18 01:16:53]: nordi requested all items. -[info][2025/06/18 01:16:55]: nordi requested item lokis_trickery. -[info][2025/06/18 01:16:57]: nordi requested save item lokis_trickery. -[info][2025/06/18 01:16:57]: nordi successfully saved item lokis_trickery. -[info][2025/06/18 02:22:38]: nordi requested all items. -[info][2025/06/18 02:23:11]: nordi requested item ribeye_steak. -[info][2025/06/18 02:23:33]: nordi requested all items. -[info][2025/06/18 02:40:40]: nordi requested all items. -[info][2025/06/18 05:15:22]: nordi requested all items. -[info][2025/06/18 05:15:27]: nordi requested item lokis_trickster_punch. -[info][2025/06/18 05:15:32]: nordi requested delete item undefined. -[info][2025/06/18 05:15:35]: nordi requested item lokis_trickster_punch. -[info][2025/06/18 05:15:39]: nordi requested delete item undefined. -[info][2025/06/18 05:15:42]: nordi requested all items. -[info][2025/06/18 05:15:47]: nordi requested item lokis_trickster_punch. -[info][2025/06/18 05:16:33]: nordi requested all items. -[info][2025/06/18 05:16:38]: nordi requested item lokis_trickster_punch. -[info][2025/06/18 05:16:53]: nordi requested all items. -[info][2025/06/18 05:16:55]: nordi requested item list. -[info][2025/06/18 05:17:14]: nordi requested all items. -[info][2025/06/18 05:17:23]: nordi requested item list. -[info][2025/06/18 05:18:12]: nordi requested create item lokis_trickster_punch. -[info][2025/06/18 05:18:12]: nordi successfully created item lokis_trickster_punch. -[info][2025/06/18 05:18:13]: nordi requested all items. -[info][2025/06/18 05:21:32]: nordi requested all items. -[info][2025/06/18 05:21:37]: nordi requested item lokis_trickster_punch. -[info][2025/06/18 05:21:40]: nordi requested all items. -[info][2025/06/18 05:21:41]: nordi requested item lokis_trickster_punch. -[info][2025/06/18 05:21:45]: nordi requested delete item lokis_trickster_punch. -[info][2025/06/18 05:21:45]: nordi successfully deleted item lokis_trickster_punch. -[info][2025/06/18 05:21:45]: nordi requested all items. -[info][2025/06/18 05:21:48]: nordi requested item lokis_trickster_punch. -[info][2025/06/18 05:21:52]: nordi requested delete item undefined. -[info][2025/06/18 05:21:55]: nordi requested all items. -[info][2025/06/18 05:22:32]: nordi requested all items. -[info][2025/06/18 05:22:40]: nordi requested item lokis_trickster_punch. -[info][2025/06/18 05:22:45]: nordi requested all items. -[info][2025/06/18 05:22:47]: nordi requested item list. -[info][2025/06/18 05:23:14]: nordi requested create item lokis_trickster_punch. -[info][2025/06/18 05:23:14]: nordi successfully created item lokis_trickster_punch. -[info][2025/06/18 05:23:15]: nordi requested all items. -[info][2025/06/18 05:23:20]: nordi requested item lokis_trickster_punch. -[info][2025/06/18 05:23:23]: nordi requested delete item lokis_trickster_punch. -[info][2025/06/18 05:23:23]: nordi successfully deleted item lokis_trickster_punch. -[info][2025/06/18 05:23:24]: nordi requested all items. -[info][2025/06/18 05:23:26]: nordi requested item lokis_trickery. -[info][2025/06/18 05:23:29]: nordi requested all items. -[info][2025/06/18 05:23:30]: nordi requested item lokis_trickster_punch. -[info][2025/06/18 05:23:33]: nordi requested all items. -[info][2025/06/18 05:23:34]: nordi requested item list. -[info][2025/06/18 05:23:53]: nordi requested create item lokis_trickster_punch. -[info][2025/06/18 05:23:53]: nordi successfully created item lokis_trickster_punch. -[info][2025/06/18 05:23:54]: nordi requested all items. -[info][2025/06/18 05:23:58]: nordi requested item lokis_trickster_punch. -[info][2025/06/18 05:24:01]: nordi requested all items. -[info][2025/06/18 05:24:04]: nordi requested item lokis_trickster_punch. -[info][2025/06/18 05:24:06]: nordi requested all items. -[info][2025/06/18 05:24:09]: nordi requested item lokis_trickster_punch. -[info][2025/06/18 05:24:12]: nordi requested save item lokis_trickster_punch. -[info][2025/06/18 05:24:12]: nordi successfully saved item lokis_trickster_punch. -[info][2025/06/18 05:24:26]: nordi requested all items. -[info][2025/06/18 05:24:34]: nordi requested item raw_sausages. -[info][2025/06/18 05:24:47]: nordi requested all items. -[info][2025/06/18 05:24:55]: nordi requested item cooked_bbq_sausages. -[info][2025/06/18 05:24:57]: nordi requested all items. -[info][2025/06/18 05:29:39]: nordi requested item cooked_bbq_sausages. -[info][2025/06/18 05:29:49]: nordi requested all items. -[info][2025/06/18 05:29:55]: nordi requested item cooked_bbq_ribeye. -[info][2025/06/18 05:30:08]: nordi requested save item cooked_bbq_ribeye. -[info][2025/06/18 05:30:09]: nordi successfully saved item cooked_bbq_ribeye. -[info][2025/06/18 05:33:30]: nordi requested all items. -[info][2025/06/18 05:41:34]: nordi requested item raw_sausages. -[info][2025/06/18 05:43:18]: nordi requested all items. -[info][2025/06/18 05:46:37]: nordi requested item cooked_bbq_ribeye. -[info][2025/06/18 05:46:39]: nordi requested all items. -[info][2025/06/18 05:50:52]: nordi requested item rawmeat. -[info][2025/06/18 20:22:34]: nordi requested all items. -[info][2025/06/18 23:19:51]: marc requested shared vehicle torero2. -[info][2025/06/19 02:50:10]: nordi requested all items. -[info][2025/06/19 21:53:40]: marc requested shared vehicle sultan2. -[info][2025/06/19 22:41:36]: marc requested shared vehicle lm87. -[info][2025/06/19 22:42:14]: marc requested shared vehicle torero2. -[info][2025/06/19 22:51:08]: marc requested shared vehicle torero2. -[info][2025/06/22 09:02:29]: max requested all items. -[info][2025/06/22 09:02:31]: max requested item list. -[info][2025/06/22 09:09:03]: max requested all items. -[info][2025/06/22 09:09:07]: max requested item list. -[info][2025/06/22 09:45:04]: max requested item list. -[info][2025/06/22 09:47:08]: max requested create item privdoor_card01. -[info][2025/06/22 09:47:08]: max successfully created item privdoor_card01. -[info][2025/06/22 09:47:09]: max requested all items. -[info][2025/06/22 09:47:21]: max requested item privdoor_card01. -[info][2025/06/22 10:02:45]: max requested save item privdoor_card01. -[info][2025/06/22 10:02:45]: max successfully saved item privdoor_card01. -[info][2025/06/22 10:05:16]: max requested save item privdoor_card01. -[info][2025/06/22 10:05:16]: max successfully saved item privdoor_card01. -[info][2025/06/22 10:05:26]: max requested all items. -[info][2025/06/22 10:05:37]: max requested item privdoor_card01. -[info][2025/06/22 10:05:43]: max requested delete item privdoor_card01. -[info][2025/06/22 10:05:43]: max successfully deleted item privdoor_card01. -[info][2025/06/22 10:05:44]: max requested all items. -[info][2025/06/22 10:05:51]: max requested all items. -[info][2025/06/22 10:05:55]: max requested item list. -[info][2025/06/22 10:07:30]: max requested create item privcard01. -[info][2025/06/22 10:07:30]: max successfully created item privcard01. -[info][2025/06/22 10:07:30]: max requested all items. -[info][2025/06/22 10:19:15]: max requested all items. -[info][2025/06/22 10:19:22]: max requested item privcard01. -[info][2025/06/22 10:30:59]: max requested save item privcard01. -[info][2025/06/22 10:30:59]: max successfully saved item privcard01. -[info][2025/06/22 20:51:03]: nordi requested all items. -[info][2025/06/22 21:58:42]: nordi requested item kq_outfitbag. -[info][2025/06/22 21:58:45]: nordi requested all items. -[info][2025/06/22 21:58:51]: nordi requested item kq_outfitbag. -[info][2025/06/22 22:47:47]: nordi requested all items. -[info][2025/06/22 22:47:55]: nordi requested item cheese_burger. -[info][2025/06/22 22:47:57]: nordi requested save item cheese_burger. -[info][2025/06/22 22:47:57]: nordi successfully saved item cheese_burger. -[info][2025/06/22 22:47:59]: nordi requested all items. -[info][2025/06/22 22:48:01]: nordi requested item bcesandwich. -[info][2025/06/22 22:48:03]: nordi requested save item bcesandwich. -[info][2025/06/22 22:48:03]: nordi successfully saved item bcesandwich. -[info][2025/06/22 22:48:14]: nordi requested save item bcesandwich. -[info][2025/06/22 22:48:14]: nordi successfully saved item bcesandwich. -[info][2025/06/22 22:49:56]: nordi requested save item bcesandwich. -[info][2025/06/22 22:49:56]: nordi successfully saved item bcesandwich. -[info][2025/06/22 22:49:58]: nordi requested all items. -[info][2025/06/22 22:50:04]: nordi requested item spazi_limo. -[info][2025/06/22 22:50:06]: nordi requested save item spazi_limo. -[info][2025/06/22 22:50:06]: nordi successfully saved item spazi_limo. -[info][2025/06/22 22:50:07]: nordi requested all items. -[info][2025/06/22 22:50:09]: nordi requested item spazi. -[info][2025/06/22 22:50:11]: nordi requested save item spazi. -[info][2025/06/22 22:50:11]: nordi successfully saved item spazi. -[info][2025/06/23 19:03:44]: nordi requested all items. -[info][2025/06/23 19:03:53]: nordi requested item pistol_ammo. -[info][2025/06/23 19:04:04]: nordi requested save item pistol_ammo. -[info][2025/06/23 19:04:04]: nordi successfully saved item pistol_ammo. -[info][2025/06/23 19:04:08]: nordi requested all items. -[info][2025/06/24 02:35:40]: nordi requested all items. -[info][2025/06/24 02:35:46]: nordi requested item mechanic_tablet. -[info][2025/06/24 02:41:17]: nordi requested all items. -[info][2025/06/24 02:41:25]: nordi requested item extras_kit. -[info][2025/06/24 02:43:27]: nordi requested all items. -[info][2025/06/24 02:44:06]: nordi requested item turbocharger. -[info][2025/06/24 02:44:08]: nordi requested save item turbocharger. -[info][2025/06/24 02:44:08]: nordi successfully saved item turbocharger. -[info][2025/06/24 02:45:08]: nordi requested all items. -[info][2025/06/24 02:45:17]: nordi requested item cosmetic_part. -[info][2025/06/24 02:46:12]: nordi requested all items. -[info][2025/06/24 02:46:26]: nordi requested item performance_part. -[info][2025/06/24 09:58:11]: nordi requested all items. -[info][2025/06/24 09:58:16]: nordi requested item burger. -[info][2025/06/24 09:58:23]: nordi requested save item burger. -[info][2025/06/24 09:58:23]: nordi successfully saved item burger. -[info][2025/06/24 09:58:25]: nordi requested all items. -[info][2025/06/24 09:58:34]: nordi requested item rifle_ammo. -[info][2025/06/24 09:58:41]: nordi requested save item rifle_ammo. -[info][2025/06/24 09:58:41]: nordi successfully saved item rifle_ammo. -[info][2025/06/24 09:58:43]: nordi requested all items. -[info][2025/06/24 10:22:03]: nordi requested all items. -[info][2025/06/24 10:22:12]: nordi requested item ecola_light. -[info][2025/06/24 10:22:14]: nordi requested all items. -[info][2025/06/24 10:22:26]: nordi requested all items. -[info][2025/06/24 17:06:25]: campers requested all jobs. -[info][2025/06/25 01:50:41]: nordi requested all items. -[info][2025/06/25 01:50:44]: nordi requested item list. -[info][2025/06/25 02:01:33]: nordi uplaoded item image shisha_tobacco.png. -[info][2025/06/25 02:01:35]: nordi requested create item shisha_tobacco. -[info][2025/06/25 02:01:35]: nordi successfully created item shisha_tobacco. -[info][2025/06/25 02:01:35]: nordi requested all items. -[info][2025/06/25 02:01:45]: nordi requested item slushi. -[info][2025/06/25 02:01:47]: nordi requested save item slushi. -[info][2025/06/25 02:01:47]: nordi successfully saved item slushi. -[info][2025/06/25 02:01:48]: nordi requested all items. -[info][2025/06/25 02:15:28]: nordi requested all items. -[info][2025/06/25 02:15:33]: nordi requested item shisha_tobacco. -[info][2025/06/25 17:39:15]: nordi requested all items. -[info][2025/06/25 17:41:04]: nordi requested item list. -[info][2025/06/25 17:41:06]: nordi requested all items. -[info][2025/06/25 17:42:50]: nordi requested item list. -[info][2025/06/25 17:45:50]: nordi uplaoded item image paper.png. -[info][2025/06/25 17:45:51]: nordi requested create item paper. -[info][2025/06/25 17:45:51]: nordi successfully created item paper. -[info][2025/06/25 17:45:52]: nordi requested all items. -[info][2025/06/25 17:47:23]: nordi requested item nordisee_fischfrikadellenbroetchen. -[info][2025/06/25 17:47:30]: nordi requested save item nordisee_fischfrikadellenbroetchen. -[info][2025/06/25 17:47:30]: nordi successfully saved item nordisee_fischfrikadellenbroetchen. -[info][2025/06/25 17:47:33]: nordi requested all items. -[info][2025/06/25 17:47:39]: nordi requested item kakao. -[info][2025/06/25 17:47:53]: nordi requested all items. -[info][2025/06/25 17:47:58]: nordi requested item billokaffee. -[info][2025/06/25 17:48:10]: nordi requested all items. -[info][2025/06/25 17:48:15]: nordi requested item tier_leckerlis. -[info][2025/06/25 17:48:20]: nordi requested save item tier_leckerlis. -[info][2025/06/25 17:48:20]: nordi successfully saved item tier_leckerlis. -[info][2025/06/25 17:48:22]: nordi requested all items. -[info][2025/06/25 17:48:30]: nordi requested item packtobbaco. -[info][2025/06/25 17:48:32]: nordi requested all items. -[info][2025/06/25 17:48:44]: nordi requested item cocoa. -[info][2025/06/25 17:52:43]: nordi requested all items. -[info][2025/06/25 17:52:49]: nordi requested item stevens_apfelmustorte. -[info][2025/06/25 17:53:57]: nordi uplaoded item image stevens_apfelmustorte.png. -[info][2025/06/25 17:53:59]: nordi requested save item stevens_apfelmustorte. -[info][2025/06/25 17:53:59]: nordi successfully saved item stevens_apfelmustorte. -[info][2025/06/25 17:54:01]: nordi requested all items. -[info][2025/06/25 17:56:37]: nordi requested item coffee. -[info][2025/06/25 17:57:33]: nordi requested all items. -[info][2025/06/25 17:57:39]: nordi requested item kakao. -[info][2025/06/25 17:58:04]: nordi uplaoded item image kakao.png. -[info][2025/06/25 17:58:06]: nordi requested save item kakao. -[info][2025/06/25 17:58:06]: nordi successfully saved item kakao. -[info][2025/06/25 17:58:08]: nordi requested all items. -[info][2025/06/25 17:59:01]: nordi requested item billokaffee. -[info][2025/06/25 17:59:33]: nordi uplaoded item image billokaffee.png. -[info][2025/06/25 17:59:34]: nordi requested save item billokaffee. -[info][2025/06/25 17:59:35]: nordi successfully saved item billokaffee. -[info][2025/06/25 17:59:38]: nordi requested all items. -[info][2025/06/25 17:59:45]: nordi requested item coffee. -[info][2025/06/25 17:59:59]: nordi requested all items. -[info][2025/06/25 18:00:15]: nordi requested item redwoodpack. -[info][2025/06/25 18:00:17]: nordi requested all items. -[info][2025/06/25 18:00:28]: nordi requested all items. -[info][2025/06/25 19:32:03]: nordi requested all items. -[info][2025/06/25 19:32:06]: nordi requested item paper. -[info][2025/06/25 19:32:37]: nordi requested save item paper. -[info][2025/06/25 19:32:37]: nordi successfully saved item paper. -[info][2025/06/25 19:49:06]: nordi requested all items. -[info][2025/06/25 19:49:11]: nordi requested item paper. -[info][2025/06/25 19:50:01]: nordi uplaoded item image print.png. -[info][2025/06/25 19:50:03]: nordi requested save item paper. -[info][2025/06/25 19:50:03]: nordi successfully saved item paper. -[info][2025/06/25 22:38:26]: nordi requested all items. -[info][2025/06/25 22:38:33]: nordi requested item radio. -[info][2025/06/25 22:38:35]: nordi requested save item radio. -[info][2025/06/25 22:38:35]: nordi successfully saved item radio. -[info][2025/06/26 02:07:41]: nordi requested all items. -[info][2025/06/26 02:07:45]: nordi requested all items. -[info][2025/06/26 02:07:50]: nordi requested item printerdocument. -[info][2025/06/26 02:08:29]: nordi requested save item printerdocument. -[info][2025/06/26 02:08:29]: nordi successfully saved item printerdocument. -[info][2025/06/26 02:43:25]: nordi requested all items. -[info][2025/06/26 02:43:28]: nordi requested all items. -[info][2025/06/26 02:43:36]: nordi requested item paper. -[info][2025/06/26 02:43:56]: nordi requested save item paper. -[info][2025/06/26 02:43:56]: nordi successfully saved item paper. -[info][2025/06/26 02:44:14]: nordi requested save item paper. -[info][2025/06/26 02:44:14]: nordi successfully saved item paper. -[info][2025/06/26 02:52:45]: nordi requested save item paper. -[info][2025/06/26 02:52:45]: nordi successfully saved item paper. -[info][2025/06/26 02:52:53]: nordi requested all items. -[info][2025/06/26 03:05:24]: nordi requested all items. -[info][2025/06/26 03:05:37]: nordi requested item printerdocument. -[info][2025/06/26 03:40:32]: nordi requested all items. -[info][2025/06/26 03:40:34]: nordi requested item list. -[info][2025/06/26 03:40:49]: nordi requested create item paper. -[info][2025/06/26 03:40:53]: nordi requested all items. -[info][2025/06/26 03:41:48]: nordi requested all items. -[info][2025/06/26 03:49:50]: nordi requested all items. -[info][2025/06/26 03:49:55]: nordi requested item list. -[info][2025/06/26 03:50:14]: nordi requested create item paper. -[info][2025/06/26 03:50:17]: nordi requested all items. -[info][2025/06/26 03:50:18]: nordi requested all items. -[info][2025/06/26 03:50:20]: nordi requested all items. -[info][2025/06/26 04:20:50]: nordi requested all items. -[info][2025/06/26 04:20:57]: nordi requested item printerdocument. -[info][2025/06/26 05:21:04]: nordi requested all items. -[info][2025/06/26 05:21:28]: nordi requested all items. -[info][2025/06/26 05:21:42]: nordi requested item weapon_sniperrifle. -[info][2025/06/26 05:25:35]: nordi requested all items. -[info][2025/06/26 05:25:40]: nordi requested item weapon_combatshotgun. -[info][2025/06/26 05:25:47]: nordi requested save item weapon_combatshotgun. -[info][2025/06/26 05:25:47]: nordi successfully saved item weapon_combatshotgun. -[info][2025/06/26 05:25:49]: nordi requested all items. -[info][2025/06/26 05:36:48]: nordi requested item list. -[info][2025/06/26 05:37:00]: nordi requested item list. -[info][2025/06/26 05:40:07]: nordi uplaoded item image w_me_pocketlight.png. -[info][2025/06/26 05:40:08]: nordi requested create item w_me_pocketlight. -[info][2025/06/26 05:40:08]: nordi successfully created item w_me_pocketlight. -[info][2025/06/26 05:40:09]: nordi requested all items. -[info][2025/06/26 05:40:33]: nordi requested item list. -[info][2025/06/26 05:45:23]: nordi uplaoded item image w_me_colbaton.png. -[info][2025/06/26 05:45:25]: nordi requested create item w_me_colbaton. -[info][2025/06/26 05:45:25]: nordi successfully created item w_me_colbaton. -[info][2025/06/26 05:45:25]: nordi requested all items. -[info][2025/06/26 06:08:32]: nordi requested item w_me_colbaton. -[info][2025/06/26 06:08:36]: nordi requested all items. -[info][2025/06/26 06:08:45]: nordi requested item w_me_colbaton. -[info][2025/06/26 07:07:35]: nordi requested item w_me_colbaton. -[info][2025/06/26 16:02:06]: nordi requested item w_me_colbaton. -[info][2025/06/26 16:03:14]: nordi requested all items. -[info][2025/06/26 16:03:20]: nordi requested item w_me_pocketlight. -[info][2025/06/26 16:05:44]: nordi requested all items. -[info][2025/06/26 16:05:48]: nordi requested item w_me_colbaton. -[info][2025/06/28 01:53:06]: nordi requested all items. -[info][2025/06/28 01:53:32]: mimi requested all items. -[info][2025/06/28 01:54:50]: nordi requested all items. -[info][2025/06/28 01:55:47]: mimi requested item football. -[info][2025/06/28 01:55:53]: mimi requested all items. -[info][2025/06/28 02:03:07]: nordi requested item spazi_limo. -[info][2025/06/28 02:03:14]: nordi requested save item spazi_limo. -[info][2025/06/28 02:03:14]: nordi successfully saved item spazi_limo. -[info][2025/06/28 02:03:32]: nordi requested all items. -[info][2025/06/28 02:03:40]: nordi requested item pizza_burger. -[info][2025/06/28 02:03:46]: nordi requested save item pizza_burger. -[info][2025/06/28 02:03:46]: nordi successfully saved item pizza_burger. -[info][2025/06/28 02:03:48]: nordi requested all items. -[info][2025/06/28 02:03:50]: nordi requested item pizza_piece. -[info][2025/06/28 02:03:57]: nordi requested save item pizza_piece. -[info][2025/06/28 02:03:57]: nordi successfully saved item pizza_piece. -[info][2025/06/28 02:10:53]: nordi requested save item pizza_piece. -[info][2025/06/28 02:10:53]: nordi successfully saved item pizza_piece. -[info][2025/06/28 02:11:21]: nordi requested all items. -[info][2025/06/28 02:11:28]: nordi requested item emergencydrone. -[info][2025/06/28 02:11:34]: nordi requested save item emergencydrone. -[info][2025/06/28 02:11:34]: nordi successfully saved item emergencydrone. -[info][2025/06/28 02:11:37]: nordi requested all items. -[info][2025/06/28 02:17:45]: mimi requested item tavor1. -[info][2025/06/28 02:17:49]: mimi requested all items. -[info][2025/06/28 16:33:44]: mimi requested all items. -[info][2025/06/28 19:03:04]: mimi requested all items. -[info][2025/06/28 22:46:34]: mimi requested all items. -[info][2025/06/29 01:11:34]: mimi requested all jobs. -[info][2025/06/29 01:11:46]: mimi requested all jobs. -[info][2025/06/29 01:11:49]: mimi requested all items. -[info][2025/06/29 01:12:27]: mimi requested item ecola_zero_dose. -[info][2025/06/29 01:12:48]: mimi requested all items. -[info][2025/06/29 01:12:50]: mimi requested item big_bottle_lemonade. -[info][2025/06/29 01:12:52]: mimi requested all items. -[info][2025/06/29 01:12:54]: mimi requested item placebo. -[info][2025/06/29 01:12:58]: mimi requested all items. -[info][2025/06/29 01:13:01]: mimi requested item weapon_bullpuprifle_mk2. -[info][2025/06/29 01:13:04]: mimi requested all items. -[info][2025/06/29 03:20:07]: mimi requested all items. -[info][2025/06/29 06:23:20]: nordi requested all items. -[info][2025/06/29 06:23:24]: nordi requested item weapon_specialcarbine. -[info][2025/06/29 06:23:33]: nordi requested save item weapon_specialcarbine. -[info][2025/06/29 06:23:33]: nordi successfully saved item weapon_specialcarbine. -[info][2025/06/29 06:23:37]: nordi requested all items. -[info][2025/06/29 06:23:41]: nordi requested item simcard. -[info][2025/06/29 06:23:46]: nordi requested save item simcard. -[info][2025/06/29 06:23:46]: nordi successfully saved item simcard. -[info][2025/06/29 06:23:48]: nordi requested all items. -[info][2025/06/29 06:23:55]: nordi requested item kennzeichen_tool. -[info][2025/06/29 06:26:08]: nordi uplaoded item image kennzeichen_tool.png. -[info][2025/06/29 06:26:11]: nordi requested save item kennzeichen_tool. -[info][2025/06/29 06:26:11]: nordi successfully saved item kennzeichen_tool. -[info][2025/06/29 06:26:15]: nordi requested save item kennzeichen_tool. -[info][2025/06/29 06:26:15]: nordi successfully saved item kennzeichen_tool. -[info][2025/06/29 06:26:17]: nordi requested all items. -[info][2025/06/29 06:26:19]: nordi requested item kennzeichen_tool. -[info][2025/06/29 06:26:24]: nordi requested save item kennzeichen_tool. -[info][2025/06/29 06:26:24]: nordi successfully saved item kennzeichen_tool. -[info][2025/06/29 06:26:26]: nordi requested all items. -[info][2025/06/29 06:26:36]: nordi requested item weapon_snspistol_mk2. -[info][2025/06/29 08:50:09]: nordi requested all items. -[info][2025/06/29 08:50:26]: nordi requested item list. -[info][2025/06/29 08:59:36]: nordi uplaoded item image bw_cupcake.png. -[info][2025/06/29 08:59:41]: nordi requested create item bw_cupcake. -[info][2025/06/29 08:59:41]: nordi successfully created item bw_cupcake. -[info][2025/06/29 08:59:42]: nordi requested all items. -[info][2025/06/29 08:59:44]: nordi requested item list. -[info][2025/06/29 09:00:11]: nordi uplaoded item image dc_cupcake.png. -[info][2025/06/29 09:00:16]: nordi requested create item dc_cupcake. -[info][2025/06/29 09:00:16]: nordi successfully created item dc_cupcake. -[info][2025/06/29 09:00:16]: nordi requested all items. -[info][2025/06/29 09:00:21]: nordi requested item list. -[info][2025/06/29 09:00:46]: nordi uplaoded item image bb_cupcake.png. -[info][2025/06/29 09:00:49]: nordi requested create item bb_cupcake. -[info][2025/06/29 09:00:49]: nordi successfully created item bb_cupcake. -[info][2025/06/29 09:00:49]: nordi requested all items. -[info][2025/06/29 09:00:52]: nordi requested item list. -[info][2025/06/29 09:01:16]: nordi uplaoded item image rb_cupcake.png. -[info][2025/06/29 09:01:18]: nordi requested create item rb_cupcake. -[info][2025/06/29 09:01:18]: nordi successfully created item rb_cupcake. -[info][2025/06/29 09:01:18]: nordi requested all items. -[info][2025/06/29 09:01:24]: nordi requested item list. -[info][2025/06/29 09:01:44]: nordi uplaoded item image cc_cupcake.png. -[info][2025/06/29 09:01:46]: nordi requested create item cc_cupcake. -[info][2025/06/29 09:01:46]: nordi successfully created item cc_cupcake. -[info][2025/06/29 09:01:47]: nordi requested all items. -[info][2025/06/29 09:01:52]: nordi requested item list. -[info][2025/06/29 09:02:12]: nordi uplaoded item image wc_cupcake.png. -[info][2025/06/29 09:02:13]: nordi requested create item wc_cupcake. -[info][2025/06/29 09:02:13]: nordi successfully created item wc_cupcake. -[info][2025/06/29 09:02:14]: nordi requested all items. -[info][2025/06/29 09:02:18]: nordi requested item list. -[info][2025/06/29 09:02:37]: nordi uplaoded item image c_cake.png. -[info][2025/06/29 09:02:44]: nordi requested create item c_cake. -[info][2025/06/29 09:02:45]: nordi successfully created item c_cake. -[info][2025/06/29 09:02:45]: nordi requested all items. -[info][2025/06/29 09:03:03]: nordi requested item list. -[info][2025/06/29 09:03:19]: nordi uplaoded item image waffle_ice.png. -[info][2025/06/29 09:03:26]: nordi requested create item waffle_ice. -[info][2025/06/29 09:03:26]: nordi successfully created item waffle_ice. -[info][2025/06/29 09:03:27]: nordi requested all items. -[info][2025/06/29 09:03:30]: nordi requested item list. -[info][2025/06/29 09:04:31]: nordi uplaoded item image cc_cake.png. -[info][2025/06/29 09:04:40]: nordi requested create item cc_cake. -[info][2025/06/29 09:04:40]: nordi successfully created item cc_cake. -[info][2025/06/29 09:04:41]: nordi requested all items. -[info][2025/06/29 09:04:44]: nordi requested item list. -[info][2025/06/29 09:04:57]: nordi uplaoded item image salami_b.png. -[info][2025/06/29 09:04:59]: nordi requested create item salami_b. -[info][2025/06/29 09:04:59]: nordi successfully created item salami_b. -[info][2025/06/29 09:04:59]: nordi requested all items. -[info][2025/06/29 09:05:03]: nordi requested item list. -[info][2025/06/29 09:05:39]: nordi uplaoded item image bruschetta.png. -[info][2025/06/29 09:05:42]: nordi requested create item bruschetta. -[info][2025/06/29 09:05:42]: nordi successfully created item bruschetta. -[info][2025/06/29 09:05:42]: nordi requested all items. -[info][2025/06/29 09:05:50]: nordi requested item list. -[info][2025/06/29 09:06:11]: nordi uplaoded item image p_schnecke.png. -[info][2025/06/29 09:06:12]: nordi requested create item p_schnecke. -[info][2025/06/29 09:06:12]: nordi successfully created item p_schnecke. -[info][2025/06/29 09:06:13]: nordi requested all items. -[info][2025/06/29 09:06:18]: nordi requested item list. -[info][2025/06/29 09:06:35]: nordi uplaoded item image cc_cino.png. -[info][2025/06/29 09:06:49]: nordi requested create item cc_cino. -[info][2025/06/29 09:06:49]: nordi successfully created item cc_cino. -[info][2025/06/29 09:06:50]: nordi requested all items. -[info][2025/06/29 09:07:03]: nordi requested item cc_cino. -[info][2025/06/29 09:07:08]: nordi requested save item cc_cino. -[info][2025/06/29 09:07:09]: nordi successfully saved item cc_cino. -[info][2025/06/29 09:07:11]: nordi requested all items. -[info][2025/06/29 09:07:22]: nordi requested item list. -[info][2025/06/29 09:07:44]: nordi uplaoded item image olimo.png. -[info][2025/06/29 09:07:46]: nordi requested create item olimo. -[info][2025/06/29 09:07:46]: nordi successfully created item olimo. -[info][2025/06/29 09:07:46]: nordi requested all items. -[info][2025/06/29 09:07:49]: nordi requested item list. -[info][2025/06/29 09:08:02]: nordi uplaoded item image zlimo.png. -[info][2025/06/29 09:08:08]: nordi requested create item zlimo. -[info][2025/06/29 09:08:08]: nordi successfully created item zlimo. -[info][2025/06/29 09:08:08]: nordi requested all items. -[info][2025/06/29 09:08:16]: nordi requested item olimo. -[info][2025/06/29 09:08:19]: nordi requested save item olimo. -[info][2025/06/29 09:08:19]: nordi successfully saved item olimo. -[info][2025/06/29 09:08:21]: nordi requested all items. -[info][2025/06/29 09:08:26]: nordi requested item list. -[info][2025/06/29 09:08:40]: nordi uplaoded item image klimo.png. -[info][2025/06/29 09:08:42]: nordi requested create item klimo. -[info][2025/06/29 09:08:42]: nordi successfully created item klimo. -[info][2025/06/29 09:08:42]: nordi requested all items. -[info][2025/06/29 09:08:51]: nordi requested item klimo. -[info][2025/06/29 09:08:54]: nordi requested save item klimo. -[info][2025/06/29 09:08:54]: nordi successfully saved item klimo. -[info][2025/06/29 09:08:57]: nordi requested all items. -[info][2025/06/29 09:09:00]: nordi requested item list. -[info][2025/06/29 09:09:18]: nordi uplaoded item image cc_kaffe.png. -[info][2025/06/29 09:09:25]: nordi requested create item cc_kaffe. -[info][2025/06/29 09:09:25]: nordi successfully created item cc_kaffe. -[info][2025/06/29 09:09:25]: nordi requested all items. -[info][2025/06/29 09:09:36]: nordi requested item list. -[info][2025/06/29 09:09:49]: nordi uplaoded item image h_choclate.png. -[info][2025/06/29 09:09:58]: nordi requested create item h_choclate. -[info][2025/06/29 09:09:59]: nordi successfully created item h_choclate. -[info][2025/06/29 09:09:59]: nordi requested all items. -[info][2025/06/29 09:10:03]: nordi requested item list. -[info][2025/06/29 09:10:29]: nordi uplaoded item image Schokoshake.png. -[info][2025/06/29 09:10:40]: nordi uplaoded item image s_shake.png. -[info][2025/06/29 09:10:49]: nordi requested create item s_shake. -[info][2025/06/29 09:10:49]: nordi successfully created item s_shake. -[info][2025/06/29 09:10:50]: nordi requested all items. -[info][2025/06/29 09:10:53]: nordi requested item list. -[info][2025/06/29 09:11:06]: nordi uplaoded item image cc_latte.png. -[info][2025/06/29 09:11:13]: nordi requested create item cc_latte. -[info][2025/06/29 09:11:13]: nordi successfully created item cc_latte. -[info][2025/06/29 09:11:14]: nordi requested all items. -[info][2025/06/29 09:11:24]: nordi requested item cc_latte. -[info][2025/06/29 09:11:27]: nordi requested all items. -[info][2025/06/29 09:11:29]: nordi requested item latte. -[info][2025/06/29 09:11:34]: nordi requested save item latte. -[info][2025/06/29 09:11:34]: nordi successfully saved item latte. -[info][2025/06/29 09:11:37]: nordi requested all items. -[info][2025/06/29 09:11:38]: nordi requested item cc_latte. -[info][2025/06/29 09:11:40]: nordi requested all items. -[info][2025/06/29 09:11:54]: nordi requested item list. -[info][2025/06/29 09:12:12]: nordi uplaoded item image cc_espresso.png. -[info][2025/06/29 09:12:15]: nordi requested create item cc_espresso. -[info][2025/06/29 09:12:15]: nordi successfully created item cc_espresso. -[info][2025/06/29 09:12:16]: nordi requested all items. -[info][2025/06/29 09:12:19]: nordi requested item list. -[info][2025/06/29 09:12:41]: nordi uplaoded item image e_kaffee.png. -[info][2025/06/29 09:12:49]: nordi requested create item e_kaffee. -[info][2025/06/29 09:12:49]: nordi successfully created item e_kaffee. -[info][2025/06/29 09:12:50]: nordi requested all items. -[info][2025/06/29 09:59:56]: nordi requested all items. -[info][2025/06/29 10:00:00]: nordi requested item list. -[info][2025/06/29 10:00:33]: nordi requested all items. -[info][2025/06/29 10:00:37]: nordi requested item list. -[info][2025/06/29 10:00:39]: nordi requested all items. -[info][2025/06/29 10:00:43]: nordi requested item baklava. -[info][2025/06/29 10:00:46]: nordi requested all items. -[info][2025/06/29 10:01:04]: nordi requested item list. -[info][2025/06/29 10:03:14]: nordi uplaoded item image kunfe.png. -[info][2025/06/29 10:03:19]: nordi requested create item kunfe. -[info][2025/06/29 10:03:19]: nordi successfully created item kunfe. -[info][2025/06/29 10:03:20]: nordi requested all items. -[info][2025/06/29 10:03:29]: nordi requested item list. -[info][2025/06/29 10:03:54]: nordi uplaoded item image lokum.png. -[info][2025/06/29 10:03:59]: nordi requested create item lokum. -[info][2025/06/29 10:03:59]: nordi successfully created item lokum. -[info][2025/06/29 10:04:00]: nordi requested all items. -[info][2025/06/29 10:04:04]: nordi requested item list. -[info][2025/06/29 10:04:22]: nordi uplaoded item image pisman.png. -[info][2025/06/29 10:04:29]: nordi requested create item pisman. -[info][2025/06/29 10:04:29]: nordi successfully created item pisman. -[info][2025/06/29 10:04:29]: nordi requested all items. -[info][2025/06/29 10:04:34]: nordi requested item list. -[info][2025/06/29 10:04:51]: nordi uplaoded item image sarma.png. -[info][2025/06/29 10:04:55]: nordi requested create item sarma. -[info][2025/06/29 10:04:55]: nordi successfully created item sarma. -[info][2025/06/29 10:04:56]: nordi requested all items. -[info][2025/06/29 10:05:00]: nordi requested item list. -[info][2025/06/29 10:05:39]: nordi uplaoded item image manti.png. -[info][2025/06/29 10:05:45]: nordi requested create item manti. -[info][2025/06/29 10:05:45]: nordi successfully created item manti. -[info][2025/06/29 10:05:46]: nordi requested all items. -[info][2025/06/29 10:05:55]: nordi requested item list. -[info][2025/06/29 10:06:14]: nordi requested create item cigkfte. -[info][2025/06/29 10:06:14]: nordi successfully created item cigkfte. -[info][2025/06/29 10:06:14]: nordi requested all items. -[info][2025/06/29 10:06:18]: nordi requested item cigkfte. -[info][2025/06/29 10:07:17]: nordi uplaoded item image cigkfte.png. -[info][2025/06/29 10:07:19]: nordi requested save item cigkfte. -[info][2025/06/29 10:07:19]: nordi successfully saved item cigkfte. -[info][2025/06/29 10:07:21]: nordi requested all items. -[info][2025/06/29 10:07:26]: nordi requested item list. -[info][2025/06/29 10:07:42]: nordi uplaoded item image stoast.png. -[info][2025/06/29 10:07:48]: nordi requested create item stoast. -[info][2025/06/29 10:07:48]: nordi successfully created item stoast. -[info][2025/06/29 10:07:48]: nordi requested all items. -[info][2025/06/29 10:07:51]: nordi requested item list. -[info][2025/06/29 10:08:23]: nordi uplaoded item image kspieß.png. -[info][2025/06/29 10:08:24]: nordi requested create item kspieß. -[info][2025/06/29 10:08:24]: nordi successfully created item kspieß. -[info][2025/06/29 10:08:25]: nordi requested all items. -[info][2025/06/29 10:08:29]: nordi requested item list. -[info][2025/06/29 10:08:54]: nordi uplaoded item image mmkc.png. -[info][2025/06/29 10:09:00]: nordi requested create item mmkc. -[info][2025/06/29 10:09:00]: nordi successfully created item mmkc. -[info][2025/06/29 10:09:00]: nordi requested all items. -[info][2025/06/29 10:09:04]: nordi requested item list. -[info][2025/06/29 10:09:49]: nordi uplaoded item image ezme.png. -[info][2025/06/29 10:10:26]: nordi requested create item ezme. -[info][2025/06/29 10:10:26]: nordi successfully created item ezme. -[info][2025/06/29 10:10:27]: nordi requested all items. -[info][2025/06/29 10:58:35]: nordi requested all items. -[info][2025/06/29 12:19:46]: nordi requested all items. -[info][2025/06/29 12:19:49]: nordi requested item heartstopper. -[info][2025/06/29 12:19:56]: nordi requested save item heartstopper. -[info][2025/06/29 12:19:56]: nordi successfully saved item heartstopper. -[info][2025/06/29 12:19:59]: nordi requested all items. -[info][2025/06/29 20:58:20]: mimi requested all jobs. -[info][2025/06/29 20:58:28]: mimi requested all gangs. -[info][2025/06/29 20:58:29]: mimi requested all jobs. -[info][2025/06/29 21:08:21]: nordi requested all items. -[info][2025/06/29 21:08:27]: nordi requested item weapon_combatshotgun. -[info][2025/06/29 21:14:09]: nordi requested all items. -[info][2025/06/29 21:14:20]: nordi requested item weapon_huntingrifle. -[info][2025/06/29 21:15:21]: nordi requested all items. -[info][2025/06/29 21:15:25]: nordi requested item weapon_crossbow. -[info][2025/06/29 21:16:14]: nordi requested all items. -[info][2025/06/29 21:16:19]: nordi requested item weapon_hatchet. -[info][2025/06/29 21:16:57]: nordi requested all items. -[info][2025/06/29 21:17:07]: nordi requested item weapon_microsmg. -[info][2025/06/29 21:17:20]: nordi requested all items. -[info][2025/06/29 21:17:29]: nordi requested item weapon_assaultsmg. -[info][2025/06/29 21:17:31]: nordi requested all items. -[info][2025/06/29 21:17:34]: nordi requested item weapon_combatpdw. -[info][2025/06/29 21:22:14]: nordi requested save item weapon_combatpdw. -[info][2025/06/29 21:22:14]: nordi successfully saved item weapon_combatpdw. -[info][2025/06/29 21:22:17]: nordi requested save item weapon_combatpdw. -[info][2025/06/29 21:22:17]: nordi successfully saved item weapon_combatpdw. -[info][2025/06/29 21:22:21]: nordi requested all items. -[info][2025/06/29 21:22:24]: nordi requested item weapon_specialcarbine. -[info][2025/06/29 23:57:32]: nordi requested all items. -[info][2025/06/29 23:57:34]: nordi requested item list. -[info][2025/06/29 23:58:05]: nordi uplaoded item image nightvision.png. -[info][2025/06/29 23:58:10]: nordi requested create item nightvision. -[info][2025/06/29 23:58:10]: nordi successfully created item nightvision. -[info][2025/06/29 23:58:11]: nordi requested all items. -[info][2025/06/30 00:37:32]: nordi requested all items. -[info][2025/06/30 00:37:33]: nordi requested item list. -[info][2025/06/30 00:37:53]: nordi uplaoded item image thermalvision.png. -[info][2025/06/30 00:38:06]: nordi requested create item thermalvision. -[info][2025/06/30 00:38:06]: nordi successfully created item thermalvision. -[info][2025/06/30 00:38:06]: nordi requested all items. -[info][2025/06/30 10:31:25]: nordi requested all items. -[info][2025/06/30 10:31:34]: nordi requested item weapon_snspistol_mk2. -[info][2025/06/30 10:32:09]: nordi uplaoded item image weapon_snspistol_mk2.png. -[info][2025/06/30 10:32:13]: nordi requested save item weapon_snspistol_mk2. -[info][2025/06/30 10:32:13]: nordi successfully saved item weapon_snspistol_mk2. -[info][2025/06/30 10:32:17]: nordi requested item weapon_snspistol_mk2. -[info][2025/06/30 10:32:22]: nordi requested save item weapon_snspistol_mk2. -[info][2025/06/30 10:32:22]: nordi successfully saved item weapon_snspistol_mk2. -[info][2025/06/30 10:32:24]: nordi requested all items. -[info][2025/06/30 11:03:14]: nordi requested item ornageo. -[info][2025/06/30 11:03:21]: nordi requested save item ornageo. -[info][2025/06/30 11:03:21]: nordi successfully saved item ornageo. -[info][2025/06/30 11:03:23]: nordi requested all items. -[info][2025/06/30 11:03:47]: nordi requested item bleeder. -[info][2025/06/30 11:03:54]: nordi requested save item bleeder. -[info][2025/06/30 11:03:54]: nordi successfully saved item bleeder. -[info][2025/06/30 12:25:22]: nordi requested all items. -[info][2025/06/30 12:25:27]: nordi requested all items. -[info][2025/06/30 12:41:09]: nordi requested all items. -[info][2025/06/30 12:41:15]: nordi requested item weapon_colbaton. -[info][2025/06/30 15:09:48]: nordi requested all items. -[info][2025/06/30 15:15:47]: nordi requested all items. -[info][2025/06/30 15:15:52]: nordi requested item weapon_pocketlight. -[info][2025/06/30 15:18:21]: nordi requested all items. -[info][2025/06/30 15:18:59]: nordi requested item list. -[info][2025/06/30 15:22:11]: nordi uplaoded item image weapon_throwingshoered.png. -[info][2025/06/30 15:22:26]: nordi requested create item weapon_throwingshoered. -[info][2025/06/30 15:22:26]: nordi successfully created item weapon_throwingshoered. -[info][2025/06/30 15:22:26]: nordi requested all items. -[info][2025/06/30 15:23:33]: nordi requested item weapon_throwingshoered. -[info][2025/06/30 15:24:13]: nordi requested save item weapon_throwingshoered. -[info][2025/06/30 15:24:13]: nordi successfully saved item weapon_throwingshoered. -[info][2025/06/30 15:26:20]: nordi requested all items. -[info][2025/06/30 15:26:23]: nordi requested item weapon_throwingshoered. -[info][2025/06/30 15:28:10]: nordi requested save item weapon_throwingshoered. -[info][2025/06/30 15:28:10]: nordi successfully saved item weapon_throwingshoered. -[info][2025/06/30 15:28:13]: nordi requested all items. -[info][2025/06/30 15:33:44]: nordi requested item weapon_throwingshoered. -[info][2025/06/30 15:34:52]: nordi requested item weapon_throwingshoered. -[info][2025/06/30 15:35:54]: nordi requested all items. -[info][2025/06/30 15:40:13]: nordi requested item weapon_throwingshoered. -[info][2025/06/30 15:40:42]: nordi requested save item weapon_throwingshoered. -[info][2025/06/30 15:40:43]: nordi successfully saved item weapon_throwingshoered. -[info][2025/06/30 15:40:46]: nordi requested delete item weapon_throwingshoered. -[info][2025/06/30 15:40:46]: nordi successfully deleted item weapon_throwingshoered. -[info][2025/06/30 15:40:46]: nordi requested all items. -[info][2025/06/30 15:40:52]: nordi requested item list. -[info][2025/06/30 15:42:14]: nordi requested create item weapon_throwingshoe_red. -[info][2025/06/30 15:42:14]: nordi successfully created item weapon_throwingshoe_red. -[info][2025/06/30 15:42:15]: nordi requested all items. -[info][2025/06/30 15:42:22]: nordi requested item weapon_throwingshoe_red. -[info][2025/06/30 15:42:33]: nordi requested save item weapon_throwingshoe_red. -[info][2025/06/30 15:42:33]: nordi successfully saved item weapon_throwingshoe_red. -[info][2025/06/30 21:17:44]: nordi requested all items. -[info][2025/06/30 21:17:51]: nordi requested item weapon_ball. -[info][2025/06/30 21:17:53]: nordi requested all items. -[info][2025/06/30 21:18:01]: nordi requested item weapon_bzgas. -[info][2025/06/30 21:18:36]: nordi requested all items. -[info][2025/06/30 21:18:40]: nordi requested item weapon_bzgas. -[info][2025/06/30 21:19:04]: nordi requested all items. -[info][2025/06/30 21:19:09]: nordi requested item weapon_smokegrenade. -[info][2025/06/30 21:40:39]: nordi requested all items. -[info][2025/06/30 21:40:44]: nordi requested item weapon_throwingshoered. -[info][2025/06/30 21:41:35]: nordi requested all items. -[info][2025/06/30 21:44:46]: nordi requested item weapon_throwingshoered. -[info][2025/06/30 23:01:02]: nordi requested all items. -[info][2025/06/30 23:01:05]: nordi requested item list. -[info][2025/06/30 23:01:07]: nordi requested all items. -[info][2025/06/30 23:01:12]: nordi requested item list. -[info][2025/06/30 23:02:41]: nordi uplaoded item image lolli.png. -[info][2025/06/30 23:02:54]: nordi requested create item lolli. -[info][2025/06/30 23:02:54]: nordi successfully created item lolli. -[info][2025/06/30 23:02:55]: nordi requested all items. -[info][2025/06/30 23:14:10]: nordi requested item lolli. -[info][2025/06/30 23:41:07]: nordi requested all items. -[info][2025/07/01 00:06:03]: nordi requested all items. -[info][2025/07/01 00:06:07]: nordi requested item weapon_colbaton. -[info][2025/07/01 00:07:04]: nordi requested all items. -[info][2025/07/01 00:07:14]: nordi requested item weapon_carbinerifle. -[info][2025/07/01 00:07:25]: nordi requested all items. -[info][2025/07/01 00:07:29]: nordi requested item weapon_pumpshotgun. -[info][2025/07/01 00:08:15]: nordi requested all items. -[info][2025/07/01 00:08:19]: nordi requested item weapon_smokegrenade. -[info][2025/07/01 00:09:19]: nordi requested all items. -[info][2025/07/01 00:11:18]: nordi requested item weapon_smg. -[info][2025/07/01 00:11:25]: nordi requested save item weapon_smg. -[info][2025/07/01 00:11:25]: nordi successfully saved item weapon_smg. -[info][2025/07/01 00:14:58]: nordi requested all items. -[info][2025/07/01 00:15:08]: nordi requested item smg_flashlight. -[info][2025/07/01 05:45:10]: nordi requested all items. -[info][2025/07/01 05:52:04]: nordi requested all items. -[info][2025/07/01 05:52:09]: nordi requested item gg_hunting_campfire. -[info][2025/07/01 05:52:16]: nordi requested save item gg_hunting_campfire. -[info][2025/07/01 05:52:16]: nordi successfully saved item gg_hunting_campfire. -[info][2025/07/01 05:52:17]: nordi requested all items. -[info][2025/07/01 06:58:12]: nordi requested all items. -[info][2025/07/01 06:58:13]: nordi requested item list. -[info][2025/07/01 07:01:20]: nordi uplaoded item image vehicletracker.png. -[info][2025/07/01 07:01:28]: nordi requested create item vehicletracker. -[info][2025/07/01 07:01:28]: nordi successfully created item vehicletracker. -[info][2025/07/01 07:01:28]: nordi requested all items. -[info][2025/07/01 07:02:10]: nordi requested item list. -[info][2025/07/01 07:03:10]: nordi uplaoded item image vehicletrackertablet.png. -[info][2025/07/01 07:03:12]: nordi requested create item vehicletrackertablet. -[info][2025/07/01 07:03:12]: nordi successfully created item vehicletrackertablet. -[info][2025/07/01 07:03:13]: nordi requested all items. -[info][2025/07/01 07:03:18]: nordi requested item list. -[info][2025/07/01 07:03:43]: nordi uplaoded item image vehicletrackerscanner.png. -[info][2025/07/01 07:03:57]: nordi requested create item vehicletrackerscanner. -[info][2025/07/01 07:03:57]: nordi successfully created item vehicletrackerscanner. -[info][2025/07/01 07:03:58]: nordi requested all items. -[info][2025/07/01 07:04:03]: nordi requested item vehicletracker. -[info][2025/07/01 07:04:08]: nordi requested save item vehicletracker. -[info][2025/07/01 07:04:08]: nordi successfully saved item vehicletracker. -[info][2025/07/01 07:18:17]: nordi requested all items. -[info][2025/07/01 07:18:45]: nordi requested item list. -[info][2025/07/01 07:31:40]: nordi uplaoded item image packlollis.png. -[info][2025/07/01 07:31:44]: nordi requested create item packlollis. -[info][2025/07/01 07:31:44]: nordi successfully created item packlollis. -[info][2025/07/01 07:31:44]: nordi requested all items. -[info][2025/07/01 07:31:50]: nordi requested item packlollis. -[info][2025/07/01 07:34:13]: nordi requested all items. -[info][2025/07/01 07:34:23]: nordi requested item vehicletracker. -[info][2025/07/01 07:34:36]: nordi requested all items. -[info][2025/07/01 07:34:39]: nordi requested item vehicletrackertablet. -[info][2025/07/01 07:35:40]: nordi requested all items. -[info][2025/07/01 07:35:43]: nordi requested item vehicletrackerscanner. -[info][2025/07/01 07:40:55]: nordi requested all items. -[info][2025/07/01 07:41:00]: nordi requested item vehicletracker. -[info][2025/07/01 09:55:47]: nordi requested all items. -[info][2025/07/01 10:16:20]: nordi requested all items. -[info][2025/07/01 10:16:24]: nordi requested item weapon_colbaton. -[info][2025/07/01 10:16:35]: nordi requested save item weapon_colbaton. -[info][2025/07/01 10:16:35]: nordi successfully saved item weapon_colbaton. -[info][2025/07/01 10:19:53]: nordi requested all items. -[info][2025/07/01 10:20:00]: nordi requested item weapon_throwingshoered. -[info][2025/07/01 10:42:04]: nordi requested all items. -[info][2025/07/01 10:42:08]: nordi requested all items. -[info][2025/07/01 10:42:22]: nordi requested item list. -[info][2025/07/01 10:44:16]: nordi uplaoded item image worm_bait.png. -[info][2025/07/01 10:44:17]: nordi requested create item worm_bait. -[info][2025/07/01 10:44:18]: nordi successfully created item worm_bait. -[info][2025/07/01 10:44:18]: nordi requested all items. -[info][2025/07/01 10:44:36]: nordi requested item list. -[info][2025/07/01 10:48:35]: nordi uplaoded item image bread_bait.png. -[info][2025/07/01 10:48:37]: nordi requested create item bread_bait. -[info][2025/07/01 10:48:37]: nordi successfully created item bread_bait. -[info][2025/07/01 10:48:38]: nordi requested all items. -[info][2025/07/01 10:57:01]: nordi requested item list. -[info][2025/07/01 10:57:40]: nordi requested all items. -[info][2025/07/01 10:57:48]: nordi requested item list. -[info][2025/07/01 10:58:10]: nordi uplaoded item image artificial_lure.png. -[info][2025/07/01 10:58:12]: nordi requested create item artificial_lure. -[info][2025/07/01 10:58:12]: nordi successfully created item artificial_lure. -[info][2025/07/01 10:58:12]: nordi requested all items. -[info][2025/07/01 10:58:25]: nordi requested item list. -[info][2025/07/01 11:02:31]: nordi requested create item fishbait. -[info][2025/07/01 11:02:31]: nordi successfully created item fishbait. -[info][2025/07/01 11:02:32]: nordi requested all items. -[info][2025/07/01 11:02:38]: nordi requested item artificial_lure. -[info][2025/07/01 11:02:51]: nordi uplaoded item image pb.png. -[info][2025/07/01 11:02:55]: nordi requested save item artificial_lure. -[info][2025/07/01 11:02:55]: nordi successfully saved item artificial_lure. -[info][2025/07/01 11:05:21]: nordi requested save item artificial_lure. -[info][2025/07/01 11:05:21]: nordi successfully saved item artificial_lure. -[info][2025/07/01 11:05:22]: nordi requested all items. -[info][2025/07/01 11:05:27]: nordi requested item list. -[info][2025/07/01 11:05:43]: nordi uplaoded item image young_salmon.png. -[info][2025/07/01 11:05:48]: nordi requested create item young_salmon. -[info][2025/07/01 11:05:48]: nordi successfully created item young_salmon. -[info][2025/07/01 11:05:48]: nordi requested all items. -[info][2025/07/01 11:06:08]: nordi requested item list. -[info][2025/07/01 11:07:18]: nordi uplaoded item image putterfish.png. -[info][2025/07/01 11:07:21]: nordi requested create item pufferfish. -[info][2025/07/01 11:07:21]: nordi successfully created item pufferfish. -[info][2025/07/01 11:07:22]: nordi requested all items. -[info][2025/07/01 11:09:31]: nordi requested item list. -[info][2025/07/01 11:10:04]: nordi uplaoded item image salmon.png. -[info][2025/07/01 11:10:05]: nordi requested create item salmon. -[info][2025/07/01 11:10:05]: nordi successfully created item salmon. -[info][2025/07/01 11:10:06]: nordi requested all items. -[info][2025/07/01 11:10:20]: nordi requested item list. -[info][2025/07/01 11:11:50]: nordi uplaoded item image tuna.png. -[info][2025/07/01 11:11:53]: nordi requested create item tuna. -[info][2025/07/01 11:11:53]: nordi successfully created item tuna. -[info][2025/07/01 11:11:54]: nordi requested all items. -[info][2025/07/01 11:12:03]: nordi requested item list. -[info][2025/07/01 11:12:58]: nordi uplaoded item image trout.png. -[info][2025/07/01 11:13:01]: nordi requested create item trout. -[info][2025/07/01 11:13:01]: nordi successfully created item trout. -[info][2025/07/01 11:13:02]: nordi requested all items. -[info][2025/07/01 11:13:08]: nordi requested item list. -[info][2025/07/01 11:14:02]: nordi uplaoded item image anchovy.png. -[info][2025/07/01 11:14:04]: nordi requested create item anchovy. -[info][2025/07/01 11:14:04]: nordi successfully created item anchovy. -[info][2025/07/01 11:14:05]: nordi requested all items. -[info][2025/07/01 11:14:16]: nordi requested item list. -[info][2025/07/01 11:16:05]: nordi uplaoded item image caviar.png. -[info][2025/07/01 11:16:06]: nordi requested create item caviar. -[info][2025/07/01 11:16:06]: nordi successfully created item caviar. -[info][2025/07/01 11:16:07]: nordi requested all items. -[info][2025/07/01 11:16:52]: nordi requested item list. -[info][2025/07/01 11:17:13]: nordi uplaoded item image fish_fillet.png. -[info][2025/07/01 11:17:15]: nordi requested create item fish_fillet. -[info][2025/07/01 11:17:15]: nordi successfully created item fish_fillet. -[info][2025/07/01 11:17:15]: nordi requested all items. -[info][2025/07/01 11:17:32]: nordi requested item list. -[info][2025/07/01 11:18:00]: nordi requested create item fishingrod. -[info][2025/07/01 11:18:00]: nordi successfully created item fishingrod. -[info][2025/07/01 11:18:01]: nordi requested all items. -[info][2025/07/01 11:18:33]: nordi requested item weapon_knife. -[info][2025/07/01 11:18:49]: nordi requested save item weapon_knife. -[info][2025/07/01 11:18:50]: nordi successfully saved item weapon_knife. -[info][2025/07/01 11:18:53]: nordi requested save item weapon_knife. -[info][2025/07/01 11:18:53]: nordi successfully saved item weapon_knife. -[info][2025/07/01 11:18:55]: nordi requested all items. -[info][2025/07/01 11:38:51]: nordi requested item weapon_knife. -[info][2025/07/01 11:42:36]: nordi requested all items. -[info][2025/07/01 11:42:38]: nordi requested all items. -[info][2025/07/01 11:42:53]: nordi requested item fishbait. -[info][2025/07/01 11:43:19]: nordi requested all items. -[info][2025/07/01 11:43:23]: nordi requested item artificial_lure. -[info][2025/07/01 11:43:47]: nordi requested all items. -[info][2025/07/01 11:43:53]: nordi requested item bread_bait. -[info][2025/07/01 11:44:10]: nordi requested all items. -[info][2025/07/01 12:11:29]: nordi requested item fishbait. -[info][2025/07/01 12:11:32]: nordi requested all items. -[info][2025/07/01 12:11:40]: nordi requested item fishbait. -[info][2025/07/01 12:11:57]: nordi requested save item fishbait. -[info][2025/07/01 12:11:58]: nordi successfully saved item fishbait. -[info][2025/07/01 12:12:00]: nordi requested all items. -[info][2025/07/01 12:12:03]: nordi requested item artificial_lure. -[info][2025/07/01 12:12:16]: nordi requested save item artificial_lure. -[info][2025/07/01 12:12:17]: nordi successfully saved item artificial_lure. -[info][2025/07/01 12:12:23]: nordi requested all items. -[info][2025/07/01 12:12:30]: nordi requested item worm_bait. -[info][2025/07/01 12:12:37]: nordi requested save item worm_bait. -[info][2025/07/01 12:12:37]: nordi successfully saved item worm_bait. -[info][2025/07/01 12:12:40]: nordi requested all items. -[info][2025/07/01 12:12:49]: nordi requested item bread_bait. -[info][2025/07/01 12:12:50]: nordi requested save item bread_bait. -[info][2025/07/01 12:12:50]: nordi successfully saved item bread_bait. -[info][2025/07/01 13:25:16]: nordi requested all items. -[info][2025/07/01 13:25:21]: nordi requested all items. -[info][2025/07/01 13:25:28]: nordi requested item kspieß. -[info][2025/07/01 13:25:40]: nordi requested save item kspieß. -[info][2025/07/01 13:25:40]: nordi successfully saved item kspieß. -[info][2025/07/01 13:25:42]: nordi requested all items. -[info][2025/07/01 13:25:47]: nordi requested item artificial_lure. -[info][2025/07/01 13:27:12]: nordi requested save item artificial_lure. -[info][2025/07/01 13:27:12]: nordi successfully saved item artificial_lure. -[info][2025/07/01 13:27:26]: nordi requested all items. -[info][2025/07/01 13:27:31]: nordi requested item fishingrod. -[info][2025/07/01 13:27:34]: nordi requested save item fishingrod. -[info][2025/07/01 13:27:34]: nordi successfully saved item fishingrod. -[info][2025/07/01 13:27:36]: nordi requested all items. -[info][2025/07/01 13:43:21]: nordi requested item gg_coyote_fangs_02. -[info][2025/07/01 13:43:29]: nordi requested save item gg_coyote_fangs_02. -[info][2025/07/01 13:43:29]: nordi successfully saved item gg_coyote_fangs_02. -[info][2025/07/01 13:43:32]: nordi requested all items. -[info][2025/07/01 13:43:34]: nordi requested item gg_coyote_fangs_01. -[info][2025/07/01 13:43:36]: nordi requested all items. -[info][2025/07/01 13:45:04]: nordi requested item list. -[info][2025/07/01 13:46:57]: nordi uplaoded item image poison.png. -[info][2025/07/01 13:46:58]: nordi requested create item poison. -[info][2025/07/01 13:46:58]: nordi successfully created item poison. -[info][2025/07/01 13:46:59]: nordi requested all items. -[info][2025/07/01 13:54:40]: nordi requested item list. -[info][2025/07/01 14:03:30]: nordi uplaoded item image grilled_fish.png. -[info][2025/07/01 14:03:31]: nordi requested create item grilled_fish. -[info][2025/07/01 14:03:32]: nordi successfully created item grilled_fish. -[info][2025/07/01 14:03:32]: nordi requested all items. -[info][2025/07/01 14:05:01]: nordi requested item fish_fillet. -[info][2025/07/01 14:05:04]: nordi requested save item fish_fillet. -[info][2025/07/01 14:05:04]: nordi successfully saved item fish_fillet. -[info][2025/07/01 14:05:24]: nordi requested all items. -[info][2025/07/01 14:05:28]: nordi requested item grilled_fish. -[info][2025/07/01 14:08:21]: nordi requested all items. -[info][2025/07/01 14:08:27]: nordi requested item cheese_burger. -[info][2025/07/02 06:22:38]: nordi requested all items. -[info][2025/07/02 06:22:44]: nordi requested item fish_fillet. -[info][2025/07/02 06:22:48]: nordi requested all items. -[info][2025/07/02 15:05:58]: nordi requested all items. -[info][2025/07/02 15:46:50]: nordi requested item billokaffee. -[info][2025/07/02 15:46:53]: nordi requested save item billokaffee. -[info][2025/07/02 15:46:53]: nordi successfully saved item billokaffee. -[info][2025/07/02 16:03:36]: nordi requested all items. -[info][2025/07/02 16:03:40]: nordi requested item vehicletracker. -[info][2025/07/02 16:04:10]: nordi requested all items. -[info][2025/07/02 16:04:16]: nordi requested item vehicletrackertablet. -[info][2025/07/02 16:06:28]: nordi requested all items. -[info][2025/07/02 18:09:57]: nordi requested item list. -[info][2025/07/02 18:10:18]: nordi requested create item fontain4. -[info][2025/07/02 18:10:18]: nordi successfully created item fontain4. -[info][2025/07/02 18:10:18]: nordi requested all items. -[info][2025/07/02 18:15:16]: nordi requested item firework3. -[info][2025/07/02 18:16:05]: nordi requested save item firework3. -[info][2025/07/02 18:16:05]: nordi successfully saved item firework3. -[info][2025/07/02 18:16:07]: nordi requested all items. -[info][2025/07/02 18:16:18]: nordi requested item firework4. -[info][2025/07/02 18:16:27]: nordi requested save item firework4. -[info][2025/07/02 18:16:27]: nordi successfully saved item firework4. -[info][2025/07/02 18:16:38]: nordi requested save item firework4. -[info][2025/07/02 18:16:38]: nordi successfully saved item firework4. -[info][2025/07/02 18:16:39]: nordi requested all items. -[info][2025/07/02 18:16:54]: nordi requested item firework2. -[info][2025/07/02 18:17:05]: nordi requested save item firework2. -[info][2025/07/02 18:17:05]: nordi successfully saved item firework2. -[info][2025/07/02 18:17:07]: nordi requested all items. -[info][2025/07/02 18:19:26]: nordi requested item firework1. -[info][2025/07/02 18:19:39]: nordi requested save item firework1. -[info][2025/07/02 18:19:40]: nordi successfully saved item firework1. -[info][2025/07/02 18:20:07]: nordi requested all items. -[info][2025/07/02 18:20:29]: nordi requested item fontain4. -[info][2025/07/02 18:20:44]: nordi uplaoded item image fontain4.png. -[info][2025/07/02 18:20:56]: nordi requested save item fontain4. -[info][2025/07/02 18:20:56]: nordi successfully saved item fontain4. -[info][2025/07/02 18:21:03]: nordi requested save item fontain4. -[info][2025/07/02 18:21:03]: nordi successfully saved item fontain4. -[info][2025/07/02 18:21:05]: nordi requested all items. -[info][2025/07/02 22:15:06]: campers requested all jobs. diff --git a/resources/[tools]/unlimited-spectre/unlWeb/logs/game.log b/resources/[tools]/unlimited-spectre/unlWeb/logs/game.log deleted file mode 100644 index b2a00000d..000000000 --- a/resources/[tools]/unlimited-spectre/unlWeb/logs/game.log +++ /dev/null @@ -1,4377 +0,0 @@ -[info][2025/04/25 13:32:54]: Andre Meraki got killed by Seppl McCollin with Explosion causing 9999 damage. -[info][2025/04/26 10:49:06]: Seppl McCollin got hit by Seppl McCollin with Fist causing 14 damage. -[info][2025/04/26 10:49:07]: Seppl McCollin got hit by Seppl McCollin with Fist causing 14 damage. -[info][2025/04/26 10:49:43]: Seppl McCollin got hit by Seppl McCollin with Fist causing 14 damage. -[info][2025/04/26 14:00:58]: Andre Meraki got hit by Andre Meraki with Fist causing 16 damage. -[info][2025/04/26 23:15:40]: campers requested all waypoints. -[info][2025/04/26 23:26:33]: tim requested all waypoints. -[info][2025/04/26 23:27:04]: tim requested all waypoints. -[info][2025/04/27 00:32:14]: nordi requested all waypoints. -[info][2025/04/27 01:36:57]: Seppl McCollin Jr. aimed at Demon Campers with Heavy Sniper. -[info][2025/04/27 18:30:07]: tim requested all waypoints. -[info][2025/04/27 18:31:01]: Kimberly Smith aimed at Mark Roderx with Special Carbine. -[info][2025/04/27 18:31:05]: Kimberly Smith aimed at Mark Roderx with Special Carbine. -[info][2025/04/27 18:31:35]: Kimberly Smith aimed at Mark Roderx with Special Carbine. -[info][2025/04/27 18:31:39]: Mark Roderx got hit by Kimberly Smith with Special Carbine causing 27 damage. -[info][2025/04/27 18:32:57]: Kimberly Smith aimed at Mark Roderx with Special Carbine. -[info][2025/04/27 18:33:06]: Kimberly Smith aimed at Mark Roderx with Special Carbine. -[info][2025/04/27 18:33:07]: Mark Roderx got hit by Kimberly Smith with Special Carbine causing 27 damage. -[info][2025/04/27 18:33:09]: Mark Roderx got hit by Kimberly Smith with Special Carbine causing 27 damage. -[info][2025/04/27 18:33:11]: Mark Roderx got hit by Kimberly Smith with Special Carbine causing 27 damage. -[info][2025/04/27 18:33:17]: Mark Roderx got killed by Kimberly Smith with Special Carbine causing 27 damage. -[info][2025/04/27 18:33:55]: Kimberly Smith aimed at Mark Roderx with Special Carbine. -[info][2025/04/27 18:34:01]: Mark Roderx got killed by Kimberly Smith with Special Carbine causing 523 damage. -[info][2025/04/27 18:34:17]: Kimberly Smith aimed at Mark Roderx with Special Carbine. -[info][2025/04/27 21:11:30]: Kimberly Smith aimed at Demon Campers with Combat Pistol. -[info][2025/04/27 21:11:36]: Kimberly Smith aimed at Demon Campers with Combat Pistol. -[info][2025/04/27 21:11:39]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 26 damage. -[info][2025/04/27 21:11:40]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:11:41]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:11:42]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:11:43]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:11:44]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:11:45]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:11:46]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:11:52]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:11:53]: Demon Campers got killed by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:12:10]: Kimberly Smith aimed at Demon Campers with Combat Pistol. -[info][2025/04/27 21:12:11]: Demon Campers got killed by Kimberly Smith with Combat Pistol causing 198 damage. -[info][2025/04/27 21:13:06]: Kimberly Smith aimed at Demon Campers with Pump Shotgun. -[info][2025/04/27 21:13:25]: Kimberly Smith aimed at Demon Campers with Pump Shotgun. -[info][2025/04/27 21:13:35]: Kimberly Smith aimed at Demon Campers with Pump Shotgun. -[info][2025/04/27 21:13:36]: Demon Campers got killed by Kimberly Smith with Pump Shotgun causing 224 damage. -[info][2025/04/27 21:13:59]: Kimberly Smith aimed at Demon Campers with Pump Shotgun. -[info][2025/04/27 21:14:01]: Demon Campers got killed by Kimberly Smith with Pump Shotgun causing 176 damage. -[info][2025/04/27 21:14:20]: Kimberly Smith aimed at Demon Campers with Pump Shotgun. -[info][2025/04/27 21:14:21]: Demon Campers got killed by Kimberly Smith with Pump Shotgun causing 122 damage. -[info][2025/04/27 21:14:48]: Kimberly Smith aimed at Demon Campers with Bullpup Rifle. -[info][2025/04/27 21:14:54]: Demon Campers got hit by Kimberly Smith with Bullpup Rifle causing 31 damage. -[info][2025/04/27 21:14:54]: Demon Campers got hit by Kimberly Smith with Bullpup Rifle causing 27 damage. -[info][2025/04/27 21:14:55]: Demon Campers got hit by Kimberly Smith with Bullpup Rifle causing 27 damage. -[info][2025/04/27 21:14:56]: Demon Campers got killed by Kimberly Smith with Bullpup Rifle causing 27 damage. -[info][2025/04/27 21:15:07]: Kimberly Smith aimed at Demon Campers with Bullpup Rifle. -[info][2025/04/27 21:15:07]: Demon Campers got hit by Kimberly Smith with Bullpup Rifle causing 27 damage. -[info][2025/04/27 21:15:08]: Demon Campers got hit by Kimberly Smith with Bullpup Rifle causing 27 damage. -[info][2025/04/27 21:15:09]: Demon Campers got hit by Kimberly Smith with Bullpup Rifle causing 27 damage. -[info][2025/04/27 21:15:10]: Demon Campers got killed by Kimberly Smith with Bullpup Rifle causing 27 damage. -[info][2025/04/27 21:16:41]: Kimberly Smith aimed at Demon Campers with Bullpup Rifle. -[info][2025/04/27 21:16:44]: Kimberly Smith aimed at Demon Campers with Bullpup Rifle. -[info][2025/04/27 21:16:45]: Demon Campers got hit by Kimberly Smith with Bullpup Rifle causing 27 damage. -[info][2025/04/27 21:16:46]: Demon Campers got hit by Kimberly Smith with Bullpup Rifle causing 24 damage. -[info][2025/04/27 21:16:46]: Demon Campers got hit by Kimberly Smith with Bullpup Rifle causing 24 damage. -[info][2025/04/27 21:16:47]: Demon Campers got hit by Kimberly Smith with Bullpup Rifle causing 24 damage. -[info][2025/04/27 21:16:48]: Demon Campers got killed by Kimberly Smith with Bullpup Rifle causing 24 damage. -[info][2025/04/27 21:17:49]: Demon Campers got hit by Kimberly Smith with Fist causing 20 damage. -[info][2025/04/27 21:18:01]: Kimberly Smith aimed at Demon Campers with Pump Shotgun. -[info][2025/04/27 21:18:04]: Kimberly Smith aimed at Demon Campers with Pump Shotgun. -[info][2025/04/27 21:18:05]: Demon Campers got killed by Kimberly Smith with Pump Shotgun causing 176 damage. -[info][2025/04/27 21:18:41]: Kimberly Smith aimed at Demon Campers with Pump Shotgun. -[info][2025/04/27 21:18:42]: Demon Campers got killed by Kimberly Smith with Pump Shotgun causing 128 damage. -[info][2025/04/27 21:28:23]: Kimberly Smith aimed at Demon Campers with Pump Shotgun. -[info][2025/04/27 21:28:28]: Demon Campers got killed by Kimberly Smith with Pump Shotgun causing 224 damage. -[info][2025/04/27 21:29:32]: Kimberly Smith aimed at Demon Campers with Pump Shotgun. -[info][2025/04/27 21:29:32]: Demon Campers got hit by Kimberly Smith with Pump Shotgun causing 80 damage. -[info][2025/04/27 21:29:35]: Demon Campers got hit by Kimberly Smith with Pump Shotgun causing 8 damage. -[info][2025/04/27 21:29:36]: Demon Campers got hit by Kimberly Smith with Pump Shotgun causing 8 damage. -[info][2025/04/27 21:29:37]: Demon Campers got killed by Kimberly Smith with Pump Shotgun causing 8 damage. -[info][2025/04/27 21:30:21]: Kimberly Smith aimed at Demon Campers with Pump Shotgun. -[info][2025/04/27 21:30:25]: Kimberly Smith aimed at Demon Campers with Pump Shotgun. -[info][2025/04/27 21:30:26]: Demon Campers got hit by Kimberly Smith with Pump Shotgun causing 8 damage. -[info][2025/04/27 21:30:28]: Demon Campers got hit by Kimberly Smith with Pump Shotgun causing 8 damage. -[info][2025/04/27 21:30:29]: Demon Campers got hit by Kimberly Smith with Pump Shotgun causing 8 damage. -[info][2025/04/27 21:30:30]: Demon Campers got hit by Kimberly Smith with Pump Shotgun causing 8 damage. -[info][2025/04/27 21:30:31]: Demon Campers got hit by Kimberly Smith with Pump Shotgun causing 8 damage. -[info][2025/04/27 21:30:33]: Demon Campers got hit by Kimberly Smith with Pump Shotgun causing 8 damage. -[info][2025/04/27 21:30:34]: Demon Campers got hit by Kimberly Smith with Pump Shotgun causing 8 damage. -[info][2025/04/27 21:30:35]: Demon Campers got hit by Kimberly Smith with Pump Shotgun causing 8 damage. -[info][2025/04/27 21:30:36]: Kimberly Smith aimed at Demon Campers with Pump Shotgun. -[info][2025/04/27 21:31:24]: Kimberly Smith aimed at Demon Campers with Pump Shotgun. -[info][2025/04/27 21:31:26]: Kimberly Smith aimed at Demon Campers with Pump Shotgun. -[info][2025/04/27 21:31:27]: Demon Campers got hit by Kimberly Smith with Pump Shotgun causing 8 damage. -[info][2025/04/27 21:31:28]: Demon Campers got hit by Kimberly Smith with Pump Shotgun causing 8 damage. -[info][2025/04/27 21:31:29]: Demon Campers got hit by Kimberly Smith with Pump Shotgun causing 8 damage. -[info][2025/04/27 21:31:30]: Demon Campers got hit by Kimberly Smith with Pump Shotgun causing 8 damage. -[info][2025/04/27 21:31:31]: Demon Campers got hit by Kimberly Smith with Pump Shotgun causing 8 damage. -[info][2025/04/27 21:31:31]: Demon Campers got hit by Kimberly Smith with Pump Shotgun causing 8 damage. -[info][2025/04/27 21:32:24]: Kimberly Smith aimed at Demon Campers with Pump Shotgun. -[info][2025/04/27 21:32:27]: Kimberly Smith aimed at Demon Campers with Pump Shotgun. -[info][2025/04/27 21:32:28]: Demon Campers got hit by Kimberly Smith with Pump Shotgun causing 8 damage. -[info][2025/04/27 21:32:29]: Demon Campers got hit by Kimberly Smith with Pump Shotgun causing 32 damage. -[info][2025/04/27 21:32:31]: Demon Campers got hit by Kimberly Smith with Pump Shotgun causing 32 damage. -[info][2025/04/27 21:32:31]: Kimberly Smith aimed at Demon Campers with Pump Shotgun. -[info][2025/04/27 21:32:32]: Demon Campers got killed by Kimberly Smith with Pump Shotgun causing 32 damage. -[info][2025/04/27 21:33:18]: Kimberly Smith aimed at Demon Campers with Pump Shotgun. -[info][2025/04/27 21:33:26]: Kimberly Smith aimed at Demon Campers with Pump Shotgun. -[info][2025/04/27 21:33:26]: Demon Campers got hit by Kimberly Smith with Pump Shotgun causing 32 damage. -[info][2025/04/27 21:33:27]: Demon Campers got killed by Kimberly Smith with Pump Shotgun causing 128 damage. -[info][2025/04/27 21:35:20]: Kimberly Smith aimed at Demon Campers with Pump Shotgun. -[info][2025/04/27 21:35:22]: Demon Campers got killed by Kimberly Smith with Pump Shotgun causing 128 damage. -[info][2025/04/27 21:35:23]: Demon Campers got killed by Kimberly Smith with Pump Shotgun causing 128 damage. -[info][2025/04/27 21:36:45]: Kimberly Smith aimed at Demon Campers with Combat Pistol. -[info][2025/04/27 21:37:07]: Kimberly Smith aimed at Demon Campers with Combat Pistol. -[info][2025/04/27 21:37:11]: Kimberly Smith aimed at Demon Campers with Combat Pistol. -[info][2025/04/27 21:37:17]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 26 damage. -[info][2025/04/27 21:37:18]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:37:18]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:37:19]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:37:20]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:37:20]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:37:21]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:37:21]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:37:22]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:37:22]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:37:23]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:37:23]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:37:43]: Kimberly Smith aimed at Demon Campers with Combat Pistol. -[info][2025/04/27 21:37:54]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:37:54]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:37:55]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:37:55]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:37:56]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:37:57]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:37:57]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:37:58]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:37:58]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:37:59]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:37:59]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:38:00]: Demon Campers got killed by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:39:19]: Kimberly Smith aimed at Demon Campers with Combat Pistol. -[info][2025/04/27 21:39:20]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:39:20]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:39:21]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:39:22]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:39:22]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:39:23]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:39:24]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:39:24]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:39:25]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:39:26]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:39:26]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:39:27]: Demon Campers got killed by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:39:51]: Kimberly Smith aimed at Demon Campers with Combat Pistol. -[info][2025/04/27 21:39:55]: Kimberly Smith aimed at Demon Campers with Combat Pistol. -[info][2025/04/27 21:39:56]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:39:57]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:39:57]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:39:57]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:39:58]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:39:58]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:39:59]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:39:59]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:40:00]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:40:00]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:40:01]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:40:01]: Demon Campers got killed by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:40:23]: Kimberly Smith aimed at Demon Campers with Combat Pistol. -[info][2025/04/27 21:40:33]: Kimberly Smith aimed at Demon Campers with Combat Pistol. -[info][2025/04/27 21:40:34]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:40:34]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:40:34]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:40:35]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:40:35]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:40:36]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:40:36]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:40:37]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:40:37]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:40:38]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:40:39]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:40:39]: Demon Campers got killed by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:41:00]: Kimberly Smith aimed at Demon Campers with Combat Pistol. -[info][2025/04/27 21:41:03]: Kimberly Smith aimed at Demon Campers with Combat Pistol. -[info][2025/04/27 21:41:04]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:41:04]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:41:05]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:41:05]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:41:06]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:41:07]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:41:07]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:41:08]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:41:09]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:41:09]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:41:10]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:41:11]: Demon Campers got killed by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:41:42]: Kimberly Smith aimed at Demon Campers with Combat Pistol. -[info][2025/04/27 21:41:45]: Kimberly Smith aimed at Demon Campers with Combat Pistol. -[info][2025/04/27 21:41:46]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 9 damage. -[info][2025/04/27 21:41:46]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 20 damage. -[info][2025/04/27 21:41:47]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 20 damage. -[info][2025/04/27 21:41:47]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 20 damage. -[info][2025/04/27 21:41:48]: Demon Campers got hit by Kimberly Smith with Combat Pistol causing 20 damage. -[info][2025/04/27 21:41:49]: Demon Campers got killed by Kimberly Smith with Combat Pistol causing 20 damage. -[info][2025/04/27 21:44:39]: Demon Campers aimed at Kimberly Smith with Pistol. -[info][2025/04/27 21:44:54]: Demon Campers aimed at Kimberly Smith with Pistol. -[info][2025/04/27 21:45:00]: Kimberly Smith got hit by Demon Campers with Pistol causing 25 damage. -[info][2025/04/27 21:45:01]: Kimberly Smith got hit by Demon Campers with Pistol causing 25 damage. -[info][2025/04/27 21:45:02]: Kimberly Smith got hit by Demon Campers with Pistol causing 25 damage. -[info][2025/04/27 21:45:03]: Kimberly Smith got hit by Demon Campers with Pistol causing 25 damage. -[info][2025/04/27 21:45:03]: Kimberly Smith got hit by Demon Campers with Pistol causing 25 damage. -[info][2025/04/27 21:45:04]: Kimberly Smith got hit by Demon Campers with Pistol causing 25 damage. -[info][2025/04/27 21:45:05]: Kimberly Smith got killed by Demon Campers with Pistol causing 25 damage. -[info][2025/04/27 21:46:09]: Demon Campers aimed at Kimberly Smith with Pistol. -[info][2025/04/27 21:46:13]: Kimberly Smith got hit by Demon Campers with Pistol causing 25 damage. -[info][2025/04/27 21:46:14]: Kimberly Smith got hit by Demon Campers with Pistol causing 19 damage. -[info][2025/04/27 21:46:15]: Kimberly Smith got hit by Demon Campers with Pistol causing 19 damage. -[info][2025/04/27 21:46:16]: Kimberly Smith got killed by Demon Campers with Pistol causing 19 damage. -[info][2025/04/27 21:47:12]: Demon Campers aimed at Kimberly Smith with Pistol. -[info][2025/04/27 21:47:17]: Kimberly Smith got hit by Demon Campers with Pistol causing 19 damage. -[info][2025/04/27 21:47:17]: Kimberly Smith got hit by Demon Campers with Pistol causing 14 damage. -[info][2025/04/27 21:47:18]: Kimberly Smith got hit by Demon Campers with Pistol causing 14 damage. -[info][2025/04/27 21:47:19]: Kimberly Smith got hit by Demon Campers with Pistol causing 14 damage. -[info][2025/04/27 21:47:20]: Kimberly Smith got killed by Demon Campers with Pistol causing 14 damage. -[info][2025/04/27 21:48:36]: Demon Campers aimed at Kimberly Smith with Pistol. -[info][2025/04/27 21:48:37]: Kimberly Smith got hit by Demon Campers with Pistol causing 14 damage. -[info][2025/04/27 21:48:38]: Kimberly Smith got hit by Demon Campers with Pistol causing 12 damage. -[info][2025/04/27 21:48:39]: Kimberly Smith got hit by Demon Campers with Pistol causing 12 damage. -[info][2025/04/27 21:48:39]: Kimberly Smith got hit by Demon Campers with Pistol causing 12 damage. -[info][2025/04/27 21:48:40]: Kimberly Smith got hit by Demon Campers with Pistol causing 12 damage. -[info][2025/04/27 21:48:41]: Kimberly Smith got hit by Demon Campers with Pistol causing 12 damage. -[info][2025/04/27 21:48:42]: Kimberly Smith got killed by Demon Campers with Pistol causing 12 damage. -[info][2025/04/27 21:49:23]: Demon Campers aimed at Kimberly Smith with Pistol. -[info][2025/04/27 21:49:29]: Demon Campers aimed at Kimberly Smith with Pistol. -[info][2025/04/27 21:49:30]: Kimberly Smith got hit by Demon Campers with Pistol causing 12 damage. -[info][2025/04/27 21:49:31]: Kimberly Smith got hit by Demon Campers with Pistol causing 12 damage. -[info][2025/04/27 21:49:32]: Kimberly Smith got hit by Demon Campers with Pistol causing 12 damage. -[info][2025/04/27 21:49:33]: Kimberly Smith got hit by Demon Campers with Pistol causing 12 damage. -[info][2025/04/27 21:49:34]: Kimberly Smith got hit by Demon Campers with Pistol causing 12 damage. -[info][2025/04/27 21:49:35]: Kimberly Smith got hit by Demon Campers with Pistol causing 12 damage. -[info][2025/04/27 21:49:36]: Kimberly Smith got killed by Demon Campers with Pistol causing 12 damage. -[info][2025/04/27 21:50:07]: Demon Campers aimed at Kimberly Smith with Pistol. -[info][2025/04/27 21:50:13]: Kimberly Smith got hit by Demon Campers with Pistol causing 12 damage. -[info][2025/04/27 21:50:14]: Kimberly Smith got hit by Demon Campers with Pistol causing 14 damage. -[info][2025/04/27 21:50:15]: Kimberly Smith got hit by Demon Campers with Pistol causing 14 damage. -[info][2025/04/27 21:50:16]: Kimberly Smith got hit by Demon Campers with Pistol causing 14 damage. -[info][2025/04/27 21:50:17]: Kimberly Smith got hit by Demon Campers with Pistol causing 14 damage. -[info][2025/04/27 21:50:18]: Kimberly Smith got killed by Demon Campers with Pistol causing 14 damage. -[info][2025/04/27 21:51:12]: Demon Campers aimed at Kimberly Smith with Heavy Revolver. -[info][2025/04/27 21:51:17]: Kimberly Smith got killed by Demon Campers with Heavy Revolver causing 159 damage. -[info][2025/04/27 21:51:47]: Demon Campers aimed at Kimberly Smith with Heavy Revolver. -[info][2025/04/27 21:51:50]: Kimberly Smith got hit by Demon Campers with Heavy Revolver causing 95 damage. -[info][2025/04/27 21:53:05]: Demon Campers aimed at Kimberly Smith with Heavy Revolver. -[info][2025/04/27 21:53:09]: Kimberly Smith got hit by Demon Campers with Heavy Revolver causing 63 damage. -[info][2025/04/27 21:53:12]: Kimberly Smith got killed by Demon Campers with Heavy Revolver causing 31 damage. -[info][2025/04/27 21:53:43]: Demon Campers aimed at Kimberly Smith with Heavy Revolver. -[info][2025/04/27 21:53:44]: Kimberly Smith got hit by Demon Campers with Heavy Revolver causing 31 damage. -[info][2025/04/27 21:53:46]: Kimberly Smith got hit by Demon Campers with Heavy Revolver causing 31 damage. -[info][2025/04/27 21:53:48]: Kimberly Smith got killed by Demon Campers with Heavy Revolver causing 31 damage. -[info][2025/04/27 21:53:49]: Demon Campers aimed at Kimberly Smith with Heavy Revolver. -[info][2025/04/27 21:57:14]: Kimberly Smith aimed at Demon Campers with Heavy Pistol. -[info][2025/04/27 21:57:17]: Kimberly Smith aimed at Demon Campers with Heavy Pistol. -[info][2025/04/27 21:57:18]: Demon Campers got hit by Kimberly Smith with Heavy Pistol causing 39 damage. -[info][2025/04/27 21:57:19]: Demon Campers got hit by Kimberly Smith with Heavy Pistol causing 23 damage. -[info][2025/04/27 21:57:20]: Demon Campers got hit by Kimberly Smith with Heavy Pistol causing 23 damage. -[info][2025/04/27 21:57:21]: Demon Campers got killed by Kimberly Smith with Heavy Pistol causing 23 damage. -[info][2025/04/27 21:59:02]: Kimberly Smith aimed at Demon Campers with SNS Pistol. -[info][2025/04/27 21:59:26]: Kimberly Smith aimed at Demon Campers with SNS Pistol. -[info][2025/04/27 21:59:29]: Kimberly Smith aimed at Demon Campers with SNS Pistol. -[info][2025/04/27 21:59:35]: Kimberly Smith aimed at Demon Campers with SNS Pistol. -[info][2025/04/27 21:59:35]: Demon Campers got hit by Kimberly Smith with SNS Pistol causing 24 damage. -[info][2025/04/27 21:59:36]: Demon Campers got hit by Kimberly Smith with SNS Pistol causing 6 damage. -[info][2025/04/27 21:59:36]: Demon Campers got hit by Kimberly Smith with SNS Pistol causing 6 damage. -[info][2025/04/27 21:59:37]: Demon Campers got hit by Kimberly Smith with SNS Pistol causing 6 damage. -[info][2025/04/27 21:59:37]: Demon Campers got hit by Kimberly Smith with SNS Pistol causing 6 damage. -[info][2025/04/27 21:59:38]: Demon Campers got hit by Kimberly Smith with SNS Pistol causing 6 damage. -[info][2025/04/27 21:59:41]: Kimberly Smith aimed at Demon Campers with SNS Pistol. -[info][2025/04/27 21:59:43]: Demon Campers got hit by Kimberly Smith with SNS Pistol causing 6 damage. -[info][2025/04/27 21:59:44]: Demon Campers got hit by Kimberly Smith with SNS Pistol causing 6 damage. -[info][2025/04/27 21:59:44]: Demon Campers got hit by Kimberly Smith with SNS Pistol causing 6 damage. -[info][2025/04/27 21:59:45]: Demon Campers got hit by Kimberly Smith with SNS Pistol causing 6 damage. -[info][2025/04/27 21:59:45]: Demon Campers got hit by Kimberly Smith with SNS Pistol causing 6 damage. -[info][2025/04/27 21:59:46]: Demon Campers got hit by Kimberly Smith with SNS Pistol causing 6 damage. -[info][2025/04/27 22:00:18]: Kimberly Smith aimed at Demon Campers with SNS Pistol. -[info][2025/04/27 22:00:21]: Kimberly Smith aimed at Demon Campers with SNS Pistol. -[info][2025/04/27 22:00:22]: Demon Campers got hit by Kimberly Smith with SNS Pistol causing 6 damage. -[info][2025/04/27 22:00:23]: Demon Campers got hit by Kimberly Smith with SNS Pistol causing 11 damage. -[info][2025/04/27 22:00:23]: Demon Campers got hit by Kimberly Smith with SNS Pistol causing 11 damage. -[info][2025/04/27 22:00:24]: Demon Campers got hit by Kimberly Smith with SNS Pistol causing 11 damage. -[info][2025/04/27 22:00:24]: Demon Campers got hit by Kimberly Smith with SNS Pistol causing 11 damage. -[info][2025/04/27 22:00:25]: Demon Campers got hit by Kimberly Smith with SNS Pistol causing 11 damage. -[info][2025/04/27 22:00:27]: Kimberly Smith aimed at Demon Campers with SNS Pistol. -[info][2025/04/27 22:00:28]: Demon Campers got hit by Kimberly Smith with SNS Pistol causing 11 damage. -[info][2025/04/27 22:00:28]: Demon Campers got hit by Kimberly Smith with SNS Pistol causing 11 damage. -[info][2025/04/27 22:00:29]: Demon Campers got hit by Kimberly Smith with SNS Pistol causing 11 damage. -[info][2025/04/27 22:00:29]: Demon Campers got killed by Kimberly Smith with SNS Pistol causing 11 damage. -[info][2025/04/27 22:06:25]: Demon Campers aimed at Kimberly Smith with Pistol .50. -[info][2025/04/27 22:06:30]: Kimberly Smith got hit by Demon Campers with Pistol .50 causing 29 damage. -[info][2025/04/27 22:06:32]: Kimberly Smith got hit by Demon Campers with Pistol .50 causing 29 damage. -[info][2025/04/27 22:06:33]: Kimberly Smith got killed by Demon Campers with Pistol .50 causing 29 damage. -[info][2025/04/27 22:07:23]: Kimberly Smith got hit by Demon Campers with Pistol .50 causing 29 damage. -[info][2025/04/27 22:07:23]: Demon Campers aimed at Kimberly Smith with Pistol .50. -[info][2025/04/27 22:07:24]: Kimberly Smith got hit by Demon Campers with Pistol .50 causing 24 damage. -[info][2025/04/27 22:07:25]: Kimberly Smith got killed by Demon Campers with Pistol .50 causing 24 damage. -[info][2025/04/27 22:08:03]: Demon Campers aimed at Kimberly Smith with Pistol .50. -[info][2025/04/27 22:08:05]: Kimberly Smith got hit by Demon Campers with Pistol .50 causing 24 damage. -[info][2025/04/27 22:08:06]: Kimberly Smith got hit by Demon Campers with Pistol .50 causing 19 damage. -[info][2025/04/27 22:08:07]: Kimberly Smith got hit by Demon Campers with Pistol .50 causing 19 damage. -[info][2025/04/27 22:08:09]: Kimberly Smith got killed by Demon Campers with Pistol .50 causing 19 damage. -[info][2025/04/27 23:04:14]: Kimberly Smith aimed at Demon Campers with Marksman Rifle. -[info][2025/04/27 23:04:19]: Kimberly Smith aimed at Demon Campers with Marksman Rifle. -[info][2025/04/27 23:09:50]: Kimberly Smith aimed at Demon Campers with Marksman Rifle. -[info][2025/04/27 23:17:29]: Demon Campers aimed at Kimberly Smith with Marksman Rifle. -[info][2025/04/27 23:17:34]: Demon Campers aimed at Kimberly Smith with Marksman Rifle. -[info][2025/04/27 23:17:34]: Kimberly Smith got killed by Demon Campers with Marksman Rifle causing 1480 damage. -[info][2025/04/27 23:17:54]: Demon Campers aimed at Kimberly Smith with Marksman Rifle. -[info][2025/04/27 23:17:57]: Kimberly Smith got hit by Demon Campers with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:18:00]: Demon Campers aimed at Kimberly Smith with Marksman Rifle. -[info][2025/04/27 23:18:00]: Kimberly Smith got hit by Demon Campers with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:18:03]: Kimberly Smith got hit by Demon Campers with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:18:04]: Demon Campers aimed at Kimberly Smith with Marksman Rifle. -[info][2025/04/27 23:18:09]: Demon Campers aimed at Kimberly Smith with Marksman Rifle. -[info][2025/04/27 23:18:09]: Kimberly Smith got hit by Demon Campers with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:18:11]: Kimberly Smith got hit by Demon Campers with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:18:12]: Kimberly Smith got hit by Demon Campers with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:18:19]: Demon Campers aimed at Kimberly Smith with Marksman Rifle. -[info][2025/04/27 23:18:22]: Kimberly Smith got hit by Demon Campers with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:18:26]: Demon Campers aimed at Kimberly Smith with Marksman Rifle. -[info][2025/04/27 23:18:46]: Demon Campers aimed at Kimberly Smith with Marksman Rifle. -[info][2025/04/27 23:18:47]: Kimberly Smith got hit by Demon Campers with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:18:49]: Kimberly Smith got hit by Demon Campers with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:18:50]: Kimberly Smith got hit by Demon Campers with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:18:51]: Kimberly Smith got hit by Demon Campers with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:18:53]: Kimberly Smith got hit by Demon Campers with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:18:54]: Kimberly Smith got hit by Demon Campers with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:18:55]: Kimberly Smith got hit by Demon Campers with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:18:56]: Kimberly Smith got hit by Demon Campers with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:19:00]: Demon Campers aimed at Kimberly Smith with Marksman Rifle. -[info][2025/04/27 23:19:01]: Kimberly Smith got hit by Demon Campers with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:19:02]: Kimberly Smith got hit by Demon Campers with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:19:04]: Demon Campers aimed at Kimberly Smith with Marksman Rifle. -[info][2025/04/27 23:19:31]: Kimberly Smith got hit by Demon Campers with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:19:31]: Demon Campers aimed at Kimberly Smith with Marksman Rifle. -[info][2025/04/27 23:19:32]: Kimberly Smith got hit by Demon Campers with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:19:32]: Kimberly Smith got hit by Demon Campers with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:19:33]: Kimberly Smith got hit by Demon Campers with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:19:34]: Kimberly Smith got hit by Demon Campers with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:19:35]: Kimberly Smith got hit by Demon Campers with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:19:36]: Kimberly Smith got hit by Demon Campers with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:19:36]: Kimberly Smith got hit by Demon Campers with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:19:41]: Demon Campers aimed at Kimberly Smith with Marksman Rifle. -[info][2025/04/27 23:19:41]: Kimberly Smith got hit by Demon Campers with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:19:42]: Kimberly Smith got hit by Demon Campers with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:20:05]: Demon Campers aimed at Kimberly Smith with Marksman Rifle. -[info][2025/04/27 23:20:06]: Kimberly Smith got hit by Demon Campers with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:20:06]: Kimberly Smith got hit by Demon Campers with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:20:49]: Demon Campers aimed at Kimberly Smith with Marksman Rifle. -[info][2025/04/27 23:20:49]: Kimberly Smith got hit by Demon Campers with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:20:52]: Kimberly Smith got hit by Demon Campers with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:20:53]: Kimberly Smith got hit by Demon Campers with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:20:54]: Demon Campers aimed at Kimberly Smith with Marksman Rifle. -[info][2025/04/27 23:20:54]: Kimberly Smith got hit by Demon Campers with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:20:56]: Kimberly Smith got hit by Demon Campers with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:20:57]: Demon Campers aimed at Kimberly Smith with Marksman Rifle. -[info][2025/04/27 23:20:58]: Kimberly Smith got hit by Demon Campers with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:20:59]: Kimberly Smith got hit by Demon Campers with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:21:18]: Demon Campers aimed at Kimberly Smith with Marksman Rifle. -[info][2025/04/27 23:21:21]: Kimberly Smith got hit by Demon Campers with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:21:22]: Demon Campers aimed at Kimberly Smith with Marksman Rifle. -[info][2025/04/27 23:21:22]: Kimberly Smith got hit by Demon Campers with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:27:03]: Kimberly Smith aimed at Demon Campers with Marksman Rifle. -[info][2025/04/27 23:27:04]: Demon Campers got hit by Kimberly Smith with Marksman Rifle causing 89 damage. -[info][2025/04/27 23:27:06]: Kimberly Smith aimed at Demon Campers with Marksman Rifle. -[info][2025/04/27 23:27:08]: Demon Campers got hit by Kimberly Smith with Marksman Rifle causing 80 damage. -[info][2025/04/27 23:27:10]: Demon Campers got killed by Kimberly Smith with Marksman Rifle causing 80 damage. -[info][2025/04/27 23:27:57]: Kimberly Smith aimed at Demon Campers with Marksman Rifle. -[info][2025/04/27 23:27:57]: Demon Campers got killed by Kimberly Smith with Marksman Rifle causing 1434 damage. -[info][2025/04/27 23:28:43]: Demon Campers aimed at Kimberly Smith with Heavy Revolver. -[info][2025/04/27 23:28:50]: Kimberly Smith got killed by Demon Campers with Heavy Revolver causing 2293 damage. -[info][2025/04/27 23:36:06]: Kimberly Smith aimed at Demon Campers with Marksman Rifle. -[info][2025/04/27 23:36:08]: Demon Campers got hit by Kimberly Smith with Marksman Rifle causing 80 damage. -[info][2025/04/27 23:36:10]: Demon Campers got killed by Kimberly Smith with Marksman Rifle causing 80 damage. -[info][2025/04/27 23:37:50]: Demon Campers got hit by Kimberly Smith with Marksman Rifle causing 80 damage. -[info][2025/04/27 23:37:52]: Demon Campers got killed by Kimberly Smith with Marksman Rifle causing 35 damage. -[info][2025/04/27 23:38:18]: Demon Campers got hit by Kimberly Smith with Marksman Rifle causing 35 damage. -[info][2025/04/27 23:38:20]: Demon Campers got hit by Kimberly Smith with Marksman Rifle causing 17 damage. -[info][2025/04/27 23:38:21]: Demon Campers got hit by Kimberly Smith with Marksman Rifle causing 17 damage. -[info][2025/04/27 23:38:23]: Demon Campers got hit by Kimberly Smith with Marksman Rifle causing 17 damage. -[info][2025/04/27 23:38:26]: Demon Campers got killed by Kimberly Smith with Marksman Rifle causing 17 damage. -[info][2025/04/27 23:41:31]: Demon Campers got killed by Kimberly Smith with Sniper Rifle causing 100 damage. -[info][2025/04/27 23:42:06]: Demon Campers got hit by Kimberly Smith with Sniper Rifle causing 89 damage. -[info][2025/04/27 23:42:09]: Demon Campers got killed by Kimberly Smith with Sniper Rifle causing 89 damage. -[info][2025/04/27 23:42:34]: Demon Campers got hit by Kimberly Smith with Sniper Rifle causing 89 damage. -[info][2025/04/27 23:42:37]: Demon Campers got killed by Kimberly Smith with Sniper Rifle causing 59 damage. -[info][2025/04/27 23:43:17]: Demon Campers got hit by Kimberly Smith with Sniper Rifle causing 59 damage. -[info][2025/04/27 23:43:20]: Demon Campers got hit by Kimberly Smith with Sniper Rifle causing 39 damage. -[info][2025/04/27 23:43:22]: Demon Campers got killed by Kimberly Smith with Sniper Rifle causing 39 damage. -[info][2025/04/27 23:46:34]: Kimberly Smith aimed at Demon Campers with Assault SMG. -[info][2025/04/27 23:46:40]: Kimberly Smith aimed at Demon Campers with Assault SMG. -[info][2025/04/27 23:47:03]: Kimberly Smith aimed at Demon Campers with Assault SMG. -[info][2025/04/27 23:47:12]: Kimberly Smith aimed at Demon Campers with Assault SMG. -[info][2025/04/27 23:47:14]: Demon Campers got hit by Kimberly Smith with Assault SMG causing 22 damage. -[info][2025/04/27 23:47:15]: Demon Campers got hit by Kimberly Smith with Assault SMG causing 12 damage. -[info][2025/04/27 23:47:15]: Demon Campers got hit by Kimberly Smith with Assault SMG causing 12 damage. -[info][2025/04/27 23:47:16]: Demon Campers got hit by Kimberly Smith with Assault SMG causing 12 damage. -[info][2025/04/27 23:47:17]: Demon Campers got hit by Kimberly Smith with Assault SMG causing 12 damage. -[info][2025/04/27 23:47:18]: Demon Campers got hit by Kimberly Smith with Assault SMG causing 12 damage. -[info][2025/04/27 23:47:19]: Demon Campers got hit by Kimberly Smith with Assault SMG causing 12 damage. -[info][2025/04/27 23:47:19]: Demon Campers got killed by Kimberly Smith with Assault SMG causing 227 damage. -[info][2025/04/27 23:52:37]: Kimberly Smith aimed at Demon Campers with Assault Rifle. -[info][2025/04/27 23:52:41]: Kimberly Smith aimed at Demon Campers with Assault Rifle. -[info][2025/04/27 23:52:41]: Demon Campers got hit by Kimberly Smith with Assault Rifle causing 29 damage. -[info][2025/04/27 23:52:42]: Demon Campers got hit by Kimberly Smith with Assault Rifle causing 23 damage. -[info][2025/04/27 23:52:42]: Demon Campers got hit by Kimberly Smith with Assault Rifle causing 23 damage. -[info][2025/04/27 23:52:43]: Demon Campers got hit by Kimberly Smith with Assault Rifle causing 23 damage. -[info][2025/04/27 23:52:44]: Demon Campers got killed by Kimberly Smith with Assault Rifle causing 23 damage. -[info][2025/04/27 23:52:45]: Kimberly Smith aimed at Demon Campers with Assault Rifle. -[info][2025/04/27 23:54:55]: Kimberly Smith aimed at Demon Campers with Carbine Rifle. -[info][2025/04/27 23:54:59]: Kimberly Smith aimed at Demon Campers with Carbine Rifle. -[info][2025/04/27 23:55:00]: Demon Campers got hit by Kimberly Smith with Carbine Rifle causing 31 damage. -[info][2025/04/27 23:55:00]: Demon Campers got hit by Kimberly Smith with Carbine Rifle causing 24 damage. -[info][2025/04/27 23:55:01]: Demon Campers got hit by Kimberly Smith with Carbine Rifle causing 24 damage. -[info][2025/04/27 23:55:01]: Demon Campers got killed by Kimberly Smith with Carbine Rifle causing 24 damage. -[info][2025/04/27 23:55:26]: Kimberly Smith aimed at Demon Campers with Carbine Rifle. -[info][2025/04/27 23:55:29]: Demon Campers got hit by Kimberly Smith with Carbine Rifle causing 24 damage. -[info][2025/04/27 23:55:30]: Demon Campers got hit by Kimberly Smith with Carbine Rifle causing 18 damage. -[info][2025/04/27 23:55:30]: Demon Campers got hit by Kimberly Smith with Carbine Rifle causing 18 damage. -[info][2025/04/27 23:55:31]: Demon Campers got hit by Kimberly Smith with Carbine Rifle causing 18 damage. -[info][2025/04/27 23:55:32]: Demon Campers got hit by Kimberly Smith with Carbine Rifle causing 18 damage. -[info][2025/04/27 23:55:33]: Demon Campers got killed by Kimberly Smith with Carbine Rifle causing 18 damage. -[info][2025/04/27 23:55:50]: Kimberly Smith aimed at Demon Campers with Carbine Rifle. -[info][2025/04/27 23:55:51]: Demon Campers got hit by Kimberly Smith with Carbine Rifle causing 18 damage. -[info][2025/04/27 23:55:51]: Demon Campers got hit by Kimberly Smith with Carbine Rifle causing 21 damage. -[info][2025/04/27 23:55:52]: Demon Campers got hit by Kimberly Smith with Carbine Rifle causing 21 damage. -[info][2025/04/27 23:55:53]: Demon Campers got hit by Kimberly Smith with Carbine Rifle causing 21 damage. -[info][2025/04/27 23:55:53]: Demon Campers got killed by Kimberly Smith with Carbine Rifle causing 21 damage. -[info][2025/04/27 23:57:26]: tim requested all waypoints. -[info][2025/04/28 00:01:27]: tim requested all waypoints. -[info][2025/04/28 02:04:52]: Kimberly Smith got hit by Alex Sophia with Fist causing 21 damage. -[info][2025/04/28 02:17:03]: Kimberly Smith got hit by Alex Sophia with Fist causing 21 damage. -[info][2025/04/28 02:19:35]: Kimberly Smith aimed at Alex Sophia with Carbine Rifle. -[info][2025/04/28 02:20:50]: Kimberly Smith got hit by Alex Sophia with Fist causing 21 damage. -[info][2025/04/28 12:15:14]: tim requested all waypoints. -[info][2025/04/28 16:13:41]: Kimberly Smith got hit by Kimberly Smith with Animal causing 37 damage. -[info][2025/04/28 16:23:32]: max requested all waypoints. -[info][2025/04/28 16:28:38]: Seppl McCollin Jr. got hit by Seppl McCollin Jr. with Animal causing 35 damage. -[info][2025/04/28 16:28:42]: Seppl McCollin Jr. got hit by Seppl McCollin Jr. with Animal causing 35 damage. -[info][2025/04/28 16:30:55]: Seppl McCollin Jr. got hit by Seppl McCollin Jr. with Animal causing 0 damage. -[info][2025/04/28 16:30:59]: Seppl McCollin Jr. got hit by Seppl McCollin Jr. with Animal causing 0 damage. -[info][2025/04/28 16:31:03]: Seppl McCollin Jr. got hit by Seppl McCollin Jr. with Animal causing 0 damage. -[info][2025/04/28 16:31:05]: Seppl McCollin Jr. got hit by Seppl McCollin Jr. with Animal causing 0 damage. -[info][2025/04/28 16:31:09]: Seppl McCollin Jr. got hit by Seppl McCollin Jr. with Animal causing 0 damage. -[info][2025/04/28 16:31:12]: Seppl McCollin Jr. got hit by Seppl McCollin Jr. with Animal causing 0 damage. -[info][2025/04/28 16:31:17]: Seppl McCollin Jr. got hit by Seppl McCollin Jr. with Animal causing 0 damage. -[info][2025/04/28 16:31:20]: Seppl McCollin Jr. got hit by Seppl McCollin Jr. with Animal causing 0 damage. -[info][2025/04/28 16:31:23]: Seppl McCollin Jr. got hit by Seppl McCollin Jr. with Animal causing 0 damage. -[info][2025/04/28 16:31:27]: Seppl McCollin Jr. got hit by Seppl McCollin Jr. with Animal causing 0 damage. -[info][2025/04/28 16:31:30]: Seppl McCollin Jr. got hit by Seppl McCollin Jr. with Animal causing 0 damage. -[info][2025/04/28 16:31:34]: Seppl McCollin Jr. got hit by Seppl McCollin Jr. with Animal causing 0 damage. -[info][2025/04/28 16:31:38]: Seppl McCollin Jr. got hit by Seppl McCollin Jr. with Animal causing 0 damage. -[info][2025/04/28 16:31:42]: Seppl McCollin Jr. got hit by Seppl McCollin Jr. with Animal causing 0 damage. -[info][2025/04/28 16:31:46]: Seppl McCollin Jr. got hit by Seppl McCollin Jr. with Animal causing 0 damage. -[info][2025/04/28 16:31:49]: Seppl McCollin Jr. got hit by Seppl McCollin Jr. with Animal causing 0 damage. -[info][2025/04/28 16:31:54]: Seppl McCollin Jr. got hit by Seppl McCollin Jr. with Animal causing 0 damage. -[info][2025/04/28 16:31:57]: Seppl McCollin Jr. got hit by Seppl McCollin Jr. with Animal causing 0 damage. -[info][2025/04/28 16:32:03]: Seppl McCollin Jr. got hit by Seppl McCollin Jr. with Animal causing 0 damage. -[info][2025/04/28 16:32:05]: Seppl McCollin Jr. got hit by Seppl McCollin Jr. with Animal causing 0 damage. -[info][2025/04/28 16:32:10]: Seppl McCollin Jr. got hit by Seppl McCollin Jr. with Animal causing 0 damage. -[info][2025/04/28 16:32:14]: Seppl McCollin Jr. got hit by Seppl McCollin Jr. with Animal causing 0 damage. -[info][2025/04/28 16:32:16]: Seppl McCollin Jr. got hit by Seppl McCollin Jr. with Animal causing 0 damage. -[info][2025/04/28 16:32:19]: Seppl McCollin Jr. got hit by Seppl McCollin Jr. with Animal causing 0 damage. -[info][2025/04/28 16:32:21]: Seppl McCollin Jr. got hit by Seppl McCollin Jr. with Animal causing 0 damage. -[info][2025/04/28 16:32:26]: Seppl McCollin Jr. got hit by Seppl McCollin Jr. with Animal causing 0 damage. -[info][2025/04/28 16:32:30]: Seppl McCollin Jr. got hit by Seppl McCollin Jr. with Animal causing 0 damage. -[info][2025/04/28 16:32:32]: Seppl McCollin Jr. got hit by Seppl McCollin Jr. with Animal causing 0 damage. -[info][2025/04/28 16:32:36]: Seppl McCollin Jr. got hit by Seppl McCollin Jr. with Animal causing 0 damage. -[info][2025/04/28 16:32:38]: Seppl McCollin Jr. got hit by Seppl McCollin Jr. with Animal causing 0 damage. -[info][2025/04/28 16:32:42]: Seppl McCollin Jr. got hit by Seppl McCollin Jr. with Animal causing 0 damage. -[info][2025/04/28 18:44:03]: tim requested all waypoints. -[info][2025/04/28 20:14:07]: Kimberly Smith got hit by Frank Castle with Fist causing 21 damage. -[info][2025/04/28 20:22:44]: Amy Ann got hit by Frank Castle with Fist causing 20 damage. -[info][2025/04/28 20:25:46]: Frank Castle got hit by Kimberly Smith with Carbine Rifle causing 21 damage. -[info][2025/04/28 20:25:46]: Frank Castle got killed by Kimberly Smith with Carbine Rifle causing 391 damage. -[info][2025/04/28 20:27:56]: Seppl McCollin Jr. got hit by Frank Castle with Fist causing 20 damage. -[info][2025/04/28 20:28:29]: Seppl McCollin Jr. got hit by Allison Wolf with Fist causing 21 damage. -[info][2025/04/28 20:28:32]: Allison Wolf got hit by Seppl McCollin Jr. with Fist causing 21 damage. -[info][2025/04/28 20:28:35]: Seppl McCollin Jr. got hit by Allison Wolf with Fist causing 21 damage. -[info][2025/04/28 20:28:36]: Allison Wolf got hit by Seppl McCollin Jr. with Fist causing 21 damage. -[info][2025/04/28 20:28:37]: Allison Wolf got hit by Seppl McCollin Jr. with Fist causing 26 damage. -[info][2025/04/28 20:28:40]: Seppl McCollin Jr. got hit by Allison Wolf with Fist causing 27 damage. -[info][2025/04/28 20:28:42]: Allison Wolf got killed by Seppl McCollin Jr. with Fist causing 21 damage. -[info][2025/04/28 20:38:44]: Seppl McCollin Jr. aimed at Kimberly Smith with Heavy Sniper MK2. -[info][2025/04/28 20:39:22]: Seppl McCollin Jr. aimed at Kimberly Smith with Heavy Sniper MK2. -[info][2025/04/28 20:39:24]: Seppl McCollin Jr. aimed at Amy Ann with Heavy Sniper MK2. -[info][2025/04/28 20:39:40]: Seppl McCollin Jr. aimed at Amy Ann with Heavy Sniper MK2. -[info][2025/04/28 20:39:41]: Amy Ann got killed by Seppl McCollin Jr. with Heavy Sniper MK2 causing 230 damage. -[info][2025/04/28 20:39:44]: Seppl McCollin Jr. aimed at Kimberly Smith with Heavy Sniper MK2. -[info][2025/04/28 20:39:48]: Kimberly Smith got killed by Seppl McCollin Jr. with Heavy Sniper MK2 causing 6050 damage. -[info][2025/04/28 20:39:59]: Seppl McCollin Jr. aimed at Kimberly Smith with Heavy Sniper MK2. -[info][2025/04/28 20:40:03]: Seppl McCollin Jr. aimed at Kimberly Smith with Heavy Sniper MK2. -[info][2025/04/28 20:40:20]: Seppl McCollin Jr. aimed at Kimberly Smith with Heavy Sniper MK2. -[info][2025/04/28 20:40:22]: Kimberly Smith got killed by Seppl McCollin Jr. with Heavy Sniper MK2 causing 318 damage. -[info][2025/04/28 20:40:35]: Seppl McCollin Jr. aimed at Kimberly Smith with Heavy Sniper MK2. -[info][2025/04/28 20:40:35]: Kimberly Smith got killed by Seppl McCollin Jr. with Heavy Sniper MK2 causing 318 damage. -[info][2025/04/28 22:19:51]: campers requested all waypoints. -[info][2025/04/28 22:46:27]: Seppl McCollin Jr. aimed at Demon Campers with Heavy Sniper MK2. -[info][2025/04/28 22:46:29]: Demon Campers got killed by Seppl McCollin Jr. with Heavy Sniper MK2 causing 318 damage. -[info][2025/04/28 22:46:58]: Seppl McCollin Jr. got killed by Demon Campers with Heavy Revolver causing 605 damage. -[info][2025/04/28 23:23:31]: Demon Campers aimed at Seppl McCollin Jr. with Heavy Revolver. -[info][2025/04/28 23:23:56]: Demon Campers got hit by Seppl McCollin Jr. with Carbine Rifle causing 10 damage. -[info][2025/04/28 23:39:49]: Seppl McCollin Jr. got hit by Demon Campers with Fist causing 0 damage. -[info][2025/04/29 13:37:00]: Seppl McCollin Jr. got hit by Andre Meraki with Pistol causing 8 damage. -[info][2025/04/29 13:37:00]: Seppl McCollin Jr. got hit by Andre Meraki with Pistol causing 8 damage. -[info][2025/04/29 13:37:00]: Seppl McCollin Jr. got hit by Andre Meraki with Pistol causing 8 damage. -[info][2025/04/29 13:37:01]: Seppl McCollin Jr. got hit by Andre Meraki with Pistol causing 8 damage. -[info][2025/04/29 13:37:02]: Seppl McCollin Jr. got hit by Andre Meraki with Pistol causing 8 damage. -[info][2025/04/29 13:37:02]: Seppl McCollin Jr. got hit by Andre Meraki with Pistol causing 8 damage. -[info][2025/04/29 13:37:03]: Seppl McCollin Jr. aimed at Andre Meraki with Heavy Sniper MK2. -[info][2025/04/29 13:37:04]: Seppl McCollin Jr. got hit by Andre Meraki with Pistol causing 8 damage. -[info][2025/04/29 13:37:05]: Seppl McCollin Jr. got hit by Andre Meraki with Pistol causing 8 damage. -[info][2025/04/29 13:37:08]: Seppl McCollin Jr. got hit by Andre Meraki with Pistol causing 8 damage. -[info][2025/04/29 13:37:35]: Seppl McCollin Jr. got hit by Andre Meraki with Pistol causing 7 damage. -[info][2025/04/29 13:47:06]: Seppl McCollin Jr. aimed at Andre Meraki with Heavy Sniper MK2. -[info][2025/04/29 17:50:46]: Kimberly Smith got hit by Frank Castle with Fist causing 20 damage. -[info][2025/04/29 17:51:45]: Kimberly Smith aimed at Frank Castle with Carbine Rifle Mk II. -[info][2025/04/29 17:51:46]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:51:47]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:51:47]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:51:48]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:51:57]: Kimberly Smith aimed at Frank Castle with Carbine Rifle Mk II. -[info][2025/04/29 17:51:57]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:51:58]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:51:58]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:51:59]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:52:05]: Kimberly Smith aimed at Frank Castle with SNS Pistol Mk II. -[info][2025/04/29 17:52:21]: Kimberly Smith aimed at Frank Castle with Combat Shotgun. -[info][2025/04/29 17:52:24]: Frank Castle got killed by Kimberly Smith with Combat Shotgun causing 180 damage. -[info][2025/04/29 17:55:41]: Kimberly Smith aimed at Frank Castle with Combat Shotgun. -[info][2025/04/29 17:55:41]: Frank Castle got hit by Kimberly Smith with Combat Shotgun causing 0 damage. -[info][2025/04/29 17:55:42]: Frank Castle got hit by Kimberly Smith with Combat Shotgun causing 0 damage. -[info][2025/04/29 17:55:43]: Frank Castle got hit by Kimberly Smith with Combat Shotgun causing 0 damage. -[info][2025/04/29 17:55:47]: Kimberly Smith aimed at Frank Castle with Combat Shotgun. -[info][2025/04/29 17:55:48]: Frank Castle got hit by Kimberly Smith with Combat Shotgun causing 0 damage. -[info][2025/04/29 17:55:49]: Kimberly Smith aimed at Frank Castle with Combat Shotgun. -[info][2025/04/29 17:58:06]: Kimberly Smith aimed at Frank Castle with Combat Shotgun. -[info][2025/04/29 17:58:07]: Frank Castle got hit by Kimberly Smith with Combat Shotgun causing 0 damage. -[info][2025/04/29 17:58:20]: Kimberly Smith aimed at Frank Castle with Stun Gun. -[info][2025/04/29 17:58:23]: Kimberly Smith aimed at Frank Castle with Stun Gun. -[info][2025/04/29 17:58:25]: Frank Castle got hit by Kimberly Smith with Stun Gun causing 1 damage. -[info][2025/04/29 17:59:21]: Kimberly Smith aimed at Frank Castle with SNS Pistol Mk II. -[info][2025/04/29 17:59:24]: Kimberly Smith aimed at Frank Castle with Carbine Rifle Mk II. -[info][2025/04/29 17:59:25]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:59:26]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:59:26]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:59:27]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:59:27]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:59:27]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:59:27]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:59:27]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:59:27]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:59:27]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:59:28]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:59:29]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:59:29]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:59:29]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:59:29]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:59:29]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:59:29]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:59:30]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 18:00:08]: Kimberly Smith aimed at Frank Castle with Combat Shotgun. -[info][2025/04/29 18:00:09]: Frank Castle got hit by Kimberly Smith with Combat Shotgun causing 0 damage. -[info][2025/04/29 18:00:11]: Frank Castle got hit by Kimberly Smith with Combat Shotgun causing 0 damage. -[info][2025/04/29 18:00:12]: Frank Castle got hit by Kimberly Smith with Combat Shotgun causing 0 damage. -[info][2025/04/29 18:00:13]: Frank Castle got hit by Kimberly Smith with Combat Shotgun causing 0 damage. -[info][2025/04/29 18:00:15]: Frank Castle got hit by Kimberly Smith with Combat Shotgun causing 0 damage. -[info][2025/04/29 18:00:28]: Kimberly Smith aimed at Frank Castle with Carbine Rifle Mk II. -[info][2025/04/29 18:00:28]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 18:00:29]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 18:00:29]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 18:00:29]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 18:00:30]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 18:00:30]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 18:00:30]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 18:00:30]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 18:00:30]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 18:00:30]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 18:00:30]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 18:00:30]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 18:00:31]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 18:00:32]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 18:00:32]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 18:00:32]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 18:00:32]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 18:00:32]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 18:00:32]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 18:00:32]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 18:00:53]: Kimberly Smith aimed at Frank Castle with SNS Pistol Mk II. -[info][2025/04/29 18:06:23]: Frank Castle aimed at Kimberly Smith with SNS Pistol Mk II. -[info][2025/04/29 18:06:23]: Kimberly Smith got hit by Frank Castle with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 18:06:24]: Kimberly Smith got hit by Frank Castle with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 18:06:24]: Kimberly Smith got hit by Frank Castle with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 18:06:25]: Frank Castle aimed at Kimberly Smith with SNS Pistol Mk II. -[info][2025/04/29 18:06:25]: Kimberly Smith got hit by Frank Castle with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 18:06:29]: Kimberly Smith got hit by Frank Castle with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 18:06:30]: Kimberly Smith got hit by Frank Castle with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 18:06:31]: Frank Castle aimed at Kimberly Smith with SNS Pistol Mk II. -[info][2025/04/29 18:06:35]: Kimberly Smith got hit by Frank Castle with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 18:16:27]: Seppl McCollin Jr. got hit by Seppl McCollin Jr. with Pistol causing 19 damage. -[info][2025/04/29 19:45:39]: Kimberly Smith aimed at Frank Castle with Combat Shotgun. -[info][2025/04/29 19:45:40]: Frank Castle got hit by Kimberly Smith with Combat Shotgun causing 0 damage. -[info][2025/04/29 19:45:48]: Kimberly Smith aimed at Frank Castle with Combat Shotgun. -[info][2025/04/29 19:45:51]: Frank Castle got hit by Kimberly Smith with Combat Shotgun causing 0 damage. -[info][2025/04/29 19:45:53]: Frank Castle got hit by Kimberly Smith with Combat Shotgun causing 0 damage. -[info][2025/04/29 19:46:08]: Kimberly Smith aimed at Frank Castle with Combat Shotgun. -[info][2025/04/29 19:46:09]: Frank Castle got hit by Kimberly Smith with Combat Shotgun causing 0 damage. -[info][2025/04/29 19:46:15]: Kimberly Smith aimed at Frank Castle with Combat Shotgun. -[info][2025/04/29 19:47:12]: Kimberly Smith aimed at Frank Castle with Combat Shotgun. -[info][2025/04/29 19:47:14]: Frank Castle got hit by Kimberly Smith with Combat Shotgun causing 0 damage. -[info][2025/04/29 19:47:22]: Kimberly Smith aimed at Frank Castle with SNS Pistol Mk II. -[info][2025/04/29 19:47:23]: Frank Castle got hit by Kimberly Smith with SNS Pistol MK2 causing 29 damage. -[info][2025/04/29 19:47:34]: Kimberly Smith aimed at Frank Castle with SNS Pistol Mk II. -[info][2025/04/29 19:47:36]: Frank Castle got hit by Kimberly Smith with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 19:47:37]: Frank Castle got hit by Kimberly Smith with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 19:47:38]: Frank Castle got hit by Kimberly Smith with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 19:47:38]: Frank Castle got hit by Kimberly Smith with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 19:47:44]: Kimberly Smith aimed at Frank Castle with SNS Pistol Mk II. -[info][2025/04/29 19:47:45]: Frank Castle got hit by Kimberly Smith with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 19:47:47]: Frank Castle got hit by Kimberly Smith with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 19:47:48]: Frank Castle got hit by Kimberly Smith with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 19:47:57]: Kimberly Smith aimed at Frank Castle with SNS Pistol Mk II. -[info][2025/04/29 19:47:58]: Frank Castle got hit by Kimberly Smith with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 19:47:59]: Frank Castle got hit by Kimberly Smith with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 19:48:00]: Frank Castle got hit by Kimberly Smith with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 19:48:12]: Kimberly Smith aimed at Frank Castle with Combat Shotgun. -[info][2025/04/29 19:48:16]: Frank Castle got hit by Kimberly Smith with Combat Shotgun causing 0 damage. -[info][2025/04/29 19:48:18]: Frank Castle got hit by Kimberly Smith with Combat Shotgun causing 0 damage. -[info][2025/04/29 19:48:20]: Frank Castle got hit by Kimberly Smith with Combat Shotgun causing 0 damage. -[info][2025/04/29 19:48:22]: Frank Castle got hit by Kimberly Smith with Combat Shotgun causing 0 damage. -[info][2025/04/29 19:48:28]: Kimberly Smith aimed at Frank Castle with Combat Shotgun. -[info][2025/04/29 19:48:29]: Frank Castle got hit by Kimberly Smith with Combat Shotgun causing 0 damage. -[info][2025/04/29 19:48:31]: Kimberly Smith aimed at Frank Castle with Combat Shotgun. -[info][2025/04/29 19:48:31]: Frank Castle got hit by Kimberly Smith with Combat Shotgun causing 0 damage. -[info][2025/04/29 19:48:32]: Frank Castle got hit by Kimberly Smith with Combat Shotgun causing 0 damage. -[info][2025/04/29 19:48:34]: Frank Castle got hit by Kimberly Smith with Combat Shotgun causing 0 damage. -[info][2025/04/29 19:48:36]: Frank Castle got hit by Kimberly Smith with Combat Shotgun causing 0 damage. -[info][2025/04/29 20:04:23]: Kimberly Smith aimed at Frank Castle with Combat Shotgun. -[info][2025/04/29 20:04:37]: Kimberly Smith aimed at Frank Castle with Combat Shotgun. -[info][2025/04/29 20:04:38]: Frank Castle got killed by Kimberly Smith with Combat Shotgun causing 180 damage. -[info][2025/04/29 20:06:26]: Kimberly Smith aimed at Frank Castle with Combat Shotgun. -[info][2025/04/29 20:06:28]: Kimberly Smith aimed at Frank Castle with Combat Shotgun. -[info][2025/04/29 20:06:30]: Frank Castle got killed by Kimberly Smith with Combat Shotgun causing 180 damage. -[info][2025/04/29 20:07:43]: Frank Castle aimed at Kimberly Smith with SNS Pistol Mk II. -[info][2025/04/29 20:07:44]: Kimberly Smith got killed by Frank Castle with SNS Pistol MK2 causing 627 damage. -[info][2025/04/29 20:08:17]: Kimberly Smith aimed at Frank Castle with SNS Pistol Mk II. -[info][2025/04/29 20:08:18]: Frank Castle got hit by Kimberly Smith with SNS Pistol MK2 causing 29 damage. -[info][2025/04/29 20:08:22]: Kimberly Smith aimed at Frank Castle with SNS Pistol Mk II. -[info][2025/04/29 20:08:23]: Frank Castle got hit by Kimberly Smith with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 20:08:31]: Frank Castle aimed at Kimberly Smith with SNS Pistol Mk II. -[info][2025/04/29 20:08:32]: Kimberly Smith got hit by Frank Castle with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 20:08:34]: Frank Castle aimed at Kimberly Smith with SNS Pistol Mk II. -[info][2025/04/29 20:08:43]: Frank Castle aimed at Kimberly Smith with SNS Pistol Mk II. -[info][2025/04/29 20:08:58]: Kimberly Smith aimed at Frank Castle with Combat Shotgun. -[info][2025/04/29 20:09:00]: Kimberly Smith aimed at Frank Castle with Combat Shotgun. -[info][2025/04/29 20:09:01]: Frank Castle aimed at Kimberly Smith with SNS Pistol Mk II. -[info][2025/04/29 20:09:01]: Frank Castle got hit by Kimberly Smith with Combat Shotgun causing 0 damage. -[info][2025/04/29 20:09:04]: Frank Castle aimed at Kimberly Smith with SNS Pistol Mk II. -[info][2025/04/29 20:09:04]: Kimberly Smith aimed at Frank Castle with Combat Shotgun. -[info][2025/04/29 20:09:05]: Frank Castle got hit by Kimberly Smith with Combat Shotgun causing 0 damage. -[info][2025/04/29 20:09:06]: Frank Castle aimed at Kimberly Smith with SNS Pistol Mk II. -[info][2025/04/29 20:09:08]: Frank Castle aimed at Kimberly Smith with SNS Pistol Mk II. -[info][2025/04/29 20:09:11]: Kimberly Smith aimed at Frank Castle with SNS Pistol Mk II. -[info][2025/04/29 20:09:12]: Frank Castle got hit by Kimberly Smith with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 20:09:13]: Kimberly Smith aimed at Frank Castle with SNS Pistol Mk II. -[info][2025/04/29 20:09:16]: Frank Castle got hit by Kimberly Smith with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 20:09:16]: Frank Castle aimed at Kimberly Smith with SNS Pistol Mk II. -[info][2025/04/29 20:09:18]: Frank Castle aimed at Kimberly Smith with SNS Pistol Mk II. -[info][2025/04/29 20:09:22]: Frank Castle aimed at Kimberly Smith with SNS Pistol Mk II. -[info][2025/04/29 20:09:22]: Kimberly Smith got hit by Frank Castle with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 20:09:22]: Kimberly Smith aimed at Frank Castle with SNS Pistol Mk II. -[info][2025/04/29 20:09:25]: Kimberly Smith got hit by Frank Castle with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 20:09:26]: Kimberly Smith got hit by Frank Castle with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 20:09:26]: Frank Castle aimed at Kimberly Smith with SNS Pistol Mk II. -[info][2025/04/29 20:09:29]: Kimberly Smith aimed at Frank Castle with SNS Pistol Mk II. -[info][2025/04/29 20:09:30]: Frank Castle aimed at Kimberly Smith with SNS Pistol Mk II. -[info][2025/04/29 20:09:38]: Kimberly Smith aimed at Frank Castle with SNS Pistol Mk II. -[info][2025/04/29 20:09:43]: Frank Castle aimed at Kimberly Smith with SNS Pistol Mk II. -[info][2025/04/29 20:09:43]: Kimberly Smith got hit by Frank Castle with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 20:09:45]: Frank Castle aimed at Kimberly Smith with SNS Pistol Mk II. -[info][2025/04/29 20:09:46]: Kimberly Smith got hit by Frank Castle with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 20:09:48]: Kimberly Smith got hit by Frank Castle with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 20:09:48]: Frank Castle aimed at Kimberly Smith with SNS Pistol Mk II. -[info][2025/04/29 20:10:00]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 32 damage. -[info][2025/04/29 20:10:00]: Kimberly Smith aimed at Frank Castle with Carbine Rifle Mk II. -[info][2025/04/29 20:10:04]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 20:10:32]: Kimberly Smith aimed at Frank Castle with Combat Shotgun. -[info][2025/04/29 20:10:33]: Frank Castle got hit by Kimberly Smith with Combat Shotgun causing 0 damage. -[info][2025/04/29 20:15:23]: Kimberly Smith aimed at Frank Castle with Combat Shotgun. -[info][2025/04/29 20:15:24]: Frank Castle got hit by Kimberly Smith with Combat Shotgun causing 0 damage. -[info][2025/04/29 20:15:37]: Kimberly Smith aimed at Frank Castle with Combat Shotgun. -[info][2025/04/29 20:15:38]: Frank Castle got hit by Kimberly Smith with Combat Shotgun causing 0 damage. -[info][2025/04/29 20:15:42]: Frank Castle got hit by Kimberly Smith with Combat Shotgun causing 0 damage. -[info][2025/04/29 20:15:51]: Kimberly Smith aimed at Frank Castle with Carbine Rifle Mk II. -[info][2025/04/29 20:15:52]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 20:15:56]: Kimberly Smith aimed at Frank Castle with Carbine Rifle Mk II. -[info][2025/04/29 20:15:56]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 20:15:57]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 20:16:33]: Frank Castle aimed at Kimberly Smith with SNS Pistol Mk II. -[info][2025/04/29 20:16:33]: Kimberly Smith got hit by Frank Castle with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 20:16:49]: Kimberly Smith aimed at Frank Castle with SNS Pistol Mk II. -[info][2025/04/29 20:16:53]: Frank Castle aimed at Kimberly Smith with SNS Pistol Mk II. -[info][2025/04/29 20:16:54]: Kimberly Smith aimed at Frank Castle with Carbine Rifle Mk II. -[info][2025/04/29 20:17:01]: Kimberly Smith aimed at Frank Castle with Carbine Rifle Mk II. -[info][2025/04/29 20:17:06]: Frank Castle aimed at Kimberly Smith with SNS Pistol Mk II. -[info][2025/04/29 20:17:08]: Kimberly Smith aimed at Frank Castle with Carbine Rifle Mk II. -[info][2025/04/29 20:17:09]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 20:17:13]: Kimberly Smith aimed at Frank Castle with Carbine Rifle Mk II. -[info][2025/04/29 20:17:13]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 20:17:16]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 20:17:17]: Kimberly Smith aimed at Frank Castle with Carbine Rifle Mk II. -[info][2025/04/29 20:17:17]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 20:17:19]: Frank Castle aimed at Kimberly Smith with SNS Pistol Mk II. -[info][2025/04/29 20:17:21]: Kimberly Smith aimed at Frank Castle with Carbine Rifle Mk II. -[info][2025/04/29 20:17:21]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 20:17:26]: Frank Castle aimed at Kimberly Smith with SNS Pistol Mk II. -[info][2025/04/29 20:17:26]: Kimberly Smith aimed at Frank Castle with Carbine Rifle Mk II. -[info][2025/04/29 20:17:27]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 20:17:39]: Kimberly Smith aimed at Frank Castle with Carbine Rifle Mk II. -[info][2025/04/29 20:17:40]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 20:17:54]: Kimberly Smith aimed at Frank Castle with Carbine Rifle Mk II. -[info][2025/04/29 20:17:54]: Frank Castle got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 20:18:58]: Frank Castle aimed at Kimberly Smith with RPG. -[info][2025/04/29 20:20:31]: Kimberly Smith got hit by Frank Castle with Fist causing 20 damage. -[info][2025/04/29 22:06:37]: LaRossa Bruder 1 got hit by LaRossa Bruder 1 with Pistol causing 19 damage. -[info][2025/04/29 22:30:25]: Amy Ann aimed at LaRossa Bruder 1 with Carbine Rifle. -[info][2025/04/29 22:30:39]: Amy Ann aimed at LaRossa Bruder 1 with Carbine Rifle. -[info][2025/04/29 22:42:32]: Demon Campers got hit by Amy Ann with Fist causing 21 damage. -[info][2025/04/29 22:42:42]: Amy Ann got hit by Demon Campers with Fist causing 20 damage. -[info][2025/04/29 23:44:38]: Seppl McCollin Jr. aimed at Amy Ann with Heavy Sniper MK2. -[info][2025/04/29 23:48:38]: Seppl McCollin Jr. aimed at Amy Ann with Heavy Sniper MK2. -[info][2025/04/29 23:48:45]: Seppl McCollin Jr. aimed at Amy Ann with Heavy Sniper MK2. -[info][2025/04/29 23:48:46]: Amy Ann got hit by Seppl McCollin Jr. with Heavy Sniper MK2 causing 0 damage. -[info][2025/04/29 23:48:47]: Amy Ann got hit by Seppl McCollin Jr. with Heavy Sniper MK2 causing 0 damage. -[info][2025/04/29 23:48:52]: Seppl McCollin Jr. aimed at Amy Ann with Heavy Sniper MK2. -[info][2025/04/29 23:48:52]: Amy Ann got hit by Seppl McCollin Jr. with Heavy Sniper MK2 causing 0 damage. -[info][2025/04/29 23:48:53]: Amy Ann got hit by Seppl McCollin Jr. with Heavy Sniper MK2 causing 0 damage. -[info][2025/04/29 23:48:54]: Seppl McCollin Jr. aimed at Amy Ann with Heavy Sniper MK2. -[info][2025/04/29 23:48:55]: Amy Ann got hit by Seppl McCollin Jr. with Heavy Sniper MK2 causing 0 damage. -[info][2025/04/29 23:51:57]: Kimberly Smith aimed at Amy Ann with Heavy Sniper MK2. -[info][2025/04/29 23:51:58]: Amy Ann got killed by Kimberly Smith with Heavy Sniper MK2 causing 318 damage. -[info][2025/04/29 23:52:19]: Kimberly Smith aimed at Amy Ann with Heavy Sniper MK2. -[info][2025/04/29 23:52:20]: Seppl McCollin Jr. got killed by Kimberly Smith with Heavy Sniper MK2 causing 318 damage. -[info][2025/04/29 23:52:31]: Seppl McCollin Jr. aimed at Amy Ann with Heavy Sniper MK2. -[info][2025/04/29 23:52:35]: Amy Ann got hit by Seppl McCollin Jr. with Heavy Sniper MK2 causing 0 damage. -[info][2025/04/29 23:52:36]: Amy Ann got killed by Seppl McCollin Jr. with Heavy Sniper MK2 causing 6050 damage. -[info][2025/04/29 23:52:37]: Seppl McCollin Jr. aimed at Amy Ann with Heavy Sniper MK2. -[info][2025/04/29 23:52:40]: Seppl McCollin Jr. aimed at Kimberly Smith with Heavy Sniper MK2. -[info][2025/04/29 23:52:40]: Kimberly Smith got killed by Seppl McCollin Jr. with Heavy Sniper MK2 causing 6050 damage. -[info][2025/04/29 23:52:48]: Seppl McCollin Jr. aimed at Amy Ann with Heavy Sniper MK2. -[info][2025/04/29 23:52:48]: Amy Ann got killed by Seppl McCollin Jr. with Heavy Sniper MK2 causing 318 damage. -[info][2025/04/29 23:52:49]: Seppl McCollin Jr. aimed at Kimberly Smith with Heavy Sniper MK2. -[info][2025/04/29 23:52:50]: Kimberly Smith got killed by Seppl McCollin Jr. with Heavy Sniper MK2 causing 318 damage. -[info][2025/04/29 23:53:29]: Kimberly Smith aimed at Amy Ann with SNS Pistol Mk II. -[info][2025/04/29 23:53:30]: Amy Ann got hit by Seppl McCollin Jr. with Fist causing 20 damage. -[info][2025/04/29 23:53:30]: Amy Ann got hit by Kimberly Smith with SNS Pistol MK2 causing 29 damage. -[info][2025/04/29 23:53:31]: Seppl McCollin Jr. got hit by Kimberly Smith with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 23:53:31]: Kimberly Smith aimed at Seppl McCollin Jr. with SNS Pistol Mk II. -[info][2025/04/29 23:53:34]: Kimberly Smith aimed at Amy Ann with SNS Pistol Mk II. -[info][2025/04/29 23:53:35]: Amy Ann got hit by Kimberly Smith with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 23:53:36]: Kimberly Smith aimed at Seppl McCollin Jr. with SNS Pistol Mk II. -[info][2025/04/29 23:53:36]: Seppl McCollin Jr. got hit by Kimberly Smith with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 23:53:41]: Amy Ann got killed by Seppl McCollin Jr. with Fist causing 0 damage. -[info][2025/04/29 23:53:44]: Kimberly Smith got hit by Seppl McCollin Jr. with Fist causing 20 damage. -[info][2025/04/29 23:53:45]: Kimberly Smith got hit by Seppl McCollin Jr. with Fist causing 25 damage. -[info][2025/04/29 23:53:47]: Kimberly Smith got hit by Seppl McCollin Jr. with Fist causing 20 damage. -[info][2025/04/29 23:53:48]: Kimberly Smith got hit by Seppl McCollin Jr. with Fist causing 20 damage. -[info][2025/04/29 23:53:48]: Kimberly Smith aimed at Seppl McCollin Jr. with SNS Pistol Mk II. -[info][2025/04/29 23:53:49]: Seppl McCollin Jr. got hit by Amy Ann with Fist causing 21 damage. -[info][2025/04/29 23:53:49]: Kimberly Smith got killed by Seppl McCollin Jr. with Fist causing 20 damage. -[info][2025/04/29 23:53:49]: Seppl McCollin Jr. got hit by Kimberly Smith with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 23:53:50]: Amy Ann got hit by Seppl McCollin Jr. with Fist causing 0 damage. -[info][2025/04/29 23:53:51]: Amy Ann got hit by Seppl McCollin Jr. with Fist causing 20 damage. -[info][2025/04/29 23:53:52]: Amy Ann got hit by Seppl McCollin Jr. with Fist causing 20 damage. -[info][2025/04/29 23:53:53]: Amy Ann got hit by Seppl McCollin Jr. with Fist causing 20 damage. -[info][2025/04/29 23:53:54]: Amy Ann got hit by Seppl McCollin Jr. with Fist causing 20 damage. -[info][2025/04/29 23:53:55]: Seppl McCollin Jr. got hit by Amy Ann with Fist causing 21 damage. -[info][2025/04/29 23:53:56]: Amy Ann got killed by Seppl McCollin Jr. with Fist causing 20 damage. -[info][2025/04/29 23:53:57]: Seppl McCollin Jr. got hit by Amy Ann with Fist causing 21 damage. -[info][2025/04/29 23:53:57]: Amy Ann got killed by Seppl McCollin Jr. with Fist causing 20 damage. -[info][2025/04/29 23:54:06]: Seppl McCollin Jr. got hit by Amy Ann with Fist causing 26 damage. -[info][2025/04/29 23:54:16]: Amy Ann got killed by Seppl McCollin Jr. with Fist causing 0 damage. -[info][2025/04/29 23:54:24]: Amy Ann got killed by Seppl McCollin Jr. with Fist causing 0 damage. -[info][2025/04/29 23:54:36]: Kimberly Smith got hit by Seppl McCollin Jr. with Fist causing 0 damage. -[info][2025/04/29 23:54:46]: Kimberly Smith got hit by Seppl McCollin Jr. with Fist causing 20 damage. -[info][2025/04/29 23:54:52]: Amy Ann got hit by Seppl McCollin Jr. with Fist causing 0 damage. -[info][2025/04/29 23:54:56]: Kimberly Smith got killed by Seppl McCollin Jr. with Fist causing 0 damage. -[info][2025/04/29 23:55:18]: Seppl McCollin Jr. got hit by Kimberly Smith with Fist causing 21 damage. -[info][2025/04/29 23:55:24]: Seppl McCollin Jr. got killed by Amy Ann with Fist causing 0 damage. -[info][2025/04/29 23:55:37]: Kimberly Smith got hit by Seppl McCollin Jr. with Fist causing 25 damage. -[info][2025/04/29 23:55:47]: Kimberly Smith got hit by Seppl McCollin Jr. with Fist causing 25 damage. -[info][2025/04/29 23:58:51]: Amy Ann got killed by Seppl McCollin Jr. with Fist causing 0 damage. -[info][2025/04/29 23:59:02]: Amy Ann got killed by Seppl McCollin Jr. with Fist causing 0 damage. -[info][2025/04/29 23:59:10]: Seppl McCollin Jr. got hit by Amy Ann with Fist causing 0 damage. -[info][2025/04/30 00:04:27]: Amy Ann got killed by Demon Campers with Fist causing 0 damage. -[info][2025/04/30 00:04:41]: Demon Campers got hit by Seppl McCollin Jr. with Fist causing 20 damage. -[info][2025/04/30 00:04:43]: Seppl McCollin Jr. got hit by Demon Campers with Fist causing 20 damage. -[info][2025/04/30 00:04:45]: Seppl McCollin Jr. got hit by Demon Campers with Fist causing 25 damage. -[info][2025/04/30 00:04:46]: Demon Campers got hit by Seppl McCollin Jr. with Fist causing 20 damage. -[info][2025/04/30 00:04:47]: Demon Campers got hit by Seppl McCollin Jr. with Fist causing 20 damage. -[info][2025/04/30 00:04:47]: Demon Campers got hit by Seppl McCollin Jr. with Fist causing 20 damage. -[info][2025/04/30 00:04:48]: Demon Campers got hit by Seppl McCollin Jr. with Fist causing 0 damage. -[info][2025/04/30 00:04:49]: Demon Campers got killed by Seppl McCollin Jr. with Fist causing 20 damage. -[info][2025/04/30 00:04:50]: Demon Campers got killed by Seppl McCollin Jr. with Fist causing 0 damage. -[info][2025/04/30 00:04:50]: Seppl McCollin Jr. got hit by Demon Campers with Fist causing 0 damage. -[info][2025/04/30 00:04:51]: Demon Campers got killed by Seppl McCollin Jr. with Fist causing 50 damage. -[info][2025/04/30 00:04:52]: Demon Campers got hit by Seppl McCollin Jr. with Fist causing 0 damage. -[info][2025/04/30 00:05:17]: Kimberly Smith aimed at Seppl McCollin Jr. with Assault Rifle MK2. -[info][2025/04/30 00:05:24]: Kimberly Smith aimed at Seppl McCollin Jr. with Assault Rifle MK2. -[info][2025/04/30 00:05:46]: Kimberly Smith aimed at Amy Ann with Assault Rifle MK2. -[info][2025/04/30 00:05:47]: Amy Ann got hit by Kimberly Smith with Assault Rifle MK2 causing 31 damage. -[info][2025/04/30 00:05:47]: Amy Ann got hit by Kimberly Smith with Assault Rifle MK2 causing 31 damage. -[info][2025/04/30 00:05:47]: Amy Ann got hit by Kimberly Smith with Assault Rifle MK2 causing 31 damage. -[info][2025/04/30 00:05:47]: Amy Ann got killed by Kimberly Smith with Assault Rifle MK2 causing 31 damage. -[info][2025/04/30 00:06:05]: Seppl McCollin Jr. got killed by Demon Campers with Heavy Revolver causing 159 damage. -[info][2025/04/30 00:06:05]: Demon Campers aimed at Seppl McCollin Jr. with Heavy Revolver. -[info][2025/04/30 00:08:01]: Seppl McCollin Jr. aimed at Amy Ann with Heavy Revolver Mk II. -[info][2025/04/30 00:08:07]: Seppl McCollin Jr. aimed at Kimberly Smith with Heavy Revolver Mk II. -[info][2025/04/30 00:08:09]: Seppl McCollin Jr. aimed at Demon Campers with Heavy Revolver Mk II. -[info][2025/04/30 00:08:19]: Seppl McCollin Jr. aimed at Demon Campers with Heavy Revolver Mk II. -[info][2025/04/30 00:08:26]: Demon Campers aimed at Seppl McCollin Jr. with Heavy Revolver Mk II. -[info][2025/04/30 00:08:30]: Demon Campers aimed at Amy Ann with Heavy Revolver Mk II. -[info][2025/04/30 00:08:31]: Seppl McCollin Jr. aimed at Kimberly Smith with Heavy Revolver Mk II. -[info][2025/04/30 00:11:29]: Demon Campers aimed at Amy Ann with Stun Gun. -[info][2025/04/30 00:11:29]: Amy Ann got hit by Demon Campers with Stun Gun causing 1 damage. -[info][2025/04/30 00:11:39]: Demon Campers got hit by Amy Ann with Fist causing 21 damage. -[info][2025/04/30 00:11:42]: Demon Campers aimed at Amy Ann with Stun Gun. -[info][2025/04/30 00:11:42]: Amy Ann got hit by Demon Campers with Stun Gun causing 0 damage. -[info][2025/04/30 00:11:43]: Seppl McCollin Jr. aimed at Kimberly Smith with Heavy Revolver Mk II. -[info][2025/04/30 00:11:47]: Seppl McCollin Jr. aimed at Kimberly Smith with Heavy Revolver Mk II. -[info][2025/04/30 00:11:53]: Demon Campers got hit by Amy Ann with Fist causing 21 damage. -[info][2025/04/30 00:11:54]: Demon Campers aimed at Amy Ann with Heavy Revolver Mk II. -[info][2025/04/30 00:11:55]: Demon Campers got hit by Amy Ann with Fist causing 21 damage. -[info][2025/04/30 00:11:56]: Demon Campers got hit by Amy Ann with Fist causing 21 damage. -[info][2025/04/30 00:11:57]: Demon Campers got killed by Amy Ann with Fist causing 21 damage. -[info][2025/04/30 00:11:59]: Seppl McCollin Jr. aimed at Demon Campers with Heavy Sniper MK2. -[info][2025/04/30 00:12:01]: Seppl McCollin Jr. aimed at Amy Ann with Heavy Sniper MK2. -[info][2025/04/30 00:12:03]: Amy Ann got killed by Seppl McCollin Jr. with Heavy Sniper MK2 causing 318 damage. -[info][2025/04/30 00:12:12]: Seppl McCollin Jr. aimed at Demon Campers with Heavy Sniper MK2. -[info][2025/04/30 00:12:12]: Demon Campers got killed by Seppl McCollin Jr. with Heavy Sniper MK2 causing 318 damage. -[info][2025/04/30 00:12:14]: Amy Ann got killed by Seppl McCollin Jr. with Heavy Sniper MK2 causing 318 damage. -[info][2025/04/30 00:12:46]: Demon Campers aimed at Amy Ann with Pistol. -[info][2025/04/30 00:13:02]: Amy Ann got hit by Demon Campers with Pistol causing 0 damage. -[info][2025/04/30 00:13:02]: Demon Campers aimed at Amy Ann with Pistol. -[info][2025/04/30 00:13:02]: Amy Ann got hit by Demon Campers with Pistol causing 0 damage. -[info][2025/04/30 00:13:03]: Amy Ann got hit by Demon Campers with Pistol causing 0 damage. -[info][2025/04/30 00:13:03]: Amy Ann got hit by Demon Campers with Pistol causing 0 damage. -[info][2025/04/30 00:13:04]: Amy Ann got hit by Demon Campers with Pistol causing 0 damage. -[info][2025/04/30 00:13:05]: Amy Ann got hit by Demon Campers with Pistol causing 0 damage. -[info][2025/04/30 00:13:05]: Amy Ann got hit by Demon Campers with Pistol causing 0 damage. -[info][2025/04/30 00:13:10]: Demon Campers got hit by Seppl McCollin Jr. with Fist causing 20 damage. -[info][2025/04/30 00:13:10]: Demon Campers got hit by Seppl McCollin Jr. with Fist causing 0 damage. -[info][2025/04/30 00:13:11]: Demon Campers got hit by Seppl McCollin Jr. with Fist causing 20 damage. -[info][2025/04/30 00:13:12]: Demon Campers got hit by Seppl McCollin Jr. with Fist causing 20 damage. -[info][2025/04/30 00:13:17]: Kimberly Smith got hit by Seppl McCollin Jr. with Fist causing 20 damage. -[info][2025/04/30 00:13:20]: Demon Campers aimed at Seppl McCollin Jr. with Stun Gun. -[info][2025/04/30 00:13:20]: Demon Campers got hit by Seppl McCollin Jr. with Fist causing 20 damage. -[info][2025/04/30 00:13:22]: Demon Campers got killed by Seppl McCollin Jr. with Fist causing 20 damage. -[info][2025/04/30 00:13:22]: Seppl McCollin Jr. got hit by Demon Campers with Stun Gun causing 0 damage. -[info][2025/04/30 00:13:23]: Seppl McCollin Jr. got hit by Demon Campers with Stun Gun causing 0 damage. -[info][2025/04/30 00:13:23]: Demon Campers aimed at Seppl McCollin Jr. with Stun Gun. -[info][2025/04/30 00:13:33]: Demon Campers got hit by Seppl McCollin Jr. with Fist causing 25 damage. -[info][2025/04/30 00:13:34]: Demon Campers got hit by Seppl McCollin Jr. with Fist causing 25 damage. -[info][2025/04/30 00:13:35]: Demon Campers got hit by Seppl McCollin Jr. with Fist causing 20 damage. -[info][2025/04/30 00:13:37]: Demon Campers got hit by Seppl McCollin Jr. with Fist causing 20 damage. -[info][2025/04/30 00:13:38]: Demon Campers got hit by Seppl McCollin Jr. with Fist causing 20 damage. -[info][2025/04/30 00:13:40]: Demon Campers got hit by Seppl McCollin Jr. with Fist causing 20 damage. -[info][2025/04/30 00:13:41]: Demon Campers got hit by Seppl McCollin Jr. with Fist causing 20 damage. -[info][2025/04/30 00:13:42]: Demon Campers got hit by Seppl McCollin Jr. with Fist causing 20 damage. -[info][2025/04/30 00:13:43]: Demon Campers got hit by Seppl McCollin Jr. with Fist causing 0 damage. -[info][2025/04/30 00:13:52]: Demon Campers got hit by Seppl McCollin Jr. with Fist causing 0 damage. -[info][2025/04/30 00:13:55]: Demon Campers got hit by Seppl McCollin Jr. with Fist causing 20 damage. -[info][2025/04/30 00:13:56]: Demon Campers got hit by Seppl McCollin Jr. with Fist causing 25 damage. -[info][2025/04/30 00:13:57]: Demon Campers got hit by Seppl McCollin Jr. with Fist causing 20 damage. -[info][2025/04/30 00:13:58]: Demon Campers got hit by Seppl McCollin Jr. with Fist causing 25 damage. -[info][2025/04/30 00:14:22]: Demon Campers got hit by Amy Ann with Fist causing 21 damage. -[info][2025/04/30 00:14:24]: Amy Ann got hit by Demon Campers with Fist causing 25 damage. -[info][2025/04/30 00:14:25]: Amy Ann got hit by Demon Campers with Fist causing 20 damage. -[info][2025/04/30 00:14:26]: Amy Ann got hit by Demon Campers with Fist causing 0 damage. -[info][2025/04/30 00:14:26]: Demon Campers got hit by Amy Ann with Fist causing 0 damage. -[info][2025/04/30 00:14:28]: Demon Campers got hit by Amy Ann with Fist causing 21 damage. -[info][2025/04/30 00:14:30]: Amy Ann got hit by Demon Campers with Fist causing 20 damage. -[info][2025/04/30 00:14:32]: Demon Campers got hit by Amy Ann with Fist causing 21 damage. -[info][2025/04/30 00:14:33]: Amy Ann got hit by Demon Campers with Fist causing 20 damage. -[info][2025/04/30 00:14:34]: Demon Campers got hit by Amy Ann with Fist causing 21 damage. -[info][2025/04/30 00:14:36]: Amy Ann got hit by Demon Campers with Fist causing 20 damage. -[info][2025/04/30 00:14:38]: Demon Campers got hit by Amy Ann with Fist causing 21 damage. -[info][2025/04/30 00:14:41]: Amy Ann got hit by Demon Campers with Fist causing 20 damage. -[info][2025/04/30 00:14:41]: Amy Ann got hit by Demon Campers with Fist causing 0 damage. -[info][2025/04/30 00:14:41]: Amy Ann got hit by Demon Campers with Fist causing 20 damage. -[info][2025/04/30 00:14:42]: Amy Ann got killed by Demon Campers with Fist causing 25 damage. -[info][2025/04/30 00:14:45]: Seppl McCollin Jr. got hit by Demon Campers with Fist causing 20 damage. -[info][2025/04/30 00:14:45]: Seppl McCollin Jr. got hit by Amy Ann with Fist causing 21 damage. -[info][2025/04/30 00:14:45]: Demon Campers got hit by Amy Ann with Fist causing 21 damage. -[info][2025/04/30 00:14:46]: Amy Ann got hit by Demon Campers with Fist causing 0 damage. -[info][2025/04/30 00:14:47]: Amy Ann got hit by Demon Campers with Fist causing 20 damage. -[info][2025/04/30 00:14:48]: Amy Ann got hit by Demon Campers with Fist causing 20 damage. -[info][2025/04/30 00:14:49]: Amy Ann got hit by Demon Campers with Fist causing 25 damage. -[info][2025/04/30 00:14:51]: Seppl McCollin Jr. got hit by Demon Campers with Fist causing 20 damage. -[info][2025/04/30 00:14:52]: Seppl McCollin Jr. got hit by Demon Campers with Fist causing 0 damage. -[info][2025/04/30 00:14:53]: Seppl McCollin Jr. got hit by Demon Campers with Fist causing 20 damage. -[info][2025/04/30 00:14:54]: Seppl McCollin Jr. got killed by Demon Campers with Fist causing 20 damage. -[info][2025/04/30 00:15:02]: Amy Ann got hit by Demon Campers with Fist causing 20 damage. -[info][2025/04/30 00:15:03]: Amy Ann got hit by Demon Campers with Fist causing 20 damage. -[info][2025/04/30 00:15:06]: Kimberly Smith aimed at Seppl McCollin Jr. with Heavy Revolver Mk II. -[info][2025/04/30 00:15:13]: Kimberly Smith aimed at Seppl McCollin Jr. with Heavy Revolver Mk II. -[info][2025/04/30 00:15:14]: Seppl McCollin Jr. got killed by Kimberly Smith with Heavy Revolver MK2 causing 199 damage. -[info][2025/04/30 00:15:25]: Demon Campers got hit by Seppl McCollin Jr. with Fist causing 20 damage. -[info][2025/04/30 00:15:26]: Amy Ann got hit by Demon Campers with Fist causing 20 damage. -[info][2025/04/30 00:15:26]: Demon Campers got hit by Seppl McCollin Jr. with Fist causing 25 damage. -[info][2025/04/30 00:15:28]: Kimberly Smith got hit by Seppl McCollin Jr. with Fist causing 20 damage. -[info][2025/04/30 00:15:31]: Kimberly Smith aimed at Seppl McCollin Jr. with Heavy Revolver Mk II. -[info][2025/04/30 00:15:31]: Seppl McCollin Jr. got hit by Demon Campers with Fist causing 20 damage. -[info][2025/04/30 00:15:32]: Demon Campers got hit by Seppl McCollin Jr. with Fist causing 0 damage. -[info][2025/04/30 00:15:33]: Demon Campers got hit by Amy Ann with Fist causing 21 damage. -[info][2025/04/30 00:15:33]: Demon Campers got hit by Seppl McCollin Jr. with Fist causing 20 damage. -[info][2025/04/30 00:15:33]: Demon Campers got hit by Amy Ann with Fist causing 0 damage. -[info][2025/04/30 00:15:34]: Amy Ann got hit by Demon Campers with Fist causing 0 damage. -[info][2025/04/30 00:15:34]: Demon Campers got killed by Kimberly Smith with Heavy Revolver MK2 causing 199 damage. -[info][2025/04/30 00:15:34]: Amy Ann got hit by Seppl McCollin Jr. with Fist causing 20 damage. -[info][2025/04/30 00:15:36]: Seppl McCollin Jr. got hit by Amy Ann with Fist causing 21 damage. -[info][2025/04/30 00:15:38]: Amy Ann got killed by Seppl McCollin Jr. with Fist causing 25 damage. -[info][2025/04/30 00:15:50]: Seppl McCollin Jr. aimed at Demon Campers with Heavy Revolver Mk II. -[info][2025/04/30 00:15:52]: Seppl McCollin Jr. aimed at Demon Campers with Heavy Revolver Mk II. -[info][2025/04/30 00:15:52]: Demon Campers got killed by Seppl McCollin Jr. with Heavy Revolver MK2 causing 199 damage. -[info][2025/04/30 00:15:54]: Seppl McCollin Jr. aimed at Amy Ann with Heavy Revolver Mk II. -[info][2025/04/30 00:16:02]: Seppl McCollin Jr. got hit by Amy Ann with Fist causing 21 damage. -[info][2025/04/30 00:16:04]: Seppl McCollin Jr. got hit by Amy Ann with Fist causing 0 damage. -[info][2025/04/30 00:16:09]: Kimberly Smith aimed at Amy Ann with Heavy Revolver Mk II. -[info][2025/04/30 00:16:09]: Amy Ann got killed by Kimberly Smith with Heavy Revolver MK2 causing 199 damage. -[info][2025/04/30 00:16:09]: Seppl McCollin Jr. aimed at Amy Ann with Heavy Revolver Mk II. -[info][2025/04/30 00:16:11]: Seppl McCollin Jr. aimed at Kimberly Smith with Heavy Revolver Mk II. -[info][2025/04/30 00:16:13]: Seppl McCollin Jr. aimed at Kimberly Smith with Heavy Revolver Mk II. -[info][2025/04/30 00:16:16]: Seppl McCollin Jr. aimed at Kimberly Smith with Heavy Revolver Mk II. -[info][2025/04/30 00:16:18]: Kimberly Smith aimed at Seppl McCollin Jr. with Heavy Revolver Mk II. -[info][2025/04/30 00:16:18]: Seppl McCollin Jr. aimed at Demon Campers with Heavy Revolver Mk II. -[info][2025/04/30 00:16:19]: Amy Ann got killed by Kimberly Smith with Heavy Revolver MK2 causing 199 damage. -[info][2025/04/30 00:16:22]: Seppl McCollin Jr. aimed at Kimberly Smith with Heavy Revolver Mk II. -[info][2025/04/30 00:16:25]: Kimberly Smith got killed by Seppl McCollin Jr. with Heavy Revolver MK2 causing 199 damage. -[info][2025/04/30 00:16:27]: Seppl McCollin Jr. aimed at Demon Campers with Heavy Revolver Mk II. -[info][2025/04/30 00:16:27]: Demon Campers got killed by Seppl McCollin Jr. with Heavy Revolver MK2 causing 199 damage. -[info][2025/04/30 00:16:29]: Amy Ann got killed by Seppl McCollin Jr. with Heavy Revolver MK2 causing 199 damage. -[info][2025/04/30 00:16:29]: Seppl McCollin Jr. aimed at Amy Ann with Heavy Revolver Mk II. -[info][2025/04/30 00:16:31]: Seppl McCollin Jr. aimed at Kimberly Smith with Heavy Revolver Mk II. -[info][2025/04/30 00:16:31]: Kimberly Smith got killed by Seppl McCollin Jr. with Heavy Revolver MK2 causing 199 damage. -[info][2025/04/30 00:16:33]: Seppl McCollin Jr. aimed at Demon Campers with Heavy Revolver Mk II. -[info][2025/04/30 00:16:39]: Demon Campers aimed at Seppl McCollin Jr. with Heavy Revolver Mk II. -[info][2025/04/30 00:16:42]: Demon Campers aimed at Seppl McCollin Jr. with Heavy Revolver Mk II. -[info][2025/04/30 00:16:42]: Seppl McCollin Jr. got killed by Demon Campers with Heavy Revolver MK2 causing 199 damage. -[info][2025/04/30 00:16:48]: Demon Campers aimed at Kimberly Smith with Heavy Revolver Mk II. -[info][2025/04/30 00:16:50]: Amy Ann got killed by Demon Campers with Heavy Revolver MK2 causing 3429 damage. -[info][2025/04/30 00:16:50]: Demon Campers aimed at Amy Ann with Heavy Revolver Mk II. -[info][2025/04/30 00:17:06]: Demon Campers aimed at Amy Ann with Stun Gun. -[info][2025/04/30 00:17:08]: Demon Campers aimed at Amy Ann with Stun Gun. -[info][2025/04/30 00:17:08]: Amy Ann got hit by Demon Campers with Stun Gun causing 0 damage. -[info][2025/04/30 00:17:19]: Kimberly Smith aimed at Demon Campers with Carbine Rifle Mk II. -[info][2025/04/30 00:17:20]: Demon Campers got hit by Kimberly Smith with Carbine Rifle MK2 causing 32 damage. -[info][2025/04/30 00:17:23]: Kimberly Smith aimed at Amy Ann with Carbine Rifle Mk II. -[info][2025/04/30 00:17:23]: Amy Ann got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 00:17:24]: Demon Campers aimed at Kimberly Smith with Heavy Revolver. -[info][2025/04/30 00:17:27]: Kimberly Smith aimed at Demon Campers with Carbine Rifle Mk II. -[info][2025/04/30 00:17:27]: Demon Campers got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 00:17:30]: Kimberly Smith aimed at Demon Campers with Carbine Rifle Mk II. -[info][2025/04/30 00:17:31]: Demon Campers got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 00:17:33]: Kimberly Smith aimed at Amy Ann with Carbine Rifle Mk II. -[info][2025/04/30 00:17:33]: Amy Ann got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 00:17:38]: Demon Campers aimed at Kimberly Smith with Heavy Revolver. -[info][2025/04/30 00:17:39]: Kimberly Smith aimed at Amy Ann with Carbine Rifle Mk II. -[info][2025/04/30 00:17:39]: Amy Ann got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 00:17:40]: Demon Campers got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 00:17:42]: Demon Campers aimed at Kimberly Smith with Heavy Revolver. -[info][2025/04/30 00:17:44]: Demon Campers aimed at Kimberly Smith with Heavy Revolver. -[info][2025/04/30 00:17:49]: Demon Campers aimed at Kimberly Smith with Heavy Revolver. -[info][2025/04/30 00:17:50]: Kimberly Smith aimed at Amy Ann with Carbine Rifle Mk II. -[info][2025/04/30 00:17:52]: Kimberly Smith aimed at Demon Campers with Carbine Rifle Mk II. -[info][2025/04/30 00:17:52]: Demon Campers got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 00:18:33]: Demon Campers aimed at Amy Ann with SNS Pistol Mk II. -[info][2025/04/30 00:18:34]: Amy Ann got killed by Demon Campers with SNS Pistol MK2 causing 627 damage. -[info][2025/04/30 00:18:36]: Demon Campers aimed at Kimberly Smith with SNS Pistol Mk II. -[info][2025/04/30 00:18:37]: Kimberly Smith got hit by Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/04/30 00:18:40]: Demon Campers aimed at Amy Ann with SNS Pistol Mk II. -[info][2025/04/30 00:18:40]: Kimberly Smith aimed at Demon Campers with Carbine Rifle Mk II. -[info][2025/04/30 00:18:50]: Kimberly Smith got hit by Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/04/30 00:18:50]: Demon Campers aimed at Amy Ann with SNS Pistol Mk II. -[info][2025/04/30 00:18:55]: Demon Campers aimed at Amy Ann with SNS Pistol Mk II. -[info][2025/04/30 00:18:56]: Amy Ann got hit by Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/04/30 00:18:57]: Demon Campers aimed at Kimberly Smith with SNS Pistol Mk II. -[info][2025/04/30 00:19:03]: Kimberly Smith got hit by Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/04/30 00:19:05]: Demon Campers aimed at Amy Ann with SNS Pistol Mk II. -[info][2025/04/30 00:19:05]: Amy Ann got hit by Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/04/30 00:19:17]: Demon Campers got hit by Amy Ann with Fist causing 0 damage. -[info][2025/04/30 00:19:19]: Demon Campers got hit by Amy Ann with Fist causing 21 damage. -[info][2025/04/30 00:19:20]: Demon Campers got hit by Amy Ann with Fist causing 21 damage. -[info][2025/04/30 00:19:23]: Demon Campers got hit by Amy Ann with Fist causing 21 damage. -[info][2025/04/30 00:19:25]: Demon Campers got hit by Amy Ann with Fist causing 21 damage. -[info][2025/04/30 00:19:27]: Demon Campers got killed by Amy Ann with Fist causing 21 damage. -[info][2025/04/30 00:19:46]: Kimberly Smith aimed at Amy Ann with Carbine Rifle Mk II. -[info][2025/04/30 00:19:47]: Demon Campers got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 00:19:54]: Demon Campers aimed at Amy Ann with Carbine Rifle Mk II. -[info][2025/04/30 00:19:54]: Amy Ann got hit by Demon Campers with Carbine Rifle MK2 causing 32 damage. -[info][2025/04/30 00:19:54]: Kimberly Smith got hit by Demon Campers with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 00:19:54]: Amy Ann got hit by Demon Campers with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 00:19:54]: Amy Ann got hit by Demon Campers with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 00:19:55]: Demon Campers aimed at Kimberly Smith with Carbine Rifle Mk II. -[info][2025/04/30 00:19:56]: Kimberly Smith got hit by Demon Campers with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 00:19:57]: Amy Ann got hit by Demon Campers with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 00:19:57]: Amy Ann got hit by Demon Campers with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 00:20:04]: Amy Ann aimed at Kimberly Smith with Carbine Rifle. -[info][2025/04/30 00:28:06]: Demon Campers aimed at Seppl McCollin Jr. with SNS Pistol Mk II. -[info][2025/04/30 00:28:10]: Demon Campers aimed at Kimberly Smith with SNS Pistol Mk II. -[info][2025/04/30 00:28:12]: Kimberly Smith got hit by Demon Campers with SNS Pistol MK2 causing 30 damage. -[info][2025/04/30 00:34:49]: Demon Campers got hit by Demon Campers with Animal causing 39 damage. -[info][2025/04/30 00:36:20]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 139 damage. -[info][2025/04/30 00:36:21]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 139 damage. -[info][2025/04/30 00:36:30]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 174 damage. -[info][2025/04/30 00:36:30]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 174 damage. -[info][2025/04/30 00:36:41]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 174 damage. -[info][2025/04/30 00:36:41]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 174 damage. -[info][2025/04/30 00:36:41]: Amy Ann got hit by LaRossa Tier with Vehicle Barrage Top MG causing 0 damage. -[info][2025/04/30 00:36:43]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 139 damage. -[info][2025/04/30 00:36:43]: Amy Ann got hit by LaRossa Tier with Vehicle Barrage Top MG causing 0 damage. -[info][2025/04/30 00:36:44]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 139 damage. -[info][2025/04/30 00:36:46]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 174 damage. -[info][2025/04/30 00:36:48]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 139 damage. -[info][2025/04/30 00:36:52]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:36:52]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:36:52]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:36:53]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:36:53]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:36:55]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:36:55]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:36:56]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:36:56]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:36:57]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:36:57]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:36:57]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:36:58]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:36:58]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:36:58]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:36:58]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:36:58]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:36:59]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:36:59]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:05]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:05]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:05]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:05]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:06]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:06]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:06]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:06]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:07]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:07]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:07]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:07]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:07]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:07]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:08]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:08]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:08]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:09]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:09]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:09]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:09]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:09]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:09]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:09]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:10]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:10]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:10]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:10]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:12]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:13]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:13]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:14]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:14]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:14]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:14]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:14]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:15]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:15]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:15]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:15]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:15]: Amy Ann got killed by LaRossa Tier with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:29]: LaRossa Tier got hit by Demon Campers with Fist causing 21 damage. -[info][2025/04/30 00:37:30]: LaRossa Tier got hit by Demon Campers with Fist causing 0 damage. -[info][2025/04/30 00:37:31]: Demon Campers got hit by LaRossa Tier with Fist causing 20 damage. -[info][2025/04/30 00:37:32]: Demon Campers got hit by LaRossa Tier with Fist causing 20 damage. -[info][2025/04/30 00:37:33]: Demon Campers got hit by LaRossa Tier with Fist causing 20 damage. -[info][2025/04/30 00:37:33]: Demon Campers got hit by LaRossa Tier with Fist causing 0 damage. -[info][2025/04/30 00:37:34]: Demon Campers got hit by LaRossa Tier with Fist causing 20 damage. -[info][2025/04/30 00:37:35]: Demon Campers got killed by LaRossa Tier with Fist causing 20 damage. -[info][2025/04/30 00:37:46]: Demon Campers got hit by LaRossa Tier with Fist causing 20 damage. -[info][2025/04/30 00:37:47]: Demon Campers got hit by LaRossa Tier with Fist causing 20 damage. -[info][2025/04/30 00:37:51]: Amy Ann got hit by LaRossa Tier with Fist causing 0 damage. -[info][2025/04/30 00:37:52]: Amy Ann got hit by LaRossa Tier with Fist causing 0 damage. -[info][2025/04/30 00:37:55]: Amy Ann got hit by LaRossa Tier with Fist causing 0 damage. -[info][2025/04/30 00:38:21]: Demon Campers got hit by Amy Ann with Fist causing 21 damage. -[info][2025/04/30 00:38:22]: Demon Campers got hit by Amy Ann with Fist causing 26 damage. -[info][2025/04/30 00:38:23]: Amy Ann got hit by Demon Campers with Fist causing 0 damage. -[info][2025/04/30 00:38:24]: Amy Ann got hit by Demon Campers with Fist causing 0 damage. -[info][2025/04/30 00:38:26]: Demon Campers got killed by Amy Ann with Fist causing 26 damage. -[info][2025/04/30 00:38:26]: Amy Ann got hit by Demon Campers with Fist causing 0 damage. -[info][2025/04/30 00:38:53]: Demon Campers got hit by Amy Ann with Fist causing 21 damage. -[info][2025/04/30 00:38:56]: Demon Campers aimed at Amy Ann with Stun Gun. -[info][2025/04/30 00:38:56]: Amy Ann got hit by Demon Campers with Stun Gun causing 1 damage. -[info][2025/04/30 00:39:01]: Amy Ann got hit by Demon Campers with Stun Gun causing 0 damage. -[info][2025/04/30 00:39:01]: Demon Campers aimed at Amy Ann with Stun Gun. -[info][2025/04/30 00:39:05]: Amy Ann aimed at Demon Campers with Carbine Rifle. -[info][2025/04/30 00:39:06]: Demon Campers aimed at Amy Ann with Stun Gun. -[info][2025/04/30 00:39:13]: Demon Campers aimed at Amy Ann with SNS Pistol Mk II. -[info][2025/04/30 00:39:17]: Amy Ann aimed at Demon Campers with Carbine Rifle. -[info][2025/04/30 00:39:19]: Demon Campers got hit by Amy Ann with Carbine Rifle causing 18 damage. -[info][2025/04/30 00:39:19]: Amy Ann got hit by Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/04/30 00:39:19]: Demon Campers got hit by Amy Ann with Carbine Rifle causing 18 damage. -[info][2025/04/30 00:39:19]: Demon Campers aimed at Amy Ann with SNS Pistol Mk II. -[info][2025/04/30 00:39:22]: Amy Ann aimed at Demon Campers with Carbine Rifle. -[info][2025/04/30 00:39:24]: Demon Campers got hit by Amy Ann with Carbine Rifle causing 18 damage. -[info][2025/04/30 00:39:25]: Demon Campers got hit by Amy Ann with Carbine Rifle causing 15 damage. -[info][2025/04/30 00:39:28]: Amy Ann aimed at Demon Campers with Carbine Rifle. -[info][2025/04/30 00:39:29]: Demon Campers aimed at Amy Ann with SNS Pistol Mk II. -[info][2025/04/30 00:39:29]: Amy Ann got hit by Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/04/30 00:39:31]: Amy Ann aimed at Demon Campers with Carbine Rifle. -[info][2025/04/30 00:39:32]: Demon Campers aimed at Amy Ann with SNS Pistol Mk II. -[info][2025/04/30 00:39:40]: Amy Ann aimed at Demon Campers with Carbine Rifle. -[info][2025/04/30 00:39:42]: Demon Campers got killed by Amy Ann with Carbine Rifle causing 18 damage. -[info][2025/04/30 00:39:46]: Amy Ann aimed at Demon Campers with Carbine Rifle. -[info][2025/04/30 00:39:55]: Demon Campers got killed by Umbra Lion with Cougar causing 0 damage. -[info][2025/04/30 00:40:05]: Amy Ann got hit by Umbra Lion with Cougar causing 0 damage. -[info][2025/04/30 00:40:08]: Umbra Lion got hit by Demon Campers with Fist causing 26 damage. -[info][2025/04/30 00:40:11]: Umbra Lion got hit by Demon Campers with Fist causing 26 damage. -[info][2025/04/30 00:40:12]: Demon Campers got hit by Amy Ann with Fist causing 21 damage. -[info][2025/04/30 00:40:13]: Demon Campers got killed by Umbra Lion with Cougar causing 0 damage. -[info][2025/04/30 00:41:02]: Demon Campers got hit by Amy Ann with Fist causing 21 damage. -[info][2025/04/30 00:41:07]: Demon Campers aimed at Amy Ann with SNS Pistol Mk II. -[info][2025/04/30 00:41:09]: Amy Ann got hit by Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/04/30 00:41:14]: Demon Campers got killed by Umbra Lion with Cougar causing 0 damage. -[info][2025/04/30 00:41:26]: Amy Ann aimed at Demon Campers with Carbine Rifle. -[info][2025/04/30 00:41:27]: Demon Campers got killed by Amy Ann with Carbine Rifle causing 274 damage. -[info][2025/04/30 00:41:34]: Demon Campers got killed by Amy Ann with Carbine Rifle causing 278 damage. -[info][2025/04/30 00:41:38]: Amy Ann aimed at Demon Campers with Carbine Rifle. -[info][2025/04/30 00:41:43]: Demon Campers got hit by Amy Ann with Carbine Rifle causing 18 damage. -[info][2025/04/30 00:41:46]: Demon Campers got hit by Amy Ann with Carbine Rifle causing 18 damage. -[info][2025/04/30 00:41:47]: Demon Campers got hit by Amy Ann with Carbine Rifle causing 18 damage. -[info][2025/04/30 00:41:47]: Demon Campers got hit by Amy Ann with Carbine Rifle causing 18 damage. -[info][2025/04/30 00:42:59]: Amy Ann aimed at Umbra Lion with Carbine Rifle. -[info][2025/04/30 00:43:02]: Demon Campers aimed at Amy Ann with Heavy Revolver Mk II. -[info][2025/04/30 00:43:03]: Amy Ann got killed by Demon Campers with Heavy Revolver MK2 causing 177 damage. -[info][2025/04/30 00:43:05]: Demon Campers aimed at Amy Ann with Heavy Revolver Mk II. -[info][2025/04/30 00:43:06]: Amy Ann got killed by Demon Campers with Heavy Revolver MK2 causing 176 damage. -[info][2025/04/30 00:43:08]: Demon Campers aimed at Amy Ann with Heavy Revolver Mk II. -[info][2025/04/30 00:43:08]: Amy Ann got killed by Demon Campers with Heavy Revolver MK2 causing 176 damage. -[info][2025/04/30 00:43:16]: Demon Campers aimed at Amy Ann with Carbine Rifle Mk II. -[info][2025/04/30 00:43:19]: Amy Ann got hit by Demon Campers with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 00:43:21]: Demon Campers got killed by Umbra Lion with Cougar causing 0 damage. -[info][2025/04/30 00:43:36]: Demon Campers aimed at Umbra Lion with Stun Gun. -[info][2025/04/30 00:43:37]: Umbra Lion got hit by Demon Campers with Stun Gun causing 0 damage. -[info][2025/04/30 00:43:47]: Amy Ann aimed at Demon Campers with Carbine Rifle. -[info][2025/04/30 00:43:48]: Demon Campers aimed at Amy Ann with Stun Gun. -[info][2025/04/30 00:43:51]: Amy Ann aimed at Demon Campers with Carbine Rifle. -[info][2025/04/30 00:43:58]: Demon Campers aimed at Amy Ann with Stun Gun. -[info][2025/04/30 00:44:02]: Amy Ann got hit by Demon Campers with Stun Gun causing 0 damage. -[info][2025/04/30 00:44:06]: Amy Ann got hit by Demon Campers with Stun Gun causing 0 damage. -[info][2025/04/30 00:44:09]: Amy Ann got hit by Demon Campers with Stun Gun causing 0 damage. -[info][2025/04/30 00:44:33]: Demon Campers aimed at Amy Ann with Stun Gun. -[info][2025/04/30 00:44:34]: Amy Ann got hit by Demon Campers with Stun Gun causing 0 damage. -[info][2025/04/30 00:44:44]: Demon Campers aimed at Amy Ann with Stun Gun. -[info][2025/04/30 00:44:52]: Amy Ann aimed at Demon Campers with Carbine Rifle. -[info][2025/04/30 00:44:54]: Demon Campers aimed at Amy Ann with SNS Pistol Mk II. -[info][2025/04/30 00:44:55]: Amy Ann got hit by Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/04/30 00:44:59]: Demon Campers got killed by Amy Ann with Carbine Rifle causing 359 damage. -[info][2025/04/30 00:45:10]: Demon Campers aimed at Kimberly Smith with Carbine Rifle Mk II. -[info][2025/04/30 00:45:12]: Kimberly Smith got hit by Demon Campers with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 00:46:11]: campers requested all waypoints. -[info][2025/04/30 00:46:42]: Demon Campers got hit by Amy Ann with Fist causing 21 damage. -[info][2025/04/30 00:46:48]: Demon Campers aimed at Amy Ann with SNS Pistol Mk II. -[info][2025/04/30 00:46:58]: Demon Campers got hit by Amy Ann with Fist causing 26 damage. -[info][2025/04/30 00:47:05]: Amy Ann got hit by Demon Campers with Fist causing 0 damage. -[info][2025/04/30 00:47:06]: Amy Ann got hit by Demon Campers with Fist causing 0 damage. -[info][2025/04/30 00:48:18]: Amy Ann aimed at Demon Campers with Carbine Rifle. -[info][2025/04/30 00:48:20]: Demon Campers got hit by Amy Ann with Carbine Rifle causing 18 damage. -[info][2025/04/30 00:48:21]: Demon Campers got killed by Amy Ann with Carbine Rifle causing 359 damage. -[info][2025/04/30 00:52:43]: Amy Ann aimed at Demon Campers with Carbine Rifle. -[info][2025/04/30 00:52:49]: Amy Ann aimed at Demon Campers with Carbine Rifle. -[info][2025/04/30 19:43:32]: Kimberly Smith aimed at Seppl McCollin Jr. with Carbine Rifle Mk II. -[info][2025/04/30 19:43:49]: Seppl McCollin Jr. aimed at Kimberly Smith with Heavy Revolver Mk II. -[info][2025/04/30 19:43:51]: Kimberly Smith aimed at Seppl McCollin Jr. with Carbine Rifle Mk II. -[info][2025/04/30 19:43:52]: Seppl McCollin Jr. got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 19:43:55]: Seppl McCollin Jr. aimed at Kimberly Smith with Heavy Revolver Mk II. -[info][2025/04/30 19:43:56]: Kimberly Smith aimed at Seppl McCollin Jr. with Carbine Rifle Mk II. -[info][2025/04/30 19:43:56]: Kimberly Smith got killed by Seppl McCollin Jr. with Heavy Revolver MK2 causing 199 damage. -[info][2025/04/30 19:44:52]: Seppl McCollin Jr. aimed at Kimberly Smith with Heavy Revolver Mk II. -[info][2025/04/30 19:45:49]: Seppl McCollin Jr. aimed at Kimberly Smith with Heavy Revolver Mk II. -[info][2025/04/30 21:53:19]: tim requested all waypoints. -[info][2025/04/30 23:47:52]: Kimberly Smith aimed at Demon Campers with Combat Shotgun. -[info][2025/04/30 23:48:07]: Kimberly Smith aimed at Demon Campers with Combat Shotgun. -[info][2025/04/30 23:48:08]: Demon Campers got killed by Kimberly Smith with Combat Shotgun causing 180 damage. -[info][2025/04/30 23:48:35]: Demon Campers aimed at Kimberly Smith with SNS Pistol Mk II. -[info][2025/04/30 23:48:36]: Kimberly Smith got hit by Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/04/30 23:48:42]: Kimberly Smith aimed at Demon Campers with Combat Shotgun. -[info][2025/04/30 23:48:43]: Demon Campers got hit by Kimberly Smith with Combat Shotgun causing 0 damage. -[info][2025/04/30 23:48:48]: Kimberly Smith aimed at Demon Campers with Combat Shotgun. -[info][2025/04/30 23:48:49]: Demon Campers got hit by Kimberly Smith with Combat Shotgun causing 0 damage. -[info][2025/04/30 23:48:51]: Kimberly Smith aimed at Demon Campers with Combat Shotgun. -[info][2025/04/30 23:48:51]: Demon Campers aimed at Kimberly Smith with SNS Pistol Mk II. -[info][2025/04/30 23:49:01]: Demon Campers got hit by Kimberly Smith with Combat Shotgun causing 0 damage. -[info][2025/04/30 23:49:03]: Kimberly Smith aimed at Demon Campers with Combat Shotgun. -[info][2025/04/30 23:49:06]: Demon Campers got hit by Kimberly Smith with Combat Shotgun causing 0 damage. -[info][2025/04/30 23:49:08]: Kimberly Smith aimed at Demon Campers with Combat Shotgun. -[info][2025/04/30 23:49:13]: Demon Campers got hit by Kimberly Smith with Combat Shotgun causing 0 damage. -[info][2025/04/30 23:49:15]: Kimberly Smith aimed at Demon Campers with Combat Shotgun. -[info][2025/04/30 23:49:28]: Demon Campers aimed at Kimberly Smith with SNS Pistol Mk II. -[info][2025/04/30 23:49:28]: Kimberly Smith got hit by Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/04/30 23:49:33]: Demon Campers aimed at Kimberly Smith with SNS Pistol Mk II. -[info][2025/04/30 23:49:34]: Kimberly Smith got hit by Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/04/30 23:49:39]: Kimberly Smith aimed at Demon Campers with Combat Shotgun. -[info][2025/04/30 23:49:40]: Demon Campers aimed at Kimberly Smith with SNS Pistol Mk II. -[info][2025/04/30 23:49:40]: Demon Campers got hit by Kimberly Smith with Combat Shotgun causing 0 damage. -[info][2025/04/30 23:49:53]: Kimberly Smith aimed at Demon Campers with Combat Shotgun. -[info][2025/04/30 23:50:02]: Kimberly Smith aimed at Demon Campers with Combat Shotgun. -[info][2025/04/30 23:50:03]: Demon Campers got hit by Kimberly Smith with Combat Shotgun causing 0 damage. -[info][2025/04/30 23:50:07]: Kimberly Smith aimed at Demon Campers with Combat Shotgun. -[info][2025/04/30 23:50:15]: Kimberly Smith aimed at Demon Campers with Combat Shotgun. -[info][2025/04/30 23:50:24]: Demon Campers got hit by Kimberly Smith with Combat Shotgun causing 0 damage. -[info][2025/04/30 23:50:24]: Demon Campers got hit by Kimberly Smith with Combat Shotgun causing 0 damage. -[info][2025/04/30 23:50:27]: Kimberly Smith aimed at Demon Campers with Combat Shotgun. -[info][2025/04/30 23:50:29]: Demon Campers got hit by Kimberly Smith with Combat Shotgun causing 0 damage. -[info][2025/04/30 23:50:29]: Demon Campers got hit by Kimberly Smith with Combat Shotgun causing 0 damage. -[info][2025/04/30 23:50:36]: Demon Campers aimed at Kimberly Smith with Carbine Rifle Mk II. -[info][2025/04/30 23:50:37]: Kimberly Smith got hit by Demon Campers with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 23:50:39]: Demon Campers aimed at Kimberly Smith with Carbine Rifle Mk II. -[info][2025/04/30 23:50:40]: Kimberly Smith got hit by Demon Campers with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 23:50:40]: Kimberly Smith got hit by Demon Campers with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 23:50:42]: Demon Campers aimed at Kimberly Smith with Carbine Rifle Mk II. -[info][2025/04/30 23:50:43]: Kimberly Smith got hit by Demon Campers with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 23:50:43]: Kimberly Smith got hit by Demon Campers with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 23:50:43]: Kimberly Smith got hit by Demon Campers with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 23:50:45]: Demon Campers aimed at Kimberly Smith with Carbine Rifle Mk II. -[info][2025/04/30 23:50:46]: Kimberly Smith got hit by Demon Campers with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 23:50:46]: Kimberly Smith got hit by Demon Campers with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 23:50:48]: Kimberly Smith got hit by Demon Campers with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 23:50:48]: Kimberly Smith got hit by Demon Campers with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 23:50:52]: Kimberly Smith aimed at Demon Campers with Carbine Rifle Mk II. -[info][2025/04/30 23:50:54]: Demon Campers got killed by Kimberly Smith with Carbine Rifle MK2 causing 624 damage. -[info][2025/04/30 23:51:12]: Kimberly Smith aimed at Demon Campers with Carbine Rifle Mk II. -[info][2025/04/30 23:51:13]: Demon Campers got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 23:51:20]: Kimberly Smith aimed at Demon Campers with Carbine Rifle Mk II. -[info][2025/04/30 23:51:20]: Demon Campers aimed at Kimberly Smith with SNS Pistol Mk II. -[info][2025/04/30 23:51:20]: Demon Campers got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 23:51:20]: Demon Campers got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 23:51:24]: Demon Campers aimed at Kimberly Smith with SNS Pistol Mk II. -[info][2025/04/30 23:51:26]: Kimberly Smith got hit by Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/04/30 23:51:27]: Demon Campers aimed at Kimberly Smith with SNS Pistol Mk II. -[info][2025/04/30 23:51:29]: Demon Campers aimed at Kimberly Smith with Carbine Rifle Mk II. -[info][2025/04/30 23:51:31]: Kimberly Smith got hit by Demon Campers with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 23:51:31]: Kimberly Smith got hit by Demon Campers with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 23:51:33]: Demon Campers aimed at Kimberly Smith with Carbine Rifle Mk II. -[info][2025/04/30 23:51:34]: Kimberly Smith got hit by Demon Campers with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 23:51:34]: Kimberly Smith got hit by Demon Campers with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 23:52:52]: Amy Ann aimed at Demon Campers with Carbine Rifle. -[info][2025/04/30 23:52:56]: Demon Campers got killed by Amy Ann with Carbine Rifle causing 425 damage. -[info][2025/05/01 00:06:19]: Amy Ann got hit by Demon Campers with Fist causing 20 damage. -[info][2025/05/01 00:20:57]: Demon Campers got hit by Shadow Wuff with Animal causing 0 damage. -[info][2025/05/01 00:31:36]: Amy Ann aimed at Shadow Wuff with Carbine Rifle. -[info][2025/05/01 00:31:38]: Amy Ann aimed at Demon Campers with Carbine Rifle. -[info][2025/05/01 00:34:32]: Shadow Wuff got hit by Shadow Wuff with Fist causing 20 damage. -[info][2025/05/01 00:34:35]: Shadow Wuff got hit by Shadow Wuff with Fist causing 20 damage. -[info][2025/05/01 00:58:40]: Demon Campers got hit by Amy Ann with Fist causing 21 damage. -[info][2025/05/01 00:58:40]: Demon Campers got hit by Amy Ann with Fist causing 26 damage. -[info][2025/05/01 00:58:42]: Demon Campers got hit by Amy Ann with Fist causing 21 damage. -[info][2025/05/01 00:58:43]: Demon Campers got hit by Amy Ann with Fist causing 26 damage. -[info][2025/05/01 00:58:45]: Demon Campers got hit by Amy Ann with Fist causing 21 damage. -[info][2025/05/01 00:58:46]: Demon Campers got hit by Amy Ann with Fist causing 26 damage. -[info][2025/05/01 00:58:49]: Demon Campers got hit by Amy Ann with Fist causing 21 damage. -[info][2025/05/01 00:58:50]: Demon Campers got hit by Amy Ann with Fist causing 26 damage. -[info][2025/05/01 00:58:52]: Demon Campers got hit by Amy Ann with Fist causing 21 damage. -[info][2025/05/01 00:58:53]: Demon Campers got hit by Amy Ann with Fist causing 26 damage. -[info][2025/05/01 02:04:14]: Demon Campers aimed at Shadow Wuff with Stun Gun. -[info][2025/05/01 02:04:16]: Shadow Wuff got hit by Amy Ann with Fist causing 26 damage. -[info][2025/05/01 02:04:18]: Demon Campers got hit by Shadow Wuff with Animal causing 39 damage. -[info][2025/05/01 02:04:18]: Demon Campers got hit by Amy Ann with Fist causing 21 damage. -[info][2025/05/01 02:04:18]: Shadow Wuff got hit by Amy Ann with Fist causing 21 damage. -[info][2025/05/01 02:04:25]: Demon Campers aimed at Amy Ann with SNS Pistol Mk II. -[info][2025/05/01 02:04:25]: Amy Ann got hit by Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/05/01 02:04:26]: Amy Ann aimed at Demon Campers with Carbine Rifle. -[info][2025/05/01 02:04:28]: Demon Campers aimed at Shadow Wuff with SNS Pistol Mk II. -[info][2025/05/01 02:04:29]: Shadow Wuff got hit by Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/05/01 02:04:30]: Amy Ann aimed at Demon Campers with Carbine Rifle. -[info][2025/05/01 02:04:30]: Demon Campers got hit by Amy Ann with Carbine Rifle causing 18 damage. -[info][2025/05/01 02:04:30]: Demon Campers aimed at Amy Ann with SNS Pistol Mk II. -[info][2025/05/01 02:04:33]: Demon Campers aimed at Amy Ann with SNS Pistol Mk II. -[info][2025/05/01 02:04:34]: Demon Campers got hit by Amy Ann with Carbine Rifle causing 15 damage. -[info][2025/05/01 02:04:34]: Amy Ann aimed at Demon Campers with Carbine Rifle. -[info][2025/05/01 02:04:35]: Demon Campers got hit by Amy Ann with Carbine Rifle causing 18 damage. -[info][2025/05/01 02:04:35]: Demon Campers got hit by Amy Ann with Carbine Rifle causing 15 damage. -[info][2025/05/01 02:04:36]: Demon Campers got hit by Amy Ann with Carbine Rifle causing 18 damage. -[info][2025/05/01 02:04:37]: Demon Campers aimed at Amy Ann with SNS Pistol Mk II. -[info][2025/05/01 02:04:37]: Amy Ann got hit by Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/05/01 02:04:37]: Amy Ann got hit by Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/05/01 02:04:38]: Shadow Wuff got hit by Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/05/01 02:04:39]: Demon Campers aimed at Amy Ann with SNS Pistol Mk II. -[info][2025/05/01 02:04:39]: Amy Ann got hit by Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/05/01 02:04:44]: Amy Ann aimed at Demon Campers with Carbine Rifle. -[info][2025/05/01 02:04:44]: Demon Campers got hit by Amy Ann with Carbine Rifle causing 18 damage. -[info][2025/05/01 02:04:49]: Demon Campers got killed by Shadow Wuff with Animal causing 39 damage. -[info][2025/05/01 02:04:51]: Demon Campers got killed by Shadow Wuff with Animal causing 0 damage. -[info][2025/05/01 02:04:55]: Amy Ann aimed at Demon Campers with Carbine Rifle. -[info][2025/05/01 02:04:56]: Demon Campers got hit by Amy Ann with Carbine Rifle causing 18 damage. -[info][2025/05/01 02:05:11]: Shadow Wuff got hit by Demon Campers with Fist causing 26 damage. -[info][2025/05/01 02:05:13]: Shadow Wuff got hit by Demon Campers with Fist causing 26 damage. -[info][2025/05/01 02:05:17]: Shadow Wuff got hit by Demon Campers with Fist causing 26 damage. -[info][2025/05/01 02:05:22]: Amy Ann got hit by Demon Campers with Fist causing 21 damage. -[info][2025/05/01 02:05:29]: Amy Ann got killed by Demon Campers with Fist causing 0 damage. -[info][2025/05/01 02:05:30]: Shadow Wuff got hit by Demon Campers with Fist causing 26 damage. -[info][2025/05/01 02:05:36]: Shadow Wuff got hit by Demon Campers with Fist causing 26 damage. -[info][2025/05/01 02:05:37]: Shadow Wuff got hit by Demon Campers with Fist causing 26 damage. -[info][2025/05/01 02:05:39]: Shadow Wuff got hit by Demon Campers with Fist causing 26 damage. -[info][2025/05/01 02:05:41]: Shadow Wuff got killed by Demon Campers with Fist causing 26 damage. -[info][2025/05/01 02:06:26]: Demon Campers got killed by Amy Ann with Fist causing 0 damage. -[info][2025/05/01 02:25:40]: Kimberly Smith aimed at Amy Ann with Combat Shotgun. -[info][2025/05/01 02:25:42]: Amy Ann got hit by Kimberly Smith with Combat Shotgun causing 0 damage. -[info][2025/05/01 02:25:54]: Kimberly Smith aimed at Amy Ann with Carbine Rifle Mk II. -[info][2025/05/01 02:26:02]: Kimberly Smith aimed at Amy Ann with Carbine Rifle Mk II. -[info][2025/05/01 02:26:03]: Amy Ann got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/05/01 15:44:42]: Kimberly Smith got killed by Seppl McCollin Jr. with Explosion causing 9999 damage. -[info][2025/05/01 15:49:23]: Seppl McCollin Jr. got hit by Seppl McCollin Jr. with Fist causing 17 damage. -[info][2025/05/01 15:49:24]: Seppl McCollin Jr. got hit by Seppl McCollin Jr. with Fist causing 17 damage. -[info][2025/05/01 23:52:53]: Demon Campers got hit by Demon Campers with Animal causing 38 damage. -[info][2025/05/02 14:36:28]: campers requested all waypoints. -[info][2025/05/02 22:53:32]: Dr.Marty McCollin got hit by Demon Campers with Fist causing 21 damage. -[info][2025/05/02 22:53:40]: Demon Campers got hit by Dr.Marty McCollin with Fist causing 21 damage. -[info][2025/05/02 23:04:29]: Dr.Marty McCollin got hit by Dr.Marty McCollin with Fist causing 16 damage. -[info][2025/05/02 23:07:33]: Seppl McCollin Jr. aimed at Demon Campers with Heavy Revolver Mk II. -[info][2025/05/02 23:07:37]: Demon Campers got killed by Seppl McCollin Jr. with Heavy Revolver MK2 causing 3785 damage. -[info][2025/05/02 23:59:02]: Demon Campers got killed by Amy Ann with Explosion causing 500 damage. -[info][2025/05/03 00:00:04]: Dr.Marty McCollin got killed by Demon Campers with Vehicle Player Lazer causing 152 damage. -[info][2025/05/03 00:00:04]: Dr.Marty McCollin got killed by Demon Campers with Vehicle Player Lazer causing 143 damage. -[info][2025/05/03 02:57:06]: Shadow Wuff got hit by Demon Campers with Fist causing 27 damage. -[info][2025/05/04 21:46:41]: Amy Ann got hit by Kimberly Smith with Fist causing 21 damage. -[info][2025/05/04 23:11:48]: Demon Campers got hit by Amy Ann with Fist causing 21 damage. -[info][2025/05/05 21:36:22]: Luna Lanewood got hit by Frank Castle with Fist causing 20 damage. -[info][2025/05/05 21:36:23]: Luna Lanewood got hit by Frank Castle with Fist causing 0 damage. -[info][2025/05/05 21:36:24]: Luna Lanewood got hit by Frank Castle with Fist causing 20 damage. -[info][2025/05/05 21:36:25]: Luna Lanewood got hit by Frank Castle with Fist causing 25 damage. -[info][2025/05/05 21:36:26]: Luna Lanewood got killed by Frank Castle with Fist causing 25 damage. -[info][2025/05/05 21:38:44]: Luna Lanewood got hit by Frank Castle with Fist causing 20 damage. -[info][2025/05/05 21:38:45]: Luna Lanewood got hit by Frank Castle with Fist causing 0 damage. -[info][2025/05/05 21:38:47]: Luna Lanewood got hit by Frank Castle with Fist causing 20 damage. -[info][2025/05/05 21:38:48]: Luna Lanewood got hit by Frank Castle with Fist causing 20 damage. -[info][2025/05/05 21:38:48]: Frank Castle got hit by Luna Lanewood with Fist causing 26 damage. -[info][2025/05/05 21:38:49]: Luna Lanewood got hit by Frank Castle with Fist causing 20 damage. -[info][2025/05/05 21:38:49]: Luna Lanewood got hit by Frank Castle with Fist causing 0 damage. -[info][2025/05/05 21:38:51]: Luna Lanewood got killed by Frank Castle with Fist causing 20 damage. -[info][2025/05/05 21:38:52]: Luna Lanewood got killed by Frank Castle with Fist causing 20 damage. -[info][2025/05/05 21:38:54]: Luna Lanewood got hit by Frank Castle with Fist causing 25 damage. -[info][2025/05/05 21:38:57]: Luna Lanewood got hit by Frank Castle with Fist causing 25 damage. -[info][2025/05/05 21:39:00]: Luna Lanewood got hit by Frank Castle with Fist causing 20 damage. -[info][2025/05/05 21:39:01]: Luna Lanewood got hit by Frank Castle with Fist causing 20 damage. -[info][2025/05/05 21:39:02]: Luna Lanewood got hit by Frank Castle with Fist causing 25 damage. -[info][2025/05/05 22:04:14]: Luna Lanewood got hit by Frank Castle with Fist causing 25 damage. -[info][2025/05/06 18:05:24]: tim requested all waypoints. -[info][2025/05/06 19:46:28]: Frank Castle got hit by Frank Castle with Fist causing 14 damage. -[info][2025/05/06 19:46:29]: Frank Castle got hit by Frank Castle with Fist causing 14 damage. -[info][2025/05/06 19:46:34]: Frank Castle got hit by Frank Castle with Fist causing 14 damage. -[info][2025/05/06 19:46:35]: Frank Castle got hit by Frank Castle with Fist causing 14 damage. -[info][2025/05/06 19:46:42]: Frank Castle got hit by Frank Castle with Fist causing 14 damage. -[info][2025/05/06 19:46:44]: Frank Castle got hit by Frank Castle with Fist causing 14 damage. -[info][2025/05/06 19:46:45]: Frank Castle got hit by Frank Castle with Fist causing 14 damage. -[info][2025/05/06 19:47:23]: Kimberly Smith aimed at Frank Castle with Pistol Mk II. -[info][2025/05/06 19:47:28]: Kimberly Smith aimed at Frank Castle with Pistol Mk II. -[info][2025/05/06 19:47:28]: Frank Castle got hit by Kimberly Smith with Pistol MK2 causing 31 damage. -[info][2025/05/06 19:47:30]: Kimberly Smith aimed at Frank Castle with Pistol Mk II. -[info][2025/05/06 19:47:30]: Frank Castle got hit by Kimberly Smith with Pistol MK2 causing 11 damage. -[info][2025/05/06 19:47:31]: Frank Castle got killed by Kimberly Smith with Pistol MK2 causing 11 damage. -[info][2025/05/06 19:48:52]: Frank Castle aimed at Kimberly Smith with SNS Pistol Mk II. -[info][2025/05/06 19:48:53]: Kimberly Smith got killed by Frank Castle with SNS Pistol MK2 causing 627 damage. -[info][2025/05/06 19:48:56]: Frank Castle aimed at Kimberly Smith with SNS Pistol Mk II. -[info][2025/05/06 20:40:18]: Kimberly Smith aimed at Frank Castle with AP Pistol. -[info][2025/05/06 20:40:38]: Kimberly Smith aimed at Frank Castle with AP Pistol. -[info][2025/05/06 20:41:41]: Kimberly Smith aimed at Frank Castle with AP Pistol. -[info][2025/05/06 20:41:49]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 24 damage. -[info][2025/05/06 20:41:49]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 4 damage. -[info][2025/05/06 20:41:50]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 4 damage. -[info][2025/05/06 20:41:50]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 4 damage. -[info][2025/05/06 20:41:51]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 4 damage. -[info][2025/05/06 20:41:51]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 4 damage. -[info][2025/05/06 20:41:52]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 4 damage. -[info][2025/05/06 20:41:53]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 4 damage. -[info][2025/05/06 20:41:53]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 4 damage. -[info][2025/05/06 20:41:53]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 4 damage. -[info][2025/05/06 20:41:53]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 4 damage. -[info][2025/05/06 20:41:54]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 4 damage. -[info][2025/05/06 20:41:54]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 4 damage. -[info][2025/05/06 20:41:55]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 4 damage. -[info][2025/05/06 20:41:55]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 4 damage. -[info][2025/05/06 20:41:55]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 4 damage. -[info][2025/05/06 20:41:55]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 4 damage. -[info][2025/05/06 20:41:55]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 4 damage. -[info][2025/05/06 20:41:59]: Kimberly Smith aimed at Frank Castle with AP Pistol. -[info][2025/05/06 20:42:00]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 4 damage. -[info][2025/05/06 20:42:00]: Frank Castle got killed by Kimberly Smith with AP Pistol causing 4 damage. -[info][2025/05/06 20:42:00]: Frank Castle got killed by Kimberly Smith with AP Pistol causing 4 damage. -[info][2025/05/06 20:42:50]: Kimberly Smith aimed at Frank Castle with AP Pistol. -[info][2025/05/06 20:42:52]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 4 damage. -[info][2025/05/06 20:42:52]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 4 damage. -[info][2025/05/06 20:42:53]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 4 damage. -[info][2025/05/06 20:42:53]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 4 damage. -[info][2025/05/06 20:42:54]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 4 damage. -[info][2025/05/06 20:42:56]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 4 damage. -[info][2025/05/06 20:42:58]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 4 damage. -[info][2025/05/06 20:42:59]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 4 damage. -[info][2025/05/06 20:43:00]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 4 damage. -[info][2025/05/06 20:43:05]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 4 damage. -[info][2025/05/06 20:43:43]: Kimberly Smith aimed at Frank Castle with AP Pistol. -[info][2025/05/06 20:43:43]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 4 damage. -[info][2025/05/06 20:43:44]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 9 damage. -[info][2025/05/06 20:43:45]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 9 damage. -[info][2025/05/06 20:43:47]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 9 damage. -[info][2025/05/06 20:43:48]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 9 damage. -[info][2025/05/06 20:43:49]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 9 damage. -[info][2025/05/06 20:43:50]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 9 damage. -[info][2025/05/06 20:47:04]: Kimberly Smith aimed at Frank Castle with AP Pistol. -[info][2025/05/06 20:47:07]: Kimberly Smith aimed at Frank Castle with AP Pistol. -[info][2025/05/06 20:47:07]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 9 damage. -[info][2025/05/06 20:47:08]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 14 damage. -[info][2025/05/06 20:47:23]: Kimberly Smith aimed at Frank Castle with AP Pistol. -[info][2025/05/06 20:47:26]: Kimberly Smith aimed at Frank Castle with AP Pistol. -[info][2025/05/06 20:47:27]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 14 damage. -[info][2025/05/06 20:47:28]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/05/06 20:47:29]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/05/06 20:47:30]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/05/06 20:47:31]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/05/06 20:47:32]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/05/06 20:47:32]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/05/06 20:48:58]: Kimberly Smith aimed at Frank Castle with AP Pistol. -[info][2025/05/06 20:49:01]: Kimberly Smith aimed at Frank Castle with AP Pistol. -[info][2025/05/06 20:49:01]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/05/06 20:49:01]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/05/06 20:49:02]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/05/06 20:49:02]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/05/06 20:49:02]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/05/06 20:49:02]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/05/06 20:49:02]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/05/06 20:49:02]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/05/06 20:49:02]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/05/06 20:49:03]: Kimberly Smith aimed at Frank Castle with AP Pistol. -[info][2025/05/06 20:49:03]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/05/06 20:49:03]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/05/06 20:49:03]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/05/06 20:49:03]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/05/06 20:49:04]: Frank Castle got killed by Kimberly Smith with AP Pistol causing 132 damage. -[info][2025/05/06 20:49:04]: Frank Castle got killed by Kimberly Smith with AP Pistol causing 131 damage. -[info][2025/05/06 20:49:04]: Frank Castle got killed by Kimberly Smith with AP Pistol causing 0 damage. -[info][2025/05/06 20:49:09]: Kimberly Smith aimed at Frank Castle with AP Pistol. -[info][2025/05/06 20:49:09]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/05/06 20:49:10]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/05/06 20:49:44]: Kimberly Smith aimed at Frank Castle with AP Pistol. -[info][2025/05/06 20:49:51]: Kimberly Smith aimed at Frank Castle with AP Pistol. -[info][2025/05/06 20:49:51]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/05/06 20:49:52]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/05/06 20:49:52]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/05/06 20:49:53]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/05/06 20:49:54]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/05/06 20:49:54]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/05/06 20:49:55]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/05/06 20:49:56]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/05/06 20:49:57]: Frank Castle got hit by Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/05/06 20:52:37]: Kimberly Smith aimed at Frank Castle with Pistol Mk II. -[info][2025/05/06 20:52:43]: Frank Castle got hit by Kimberly Smith with Pistol MK2 causing 31 damage. -[info][2025/05/06 20:52:44]: Frank Castle got hit by Kimberly Smith with Pistol MK2 causing 8 damage. -[info][2025/05/06 20:52:45]: Frank Castle got hit by Kimberly Smith with Pistol MK2 causing 8 damage. -[info][2025/05/06 20:52:45]: Frank Castle got hit by Kimberly Smith with Pistol MK2 causing 8 damage. -[info][2025/05/06 20:52:46]: Frank Castle got hit by Kimberly Smith with Pistol MK2 causing 8 damage. -[info][2025/05/06 20:52:47]: Frank Castle got hit by Kimberly Smith with Pistol MK2 causing 8 damage. -[info][2025/05/06 20:52:47]: Frank Castle got hit by Kimberly Smith with Pistol MK2 causing 8 damage. -[info][2025/05/06 20:52:48]: Frank Castle got hit by Kimberly Smith with Pistol MK2 causing 8 damage. -[info][2025/05/06 20:52:49]: Frank Castle got hit by Kimberly Smith with Pistol MK2 causing 8 damage. -[info][2025/05/06 20:52:49]: Frank Castle got killed by Kimberly Smith with Pistol MK2 causing 8 damage. -[info][2025/05/06 20:53:18]: Kimberly Smith aimed at Frank Castle with Pistol Mk II. -[info][2025/05/06 20:53:34]: Kimberly Smith aimed at Frank Castle with Pistol Mk II. -[info][2025/05/06 20:53:34]: Frank Castle got hit by Kimberly Smith with Pistol MK2 causing 8 damage. -[info][2025/05/06 20:53:35]: Frank Castle got hit by Kimberly Smith with Pistol MK2 causing 11 damage. -[info][2025/05/06 20:53:35]: Frank Castle got hit by Kimberly Smith with Pistol MK2 causing 11 damage. -[info][2025/05/06 20:53:35]: Frank Castle got hit by Kimberly Smith with Pistol MK2 causing 11 damage. -[info][2025/05/06 20:53:36]: Frank Castle got hit by Kimberly Smith with Pistol MK2 causing 11 damage. -[info][2025/05/06 20:53:36]: Frank Castle got hit by Kimberly Smith with Pistol MK2 causing 11 damage. -[info][2025/05/06 20:53:37]: Frank Castle got hit by Kimberly Smith with Pistol MK2 causing 11 damage. -[info][2025/05/06 20:53:39]: Frank Castle got hit by Kimberly Smith with Pistol MK2 causing 11 damage. -[info][2025/05/06 20:53:39]: Frank Castle got hit by Kimberly Smith with Pistol MK2 causing 11 damage. -[info][2025/05/06 20:53:40]: Frank Castle got killed by Kimberly Smith with Pistol MK2 causing 11 damage. -[info][2025/05/06 20:54:22]: Kimberly Smith aimed at Frank Castle with Pistol Mk II. -[info][2025/05/06 20:54:23]: Frank Castle got hit by Kimberly Smith with Pistol MK2 causing 11 damage. -[info][2025/05/06 20:54:23]: Frank Castle got hit by Kimberly Smith with Pistol MK2 causing 18 damage. -[info][2025/05/06 20:54:24]: Frank Castle got hit by Kimberly Smith with Pistol MK2 causing 18 damage. -[info][2025/05/06 20:54:24]: Frank Castle got hit by Kimberly Smith with Pistol MK2 causing 18 damage. -[info][2025/05/06 20:54:25]: Frank Castle got hit by Kimberly Smith with Pistol MK2 causing 18 damage. -[info][2025/05/06 20:54:26]: Frank Castle got killed by Kimberly Smith with Pistol MK2 causing 18 damage. -[info][2025/05/06 20:56:33]: Kimberly Smith aimed at Frank Castle with Combat PDW. -[info][2025/05/06 20:56:33]: Frank Castle got hit by Kimberly Smith with Combat PDW causing 27 damage. -[info][2025/05/06 20:56:36]: Frank Castle got hit by Kimberly Smith with Combat PDW causing 10 damage. -[info][2025/05/06 20:56:37]: Frank Castle got hit by Kimberly Smith with Combat PDW causing 10 damage. -[info][2025/05/06 20:56:38]: Frank Castle got hit by Kimberly Smith with Combat PDW causing 10 damage. -[info][2025/05/06 20:56:58]: Kimberly Smith aimed at Frank Castle with Combat PDW. -[info][2025/05/06 20:57:01]: Frank Castle got hit by Kimberly Smith with Combat PDW causing 10 damage. -[info][2025/05/06 20:57:01]: Frank Castle got hit by Kimberly Smith with Combat PDW causing 10 damage. -[info][2025/05/06 20:57:02]: Frank Castle got hit by Kimberly Smith with Combat PDW causing 10 damage. -[info][2025/05/06 20:57:03]: Frank Castle got hit by Kimberly Smith with Combat PDW causing 10 damage. -[info][2025/05/06 20:57:03]: Frank Castle got hit by Kimberly Smith with Combat PDW causing 10 damage. -[info][2025/05/06 20:57:04]: Frank Castle got hit by Kimberly Smith with Combat PDW causing 10 damage. -[info][2025/05/06 20:57:05]: Frank Castle got hit by Kimberly Smith with Combat PDW causing 10 damage. -[info][2025/05/06 20:57:06]: Frank Castle got hit by Kimberly Smith with Combat PDW causing 10 damage. -[info][2025/05/06 20:57:06]: Frank Castle got hit by Kimberly Smith with Combat PDW causing 10 damage. -[info][2025/05/06 20:57:07]: Frank Castle got hit by Kimberly Smith with Combat PDW causing 10 damage. -[info][2025/05/06 20:57:47]: Kimberly Smith aimed at Frank Castle with Combat PDW. -[info][2025/05/06 20:57:47]: Frank Castle got hit by Kimberly Smith with Combat PDW causing 10 damage. -[info][2025/05/06 20:57:48]: Frank Castle got hit by Kimberly Smith with Combat PDW causing 10 damage. -[info][2025/05/06 20:57:49]: Frank Castle got hit by Kimberly Smith with Combat PDW causing 10 damage. -[info][2025/05/06 20:57:50]: Frank Castle got hit by Kimberly Smith with Combat PDW causing 10 damage. -[info][2025/05/06 20:57:50]: Frank Castle got hit by Kimberly Smith with Combat PDW causing 10 damage. -[info][2025/05/06 20:57:51]: Frank Castle got hit by Kimberly Smith with Combat PDW causing 10 damage. -[info][2025/05/06 20:57:52]: Frank Castle got hit by Kimberly Smith with Combat PDW causing 10 damage. -[info][2025/05/06 20:57:53]: Frank Castle got hit by Kimberly Smith with Combat PDW causing 10 damage. -[info][2025/05/06 20:57:58]: Kimberly Smith aimed at Frank Castle with Combat PDW. -[info][2025/05/06 20:57:59]: Frank Castle got hit by Kimberly Smith with Combat PDW causing 10 damage. -[info][2025/05/06 20:57:59]: Frank Castle got hit by Kimberly Smith with Combat PDW causing 10 damage. -[info][2025/05/06 20:58:00]: Frank Castle got hit by Kimberly Smith with Combat PDW causing 10 damage. -[info][2025/05/06 20:58:01]: Frank Castle got hit by Kimberly Smith with Combat PDW causing 10 damage. -[info][2025/05/06 20:58:01]: Frank Castle got hit by Kimberly Smith with Combat PDW causing 10 damage. -[info][2025/05/06 20:58:02]: Frank Castle got hit by Kimberly Smith with Combat PDW causing 10 damage. -[info][2025/05/06 20:58:02]: Frank Castle got hit by Kimberly Smith with Combat PDW causing 10 damage. -[info][2025/05/06 20:58:03]: Frank Castle got hit by Kimberly Smith with Combat PDW causing 10 damage. -[info][2025/05/06 20:58:03]: Frank Castle got hit by Kimberly Smith with Combat PDW causing 10 damage. -[info][2025/05/06 20:58:04]: Frank Castle got killed by Kimberly Smith with Combat PDW causing 10 damage. -[info][2025/05/06 20:58:18]: Kimberly Smith aimed at Frank Castle with Combat PDW. -[info][2025/05/06 20:58:18]: Frank Castle got hit by Kimberly Smith with Combat PDW causing 10 damage. -[info][2025/05/06 20:58:19]: Frank Castle got hit by Kimberly Smith with Combat PDW causing 10 damage. -[info][2025/05/06 20:58:20]: Frank Castle got hit by Kimberly Smith with Combat PDW causing 10 damage. -[info][2025/05/06 20:58:20]: Frank Castle got hit by Kimberly Smith with Combat PDW causing 10 damage. -[info][2025/05/06 20:58:21]: Frank Castle got hit by Kimberly Smith with Combat PDW causing 10 damage. -[info][2025/05/06 20:58:22]: Frank Castle got hit by Kimberly Smith with Combat PDW causing 10 damage. -[info][2025/05/06 20:58:22]: Frank Castle got hit by Kimberly Smith with Combat PDW causing 10 damage. -[info][2025/05/06 20:58:23]: Frank Castle got hit by Kimberly Smith with Combat PDW causing 10 damage. -[info][2025/05/06 20:58:23]: Frank Castle got hit by Kimberly Smith with Combat PDW causing 10 damage. -[info][2025/05/06 20:59:50]: Kimberly Smith aimed at Frank Castle with SMG. -[info][2025/05/06 20:59:51]: Frank Castle got hit by Kimberly Smith with SMG causing 21 damage. -[info][2025/05/06 20:59:52]: Frank Castle got hit by Kimberly Smith with SMG causing 7 damage. -[info][2025/05/06 20:59:53]: Frank Castle got hit by Kimberly Smith with SMG causing 7 damage. -[info][2025/05/06 20:59:54]: Frank Castle got hit by Kimberly Smith with SMG causing 7 damage. -[info][2025/05/06 20:59:55]: Frank Castle got hit by Kimberly Smith with SMG causing 7 damage. -[info][2025/05/06 20:59:55]: Frank Castle got hit by Kimberly Smith with SMG causing 7 damage. -[info][2025/05/06 20:59:56]: Frank Castle got hit by Kimberly Smith with SMG causing 7 damage. -[info][2025/05/06 21:00:06]: Kimberly Smith aimed at Frank Castle with SMG. -[info][2025/05/06 21:00:07]: Frank Castle got hit by Kimberly Smith with SMG causing 7 damage. -[info][2025/05/06 21:00:07]: Frank Castle got hit by Kimberly Smith with SMG causing 7 damage. -[info][2025/05/06 21:00:08]: Frank Castle got hit by Kimberly Smith with SMG causing 7 damage. -[info][2025/05/06 21:00:08]: Frank Castle got hit by Kimberly Smith with SMG causing 7 damage. -[info][2025/05/06 21:00:09]: Frank Castle got hit by Kimberly Smith with SMG causing 7 damage. -[info][2025/05/06 21:00:10]: Frank Castle got hit by Kimberly Smith with SMG causing 7 damage. -[info][2025/05/06 21:00:10]: Frank Castle got hit by Kimberly Smith with SMG causing 7 damage. -[info][2025/05/06 21:00:11]: Frank Castle got hit by Kimberly Smith with SMG causing 7 damage. -[info][2025/05/06 21:00:11]: Frank Castle got hit by Kimberly Smith with SMG causing 7 damage. -[info][2025/05/06 21:00:12]: Frank Castle got hit by Kimberly Smith with SMG causing 7 damage. -[info][2025/05/06 21:00:13]: Frank Castle got hit by Kimberly Smith with SMG causing 7 damage. -[info][2025/05/06 21:00:18]: Kimberly Smith aimed at Frank Castle with SMG. -[info][2025/05/06 21:00:19]: Frank Castle got hit by Kimberly Smith with SMG causing 7 damage. -[info][2025/05/06 21:00:19]: Frank Castle got hit by Kimberly Smith with SMG causing 7 damage. -[info][2025/05/06 21:00:20]: Frank Castle got hit by Kimberly Smith with SMG causing 7 damage. -[info][2025/05/06 21:00:20]: Frank Castle got hit by Kimberly Smith with SMG causing 7 damage. -[info][2025/05/06 21:00:21]: Frank Castle got hit by Kimberly Smith with SMG causing 7 damage. -[info][2025/05/06 21:00:21]: Frank Castle got hit by Kimberly Smith with SMG causing 7 damage. -[info][2025/05/06 21:00:22]: Frank Castle got hit by Kimberly Smith with SMG causing 7 damage. -[info][2025/05/06 21:00:23]: Frank Castle got hit by Kimberly Smith with SMG causing 7 damage. -[info][2025/05/06 21:00:24]: Frank Castle got hit by Kimberly Smith with SMG causing 7 damage. -[info][2025/05/06 21:03:11]: Kimberly Smith aimed at Frank Castle with Micro SMG. -[info][2025/05/06 21:03:14]: Kimberly Smith aimed at Frank Castle with Micro SMG. -[info][2025/05/06 21:03:17]: Kimberly Smith aimed at Frank Castle with Micro SMG. -[info][2025/05/06 21:03:26]: Kimberly Smith aimed at Frank Castle with Micro SMG. -[info][2025/05/06 21:03:36]: Kimberly Smith aimed at Frank Castle with Micro SMG. -[info][2025/05/06 21:04:09]: Kimberly Smith aimed at Frank Castle with Micro SMG. -[info][2025/05/06 21:04:13]: Frank Castle got hit by Kimberly Smith with Micro SMG causing 20 damage. -[info][2025/05/06 21:04:14]: Frank Castle got hit by Kimberly Smith with Micro SMG causing 0 damage. -[info][2025/05/06 21:04:16]: Frank Castle got hit by Kimberly Smith with Micro SMG causing 0 damage. -[info][2025/05/06 21:04:16]: Frank Castle got hit by Kimberly Smith with Micro SMG causing 0 damage. -[info][2025/05/06 21:04:19]: Frank Castle got hit by Kimberly Smith with Micro SMG causing 0 damage. -[info][2025/05/06 21:04:19]: Frank Castle got hit by Kimberly Smith with Micro SMG causing 0 damage. -[info][2025/05/06 21:04:20]: Frank Castle got hit by Kimberly Smith with Micro SMG causing 0 damage. -[info][2025/05/06 21:04:21]: Frank Castle got hit by Kimberly Smith with Micro SMG causing 0 damage. -[info][2025/05/06 21:04:22]: Frank Castle got hit by Kimberly Smith with Micro SMG causing 0 damage. -[info][2025/05/06 21:04:22]: Frank Castle got hit by Kimberly Smith with Micro SMG causing 0 damage. -[info][2025/05/06 21:04:23]: Frank Castle got hit by Kimberly Smith with Micro SMG causing 0 damage. -[info][2025/05/06 21:04:24]: Frank Castle got hit by Kimberly Smith with Micro SMG causing 0 damage. -[info][2025/05/06 21:04:25]: Frank Castle got hit by Kimberly Smith with Micro SMG causing 0 damage. -[info][2025/05/06 21:04:26]: Frank Castle got hit by Kimberly Smith with Micro SMG causing 0 damage. -[info][2025/05/06 21:04:26]: Frank Castle got hit by Kimberly Smith with Micro SMG causing 0 damage. -[info][2025/05/06 21:04:27]: Frank Castle got hit by Kimberly Smith with Micro SMG causing 0 damage. -[info][2025/05/06 21:07:30]: Kimberly Smith aimed at Frank Castle with Micro SMG. -[info][2025/05/06 21:07:31]: Frank Castle got hit by Kimberly Smith with Micro SMG causing 0 damage. -[info][2025/05/06 21:07:34]: Frank Castle got hit by Kimberly Smith with Micro SMG causing 11 damage. -[info][2025/05/06 21:07:35]: Frank Castle got hit by Kimberly Smith with Micro SMG causing 11 damage. -[info][2025/05/06 21:07:35]: Frank Castle got hit by Kimberly Smith with Micro SMG causing 11 damage. -[info][2025/05/06 21:07:36]: Frank Castle got hit by Kimberly Smith with Micro SMG causing 11 damage. -[info][2025/05/06 21:07:37]: Frank Castle got hit by Kimberly Smith with Micro SMG causing 11 damage. -[info][2025/05/06 21:07:38]: Frank Castle got hit by Kimberly Smith with Micro SMG causing 11 damage. -[info][2025/05/06 21:07:38]: Frank Castle got hit by Kimberly Smith with Micro SMG causing 11 damage. -[info][2025/05/06 21:07:39]: Frank Castle got killed by Kimberly Smith with Micro SMG causing 11 damage. -[info][2025/05/06 21:10:38]: Kimberly Smith aimed at Frank Castle with Mini SMG. -[info][2025/05/06 21:10:38]: Frank Castle got hit by Kimberly Smith with Mini SMG causing 21 damage. -[info][2025/05/06 21:10:41]: Frank Castle got hit by Kimberly Smith with Mini SMG causing 0 damage. -[info][2025/05/06 21:10:42]: Frank Castle got hit by Kimberly Smith with Mini SMG causing 0 damage. -[info][2025/05/06 21:10:43]: Frank Castle got hit by Kimberly Smith with Mini SMG causing 0 damage. -[info][2025/05/06 21:10:44]: Frank Castle got hit by Kimberly Smith with Mini SMG causing 0 damage. -[info][2025/05/06 21:10:44]: Frank Castle got hit by Kimberly Smith with Mini SMG causing 0 damage. -[info][2025/05/06 21:10:45]: Frank Castle got hit by Kimberly Smith with Mini SMG causing 0 damage. -[info][2025/05/06 21:10:46]: Frank Castle got hit by Kimberly Smith with Mini SMG causing 0 damage. -[info][2025/05/06 21:10:47]: Frank Castle got hit by Kimberly Smith with Mini SMG causing 0 damage. -[info][2025/05/06 21:10:59]: Kimberly Smith aimed at Frank Castle with Mini SMG. -[info][2025/05/06 21:10:59]: Frank Castle got hit by Kimberly Smith with Mini SMG causing 0 damage. -[info][2025/05/06 21:11:00]: Frank Castle got hit by Kimberly Smith with Mini SMG causing 7 damage. -[info][2025/05/06 21:11:01]: Frank Castle got hit by Kimberly Smith with Mini SMG causing 7 damage. -[info][2025/05/06 21:11:02]: Frank Castle got hit by Kimberly Smith with Mini SMG causing 7 damage. -[info][2025/05/06 21:11:02]: Frank Castle got hit by Kimberly Smith with Mini SMG causing 7 damage. -[info][2025/05/06 21:11:03]: Frank Castle got hit by Kimberly Smith with Mini SMG causing 7 damage. -[info][2025/05/06 21:11:05]: Frank Castle got hit by Kimberly Smith with Mini SMG causing 7 damage. -[info][2025/05/06 21:11:06]: Frank Castle got hit by Kimberly Smith with Mini SMG causing 7 damage. -[info][2025/05/06 21:11:12]: Kimberly Smith aimed at Frank Castle with Mini SMG. -[info][2025/05/06 21:11:13]: Frank Castle got hit by Kimberly Smith with Mini SMG causing 7 damage. -[info][2025/05/06 21:11:14]: Frank Castle got hit by Kimberly Smith with Mini SMG causing 7 damage. -[info][2025/05/06 21:11:15]: Frank Castle got hit by Kimberly Smith with Mini SMG causing 7 damage. -[info][2025/05/06 21:11:15]: Frank Castle got hit by Kimberly Smith with Mini SMG causing 7 damage. -[info][2025/05/06 21:11:16]: Frank Castle got hit by Kimberly Smith with Mini SMG causing 7 damage. -[info][2025/05/06 21:11:17]: Frank Castle got hit by Kimberly Smith with Mini SMG causing 7 damage. -[info][2025/05/06 21:11:17]: Frank Castle got hit by Kimberly Smith with Mini SMG causing 7 damage. -[info][2025/05/06 21:11:18]: Frank Castle got hit by Kimberly Smith with Mini SMG causing 7 damage. -[info][2025/05/06 21:12:05]: Kimberly Smith aimed at Frank Castle with Mini SMG. -[info][2025/05/06 21:12:05]: Frank Castle got hit by Kimberly Smith with Mini SMG causing 7 damage. -[info][2025/05/06 21:12:06]: Frank Castle got hit by Kimberly Smith with Mini SMG causing 7 damage. -[info][2025/05/06 21:12:07]: Frank Castle got hit by Kimberly Smith with Mini SMG causing 7 damage. -[info][2025/05/06 21:12:07]: Frank Castle got hit by Kimberly Smith with Mini SMG causing 7 damage. -[info][2025/05/06 21:12:08]: Frank Castle got hit by Kimberly Smith with Mini SMG causing 7 damage. -[info][2025/05/06 21:12:09]: Frank Castle got hit by Kimberly Smith with Mini SMG causing 7 damage. -[info][2025/05/06 21:12:10]: Frank Castle got hit by Kimberly Smith with Mini SMG causing 7 damage. -[info][2025/05/06 21:12:10]: Frank Castle got hit by Kimberly Smith with Mini SMG causing 7 damage. -[info][2025/05/06 21:12:15]: Kimberly Smith aimed at Frank Castle with Mini SMG. -[info][2025/05/06 21:12:16]: Frank Castle got hit by Kimberly Smith with Mini SMG causing 7 damage. -[info][2025/05/06 21:12:16]: Frank Castle got hit by Kimberly Smith with Mini SMG causing 7 damage. -[info][2025/05/06 21:12:17]: Frank Castle got hit by Kimberly Smith with Mini SMG causing 7 damage. -[info][2025/05/06 21:12:17]: Frank Castle got hit by Kimberly Smith with Mini SMG causing 7 damage. -[info][2025/05/06 21:12:18]: Frank Castle got hit by Kimberly Smith with Mini SMG causing 7 damage. -[info][2025/05/06 21:12:18]: Frank Castle got hit by Kimberly Smith with Mini SMG causing 7 damage. -[info][2025/05/06 21:12:19]: Frank Castle got hit by Kimberly Smith with Mini SMG causing 7 damage. -[info][2025/05/06 21:12:19]: Frank Castle got hit by Kimberly Smith with Mini SMG causing 7 damage. -[info][2025/05/06 21:12:20]: Frank Castle got hit by Kimberly Smith with Mini SMG causing 7 damage. -[info][2025/05/06 21:17:06]: Kimberly Smith aimed at Frank Castle with Gusenberg Sweeper. -[info][2025/05/06 21:17:27]: Kimberly Smith aimed at Frank Castle with Gusenberg Sweeper. -[info][2025/05/06 21:17:28]: Frank Castle got hit by Kimberly Smith with Gusenberg Sweeper causing 33 damage. -[info][2025/05/06 21:17:29]: Frank Castle got hit by Kimberly Smith with Gusenberg Sweeper causing 0 damage. -[info][2025/05/06 21:17:29]: Frank Castle got hit by Kimberly Smith with Gusenberg Sweeper causing 0 damage. -[info][2025/05/06 21:17:30]: Frank Castle got hit by Kimberly Smith with Gusenberg Sweeper causing 0 damage. -[info][2025/05/06 21:17:53]: Kimberly Smith aimed at Frank Castle with Gusenberg Sweeper. -[info][2025/05/06 21:25:29]: Kimberly Smith aimed at Frank Castle with Gusenberg Sweeper. -[info][2025/05/06 21:25:35]: Kimberly Smith aimed at Frank Castle with Gusenberg Sweeper. -[info][2025/05/06 21:25:36]: Frank Castle got hit by Kimberly Smith with Gusenberg Sweeper causing 33 damage. -[info][2025/05/06 21:25:38]: Frank Castle got hit by Kimberly Smith with Gusenberg Sweeper causing 19 damage. -[info][2025/05/06 21:25:39]: Frank Castle got hit by Kimberly Smith with Gusenberg Sweeper causing 19 damage. -[info][2025/05/06 21:25:40]: Frank Castle got hit by Kimberly Smith with Gusenberg Sweeper causing 19 damage. -[info][2025/05/06 21:25:41]: Frank Castle got killed by Kimberly Smith with Gusenberg Sweeper causing 19 damage. -[info][2025/05/06 21:26:02]: Kimberly Smith aimed at Frank Castle with Gusenberg Sweeper. -[info][2025/05/06 21:26:04]: Kimberly Smith aimed at Frank Castle with Gusenberg Sweeper. -[info][2025/05/06 21:26:06]: Frank Castle got hit by Kimberly Smith with Gusenberg Sweeper causing 19 damage. -[info][2025/05/06 21:26:06]: Frank Castle got hit by Kimberly Smith with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:07]: Frank Castle got hit by Kimberly Smith with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:08]: Frank Castle got hit by Kimberly Smith with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:09]: Frank Castle got hit by Kimberly Smith with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:09]: Frank Castle got hit by Kimberly Smith with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:10]: Frank Castle got hit by Kimberly Smith with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:11]: Frank Castle got hit by Kimberly Smith with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:11]: Frank Castle got hit by Kimberly Smith with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:21]: Kimberly Smith aimed at Frank Castle with Gusenberg Sweeper. -[info][2025/05/06 21:26:22]: Frank Castle got hit by Kimberly Smith with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:22]: Frank Castle got hit by Kimberly Smith with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:23]: Frank Castle got hit by Kimberly Smith with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:24]: Frank Castle got hit by Kimberly Smith with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:25]: Frank Castle got hit by Kimberly Smith with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:26]: Frank Castle got hit by Kimberly Smith with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:27]: Frank Castle got hit by Kimberly Smith with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:32]: Kimberly Smith aimed at Frank Castle with Gusenberg Sweeper. -[info][2025/05/06 21:26:34]: Frank Castle got hit by Kimberly Smith with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:35]: Frank Castle got hit by Kimberly Smith with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:36]: Frank Castle got hit by Kimberly Smith with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:36]: Frank Castle got hit by Kimberly Smith with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:37]: Frank Castle got hit by Kimberly Smith with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:38]: Frank Castle got hit by Kimberly Smith with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:39]: Frank Castle got hit by Kimberly Smith with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:40]: Frank Castle got hit by Kimberly Smith with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:49]: Kimberly Smith aimed at Frank Castle with Gusenberg Sweeper. -[info][2025/05/06 21:26:50]: Frank Castle got hit by Kimberly Smith with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:50]: Frank Castle got hit by Kimberly Smith with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:51]: Frank Castle got hit by Kimberly Smith with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:52]: Frank Castle got hit by Kimberly Smith with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:53]: Frank Castle got hit by Kimberly Smith with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:53]: Frank Castle got hit by Kimberly Smith with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:54]: Frank Castle got hit by Kimberly Smith with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:55]: Frank Castle got hit by Kimberly Smith with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:50:17]: Kimberly Smith aimed at Frank Castle with Navy Revolver. -[info][2025/05/06 21:50:31]: Kimberly Smith aimed at Frank Castle with Navy Revolver. -[info][2025/05/06 21:50:31]: Frank Castle got killed by Kimberly Smith with undefined causing 159 damage. -[info][2025/05/06 21:50:41]: Kimberly Smith aimed at Frank Castle with Navy Revolver. -[info][2025/05/06 21:50:42]: Frank Castle got hit by Kimberly Smith with undefined causing 47 damage. -[info][2025/05/06 21:50:44]: Frank Castle got hit by Kimberly Smith with undefined causing 47 damage. -[info][2025/05/06 21:50:45]: Frank Castle got killed by Kimberly Smith with undefined causing 47 damage. -[info][2025/05/06 21:51:42]: Kimberly Smith aimed at Frank Castle with Navy Revolver. -[info][2025/05/06 21:51:42]: Frank Castle got killed by Kimberly Smith with undefined causing 908 damage. -[info][2025/05/06 21:51:52]: Kimberly Smith aimed at Frank Castle with Navy Revolver. -[info][2025/05/06 21:51:53]: Frank Castle got killed by Kimberly Smith with undefined causing 908 damage. -[info][2025/05/06 21:51:57]: Kimberly Smith aimed at Frank Castle with Navy Revolver. -[info][2025/05/06 21:52:07]: Kimberly Smith aimed at Frank Castle with Navy Revolver. -[info][2025/05/06 21:52:08]: Frank Castle got hit by Kimberly Smith with undefined causing 47 damage. -[info][2025/05/06 21:52:09]: Frank Castle got hit by Kimberly Smith with undefined causing 47 damage. -[info][2025/05/06 21:52:11]: Frank Castle got killed by Kimberly Smith with undefined causing 47 damage. -[info][2025/05/06 21:52:36]: Kimberly Smith aimed at Frank Castle with Heavy Revolver. -[info][2025/05/06 21:52:38]: Kimberly Smith aimed at Frank Castle with Heavy Revolver. -[info][2025/05/06 21:52:39]: Frank Castle got killed by Kimberly Smith with Heavy Revolver causing 159 damage. -[info][2025/05/06 21:52:45]: Kimberly Smith aimed at Frank Castle with Heavy Revolver. -[info][2025/05/06 21:52:46]: Frank Castle got hit by Kimberly Smith with Heavy Revolver causing 31 damage. -[info][2025/05/06 21:52:48]: Frank Castle got hit by Kimberly Smith with Heavy Revolver causing 31 damage. -[info][2025/05/06 21:52:50]: Frank Castle got hit by Kimberly Smith with Heavy Revolver causing 31 damage. -[info][2025/05/06 21:52:52]: Frank Castle got killed by Kimberly Smith with Heavy Revolver causing 31 damage. -[info][2025/05/06 21:53:21]: Kimberly Smith aimed at Frank Castle with Heavy Revolver. -[info][2025/05/06 21:53:21]: Frank Castle got hit by Kimberly Smith with Heavy Revolver causing 31 damage. -[info][2025/05/06 21:53:23]: Frank Castle got hit by Kimberly Smith with Heavy Revolver causing 31 damage. -[info][2025/05/06 21:53:26]: Frank Castle got hit by Kimberly Smith with Heavy Revolver causing 31 damage. -[info][2025/05/06 21:53:28]: Frank Castle got killed by Kimberly Smith with Heavy Revolver causing 31 damage. -[info][2025/05/06 21:53:47]: Kimberly Smith aimed at Frank Castle with Heavy Revolver. -[info][2025/05/06 21:53:51]: Kimberly Smith aimed at Frank Castle with Heavy Revolver. -[info][2025/05/06 21:53:52]: Frank Castle got hit by Kimberly Smith with Heavy Revolver causing 31 damage. -[info][2025/05/06 21:53:54]: Frank Castle got hit by Kimberly Smith with Heavy Revolver causing 47 damage. -[info][2025/05/06 21:53:59]: Kimberly Smith aimed at Frank Castle with Heavy Revolver. -[info][2025/05/06 21:54:00]: Frank Castle got killed by Kimberly Smith with Heavy Revolver causing 47 damage. -[info][2025/05/06 21:54:05]: Kimberly Smith aimed at Frank Castle with Heavy Revolver. -[info][2025/05/06 21:54:05]: Frank Castle got hit by Kimberly Smith with Heavy Revolver causing 47 damage. -[info][2025/05/06 21:54:07]: Frank Castle got hit by Kimberly Smith with Heavy Revolver causing 47 damage. -[info][2025/05/06 21:54:09]: Frank Castle got killed by Kimberly Smith with Heavy Revolver causing 47 damage. -[info][2025/05/06 21:54:24]: Kimberly Smith aimed at Frank Castle with Navy Revolver. -[info][2025/05/06 21:54:27]: Frank Castle got hit by Kimberly Smith with undefined causing 47 damage. -[info][2025/05/06 21:54:29]: Frank Castle got hit by Kimberly Smith with undefined causing 47 damage. -[info][2025/05/06 21:54:30]: Frank Castle got killed by Kimberly Smith with undefined causing 47 damage. -[info][2025/05/07 19:36:40]: Frank Castle got killed by Frank Castle with undefined causing 20 damage. -[info][2025/05/07 19:55:13]: Frank Castle got hit by Frank Castle with Animal causing 31 damage. -[info][2025/05/07 19:55:17]: Frank Castle got hit by Frank Castle with Animal causing 31 damage. -[info][2025/05/07 20:09:13]: Frank Castle got hit by Frank Castle with Animal causing 31 damage. -[info][2025/05/07 20:09:18]: Frank Castle got hit by Frank Castle with Animal causing 31 damage. -[info][2025/05/07 20:26:55]: Frank Castle got hit by Frank Castle with Animal causing 31 damage. -[info][2025/05/07 20:26:59]: Frank Castle got hit by Frank Castle with Animal causing 31 damage. -[info][2025/05/07 20:27:04]: Frank Castle got hit by Frank Castle with Animal causing 31 damage. -[info][2025/05/07 20:27:07]: Frank Castle got killed by Frank Castle with Animal causing 31 damage. -[info][2025/05/07 22:18:40]: Demon Campers got hit by Seppl McCollin Jr. with Fist causing 0 damage. -[info][2025/05/07 22:18:43]: Demon Campers got hit by Seppl McCollin Jr. with Fist causing 0 damage. -[info][2025/05/07 22:18:45]: Demon Campers got hit by Seppl McCollin Jr. with Fist causing 0 damage. -[info][2025/05/07 22:20:15]: Kimberly Smith got hit by Seppl McCollin Jr. with Fist causing 21 damage. -[info][2025/05/08 00:00:23]: Steven Steppenwolf got hit by Steven Steppenwolf with Fist causing 14 damage. -[info][2025/05/08 00:04:47]: Seppl McCollin Jr. aimed at Kimberly Smith with Heavy Revolver Mk II. -[info][2025/05/08 00:04:52]: Kimberly Smith got killed by Seppl McCollin Jr. with Heavy Revolver MK2 causing 199 damage. -[info][2025/05/08 00:05:04]: Seppl McCollin Jr. aimed at Kimberly Smith with Heavy Revolver Mk II. -[info][2025/05/08 00:05:04]: Kimberly Smith got killed by Seppl McCollin Jr. with Heavy Revolver MK2 causing 199 damage. -[info][2025/05/08 00:05:06]: Seppl McCollin Jr. aimed at Kimberly Smith with Heavy Revolver Mk II. -[info][2025/05/08 00:05:08]: Seppl McCollin Jr. aimed at Kimberly Smith with Heavy Revolver Mk II. -[info][2025/05/08 00:05:08]: Kimberly Smith got killed by Seppl McCollin Jr. with Heavy Revolver MK2 causing 199 damage. -[info][2025/05/08 00:05:10]: Kimberly Smith got killed by Seppl McCollin Jr. with Heavy Revolver MK2 causing 199 damage. -[info][2025/05/08 00:05:14]: Kimberly Smith got killed by Seppl McCollin Jr. with Heavy Revolver MK2 causing 199 damage. -[info][2025/05/08 00:05:16]: Seppl McCollin Jr. aimed at Kimberly Smith with Heavy Revolver Mk II. -[info][2025/05/08 00:05:18]: Seppl McCollin Jr. aimed at Kimberly Smith with Heavy Revolver Mk II. -[info][2025/05/08 19:29:54]: Mark Petrol got hit by Mark Petrol with Animal causing 37 damage. -[info][2025/05/08 19:29:58]: Mark Petrol got hit by Mark Petrol with Animal causing 37 damage. -[info][2025/05/08 19:52:25]: Mark Petrol got hit by Frank Castle with Fist causing 20 damage. -[info][2025/05/08 19:52:26]: Mark Petrol got hit by Frank Castle with Fist causing 0 damage. -[info][2025/05/08 19:52:27]: Mark Petrol got hit by Frank Castle with Fist causing 20 damage. -[info][2025/05/08 19:52:28]: Mark Petrol got killed by Frank Castle with Fist causing 20 damage. -[info][2025/05/08 19:52:30]: Frank Castle aimed at Mark Petrol with SNS Pistol Mk II. -[info][2025/05/08 19:52:31]: Mark Petrol got hit by Frank Castle with SNS Pistol MK2 causing 29 damage. -[info][2025/05/08 19:52:31]: Mark Petrol got hit by Frank Castle with SNS Pistol MK2 causing 0 damage. -[info][2025/05/08 19:52:31]: Mark Petrol got hit by Frank Castle with SNS Pistol MK2 causing 0 damage. -[info][2025/05/08 20:06:02]: Frank Castle aimed at Mark Petrol with SNS Pistol Mk II. -[info][2025/05/08 20:06:03]: Mark Petrol got hit by Frank Castle with SNS Pistol MK2 causing 0 damage. -[info][2025/05/08 20:06:03]: Mark Petrol got hit by Frank Castle with SNS Pistol MK2 causing 0 damage. -[info][2025/05/08 20:21:00]: Mark Petrol got hit by Mark Petrol with Animal causing 35 damage. -[info][2025/05/08 20:21:04]: Mark Petrol got hit by Mark Petrol with Animal causing 35 damage. -[info][2025/05/08 21:06:49]: Frank Castle aimed at Kimberly Smith with SNS Pistol Mk II. -[info][2025/05/08 21:06:50]: Kimberly Smith aimed at Frank Castle with Pistol Mk II. -[info][2025/05/08 21:06:51]: Frank Castle aimed at Kimberly Smith with SNS Pistol Mk II. -[info][2025/05/08 21:06:52]: Kimberly Smith aimed at Frank Castle with Pistol Mk II. -[info][2025/05/08 21:06:53]: Frank Castle got killed by Kimberly Smith with Pistol MK2 causing 587 damage. -[info][2025/05/08 21:10:52]: Kimberly Smith aimed at Frank Castle with Pistol Mk II. -[info][2025/05/08 21:10:53]: Frank Castle got killed by Kimberly Smith with Pistol MK2 causing 397 damage. -[info][2025/05/08 21:12:15]: Kimberly Smith got hit by Frank Castle with Fist causing 21 damage. -[info][2025/05/08 21:12:16]: Kimberly Smith got hit by Frank Castle with Fist causing 0 damage. -[info][2025/05/08 21:12:17]: Kimberly Smith got hit by Frank Castle with Fist causing 26 damage. -[info][2025/05/08 21:12:19]: Kimberly Smith got hit by Frank Castle with Fist causing 21 damage. -[info][2025/05/08 21:12:20]: Kimberly Smith got hit by Frank Castle with Fist causing 21 damage. -[info][2025/05/08 21:12:21]: Kimberly Smith got killed by Frank Castle with Fist causing 26 damage. -[info][2025/05/08 21:15:21]: Kimberly Smith got hit by Frank Castle with Fist causing 21 damage. -[info][2025/05/08 21:15:22]: Kimberly Smith got hit by Frank Castle with Fist causing 0 damage. -[info][2025/05/08 21:15:23]: Kimberly Smith got hit by Frank Castle with Fist causing 26 damage. -[info][2025/05/08 21:15:25]: Kimberly Smith got hit by Frank Castle with Fist causing 21 damage. -[info][2025/05/08 21:15:26]: Kimberly Smith got hit by Frank Castle with Fist causing 21 damage. -[info][2025/05/08 21:15:27]: Kimberly Smith got killed by Frank Castle with Fist causing 26 damage. -[info][2025/05/08 21:18:12]: Frank Castle got hit by Kimberly Smith with Fist causing 21 damage. -[info][2025/05/08 21:18:43]: Frank Castle got hit by Kimberly Smith with Fist causing 21 damage. -[info][2025/05/08 21:22:38]: Kimberly Smith got hit by Frank Castle with Fist causing 21 damage. -[info][2025/05/08 21:22:39]: Kimberly Smith got hit by Frank Castle with Fist causing 0 damage. -[info][2025/05/08 21:22:40]: Kimberly Smith got hit by Frank Castle with Fist causing 21 damage. -[info][2025/05/08 21:22:41]: Kimberly Smith got hit by Frank Castle with Fist causing 26 damage. -[info][2025/05/08 21:22:43]: Kimberly Smith got hit by Frank Castle with Fist causing 21 damage. -[info][2025/05/08 21:22:44]: Kimberly Smith got killed by Frank Castle with Fist causing 21 damage. -[info][2025/05/08 21:26:48]: Kimberly Smith got hit by Frank Castle with Fist causing 21 damage. -[info][2025/05/08 21:26:49]: Kimberly Smith got hit by Frank Castle with Fist causing 0 damage. -[info][2025/05/08 21:26:51]: Kimberly Smith got hit by Frank Castle with Fist causing 21 damage. -[info][2025/05/08 21:26:52]: Kimberly Smith got hit by Frank Castle with Fist causing 21 damage. -[info][2025/05/08 21:26:53]: Kimberly Smith got hit by Frank Castle with Fist causing 26 damage. -[info][2025/05/08 21:26:54]: Kimberly Smith got killed by Frank Castle with Fist causing 21 damage. -[info][2025/05/08 21:33:21]: Demon Campers aimed at Kimberly Smith with Heavy Revolver. -[info][2025/05/08 21:33:25]: Kimberly Smith got killed by Demon Campers with Heavy Revolver causing 159 damage. -[info][2025/05/08 21:38:17]: Demon Campers aimed at Kimberly Smith with Heavy Revolver. -[info][2025/05/08 21:38:21]: Kimberly Smith got killed by Demon Campers with Heavy Revolver causing 908 damage. -[info][2025/05/08 21:42:48]: Kimberly Smith aimed at Frank Castle with Pistol Mk II. -[info][2025/05/08 21:42:49]: Frank Castle got killed by Kimberly Smith with Pistol MK2 causing 355 damage. -[info][2025/05/08 21:42:57]: Kimberly Smith aimed at Frank Castle with Pistol Mk II. -[info][2025/05/08 21:59:37]: Demon Campers aimed at Amy Ann with Heavy Revolver. -[info][2025/05/08 21:59:46]: Demon Campers got hit by Amy Ann with Fist causing 21 damage. -[info][2025/05/08 21:59:48]: Amy Ann got hit by Demon Campers with Fist causing 21 damage. -[info][2025/05/08 21:59:53]: Demon Campers got hit by Amy Ann with Fist causing 21 damage. -[info][2025/05/08 21:59:54]: Demon Campers got hit by Amy Ann with Fist causing 26 damage. -[info][2025/05/08 21:59:55]: Demon Campers got hit by Amy Ann with Fist causing 21 damage. -[info][2025/05/08 22:20:19]: Demon Campers aimed at Amy Ann with Heavy Revolver. -[info][2025/05/08 22:20:24]: Demon Campers aimed at Amy Ann with SNS Pistol Mk II. -[info][2025/05/08 22:20:25]: Amy Ann got hit by Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/05/08 22:41:06]: Kimberly Smith aimed at Amy Ann with Combat Shotgun. -[info][2025/05/08 22:41:11]: Kimberly Smith aimed at Amy Ann with Combat Shotgun. -[info][2025/05/08 22:41:13]: Amy Ann got hit by Kimberly Smith with Combat Shotgun causing 0 damage. -[info][2025/05/08 22:41:17]: Kimberly Smith aimed at Amy Ann with Combat Shotgun. -[info][2025/05/08 22:41:18]: Amy Ann got hit by Kimberly Smith with Combat Shotgun causing 0 damage. -[info][2025/05/08 22:41:25]: Amy Ann got hit by Kimberly Smith with Combat Shotgun causing 0 damage. -[info][2025/05/08 22:41:28]: Kimberly Smith aimed at Amy Ann with Combat Shotgun. -[info][2025/05/08 22:41:28]: Amy Ann got hit by Kimberly Smith with Combat Shotgun causing 0 damage. -[info][2025/05/08 22:41:35]: Kimberly Smith aimed at Amy Ann with Combat Shotgun. -[info][2025/05/08 22:41:54]: Kimberly Smith aimed at Amy Ann with Stun Gun. -[info][2025/05/08 22:41:55]: Amy Ann got hit by Kimberly Smith with Stun Gun causing 1 damage. -[info][2025/05/08 22:42:08]: Kimberly Smith aimed at Amy Ann with Stun Gun. -[info][2025/05/08 22:42:31]: Kimberly Smith aimed at Amy Ann with Stun Gun. -[info][2025/05/08 22:43:29]: Kimberly Smith aimed at Amy Ann with Carbine Rifle Mk II. -[info][2025/05/08 22:43:32]: Amy Ann got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/05/08 22:43:32]: Amy Ann got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/05/08 22:43:33]: Amy Ann got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/05/08 22:43:33]: Amy Ann got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/05/08 22:43:33]: Amy Ann got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/05/08 22:43:33]: Amy Ann got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/05/08 22:43:34]: Amy Ann got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/05/08 22:43:34]: Amy Ann got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/05/08 22:43:34]: Amy Ann got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/05/08 22:43:34]: Amy Ann got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/05/08 22:43:35]: Amy Ann got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/05/08 22:43:42]: Kimberly Smith aimed at Amy Ann with Carbine Rifle Mk II. -[info][2025/05/08 22:43:42]: Amy Ann got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/05/08 22:43:43]: Amy Ann got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/05/08 22:43:59]: Kimberly Smith aimed at Amy Ann with Carbine Rifle Mk II. -[info][2025/05/08 22:43:59]: Amy Ann got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/05/08 22:44:00]: Amy Ann got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/05/08 22:44:22]: Kimberly Smith aimed at Amy Ann with Carbine Rifle Mk II. -[info][2025/05/08 22:44:23]: Amy Ann got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/05/08 22:44:23]: Amy Ann got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/05/08 22:44:23]: Amy Ann got hit by Kimberly Smith with Carbine Rifle MK2 causing 0 damage. -[info][2025/05/08 22:45:24]: Kimberly Smith aimed at Amy Ann with Assault SMG. -[info][2025/05/08 22:46:41]: Kimberly Smith aimed at Amy Ann with Pistol Mk II. -[info][2025/05/08 22:47:11]: Kimberly Smith got hit by Amy Ann with Fist causing 21 damage. -[info][2025/05/08 22:47:12]: Kimberly Smith aimed at Amy Ann with Pistol Mk II. -[info][2025/05/08 22:47:12]: Kimberly Smith got hit by Amy Ann with Fist causing 26 damage. -[info][2025/05/08 22:47:13]: Amy Ann got hit by Kimberly Smith with Pistol MK2 causing 18 damage. -[info][2025/05/08 22:47:13]: Kimberly Smith got hit by Amy Ann with Fist causing 26 damage. -[info][2025/05/08 22:47:14]: Amy Ann got hit by Kimberly Smith with Pistol MK2 causing 12 damage. -[info][2025/05/08 22:47:15]: Amy Ann got hit by Kimberly Smith with Pistol MK2 causing 15 damage. -[info][2025/05/08 22:47:15]: Kimberly Smith got hit by Amy Ann with Fist causing 26 damage. -[info][2025/05/08 22:47:16]: Amy Ann got hit by Kimberly Smith with Pistol MK2 causing 12 damage. -[info][2025/05/08 22:47:17]: Kimberly Smith got killed by Amy Ann with Fist causing 26 damage. -[info][2025/05/09 00:42:30]: campers requested all waypoints. -[info][2025/05/09 19:44:47]: Mark Petrol got hit by Frank Castle with Fist causing 0 damage. -[info][2025/05/09 19:44:48]: Mark Petrol got hit by Frank Castle with Fist causing 26 damage. -[info][2025/05/09 19:44:50]: Mark Petrol got hit by Frank Castle with Fist causing 21 damage. -[info][2025/05/09 19:44:51]: Mark Petrol got hit by Frank Castle with Fist causing 21 damage. -[info][2025/05/09 19:44:52]: Mark Petrol got hit by Frank Castle with Fist causing 21 damage. -[info][2025/05/09 19:44:53]: Mark Petrol got killed by Frank Castle with Fist causing 26 damage. -[info][2025/05/09 19:45:41]: Mark Petrol got hit by Frank Castle with Fist causing 26 damage. -[info][2025/05/09 19:45:43]: Mark Petrol got hit by Frank Castle with Fist causing 21 damage. -[info][2025/05/10 01:17:57]: Demon Campers got hit by Amy Ann with Fist causing 20 damage. -[info][2025/05/10 01:18:42]: Demon Campers got hit by Amy Ann with Fist causing 20 damage. -[info][2025/05/10 01:18:44]: Demon Campers got hit by Amy Ann with Fist causing 0 damage. -[info][2025/05/10 01:18:45]: Demon Campers got hit by Amy Ann with Fist causing 20 damage. -[info][2025/05/10 01:18:46]: Demon Campers got hit by Amy Ann with Fist causing 20 damage. -[info][2025/05/10 01:18:47]: Demon Campers got killed by Amy Ann with Fist causing 25 damage. -[info][2025/05/10 01:40:35]: Amy Ann got hit by Amy Ann with Fist causing 12 damage. -[info][2025/05/10 01:40:36]: Amy Ann got hit by Amy Ann with Fist causing 12 damage. -[info][2025/05/10 01:40:37]: Amy Ann got hit by Amy Ann with Fist causing 12 damage. -[info][2025/05/10 02:53:22]: Demon Campers aimed at Amy Ann with Heavy Revolver. -[info][2025/05/10 02:53:24]: Demon Campers aimed at Amy Ann with Heavy Revolver. -[info][2025/05/10 02:53:56]: Demon Campers aimed at Amy Ann with Heavy Revolver. -[info][2025/05/10 02:54:00]: Demon Campers aimed at Amy Ann with Heavy Revolver. -[info][2025/05/10 02:54:43]: Demon Campers got hit by Demon Campers with Fist causing 20 damage. -[info][2025/05/10 02:55:28]: Demon Campers aimed at Amy Ann with Heavy Revolver. -[info][2025/05/10 02:55:28]: Amy Ann got killed by Demon Campers with Heavy Revolver causing 908 damage. -[info][2025/05/10 02:56:16]: Amy Ann got hit by Demon Campers with undefined causing 20 damage. -[info][2025/05/10 02:56:16]: Amy Ann got hit by Demon Campers with undefined causing 20 damage. -[info][2025/05/10 02:56:27]: Amy Ann got hit by Demon Campers with undefined causing 20 damage. -[info][2025/05/10 02:56:30]: Amy Ann got hit by Demon Campers with undefined causing 20 damage. -[info][2025/05/10 02:56:48]: Amy Ann got hit by Demon Campers with undefined causing 20 damage. -[info][2025/05/10 02:56:51]: Amy Ann got hit by Demon Campers with undefined causing 20 damage. -[info][2025/05/10 02:56:52]: Demon Campers got hit by Demon Campers with undefined causing 20 damage. -[info][2025/05/10 02:56:55]: Amy Ann got hit by Demon Campers with undefined causing 20 damage. -[info][2025/05/10 03:15:30]: Demon Campers aimed at Amy Ann with Stun Gun. -[info][2025/05/10 03:15:30]: Amy Ann got hit by Demon Campers with Stun Gun causing 1 damage. -[info][2025/05/10 03:15:37]: Demon Campers aimed at Amy Ann with Stun Gun. -[info][2025/05/10 03:15:38]: Amy Ann got hit by Demon Campers with Stun Gun causing 0 damage. -[info][2025/05/10 03:15:45]: Demon Campers aimed at Amy Ann with SNS Pistol Mk II. -[info][2025/05/10 03:15:46]: Amy Ann got hit by Demon Campers with SNS Pistol MK2 causing 23 damage. -[info][2025/05/10 03:15:50]: Amy Ann got hit by Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/05/10 03:15:58]: Demon Campers aimed at Amy Ann with SNS Pistol Mk II. -[info][2025/05/10 03:15:58]: Amy Ann got hit by Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/05/10 03:16:01]: Demon Campers aimed at Amy Ann with SNS Pistol Mk II. -[info][2025/05/10 03:16:02]: Amy Ann got hit by Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/05/10 03:16:15]: Demon Campers aimed at Amy Ann with SNS Pistol Mk II. -[info][2025/05/10 03:16:19]: Demon Campers aimed at Amy Ann with SNS Pistol Mk II. -[info][2025/05/10 03:16:22]: Demon Campers aimed at Amy Ann with SNS Pistol Mk II. -[info][2025/05/10 03:16:55]: Demon Campers got hit by Amy Ann with Fist causing 21 damage. -[info][2025/05/10 03:16:56]: Demon Campers got hit by Amy Ann with Fist causing 21 damage. -[info][2025/05/10 03:16:57]: Demon Campers got hit by Amy Ann with Fist causing 0 damage. -[info][2025/05/10 03:16:58]: Demon Campers got hit by Amy Ann with Fist causing 21 damage. -[info][2025/05/10 03:16:59]: Demon Campers got hit by Amy Ann with Fist causing 21 damage. -[info][2025/05/10 03:17:00]: Demon Campers got killed by Amy Ann with Fist causing 21 damage. -[info][2025/05/10 03:18:38]: Demon Campers aimed at Amy Ann with SNS Pistol Mk II. -[info][2025/05/10 03:18:40]: Amy Ann got hit by Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/05/10 03:18:41]: Amy Ann got hit by Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/05/10 03:18:42]: Amy Ann got hit by Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/05/10 03:18:42]: Amy Ann got hit by Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/05/10 03:18:43]: Amy Ann got hit by Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/05/10 03:18:43]: Amy Ann got hit by Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/05/10 23:59:31]: Kimberly Smith got killed by Kimberly Smith with Cougar causing 500 damage. -[info][2025/05/12 21:12:49]: Mark Petrol got hit by Mark Petrol with Fist causing 20 damage. -[info][2025/05/12 21:12:52]: Mark Petrol got hit by Mark Petrol with Animal causing 25 damage. -[info][2025/05/12 21:12:54]: Mark Petrol got hit by Mark Petrol with Fist causing 20 damage. -[info][2025/05/12 21:12:57]: Mark Petrol got hit by Mark Petrol with Fist causing 0 damage. -[info][2025/05/12 21:12:58]: Mark Petrol got killed by Mark Petrol with Fist causing 20 damage. -[info][2025/05/12 21:15:04]: Mark Petrol got killed by Mark Petrol with undefined causing 20 damage. -[info][2025/05/13 00:17:22]: Seppl McCollin Jr. got hit by Seppl McCollin Jr. with Animal causing 25 damage. -[info][2025/05/13 00:19:21]: Seppl McCollin Jr. got hit by Mark Petrol with Fist causing 20 damage. -[info][2025/05/13 00:19:24]: Mark Petrol got hit by Seppl McCollin Jr. with Fist causing 21 damage. -[info][2025/05/13 00:19:25]: Mark Petrol got hit by Seppl McCollin Jr. with Fist causing 0 damage. -[info][2025/05/13 00:19:26]: Mark Petrol got hit by Seppl McCollin Jr. with Fist causing 21 damage. -[info][2025/05/13 00:19:27]: Mark Petrol got hit by Seppl McCollin Jr. with Fist causing 0 damage. -[info][2025/05/13 00:19:28]: Mark Petrol got hit by Seppl McCollin Jr. with Fist causing 21 damage. -[info][2025/05/13 00:19:29]: Demon Campers got hit by Mark Petrol with Fist causing 20 damage. -[info][2025/05/13 00:19:31]: Demon Campers got hit by Mark Petrol with Fist causing 25 damage. -[info][2025/05/13 00:19:32]: Mark Petrol got hit by Seppl McCollin Jr. with Fist causing 21 damage. -[info][2025/05/13 00:19:33]: Seppl McCollin Jr. got hit by Mark Petrol with Fist causing 0 damage. -[info][2025/05/13 00:19:34]: Mark Petrol got killed by Seppl McCollin Jr. with Fist causing 21 damage. -[info][2025/05/13 00:19:35]: Demon Campers got hit by Seppl McCollin Jr. with Fist causing 21 damage. -[info][2025/05/13 00:19:37]: Demon Campers got hit by Seppl McCollin Jr. with Fist causing 26 damage. -[info][2025/05/13 00:19:44]: Seppl McCollin Jr. got hit by Demon Campers with Fist causing 21 damage. -[info][2025/05/13 00:19:44]: Seppl McCollin Jr. got hit by Demon Campers with Fist causing 21 damage. -[info][2025/05/13 00:19:45]: Seppl McCollin Jr. got hit by Demon Campers with Fist causing 27 damage. -[info][2025/05/13 00:19:45]: Demon Campers got hit by Seppl McCollin Jr. with Fist causing 21 damage. -[info][2025/05/13 00:19:48]: Demon Campers got hit by Mark Petrol with Fist causing 20 damage. -[info][2025/05/13 00:19:49]: Mark Petrol got hit by Demon Campers with Fist causing 0 damage. -[info][2025/05/13 00:19:50]: Mark Petrol got hit by Demon Campers with Fist causing 21 damage. -[info][2025/05/13 00:19:50]: Demon Campers got hit by Mark Petrol with Fist causing 25 damage. -[info][2025/05/13 00:19:51]: Demon Campers got hit by Mark Petrol with Fist causing 20 damage. -[info][2025/05/13 00:19:52]: Demon Campers got killed by Mark Petrol with Fist causing 25 damage. -[info][2025/05/13 00:19:52]: Mark Petrol got hit by Demon Campers with Fist causing 0 damage. -[info][2025/05/13 00:19:54]: Seppl McCollin Jr. got hit by Mark Petrol with Fist causing 20 damage. -[info][2025/05/13 00:19:55]: Seppl McCollin Jr. got hit by Mark Petrol with Fist causing 0 damage. -[info][2025/05/13 00:19:56]: Seppl McCollin Jr. got hit by Mark Petrol with Fist causing 25 damage. -[info][2025/05/13 00:20:01]: Mark Petrol got hit by Seppl McCollin Jr. with Fist causing 21 damage. -[info][2025/05/13 00:20:01]: Mark Petrol got hit by Demon Campers with Fist causing 0 damage. -[info][2025/05/13 00:20:02]: Demon Campers got hit by Seppl McCollin Jr. with Fist causing 21 damage. -[info][2025/05/13 00:20:02]: Demon Campers got hit by Seppl McCollin Jr. with Fist causing 0 damage. -[info][2025/05/13 00:20:03]: Demon Campers got hit by Seppl McCollin Jr. with Fist causing 21 damage. -[info][2025/05/13 00:20:04]: Demon Campers got hit by Mark Petrol with Fist causing 20 damage. -[info][2025/05/13 00:20:04]: Mark Petrol got hit by Seppl McCollin Jr. with Fist causing 21 damage. -[info][2025/05/13 00:20:04]: Demon Campers got hit by Seppl McCollin Jr. with Fist causing 21 damage. -[info][2025/05/13 00:20:05]: Demon Campers got killed by Mark Petrol with Fist causing 20 damage. -[info][2025/05/13 00:20:06]: Seppl McCollin Jr. got hit by Mark Petrol with Fist causing 20 damage. -[info][2025/05/13 00:20:07]: Seppl McCollin Jr. got hit by Mark Petrol with Fist causing 20 damage. -[info][2025/05/13 00:20:08]: Seppl McCollin Jr. got hit by Mark Petrol with Fist causing 0 damage. -[info][2025/05/13 00:20:10]: Seppl McCollin Jr. got hit by Mark Petrol with Fist causing 20 damage. -[info][2025/05/13 00:20:10]: Mark Petrol got hit by Seppl McCollin Jr. with Fist causing 21 damage. -[info][2025/05/13 00:20:11]: Mark Petrol got hit by Seppl McCollin Jr. with Fist causing 21 damage. -[info][2025/05/13 00:20:11]: Mark Petrol got hit by Seppl McCollin Jr. with Fist causing 0 damage. -[info][2025/05/13 00:20:13]: Mark Petrol got killed by Seppl McCollin Jr. with Fist causing 21 damage. -[info][2025/05/14 00:13:14]: campers requested all waypoints. -[info][2025/05/14 20:13:58]: Amy Ann got hit by Connor Garrison with Fist causing 0 damage. -[info][2025/05/14 21:00:52]: Connor Garrison got hit by Steven Steppenwolf with Fist causing 20 damage. -[info][2025/05/14 21:04:27]: Connor Garrison got killed by Amy Ann with Fist causing 0 damage. -[info][2025/05/14 21:05:31]: Connor Garrison got killed by Amy Ann with Fist causing 0 damage. -[info][2025/05/14 23:03:25]: Steven Steppenwolf got hit by Demon Campers with Fist causing 20 damage. -[info][2025/05/17 22:19:54]: Mark Petrol got hit by Steven Steppenwolf with Fist causing 21 damage. -[info][2025/05/18 01:39:59]: Dr. Kimberly Smith got hit by Steven Steppenwolf with Fist causing 0 damage. -[info][2025/05/18 18:50:43]: marc requested all waypoints. -[info][2025/05/18 20:06:52]: tim requested all waypoints. -[info][2025/05/19 22:19:57]: Dr. Demon Campers got hit by Dr. Demon Campers with Fist causing 22 damage. -[info][2025/05/20 01:45:42]: Dr.Seppl McCollin Jr. got hit by Steven Steppenwolf with Fist causing 0 damage. -[info][2025/05/20 02:12:18]: Dr.Seppl McCollin Jr. got hit by Dr.Seppl McCollin Jr. with Fist causing 20 damage. -[info][2025/05/20 02:21:29]: Dr.Seppl McCollin Jr. got hit by Steven Steppenwolf with Fist causing 21 damage. -[info][2025/05/21 12:19:33]: Seppl McCollin Jr. got hit by Captain iliya Iliya with Fist causing 0 damage. -[info][2025/05/22 00:02:39]: Amy Ann got hit by Steven Steppenwolf with Fist causing 0 damage. -[info][2025/05/22 00:10:02]: Steven Steppenwolf got hit by Shadow Wuff with Animal causing 20 damage. -[info][2025/05/22 00:32:35]: Amy Ann aimed at Luke Wolf with Carbine Rifle. -[info][2025/05/23 13:20:08]: tim requested all waypoints. -[info][2025/05/23 13:20:29]: tim requested all waypoints. -[info][2025/05/23 13:20:34]: tim requested all waypoints. -[info][2025/05/24 11:05:58]: mark requested all waypoints. -[info][2025/05/28 21:46:49]: Amy Ann aimed at Marc Santoro with Carbine Rifle. -[info][2025/05/28 21:46:51]: Marc Santoro got hit by Amy Ann with Carbine Rifle causing 31 damage. -[info][2025/05/28 21:46:51]: Marc Santoro got hit by Amy Ann with Carbine Rifle causing 18 damage. -[info][2025/05/28 21:46:51]: Marc Santoro got hit by Amy Ann with Carbine Rifle causing 18 damage. -[info][2025/05/28 21:46:51]: Marc Santoro got hit by Amy Ann with Carbine Rifle causing 15 damage. -[info][2025/05/28 21:46:52]: Marc Santoro got hit by Amy Ann with Carbine Rifle causing 18 damage. -[info][2025/05/28 21:46:52]: Marc Santoro got hit by Amy Ann with Carbine Rifle causing 18 damage. -[info][2025/05/28 21:46:52]: Marc Santoro got killed by Amy Ann with Carbine Rifle causing 15 damage. -[info][2025/05/28 21:53:44]: Marc Santoro aimed at Amy Ann with Special Carbine Mk II. -[info][2025/05/28 22:03:32]: Amy Ann got hit by Marc Santoro with Fist causing 21 damage. -[info][2025/05/28 22:03:33]: Amy Ann got hit by Marc Santoro with Fist causing 0 damage. -[info][2025/05/28 22:03:34]: Amy Ann got hit by Marc Santoro with Fist causing 21 damage. -[info][2025/05/28 22:03:36]: Amy Ann got hit by Marc Santoro with Fist causing 21 damage. -[info][2025/05/28 22:03:38]: Amy Ann got hit by Marc Santoro with Fist causing 21 damage. -[info][2025/05/28 22:03:39]: Amy Ann got killed by Marc Santoro with Fist causing 21 damage. -[info][2025/05/28 22:04:02]: Amy Ann aimed at Marc Santoro with Carbine Rifle. -[info][2025/05/28 22:04:04]: Amy Ann aimed at Marc Santoro with Carbine Rifle. -[info][2025/05/29 21:59:38]: Dr.Demon Campers aimed at Mark Petrol with Heavy Revolver. -[info][2025/05/29 23:01:58]: Dr.Demon Campers got hit by Mark Petrol with Fist causing 21 damage. -[info][2025/05/29 23:24:31]: Mark Petrol got killed by Dr.Demon Campers with Explosion causing 9999 damage. -[info][2025/05/30 20:58:41]: Mark Petrol got hit by Amy Ann with Fist causing 21 damage. -[info][2025/05/30 21:03:29]: Dr.Demon Campers got hit by Mark Petrol with Fist causing 21 damage. -[info][2025/05/30 23:39:14]: Dr.Demon Campers aimed at Mark Petrol with Heavy Revolver. -[info][2025/05/30 23:39:16]: Dr.Demon Campers aimed at Mark Petrol with Heavy Revolver. -[info][2025/05/30 23:39:17]: Mark Petrol got killed by Dr.Demon Campers with Heavy Revolver causing 908 damage. -[info][2025/05/30 23:40:12]: Mark Petrol got hit by Mark Petrol with Fist causing 20 damage. -[info][2025/05/30 23:40:18]: Mark Petrol got hit by Mark Petrol with Fist causing 0 damage. -[info][2025/05/30 23:40:19]: Mark Petrol got hit by Mark Petrol with Fist causing 20 damage. -[info][2025/05/30 23:40:22]: Mark Petrol got hit by Mark Petrol with Fist causing 20 damage. -[info][2025/05/30 23:40:23]: Mark Petrol got hit by Mark Petrol with Fist causing 0 damage. -[info][2025/05/30 23:40:27]: Amy Ann got hit by Dr.Demon Campers with Fist causing 20 damage. -[info][2025/05/30 23:41:19]: Dr.Demon Campers aimed at Mark Petrol with Heavy Revolver. -[info][2025/05/30 23:41:22]: Dr.Demon Campers aimed at Mark Petrol with Heavy Revolver. -[info][2025/05/30 23:41:23]: Mark Petrol got killed by Dr.Demon Campers with Heavy Revolver causing 592 damage. -[info][2025/05/30 23:41:25]: Dr.Demon Campers aimed at Mark Petrol with Heavy Revolver. -[info][2025/05/30 23:41:25]: Amy Ann aimed at Dr.Demon Campers with Carbine Rifle. -[info][2025/05/30 23:41:28]: Mark Petrol got hit by Shadow Wuff with Animal causing 20 damage. -[info][2025/05/30 23:42:08]: Dr.Demon Campers got hit by Steven Steppenwolf with Fist causing 21 damage. -[info][2025/05/30 23:42:10]: Amy Ann aimed at Dr.Demon Campers with Carbine Rifle. -[info][2025/05/30 23:42:14]: Dr.Demon Campers got hit by Steven Steppenwolf with Fist causing 0 damage. -[info][2025/05/30 23:42:14]: Amy Ann aimed at Dr.Demon Campers with Carbine Rifle. -[info][2025/05/30 23:44:21]: Amy Ann aimed at Steven Steppenwolf with Carbine Rifle. -[info][2025/05/30 23:44:54]: Amy Ann aimed at Shadow Wuff with Carbine Rifle. -[info][2025/05/30 23:45:17]: Amy Ann aimed at Steven Steppenwolf with Carbine Rifle. -[info][2025/05/30 23:45:26]: Amy Ann aimed at Dr.Demon Campers with Carbine Rifle. -[info][2025/05/30 23:45:30]: Amy Ann aimed at Shadow Wuff with Carbine Rifle. -[info][2025/05/30 23:45:49]: Dr.Demon Campers aimed at Shadow Wuff with Stun Gun. -[info][2025/05/30 23:45:55]: Dr.Demon Campers aimed at Amy Ann with Stun Gun. -[info][2025/05/30 23:45:55]: Amy Ann aimed at Dr.Demon Campers with Carbine Rifle. -[info][2025/05/30 23:46:00]: Dr.Demon Campers aimed at Amy Ann with Stun Gun. -[info][2025/05/30 23:46:00]: Amy Ann got hit by Dr.Demon Campers with Stun Gun causing 0 damage. -[info][2025/05/30 23:46:56]: Amy Ann aimed at Dr.Demon Campers with Carbine Rifle. -[info][2025/05/30 23:47:17]: Amy Ann got hit by Shadow Wuff with Animal causing 20 damage. -[info][2025/05/30 23:47:32]: Dr.Demon Campers got hit by Mark Petrol with Animal causing 35 damage. -[info][2025/05/30 23:53:14]: Shadow Wuff got hit by Shadow Wuff with undefined causing 20 damage. -[info][2025/05/30 23:54:29]: Mark Petrol got hit by Amy Ann with undefined causing 20 damage. -[info][2025/05/30 23:54:32]: Dr.Demon Campers got hit by Amy Ann with undefined causing 20 damage. -[info][2025/05/30 23:58:18]: Amy Ann aimed at Dr.Demon Campers with Carbine Rifle. -[info][2025/05/30 23:58:31]: Amy Ann aimed at Shadow Wuff with Carbine Rifle. -[info][2025/05/30 23:58:40]: Amy Ann aimed at Shadow Wuff with Carbine Rifle. -[info][2025/05/30 23:58:42]: Amy Ann aimed at Dr.Demon Campers with Carbine Rifle. -[info][2025/05/30 23:58:53]: Amy Ann aimed at Mark Petrol with Carbine Rifle. -[info][2025/05/31 01:01:00]: Josf Meier got hit by Josf Meier with undefined causing 20 damage. -[info][2025/05/31 01:07:09]: Josf Meier got hit by Shadow Wuff with Animal causing 20 damage. -[info][2025/05/31 01:07:14]: Josf Meier got hit by Shadow Wuff with Animal causing 20 damage. -[info][2025/05/31 01:07:19]: Josf Meier got hit by Shadow Wuff with Animal causing 20 damage. -[info][2025/05/31 01:12:39]: Josf Meier got hit by Shadow Wuff with Animal causing 22 damage. -[info][2025/05/31 01:12:52]: Josf Meier got hit by Shadow Wuff with Animal causing 22 damage. -[info][2025/05/31 01:13:24]: Josf Meier got hit by Shadow Wuff with Animal causing 22 damage. -[info][2025/05/31 01:37:23]: Josf Meier got hit by Mark Petrol with Fist causing 25 damage. -[info][2025/05/31 01:37:25]: Dr.Demon Campers got hit by Mark Petrol with Fist causing 20 damage. -[info][2025/05/31 01:37:29]: Dr.Demon Campers got hit by Mark Petrol with Fist causing 20 damage. -[info][2025/05/31 01:37:32]: Dr.Demon Campers got hit by Mark Petrol with Fist causing 20 damage. -[info][2025/05/31 01:37:34]: Dr.Demon Campers got hit by Mark Petrol with Fist causing 20 damage. -[info][2025/05/31 01:37:35]: Dr.Demon Campers got hit by Mark Petrol with Fist causing 25 damage. -[info][2025/05/31 01:37:37]: Dr.Demon Campers got hit by Mark Petrol with Fist causing 0 damage. -[info][2025/05/31 01:37:38]: Dr.Demon Campers got hit by Mark Petrol with Fist causing 0 damage. -[info][2025/05/31 01:37:39]: Dr.Demon Campers got hit by Mark Petrol with Fist causing 0 damage. -[info][2025/05/31 01:37:40]: Dr.Demon Campers got hit by Mark Petrol with Fist causing 0 damage. -[info][2025/05/31 01:37:41]: Dr.Demon Campers got hit by Mark Petrol with Fist causing 0 damage. -[info][2025/05/31 01:37:42]: Dr.Demon Campers got hit by Mark Petrol with Fist causing 0 damage. -[info][2025/05/31 01:37:43]: Mark Petrol got hit by Dr.Demon Campers with Fist causing 25 damage. -[info][2025/05/31 01:37:45]: Mark Petrol got hit by Dr.Demon Campers with Fist causing 20 damage. -[info][2025/05/31 01:37:46]: Mark Petrol got hit by Dr.Demon Campers with Fist causing 20 damage. -[info][2025/05/31 01:37:47]: Mark Petrol got hit by Dr.Demon Campers with Fist causing 25 damage. -[info][2025/05/31 01:37:47]: Dr.Demon Campers got hit by Mark Petrol with Fist causing 0 damage. -[info][2025/05/31 01:37:48]: Dr.Demon Campers got hit by Mark Petrol with Fist causing 0 damage. -[info][2025/05/31 01:37:48]: Mark Petrol got killed by Dr.Demon Campers with Fist causing 25 damage. -[info][2025/05/31 01:46:21]: Shadow Wuff got killed by Dr.Demon Campers with Explosion causing 19998 damage. -[info][2025/05/31 01:46:36]: Dr.Demon Campers aimed at Amy Ann with Heavy Revolver. -[info][2025/05/31 01:46:39]: Dr.Demon Campers aimed at Amy Ann with Heavy Revolver. -[info][2025/05/31 01:46:43]: Dr.Demon Campers aimed at Amy Ann with Heavy Revolver. -[info][2025/05/31 01:46:59]: Dr.Demon Campers aimed at Amy Ann with Marksman Rifle. -[info][2025/05/31 01:47:04]: Dr.Demon Campers aimed at Amy Ann with Marksman Rifle. -[info][2025/05/31 01:47:06]: Dr.Demon Campers aimed at Amy Ann with Marksman Rifle. -[info][2025/05/31 01:47:10]: Dr.Demon Campers aimed at Amy Ann with Heavy Revolver. -[info][2025/05/31 01:53:33]: Dr.Demon Campers got killed by Amy Ann with Vehicle Khanjali Cannon causing 3000 damage. -[info][2025/05/31 01:54:06]: Dr.Demon Campers got hit by Shadow Wuff with Animal causing 0 damage. -[info][2025/05/31 01:54:13]: Dr.Demon Campers got hit by Shadow Wuff with Animal causing 0 damage. -[info][2025/05/31 01:54:21]: Dr.Demon Campers aimed at Shadow Wuff with Heavy Revolver. -[info][2025/05/31 01:54:22]: Dr.Demon Campers got hit by Shadow Wuff with Animal causing 0 damage. -[info][2025/05/31 01:54:32]: Dr.Demon Campers got hit by Shadow Wuff with Animal causing 0 damage. -[info][2025/05/31 01:54:34]: Dr.Demon Campers aimed at Shadow Wuff with Heavy Revolver. -[info][2025/05/31 01:54:36]: Dr.Demon Campers aimed at Shadow Wuff with Heavy Revolver. -[info][2025/05/31 01:54:50]: Dr.Demon Campers got killed by Amy Ann with Vehicle Khanjali Cannon causing 3000 damage. -[info][2025/05/31 01:55:32]: Dr.Demon Campers aimed at Amy Ann with Marksman Rifle. -[info][2025/05/31 01:55:43]: Dr.Demon Campers aimed at Shadow Wuff with Marksman Rifle. -[info][2025/05/31 11:51:03]: Marc Santoro aimed at Dr.Demon Campers with Special Carbine Mk II. -[info][2025/05/31 11:51:07]: Marc Santoro aimed at Dr.Demon Campers with Special Carbine Mk II. -[info][2025/05/31 11:51:12]: Marc Santoro aimed at Dr.Kimberly Smith with Special Carbine Mk II. -[info][2025/05/31 11:51:13]: Dr.Kimberly Smith got hit by Marc Santoro with Special Carbine MK2 causing 20 damage. -[info][2025/05/31 11:59:19]: Marc Santoro aimed at Shadow Wuff with Special Carbine Mk II. -[info][2025/05/31 11:59:23]: Marc Santoro aimed at Shadow Wuff with Special Carbine Mk II. -[info][2025/05/31 11:59:37]: Marc Santoro aimed at Shadow Wuff with Special Carbine Mk II. -[info][2025/05/31 11:59:48]: Marc Santoro aimed at Dr.Demon Campers with Special Carbine Mk II. -[info][2025/05/31 11:59:52]: Marc Santoro aimed at Dr.Demon Campers with Special Carbine Mk II. -[info][2025/05/31 12:00:08]: Dr.Demon Campers got hit by Marc Santoro with Fist causing 0 damage. -[info][2025/05/31 12:00:12]: Dr.Demon Campers got hit by Marc Santoro with Fist causing 20 damage. -[info][2025/05/31 12:00:15]: Dr.Demon Campers got hit by Marc Santoro with Fist causing 20 damage. -[info][2025/05/31 12:00:22]: Shadow Wuff got hit by Marc Santoro with Fist causing 26 damage. -[info][2025/05/31 12:00:23]: Marc Santoro got killed by Shadow Wuff with Animal causing 0 damage. -[info][2025/05/31 12:00:42]: Marc Santoro aimed at Shadow Wuff with Special Carbine Mk II. -[info][2025/05/31 12:00:45]: Dr.Demon Campers aimed at Marc Santoro with Heavy Revolver. -[info][2025/05/31 12:00:46]: Dr.Demon Campers got killed by Marc Santoro with Special Carbine MK2 causing 492 damage. -[info][2025/05/31 12:00:46]: Marc Santoro aimed at Dr.Demon Campers with Special Carbine Mk II. -[info][2025/05/31 12:01:05]: Shadow Wuff got hit by Marc Santoro with Fist causing 26 damage. -[info][2025/05/31 12:01:06]: Marc Santoro got hit by Shadow Wuff with Animal causing 21 damage. -[info][2025/05/31 12:02:53]: Dr.Demon Campers aimed at Marc Santoro with Marksman Rifle. -[info][2025/05/31 12:03:00]: Marc Santoro got hit by Dr.Demon Campers with Marksman Rifle causing 89 damage. -[info][2025/05/31 12:12:01]: Marc Santoro aimed at Josf Meier with Special Carbine Mk II. -[info][2025/05/31 12:17:23]: Dr.Demon Campers got killed by Amy Ann with Fist causing 0 damage. -[info][2025/05/31 12:17:37]: Amy Ann got hit by Dr.Demon Campers with Fist causing 21 damage. -[info][2025/05/31 12:17:39]: Dr.Demon Campers got hit by Amy Ann with Fist causing 21 damage. -[info][2025/05/31 12:20:25]: Josf Meier got hit by Marc Santoro with Fist causing 20 damage. -[info][2025/05/31 12:20:32]: Marc Santoro aimed at Shadow Wuff with Special Carbine Mk II. -[info][2025/06/01 00:21:55]: Steven Steppenwolf got hit by Dr.Demon Campers with Fist causing 21 damage. -[info][2025/06/01 00:31:30]: Dr.Demon Campers got hit by Steven Steppenwolf with Fist causing 21 damage. -[info][2025/06/01 01:38:21]: Mark Petrol got hit by Josf Meier with Fist causing 21 damage. -[info][2025/06/01 01:38:25]: Josf Meier got hit by Mark Petrol with Fist causing 21 damage. -[info][2025/06/01 01:38:26]: Josf Meier got hit by Mark Petrol with Fist causing 21 damage. -[info][2025/06/01 01:38:27]: Josf Meier got hit by Mark Petrol with Fist causing 26 damage. -[info][2025/06/01 01:38:28]: Josf Meier got hit by Mark Petrol with Fist causing 21 damage. -[info][2025/06/01 01:38:29]: Mark Petrol got hit by Josf Meier with Fist causing 21 damage. -[info][2025/06/01 01:38:30]: Mark Petrol got hit by Josf Meier with Fist causing 27 damage. -[info][2025/06/01 01:38:32]: Mark Petrol got hit by Josf Meier with Fist causing 21 damage. -[info][2025/06/01 01:38:32]: Josf Meier got killed by Mark Petrol with Fist causing 21 damage. -[info][2025/06/01 01:38:46]: Josf Meier got hit by Mark Petrol with Fist causing 26 damage. -[info][2025/06/01 01:38:47]: Josf Meier got hit by Mark Petrol with Fist causing 26 damage. -[info][2025/06/01 01:38:49]: Josf Meier got hit by Mark Petrol with Fist causing 21 damage. -[info][2025/06/01 01:38:50]: Josf Meier got hit by Mark Petrol with Fist causing 21 damage. -[info][2025/06/01 01:38:51]: Josf Meier got hit by Mark Petrol with Fist causing 26 damage. -[info][2025/06/01 01:38:52]: Josf Meier got hit by Mark Petrol with Fist causing 21 damage. -[info][2025/06/01 01:38:53]: Josf Meier got hit by Mark Petrol with Fist causing 21 damage. -[info][2025/06/01 01:38:54]: Josf Meier got hit by Mark Petrol with Fist causing 26 damage. -[info][2025/06/01 01:38:56]: Josf Meier got hit by Mark Petrol with Fist causing 21 damage. -[info][2025/06/01 01:38:57]: Josf Meier got hit by Mark Petrol with Fist causing 21 damage. -[info][2025/06/01 01:38:58]: Josf Meier got hit by Mark Petrol with Fist causing 26 damage. -[info][2025/06/01 01:39:00]: Josf Meier got hit by Mark Petrol with Fist causing 21 damage. -[info][2025/06/01 01:39:01]: Josf Meier got hit by Mark Petrol with Fist causing 21 damage. -[info][2025/06/01 01:39:02]: Josf Meier got hit by Mark Petrol with Fist causing 26 damage. -[info][2025/06/01 01:39:04]: Josf Meier got hit by Mark Petrol with Fist causing 21 damage. -[info][2025/06/01 01:39:05]: Josf Meier got hit by Mark Petrol with Fist causing 21 damage. -[info][2025/06/01 01:39:06]: Josf Meier got hit by Mark Petrol with Fist causing 26 damage. -[info][2025/06/01 01:40:11]: Mark Petrol got hit by Josf Meier with Fist causing 21 damage. -[info][2025/06/01 01:40:15]: Josf Meier got hit by Shadow Wuff with Animal causing 20 damage. -[info][2025/06/01 01:40:18]: Shadow Wuff got hit by Josf Meier with Fist causing 27 damage. -[info][2025/06/01 01:40:56]: Josf Meier got hit by Shadow Wuff with Animal causing 20 damage. -[info][2025/06/01 01:40:58]: Josf Meier got hit by Shadow Wuff with Animal causing 20 damage. -[info][2025/06/01 01:40:59]: Josf Meier got hit by Shadow Wuff with Animal causing 20 damage. -[info][2025/06/01 01:41:38]: Josf Meier got hit by Shadow Wuff with Animal causing 20 damage. -[info][2025/06/01 01:41:43]: Josf Meier got hit by Shadow Wuff with Animal causing 20 damage. -[info][2025/06/01 01:41:44]: Josf Meier got killed by Shadow Wuff with Animal causing 0 damage. -[info][2025/06/01 01:58:02]: Shadow Wuff got hit by Dr.Demon Campers with Fist causing 25 damage. -[info][2025/06/01 01:59:44]: Steven Steppenwolf got hit by Shadow Wuff with Animal causing 20 damage. -[info][2025/06/01 01:59:50]: Steven Steppenwolf got hit by Shadow Wuff with Animal causing 20 damage. -[info][2025/06/01 01:59:53]: Steven Steppenwolf got hit by Shadow Wuff with Animal causing 20 damage. -[info][2025/06/01 02:00:10]: Steven Steppenwolf got hit by Shadow Wuff with Animal causing 20 damage. -[info][2025/06/01 02:00:12]: Steven Steppenwolf got killed by Shadow Wuff with Animal causing 0 damage. -[info][2025/06/01 02:01:06]: Josf Meier got hit by Shadow Wuff with Animal causing 20 damage. -[info][2025/06/01 02:01:08]: Josf Meier got hit by Shadow Wuff with Animal causing 20 damage. -[info][2025/06/01 02:01:09]: Josf Meier got hit by Shadow Wuff with Animal causing 20 damage. -[info][2025/06/01 02:01:11]: Josf Meier got killed by Shadow Wuff with Animal causing 0 damage. -[info][2025/06/01 02:02:17]: Dr.Demon Campers aimed at Josf Meier with Heavy Revolver. -[info][2025/06/01 02:02:18]: Josf Meier got killed by Dr.Demon Campers with Heavy Revolver causing 160 damage. -[info][2025/06/01 02:02:28]: Dr.Demon Campers aimed at Josf Meier with Stun Gun. -[info][2025/06/01 02:02:29]: Josf Meier got hit by Dr.Demon Campers with Stun Gun causing 1 damage. -[info][2025/06/01 02:02:32]: Dr.Demon Campers aimed at Josf Meier with Stun Gun. -[info][2025/06/01 02:02:33]: Josf Meier got hit by Dr.Demon Campers with Stun Gun causing 0 damage. -[info][2025/06/01 02:02:37]: Dr.Demon Campers aimed at Josf Meier with Stun Gun. -[info][2025/06/01 02:02:38]: Josf Meier got hit by Dr.Demon Campers with Stun Gun causing 0 damage. -[info][2025/06/01 02:02:44]: Dr.Demon Campers aimed at Shadow Wuff with Stun Gun. -[info][2025/06/01 02:02:44]: Shadow Wuff got hit by Dr.Demon Campers with Stun Gun causing 0 damage. -[info][2025/06/01 02:02:58]: Dr.Demon Campers aimed at Josf Meier with Stun Gun. -[info][2025/06/01 02:02:59]: Josf Meier got hit by Dr.Demon Campers with Stun Gun causing 0 damage. -[info][2025/06/01 02:03:01]: Steven Steppenwolf aimed at Mark Petrol with null. -[info][2025/06/01 02:03:03]: Steven Steppenwolf aimed at Josf Meier with null. -[info][2025/06/01 02:03:38]: Dr.Demon Campers aimed at Josf Meier with SNS Pistol Mk II. -[info][2025/06/01 02:03:39]: Josf Meier got hit by Dr.Demon Campers with SNS Pistol MK2 causing 29 damage. -[info][2025/06/01 02:03:40]: Dr.Demon Campers aimed at Josf Meier with SNS Pistol Mk II. -[info][2025/06/01 02:03:42]: Josf Meier got hit by Dr.Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/06/01 02:03:45]: Josf Meier got hit by Dr.Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/06/01 02:03:48]: Dr.Demon Campers aimed at Josf Meier with SNS Pistol Mk II. -[info][2025/06/01 02:03:48]: Josf Meier got hit by Dr.Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/06/01 02:03:50]: Dr.Demon Campers aimed at Josf Meier with SNS Pistol Mk II. -[info][2025/06/01 02:03:52]: Dr.Demon Campers aimed at Steven Steppenwolf with SNS Pistol Mk II. -[info][2025/06/01 02:03:52]: Steven Steppenwolf got hit by Dr.Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/06/01 02:03:53]: Steven Steppenwolf got hit by Dr.Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/06/01 02:03:57]: Dr.Demon Campers aimed at Steven Steppenwolf with SNS Pistol Mk II. -[info][2025/06/01 02:03:59]: Dr.Demon Campers aimed at Shadow Wuff with SNS Pistol Mk II. -[info][2025/06/01 02:04:00]: Shadow Wuff got hit by Dr.Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/06/01 02:04:08]: Dr.Demon Campers aimed at Josf Meier with SNS Pistol Mk II. -[info][2025/06/01 02:04:09]: Josf Meier got hit by Dr.Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/06/01 02:04:11]: Steven Steppenwolf got hit by Dr.Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/06/01 02:04:12]: Dr.Demon Campers aimed at Josf Meier with SNS Pistol Mk II. -[info][2025/06/01 02:04:14]: Dr.Demon Campers aimed at Josf Meier with SNS Pistol Mk II. -[info][2025/06/01 02:04:14]: Steven Steppenwolf got hit by Dr.Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/06/01 02:04:15]: Josf Meier got hit by Dr.Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/06/01 02:04:17]: Dr.Demon Campers aimed at Steven Steppenwolf with SNS Pistol Mk II. -[info][2025/06/01 02:04:20]: Steven Steppenwolf aimed at Shadow Wuff with null. -[info][2025/06/01 02:04:22]: Steven Steppenwolf aimed at Dr.Demon Campers with null. -[info][2025/06/01 02:04:26]: Steven Steppenwolf aimed at Josf Meier with null. -[info][2025/06/01 02:05:42]: Josf Meier got hit by Steven Steppenwolf with Fist causing 0 damage. -[info][2025/06/01 02:05:44]: Josf Meier got hit by Steven Steppenwolf with Fist causing 21 damage. -[info][2025/06/01 02:05:45]: Josf Meier got hit by Steven Steppenwolf with Fist causing 26 damage. -[info][2025/06/01 02:05:45]: Steven Steppenwolf got hit by Josf Meier with Fist causing 21 damage. -[info][2025/06/01 02:05:48]: Steven Steppenwolf got hit by Josf Meier with Fist causing 27 damage. -[info][2025/06/01 02:05:49]: Steven Steppenwolf got hit by Josf Meier with Fist causing 21 damage. -[info][2025/06/01 02:05:50]: Steven Steppenwolf got hit by Josf Meier with Fist causing 0 damage. -[info][2025/06/01 02:05:52]: Steven Steppenwolf got hit by Josf Meier with Fist causing 21 damage. -[info][2025/06/01 02:05:53]: Steven Steppenwolf got killed by Josf Meier with Fist causing 21 damage. -[info][2025/06/01 02:05:53]: Josf Meier got hit by Steven Steppenwolf with Fist causing 0 damage. -[info][2025/06/01 02:05:57]: Josf Meier got hit by Shadow Wuff with Animal causing 20 damage. -[info][2025/06/01 02:05:58]: Josf Meier got hit by Shadow Wuff with Animal causing 0 damage. -[info][2025/06/01 02:06:02]: Josf Meier got hit by Shadow Wuff with Animal causing 20 damage. -[info][2025/06/01 02:06:04]: Josf Meier got hit by Shadow Wuff with Animal causing 20 damage. -[info][2025/06/01 02:06:05]: Josf Meier got hit by Shadow Wuff with Animal causing 20 damage. -[info][2025/06/01 02:26:10]: Shadow Wuff got hit by Mark Petrol with Fist causing 26 damage. -[info][2025/06/01 02:26:15]: Josf Meier got hit by Dr.Demon Campers with Fist causing 20 damage. -[info][2025/06/01 02:26:22]: Josf Meier got hit by Dr.Demon Campers with Fist causing 20 damage. -[info][2025/06/01 02:26:24]: Josf Meier got hit by Dr.Demon Campers with Fist causing 25 damage. -[info][2025/06/01 02:26:25]: Josf Meier got killed by Dr.Demon Campers with Fist causing 20 damage. -[info][2025/06/01 02:26:27]: Mark Petrol got hit by Dr.Demon Campers with Fist causing 20 damage. -[info][2025/06/01 02:31:00]: Dr.Demon Campers aimed at Josf Meier with SNS Pistol Mk II. -[info][2025/06/01 02:31:01]: Josf Meier got hit by Dr.Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/06/01 02:31:06]: Dr.Demon Campers aimed at Josf Meier with SNS Pistol Mk II. -[info][2025/06/01 02:31:06]: Josf Meier got hit by Dr.Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/06/01 02:31:11]: Shadow Wuff got hit by Dr.Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/06/01 02:31:29]: Dr.Demon Campers got hit by Josf Meier with Fist causing 21 damage. -[info][2025/06/01 02:31:30]: Dr.Demon Campers got hit by Josf Meier with Fist causing 0 damage. -[info][2025/06/01 02:31:32]: Dr.Demon Campers got hit by Josf Meier with Fist causing 21 damage. -[info][2025/06/01 02:31:33]: Dr.Demon Campers got hit by Josf Meier with Fist causing 21 damage. -[info][2025/06/01 02:31:34]: Dr.Demon Campers got hit by Josf Meier with Fist causing 0 damage. -[info][2025/06/01 02:31:35]: Dr.Demon Campers got hit by Josf Meier with Fist causing 21 damage. -[info][2025/06/01 02:31:35]: Josf Meier got hit by Shadow Wuff with Animal causing 0 damage. -[info][2025/06/01 02:31:36]: Josf Meier got hit by Dr.Demon Campers with Fist causing 0 damage. -[info][2025/06/01 02:31:36]: Josf Meier got hit by Shadow Wuff with Animal causing 0 damage. -[info][2025/06/01 02:31:37]: Shadow Wuff got hit by Dr.Demon Campers with Fist causing 25 damage. -[info][2025/06/01 02:31:37]: Josf Meier got hit by Dr.Demon Campers with Fist causing 0 damage. -[info][2025/06/01 02:31:38]: Dr.Demon Campers got killed by Josf Meier with Fist causing 21 damage. -[info][2025/06/01 02:31:46]: Josf Meier got hit by Shadow Wuff with Animal causing 0 damage. -[info][2025/06/01 02:31:46]: Dr.Demon Campers got hit by Shadow Wuff with Animal causing 20 damage. -[info][2025/06/01 02:31:48]: Shadow Wuff got hit by Josf Meier with Fist causing 27 damage. -[info][2025/06/01 02:31:50]: Shadow Wuff got hit by Josf Meier with Fist causing 27 damage. -[info][2025/06/01 02:31:50]: Shadow Wuff got hit by Josf Meier with Fist causing 27 damage. -[info][2025/06/01 02:31:53]: Josf Meier got hit by Shadow Wuff with Animal causing 0 damage. -[info][2025/06/01 02:31:55]: Josf Meier got hit by Shadow Wuff with Animal causing 0 damage. -[info][2025/06/01 02:31:56]: Josf Meier got hit by Shadow Wuff with Animal causing 0 damage. -[info][2025/06/01 02:32:08]: Josf Meier got hit by Shadow Wuff with Animal causing 0 damage. -[info][2025/06/01 02:32:23]: Dr.Demon Campers aimed at Josf Meier with SNS Pistol Mk II. -[info][2025/06/01 02:32:23]: Josf Meier got hit by Dr.Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/06/01 02:32:26]: Dr.Demon Campers aimed at Josf Meier with SNS Pistol Mk II. -[info][2025/06/01 02:32:26]: Josf Meier got hit by Dr.Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/06/01 02:32:28]: Josf Meier got hit by Dr.Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/06/01 02:32:30]: Josf Meier got hit by Dr.Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/06/01 02:32:31]: Josf Meier got hit by Dr.Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/06/01 02:32:46]: Dr.Demon Campers aimed at Josf Meier with Heavy Revolver. -[info][2025/06/01 02:32:49]: Josf Meier got hit by Shadow Wuff with Animal causing 0 damage. -[info][2025/06/01 02:32:51]: Dr.Demon Campers got hit by Josf Meier with Fist causing 21 damage. -[info][2025/06/01 02:32:52]: Dr.Demon Campers got hit by Josf Meier with Fist causing 21 damage. -[info][2025/06/01 02:32:55]: Josf Meier got hit by Shadow Wuff with Animal causing 0 damage. -[info][2025/06/01 02:32:58]: Dr.Demon Campers aimed at Josf Meier with SNS Pistol Mk II. -[info][2025/06/01 02:33:01]: Dr.Demon Campers aimed at Josf Meier with SNS Pistol Mk II. -[info][2025/06/01 02:33:03]: Josf Meier got hit by Shadow Wuff with Animal causing 0 damage. -[info][2025/06/01 02:33:04]: Josf Meier got hit by Shadow Wuff with Animal causing 0 damage. -[info][2025/06/01 02:33:06]: Dr.Demon Campers aimed at Josf Meier with SNS Pistol Mk II. -[info][2025/06/01 02:33:06]: Josf Meier got hit by Dr.Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/06/01 02:33:08]: Dr.Demon Campers aimed at Josf Meier with SNS Pistol Mk II. -[info][2025/06/01 02:33:09]: Josf Meier got hit by Shadow Wuff with Animal causing 0 damage. -[info][2025/06/01 02:33:10]: Josf Meier got hit by Dr.Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/06/01 02:33:13]: Josf Meier got hit by Shadow Wuff with Animal causing 0 damage. -[info][2025/06/01 02:33:13]: Shadow Wuff got hit by Dr.Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/06/01 02:33:14]: Dr.Demon Campers aimed at Josf Meier with SNS Pistol Mk II. -[info][2025/06/01 02:33:16]: Dr.Demon Campers got hit by Josf Meier with Fist causing 21 damage. -[info][2025/06/01 02:33:20]: Josf Meier got hit by Shadow Wuff with Animal causing 0 damage. -[info][2025/06/01 02:33:20]: Dr.Demon Campers aimed at Josf Meier with SNS Pistol Mk II. -[info][2025/06/01 02:33:21]: Josf Meier got hit by Shadow Wuff with Animal causing 0 damage. -[info][2025/06/01 02:33:22]: Josf Meier got hit by Dr.Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/06/01 02:33:29]: Josf Meier got hit by Dr.Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/06/01 02:33:30]: Dr.Demon Campers aimed at Shadow Wuff with SNS Pistol Mk II. -[info][2025/06/01 02:33:41]: Dr.Demon Campers aimed at Josf Meier with Heavy Revolver. -[info][2025/06/01 02:33:42]: Josf Meier got hit by Shadow Wuff with Animal causing 20 damage. -[info][2025/06/01 02:33:43]: Josf Meier got hit by Shadow Wuff with Animal causing 20 damage. -[info][2025/06/01 02:33:44]: Dr.Demon Campers aimed at Josf Meier with Heavy Revolver. -[info][2025/06/01 02:33:44]: Josf Meier got killed by Dr.Demon Campers with Heavy Revolver causing 875 damage. -[info][2025/06/01 02:33:46]: Dr.Demon Campers aimed at Josf Meier with Heavy Revolver. -[info][2025/06/01 03:04:36]: Shadow Wuff got hit by Dr.Demon Campers with Fist causing 25 damage. -[info][2025/06/01 13:15:13]: Amy Ann got hit by Dr.Demon Campers with Fist causing 16 damage. -[info][2025/06/01 13:15:14]: Amy Ann got hit by Dr.Demon Campers with Fist causing 16 damage. -[info][2025/06/01 13:15:15]: Amy Ann got hit by Dr.Demon Campers with Fist causing 16 damage. -[info][2025/06/01 13:15:19]: Amy Ann got hit by Amy Ann with Fist causing 16 damage. -[info][2025/06/01 14:37:28]: Josf Meier got hit by Dr.Demon Campers with Fist causing 0 damage. -[info][2025/06/01 21:04:10]: Amy Ann got hit by Amy Ann with Fist causing 16 damage. -[info][2025/06/01 21:24:19]: Dr.Kimberly Smith got hit by Mark Petrol with Fist causing 21 damage. -[info][2025/06/01 21:24:20]: Dr.Kimberly Smith got hit by Mark Petrol with Fist causing 0 damage. -[info][2025/06/01 21:24:22]: Dr.Kimberly Smith got hit by Mark Petrol with Fist causing 21 damage. -[info][2025/06/01 21:24:23]: Dr.Kimberly Smith got hit by Mark Petrol with Fist causing 21 damage. -[info][2025/06/01 21:24:25]: Dr.Kimberly Smith got hit by Mark Petrol with Fist causing 21 damage. -[info][2025/06/01 21:25:03]: Dr.Demon Campers aimed at Dr.Kimberly Smith with Heavy Revolver. -[info][2025/06/01 21:25:05]: Dr.Kimberly Smith got killed by Dr.Demon Campers with Heavy Revolver causing 2797 damage. -[info][2025/06/01 21:42:23]: Dr.Kimberly Smith got hit by Dr.Kimberly Smith with Fist causing 16 damage. -[info][2025/06/02 00:16:45]: Amy Ann got hit by Shadow Wuff with Animal causing 22 damage. -[info][2025/06/02 00:50:45]: Steven Steppenwolf got hit by Steven Steppenwolf with Fist causing 22 damage. -[info][2025/06/03 00:38:42]: Dr.Demon Campers got hit by Dr.Demon Campers with Fist causing 17 damage. -[info][2025/06/03 00:38:43]: Dr.Demon Campers got hit by Dr.Demon Campers with Fist causing 17 damage. -[info][2025/06/03 00:38:44]: Dr.Demon Campers got hit by Dr.Demon Campers with Fist causing 17 damage. -[info][2025/06/03 21:58:02]: Dr.Kimberly Smith aimed at Josf Meier with Carbine Rifle. -[info][2025/06/03 22:00:54]: Josf Meier got hit by Dr.Kimberly Smith with Fist causing 21 damage. -[info][2025/06/03 22:14:20]: Dr.Kimberly Smith got hit by Josf Meier with Fist causing 21 damage. -[info][2025/06/03 22:28:15]: Josf Meier got hit by Dr.Kimberly Smith with Fist causing 21 damage. -[info][2025/06/03 22:48:38]: max requested all waypoints. -[info][2025/06/04 00:14:52]: Josf Meier got hit by Josf Meier with undefined causing 0 damage. -[info][2025/06/04 00:14:55]: Josf Meier got hit by Josf Meier with undefined causing 0 damage. -[info][2025/06/04 00:15:02]: Josf Meier got hit by Josf Meier with Animal causing 0 damage. -[info][2025/06/04 00:15:02]: Josf Meier got hit by Josf Meier with undefined causing 0 damage. -[info][2025/06/04 00:15:04]: Josf Meier got hit by Josf Meier with Animal causing 0 damage. -[info][2025/06/04 00:15:06]: Josf Meier got hit by Josf Meier with undefined causing 0 damage. -[info][2025/06/04 00:15:08]: Josf Meier got hit by Josf Meier with Fist causing 0 damage. -[info][2025/06/04 00:15:09]: Josf Meier got hit by Josf Meier with undefined causing 0 damage. -[info][2025/06/04 00:15:11]: Josf Meier got hit by Josf Meier with Fist causing 0 damage. -[info][2025/06/04 00:15:15]: Josf Meier got hit by Josf Meier with Animal causing 0 damage. -[info][2025/06/04 00:15:16]: Josf Meier got hit by Josf Meier with Animal causing 0 damage. -[info][2025/06/04 00:15:50]: Josf Meier got hit by Josf Meier with Animal causing 0 damage. -[info][2025/06/04 00:51:49]: Dr.Demon Campers got killed by Amy Ann with Fist causing 0 damage. -[info][2025/06/04 00:55:37]: Mark Petrol got hit by Josf Meier with Fist causing 0 damage. -[info][2025/06/04 00:55:42]: Mark Petrol got hit by Josf Meier with Fist causing 20 damage. -[info][2025/06/04 00:55:43]: Mark Petrol got hit by Josf Meier with Fist causing 20 damage. -[info][2025/06/04 00:55:44]: Mark Petrol got hit by Josf Meier with Fist causing 0 damage. -[info][2025/06/04 00:55:45]: Mark Petrol got hit by Josf Meier with Fist causing 20 damage. -[info][2025/06/04 00:55:47]: Mark Petrol got hit by Josf Meier with Fist causing 20 damage. -[info][2025/06/04 00:56:48]: Josf Meier got hit by Mark Petrol with Fist causing 21 damage. -[info][2025/06/04 00:56:49]: Josf Meier got hit by Mark Petrol with Fist causing 0 damage. -[info][2025/06/04 00:56:50]: Josf Meier got hit by Mark Petrol with Fist causing 21 damage. -[info][2025/06/04 00:56:51]: Josf Meier got hit by Mark Petrol with Fist causing 21 damage. -[info][2025/06/04 00:56:52]: Josf Meier got hit by Mark Petrol with Fist causing 26 damage. -[info][2025/06/04 01:07:18]: Dr.Demon Campers aimed at Josf Meier with Heavy Revolver. -[info][2025/06/04 01:07:19]: Josf Meier got killed by Dr.Demon Campers with Heavy Revolver causing 3028 damage. -[info][2025/06/04 01:07:27]: Dr.Kimberly Smith aimed at Dr.Demon Campers with Carbine Rifle. -[info][2025/06/04 01:07:27]: Dr.Demon Campers got killed by Dr.Kimberly Smith with Carbine Rifle causing 586 damage. -[info][2025/06/04 01:07:29]: Alex Scipo got killed by Dr.Kimberly Smith with Carbine Rifle causing 357 damage. -[info][2025/06/04 01:07:29]: Dr.Kimberly Smith aimed at Alex Scipo with Carbine Rifle. -[info][2025/06/04 01:07:31]: Dr.Kimberly Smith aimed at Josf Meier with Carbine Rifle. -[info][2025/06/04 01:07:32]: Josf Meier got hit by Dr.Kimberly Smith with Carbine Rifle causing 18 damage. -[info][2025/06/04 01:07:33]: Josf Meier got hit by Dr.Kimberly Smith with Carbine Rifle causing 18 damage. -[info][2025/06/04 01:07:33]: Josf Meier got hit by Dr.Kimberly Smith with Carbine Rifle causing 18 damage. -[info][2025/06/04 01:07:33]: Josf Meier got hit by Dr.Kimberly Smith with Carbine Rifle causing 18 damage. -[info][2025/06/04 01:07:33]: Josf Meier got hit by Dr.Kimberly Smith with Carbine Rifle causing 18 damage. -[info][2025/06/04 01:07:34]: Josf Meier got hit by Dr.Kimberly Smith with Carbine Rifle causing 18 damage. -[info][2025/06/04 01:07:34]: Josf Meier got hit by Dr.Kimberly Smith with Carbine Rifle causing 18 damage. -[info][2025/06/04 01:07:34]: Josf Meier got killed by Dr.Kimberly Smith with Carbine Rifle causing 18 damage. -[info][2025/06/04 01:07:34]: Dr.Demon Campers aimed at Dr.Kimberly Smith with Heavy Revolver. -[info][2025/06/04 01:07:36]: Dr.Demon Campers got hit by Dr.Kimberly Smith with Carbine Rifle causing 18 damage. -[info][2025/06/04 01:07:36]: Dr.Demon Campers got hit by Dr.Kimberly Smith with Carbine Rifle causing 18 damage. -[info][2025/06/04 01:07:36]: Dr.Demon Campers got hit by Dr.Kimberly Smith with Carbine Rifle causing 18 damage. -[info][2025/06/04 01:07:36]: Dr.Demon Campers got hit by Dr.Kimberly Smith with Carbine Rifle causing 18 damage. -[info][2025/06/04 01:07:36]: Dr.Demon Campers got hit by Dr.Kimberly Smith with Carbine Rifle causing 18 damage. -[info][2025/06/04 01:07:36]: Dr.Kimberly Smith aimed at Dr.Demon Campers with Carbine Rifle. -[info][2025/06/04 01:07:38]: Dr.Demon Campers aimed at Dr.Kimberly Smith with Heavy Revolver. -[info][2025/06/04 01:07:39]: Dr.Kimberly Smith aimed at Dr.Demon Campers with Carbine Rifle. -[info][2025/06/04 01:07:40]: Dr.Kimberly Smith got hit by Dr.Demon Campers with Heavy Revolver causing 47 damage. -[info][2025/06/04 01:07:41]: Dr.Demon Campers got killed by Dr.Kimberly Smith with Carbine Rifle causing 18 damage. -[info][2025/06/04 01:07:41]: Dr.Demon Campers got killed by Dr.Kimberly Smith with Carbine Rifle causing 18 damage. -[info][2025/06/04 01:07:41]: Dr.Demon Campers got hit by Dr.Kimberly Smith with Carbine Rifle causing 0 damage. -[info][2025/06/04 01:07:41]: Dr.Kimberly Smith aimed at Dr.Demon Campers with Carbine Rifle. -[info][2025/06/04 01:08:03]: Dr.Demon Campers aimed at Dr.Kimberly Smith with Heavy Revolver. -[info][2025/06/04 01:08:04]: Dr.Kimberly Smith got killed by Dr.Demon Campers with Heavy Revolver causing 803 damage. -[info][2025/06/04 01:09:10]: Dr.Kimberly Smith got hit by Alex Scipo with Fist causing 25 damage. -[info][2025/06/04 01:46:09]: Josf Meier got hit by Dr.Kimberly Smith with Fist causing 20 damage. -[info][2025/06/04 14:20:44]: Alex Scipo got hit by Alex Scipo with Fist causing 14 damage. -[info][2025/06/04 18:46:47]: mark requested all waypoints. -[info][2025/06/04 20:49:31]: Dr.Kimberly Smith aimed at Josf Meier with null. -[info][2025/06/04 20:49:32]: Josf Meier got hit by Dr.Kimberly Smith with undefined causing 1 damage. -[info][2025/06/04 20:49:54]: Dr.Kimberly Smith aimed at Josf Meier with null. -[info][2025/06/04 20:49:55]: Josf Meier got hit by Dr.Kimberly Smith with undefined causing 0 damage. -[info][2025/06/04 20:50:09]: Dr.Kimberly Smith aimed at Josf Meier with null. -[info][2025/06/04 20:50:12]: Josf Meier got hit by Dr.Kimberly Smith with undefined causing 0 damage. -[info][2025/06/04 21:26:25]: max requested all waypoints. -[info][2025/06/05 11:45:26]: Alfred Monak aimed at Dr.Kimberly Smith with AP Pistol. -[info][2025/06/05 11:45:30]: Dr.Kimberly Smith got killed by Alfred Monak with AP Pistol causing 132 damage. -[info][2025/06/05 11:45:32]: Alfred Monak aimed at Dr.Kimberly Smith with AP Pistol. -[info][2025/06/05 11:45:35]: Alfred Monak aimed at Dr.Kimberly Smith with Pistol. -[info][2025/06/05 11:45:36]: Dr.Kimberly Smith got hit by Alfred Monak with Pistol causing 0 damage. -[info][2025/06/05 11:45:36]: Dr.Kimberly Smith got hit by Alfred Monak with Pistol causing 0 damage. -[info][2025/06/05 11:45:36]: Dr.Kimberly Smith got hit by Alfred Monak with Pistol causing 0 damage. -[info][2025/06/05 11:45:37]: Alfred Monak aimed at Dr.Kimberly Smith with Pistol. -[info][2025/06/05 11:45:37]: Dr.Kimberly Smith got hit by Alfred Monak with Pistol causing 0 damage. -[info][2025/06/05 11:45:37]: Dr.Kimberly Smith got hit by Alfred Monak with Pistol causing 0 damage. -[info][2025/06/05 11:45:37]: Dr.Kimberly Smith got hit by Alfred Monak with Pistol causing 0 damage. -[info][2025/06/05 11:45:37]: Dr.Kimberly Smith got hit by Alfred Monak with Pistol causing 0 damage. -[info][2025/06/05 11:46:47]: Dr.Kimberly Smith got hit by Alfred Monak with Pistol causing 0 damage. -[info][2025/06/05 11:46:47]: Dr.Kimberly Smith got hit by Alfred Monak with Pistol causing 0 damage. -[info][2025/06/05 11:46:47]: Dr.Kimberly Smith got hit by Alfred Monak with Pistol causing 0 damage. -[info][2025/06/05 11:46:48]: Dr.Kimberly Smith got hit by Alfred Monak with Pistol causing 0 damage. -[info][2025/06/05 11:46:48]: Dr.Kimberly Smith got hit by Alfred Monak with Pistol causing 0 damage. -[info][2025/06/05 11:46:48]: Alfred Monak aimed at Dr.Kimberly Smith with Pistol. -[info][2025/06/05 11:46:48]: Dr.Kimberly Smith got hit by Alfred Monak with Pistol causing 0 damage. -[info][2025/06/05 11:46:49]: Dr.Kimberly Smith got hit by Alfred Monak with Pistol causing 0 damage. -[info][2025/06/05 11:46:49]: Dr.Kimberly Smith got hit by Alfred Monak with Pistol causing 0 damage. -[info][2025/06/05 11:46:49]: Dr.Kimberly Smith got hit by Alfred Monak with Pistol causing 0 damage. -[info][2025/06/05 11:46:49]: Dr.Kimberly Smith got hit by Alfred Monak with Pistol causing 0 damage. -[info][2025/06/05 11:46:50]: Dr.Kimberly Smith got hit by Alfred Monak with Pistol causing 0 damage. -[info][2025/06/05 11:46:52]: Dr.Kimberly Smith got hit by Alfred Monak with Pistol causing 0 damage. -[info][2025/06/05 11:46:55]: Dr.Kimberly Smith got hit by Alfred Monak with Pistol causing 0 damage. -[info][2025/06/05 11:46:55]: Dr.Kimberly Smith got hit by Alfred Monak with Pistol causing 0 damage. -[info][2025/06/05 11:46:56]: Dr.Kimberly Smith got hit by Alfred Monak with Pistol causing 0 damage. -[info][2025/06/05 11:46:56]: Dr.Kimberly Smith got hit by Alfred Monak with Pistol causing 0 damage. -[info][2025/06/05 11:46:56]: Dr.Kimberly Smith got hit by Alfred Monak with Pistol causing 0 damage. -[info][2025/06/05 11:46:56]: Dr.Kimberly Smith got hit by Alfred Monak with Pistol causing 0 damage. -[info][2025/06/05 11:46:57]: Dr.Kimberly Smith got hit by Alfred Monak with Pistol causing 0 damage. -[info][2025/06/05 11:46:57]: Dr.Kimberly Smith got hit by Alfred Monak with Pistol causing 0 damage. -[info][2025/06/05 11:46:57]: Dr.Kimberly Smith got hit by Alfred Monak with Pistol causing 0 damage. -[info][2025/06/05 11:46:57]: Dr.Kimberly Smith got hit by Alfred Monak with Pistol causing 0 damage. -[info][2025/06/05 11:46:58]: Dr.Kimberly Smith got hit by Alfred Monak with Pistol causing 0 damage. -[info][2025/06/05 11:47:06]: Alfred Monak aimed at Dr.Kimberly Smith with AP Pistol. -[info][2025/06/05 11:47:07]: Dr.Kimberly Smith got killed by Alfred Monak with AP Pistol causing 132 damage. -[info][2025/06/05 11:47:07]: Dr.Kimberly Smith got killed by Alfred Monak with AP Pistol causing 132 damage. -[info][2025/06/05 11:47:07]: Dr.Kimberly Smith got hit by Alfred Monak with AP Pistol causing 0 damage. -[info][2025/06/05 11:47:07]: Dr.Kimberly Smith got hit by Alfred Monak with AP Pistol causing 0 damage. -[info][2025/06/05 11:48:03]: Alfred Monak aimed at Dr.Kimberly Smith with AP Pistol. -[info][2025/06/05 11:48:05]: Dr.Kimberly Smith got hit by Alfred Monak with AP Pistol causing 6 damage. -[info][2025/06/05 11:48:06]: Alfred Monak aimed at Dr.Kimberly Smith with AP Pistol. -[info][2025/06/05 11:48:06]: Dr.Kimberly Smith got hit by Alfred Monak with AP Pistol causing 6 damage. -[info][2025/06/05 11:48:07]: Dr.Kimberly Smith got hit by Alfred Monak with AP Pistol causing 6 damage. -[info][2025/06/05 11:48:07]: Dr.Kimberly Smith got hit by Alfred Monak with AP Pistol causing 6 damage. -[info][2025/06/05 11:48:08]: Dr.Kimberly Smith got hit by Alfred Monak with AP Pistol causing 6 damage. -[info][2025/06/05 11:48:08]: Alfred Monak aimed at Dr.Kimberly Smith with AP Pistol. -[info][2025/06/05 11:48:08]: Dr.Kimberly Smith got hit by Alfred Monak with AP Pistol causing 6 damage. -[info][2025/06/05 11:48:08]: Dr.Kimberly Smith got hit by Alfred Monak with AP Pistol causing 6 damage. -[info][2025/06/05 11:48:11]: Dr.Kimberly Smith got hit by Alfred Monak with AP Pistol causing 6 damage. -[info][2025/06/05 11:48:11]: Dr.Kimberly Smith got hit by Alfred Monak with AP Pistol causing 6 damage. -[info][2025/06/05 11:56:14]: Alfred Monak aimed at Dr.Kimberly Smith with AP Pistol. -[info][2025/06/05 11:56:15]: Dr.Kimberly Smith got hit by Alfred Monak with AP Pistol causing 6 damage. -[info][2025/06/05 11:56:15]: Dr.Kimberly Smith got hit by Alfred Monak with AP Pistol causing 6 damage. -[info][2025/06/05 11:56:17]: Alfred Monak aimed at Dr.Kimberly Smith with AP Pistol. -[info][2025/06/05 11:56:19]: Alfred Monak aimed at Dr.Kimberly Smith with AP Pistol. -[info][2025/06/05 11:56:24]: Alfred Monak aimed at Dr.Kimberly Smith with AP Pistol. -[info][2025/06/05 11:56:27]: Alfred Monak aimed at Dr.Kimberly Smith with AP Pistol. -[info][2025/06/05 11:56:28]: Dr.Kimberly Smith got hit by Alfred Monak with AP Pistol causing 6 damage. -[info][2025/06/05 11:56:29]: Dr.Kimberly Smith got hit by Alfred Monak with AP Pistol causing 6 damage. -[info][2025/06/05 11:56:29]: Dr.Kimberly Smith got hit by Alfred Monak with AP Pistol causing 6 damage. -[info][2025/06/05 11:56:29]: Dr.Kimberly Smith got hit by Alfred Monak with AP Pistol causing 6 damage. -[info][2025/06/05 11:56:30]: Dr.Kimberly Smith got hit by Alfred Monak with AP Pistol causing 6 damage. -[info][2025/06/05 11:56:30]: Dr.Kimberly Smith got hit by Alfred Monak with AP Pistol causing 6 damage. -[info][2025/06/05 11:56:31]: Alfred Monak aimed at Dr.Kimberly Smith with AP Pistol. -[info][2025/06/05 11:56:31]: Dr.Kimberly Smith got hit by Alfred Monak with AP Pistol causing 6 damage. -[info][2025/06/05 11:56:31]: Dr.Kimberly Smith got hit by Alfred Monak with AP Pistol causing 6 damage. -[info][2025/06/05 11:56:31]: Dr.Kimberly Smith got hit by Alfred Monak with AP Pistol causing 6 damage. -[info][2025/06/05 11:56:31]: Dr.Kimberly Smith got hit by Alfred Monak with AP Pistol causing 6 damage. -[info][2025/06/05 11:56:32]: Dr.Kimberly Smith got hit by Alfred Monak with AP Pistol causing 6 damage. -[info][2025/06/05 11:56:40]: Alfred Monak aimed at Dr.Kimberly Smith with AP Pistol. -[info][2025/06/05 11:56:41]: Dr.Kimberly Smith got hit by Alfred Monak with AP Pistol causing 6 damage. -[info][2025/06/05 11:56:41]: Dr.Kimberly Smith got hit by Alfred Monak with AP Pistol causing 6 damage. -[info][2025/06/05 11:56:42]: Alfred Monak aimed at Dr.Kimberly Smith with AP Pistol. -[info][2025/06/05 11:56:43]: Dr.Kimberly Smith got hit by Alfred Monak with AP Pistol causing 6 damage. -[info][2025/06/05 11:56:43]: Dr.Kimberly Smith got hit by Alfred Monak with AP Pistol causing 6 damage. -[info][2025/06/05 11:56:47]: Dr.Kimberly Smith got hit by Alfred Monak with AP Pistol causing 6 damage. -[info][2025/06/05 11:56:47]: Dr.Kimberly Smith got hit by Alfred Monak with AP Pistol causing 6 damage. -[info][2025/06/05 11:56:47]: Dr.Kimberly Smith got hit by Alfred Monak with AP Pistol causing 6 damage. -[info][2025/06/05 11:56:47]: Dr.Kimberly Smith got killed by Alfred Monak with AP Pistol causing 132 damage. -[info][2025/06/05 11:56:47]: Dr.Kimberly Smith got killed by Alfred Monak with AP Pistol causing 132 damage. -[info][2025/06/05 11:56:48]: Dr.Kimberly Smith got hit by Alfred Monak with AP Pistol causing 0 damage. -[info][2025/06/05 11:58:25]: Dr.Kimberly Smith got hit by Alfred Monak with Fist causing 21 damage. -[info][2025/06/05 11:58:25]: Dr.Kimberly Smith got hit by Alfred Monak with Fist causing 0 damage. -[info][2025/06/05 11:58:26]: Dr.Kimberly Smith got hit by Alfred Monak with Fist causing 21 damage. -[info][2025/06/05 11:58:27]: Dr.Kimberly Smith got hit by Alfred Monak with Fist causing 21 damage. -[info][2025/06/05 11:58:28]: Dr.Kimberly Smith got hit by Alfred Monak with Fist causing 0 damage. -[info][2025/06/05 11:58:29]: Dr.Kimberly Smith got hit by Alfred Monak with Fist causing 21 damage. -[info][2025/06/05 11:58:30]: Dr.Kimberly Smith got killed by Alfred Monak with Fist causing 26 damage. -[info][2025/06/05 12:06:00]: Alfred Monak aimed at Josf Meier with AP Pistol. -[info][2025/06/05 12:06:00]: Josf Meier got killed by Alfred Monak with AP Pistol causing 132 damage. -[info][2025/06/05 12:07:02]: Alfred Monak got hit by Josf Meier with Fist causing 20 damage. -[info][2025/06/05 12:07:04]: Alfred Monak got hit by Josf Meier with Fist causing 26 damage. -[info][2025/06/05 12:07:06]: Alfred Monak got hit by Josf Meier with Fist causing 20 damage. -[info][2025/06/05 12:07:08]: Alfred Monak got hit by Josf Meier with Fist causing 20 damage. -[info][2025/06/05 12:07:09]: Alfred Monak got killed by Josf Meier with Fist causing 26 damage. -[info][2025/06/05 12:07:39]: Alfred Monak got hit by Josf Meier with Fist causing 20 damage. -[info][2025/06/05 12:07:40]: Alfred Monak got hit by Josf Meier with Fist causing 26 damage. -[info][2025/06/05 12:07:44]: Alfred Monak got hit by Josf Meier with Fist causing 20 damage. -[info][2025/06/05 12:07:45]: Alfred Monak got hit by Josf Meier with Fist causing 26 damage. -[info][2025/06/05 12:07:47]: Alfred Monak got killed by Josf Meier with Fist causing 20 damage. -[info][2025/06/05 12:08:47]: Alfred Monak got hit by Josf Meier with Fist causing 20 damage. -[info][2025/06/05 12:08:49]: Alfred Monak got hit by Josf Meier with Fist causing 20 damage. -[info][2025/06/05 12:08:51]: Alfred Monak got hit by Josf Meier with Fist causing 26 damage. -[info][2025/06/05 12:08:54]: Alfred Monak got hit by Josf Meier with Fist causing 20 damage. -[info][2025/06/05 12:08:57]: Alfred Monak got killed by Josf Meier with Fist causing 20 damage. -[info][2025/06/05 12:09:57]: Alfred Monak aimed at Josf Meier with AP Pistol. -[info][2025/06/05 12:09:58]: Josf Meier got killed by Alfred Monak with AP Pistol causing 109 damage. -[info][2025/06/05 12:10:00]: Alfred Monak aimed at Josf Meier with AP Pistol. -[info][2025/06/05 12:10:56]: Josf Meier got hit by Alfred Monak with Fist causing 21 damage. -[info][2025/06/05 12:10:57]: Josf Meier got hit by Alfred Monak with Fist causing 26 damage. -[info][2025/06/05 12:10:59]: Josf Meier got hit by Alfred Monak with Fist causing 21 damage. -[info][2025/06/05 12:11:00]: Josf Meier got hit by Alfred Monak with Fist causing 21 damage. -[info][2025/06/05 12:11:01]: Josf Meier got killed by Alfred Monak with Fist causing 26 damage. -[info][2025/06/05 12:13:03]: Josf Meier got hit by Alfred Monak with Fist causing 21 damage. -[info][2025/06/05 12:13:04]: Josf Meier got hit by Alfred Monak with Fist causing 26 damage. -[info][2025/06/05 12:13:06]: Josf Meier got hit by Alfred Monak with Fist causing 21 damage. -[info][2025/06/05 12:13:07]: Josf Meier got hit by Alfred Monak with Fist causing 21 damage. -[info][2025/06/05 12:13:07]: Josf Meier got hit by Alfred Monak with Fist causing 0 damage. -[info][2025/06/05 12:13:09]: Josf Meier got killed by Alfred Monak with Fist causing 21 damage. -[info][2025/06/05 12:13:10]: Josf Meier got hit by Alfred Monak with Fist causing 0 damage. -[info][2025/06/05 12:13:12]: Josf Meier got hit by Alfred Monak with Fist causing 21 damage. -[info][2025/06/05 12:13:13]: Josf Meier got hit by Alfred Monak with Fist causing 21 damage. -[info][2025/06/05 12:13:14]: Josf Meier got hit by Alfred Monak with Fist causing 26 damage. -[info][2025/06/05 12:13:16]: Josf Meier got hit by Alfred Monak with Fist causing 26 damage. -[info][2025/06/05 12:13:17]: Josf Meier got hit by Alfred Monak with Fist causing 21 damage. -[info][2025/06/05 12:13:18]: Josf Meier got killed by Alfred Monak with Fist causing 26 damage. -[info][2025/06/05 12:13:40]: Alfred Monak aimed at Josf Meier with AP Pistol. -[info][2025/06/05 12:13:41]: Josf Meier got killed by Alfred Monak with AP Pistol causing 132 damage. -[info][2025/06/05 12:13:42]: Alfred Monak aimed at Josf Meier with AP Pistol. -[info][2025/06/05 12:16:33]: Dr.Kimberly Smith aimed at Alfred Monak with AP Pistol. -[info][2025/06/05 12:16:33]: Alfred Monak got killed by Dr.Kimberly Smith with AP Pistol causing 132 damage. -[info][2025/06/05 12:32:38]: Dr.Kimberly Smith aimed at Alfred Monak with AP Pistol. -[info][2025/06/05 12:32:47]: Alfred Monak got killed by Dr.Kimberly Smith with AP Pistol causing 473 damage. -[info][2025/06/05 12:33:20]: Dr.Kimberly Smith aimed at Alfred Monak with AP Pistol. -[info][2025/06/05 12:33:23]: Alfred Monak got killed by Dr.Kimberly Smith with AP Pistol causing 132 damage. -[info][2025/06/05 12:36:25]: Alfred Monak aimed at Dr.Kimberly Smith with AP Pistol. -[info][2025/06/05 12:36:26]: Dr.Kimberly Smith got killed by Alfred Monak with AP Pistol causing 132 damage. -[info][2025/06/05 12:36:26]: Dr.Kimberly Smith got killed by Alfred Monak with AP Pistol causing 132 damage. -[info][2025/06/06 14:09:54]: Dr.Kimberly Smith got killed by Dr.Kimberly Smith with Cougar causing 500 damage. -[info][2025/06/07 22:36:34]: Steven Steppenwolf got hit by Steven Steppenwolf with Fist causing 20 damage. -[info][2025/06/08 23:51:14]: Amy Ann got killed by Amy Ann with Cougar causing 500 damage. -[info][2025/06/09 02:11:05]: marc requested all waypoints. -[info][2025/06/09 02:47:07]: Dr.Demon Campers aimed at Amy Ann with Heavy Revolver Mk II. -[info][2025/06/09 03:07:00]: Amy Ann got hit by Dr. Georg Schäfer with Fist causing 0 damage. -[info][2025/06/09 03:09:42]: Dr. Georg Schäfer got hit by Amy Ann with Fist causing 21 damage. -[info][2025/06/09 03:09:47]: Dr. Georg Schäfer got hit by Amy Ann with Fist causing 21 damage. -[info][2025/06/09 03:25:38]: Dr.Demon Campers got hit by Amy Ann with Fist causing 21 damage. -[info][2025/06/10 19:47:03]: Amy Ann got hit by Dr.Boris Von Dragomir with Fist causing 21 damage. -[info][2025/06/10 19:47:05]: Amy Ann got hit by Dr.Boris Von Dragomir with Fist causing 21 damage. -[info][2025/06/10 19:47:11]: Amy Ann got hit by Dr.Boris Von Dragomir with Fist causing 21 damage. -[info][2025/06/10 19:47:13]: Amy Ann got hit by Dr.Boris Von Dragomir with Fist causing 21 damage. -[info][2025/06/10 19:47:17]: Amy Ann got killed by Dr.Boris Von Dragomir with Fist causing 21 damage. -[info][2025/06/10 20:43:18]: Amy Ann got hit by Alfred Monak with Fist causing 25 damage. -[info][2025/06/10 20:43:18]: Dr.Boris Von Dragomir got hit by Alfred Monak with Fist causing 25 damage. -[info][2025/06/10 20:51:20]: Amy Ann got hit by Alfred Monak with Fist causing 25 damage. -[info][2025/06/10 22:32:35]: Dr.Demon Campers got hit by Manfred Tönsen with Fist causing 21 damage. -[info][2025/06/10 22:32:37]: Dr.Demon Campers got hit by Manfred Tönsen with Fist causing 27 damage. -[info][2025/06/10 22:32:38]: Dr.Demon Campers got hit by Manfred Tönsen with Fist causing 21 damage. -[info][2025/06/10 23:27:50]: Amy Ann aimed at Dr.Demon Campers with null. -[info][2025/06/10 23:27:52]: Dr.Demon Campers got killed by Amy Ann with undefined causing 732 damage. -[info][2025/06/10 23:28:31]: Amy Ann aimed at Dr.Demon Campers with null. -[info][2025/06/10 23:28:37]: Dr.Demon Campers got hit by Amy Ann with undefined causing 34 damage. -[info][2025/06/10 23:28:37]: Dr.Demon Campers got hit by Amy Ann with undefined causing 34 damage. -[info][2025/06/10 23:28:38]: Dr.Demon Campers got killed by Amy Ann with undefined causing 34 damage. -[info][2025/06/10 23:28:57]: Amy Ann aimed at Dr.Demon Campers with null. -[info][2025/06/10 23:29:01]: Dr.Demon Campers got hit by Amy Ann with undefined causing 34 damage. -[info][2025/06/10 23:29:07]: Dr.Demon Campers got killed by Amy Ann with undefined causing 732 damage. -[info][2025/06/10 23:32:06]: Amy Ann aimed at Steven Steppenwolf with null. -[info][2025/06/10 23:32:07]: Steven Steppenwolf got hit by Amy Ann with undefined causing 34 damage. -[info][2025/06/10 23:32:18]: Amy Ann aimed at Steven Steppenwolf with null. -[info][2025/06/10 23:32:19]: Steven Steppenwolf got killed by Amy Ann with undefined causing 732 damage. -[info][2025/06/10 23:32:20]: Amy Ann aimed at Steven Steppenwolf with null. -[info][2025/06/10 23:32:24]: Amy Ann aimed at Steven Steppenwolf with null. -[info][2025/06/10 23:32:59]: Amy Ann aimed at Dr.Demon Campers with Heavy Revolver Mk II. -[info][2025/06/10 23:37:02]: Amy Ann aimed at Dr.Demon Campers with null. -[info][2025/06/10 23:37:13]: Amy Ann aimed at Dr.Demon Campers with null. -[info][2025/06/10 23:37:25]: Amy Ann aimed at Dr.Demon Campers with null. -[info][2025/06/10 23:51:33]: Amy Ann got hit by Dr.Demon Campers with Fist causing 0 damage. -[info][2025/06/10 23:54:01]: Dr.Demon Campers got hit by Amy Ann with Fist causing 0 damage. -[info][2025/06/10 23:54:02]: Dr.Demon Campers got hit by Amy Ann with Fist causing 20 damage. -[info][2025/06/10 23:58:25]: Dr.Kimberly Smith aimed at Dr.Demon Campers with Carbine Rifle. -[info][2025/06/11 00:09:07]: Dr.Kimberly Smith aimed at Victoria Ann with AP Pistol. -[info][2025/06/11 00:09:11]: Dr.Kimberly Smith aimed at Victoria Ann with AP Pistol. -[info][2025/06/11 00:09:13]: Dr.Kimberly Smith aimed at Victoria Ann with AP Pistol. -[info][2025/06/11 13:37:49]: Marc Santoro aimed at Victoria Ann with Special Carbine Mk II. -[info][2025/06/11 13:37:51]: Marc Santoro aimed at Victoria Ann with Special Carbine Mk II. -[info][2025/06/11 14:30:49]: Shadow Wuff got hit by Victoria Ann with Fist causing 25 damage. -[info][2025/06/11 14:47:28]: Victoria Ann got hit by Dr.Kimberly Smith with Fist causing 0 damage. -[info][2025/06/11 14:47:29]: Victoria Ann got hit by Dr.Kimberly Smith with Fist causing 20 damage. -[info][2025/06/11 14:47:30]: Victoria Ann got hit by Dr.Kimberly Smith with Fist causing 20 damage. -[info][2025/06/11 14:47:31]: Victoria Ann got hit by Dr.Kimberly Smith with Fist causing 25 damage. -[info][2025/06/11 14:47:33]: Dr.Kimberly Smith aimed at Victoria Ann with AP Pistol. -[info][2025/06/11 14:47:33]: Victoria Ann got hit by Dr.Kimberly Smith with AP Pistol causing 24 damage. -[info][2025/06/11 14:47:34]: Victoria Ann got hit by Dr.Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/06/11 14:47:34]: Victoria Ann got hit by Dr.Kimberly Smith with AP Pistol causing 5 damage. -[info][2025/06/11 14:47:34]: Victoria Ann got hit by Dr.Kimberly Smith with AP Pistol causing 5 damage. -[info][2025/06/11 14:47:34]: Victoria Ann got hit by Dr.Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/06/11 14:47:37]: Dr.Kimberly Smith aimed at Victoria Ann with AP Pistol. -[info][2025/06/11 14:47:40]: Victoria Ann got hit by Dr.Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/06/11 14:47:43]: Victoria Ann got hit by Dr.Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/06/11 14:47:43]: Victoria Ann got hit by Dr.Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/06/11 14:47:43]: Victoria Ann got hit by Dr.Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/06/11 14:47:43]: Victoria Ann got hit by Dr.Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/06/11 14:47:43]: Victoria Ann got hit by Dr.Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/06/11 14:47:43]: Victoria Ann got hit by Dr.Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/06/11 14:47:44]: Victoria Ann got hit by Dr.Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/06/11 14:47:44]: Victoria Ann got hit by Dr.Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/06/11 14:47:44]: Victoria Ann got hit by Dr.Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/06/11 14:47:44]: Victoria Ann got hit by Dr.Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/06/11 14:47:44]: Victoria Ann got hit by Dr.Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/06/11 14:47:44]: Victoria Ann got hit by Dr.Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/06/11 14:47:44]: Victoria Ann got killed by Dr.Kimberly Smith with AP Pistol causing 132 damage. -[info][2025/06/11 14:47:44]: Dr.Kimberly Smith aimed at Victoria Ann with AP Pistol. -[info][2025/06/11 14:47:44]: Victoria Ann got killed by Dr.Kimberly Smith with AP Pistol causing 132 damage. -[info][2025/06/11 14:47:44]: Victoria Ann got hit by Dr.Kimberly Smith with AP Pistol causing 0 damage. -[info][2025/06/11 17:37:46]: Lucifer Morningstar got hit by Marc Santoro with Fist causing 20 damage. -[info][2025/06/11 17:37:57]: Marc Santoro aimed at Lucifer Morningstar with Special Carbine Mk II. -[info][2025/06/11 17:38:14]: Marc Santoro aimed at Lucifer Morningstar with Special Carbine Mk II. -[info][2025/06/11 17:38:24]: Marc Santoro aimed at Lucifer Morningstar with Special Carbine Mk II. -[info][2025/06/11 17:38:27]: Marc Santoro aimed at Lucifer Morningstar with Special Carbine Mk II. -[info][2025/06/11 17:45:29]: Lucifer Morningstar got hit by Marc Santoro with Fist causing 21 damage. -[info][2025/06/11 18:43:24]: Marc Santoro aimed at Leon Meier with Special Carbine Mk II. -[info][2025/06/11 18:43:37]: Marc Santoro aimed at Steven Steppenwolf with Special Carbine Mk II. -[info][2025/06/11 18:43:38]: Marc Santoro aimed at Leon Meier with Special Carbine Mk II. -[info][2025/06/11 18:47:18]: Ali Bratke aimed at Marc Santoro with Carbine Rifle. -[info][2025/06/11 18:49:52]: Ali Bratke aimed at Turtle Kaya with Carbine Rifle. -[info][2025/06/11 18:50:05]: Dr.Kimberly Smith aimed at Turtle Kaya with Stun Gun. -[info][2025/06/11 18:50:12]: Dr.Kimberly Smith aimed at Turtle Kaya with Stun Gun. -[info][2025/06/11 18:50:13]: Turtle Kaya got hit by Dr.Kimberly Smith with Stun Gun causing 1 damage. -[info][2025/06/11 18:54:27]: Victoria Ann got hit by Steven Steppenwolf with Fist causing 20 damage. -[info][2025/06/11 18:54:29]: Shadow Wuff got hit by Victoria Ann with Fist causing 25 damage. -[info][2025/06/11 18:54:31]: Steven Steppenwolf got hit by Victoria Ann with Fist causing 20 damage. -[info][2025/06/11 18:56:12]: Ali Bratke aimed at Turtle Kaya with Carbine Rifle. -[info][2025/06/11 18:56:21]: Ali Bratke aimed at Marc Santoro with Carbine Rifle. -[info][2025/06/11 18:56:23]: Ali Bratke aimed at Turtle Kaya with Carbine Rifle. -[info][2025/06/11 18:56:29]: Ali Bratke aimed at Turtle Kaya with Carbine Rifle. -[info][2025/06/11 18:56:29]: Turtle Kaya got hit by Ali Bratke with Carbine Rifle causing 18 damage. -[info][2025/06/11 18:56:33]: Ali Bratke aimed at Turtle Kaya with Carbine Rifle. -[info][2025/06/11 18:56:34]: Marc Santoro aimed at Turtle Kaya with Assault Rifle. -[info][2025/06/11 18:56:35]: Ali Bratke aimed at Turtle Kaya with Carbine Rifle. -[info][2025/06/11 18:56:36]: Turtle Kaya got hit by Ali Bratke with Carbine Rifle causing 18 damage. -[info][2025/06/11 18:56:37]: Turtle Kaya got hit by Ali Bratke with Carbine Rifle causing 18 damage. -[info][2025/06/11 18:56:37]: Marc Santoro aimed at Turtle Kaya with Assault Rifle. -[info][2025/06/11 18:56:39]: Turtle Kaya got hit by Marc Santoro with Assault Rifle causing 23 damage. -[info][2025/06/11 18:56:39]: Turtle Kaya got killed by Marc Santoro with Assault Rifle causing 23 damage. -[info][2025/06/11 18:56:39]: Ali Bratke aimed at Edward Teach with Carbine Rifle. -[info][2025/06/11 18:56:40]: Marc Santoro aimed at Edward Teach with Assault Rifle. -[info][2025/06/11 18:56:43]: Ali Bratke aimed at Marc Santoro with Carbine Rifle. -[info][2025/06/11 18:56:49]: Ali Bratke aimed at Turtle Kaya with Carbine Rifle. -[info][2025/06/11 19:01:12]: Marc Santoro aimed at Chester Sinister with Assault Rifle. -[info][2025/06/11 19:06:24]: Marc Santoro aimed at Leon Meier with Assault Rifle. -[info][2025/06/11 19:09:44]: Marc Santoro aimed at Ben Decker with Assault Rifle. -[info][2025/06/11 19:09:46]: Marc Santoro aimed at Leon Meier with Assault Rifle. -[info][2025/06/11 19:10:49]: Marc Santoro aimed at Leon Meier with null. -[info][2025/06/11 19:25:24]: Marc Santoro aimed at Dr.Kimberly Smith with Assault Rifle. -[info][2025/06/11 19:28:34]: Ali Bratke aimed at Edward Teach with Carbine Rifle. -[info][2025/06/11 19:28:59]: Dr.Kimberly Smith aimed at Ali Bratke with Stun Gun. -[info][2025/06/11 19:29:00]: Ali Bratke got hit by Dr.Kimberly Smith with Stun Gun causing 0 damage. -[info][2025/06/11 19:29:08]: Ali Bratke aimed at Dr.Kimberly Smith with Carbine Rifle. -[info][2025/06/11 19:29:09]: Dr.Kimberly Smith aimed at Ali Bratke with Combat Shotgun. -[info][2025/06/11 19:29:10]: Ali Bratke aimed at Dr.Kimberly Smith with Carbine Rifle. -[info][2025/06/11 19:29:11]: Dr.Kimberly Smith aimed at Ali Bratke with Combat Shotgun. -[info][2025/06/11 19:29:13]: Marc Santoro aimed at Dr.Kimberly Smith with Assault Rifle. -[info][2025/06/11 19:29:34]: Ali Bratke aimed at Edward Teach with Carbine Rifle. -[info][2025/06/11 19:30:13]: Marc Santoro aimed at Dr.Kimberly Smith with Assault Rifle. -[info][2025/06/11 19:30:15]: Marc Santoro aimed at Lucifer Morningstar with Assault Rifle. -[info][2025/06/11 19:31:37]: Marc Santoro aimed at Victoria Ann with Assault Rifle. -[info][2025/06/11 19:32:08]: Marc Santoro aimed at Ali Bratke with Assault Rifle. -[info][2025/06/11 19:32:09]: Marc Santoro aimed at Turtle Kaya with Assault Rifle. -[info][2025/06/11 19:32:11]: Marc Santoro aimed at Tomasz Adamczyk with Assault Rifle. -[info][2025/06/11 19:32:13]: Marc Santoro aimed at Steven Steppenwolf with Assault Rifle. -[info][2025/06/11 19:32:15]: Marc Santoro aimed at Connor Garrison with Assault Rifle. -[info][2025/06/11 19:34:51]: Marc Santoro aimed at Leon Meier with Assault Rifle. -[info][2025/06/11 19:34:58]: Marc Santoro aimed at Leon Meier with Assault Rifle. -[info][2025/06/11 19:35:04]: Marc Santoro aimed at Steven Steppenwolf with Assault Rifle. -[info][2025/06/11 19:35:37]: Ali Bratke aimed at Tomasz Adamczyk with Carbine Rifle. -[info][2025/06/11 19:35:39]: Ali Bratke aimed at Shadow Wuff with Carbine Rifle. -[info][2025/06/11 19:47:48]: Ali Bratke aimed at Steven Steppenwolf with Carbine Rifle. -[info][2025/06/11 19:53:37]: Edward Teach got hit by Turtle Kaya with Fist causing 0 damage. -[info][2025/06/11 19:53:38]: Edward Teach got hit by Turtle Kaya with Fist causing 27 damage. -[info][2025/06/11 19:53:47]: Edward Teach got hit by Turtle Kaya with Fist causing 21 damage. -[info][2025/06/11 19:53:49]: Edward Teach got hit by Turtle Kaya with Fist causing 21 damage. -[info][2025/06/11 19:53:50]: Edward Teach got hit by Turtle Kaya with Fist causing 21 damage. -[info][2025/06/11 19:53:50]: Edward Teach got killed by Turtle Kaya with Fist causing 21 damage. -[info][2025/06/11 19:53:51]: Edward Teach got hit by Turtle Kaya with Fist causing 0 damage. -[info][2025/06/11 19:54:10]: Turtle Kaya got hit by Chester Sinister with Fist causing 21 damage. -[info][2025/06/11 19:57:14]: Leon Meier got hit by Chester Sinister with Fist causing 21 damage. -[info][2025/06/11 19:57:20]: Chester Sinister got hit by Leon Meier with Fist causing 21 damage. -[info][2025/06/11 19:57:21]: Leon Meier got hit by Chester Sinister with Fist causing 0 damage. -[info][2025/06/11 19:57:25]: Leon Meier got hit by Chester Sinister with Fist causing 21 damage. -[info][2025/06/11 19:57:27]: Chester Sinister got hit by Leon Meier with Fist causing 27 damage. -[info][2025/06/11 19:58:06]: Edward Teach got hit by Turtle Kaya with Fist causing 21 damage. -[info][2025/06/11 19:58:10]: Leon Meier got hit by Chester Sinister with Fist causing 21 damage. -[info][2025/06/11 20:00:16]: Edward Teach got hit by Turtle Kaya with Fist causing 21 damage. -[info][2025/06/11 20:00:17]: Edward Teach got hit by Turtle Kaya with Fist causing 21 damage. -[info][2025/06/11 20:00:19]: Edward Teach got hit by Turtle Kaya with Fist causing 21 damage. -[info][2025/06/11 20:00:19]: Edward Teach got hit by Turtle Kaya with Fist causing 21 damage. -[info][2025/06/11 20:00:20]: Edward Teach got killed by Turtle Kaya with Fist causing 21 damage. -[info][2025/06/11 20:00:21]: Edward Teach got hit by Turtle Kaya with Fist causing 0 damage. -[info][2025/06/11 20:01:49]: Dr.Kimberly Smith got hit by Marc Santoro with Fist causing 0 damage. -[info][2025/06/11 20:03:23]: Chester Sinister got hit by Marc Santoro with Fist causing 27 damage. -[info][2025/06/11 20:03:35]: Marc Santoro aimed at Chester Sinister with Assault Rifle. -[info][2025/06/11 20:03:36]: Chester Sinister got killed by Marc Santoro with Assault Rifle causing 454 damage. -[info][2025/06/11 20:13:02]: Edward Teach got hit by Turtle Kaya with Fist causing 21 damage. -[info][2025/06/11 20:13:04]: Lucifer Morningstar got hit by Edward Teach with Fist causing 21 damage. -[info][2025/06/11 20:13:07]: Edward Teach got hit by Turtle Kaya with Fist causing 21 damage. -[info][2025/06/11 20:13:08]: Edward Teach got hit by Turtle Kaya with Fist causing 21 damage. -[info][2025/06/11 20:13:09]: Edward Teach got hit by Turtle Kaya with Fist causing 21 damage. -[info][2025/06/11 20:13:11]: Turtle Kaya got killed by Shadow Wuff with Animal causing 0 damage. -[info][2025/06/11 20:14:07]: Edward Teach got killed by Turtle Kaya with Fist causing 21 damage. -[info][2025/06/11 20:14:10]: Turtle Kaya got hit by Shadow Wuff with Animal causing 20 damage. -[info][2025/06/11 20:14:37]: Edward Teach got hit by Turtle Kaya with Fist causing 21 damage. -[info][2025/06/11 20:14:39]: Turtle Kaya got hit by Shadow Wuff with Animal causing 20 damage. -[info][2025/06/11 20:14:42]: Marc Santoro aimed at Turtle Kaya with Assault Rifle. -[info][2025/06/11 20:19:30]: Ali Bratke got hit by Leon Meier with Fist causing 27 damage. -[info][2025/06/11 20:19:32]: Ali Bratke got hit by Leon Meier with Fist causing 27 damage. -[info][2025/06/11 20:19:33]: Ali Bratke got hit by Leon Meier with Fist causing 27 damage. -[info][2025/06/11 20:19:35]: Ali Bratke got hit by Leon Meier with Fist causing 27 damage. -[info][2025/06/11 20:19:37]: Ali Bratke got hit by Leon Meier with Fist causing 27 damage. -[info][2025/06/11 20:19:38]: Ali Bratke got killed by Leon Meier with Fist causing 27 damage. -[info][2025/06/11 20:19:39]: Ali Bratke got killed by Leon Meier with Fist causing 27 damage. -[info][2025/06/11 20:19:40]: Ali Bratke got killed by Leon Meier with Fist causing 27 damage. -[info][2025/06/11 20:19:41]: Ali Bratke got killed by Leon Meier with Fist causing 27 damage. -[info][2025/06/11 20:22:30]: Turtle Kaya got hit by Edward Teach with Fist causing 20 damage. -[info][2025/06/11 20:22:31]: Edward Teach got hit by Turtle Kaya with Fist causing 21 damage. -[info][2025/06/11 20:22:31]: Turtle Kaya got hit by Edward Teach with Fist causing 20 damage. -[info][2025/06/11 20:22:31]: Edward Teach got hit by Turtle Kaya with Fist causing 21 damage. -[info][2025/06/11 20:22:32]: Turtle Kaya got hit by Edward Teach with Fist causing 20 damage. -[info][2025/06/11 20:22:32]: Edward Teach got hit by Turtle Kaya with Fist causing 21 damage. -[info][2025/06/11 20:22:33]: Turtle Kaya got hit by Edward Teach with Fist causing 20 damage. -[info][2025/06/11 20:22:34]: Turtle Kaya got hit by Edward Teach with Fist causing 0 damage. -[info][2025/06/11 20:22:34]: Marc Santoro aimed at Edward Teach with Assault Rifle. -[info][2025/06/11 20:22:35]: Turtle Kaya got killed by Edward Teach with Fist causing 20 damage. -[info][2025/06/11 20:22:35]: Ben Decker got hit by Marc Santoro with Assault Rifle causing 23 damage. -[info][2025/06/11 20:22:35]: Edward Teach got killed by Marc Santoro with Assault Rifle causing 454 damage. -[info][2025/06/11 20:22:36]: Marc Santoro aimed at Turtle Kaya with Assault Rifle. -[info][2025/06/11 20:22:38]: Turtle Kaya got killed by Marc Santoro with Assault Rifle causing 442 damage. -[info][2025/06/11 20:22:38]: Marc Santoro aimed at Turtle Kaya with Assault Rifle. -[info][2025/06/11 20:45:25]: Chester Sinister got hit by Leon Meier with Fist causing 21 damage. -[info][2025/06/11 20:45:27]: Leon Meier got hit by Chester Sinister with Fist causing 21 damage. -[info][2025/06/11 20:52:55]: Steven Steppenwolf got hit by Edward Teach with Fist causing 25 damage. -[info][2025/06/11 21:05:16]: Ben Decker got hit by Dr.Kimberly Smith with Fist causing 20 damage. -[info][2025/06/11 21:05:20]: Ben Decker got hit by Dr.Kimberly Smith with Fist causing 20 damage. -[info][2025/06/11 21:06:16]: Tomasz Adamczyk got hit by Steven Steppenwolf with Fist causing 20 damage. -[info][2025/06/11 21:06:54]: Chester Sinister got hit by Leon Meier with Pistol causing 8 damage. -[info][2025/06/11 21:06:54]: Chester Sinister got hit by Leon Meier with Pistol causing 8 damage. -[info][2025/06/11 21:07:27]: Chester Sinister got hit by Leon Meier with Pistol causing 8 damage. -[info][2025/06/11 21:08:14]: David Munkli got hit by Turtle Kaya with Fist causing 0 damage. -[info][2025/06/11 21:11:51]: Eylül Kaya got hit by Turtle Kaya with Fist causing 20 damage. -[info][2025/06/11 21:36:28]: Eylül Kaya got hit by David Munkli with Fist causing 20 damage. -[info][2025/06/11 21:36:31]: David Munkli got hit by Eylül Kaya with Fist causing 21 damage. -[info][2025/06/11 21:37:15]: Turtle Kaya got hit by Eylül Kaya with Fist causing 21 damage. -[info][2025/06/11 21:37:37]: Dr.Kimberly Smith got hit by Ben Decker with Fist causing 0 damage. -[info][2025/06/11 21:45:21]: Turtle Kaya aimed at Marc Santoro with null. -[info][2025/06/11 21:45:33]: Marc Santoro got killed by Turtle Kaya with undefined causing 732 damage. -[info][2025/06/11 21:58:11]: Turtle Kaya got hit by Eylül Kaya with Fist causing 21 damage. -[info][2025/06/11 21:58:13]: Eylül Kaya got hit by Turtle Kaya with Fist causing 21 damage. -[info][2025/06/11 21:58:14]: David Munkli got hit by Eylül Kaya with Fist causing 21 damage. -[info][2025/06/11 21:58:28]: Eylül Kaya got hit by David Munkli with Fist causing 20 damage. -[info][2025/06/11 21:58:29]: Eylül Kaya got hit by David Munkli with Fist causing 20 damage. -[info][2025/06/11 21:58:30]: Eylül Kaya got hit by David Munkli with Fist causing 20 damage. -[info][2025/06/11 21:58:32]: Eylül Kaya got killed by David Munkli with Fist causing 25 damage. -[info][2025/06/11 21:58:35]: David Munkli got hit by Turtle Kaya with Fist causing 21 damage. -[info][2025/06/11 21:58:36]: David Munkli got hit by Turtle Kaya with Fist causing 21 damage. -[info][2025/06/11 21:58:36]: David Munkli got hit by Turtle Kaya with Fist causing 21 damage. -[info][2025/06/11 21:58:37]: David Munkli got hit by Turtle Kaya with Fist causing 0 damage. -[info][2025/06/11 21:58:38]: David Munkli got killed by Turtle Kaya with Fist causing 21 damage. -[info][2025/06/11 22:09:15]: Eylül Kaya got hit by Turtle Kaya with Fist causing 27 damage. -[info][2025/06/11 22:28:49]: Mark Petrol aimed at Torben Schmitz with Special Carbine. -[info][2025/06/11 22:28:55]: Mark Petrol aimed at Dr.Demon Campers with Special Carbine. -[info][2025/06/11 22:55:04]: Marc Santoro got hit by Turtle Kaya with Fist causing 20 damage. -[info][2025/06/11 22:55:09]: Marc Santoro got hit by Turtle Kaya with Fist causing 20 damage. -[info][2025/06/11 22:55:10]: Marc Santoro got hit by Turtle Kaya with Fist causing 20 damage. -[info][2025/06/11 22:55:11]: Marc Santoro got hit by Turtle Kaya with Fist causing 20 damage. -[info][2025/06/11 23:16:24]: Edward Teach got hit by Steven Steppenwolf with Fist causing 20 damage. -[info][2025/06/11 23:16:30]: Steven Steppenwolf got hit by Edward Teach with Fist causing 20 damage. -[info][2025/06/11 23:38:31]: Marc Santoro aimed at Dr.Kimberly Smith with Assault Rifle. -[info][2025/06/12 00:01:35]: Steven Steppenwolf got hit by Dr.Demon Campers with Fist causing 21 damage. -[info][2025/06/12 00:11:15]: Dr.Demon Campers aimed at Victoria Ann with Special Carbine. -[info][2025/06/12 00:11:16]: Dr.Demon Campers aimed at Scarlett Shelby with Special Carbine. -[info][2025/06/12 00:11:18]: Marc Santoro aimed at Dr.Demon Campers with Assault Rifle. -[info][2025/06/12 00:11:36]: Marc Santoro aimed at Victoria Ann with Assault Rifle. -[info][2025/06/12 00:15:02]: Dr.Demon Campers aimed at Mark Petrol with SNS Pistol Mk II. -[info][2025/06/12 00:15:03]: Mark Petrol got hit by Dr.Demon Campers with SNS Pistol MK2 causing 29 damage. -[info][2025/06/12 00:15:06]: Dr.Kimberly Smith aimed at Dr.Demon Campers with AP Pistol. -[info][2025/06/12 00:15:08]: Dr.Kimberly Smith aimed at Steven Steppenwolf with AP Pistol. -[info][2025/06/12 00:15:09]: Dr.Demon Campers got hit by Dr.Kimberly Smith with AP Pistol causing 24 damage. -[info][2025/06/12 00:15:09]: Dr.Demon Campers got hit by Dr.Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/06/12 00:15:09]: Dr.Demon Campers got hit by Dr.Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/06/12 00:15:09]: Dr.Demon Campers got hit by Dr.Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/06/12 00:15:10]: Dr.Demon Campers got hit by Dr.Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/06/12 00:15:10]: Dr.Demon Campers got hit by Dr.Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/06/12 00:15:10]: Dr.Kimberly Smith aimed at Dr.Demon Campers with AP Pistol. -[info][2025/06/12 00:15:10]: Dr.Demon Campers got hit by Dr.Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/06/12 00:15:10]: Dr.Demon Campers got hit by Dr.Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/06/12 00:15:10]: Dr.Demon Campers got hit by Dr.Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/06/12 00:15:12]: Dr.Demon Campers got hit by Dr.Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/06/12 00:15:13]: Dr.Demon Campers got hit by Dr.Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/06/12 00:15:13]: Dr.Demon Campers aimed at Mark Petrol with SNS Pistol Mk II. -[info][2025/06/12 00:15:15]: Dr.Kimberly Smith aimed at Dr.Demon Campers with AP Pistol. -[info][2025/06/12 00:15:22]: Victoria Ann aimed at Dr.Kimberly Smith with Special Carbine. -[info][2025/06/12 00:15:23]: Dr.Kimberly Smith got killed by Victoria Ann with Special Carbine causing 399 damage. -[info][2025/06/12 00:15:34]: Dr.Demon Campers aimed at Dr.Kimberly Smith with SNS Pistol Mk II. -[info][2025/06/12 00:15:36]: Dr.Kimberly Smith got hit by Dr.Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/06/12 00:15:42]: Dr.Kimberly Smith aimed at Victoria Ann with Carbine Rifle. -[info][2025/06/12 00:15:43]: Victoria Ann got hit by Dr.Kimberly Smith with Carbine Rifle causing 31 damage. -[info][2025/06/12 00:15:43]: Victoria Ann got hit by Dr.Kimberly Smith with Carbine Rifle causing 18 damage. -[info][2025/06/12 00:15:43]: Victoria Ann got hit by Dr.Kimberly Smith with Carbine Rifle causing 15 damage. -[info][2025/06/12 00:15:44]: Victoria Ann got hit by Dr.Kimberly Smith with Carbine Rifle causing 18 damage. -[info][2025/06/12 00:15:44]: Victoria Ann got killed by Dr.Kimberly Smith with Carbine Rifle causing 252 damage. -[info][2025/06/12 00:15:44]: Dr.Kimberly Smith got hit by Dr.Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/06/12 00:15:45]: Dr.Kimberly Smith got hit by Dr.Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/06/12 00:15:45]: Dr.Demon Campers aimed at Dr.Kimberly Smith with SNS Pistol Mk II. -[info][2025/06/12 00:15:49]: Dr.Kimberly Smith got hit by Dr.Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/06/12 00:15:55]: Dr.Kimberly Smith aimed at Marc Santoro with Carbine Rifle. -[info][2025/06/12 00:15:55]: Dr.Demon Campers aimed at Dr.Kimberly Smith with SNS Pistol Mk II. -[info][2025/06/12 00:15:56]: Dr.Kimberly Smith got hit by Dr.Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/06/12 00:15:58]: Dr.Kimberly Smith aimed at Victoria Ann with Carbine Rifle. -[info][2025/06/12 00:16:01]: Dr.Demon Campers aimed at Scarlett Shelby with SNS Pistol Mk II. -[info][2025/06/12 00:33:00]: Marc Santoro got hit by Dr.Demon Campers with Fist causing 20 damage. -[info][2025/06/12 00:54:28]: Dr.Demon Campers got hit by Mark Petrol with Fist causing 21 damage. -[info][2025/06/12 00:54:32]: Victoria Ann got hit by Steven Steppenwolf with Fist causing 0 damage. -[info][2025/06/12 00:54:33]: Mark Petrol got hit by Dr.Demon Campers with Fist causing 20 damage. -[info][2025/06/12 00:54:34]: Mark Petrol got hit by Dr.Demon Campers with Fist causing 25 damage. -[info][2025/06/12 00:54:35]: Dr.Demon Campers got hit by Mark Petrol with Fist causing 27 damage. -[info][2025/06/12 00:54:36]: Mark Petrol got hit by Dr.Demon Campers with Fist causing 20 damage. -[info][2025/06/12 00:54:36]: Steven Steppenwolf got hit by Mark Petrol with Fist causing 0 damage. -[info][2025/06/12 00:54:37]: Mark Petrol got hit by Dr.Demon Campers with Fist causing 0 damage. -[info][2025/06/12 00:54:38]: Mark Petrol got hit by Dr.Demon Campers with Fist causing 20 damage. -[info][2025/06/12 00:54:38]: Steven Steppenwolf got hit by Mark Petrol with Fist causing 21 damage. -[info][2025/06/12 00:54:39]: Dr.Demon Campers got hit by Mark Petrol with Fist causing 0 damage. -[info][2025/06/12 00:54:40]: Dr.Demon Campers got hit by Mark Petrol with Fist causing 21 damage. -[info][2025/06/12 00:54:41]: Dr.Demon Campers got hit by Mark Petrol with Fist causing 27 damage. -[info][2025/06/12 00:54:43]: Mark Petrol got killed by Dr.Demon Campers with Fist causing 20 damage. -[info][2025/06/12 00:54:44]: Mark Petrol got hit by Dr.Demon Campers with Fist causing 0 damage. -[info][2025/06/12 00:54:44]: Victoria Ann aimed at Mark Petrol with Combat Shotgun. -[info][2025/06/12 00:54:45]: Dr.Demon Campers got killed by Victoria Ann with Combat Shotgun causing 3516 damage. -[info][2025/06/12 00:54:46]: Victoria Ann aimed at Mark Petrol with Combat Shotgun. -[info][2025/06/12 00:54:48]: Victoria Ann aimed at Steven Steppenwolf with Combat Shotgun. -[info][2025/06/12 00:55:06]: Dr.Demon Campers aimed at Victoria Ann with Special Carbine. -[info][2025/06/12 00:55:08]: Victoria Ann got killed by Dr.Demon Campers with Special Carbine causing 302 damage. -[info][2025/06/12 01:10:08]: Marc Santoro got killed by Lucifer Morningstar with Explosion causing 500 damage. -[info][2025/06/12 01:25:57]: Marc Santoro got hit by Scarlett Shelby with Fist causing 21 damage. -[info][2025/06/12 01:26:07]: Scarlett Shelby got hit by Marc Santoro with Fist causing 21 damage. -[info][2025/06/12 01:26:13]: Marc Santoro got hit by Scarlett Shelby with Fist causing 21 damage. -[info][2025/06/12 01:26:53]: Scarlett Shelby got hit by Marc Santoro with Fist causing 21 damage. -[info][2025/06/12 01:27:12]: Marc Santoro got hit by Scarlett Shelby with Fist causing 0 damage. -[info][2025/06/12 01:27:15]: Marc Santoro got hit by Scarlett Shelby with Fist causing 21 damage. -[info][2025/06/12 01:27:17]: Scarlett Shelby got hit by Marc Santoro with Fist causing 21 damage. -[info][2025/06/12 01:27:18]: Scarlett Shelby got hit by Marc Santoro with Fist causing 21 damage. -[info][2025/06/12 01:27:19]: Scarlett Shelby got hit by Marc Santoro with Fist causing 0 damage. -[info][2025/06/12 01:27:20]: Scarlett Shelby got killed by Marc Santoro with Fist causing 21 damage. -[info][2025/06/12 01:27:39]: Marc Santoro aimed at Scarlett Shelby with Assault Rifle. -[info][2025/06/12 01:27:41]: Marc Santoro got hit by Scarlett Shelby with Fist causing 21 damage. -[info][2025/06/12 01:27:43]: Marc Santoro aimed at Scarlett Shelby with Assault Rifle. -[info][2025/06/12 01:28:11]: Marc Santoro got hit by Scarlett Shelby with Fist causing 21 damage. -[info][2025/06/12 01:28:12]: Marc Santoro aimed at Scarlett Shelby with Assault Rifle. -[info][2025/06/12 01:28:13]: Scarlett Shelby got killed by Marc Santoro with Assault Rifle causing 454 damage. -[info][2025/06/12 01:28:13]: Marc Santoro got hit by Scarlett Shelby with Fist causing 21 damage. -[info][2025/06/12 01:35:30]: Scarlett Shelby got hit by Marc Santoro with Fist causing 21 damage. -[info][2025/06/12 01:36:04]: Scarlett Shelby got hit by Marc Santoro with Fist causing 21 damage. -[info][2025/06/12 01:36:13]: Scarlett Shelby got hit by Marc Santoro with Fist causing 21 damage. -[info][2025/06/12 01:36:33]: Marc Santoro got hit by Scarlett Shelby with Fist causing 21 damage. -[info][2025/06/12 01:40:05]: Scarlett Shelby got killed by Marc Santoro with Assault Rifle causing 454 damage. -[info][2025/06/12 01:40:05]: Marc Santoro aimed at Scarlett Shelby with Assault Rifle. -[info][2025/06/12 01:56:05]: Scarlett Shelby got hit by Marc Santoro with Fist causing 26 damage. -[info][2025/06/12 01:57:40]: Scarlett Shelby got hit by Marc Santoro with Fist causing 0 damage. -[info][2025/06/12 02:24:31]: Scarlett Shelby got killed by Marc Santoro with Explosion causing 9999 damage. -[info][2025/06/12 02:28:17]: Scarlett Shelby got hit by Marc Santoro with Fist causing 20 damage. -[info][2025/06/12 02:39:27]: Scarlett Shelby got hit by Marc Santoro with Fist causing 0 damage. -[info][2025/06/12 02:39:58]: Scarlett Shelby got hit by Marc Santoro with Fist causing 20 damage. -[info][2025/06/12 02:40:05]: Dr.Kimberly Smith aimed at Marc Santoro with Stun Gun. -[info][2025/06/12 02:40:05]: Marc Santoro got hit by Dr.Kimberly Smith with Stun Gun causing 1 damage. -[info][2025/06/12 02:40:12]: Dr.Kimberly Smith aimed at Marc Santoro with Stun Gun. -[info][2025/06/12 02:40:13]: Marc Santoro got hit by Dr.Kimberly Smith with Stun Gun causing 0 damage. -[info][2025/06/12 02:40:37]: Dr.Kimberly Smith aimed at Scarlett Shelby with Stun Gun. -[info][2025/06/12 02:40:39]: Dr.Kimberly Smith aimed at Marc Santoro with Stun Gun. -[info][2025/06/12 02:40:39]: Marc Santoro got hit by Dr.Kimberly Smith with Stun Gun causing 0 damage. -[info][2025/06/12 02:41:01]: Dr.Kimberly Smith aimed at Scarlett Shelby with Stun Gun. -[info][2025/06/12 02:41:04]: Dr.Kimberly Smith aimed at Marc Santoro with Stun Gun. -[info][2025/06/12 02:41:06]: Dr.Kimberly Smith got killed by Marc Santoro with Assault Rifle causing 454 damage. -[info][2025/06/12 02:49:35]: Marc Santoro got hit by Scarlett Shelby with Fist causing 20 damage. -[info][2025/06/12 02:49:57]: Marc Santoro got hit by Scarlett Shelby with Fist causing 20 damage. -[info][2025/06/12 02:50:06]: Scarlett Shelby got hit by Marc Santoro with Fist causing 20 damage. -[info][2025/06/12 02:50:10]: Scarlett Shelby got hit by Marc Santoro with Fist causing 20 damage. -[info][2025/06/12 02:50:11]: Marc Santoro got hit by Scarlett Shelby with Fist causing 20 damage. -[info][2025/06/12 02:50:14]: Marc Santoro got hit by Scarlett Shelby with Fist causing 26 damage. -[info][2025/06/12 02:50:18]: Marc Santoro got hit by Scarlett Shelby with Fist causing 20 damage. -[info][2025/06/12 02:50:21]: Marc Santoro got killed by Scarlett Shelby with Fist causing 20 damage. -[info][2025/06/12 02:50:30]: Scarlett Shelby got hit by Marc Santoro with Fist causing 20 damage. -[info][2025/06/12 02:50:31]: Scarlett Shelby got hit by Marc Santoro with Fist causing 25 damage. -[info][2025/06/12 02:50:33]: Scarlett Shelby got hit by Marc Santoro with Fist causing 25 damage. -[info][2025/06/12 02:50:36]: Scarlett Shelby got hit by Marc Santoro with Fist causing 20 damage. -[info][2025/06/12 02:50:39]: Scarlett Shelby got hit by Marc Santoro with Fist causing 20 damage. -[info][2025/06/12 02:50:43]: Scarlett Shelby got killed by Marc Santoro with Fist causing 20 damage. -[info][2025/06/12 02:52:04]: Marc Santoro aimed at Scarlett Shelby with Assault Rifle. -[info][2025/06/12 08:56:31]: Ben Decker got hit by Ben Decker with Fist causing 0 damage. -[info][2025/06/12 12:26:45]: Marc Santoro aimed at Scarlett Shelby with Assault Rifle. -[info][2025/06/12 12:26:46]: Scarlett Shelby got hit by Marc Santoro with Assault Rifle causing 57 damage. -[info][2025/06/12 12:49:16]: Victoria Ann got hit by Ben Decker with Fist causing 0 damage. -[info][2025/06/12 14:12:34]: Justin Diesel got hit by Marc Santoro with Fist causing 21 damage. -[info][2025/06/12 14:25:25]: Scarlett Shelby got hit by Marc Santoro with Fist causing 21 damage. -[info][2025/06/12 14:37:27]: Marc Santoro got hit by Scarlett Shelby with Fist causing 20 damage. -[info][2025/06/12 14:41:08]: Dr.Kimberly Smith aimed at Scarlett Shelby with Stun Gun. -[info][2025/06/12 14:41:10]: Dr.Kimberly Smith aimed at Marc Santoro with Stun Gun. -[info][2025/06/12 14:41:41]: Victoria Ann got hit by Ben Decker with Fist causing 20 damage. -[info][2025/06/12 14:55:00]: Lucifer Morningstar got hit by Scarlett Shelby with Fist causing 20 damage. -[info][2025/06/12 14:55:03]: Scarlett Shelby got hit by Lucifer Morningstar with Fist causing 21 damage. -[info][2025/06/12 14:55:06]: Lucifer Morningstar got hit by Scarlett Shelby with Fist causing 25 damage. -[info][2025/06/12 14:55:08]: Lucifer Morningstar got hit by Scarlett Shelby with Fist causing 25 damage. -[info][2025/06/12 14:55:11]: Scarlett Shelby got hit by Lucifer Morningstar with Fist causing 21 damage. -[info][2025/06/12 14:55:12]: Marc Santoro aimed at Scarlett Shelby with Assault Rifle. -[info][2025/06/12 14:55:13]: Lucifer Morningstar got hit by Scarlett Shelby with Fist causing 25 damage. -[info][2025/06/12 14:55:13]: Lucifer Morningstar got killed by Marc Santoro with Assault Rifle causing 454 damage. -[info][2025/06/12 14:55:15]: Marc Santoro aimed at Lucifer Morningstar with Assault Rifle. -[info][2025/06/12 14:55:15]: Lucifer Morningstar got killed by Scarlett Shelby with Fist causing 20 damage. -[info][2025/06/12 14:55:54]: Scarlett Shelby got hit by Marc Santoro with Fist causing 27 damage. -[info][2025/06/12 14:55:59]: Scarlett Shelby got killed by Marc Santoro with Fist causing 0 damage. -[info][2025/06/12 14:56:20]: Scarlett Shelby got killed by Marc Santoro with Fist causing 0 damage. -[info][2025/06/12 14:56:37]: Lucifer Morningstar got killed by Marc Santoro with Fist causing 0 damage. -[info][2025/06/12 14:56:44]: Marc Santoro got hit by Lucifer Morningstar with Fist causing 21 damage. -[info][2025/06/12 14:56:45]: Marc Santoro got hit by Lucifer Morningstar with Fist causing 0 damage. -[info][2025/06/12 14:56:46]: Marc Santoro got hit by Lucifer Morningstar with Fist causing 21 damage. -[info][2025/06/12 14:56:47]: Marc Santoro got hit by Lucifer Morningstar with Fist causing 21 damage. -[info][2025/06/12 14:56:48]: Marc Santoro got hit by Lucifer Morningstar with Fist causing 21 damage. -[info][2025/06/12 14:56:52]: Marc Santoro got killed by Lucifer Morningstar with Fist causing 26 damage. -[info][2025/06/12 14:58:32]: Marc Santoro aimed at Lucifer Morningstar with Assault Rifle. -[info][2025/06/12 14:58:32]: Lucifer Morningstar got killed by Marc Santoro with Assault Rifle causing 454 damage. -[info][2025/06/12 14:58:40]: Marc Santoro got hit by Lucifer Morningstar with Fist causing 0 damage. -[info][2025/06/12 14:58:45]: Marc Santoro aimed at Lucifer Morningstar with Assault Rifle. -[info][2025/06/12 14:58:47]: Marc Santoro aimed at Lucifer Morningstar with Assault Rifle. -[info][2025/06/12 14:58:49]: Marc Santoro aimed at Scarlett Shelby with Assault Rifle. -[info][2025/06/12 14:58:51]: Marc Santoro aimed at Lucifer Morningstar with Assault Rifle. -[info][2025/06/12 14:58:52]: Lucifer Morningstar got killed by Marc Santoro with Assault Rifle causing 395 damage. -[info][2025/06/12 15:02:11]: Scarlett Shelby got hit by Marc Santoro with Fist causing 21 damage. -[info][2025/06/12 15:02:16]: Marc Santoro got hit by Scarlett Shelby with Fist causing 20 damage. -[info][2025/06/12 15:02:18]: Marc Santoro got hit by Scarlett Shelby with Fist causing 0 damage. -[info][2025/06/12 15:27:37]: Mark Petrol got hit by Dr.Kimberly Smith with Fist causing 20 damage. -[info][2025/06/12 15:44:27]: Marc Santoro aimed at Scarlett Shelby with null. -[info][2025/06/12 15:44:34]: Scarlett Shelby got hit by Marc Santoro with undefined causing 0 damage. -[info][2025/06/12 15:44:36]: Scarlett Shelby got hit by Marc Santoro with undefined causing 0 damage. -[info][2025/06/12 15:44:36]: Marc Santoro aimed at Scarlett Shelby with null. -[info][2025/06/12 15:45:03]: Marc Santoro aimed at Scarlett Shelby with null. -[info][2025/06/12 15:45:03]: Scarlett Shelby got hit by Marc Santoro with undefined causing 0 damage. -[info][2025/06/12 15:48:42]: Scarlett Shelby got hit by Marc Santoro with undefined causing 0 damage. -[info][2025/06/12 15:48:43]: Marc Santoro aimed at Scarlett Shelby with null. -[info][2025/06/12 15:48:44]: Scarlett Shelby got hit by Marc Santoro with undefined causing 0 damage. -[info][2025/06/12 15:48:45]: Marc Santoro aimed at Scarlett Shelby with null. -[info][2025/06/12 21:05:11]: Victoria Ann got hit by Tom Keller with Fist causing 21 damage. -[info][2025/06/12 21:25:45]: Tomasz Adamczyk got killed by Tom Keller with Fist causing 0 damage. -[info][2025/06/12 21:47:57]: Tom Keller got hit by Dr.Kimberly Smith with Fist causing 20 damage. -[info][2025/06/12 22:20:53]: Tomasz Adamczyk got hit by Tom Keller with Fist causing 20 damage. -[info][2025/06/12 22:53:08]: Tomasz Adamczyk got hit by Real Falkard with Fist causing 21 damage. -[info][2025/06/12 22:54:21]: Tomasz Adamczyk got hit by Real Falkard with Fist causing 21 damage. -[info][2025/06/12 22:55:02]: Tomasz Adamczyk got hit by Real Falkard with Fist causing 21 damage. -[info][2025/06/12 22:55:23]: Tomasz Adamczyk got hit by Tom Keller with Fist causing 21 damage. -[info][2025/06/12 23:14:35]: Tomasz Adamczyk got hit by Victoria Ann with Fist causing 20 damage. -[info][2025/06/12 23:45:02]: Dr.Kimberly Smith got hit by Ali Bratke with Fist causing 21 damage. -[info][2025/06/13 00:01:39]: Tom Keller got hit by Victoria Ann with Fist causing 20 damage. -[info][2025/06/13 00:02:25]: Loona Santana got hit by Tom Keller with Fist causing 25 damage. -[info][2025/06/13 00:16:51]: Eylül Kaya got hit by Eylül Kaya with Fist causing 17 damage. -[info][2025/06/13 01:21:11]: Loona Santana got hit by Tom Keller with Fist causing 20 damage. -[info][2025/06/13 02:39:28]: Marc Santoro got hit by Mark Petrol with Fist causing 0 damage. -[info][2025/06/13 08:22:10]: Tom Keller got hit by Tom Keller with Fist causing 16 damage. -[info][2025/06/13 08:22:13]: Tom Keller got hit by Tom Keller with Fist causing 16 damage. -[info][2025/06/13 09:10:15]: Lucifer Morningstar got hit by Tom Keller with Fist causing 21 damage. -[info][2025/06/13 09:26:43]: Loona Santana got hit by Lucifer Morningstar with Fist causing 25 damage. -[info][2025/06/13 11:51:55]: Chester Sinister got hit by Chester Sinister with Fist causing 18 damage. -[info][2025/06/13 11:52:01]: Chester Sinister got hit by Chester Sinister with Fist causing 14 damage. -[info][2025/06/13 11:52:05]: Chester Sinister got hit by Chester Sinister with Fist causing 14 damage. -[info][2025/06/13 11:52:14]: Chester Sinister got hit by Chester Sinister with Fist causing 14 damage. -[info][2025/06/13 11:52:19]: Chester Sinister got hit by Chester Sinister with Fist causing 0 damage. -[info][2025/06/13 12:12:57]: Torben Schmitz got hit by Torben Schmitz with Fist causing 16 damage. -[info][2025/06/13 12:13:00]: Torben Schmitz got hit by Torben Schmitz with Fist causing 16 damage. -[info][2025/06/13 12:19:22]: Chester Sinister got hit by Chester Sinister with Fist causing 21 damage. -[info][2025/06/13 12:19:39]: Chester Sinister got hit by Chester Sinister with Fist causing 17 damage. -[info][2025/06/13 12:19:40]: Chester Sinister got hit by Chester Sinister with Fist causing 17 damage. -[info][2025/06/13 12:19:42]: Chester Sinister got hit by Chester Sinister with Fist causing 17 damage. -[info][2025/06/13 12:20:15]: Chester Sinister got hit by Chester Sinister with Fist causing 16 damage. -[info][2025/06/13 14:26:24]: Tequila RAWR got hit by Marc Santoro with Fist causing 26 damage. -[info][2025/06/13 14:36:01]: Mark Petrol got hit by Torben Schmitz with Fist causing 20 damage. -[info][2025/06/13 14:47:39]: Marc Santoro got hit by Scarlett Shelby with Fist causing 20 damage. -[info][2025/06/13 16:54:58]: Loona Santana got hit by Tom Keller with Fist causing 20 damage. -[info][2025/06/13 17:24:44]: Loona Santana got hit by Tom Keller with Fist causing 20 damage. -[info][2025/06/13 17:24:46]: Tom Keller got hit by Loona Santana with Fist causing 17 damage. -[info][2025/06/13 17:24:48]: Loona Santana got hit by Tom Keller with Fist causing 20 damage. -[info][2025/06/13 17:24:49]: Loona Santana got hit by Loona Santana with Fist causing 17 damage. -[info][2025/06/13 17:24:49]: Tom Keller got hit by Loona Santana with Fist causing 17 damage. -[info][2025/06/13 17:24:50]: Tom Keller got hit by Loona Santana with Fist causing 16 damage. -[info][2025/06/13 17:35:34]: Tom Keller got hit by Loona Santana with Fist causing 20 damage. -[info][2025/06/13 19:38:17]: Ben Decker got hit by Dr.Boris Von Dragomir with Fist causing 20 damage. -[info][2025/06/13 19:38:18]: Ben Decker got hit by Dr.Boris Von Dragomir with Fist causing 25 damage. -[info][2025/06/13 19:38:20]: Ben Decker got hit by Dr.Boris Von Dragomir with Fist causing 20 damage. -[info][2025/06/13 19:38:21]: Ben Decker got hit by Dr.Boris Von Dragomir with Fist causing 20 damage. -[info][2025/06/13 19:38:21]: Ben Decker got killed by Dr.Boris Von Dragomir with Fist causing 25 damage. -[info][2025/06/13 21:20:49]: Tom Keller got hit by Tom Keller with Fist causing 20 damage. -[info][2025/06/13 21:27:32]: Torben Schmitz got hit by Mark Petrol with Fist causing 25 damage. -[info][2025/06/13 21:30:22]: Mark Petrol got hit by Torben Schmitz with Fist causing 25 damage. -[info][2025/06/13 21:30:23]: Mark Petrol got hit by Torben Schmitz with Fist causing 25 damage. -[info][2025/06/13 21:30:26]: Mark Petrol got hit by Torben Schmitz with Fist causing 25 damage. -[info][2025/06/13 21:30:27]: Victoria Ann got hit by Torben Schmitz with Fist causing 20 damage. -[info][2025/06/13 21:30:31]: Mark Petrol got hit by Torben Schmitz with Fist causing 25 damage. -[info][2025/06/13 21:31:50]: Mark Petrol got killed by Torben Schmitz with Fist causing 25 damage. -[info][2025/06/13 21:31:51]: Mark Petrol got killed by Torben Schmitz with Fist causing 25 damage. -[info][2025/06/13 21:31:53]: Mark Petrol got killed by Torben Schmitz with Fist causing 25 damage. -[info][2025/06/13 21:31:54]: Mark Petrol got killed by Torben Schmitz with Fist causing 25 damage. -[info][2025/06/13 21:31:55]: Mark Petrol got killed by Torben Schmitz with Fist causing 25 damage. -[info][2025/06/13 22:04:22]: Victoria Ann got hit by Mark Petrol with Fist causing 0 damage. -[info][2025/06/13 22:04:25]: Victoria Ann got hit by Victoria Ann with Fist causing 14 damage. -[info][2025/06/13 23:05:27]: Dr.Demon Campers aimed at Torben Schmitz with null. -[info][2025/06/13 23:05:29]: Dr.Demon Campers aimed at Torben Schmitz with null. -[info][2025/06/13 23:05:36]: Dr.Demon Campers got hit by Torben Schmitz with Fist causing 21 damage. -[info][2025/06/13 23:06:07]: Marc Santoro aimed at Torben Schmitz with Assault Rifle. -[info][2025/06/13 23:14:21]: Mark Petrol got hit by Victoria Ann with Fist causing 21 damage. -[info][2025/06/13 23:14:23]: Victoria Ann got hit by Torben Schmitz with Fist causing 21 damage. -[info][2025/06/13 23:14:23]: Victoria Ann got hit by Torben Schmitz with Fist causing 0 damage. -[info][2025/06/13 23:14:25]: Victoria Ann got hit by Torben Schmitz with Fist causing 21 damage. -[info][2025/06/13 23:14:26]: Victoria Ann got killed by Torben Schmitz with Fist causing 21 damage. -[info][2025/06/13 23:14:27]: Victoria Ann got hit by Torben Schmitz with Fist causing 21 damage. -[info][2025/06/13 23:14:27]: Dr.Demon Campers got hit by Torben Schmitz with Fist causing 21 damage. -[info][2025/06/13 23:14:28]: Dr.Demon Campers got hit by Torben Schmitz with Fist causing 26 damage. -[info][2025/06/13 23:14:30]: Dr.Demon Campers got hit by Torben Schmitz with Fist causing 26 damage. -[info][2025/06/13 23:14:36]: Mark Petrol got hit by Torben Schmitz with Fist causing 21 damage. -[info][2025/06/13 23:14:38]: Mark Petrol got hit by Torben Schmitz with Fist causing 26 damage. -[info][2025/06/13 23:14:39]: Mark Petrol got hit by Torben Schmitz with Fist causing 0 damage. -[info][2025/06/13 23:14:40]: Mark Petrol got hit by Torben Schmitz with Fist causing 21 damage. -[info][2025/06/13 23:47:32]: Victoria Ann got killed by Mark Petrol with Explosion causing 500 damage. -[info][2025/06/14 01:23:59]: Dr.Demon Campers got hit by Dr.Demon Campers with Fist causing 20 damage. -[info][2025/06/14 01:24:00]: Dr.Demon Campers got hit by Dr.Demon Campers with Fist causing 0 damage. -[info][2025/06/14 01:24:07]: Victoria Ann got hit by Dr.Demon Campers with undefined causing 34 damage. -[info][2025/06/14 01:24:08]: Dr.Demon Campers aimed at Victoria Ann with null. -[info][2025/06/14 01:24:12]: Dr.Demon Campers got hit by Dr.Demon Campers with Animal causing 30 damage. -[info][2025/06/14 01:27:44]: Umbra Lion got killed by Umbra Lion with Animal causing 224 damage. -[info][2025/06/14 01:27:50]: Alex Scipo got hit by Tom Keller with Fist causing 19 damage. -[info][2025/06/14 01:34:05]: Dr.Demon Campers got hit by Dr.Demon Campers with Animal causing 30 damage. -[info][2025/06/14 01:34:33]: Alex Scipo got hit by Dr.Demon Campers with undefined causing 35 damage. -[info][2025/06/14 01:34:34]: Dr.Demon Campers aimed at Alex Scipo with null. -[info][2025/06/14 01:34:34]: Alex Scipo got hit by Dr.Demon Campers with undefined causing 35 damage. -[info][2025/06/14 01:34:34]: Alex Scipo got hit by Dr.Demon Campers with undefined causing 35 damage. -[info][2025/06/14 01:34:34]: Alex Scipo got hit by Dr.Demon Campers with undefined causing 35 damage. -[info][2025/06/14 01:34:57]: Dr.Demon Campers got hit by Tom Keller with Animal causing 37 damage. -[info][2025/06/14 01:35:16]: Dr.Demon Campers aimed at Alex Scipo with Heavy Revolver Mk II. -[info][2025/06/14 01:47:46]: Dr.Demon Campers aimed at Alex Scipo with Heavy Revolver Mk II. -[info][2025/06/14 01:47:46]: Alex Scipo got killed by Dr.Demon Campers with Heavy Revolver MK2 causing 3785 damage. -[info][2025/06/14 02:13:18]: Alex Scipo aimed at Dr.Demon Campers with SMG MK2. -[info][2025/06/14 02:13:26]: Alex Scipo aimed at Dr.Demon Campers with SMG MK2. -[info][2025/06/14 02:13:33]: Alex Scipo aimed at Dr.Demon Campers with SMG MK2. -[info][2025/06/14 02:13:47]: Alex Scipo aimed at Victoria Ann with Assault Rifle. -[info][2025/06/14 02:13:51]: Alex Scipo aimed at Victoria Ann with Assault Rifle. -[info][2025/06/14 02:13:53]: Alex Scipo aimed at Dr.Demon Campers with Assault Rifle. -[info][2025/06/14 02:14:11]: Alex Scipo aimed at Dr.Demon Campers with Assault Rifle. -[info][2025/06/14 02:14:19]: Alex Scipo aimed at Victoria Ann with Assault Rifle. -[info][2025/06/14 02:24:13]: Dr.Kimberly Smith aimed at Mark Petrol with null. -[info][2025/06/14 02:24:14]: Mark Petrol got hit by Dr.Kimberly Smith with undefined causing 0 damage. -[info][2025/06/14 02:24:15]: Mark Petrol got hit by Dr.Kimberly Smith with undefined causing 0 damage. -[info][2025/06/14 20:24:13]: Dr.Kimberly Smith got hit by Ben Decker with Fist causing 20 damage. -[info][2025/06/14 20:24:54]: Dr.Kimberly Smith got hit by Ben Decker with Fist causing 20 damage. -[info][2025/06/14 20:36:33]: Ben Decker got hit by Dr.Boris Von Dragomir with Fist causing 0 damage. -[info][2025/06/14 20:36:35]: Ben Decker got hit by Dr.Boris Von Dragomir with Fist causing 21 damage. -[info][2025/06/14 20:36:36]: Ben Decker got hit by Dr.Boris Von Dragomir with Fist causing 21 damage. -[info][2025/06/14 20:36:37]: Ben Decker got hit by Dr.Boris Von Dragomir with Fist causing 27 damage. -[info][2025/06/14 20:36:41]: Ben Decker got hit by Dr.Boris Von Dragomir with Fist causing 21 damage. -[info][2025/06/14 20:36:43]: Ben Decker got killed by Dr.Boris Von Dragomir with Fist causing 21 damage. -[info][2025/06/14 20:45:31]: Dr.Boris Von Dragomir got hit by Ben Decker with Fist causing 21 damage. -[info][2025/06/14 22:46:20]: Edward Teach got hit by Edward Teach with Fist causing 14 damage. -[info][2025/06/14 22:46:21]: Edward Teach got hit by Edward Teach with Fist causing 14 damage. -[info][2025/06/14 22:57:32]: Eylül Kaya got hit by Turtle Kaya with Fist causing 21 damage. -[info][2025/06/14 22:57:34]: Turtle Kaya got hit by Eylül Kaya with Fist causing 20 damage. -[info][2025/06/14 22:58:42]: Turtle Kaya got hit by David Munkli with Fist causing 21 damage. -[info][2025/06/14 22:58:50]: David Munkli got hit by Turtle Kaya with Fist causing 21 damage. -[info][2025/06/14 22:58:55]: David Munkli got hit by Turtle Kaya with Fist causing 0 damage. -[info][2025/06/14 22:59:24]: Eylül Kaya got hit by Turtle Kaya with Fist causing 0 damage. -[info][2025/06/14 23:00:32]: Turtle Kaya got hit by David Munkli with Fist causing 21 damage. -[info][2025/06/14 23:01:57]: David Munkli got hit by Turtle Kaya with Fist causing 21 damage. -[info][2025/06/14 23:01:59]: David Munkli got hit by Turtle Kaya with Fist causing 21 damage. -[info][2025/06/14 23:02:15]: Turtle Kaya got hit by David Munkli with Fist causing 21 damage. -[info][2025/06/14 23:02:19]: David Munkli got hit by Turtle Kaya with Fist causing 21 damage. -[info][2025/06/14 23:02:23]: David Munkli got hit by Turtle Kaya with Fist causing 21 damage. -[info][2025/06/14 23:02:23]: David Munkli got killed by Turtle Kaya with Fist causing 21 damage. -[info][2025/06/14 23:02:27]: Eylül Kaya aimed at Turtle Kaya with Pistol Mk II. -[info][2025/06/14 23:02:28]: Turtle Kaya got hit by Eylül Kaya with Pistol MK2 causing 31 damage. -[info][2025/06/14 23:02:29]: Turtle Kaya got killed by Eylül Kaya with Pistol MK2 causing 18 damage. -[info][2025/06/14 23:05:30]: Turtle Kaya aimed at David Munkli with Pistol Mk II. -[info][2025/06/14 23:05:46]: Turtle Kaya aimed at David Munkli with Pistol Mk II. -[info][2025/06/14 23:06:13]: Turtle Kaya aimed at David Munkli with Pistol Mk II. -[info][2025/06/14 23:06:16]: Turtle Kaya got hit by David Munkli with Fist causing 21 damage. -[info][2025/06/14 23:06:19]: Turtle Kaya aimed at David Munkli with Pistol Mk II. -[info][2025/06/14 23:07:06]: Turtle Kaya aimed at David Munkli with Pistol Mk II. -[info][2025/06/14 23:08:25]: Turtle Kaya aimed at David Munkli with Pistol Mk II. -[info][2025/06/14 23:08:29]: Turtle Kaya aimed at Eylül Kaya with Pistol Mk II. -[info][2025/06/14 23:08:51]: Turtle Kaya aimed at David Munkli with Pistol Mk II. -[info][2025/06/14 23:08:58]: Turtle Kaya got hit by David Munkli with Fist causing 21 damage. -[info][2025/06/14 23:08:59]: Turtle Kaya got hit by David Munkli with Fist causing 27 damage. -[info][2025/06/14 23:09:00]: David Munkli got hit by Turtle Kaya with Pistol MK2 causing 13 damage. -[info][2025/06/14 23:09:01]: David Munkli got hit by Turtle Kaya with Pistol MK2 causing 13 damage. -[info][2025/06/14 23:09:02]: David Munkli got hit by Turtle Kaya with Pistol MK2 causing 13 damage. -[info][2025/06/14 23:09:02]: David Munkli got hit by Turtle Kaya with Pistol MK2 causing 13 damage. -[info][2025/06/14 23:09:03]: David Munkli got hit by Turtle Kaya with Pistol MK2 causing 13 damage. -[info][2025/06/14 23:09:04]: David Munkli got hit by Turtle Kaya with Pistol MK2 causing 13 damage. -[info][2025/06/14 23:09:05]: David Munkli got hit by Turtle Kaya with Pistol MK2 causing 13 damage. -[info][2025/06/14 23:09:06]: David Munkli got killed by Turtle Kaya with Pistol MK2 causing 13 damage. -[info][2025/06/14 23:09:11]: Turtle Kaya aimed at Eylül Kaya with Pistol Mk II. -[info][2025/06/14 23:09:24]: Turtle Kaya aimed at Eylül Kaya with Pistol Mk II. -[info][2025/06/14 23:09:25]: Eylül Kaya got killed by Turtle Kaya with Pistol MK2 causing 397 damage. -[info][2025/06/14 23:09:52]: Turtle Kaya aimed at Eylül Kaya with Pistol Mk II. -[info][2025/06/14 23:12:35]: Turtle Kaya aimed at Dr.Demon Campers with Pistol Mk II. -[info][2025/06/14 23:12:46]: Dr.Demon Campers aimed at Turtle Kaya with Heavy Revolver Mk II. -[info][2025/06/14 23:12:48]: Dr.Demon Campers got killed by Turtle Kaya with Pistol MK2 causing 378 damage. -[info][2025/06/14 23:13:08]: Dr.Demon Campers aimed at Turtle Kaya with Heavy Revolver Mk II. -[info][2025/06/14 23:13:09]: Dr.Demon Campers got killed by Turtle Kaya with Pistol MK2 causing 397 damage. -[info][2025/06/14 23:14:48]: Turtle Kaya aimed at David Munkli with Pistol Mk II. -[info][2025/06/14 23:14:50]: Turtle Kaya aimed at Dr.Demon Campers with Pistol Mk II. -[info][2025/06/14 23:14:53]: Turtle Kaya aimed at David Munkli with Pistol Mk II. -[info][2025/06/14 23:14:53]: Turtle Kaya got hit by David Munkli with Fist causing 21 damage. -[info][2025/06/14 23:14:53]: David Munkli got hit by Turtle Kaya with Pistol MK2 causing 13 damage. -[info][2025/06/14 23:14:54]: David Munkli got hit by Turtle Kaya with Pistol MK2 causing 13 damage. -[info][2025/06/14 23:14:55]: Turtle Kaya aimed at David Munkli with Pistol Mk II. -[info][2025/06/14 23:14:56]: Eylül Kaya got hit by David Munkli with Fist causing 21 damage. -[info][2025/06/14 23:14:57]: Eylül Kaya aimed at Turtle Kaya with SNS Pistol Mk II. -[info][2025/06/14 23:14:58]: Eylül Kaya got killed by Turtle Kaya with Pistol MK2 causing 393 damage. -[info][2025/06/14 23:15:02]: Turtle Kaya aimed at Eylül Kaya with Pistol Mk II. -[info][2025/06/14 23:15:06]: Turtle Kaya aimed at Eylül Kaya with Pistol Mk II. -[info][2025/06/14 23:15:10]: Turtle Kaya aimed at David Munkli with Pistol Mk II. -[info][2025/06/14 23:15:42]: Eylül Kaya aimed at Turtle Kaya with SNS Pistol Mk II. -[info][2025/06/14 23:15:51]: Eylül Kaya aimed at Turtle Kaya with SNS Pistol Mk II. -[info][2025/06/14 23:15:58]: Eylül Kaya aimed at Turtle Kaya with SNS Pistol Mk II. -[info][2025/06/14 23:16:02]: Eylül Kaya aimed at Turtle Kaya with SNS Pistol Mk II. -[info][2025/06/14 23:16:15]: Eylül Kaya aimed at Turtle Kaya with SNS Pistol Mk II. -[info][2025/06/14 23:16:19]: Turtle Kaya aimed at David Munkli with Pistol Mk II. -[info][2025/06/14 23:16:26]: Turtle Kaya aimed at David Munkli with Pistol Mk II. -[info][2025/06/14 23:16:28]: David Munkli got hit by Turtle Kaya with Pistol MK2 causing 18 damage. -[info][2025/06/14 23:16:29]: David Munkli got hit by Turtle Kaya with Pistol MK2 causing 18 damage. -[info][2025/06/14 23:16:31]: David Munkli got hit by Turtle Kaya with Pistol MK2 causing 18 damage. -[info][2025/06/14 23:16:32]: Turtle Kaya aimed at David Munkli with Pistol Mk II. -[info][2025/06/14 23:16:40]: Eylül Kaya aimed at Dr.Demon Campers with SNS Pistol Mk II. -[info][2025/06/14 23:16:52]: Eylül Kaya aimed at Dr.Demon Campers with SNS Pistol Mk II. -[info][2025/06/14 23:17:04]: Eylül Kaya aimed at Dr.Demon Campers with Carbine Rifle Mk II. -[info][2025/06/14 23:17:05]: Dr.Demon Campers got hit by Eylül Kaya with Carbine Rifle MK2 causing 33 damage. -[info][2025/06/14 23:17:09]: Eylül Kaya aimed at Dr.Demon Campers with Carbine Rifle Mk II. -[info][2025/06/14 23:17:25]: Eylül Kaya aimed at Turtle Kaya with Carbine Rifle Mk II. -[info][2025/06/14 23:22:01]: Eylül Kaya aimed at David Munkli with Carbine Rifle Mk II. -[info][2025/06/14 23:22:19]: Eylül Kaya aimed at David Munkli with Carbine Rifle Mk II. -[info][2025/06/14 23:22:20]: David Munkli got killed by Eylül Kaya with Carbine Rifle MK2 causing 562 damage. -[info][2025/06/14 23:22:29]: Turtle Kaya aimed at Eylül Kaya with Pistol Mk II. -[info][2025/06/14 23:22:35]: Eylül Kaya aimed at Turtle Kaya with Carbine Rifle Mk II. -[info][2025/06/14 23:24:46]: Turtle Kaya aimed at Eylül Kaya with Pistol Mk II. -[info][2025/06/14 23:24:51]: Turtle Kaya aimed at Mark Petrol with Pistol Mk II. -[info][2025/06/14 23:25:03]: Turtle Kaya got hit by David Munkli with Carbine Rifle MK2 causing 32 damage. -[info][2025/06/14 23:25:07]: David Munkli got hit by Turtle Kaya with Fist causing 21 damage. -[info][2025/06/14 23:25:09]: Turtle Kaya got hit by David Munkli with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:25:09]: Turtle Kaya got hit by David Munkli with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:25:09]: David Munkli aimed at Turtle Kaya with Carbine Rifle Mk II. -[info][2025/06/14 23:25:10]: Turtle Kaya got hit by David Munkli with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:25:12]: Turtle Kaya aimed at David Munkli with Pistol Mk II. -[info][2025/06/14 23:25:13]: Turtle Kaya got hit by David Munkli with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:25:14]: Turtle Kaya got hit by David Munkli with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:25:14]: David Munkli aimed at Turtle Kaya with Carbine Rifle Mk II. -[info][2025/06/14 23:25:16]: Turtle Kaya got hit by David Munkli with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:25:16]: Turtle Kaya got hit by David Munkli with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:25:16]: David Munkli aimed at Turtle Kaya with Carbine Rifle Mk II. -[info][2025/06/14 23:25:17]: Turtle Kaya got hit by David Munkli with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:25:17]: Turtle Kaya got hit by David Munkli with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:25:18]: Turtle Kaya got hit by David Munkli with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:25:18]: David Munkli aimed at Dr.Kimberly Smith with Carbine Rifle Mk II. -[info][2025/06/14 23:25:27]: Turtle Kaya aimed at David Munkli with Pistol Mk II. -[info][2025/06/14 23:25:27]: David Munkli got hit by Turtle Kaya with Pistol MK2 causing 18 damage. -[info][2025/06/14 23:25:29]: Turtle Kaya aimed at David Munkli with Pistol Mk II. -[info][2025/06/14 23:25:29]: David Munkli got hit by Turtle Kaya with Pistol MK2 causing 18 damage. -[info][2025/06/14 23:25:30]: David Munkli got hit by Turtle Kaya with Pistol MK2 causing 18 damage. -[info][2025/06/14 23:25:30]: David Munkli aimed at Turtle Kaya with Carbine Rifle Mk II. -[info][2025/06/14 23:25:31]: Turtle Kaya aimed at David Munkli with Pistol Mk II. -[info][2025/06/14 23:25:31]: Turtle Kaya got hit by David Munkli with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:25:33]: Turtle Kaya got hit by David Munkli with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:25:33]: Turtle Kaya got hit by David Munkli with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:25:33]: Turtle Kaya got hit by David Munkli with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:25:33]: Turtle Kaya got hit by David Munkli with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:25:33]: David Munkli aimed at Turtle Kaya with Carbine Rifle Mk II. -[info][2025/06/14 23:25:34]: Turtle Kaya got hit by David Munkli with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:25:34]: Turtle Kaya got hit by David Munkli with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:25:34]: Turtle Kaya got hit by David Munkli with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:25:34]: Turtle Kaya got hit by David Munkli with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:25:35]: Turtle Kaya got hit by David Munkli with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:25:35]: Turtle Kaya got hit by David Munkli with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:25:36]: Turtle Kaya got hit by David Munkli with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:25:36]: Turtle Kaya got hit by David Munkli with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:25:36]: David Munkli aimed at Turtle Kaya with Carbine Rifle Mk II. -[info][2025/06/14 23:25:36]: Turtle Kaya got hit by David Munkli with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:25:40]: David Munkli got killed by Turtle Kaya with Pistol MK2 causing 397 damage. -[info][2025/06/14 23:25:44]: Turtle Kaya aimed at Dr.Kimberly Smith with Pistol Mk II. -[info][2025/06/14 23:26:05]: Turtle Kaya aimed at Dr.Kimberly Smith with Pistol Mk II. -[info][2025/06/14 23:26:09]: Dr.Kimberly Smith aimed at Turtle Kaya with AP Pistol. -[info][2025/06/14 23:26:09]: Turtle Kaya got hit by Dr.Kimberly Smith with AP Pistol causing 24 damage. -[info][2025/06/14 23:26:09]: Turtle Kaya got hit by Dr.Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/06/14 23:26:09]: Turtle Kaya aimed at Dr.Kimberly Smith with Pistol Mk II. -[info][2025/06/14 23:26:09]: Turtle Kaya got hit by Dr.Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/06/14 23:26:09]: Dr.Kimberly Smith got killed by Turtle Kaya with Pistol MK2 causing 397 damage. -[info][2025/06/14 23:26:20]: Turtle Kaya aimed at Dr.Kimberly Smith with Pistol Mk II. -[info][2025/06/14 23:26:24]: Turtle Kaya aimed at Dr.Kimberly Smith with Pistol Mk II. -[info][2025/06/14 23:26:25]: Dr.Kimberly Smith aimed at Turtle Kaya with AP Pistol. -[info][2025/06/14 23:26:26]: Turtle Kaya got hit by Dr.Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/06/14 23:26:26]: Turtle Kaya got hit by Dr.Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/06/14 23:26:26]: Turtle Kaya got hit by Dr.Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/06/14 23:26:26]: Turtle Kaya got hit by Dr.Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/06/14 23:26:26]: Turtle Kaya got hit by Dr.Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/06/14 23:26:26]: Turtle Kaya got killed by Dr.Kimberly Smith with AP Pistol causing 132 damage. -[info][2025/06/14 23:26:26]: Turtle Kaya got killed by Dr.Kimberly Smith with AP Pistol causing 132 damage. -[info][2025/06/14 23:26:26]: Turtle Kaya got killed by Dr.Kimberly Smith with AP Pistol causing 0 damage. -[info][2025/06/14 23:26:42]: Turtle Kaya aimed at Dr.Kimberly Smith with Pistol Mk II. -[info][2025/06/14 23:26:42]: Dr.Kimberly Smith got killed by Turtle Kaya with Pistol MK2 causing 397 damage. -[info][2025/06/14 23:26:43]: Eylül Kaya got killed by Turtle Kaya with Pistol MK2 causing 313 damage. -[info][2025/06/14 23:26:44]: Turtle Kaya aimed at David Munkli with Pistol Mk II. -[info][2025/06/14 23:26:44]: David Munkli got killed by Turtle Kaya with Pistol MK2 causing 318 damage. -[info][2025/06/14 23:27:02]: Turtle Kaya aimed at Dr.Kimberly Smith with Pistol Mk II. -[info][2025/06/14 23:27:10]: Turtle Kaya aimed at David Munkli with Pistol Mk II. -[info][2025/06/14 23:27:15]: Turtle Kaya aimed at Dr.Kimberly Smith with Pistol Mk II. -[info][2025/06/14 23:27:24]: Turtle Kaya aimed at Dr.Kimberly Smith with Pistol Mk II. -[info][2025/06/14 23:27:26]: Turtle Kaya aimed at David Munkli with Pistol Mk II. -[info][2025/06/14 23:27:28]: Turtle Kaya aimed at Dr.Kimberly Smith with Pistol Mk II. -[info][2025/06/14 23:27:32]: Turtle Kaya aimed at Eylül Kaya with Pistol Mk II. -[info][2025/06/14 23:27:34]: Turtle Kaya aimed at Dr.Kimberly Smith with Pistol Mk II. -[info][2025/06/14 23:27:35]: David Munkli aimed at Dr.Kimberly Smith with Carbine Rifle Mk II. -[info][2025/06/14 23:27:35]: Turtle Kaya got hit by David Munkli with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:27:35]: Turtle Kaya got hit by David Munkli with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:27:35]: Turtle Kaya got hit by David Munkli with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:27:36]: Turtle Kaya got hit by David Munkli with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:27:37]: Turtle Kaya got hit by David Munkli with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:27:37]: Turtle Kaya got hit by David Munkli with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:27:38]: Turtle Kaya got hit by David Munkli with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:27:38]: Turtle Kaya got hit by David Munkli with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:27:38]: Turtle Kaya got hit by David Munkli with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:27:38]: Turtle Kaya got hit by David Munkli with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:27:38]: Turtle Kaya got hit by David Munkli with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:27:38]: David Munkli aimed at Turtle Kaya with Carbine Rifle Mk II. -[info][2025/06/14 23:27:38]: Turtle Kaya got hit by David Munkli with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:27:38]: Turtle Kaya got hit by David Munkli with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:27:39]: Turtle Kaya got hit by David Munkli with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:27:39]: Turtle Kaya got hit by David Munkli with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:27:39]: Turtle Kaya got hit by David Munkli with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:27:39]: Turtle Kaya got hit by David Munkli with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:27:39]: Turtle Kaya got hit by David Munkli with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:27:39]: Turtle Kaya got hit by David Munkli with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:27:39]: Turtle Kaya got hit by David Munkli with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:27:39]: Turtle Kaya got hit by David Munkli with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:27:42]: Turtle Kaya aimed at David Munkli with Pistol Mk II. -[info][2025/06/14 23:27:43]: Turtle Kaya got hit by David Munkli with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:27:44]: David Munkli aimed at Turtle Kaya with Carbine Rifle Mk II. -[info][2025/06/14 23:27:46]: Turtle Kaya aimed at David Munkli with Pistol Mk II. -[info][2025/06/14 23:27:47]: David Munkli got hit by Turtle Kaya with Pistol MK2 causing 15 damage. -[info][2025/06/14 23:27:48]: David Munkli got hit by Turtle Kaya with Pistol MK2 causing 18 damage. -[info][2025/06/14 23:27:50]: Turtle Kaya aimed at David Munkli with Pistol Mk II. -[info][2025/06/14 23:27:50]: David Munkli got hit by Turtle Kaya with Pistol MK2 causing 18 damage. -[info][2025/06/14 23:27:52]: Turtle Kaya aimed at David Munkli with Pistol Mk II. -[info][2025/06/14 23:28:49]: Turtle Kaya aimed at Eylül Kaya with Pistol Mk II. -[info][2025/06/14 23:28:53]: Turtle Kaya aimed at Eylül Kaya with Pistol Mk II. -[info][2025/06/14 23:28:54]: Turtle Kaya aimed at David Munkli with Pistol Mk II. -[info][2025/06/14 23:28:56]: Turtle Kaya aimed at Eylül Kaya with Pistol Mk II. -[info][2025/06/14 23:29:07]: Turtle Kaya aimed at Eylül Kaya with Pistol Mk II. -[info][2025/06/14 23:29:13]: Turtle Kaya aimed at Eylül Kaya with Pistol Mk II. -[info][2025/06/14 23:29:25]: Turtle Kaya aimed at Eylül Kaya with Pistol Mk II. -[info][2025/06/14 23:29:27]: Eylül Kaya got killed by Turtle Kaya with Pistol MK2 causing 371 damage. -[info][2025/06/14 23:30:56]: Turtle Kaya aimed at David Munkli with Pistol Mk II. -[info][2025/06/14 23:30:59]: Turtle Kaya aimed at David Munkli with Pistol Mk II. -[info][2025/06/14 23:31:29]: Turtle Kaya got hit by David Munkli with Fist causing 0 damage. -[info][2025/06/14 23:31:49]: Turtle Kaya got hit by David Munkli with Fist causing 0 damage. -[info][2025/06/14 23:32:31]: Turtle Kaya aimed at David Munkli with Carbine Rifle Mk II. -[info][2025/06/14 23:32:36]: Turtle Kaya aimed at Eylül Kaya with Carbine Rifle Mk II. -[info][2025/06/14 23:32:38]: Turtle Kaya aimed at David Munkli with Carbine Rifle Mk II. -[info][2025/06/14 23:34:19]: Turtle Kaya aimed at David Munkli with Carbine Rifle Mk II. -[info][2025/06/14 23:58:51]: Eylül Kaya got hit by Mark Petrol with Fist causing 20 damage. -[info][2025/06/14 23:59:35]: Turtle Kaya aimed at Eylül Kaya with Carbine Rifle Mk II. -[info][2025/06/14 23:59:40]: Turtle Kaya aimed at Dr.Kimberly Smith with Carbine Rifle Mk II. -[info][2025/06/15 00:00:47]: Turtle Kaya aimed at Mark Petrol with Carbine Rifle Mk II. -[info][2025/06/15 00:00:47]: Mark Petrol got hit by Turtle Kaya with Carbine Rifle MK2 causing 32 damage. -[info][2025/06/15 00:00:47]: Mark Petrol got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:00:47]: Mark Petrol got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:00:48]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:00:48]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:00:49]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:00:49]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:00:50]: Turtle Kaya aimed at Dr.Kimberly Smith with Carbine Rifle Mk II. -[info][2025/06/15 00:00:50]: Dr.Kimberly Smith got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:00:51]: Dr.Kimberly Smith got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:00:51]: Dr.Kimberly Smith got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:00:51]: Dr.Kimberly Smith got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:00:53]: Turtle Kaya aimed at Mark Petrol with Carbine Rifle Mk II. -[info][2025/06/15 00:00:55]: Turtle Kaya aimed at Dr.Kimberly Smith with Carbine Rifle Mk II. -[info][2025/06/15 00:00:56]: Dr.Kimberly Smith got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:00:58]: Dr.Kimberly Smith got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:00:58]: Dr.Kimberly Smith got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:00:58]: Dr.Kimberly Smith got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:01:00]: Dr.Kimberly Smith got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:01:00]: Dr.Kimberly Smith got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:01:02]: Dr.Kimberly Smith got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:01:06]: Turtle Kaya aimed at Mark Petrol with Carbine Rifle Mk II. -[info][2025/06/15 00:01:07]: Mark Petrol got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:01:07]: Dr.Kimberly Smith got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:01:08]: Turtle Kaya aimed at Dr.Kimberly Smith with Carbine Rifle Mk II. -[info][2025/06/15 00:01:41]: Turtle Kaya aimed at Dr.Kimberly Smith with Carbine Rifle Mk II. -[info][2025/06/15 00:01:45]: Turtle Kaya aimed at Eylül Kaya with Carbine Rifle Mk II. -[info][2025/06/15 00:01:47]: Dr.Kimberly Smith got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:01:47]: Turtle Kaya aimed at Dr.Kimberly Smith with Carbine Rifle Mk II. -[info][2025/06/15 00:01:48]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:01:51]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:01:51]: Turtle Kaya aimed at Eylül Kaya with Carbine Rifle Mk II. -[info][2025/06/15 00:01:53]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:01:54]: Dr.Kimberly Smith got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:01:56]: Dr.Kimberly Smith got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:01:58]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:01:58]: Turtle Kaya aimed at Eylül Kaya with Carbine Rifle Mk II. -[info][2025/06/15 00:01:59]: Dr.Kimberly Smith got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:02:00]: Turtle Kaya aimed at Eylül Kaya with Carbine Rifle Mk II. -[info][2025/06/15 00:02:02]: Turtle Kaya aimed at Dr.Kimberly Smith with Carbine Rifle Mk II. -[info][2025/06/15 00:02:02]: Dr.Kimberly Smith got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:02:04]: Turtle Kaya aimed at Eylül Kaya with Carbine Rifle Mk II. -[info][2025/06/15 00:02:05]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:02:08]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:02:08]: Turtle Kaya aimed at Eylül Kaya with Carbine Rifle Mk II. -[info][2025/06/15 00:02:08]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:02:09]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:02:09]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:02:12]: Turtle Kaya aimed at Eylül Kaya with Carbine Rifle Mk II. -[info][2025/06/15 00:02:12]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:02:12]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:02:17]: Turtle Kaya aimed at Eylül Kaya with Carbine Rifle Mk II. -[info][2025/06/15 00:02:17]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:02:18]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:02:18]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:02:18]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:02:18]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:02:19]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:02:19]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:02:20]: Turtle Kaya aimed at Eylül Kaya with Carbine Rifle Mk II. -[info][2025/06/15 00:02:20]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:02:21]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:02:21]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:02:21]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:02:45]: Dr.Kimberly Smith got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:02:45]: Turtle Kaya aimed at Dr.Kimberly Smith with Carbine Rifle Mk II. -[info][2025/06/15 00:02:47]: Dr.Kimberly Smith got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:02:54]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:02:54]: Turtle Kaya aimed at Eylül Kaya with Carbine Rifle Mk II. -[info][2025/06/15 00:02:54]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:03:15]: Turtle Kaya aimed at Eylül Kaya with Carbine Rifle Mk II. -[info][2025/06/15 00:03:21]: Turtle Kaya aimed at Dr.Kimberly Smith with Carbine Rifle Mk II. -[info][2025/06/15 00:03:21]: Dr.Kimberly Smith got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:03:27]: Turtle Kaya aimed at Dr.Kimberly Smith with Carbine Rifle Mk II. -[info][2025/06/15 00:03:29]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:03:29]: Turtle Kaya aimed at Eylül Kaya with Carbine Rifle Mk II. -[info][2025/06/15 00:03:29]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:03:30]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:03:32]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:03:36]: Turtle Kaya aimed at Dr.Kimberly Smith with Carbine Rifle Mk II. -[info][2025/06/15 00:03:36]: Dr.Kimberly Smith got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:03:41]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:03:41]: Turtle Kaya aimed at Eylül Kaya with Carbine Rifle Mk II. -[info][2025/06/15 00:03:42]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:03:43]: Turtle Kaya aimed at Dr.Kimberly Smith with Carbine Rifle Mk II. -[info][2025/06/15 00:03:43]: Dr.Kimberly Smith got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:03:45]: Turtle Kaya aimed at Dr.Kimberly Smith with Carbine Rifle Mk II. -[info][2025/06/15 00:03:47]: Turtle Kaya aimed at Eylül Kaya with Carbine Rifle Mk II. -[info][2025/06/15 00:03:48]: Dr.Kimberly Smith got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:03:49]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:03:49]: Turtle Kaya aimed at Eylül Kaya with Carbine Rifle Mk II. -[info][2025/06/15 00:03:51]: Dr.Kimberly Smith got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:03:51]: Turtle Kaya aimed at Dr.Kimberly Smith with Carbine Rifle Mk II. -[info][2025/06/15 00:03:52]: Dr.Kimberly Smith got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:03:52]: Dr.Kimberly Smith got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:03:52]: Dr.Kimberly Smith got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:03:53]: Dr.Kimberly Smith got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:03:53]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:03:53]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:03:53]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:06:37]: Turtle Kaya aimed at Eylül Kaya with Carbine Rifle Mk II. -[info][2025/06/15 00:06:39]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:06:40]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:06:40]: Turtle Kaya aimed at Eylül Kaya with Carbine Rifle Mk II. -[info][2025/06/15 00:06:42]: Turtle Kaya aimed at Eylül Kaya with Carbine Rifle Mk II. -[info][2025/06/15 00:06:42]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:06:42]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:06:42]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:06:44]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:06:44]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:06:46]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:06:46]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:06:46]: Turtle Kaya aimed at Eylül Kaya with Carbine Rifle Mk II. -[info][2025/06/15 00:06:48]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:06:48]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:06:49]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:06:49]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:06:50]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:06:52]: Turtle Kaya aimed at Eylül Kaya with Carbine Rifle Mk II. -[info][2025/06/15 00:06:53]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:06:54]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:06:57]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:07:01]: Turtle Kaya aimed at Eylül Kaya with Carbine Rifle Mk II. -[info][2025/06/15 00:07:01]: Eylül Kaya got hit by Turtle Kaya with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 01:10:10]: Eylül Kaya aimed at Dr.Demon Campers with null. -[info][2025/06/15 01:10:27]: Eylül Kaya aimed at Dr.Demon Campers with null. -[info][2025/06/15 01:10:28]: Dr.Demon Campers got hit by Eylül Kaya with undefined causing 1 damage. -[info][2025/06/15 01:10:43]: Eylül Kaya aimed at Dr.Demon Campers with null. -[info][2025/06/15 01:10:48]: Eylül Kaya aimed at Dr.Demon Campers with null. -[info][2025/06/15 01:10:50]: Dr.Demon Campers got hit by Eylül Kaya with undefined causing 1 damage. -[info][2025/06/15 01:10:56]: Eylül Kaya aimed at Dr.Demon Campers with null. -[info][2025/06/15 01:11:01]: Dr.Demon Campers got hit by Eylül Kaya with undefined causing 1 damage. -[info][2025/06/15 01:11:08]: Dr.Demon Campers aimed at Eylül Kaya with Heavy Revolver Mk II. -[info][2025/06/15 01:11:09]: Eylül Kaya got killed by Dr.Demon Campers with Heavy Revolver MK2 causing 192 damage. -[info][2025/06/15 01:11:44]: Eylül Kaya aimed at Dr.Demon Campers with null. -[info][2025/06/15 01:11:46]: Dr.Demon Campers got hit by Eylül Kaya with undefined causing 1 damage. -[info][2025/06/15 01:11:54]: Eylül Kaya aimed at Dr.Demon Campers with null. -[info][2025/06/15 01:11:58]: Eylül Kaya aimed at Dr.Demon Campers with null. -[info][2025/06/15 01:12:00]: Dr.Demon Campers got hit by Eylül Kaya with undefined causing 1 damage. -[info][2025/06/15 01:30:37]: Rex Doalten got hit by Dr.Demon Campers with Fist causing 20 damage. -[info][2025/06/15 02:25:19]: Tom Keller got hit by Loona Santana with Fist causing 21 damage. -[info][2025/06/15 02:25:24]: Tom Keller got hit by Loona Santana with Fist causing 21 damage. -[info][2025/06/15 20:03:19]: Victoria Ann got hit by Dr.Andre Meraki with Fist causing 21 damage. -[info][2025/06/15 20:03:52]: Victoria Ann got hit by Dr.Boris Von Dragomir with Fist causing 0 damage. -[info][2025/06/15 20:03:54]: Victoria Ann got hit by Dr.Boris Von Dragomir with Fist causing 20 damage. -[info][2025/06/15 20:03:55]: Victoria Ann got hit by Dr.Boris Von Dragomir with Fist causing 0 damage. -[info][2025/06/15 20:03:57]: Victoria Ann got hit by Dr.Boris Von Dragomir with Fist causing 20 damage. -[info][2025/06/15 20:03:58]: Victoria Ann got hit by Dr.Boris Von Dragomir with Fist causing 20 damage. -[info][2025/06/15 20:04:01]: Victoria Ann got killed by Dr.Boris Von Dragomir with Fist causing 20 damage. -[info][2025/06/15 20:14:41]: Victoria Ann got hit by Dr.Boris Von Dragomir with Fist causing 0 damage. -[info][2025/06/15 20:14:42]: Victoria Ann got hit by Dr.Boris Von Dragomir with Fist causing 20 damage. -[info][2025/06/15 20:14:43]: Victoria Ann got hit by Dr.Boris Von Dragomir with Fist causing 25 damage. -[info][2025/06/15 20:14:46]: Victoria Ann got hit by Dr.Boris Von Dragomir with Fist causing 20 damage. -[info][2025/06/15 20:14:47]: Victoria Ann got hit by Dr.Boris Von Dragomir with Fist causing 25 damage. -[info][2025/06/15 20:14:50]: Victoria Ann got killed by Dr.Boris Von Dragomir with Fist causing 20 damage. -[info][2025/06/15 20:17:37]: Victoria Ann got hit by Dr.Boris Von Dragomir with Fist causing 0 damage. -[info][2025/06/15 20:17:38]: Victoria Ann got hit by Dr.Boris Von Dragomir with Fist causing 20 damage. -[info][2025/06/15 20:17:39]: Victoria Ann got hit by Dr.Boris Von Dragomir with Fist causing 20 damage. -[info][2025/06/15 20:17:40]: Victoria Ann got hit by Dr.Boris Von Dragomir with Fist causing 25 damage. -[info][2025/06/15 20:17:42]: Victoria Ann got hit by Dr.Boris Von Dragomir with Fist causing 20 damage. -[info][2025/06/15 20:17:43]: Victoria Ann got killed by Dr.Boris Von Dragomir with Fist causing 20 damage. -[info][2025/06/15 20:17:48]: Victoria Ann got hit by Dr.Boris Von Dragomir with Fist causing 25 damage. -[info][2025/06/15 20:17:54]: Victoria Ann got hit by Dr.Boris Von Dragomir with Fist causing 25 damage. -[info][2025/06/15 20:33:48]: Mark Petrol got hit by Mark Petrol with Fist causing 17 damage. -[info][2025/06/16 17:13:27]: Tom Keller got hit by Loona Santana with Fist causing 20 damage. -[info][2025/06/16 19:16:13]: Loona Santana got hit by Tom Keller with Fist causing 20 damage. -[info][2025/06/16 19:45:39]: Loona Santana got hit by Loona Santana with Animal causing 37 damage. -[info][2025/06/16 19:49:48]: Torben Schmitz got hit by Torben Schmitz with Fist causing 16 damage. -[info][2025/06/16 19:49:49]: Torben Schmitz got hit by Torben Schmitz with Fist causing 0 damage. -[info][2025/06/16 19:50:21]: Marc Santoro got hit by Torben Schmitz with Fist causing 20 damage. -[info][2025/06/16 19:51:39]: Marc Santoro got hit by Torben Schmitz with Fist causing 20 damage. -[info][2025/06/16 19:53:31]: Torben Schmitz got hit by Marc Santoro with Fist causing 25 damage. -[info][2025/06/16 20:25:27]: Scarlett Shelby got hit by Marc Santoro with Fist causing 21 damage. -[info][2025/06/16 20:25:38]: Chester Sinister got hit by Marc Santoro with Fist causing 26 damage. -[info][2025/06/16 20:27:23]: Marc Santoro got hit by Chester Sinister with Fist causing 25 damage. -[info][2025/06/16 20:38:37]: Marc Santoro got hit by Chester Sinister with Fist causing 20 damage. -[info][2025/06/16 20:40:18]: Marc Santoro got hit by Scarlett Shelby with Fist causing 27 damage. -[info][2025/06/16 20:41:29]: Marc Santoro got hit by Scarlett Shelby with Fist causing 27 damage. -[info][2025/06/16 20:41:30]: Marc Santoro aimed at Scarlett Shelby with Assault Rifle. -[info][2025/06/16 20:41:30]: Marc Santoro got killed by Scarlett Shelby with Knife causing 0 damage. -[info][2025/06/16 20:41:34]: Marc Santoro got hit by Scarlett Shelby with Knife causing 81 damage. -[info][2025/06/16 20:41:36]: Scarlett Shelby got hit by Marc Santoro with Fist causing 0 damage. -[info][2025/06/16 20:41:37]: Scarlett Shelby got hit by Marc Santoro with Fist causing 20 damage. -[info][2025/06/16 20:41:39]: Scarlett Shelby got hit by Marc Santoro with Fist causing 20 damage. -[info][2025/06/16 20:41:40]: Scarlett Shelby got hit by Marc Santoro with Fist causing 20 damage. -[info][2025/06/16 20:41:41]: Scarlett Shelby got hit by Marc Santoro with Fist causing 20 damage. -[info][2025/06/16 20:41:41]: Marc Santoro got killed by Scarlett Shelby with Fist causing 21 damage. -[info][2025/06/16 20:41:52]: Scarlett Shelby got hit by Marc Santoro with Fist causing 25 damage. -[info][2025/06/16 20:42:12]: Marc Santoro aimed at Manfred Tönsen with Assault Rifle. -[info][2025/06/16 20:42:13]: Manfred Tönsen got killed by Marc Santoro with Assault Rifle causing 567 damage. -[info][2025/06/16 20:42:14]: Marc Santoro got hit by Chester Sinister with Fist causing 20 damage. -[info][2025/06/16 20:42:17]: Marc Santoro got hit by Chester Sinister with Fist causing 20 damage. -[info][2025/06/16 20:42:24]: Marc Santoro got hit by Chester Sinister with Fist causing 20 damage. -[info][2025/06/16 20:42:38]: Manfred Tönsen got hit by Marc Santoro with Assault Rifle causing 24 damage. -[info][2025/06/16 20:42:38]: Marc Santoro aimed at Manfred Tönsen with Assault Rifle. -[info][2025/06/16 20:45:55]: Tom Keller got hit by Loona Santana with Fist causing 20 damage. -[info][2025/06/16 20:50:20]: Manfred Tönsen got hit by Marc Santoro with Fist causing 0 damage. -[info][2025/06/16 20:52:29]: Marc Santoro aimed at Scarlett Shelby with Assault Rifle. -[info][2025/06/16 20:52:32]: Marc Santoro aimed at Scarlett Shelby with Assault Rifle. -[info][2025/06/16 20:52:47]: Manfred Tönsen got hit by Chester Sinister with Fist causing 0 damage. -[info][2025/06/16 20:53:13]: Scarlett Shelby got hit by Marc Santoro with Fist causing 20 damage. -[info][2025/06/16 22:23:53]: Tom Keller got hit by Loona Santana with Fist causing 20 damage. -[info][2025/06/16 22:23:59]: Loona Santana got hit by Tom Keller with Fist causing 21 damage. -[info][2025/06/16 22:24:00]: Tom Keller got hit by Loona Santana with Fist causing 0 damage. -[info][2025/06/16 22:24:01]: Tom Keller got hit by Loona Santana with Fist causing 20 damage. -[info][2025/06/16 22:24:07]: Loona Santana got hit by Tom Keller with Fist causing 27 damage. -[info][2025/06/16 22:24:09]: Loona Santana got hit by Tom Keller with Fist causing 21 damage. -[info][2025/06/16 22:24:10]: Tom Keller got hit by Loona Santana with Fist causing 20 damage. -[info][2025/06/16 22:24:12]: Loona Santana got hit by Tom Keller with Fist causing 21 damage. -[info][2025/06/16 22:24:17]: Loona Santana got killed by Tom Keller with Fist causing 21 damage. -[info][2025/06/16 22:24:23]: Tom Keller got hit by Loona Santana with Fist causing 20 damage. -[info][2025/06/16 22:24:24]: Tom Keller got hit by Loona Santana with Fist causing 25 damage. -[info][2025/06/16 22:24:25]: Loona Santana got hit by Tom Keller with Fist causing 27 damage. -[info][2025/06/16 22:24:27]: Tom Keller got killed by Loona Santana with Fist causing 20 damage. -[info][2025/06/16 22:24:27]: Loona Santana got hit by Tom Keller with Fist causing 21 damage. -[info][2025/06/16 22:24:47]: Tom Keller got hit by Loona Santana with Fist causing 20 damage. -[info][2025/06/16 22:24:49]: Loona Santana got hit by Tom Keller with Fist causing 27 damage. -[info][2025/06/16 22:24:50]: Loona Santana got hit by Tom Keller with Fist causing 0 damage. -[info][2025/06/16 22:24:57]: Loona Santana got hit by Tom Keller with Fist causing 0 damage. -[info][2025/06/16 22:25:00]: Tom Keller got hit by Loona Santana with Fist causing 20 damage. -[info][2025/06/16 22:25:01]: Tom Keller got hit by Loona Santana with Fist causing 20 damage. -[info][2025/06/16 22:25:02]: Tom Keller got hit by Loona Santana with Fist causing 25 damage. -[info][2025/06/16 22:25:04]: Tom Keller got killed by Loona Santana with Fist causing 20 damage. -[info][2025/06/16 22:25:05]: Tom Keller got hit by Loona Santana with Fist causing 0 damage. -[info][2025/06/16 22:38:03]: Dr.Demon Campers got hit by Shadow Wuff with Animal causing 0 damage. -[info][2025/06/16 22:41:24]: Dr.Kimberly Smith got hit by Eylül Kaya with Fist causing 0 damage. -[info][2025/06/16 22:45:23]: Dr.Demon Campers aimed at Tom Keller with Stun Gun. -[info][2025/06/16 22:45:24]: Dr.Demon Campers got hit by Victoria Ann with Fist causing 0 damage. -[info][2025/06/16 22:45:28]: Dr.Demon Campers aimed at Tom Keller with Stun Gun. -[info][2025/06/16 22:45:34]: Dr.Demon Campers aimed at Tom Keller with Stun Gun. -[info][2025/06/16 22:45:35]: Tom Keller got hit by Dr.Demon Campers with Stun Gun causing 0 damage. -[info][2025/06/16 22:45:35]: Dr.Demon Campers got hit by Victoria Ann with Fist causing 21 damage. -[info][2025/06/16 22:45:38]: Dr.Demon Campers got hit by Victoria Ann with Fist causing 21 damage. -[info][2025/06/16 22:45:40]: Dr.Demon Campers got hit by Victoria Ann with Fist causing 21 damage. -[info][2025/06/16 22:45:44]: Dr.Demon Campers aimed at Victoria Ann with Stun Gun. -[info][2025/06/16 22:45:45]: Victoria Ann got hit by Dr.Demon Campers with Stun Gun causing 0 damage. -[info][2025/06/16 22:45:46]: Dr.Demon Campers aimed at Shadow Wuff with Stun Gun. -[info][2025/06/16 22:45:48]: Shadow Wuff got hit by Dr.Demon Campers with Stun Gun causing 0 damage. -[info][2025/06/16 22:45:53]: Dr.Demon Campers aimed at Tom Keller with Stun Gun. -[info][2025/06/16 22:45:58]: Dr.Demon Campers aimed at Tom Keller with Stun Gun. -[info][2025/06/16 22:45:59]: Tom Keller got hit by Dr.Demon Campers with Stun Gun causing 0 damage. -[info][2025/06/16 22:46:01]: Dr.Demon Campers got hit by Victoria Ann with Fist causing 21 damage. -[info][2025/06/16 22:46:02]: Dr.Demon Campers got hit by Victoria Ann with Fist causing 0 damage. -[info][2025/06/16 22:46:10]: Dr.Demon Campers got hit by Victoria Ann with Fist causing 21 damage. -[info][2025/06/16 22:46:16]: Dr.Demon Campers got hit by Shadow Wuff with Animal causing 22 damage. -[info][2025/06/16 22:46:20]: Dr.Demon Campers got hit by Victoria Ann with Fist causing 26 damage. -[info][2025/06/16 22:46:21]: Dr.Demon Campers got hit by Victoria Ann with Fist causing 26 damage. -[info][2025/06/16 22:46:22]: Dr.Demon Campers aimed at Victoria Ann with Heavy Revolver Mk II. -[info][2025/06/16 22:46:24]: Victoria Ann got killed by Dr.Demon Campers with Heavy Revolver MK2 causing 199 damage. -[info][2025/06/16 23:44:08]: Marc Santoro aimed at Dr.Demon Campers with Assault Rifle. -[info][2025/06/16 23:44:24]: Victoria Ann aimed at Dr.Demon Campers with Special Carbine. -[info][2025/06/16 23:44:26]: Dr.Demon Campers got killed by Victoria Ann with Special Carbine causing 605 damage. -[info][2025/06/16 23:46:03]: Victoria Ann got hit by Dr.Demon Campers with Fist causing 20 damage. -[info][2025/06/16 23:46:06]: Dr.Demon Campers got hit by Victoria Ann with Fist causing 21 damage. -[info][2025/06/16 23:50:05]: Dr.Demon Campers aimed at Eylül Kaya with Heavy Revolver Mk II. -[info][2025/06/16 23:50:06]: Eylül Kaya got killed by Dr.Demon Campers with Heavy Revolver MK2 causing 169 damage. -[info][2025/06/16 23:50:18]: Dr.Demon Campers got hit by Victoria Ann with Fist causing 21 damage. -[info][2025/06/16 23:50:21]: Dr.Demon Campers aimed at Victoria Ann with Heavy Revolver Mk II. -[info][2025/06/16 23:50:25]: Dr.Demon Campers aimed at Victoria Ann with Stun Gun. -[info][2025/06/16 23:50:27]: Victoria Ann got hit by Dr.Demon Campers with Stun Gun causing 0 damage. -[info][2025/06/16 23:50:28]: Victoria Ann got hit by Dr.Demon Campers with Stun Gun causing 0 damage. -[info][2025/06/16 23:50:39]: Dr.Demon Campers got hit by Victoria Ann with Fist causing 21 damage. -[info][2025/06/16 23:50:41]: Dr.Demon Campers got hit by Victoria Ann with Fist causing 26 damage. -[info][2025/06/16 23:50:44]: Dr.Demon Campers got hit by Victoria Ann with Fist causing 21 damage. -[info][2025/06/16 23:51:27]: Marc Santoro aimed at Scarlett Shelby with Heavy Revolver Mk II. -[info][2025/06/16 23:52:18]: Marc Santoro aimed at Dr.Demon Campers with Heavy Revolver Mk II. -[info][2025/06/16 23:52:20]: Marc Santoro aimed at Dr.Demon Campers with Heavy Revolver Mk II. -[info][2025/06/17 02:07:50]: Tom Keller got hit by Shadow Wuff with Animal causing 22 damage. -[info][2025/06/17 02:08:07]: Tom Keller got hit by Shadow Wuff with Animal causing 22 damage. -[info][2025/06/17 02:11:19]: Tom Keller got hit by Shadow Wuff with Animal causing 22 damage. -[info][2025/06/17 02:11:20]: Tom Keller got hit by Shadow Wuff with Animal causing 22 damage. -[info][2025/06/17 02:11:23]: Tom Keller got hit by Shadow Wuff with Animal causing 22 damage. -[info][2025/06/17 02:11:24]: Tom Keller got killed by Shadow Wuff with Animal causing 0 damage. -[info][2025/06/17 02:12:16]: Tom Keller got hit by Shadow Wuff with Animal causing 22 damage. -[info][2025/06/17 02:12:35]: Tom Keller got hit by Shadow Wuff with Animal causing 22 damage. -[info][2025/06/17 02:12:38]: Shadow Wuff got hit by Tom Keller with Fist causing 26 damage. -[info][2025/06/17 02:12:39]: Tom Keller got hit by Shadow Wuff with Animal causing 22 damage. -[info][2025/06/17 02:12:39]: Tom Keller got hit by Shadow Wuff with Animal causing 22 damage. -[info][2025/06/17 02:12:41]: Tom Keller got killed by Shadow Wuff with Animal causing 0 damage. -[info][2025/06/17 03:58:12]: Tom Keller got hit by Loona Santana with Carbine Rifle causing 10 damage. -[info][2025/06/17 03:58:12]: Tom Keller got hit by Loona Santana with Carbine Rifle causing 10 damage. -[info][2025/06/17 03:58:12]: Tom Keller got hit by Loona Santana with Carbine Rifle causing 10 damage. -[info][2025/06/17 15:30:28]: rockit requested all waypoints. -[info][2025/06/17 15:32:06]: Real Falkard got hit by Connor Garrison with Fist causing 25 damage. -[info][2025/06/17 15:34:44]: Connor Garrison got hit by Real Falkard with Fist causing 20 damage. -[info][2025/06/17 15:42:37]: Marc Santoro aimed at Real Falkard with Heavy Revolver Mk II. -[info][2025/06/17 15:42:39]: Marc Santoro aimed at Real Falkard with Heavy Revolver Mk II. -[info][2025/06/17 15:42:45]: Marc Santoro aimed at Real Falkard with Heavy Revolver Mk II. -[info][2025/06/17 15:43:15]: Marc Santoro aimed at Real Falkard with Heavy Revolver Mk II. -[info][2025/06/17 15:43:18]: Marc Santoro aimed at Scarlett Shelby with Heavy Revolver Mk II. -[info][2025/06/17 15:43:20]: Marc Santoro aimed at Real Falkard with Heavy Revolver Mk II. -[info][2025/06/17 22:06:56]: Dr.Demon Campers got hit by Dr. Finnley Mc Coy with Fist causing 21 damage. -[info][2025/06/17 22:09:08]: Dr. Finnley Mc Coy got hit by Dr.Demon Campers with Fist causing 20 damage. -[info][2025/06/18 00:59:59]: Scarlett Shelby got hit by Dr.Kimberly Smith with Fist causing 21 damage. -[info][2025/06/18 14:20:59]: Herbert Strauss got hit by Marc Santoro with Fist causing 21 damage. -[info][2025/06/18 19:11:29]: Sophia Marino got hit by Sam Benning with Fist causing 21 damage. -[info][2025/06/18 20:06:07]: Lucifer Morningstar got hit by Lucifer Morningstar with Fist causing 16 damage. -[info][2025/06/18 20:06:07]: Lucifer Morningstar got hit by Lucifer Morningstar with Fist causing 16 damage. -[info][2025/06/18 20:06:09]: Lucifer Morningstar got hit by Lucifer Morningstar with Fist causing 16 damage. -[info][2025/06/18 20:06:10]: Lucifer Morningstar got hit by Lucifer Morningstar with Fist causing 16 damage. -[info][2025/06/19 20:46:33]: Shadow Wuff got hit by Sophia Marino with Fist causing 25 damage. -[info][2025/06/19 21:38:21]: Shadow Wuff got hit by Shadow Wuff with Fist causing 20 damage. -[info][2025/06/19 21:38:41]: Shadow Wuff got hit by Sophia Marino with Fist causing 25 damage. -[info][2025/06/19 22:52:01]: Marc Santoro got killed by Scarlett Shelby with Knife causing 0 damage. -[info][2025/06/19 22:53:22]: Scarlett Shelby got hit by Scarlett Shelby with undefined causing 20 damage. -[info][2025/06/19 22:53:23]: Scarlett Shelby got hit by Scarlett Shelby with Animal causing 33 damage. -[info][2025/06/19 22:53:26]: Scarlett Shelby got hit by Scarlett Shelby with Animal causing 33 damage. -[info][2025/06/19 22:53:37]: Marc Santoro got hit by Scarlett Shelby with Knife causing 76 damage. -[info][2025/06/19 22:53:37]: Scarlett Shelby got killed by Marc Santoro with Fist causing 20 damage. -[info][2025/06/19 22:53:49]: Marc Santoro got hit by Scarlett Shelby with Fist causing 25 damage. -[info][2025/06/19 22:53:50]: Scarlett Shelby got hit by Marc Santoro with Fist causing 20 damage. -[info][2025/06/19 22:53:51]: Scarlett Shelby got hit by Marc Santoro with Fist causing 25 damage. -[info][2025/06/19 22:53:53]: Scarlett Shelby got hit by Marc Santoro with Fist causing 20 damage. -[info][2025/06/19 22:53:53]: Marc Santoro got hit by Scarlett Shelby with Fist causing 20 damage. -[info][2025/06/19 22:53:54]: Scarlett Shelby got hit by Marc Santoro with Fist causing 25 damage. -[info][2025/06/19 22:53:54]: Marc Santoro got hit by Scarlett Shelby with Fist causing 20 damage. -[info][2025/06/19 22:53:56]: Marc Santoro got hit by Scarlett Shelby with Fist causing 25 damage. -[info][2025/06/19 22:53:58]: Marc Santoro got killed by Scarlett Shelby with Fist causing 20 damage. -[info][2025/06/19 23:03:59]: Marc Santoro aimed at Lucifer Morningstar with Pistol. -[info][2025/06/19 23:04:00]: Lucifer Morningstar got hit by Marc Santoro with Pistol causing 25 damage. -[info][2025/06/19 23:04:03]: Marc Santoro aimed at Scarlett Shelby with Pistol. -[info][2025/06/19 23:04:16]: Marc Santoro aimed at Lucifer Morningstar with Pistol. -[info][2025/06/19 23:04:17]: Lucifer Morningstar got hit by Marc Santoro with Pistol causing 0 damage. -[info][2025/06/19 23:04:18]: Lucifer Morningstar got hit by Marc Santoro with Pistol causing 0 damage. -[info][2025/06/19 23:04:18]: Lucifer Morningstar got hit by Marc Santoro with Pistol causing 0 damage. -[info][2025/06/19 23:04:18]: Lucifer Morningstar got hit by Marc Santoro with Pistol causing 0 damage. -[info][2025/06/19 23:04:18]: Lucifer Morningstar got hit by Marc Santoro with Pistol causing 0 damage. -[info][2025/06/19 23:04:21]: Marc Santoro aimed at Scarlett Shelby with Pistol. -[info][2025/06/19 23:04:22]: Scarlett Shelby got hit by Marc Santoro with Pistol causing 0 damage. -[info][2025/06/19 23:04:26]: Scarlett Shelby got hit by Marc Santoro with Pistol causing 0 damage. -[info][2025/06/19 23:04:26]: Marc Santoro aimed at Scarlett Shelby with Pistol. -[info][2025/06/19 23:04:27]: Scarlett Shelby got hit by Marc Santoro with Pistol causing 0 damage. -[info][2025/06/19 23:04:27]: Scarlett Shelby got hit by Marc Santoro with Pistol causing 0 damage. -[info][2025/06/19 23:04:27]: Scarlett Shelby got hit by Marc Santoro with Pistol causing 0 damage. -[info][2025/06/19 23:04:35]: Marc Santoro aimed at Scarlett Shelby with Pistol. -[info][2025/06/19 23:04:36]: Marc Santoro got hit by Lucifer Morningstar with Fist causing 20 damage. -[info][2025/06/19 23:04:38]: Marc Santoro aimed at Scarlett Shelby with Pistol. -[info][2025/06/19 23:04:40]: Scarlett Shelby got hit by Marc Santoro with Pistol causing 0 damage. -[info][2025/06/19 23:04:40]: Scarlett Shelby got hit by Marc Santoro with Pistol causing 0 damage. -[info][2025/06/19 23:04:40]: Scarlett Shelby got hit by Marc Santoro with Pistol causing 0 damage. -[info][2025/06/19 23:04:47]: Marc Santoro aimed at Scarlett Shelby with Pistol. -[info][2025/06/19 23:04:48]: Scarlett Shelby got hit by Marc Santoro with Pistol causing 0 damage. -[info][2025/06/19 23:04:49]: Scarlett Shelby got hit by Marc Santoro with Pistol causing 0 damage. -[info][2025/06/19 23:12:01]: Marc Santoro aimed at Scarlett Shelby with Pump Shotgun. -[info][2025/06/19 23:12:02]: Scarlett Shelby got killed by Marc Santoro with Pump Shotgun causing 4384 damage. -[info][2025/06/19 23:12:13]: Marc Santoro aimed at Scarlett Shelby with Pump Shotgun. -[info][2025/06/19 23:12:14]: Marc Santoro got hit by Scarlett Shelby with Knife causing 76 damage. -[info][2025/06/19 23:12:15]: Scarlett Shelby got hit by Marc Santoro with Pump Shotgun causing 12 damage. -[info][2025/06/19 23:12:16]: Scarlett Shelby got killed by Marc Santoro with Pump Shotgun causing 128 damage. -[info][2025/06/19 23:12:24]: Marc Santoro got hit by Scarlett Shelby with Fist causing 20 damage. -[info][2025/06/19 23:12:25]: Marc Santoro got hit by Scarlett Shelby with Fist causing 0 damage. -[info][2025/06/19 23:12:26]: Marc Santoro got killed by Scarlett Shelby with Fist causing 20 damage. -[info][2025/06/19 23:12:29]: Marc Santoro got hit by Scarlett Shelby with Fist causing 20 damage. -[info][2025/06/19 23:12:30]: Marc Santoro got hit by Scarlett Shelby with Fist causing 25 damage. -[info][2025/06/19 23:12:35]: Marc Santoro aimed at Lucifer Morningstar with Pump Shotgun. -[info][2025/06/19 23:12:35]: Lucifer Morningstar got killed by Marc Santoro with Pump Shotgun causing 1300 damage. -[info][2025/06/19 23:12:36]: Marc Santoro got hit by Scarlett Shelby with Fist causing 20 damage. -[info][2025/06/19 23:12:40]: Marc Santoro got hit by Scarlett Shelby with Fist causing 20 damage. -[info][2025/06/19 23:12:40]: Marc Santoro got hit by Scarlett Shelby with Fist causing 0 damage. -[info][2025/06/19 23:12:42]: Marc Santoro got killed by Scarlett Shelby with Fist causing 20 damage. -[info][2025/06/19 23:12:46]: Marc Santoro got killed by Scarlett Shelby with Knife causing 0 damage. -[info][2025/06/19 23:12:51]: Marc Santoro got killed by Scarlett Shelby with Knife causing 0 damage. -[info][2025/06/19 23:13:00]: Lucifer Morningstar aimed at Marc Santoro with AP Pistol. -[info][2025/06/19 23:13:03]: Marc Santoro aimed at Lucifer Morningstar with Pump Shotgun. -[info][2025/06/19 23:13:04]: Lucifer Morningstar aimed at Marc Santoro with AP Pistol. -[info][2025/06/19 23:13:05]: Scarlett Shelby got hit by Marc Santoro with Pump Shotgun causing 96 damage. -[info][2025/06/19 23:13:05]: Lucifer Morningstar got hit by Marc Santoro with Pump Shotgun causing 16 damage. -[info][2025/06/19 23:13:06]: Marc Santoro aimed at Lucifer Morningstar with Pump Shotgun. -[info][2025/06/19 23:13:06]: Lucifer Morningstar got killed by Marc Santoro with Pump Shotgun causing 1621 damage. -[info][2025/06/19 23:16:52]: Scarlett Shelby aimed at Marc Santoro with Stun Gun. -[info][2025/06/19 23:16:58]: Scarlett Shelby aimed at Marc Santoro with Stun Gun. -[info][2025/06/19 23:17:00]: Scarlett Shelby aimed at Marc Santoro with Stun Gun. -[info][2025/06/19 23:17:02]: Scarlett Shelby aimed at Marc Santoro with Stun Gun. -[info][2025/06/19 23:17:05]: Marc Santoro aimed at Scarlett Shelby with Stun Gun. -[info][2025/06/19 23:17:05]: Scarlett Shelby got hit by Marc Santoro with Stun Gun causing 0 damage. -[info][2025/06/19 23:17:08]: Lucifer Morningstar got hit by Marc Santoro with Stun Gun causing 0 damage. -[info][2025/06/19 23:17:08]: Lucifer Morningstar aimed at Marc Santoro with Stun Gun. -[info][2025/06/19 23:17:10]: Marc Santoro aimed at Scarlett Shelby with Stun Gun. -[info][2025/06/19 23:17:12]: Scarlett Shelby aimed at Marc Santoro with Stun Gun. -[info][2025/06/19 23:17:13]: Marc Santoro aimed at Lucifer Morningstar with Stun Gun. -[info][2025/06/19 23:17:13]: Lucifer Morningstar got hit by Marc Santoro with Stun Gun causing 0 damage. -[info][2025/06/19 23:17:15]: Marc Santoro aimed at Scarlett Shelby with Stun Gun. -[info][2025/06/19 23:17:16]: Scarlett Shelby aimed at Marc Santoro with Stun Gun. -[info][2025/06/19 23:17:16]: Marc Santoro got hit by Scarlett Shelby with Stun Gun causing 0 damage. -[info][2025/06/19 23:17:20]: Scarlett Shelby aimed at Marc Santoro with Stun Gun. -[info][2025/06/19 23:17:21]: Marc Santoro got hit by Scarlett Shelby with Stun Gun causing 0 damage. -[info][2025/06/19 23:17:25]: Lucifer Morningstar aimed at Scarlett Shelby with Stun Gun. -[info][2025/06/19 23:17:25]: Marc Santoro got hit by Lucifer Morningstar with Stun Gun causing 1 damage. -[info][2025/06/19 23:17:26]: Lucifer Morningstar aimed at Marc Santoro with Stun Gun. -[info][2025/06/19 23:17:31]: Marc Santoro aimed at Lucifer Morningstar with Stun Gun. -[info][2025/06/19 23:17:32]: Lucifer Morningstar got hit by Marc Santoro with Stun Gun causing 0 damage. -[info][2025/06/19 23:17:34]: Marc Santoro aimed at Scarlett Shelby with Stun Gun. -[info][2025/06/19 23:17:38]: Marc Santoro aimed at Scarlett Shelby with Stun Gun. -[info][2025/06/19 23:17:39]: Scarlett Shelby aimed at Marc Santoro with Stun Gun. -[info][2025/06/19 23:17:41]: Marc Santoro aimed at Scarlett Shelby with Stun Gun. -[info][2025/06/19 23:17:42]: Scarlett Shelby aimed at Lucifer Morningstar with Stun Gun. -[info][2025/06/19 23:17:49]: Lucifer Morningstar got hit by Marc Santoro with Stun Gun causing 0 damage. -[info][2025/06/19 23:17:49]: Marc Santoro aimed at Lucifer Morningstar with Stun Gun. -[info][2025/06/19 23:17:49]: Scarlett Shelby aimed at Marc Santoro with Stun Gun. -[info][2025/06/19 23:17:50]: Marc Santoro got hit by Scarlett Shelby with Stun Gun causing 0 damage. -[info][2025/06/19 23:18:03]: Scarlett Shelby aimed at Marc Santoro with Stun Gun. -[info][2025/06/19 23:18:03]: Marc Santoro got hit by Scarlett Shelby with Stun Gun causing 0 damage. -[info][2025/06/19 23:18:03]: Marc Santoro aimed at Scarlett Shelby with Stun Gun. -[info][2025/06/19 23:18:05]: Scarlett Shelby aimed at Marc Santoro with Stun Gun. -[info][2025/06/19 23:18:06]: Marc Santoro got hit by Scarlett Shelby with Stun Gun causing 0 damage. -[info][2025/06/19 23:18:09]: Marc Santoro got hit by Scarlett Shelby with Stun Gun causing 0 damage. -[info][2025/06/19 23:18:10]: Lucifer Morningstar aimed at Marc Santoro with Stun Gun. -[info][2025/06/19 23:18:11]: Marc Santoro got hit by Scarlett Shelby with Stun Gun causing 0 damage. -[info][2025/06/19 23:18:12]: Lucifer Morningstar aimed at Scarlett Shelby with Stun Gun. -[info][2025/06/19 23:18:12]: Scarlett Shelby got hit by Lucifer Morningstar with Stun Gun causing 0 damage. -[info][2025/06/19 23:18:20]: Lucifer Morningstar aimed at Marc Santoro with Stun Gun. -[info][2025/06/19 23:18:20]: Scarlett Shelby aimed at Lucifer Morningstar with Stun Gun. -[info][2025/06/19 23:18:21]: Marc Santoro got hit by Lucifer Morningstar with Stun Gun causing 0 damage. -[info][2025/06/19 23:18:22]: Lucifer Morningstar got hit by Scarlett Shelby with Stun Gun causing 0 damage. -[info][2025/06/19 23:18:25]: Scarlett Shelby aimed at Marc Santoro with Stun Gun. -[info][2025/06/19 23:18:25]: Marc Santoro got hit by Scarlett Shelby with Stun Gun causing 0 damage. -[info][2025/06/19 23:18:27]: Scarlett Shelby aimed at Lucifer Morningstar with Stun Gun. -[info][2025/06/19 23:18:28]: Lucifer Morningstar got hit by Scarlett Shelby with Stun Gun causing 0 damage. -[info][2025/06/19 23:18:30]: Scarlett Shelby aimed at Marc Santoro with Stun Gun. -[info][2025/06/19 23:18:31]: Marc Santoro got hit by Scarlett Shelby with Stun Gun causing 0 damage. -[info][2025/06/19 23:18:32]: Scarlett Shelby aimed at Lucifer Morningstar with Stun Gun. -[info][2025/06/19 23:18:34]: Lucifer Morningstar got hit by Scarlett Shelby with Stun Gun causing 0 damage. -[info][2025/06/19 23:18:42]: Scarlett Shelby got hit by Marc Santoro with Stun Gun causing 0 damage. -[info][2025/06/19 23:18:42]: Marc Santoro aimed at Scarlett Shelby with Stun Gun. -[info][2025/06/19 23:18:44]: Lucifer Morningstar aimed at Marc Santoro with Stun Gun. -[info][2025/06/19 23:18:45]: Marc Santoro got hit by Lucifer Morningstar with Stun Gun causing 0 damage. -[info][2025/06/19 23:19:21]: Marc Santoro aimed at Lucifer Morningstar with Carbine Rifle. -[info][2025/06/19 23:19:21]: Lucifer Morningstar got hit by Marc Santoro with Carbine Rifle causing 31 damage. -[info][2025/06/19 23:19:22]: Lucifer Morningstar got hit by Marc Santoro with Carbine Rifle causing 18 damage. -[info][2025/06/19 23:19:22]: Lucifer Morningstar got hit by Marc Santoro with Carbine Rifle causing 18 damage. -[info][2025/06/19 23:19:23]: Lucifer Morningstar got hit by Marc Santoro with Carbine Rifle causing 18 damage. -[info][2025/06/19 23:19:23]: Lucifer Morningstar got hit by Marc Santoro with Carbine Rifle causing 18 damage. -[info][2025/06/19 23:19:23]: Lucifer Morningstar got killed by Marc Santoro with Carbine Rifle causing 18 damage. -[info][2025/06/19 23:19:23]: Lucifer Morningstar got hit by Marc Santoro with Carbine Rifle causing 0 damage. -[info][2025/06/19 23:19:35]: Marc Santoro aimed at Lucifer Morningstar with Carbine Rifle. -[info][2025/06/19 23:19:35]: Lucifer Morningstar got killed by Marc Santoro with Carbine Rifle causing 359 damage. -[info][2025/06/19 23:20:17]: Lucifer Morningstar aimed at Scarlett Shelby with Stun Gun. -[info][2025/06/19 23:20:21]: Lucifer Morningstar got hit by Marc Santoro with Carbine Rifle causing 18 damage. -[info][2025/06/19 23:20:21]: Marc Santoro aimed at Lucifer Morningstar with Carbine Rifle. -[info][2025/06/19 23:20:22]: Lucifer Morningstar got killed by Marc Santoro with Carbine Rifle causing 359 damage. -[info][2025/06/19 23:20:22]: Lucifer Morningstar got killed by Marc Santoro with Carbine Rifle causing 359 damage. -[info][2025/06/19 23:20:36]: Lucifer Morningstar aimed at Scarlett Shelby with Stun Gun. -[info][2025/06/19 23:20:40]: Lucifer Morningstar aimed at Marc Santoro with Stun Gun. -[info][2025/06/19 23:20:45]: Lucifer Morningstar aimed at Scarlett Shelby with Stun Gun. -[info][2025/06/19 23:20:48]: Lucifer Morningstar aimed at Scarlett Shelby with Stun Gun. -[info][2025/06/19 23:20:50]: Lucifer Morningstar aimed at Scarlett Shelby with Stun Gun. -[info][2025/06/19 23:20:58]: Lucifer Morningstar aimed at Marc Santoro with SMG. -[info][2025/06/19 23:22:39]: Lucifer Morningstar aimed at Marc Santoro with AP Pistol. -[info][2025/06/19 23:22:45]: Lucifer Morningstar aimed at Marc Santoro with AP Pistol. -[info][2025/06/20 13:21:00]: Eylül Kaya got hit by Eylül Kaya with Fist causing 0 damage. -[info][2025/06/20 19:01:25]: Sophia Marino got hit by Victoria Ann with Fist causing 21 damage. -[info][2025/06/21 00:22:27]: Steven DeLuka got hit by David Munkli with Fist causing 21 damage. -[info][2025/06/21 00:25:24]: Steven DeLuka got hit by David Munkli with Fist causing 0 damage. -[info][2025/06/21 01:27:30]: Steven DeLuka got hit by David Munkli with Fist causing 21 damage. -[info][2025/06/21 19:03:35]: Torben Schmitz got hit by Torben Schmitz with Fist causing 16 damage. -[info][2025/06/21 19:03:36]: Torben Schmitz got hit by Torben Schmitz with Fist causing 16 damage. -[info][2025/06/21 19:29:27]: Lucifer Morningstar aimed at Mark Petrol with Heavy Pistol. -[info][2025/06/21 19:31:48]: Lucifer Morningstar aimed at Mark Petrol with Heavy Pistol. -[info][2025/06/21 19:32:44]: Lucifer Morningstar aimed at Mark Petrol with SMG. -[info][2025/06/21 19:32:49]: Lucifer Morningstar aimed at Mark Petrol with SMG. -[info][2025/06/21 19:32:49]: Mark Petrol got killed by Lucifer Morningstar with SMG causing 145 damage. -[info][2025/06/21 22:16:46]: Lucifer Morningstar aimed at Dr.Boris Von Dragomir with Pistol Mk II. -[info][2025/06/21 22:30:26]: Lucifer Morningstar got hit by Lucifer Morningstar with Fist causing 0 damage. -[info][2025/06/21 22:30:33]: Lucifer Morningstar got hit by Lucifer Morningstar with Fist causing 0 damage. -[info][2025/06/21 22:30:47]: Lucifer Morningstar got hit by Lucifer Morningstar with Fist causing 0 damage. -[info][2025/06/21 22:30:51]: Lucifer Morningstar got hit by Lucifer Morningstar with Fist causing 0 damage. -[info][2025/06/21 22:30:55]: Lucifer Morningstar got hit by Lucifer Morningstar with Fist causing 0 damage. -[info][2025/06/21 22:30:57]: Lucifer Morningstar got hit by Lucifer Morningstar with Fist causing 0 damage. -[info][2025/06/21 22:30:58]: Lucifer Morningstar got hit by Lucifer Morningstar with Fist causing 0 damage. -[info][2025/06/21 22:31:03]: Lucifer Morningstar got hit by Lucifer Morningstar with Fist causing 0 damage. -[info][2025/06/21 22:31:07]: Lucifer Morningstar got hit by Lucifer Morningstar with Animal causing 0 damage. -[info][2025/06/21 22:31:13]: Lucifer Morningstar got hit by Lucifer Morningstar with undefined causing 0 damage. -[info][2025/06/21 22:31:15]: Lucifer Morningstar got hit by Lucifer Morningstar with undefined causing 0 damage. -[info][2025/06/21 22:31:17]: Lucifer Morningstar got hit by Lucifer Morningstar with undefined causing 0 damage. -[info][2025/06/21 22:31:20]: Lucifer Morningstar got hit by Lucifer Morningstar with undefined causing 0 damage. -[info][2025/06/21 22:31:22]: Lucifer Morningstar got hit by Lucifer Morningstar with undefined causing 0 damage. -[info][2025/06/21 22:31:24]: Lucifer Morningstar got hit by Lucifer Morningstar with undefined causing 0 damage. -[info][2025/06/21 22:31:26]: Lucifer Morningstar got hit by Lucifer Morningstar with undefined causing 0 damage. -[info][2025/06/21 22:31:29]: Lucifer Morningstar got hit by Lucifer Morningstar with undefined causing 0 damage. -[info][2025/06/21 22:31:31]: Lucifer Morningstar got hit by Lucifer Morningstar with undefined causing 0 damage. -[info][2025/06/21 22:31:36]: Lucifer Morningstar got hit by Lucifer Morningstar with Animal causing 0 damage. -[info][2025/06/21 22:31:43]: Lucifer Morningstar got hit by Lucifer Morningstar with undefined causing 0 damage. -[info][2025/06/21 22:31:44]: Lucifer Morningstar aimed at Dr. Finnley Mc Coy with Heavy Pistol. -[info][2025/06/21 22:31:46]: Lucifer Morningstar aimed at Victoria Ann with Heavy Pistol. -[info][2025/06/21 22:31:52]: Lucifer Morningstar got hit by Lucifer Morningstar with undefined causing 0 damage. -[info][2025/06/21 22:31:53]: Lucifer Morningstar aimed at Victoria Ann with Heavy Pistol. -[info][2025/06/21 22:31:53]: Victoria Ann got killed by Lucifer Morningstar with Heavy Pistol causing 502 damage. -[info][2025/06/21 22:32:38]: Lucifer Morningstar got hit by Lucifer Morningstar with Animal causing 0 damage. -[info][2025/06/21 22:32:44]: Lucifer Morningstar got hit by Victoria Ann with Fist causing 0 damage. -[info][2025/06/21 22:32:46]: Lucifer Morningstar aimed at Victoria Ann with Pistol Mk II. -[info][2025/06/21 22:32:48]: Lucifer Morningstar got hit by Victoria Ann with Fist causing 0 damage. -[info][2025/06/21 22:32:49]: Lucifer Morningstar got hit by Victoria Ann with Fist causing 0 damage. -[info][2025/06/21 22:32:50]: Lucifer Morningstar got hit by Victoria Ann with Fist causing 0 damage. -[info][2025/06/21 22:32:53]: Lucifer Morningstar got hit by Victoria Ann with Fist causing 0 damage. -[info][2025/06/21 22:32:54]: Victoria Ann got hit by Victoria Ann with Fist causing 0 damage. -[info][2025/06/21 22:32:54]: Lucifer Morningstar got hit by Victoria Ann with Fist causing 0 damage. -[info][2025/06/21 22:32:55]: Victoria Ann got hit by Lucifer Morningstar with Pistol MK2 causing 19 damage. -[info][2025/06/21 22:36:50]: Lucifer Morningstar aimed at Victoria Ann with Stun Gun. -[info][2025/06/21 22:36:52]: Lucifer Morningstar aimed at Dr. Finnley Mc Coy with Stun Gun. -[info][2025/06/21 22:37:03]: Lucifer Morningstar aimed at Dr. Finnley Mc Coy with Stun Gun. -[info][2025/06/21 22:41:49]: Lucifer Morningstar aimed at Victoria Ann with Stun Gun. -[info][2025/06/21 22:41:51]: Victoria Ann got hit by Lucifer Morningstar with Stun Gun causing 0 damage. -[info][2025/06/21 22:41:54]: Victoria Ann got hit by Lucifer Morningstar with Stun Gun causing 0 damage. -[info][2025/06/21 22:41:58]: Lucifer Morningstar aimed at Dr. Finnley Mc Coy with Stun Gun. -[info][2025/06/21 22:41:59]: Dr. Finnley Mc Coy got hit by Lucifer Morningstar with Stun Gun causing 0 damage. -[info][2025/06/21 22:42:24]: Lucifer Morningstar aimed at Dr. Finnley Mc Coy with Stun Gun. -[info][2025/06/21 22:42:27]: Lucifer Morningstar aimed at Victoria Ann with Stun Gun. -[info][2025/06/21 22:42:28]: Victoria Ann got hit by Lucifer Morningstar with Stun Gun causing 0 damage. -[info][2025/06/21 22:42:31]: Lucifer Morningstar aimed at Victoria Ann with Pistol Mk II. -[info][2025/06/21 22:42:32]: Victoria Ann got hit by Lucifer Morningstar with Pistol MK2 causing 19 damage. -[info][2025/06/21 22:42:32]: Victoria Ann got hit by Lucifer Morningstar with Pistol MK2 causing 19 damage. -[info][2025/06/21 22:42:33]: Victoria Ann got hit by Lucifer Morningstar with Pistol MK2 causing 19 damage. -[info][2025/06/21 22:42:33]: Victoria Ann got hit by Lucifer Morningstar with Pistol MK2 causing 19 damage. -[info][2025/06/21 22:42:33]: Victoria Ann got hit by Lucifer Morningstar with Pistol MK2 causing 19 damage. -[info][2025/06/21 22:42:34]: Victoria Ann got hit by Lucifer Morningstar with Pistol MK2 causing 19 damage. -[info][2025/06/21 22:42:34]: Victoria Ann got hit by Lucifer Morningstar with Pistol MK2 causing 19 damage. -[info][2025/06/21 22:42:34]: Victoria Ann got hit by Lucifer Morningstar with Pistol MK2 causing 19 damage. -[info][2025/06/21 22:42:34]: Victoria Ann got hit by Lucifer Morningstar with Pistol MK2 causing 19 damage. -[info][2025/06/21 22:42:35]: Victoria Ann got hit by Lucifer Morningstar with Pistol MK2 causing 19 damage. -[info][2025/06/21 22:42:35]: Victoria Ann got hit by Lucifer Morningstar with Pistol MK2 causing 19 damage. -[info][2025/06/21 22:42:35]: Victoria Ann got hit by Lucifer Morningstar with Pistol MK2 causing 19 damage. -[info][2025/06/21 22:42:36]: Victoria Ann got hit by Lucifer Morningstar with Pistol MK2 causing 19 damage. -[info][2025/06/21 22:42:36]: Victoria Ann got hit by Lucifer Morningstar with Pistol MK2 causing 19 damage. -[info][2025/06/21 22:42:36]: Victoria Ann got hit by Lucifer Morningstar with Pistol MK2 causing 19 damage. -[info][2025/06/21 23:04:52]: Victoria Ann got hit by Lucifer Morningstar with Fist causing 21 damage. -[info][2025/06/21 23:55:42]: Eylül Kaya got hit by David Munkli with Fist causing 27 damage. -[info][2025/06/21 23:57:21]: David Munkli aimed at Eylül Kaya with Special Carbine. -[info][2025/06/21 23:57:21]: Eylül Kaya got hit by David Munkli with Special Carbine causing 31 damage. -[info][2025/06/21 23:57:21]: Eylül Kaya got hit by David Munkli with Special Carbine causing 15 damage. -[info][2025/06/21 23:57:21]: Eylül Kaya got hit by David Munkli with Special Carbine causing 15 damage. -[info][2025/06/21 23:57:21]: Eylül Kaya got hit by David Munkli with Special Carbine causing 15 damage. -[info][2025/06/21 23:57:22]: Eylül Kaya got hit by David Munkli with Special Carbine causing 15 damage. -[info][2025/06/21 23:57:22]: Eylül Kaya got killed by David Munkli with Special Carbine causing 15 damage. -[info][2025/06/21 23:57:22]: Eylül Kaya got hit by David Munkli with Special Carbine causing 0 damage. -[info][2025/06/21 23:57:27]: Lucifer Morningstar aimed at David Munkli with Stun Gun. -[info][2025/06/21 23:57:28]: David Munkli got hit by Lucifer Morningstar with Stun Gun causing 1 damage. -[info][2025/06/21 23:57:35]: Lucifer Morningstar aimed at Eylül Kaya with Stun Gun. -[info][2025/06/21 23:57:35]: Eylül Kaya got hit by Lucifer Morningstar with Stun Gun causing 0 damage. -[info][2025/06/21 23:57:41]: David Munkli got hit by Lucifer Morningstar with Stun Gun causing 0 damage. -[info][2025/06/21 23:57:41]: Lucifer Morningstar aimed at David Munkli with Stun Gun. -[info][2025/06/21 23:57:55]: Lucifer Morningstar aimed at David Munkli with Stun Gun. -[info][2025/06/21 23:58:17]: Lucifer Morningstar aimed at Eylül Kaya with Pistol Mk II. -[info][2025/06/21 23:58:19]: Eylül Kaya got hit by Lucifer Morningstar with Pistol MK2 causing 32 damage. -[info][2025/06/21 23:58:21]: Lucifer Morningstar aimed at Eylül Kaya with Pistol Mk II. -[info][2025/06/21 23:58:21]: Eylül Kaya got hit by Lucifer Morningstar with Pistol MK2 causing 19 damage. -[info][2025/06/21 23:58:23]: Eylül Kaya got hit by Lucifer Morningstar with Pistol MK2 causing 19 damage. -[info][2025/06/21 23:58:24]: Eylül Kaya got hit by Lucifer Morningstar with Pistol MK2 causing 19 damage. -[info][2025/06/21 23:58:24]: Eylül Kaya got hit by Lucifer Morningstar with Pistol MK2 causing 19 damage. -[info][2025/06/21 23:58:24]: David Munkli got hit by Lucifer Morningstar with Pistol MK2 causing 18 damage. -[info][2025/06/21 23:59:29]: Lucifer Morningstar aimed at Eylül Kaya with Pistol Mk II. -[info][2025/06/21 23:59:29]: Eylül Kaya got hit by Lucifer Morningstar with Pistol MK2 causing 18 damage. -[info][2025/06/21 23:59:30]: Eylül Kaya got hit by Lucifer Morningstar with Pistol MK2 causing 18 damage. -[info][2025/06/21 23:59:30]: Eylül Kaya got hit by Lucifer Morningstar with Pistol MK2 causing 18 damage. -[info][2025/06/21 23:59:30]: Eylül Kaya got hit by Lucifer Morningstar with Pistol MK2 causing 18 damage. -[info][2025/06/21 23:59:31]: Lucifer Morningstar aimed at Eylül Kaya with Pistol Mk II. -[info][2025/06/21 23:59:31]: Eylül Kaya got hit by Lucifer Morningstar with Pistol MK2 causing 18 damage. -[info][2025/06/21 23:59:31]: Eylül Kaya got killed by Lucifer Morningstar with Pistol MK2 causing 18 damage. -[info][2025/06/21 23:59:32]: Eylül Kaya got hit by Lucifer Morningstar with Pistol MK2 causing 0 damage. -[info][2025/06/21 23:59:35]: Lucifer Morningstar aimed at Eylül Kaya with Pistol Mk II. -[info][2025/06/22 00:00:09]: Lucifer Morningstar aimed at Eylül Kaya with Pistol Mk II. -[info][2025/06/22 00:00:09]: Eylül Kaya got hit by Lucifer Morningstar with Pistol MK2 causing 15 damage. -[info][2025/06/22 00:00:09]: Eylül Kaya got hit by Lucifer Morningstar with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:00:10]: Eylül Kaya got hit by Lucifer Morningstar with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:00:10]: Eylül Kaya got hit by Lucifer Morningstar with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:00:10]: Eylül Kaya got hit by Lucifer Morningstar with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:00:12]: Eylül Kaya got killed by Lucifer Morningstar with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:00:29]: Lucifer Morningstar aimed at Eylül Kaya with Pistol Mk II. -[info][2025/06/22 00:00:35]: Eylül Kaya got hit by Lucifer Morningstar with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:00:36]: Lucifer Morningstar aimed at Eylül Kaya with Pistol Mk II. -[info][2025/06/22 00:00:40]: Lucifer Morningstar aimed at Eylül Kaya with Pistol Mk II. -[info][2025/06/22 00:00:40]: Eylül Kaya got hit by Lucifer Morningstar with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:00:43]: Lucifer Morningstar aimed at Eylül Kaya with Pistol Mk II. -[info][2025/06/22 00:00:43]: Eylül Kaya got hit by Lucifer Morningstar with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:00:45]: Eylül Kaya got hit by Lucifer Morningstar with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:00:45]: Eylül Kaya got hit by Lucifer Morningstar with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:00:53]: Lucifer Morningstar aimed at Eylül Kaya with Pistol Mk II. -[info][2025/06/22 00:00:56]: Lucifer Morningstar aimed at Eylül Kaya with Pistol Mk II. -[info][2025/06/22 00:01:01]: Lucifer Morningstar aimed at Eylül Kaya with Pistol Mk II. -[info][2025/06/22 00:01:02]: Eylül Kaya got hit by Lucifer Morningstar with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:01:03]: Eylül Kaya got hit by Lucifer Morningstar with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:01:04]: Eylül Kaya got hit by Lucifer Morningstar with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:01:04]: Eylül Kaya got hit by Lucifer Morningstar with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:01:04]: Lucifer Morningstar got killed by Eylül Kaya with Cougar causing 500 damage. -[info][2025/06/22 00:01:10]: Lucifer Morningstar got killed by Eylül Kaya with Cougar causing 0 damage. -[info][2025/06/22 00:01:27]: Lucifer Morningstar got killed by Eylül Kaya with Cougar causing 500 damage. -[info][2025/06/22 00:01:39]: David Munkli got killed by Eylül Kaya with Cougar causing 500 damage. -[info][2025/06/22 00:01:42]: Lucifer Morningstar aimed at Eylül Kaya with Stun Gun. -[info][2025/06/22 00:01:42]: Eylül Kaya got hit by Lucifer Morningstar with Stun Gun causing 0 damage. -[info][2025/06/22 00:01:46]: Lucifer Morningstar aimed at Eylül Kaya with Pistol Mk II. -[info][2025/06/22 00:01:47]: Eylül Kaya got hit by Lucifer Morningstar with Pistol MK2 causing 15 damage. -[info][2025/06/22 00:01:47]: Eylül Kaya got hit by Lucifer Morningstar with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:01:47]: Eylül Kaya got hit by Lucifer Morningstar with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:01:49]: Lucifer Morningstar aimed at Eylül Kaya with Pistol Mk II. -[info][2025/06/22 00:01:51]: Eylül Kaya got hit by Lucifer Morningstar with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:01:52]: Lucifer Morningstar aimed at Eylül Kaya with Pistol Mk II. -[info][2025/06/22 00:01:53]: Eylül Kaya got hit by Lucifer Morningstar with Pistol MK2 causing 15 damage. -[info][2025/06/22 00:01:53]: Eylül Kaya got hit by Lucifer Morningstar with Pistol MK2 causing 15 damage. -[info][2025/06/22 00:01:56]: Eylül Kaya got killed by Lucifer Morningstar with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:02:31]: Lucifer Morningstar aimed at Eylül Kaya with Pistol Mk II. -[info][2025/06/22 00:02:31]: Eylül Kaya got hit by Lucifer Morningstar with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:02:32]: Eylül Kaya got hit by Lucifer Morningstar with Pistol MK2 causing 15 damage. -[info][2025/06/22 00:02:32]: Eylül Kaya got hit by Lucifer Morningstar with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:02:32]: Eylül Kaya got hit by Lucifer Morningstar with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:02:32]: Eylül Kaya got hit by Lucifer Morningstar with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:02:33]: Eylül Kaya got killed by Lucifer Morningstar with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:02:37]: Lucifer Morningstar aimed at Eylül Kaya with Pistol Mk II. -[info][2025/06/22 00:02:38]: Eylül Kaya got hit by Lucifer Morningstar with Pistol MK2 causing 15 damage. -[info][2025/06/22 00:06:47]: Lucifer Morningstar aimed at Eylül Kaya with Pistol Mk II. -[info][2025/06/22 00:06:48]: Eylül Kaya aimed at Lucifer Morningstar with Combat Pistol. -[info][2025/06/22 00:06:48]: Eylül Kaya got hit by Lucifer Morningstar with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:06:49]: Eylül Kaya got hit by Lucifer Morningstar with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:06:49]: Eylül Kaya got hit by Lucifer Morningstar with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:06:50]: Eylül Kaya got hit by Lucifer Morningstar with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:06:50]: Eylül Kaya got killed by Lucifer Morningstar with Pistol MK2 causing 15 damage. -[info][2025/06/22 00:07:09]: Lucifer Morningstar aimed at Eylül Kaya with AP Pistol. -[info][2025/06/22 00:07:13]: Lucifer Morningstar aimed at David Munkli with AP Pistol. -[info][2025/06/22 00:07:15]: David Munkli got hit by Lucifer Morningstar with AP Pistol causing 6 damage. -[info][2025/06/22 00:07:15]: Lucifer Morningstar aimed at David Munkli with AP Pistol. -[info][2025/06/22 00:07:16]: Eylül Kaya got hit by Lucifer Morningstar with AP Pistol causing 5 damage. -[info][2025/06/22 00:07:17]: Lucifer Morningstar aimed at Eylül Kaya with AP Pistol. -[info][2025/06/22 00:07:26]: Lucifer Morningstar aimed at Eylül Kaya with AP Pistol. -[info][2025/06/22 00:07:26]: Eylül Kaya got hit by Lucifer Morningstar with AP Pistol causing 6 damage. -[info][2025/06/22 00:07:26]: Eylül Kaya got hit by Lucifer Morningstar with AP Pistol causing 6 damage. -[info][2025/06/22 00:07:55]: Lucifer Morningstar aimed at Eylül Kaya with AP Pistol. -[info][2025/06/22 00:08:00]: Eylül Kaya got hit by Lucifer Morningstar with AP Pistol causing 7 damage. -[info][2025/06/22 00:08:00]: Eylül Kaya got hit by Lucifer Morningstar with AP Pistol causing 7 damage. -[info][2025/06/22 00:08:00]: Eylül Kaya got hit by Lucifer Morningstar with AP Pistol causing 7 damage. -[info][2025/06/22 00:08:01]: Eylül Kaya got hit by Lucifer Morningstar with AP Pistol causing 7 damage. -[info][2025/06/22 00:08:01]: Eylül Kaya got hit by Lucifer Morningstar with AP Pistol causing 7 damage. -[info][2025/06/22 00:08:02]: Eylül Kaya got hit by Lucifer Morningstar with AP Pistol causing 7 damage. -[info][2025/06/22 00:08:02]: Eylül Kaya got hit by Lucifer Morningstar with AP Pistol causing 7 damage. -[info][2025/06/22 00:08:03]: Eylül Kaya got hit by Lucifer Morningstar with AP Pistol causing 7 damage. -[info][2025/06/22 00:08:04]: Lucifer Morningstar aimed at Eylül Kaya with AP Pistol. -[info][2025/06/22 00:08:28]: Lucifer Morningstar got hit by Eylül Kaya with Fist causing 10 damage. -[info][2025/06/22 00:08:30]: Lucifer Morningstar got hit by Eylül Kaya with Fist causing 10 damage. -[info][2025/06/22 00:08:31]: Lucifer Morningstar got hit by Eylül Kaya with Fist causing 12 damage. -[info][2025/06/22 00:09:55]: Lucifer Morningstar got hit by Eylül Kaya with Fist causing 0 damage. -[info][2025/06/22 00:12:43]: Eylül Kaya got hit by David Munkli with Fist causing 27 damage. -[info][2025/06/22 00:13:19]: David Munkli aimed at Eylül Kaya with Special Carbine. -[info][2025/06/22 00:13:20]: Eylül Kaya got hit by David Munkli with Special Carbine causing 15 damage. -[info][2025/06/22 00:13:20]: Eylül Kaya got hit by David Munkli with Special Carbine causing 15 damage. -[info][2025/06/22 00:13:31]: Eylül Kaya got hit by David Munkli with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:31]: David Munkli aimed at Eylül Kaya with Special Carbine. -[info][2025/06/22 00:13:31]: Eylül Kaya got hit by David Munkli with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:32]: Eylül Kaya got hit by David Munkli with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:32]: Eylül Kaya got hit by David Munkli with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:32]: Eylül Kaya got hit by David Munkli with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:32]: Eylül Kaya got hit by David Munkli with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:32]: Eylül Kaya got hit by David Munkli with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:32]: Eylül Kaya got hit by David Munkli with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:32]: Eylül Kaya got hit by David Munkli with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:32]: Eylül Kaya got hit by David Munkli with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:33]: Eylül Kaya got hit by David Munkli with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:33]: Eylül Kaya got hit by David Munkli with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:33]: Eylül Kaya got hit by David Munkli with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:33]: Eylül Kaya got hit by David Munkli with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:33]: Eylül Kaya got hit by David Munkli with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:33]: Eylül Kaya got hit by David Munkli with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:33]: Eylül Kaya got hit by David Munkli with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:33]: Eylül Kaya got hit by David Munkli with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:33]: Eylül Kaya got hit by David Munkli with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:34]: Eylül Kaya got hit by David Munkli with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:34]: Eylül Kaya got hit by David Munkli with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:34]: Eylül Kaya got hit by David Munkli with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:34]: Eylül Kaya got hit by David Munkli with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:34]: Eylül Kaya got hit by David Munkli with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:34]: Eylül Kaya got hit by David Munkli with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:35]: Eylül Kaya got hit by David Munkli with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:36]: Eylül Kaya got hit by David Munkli with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:36]: Eylül Kaya got hit by David Munkli with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:36]: Eylül Kaya got hit by David Munkli with Special Carbine causing 16 damage. -[info][2025/06/22 00:16:52]: David Munkli got hit by Eylül Kaya with Animal causing 33 damage. -[info][2025/06/22 00:25:31]: David Munkli got hit by Eylül Kaya with Animal causing 20 damage. -[info][2025/06/22 01:17:58]: Eylül Kaya aimed at David Munkli with Combat Pistol. -[info][2025/06/22 01:18:00]: Eylül Kaya aimed at David Munkli with Combat Pistol. -[info][2025/06/22 01:18:03]: Eylül Kaya aimed at David Munkli with Combat Pistol. -[info][2025/06/22 01:18:05]: Eylül Kaya aimed at David Munkli with Combat Pistol. -[info][2025/06/22 01:18:27]: Eylül Kaya aimed at David Munkli with Combat Pistol. -[info][2025/06/22 01:18:44]: Eylül Kaya aimed at David Munkli with Combat Pistol. -[info][2025/06/22 01:20:10]: Eylül Kaya aimed at David Munkli with Combat Pistol. -[info][2025/06/22 01:20:46]: David Munkli got hit by Eylül Kaya with undefined causing 50 damage. -[info][2025/06/22 01:20:48]: David Munkli got killed by Eylül Kaya with undefined causing 50 damage. -[info][2025/06/22 01:20:54]: David Munkli got killed by Eylül Kaya with undefined causing 50 damage. -[info][2025/06/22 02:32:30]: David Munkli got hit by Eylül Kaya with Fist causing 0 damage. -[info][2025/06/22 02:32:34]: David Munkli got hit by Eylül Kaya with Fist causing 0 damage. -[info][2025/06/22 02:32:47]: Eylül Kaya aimed at David Munkli with Combat Pistol. -[info][2025/06/22 02:33:08]: David Munkli got hit by Eylül Kaya with Fist causing 0 damage. -[info][2025/06/22 02:34:21]: Eylül Kaya got killed by David Munkli with Explosion causing 500 damage. -[info][2025/06/22 02:34:28]: David Munkli got hit by Eylül Kaya with Fist causing 0 damage. -[info][2025/06/22 02:34:37]: David Munkli got hit by Eylül Kaya with Fist causing 0 damage. -[info][2025/06/22 02:34:38]: David Munkli got hit by Eylül Kaya with Fist causing 0 damage. -[info][2025/06/22 02:34:38]: David Munkli got hit by Eylül Kaya with Fist causing 0 damage. -[info][2025/06/22 02:34:39]: David Munkli aimed at Eylül Kaya with Special Carbine. -[info][2025/06/22 02:34:39]: Eylül Kaya got hit by David Munkli with Special Carbine causing 15 damage. -[info][2025/06/22 02:34:40]: David Munkli got hit by Eylül Kaya with Fist causing 0 damage. -[info][2025/06/22 02:34:40]: David Munkli got hit by Eylül Kaya with Fist causing 0 damage. -[info][2025/06/22 02:34:41]: David Munkli got hit by Eylül Kaya with Fist causing 0 damage. -[info][2025/06/22 02:34:42]: David Munkli aimed at Eylül Kaya with Special Carbine. -[info][2025/06/22 02:34:43]: Eylül Kaya got hit by David Munkli with Special Carbine causing 15 damage. -[info][2025/06/22 02:34:43]: Eylül Kaya got hit by David Munkli with Special Carbine causing 12 damage. -[info][2025/06/22 02:34:43]: Eylül Kaya got hit by David Munkli with Special Carbine causing 15 damage. -[info][2025/06/22 02:34:43]: Eylül Kaya got hit by David Munkli with Special Carbine causing 12 damage. -[info][2025/06/22 02:34:44]: David Munkli aimed at Eylül Kaya with Special Carbine. -[info][2025/06/22 02:34:47]: Eylül Kaya got killed by David Munkli with Special Carbine causing 302 damage. -[info][2025/06/22 02:35:03]: David Munkli got hit by Eylül Kaya with Fist causing 0 damage. -[info][2025/06/22 02:35:06]: David Munkli got hit by Eylül Kaya with Fist causing 0 damage. -[info][2025/06/22 02:35:09]: David Munkli got hit by Eylül Kaya with Fist causing 0 damage. -[info][2025/06/22 02:35:11]: Eylül Kaya got hit by David Munkli with Fist causing 21 damage. -[info][2025/06/22 02:35:13]: David Munkli got hit by Eylül Kaya with Fist causing 0 damage. -[info][2025/06/22 02:35:13]: David Munkli got hit by Eylül Kaya with Fist causing 0 damage. -[info][2025/06/22 02:35:14]: David Munkli got hit by Eylül Kaya with Fist causing 0 damage. -[info][2025/06/22 02:35:15]: David Munkli got hit by Eylül Kaya with Fist causing 0 damage. -[info][2025/06/22 02:35:16]: David Munkli got hit by Eylül Kaya with Fist causing 0 damage. -[info][2025/06/22 02:35:17]: David Munkli got hit by Eylül Kaya with Fist causing 0 damage. -[info][2025/06/22 02:35:18]: David Munkli got hit by Eylül Kaya with Fist causing 0 damage. -[info][2025/06/22 02:35:19]: David Munkli got hit by Eylül Kaya with Fist causing 0 damage. -[info][2025/06/22 02:35:20]: David Munkli got hit by Eylül Kaya with Fist causing 0 damage. -[info][2025/06/22 02:35:23]: Eylül Kaya got hit by David Munkli with Fist causing 21 damage. -[info][2025/06/22 02:35:24]: David Munkli got hit by Eylül Kaya with Fist causing 0 damage. -[info][2025/06/22 02:35:26]: Eylül Kaya got hit by David Munkli with Fist causing 27 damage. -[info][2025/06/22 02:35:28]: Eylül Kaya got hit by David Munkli with Fist causing 21 damage. -[info][2025/06/22 02:35:29]: Eylül Kaya got killed by David Munkli with Fist causing 27 damage. -[info][2025/06/22 02:35:34]: Eylül Kaya got hit by David Munkli with Fist causing 21 damage. -[info][2025/06/22 02:35:49]: David Munkli got hit by Eylül Kaya with Fist causing 20 damage. -[info][2025/06/22 02:35:50]: David Munkli got hit by Eylül Kaya with Fist causing 0 damage. -[info][2025/06/22 02:35:51]: Eylül Kaya got hit by David Munkli with Fist causing 21 damage. -[info][2025/06/22 02:35:54]: Eylül Kaya got hit by David Munkli with Fist causing 27 damage. -[info][2025/06/22 02:35:55]: David Munkli got hit by Eylül Kaya with Fist causing 0 damage. -[info][2025/06/22 02:35:56]: Eylül Kaya got hit by David Munkli with Fist causing 21 damage. -[info][2025/06/22 02:35:56]: Eylül Kaya got hit by David Munkli with Fist causing 0 damage. -[info][2025/06/22 02:35:57]: David Munkli got hit by Eylül Kaya with Fist causing 0 damage. -[info][2025/06/22 02:35:58]: David Munkli got hit by Eylül Kaya with Fist causing 20 damage. -[info][2025/06/22 02:35:59]: David Munkli got hit by Eylül Kaya with Fist causing 20 damage. -[info][2025/06/22 02:35:59]: David Munkli got hit by Eylül Kaya with Fist causing 20 damage. -[info][2025/06/22 02:36:04]: David Munkli got killed by Eylül Kaya with Fist causing 20 damage. -[info][2025/06/22 02:36:05]: David Munkli got killed by Eylül Kaya with Fist causing 20 damage. -[info][2025/06/22 02:36:15]: Eylül Kaya got killed by David Munkli with Fist causing 21 damage. -[info][2025/06/22 02:36:26]: Eylül Kaya got hit by David Munkli with Fist causing 0 damage. -[info][2025/06/22 02:36:28]: David Munkli got hit by Eylül Kaya with Fist causing 20 damage. -[info][2025/06/22 02:36:29]: David Munkli got hit by Eylül Kaya with Fist causing 0 damage. -[info][2025/06/22 02:36:30]: David Munkli got hit by Eylül Kaya with Fist causing 20 damage. -[info][2025/06/22 02:36:31]: David Munkli got hit by Eylül Kaya with Fist causing 20 damage. -[info][2025/06/22 02:36:31]: David Munkli got hit by Eylül Kaya with Fist causing 20 damage. -[info][2025/06/22 02:36:32]: David Munkli got killed by Eylül Kaya with Fist causing 20 damage. -[info][2025/06/22 02:36:34]: Eylül Kaya got hit by David Munkli with Fist causing 0 damage. -[info][2025/06/22 02:36:35]: David Munkli got killed by Eylül Kaya with Fist causing 20 damage. -[info][2025/06/22 11:08:43]: Torben Schmitz got hit by Torben Schmitz with Animal causing 25 damage. -[info][2025/06/22 11:08:44]: Torben Schmitz got hit by Torben Schmitz with Fist causing 20 damage. -[info][2025/06/22 11:08:55]: Torben Schmitz got hit by Torben Schmitz with Fist causing 20 damage. -[info][2025/06/22 11:08:56]: Torben Schmitz got hit by Torben Schmitz with Fist causing 20 damage. -[info][2025/06/22 11:09:01]: Torben Schmitz got killed by Torben Schmitz with Fist causing 20 damage. -[info][2025/06/22 11:09:47]: Mark Petrol got hit by Torben Schmitz with Fist causing 21 damage. -[info][2025/06/22 11:09:49]: Mark Petrol got hit by Torben Schmitz with Fist causing 21 damage. -[info][2025/06/22 11:09:49]: Mark Petrol got hit by Torben Schmitz with Fist causing 0 damage. -[info][2025/06/22 16:35:17]: Torben Schmitz got hit by Torben Schmitz with Fist causing 17 damage. -[info][2025/06/22 16:39:06]: David Munkli got hit by Zoe Baker with Fist causing 20 damage. -[info][2025/06/22 16:41:54]: Torben Schmitz aimed at Dr.Kimberly Smith with null. -[info][2025/06/22 18:28:34]: Torben Schmitz got hit by Dr.Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/06/22 18:28:34]: Torben Schmitz got hit by Dr.Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/06/22 18:28:35]: Torben Schmitz got hit by Dr.Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/06/22 18:28:35]: Torben Schmitz got hit by Dr.Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/06/22 18:28:35]: Torben Schmitz got hit by Dr.Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/06/22 18:28:35]: Torben Schmitz got hit by Dr.Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/06/22 18:28:35]: Torben Schmitz got hit by Dr.Kimberly Smith with AP Pistol causing 5 damage. -[info][2025/06/22 18:28:35]: Dr.Kimberly Smith aimed at Torben Schmitz with AP Pistol. -[info][2025/06/22 18:28:35]: Torben Schmitz got hit by Dr.Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/06/22 18:28:35]: Torben Schmitz got hit by Dr.Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/06/22 18:28:35]: Torben Schmitz got hit by Dr.Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/06/22 18:28:37]: Torben Schmitz got hit by Dr.Kimberly Smith with AP Pistol causing 5 damage. -[info][2025/06/22 18:28:38]: Dr.Kimberly Smith got hit by Torben Schmitz with Knife causing 0 damage. -[info][2025/06/22 18:28:41]: Dr.Kimberly Smith got hit by Torben Schmitz with Knife causing 0 damage. -[info][2025/06/22 18:28:44]: Torben Schmitz got hit by Dr.Kimberly Smith with AP Pistol causing 5 damage. -[info][2025/06/22 18:28:44]: Torben Schmitz got hit by Dr.Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/06/22 18:28:44]: Dr.Kimberly Smith aimed at Torben Schmitz with AP Pistol. -[info][2025/06/22 18:28:44]: Torben Schmitz got killed by Dr.Kimberly Smith with AP Pistol causing 124 damage. -[info][2025/06/22 18:28:44]: Torben Schmitz got killed by Dr.Kimberly Smith with AP Pistol causing 125 damage. -[info][2025/06/22 18:28:44]: Torben Schmitz got killed by Dr.Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/06/22 18:30:14]: Dr.Kimberly Smith aimed at Torben Schmitz with AP Pistol. -[info][2025/06/22 18:30:27]: Dr.Kimberly Smith aimed at Torben Schmitz with AP Pistol. -[info][2025/06/22 18:30:31]: Dr.Kimberly Smith aimed at Torben Schmitz with AP Pistol. -[info][2025/06/22 18:30:33]: Torben Schmitz got hit by Dr.Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/06/22 18:30:44]: Dr.Kimberly Smith aimed at Torben Schmitz with AP Pistol. -[info][2025/06/22 18:30:47]: Torben Schmitz got hit by Dr.Kimberly Smith with AP Pistol causing 5 damage. -[info][2025/06/22 18:30:47]: Torben Schmitz got hit by Dr.Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/06/22 18:30:49]: Dr.Kimberly Smith aimed at Torben Schmitz with AP Pistol. -[info][2025/06/22 18:30:49]: Torben Schmitz got hit by Dr.Kimberly Smith with AP Pistol causing 6 damage. -[info][2025/06/22 18:30:49]: Torben Schmitz got killed by Dr.Kimberly Smith with AP Pistol causing 132 damage. -[info][2025/06/22 18:31:20]: Dr.Kimberly Smith aimed at Torben Schmitz with Carbine Rifle. -[info][2025/06/22 18:31:29]: Dr.Kimberly Smith aimed at Torben Schmitz with Carbine Rifle. -[info][2025/06/22 18:31:30]: Torben Schmitz got hit by Dr.Kimberly Smith with Carbine Rifle causing 31 damage. -[info][2025/06/22 18:31:36]: Dr.Kimberly Smith got hit by Torben Schmitz with Knife causing 0 damage. -[info][2025/06/22 18:31:37]: Dr.Kimberly Smith aimed at Torben Schmitz with Carbine Rifle. -[info][2025/06/22 18:31:37]: Torben Schmitz got hit by Dr.Kimberly Smith with Carbine Rifle causing 12 damage. -[info][2025/06/22 18:31:39]: Dr.Kimberly Smith got hit by Torben Schmitz with Knife causing 0 damage. -[info][2025/06/22 18:31:39]: Dr.Kimberly Smith aimed at Torben Schmitz with Carbine Rifle. -[info][2025/06/22 18:31:41]: Dr.Kimberly Smith got hit by Torben Schmitz with Fist causing 0 damage. -[info][2025/06/22 18:31:42]: Torben Schmitz got hit by Dr.Kimberly Smith with Carbine Rifle causing 12 damage. -[info][2025/06/22 18:31:46]: Dr.Kimberly Smith aimed at Torben Schmitz with Carbine Rifle. -[info][2025/06/22 18:31:47]: Torben Schmitz got killed by Dr.Kimberly Smith with Carbine Rifle causing 359 damage. -[info][2025/06/22 18:31:47]: Torben Schmitz got killed by Dr.Kimberly Smith with Carbine Rifle causing 359 damage. -[info][2025/06/22 18:32:34]: Dr.Kimberly Smith aimed at Torben Schmitz with AP Pistol. -[info][2025/06/22 18:32:36]: Dr.Kimberly Smith aimed at Torben Schmitz with AP Pistol. -[info][2025/06/22 18:33:27]: Dr.Kimberly Smith aimed at Torben Schmitz with Carbine Rifle. -[info][2025/06/22 18:33:31]: Torben Schmitz got hit by Dr.Kimberly Smith with Carbine Rifle causing 58 damage. -[info][2025/06/22 18:33:36]: Dr.Kimberly Smith aimed at Torben Schmitz with Carbine Rifle. -[info][2025/06/22 18:34:31]: Dr.Kimberly Smith aimed at Torben Schmitz with Stun Gun. -[info][2025/06/22 18:34:31]: Torben Schmitz got hit by Dr.Kimberly Smith with Stun Gun causing 1 damage. -[info][2025/06/22 22:16:04]: Dr. Demon Campers got hit by Steven DeLuka with Fist causing 21 damage. -[info][2025/06/22 22:29:41]: Sophia Marino got hit by Wilke Mayer with Fist causing 20 damage. -[info][2025/06/22 23:26:25]: Victoria Ann aimed at Lucifer Morningstar with Special Carbine. -[info][2025/06/22 23:26:27]: Lucifer Morningstar got killed by Victoria Ann with Special Carbine causing 239 damage. -[info][2025/06/22 23:41:20]: Lucifer Morningstar got hit by Lucifer Morningstar with Fist causing 16 damage. -[info][2025/06/22 23:41:21]: Lucifer Morningstar got hit by Lucifer Morningstar with Fist causing 16 damage. -[info][2025/06/23 19:06:02]: David Munkli aimed at Eylül Kaya with Special Carbine. -[info][2025/06/23 19:11:36]: Sophia Marino got hit by Wilke Mayer with Fist causing 27 damage. -[info][2025/06/23 20:07:21]: Sanane Banane got hit by Steven DeLuka with Fist causing 20 damage. -[info][2025/06/23 20:08:46]: Eylül Kaya got hit by Steven DeLuka with Fist causing 20 damage. -[info][2025/06/23 20:08:47]: Steven DeLuka got hit by Steven DeLuka with Fist causing 20 damage. -[info][2025/06/23 20:08:52]: Steven DeLuka got hit by Steven DeLuka with Fist causing 20 damage. -[info][2025/06/23 20:08:54]: Steven DeLuka got hit by Steven DeLuka with Fist causing 12 damage. -[info][2025/06/23 20:15:39]: Steven DeLuka got hit by Eylül Kaya with Fist causing 21 damage. -[info][2025/06/23 21:01:40]: Steven DeLuka got hit by Steven DeLuka with Animal causing 36 damage. -[info][2025/06/23 21:01:46]: Steven DeLuka got hit by Steven DeLuka with Fist causing 16 damage. -[info][2025/06/23 21:56:41]: Franz Müller got hit by Pablito Wayne with Fist causing 21 damage. -[info][2025/06/23 21:56:46]: Pablito Wayne got hit by Franz Müller with Fist causing 21 damage. -[info][2025/06/23 21:56:47]: Pablito Wayne got hit by Franz Müller with Fist causing 21 damage. -[info][2025/06/23 21:56:48]: Pablito Wayne got hit by Franz Müller with Fist causing 21 damage. -[info][2025/06/23 22:09:33]: Franz Müller got hit by Sanane Banane with undefined causing 50 damage. -[info][2025/06/23 22:09:35]: Sanane Banane got hit by Franz Müller with Fist causing 0 damage. -[info][2025/06/23 22:09:37]: Sanane Banane got hit by Franz Müller with Fist causing 0 damage. -[info][2025/06/23 22:09:38]: Sanane Banane got hit by Franz Müller with Fist causing 0 damage. -[info][2025/06/23 22:09:40]: Sanane Banane got hit by Franz Müller with Fist causing 0 damage. -[info][2025/06/23 22:09:42]: Marc Santoro aimed at Franz Müller with Stun Gun. -[info][2025/06/23 22:27:56]: Scarlett Shelby got hit by Sanane Banane with undefined causing 20 damage. -[info][2025/06/23 22:34:55]: Marc Santoro aimed at Scarlett Shelby with Stun Gun. -[info][2025/06/23 22:34:56]: Scarlett Shelby got hit by Marc Santoro with Stun Gun causing 0 damage. -[info][2025/06/23 22:37:35]: Sanane Banane got hit by Franz Müller with Fist causing 0 damage. -[info][2025/06/23 22:54:34]: Marc Santoro got hit by Franz Müller with Fist causing 21 damage. -[info][2025/06/23 23:00:13]: Franz Müller aimed at Marc Santoro with Pump Shotgun. -[info][2025/06/23 23:00:20]: Franz Müller aimed at Marc Santoro with Pump Shotgun. -[info][2025/06/23 23:00:28]: Franz Müller aimed at Marc Santoro with Pump Shotgun. -[info][2025/06/23 23:10:23]: Scarlett Shelby aimed at Marc Santoro with Stun Gun. -[info][2025/06/23 23:10:24]: Marc Santoro got hit by Scarlett Shelby with Stun Gun causing 1 damage. -[info][2025/06/23 23:10:30]: Marc Santoro aimed at Scarlett Shelby with Stun Gun. -[info][2025/06/23 23:10:30]: Scarlett Shelby got hit by Marc Santoro with Stun Gun causing 0 damage. -[info][2025/06/23 23:11:08]: Marc Santoro got hit by Scarlett Shelby with Stun Gun causing 0 damage. -[info][2025/06/23 23:11:08]: Scarlett Shelby got hit by Marc Santoro with Stun Gun causing 0 damage. -[info][2025/06/23 23:11:08]: Scarlett Shelby aimed at Marc Santoro with Stun Gun. -[info][2025/06/23 23:11:16]: Marc Santoro aimed at Scarlett Shelby with Stun Gun. -[info][2025/06/23 23:11:17]: Scarlett Shelby aimed at Marc Santoro with Stun Gun. -[info][2025/06/23 23:11:20]: Scarlett Shelby aimed at Marc Santoro with Stun Gun. -[info][2025/06/23 23:11:21]: Marc Santoro got hit by Scarlett Shelby with Stun Gun causing 0 damage. -[info][2025/06/23 23:11:22]: Scarlett Shelby aimed at Marc Santoro with Stun Gun. -[info][2025/06/23 23:11:24]: Scarlett Shelby aimed at Marc Santoro with Stun Gun. -[info][2025/06/23 23:11:26]: Marc Santoro got hit by Scarlett Shelby with Stun Gun causing 0 damage. -[info][2025/06/23 23:11:34]: Scarlett Shelby aimed at Marc Santoro with Stun Gun. -[info][2025/06/23 23:11:36]: Scarlett Shelby aimed at Marc Santoro with Stun Gun. -[info][2025/06/23 23:11:36]: Marc Santoro aimed at Scarlett Shelby with Stun Gun. -[info][2025/06/23 23:11:41]: Scarlett Shelby aimed at Marc Santoro with Stun Gun. -[info][2025/06/23 23:11:45]: Scarlett Shelby aimed at Marc Santoro with Stun Gun. -[info][2025/06/23 23:11:53]: Marc Santoro aimed at Scarlett Shelby with Stun Gun. -[info][2025/06/23 23:11:57]: Scarlett Shelby got hit by Marc Santoro with Stun Gun causing 0 damage. -[info][2025/06/23 23:11:57]: Scarlett Shelby aimed at Marc Santoro with Stun Gun. -[info][2025/06/23 23:11:57]: Marc Santoro aimed at Scarlett Shelby with Stun Gun. -[info][2025/06/23 23:12:00]: Scarlett Shelby got hit by Marc Santoro with Stun Gun causing 0 damage. -[info][2025/06/23 23:12:02]: Scarlett Shelby aimed at Marc Santoro with Stun Gun. -[info][2025/06/23 23:12:04]: Marc Santoro aimed at Scarlett Shelby with Stun Gun. -[info][2025/06/23 23:12:07]: Scarlett Shelby aimed at Marc Santoro with Stun Gun. -[info][2025/06/23 23:12:08]: Scarlett Shelby got hit by Marc Santoro with Stun Gun causing 0 damage. -[info][2025/06/23 23:12:35]: Scarlett Shelby got hit by Marc Santoro with Stun Gun causing 0 damage. -[info][2025/06/24 00:49:53]: Dr.Kimberly Smith got hit by Jack Voight with Fist causing 21 damage. -[info][2025/06/24 00:49:56]: Dr.Kimberly Smith got hit by Jack Voight with Fist causing 21 damage. -[info][2025/06/24 01:19:40]: Jack Voight got hit by Jack Voight with Fist causing 16 damage. -[info][2025/06/24 01:19:42]: Jack Voight got hit by Jack Voight with Fist causing 16 damage. -[info][2025/06/24 02:19:20]: Jack Voight got hit by Jack Voight with Fist causing 16 damage. -[info][2025/06/24 02:19:21]: Jack Voight got hit by Jack Voight with Fist causing 16 damage. -[info][2025/06/24 03:45:16]: Jack Voight aimed at Dr.Kimberly Smith with AP Pistol. -[info][2025/06/24 03:45:19]: Jack Voight aimed at Dr.Kimberly Smith with AP Pistol. -[info][2025/06/24 03:52:30]: Dr.Kimberly Smith got hit by Jack Voight with Fist causing 0 damage. -[info][2025/06/24 03:54:05]: Dr.Kimberly Smith aimed at Jack Voight with null. -[info][2025/06/24 04:09:55]: Dr.Kimberly Smith aimed at Jack Voight with AP Pistol. -[info][2025/06/24 04:11:56]: Jack Voight aimed at Dr.Kimberly Smith with Pistol Mk II. -[info][2025/06/24 16:58:13]: Diego Rivera got hit by Diego Rivera with Fist causing 14 damage. -[info][2025/06/24 16:58:14]: Diego Rivera got hit by Diego Rivera with Fist causing 14 damage. -[info][2025/06/24 17:01:43]: Diego Rivera got hit by Diego Rivera with Fist causing 14 damage. -[info][2025/06/24 18:49:09]: Wilke Mayer got hit by Wilke Mayer with Fist causing 20 damage. -[info][2025/06/24 18:49:18]: Wilke Mayer got hit by Wilke Mayer with Fist causing 20 damage. -[info][2025/06/24 18:51:09]: Sophia Marino got hit by Wilke Mayer with Fist causing 21 damage. -[info][2025/06/24 18:57:17]: Wilke Mayer got hit by Sophia Marino with Fist causing 17 damage. -[info][2025/06/24 18:57:18]: Wilke Mayer got hit by Sophia Marino with Fist causing 0 damage. -[info][2025/06/24 19:00:55]: Lucifer Morningstar aimed at Wilke Mayer with Stun Gun. -[info][2025/06/24 19:52:31]: Wilke Mayer got hit by Wilke Mayer with Fist causing 14 damage. -[info][2025/06/24 19:52:37]: Sophia Marino got hit by Wilke Mayer with Fist causing 21 damage. -[info][2025/06/24 20:36:17]: Diego Rivera aimed at Charly Rivera with Mini SMG. -[info][2025/06/24 20:46:44]: Charly Rivera got hit by Diego Rivera with Fist causing 21 damage. -[info][2025/06/24 21:36:22]: Diego Rivera got hit by Diego Rivera with Fist causing 14 damage. -[info][2025/06/24 22:00:20]: Valentina Rivera got hit by Diego Rivera with Fist causing 27 damage. -[info][2025/06/24 22:00:21]: Valentina Rivera got hit by Diego Rivera with Fist causing 27 damage. -[info][2025/06/24 22:00:22]: Valentina Rivera got hit by Diego Rivera with Fist causing 27 damage. -[info][2025/06/24 22:00:25]: Valentina Rivera got hit by Diego Rivera with Fist causing 27 damage. -[info][2025/06/25 18:47:42]: Bernd Böge got hit by Dr.Kimberly Smith with Fist causing 21 damage. -[info][2025/06/25 18:47:45]: Dr.Kimberly Smith got hit by Bernd Böge with Fist causing 21 damage. -[info][2025/06/25 18:47:47]: Bernd Böge got hit by Dr.Kimberly Smith with Fist causing 21 damage. -[info][2025/06/25 18:47:48]: Dr.Kimberly Smith got hit by Bernd Böge with Fist causing 27 damage. -[info][2025/06/25 18:47:49]: Bernd Böge got hit by Dr.Kimberly Smith with Fist causing 26 damage. -[info][2025/06/25 18:47:50]: Dr.Kimberly Smith got hit by Bernd Böge with Fist causing 21 damage. -[info][2025/06/25 18:47:52]: Bernd Böge got hit by Dr.Kimberly Smith with Fist causing 21 damage. -[info][2025/06/25 18:47:53]: Bernd Böge got killed by Dr.Kimberly Smith with Fist causing 26 damage. -[info][2025/06/25 18:57:15]: Bernd Böge got hit by Bernd Böge with Fist causing 14 damage. -[info][2025/06/25 21:05:10]: Eylül Kaya got killed by Ali Bratke with Explosion causing 500 damage. -[info][2025/06/25 21:10:20]: Ali Bratke got hit by Eylül Kaya with Fist causing 20 damage. -[info][2025/06/25 21:10:21]: Ali Bratke got hit by Eylül Kaya with Fist causing 20 damage. -[info][2025/06/25 21:10:22]: Ali Bratke got hit by Eylül Kaya with Fist causing 26 damage. -[info][2025/06/25 21:10:24]: Ali Bratke got hit by Eylül Kaya with Fist causing 20 damage. -[info][2025/06/25 21:10:24]: Ali Bratke got killed by Eylül Kaya with Fist causing 20 damage. -[info][2025/06/25 21:25:25]: Sanane Banane got hit by Sanane Banane with Fist causing 0 damage. -[info][2025/06/25 21:25:27]: Sanane Banane got hit by Sanane Banane with Fist causing 20 damage. -[info][2025/06/25 21:25:33]: Sanane Banane got hit by Sanane Banane with Fist causing 20 damage. -[info][2025/06/25 21:25:34]: Sanane Banane got hit by Sanane Banane with Fist causing 20 damage. -[info][2025/06/25 21:25:36]: Sanane Banane got hit by Sanane Banane with Fist causing 20 damage. -[info][2025/06/25 21:25:41]: Sanane Banane got hit by Sanane Banane with Fist causing 0 damage. -[info][2025/06/25 21:25:45]: Sanane Banane got hit by Sanane Banane with Fist causing 0 damage. -[info][2025/06/25 21:25:47]: Sanane Banane got hit by Sanane Banane with Fist causing 20 damage. -[info][2025/06/25 21:25:54]: Sanane Banane got killed by Sanane Banane with Fist causing 20 damage. -[info][2025/06/25 22:12:24]: Sanane Banane aimed at Aisu Cold with Combat MG Mk II. -[info][2025/06/25 22:12:26]: Sanane Banane aimed at Sam Benning with Combat MG Mk II. -[info][2025/06/25 22:12:30]: Sanane Banane aimed at Aisu Cold with Combat MG Mk II. -[info][2025/06/25 22:12:33]: Sanane Banane aimed at Aisu Cold with Combat MG Mk II. -[info][2025/06/25 22:12:37]: Sanane Banane aimed at Aisu Cold with Combat MG Mk II. -[info][2025/06/25 22:16:36]: Sanane Banane aimed at Sam Benning with Combat MG Mk II. -[info][2025/06/25 22:16:43]: Sanane Banane aimed at Sam Benning with Combat MG Mk II. -[info][2025/06/25 22:17:55]: Sam Benning got hit by Sanane Banane with undefined causing 0 damage. -[info][2025/06/25 22:17:58]: Sam Benning got hit by Sanane Banane with undefined causing 0 damage. -[info][2025/06/25 22:18:00]: Sam Benning got hit by Sanane Banane with undefined causing 0 damage. -[info][2025/06/25 22:18:02]: Sam Benning got hit by Sanane Banane with undefined causing 0 damage. -[info][2025/06/25 22:18:03]: Sam Benning got hit by Sanane Banane with undefined causing 0 damage. -[info][2025/06/25 22:18:05]: Sam Benning got hit by Sanane Banane with undefined causing 0 damage. -[info][2025/06/25 22:18:06]: Sam Benning got hit by Sanane Banane with undefined causing 0 damage. -[info][2025/06/25 22:18:08]: Sam Benning got hit by Sanane Banane with undefined causing 0 damage. -[info][2025/06/25 22:18:09]: Sam Benning got hit by Sanane Banane with undefined causing 0 damage. -[info][2025/06/25 22:18:11]: Sam Benning got hit by Sanane Banane with undefined causing 0 damage. -[info][2025/06/25 22:18:15]: Aisu Cold got hit by Sanane Banane with undefined causing 75 damage. -[info][2025/06/25 22:18:21]: Aisu Cold got killed by Sanane Banane with undefined causing 75 damage. -[info][2025/06/25 22:18:26]: Sam Benning aimed at Aisu Cold with Stun Gun. -[info][2025/06/25 22:18:34]: Aisu Cold got hit by Sam Benning with Stun Gun causing 0 damage. -[info][2025/06/25 22:19:00]: Aisu Cold got hit by Sam Benning with Stun Gun causing 0 damage. -[info][2025/06/25 22:19:24]: Sam Benning got hit by Aisu Cold with Fist causing 0 damage. -[info][2025/06/25 22:32:55]: Sam Benning aimed at Aisu Cold with AP Pistol. -[info][2025/06/25 22:32:57]: Sam Benning aimed at Eylül Kaya with AP Pistol. -[info][2025/06/25 22:33:10]: Sam Benning aimed at Aisu Cold with AP Pistol. -[info][2025/06/25 22:34:09]: Aisu Cold got hit by Sam Benning with Fist causing 25 damage. -[info][2025/06/25 22:35:15]: Sam Benning aimed at Aisu Cold with AP Pistol. -[info][2025/06/25 22:35:30]: Sam Benning got hit by Aisu Cold with Fist causing 0 damage. -[info][2025/06/25 22:35:31]: Sam Benning got hit by Aisu Cold with Fist causing 0 damage. -[info][2025/06/25 22:35:32]: Sam Benning got hit by Aisu Cold with Fist causing 0 damage. -[info][2025/06/25 22:35:36]: Sam Benning aimed at Aisu Cold with AP Pistol. -[info][2025/06/25 22:35:37]: Aisu Cold got hit by Sam Benning with AP Pistol causing 5 damage. -[info][2025/06/25 22:35:38]: Aisu Cold got hit by Sam Benning with AP Pistol causing 6 damage. -[info][2025/06/25 22:35:40]: Sam Benning aimed at Aisu Cold with AP Pistol. -[info][2025/06/25 22:35:40]: Aisu Cold got killed by Sam Benning with AP Pistol causing 132 damage. -[info][2025/06/25 22:35:40]: Aisu Cold got hit by Sam Benning with AP Pistol causing 6 damage. -[info][2025/06/25 22:35:40]: Aisu Cold got hit by Sam Benning with AP Pistol causing 6 damage. -[info][2025/06/25 22:35:49]: Sam Benning aimed at Eylül Kaya with Stun Gun. -[info][2025/06/25 22:35:50]: Eylül Kaya got hit by Sam Benning with Stun Gun causing 0 damage. -[info][2025/06/25 22:36:26]: Aisu Cold got hit by Eylül Kaya with Fist causing 21 damage. -[info][2025/06/25 22:37:27]: Sam Benning aimed at Aisu Cold with Stun Gun. -[info][2025/06/25 22:37:29]: Aisu Cold got hit by Sam Benning with Stun Gun causing 0 damage. -[info][2025/06/25 22:37:42]: Sam Benning aimed at Aisu Cold with Stun Gun. -[info][2025/06/25 22:37:49]: Eylül Kaya got hit by Sam Benning with Stun Gun causing 0 damage. -[info][2025/06/25 22:38:02]: Sam Benning got hit by Eylül Kaya with Fist causing 0 damage. -[info][2025/06/25 22:38:03]: Sam Benning got hit by Eylül Kaya with Fist causing 0 damage. -[info][2025/06/25 22:38:05]: Sam Benning got hit by Aisu Cold with Fist causing 0 damage. -[info][2025/06/25 22:38:06]: Sam Benning got hit by Aisu Cold with Fist causing 0 damage. -[info][2025/06/25 22:38:08]: Sam Benning got hit by Eylül Kaya with Fist causing 0 damage. -[info][2025/06/25 22:38:08]: Sam Benning got hit by Eylül Kaya with Fist causing 0 damage. -[info][2025/06/25 22:38:09]: Sam Benning got hit by Aisu Cold with Fist causing 0 damage. -[info][2025/06/25 22:38:10]: Sam Benning got hit by Aisu Cold with Fist causing 0 damage. -[info][2025/06/25 22:38:12]: Sam Benning got hit by Aisu Cold with Fist causing 0 damage. -[info][2025/06/25 22:38:13]: Sam Benning got hit by Aisu Cold with Fist causing 0 damage. -[info][2025/06/25 22:38:15]: Sam Benning got hit by Aisu Cold with Fist causing 0 damage. -[info][2025/06/25 22:38:17]: Sam Benning got hit by Aisu Cold with Fist causing 0 damage. -[info][2025/06/25 22:38:18]: Sam Benning got hit by Aisu Cold with Fist causing 0 damage. -[info][2025/06/25 22:38:20]: Sam Benning got hit by Aisu Cold with Fist causing 0 damage. -[info][2025/06/25 22:38:22]: Eylül Kaya got hit by Aisu Cold with Fist causing 20 damage. -[info][2025/06/25 22:38:23]: Sam Benning got hit by Aisu Cold with Fist causing 0 damage. -[info][2025/06/25 22:38:24]: Aisu Cold got hit by Sam Benning with AP Pistol causing 6 damage. -[info][2025/06/25 22:38:25]: Sam Benning aimed at Eylül Kaya with AP Pistol. -[info][2025/06/25 22:38:25]: Sam Benning got hit by Aisu Cold with Fist causing 0 damage. -[info][2025/06/25 22:38:27]: Aisu Cold got hit by Sam Benning with AP Pistol causing 5 damage. -[info][2025/06/25 22:38:27]: Eylül Kaya got hit by Aisu Cold with Fist causing 20 damage. -[info][2025/06/25 22:38:47]: Sam Benning got hit by Aisu Cold with Fist causing 0 damage. -[info][2025/06/25 22:42:14]: Sam Benning got hit by Sanane Banane with Animal causing 0 damage. -[info][2025/06/25 23:44:10]: Ali Bratke got hit by Ali Bratke with Animal causing 38 damage. -[info][2025/06/27 22:36:43]: Scarlett Shelby got hit by Scarlett Shelby with Fist causing 14 damage. -[info][2025/06/27 22:37:02]: Scarlett Shelby got hit by Scarlett Shelby with Fist causing 14 damage. -[info][2025/06/28 13:26:15]: Lucifer Morningstar got hit by Victoria Ann with Fist causing 16 damage. -[info][2025/06/28 13:26:21]: Lucifer Morningstar got hit by Lucifer Morningstar with Fist causing 16 damage. -[info][2025/06/28 13:26:24]: Lucifer Morningstar got hit by Lucifer Morningstar with Fist causing 0 damage. -[info][2025/06/28 13:26:25]: Lucifer Morningstar got hit by Lucifer Morningstar with Fist causing 0 damage. -[info][2025/06/28 13:26:29]: Lucifer Morningstar got hit by Lucifer Morningstar with Fist causing 0 damage. -[info][2025/06/28 13:48:15]: Victoria Ann got hit by Wilke Mayer with Fist causing 21 damage. -[info][2025/06/28 13:48:18]: Wilke Mayer got hit by Victoria Ann with Fist causing 20 damage. -[info][2025/06/28 13:58:15]: Wilke Mayer got hit by Sophia Marino with Fist causing 13 damage. -[info][2025/06/28 13:58:18]: Wilke Mayer got hit by Wilke Mayer with undefined causing 4 damage. -[info][2025/06/28 14:00:17]: Wilke Mayer got hit by Wilke Mayer with Fist causing 16 damage. -[info][2025/06/28 14:00:18]: Wilke Mayer got hit by Wilke Mayer with Fist causing 16 damage. -[info][2025/06/28 14:00:19]: Wilke Mayer got hit by Wilke Mayer with Fist causing 16 damage. -[info][2025/06/28 14:00:21]: Victoria Ann aimed at Wilke Mayer with Special Carbine. -[info][2025/06/28 14:00:29]: Wilke Mayer got hit by Shadow Wuff with Animal causing 21 damage. -[info][2025/06/28 14:02:24]: Victoria Ann got hit by Wilke Mayer with Fist causing 21 damage. -[info][2025/06/28 14:15:43]: Sophia Marino got hit by Loona Santana with Fist causing 21 damage. -[info][2025/06/28 14:45:18]: Loona Santana got hit by Sophia Marino with Fist causing 20 damage. -[info][2025/06/29 01:20:32]: Scarlett Shelby got killed by Scarlett Shelby with Cougar causing 500 damage. -[info][2025/06/29 15:03:37]: Wilke Mayer got hit by Wilke Mayer with Fist causing 0 damage. -[info][2025/06/29 17:08:09]: Wilke Mayer got hit by Sophia Marino with Fist causing 26 damage. -[info][2025/06/29 17:08:32]: Wilke Mayer got hit by Sophia Marino with Fist causing 20 damage. -[info][2025/06/29 17:08:39]: Sophia Marino got hit by Sophia Marino with Fist causing 17 damage. -[info][2025/06/29 17:08:45]: Sophia Marino got hit by Wilke Mayer with Fist causing 17 damage. -[info][2025/06/29 17:11:48]: Wilke Mayer got hit by Wilke Mayer with Fist causing 16 damage. -[info][2025/06/29 17:15:03]: Wilke Mayer got hit by Wilke Mayer with Fist causing 16 damage. -[info][2025/06/29 17:15:06]: Wilke Mayer got hit by Wilke Mayer with Fist causing 16 damage. -[info][2025/06/29 17:16:41]: Wilke Mayer got hit by Wilke Mayer with Fist causing 17 damage. -[info][2025/06/30 21:22:59]: Dr.Kimberly Smith got hit by Dr.Boris Von Dragomir with Fist causing 21 damage. -[info][2025/06/30 21:23:10]: Dr.Kimberly Smith aimed at Dr.Boris Von Dragomir with Stun Gun. -[info][2025/06/30 21:23:11]: Dr.Boris Von Dragomir got hit by Dr.Kimberly Smith with Stun Gun causing 1 damage. -[info][2025/07/01 21:56:57]: Victoria Ann aimed at Wilke Mayer with Special Carbine. -[info][2025/07/01 21:56:59]: Victoria Ann aimed at Wilke Mayer with Special Carbine. -[info][2025/07/01 21:57:03]: Victoria Ann aimed at Wilke Mayer with Special Carbine. -[info][2025/07/01 21:57:05]: Victoria Ann aimed at Wilke Mayer with Special Carbine. -[info][2025/07/01 22:20:23]: Victoria Ann got hit by Dr. Finnley Mc Coy with Pistol causing 8 damage. -[info][2025/07/01 22:20:24]: Victoria Ann got hit by Dr. Finnley Mc Coy with Pistol causing 8 damage. -[info][2025/07/01 22:20:29]: Victoria Ann got hit by Dr. Finnley Mc Coy with Pistol causing 7 damage. -[info][2025/07/01 22:20:29]: Victoria Ann got hit by Dr. Finnley Mc Coy with Pistol causing 7 damage. -[info][2025/07/01 22:20:39]: Wilke Mayer got hit by Dr. Finnley Mc Coy with Pistol causing 8 damage. -[info][2025/07/01 22:20:42]: Victoria Ann got hit by Wilke Mayer with Pistol causing 8 damage. -[info][2025/07/01 22:20:42]: Victoria Ann got hit by Wilke Mayer with Pistol causing 8 damage. -[info][2025/07/01 22:20:46]: Victoria Ann got hit by Wilke Mayer with Pistol causing 8 damage. -[info][2025/07/01 22:20:46]: Victoria Ann got hit by Wilke Mayer with Pistol causing 8 damage. -[info][2025/07/01 22:20:48]: Dr. Demon Campers aimed at Dr. Finnley Mc Coy with Heavy Revolver. -[info][2025/07/01 22:21:07]: Victoria Ann aimed at Dr. Finnley Mc Coy with Special Carbine. -[info][2025/07/01 22:21:11]: Victoria Ann aimed at Dr. Finnley Mc Coy with Special Carbine. -[info][2025/07/01 22:24:38]: Victoria Ann aimed at Dr. Demon Campers with Special Carbine. -[info][2025/07/01 22:24:40]: Dr. Demon Campers got hit by Victoria Ann with Special Carbine causing 16 damage. -[info][2025/07/01 22:24:40]: Dr. Demon Campers got hit by Victoria Ann with Special Carbine causing 16 damage. -[info][2025/07/01 22:24:41]: Dr. Demon Campers got hit by Victoria Ann with Special Carbine causing 16 damage. -[info][2025/07/01 22:24:41]: Dr. Demon Campers got hit by Victoria Ann with Special Carbine causing 16 damage. -[info][2025/07/01 22:24:42]: Dr. Demon Campers got hit by Victoria Ann with Special Carbine causing 16 damage. -[info][2025/07/01 22:24:42]: Dr. Demon Campers got hit by Victoria Ann with Special Carbine causing 16 damage. -[info][2025/07/01 22:24:42]: Dr. Demon Campers got hit by Victoria Ann with Special Carbine causing 16 damage. -[info][2025/07/01 22:24:42]: Dr. Demon Campers got hit by Victoria Ann with Special Carbine causing 16 damage. -[info][2025/07/01 22:24:42]: Dr. Demon Campers got hit by Victoria Ann with Special Carbine causing 16 damage. -[info][2025/07/01 22:24:42]: Dr. Demon Campers got hit by Victoria Ann with Special Carbine causing 16 damage. -[info][2025/07/01 22:24:43]: Dr. Demon Campers got hit by Victoria Ann with Special Carbine causing 16 damage. -[info][2025/07/01 22:24:43]: Dr. Demon Campers got hit by Victoria Ann with Special Carbine causing 16 damage. -[info][2025/07/01 22:24:43]: Dr. Demon Campers got hit by Victoria Ann with Special Carbine causing 16 damage. -[info][2025/07/01 22:24:43]: Dr. Demon Campers got hit by Victoria Ann with Special Carbine causing 16 damage. -[info][2025/07/01 22:24:43]: Dr. Demon Campers got hit by Victoria Ann with Special Carbine causing 16 damage. -[info][2025/07/01 22:24:44]: Dr. Demon Campers got hit by Victoria Ann with Special Carbine causing 16 damage. -[info][2025/07/01 22:24:44]: Dr. Demon Campers got hit by Victoria Ann with Special Carbine causing 16 damage. -[info][2025/07/01 22:24:46]: Dr. Demon Campers got killed by Victoria Ann with Special Carbine causing 302 damage. -[info][2025/07/01 22:24:47]: Victoria Ann aimed at Dr. Demon Campers with Special Carbine. -[info][2025/07/01 22:24:50]: Victoria Ann aimed at Dr. Demon Campers with Special Carbine. -[info][2025/07/01 22:24:51]: Dr. Demon Campers got hit by Victoria Ann with Special Carbine causing 15 damage. -[info][2025/07/01 22:25:00]: Victoria Ann aimed at Dr. Demon Campers with Special Carbine. -[info][2025/07/01 22:35:41]: Dr. Demon Campers aimed at Dr. Finnley Mc Coy with SNS Pistol Mk II. -[info][2025/07/01 22:35:41]: Dr. Finnley Mc Coy got hit by Dr. Demon Campers with SNS Pistol MK2 causing 29 damage. -[info][2025/07/01 22:35:45]: Dr. Demon Campers aimed at Dr. Finnley Mc Coy with SNS Pistol Mk II. -[info][2025/07/01 22:35:45]: Dr. Finnley Mc Coy got hit by Dr. Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/07/01 22:35:48]: Dr. Demon Campers aimed at Victoria Ann with SNS Pistol Mk II. -[info][2025/07/01 22:35:50]: Dr. Demon Campers aimed at Dr. Finnley Mc Coy with SNS Pistol Mk II. -[info][2025/07/01 22:35:50]: Dr. Finnley Mc Coy got hit by Dr. Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/07/01 22:36:00]: Dr. Demon Campers aimed at Dr. Finnley Mc Coy with SNS Pistol Mk II. -[info][2025/07/01 22:36:01]: Dr. Finnley Mc Coy got hit by Dr. Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/07/01 22:36:04]: Dr. Demon Campers aimed at Dr. Finnley Mc Coy with SNS Pistol Mk II. -[info][2025/07/01 22:36:05]: Dr. Finnley Mc Coy got hit by Dr. Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/07/01 22:36:09]: Dr. Demon Campers aimed at Dr. Finnley Mc Coy with SNS Pistol Mk II. -[info][2025/07/01 22:36:09]: Dr. Finnley Mc Coy got hit by Dr. Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/07/01 22:36:12]: Dr. Demon Campers aimed at Victoria Ann with SNS Pistol Mk II. -[info][2025/07/01 22:36:14]: Dr. Demon Campers aimed at Victoria Ann with SNS Pistol Mk II. -[info][2025/07/01 22:36:15]: Victoria Ann got hit by Dr. Demon Campers with SNS Pistol MK2 causing 0 damage. -[info][2025/07/01 22:53:01]: Dr. Finnley Mc Coy got hit by Dr. Demon Campers with Fist causing 20 damage. -[info][2025/07/02 10:14:32]: Torben Schmitz got hit by Torben Schmitz with Fist causing 16 damage. -[info][2025/07/02 14:07:47]: Victoria Ann got hit by Torben Schmitz with Fist causing 20 damage. -[info][2025/07/02 14:27:33]: Zoe Baker got hit by Zoe Baker with Fist causing 20 damage. -[info][2025/07/02 14:27:34]: Zoe Baker got hit by Zoe Baker with Fist causing 20 damage. -[info][2025/07/03 05:39:52]: Scarlett Shelby got hit by Pia Shelby with Fist causing 0 damage. diff --git a/resources/[tools]/unlimited-spectre/unlWeb/logs/player.log b/resources/[tools]/unlimited-spectre/unlWeb/logs/player.log deleted file mode 100644 index bb3c50af7..000000000 --- a/resources/[tools]/unlimited-spectre/unlWeb/logs/player.log +++ /dev/null @@ -1,8008 +0,0 @@ -[info][2025/04/25 13:32:54]: [TJV88535] Got killed by Seppl McCollin (XNM02296) with Explosion causing 9999 damage. -[info][2025/04/26 10:49:06]: [RMK91297] Got hit by Seppl McCollin (RMK91297) with Fist causing 14 damage. -[info][2025/04/26 10:49:07]: [RMK91297] Got hit by Seppl McCollin (RMK91297) with Fist causing 14 damage. -[info][2025/04/26 10:49:43]: [RMK91297] Got hit by Seppl McCollin (RMK91297) with Fist causing 14 damage. -[info][2025/04/26 14:00:58]: [ILO93346] Got hit by Andre Meraki (ILO93346) with Fist causing 16 damage. -[info][2025/04/26 22:46:52]: [OHM07543] minichaoz requested Demon Campers. -[info][2025/04/26 22:47:03]: [OHM07543] minichaoz viewed inventory. -[info][2025/04/26 23:46:57]: [OHM07543] nordi requested Demon Campers. -[info][2025/04/27 00:45:21]: [ASS17049] campers requested Luna Lanewood. -[info][2025/04/27 00:54:08]: [OHM07543] campers requested Demon Campers. -[info][2025/04/27 01:01:10]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/27 01:01:17]: [JCQ27225] nordi viewed inventory. -[info][2025/04/27 01:01:26]: [JCQ27225] nordi added 1x weapon_stungun to inventory. -[info][2025/04/27 01:03:10]: [JCQ27225] nordi added 1x weapon_combatpistol to inventory. -[info][2025/04/27 01:03:54]: [JCQ27225] nordi added 1x pistol_ammo to inventory. -[info][2025/04/27 01:12:32]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/27 01:12:38]: [JCQ27225] nordi viewed inventory. -[info][2025/04/27 01:12:53]: [JCQ27225] nordi added 1x weapon_flashlight to inventory. -[info][2025/04/27 01:13:12]: [JCQ27225] nordi added 1x flashlight_attachment to inventory. -[info][2025/04/27 01:13:57]: [JCQ27225] nordi viewed inventory. -[info][2025/04/27 01:17:20]: [AOJ19157] tim requested Seppl McCollin. -[info][2025/04/27 01:17:36]: [AOJ19157] tim changed charinfo for Seppl McCollin Jr.. -[info][2025/04/27 01:17:36]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/27 01:18:08]: [AOJ19157] tim healed Seppl McCollin Jr.. -[info][2025/04/27 01:18:08]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/27 01:18:10]: [AOJ19157] tim changed meta thirst for Seppl McCollin Jr. to 100. -[info][2025/04/27 01:18:10]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/27 01:18:11]: [AOJ19157] tim changed meta hunger for Seppl McCollin Jr. to 100. -[info][2025/04/27 01:18:11]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/27 01:18:13]: [AOJ19157] tim changed meta stress for Seppl McCollin Jr. to 0. -[info][2025/04/27 01:18:13]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/27 01:18:14]: [AOJ19157] tim changed meta armor for Seppl McCollin Jr. to 100. -[info][2025/04/27 01:18:14]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/27 01:18:32]: [AOJ19157] tim changed job to lspd 5 for Seppl McCollin Jr.. -[info][2025/04/27 01:18:32]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/27 01:18:48]: [AOJ19157] tim viewed inventory. -[info][2025/04/27 01:19:05]: [AOJ19157] tim moved item grape from Supporter-Stash slot 1 to Player-Inventory slot 1 in inventory. -[info][2025/04/27 01:19:25]: [AOJ19157] tim added 1x weapon_battleaxe to inventory. -[info][2025/04/27 01:20:34]: [JCQ27225] tim requested Kimberly Smith. -[info][2025/04/27 01:20:39]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/27 01:20:40]: [AOJ19157] tim requested player vehicles. -[info][2025/04/27 01:20:47]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/27 01:20:59]: [AOJ19157] tim changed meta ishandcuffed for Seppl McCollin Jr. to true. -[info][2025/04/27 01:20:59]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/27 01:21:06]: [AOJ19157] tim changed meta ishandcuffed for Seppl McCollin Jr. to false. -[info][2025/04/27 01:21:06]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/27 01:21:21]: [OHM07543] tim requested Demon Campers. -[info][2025/04/27 01:21:28]: [OHM07543] tim healed Demon Campers. -[info][2025/04/27 01:21:28]: [OHM07543] tim requested Demon Campers. -[info][2025/04/27 01:21:28]: [OHM07543] tim changed meta thirst for Demon Campers to 100. -[info][2025/04/27 01:21:28]: [OHM07543] tim requested Demon Campers. -[info][2025/04/27 01:21:29]: [OHM07543] tim changed meta hunger for Demon Campers to 100. -[info][2025/04/27 01:21:29]: [OHM07543] tim requested Demon Campers. -[info][2025/04/27 01:23:32]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/27 01:23:47]: [OHM07543] tim requested Demon Campers. -[info][2025/04/27 01:23:54]: [JCQ27225] tim requested Kimberly Smith. -[info][2025/04/27 01:24:06]: [ASS17049] tim requested Luna Lanewood. -[info][2025/04/27 01:24:15]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/27 01:24:53]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/27 01:28:46]: [AOJ19157] tim viewed inventory. -[info][2025/04/27 01:32:06]: [AOJ19157] tim deleted item metalscrap from Player-Inventory slot 3 in inventory. -[info][2025/04/27 01:32:10]: [AOJ19157] tim deleted item grape from Player-Inventory slot 1 in inventory. -[info][2025/04/27 01:32:11]: [AOJ19157] tim moved item weapon_battleaxe from Player-Inventory slot 2 to Player-Inventory slot 1 in inventory. -[info][2025/04/27 01:32:20]: [AOJ19157] tim moved item weapon_battleaxe from Player-Inventory slot 1 to Player-Inventory slot 2 in inventory. -[info][2025/04/27 01:32:28]: [AOJ19157] tim moved item weapon_battleaxe from Player-Inventory slot 2 to Player-Inventory slot 1 in inventory. -[info][2025/04/27 01:36:01]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/27 01:36:03]: [AOJ19157] tim viewed inventory. -[info][2025/04/27 01:36:18]: [AOJ19157] tim added 30x snp_ammo to inventory. -[info][2025/04/27 01:36:30]: [AOJ19157] tim added 1x weapon_heavysniper to inventory. -[info][2025/04/27 01:36:57]: [AOJ19157] Aimed at Demon Campers (OHM07543) with Heavy Sniper. -[info][2025/04/27 01:59:29]: [OHM07543] minichaoz requested Demon Campers. -[info][2025/04/27 01:59:41]: [OHM07543] minichaoz kicked Demon Campers with reason 'Restart.' -[info][2025/04/27 02:35:18]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/27 02:35:47]: [JCQ27225] nordi changed meta hunger for Kimberly Smith to 100. -[info][2025/04/27 02:35:47]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/27 02:35:47]: [JCQ27225] nordi changed meta thirst for Kimberly Smith to 100. -[info][2025/04/27 02:35:48]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/27 02:36:04]: [JCQ27225] nordi changed job to police 4 for Kimberly Smith. -[info][2025/04/27 02:36:04]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/27 02:36:31]: [JCQ27225] nordi viewed inventory. -[info][2025/04/27 02:37:27]: [JCQ27225] nordi added 1x weapon_carbinerifle to inventory. -[info][2025/04/27 02:42:40]: [JCQ27225] nordi added 1x weapon_pumpshotgun to inventory. -[info][2025/04/27 02:43:25]: [JCQ27225] nordi cleared inventory. -[info][2025/04/27 02:45:48]: [JCQ27225] nordi added 1x weapon_assaultrifle to inventory. -[info][2025/04/27 02:46:31]: [JCQ27225] nordi added 1x weapon_sniperrifle to inventory. -[info][2025/04/27 02:47:38]: [JCQ27225] nordi cleared inventory. -[info][2025/04/27 03:21:18]: [CNB21054] campers requested Mark Roderx. -[info][2025/04/27 11:08:38]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/27 11:08:41]: [AOJ19157] tim viewed inventory. -[info][2025/04/27 11:08:47]: [AOJ19157] tim deleted item snp_ammo from Player-Inventory slot 3 in inventory. -[info][2025/04/27 11:08:50]: [AOJ19157] tim deleted item weapon_heavysniper from Player-Inventory slot 2 in inventory. -[info][2025/04/27 11:08:52]: [AOJ19157] tim deleted item weapon_battleaxe from Player-Inventory slot 1 in inventory. -[info][2025/04/27 12:27:38]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/27 12:27:43]: [JCQ27225] nordi viewed inventory. -[info][2025/04/27 12:27:50]: [JCQ27225] nordi added 1x weapon_combatpistol to inventory. -[info][2025/04/27 12:28:06]: [JCQ27225] nordi added 1x pistol_ammo to inventory. -[info][2025/04/27 12:29:33]: [JCQ27225] nordi added 1x weapon_stungun to inventory. -[info][2025/04/27 12:30:10]: [JCQ27225] nordi added 1x weapon_carbinerifle to inventory. -[info][2025/04/27 12:30:30]: [JCQ27225] nordi added 1x rifle_ammo to inventory. -[info][2025/04/27 12:31:52]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/27 12:31:57]: [JCQ27225] nordi healed Kimberly Smith. -[info][2025/04/27 12:31:57]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/27 12:32:38]: [JCQ27225] nordi viewed inventory. -[info][2025/04/27 12:32:41]: [JCQ27225] nordi cleared inventory. -[info][2025/04/27 14:04:15]: [AOJ19157] tim viewed inventory. -[info][2025/04/27 14:44:33]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/27 14:47:11]: [JCQ27225] nordi viewed inventory. -[info][2025/04/27 14:47:29]: [JCQ27225] nordi added 1x loaded_fries to inventory. -[info][2025/04/27 14:48:28]: [JCQ27225] nordi added 1x weapon_carbinerifle to inventory. -[info][2025/04/27 15:12:01]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/27 15:21:46]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/27 15:22:03]: [JCQ27225] nordi viewed inventory. -[info][2025/04/27 15:22:34]: [JCQ27225] nordi added 1x weapon_stungun to inventory. -[info][2025/04/27 15:24:19]: [JCQ27225] nordi added 1x doener to inventory. -[info][2025/04/27 15:24:43]: [JCQ27225] nordi deleted item doener from Player-Inventory slot 4 in inventory. -[info][2025/04/27 15:24:47]: [JCQ27225] nordi deleted item loaded_fries from Player-Inventory slot 1 in inventory. -[info][2025/04/27 15:24:54]: [JCQ27225] nordi added 1x weapon_pumpshotgun to inventory. -[info][2025/04/27 15:25:04]: [JCQ27225] nordi deleted item weapon_carbinerifle from Player-Inventory slot 2 in inventory. -[info][2025/04/27 15:25:28]: [JCQ27225] nordi deleted item weapon_pumpshotgun from Player-Inventory slot 1 in inventory. -[info][2025/04/27 15:25:37]: [JCQ27225] nordi added 1x weapon_pumpshotgun to inventory. -[info][2025/04/27 15:29:38]: [JCQ27225] nordi added 1x weapon_specialcarbine to inventory. -[info][2025/04/27 15:30:06]: [JCQ27225] nordi deleted item weapon_specialcarbine from Player-Inventory slot 2 in inventory. -[info][2025/04/27 15:30:10]: [JCQ27225] nordi deleted item weapon_pumpshotgun from Player-Inventory slot 1 in inventory. -[info][2025/04/27 15:33:35]: [JCQ27225] nordi added 1x weapon_pumpshotgun to inventory. -[info][2025/04/27 15:34:20]: [JCQ27225] nordi added 1x weapon_combatpistol to inventory. -[info][2025/04/27 15:40:23]: [JCQ27225] nordi deleted item weapon_pumpshotgun from Player-Inventory slot 6 in inventory. -[info][2025/04/27 15:40:33]: [JCQ27225] nordi added 1x weapon_bullpuprifle to inventory. -[info][2025/04/27 17:26:26]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/27 17:26:30]: [JCQ27225] nordi healed Kimberly Smith. -[info][2025/04/27 17:26:30]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/27 17:32:51]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/27 17:32:55]: [JCQ27225] nordi viewed inventory. -[info][2025/04/27 17:33:31]: [JCQ27225] nordi added 1x rifle_ammo to inventory. -[info][2025/04/27 17:40:15]: [JCQ27225] nordi added 10x rifle_ammo to inventory. -[info][2025/04/27 17:59:03]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/27 17:59:07]: [JCQ27225] nordi healed Kimberly Smith. -[info][2025/04/27 17:59:07]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/27 18:27:12]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/27 18:27:20]: [JCQ27225] nordi healed Kimberly Smith. -[info][2025/04/27 18:27:20]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/27 18:27:22]: [JCQ27225] nordi changed meta armor for Kimberly Smith to 100. -[info][2025/04/27 18:27:22]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/27 18:27:29]: [JCQ27225] nordi viewed inventory. -[info][2025/04/27 18:27:44]: [JCQ27225] nordi added 1x weapon_specialcarbine to inventory. -[info][2025/04/27 18:28:05]: [JCQ27225] nordi added 10x rifle_ammo to inventory. -[info][2025/04/27 18:28:32]: [JCQ27225] tim requested Kimberly Smith. -[info][2025/04/27 18:29:01]: [JCQ27225] tim healed Kimberly Smith. -[info][2025/04/27 18:29:01]: [JCQ27225] tim requested Kimberly Smith. -[info][2025/04/27 18:29:02]: [JCQ27225] tim changed meta thirst for Kimberly Smith to 100. -[info][2025/04/27 18:29:02]: [JCQ27225] tim requested Kimberly Smith. -[info][2025/04/27 18:29:03]: [JCQ27225] tim changed meta hunger for Kimberly Smith to 100. -[info][2025/04/27 18:29:03]: [JCQ27225] tim requested Kimberly Smith. -[info][2025/04/27 18:29:09]: [JCQ27225] tim viewed inventory. -[info][2025/04/27 18:29:20]: [JCQ27225] tim requested Kimberly Smith. -[info][2025/04/27 18:31:01]: [JCQ27225] Aimed at Mark Roderx (CNB21054) with Special Carbine. -[info][2025/04/27 18:31:05]: [JCQ27225] Aimed at Mark Roderx (CNB21054) with Special Carbine. -[info][2025/04/27 18:31:28]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/27 18:31:32]: [JCQ27225] nordi healed Kimberly Smith. -[info][2025/04/27 18:31:32]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/27 18:31:32]: [JCQ27225] nordi changed meta thirst for Kimberly Smith to 100. -[info][2025/04/27 18:31:32]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/27 18:31:35]: [JCQ27225] Aimed at Mark Roderx (CNB21054) with Special Carbine. -[info][2025/04/27 18:31:39]: [CNB21054] Got hit by Kimberly Smith (JCQ27225) with Special Carbine causing 27 damage. -[info][2025/04/27 18:32:57]: [JCQ27225] Aimed at Mark Roderx (CNB21054) with Special Carbine. -[info][2025/04/27 18:33:06]: [JCQ27225] Aimed at Mark Roderx (CNB21054) with Special Carbine. -[info][2025/04/27 18:33:07]: [CNB21054] Got hit by Kimberly Smith (JCQ27225) with Special Carbine causing 27 damage. -[info][2025/04/27 18:33:09]: [CNB21054] Got hit by Kimberly Smith (JCQ27225) with Special Carbine causing 27 damage. -[info][2025/04/27 18:33:11]: [CNB21054] Got hit by Kimberly Smith (JCQ27225) with Special Carbine causing 27 damage. -[info][2025/04/27 18:33:17]: [CNB21054] Got killed by Kimberly Smith (JCQ27225) with Special Carbine causing 27 damage. -[info][2025/04/27 18:33:55]: [JCQ27225] Aimed at Mark Roderx (CNB21054) with Special Carbine. -[info][2025/04/27 18:34:01]: [CNB21054] Got killed by Kimberly Smith (JCQ27225) with Special Carbine causing 523 damage. -[info][2025/04/27 18:34:17]: [JCQ27225] Aimed at Mark Roderx (CNB21054) with Special Carbine. -[info][2025/04/27 18:42:48]: [JCQ27225] nordi viewed inventory. -[info][2025/04/27 18:43:01]: [JCQ27225] nordi added 1x weapon_pumpshotgun to inventory. -[info][2025/04/27 18:43:05]: [JCQ27225] nordi moved item rifle_ammo from Player-Inventory slot 4 to Player-Inventory slot 9 in inventory. -[info][2025/04/27 18:43:07]: [JCQ27225] nordi moved item weapon_stungun from Player-Inventory slot 3 to Player-Inventory slot 8 in inventory. -[info][2025/04/27 18:43:08]: [JCQ27225] nordi moved item weapon_bullpuprifle from Player-Inventory slot 1 to Player-Inventory slot 7 in inventory. -[info][2025/04/27 18:43:10]: [JCQ27225] nordi moved item weapon_bullpuprifle from Player-Inventory slot 7 to Player-Inventory slot 4 in inventory. -[info][2025/04/27 18:43:11]: [JCQ27225] nordi moved item weapon_specialcarbine from Player-Inventory slot 5 to Player-Inventory slot 10 in inventory. -[info][2025/04/27 18:43:13]: [JCQ27225] nordi deleted item weapon_specialcarbine from Player-Inventory slot 10 in inventory. -[info][2025/04/27 18:43:43]: [JCQ27225] nordi added 10x shotgun_ammo to inventory. -[info][2025/04/27 18:43:53]: [JCQ27225] nordi moved item weapon_pumpshotgun from Player-Inventory slot 6 to Player-Inventory slot 3 in inventory. -[info][2025/04/27 18:43:54]: [JCQ27225] nordi moved item weapon_bullpuprifle from Player-Inventory slot 4 to Player-Inventory slot 10 in inventory. -[info][2025/04/27 18:45:56]: [JCQ27225] nordi added 10x pistol_ammo to inventory. -[info][2025/04/27 18:47:04]: [JCQ27225] nordi added 1x attachment_bench to inventory. -[info][2025/04/27 18:47:26]: [JCQ27225] nordi deleted item attachment_bench from Player-Inventory slot 5 in inventory. -[info][2025/04/27 18:47:36]: [JCQ27225] nordi added 1x flashlight_attachment to inventory. -[info][2025/04/27 18:54:01]: [JCQ27225] nordi deleted item flashlight_attachment from Player-Inventory slot 12 in inventory. -[info][2025/04/27 21:05:53]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/27 21:05:57]: [JCQ27225] nordi healed Kimberly Smith. -[info][2025/04/27 21:05:57]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/27 21:06:01]: [JCQ27225] nordi healed Kimberly Smith. -[info][2025/04/27 21:06:01]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/27 21:06:02]: [JCQ27225] nordi changed meta thirst for Kimberly Smith to 100. -[info][2025/04/27 21:06:02]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/27 21:06:07]: [JCQ27225] nordi changed meta hunger for Kimberly Smith to 100. -[info][2025/04/27 21:06:07]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/27 21:06:44]: [JCQ27225] nordi viewed inventory. -[info][2025/04/27 21:06:57]: [JCQ27225] nordi added 1x weapon_combatshotgun to inventory. -[info][2025/04/27 21:11:30]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Combat Pistol. -[info][2025/04/27 21:11:36]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Combat Pistol. -[info][2025/04/27 21:11:39]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 26 damage. -[info][2025/04/27 21:11:40]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:11:41]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:11:42]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:11:43]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:11:44]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:11:45]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:11:46]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:11:52]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:11:53]: [OHM07543] Got killed by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:12:10]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Combat Pistol. -[info][2025/04/27 21:12:11]: [OHM07543] Got killed by Kimberly Smith (JCQ27225) with Combat Pistol causing 198 damage. -[info][2025/04/27 21:13:06]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Pump Shotgun. -[info][2025/04/27 21:13:25]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Pump Shotgun. -[info][2025/04/27 21:13:35]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Pump Shotgun. -[info][2025/04/27 21:13:36]: [OHM07543] Got killed by Kimberly Smith (JCQ27225) with Pump Shotgun causing 224 damage. -[info][2025/04/27 21:13:59]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Pump Shotgun. -[info][2025/04/27 21:14:01]: [OHM07543] Got killed by Kimberly Smith (JCQ27225) with Pump Shotgun causing 176 damage. -[info][2025/04/27 21:14:20]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Pump Shotgun. -[info][2025/04/27 21:14:21]: [OHM07543] Got killed by Kimberly Smith (JCQ27225) with Pump Shotgun causing 122 damage. -[info][2025/04/27 21:14:48]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Bullpup Rifle. -[info][2025/04/27 21:14:54]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Bullpup Rifle causing 31 damage. -[info][2025/04/27 21:14:54]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Bullpup Rifle causing 27 damage. -[info][2025/04/27 21:14:55]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Bullpup Rifle causing 27 damage. -[info][2025/04/27 21:14:56]: [OHM07543] Got killed by Kimberly Smith (JCQ27225) with Bullpup Rifle causing 27 damage. -[info][2025/04/27 21:15:07]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Bullpup Rifle. -[info][2025/04/27 21:15:07]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Bullpup Rifle causing 27 damage. -[info][2025/04/27 21:15:08]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Bullpup Rifle causing 27 damage. -[info][2025/04/27 21:15:09]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Bullpup Rifle causing 27 damage. -[info][2025/04/27 21:15:10]: [OHM07543] Got killed by Kimberly Smith (JCQ27225) with Bullpup Rifle causing 27 damage. -[info][2025/04/27 21:16:23]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/27 21:16:27]: [AOJ19157] tim healed Seppl McCollin Jr.. -[info][2025/04/27 21:16:27]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/27 21:16:27]: [AOJ19157] tim changed meta thirst for Seppl McCollin Jr. to 100. -[info][2025/04/27 21:16:27]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/27 21:16:28]: [AOJ19157] tim changed meta hunger for Seppl McCollin Jr. to 100. -[info][2025/04/27 21:16:28]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/27 21:16:30]: [AOJ19157] tim changed meta stress for Seppl McCollin Jr. to 0. -[info][2025/04/27 21:16:30]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/27 21:16:30]: [AOJ19157] tim changed meta armor for Seppl McCollin Jr. to 100. -[info][2025/04/27 21:16:30]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/27 21:16:41]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Bullpup Rifle. -[info][2025/04/27 21:16:44]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Bullpup Rifle. -[info][2025/04/27 21:16:45]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Bullpup Rifle causing 27 damage. -[info][2025/04/27 21:16:46]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Bullpup Rifle causing 24 damage. -[info][2025/04/27 21:16:46]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Bullpup Rifle causing 24 damage. -[info][2025/04/27 21:16:47]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Bullpup Rifle causing 24 damage. -[info][2025/04/27 21:16:48]: [OHM07543] Got killed by Kimberly Smith (JCQ27225) with Bullpup Rifle causing 24 damage. -[info][2025/04/27 21:17:37]: [AOJ19157] nordi requested Seppl McCollin Jr.. -[info][2025/04/27 21:17:41]: [AOJ19157] nordi healed Seppl McCollin Jr.. -[info][2025/04/27 21:17:41]: [AOJ19157] nordi requested Seppl McCollin Jr.. -[info][2025/04/27 21:17:43]: [AOJ19157] nordi changed meta thirst for Seppl McCollin Jr. to 100. -[info][2025/04/27 21:17:43]: [AOJ19157] nordi requested Seppl McCollin Jr.. -[info][2025/04/27 21:17:43]: [AOJ19157] nordi changed meta hunger for Seppl McCollin Jr. to 100. -[info][2025/04/27 21:17:43]: [AOJ19157] nordi requested Seppl McCollin Jr.. -[info][2025/04/27 21:17:45]: [AOJ19157] nordi changed meta stress for Seppl McCollin Jr. to 0. -[info][2025/04/27 21:17:46]: [AOJ19157] nordi requested Seppl McCollin Jr.. -[info][2025/04/27 21:17:49]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Fist causing 20 damage. -[info][2025/04/27 21:18:01]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Pump Shotgun. -[info][2025/04/27 21:18:04]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Pump Shotgun. -[info][2025/04/27 21:18:05]: [OHM07543] Got killed by Kimberly Smith (JCQ27225) with Pump Shotgun causing 176 damage. -[info][2025/04/27 21:18:41]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Pump Shotgun. -[info][2025/04/27 21:18:42]: [OHM07543] Got killed by Kimberly Smith (JCQ27225) with Pump Shotgun causing 128 damage. -[info][2025/04/27 21:28:23]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Pump Shotgun. -[info][2025/04/27 21:28:28]: [OHM07543] Got killed by Kimberly Smith (JCQ27225) with Pump Shotgun causing 224 damage. -[info][2025/04/27 21:29:32]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Pump Shotgun. -[info][2025/04/27 21:29:32]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Pump Shotgun causing 80 damage. -[info][2025/04/27 21:29:35]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Pump Shotgun causing 8 damage. -[info][2025/04/27 21:29:36]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Pump Shotgun causing 8 damage. -[info][2025/04/27 21:29:37]: [OHM07543] Got killed by Kimberly Smith (JCQ27225) with Pump Shotgun causing 8 damage. -[info][2025/04/27 21:30:21]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Pump Shotgun. -[info][2025/04/27 21:30:25]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Pump Shotgun. -[info][2025/04/27 21:30:26]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Pump Shotgun causing 8 damage. -[info][2025/04/27 21:30:28]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Pump Shotgun causing 8 damage. -[info][2025/04/27 21:30:29]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Pump Shotgun causing 8 damage. -[info][2025/04/27 21:30:30]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Pump Shotgun causing 8 damage. -[info][2025/04/27 21:30:31]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Pump Shotgun causing 8 damage. -[info][2025/04/27 21:30:33]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Pump Shotgun causing 8 damage. -[info][2025/04/27 21:30:34]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Pump Shotgun causing 8 damage. -[info][2025/04/27 21:30:35]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Pump Shotgun causing 8 damage. -[info][2025/04/27 21:30:36]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Pump Shotgun. -[info][2025/04/27 21:31:24]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Pump Shotgun. -[info][2025/04/27 21:31:26]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Pump Shotgun. -[info][2025/04/27 21:31:27]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Pump Shotgun causing 8 damage. -[info][2025/04/27 21:31:28]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Pump Shotgun causing 8 damage. -[info][2025/04/27 21:31:29]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Pump Shotgun causing 8 damage. -[info][2025/04/27 21:31:30]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Pump Shotgun causing 8 damage. -[info][2025/04/27 21:31:31]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Pump Shotgun causing 8 damage. -[info][2025/04/27 21:31:31]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Pump Shotgun causing 8 damage. -[info][2025/04/27 21:32:24]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Pump Shotgun. -[info][2025/04/27 21:32:27]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Pump Shotgun. -[info][2025/04/27 21:32:28]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Pump Shotgun causing 8 damage. -[info][2025/04/27 21:32:29]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Pump Shotgun causing 32 damage. -[info][2025/04/27 21:32:31]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Pump Shotgun causing 32 damage. -[info][2025/04/27 21:32:31]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Pump Shotgun. -[info][2025/04/27 21:32:32]: [OHM07543] Got killed by Kimberly Smith (JCQ27225) with Pump Shotgun causing 32 damage. -[info][2025/04/27 21:33:18]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Pump Shotgun. -[info][2025/04/27 21:33:26]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Pump Shotgun. -[info][2025/04/27 21:33:26]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Pump Shotgun causing 32 damage. -[info][2025/04/27 21:33:27]: [OHM07543] Got killed by Kimberly Smith (JCQ27225) with Pump Shotgun causing 128 damage. -[info][2025/04/27 21:34:37]: [OHM07543] campers requested Demon Campers. -[info][2025/04/27 21:34:45]: [OHM07543] campers changed meta armor for Demon Campers to 100. -[info][2025/04/27 21:34:45]: [OHM07543] campers requested Demon Campers. -[info][2025/04/27 21:35:20]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Pump Shotgun. -[info][2025/04/27 21:35:22]: [OHM07543] Got killed by Kimberly Smith (JCQ27225) with Pump Shotgun causing 128 damage. -[info][2025/04/27 21:35:23]: [OHM07543] Got killed by Kimberly Smith (JCQ27225) with Pump Shotgun causing 128 damage. -[info][2025/04/27 21:35:46]: [OHM07543] campers changed meta armor for Demon Campers to 100. -[info][2025/04/27 21:35:46]: [OHM07543] campers requested Demon Campers. -[info][2025/04/27 21:36:45]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Combat Pistol. -[info][2025/04/27 21:37:07]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Combat Pistol. -[info][2025/04/27 21:37:11]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Combat Pistol. -[info][2025/04/27 21:37:17]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 26 damage. -[info][2025/04/27 21:37:18]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:37:18]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:37:19]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:37:20]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:37:20]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:37:21]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:37:21]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:37:22]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:37:22]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:37:23]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:37:23]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:37:43]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Combat Pistol. -[info][2025/04/27 21:37:54]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:37:54]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:37:55]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:37:55]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:37:56]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:37:57]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:37:57]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:37:58]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:37:58]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:37:59]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:37:59]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:38:00]: [OHM07543] Got killed by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:39:19]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Combat Pistol. -[info][2025/04/27 21:39:20]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:39:20]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:39:21]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:39:22]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:39:22]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:39:23]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:39:24]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:39:24]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:39:25]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:39:26]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:39:26]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:39:27]: [OHM07543] Got killed by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:39:51]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Combat Pistol. -[info][2025/04/27 21:39:55]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Combat Pistol. -[info][2025/04/27 21:39:56]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:39:57]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:39:57]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:39:57]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:39:58]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:39:58]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:39:59]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:39:59]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:40:00]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:40:00]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:40:01]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:40:01]: [OHM07543] Got killed by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:40:23]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Combat Pistol. -[info][2025/04/27 21:40:33]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Combat Pistol. -[info][2025/04/27 21:40:34]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:40:34]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:40:34]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:40:35]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:40:35]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:40:36]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:40:36]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:40:37]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:40:37]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:40:38]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:40:39]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:40:39]: [OHM07543] Got killed by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:41:00]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Combat Pistol. -[info][2025/04/27 21:41:03]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Combat Pistol. -[info][2025/04/27 21:41:04]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:41:04]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:41:05]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:41:05]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:41:06]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:41:07]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:41:07]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:41:08]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:41:09]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:41:09]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:41:10]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:41:11]: [OHM07543] Got killed by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:41:42]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Combat Pistol. -[info][2025/04/27 21:41:45]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Combat Pistol. -[info][2025/04/27 21:41:46]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 9 damage. -[info][2025/04/27 21:41:46]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 20 damage. -[info][2025/04/27 21:41:47]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 20 damage. -[info][2025/04/27 21:41:47]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 20 damage. -[info][2025/04/27 21:41:48]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Pistol causing 20 damage. -[info][2025/04/27 21:41:49]: [OHM07543] Got killed by Kimberly Smith (JCQ27225) with Combat Pistol causing 20 damage. -[info][2025/04/27 21:42:56]: [OHM07543] campers requested Demon Campers. -[info][2025/04/27 21:43:03]: [OHM07543] campers viewed inventory. -[info][2025/04/27 21:43:20]: [OHM07543] campers added 1x weapon_revolver to inventory. -[info][2025/04/27 21:43:46]: [OHM07543] campers added 1x weapon_pistol to inventory. -[info][2025/04/27 21:44:01]: [OHM07543] campers added 100x pistol_ammo to inventory. -[info][2025/04/27 21:44:18]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/27 21:44:21]: [JCQ27225] nordi changed meta armor for Kimberly Smith to 100. -[info][2025/04/27 21:44:21]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/27 21:44:39]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Pistol. -[info][2025/04/27 21:44:54]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Pistol. -[info][2025/04/27 21:45:00]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Pistol causing 25 damage. -[info][2025/04/27 21:45:01]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Pistol causing 25 damage. -[info][2025/04/27 21:45:02]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Pistol causing 25 damage. -[info][2025/04/27 21:45:03]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Pistol causing 25 damage. -[info][2025/04/27 21:45:03]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Pistol causing 25 damage. -[info][2025/04/27 21:45:04]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Pistol causing 25 damage. -[info][2025/04/27 21:45:05]: [JCQ27225] Got killed by Demon Campers (OHM07543) with Pistol causing 25 damage. -[info][2025/04/27 21:46:09]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Pistol. -[info][2025/04/27 21:46:13]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Pistol causing 25 damage. -[info][2025/04/27 21:46:14]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Pistol causing 19 damage. -[info][2025/04/27 21:46:15]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Pistol causing 19 damage. -[info][2025/04/27 21:46:16]: [JCQ27225] Got killed by Demon Campers (OHM07543) with Pistol causing 19 damage. -[info][2025/04/27 21:47:12]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Pistol. -[info][2025/04/27 21:47:17]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Pistol causing 19 damage. -[info][2025/04/27 21:47:17]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Pistol causing 14 damage. -[info][2025/04/27 21:47:18]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Pistol causing 14 damage. -[info][2025/04/27 21:47:19]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Pistol causing 14 damage. -[info][2025/04/27 21:47:20]: [JCQ27225] Got killed by Demon Campers (OHM07543) with Pistol causing 14 damage. -[info][2025/04/27 21:48:36]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Pistol. -[info][2025/04/27 21:48:37]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Pistol causing 14 damage. -[info][2025/04/27 21:48:38]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Pistol causing 12 damage. -[info][2025/04/27 21:48:39]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Pistol causing 12 damage. -[info][2025/04/27 21:48:39]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Pistol causing 12 damage. -[info][2025/04/27 21:48:40]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Pistol causing 12 damage. -[info][2025/04/27 21:48:41]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Pistol causing 12 damage. -[info][2025/04/27 21:48:42]: [JCQ27225] Got killed by Demon Campers (OHM07543) with Pistol causing 12 damage. -[info][2025/04/27 21:49:23]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Pistol. -[info][2025/04/27 21:49:29]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Pistol. -[info][2025/04/27 21:49:30]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Pistol causing 12 damage. -[info][2025/04/27 21:49:31]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Pistol causing 12 damage. -[info][2025/04/27 21:49:32]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Pistol causing 12 damage. -[info][2025/04/27 21:49:33]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Pistol causing 12 damage. -[info][2025/04/27 21:49:34]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Pistol causing 12 damage. -[info][2025/04/27 21:49:35]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Pistol causing 12 damage. -[info][2025/04/27 21:49:36]: [JCQ27225] Got killed by Demon Campers (OHM07543) with Pistol causing 12 damage. -[info][2025/04/27 21:50:07]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Pistol. -[info][2025/04/27 21:50:13]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Pistol causing 12 damage. -[info][2025/04/27 21:50:14]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Pistol causing 14 damage. -[info][2025/04/27 21:50:15]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Pistol causing 14 damage. -[info][2025/04/27 21:50:16]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Pistol causing 14 damage. -[info][2025/04/27 21:50:17]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Pistol causing 14 damage. -[info][2025/04/27 21:50:18]: [JCQ27225] Got killed by Demon Campers (OHM07543) with Pistol causing 14 damage. -[info][2025/04/27 21:51:12]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Heavy Revolver. -[info][2025/04/27 21:51:17]: [JCQ27225] Got killed by Demon Campers (OHM07543) with Heavy Revolver causing 159 damage. -[info][2025/04/27 21:51:47]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Heavy Revolver. -[info][2025/04/27 21:51:50]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Heavy Revolver causing 95 damage. -[info][2025/04/27 21:53:05]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Heavy Revolver. -[info][2025/04/27 21:53:09]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Heavy Revolver causing 63 damage. -[info][2025/04/27 21:53:12]: [JCQ27225] Got killed by Demon Campers (OHM07543) with Heavy Revolver causing 31 damage. -[info][2025/04/27 21:53:43]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Heavy Revolver. -[info][2025/04/27 21:53:44]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Heavy Revolver causing 31 damage. -[info][2025/04/27 21:53:46]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Heavy Revolver causing 31 damage. -[info][2025/04/27 21:53:48]: [JCQ27225] Got killed by Demon Campers (OHM07543) with Heavy Revolver causing 31 damage. -[info][2025/04/27 21:53:49]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Heavy Revolver. -[info][2025/04/27 21:54:42]: [OHM07543] campers requested Demon Campers. -[info][2025/04/27 21:54:48]: [OHM07543] campers viewed inventory. -[info][2025/04/27 21:54:58]: [OHM07543] campers added 1x weapon_stungun to inventory. -[info][2025/04/27 21:56:00]: [OHM07543] campers requested Demon Campers. -[info][2025/04/27 21:56:04]: [OHM07543] campers changed meta hunger for Demon Campers to 100. -[info][2025/04/27 21:56:04]: [OHM07543] campers requested Demon Campers. -[info][2025/04/27 21:56:05]: [OHM07543] campers changed meta thirst for Demon Campers to 100. -[info][2025/04/27 21:56:05]: [OHM07543] campers requested Demon Campers. -[info][2025/04/27 21:56:06]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/27 21:56:10]: [JCQ27225] nordi viewed inventory. -[info][2025/04/27 21:56:15]: [JCQ27225] nordi deleted item weapon_bullpuprifle from Player-Inventory slot 13 in inventory. -[info][2025/04/27 21:56:17]: [JCQ27225] nordi deleted item weapon_pumpshotgun from Player-Inventory slot 7 in inventory. -[info][2025/04/27 21:56:20]: [JCQ27225] nordi deleted item weapon_combatpistol from Player-Inventory slot 2 in inventory. -[info][2025/04/27 21:56:22]: [JCQ27225] nordi moved item weapon_combatshotgun from Player-Inventory slot 5 to Player-Inventory slot 10 in inventory. -[info][2025/04/27 21:56:23]: [JCQ27225] nordi moved item pistol_ammo from Player-Inventory slot 4 to Player-Inventory slot 7 in inventory. -[info][2025/04/27 21:56:24]: [JCQ27225] nordi moved item shotgun_ammo from Player-Inventory slot 1 to Player-Inventory slot 6 in inventory. -[info][2025/04/27 21:56:31]: [JCQ27225] nordi added 1x weapon_heavypistol to inventory. -[info][2025/04/27 21:57:14]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Heavy Pistol. -[info][2025/04/27 21:57:17]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Heavy Pistol. -[info][2025/04/27 21:57:18]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Heavy Pistol causing 39 damage. -[info][2025/04/27 21:57:19]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Heavy Pistol causing 23 damage. -[info][2025/04/27 21:57:20]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Heavy Pistol causing 23 damage. -[info][2025/04/27 21:57:21]: [OHM07543] Got killed by Kimberly Smith (JCQ27225) with Heavy Pistol causing 23 damage. -[info][2025/04/27 21:58:10]: [JCQ27225] nordi deleted item weapon_heavypistol from Player-Inventory slot 1 in inventory. -[info][2025/04/27 21:58:26]: [JCQ27225] nordi added 1x weapon_snspistol to inventory. -[info][2025/04/27 21:59:02]: [JCQ27225] Aimed at Demon Campers (OHM07543) with SNS Pistol. -[info][2025/04/27 21:59:26]: [JCQ27225] Aimed at Demon Campers (OHM07543) with SNS Pistol. -[info][2025/04/27 21:59:29]: [JCQ27225] Aimed at Demon Campers (OHM07543) with SNS Pistol. -[info][2025/04/27 21:59:35]: [JCQ27225] Aimed at Demon Campers (OHM07543) with SNS Pistol. -[info][2025/04/27 21:59:35]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with SNS Pistol causing 24 damage. -[info][2025/04/27 21:59:36]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with SNS Pistol causing 6 damage. -[info][2025/04/27 21:59:36]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with SNS Pistol causing 6 damage. -[info][2025/04/27 21:59:37]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with SNS Pistol causing 6 damage. -[info][2025/04/27 21:59:37]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with SNS Pistol causing 6 damage. -[info][2025/04/27 21:59:38]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with SNS Pistol causing 6 damage. -[info][2025/04/27 21:59:41]: [JCQ27225] Aimed at Demon Campers (OHM07543) with SNS Pistol. -[info][2025/04/27 21:59:43]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with SNS Pistol causing 6 damage. -[info][2025/04/27 21:59:44]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with SNS Pistol causing 6 damage. -[info][2025/04/27 21:59:44]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with SNS Pistol causing 6 damage. -[info][2025/04/27 21:59:45]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with SNS Pistol causing 6 damage. -[info][2025/04/27 21:59:45]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with SNS Pistol causing 6 damage. -[info][2025/04/27 21:59:46]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with SNS Pistol causing 6 damage. -[info][2025/04/27 22:00:18]: [JCQ27225] Aimed at Demon Campers (OHM07543) with SNS Pistol. -[info][2025/04/27 22:00:21]: [JCQ27225] Aimed at Demon Campers (OHM07543) with SNS Pistol. -[info][2025/04/27 22:00:22]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with SNS Pistol causing 6 damage. -[info][2025/04/27 22:00:23]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with SNS Pistol causing 11 damage. -[info][2025/04/27 22:00:23]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with SNS Pistol causing 11 damage. -[info][2025/04/27 22:00:24]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with SNS Pistol causing 11 damage. -[info][2025/04/27 22:00:24]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with SNS Pistol causing 11 damage. -[info][2025/04/27 22:00:25]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with SNS Pistol causing 11 damage. -[info][2025/04/27 22:00:27]: [JCQ27225] Aimed at Demon Campers (OHM07543) with SNS Pistol. -[info][2025/04/27 22:00:28]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with SNS Pistol causing 11 damage. -[info][2025/04/27 22:00:28]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with SNS Pistol causing 11 damage. -[info][2025/04/27 22:00:29]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with SNS Pistol causing 11 damage. -[info][2025/04/27 22:00:29]: [OHM07543] Got killed by Kimberly Smith (JCQ27225) with SNS Pistol causing 11 damage. -[info][2025/04/27 22:01:30]: [JCQ27225] nordi deleted item weapon_snspistol from Player-Inventory slot 1 in inventory. -[info][2025/04/27 22:01:32]: [OHM07543] campers viewed inventory. -[info][2025/04/27 22:01:50]: [JCQ27225] nordi moved item weapon_combatshotgun from Player-Inventory slot 10 to Player-Inventory slot 1 in inventory. -[info][2025/04/27 22:01:59]: [OHM07543] campers added 1x weapon_ceramicpistol to inventory. -[info][2025/04/27 22:02:11]: [OHM07543] campers added 1x weapon_pistol50 to inventory. -[info][2025/04/27 22:02:19]: [JCQ27225] nordi added 10x ammo_beanbag to inventory. -[info][2025/04/27 22:06:25]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Pistol .50. -[info][2025/04/27 22:06:30]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Pistol .50 causing 29 damage. -[info][2025/04/27 22:06:32]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Pistol .50 causing 29 damage. -[info][2025/04/27 22:06:33]: [JCQ27225] Got killed by Demon Campers (OHM07543) with Pistol .50 causing 29 damage. -[info][2025/04/27 22:07:23]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Pistol .50 causing 29 damage. -[info][2025/04/27 22:07:23]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Pistol .50. -[info][2025/04/27 22:07:24]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Pistol .50 causing 24 damage. -[info][2025/04/27 22:07:25]: [JCQ27225] Got killed by Demon Campers (OHM07543) with Pistol .50 causing 24 damage. -[info][2025/04/27 22:08:03]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Pistol .50. -[info][2025/04/27 22:08:05]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Pistol .50 causing 24 damage. -[info][2025/04/27 22:08:06]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Pistol .50 causing 19 damage. -[info][2025/04/27 22:08:07]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Pistol .50 causing 19 damage. -[info][2025/04/27 22:08:09]: [JCQ27225] Got killed by Demon Campers (OHM07543) with Pistol .50 causing 19 damage. -[info][2025/04/27 22:24:24]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/27 22:24:29]: [JCQ27225] nordi viewed inventory. -[info][2025/04/27 22:24:32]: [JCQ27225] nordi deleted item weapon_combatshotgun from Player-Inventory slot 1 in inventory. -[info][2025/04/27 22:24:41]: [JCQ27225] nordi added 1x weapon_combatshotgun to inventory. -[info][2025/04/27 23:02:10]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/27 23:02:13]: [JCQ27225] nordi viewed inventory. -[info][2025/04/27 23:02:23]: [JCQ27225] nordi added 1x weapon_marksmanrifle to inventory. -[info][2025/04/27 23:02:39]: [JCQ27225] nordi added 10x snp_ammo to inventory. -[info][2025/04/27 23:04:14]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Marksman Rifle. -[info][2025/04/27 23:04:19]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Marksman Rifle. -[info][2025/04/27 23:06:59]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/27 23:07:01]: [JCQ27225] nordi healed Kimberly Smith. -[info][2025/04/27 23:07:01]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/27 23:07:02]: [JCQ27225] nordi changed meta thirst for Kimberly Smith to 100. -[info][2025/04/27 23:07:02]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/27 23:07:05]: [JCQ27225] nordi changed meta hunger for Kimberly Smith to 100. -[info][2025/04/27 23:07:05]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/27 23:07:15]: [JCQ27225] nordi healed Kimberly Smith. -[info][2025/04/27 23:07:15]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/27 23:07:15]: [JCQ27225] nordi healed Kimberly Smith. -[info][2025/04/27 23:07:15]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/27 23:07:15]: [JCQ27225] nordi healed Kimberly Smith. -[info][2025/04/27 23:07:15]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/27 23:07:27]: [JCQ27225] nordi changed meta stress for Kimberly Smith to 0. -[info][2025/04/27 23:07:27]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/27 23:07:27]: [JCQ27225] nordi changed meta stress for Kimberly Smith to 0. -[info][2025/04/27 23:07:27]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/27 23:07:27]: [JCQ27225] nordi changed meta stress for Kimberly Smith to 0. -[info][2025/04/27 23:07:27]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/27 23:07:27]: [JCQ27225] nordi changed meta stress for Kimberly Smith to 0. -[info][2025/04/27 23:07:27]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/27 23:07:36]: [JCQ27225] nordi changed meta isdead for Kimberly Smith to true. -[info][2025/04/27 23:07:36]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/27 23:07:38]: [JCQ27225] nordi changed meta isdead for Kimberly Smith to false. -[info][2025/04/27 23:07:38]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/27 23:09:50]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Marksman Rifle. -[info][2025/04/27 23:13:09]: [OHM07543] campers requested Demon Campers. -[info][2025/04/27 23:13:29]: [OHM07543] campers viewed inventory. -[info][2025/04/27 23:13:41]: [OHM07543] campers added 1x weapon_marksmanrifle_mk2 to inventory. -[info][2025/04/27 23:13:55]: [OHM07543] campers added 10x rifle_ammo to inventory. -[info][2025/04/27 23:14:19]: [JCQ27225] campers requested Kimberly Smith. -[info][2025/04/27 23:14:22]: [JCQ27225] campers viewed inventory. -[info][2025/04/27 23:14:36]: [OHM07543] campers requested Demon Campers. -[info][2025/04/27 23:14:42]: [OHM07543] campers viewed inventory. -[info][2025/04/27 23:14:52]: [OHM07543] campers added 1x weapon_marksmanrifle to inventory. -[info][2025/04/27 23:14:56]: [OHM07543] campers swaped item weapon_marksmanrifle from Player-Inventory slot 10 with item weapon_stungun from Player-Inventory slot 5 in inventory. -[info][2025/04/27 23:15:38]: [OHM07543] campers added 10x snp_ammo to inventory. -[info][2025/04/27 23:17:29]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Marksman Rifle. -[info][2025/04/27 23:17:34]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Marksman Rifle. -[info][2025/04/27 23:17:34]: [JCQ27225] Got killed by Demon Campers (OHM07543) with Marksman Rifle causing 1480 damage. -[info][2025/04/27 23:17:54]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Marksman Rifle. -[info][2025/04/27 23:17:57]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:18:00]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Marksman Rifle. -[info][2025/04/27 23:18:00]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:18:03]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:18:04]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Marksman Rifle. -[info][2025/04/27 23:18:09]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Marksman Rifle. -[info][2025/04/27 23:18:09]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:18:11]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:18:12]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:18:19]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Marksman Rifle. -[info][2025/04/27 23:18:22]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:18:26]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Marksman Rifle. -[info][2025/04/27 23:18:46]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Marksman Rifle. -[info][2025/04/27 23:18:47]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:18:49]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:18:50]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:18:51]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:18:53]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:18:54]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:18:55]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:18:56]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:19:00]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Marksman Rifle. -[info][2025/04/27 23:19:01]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:19:02]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:19:04]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Marksman Rifle. -[info][2025/04/27 23:19:31]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:19:31]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Marksman Rifle. -[info][2025/04/27 23:19:32]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:19:32]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:19:33]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:19:34]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:19:35]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:19:36]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:19:36]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:19:41]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Marksman Rifle. -[info][2025/04/27 23:19:41]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:19:42]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:20:05]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Marksman Rifle. -[info][2025/04/27 23:20:06]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:20:06]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:20:35]: [JCQ27225] campers requested Kimberly Smith. -[info][2025/04/27 23:20:49]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Marksman Rifle. -[info][2025/04/27 23:20:49]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:20:52]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:20:53]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:20:54]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Marksman Rifle. -[info][2025/04/27 23:20:54]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:20:56]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:20:57]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Marksman Rifle. -[info][2025/04/27 23:20:58]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:20:59]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:21:18]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Marksman Rifle. -[info][2025/04/27 23:21:21]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:21:22]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Marksman Rifle. -[info][2025/04/27 23:21:22]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Marksman Rifle causing 0 damage. -[info][2025/04/27 23:27:03]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Marksman Rifle. -[info][2025/04/27 23:27:04]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Marksman Rifle causing 89 damage. -[info][2025/04/27 23:27:06]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Marksman Rifle. -[info][2025/04/27 23:27:08]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Marksman Rifle causing 80 damage. -[info][2025/04/27 23:27:10]: [OHM07543] Got killed by Kimberly Smith (JCQ27225) with Marksman Rifle causing 80 damage. -[info][2025/04/27 23:27:57]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Marksman Rifle. -[info][2025/04/27 23:27:57]: [OHM07543] Got killed by Kimberly Smith (JCQ27225) with Marksman Rifle causing 1434 damage. -[info][2025/04/27 23:28:43]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Heavy Revolver. -[info][2025/04/27 23:28:50]: [JCQ27225] Got killed by Demon Campers (OHM07543) with Heavy Revolver causing 2293 damage. -[info][2025/04/27 23:35:50]: [OHM07543] campers requested Demon Campers. -[info][2025/04/27 23:35:54]: [OHM07543] campers viewed inventory. -[info][2025/04/27 23:36:06]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Marksman Rifle. -[info][2025/04/27 23:36:08]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Marksman Rifle causing 80 damage. -[info][2025/04/27 23:36:08]: [OHM07543] campers added 1x phone to inventory. -[info][2025/04/27 23:36:10]: [OHM07543] Got killed by Kimberly Smith (JCQ27225) with Marksman Rifle causing 80 damage. -[info][2025/04/27 23:37:50]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Marksman Rifle causing 80 damage. -[info][2025/04/27 23:37:52]: [OHM07543] Got killed by Kimberly Smith (JCQ27225) with Marksman Rifle causing 35 damage. -[info][2025/04/27 23:38:18]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Marksman Rifle causing 35 damage. -[info][2025/04/27 23:38:20]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Marksman Rifle causing 17 damage. -[info][2025/04/27 23:38:21]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Marksman Rifle causing 17 damage. -[info][2025/04/27 23:38:23]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Marksman Rifle causing 17 damage. -[info][2025/04/27 23:38:26]: [OHM07543] Got killed by Kimberly Smith (JCQ27225) with Marksman Rifle causing 17 damage. -[info][2025/04/27 23:40:23]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/27 23:40:26]: [JCQ27225] nordi viewed inventory. -[info][2025/04/27 23:40:29]: [JCQ27225] nordi deleted item weapon_marksmanrifle from Player-Inventory slot 2 in inventory. -[info][2025/04/27 23:40:32]: [JCQ27225] nordi deleted item weapon_combatshotgun from Player-Inventory slot 1 in inventory. -[info][2025/04/27 23:40:34]: [JCQ27225] nordi moved item snp_ammo from Player-Inventory slot 4 to Player-Inventory slot 10 in inventory. -[info][2025/04/27 23:40:35]: [JCQ27225] nordi moved item ammo_beanbag from Player-Inventory slot 3 to Player-Inventory slot 15 in inventory. -[info][2025/04/27 23:40:46]: [JCQ27225] nordi added 1x weapon_sniperrifle to inventory. -[info][2025/04/27 23:41:28]: [OHM07543] campers requested Demon Campers. -[info][2025/04/27 23:41:31]: [OHM07543] campers changed meta thirst for Demon Campers to 100. -[info][2025/04/27 23:41:31]: [OHM07543] campers requested Demon Campers. -[info][2025/04/27 23:41:31]: [OHM07543] Got killed by Kimberly Smith (JCQ27225) with Sniper Rifle causing 100 damage. -[info][2025/04/27 23:41:33]: [OHM07543] campers changed meta hunger for Demon Campers to 100. -[info][2025/04/27 23:41:33]: [OHM07543] campers requested Demon Campers. -[info][2025/04/27 23:42:06]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Sniper Rifle causing 89 damage. -[info][2025/04/27 23:42:09]: [OHM07543] Got killed by Kimberly Smith (JCQ27225) with Sniper Rifle causing 89 damage. -[info][2025/04/27 23:42:34]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Sniper Rifle causing 89 damage. -[info][2025/04/27 23:42:37]: [OHM07543] Got killed by Kimberly Smith (JCQ27225) with Sniper Rifle causing 59 damage. -[info][2025/04/27 23:43:17]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Sniper Rifle causing 59 damage. -[info][2025/04/27 23:43:20]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Sniper Rifle causing 39 damage. -[info][2025/04/27 23:43:22]: [OHM07543] Got killed by Kimberly Smith (JCQ27225) with Sniper Rifle causing 39 damage. -[info][2025/04/27 23:45:06]: [JCQ27225] nordi deleted item weapon_sniperrifle from Player-Inventory slot 1 in inventory. -[info][2025/04/27 23:45:14]: [JCQ27225] nordi added 1x weapon_assaultsmg to inventory. -[info][2025/04/27 23:45:27]: [JCQ27225] nordi added 10x smg_ammo to inventory. -[info][2025/04/27 23:46:34]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Assault SMG. -[info][2025/04/27 23:46:40]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Assault SMG. -[info][2025/04/27 23:47:03]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Assault SMG. -[info][2025/04/27 23:47:12]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Assault SMG. -[info][2025/04/27 23:47:14]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Assault SMG causing 22 damage. -[info][2025/04/27 23:47:15]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Assault SMG causing 12 damage. -[info][2025/04/27 23:47:15]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Assault SMG causing 12 damage. -[info][2025/04/27 23:47:16]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Assault SMG causing 12 damage. -[info][2025/04/27 23:47:17]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Assault SMG causing 12 damage. -[info][2025/04/27 23:47:18]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Assault SMG causing 12 damage. -[info][2025/04/27 23:47:19]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Assault SMG causing 12 damage. -[info][2025/04/27 23:47:19]: [OHM07543] Got killed by Kimberly Smith (JCQ27225) with Assault SMG causing 227 damage. -[info][2025/04/27 23:48:01]: [JCQ27225] nordi deleted item weapon_assaultsmg from Player-Inventory slot 1 in inventory. -[info][2025/04/27 23:48:02]: [JCQ27225] nordi moved item smg_ammo from Player-Inventory slot 2 to Player-Inventory slot 10 in inventory. -[info][2025/04/27 23:48:03]: [JCQ27225] nordi moved item snp_ammo from Player-Inventory slot 5 to Player-Inventory slot 14 in inventory. -[info][2025/04/27 23:48:14]: [JCQ27225] nordi added 1x weapon_grenadelauncher to inventory. -[info][2025/04/27 23:50:10]: [JCQ27225] nordi added 1x handcuffs to inventory. -[info][2025/04/27 23:51:33]: [JCQ27225] nordi deleted item weapon_grenadelauncher from Player-Inventory slot 1 in inventory. -[info][2025/04/27 23:51:54]: [JCQ27225] nordi added 1x weapon_assaultrifle to inventory. -[info][2025/04/27 23:52:37]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Assault Rifle. -[info][2025/04/27 23:52:41]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Assault Rifle. -[info][2025/04/27 23:52:41]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Assault Rifle causing 29 damage. -[info][2025/04/27 23:52:42]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Assault Rifle causing 23 damage. -[info][2025/04/27 23:52:42]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Assault Rifle causing 23 damage. -[info][2025/04/27 23:52:43]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Assault Rifle causing 23 damage. -[info][2025/04/27 23:52:44]: [OHM07543] Got killed by Kimberly Smith (JCQ27225) with Assault Rifle causing 23 damage. -[info][2025/04/27 23:52:45]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Assault Rifle. -[info][2025/04/27 23:53:49]: [JCQ27225] nordi moved item snp_ammo from Player-Inventory slot 14 to Player-Inventory slot 9 in inventory. -[info][2025/04/27 23:54:15]: [JCQ27225] nordi deleted item weapon_assaultrifle from Player-Inventory slot 1 in inventory. -[info][2025/04/27 23:54:26]: [JCQ27225] nordi added 1x weapon_carbinerifle to inventory. -[info][2025/04/27 23:54:55]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Carbine Rifle. -[info][2025/04/27 23:54:59]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Carbine Rifle. -[info][2025/04/27 23:55:00]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle causing 31 damage. -[info][2025/04/27 23:55:00]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle causing 24 damage. -[info][2025/04/27 23:55:01]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle causing 24 damage. -[info][2025/04/27 23:55:01]: [OHM07543] Got killed by Kimberly Smith (JCQ27225) with Carbine Rifle causing 24 damage. -[info][2025/04/27 23:55:26]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Carbine Rifle. -[info][2025/04/27 23:55:29]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle causing 24 damage. -[info][2025/04/27 23:55:30]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle causing 18 damage. -[info][2025/04/27 23:55:30]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle causing 18 damage. -[info][2025/04/27 23:55:31]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle causing 18 damage. -[info][2025/04/27 23:55:32]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle causing 18 damage. -[info][2025/04/27 23:55:33]: [OHM07543] Got killed by Kimberly Smith (JCQ27225) with Carbine Rifle causing 18 damage. -[info][2025/04/27 23:55:50]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Carbine Rifle. -[info][2025/04/27 23:55:51]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle causing 18 damage. -[info][2025/04/27 23:55:51]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle causing 21 damage. -[info][2025/04/27 23:55:52]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle causing 21 damage. -[info][2025/04/27 23:55:53]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle causing 21 damage. -[info][2025/04/27 23:55:53]: [OHM07543] Got killed by Kimberly Smith (JCQ27225) with Carbine Rifle causing 21 damage. -[info][2025/04/27 23:57:34]: [JCQ27225] tim requested Kimberly Smith. -[info][2025/04/27 23:58:26]: [JCQ27225] tim requested Kimberly Smith. -[info][2025/04/27 23:58:27]: [JCQ27225] tim requested player vehicles. -[info][2025/04/28 00:10:27]: [ASS17049] nordi requested Luna Lanewood. -[info][2025/04/28 00:10:30]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/28 00:10:32]: [JCQ27225] nordi viewed inventory. -[info][2025/04/28 00:10:35]: [JCQ27225] nordi moved item weapon_carbinerifle from Player-Inventory slot 1 to Player-Inventory slot 11 in inventory. -[info][2025/04/28 00:10:45]: [JCQ27225] nordi moved item handcuffs from Player-Inventory slot 2 to Player-Inventory slot 12 in inventory. -[info][2025/04/28 00:10:46]: [JCQ27225] nordi moved item rifle_ammo from Player-Inventory slot 4 to Player-Inventory slot 14 in inventory. -[info][2025/04/28 00:11:16]: [JCQ27225] nordi added 10x ammo_grenadelauncher to inventory. -[info][2025/04/28 00:11:18]: [JCQ27225] nordi moved item ammo_grenadelauncher from Player-Inventory slot 1 to Player-Inventory slot 3 in inventory. -[info][2025/04/28 00:11:32]: [JCQ27225] nordi added 1x weapon_grenadelauncher_smoke to inventory. -[info][2025/04/28 00:11:53]: [JCQ27225] nordi deleted item weapon_grenadelauncher_smoke from Player-Inventory slot 1 in inventory. -[info][2025/04/28 00:11:55]: [JCQ27225] nordi deleted item ammo_grenadelauncher from Player-Inventory slot 3 in inventory. -[info][2025/04/28 00:16:40]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/28 00:16:50]: [JCQ27225] nordi viewed inventory. -[info][2025/04/28 00:17:23]: [JCQ27225] nordi added 1x weapon_bzgas to inventory. -[info][2025/04/28 01:24:48]: [JCQ27225] nordi viewed inventory. -[info][2025/04/28 01:49:31]: [QOZ78398] nordi requested Allison Wolf. -[info][2025/04/28 01:54:20]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/28 01:54:25]: [JCQ27225] nordi changed meta thirst for Kimberly Smith to 100. -[info][2025/04/28 01:54:26]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/28 01:54:26]: [JCQ27225] nordi changed meta hunger for Kimberly Smith to 100. -[info][2025/04/28 01:54:26]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/28 02:04:52]: [JCQ27225] Got hit by Alex Sophia (YXC37715) with Fist causing 21 damage. -[info][2025/04/28 02:17:03]: [JCQ27225] Got hit by Alex Sophia (YXC37715) with Fist causing 21 damage. -[info][2025/04/28 02:18:24]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/28 02:18:27]: [JCQ27225] nordi changed meta stress for Kimberly Smith to 0. -[info][2025/04/28 02:18:27]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/28 02:18:30]: [JCQ27225] nordi changed meta stress for Kimberly Smith to 0. -[info][2025/04/28 02:18:30]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/28 02:18:31]: [JCQ27225] nordi changed meta stress for Kimberly Smith to 0. -[info][2025/04/28 02:18:31]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/28 02:18:31]: [JCQ27225] nordi changed meta stress for Kimberly Smith to 0. -[info][2025/04/28 02:18:31]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/28 02:19:35]: [JCQ27225] Aimed at Alex Sophia (YXC37715) with Carbine Rifle. -[info][2025/04/28 02:20:50]: [JCQ27225] Got hit by Alex Sophia (YXC37715) with Fist causing 21 damage. -[info][2025/04/28 02:25:33]: [YXC37715] nordi requested Alex Sophia. -[info][2025/04/28 02:25:43]: [YXC37715] nordi requested Alex Sophia. -[info][2025/04/28 02:25:46]: [YXC37715] nordi changed meta thirst for Alex Sophia to 100. -[info][2025/04/28 02:25:46]: [YXC37715] nordi requested Alex Sophia. -[info][2025/04/28 02:25:47]: [YXC37715] nordi changed meta hunger for Alex Sophia to 100. -[info][2025/04/28 02:25:47]: [YXC37715] nordi requested Alex Sophia. -[info][2025/04/28 02:28:14]: [YXC37715] nordi requested Alex Sophia. -[info][2025/04/28 02:28:28]: [YXC37715] nordi teleported to [x: -1318.6021728515625, y: -880.8659057617188]. -[info][2025/04/28 02:28:58]: [YXC37715] nordi changed meta stress for Alex Sophia to 0. -[info][2025/04/28 02:28:58]: [YXC37715] nordi requested Alex Sophia. -[info][2025/04/28 02:28:59]: [YXC37715] nordi changed meta stress for Alex Sophia to 0. -[info][2025/04/28 02:28:59]: [YXC37715] nordi requested Alex Sophia. -[info][2025/04/28 02:28:59]: [YXC37715] nordi changed meta stress for Alex Sophia to 0. -[info][2025/04/28 02:28:59]: [YXC37715] nordi requested Alex Sophia. -[info][2025/04/28 02:28:59]: [YXC37715] nordi changed meta stress for Alex Sophia to 0. -[info][2025/04/28 02:28:59]: [YXC37715] nordi requested Alex Sophia. -[info][2025/04/28 02:29:00]: [YXC37715] nordi changed meta stress for Alex Sophia to 0. -[info][2025/04/28 02:29:00]: [YXC37715] nordi requested Alex Sophia. -[info][2025/04/28 02:34:50]: [YXC37715] nordi requested Alex Sophia. -[info][2025/04/28 02:35:11]: [YXC37715] nordi deleted Alex Sophia. -[info][2025/04/28 02:35:18]: [QOZ78398] nordi requested Allison Wolf. -[info][2025/04/28 04:00:47]: [QOZ78398] nordi requested Allison Wolf. -[info][2025/04/28 04:58:58]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/28 04:59:01]: [JCQ27225] nordi viewed inventory. -[info][2025/04/28 04:59:06]: [JCQ27225] nordi moved item weapon_carbinerifle from Player-Inventory slot 1 to Player-Inventory slot 11 in inventory. -[info][2025/04/28 04:59:09]: [JCQ27225] nordi deleted item weapon_carbinerifle from Player-Inventory slot 11 in inventory. -[info][2025/04/28 04:59:11]: [JCQ27225] nordi moved item snp_ammo from Player-Inventory slot 9 to Player-Inventory slot 8 in inventory. -[info][2025/04/28 04:59:12]: [JCQ27225] nordi moved item smg_ammo from Player-Inventory slot 10 to Player-Inventory slot 9 in inventory. -[info][2025/04/28 04:59:13]: [JCQ27225] nordi moved item ammo_beanbag from Player-Inventory slot 15 to Player-Inventory slot 13 in inventory. -[info][2025/04/28 04:59:34]: [JCQ27225] nordi added 1x weapon_carbinerifle_mk2 to inventory. -[info][2025/04/28 05:01:51]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/28 05:01:54]: [JCQ27225] nordi changed meta thirst for Kimberly Smith to 100. -[info][2025/04/28 05:01:54]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/28 05:01:54]: [JCQ27225] nordi changed meta hunger for Kimberly Smith to 100. -[info][2025/04/28 05:01:54]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/28 05:01:58]: [JCQ27225] nordi changed meta thirst for Kimberly Smith to 100. -[info][2025/04/28 05:01:58]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/28 05:01:58]: [JCQ27225] nordi changed meta hunger for Kimberly Smith to 100. -[info][2025/04/28 05:01:58]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/28 13:47:03]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/28 13:47:15]: [JCQ27225] nordi viewed inventory. -[info][2025/04/28 13:48:13]: [JCQ27225] nordi added 1x weapon_combatpistol to inventory. -[info][2025/04/28 14:52:09]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/28 14:52:12]: [JCQ27225] nordi viewed inventory. -[info][2025/04/28 14:52:16]: [JCQ27225] nordi deleted item weapon_carbinerifle_mk2 from Player-Inventory slot 1 in inventory. -[info][2025/04/28 14:52:25]: [JCQ27225] nordi added 1x weapon_combatshotgun to inventory. -[info][2025/04/28 15:16:02]: [JCQ27225] nordi added 1x weapon_carbinerifle to inventory. -[info][2025/04/28 15:16:26]: [JCQ27225] nordi deleted item weapon_combatshotgun from Player-Inventory slot 1 in inventory. -[info][2025/04/28 15:17:06]: [JCQ27225] nordi added 20x rifle_ammo to inventory. -[info][2025/04/28 15:36:59]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/28 15:37:05]: [JCQ27225] nordi viewed inventory. -[info][2025/04/28 15:37:08]: [JCQ27225] nordi moved item rifle_ammo from Player-Inventory slot 1 to Player-Inventory slot 10 in inventory. -[info][2025/04/28 15:37:11]: [JCQ27225] nordi moved item weapon_carbinerifle from Player-Inventory slot 2 to Player-Inventory slot 1 in inventory. -[info][2025/04/28 15:37:13]: [JCQ27225] nordi moved item pistol_ammo from Player-Inventory slot 7 to Player-Inventory slot 2 in inventory. -[info][2025/04/28 15:37:22]: [JCQ27225] nordi added 1x weapon_pistol_mk2 to inventory. -[info][2025/04/28 16:11:18]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/28 16:11:20]: [JCQ27225] nordi changed meta thirst for Kimberly Smith to 100. -[info][2025/04/28 16:11:20]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/28 16:11:20]: [JCQ27225] nordi changed meta hunger for Kimberly Smith to 100. -[info][2025/04/28 16:11:20]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/28 16:13:41]: [JCQ27225] Got hit by Kimberly Smith (JCQ27225) with Animal causing 37 damage. -[info][2025/04/28 16:20:15]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/28 16:20:18]: [JCQ27225] nordi viewed inventory. -[info][2025/04/28 16:20:56]: [JCQ27225] nordi added 1x weapon_flashlight to inventory. -[info][2025/04/28 16:22:51]: [DSC01606] max requested Mark Petrol. -[info][2025/04/28 16:26:42]: [DSC01606] max requested Mark Petrol. -[info][2025/04/28 16:27:12]: [DSC01606] max requested Mark Petrol. -[info][2025/04/28 16:28:38]: [AOJ19157] Got hit by Seppl McCollin Jr. (AOJ19157) with Animal causing 35 damage. -[info][2025/04/28 16:28:42]: [AOJ19157] Got hit by Seppl McCollin Jr. (AOJ19157) with Animal causing 35 damage. -[info][2025/04/28 16:28:54]: [DSC01606] max viewed inventory. -[info][2025/04/28 16:29:09]: [DSC01606] max requested Mark Petrol. -[info][2025/04/28 16:30:55]: [AOJ19157] Got hit by Seppl McCollin Jr. (AOJ19157) with Animal causing 0 damage. -[info][2025/04/28 16:30:59]: [AOJ19157] Got hit by Seppl McCollin Jr. (AOJ19157) with Animal causing 0 damage. -[info][2025/04/28 16:31:03]: [AOJ19157] Got hit by Seppl McCollin Jr. (AOJ19157) with Animal causing 0 damage. -[info][2025/04/28 16:31:05]: [AOJ19157] Got hit by Seppl McCollin Jr. (AOJ19157) with Animal causing 0 damage. -[info][2025/04/28 16:31:09]: [AOJ19157] Got hit by Seppl McCollin Jr. (AOJ19157) with Animal causing 0 damage. -[info][2025/04/28 16:31:12]: [AOJ19157] Got hit by Seppl McCollin Jr. (AOJ19157) with Animal causing 0 damage. -[info][2025/04/28 16:31:17]: [AOJ19157] Got hit by Seppl McCollin Jr. (AOJ19157) with Animal causing 0 damage. -[info][2025/04/28 16:31:20]: [AOJ19157] Got hit by Seppl McCollin Jr. (AOJ19157) with Animal causing 0 damage. -[info][2025/04/28 16:31:23]: [AOJ19157] Got hit by Seppl McCollin Jr. (AOJ19157) with Animal causing 0 damage. -[info][2025/04/28 16:31:27]: [AOJ19157] Got hit by Seppl McCollin Jr. (AOJ19157) with Animal causing 0 damage. -[info][2025/04/28 16:31:30]: [AOJ19157] Got hit by Seppl McCollin Jr. (AOJ19157) with Animal causing 0 damage. -[info][2025/04/28 16:31:34]: [AOJ19157] Got hit by Seppl McCollin Jr. (AOJ19157) with Animal causing 0 damage. -[info][2025/04/28 16:31:38]: [AOJ19157] Got hit by Seppl McCollin Jr. (AOJ19157) with Animal causing 0 damage. -[info][2025/04/28 16:31:42]: [AOJ19157] Got hit by Seppl McCollin Jr. (AOJ19157) with Animal causing 0 damage. -[info][2025/04/28 16:31:46]: [AOJ19157] Got hit by Seppl McCollin Jr. (AOJ19157) with Animal causing 0 damage. -[info][2025/04/28 16:31:49]: [AOJ19157] Got hit by Seppl McCollin Jr. (AOJ19157) with Animal causing 0 damage. -[info][2025/04/28 16:31:54]: [AOJ19157] Got hit by Seppl McCollin Jr. (AOJ19157) with Animal causing 0 damage. -[info][2025/04/28 16:31:57]: [AOJ19157] Got hit by Seppl McCollin Jr. (AOJ19157) with Animal causing 0 damage. -[info][2025/04/28 16:32:03]: [AOJ19157] Got hit by Seppl McCollin Jr. (AOJ19157) with Animal causing 0 damage. -[info][2025/04/28 16:32:05]: [AOJ19157] Got hit by Seppl McCollin Jr. (AOJ19157) with Animal causing 0 damage. -[info][2025/04/28 16:32:10]: [AOJ19157] Got hit by Seppl McCollin Jr. (AOJ19157) with Animal causing 0 damage. -[info][2025/04/28 16:32:14]: [AOJ19157] Got hit by Seppl McCollin Jr. (AOJ19157) with Animal causing 0 damage. -[info][2025/04/28 16:32:16]: [AOJ19157] Got hit by Seppl McCollin Jr. (AOJ19157) with Animal causing 0 damage. -[info][2025/04/28 16:32:19]: [AOJ19157] Got hit by Seppl McCollin Jr. (AOJ19157) with Animal causing 0 damage. -[info][2025/04/28 16:32:21]: [AOJ19157] Got hit by Seppl McCollin Jr. (AOJ19157) with Animal causing 0 damage. -[info][2025/04/28 16:32:26]: [AOJ19157] Got hit by Seppl McCollin Jr. (AOJ19157) with Animal causing 0 damage. -[info][2025/04/28 16:32:30]: [AOJ19157] Got hit by Seppl McCollin Jr. (AOJ19157) with Animal causing 0 damage. -[info][2025/04/28 16:32:32]: [AOJ19157] Got hit by Seppl McCollin Jr. (AOJ19157) with Animal causing 0 damage. -[info][2025/04/28 16:32:36]: [AOJ19157] Got hit by Seppl McCollin Jr. (AOJ19157) with Animal causing 0 damage. -[info][2025/04/28 16:32:38]: [AOJ19157] Got hit by Seppl McCollin Jr. (AOJ19157) with Animal causing 0 damage. -[info][2025/04/28 16:32:42]: [AOJ19157] Got hit by Seppl McCollin Jr. (AOJ19157) with Animal causing 0 damage. -[info][2025/04/28 17:16:19]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/28 17:16:21]: [AOJ19157] tim healed Seppl McCollin Jr.. -[info][2025/04/28 17:16:21]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/28 17:16:22]: [AOJ19157] tim changed meta thirst for Seppl McCollin Jr. to 100. -[info][2025/04/28 17:16:22]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/28 17:16:22]: [AOJ19157] tim changed meta hunger for Seppl McCollin Jr. to 100. -[info][2025/04/28 17:16:22]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/28 17:16:23]: [AOJ19157] tim changed meta stress for Seppl McCollin Jr. to 0. -[info][2025/04/28 17:16:23]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/28 17:16:24]: [AOJ19157] tim changed meta armor for Seppl McCollin Jr. to 100. -[info][2025/04/28 17:16:24]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/28 17:31:44]: [DSC01606] max requested Mark Petrol. -[info][2025/04/28 17:32:19]: [DSC01606] max changed job to mechanic 9 for Mark Petrol. -[info][2025/04/28 17:32:19]: [DSC01606] max requested Mark Petrol. -[info][2025/04/28 17:33:47]: [DSC01606] max requested Mark Petrol. -[info][2025/04/28 17:34:04]: [DSC01606] max changed job to mechanic 10 for Mark Petrol. -[info][2025/04/28 17:34:04]: [DSC01606] max requested Mark Petrol. -[info][2025/04/28 18:44:07]: [QAF80426] tim requested Boris Von Dragomir. -[info][2025/04/28 18:44:48]: [QAF80426] tim changed charinfo for Dr.Boris Von Dragomir. -[info][2025/04/28 18:44:48]: [QAF80426] tim requested Dr.Boris Von Dragomir. -[info][2025/04/28 18:50:10]: [PCC19872] tim requested Boris Von Dragomir. -[info][2025/04/28 18:50:18]: [PCC19872] tim changed charinfo for Dr.Boris Von Dragomir. -[info][2025/04/28 18:50:18]: [PCC19872] tim requested Dr.Boris Von Dragomir. -[info][2025/04/28 19:42:55]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/28 19:43:10]: [AOJ19157] tim changed charinfo for Seppl McCollin Jr.. -[info][2025/04/28 19:43:10]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/28 19:43:36]: [AOJ19157] tim changed charinfo for Seppl McCollin Jr.. -[info][2025/04/28 19:43:36]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/28 19:49:37]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/28 19:50:02]: [JCQ27225] nordi changed job to lspd 0 for Kimberly Smith. -[info][2025/04/28 19:50:02]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/28 19:50:14]: [JCQ27225] nordi changed job to police 0 for Kimberly Smith. -[info][2025/04/28 19:50:14]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/28 19:50:24]: [JCQ27225] nordi changed job to police 6 for Kimberly Smith. -[info][2025/04/28 19:50:24]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/28 19:50:59]: [AOJ19157] tim changed charinfo for Seppl McCollin Jr.. -[info][2025/04/28 19:50:59]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/28 19:51:10]: [QOZ78398] tim requested Allison Wolf. -[info][2025/04/28 19:51:27]: [QOZ78398] tim deleted Allison Wolf. -[info][2025/04/28 19:57:13]: [JCQ27225] tim requested Kimberly Smith. -[info][2025/04/28 19:57:20]: [JCQ27225] tim changed charinfo for Kimberly Smith. -[info][2025/04/28 19:57:20]: [JCQ27225] tim requested Kimberly Smith. -[info][2025/04/28 19:57:39]: [JCQ27225] tim requested Kimberly Smith. -[info][2025/04/28 19:57:48]: [JCQ27225] tim changed charinfo for Kimberly Smith. -[info][2025/04/28 19:57:48]: [JCQ27225] tim requested Kimberly Smith. -[info][2025/04/28 20:05:13]: [BAZ25004] tim requested Carsten Stahl. -[info][2025/04/28 20:07:10]: [BAZ25004] tim requested Carsten Stahl. -[info][2025/04/28 20:07:21]: [BAZ25004] tim changed charinfo for Leon Meier. -[info][2025/04/28 20:07:21]: [BAZ25004] tim requested Leon Meier. -[info][2025/04/28 20:07:39]: [VHM17991] tim requested Allison Wolf. -[info][2025/04/28 20:07:49]: [VHM17991] tim changed charinfo for Allison Wolf. -[info][2025/04/28 20:07:49]: [VHM17991] tim requested Allison Wolf. -[info][2025/04/28 20:14:07]: [JCQ27225] Got hit by Frank Castle (DUD53794) with Fist causing 21 damage. -[info][2025/04/28 20:20:00]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/28 20:20:10]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/28 20:20:12]: [JCQ27225] nordi changed meta thirst for Kimberly Smith to 100. -[info][2025/04/28 20:20:12]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/28 20:20:12]: [JCQ27225] nordi changed meta hunger for Kimberly Smith to 100. -[info][2025/04/28 20:20:12]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/28 20:22:44]: [GNR11868] Got hit by Frank Castle (DUD53794) with Fist causing 20 damage. -[info][2025/04/28 20:24:19]: [GNR11868] nordi requested Amy Ann. -[info][2025/04/28 20:24:22]: [GNR11868] nordi viewed inventory. -[info][2025/04/28 20:24:31]: [GNR11868] nordi added 1x weapon_carbinerifle to inventory. -[info][2025/04/28 20:24:41]: [GNR11868] nordi added 40x rifle_ammo to inventory. -[info][2025/04/28 20:25:18]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/28 20:25:21]: [AOJ19157] tim healed Seppl McCollin Jr.. -[info][2025/04/28 20:25:21]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/28 20:25:21]: [AOJ19157] tim changed meta thirst for Seppl McCollin Jr. to 100. -[info][2025/04/28 20:25:21]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/28 20:25:22]: [AOJ19157] tim changed meta hunger for Seppl McCollin Jr. to 100. -[info][2025/04/28 20:25:22]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/28 20:25:22]: [AOJ19157] tim changed meta stress for Seppl McCollin Jr. to 0. -[info][2025/04/28 20:25:22]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/28 20:25:23]: [AOJ19157] tim changed meta armor for Seppl McCollin Jr. to 100. -[info][2025/04/28 20:25:23]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/28 20:25:46]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle causing 21 damage. -[info][2025/04/28 20:25:46]: [DUD53794] Got killed by Kimberly Smith (JCQ27225) with Carbine Rifle causing 391 damage. -[info][2025/04/28 20:27:02]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/28 20:27:19]: [AOJ19157] tim changed job to police 6 for Seppl McCollin Jr.. -[info][2025/04/28 20:27:19]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/28 20:27:56]: [AOJ19157] Got hit by Frank Castle (DUD53794) with Fist causing 20 damage. -[info][2025/04/28 20:28:29]: [AOJ19157] Got hit by Allison Wolf (VHM17991) with Fist causing 21 damage. -[info][2025/04/28 20:28:32]: [VHM17991] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 21 damage. -[info][2025/04/28 20:28:35]: [AOJ19157] Got hit by Allison Wolf (VHM17991) with Fist causing 21 damage. -[info][2025/04/28 20:28:36]: [VHM17991] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 21 damage. -[info][2025/04/28 20:28:37]: [VHM17991] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 26 damage. -[info][2025/04/28 20:28:40]: [AOJ19157] Got hit by Allison Wolf (VHM17991) with Fist causing 27 damage. -[info][2025/04/28 20:28:42]: [VHM17991] Got killed by Seppl McCollin Jr. (AOJ19157) with Fist causing 21 damage. -[info][2025/04/28 20:32:39]: [VHM17991] nordi requested Allison Wolf. -[info][2025/04/28 20:33:05]: [VHM17991] nordi viewed inventory. -[info][2025/04/28 20:33:16]: [VHM17991] nordi added 1x weapon_carbinerifle to inventory. -[info][2025/04/28 20:33:28]: [VHM17991] nordi added 40x rifle_ammo to inventory. -[info][2025/04/28 20:36:16]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/28 20:36:19]: [AOJ19157] tim viewed inventory. -[info][2025/04/28 20:36:27]: [AOJ19157] tim added 1x weapon_heavysniper_mk2 to inventory. -[info][2025/04/28 20:37:08]: [AOJ19157] tim added 1x attachment_bench to inventory. -[info][2025/04/28 20:38:25]: [AOJ19157] tim added 10x snp_ammo to inventory. -[info][2025/04/28 20:38:44]: [AOJ19157] Aimed at Kimberly Smith (JCQ27225) with Heavy Sniper MK2. -[info][2025/04/28 20:39:22]: [AOJ19157] Aimed at Kimberly Smith (JCQ27225) with Heavy Sniper MK2. -[info][2025/04/28 20:39:24]: [AOJ19157] Aimed at Amy Ann (GNR11868) with Heavy Sniper MK2. -[info][2025/04/28 20:39:40]: [AOJ19157] Aimed at Amy Ann (GNR11868) with Heavy Sniper MK2. -[info][2025/04/28 20:39:41]: [GNR11868] Got killed by Seppl McCollin Jr. (AOJ19157) with Heavy Sniper MK2 causing 230 damage. -[info][2025/04/28 20:39:44]: [AOJ19157] Aimed at Kimberly Smith (JCQ27225) with Heavy Sniper MK2. -[info][2025/04/28 20:39:48]: [JCQ27225] Got killed by Seppl McCollin Jr. (AOJ19157) with Heavy Sniper MK2 causing 6050 damage. -[info][2025/04/28 20:39:59]: [AOJ19157] Aimed at Kimberly Smith (JCQ27225) with Heavy Sniper MK2. -[info][2025/04/28 20:40:03]: [AOJ19157] Aimed at Kimberly Smith (JCQ27225) with Heavy Sniper MK2. -[info][2025/04/28 20:40:11]: [JCQ27225] tim requested Kimberly Smith. -[info][2025/04/28 20:40:13]: [JCQ27225] tim healed Kimberly Smith. -[info][2025/04/28 20:40:13]: [JCQ27225] tim requested Kimberly Smith. -[info][2025/04/28 20:40:14]: [JCQ27225] tim changed meta thirst for Kimberly Smith to 100. -[info][2025/04/28 20:40:14]: [JCQ27225] tim requested Kimberly Smith. -[info][2025/04/28 20:40:14]: [JCQ27225] tim changed meta hunger for Kimberly Smith to 100. -[info][2025/04/28 20:40:14]: [JCQ27225] tim requested Kimberly Smith. -[info][2025/04/28 20:40:15]: [JCQ27225] tim changed meta armor for Kimberly Smith to 100. -[info][2025/04/28 20:40:15]: [JCQ27225] tim requested Kimberly Smith. -[info][2025/04/28 20:40:20]: [AOJ19157] Aimed at Kimberly Smith (JCQ27225) with Heavy Sniper MK2. -[info][2025/04/28 20:40:22]: [JCQ27225] Got killed by Seppl McCollin Jr. (AOJ19157) with Heavy Sniper MK2 causing 318 damage. -[info][2025/04/28 20:40:35]: [AOJ19157] Aimed at Kimberly Smith (JCQ27225) with Heavy Sniper MK2. -[info][2025/04/28 20:40:35]: [JCQ27225] Got killed by Seppl McCollin Jr. (AOJ19157) with Heavy Sniper MK2 causing 318 damage. -[info][2025/04/28 22:32:00]: [DUK10325] tim requested Steven Steppenwolf . -[info][2025/04/28 22:32:07]: [DUK10325] tim requested Steven Steppenwolf . -[info][2025/04/28 22:32:10]: [DUK10325] tim deleted Steven Steppenwolf . -[info][2025/04/28 22:41:58]: [JQK75222] tim requested Steven Steppenwolf. -[info][2025/04/28 22:46:27]: [AOJ19157] Aimed at Demon Campers (OHM07543) with Heavy Sniper MK2. -[info][2025/04/28 22:46:29]: [OHM07543] Got killed by Seppl McCollin Jr. (AOJ19157) with Heavy Sniper MK2 causing 318 damage. -[info][2025/04/28 22:46:58]: [AOJ19157] Got killed by Demon Campers (OHM07543) with Heavy Revolver causing 605 damage. -[info][2025/04/28 23:23:31]: [OHM07543] Aimed at Seppl McCollin Jr. (AOJ19157) with Heavy Revolver. -[info][2025/04/28 23:23:56]: [OHM07543] Got hit by Seppl McCollin Jr. (AOJ19157) with Carbine Rifle causing 10 damage. -[info][2025/04/28 23:36:18]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/28 23:36:21]: [AOJ19157] tim healed Seppl McCollin Jr.. -[info][2025/04/28 23:36:21]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/28 23:36:21]: [AOJ19157] tim changed meta thirst for Seppl McCollin Jr. to 100. -[info][2025/04/28 23:36:21]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/28 23:36:22]: [AOJ19157] tim changed meta hunger for Seppl McCollin Jr. to 100. -[info][2025/04/28 23:36:22]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/28 23:36:23]: [AOJ19157] tim changed meta armor for Seppl McCollin Jr. to 100. -[info][2025/04/28 23:36:23]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/28 23:36:23]: [AOJ19157] tim changed meta armor for Seppl McCollin Jr. to 100. -[info][2025/04/28 23:36:23]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/28 23:39:49]: [AOJ19157] Got hit by Demon Campers (OHM07543) with Fist causing 0 damage. -[info][2025/04/29 04:13:10]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/29 04:13:15]: [JCQ27225] nordi viewed inventory. -[info][2025/04/29 04:13:22]: [JCQ27225] nordi deleted item weapon_combatpistol from Player-Inventory slot 4 in inventory. -[info][2025/04/29 04:13:35]: [JCQ27225] nordi added 1x w_me_colbaton to inventory. -[info][2025/04/29 04:27:33]: [DUD53794] nordi requested Frank Castle. -[info][2025/04/29 04:27:37]: [BAZ25004] nordi requested Leon Meier. -[info][2025/04/29 04:27:40]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/29 04:27:44]: [JCQ27225] nordi changed meta thirst for Kimberly Smith to 100. -[info][2025/04/29 04:27:44]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/29 04:27:44]: [JCQ27225] nordi changed meta hunger for Kimberly Smith to 100. -[info][2025/04/29 04:27:44]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/29 04:27:50]: [JCQ27225] nordi viewed inventory. -[info][2025/04/29 04:27:59]: [JCQ27225] nordi added 1x weapon_colbaton to inventory. -[info][2025/04/29 06:38:45]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/29 06:38:52]: [JCQ27225] nordi viewed inventory. -[info][2025/04/29 06:38:57]: [JCQ27225] nordi deleted item weapon_carbinerifle from Player-Inventory slot 1 in inventory. -[info][2025/04/29 06:39:40]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/29 06:39:43]: [JCQ27225] nordi viewed inventory. -[info][2025/04/29 06:39:53]: [JCQ27225] nordi added 1x weapon_snspistol_mk2 to inventory. -[info][2025/04/29 06:39:55]: [JCQ27225] nordi moved item weapon_flashlight from Player-Inventory slot 2 to Player-Inventory slot 7 in inventory. -[info][2025/04/29 06:39:56]: [JCQ27225] nordi moved item weapon_stungun from Player-Inventory slot 3 to Player-Inventory slot 14 in inventory. -[info][2025/04/29 06:40:06]: [JCQ27225] nordi added 1x weapon_militaryrifle to inventory. -[info][2025/04/29 07:08:30]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/29 07:08:33]: [JCQ27225] nordi viewed inventory. -[info][2025/04/29 07:08:35]: [JCQ27225] nordi deleted item weapon_militaryrifle from Player-Inventory slot 2 in inventory. -[info][2025/04/29 07:14:08]: [JCQ27225] nordi added 1x weapon_combatshotgun to inventory. -[info][2025/04/29 07:21:39]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/29 07:21:44]: [JCQ27225] nordi viewed inventory. -[info][2025/04/29 11:32:07]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/29 11:32:10]: [JCQ27225] nordi viewed inventory. -[info][2025/04/29 11:32:21]: [JCQ27225] nordi added 40x shotgun_ammo to inventory. -[info][2025/04/29 11:36:45]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/29 11:55:02]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/29 11:55:05]: [JCQ27225] nordi changed meta thirst for Kimberly Smith to 100. -[info][2025/04/29 11:55:05]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/29 11:55:06]: [JCQ27225] nordi changed meta hunger for Kimberly Smith to 100. -[info][2025/04/29 11:55:06]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/29 12:02:05]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/29 12:06:42]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/29 12:06:44]: [JCQ27225] nordi viewed inventory. -[info][2025/04/29 12:06:46]: [JCQ27225] nordi moved item shotgun_ammo from Player-Inventory slot 3 to Player-Inventory slot 6 in inventory. -[info][2025/04/29 12:06:47]: [JCQ27225] nordi moved item weapon_combatshotgun from Player-Inventory slot 2 to Player-Inventory slot 11 in inventory. -[info][2025/04/29 12:06:50]: [JCQ27225] nordi deleted item weapon_combatshotgun from Player-Inventory slot 11 in inventory. -[info][2025/04/29 12:06:59]: [JCQ27225] nordi added 1x weapon_carbinerifle_mk2 to inventory. -[info][2025/04/29 12:07:11]: [JCQ27225] nordi added 20x rifle_ammo to inventory. -[info][2025/04/29 12:28:02]: [JCQ27225] nordi deleted item weapon_snspistol_mk2 from Player-Inventory slot 1 in inventory. -[info][2025/04/29 12:28:13]: [JCQ27225] nordi added 1x weapon_snspistol_mk2 to inventory. -[info][2025/04/29 12:28:31]: [JCQ27225] nordi added 20x pistol_ammo to inventory. -[info][2025/04/29 12:29:19]: [JCQ27225] nordi moved item pistol_ammo from Player-Inventory slot 3 to Player-Inventory slot 11 in inventory. -[info][2025/04/29 12:29:24]: [JCQ27225] nordi deleted item ammo_beanbag from Player-Inventory slot 13 in inventory. -[info][2025/04/29 12:32:11]: [JCQ27225] nordi added 1x weapon_stungun to inventory. -[info][2025/04/29 12:35:42]: [JCQ27225] nordi moved item weapon_stungun from Player-Inventory slot 3 to Player-Inventory slot 13 in inventory. -[info][2025/04/29 12:35:43]: [JCQ27225] nordi moved item weapon_pistol_mk2 from Player-Inventory slot 5 to Player-Inventory slot 14 in inventory. -[info][2025/04/29 12:36:05]: [JCQ27225] nordi added 1x weapon_combatshotgun to inventory. -[info][2025/04/29 13:37:00]: [AOJ19157] Got hit by Andre Meraki (GJN39030) with Pistol causing 8 damage. -[info][2025/04/29 13:37:00]: [AOJ19157] Got hit by Andre Meraki (GJN39030) with Pistol causing 8 damage. -[info][2025/04/29 13:37:00]: [AOJ19157] Got hit by Andre Meraki (GJN39030) with Pistol causing 8 damage. -[info][2025/04/29 13:37:01]: [AOJ19157] Got hit by Andre Meraki (GJN39030) with Pistol causing 8 damage. -[info][2025/04/29 13:37:02]: [AOJ19157] Got hit by Andre Meraki (GJN39030) with Pistol causing 8 damage. -[info][2025/04/29 13:37:02]: [AOJ19157] Got hit by Andre Meraki (GJN39030) with Pistol causing 8 damage. -[info][2025/04/29 13:37:03]: [AOJ19157] Aimed at Andre Meraki (GJN39030) with Heavy Sniper MK2. -[info][2025/04/29 13:37:04]: [AOJ19157] Got hit by Andre Meraki (GJN39030) with Pistol causing 8 damage. -[info][2025/04/29 13:37:05]: [AOJ19157] Got hit by Andre Meraki (GJN39030) with Pistol causing 8 damage. -[info][2025/04/29 13:37:08]: [AOJ19157] Got hit by Andre Meraki (GJN39030) with Pistol causing 8 damage. -[info][2025/04/29 13:37:35]: [AOJ19157] Got hit by Andre Meraki (GJN39030) with Pistol causing 7 damage. -[info][2025/04/29 13:47:06]: [AOJ19157] Aimed at Andre Meraki (GJN39030) with Heavy Sniper MK2. -[info][2025/04/29 14:30:23]: [GJN39030] tim requested Andre Meraki. -[info][2025/04/29 14:30:34]: [GJN39030] tim changed charinfo for Dr.Andre Meraki. -[info][2025/04/29 14:30:34]: [GJN39030] tim requested Dr.Andre Meraki. -[info][2025/04/29 14:30:50]: [GJN39030] tim changed meta thirst for Dr.Andre Meraki to 100. -[info][2025/04/29 14:30:50]: [GJN39030] tim requested Dr.Andre Meraki. -[info][2025/04/29 14:30:50]: [GJN39030] tim changed meta hunger for Dr.Andre Meraki to 100. -[info][2025/04/29 14:30:50]: [GJN39030] tim requested Dr.Andre Meraki. -[info][2025/04/29 14:30:51]: [GJN39030] tim changed meta armor for Dr.Andre Meraki to 100. -[info][2025/04/29 14:30:51]: [GJN39030] tim requested Dr.Andre Meraki. -[info][2025/04/29 14:30:52]: [GJN39030] tim changed meta stress for Dr.Andre Meraki to 0. -[info][2025/04/29 14:30:52]: [GJN39030] tim requested Dr.Andre Meraki. -[info][2025/04/29 14:31:00]: [GJN39030] tim gave 1 bank to Dr.Andre Meraki. -[info][2025/04/29 14:31:00]: [GJN39030] tim requested Dr.Andre Meraki. -[info][2025/04/29 14:31:04]: [GJN39030] tim removed 1 bank from Dr.Andre Meraki. -[info][2025/04/29 14:31:04]: [GJN39030] tim requested Dr.Andre Meraki. -[info][2025/04/29 14:31:14]: [GJN39030] tim gave 1 cash to Dr.Andre Meraki. -[info][2025/04/29 14:31:14]: [GJN39030] tim requested Dr.Andre Meraki. -[info][2025/04/29 14:31:18]: [GJN39030] tim removed 501 cash from Dr.Andre Meraki. -[info][2025/04/29 14:31:18]: [GJN39030] tim requested Dr.Andre Meraki. -[info][2025/04/29 14:31:22]: [GJN39030] tim gave 500 bank to Dr.Andre Meraki. -[info][2025/04/29 14:31:22]: [GJN39030] tim requested Dr.Andre Meraki. -[info][2025/04/29 14:31:35]: [GJN39030] tim requested player vehicles. -[info][2025/04/29 14:31:44]: [GJN39030] tim requested Dr.Andre Meraki. -[info][2025/04/29 15:11:34]: [GJN39030] tim requested Dr.Andre Meraki. -[info][2025/04/29 15:11:39]: [MWV00464] tim requested LaRossa Bruder. -[info][2025/04/29 15:11:44]: [MWV00464] tim changed charinfo for LaRossa Bruder 1. -[info][2025/04/29 15:11:44]: [MWV00464] tim requested LaRossa Bruder 1. -[info][2025/04/29 15:11:53]: [MWV00464] tim changed charinfo for LaRossa Bruder 1. -[info][2025/04/29 15:11:53]: [MWV00464] tim requested LaRossa Bruder 1. -[info][2025/04/29 16:51:16]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/29 16:51:34]: [AOJ19157] tim changed job to larossa 0 for Seppl McCollin Jr.. -[info][2025/04/29 16:51:34]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/29 17:00:53]: [DSC01606] max requested Mark Petrol. -[info][2025/04/29 17:01:09]: [DSC01606] max changed meta hunger for Mark Petrol to 100. -[info][2025/04/29 17:01:09]: [DSC01606] max requested Mark Petrol. -[info][2025/04/29 17:01:10]: [DSC01606] max changed meta thirst for Mark Petrol to 100. -[info][2025/04/29 17:01:10]: [DSC01606] max requested Mark Petrol. -[info][2025/04/29 17:01:34]: [DSC01606] max healed Mark Petrol. -[info][2025/04/29 17:01:34]: [DSC01606] max requested Mark Petrol. -[info][2025/04/29 17:04:49]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/29 17:04:51]: [AOJ19157] tim healed Seppl McCollin Jr.. -[info][2025/04/29 17:04:51]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/29 17:04:52]: [AOJ19157] tim changed meta thirst for Seppl McCollin Jr. to 100. -[info][2025/04/29 17:04:52]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/29 17:04:52]: [AOJ19157] tim changed meta hunger for Seppl McCollin Jr. to 100. -[info][2025/04/29 17:04:52]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/29 17:04:53]: [AOJ19157] tim healed Seppl McCollin Jr.. -[info][2025/04/29 17:04:53]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/29 17:04:54]: [AOJ19157] tim changed meta stress for Seppl McCollin Jr. to 0. -[info][2025/04/29 17:04:54]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/29 17:04:55]: [AOJ19157] tim changed meta armor for Seppl McCollin Jr. to 100. -[info][2025/04/29 17:04:55]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/29 17:10:07]: [MWV00464] tim requested LaRossa Bruder 1. -[info][2025/04/29 17:10:20]: [MWV00464] tim requested player vehicles. -[info][2025/04/29 17:10:21]: [MWV00464] tim requested LaRossa Bruder 1. -[info][2025/04/29 17:21:54]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/29 17:32:56]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/29 17:33:05]: [AOJ19157] tim healed Seppl McCollin Jr.. -[info][2025/04/29 17:33:05]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/29 17:33:05]: [AOJ19157] tim changed meta thirst for Seppl McCollin Jr. to 100. -[info][2025/04/29 17:33:05]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/29 17:33:06]: [AOJ19157] tim changed meta hunger for Seppl McCollin Jr. to 100. -[info][2025/04/29 17:33:06]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/29 17:33:06]: [AOJ19157] tim changed meta stress for Seppl McCollin Jr. to 0. -[info][2025/04/29 17:33:07]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/29 17:33:07]: [AOJ19157] tim changed meta armor for Seppl McCollin Jr. to 100. -[info][2025/04/29 17:33:07]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/29 17:38:37]: [AOJ19157] max requested Seppl McCollin Jr.. -[info][2025/04/29 17:40:14]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/29 17:40:22]: [AOJ19157] tim changed job to larossa 0 for Seppl McCollin Jr.. -[info][2025/04/29 17:40:22]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/29 17:48:43]: [MWV00464] tim requested LaRossa Bruder 1. -[info][2025/04/29 17:48:54]: [MWV00464] tim changed job to larossa 0 for LaRossa Bruder 1. -[info][2025/04/29 17:48:54]: [MWV00464] tim requested LaRossa Bruder 1. -[info][2025/04/29 17:49:17]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/29 17:49:23]: [AOJ19157] tim changed job to larossa 0 for Seppl McCollin Jr.. -[info][2025/04/29 17:49:23]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/29 17:49:29]: [MWV00464] tim requested LaRossa Bruder 1. -[info][2025/04/29 17:49:35]: [MWV00464] tim changed job to larossa 0 for LaRossa Bruder 1. -[info][2025/04/29 17:49:35]: [MWV00464] tim requested LaRossa Bruder 1. -[info][2025/04/29 17:50:46]: [JCQ27225] Got hit by Frank Castle (DUD53794) with Fist causing 20 damage. -[info][2025/04/29 17:51:45]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Carbine Rifle Mk II. -[info][2025/04/29 17:51:46]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:51:47]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:51:47]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:51:48]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:51:57]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Carbine Rifle Mk II. -[info][2025/04/29 17:51:57]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:51:58]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:51:58]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:51:59]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:52:05]: [JCQ27225] Aimed at Frank Castle (DUD53794) with SNS Pistol Mk II. -[info][2025/04/29 17:52:21]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Combat Shotgun. -[info][2025/04/29 17:52:24]: [DUD53794] Got killed by Kimberly Smith (JCQ27225) with Combat Shotgun causing 180 damage. -[info][2025/04/29 17:53:27]: [DSC01606] max requested Mark Petrol. -[info][2025/04/29 17:53:44]: [DSC01606] max changed job to mechanic 10 for Mark Petrol. -[info][2025/04/29 17:53:44]: [DSC01606] max requested Mark Petrol. -[info][2025/04/29 17:55:41]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Combat Shotgun. -[info][2025/04/29 17:55:41]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat Shotgun causing 0 damage. -[info][2025/04/29 17:55:42]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat Shotgun causing 0 damage. -[info][2025/04/29 17:55:43]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat Shotgun causing 0 damage. -[info][2025/04/29 17:55:47]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Combat Shotgun. -[info][2025/04/29 17:55:48]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat Shotgun causing 0 damage. -[info][2025/04/29 17:55:49]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Combat Shotgun. -[info][2025/04/29 17:57:37]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/29 17:57:45]: [JCQ27225] nordi viewed inventory. -[info][2025/04/29 17:57:56]: [JCQ27225] nordi added 1x weapon_stungun to inventory. -[info][2025/04/29 17:58:06]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Combat Shotgun. -[info][2025/04/29 17:58:07]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat Shotgun causing 0 damage. -[info][2025/04/29 17:58:20]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Stun Gun. -[info][2025/04/29 17:58:23]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Stun Gun. -[info][2025/04/29 17:58:25]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Stun Gun causing 1 damage. -[info][2025/04/29 17:59:21]: [JCQ27225] Aimed at Frank Castle (DUD53794) with SNS Pistol Mk II. -[info][2025/04/29 17:59:24]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Carbine Rifle Mk II. -[info][2025/04/29 17:59:25]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:59:26]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:59:26]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:59:27]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:59:27]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:59:27]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:59:27]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:59:27]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:59:27]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:59:27]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:59:28]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:59:29]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:59:29]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:59:29]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:59:29]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:59:29]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:59:29]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 17:59:30]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 18:00:08]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Combat Shotgun. -[info][2025/04/29 18:00:09]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat Shotgun causing 0 damage. -[info][2025/04/29 18:00:11]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat Shotgun causing 0 damage. -[info][2025/04/29 18:00:12]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat Shotgun causing 0 damage. -[info][2025/04/29 18:00:13]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat Shotgun causing 0 damage. -[info][2025/04/29 18:00:15]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat Shotgun causing 0 damage. -[info][2025/04/29 18:00:28]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Carbine Rifle Mk II. -[info][2025/04/29 18:00:28]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 18:00:29]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 18:00:29]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 18:00:29]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 18:00:30]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 18:00:30]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 18:00:30]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 18:00:30]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 18:00:30]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 18:00:30]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 18:00:30]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 18:00:30]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 18:00:31]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 18:00:32]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 18:00:32]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 18:00:32]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 18:00:32]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 18:00:32]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 18:00:32]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 18:00:32]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 18:00:53]: [JCQ27225] Aimed at Frank Castle (DUD53794) with SNS Pistol Mk II. -[info][2025/04/29 18:03:00]: [DUD53794] nordi requested Frank Castle. -[info][2025/04/29 18:03:03]: [DUD53794] nordi viewed inventory. -[info][2025/04/29 18:03:20]: [DUD53794] nordi added 1x weapon_snspistol_mk2 to inventory. -[info][2025/04/29 18:03:32]: [DUD53794] nordi added 10x pistol_ammo to inventory. -[info][2025/04/29 18:06:23]: [DUD53794] Aimed at Kimberly Smith (JCQ27225) with SNS Pistol Mk II. -[info][2025/04/29 18:06:23]: [JCQ27225] Got hit by Frank Castle (DUD53794) with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 18:06:24]: [JCQ27225] Got hit by Frank Castle (DUD53794) with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 18:06:24]: [JCQ27225] Got hit by Frank Castle (DUD53794) with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 18:06:25]: [DUD53794] Aimed at Kimberly Smith (JCQ27225) with SNS Pistol Mk II. -[info][2025/04/29 18:06:25]: [JCQ27225] Got hit by Frank Castle (DUD53794) with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 18:06:29]: [JCQ27225] Got hit by Frank Castle (DUD53794) with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 18:06:30]: [JCQ27225] Got hit by Frank Castle (DUD53794) with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 18:06:31]: [DUD53794] Aimed at Kimberly Smith (JCQ27225) with SNS Pistol Mk II. -[info][2025/04/29 18:06:35]: [JCQ27225] Got hit by Frank Castle (DUD53794) with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 18:07:36]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/29 18:07:39]: [JCQ27225] nordi viewed inventory. -[info][2025/04/29 18:07:55]: [JCQ27225] nordi added 1x weapon_snspistol_mk2 to inventory. -[info][2025/04/29 18:16:27]: [AOJ19157] Got hit by Seppl McCollin Jr. (AOJ19157) with Pistol causing 19 damage. -[info][2025/04/29 19:12:06]: [DSC01606] max changed meta hunger for Mark Petrol to 100. -[info][2025/04/29 19:12:06]: [DSC01606] max requested Mark Petrol. -[info][2025/04/29 19:45:39]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Combat Shotgun. -[info][2025/04/29 19:45:40]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat Shotgun causing 0 damage. -[info][2025/04/29 19:45:48]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Combat Shotgun. -[info][2025/04/29 19:45:51]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat Shotgun causing 0 damage. -[info][2025/04/29 19:45:53]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat Shotgun causing 0 damage. -[info][2025/04/29 19:46:08]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Combat Shotgun. -[info][2025/04/29 19:46:09]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat Shotgun causing 0 damage. -[info][2025/04/29 19:46:15]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Combat Shotgun. -[info][2025/04/29 19:46:48]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/29 19:46:51]: [JCQ27225] nordi viewed inventory. -[info][2025/04/29 19:47:00]: [JCQ27225] nordi added 20x shotgun_ammo to inventory. -[info][2025/04/29 19:47:12]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Combat Shotgun. -[info][2025/04/29 19:47:14]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat Shotgun causing 0 damage. -[info][2025/04/29 19:47:22]: [JCQ27225] Aimed at Frank Castle (DUD53794) with SNS Pistol Mk II. -[info][2025/04/29 19:47:23]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with SNS Pistol MK2 causing 29 damage. -[info][2025/04/29 19:47:34]: [JCQ27225] Aimed at Frank Castle (DUD53794) with SNS Pistol Mk II. -[info][2025/04/29 19:47:36]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 19:47:37]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 19:47:38]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 19:47:38]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 19:47:44]: [JCQ27225] Aimed at Frank Castle (DUD53794) with SNS Pistol Mk II. -[info][2025/04/29 19:47:45]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 19:47:47]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 19:47:48]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 19:47:57]: [JCQ27225] Aimed at Frank Castle (DUD53794) with SNS Pistol Mk II. -[info][2025/04/29 19:47:58]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 19:47:59]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 19:48:00]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 19:48:12]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Combat Shotgun. -[info][2025/04/29 19:48:16]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat Shotgun causing 0 damage. -[info][2025/04/29 19:48:18]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat Shotgun causing 0 damage. -[info][2025/04/29 19:48:20]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat Shotgun causing 0 damage. -[info][2025/04/29 19:48:22]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat Shotgun causing 0 damage. -[info][2025/04/29 19:48:28]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Combat Shotgun. -[info][2025/04/29 19:48:29]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat Shotgun causing 0 damage. -[info][2025/04/29 19:48:31]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Combat Shotgun. -[info][2025/04/29 19:48:31]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat Shotgun causing 0 damage. -[info][2025/04/29 19:48:32]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat Shotgun causing 0 damage. -[info][2025/04/29 19:48:34]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat Shotgun causing 0 damage. -[info][2025/04/29 19:48:36]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat Shotgun causing 0 damage. -[info][2025/04/29 19:55:45]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/29 19:55:47]: [AOJ19157] tim healed Seppl McCollin Jr.. -[info][2025/04/29 19:55:47]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/29 19:55:48]: [AOJ19157] tim changed meta thirst for Seppl McCollin Jr. to 100. -[info][2025/04/29 19:55:48]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/29 19:55:48]: [AOJ19157] tim changed meta hunger for Seppl McCollin Jr. to 100. -[info][2025/04/29 19:55:48]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/29 19:55:49]: [AOJ19157] tim changed meta stress for Seppl McCollin Jr. to 0. -[info][2025/04/29 19:55:49]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/29 19:55:50]: [AOJ19157] tim changed meta armor for Seppl McCollin Jr. to 100. -[info][2025/04/29 19:55:50]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/29 19:56:41]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/29 19:56:43]: [JCQ27225] nordi changed meta thirst for Kimberly Smith to 100. -[info][2025/04/29 19:56:43]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/29 19:56:43]: [JCQ27225] nordi changed meta hunger for Kimberly Smith to 100. -[info][2025/04/29 19:56:43]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/29 20:04:17]: [DUD53794] nordi requested Frank Castle. -[info][2025/04/29 20:04:19]: [DUD53794] nordi changed meta thirst for Frank Castle to 100. -[info][2025/04/29 20:04:19]: [DUD53794] nordi requested Frank Castle. -[info][2025/04/29 20:04:19]: [DUD53794] nordi changed meta hunger for Frank Castle to 100. -[info][2025/04/29 20:04:19]: [DUD53794] nordi requested Frank Castle. -[info][2025/04/29 20:04:23]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Combat Shotgun. -[info][2025/04/29 20:04:37]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Combat Shotgun. -[info][2025/04/29 20:04:38]: [DUD53794] Got killed by Kimberly Smith (JCQ27225) with Combat Shotgun causing 180 damage. -[info][2025/04/29 20:06:26]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Combat Shotgun. -[info][2025/04/29 20:06:28]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Combat Shotgun. -[info][2025/04/29 20:06:30]: [DUD53794] Got killed by Kimberly Smith (JCQ27225) with Combat Shotgun causing 180 damage. -[info][2025/04/29 20:07:43]: [DUD53794] Aimed at Kimberly Smith (JCQ27225) with SNS Pistol Mk II. -[info][2025/04/29 20:07:44]: [JCQ27225] Got killed by Frank Castle (DUD53794) with SNS Pistol MK2 causing 627 damage. -[info][2025/04/29 20:08:17]: [JCQ27225] Aimed at Frank Castle (DUD53794) with SNS Pistol Mk II. -[info][2025/04/29 20:08:18]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with SNS Pistol MK2 causing 29 damage. -[info][2025/04/29 20:08:22]: [JCQ27225] Aimed at Frank Castle (DUD53794) with SNS Pistol Mk II. -[info][2025/04/29 20:08:23]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 20:08:31]: [DUD53794] Aimed at Kimberly Smith (JCQ27225) with SNS Pistol Mk II. -[info][2025/04/29 20:08:32]: [JCQ27225] Got hit by Frank Castle (DUD53794) with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 20:08:34]: [DUD53794] Aimed at Kimberly Smith (JCQ27225) with SNS Pistol Mk II. -[info][2025/04/29 20:08:43]: [DUD53794] Aimed at Kimberly Smith (JCQ27225) with SNS Pistol Mk II. -[info][2025/04/29 20:08:58]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Combat Shotgun. -[info][2025/04/29 20:09:00]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Combat Shotgun. -[info][2025/04/29 20:09:01]: [DUD53794] Aimed at Kimberly Smith (JCQ27225) with SNS Pistol Mk II. -[info][2025/04/29 20:09:01]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat Shotgun causing 0 damage. -[info][2025/04/29 20:09:04]: [DUD53794] Aimed at Kimberly Smith (JCQ27225) with SNS Pistol Mk II. -[info][2025/04/29 20:09:04]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Combat Shotgun. -[info][2025/04/29 20:09:05]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat Shotgun causing 0 damage. -[info][2025/04/29 20:09:06]: [DUD53794] Aimed at Kimberly Smith (JCQ27225) with SNS Pistol Mk II. -[info][2025/04/29 20:09:08]: [DUD53794] Aimed at Kimberly Smith (JCQ27225) with SNS Pistol Mk II. -[info][2025/04/29 20:09:11]: [JCQ27225] Aimed at Frank Castle (DUD53794) with SNS Pistol Mk II. -[info][2025/04/29 20:09:12]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 20:09:13]: [JCQ27225] Aimed at Frank Castle (DUD53794) with SNS Pistol Mk II. -[info][2025/04/29 20:09:16]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 20:09:16]: [DUD53794] Aimed at Kimberly Smith (JCQ27225) with SNS Pistol Mk II. -[info][2025/04/29 20:09:18]: [DUD53794] Aimed at Kimberly Smith (JCQ27225) with SNS Pistol Mk II. -[info][2025/04/29 20:09:22]: [DUD53794] Aimed at Kimberly Smith (JCQ27225) with SNS Pistol Mk II. -[info][2025/04/29 20:09:22]: [JCQ27225] Got hit by Frank Castle (DUD53794) with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 20:09:22]: [JCQ27225] Aimed at Frank Castle (DUD53794) with SNS Pistol Mk II. -[info][2025/04/29 20:09:25]: [JCQ27225] Got hit by Frank Castle (DUD53794) with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 20:09:26]: [JCQ27225] Got hit by Frank Castle (DUD53794) with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 20:09:26]: [DUD53794] Aimed at Kimberly Smith (JCQ27225) with SNS Pistol Mk II. -[info][2025/04/29 20:09:29]: [JCQ27225] Aimed at Frank Castle (DUD53794) with SNS Pistol Mk II. -[info][2025/04/29 20:09:30]: [DUD53794] Aimed at Kimberly Smith (JCQ27225) with SNS Pistol Mk II. -[info][2025/04/29 20:09:38]: [JCQ27225] Aimed at Frank Castle (DUD53794) with SNS Pistol Mk II. -[info][2025/04/29 20:09:43]: [DUD53794] Aimed at Kimberly Smith (JCQ27225) with SNS Pistol Mk II. -[info][2025/04/29 20:09:43]: [JCQ27225] Got hit by Frank Castle (DUD53794) with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 20:09:45]: [DUD53794] Aimed at Kimberly Smith (JCQ27225) with SNS Pistol Mk II. -[info][2025/04/29 20:09:46]: [JCQ27225] Got hit by Frank Castle (DUD53794) with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 20:09:48]: [JCQ27225] Got hit by Frank Castle (DUD53794) with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 20:09:48]: [DUD53794] Aimed at Kimberly Smith (JCQ27225) with SNS Pistol Mk II. -[info][2025/04/29 20:10:00]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 32 damage. -[info][2025/04/29 20:10:00]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Carbine Rifle Mk II. -[info][2025/04/29 20:10:04]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 20:10:32]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Combat Shotgun. -[info][2025/04/29 20:10:33]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat Shotgun causing 0 damage. -[info][2025/04/29 20:15:23]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Combat Shotgun. -[info][2025/04/29 20:15:24]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat Shotgun causing 0 damage. -[info][2025/04/29 20:15:37]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Combat Shotgun. -[info][2025/04/29 20:15:38]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat Shotgun causing 0 damage. -[info][2025/04/29 20:15:42]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat Shotgun causing 0 damage. -[info][2025/04/29 20:15:51]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Carbine Rifle Mk II. -[info][2025/04/29 20:15:52]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 20:15:56]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Carbine Rifle Mk II. -[info][2025/04/29 20:15:56]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 20:15:57]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 20:16:33]: [DUD53794] Aimed at Kimberly Smith (JCQ27225) with SNS Pistol Mk II. -[info][2025/04/29 20:16:33]: [JCQ27225] Got hit by Frank Castle (DUD53794) with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 20:16:49]: [JCQ27225] Aimed at Frank Castle (DUD53794) with SNS Pistol Mk II. -[info][2025/04/29 20:16:53]: [DUD53794] Aimed at Kimberly Smith (JCQ27225) with SNS Pistol Mk II. -[info][2025/04/29 20:16:54]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Carbine Rifle Mk II. -[info][2025/04/29 20:17:01]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Carbine Rifle Mk II. -[info][2025/04/29 20:17:06]: [DUD53794] Aimed at Kimberly Smith (JCQ27225) with SNS Pistol Mk II. -[info][2025/04/29 20:17:08]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Carbine Rifle Mk II. -[info][2025/04/29 20:17:09]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 20:17:13]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Carbine Rifle Mk II. -[info][2025/04/29 20:17:13]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 20:17:16]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 20:17:17]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Carbine Rifle Mk II. -[info][2025/04/29 20:17:17]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 20:17:19]: [DUD53794] Aimed at Kimberly Smith (JCQ27225) with SNS Pistol Mk II. -[info][2025/04/29 20:17:21]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Carbine Rifle Mk II. -[info][2025/04/29 20:17:21]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 20:17:26]: [DUD53794] Aimed at Kimberly Smith (JCQ27225) with SNS Pistol Mk II. -[info][2025/04/29 20:17:26]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Carbine Rifle Mk II. -[info][2025/04/29 20:17:27]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 20:17:39]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Carbine Rifle Mk II. -[info][2025/04/29 20:17:40]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 20:17:54]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Carbine Rifle Mk II. -[info][2025/04/29 20:17:54]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/29 20:18:58]: [DUD53794] Aimed at Kimberly Smith (JCQ27225) with RPG. -[info][2025/04/29 20:20:02]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/29 20:20:31]: [JCQ27225] Got hit by Frank Castle (DUD53794) with Fist causing 20 damage. -[info][2025/04/29 20:23:21]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/29 20:23:33]: [JCQ27225] nordi changed job to ambulance 11 for Kimberly Smith. -[info][2025/04/29 20:23:33]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/29 21:08:09]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/29 21:08:36]: [AOJ19157] tim changed charinfo for Seppl McCollin Jr.. -[info][2025/04/29 21:08:36]: [AOJ19157] tim changed charinfo for Seppl McCollin Jr.. -[info][2025/04/29 21:08:36]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/29 21:08:36]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/29 21:10:24]: [AOJ19157] tim changed charinfo for Seppl McCollin Jr.. -[info][2025/04/29 21:10:24]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/29 21:49:57]: [MWV00464] tim requested LaRossa Bruder 1. -[info][2025/04/29 21:49:58]: [MWV00464] tim healed LaRossa Bruder 1. -[info][2025/04/29 21:49:58]: [MWV00464] tim requested LaRossa Bruder 1. -[info][2025/04/29 21:49:59]: [MWV00464] tim changed meta thirst for LaRossa Bruder 1 to 100. -[info][2025/04/29 21:49:59]: [MWV00464] tim requested LaRossa Bruder 1. -[info][2025/04/29 21:50:00]: [MWV00464] tim changed meta hunger for LaRossa Bruder 1 to 100. -[info][2025/04/29 21:50:00]: [MWV00464] tim requested LaRossa Bruder 1. -[info][2025/04/29 21:50:00]: [MWV00464] tim changed meta stress for LaRossa Bruder 1 to 0. -[info][2025/04/29 21:50:00]: [MWV00464] tim requested LaRossa Bruder 1. -[info][2025/04/29 21:50:01]: [MWV00464] tim changed meta armor for LaRossa Bruder 1 to 100. -[info][2025/04/29 21:50:01]: [MWV00464] tim requested LaRossa Bruder 1. -[info][2025/04/29 22:06:37]: [MWV00464] Got hit by LaRossa Bruder 1 (MWV00464) with Pistol causing 19 damage. -[info][2025/04/29 22:09:50]: [GNR11868] tim requested Amy Ann. -[info][2025/04/29 22:11:37]: [GNR11868] tim requested Amy Ann. -[info][2025/04/29 22:11:47]: [GNR11868] tim gave 2000 cash to Amy Ann. -[info][2025/04/29 22:11:47]: [GNR11868] tim requested Amy Ann. -[info][2025/04/29 22:11:53]: [JCQ27225] tim requested Kimberly Smith. -[info][2025/04/29 22:15:30]: [MWV00464] tim requested LaRossa Bruder 1. -[info][2025/04/29 22:16:15]: [MWV00464] tim changed charinfo for LaRossa Bruder 1. -[info][2025/04/29 22:16:15]: [MWV00464] tim requested LaRossa Bruder 1. -[info][2025/04/29 22:16:25]: [OHM07543] tim requested Demon Campers. -[info][2025/04/29 22:30:25]: [GNR11868] Aimed at LaRossa Bruder 1 (MWV00464) with Carbine Rifle. -[info][2025/04/29 22:30:39]: [GNR11868] Aimed at LaRossa Bruder 1 (MWV00464) with Carbine Rifle. -[info][2025/04/29 22:41:08]: [OHM07543] campers requested Demon Campers. -[info][2025/04/29 22:41:14]: [OHM07543] campers healed Demon Campers. -[info][2025/04/29 22:41:14]: [OHM07543] campers requested Demon Campers. -[info][2025/04/29 22:42:32]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/04/29 22:42:42]: [GNR11868] Got hit by Demon Campers (OHM07543) with Fist causing 20 damage. -[info][2025/04/29 22:53:28]: [GNR11868] nordi requested Amy Ann. -[info][2025/04/29 22:53:30]: [GNR11868] nordi viewed inventory. -[info][2025/04/29 22:53:43]: [GNR11868] nordi added 4x sandwich to inventory. -[info][2025/04/29 22:53:56]: [GNR11868] nordi added 4x water_bottle to inventory. -[info][2025/04/29 22:54:24]: [OHM07543] campers requested Demon Campers. -[info][2025/04/29 22:54:27]: [OHM07543] campers viewed inventory. -[info][2025/04/29 22:54:30]: [OHM07543] nordi requested Demon Campers. -[info][2025/04/29 22:54:33]: [OHM07543] nordi viewed inventory. -[info][2025/04/29 22:54:54]: [OHM07543] campers requested Demon Campers. -[info][2025/04/29 22:54:55]: [OHM07543] nordi added 6x sandwich to inventory. -[info][2025/04/29 22:54:58]: [OHM07543] campers healed Demon Campers. -[info][2025/04/29 22:54:58]: [OHM07543] campers requested Demon Campers. -[info][2025/04/29 22:55:01]: [OHM07543] campers changed meta thirst for Demon Campers to 100. -[info][2025/04/29 22:55:01]: [OHM07543] campers requested Demon Campers. -[info][2025/04/29 22:55:02]: [OHM07543] campers changed meta hunger for Demon Campers to 100. -[info][2025/04/29 22:55:02]: [OHM07543] campers requested Demon Campers. -[info][2025/04/29 22:55:04]: [OHM07543] nordi added 6x water_bottle to inventory. -[info][2025/04/29 23:16:51]: [OHM07543] campers requested Demon Campers. -[info][2025/04/29 23:16:56]: [OHM07543] campers requested Demon Campers. -[info][2025/04/29 23:18:09]: [OHM07543] campers requested Demon Campers. -[info][2025/04/29 23:18:49]: [OHM07543] campers requested Demon Campers. -[info][2025/04/29 23:44:38]: [AOJ19157] Aimed at Amy Ann (GNR11868) with Heavy Sniper MK2. -[info][2025/04/29 23:48:38]: [AOJ19157] Aimed at Amy Ann (GNR11868) with Heavy Sniper MK2. -[info][2025/04/29 23:48:45]: [AOJ19157] Aimed at Amy Ann (GNR11868) with Heavy Sniper MK2. -[info][2025/04/29 23:48:46]: [GNR11868] Got hit by Seppl McCollin Jr. (AOJ19157) with Heavy Sniper MK2 causing 0 damage. -[info][2025/04/29 23:48:47]: [GNR11868] Got hit by Seppl McCollin Jr. (AOJ19157) with Heavy Sniper MK2 causing 0 damage. -[info][2025/04/29 23:48:52]: [AOJ19157] Aimed at Amy Ann (GNR11868) with Heavy Sniper MK2. -[info][2025/04/29 23:48:52]: [GNR11868] Got hit by Seppl McCollin Jr. (AOJ19157) with Heavy Sniper MK2 causing 0 damage. -[info][2025/04/29 23:48:53]: [GNR11868] Got hit by Seppl McCollin Jr. (AOJ19157) with Heavy Sniper MK2 causing 0 damage. -[info][2025/04/29 23:48:54]: [AOJ19157] Aimed at Amy Ann (GNR11868) with Heavy Sniper MK2. -[info][2025/04/29 23:48:55]: [GNR11868] Got hit by Seppl McCollin Jr. (AOJ19157) with Heavy Sniper MK2 causing 0 damage. -[info][2025/04/29 23:49:01]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/29 23:49:03]: [JCQ27225] nordi viewed inventory. -[info][2025/04/29 23:49:17]: [JCQ27225] nordi added 1x weapon_heavysniper_mk2 to inventory. -[info][2025/04/29 23:49:19]: [JCQ27225] nordi moved item weapon_carbinerifle_mk2 from Player-Inventory slot 2 to Player-Inventory slot 13 in inventory. -[info][2025/04/29 23:49:20]: [JCQ27225] nordi moved item weapon_heavysniper_mk2 from Player-Inventory slot 6 to Player-Inventory slot 2 in inventory. -[info][2025/04/29 23:51:57]: [JCQ27225] Aimed at Amy Ann (GNR11868) with Heavy Sniper MK2. -[info][2025/04/29 23:51:58]: [GNR11868] Got killed by Kimberly Smith (JCQ27225) with Heavy Sniper MK2 causing 318 damage. -[info][2025/04/29 23:52:19]: [JCQ27225] Aimed at Amy Ann (GNR11868) with Heavy Sniper MK2. -[info][2025/04/29 23:52:20]: [AOJ19157] Got killed by Kimberly Smith (JCQ27225) with Heavy Sniper MK2 causing 318 damage. -[info][2025/04/29 23:52:31]: [AOJ19157] Aimed at Amy Ann (GNR11868) with Heavy Sniper MK2. -[info][2025/04/29 23:52:35]: [GNR11868] Got hit by Seppl McCollin Jr. (AOJ19157) with Heavy Sniper MK2 causing 0 damage. -[info][2025/04/29 23:52:36]: [GNR11868] Got killed by Seppl McCollin Jr. (AOJ19157) with Heavy Sniper MK2 causing 6050 damage. -[info][2025/04/29 23:52:37]: [AOJ19157] Aimed at Amy Ann (GNR11868) with Heavy Sniper MK2. -[info][2025/04/29 23:52:40]: [AOJ19157] Aimed at Kimberly Smith (JCQ27225) with Heavy Sniper MK2. -[info][2025/04/29 23:52:40]: [JCQ27225] Got killed by Seppl McCollin Jr. (AOJ19157) with Heavy Sniper MK2 causing 6050 damage. -[info][2025/04/29 23:52:48]: [AOJ19157] Aimed at Amy Ann (GNR11868) with Heavy Sniper MK2. -[info][2025/04/29 23:52:48]: [GNR11868] Got killed by Seppl McCollin Jr. (AOJ19157) with Heavy Sniper MK2 causing 318 damage. -[info][2025/04/29 23:52:49]: [AOJ19157] Aimed at Kimberly Smith (JCQ27225) with Heavy Sniper MK2. -[info][2025/04/29 23:52:50]: [JCQ27225] Got killed by Seppl McCollin Jr. (AOJ19157) with Heavy Sniper MK2 causing 318 damage. -[info][2025/04/29 23:53:29]: [JCQ27225] Aimed at Amy Ann (GNR11868) with SNS Pistol Mk II. -[info][2025/04/29 23:53:30]: [GNR11868] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 20 damage. -[info][2025/04/29 23:53:30]: [GNR11868] Got hit by Kimberly Smith (JCQ27225) with SNS Pistol MK2 causing 29 damage. -[info][2025/04/29 23:53:31]: [AOJ19157] Got hit by Kimberly Smith (JCQ27225) with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 23:53:31]: [JCQ27225] Aimed at Seppl McCollin Jr. (AOJ19157) with SNS Pistol Mk II. -[info][2025/04/29 23:53:34]: [JCQ27225] Aimed at Amy Ann (GNR11868) with SNS Pistol Mk II. -[info][2025/04/29 23:53:35]: [GNR11868] Got hit by Kimberly Smith (JCQ27225) with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 23:53:36]: [JCQ27225] Aimed at Seppl McCollin Jr. (AOJ19157) with SNS Pistol Mk II. -[info][2025/04/29 23:53:36]: [AOJ19157] Got hit by Kimberly Smith (JCQ27225) with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 23:53:41]: [GNR11868] Got killed by Seppl McCollin Jr. (AOJ19157) with Fist causing 0 damage. -[info][2025/04/29 23:53:44]: [JCQ27225] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 20 damage. -[info][2025/04/29 23:53:45]: [JCQ27225] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 25 damage. -[info][2025/04/29 23:53:47]: [JCQ27225] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 20 damage. -[info][2025/04/29 23:53:48]: [JCQ27225] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 20 damage. -[info][2025/04/29 23:53:48]: [JCQ27225] Aimed at Seppl McCollin Jr. (AOJ19157) with SNS Pistol Mk II. -[info][2025/04/29 23:53:49]: [AOJ19157] Got hit by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/04/29 23:53:49]: [JCQ27225] Got killed by Seppl McCollin Jr. (AOJ19157) with Fist causing 20 damage. -[info][2025/04/29 23:53:49]: [AOJ19157] Got hit by Kimberly Smith (JCQ27225) with SNS Pistol MK2 causing 0 damage. -[info][2025/04/29 23:53:50]: [GNR11868] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 0 damage. -[info][2025/04/29 23:53:51]: [GNR11868] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 20 damage. -[info][2025/04/29 23:53:52]: [GNR11868] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 20 damage. -[info][2025/04/29 23:53:53]: [GNR11868] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 20 damage. -[info][2025/04/29 23:53:54]: [GNR11868] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 20 damage. -[info][2025/04/29 23:53:55]: [AOJ19157] Got hit by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/04/29 23:53:56]: [GNR11868] Got killed by Seppl McCollin Jr. (AOJ19157) with Fist causing 20 damage. -[info][2025/04/29 23:53:57]: [AOJ19157] Got hit by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/04/29 23:53:57]: [GNR11868] Got killed by Seppl McCollin Jr. (AOJ19157) with Fist causing 20 damage. -[info][2025/04/29 23:54:06]: [AOJ19157] Got hit by Amy Ann (GNR11868) with Fist causing 26 damage. -[info][2025/04/29 23:54:16]: [GNR11868] Got killed by Seppl McCollin Jr. (AOJ19157) with Fist causing 0 damage. -[info][2025/04/29 23:54:24]: [GNR11868] Got killed by Seppl McCollin Jr. (AOJ19157) with Fist causing 0 damage. -[info][2025/04/29 23:54:36]: [JCQ27225] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 0 damage. -[info][2025/04/29 23:54:46]: [JCQ27225] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 20 damage. -[info][2025/04/29 23:54:52]: [GNR11868] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 0 damage. -[info][2025/04/29 23:54:56]: [JCQ27225] Got killed by Seppl McCollin Jr. (AOJ19157) with Fist causing 0 damage. -[info][2025/04/29 23:55:18]: [AOJ19157] Got hit by Kimberly Smith (JCQ27225) with Fist causing 21 damage. -[info][2025/04/29 23:55:24]: [AOJ19157] Got killed by Amy Ann (GNR11868) with Fist causing 0 damage. -[info][2025/04/29 23:55:37]: [JCQ27225] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 25 damage. -[info][2025/04/29 23:55:47]: [JCQ27225] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 25 damage. -[info][2025/04/29 23:58:51]: [GNR11868] Got killed by Seppl McCollin Jr. (AOJ19157) with Fist causing 0 damage. -[info][2025/04/29 23:59:02]: [GNR11868] Got killed by Seppl McCollin Jr. (AOJ19157) with Fist causing 0 damage. -[info][2025/04/29 23:59:10]: [AOJ19157] Got hit by Amy Ann (GNR11868) with Fist causing 0 damage. -[info][2025/04/30 00:03:46]: [JCQ27225] nordi deleted item weapon_heavysniper_mk2 from Player-Inventory slot 2 in inventory. -[info][2025/04/30 00:03:50]: [JCQ27225] nordi moved item weapon_combatshotgun from Player-Inventory slot 3 to Player-Inventory slot 6 in inventory. -[info][2025/04/30 00:03:53]: [JCQ27225] nordi moved item weapon_snspistol_mk2 from Player-Inventory slot 1 to Player-Inventory slot 15 in inventory. -[info][2025/04/30 00:03:55]: [JCQ27225] nordi moved item shotgun_ammo from Player-Inventory slot 5 to Player-Inventory slot 16 in inventory. -[info][2025/04/30 00:04:06]: [JCQ27225] nordi added 1x weapon_revolver to inventory. -[info][2025/04/30 00:04:23]: [JCQ27225] nordi added 1x weapon_assaultrifle_mk2 to inventory. -[info][2025/04/30 00:04:27]: [GNR11868] Got killed by Demon Campers (OHM07543) with Fist causing 0 damage. -[info][2025/04/30 00:04:41]: [OHM07543] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 20 damage. -[info][2025/04/30 00:04:43]: [AOJ19157] Got hit by Demon Campers (OHM07543) with Fist causing 20 damage. -[info][2025/04/30 00:04:45]: [AOJ19157] Got hit by Demon Campers (OHM07543) with Fist causing 25 damage. -[info][2025/04/30 00:04:46]: [OHM07543] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 20 damage. -[info][2025/04/30 00:04:47]: [OHM07543] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 20 damage. -[info][2025/04/30 00:04:47]: [OHM07543] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 20 damage. -[info][2025/04/30 00:04:48]: [OHM07543] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 0 damage. -[info][2025/04/30 00:04:49]: [OHM07543] Got killed by Seppl McCollin Jr. (AOJ19157) with Fist causing 20 damage. -[info][2025/04/30 00:04:50]: [OHM07543] Got killed by Seppl McCollin Jr. (AOJ19157) with Fist causing 0 damage. -[info][2025/04/30 00:04:50]: [AOJ19157] Got hit by Demon Campers (OHM07543) with Fist causing 0 damage. -[info][2025/04/30 00:04:51]: [OHM07543] Got killed by Seppl McCollin Jr. (AOJ19157) with Fist causing 50 damage. -[info][2025/04/30 00:04:52]: [OHM07543] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 0 damage. -[info][2025/04/30 00:05:17]: [JCQ27225] Aimed at Seppl McCollin Jr. (AOJ19157) with Assault Rifle MK2. -[info][2025/04/30 00:05:24]: [JCQ27225] Aimed at Seppl McCollin Jr. (AOJ19157) with Assault Rifle MK2. -[info][2025/04/30 00:05:46]: [JCQ27225] Aimed at Amy Ann (GNR11868) with Assault Rifle MK2. -[info][2025/04/30 00:05:47]: [GNR11868] Got hit by Kimberly Smith (JCQ27225) with Assault Rifle MK2 causing 31 damage. -[info][2025/04/30 00:05:47]: [GNR11868] Got hit by Kimberly Smith (JCQ27225) with Assault Rifle MK2 causing 31 damage. -[info][2025/04/30 00:05:47]: [GNR11868] Got hit by Kimberly Smith (JCQ27225) with Assault Rifle MK2 causing 31 damage. -[info][2025/04/30 00:05:47]: [GNR11868] Got killed by Kimberly Smith (JCQ27225) with Assault Rifle MK2 causing 31 damage. -[info][2025/04/30 00:06:05]: [AOJ19157] Got killed by Demon Campers (OHM07543) with Heavy Revolver causing 159 damage. -[info][2025/04/30 00:06:05]: [OHM07543] Aimed at Seppl McCollin Jr. (AOJ19157) with Heavy Revolver. -[info][2025/04/30 00:07:12]: [AOJ19157] nordi requested Seppl McCollin Jr.. -[info][2025/04/30 00:07:15]: [AOJ19157] nordi viewed inventory. -[info][2025/04/30 00:07:24]: [AOJ19157] nordi added 1x weapon_revolver_mk2 to inventory. -[info][2025/04/30 00:07:31]: [AOJ19157] nordi added 10x pistol_ammo to inventory. -[info][2025/04/30 00:07:31]: [OHM07543] campers requested Demon Campers. -[info][2025/04/30 00:07:36]: [OHM07543] campers viewed inventory. -[info][2025/04/30 00:07:48]: [OHM07543] campers added 1x weapon_revolver_mk2 to inventory. -[info][2025/04/30 00:08:01]: [AOJ19157] Aimed at Amy Ann (GNR11868) with Heavy Revolver Mk II. -[info][2025/04/30 00:08:07]: [AOJ19157] Aimed at Kimberly Smith (JCQ27225) with Heavy Revolver Mk II. -[info][2025/04/30 00:08:09]: [AOJ19157] Aimed at Demon Campers (OHM07543) with Heavy Revolver Mk II. -[info][2025/04/30 00:08:19]: [AOJ19157] Aimed at Demon Campers (OHM07543) with Heavy Revolver Mk II. -[info][2025/04/30 00:08:26]: [OHM07543] Aimed at Seppl McCollin Jr. (AOJ19157) with Heavy Revolver Mk II. -[info][2025/04/30 00:08:30]: [OHM07543] Aimed at Amy Ann (GNR11868) with Heavy Revolver Mk II. -[info][2025/04/30 00:08:31]: [AOJ19157] Aimed at Kimberly Smith (JCQ27225) with Heavy Revolver Mk II. -[info][2025/04/30 00:11:11]: [OHM07543] campers added 1x weapon_pistol to inventory. -[info][2025/04/30 00:11:15]: [OHM07543] campers swaped item weapon_pistol from Player-Inventory slot 21 with item phone from Player-Inventory slot 3 in inventory. -[info][2025/04/30 00:11:21]: [OHM07543] campers moved item metalscrap from Player-Inventory slot 1 to Player-Inventory slot 22 in inventory. -[info][2025/04/30 00:11:22]: [OHM07543] campers moved item weapon_stungun from Player-Inventory slot 10 to Player-Inventory slot 1 in inventory. -[info][2025/04/30 00:11:29]: [OHM07543] Aimed at Amy Ann (GNR11868) with Stun Gun. -[info][2025/04/30 00:11:29]: [GNR11868] Got hit by Demon Campers (OHM07543) with Stun Gun causing 1 damage. -[info][2025/04/30 00:11:39]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/04/30 00:11:42]: [OHM07543] Aimed at Amy Ann (GNR11868) with Stun Gun. -[info][2025/04/30 00:11:42]: [GNR11868] Got hit by Demon Campers (OHM07543) with Stun Gun causing 0 damage. -[info][2025/04/30 00:11:43]: [AOJ19157] Aimed at Kimberly Smith (JCQ27225) with Heavy Revolver Mk II. -[info][2025/04/30 00:11:47]: [AOJ19157] Aimed at Kimberly Smith (JCQ27225) with Heavy Revolver Mk II. -[info][2025/04/30 00:11:53]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/04/30 00:11:54]: [OHM07543] Aimed at Amy Ann (GNR11868) with Heavy Revolver Mk II. -[info][2025/04/30 00:11:55]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/04/30 00:11:56]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/04/30 00:11:57]: [OHM07543] Got killed by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/04/30 00:11:59]: [AOJ19157] Aimed at Demon Campers (OHM07543) with Heavy Sniper MK2. -[info][2025/04/30 00:12:01]: [AOJ19157] Aimed at Amy Ann (GNR11868) with Heavy Sniper MK2. -[info][2025/04/30 00:12:03]: [GNR11868] Got killed by Seppl McCollin Jr. (AOJ19157) with Heavy Sniper MK2 causing 318 damage. -[info][2025/04/30 00:12:12]: [AOJ19157] Aimed at Demon Campers (OHM07543) with Heavy Sniper MK2. -[info][2025/04/30 00:12:12]: [OHM07543] Got killed by Seppl McCollin Jr. (AOJ19157) with Heavy Sniper MK2 causing 318 damage. -[info][2025/04/30 00:12:14]: [GNR11868] Got killed by Seppl McCollin Jr. (AOJ19157) with Heavy Sniper MK2 causing 318 damage. -[info][2025/04/30 00:12:46]: [OHM07543] Aimed at Amy Ann (GNR11868) with Pistol. -[info][2025/04/30 00:13:02]: [GNR11868] Got hit by Demon Campers (OHM07543) with Pistol causing 0 damage. -[info][2025/04/30 00:13:02]: [OHM07543] Aimed at Amy Ann (GNR11868) with Pistol. -[info][2025/04/30 00:13:02]: [GNR11868] Got hit by Demon Campers (OHM07543) with Pistol causing 0 damage. -[info][2025/04/30 00:13:03]: [GNR11868] Got hit by Demon Campers (OHM07543) with Pistol causing 0 damage. -[info][2025/04/30 00:13:03]: [GNR11868] Got hit by Demon Campers (OHM07543) with Pistol causing 0 damage. -[info][2025/04/30 00:13:04]: [GNR11868] Got hit by Demon Campers (OHM07543) with Pistol causing 0 damage. -[info][2025/04/30 00:13:05]: [GNR11868] Got hit by Demon Campers (OHM07543) with Pistol causing 0 damage. -[info][2025/04/30 00:13:05]: [GNR11868] Got hit by Demon Campers (OHM07543) with Pistol causing 0 damage. -[info][2025/04/30 00:13:10]: [OHM07543] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 20 damage. -[info][2025/04/30 00:13:10]: [OHM07543] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 0 damage. -[info][2025/04/30 00:13:11]: [OHM07543] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 20 damage. -[info][2025/04/30 00:13:12]: [OHM07543] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 20 damage. -[info][2025/04/30 00:13:17]: [JCQ27225] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 20 damage. -[info][2025/04/30 00:13:20]: [OHM07543] Aimed at Seppl McCollin Jr. (AOJ19157) with Stun Gun. -[info][2025/04/30 00:13:20]: [OHM07543] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 20 damage. -[info][2025/04/30 00:13:22]: [OHM07543] Got killed by Seppl McCollin Jr. (AOJ19157) with Fist causing 20 damage. -[info][2025/04/30 00:13:22]: [AOJ19157] Got hit by Demon Campers (OHM07543) with Stun Gun causing 0 damage. -[info][2025/04/30 00:13:23]: [AOJ19157] Got hit by Demon Campers (OHM07543) with Stun Gun causing 0 damage. -[info][2025/04/30 00:13:23]: [OHM07543] Aimed at Seppl McCollin Jr. (AOJ19157) with Stun Gun. -[info][2025/04/30 00:13:25]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/30 00:13:28]: [JCQ27225] nordi viewed inventory. -[info][2025/04/30 00:13:33]: [OHM07543] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 25 damage. -[info][2025/04/30 00:13:34]: [OHM07543] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 25 damage. -[info][2025/04/30 00:13:35]: [OHM07543] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 20 damage. -[info][2025/04/30 00:13:37]: [OHM07543] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 20 damage. -[info][2025/04/30 00:13:37]: [JCQ27225] nordi added 1x weapon_revolver_mk2 to inventory. -[info][2025/04/30 00:13:38]: [OHM07543] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 20 damage. -[info][2025/04/30 00:13:40]: [OHM07543] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 20 damage. -[info][2025/04/30 00:13:41]: [OHM07543] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 20 damage. -[info][2025/04/30 00:13:42]: [OHM07543] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 20 damage. -[info][2025/04/30 00:13:43]: [OHM07543] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 0 damage. -[info][2025/04/30 00:13:52]: [OHM07543] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 0 damage. -[info][2025/04/30 00:13:55]: [OHM07543] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 20 damage. -[info][2025/04/30 00:13:56]: [OHM07543] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 25 damage. -[info][2025/04/30 00:13:57]: [OHM07543] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 20 damage. -[info][2025/04/30 00:13:58]: [OHM07543] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 25 damage. -[info][2025/04/30 00:14:22]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/04/30 00:14:24]: [GNR11868] Got hit by Demon Campers (OHM07543) with Fist causing 25 damage. -[info][2025/04/30 00:14:25]: [GNR11868] Got hit by Demon Campers (OHM07543) with Fist causing 20 damage. -[info][2025/04/30 00:14:26]: [GNR11868] Got hit by Demon Campers (OHM07543) with Fist causing 0 damage. -[info][2025/04/30 00:14:26]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 0 damage. -[info][2025/04/30 00:14:28]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/04/30 00:14:30]: [GNR11868] Got hit by Demon Campers (OHM07543) with Fist causing 20 damage. -[info][2025/04/30 00:14:32]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/04/30 00:14:33]: [GNR11868] Got hit by Demon Campers (OHM07543) with Fist causing 20 damage. -[info][2025/04/30 00:14:34]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/04/30 00:14:36]: [GNR11868] Got hit by Demon Campers (OHM07543) with Fist causing 20 damage. -[info][2025/04/30 00:14:38]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/04/30 00:14:41]: [GNR11868] Got hit by Demon Campers (OHM07543) with Fist causing 20 damage. -[info][2025/04/30 00:14:41]: [GNR11868] Got hit by Demon Campers (OHM07543) with Fist causing 0 damage. -[info][2025/04/30 00:14:41]: [GNR11868] Got hit by Demon Campers (OHM07543) with Fist causing 20 damage. -[info][2025/04/30 00:14:42]: [GNR11868] Got killed by Demon Campers (OHM07543) with Fist causing 25 damage. -[info][2025/04/30 00:14:45]: [AOJ19157] Got hit by Demon Campers (OHM07543) with Fist causing 20 damage. -[info][2025/04/30 00:14:45]: [AOJ19157] Got hit by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/04/30 00:14:45]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/04/30 00:14:46]: [GNR11868] Got hit by Demon Campers (OHM07543) with Fist causing 0 damage. -[info][2025/04/30 00:14:47]: [GNR11868] Got hit by Demon Campers (OHM07543) with Fist causing 20 damage. -[info][2025/04/30 00:14:48]: [GNR11868] Got hit by Demon Campers (OHM07543) with Fist causing 20 damage. -[info][2025/04/30 00:14:49]: [GNR11868] Got hit by Demon Campers (OHM07543) with Fist causing 25 damage. -[info][2025/04/30 00:14:51]: [AOJ19157] Got hit by Demon Campers (OHM07543) with Fist causing 20 damage. -[info][2025/04/30 00:14:52]: [AOJ19157] Got hit by Demon Campers (OHM07543) with Fist causing 0 damage. -[info][2025/04/30 00:14:53]: [AOJ19157] Got hit by Demon Campers (OHM07543) with Fist causing 20 damage. -[info][2025/04/30 00:14:54]: [AOJ19157] Got killed by Demon Campers (OHM07543) with Fist causing 20 damage. -[info][2025/04/30 00:15:02]: [GNR11868] Got hit by Demon Campers (OHM07543) with Fist causing 20 damage. -[info][2025/04/30 00:15:03]: [GNR11868] Got hit by Demon Campers (OHM07543) with Fist causing 20 damage. -[info][2025/04/30 00:15:06]: [JCQ27225] Aimed at Seppl McCollin Jr. (AOJ19157) with Heavy Revolver Mk II. -[info][2025/04/30 00:15:13]: [JCQ27225] Aimed at Seppl McCollin Jr. (AOJ19157) with Heavy Revolver Mk II. -[info][2025/04/30 00:15:14]: [AOJ19157] Got killed by Kimberly Smith (JCQ27225) with Heavy Revolver MK2 causing 199 damage. -[info][2025/04/30 00:15:25]: [OHM07543] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 20 damage. -[info][2025/04/30 00:15:26]: [GNR11868] Got hit by Demon Campers (OHM07543) with Fist causing 20 damage. -[info][2025/04/30 00:15:26]: [OHM07543] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 25 damage. -[info][2025/04/30 00:15:28]: [JCQ27225] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 20 damage. -[info][2025/04/30 00:15:31]: [JCQ27225] Aimed at Seppl McCollin Jr. (AOJ19157) with Heavy Revolver Mk II. -[info][2025/04/30 00:15:31]: [AOJ19157] Got hit by Demon Campers (OHM07543) with Fist causing 20 damage. -[info][2025/04/30 00:15:32]: [OHM07543] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 0 damage. -[info][2025/04/30 00:15:33]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/04/30 00:15:33]: [OHM07543] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 20 damage. -[info][2025/04/30 00:15:33]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 0 damage. -[info][2025/04/30 00:15:34]: [GNR11868] Got hit by Demon Campers (OHM07543) with Fist causing 0 damage. -[info][2025/04/30 00:15:34]: [OHM07543] Got killed by Kimberly Smith (JCQ27225) with Heavy Revolver MK2 causing 199 damage. -[info][2025/04/30 00:15:34]: [GNR11868] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 20 damage. -[info][2025/04/30 00:15:36]: [AOJ19157] Got hit by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/04/30 00:15:38]: [GNR11868] Got killed by Seppl McCollin Jr. (AOJ19157) with Fist causing 25 damage. -[info][2025/04/30 00:15:50]: [AOJ19157] Aimed at Demon Campers (OHM07543) with Heavy Revolver Mk II. -[info][2025/04/30 00:15:52]: [AOJ19157] Aimed at Demon Campers (OHM07543) with Heavy Revolver Mk II. -[info][2025/04/30 00:15:52]: [OHM07543] Got killed by Seppl McCollin Jr. (AOJ19157) with Heavy Revolver MK2 causing 199 damage. -[info][2025/04/30 00:15:54]: [AOJ19157] Aimed at Amy Ann (GNR11868) with Heavy Revolver Mk II. -[info][2025/04/30 00:16:02]: [AOJ19157] Got hit by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/04/30 00:16:04]: [AOJ19157] Got hit by Amy Ann (GNR11868) with Fist causing 0 damage. -[info][2025/04/30 00:16:06]: [OHM07543] campers requested Demon Campers. -[info][2025/04/30 00:16:08]: [OHM07543] campers healed Demon Campers. -[info][2025/04/30 00:16:08]: [OHM07543] campers requested Demon Campers. -[info][2025/04/30 00:16:09]: [JCQ27225] Aimed at Amy Ann (GNR11868) with Heavy Revolver Mk II. -[info][2025/04/30 00:16:09]: [GNR11868] Got killed by Kimberly Smith (JCQ27225) with Heavy Revolver MK2 causing 199 damage. -[info][2025/04/30 00:16:09]: [AOJ19157] Aimed at Amy Ann (GNR11868) with Heavy Revolver Mk II. -[info][2025/04/30 00:16:11]: [AOJ19157] Aimed at Kimberly Smith (JCQ27225) with Heavy Revolver Mk II. -[info][2025/04/30 00:16:13]: [AOJ19157] Aimed at Kimberly Smith (JCQ27225) with Heavy Revolver Mk II. -[info][2025/04/30 00:16:16]: [AOJ19157] Aimed at Kimberly Smith (JCQ27225) with Heavy Revolver Mk II. -[info][2025/04/30 00:16:18]: [JCQ27225] Aimed at Seppl McCollin Jr. (AOJ19157) with Heavy Revolver Mk II. -[info][2025/04/30 00:16:18]: [AOJ19157] Aimed at Demon Campers (OHM07543) with Heavy Revolver Mk II. -[info][2025/04/30 00:16:19]: [GNR11868] Got killed by Kimberly Smith (JCQ27225) with Heavy Revolver MK2 causing 199 damage. -[info][2025/04/30 00:16:22]: [AOJ19157] Aimed at Kimberly Smith (JCQ27225) with Heavy Revolver Mk II. -[info][2025/04/30 00:16:25]: [JCQ27225] Got killed by Seppl McCollin Jr. (AOJ19157) with Heavy Revolver MK2 causing 199 damage. -[info][2025/04/30 00:16:27]: [AOJ19157] Aimed at Demon Campers (OHM07543) with Heavy Revolver Mk II. -[info][2025/04/30 00:16:27]: [OHM07543] Got killed by Seppl McCollin Jr. (AOJ19157) with Heavy Revolver MK2 causing 199 damage. -[info][2025/04/30 00:16:29]: [GNR11868] Got killed by Seppl McCollin Jr. (AOJ19157) with Heavy Revolver MK2 causing 199 damage. -[info][2025/04/30 00:16:29]: [AOJ19157] Aimed at Amy Ann (GNR11868) with Heavy Revolver Mk II. -[info][2025/04/30 00:16:31]: [AOJ19157] Aimed at Kimberly Smith (JCQ27225) with Heavy Revolver Mk II. -[info][2025/04/30 00:16:31]: [JCQ27225] Got killed by Seppl McCollin Jr. (AOJ19157) with Heavy Revolver MK2 causing 199 damage. -[info][2025/04/30 00:16:33]: [AOJ19157] Aimed at Demon Campers (OHM07543) with Heavy Revolver Mk II. -[info][2025/04/30 00:16:39]: [OHM07543] Aimed at Seppl McCollin Jr. (AOJ19157) with Heavy Revolver Mk II. -[info][2025/04/30 00:16:42]: [OHM07543] Aimed at Seppl McCollin Jr. (AOJ19157) with Heavy Revolver Mk II. -[info][2025/04/30 00:16:42]: [AOJ19157] Got killed by Demon Campers (OHM07543) with Heavy Revolver MK2 causing 199 damage. -[info][2025/04/30 00:16:48]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Heavy Revolver Mk II. -[info][2025/04/30 00:16:50]: [GNR11868] Got killed by Demon Campers (OHM07543) with Heavy Revolver MK2 causing 3429 damage. -[info][2025/04/30 00:16:50]: [OHM07543] Aimed at Amy Ann (GNR11868) with Heavy Revolver Mk II. -[info][2025/04/30 00:17:06]: [OHM07543] Aimed at Amy Ann (GNR11868) with Stun Gun. -[info][2025/04/30 00:17:08]: [OHM07543] Aimed at Amy Ann (GNR11868) with Stun Gun. -[info][2025/04/30 00:17:08]: [GNR11868] Got hit by Demon Campers (OHM07543) with Stun Gun causing 0 damage. -[info][2025/04/30 00:17:19]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Carbine Rifle Mk II. -[info][2025/04/30 00:17:20]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 32 damage. -[info][2025/04/30 00:17:23]: [JCQ27225] Aimed at Amy Ann (GNR11868) with Carbine Rifle Mk II. -[info][2025/04/30 00:17:23]: [GNR11868] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 00:17:24]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Heavy Revolver. -[info][2025/04/30 00:17:27]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Carbine Rifle Mk II. -[info][2025/04/30 00:17:27]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 00:17:30]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Carbine Rifle Mk II. -[info][2025/04/30 00:17:31]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 00:17:33]: [JCQ27225] Aimed at Amy Ann (GNR11868) with Carbine Rifle Mk II. -[info][2025/04/30 00:17:33]: [GNR11868] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 00:17:38]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Heavy Revolver. -[info][2025/04/30 00:17:39]: [JCQ27225] Aimed at Amy Ann (GNR11868) with Carbine Rifle Mk II. -[info][2025/04/30 00:17:39]: [GNR11868] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 00:17:40]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 00:17:42]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Heavy Revolver. -[info][2025/04/30 00:17:44]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Heavy Revolver. -[info][2025/04/30 00:17:49]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Heavy Revolver. -[info][2025/04/30 00:17:50]: [JCQ27225] Aimed at Amy Ann (GNR11868) with Carbine Rifle Mk II. -[info][2025/04/30 00:17:52]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Carbine Rifle Mk II. -[info][2025/04/30 00:17:52]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 00:17:53]: [OHM07543] campers viewed inventory. -[info][2025/04/30 00:18:04]: [OHM07543] campers added 1x weapon_carbinerifle_mk2 to inventory. -[info][2025/04/30 00:18:13]: [OHM07543] campers added 1x weapon_snspistol_mk2 to inventory. -[info][2025/04/30 00:18:15]: [OHM07543] campers swaped item weapon_snspistol_mk2 from Player-Inventory slot 23 with item weapon_revolver from Player-Inventory slot 2 in inventory. -[info][2025/04/30 00:18:16]: [OHM07543] campers swaped item weapon_carbinerifle_mk2 from Player-Inventory slot 10 with item weapon_pistol from Player-Inventory slot 3 in inventory. -[info][2025/04/30 00:18:33]: [OHM07543] Aimed at Amy Ann (GNR11868) with SNS Pistol Mk II. -[info][2025/04/30 00:18:34]: [GNR11868] Got killed by Demon Campers (OHM07543) with SNS Pistol MK2 causing 627 damage. -[info][2025/04/30 00:18:36]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with SNS Pistol Mk II. -[info][2025/04/30 00:18:37]: [JCQ27225] Got hit by Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/04/30 00:18:40]: [OHM07543] Aimed at Amy Ann (GNR11868) with SNS Pistol Mk II. -[info][2025/04/30 00:18:40]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Carbine Rifle Mk II. -[info][2025/04/30 00:18:50]: [JCQ27225] Got hit by Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/04/30 00:18:50]: [OHM07543] Aimed at Amy Ann (GNR11868) with SNS Pistol Mk II. -[info][2025/04/30 00:18:55]: [OHM07543] Aimed at Amy Ann (GNR11868) with SNS Pistol Mk II. -[info][2025/04/30 00:18:56]: [GNR11868] Got hit by Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/04/30 00:18:57]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with SNS Pistol Mk II. -[info][2025/04/30 00:19:03]: [JCQ27225] Got hit by Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/04/30 00:19:05]: [OHM07543] Aimed at Amy Ann (GNR11868) with SNS Pistol Mk II. -[info][2025/04/30 00:19:05]: [GNR11868] Got hit by Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/04/30 00:19:17]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 0 damage. -[info][2025/04/30 00:19:19]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/04/30 00:19:20]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/04/30 00:19:23]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/04/30 00:19:25]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/04/30 00:19:27]: [OHM07543] Got killed by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/04/30 00:19:46]: [JCQ27225] Aimed at Amy Ann (GNR11868) with Carbine Rifle Mk II. -[info][2025/04/30 00:19:47]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 00:19:54]: [OHM07543] Aimed at Amy Ann (GNR11868) with Carbine Rifle Mk II. -[info][2025/04/30 00:19:54]: [GNR11868] Got hit by Demon Campers (OHM07543) with Carbine Rifle MK2 causing 32 damage. -[info][2025/04/30 00:19:54]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 00:19:54]: [GNR11868] Got hit by Demon Campers (OHM07543) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 00:19:54]: [GNR11868] Got hit by Demon Campers (OHM07543) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 00:19:55]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Carbine Rifle Mk II. -[info][2025/04/30 00:19:56]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 00:19:57]: [GNR11868] Got hit by Demon Campers (OHM07543) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 00:19:57]: [GNR11868] Got hit by Demon Campers (OHM07543) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 00:20:04]: [GNR11868] Aimed at Kimberly Smith (JCQ27225) with Carbine Rifle. -[info][2025/04/30 00:21:23]: [JCQ27225] nordi deleted item weapon_assaultrifle_mk2 from Player-Inventory slot 13 in inventory. -[info][2025/04/30 00:21:30]: [JCQ27225] nordi moved item weapon_stungun from Player-Inventory slot 4 to Player-Inventory slot 5 in inventory. -[info][2025/04/30 00:21:31]: [JCQ27225] nordi moved item weapon_carbinerifle_mk2 from Player-Inventory slot 3 to Player-Inventory slot 1 in inventory. -[info][2025/04/30 00:24:28]: [JCQ27225] nordi added 1x weapon_specialcarbine_mk2 to inventory. -[info][2025/04/30 00:25:47]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/30 00:25:49]: [AOJ19157] tim healed Seppl McCollin Jr.. -[info][2025/04/30 00:25:49]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/30 00:25:50]: [AOJ19157] tim changed meta thirst for Seppl McCollin Jr. to 100. -[info][2025/04/30 00:25:50]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/30 00:25:50]: [AOJ19157] tim changed meta hunger for Seppl McCollin Jr. to 100. -[info][2025/04/30 00:25:50]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/30 00:25:51]: [AOJ19157] tim changed meta armor for Seppl McCollin Jr. to 100. -[info][2025/04/30 00:25:51]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/30 00:27:01]: [DSC01606] max requested Mark Petrol. -[info][2025/04/30 00:27:12]: [DSC01606] max changed meta hunger for Mark Petrol to 100. -[info][2025/04/30 00:27:12]: [DSC01606] max requested Mark Petrol. -[info][2025/04/30 00:27:15]: [DSC01606] max changed meta thirst for Mark Petrol to 100. -[info][2025/04/30 00:27:15]: [DSC01606] max requested Mark Petrol. -[info][2025/04/30 00:27:17]: [DSC01606] max healed Mark Petrol. -[info][2025/04/30 00:27:17]: [DSC01606] max requested Mark Petrol. -[info][2025/04/30 00:27:19]: [DSC01606] max healed Mark Petrol. -[info][2025/04/30 00:27:19]: [DSC01606] max requested Mark Petrol. -[info][2025/04/30 00:27:19]: [DSC01606] max healed Mark Petrol. -[info][2025/04/30 00:27:19]: [DSC01606] max requested Mark Petrol. -[info][2025/04/30 00:27:20]: [DSC01606] max healed Mark Petrol. -[info][2025/04/30 00:27:20]: [DSC01606] max requested Mark Petrol. -[info][2025/04/30 00:27:26]: [DSC01606] max changed meta isdead for Mark Petrol to true. -[info][2025/04/30 00:27:26]: [DSC01606] max requested Mark Petrol. -[info][2025/04/30 00:27:33]: [DSC01606] max changed meta isdead for Mark Petrol to false. -[info][2025/04/30 00:27:33]: [DSC01606] max requested Mark Petrol. -[info][2025/04/30 00:27:37]: [DSC01606] max changed meta ishandcuffed for Mark Petrol to true. -[info][2025/04/30 00:27:37]: [DSC01606] max requested Mark Petrol. -[info][2025/04/30 00:27:38]: [DSC01606] max changed meta ishandcuffed for Mark Petrol to false. -[info][2025/04/30 00:27:38]: [DSC01606] max requested Mark Petrol. -[info][2025/04/30 00:28:01]: [DSC01606] max requested Mark Petrol. -[info][2025/04/30 00:28:06]: [OHM07543] Aimed at Seppl McCollin Jr. (AOJ19157) with SNS Pistol Mk II. -[info][2025/04/30 00:28:10]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with SNS Pistol Mk II. -[info][2025/04/30 00:28:12]: [JCQ27225] Got hit by Demon Campers (OHM07543) with SNS Pistol MK2 causing 30 damage. -[info][2025/04/30 00:34:49]: [OHM07543] Got hit by Demon Campers (OHM07543) with Animal causing 39 damage. -[info][2025/04/30 00:36:20]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 139 damage. -[info][2025/04/30 00:36:21]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 139 damage. -[info][2025/04/30 00:36:30]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 174 damage. -[info][2025/04/30 00:36:30]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 174 damage. -[info][2025/04/30 00:36:41]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 174 damage. -[info][2025/04/30 00:36:41]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 174 damage. -[info][2025/04/30 00:36:41]: [GNR11868] Got hit by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 0 damage. -[info][2025/04/30 00:36:43]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 139 damage. -[info][2025/04/30 00:36:43]: [GNR11868] Got hit by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 0 damage. -[info][2025/04/30 00:36:44]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 139 damage. -[info][2025/04/30 00:36:46]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 174 damage. -[info][2025/04/30 00:36:48]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 139 damage. -[info][2025/04/30 00:36:52]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:36:52]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:36:52]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:36:53]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:36:53]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:36:55]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:36:55]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:36:56]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:36:56]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:36:57]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:36:57]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:36:57]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:36:58]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:36:58]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:36:58]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:36:58]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:36:58]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:36:59]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:36:59]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:05]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:05]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:05]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:05]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:06]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:06]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:06]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:06]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:07]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:07]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:07]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:07]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:07]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:07]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:08]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:08]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:08]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:09]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:09]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:09]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:09]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:09]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:09]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:09]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:10]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:10]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:10]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:10]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:12]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:13]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:13]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:14]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:14]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:14]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:14]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:14]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:15]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:15]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:15]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:15]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:15]: [GNR11868] Got killed by LaRossa Tier (SCQ53506) with Vehicle Barrage Top MG causing 175 damage. -[info][2025/04/30 00:37:29]: [SCQ53506] Got hit by Demon Campers (OHM07543) with Fist causing 21 damage. -[info][2025/04/30 00:37:30]: [SCQ53506] Got hit by Demon Campers (OHM07543) with Fist causing 0 damage. -[info][2025/04/30 00:37:31]: [OHM07543] Got hit by LaRossa Tier (SCQ53506) with Fist causing 20 damage. -[info][2025/04/30 00:37:32]: [OHM07543] Got hit by LaRossa Tier (SCQ53506) with Fist causing 20 damage. -[info][2025/04/30 00:37:33]: [OHM07543] Got hit by LaRossa Tier (SCQ53506) with Fist causing 20 damage. -[info][2025/04/30 00:37:33]: [OHM07543] Got hit by LaRossa Tier (SCQ53506) with Fist causing 0 damage. -[info][2025/04/30 00:37:34]: [OHM07543] Got hit by LaRossa Tier (SCQ53506) with Fist causing 20 damage. -[info][2025/04/30 00:37:35]: [OHM07543] Got killed by LaRossa Tier (SCQ53506) with Fist causing 20 damage. -[info][2025/04/30 00:37:46]: [OHM07543] Got hit by LaRossa Tier (SCQ53506) with Fist causing 20 damage. -[info][2025/04/30 00:37:47]: [OHM07543] Got hit by LaRossa Tier (SCQ53506) with Fist causing 20 damage. -[info][2025/04/30 00:37:51]: [GNR11868] Got hit by LaRossa Tier (SCQ53506) with Fist causing 0 damage. -[info][2025/04/30 00:37:52]: [GNR11868] Got hit by LaRossa Tier (SCQ53506) with Fist causing 0 damage. -[info][2025/04/30 00:37:55]: [GNR11868] Got hit by LaRossa Tier (SCQ53506) with Fist causing 0 damage. -[info][2025/04/30 00:38:21]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/04/30 00:38:22]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 26 damage. -[info][2025/04/30 00:38:23]: [GNR11868] Got hit by Demon Campers (OHM07543) with Fist causing 0 damage. -[info][2025/04/30 00:38:24]: [GNR11868] Got hit by Demon Campers (OHM07543) with Fist causing 0 damage. -[info][2025/04/30 00:38:26]: [OHM07543] Got killed by Amy Ann (GNR11868) with Fist causing 26 damage. -[info][2025/04/30 00:38:26]: [GNR11868] Got hit by Demon Campers (OHM07543) with Fist causing 0 damage. -[info][2025/04/30 00:38:53]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/04/30 00:38:56]: [OHM07543] Aimed at Amy Ann (GNR11868) with Stun Gun. -[info][2025/04/30 00:38:56]: [GNR11868] Got hit by Demon Campers (OHM07543) with Stun Gun causing 1 damage. -[info][2025/04/30 00:39:01]: [GNR11868] Got hit by Demon Campers (OHM07543) with Stun Gun causing 0 damage. -[info][2025/04/30 00:39:01]: [OHM07543] Aimed at Amy Ann (GNR11868) with Stun Gun. -[info][2025/04/30 00:39:05]: [GNR11868] Aimed at Demon Campers (OHM07543) with Carbine Rifle. -[info][2025/04/30 00:39:06]: [OHM07543] Aimed at Amy Ann (GNR11868) with Stun Gun. -[info][2025/04/30 00:39:13]: [OHM07543] Aimed at Amy Ann (GNR11868) with SNS Pistol Mk II. -[info][2025/04/30 00:39:17]: [GNR11868] Aimed at Demon Campers (OHM07543) with Carbine Rifle. -[info][2025/04/30 00:39:19]: [OHM07543] Got hit by Amy Ann (GNR11868) with Carbine Rifle causing 18 damage. -[info][2025/04/30 00:39:19]: [GNR11868] Got hit by Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/04/30 00:39:19]: [OHM07543] Got hit by Amy Ann (GNR11868) with Carbine Rifle causing 18 damage. -[info][2025/04/30 00:39:19]: [OHM07543] Aimed at Amy Ann (GNR11868) with SNS Pistol Mk II. -[info][2025/04/30 00:39:22]: [GNR11868] Aimed at Demon Campers (OHM07543) with Carbine Rifle. -[info][2025/04/30 00:39:24]: [OHM07543] Got hit by Amy Ann (GNR11868) with Carbine Rifle causing 18 damage. -[info][2025/04/30 00:39:25]: [OHM07543] Got hit by Amy Ann (GNR11868) with Carbine Rifle causing 15 damage. -[info][2025/04/30 00:39:28]: [GNR11868] Aimed at Demon Campers (OHM07543) with Carbine Rifle. -[info][2025/04/30 00:39:29]: [OHM07543] Aimed at Amy Ann (GNR11868) with SNS Pistol Mk II. -[info][2025/04/30 00:39:29]: [GNR11868] Got hit by Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/04/30 00:39:31]: [GNR11868] Aimed at Demon Campers (OHM07543) with Carbine Rifle. -[info][2025/04/30 00:39:32]: [OHM07543] Aimed at Amy Ann (GNR11868) with SNS Pistol Mk II. -[info][2025/04/30 00:39:40]: [GNR11868] Aimed at Demon Campers (OHM07543) with Carbine Rifle. -[info][2025/04/30 00:39:42]: [OHM07543] Got killed by Amy Ann (GNR11868) with Carbine Rifle causing 18 damage. -[info][2025/04/30 00:39:46]: [GNR11868] Aimed at Demon Campers (OHM07543) with Carbine Rifle. -[info][2025/04/30 00:39:55]: [OHM07543] Got killed by Umbra Lion (NXE98489) with Cougar causing 0 damage. -[info][2025/04/30 00:40:05]: [GNR11868] Got hit by Umbra Lion (NXE98489) with Cougar causing 0 damage. -[info][2025/04/30 00:40:08]: [NXE98489] Got hit by Demon Campers (OHM07543) with Fist causing 26 damage. -[info][2025/04/30 00:40:11]: [NXE98489] Got hit by Demon Campers (OHM07543) with Fist causing 26 damage. -[info][2025/04/30 00:40:12]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/04/30 00:40:13]: [OHM07543] Got killed by Umbra Lion (NXE98489) with Cougar causing 0 damage. -[info][2025/04/30 00:40:44]: [OHM07543] campers requested Demon Campers. -[info][2025/04/30 00:41:02]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/04/30 00:41:07]: [OHM07543] Aimed at Amy Ann (GNR11868) with SNS Pistol Mk II. -[info][2025/04/30 00:41:09]: [GNR11868] Got hit by Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/04/30 00:41:14]: [OHM07543] Got killed by Umbra Lion (NXE98489) with Cougar causing 0 damage. -[info][2025/04/30 00:41:22]: [OHM07543] campers healed Demon Campers. -[info][2025/04/30 00:41:22]: [OHM07543] campers requested Demon Campers. -[info][2025/04/30 00:41:24]: [OHM07543] campers changed meta thirst for Demon Campers to 100. -[info][2025/04/30 00:41:24]: [OHM07543] campers requested Demon Campers. -[info][2025/04/30 00:41:25]: [OHM07543] campers changed meta hunger for Demon Campers to 100. -[info][2025/04/30 00:41:25]: [OHM07543] campers requested Demon Campers. -[info][2025/04/30 00:41:26]: [GNR11868] Aimed at Demon Campers (OHM07543) with Carbine Rifle. -[info][2025/04/30 00:41:27]: [OHM07543] Got killed by Amy Ann (GNR11868) with Carbine Rifle causing 274 damage. -[info][2025/04/30 00:41:34]: [OHM07543] Got killed by Amy Ann (GNR11868) with Carbine Rifle causing 278 damage. -[info][2025/04/30 00:41:38]: [GNR11868] Aimed at Demon Campers (OHM07543) with Carbine Rifle. -[info][2025/04/30 00:41:43]: [OHM07543] Got hit by Amy Ann (GNR11868) with Carbine Rifle causing 18 damage. -[info][2025/04/30 00:41:46]: [OHM07543] Got hit by Amy Ann (GNR11868) with Carbine Rifle causing 18 damage. -[info][2025/04/30 00:41:47]: [OHM07543] Got hit by Amy Ann (GNR11868) with Carbine Rifle causing 18 damage. -[info][2025/04/30 00:41:47]: [OHM07543] Got hit by Amy Ann (GNR11868) with Carbine Rifle causing 18 damage. -[info][2025/04/30 00:42:59]: [GNR11868] Aimed at Umbra Lion (NXE98489) with Carbine Rifle. -[info][2025/04/30 00:43:02]: [OHM07543] Aimed at Amy Ann (GNR11868) with Heavy Revolver Mk II. -[info][2025/04/30 00:43:03]: [GNR11868] Got killed by Demon Campers (OHM07543) with Heavy Revolver MK2 causing 177 damage. -[info][2025/04/30 00:43:05]: [OHM07543] Aimed at Amy Ann (GNR11868) with Heavy Revolver Mk II. -[info][2025/04/30 00:43:06]: [GNR11868] Got killed by Demon Campers (OHM07543) with Heavy Revolver MK2 causing 176 damage. -[info][2025/04/30 00:43:08]: [OHM07543] Aimed at Amy Ann (GNR11868) with Heavy Revolver Mk II. -[info][2025/04/30 00:43:08]: [GNR11868] Got killed by Demon Campers (OHM07543) with Heavy Revolver MK2 causing 176 damage. -[info][2025/04/30 00:43:16]: [OHM07543] Aimed at Amy Ann (GNR11868) with Carbine Rifle Mk II. -[info][2025/04/30 00:43:19]: [GNR11868] Got hit by Demon Campers (OHM07543) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 00:43:21]: [OHM07543] Got killed by Umbra Lion (NXE98489) with Cougar causing 0 damage. -[info][2025/04/30 00:43:36]: [OHM07543] Aimed at Umbra Lion (NXE98489) with Stun Gun. -[info][2025/04/30 00:43:37]: [NXE98489] Got hit by Demon Campers (OHM07543) with Stun Gun causing 0 damage. -[info][2025/04/30 00:43:47]: [GNR11868] Aimed at Demon Campers (OHM07543) with Carbine Rifle. -[info][2025/04/30 00:43:48]: [OHM07543] Aimed at Amy Ann (GNR11868) with Stun Gun. -[info][2025/04/30 00:43:51]: [GNR11868] Aimed at Demon Campers (OHM07543) with Carbine Rifle. -[info][2025/04/30 00:43:58]: [OHM07543] Aimed at Amy Ann (GNR11868) with Stun Gun. -[info][2025/04/30 00:44:02]: [GNR11868] Got hit by Demon Campers (OHM07543) with Stun Gun causing 0 damage. -[info][2025/04/30 00:44:06]: [GNR11868] Got hit by Demon Campers (OHM07543) with Stun Gun causing 0 damage. -[info][2025/04/30 00:44:09]: [GNR11868] Got hit by Demon Campers (OHM07543) with Stun Gun causing 0 damage. -[info][2025/04/30 00:44:33]: [OHM07543] Aimed at Amy Ann (GNR11868) with Stun Gun. -[info][2025/04/30 00:44:34]: [GNR11868] Got hit by Demon Campers (OHM07543) with Stun Gun causing 0 damage. -[info][2025/04/30 00:44:44]: [OHM07543] Aimed at Amy Ann (GNR11868) with Stun Gun. -[info][2025/04/30 00:44:52]: [GNR11868] Aimed at Demon Campers (OHM07543) with Carbine Rifle. -[info][2025/04/30 00:44:54]: [OHM07543] Aimed at Amy Ann (GNR11868) with SNS Pistol Mk II. -[info][2025/04/30 00:44:55]: [GNR11868] Got hit by Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/04/30 00:44:59]: [OHM07543] Got killed by Amy Ann (GNR11868) with Carbine Rifle causing 359 damage. -[info][2025/04/30 00:45:10]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Carbine Rifle Mk II. -[info][2025/04/30 00:45:12]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 00:45:59]: [JCQ27225] nordi added 10x tosti to inventory. -[info][2025/04/30 00:46:18]: [JCQ27225] nordi added 10x water_bottle to inventory. -[info][2025/04/30 00:46:42]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/04/30 00:46:48]: [OHM07543] Aimed at Amy Ann (GNR11868) with SNS Pistol Mk II. -[info][2025/04/30 00:46:58]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 26 damage. -[info][2025/04/30 00:47:05]: [GNR11868] Got hit by Demon Campers (OHM07543) with Fist causing 0 damage. -[info][2025/04/30 00:47:06]: [GNR11868] Got hit by Demon Campers (OHM07543) with Fist causing 0 damage. -[info][2025/04/30 00:48:18]: [GNR11868] Aimed at Demon Campers (OHM07543) with Carbine Rifle. -[info][2025/04/30 00:48:20]: [OHM07543] Got hit by Amy Ann (GNR11868) with Carbine Rifle causing 18 damage. -[info][2025/04/30 00:48:21]: [OHM07543] Got killed by Amy Ann (GNR11868) with Carbine Rifle causing 359 damage. -[info][2025/04/30 00:52:43]: [GNR11868] Aimed at Demon Campers (OHM07543) with Carbine Rifle. -[info][2025/04/30 00:52:49]: [GNR11868] Aimed at Demon Campers (OHM07543) with Carbine Rifle. -[info][2025/04/30 01:04:14]: [OHM07543] campers requested Demon Campers. -[info][2025/04/30 01:04:18]: [OHM07543] campers healed Demon Campers. -[info][2025/04/30 01:04:18]: [OHM07543] campers requested Demon Campers. -[info][2025/04/30 19:31:19]: [GNR11868] tim requested Amy Ann. -[info][2025/04/30 19:31:23]: [GNR11868] tim healed Amy Ann. -[info][2025/04/30 19:31:23]: [GNR11868] tim requested Amy Ann. -[info][2025/04/30 19:31:23]: [GNR11868] tim changed meta thirst for Amy Ann to 100. -[info][2025/04/30 19:31:23]: [GNR11868] tim requested Amy Ann. -[info][2025/04/30 19:31:25]: [GNR11868] tim changed meta hunger for Amy Ann to 100. -[info][2025/04/30 19:31:25]: [GNR11868] tim requested Amy Ann. -[info][2025/04/30 19:31:29]: [GNR11868] tim changed meta stress for Amy Ann to 0. -[info][2025/04/30 19:31:29]: [GNR11868] tim requested Amy Ann. -[info][2025/04/30 19:31:30]: [GNR11868] tim changed meta armor for Amy Ann to 100. -[info][2025/04/30 19:31:30]: [GNR11868] tim requested Amy Ann. -[info][2025/04/30 19:43:32]: [JCQ27225] Aimed at Seppl McCollin Jr. (AOJ19157) with Carbine Rifle Mk II. -[info][2025/04/30 19:43:49]: [AOJ19157] Aimed at Kimberly Smith (JCQ27225) with Heavy Revolver Mk II. -[info][2025/04/30 19:43:51]: [JCQ27225] Aimed at Seppl McCollin Jr. (AOJ19157) with Carbine Rifle Mk II. -[info][2025/04/30 19:43:52]: [AOJ19157] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 19:43:55]: [AOJ19157] Aimed at Kimberly Smith (JCQ27225) with Heavy Revolver Mk II. -[info][2025/04/30 19:43:56]: [JCQ27225] Aimed at Seppl McCollin Jr. (AOJ19157) with Carbine Rifle Mk II. -[info][2025/04/30 19:43:56]: [JCQ27225] Got killed by Seppl McCollin Jr. (AOJ19157) with Heavy Revolver MK2 causing 199 damage. -[info][2025/04/30 19:44:52]: [AOJ19157] Aimed at Kimberly Smith (JCQ27225) with Heavy Revolver Mk II. -[info][2025/04/30 19:45:49]: [AOJ19157] Aimed at Kimberly Smith (JCQ27225) with Heavy Revolver Mk II. -[info][2025/04/30 19:47:55]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/30 19:47:58]: [JCQ27225] nordi viewed inventory. -[info][2025/04/30 19:48:05]: [JCQ27225] nordi deleted item weapon_specialcarbine_mk2 from Player-Inventory slot 19 in inventory. -[info][2025/04/30 20:33:31]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/30 20:33:34]: [AOJ19157] tim changed meta hunger for Seppl McCollin Jr. to 100. -[info][2025/04/30 20:33:34]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/30 20:33:34]: [AOJ19157] tim changed meta thirst for Seppl McCollin Jr. to 100. -[info][2025/04/30 20:33:34]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/30 20:33:35]: [AOJ19157] tim healed Seppl McCollin Jr.. -[info][2025/04/30 20:33:35]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/30 20:33:35]: [AOJ19157] tim changed meta armor for Seppl McCollin Jr. to 100. -[info][2025/04/30 20:33:35]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/30 20:53:08]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/04/30 21:52:13]: [WWH84309] tim requested Max Becker. -[info][2025/04/30 21:52:26]: [WWH84309] tim has banned Max Becker until Tue Jan 19 2038 04:14:07 GMT+0100 (Central European Standard Time) with reason 'Zu Jung'. -[info][2025/04/30 21:52:26]: [WWH84309] tim requested Max Becker. -[info][2025/04/30 21:52:44]: [WWH84309] tim deleted Max Becker. -[info][2025/04/30 21:53:35]: [SCQ53506] tim requested LaRossa Tier. -[info][2025/04/30 21:53:38]: [SCQ53506] tim deleted LaRossa Tier. -[info][2025/04/30 22:36:59]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/30 22:37:03]: [AOJ19157] tim healed Seppl McCollin Jr.. -[info][2025/04/30 22:37:03]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/30 22:37:03]: [AOJ19157] tim changed meta thirst for Seppl McCollin Jr. to 100. -[info][2025/04/30 22:37:03]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/30 22:37:04]: [AOJ19157] tim changed meta stress for Seppl McCollin Jr. to 0. -[info][2025/04/30 22:37:04]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/30 22:37:05]: [AOJ19157] tim changed meta armor for Seppl McCollin Jr. to 100. -[info][2025/04/30 22:37:05]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/30 22:38:47]: [AOJ19157] tim changed meta hunger for Seppl McCollin Jr. to 100. -[info][2025/04/30 22:38:48]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/30 22:38:48]: [AOJ19157] tim changed meta thirst for Seppl McCollin Jr. to 100. -[info][2025/04/30 22:38:48]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/30 22:38:48]: [AOJ19157] tim healed Seppl McCollin Jr.. -[info][2025/04/30 22:38:48]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/30 22:38:50]: [AOJ19157] tim changed meta armor for Seppl McCollin Jr. to 100. -[info][2025/04/30 22:38:50]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/04/30 23:47:52]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Combat Shotgun. -[info][2025/04/30 23:48:07]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Combat Shotgun. -[info][2025/04/30 23:48:08]: [OHM07543] Got killed by Kimberly Smith (JCQ27225) with Combat Shotgun causing 180 damage. -[info][2025/04/30 23:48:35]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with SNS Pistol Mk II. -[info][2025/04/30 23:48:36]: [JCQ27225] Got hit by Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/04/30 23:48:42]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Combat Shotgun. -[info][2025/04/30 23:48:43]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Shotgun causing 0 damage. -[info][2025/04/30 23:48:48]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Combat Shotgun. -[info][2025/04/30 23:48:49]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Shotgun causing 0 damage. -[info][2025/04/30 23:48:51]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Combat Shotgun. -[info][2025/04/30 23:48:51]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with SNS Pistol Mk II. -[info][2025/04/30 23:49:01]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Shotgun causing 0 damage. -[info][2025/04/30 23:49:03]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Combat Shotgun. -[info][2025/04/30 23:49:06]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Shotgun causing 0 damage. -[info][2025/04/30 23:49:08]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Combat Shotgun. -[info][2025/04/30 23:49:13]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Shotgun causing 0 damage. -[info][2025/04/30 23:49:15]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Combat Shotgun. -[info][2025/04/30 23:49:28]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with SNS Pistol Mk II. -[info][2025/04/30 23:49:28]: [JCQ27225] Got hit by Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/04/30 23:49:33]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with SNS Pistol Mk II. -[info][2025/04/30 23:49:34]: [JCQ27225] Got hit by Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/04/30 23:49:39]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Combat Shotgun. -[info][2025/04/30 23:49:40]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with SNS Pistol Mk II. -[info][2025/04/30 23:49:40]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Shotgun causing 0 damage. -[info][2025/04/30 23:49:53]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Combat Shotgun. -[info][2025/04/30 23:50:02]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Combat Shotgun. -[info][2025/04/30 23:50:03]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Shotgun causing 0 damage. -[info][2025/04/30 23:50:07]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Combat Shotgun. -[info][2025/04/30 23:50:15]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Combat Shotgun. -[info][2025/04/30 23:50:24]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Shotgun causing 0 damage. -[info][2025/04/30 23:50:24]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Shotgun causing 0 damage. -[info][2025/04/30 23:50:27]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Combat Shotgun. -[info][2025/04/30 23:50:29]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Shotgun causing 0 damage. -[info][2025/04/30 23:50:29]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Combat Shotgun causing 0 damage. -[info][2025/04/30 23:50:36]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Carbine Rifle Mk II. -[info][2025/04/30 23:50:37]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 23:50:39]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Carbine Rifle Mk II. -[info][2025/04/30 23:50:40]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 23:50:40]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 23:50:42]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Carbine Rifle Mk II. -[info][2025/04/30 23:50:43]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 23:50:43]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 23:50:43]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 23:50:45]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Carbine Rifle Mk II. -[info][2025/04/30 23:50:46]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 23:50:46]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 23:50:48]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 23:50:48]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 23:50:52]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Carbine Rifle Mk II. -[info][2025/04/30 23:50:54]: [OHM07543] Got killed by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 624 damage. -[info][2025/04/30 23:51:12]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Carbine Rifle Mk II. -[info][2025/04/30 23:51:13]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 23:51:20]: [JCQ27225] Aimed at Demon Campers (OHM07543) with Carbine Rifle Mk II. -[info][2025/04/30 23:51:20]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with SNS Pistol Mk II. -[info][2025/04/30 23:51:20]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 23:51:20]: [OHM07543] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 23:51:24]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with SNS Pistol Mk II. -[info][2025/04/30 23:51:26]: [JCQ27225] Got hit by Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/04/30 23:51:27]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with SNS Pistol Mk II. -[info][2025/04/30 23:51:29]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Carbine Rifle Mk II. -[info][2025/04/30 23:51:31]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 23:51:31]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 23:51:33]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Carbine Rifle Mk II. -[info][2025/04/30 23:51:34]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 23:51:34]: [JCQ27225] Got hit by Demon Campers (OHM07543) with Carbine Rifle MK2 causing 0 damage. -[info][2025/04/30 23:52:52]: [GNR11868] Aimed at Demon Campers (OHM07543) with Carbine Rifle. -[info][2025/04/30 23:52:56]: [OHM07543] Got killed by Amy Ann (GNR11868) with Carbine Rifle causing 425 damage. -[info][2025/05/01 00:06:19]: [GNR11868] Got hit by Demon Campers (OHM07543) with Fist causing 20 damage. -[info][2025/05/01 00:20:57]: [OHM07543] Got hit by Shadow Wuff (ELV21478) with Animal causing 0 damage. -[info][2025/05/01 00:31:36]: [GNR11868] Aimed at Shadow Wuff (ELV21478) with Carbine Rifle. -[info][2025/05/01 00:31:38]: [GNR11868] Aimed at Demon Campers (OHM07543) with Carbine Rifle. -[info][2025/05/01 00:34:32]: [ELV21478] Got hit by Shadow Wuff (ELV21478) with Fist causing 20 damage. -[info][2025/05/01 00:34:35]: [ELV21478] Got hit by Shadow Wuff (ELV21478) with Fist causing 20 damage. -[info][2025/05/01 00:58:40]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/05/01 00:58:40]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 26 damage. -[info][2025/05/01 00:58:42]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/05/01 00:58:43]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 26 damage. -[info][2025/05/01 00:58:45]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/05/01 00:58:46]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 26 damage. -[info][2025/05/01 00:58:49]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/05/01 00:58:50]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 26 damage. -[info][2025/05/01 00:58:52]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/05/01 00:58:53]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 26 damage. -[info][2025/05/01 01:21:17]: [OHM07543] campers requested Demon Campers. -[info][2025/05/01 01:21:19]: [OHM07543] campers changed meta thirst for Demon Campers to 100. -[info][2025/05/01 01:21:19]: [OHM07543] campers requested Demon Campers. -[info][2025/05/01 01:21:20]: [OHM07543] campers changed meta hunger for Demon Campers to 100. -[info][2025/05/01 01:21:21]: [OHM07543] campers requested Demon Campers. -[info][2025/05/01 01:21:22]: [OHM07543] campers healed Demon Campers. -[info][2025/05/01 01:21:22]: [OHM07543] campers requested Demon Campers. -[info][2025/05/01 01:21:23]: [OHM07543] campers healed Demon Campers. -[info][2025/05/01 01:21:23]: [OHM07543] campers requested Demon Campers. -[info][2025/05/01 01:48:00]: [GNR11868] nordi requested Amy Ann. -[info][2025/05/01 01:48:03]: [GNR11868] nordi changed meta thirst for Amy Ann to 100. -[info][2025/05/01 01:48:03]: [GNR11868] nordi requested Amy Ann. -[info][2025/05/01 01:48:04]: [GNR11868] nordi changed meta hunger for Amy Ann to 100. -[info][2025/05/01 01:48:04]: [GNR11868] nordi requested Amy Ann. -[info][2025/05/01 01:48:11]: [OHM07543] nordi requested Demon Campers. -[info][2025/05/01 01:48:12]: [OHM07543] nordi changed meta thirst for Demon Campers to 100. -[info][2025/05/01 01:48:12]: [OHM07543] nordi requested Demon Campers. -[info][2025/05/01 01:48:13]: [OHM07543] nordi changed meta hunger for Demon Campers to 100. -[info][2025/05/01 01:48:13]: [OHM07543] nordi requested Demon Campers. -[info][2025/05/01 01:48:19]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/01 01:48:21]: [JCQ27225] nordi changed meta thirst for Kimberly Smith to 100. -[info][2025/05/01 01:48:21]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/01 01:48:21]: [JCQ27225] nordi changed meta hunger for Kimberly Smith to 100. -[info][2025/05/01 01:48:21]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/01 01:48:26]: [ELV21478] nordi requested Shadow Wuff. -[info][2025/05/01 01:48:27]: [ELV21478] nordi changed meta thirst for Shadow Wuff to 100. -[info][2025/05/01 01:48:27]: [ELV21478] nordi requested Shadow Wuff. -[info][2025/05/01 01:48:27]: [ELV21478] nordi changed meta hunger for Shadow Wuff to 100. -[info][2025/05/01 01:48:28]: [ELV21478] nordi requested Shadow Wuff. -[info][2025/05/01 01:49:25]: [ELV21478] nordi requested Shadow Wuff. -[info][2025/05/01 01:49:28]: [ELV21478] nordi viewed inventory. -[info][2025/05/01 01:49:37]: [ELV21478] nordi added 4x sandwich to inventory. -[info][2025/05/01 01:49:45]: [ELV21478] nordi added 4x water_bottle to inventory. -[info][2025/05/01 01:50:03]: [ELV21478] nordi requested Shadow Wuff. -[info][2025/05/01 01:50:08]: [GNR11868] nordi requested Amy Ann. -[info][2025/05/01 01:50:10]: [GNR11868] nordi viewed inventory. -[info][2025/05/01 01:50:19]: [GNR11868] nordi added 6x sandwich to inventory. -[info][2025/05/01 02:04:14]: [OHM07543] Aimed at Shadow Wuff (ELV21478) with Stun Gun. -[info][2025/05/01 02:04:16]: [ELV21478] Got hit by Amy Ann (GNR11868) with Fist causing 26 damage. -[info][2025/05/01 02:04:18]: [OHM07543] Got hit by Shadow Wuff (ELV21478) with Animal causing 39 damage. -[info][2025/05/01 02:04:18]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/05/01 02:04:18]: [ELV21478] Got hit by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/05/01 02:04:25]: [OHM07543] Aimed at Amy Ann (GNR11868) with SNS Pistol Mk II. -[info][2025/05/01 02:04:25]: [GNR11868] Got hit by Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/05/01 02:04:26]: [GNR11868] Aimed at Demon Campers (OHM07543) with Carbine Rifle. -[info][2025/05/01 02:04:28]: [OHM07543] Aimed at Shadow Wuff (ELV21478) with SNS Pistol Mk II. -[info][2025/05/01 02:04:29]: [ELV21478] Got hit by Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/05/01 02:04:30]: [GNR11868] Aimed at Demon Campers (OHM07543) with Carbine Rifle. -[info][2025/05/01 02:04:30]: [OHM07543] Got hit by Amy Ann (GNR11868) with Carbine Rifle causing 18 damage. -[info][2025/05/01 02:04:30]: [OHM07543] Aimed at Amy Ann (GNR11868) with SNS Pistol Mk II. -[info][2025/05/01 02:04:33]: [OHM07543] Aimed at Amy Ann (GNR11868) with SNS Pistol Mk II. -[info][2025/05/01 02:04:34]: [OHM07543] Got hit by Amy Ann (GNR11868) with Carbine Rifle causing 15 damage. -[info][2025/05/01 02:04:34]: [GNR11868] Aimed at Demon Campers (OHM07543) with Carbine Rifle. -[info][2025/05/01 02:04:35]: [OHM07543] Got hit by Amy Ann (GNR11868) with Carbine Rifle causing 18 damage. -[info][2025/05/01 02:04:35]: [OHM07543] Got hit by Amy Ann (GNR11868) with Carbine Rifle causing 15 damage. -[info][2025/05/01 02:04:36]: [OHM07543] Got hit by Amy Ann (GNR11868) with Carbine Rifle causing 18 damage. -[info][2025/05/01 02:04:37]: [OHM07543] Aimed at Amy Ann (GNR11868) with SNS Pistol Mk II. -[info][2025/05/01 02:04:37]: [GNR11868] Got hit by Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/05/01 02:04:37]: [GNR11868] Got hit by Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/05/01 02:04:38]: [ELV21478] Got hit by Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/05/01 02:04:39]: [OHM07543] Aimed at Amy Ann (GNR11868) with SNS Pistol Mk II. -[info][2025/05/01 02:04:39]: [GNR11868] Got hit by Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/05/01 02:04:44]: [GNR11868] Aimed at Demon Campers (OHM07543) with Carbine Rifle. -[info][2025/05/01 02:04:44]: [OHM07543] Got hit by Amy Ann (GNR11868) with Carbine Rifle causing 18 damage. -[info][2025/05/01 02:04:49]: [OHM07543] Got killed by Shadow Wuff (ELV21478) with Animal causing 39 damage. -[info][2025/05/01 02:04:51]: [OHM07543] Got killed by Shadow Wuff (ELV21478) with Animal causing 0 damage. -[info][2025/05/01 02:04:55]: [GNR11868] Aimed at Demon Campers (OHM07543) with Carbine Rifle. -[info][2025/05/01 02:04:56]: [OHM07543] Got hit by Amy Ann (GNR11868) with Carbine Rifle causing 18 damage. -[info][2025/05/01 02:05:11]: [ELV21478] Got hit by Demon Campers (OHM07543) with Fist causing 26 damage. -[info][2025/05/01 02:05:13]: [ELV21478] Got hit by Demon Campers (OHM07543) with Fist causing 26 damage. -[info][2025/05/01 02:05:17]: [ELV21478] Got hit by Demon Campers (OHM07543) with Fist causing 26 damage. -[info][2025/05/01 02:05:22]: [GNR11868] Got hit by Demon Campers (OHM07543) with Fist causing 21 damage. -[info][2025/05/01 02:05:29]: [GNR11868] Got killed by Demon Campers (OHM07543) with Fist causing 0 damage. -[info][2025/05/01 02:05:30]: [ELV21478] Got hit by Demon Campers (OHM07543) with Fist causing 26 damage. -[info][2025/05/01 02:05:36]: [ELV21478] Got hit by Demon Campers (OHM07543) with Fist causing 26 damage. -[info][2025/05/01 02:05:37]: [ELV21478] Got hit by Demon Campers (OHM07543) with Fist causing 26 damage. -[info][2025/05/01 02:05:39]: [ELV21478] Got hit by Demon Campers (OHM07543) with Fist causing 26 damage. -[info][2025/05/01 02:05:41]: [ELV21478] Got killed by Demon Campers (OHM07543) with Fist causing 26 damage. -[info][2025/05/01 02:06:26]: [OHM07543] Got killed by Amy Ann (GNR11868) with Fist causing 0 damage. -[info][2025/05/01 02:25:40]: [JCQ27225] Aimed at Amy Ann (GNR11868) with Combat Shotgun. -[info][2025/05/01 02:25:42]: [GNR11868] Got hit by Kimberly Smith (JCQ27225) with Combat Shotgun causing 0 damage. -[info][2025/05/01 02:25:54]: [JCQ27225] Aimed at Amy Ann (GNR11868) with Carbine Rifle Mk II. -[info][2025/05/01 02:26:02]: [JCQ27225] Aimed at Amy Ann (GNR11868) with Carbine Rifle Mk II. -[info][2025/05/01 02:26:03]: [GNR11868] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/05/01 02:27:13]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/01 02:27:15]: [JCQ27225] nordi viewed inventory. -[info][2025/05/01 02:27:19]: [JCQ27225] nordi deleted item weapon_revolver_mk2 from Player-Inventory slot 12 in inventory. -[info][2025/05/01 02:27:25]: [JCQ27225] nordi moved item weapon_combatshotgun from Player-Inventory slot 1 to Player-Inventory slot 12 in inventory. -[info][2025/05/01 02:27:32]: [JCQ27225] nordi deleted item weapon_combatshotgun from Player-Inventory slot 12 in inventory. -[info][2025/05/01 02:27:42]: [JCQ27225] nordi added 1x weapon_carbinerifle to inventory. -[info][2025/05/01 02:29:10]: [JCQ27225] nordi deleted item weapon_carbinerifle from Player-Inventory slot 1 in inventory. -[info][2025/05/01 02:29:18]: [JCQ27225] nordi added 1x weapon_sniperrifle to inventory. -[info][2025/05/01 03:43:05]: [ELV21478] campers requested Shadow Wuff. -[info][2025/05/01 03:44:39]: [ELV21478] campers requested Shadow Wuff. -[info][2025/05/01 03:45:25]: [ELV21478] campers requested Shadow Wuff. -[info][2025/05/01 10:27:26]: [WIK72618] tim requested Orlando Lopez. -[info][2025/05/01 10:27:28]: [WIK72618] tim healed Orlando Lopez. -[info][2025/05/01 10:27:28]: [WIK72618] tim requested Orlando Lopez. -[info][2025/05/01 10:27:29]: [WIK72618] tim changed meta thirst for Orlando Lopez to 100. -[info][2025/05/01 10:27:29]: [WIK72618] tim requested Orlando Lopez. -[info][2025/05/01 10:27:29]: [WIK72618] tim changed meta hunger for Orlando Lopez to 100. -[info][2025/05/01 10:27:29]: [WIK72618] tim requested Orlando Lopez. -[info][2025/05/01 10:27:30]: [WIK72618] tim changed meta stress for Orlando Lopez to 0. -[info][2025/05/01 10:27:30]: [WIK72618] tim requested Orlando Lopez. -[info][2025/05/01 10:27:31]: [WIK72618] tim changed meta armor for Orlando Lopez to 100. -[info][2025/05/01 10:27:31]: [WIK72618] tim requested Orlando Lopez. -[info][2025/05/01 15:44:42]: [JCQ27225] Got killed by Seppl McCollin Jr. (AOJ19157) with Explosion causing 9999 damage. -[info][2025/05/01 15:49:23]: [AOJ19157] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 17 damage. -[info][2025/05/01 15:49:24]: [AOJ19157] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 17 damage. -[info][2025/05/01 16:00:11]: [AOJ19157] nordi requested Seppl McCollin Jr.. -[info][2025/05/01 16:01:38]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/01 16:01:46]: [JCQ27225] nordi viewed inventory. -[info][2025/05/01 16:01:48]: [JCQ27225] nordi deleted item weapon_sniperrifle from Player-Inventory slot 1 in inventory. -[info][2025/05/01 16:42:49]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/01 16:42:51]: [JCQ27225] nordi changed meta thirst for Kimberly Smith to 100. -[info][2025/05/01 16:42:51]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/01 16:42:51]: [JCQ27225] nordi changed meta hunger for Kimberly Smith to 100. -[info][2025/05/01 16:42:51]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/01 16:45:45]: [JCQ27225] nordi changed meta thirst for Kimberly Smith to 100. -[info][2025/05/01 16:45:45]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/01 16:45:45]: [JCQ27225] nordi changed meta thirst for Kimberly Smith to 100. -[info][2025/05/01 16:45:45]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/01 16:45:46]: [JCQ27225] nordi changed meta hunger for Kimberly Smith to 100. -[info][2025/05/01 16:45:46]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/01 16:45:46]: [JCQ27225] nordi changed meta hunger for Kimberly Smith to 100. -[info][2025/05/01 16:45:46]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/01 16:45:46]: [JCQ27225] nordi changed meta hunger for Kimberly Smith to 100. -[info][2025/05/01 16:45:46]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/01 16:52:41]: [JCQ27225] nordi viewed inventory. -[info][2025/05/01 16:52:43]: [JCQ27225] nordi deleted item weapon_carbinerifle_mk2 from Player-Inventory slot 2 in inventory. -[info][2025/05/01 16:52:54]: [JCQ27225] nordi added 1x weapon_specialcarbine to inventory. -[info][2025/05/01 17:37:23]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/01 17:37:27]: [JCQ27225] nordi viewed inventory. -[info][2025/05/01 17:37:45]: [JCQ27225] nordi added 6x water_bottle to inventory. -[info][2025/05/01 17:37:55]: [JCQ27225] nordi added 6x tosti to inventory. -[info][2025/05/01 17:40:17]: [JCQ27225] nordi added 1x weapon_combatshotgun to inventory. -[info][2025/05/01 19:06:09]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/01 19:06:13]: [JCQ27225] nordi viewed inventory. -[info][2025/05/01 19:06:22]: [JCQ27225] nordi added 1x tims_instant_nudeln to inventory. -[info][2025/05/01 19:06:29]: [JCQ27225] nordi added 1x spazi to inventory. -[info][2025/05/01 19:07:16]: [JCQ27225] nordi added 6x tims_instant_nudeln to inventory. -[info][2025/05/01 19:07:24]: [JCQ27225] nordi added 10x spazi to inventory. -[info][2025/05/01 19:14:09]: [JCQ27225] nordi moved item weapon_snspistol_mk2 from Player-Inventory slot 3 to Player-Inventory slot 18 in inventory. -[info][2025/05/01 19:14:28]: [JCQ27225] nordi added 1x weapon_revolver to inventory. -[info][2025/05/01 19:16:08]: [JCQ27225] nordi added 1x binoculars to inventory. -[info][2025/05/01 19:21:20]: [JCQ27225] nordi deleted item weapon_revolver from Player-Inventory slot 11 in inventory. -[info][2025/05/01 22:15:04]: [OHM07543] campers requested Demon Campers. -[info][2025/05/01 22:36:57]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/01 22:37:08]: [AOJ19157] tim changed charinfo for Seppl McCollin Jr.. -[info][2025/05/01 22:37:08]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/01 23:52:53]: [OHM07543] Got hit by Demon Campers (OHM07543) with Animal causing 38 damage. -[info][2025/05/02 00:35:02]: [JCQ27225] campers requested Kimberly Smith. -[info][2025/05/02 00:37:50]: [JCQ27225] campers requested Kimberly Smith. -[info][2025/05/02 01:21:28]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/02 01:21:34]: [JCQ27225] nordi viewed inventory. -[info][2025/05/02 01:21:47]: [JCQ27225] nordi added 1x weapon_heavypistol to inventory. -[info][2025/05/02 12:57:57]: [JCQ27225] nordi viewed inventory. -[info][2025/05/02 13:03:21]: [JCQ27225] nordi viewed inventory. -[info][2025/05/02 14:33:37]: [OHM07543] campers requested Demon Campers. -[info][2025/05/02 14:33:38]: [OHM07543] campers requested player vehicles. -[info][2025/05/02 14:38:09]: [DSC01606] campers requested Mark Petrol. -[info][2025/05/02 14:38:26]: [DSC01606] campers requested player vehicles. -[info][2025/05/02 14:38:32]: [DSC01606] campers requested Mark Petrol. -[info][2025/05/02 15:00:18]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/02 15:00:26]: [JCQ27225] nordi viewed inventory. -[info][2025/05/02 15:00:30]: [JCQ27225] nordi deleted item weapon_specialcarbine from Player-Inventory slot 13 in inventory. -[info][2025/05/02 15:00:38]: [JCQ27225] nordi added 1x weapon_musket to inventory. -[info][2025/05/02 15:11:25]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/02 15:11:30]: [JCQ27225] nordi viewed inventory. -[info][2025/05/02 15:11:33]: [JCQ27225] nordi deleted item weapon_musket from Player-Inventory slot 4 in inventory. -[info][2025/05/02 15:11:46]: [JCQ27225] nordi added 1x weapon_pumpshotgun_mk2 to inventory. -[info][2025/05/02 15:23:29]: [JCQ27225] campers requested Kimberly Smith. -[info][2025/05/02 15:25:12]: [JCQ27225] campers requested Kimberly Smith. -[info][2025/05/02 15:27:57]: [JCQ27225] campers requested player vehicles. -[info][2025/05/02 15:27:59]: [JCQ27225] campers requested Kimberly Smith. -[info][2025/05/02 15:29:54]: [JCQ27225] nordi deleted item weapon_heavypistol from Player-Inventory slot 3 in inventory. -[info][2025/05/02 15:30:21]: [JCQ27225] nordi added 1x weapon_assaultsmg to inventory. -[info][2025/05/02 16:03:04]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/02 16:03:06]: [JCQ27225] nordi viewed inventory. -[info][2025/05/02 16:43:02]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/02 16:43:11]: [JCQ27225] nordi changed job to police 11 for Kimberly Smith. -[info][2025/05/02 16:43:11]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/02 16:43:18]: [JCQ27225] nordi viewed inventory. -[info][2025/05/02 16:43:22]: [JCQ27225] nordi deleted item weapon_assaultsmg from Player-Inventory slot 3 in inventory. -[info][2025/05/02 16:43:29]: [JCQ27225] nordi added 1x weapon_combatpdw to inventory. -[info][2025/05/02 16:43:57]: [JCQ27225] campers requested Kimberly Smith. -[info][2025/05/02 16:44:29]: [OHM07543] campers requested Demon Campers. -[info][2025/05/02 16:44:43]: [OHM07543] campers changed job to police 10 for Demon Campers. -[info][2025/05/02 16:44:43]: [OHM07543] campers requested Demon Campers. -[info][2025/05/02 16:45:02]: [JCQ27225] nordi deleted item weapon_combatpdw from Player-Inventory slot 3 in inventory. -[info][2025/05/02 16:45:12]: [JCQ27225] nordi added 1x weapon_pistolxm3 to inventory. -[info][2025/05/02 16:48:19]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/02 16:48:22]: [JCQ27225] nordi viewed inventory. -[info][2025/05/02 16:59:16]: [JCQ27225] nordi deleted item weapon_pistolxm3 from Player-Inventory slot 3 in inventory. -[info][2025/05/02 16:59:25]: [JCQ27225] nordi added 1x weapon_smg_mk2 to inventory. -[info][2025/05/02 17:01:06]: [JCQ27225] nordi deleted item weapon_smg_mk2 from Player-Inventory slot 3 in inventory. -[info][2025/05/02 17:01:14]: [JCQ27225] nordi added 1x weapon_specialcarbine_mk2 to inventory. -[info][2025/05/02 17:08:39]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/02 17:08:43]: [JCQ27225] nordi viewed inventory. -[info][2025/05/02 17:09:17]: [JCQ27225] nordi added 20x smg_ammo to inventory. -[info][2025/05/02 17:09:19]: [JCQ27225] nordi moved item smg_ammo from Player-Inventory slot 4 to Player-Inventory slot 18 in inventory. -[info][2025/05/02 19:29:30]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/02 19:29:32]: [AOJ19157] tim healed Seppl McCollin Jr.. -[info][2025/05/02 19:29:32]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/02 19:29:33]: [AOJ19157] tim changed meta thirst for Seppl McCollin Jr. to 100. -[info][2025/05/02 19:29:33]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/02 19:29:33]: [AOJ19157] tim changed meta hunger for Seppl McCollin Jr. to 100. -[info][2025/05/02 19:29:33]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/02 19:29:34]: [AOJ19157] tim changed meta stress for Seppl McCollin Jr. to 0. -[info][2025/05/02 19:29:34]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/02 19:29:35]: [AOJ19157] tim changed meta armor for Seppl McCollin Jr. to 100. -[info][2025/05/02 19:29:35]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/02 19:47:08]: [AOJ19157] tim changed job to unemployed 0 for Seppl McCollin Jr.. -[info][2025/05/02 19:47:08]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/02 21:40:43]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/02 21:40:46]: [AOJ19157] tim healed Seppl McCollin Jr.. -[info][2025/05/02 21:40:46]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/02 21:40:46]: [AOJ19157] tim changed meta thirst for Seppl McCollin Jr. to 100. -[info][2025/05/02 21:40:46]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/02 21:40:47]: [AOJ19157] tim changed meta hunger for Seppl McCollin Jr. to 100. -[info][2025/05/02 21:40:47]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/02 21:40:47]: [AOJ19157] tim changed meta stress for Seppl McCollin Jr. to 0. -[info][2025/05/02 21:40:47]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/02 21:40:48]: [AOJ19157] tim changed meta armor for Seppl McCollin Jr. to 100. -[info][2025/05/02 21:40:48]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/02 22:08:28]: [IKW74404] tim requested Marty McCollin. -[info][2025/05/02 22:08:36]: [IKW74404] tim changed charinfo for Dr.Marty McCollin. -[info][2025/05/02 22:08:37]: [IKW74404] tim requested Dr.Marty McCollin. -[info][2025/05/02 22:08:39]: [IKW74404] tim healed Dr.Marty McCollin. -[info][2025/05/02 22:08:39]: [IKW74404] tim requested Dr.Marty McCollin. -[info][2025/05/02 22:08:39]: [IKW74404] tim changed meta thirst for Dr.Marty McCollin to 100. -[info][2025/05/02 22:08:39]: [IKW74404] tim requested Dr.Marty McCollin. -[info][2025/05/02 22:08:39]: [IKW74404] tim changed meta hunger for Dr.Marty McCollin to 100. -[info][2025/05/02 22:08:39]: [IKW74404] tim requested Dr.Marty McCollin. -[info][2025/05/02 22:08:40]: [IKW74404] tim changed meta armor for Dr.Marty McCollin to 100. -[info][2025/05/02 22:08:40]: [IKW74404] tim requested Dr.Marty McCollin. -[info][2025/05/02 22:12:31]: [GNR11868] campers requested Amy Ann. -[info][2025/05/02 22:12:45]: [GNR11868] campers requested Amy Ann. -[info][2025/05/02 22:42:08]: [IKW74404] tim healed Dr.Marty McCollin. -[info][2025/05/02 22:42:08]: [IKW74404] tim requested Dr.Marty McCollin. -[info][2025/05/02 22:42:08]: [IKW74404] tim changed meta thirst for Dr.Marty McCollin to 100. -[info][2025/05/02 22:42:08]: [IKW74404] tim requested Dr.Marty McCollin. -[info][2025/05/02 22:42:09]: [IKW74404] tim changed meta hunger for Dr.Marty McCollin to 100. -[info][2025/05/02 22:42:09]: [IKW74404] tim requested Dr.Marty McCollin. -[info][2025/05/02 22:42:09]: [IKW74404] tim changed meta stress for Dr.Marty McCollin to 0. -[info][2025/05/02 22:42:09]: [IKW74404] tim requested Dr.Marty McCollin. -[info][2025/05/02 22:42:10]: [IKW74404] tim changed meta armor for Dr.Marty McCollin to 100. -[info][2025/05/02 22:42:10]: [IKW74404] tim requested Dr.Marty McCollin. -[info][2025/05/02 22:53:32]: [IKW74404] Got hit by Demon Campers (OHM07543) with Fist causing 21 damage. -[info][2025/05/02 22:53:40]: [OHM07543] Got hit by Dr.Marty McCollin (IKW74404) with Fist causing 21 damage. -[info][2025/05/02 23:04:29]: [IKW74404] Got hit by Dr.Marty McCollin (IKW74404) with Fist causing 16 damage. -[info][2025/05/02 23:07:33]: [AOJ19157] Aimed at Demon Campers (OHM07543) with Heavy Revolver Mk II. -[info][2025/05/02 23:07:37]: [OHM07543] Got killed by Seppl McCollin Jr. (AOJ19157) with Heavy Revolver MK2 causing 3785 damage. -[info][2025/05/02 23:59:02]: [OHM07543] Got killed by Amy Ann (GNR11868) with Explosion causing 500 damage. -[info][2025/05/03 00:00:04]: [IKW74404] Got killed by Demon Campers (OHM07543) with Vehicle Player Lazer causing 152 damage. -[info][2025/05/03 00:00:04]: [IKW74404] Got killed by Demon Campers (OHM07543) with Vehicle Player Lazer causing 143 damage. -[info][2025/05/03 00:14:00]: [OHM07543] campers requested Demon Campers. -[info][2025/05/03 00:14:03]: [OHM07543] campers changed meta thirst for Demon Campers to 100. -[info][2025/05/03 00:14:03]: [OHM07543] campers requested Demon Campers. -[info][2025/05/03 00:14:04]: [OHM07543] campers healed Demon Campers. -[info][2025/05/03 00:14:04]: [OHM07543] campers requested Demon Campers. -[info][2025/05/03 00:14:05]: [OHM07543] campers changed meta hunger for Demon Campers to 100. -[info][2025/05/03 00:14:05]: [OHM07543] campers requested Demon Campers. -[info][2025/05/03 01:44:16]: [OHM07543] campers requested Demon Campers. -[info][2025/05/03 01:44:20]: [OHM07543] campers viewed inventory. -[info][2025/05/03 01:44:22]: [OHM07543] campers moved item weapons_route from Player-Inventory slot 4 to Player-Inventory slot 24 in inventory. -[info][2025/05/03 01:44:35]: [OHM07543] campers added 10x stevens_apfelmustorte to inventory. -[info][2025/05/03 01:44:49]: [OHM07543] campers added 10x water_bottle to inventory. -[info][2025/05/03 01:44:54]: [OHM07543] campers swaped item weapon_revolver from Player-Inventory slot 23 with item weapon_carbinerifle_mk2 from Player-Inventory slot 3 in inventory. -[info][2025/05/03 01:46:03]: [OHM07543] campers added 10x sandwich to inventory. -[info][2025/05/03 02:57:06]: [ELV21478] Got hit by Demon Campers (OHM07543) with Fist causing 27 damage. -[info][2025/05/03 02:57:59]: [ELV21478] campers requested Shadow Wuff. -[info][2025/05/03 02:58:03]: [ELV21478] campers viewed inventory. -[info][2025/05/03 02:58:15]: [ELV21478] campers added 20x sandwich to inventory. -[info][2025/05/03 02:58:25]: [ELV21478] campers added 20x water_bottle to inventory. -[info][2025/05/03 05:27:05]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/03 05:27:08]: [JCQ27225] nordi viewed inventory. -[info][2025/05/03 05:27:11]: [JCQ27225] nordi deleted item weapon_specialcarbine_mk2 from Player-Inventory slot 3 in inventory. -[info][2025/05/03 12:42:18]: [DSC01606] max requested Mark Petrol. -[info][2025/05/03 12:42:28]: [DSC01606] max changed meta thirst for Mark Petrol to 100. -[info][2025/05/03 12:42:28]: [DSC01606] max requested Mark Petrol. -[info][2025/05/03 12:42:29]: [DSC01606] max changed meta hunger for Mark Petrol to 100. -[info][2025/05/03 12:42:29]: [DSC01606] max requested Mark Petrol. -[info][2025/05/03 12:42:31]: [DSC01606] max healed Mark Petrol. -[info][2025/05/03 12:42:31]: [DSC01606] max requested Mark Petrol. -[info][2025/05/03 13:27:33]: [DSC01606] max requested Mark Petrol. -[info][2025/05/03 13:27:37]: [DSC01606] max healed Mark Petrol. -[info][2025/05/03 13:27:37]: [DSC01606] max requested Mark Petrol. -[info][2025/05/03 13:28:17]: [DSC01606] max healed Mark Petrol. -[info][2025/05/03 13:28:17]: [DSC01606] max requested Mark Petrol. -[info][2025/05/03 13:28:19]: [DSC01606] max changed meta thirst for Mark Petrol to 100. -[info][2025/05/03 13:28:19]: [DSC01606] max requested Mark Petrol. -[info][2025/05/03 13:28:20]: [DSC01606] max changed meta hunger for Mark Petrol to 100. -[info][2025/05/03 13:28:20]: [DSC01606] max requested Mark Petrol. -[info][2025/05/03 15:46:10]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/03 15:46:12]: [AOJ19157] tim healed Seppl McCollin Jr.. -[info][2025/05/03 15:46:12]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/03 15:46:12]: [AOJ19157] tim changed meta thirst for Seppl McCollin Jr. to 100. -[info][2025/05/03 15:46:12]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/03 15:46:13]: [AOJ19157] tim changed meta hunger for Seppl McCollin Jr. to 100. -[info][2025/05/03 15:46:13]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/03 15:46:13]: [AOJ19157] tim changed meta armor for Seppl McCollin Jr. to 100. -[info][2025/05/03 15:46:13]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/03 16:29:30]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/03 16:29:37]: [JCQ27225] nordi viewed inventory. -[info][2025/05/03 16:29:45]: [JCQ27225] nordi added 1x pd_keycard to inventory. -[info][2025/05/03 17:10:10]: [AOJ19157] tim healed Seppl McCollin Jr.. -[info][2025/05/03 17:10:10]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/03 17:10:11]: [AOJ19157] tim changed meta thirst for Seppl McCollin Jr. to 100. -[info][2025/05/03 17:10:11]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/03 17:10:12]: [AOJ19157] tim changed meta hunger for Seppl McCollin Jr. to 100. -[info][2025/05/03 17:10:12]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/03 17:10:12]: [AOJ19157] tim changed meta stress for Seppl McCollin Jr. to 0. -[info][2025/05/03 17:10:12]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/03 17:10:17]: [PCC19872] tim requested Dr.Boris Von Dragomir. -[info][2025/05/03 17:10:19]: [PCC19872] tim healed Dr.Boris Von Dragomir. -[info][2025/05/03 17:10:19]: [PCC19872] tim requested Dr.Boris Von Dragomir. -[info][2025/05/03 17:10:19]: [PCC19872] tim changed meta thirst for Dr.Boris Von Dragomir to 100. -[info][2025/05/03 17:10:19]: [PCC19872] tim requested Dr.Boris Von Dragomir. -[info][2025/05/03 17:10:20]: [PCC19872] tim changed meta hunger for Dr.Boris Von Dragomir to 100. -[info][2025/05/03 17:10:20]: [PCC19872] tim requested Dr.Boris Von Dragomir. -[info][2025/05/03 17:10:21]: [PCC19872] tim changed meta armor for Dr.Boris Von Dragomir to 100. -[info][2025/05/03 17:10:21]: [PCC19872] tim requested Dr.Boris Von Dragomir. -[info][2025/05/03 17:10:30]: [JCQ27225] tim requested Kimberly Smith. -[info][2025/05/03 17:10:31]: [JCQ27225] tim healed Kimberly Smith. -[info][2025/05/03 17:10:31]: [JCQ27225] tim requested Kimberly Smith. -[info][2025/05/03 17:10:32]: [JCQ27225] tim changed meta thirst for Kimberly Smith to 100. -[info][2025/05/03 17:10:32]: [JCQ27225] tim requested Kimberly Smith. -[info][2025/05/03 17:10:32]: [JCQ27225] tim changed meta hunger for Kimberly Smith to 100. -[info][2025/05/03 17:10:32]: [JCQ27225] tim requested Kimberly Smith. -[info][2025/05/03 17:10:33]: [JCQ27225] tim changed meta armor for Kimberly Smith to 100. -[info][2025/05/03 17:10:33]: [JCQ27225] tim requested Kimberly Smith. -[info][2025/05/03 17:10:38]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/03 17:10:43]: [AOJ19157] tim viewed inventory. -[info][2025/05/03 17:10:56]: [AOJ19157] tim added 1x pd_keycard to inventory. -[info][2025/05/04 18:09:44]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/04 18:09:47]: [JCQ27225] nordi viewed inventory. -[info][2025/05/04 18:09:54]: [JCQ27225] nordi added 1x spikestrips to inventory. -[info][2025/05/04 18:30:23]: [JCQ27225] nordi added 4x spikestrips to inventory. -[info][2025/05/04 18:31:09]: [JCQ27225] nordi deleted item spikestrips from Player-Inventory slot 10 in inventory. -[info][2025/05/04 20:07:26]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/04 20:07:33]: [JCQ27225] nordi changed meta thirst for Kimberly Smith to 100. -[info][2025/05/04 20:07:33]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/04 20:07:33]: [JCQ27225] nordi changed meta hunger for Kimberly Smith to 100. -[info][2025/05/04 20:07:33]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/04 20:07:37]: [JCQ27225] nordi viewed inventory. -[info][2025/05/04 20:07:48]: [JCQ27225] nordi added 10x tims_instant_nudeln to inventory. -[info][2025/05/04 20:19:33]: [JCQ27225] nordi added 1x dildo to inventory. -[info][2025/05/04 20:19:40]: [JCQ27225] nordi added 1x gleitgel to inventory. -[info][2025/05/04 20:20:15]: [JCQ27225] nordi deleted item dildo from Player-Inventory slot 5 in inventory. -[info][2025/05/04 20:20:21]: [JCQ27225] nordi deleted item gleitgel from Player-Inventory slot 10 in inventory. -[info][2025/05/04 20:20:30]: [JCQ27225] nordi added 1x ohrstopsel to inventory. -[info][2025/05/04 20:20:51]: [JCQ27225] nordi added 1x kaugummi to inventory. -[info][2025/05/04 20:21:52]: [JCQ27225] nordi moved item ohrstopsel from Player-Inventory slot 5 to Player-Inventory slot 21 in inventory. -[info][2025/05/04 20:21:55]: [JCQ27225] nordi deleted item kaugummi from Player-Inventory slot 10 in inventory. -[info][2025/05/04 20:22:03]: [JCQ27225] nordi added 1x billokaffee to inventory. -[info][2025/05/04 20:22:56]: [JCQ27225] nordi deleted item billokaffee from Player-Inventory slot 5 in inventory. -[info][2025/05/04 21:18:29]: [GNR11868] nordi requested Amy Ann. -[info][2025/05/04 21:18:32]: [GNR11868] nordi viewed inventory. -[info][2025/05/04 21:18:41]: [GNR11868] nordi added 10x tims_instant_nudeln to inventory. -[info][2025/05/04 21:18:49]: [GNR11868] nordi added 10x spazi to inventory. -[info][2025/05/04 21:46:41]: [GNR11868] Got hit by Kimberly Smith (JCQ27225) with Fist causing 21 damage. -[info][2025/05/04 21:58:51]: [OHM07543] campers requested Demon Campers. -[info][2025/05/04 21:58:55]: [OHM07543] campers viewed inventory. -[info][2025/05/04 21:59:06]: [OHM07543] campers added 1x pd_keycard to inventory. -[info][2025/05/04 22:13:54]: [OHM07543] campers added 2x spikestrips to inventory. -[info][2025/05/04 23:11:48]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/05/05 00:33:38]: [OHM07543] campers viewed inventory. -[info][2025/05/05 07:48:13]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/05 07:48:18]: [JCQ27225] nordi healed Kimberly Smith. -[info][2025/05/05 07:48:18]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/05 07:48:22]: [JCQ27225] nordi healed Kimberly Smith. -[info][2025/05/05 07:48:22]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/05 07:48:29]: [JCQ27225] nordi changed meta hunger for Kimberly Smith to 100. -[info][2025/05/05 07:48:29]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/05 07:48:29]: [JCQ27225] nordi changed meta thirst for Kimberly Smith to 100. -[info][2025/05/05 07:48:29]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/05 07:48:31]: [JCQ27225] nordi healed Kimberly Smith. -[info][2025/05/05 07:48:31]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/05 07:48:31]: [JCQ27225] nordi healed Kimberly Smith. -[info][2025/05/05 07:48:31]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/05 07:48:31]: [JCQ27225] nordi healed Kimberly Smith. -[info][2025/05/05 07:48:31]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/05 15:28:16]: [DSC01606] max requested Mark Petrol. -[info][2025/05/05 15:28:23]: [DSC01606] max healed Mark Petrol. -[info][2025/05/05 15:28:23]: [DSC01606] max requested Mark Petrol. -[info][2025/05/05 15:28:24]: [DSC01606] max changed meta thirst for Mark Petrol to 100. -[info][2025/05/05 15:28:24]: [DSC01606] max requested Mark Petrol. -[info][2025/05/05 15:28:24]: [DSC01606] max changed meta hunger for Mark Petrol to 100. -[info][2025/05/05 15:28:24]: [DSC01606] max requested Mark Petrol. -[info][2025/05/05 15:28:29]: [DSC01606] max changed meta armor for Mark Petrol to 100. -[info][2025/05/05 15:28:29]: [DSC01606] max requested Mark Petrol. -[info][2025/05/05 15:28:31]: [DSC01606] max changed meta stress for Mark Petrol to 0. -[info][2025/05/05 15:28:31]: [DSC01606] max requested Mark Petrol. -[info][2025/05/05 15:29:06]: [DSC01606] max requested player vehicles. -[info][2025/05/05 17:12:11]: [DSC01606] max requested Mark Petrol. -[info][2025/05/05 17:12:15]: [DSC01606] max healed Mark Petrol. -[info][2025/05/05 17:12:16]: [DSC01606] max requested Mark Petrol. -[info][2025/05/05 17:12:16]: [DSC01606] max changed meta thirst for Mark Petrol to 100. -[info][2025/05/05 17:12:16]: [DSC01606] max requested Mark Petrol. -[info][2025/05/05 17:12:17]: [DSC01606] max changed meta hunger for Mark Petrol to 100. -[info][2025/05/05 17:12:17]: [DSC01606] max requested Mark Petrol. -[info][2025/05/05 20:01:38]: [JCQ27225] minichaoz requested Kimberly Smith. -[info][2025/05/05 20:01:44]: [JCQ27225] minichaoz healed Kimberly Smith. -[info][2025/05/05 20:01:44]: [JCQ27225] minichaoz requested Kimberly Smith. -[info][2025/05/05 20:11:35]: [JCQ27225] tim requested Kimberly Smith. -[info][2025/05/05 20:11:37]: [JCQ27225] tim healed Kimberly Smith. -[info][2025/05/05 20:11:37]: [JCQ27225] tim requested Kimberly Smith. -[info][2025/05/05 20:11:37]: [JCQ27225] tim healed Kimberly Smith. -[info][2025/05/05 20:11:37]: [JCQ27225] tim requested Kimberly Smith. -[info][2025/05/05 20:11:38]: [JCQ27225] tim changed meta thirst for Kimberly Smith to 100. -[info][2025/05/05 20:11:38]: [JCQ27225] tim requested Kimberly Smith. -[info][2025/05/05 20:11:38]: [JCQ27225] tim changed meta hunger for Kimberly Smith to 100. -[info][2025/05/05 20:11:38]: [JCQ27225] tim requested Kimberly Smith. -[info][2025/05/05 20:11:39]: [JCQ27225] tim changed meta stress for Kimberly Smith to 0. -[info][2025/05/05 20:11:39]: [JCQ27225] tim requested Kimberly Smith. -[info][2025/05/05 20:11:40]: [JCQ27225] tim changed meta armor for Kimberly Smith to 100. -[info][2025/05/05 20:11:40]: [JCQ27225] tim requested Kimberly Smith. -[info][2025/05/05 21:36:22]: [ASS17049] Got hit by Frank Castle (DUD53794) with Fist causing 20 damage. -[info][2025/05/05 21:36:23]: [ASS17049] Got hit by Frank Castle (DUD53794) with Fist causing 0 damage. -[info][2025/05/05 21:36:24]: [ASS17049] Got hit by Frank Castle (DUD53794) with Fist causing 20 damage. -[info][2025/05/05 21:36:25]: [ASS17049] Got hit by Frank Castle (DUD53794) with Fist causing 25 damage. -[info][2025/05/05 21:36:26]: [ASS17049] Got killed by Frank Castle (DUD53794) with Fist causing 25 damage. -[info][2025/05/05 21:38:44]: [ASS17049] Got hit by Frank Castle (DUD53794) with Fist causing 20 damage. -[info][2025/05/05 21:38:45]: [ASS17049] Got hit by Frank Castle (DUD53794) with Fist causing 0 damage. -[info][2025/05/05 21:38:47]: [ASS17049] Got hit by Frank Castle (DUD53794) with Fist causing 20 damage. -[info][2025/05/05 21:38:48]: [ASS17049] Got hit by Frank Castle (DUD53794) with Fist causing 20 damage. -[info][2025/05/05 21:38:48]: [DUD53794] Got hit by Luna Lanewood (ASS17049) with Fist causing 26 damage. -[info][2025/05/05 21:38:49]: [ASS17049] Got hit by Frank Castle (DUD53794) with Fist causing 20 damage. -[info][2025/05/05 21:38:49]: [ASS17049] Got hit by Frank Castle (DUD53794) with Fist causing 0 damage. -[info][2025/05/05 21:38:51]: [ASS17049] Got killed by Frank Castle (DUD53794) with Fist causing 20 damage. -[info][2025/05/05 21:38:52]: [ASS17049] Got killed by Frank Castle (DUD53794) with Fist causing 20 damage. -[info][2025/05/05 21:38:54]: [ASS17049] Got hit by Frank Castle (DUD53794) with Fist causing 25 damage. -[info][2025/05/05 21:38:57]: [ASS17049] Got hit by Frank Castle (DUD53794) with Fist causing 25 damage. -[info][2025/05/05 21:39:00]: [ASS17049] Got hit by Frank Castle (DUD53794) with Fist causing 20 damage. -[info][2025/05/05 21:39:01]: [ASS17049] Got hit by Frank Castle (DUD53794) with Fist causing 20 damage. -[info][2025/05/05 21:39:02]: [ASS17049] Got hit by Frank Castle (DUD53794) with Fist causing 25 damage. -[info][2025/05/05 22:04:14]: [ASS17049] Got hit by Frank Castle (DUD53794) with Fist causing 25 damage. -[info][2025/05/05 23:38:40]: [PCC19872] campers requested Dr.Boris Von Dragomir. -[info][2025/05/06 03:00:16]: [PCC19872] campers requested Dr.Boris Von Dragomir. -[info][2025/05/06 17:51:42]: [VHM17991] tim requested Allison Wolf. -[info][2025/05/06 17:51:56]: [VHM17991] tim changed charinfo for Sophi-Rose Wolf. -[info][2025/05/06 17:51:56]: [VHM17991] tim requested Sophi-Rose Wolf. -[info][2025/05/06 18:05:31]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/06 18:05:33]: [AOJ19157] tim healed Seppl McCollin Jr.. -[info][2025/05/06 18:05:33]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/06 18:05:33]: [AOJ19157] tim changed meta thirst for Seppl McCollin Jr. to 100. -[info][2025/05/06 18:05:33]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/06 18:05:34]: [AOJ19157] tim changed meta hunger for Seppl McCollin Jr. to 100. -[info][2025/05/06 18:05:34]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/06 18:05:35]: [AOJ19157] tim changed meta stress for Seppl McCollin Jr. to 0. -[info][2025/05/06 18:05:35]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/06 18:05:35]: [AOJ19157] tim changed meta armor for Seppl McCollin Jr. to 100. -[info][2025/05/06 18:05:35]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/06 18:10:27]: [AOJ19157] tim changed job to police 11 for Seppl McCollin Jr.. -[info][2025/05/06 18:10:27]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/06 19:46:28]: [DUD53794] Got hit by Frank Castle (DUD53794) with Fist causing 14 damage. -[info][2025/05/06 19:46:29]: [DUD53794] Got hit by Frank Castle (DUD53794) with Fist causing 14 damage. -[info][2025/05/06 19:46:34]: [DUD53794] Got hit by Frank Castle (DUD53794) with Fist causing 14 damage. -[info][2025/05/06 19:46:35]: [DUD53794] Got hit by Frank Castle (DUD53794) with Fist causing 14 damage. -[info][2025/05/06 19:46:42]: [DUD53794] Got hit by Frank Castle (DUD53794) with Fist causing 14 damage. -[info][2025/05/06 19:46:44]: [DUD53794] Got hit by Frank Castle (DUD53794) with Fist causing 14 damage. -[info][2025/05/06 19:46:45]: [DUD53794] Got hit by Frank Castle (DUD53794) with Fist causing 14 damage. -[info][2025/05/06 19:47:23]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Pistol Mk II. -[info][2025/05/06 19:47:28]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Pistol Mk II. -[info][2025/05/06 19:47:28]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Pistol MK2 causing 31 damage. -[info][2025/05/06 19:47:30]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Pistol Mk II. -[info][2025/05/06 19:47:30]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Pistol MK2 causing 11 damage. -[info][2025/05/06 19:47:31]: [DUD53794] Got killed by Kimberly Smith (JCQ27225) with Pistol MK2 causing 11 damage. -[info][2025/05/06 19:48:52]: [DUD53794] Aimed at Kimberly Smith (JCQ27225) with SNS Pistol Mk II. -[info][2025/05/06 19:48:53]: [JCQ27225] Got killed by Frank Castle (DUD53794) with SNS Pistol MK2 causing 627 damage. -[info][2025/05/06 19:48:56]: [DUD53794] Aimed at Kimberly Smith (JCQ27225) with SNS Pistol Mk II. -[info][2025/05/06 19:50:53]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/06 20:38:48]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/06 20:38:51]: [JCQ27225] nordi viewed inventory. -[info][2025/05/06 20:38:57]: [JCQ27225] nordi moved item weapon_snspistol_mk2 from Player-Inventory slot 1 to Player-Inventory slot 23 in inventory. -[info][2025/05/06 20:38:58]: [JCQ27225] nordi moved item weapon_snspistol_mk2 from Player-Inventory slot 23 to Player-Inventory slot 22 in inventory. -[info][2025/05/06 20:39:01]: [JCQ27225] nordi moved item weapon_petrolcan from Player-Inventory slot 5 to Player-Inventory slot 23 in inventory. -[info][2025/05/06 20:39:36]: [JCQ27225] nordi added 1x weapon_appistol to inventory. -[info][2025/05/06 20:39:46]: [JCQ27225] nordi added 1x weapon_combatpdw to inventory. -[info][2025/05/06 20:39:55]: [JCQ27225] nordi added 1x weapon_smg to inventory. -[info][2025/05/06 20:40:18]: [JCQ27225] Aimed at Frank Castle (DUD53794) with AP Pistol. -[info][2025/05/06 20:40:38]: [JCQ27225] Aimed at Frank Castle (DUD53794) with AP Pistol. -[info][2025/05/06 20:41:41]: [JCQ27225] Aimed at Frank Castle (DUD53794) with AP Pistol. -[info][2025/05/06 20:41:49]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 24 damage. -[info][2025/05/06 20:41:49]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 4 damage. -[info][2025/05/06 20:41:50]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 4 damage. -[info][2025/05/06 20:41:50]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 4 damage. -[info][2025/05/06 20:41:51]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 4 damage. -[info][2025/05/06 20:41:51]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 4 damage. -[info][2025/05/06 20:41:52]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 4 damage. -[info][2025/05/06 20:41:53]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 4 damage. -[info][2025/05/06 20:41:53]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 4 damage. -[info][2025/05/06 20:41:53]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 4 damage. -[info][2025/05/06 20:41:53]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 4 damage. -[info][2025/05/06 20:41:54]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 4 damage. -[info][2025/05/06 20:41:54]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 4 damage. -[info][2025/05/06 20:41:55]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 4 damage. -[info][2025/05/06 20:41:55]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 4 damage. -[info][2025/05/06 20:41:55]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 4 damage. -[info][2025/05/06 20:41:55]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 4 damage. -[info][2025/05/06 20:41:55]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 4 damage. -[info][2025/05/06 20:41:59]: [JCQ27225] Aimed at Frank Castle (DUD53794) with AP Pistol. -[info][2025/05/06 20:42:00]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 4 damage. -[info][2025/05/06 20:42:00]: [DUD53794] Got killed by Kimberly Smith (JCQ27225) with AP Pistol causing 4 damage. -[info][2025/05/06 20:42:00]: [DUD53794] Got killed by Kimberly Smith (JCQ27225) with AP Pistol causing 4 damage. -[info][2025/05/06 20:42:50]: [JCQ27225] Aimed at Frank Castle (DUD53794) with AP Pistol. -[info][2025/05/06 20:42:52]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 4 damage. -[info][2025/05/06 20:42:52]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 4 damage. -[info][2025/05/06 20:42:53]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 4 damage. -[info][2025/05/06 20:42:53]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 4 damage. -[info][2025/05/06 20:42:54]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 4 damage. -[info][2025/05/06 20:42:56]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 4 damage. -[info][2025/05/06 20:42:58]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 4 damage. -[info][2025/05/06 20:42:59]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 4 damage. -[info][2025/05/06 20:43:00]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 4 damage. -[info][2025/05/06 20:43:05]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 4 damage. -[info][2025/05/06 20:43:43]: [JCQ27225] Aimed at Frank Castle (DUD53794) with AP Pistol. -[info][2025/05/06 20:43:43]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 4 damage. -[info][2025/05/06 20:43:44]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 9 damage. -[info][2025/05/06 20:43:45]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 9 damage. -[info][2025/05/06 20:43:47]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 9 damage. -[info][2025/05/06 20:43:48]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 9 damage. -[info][2025/05/06 20:43:49]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 9 damage. -[info][2025/05/06 20:43:50]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 9 damage. -[info][2025/05/06 20:47:04]: [JCQ27225] Aimed at Frank Castle (DUD53794) with AP Pistol. -[info][2025/05/06 20:47:07]: [JCQ27225] Aimed at Frank Castle (DUD53794) with AP Pistol. -[info][2025/05/06 20:47:07]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 9 damage. -[info][2025/05/06 20:47:08]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 14 damage. -[info][2025/05/06 20:47:23]: [JCQ27225] Aimed at Frank Castle (DUD53794) with AP Pistol. -[info][2025/05/06 20:47:26]: [JCQ27225] Aimed at Frank Castle (DUD53794) with AP Pistol. -[info][2025/05/06 20:47:27]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 14 damage. -[info][2025/05/06 20:47:28]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/05/06 20:47:29]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/05/06 20:47:30]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/05/06 20:47:31]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/05/06 20:47:32]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/05/06 20:47:32]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/05/06 20:48:58]: [JCQ27225] Aimed at Frank Castle (DUD53794) with AP Pistol. -[info][2025/05/06 20:49:01]: [JCQ27225] Aimed at Frank Castle (DUD53794) with AP Pistol. -[info][2025/05/06 20:49:01]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/05/06 20:49:01]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/05/06 20:49:02]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/05/06 20:49:02]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/05/06 20:49:02]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/05/06 20:49:02]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/05/06 20:49:02]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/05/06 20:49:02]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/05/06 20:49:02]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/05/06 20:49:03]: [JCQ27225] Aimed at Frank Castle (DUD53794) with AP Pistol. -[info][2025/05/06 20:49:03]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/05/06 20:49:03]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/05/06 20:49:03]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/05/06 20:49:03]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/05/06 20:49:04]: [DUD53794] Got killed by Kimberly Smith (JCQ27225) with AP Pistol causing 132 damage. -[info][2025/05/06 20:49:04]: [DUD53794] Got killed by Kimberly Smith (JCQ27225) with AP Pistol causing 131 damage. -[info][2025/05/06 20:49:04]: [DUD53794] Got killed by Kimberly Smith (JCQ27225) with AP Pistol causing 0 damage. -[info][2025/05/06 20:49:09]: [JCQ27225] Aimed at Frank Castle (DUD53794) with AP Pistol. -[info][2025/05/06 20:49:09]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/05/06 20:49:10]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/05/06 20:49:40]: [JCQ27225] nordi added 10x pistol_ammo to inventory. -[info][2025/05/06 20:49:42]: [JCQ27225] nordi moved item pistol_ammo from Player-Inventory slot 4 to Player-Inventory slot 16 in inventory. -[info][2025/05/06 20:49:44]: [JCQ27225] Aimed at Frank Castle (DUD53794) with AP Pistol. -[info][2025/05/06 20:49:51]: [JCQ27225] Aimed at Frank Castle (DUD53794) with AP Pistol. -[info][2025/05/06 20:49:51]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/05/06 20:49:52]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/05/06 20:49:52]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/05/06 20:49:53]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/05/06 20:49:54]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/05/06 20:49:54]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/05/06 20:49:55]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/05/06 20:49:56]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/05/06 20:49:57]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/05/06 20:52:29]: [JCQ27225] nordi deleted item weapon_appistol from Player-Inventory slot 1 in inventory. -[info][2025/05/06 20:52:31]: [JCQ27225] nordi moved item weapon_pistol_mk2 from Player-Inventory slot 15 to Player-Inventory slot 1 in inventory. -[info][2025/05/06 20:52:37]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Pistol Mk II. -[info][2025/05/06 20:52:43]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Pistol MK2 causing 31 damage. -[info][2025/05/06 20:52:44]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Pistol MK2 causing 8 damage. -[info][2025/05/06 20:52:45]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Pistol MK2 causing 8 damage. -[info][2025/05/06 20:52:45]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Pistol MK2 causing 8 damage. -[info][2025/05/06 20:52:46]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Pistol MK2 causing 8 damage. -[info][2025/05/06 20:52:47]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Pistol MK2 causing 8 damage. -[info][2025/05/06 20:52:47]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Pistol MK2 causing 8 damage. -[info][2025/05/06 20:52:48]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Pistol MK2 causing 8 damage. -[info][2025/05/06 20:52:49]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Pistol MK2 causing 8 damage. -[info][2025/05/06 20:52:49]: [DUD53794] Got killed by Kimberly Smith (JCQ27225) with Pistol MK2 causing 8 damage. -[info][2025/05/06 20:53:18]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Pistol Mk II. -[info][2025/05/06 20:53:34]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Pistol Mk II. -[info][2025/05/06 20:53:34]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Pistol MK2 causing 8 damage. -[info][2025/05/06 20:53:35]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Pistol MK2 causing 11 damage. -[info][2025/05/06 20:53:35]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Pistol MK2 causing 11 damage. -[info][2025/05/06 20:53:35]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Pistol MK2 causing 11 damage. -[info][2025/05/06 20:53:36]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Pistol MK2 causing 11 damage. -[info][2025/05/06 20:53:36]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Pistol MK2 causing 11 damage. -[info][2025/05/06 20:53:37]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Pistol MK2 causing 11 damage. -[info][2025/05/06 20:53:39]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Pistol MK2 causing 11 damage. -[info][2025/05/06 20:53:39]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Pistol MK2 causing 11 damage. -[info][2025/05/06 20:53:40]: [DUD53794] Got killed by Kimberly Smith (JCQ27225) with Pistol MK2 causing 11 damage. -[info][2025/05/06 20:54:22]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Pistol Mk II. -[info][2025/05/06 20:54:23]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Pistol MK2 causing 11 damage. -[info][2025/05/06 20:54:23]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Pistol MK2 causing 18 damage. -[info][2025/05/06 20:54:24]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Pistol MK2 causing 18 damage. -[info][2025/05/06 20:54:24]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Pistol MK2 causing 18 damage. -[info][2025/05/06 20:54:25]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Pistol MK2 causing 18 damage. -[info][2025/05/06 20:54:26]: [DUD53794] Got killed by Kimberly Smith (JCQ27225) with Pistol MK2 causing 18 damage. -[info][2025/05/06 20:56:33]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Combat PDW. -[info][2025/05/06 20:56:33]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat PDW causing 27 damage. -[info][2025/05/06 20:56:36]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat PDW causing 10 damage. -[info][2025/05/06 20:56:37]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat PDW causing 10 damage. -[info][2025/05/06 20:56:38]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat PDW causing 10 damage. -[info][2025/05/06 20:56:58]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Combat PDW. -[info][2025/05/06 20:57:01]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat PDW causing 10 damage. -[info][2025/05/06 20:57:01]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat PDW causing 10 damage. -[info][2025/05/06 20:57:02]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat PDW causing 10 damage. -[info][2025/05/06 20:57:03]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat PDW causing 10 damage. -[info][2025/05/06 20:57:03]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat PDW causing 10 damage. -[info][2025/05/06 20:57:04]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat PDW causing 10 damage. -[info][2025/05/06 20:57:05]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat PDW causing 10 damage. -[info][2025/05/06 20:57:06]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat PDW causing 10 damage. -[info][2025/05/06 20:57:06]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat PDW causing 10 damage. -[info][2025/05/06 20:57:07]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat PDW causing 10 damage. -[info][2025/05/06 20:57:47]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Combat PDW. -[info][2025/05/06 20:57:47]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat PDW causing 10 damage. -[info][2025/05/06 20:57:48]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat PDW causing 10 damage. -[info][2025/05/06 20:57:49]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat PDW causing 10 damage. -[info][2025/05/06 20:57:50]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat PDW causing 10 damage. -[info][2025/05/06 20:57:50]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat PDW causing 10 damage. -[info][2025/05/06 20:57:51]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat PDW causing 10 damage. -[info][2025/05/06 20:57:52]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat PDW causing 10 damage. -[info][2025/05/06 20:57:53]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat PDW causing 10 damage. -[info][2025/05/06 20:57:58]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Combat PDW. -[info][2025/05/06 20:57:59]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat PDW causing 10 damage. -[info][2025/05/06 20:57:59]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat PDW causing 10 damage. -[info][2025/05/06 20:58:00]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat PDW causing 10 damage. -[info][2025/05/06 20:58:01]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat PDW causing 10 damage. -[info][2025/05/06 20:58:01]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat PDW causing 10 damage. -[info][2025/05/06 20:58:02]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat PDW causing 10 damage. -[info][2025/05/06 20:58:02]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat PDW causing 10 damage. -[info][2025/05/06 20:58:03]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat PDW causing 10 damage. -[info][2025/05/06 20:58:03]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat PDW causing 10 damage. -[info][2025/05/06 20:58:04]: [DUD53794] Got killed by Kimberly Smith (JCQ27225) with Combat PDW causing 10 damage. -[info][2025/05/06 20:58:18]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Combat PDW. -[info][2025/05/06 20:58:18]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat PDW causing 10 damage. -[info][2025/05/06 20:58:19]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat PDW causing 10 damage. -[info][2025/05/06 20:58:20]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat PDW causing 10 damage. -[info][2025/05/06 20:58:20]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat PDW causing 10 damage. -[info][2025/05/06 20:58:21]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat PDW causing 10 damage. -[info][2025/05/06 20:58:22]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat PDW causing 10 damage. -[info][2025/05/06 20:58:22]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat PDW causing 10 damage. -[info][2025/05/06 20:58:23]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat PDW causing 10 damage. -[info][2025/05/06 20:58:23]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Combat PDW causing 10 damage. -[info][2025/05/06 20:59:11]: [JCQ27225] nordi deleted item weapon_combatpdw from Player-Inventory slot 18 in inventory. -[info][2025/05/06 20:59:50]: [JCQ27225] Aimed at Frank Castle (DUD53794) with SMG. -[info][2025/05/06 20:59:51]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with SMG causing 21 damage. -[info][2025/05/06 20:59:52]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with SMG causing 7 damage. -[info][2025/05/06 20:59:53]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with SMG causing 7 damage. -[info][2025/05/06 20:59:54]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with SMG causing 7 damage. -[info][2025/05/06 20:59:55]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with SMG causing 7 damage. -[info][2025/05/06 20:59:55]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with SMG causing 7 damage. -[info][2025/05/06 20:59:56]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with SMG causing 7 damage. -[info][2025/05/06 21:00:06]: [JCQ27225] Aimed at Frank Castle (DUD53794) with SMG. -[info][2025/05/06 21:00:07]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with SMG causing 7 damage. -[info][2025/05/06 21:00:07]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with SMG causing 7 damage. -[info][2025/05/06 21:00:08]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with SMG causing 7 damage. -[info][2025/05/06 21:00:08]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with SMG causing 7 damage. -[info][2025/05/06 21:00:09]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with SMG causing 7 damage. -[info][2025/05/06 21:00:10]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with SMG causing 7 damage. -[info][2025/05/06 21:00:10]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with SMG causing 7 damage. -[info][2025/05/06 21:00:11]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with SMG causing 7 damage. -[info][2025/05/06 21:00:11]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with SMG causing 7 damage. -[info][2025/05/06 21:00:12]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with SMG causing 7 damage. -[info][2025/05/06 21:00:13]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with SMG causing 7 damage. -[info][2025/05/06 21:00:18]: [JCQ27225] Aimed at Frank Castle (DUD53794) with SMG. -[info][2025/05/06 21:00:19]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with SMG causing 7 damage. -[info][2025/05/06 21:00:19]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with SMG causing 7 damage. -[info][2025/05/06 21:00:20]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with SMG causing 7 damage. -[info][2025/05/06 21:00:20]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with SMG causing 7 damage. -[info][2025/05/06 21:00:21]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with SMG causing 7 damage. -[info][2025/05/06 21:00:21]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with SMG causing 7 damage. -[info][2025/05/06 21:00:22]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with SMG causing 7 damage. -[info][2025/05/06 21:00:23]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with SMG causing 7 damage. -[info][2025/05/06 21:00:24]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with SMG causing 7 damage. -[info][2025/05/06 21:01:02]: [JCQ27225] nordi deleted item weapon_smg from Player-Inventory slot 1 in inventory. -[info][2025/05/06 21:02:43]: [JCQ27225] nordi added 1x weapon_microsmg to inventory. -[info][2025/05/06 21:03:11]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Micro SMG. -[info][2025/05/06 21:03:14]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Micro SMG. -[info][2025/05/06 21:03:17]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Micro SMG. -[info][2025/05/06 21:03:26]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Micro SMG. -[info][2025/05/06 21:03:36]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Micro SMG. -[info][2025/05/06 21:04:09]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Micro SMG. -[info][2025/05/06 21:04:13]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Micro SMG causing 20 damage. -[info][2025/05/06 21:04:14]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Micro SMG causing 0 damage. -[info][2025/05/06 21:04:16]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Micro SMG causing 0 damage. -[info][2025/05/06 21:04:16]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Micro SMG causing 0 damage. -[info][2025/05/06 21:04:19]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Micro SMG causing 0 damage. -[info][2025/05/06 21:04:19]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Micro SMG causing 0 damage. -[info][2025/05/06 21:04:20]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Micro SMG causing 0 damage. -[info][2025/05/06 21:04:21]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Micro SMG causing 0 damage. -[info][2025/05/06 21:04:22]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Micro SMG causing 0 damage. -[info][2025/05/06 21:04:22]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Micro SMG causing 0 damage. -[info][2025/05/06 21:04:23]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Micro SMG causing 0 damage. -[info][2025/05/06 21:04:24]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Micro SMG causing 0 damage. -[info][2025/05/06 21:04:25]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Micro SMG causing 0 damage. -[info][2025/05/06 21:04:26]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Micro SMG causing 0 damage. -[info][2025/05/06 21:04:26]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Micro SMG causing 0 damage. -[info][2025/05/06 21:04:27]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Micro SMG causing 0 damage. -[info][2025/05/06 21:07:30]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Micro SMG. -[info][2025/05/06 21:07:31]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Micro SMG causing 0 damage. -[info][2025/05/06 21:07:34]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Micro SMG causing 11 damage. -[info][2025/05/06 21:07:35]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Micro SMG causing 11 damage. -[info][2025/05/06 21:07:35]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Micro SMG causing 11 damage. -[info][2025/05/06 21:07:36]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Micro SMG causing 11 damage. -[info][2025/05/06 21:07:37]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Micro SMG causing 11 damage. -[info][2025/05/06 21:07:38]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Micro SMG causing 11 damage. -[info][2025/05/06 21:07:38]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Micro SMG causing 11 damage. -[info][2025/05/06 21:07:39]: [DUD53794] Got killed by Kimberly Smith (JCQ27225) with Micro SMG causing 11 damage. -[info][2025/05/06 21:08:33]: [JCQ27225] nordi deleted item weapon_microsmg from Player-Inventory slot 1 in inventory. -[info][2025/05/06 21:09:03]: [JCQ27225] nordi added 1x weapon_minismg to inventory. -[info][2025/05/06 21:10:38]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Mini SMG. -[info][2025/05/06 21:10:38]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Mini SMG causing 21 damage. -[info][2025/05/06 21:10:41]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Mini SMG causing 0 damage. -[info][2025/05/06 21:10:42]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Mini SMG causing 0 damage. -[info][2025/05/06 21:10:43]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Mini SMG causing 0 damage. -[info][2025/05/06 21:10:44]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Mini SMG causing 0 damage. -[info][2025/05/06 21:10:44]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Mini SMG causing 0 damage. -[info][2025/05/06 21:10:45]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Mini SMG causing 0 damage. -[info][2025/05/06 21:10:46]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Mini SMG causing 0 damage. -[info][2025/05/06 21:10:47]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Mini SMG causing 0 damage. -[info][2025/05/06 21:10:59]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Mini SMG. -[info][2025/05/06 21:10:59]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Mini SMG causing 0 damage. -[info][2025/05/06 21:11:00]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Mini SMG causing 7 damage. -[info][2025/05/06 21:11:01]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Mini SMG causing 7 damage. -[info][2025/05/06 21:11:02]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Mini SMG causing 7 damage. -[info][2025/05/06 21:11:02]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Mini SMG causing 7 damage. -[info][2025/05/06 21:11:03]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Mini SMG causing 7 damage. -[info][2025/05/06 21:11:05]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Mini SMG causing 7 damage. -[info][2025/05/06 21:11:06]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Mini SMG causing 7 damage. -[info][2025/05/06 21:11:12]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Mini SMG. -[info][2025/05/06 21:11:13]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Mini SMG causing 7 damage. -[info][2025/05/06 21:11:14]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Mini SMG causing 7 damage. -[info][2025/05/06 21:11:15]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Mini SMG causing 7 damage. -[info][2025/05/06 21:11:15]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Mini SMG causing 7 damage. -[info][2025/05/06 21:11:16]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Mini SMG causing 7 damage. -[info][2025/05/06 21:11:17]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Mini SMG causing 7 damage. -[info][2025/05/06 21:11:17]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Mini SMG causing 7 damage. -[info][2025/05/06 21:11:18]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Mini SMG causing 7 damage. -[info][2025/05/06 21:12:05]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Mini SMG. -[info][2025/05/06 21:12:05]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Mini SMG causing 7 damage. -[info][2025/05/06 21:12:06]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Mini SMG causing 7 damage. -[info][2025/05/06 21:12:07]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Mini SMG causing 7 damage. -[info][2025/05/06 21:12:07]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Mini SMG causing 7 damage. -[info][2025/05/06 21:12:08]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Mini SMG causing 7 damage. -[info][2025/05/06 21:12:09]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Mini SMG causing 7 damage. -[info][2025/05/06 21:12:10]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Mini SMG causing 7 damage. -[info][2025/05/06 21:12:10]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Mini SMG causing 7 damage. -[info][2025/05/06 21:12:15]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Mini SMG. -[info][2025/05/06 21:12:16]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Mini SMG causing 7 damage. -[info][2025/05/06 21:12:16]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Mini SMG causing 7 damage. -[info][2025/05/06 21:12:17]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Mini SMG causing 7 damage. -[info][2025/05/06 21:12:17]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Mini SMG causing 7 damage. -[info][2025/05/06 21:12:18]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Mini SMG causing 7 damage. -[info][2025/05/06 21:12:18]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Mini SMG causing 7 damage. -[info][2025/05/06 21:12:19]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Mini SMG causing 7 damage. -[info][2025/05/06 21:12:19]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Mini SMG causing 7 damage. -[info][2025/05/06 21:12:20]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Mini SMG causing 7 damage. -[info][2025/05/06 21:15:36]: [JCQ27225] nordi deleted item weapon_minismg from Player-Inventory slot 1 in inventory. -[info][2025/05/06 21:15:43]: [JCQ27225] nordi added 1x weapon_gusenberg to inventory. -[info][2025/05/06 21:16:51]: [JCQ27225] nordi added 3x mg_ammo to inventory. -[info][2025/05/06 21:17:06]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Gusenberg Sweeper. -[info][2025/05/06 21:17:27]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Gusenberg Sweeper. -[info][2025/05/06 21:17:28]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Gusenberg Sweeper causing 33 damage. -[info][2025/05/06 21:17:29]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Gusenberg Sweeper causing 0 damage. -[info][2025/05/06 21:17:29]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Gusenberg Sweeper causing 0 damage. -[info][2025/05/06 21:17:30]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Gusenberg Sweeper causing 0 damage. -[info][2025/05/06 21:17:53]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Gusenberg Sweeper. -[info][2025/05/06 21:24:44]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/06 21:24:46]: [JCQ27225] nordi viewed inventory. -[info][2025/05/06 21:25:29]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Gusenberg Sweeper. -[info][2025/05/06 21:25:35]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Gusenberg Sweeper. -[info][2025/05/06 21:25:36]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Gusenberg Sweeper causing 33 damage. -[info][2025/05/06 21:25:38]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Gusenberg Sweeper causing 19 damage. -[info][2025/05/06 21:25:39]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Gusenberg Sweeper causing 19 damage. -[info][2025/05/06 21:25:40]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Gusenberg Sweeper causing 19 damage. -[info][2025/05/06 21:25:41]: [DUD53794] Got killed by Kimberly Smith (JCQ27225) with Gusenberg Sweeper causing 19 damage. -[info][2025/05/06 21:26:02]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Gusenberg Sweeper. -[info][2025/05/06 21:26:04]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Gusenberg Sweeper. -[info][2025/05/06 21:26:06]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Gusenberg Sweeper causing 19 damage. -[info][2025/05/06 21:26:06]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:07]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:08]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:09]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:09]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:10]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:11]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:11]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:21]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Gusenberg Sweeper. -[info][2025/05/06 21:26:22]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:22]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:23]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:24]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:25]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:26]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:27]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:32]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Gusenberg Sweeper. -[info][2025/05/06 21:26:34]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:35]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:36]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:36]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:37]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:38]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:39]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:40]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:49]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Gusenberg Sweeper. -[info][2025/05/06 21:26:50]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:50]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:51]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:52]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:53]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:53]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:54]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:26:55]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Gusenberg Sweeper causing 9 damage. -[info][2025/05/06 21:28:05]: [JCQ27225] nordi deleted item weapon_gusenberg from Player-Inventory slot 1 in inventory. -[info][2025/05/06 21:28:07]: [JCQ27225] nordi deleted item mg_ammo from Player-Inventory slot 2 in inventory. -[info][2025/05/06 21:28:16]: [JCQ27225] nordi added 1x weapon_navyrevolver to inventory. -[info][2025/05/06 21:44:17]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/06 21:44:20]: [JCQ27225] nordi viewed inventory. -[info][2025/05/06 21:44:28]: [JCQ27225] nordi added 10x spazi to inventory. -[info][2025/05/06 21:50:17]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Navy Revolver. -[info][2025/05/06 21:50:31]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Navy Revolver. -[info][2025/05/06 21:50:31]: [DUD53794] Got killed by Kimberly Smith (JCQ27225) with undefined causing 159 damage. -[info][2025/05/06 21:50:41]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Navy Revolver. -[info][2025/05/06 21:50:42]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with undefined causing 47 damage. -[info][2025/05/06 21:50:44]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with undefined causing 47 damage. -[info][2025/05/06 21:50:45]: [DUD53794] Got killed by Kimberly Smith (JCQ27225) with undefined causing 47 damage. -[info][2025/05/06 21:51:42]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Navy Revolver. -[info][2025/05/06 21:51:42]: [DUD53794] Got killed by Kimberly Smith (JCQ27225) with undefined causing 908 damage. -[info][2025/05/06 21:51:52]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Navy Revolver. -[info][2025/05/06 21:51:53]: [DUD53794] Got killed by Kimberly Smith (JCQ27225) with undefined causing 908 damage. -[info][2025/05/06 21:51:57]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Navy Revolver. -[info][2025/05/06 21:52:07]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Navy Revolver. -[info][2025/05/06 21:52:08]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with undefined causing 47 damage. -[info][2025/05/06 21:52:09]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with undefined causing 47 damage. -[info][2025/05/06 21:52:11]: [DUD53794] Got killed by Kimberly Smith (JCQ27225) with undefined causing 47 damage. -[info][2025/05/06 21:52:36]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Heavy Revolver. -[info][2025/05/06 21:52:38]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Heavy Revolver. -[info][2025/05/06 21:52:39]: [DUD53794] Got killed by Kimberly Smith (JCQ27225) with Heavy Revolver causing 159 damage. -[info][2025/05/06 21:52:45]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Heavy Revolver. -[info][2025/05/06 21:52:46]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Heavy Revolver causing 31 damage. -[info][2025/05/06 21:52:48]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Heavy Revolver causing 31 damage. -[info][2025/05/06 21:52:50]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Heavy Revolver causing 31 damage. -[info][2025/05/06 21:52:52]: [DUD53794] Got killed by Kimberly Smith (JCQ27225) with Heavy Revolver causing 31 damage. -[info][2025/05/06 21:53:21]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Heavy Revolver. -[info][2025/05/06 21:53:21]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Heavy Revolver causing 31 damage. -[info][2025/05/06 21:53:23]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Heavy Revolver causing 31 damage. -[info][2025/05/06 21:53:26]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Heavy Revolver causing 31 damage. -[info][2025/05/06 21:53:28]: [DUD53794] Got killed by Kimberly Smith (JCQ27225) with Heavy Revolver causing 31 damage. -[info][2025/05/06 21:53:47]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Heavy Revolver. -[info][2025/05/06 21:53:51]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Heavy Revolver. -[info][2025/05/06 21:53:52]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Heavy Revolver causing 31 damage. -[info][2025/05/06 21:53:54]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Heavy Revolver causing 47 damage. -[info][2025/05/06 21:53:59]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Heavy Revolver. -[info][2025/05/06 21:54:00]: [DUD53794] Got killed by Kimberly Smith (JCQ27225) with Heavy Revolver causing 47 damage. -[info][2025/05/06 21:54:05]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Heavy Revolver. -[info][2025/05/06 21:54:05]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Heavy Revolver causing 47 damage. -[info][2025/05/06 21:54:07]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Heavy Revolver causing 47 damage. -[info][2025/05/06 21:54:09]: [DUD53794] Got killed by Kimberly Smith (JCQ27225) with Heavy Revolver causing 47 damage. -[info][2025/05/06 21:54:24]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Navy Revolver. -[info][2025/05/06 21:54:27]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with undefined causing 47 damage. -[info][2025/05/06 21:54:29]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with undefined causing 47 damage. -[info][2025/05/06 21:54:30]: [DUD53794] Got killed by Kimberly Smith (JCQ27225) with undefined causing 47 damage. -[info][2025/05/06 21:55:09]: [JCQ27225] nordi deleted item weapon_navyrevolver from Player-Inventory slot 4 in inventory. -[info][2025/05/06 21:55:17]: [JCQ27225] nordi added 1x weapon_dbshotgun to inventory. -[info][2025/05/06 21:57:14]: [JCQ27225] nordi moved item weapon_revolver from Player-Inventory slot 1 to Player-Inventory slot 14 in inventory. -[info][2025/05/06 21:57:17]: [JCQ27225] nordi moved item weapon_dbshotgun from Player-Inventory slot 4 to Player-Inventory slot 1 in inventory. -[info][2025/05/06 21:57:18]: [JCQ27225] nordi moved item spazi from Player-Inventory slot 2 to Player-Inventory slot 5 in inventory. -[info][2025/05/06 21:57:19]: [JCQ27225] nordi moved item tims_instant_nudeln from Player-Inventory slot 12 to Player-Inventory slot 4 in inventory. -[info][2025/05/06 22:47:43]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/06 22:47:45]: [AOJ19157] tim healed Seppl McCollin Jr.. -[info][2025/05/06 22:47:45]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/06 22:47:46]: [AOJ19157] tim changed meta thirst for Seppl McCollin Jr. to 100. -[info][2025/05/06 22:47:46]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/06 22:47:46]: [AOJ19157] tim changed meta hunger for Seppl McCollin Jr. to 100. -[info][2025/05/06 22:47:46]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/06 22:47:47]: [AOJ19157] tim changed meta stress for Seppl McCollin Jr. to 0. -[info][2025/05/06 22:47:47]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/06 22:47:48]: [AOJ19157] tim changed meta armor for Seppl McCollin Jr. to 100. -[info][2025/05/06 22:47:48]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/06 22:56:12]: [AOJ19157] tim removed 3136290 bank from Seppl McCollin Jr.. -[info][2025/05/06 22:56:12]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/06 22:56:17]: [AOJ19157] tim removed 3000 bank from Seppl McCollin Jr.. -[info][2025/05/06 22:56:17]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/06 22:56:24]: [AOJ19157] tim gave 100000000 bank to Seppl McCollin Jr.. -[info][2025/05/06 22:56:25]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/07 13:48:23]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/07 13:48:25]: [AOJ19157] tim healed Seppl McCollin Jr.. -[info][2025/05/07 13:48:25]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/07 13:48:25]: [AOJ19157] tim changed meta thirst for Seppl McCollin Jr. to 100. -[info][2025/05/07 13:48:25]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/07 13:48:26]: [AOJ19157] tim changed meta hunger for Seppl McCollin Jr. to 100. -[info][2025/05/07 13:48:26]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/07 13:48:26]: [AOJ19157] tim changed meta stress for Seppl McCollin Jr. to 0. -[info][2025/05/07 13:48:26]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/07 13:48:26]: [AOJ19157] tim changed meta armor for Seppl McCollin Jr. to 100. -[info][2025/05/07 13:48:26]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/07 18:39:42]: [DSC01606] max requested Mark Petrol. -[info][2025/05/07 18:39:47]: [DSC01606] max healed Mark Petrol. -[info][2025/05/07 18:39:47]: [DSC01606] max requested Mark Petrol. -[info][2025/05/07 18:39:50]: [DSC01606] max changed meta thirst for Mark Petrol to 100. -[info][2025/05/07 18:39:50]: [DSC01606] max requested Mark Petrol. -[info][2025/05/07 18:39:51]: [DSC01606] max changed meta hunger for Mark Petrol to 100. -[info][2025/05/07 18:39:51]: [DSC01606] max requested Mark Petrol. -[info][2025/05/07 18:39:54]: [DSC01606] max healed Mark Petrol. -[info][2025/05/07 18:39:54]: [DSC01606] max requested Mark Petrol. -[info][2025/05/07 19:36:40]: [DUD53794] Got killed by Frank Castle (DUD53794) with undefined causing 20 damage. -[info][2025/05/07 19:55:13]: [DUD53794] Got hit by Frank Castle (DUD53794) with Animal causing 31 damage. -[info][2025/05/07 19:55:17]: [DUD53794] Got hit by Frank Castle (DUD53794) with Animal causing 31 damage. -[info][2025/05/07 20:09:13]: [DUD53794] Got hit by Frank Castle (DUD53794) with Animal causing 31 damage. -[info][2025/05/07 20:09:18]: [DUD53794] Got hit by Frank Castle (DUD53794) with Animal causing 31 damage. -[info][2025/05/07 20:09:21]: [DSC01606] max requested Mark Petrol. -[info][2025/05/07 20:09:28]: [DSC01606] max changed meta thirst for Mark Petrol to 100. -[info][2025/05/07 20:09:28]: [DSC01606] max requested Mark Petrol. -[info][2025/05/07 20:09:29]: [DSC01606] max changed meta hunger for Mark Petrol to 100. -[info][2025/05/07 20:09:29]: [DSC01606] max requested Mark Petrol. -[info][2025/05/07 20:09:30]: [DSC01606] max healed Mark Petrol. -[info][2025/05/07 20:09:30]: [DSC01606] max requested Mark Petrol. -[info][2025/05/07 20:09:42]: [DSC01606] max changed job to mechanic 10 for Mark Petrol. -[info][2025/05/07 20:09:42]: [DSC01606] max requested Mark Petrol. -[info][2025/05/07 20:25:19]: [DSC01606] max viewed inventory. -[info][2025/05/07 20:26:55]: [DUD53794] Got hit by Frank Castle (DUD53794) with Animal causing 31 damage. -[info][2025/05/07 20:26:59]: [DUD53794] Got hit by Frank Castle (DUD53794) with Animal causing 31 damage. -[info][2025/05/07 20:27:04]: [DUD53794] Got hit by Frank Castle (DUD53794) with Animal causing 31 damage. -[info][2025/05/07 20:27:07]: [DUD53794] Got killed by Frank Castle (DUD53794) with Animal causing 31 damage. -[info][2025/05/07 20:27:39]: [DSC01606] max added 1x tablet to inventory. -[info][2025/05/07 20:36:28]: [DSC01606] max cleared inventory. -[info][2025/05/07 20:38:09]: [DSC01606] max requested Mark Petrol. -[info][2025/05/07 20:38:18]: [DSC01606] max viewed inventory. -[info][2025/05/07 21:04:42]: [DSC01606] max requested Mark Petrol. -[info][2025/05/07 21:56:29]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/07 21:56:31]: [AOJ19157] tim healed Seppl McCollin Jr.. -[info][2025/05/07 21:56:31]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/07 21:56:31]: [AOJ19157] tim changed meta thirst for Seppl McCollin Jr. to 100. -[info][2025/05/07 21:56:31]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/07 21:56:31]: [AOJ19157] tim changed meta hunger for Seppl McCollin Jr. to 100. -[info][2025/05/07 21:56:31]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/07 21:56:32]: [AOJ19157] tim changed meta stress for Seppl McCollin Jr. to 0. -[info][2025/05/07 21:56:32]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/07 21:56:32]: [AOJ19157] tim changed meta armor for Seppl McCollin Jr. to 100. -[info][2025/05/07 21:56:32]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/07 22:18:40]: [OHM07543] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 0 damage. -[info][2025/05/07 22:18:43]: [OHM07543] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 0 damage. -[info][2025/05/07 22:18:45]: [OHM07543] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 0 damage. -[info][2025/05/07 22:20:15]: [JCQ27225] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 21 damage. -[info][2025/05/07 22:21:03]: [AOJ19157] campers requested Seppl McCollin Jr.. -[info][2025/05/07 23:03:33]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/07 23:03:42]: [JCQ27225] nordi viewed inventory. -[info][2025/05/07 23:03:51]: [JCQ27225] nordi added 1x hei_prop_wall_alarm_blue to inventory. -[info][2025/05/07 23:12:14]: [JQK75222] campers requested Steven Steppenwolf. -[info][2025/05/07 23:12:34]: [JCQ27225] campers requested Kimberly Smith. -[info][2025/05/07 23:12:54]: [AOJ19157] campers requested Seppl McCollin Jr.. -[info][2025/05/07 23:13:10]: [JQK75222] campers requested Steven Steppenwolf. -[info][2025/05/07 23:13:47]: [AOJ19157] campers requested Seppl McCollin Jr.. -[info][2025/05/07 23:29:11]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/07 23:32:01]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/07 23:32:04]: [JCQ27225] nordi viewed inventory. -[info][2025/05/07 23:32:20]: [JCQ27225] nordi added 10x tims_instant_nudeln to inventory. -[info][2025/05/07 23:32:49]: [JCQ27225] nordi added 1x deployable_light to inventory. -[info][2025/05/08 00:00:23]: [JQK75222] Got hit by Steven Steppenwolf (JQK75222) with Fist causing 14 damage. -[info][2025/05/08 00:00:49]: [JCQ27225] nordi moved item deployable_light from Player-Inventory slot 2 to Player-Inventory slot 16 in inventory. -[info][2025/05/08 00:00:52]: [JCQ27225] nordi moved item pd_keycard from Player-Inventory slot 8 to Player-Inventory slot 24 in inventory. -[info][2025/05/08 00:01:01]: [JCQ27225] nordi moved item weapon_pistol_mk2 from Player-Inventory slot 1 to Player-Inventory slot 2 in inventory. -[info][2025/05/08 00:01:13]: [JCQ27225] nordi added 1x weapon_carbinerifle to inventory. -[info][2025/05/08 00:01:30]: [JCQ27225] nordi moved item pistol_ammo from Player-Inventory slot 3 to Player-Inventory slot 8 in inventory. -[info][2025/05/08 00:03:11]: [JCQ27225] nordi deleted item weapon_carbinerifle from Player-Inventory slot 1 in inventory. -[info][2025/05/08 00:03:21]: [JCQ27225] nordi added 1x weapon_assaultsmg to inventory. -[info][2025/05/08 00:03:31]: [JCQ27225] nordi added 20x rifle_ammo to inventory. -[info][2025/05/08 00:03:43]: [JCQ27225] nordi moved item rifle_ammo from Player-Inventory slot 3 to Player-Inventory slot 19 in inventory. -[info][2025/05/08 00:03:46]: [JCQ27225] nordi moved item smg_ammo from Player-Inventory slot 18 to Player-Inventory slot 3 in inventory. -[info][2025/05/08 00:04:47]: [AOJ19157] Aimed at Kimberly Smith (JCQ27225) with Heavy Revolver Mk II. -[info][2025/05/08 00:04:52]: [JCQ27225] Got killed by Seppl McCollin Jr. (AOJ19157) with Heavy Revolver MK2 causing 199 damage. -[info][2025/05/08 00:05:04]: [AOJ19157] Aimed at Kimberly Smith (JCQ27225) with Heavy Revolver Mk II. -[info][2025/05/08 00:05:04]: [JCQ27225] Got killed by Seppl McCollin Jr. (AOJ19157) with Heavy Revolver MK2 causing 199 damage. -[info][2025/05/08 00:05:06]: [AOJ19157] Aimed at Kimberly Smith (JCQ27225) with Heavy Revolver Mk II. -[info][2025/05/08 00:05:08]: [AOJ19157] Aimed at Kimberly Smith (JCQ27225) with Heavy Revolver Mk II. -[info][2025/05/08 00:05:08]: [JCQ27225] Got killed by Seppl McCollin Jr. (AOJ19157) with Heavy Revolver MK2 causing 199 damage. -[info][2025/05/08 00:05:10]: [JCQ27225] Got killed by Seppl McCollin Jr. (AOJ19157) with Heavy Revolver MK2 causing 199 damage. -[info][2025/05/08 00:05:14]: [JCQ27225] Got killed by Seppl McCollin Jr. (AOJ19157) with Heavy Revolver MK2 causing 199 damage. -[info][2025/05/08 00:05:16]: [AOJ19157] Aimed at Kimberly Smith (JCQ27225) with Heavy Revolver Mk II. -[info][2025/05/08 00:05:18]: [AOJ19157] Aimed at Kimberly Smith (JCQ27225) with Heavy Revolver Mk II. -[info][2025/05/08 00:06:42]: [AOJ19157] nordi requested Seppl McCollin Jr.. -[info][2025/05/08 00:06:45]: [AOJ19157] nordi viewed inventory. -[info][2025/05/08 00:06:51]: [AOJ19157] nordi added 1x weapon_assaultsmg to inventory. -[info][2025/05/08 00:06:59]: [AOJ19157] nordi added 20x smg_ammo to inventory. -[info][2025/05/08 00:08:42]: [JCQ27225] campers requested Kimberly Smith. -[info][2025/05/08 00:08:56]: [AOJ19157] campers requested Seppl McCollin Jr.. -[info][2025/05/08 01:26:10]: [AOJ19157] nordi viewed inventory. -[info][2025/05/08 19:29:54]: [DSC01606] Got hit by Mark Petrol (DSC01606) with Animal causing 37 damage. -[info][2025/05/08 19:29:58]: [DSC01606] Got hit by Mark Petrol (DSC01606) with Animal causing 37 damage. -[info][2025/05/08 19:52:25]: [DSC01606] Got hit by Frank Castle (DUD53794) with Fist causing 20 damage. -[info][2025/05/08 19:52:26]: [DSC01606] Got hit by Frank Castle (DUD53794) with Fist causing 0 damage. -[info][2025/05/08 19:52:27]: [DSC01606] Got hit by Frank Castle (DUD53794) with Fist causing 20 damage. -[info][2025/05/08 19:52:28]: [DSC01606] Got killed by Frank Castle (DUD53794) with Fist causing 20 damage. -[info][2025/05/08 19:52:30]: [DUD53794] Aimed at Mark Petrol (DSC01606) with SNS Pistol Mk II. -[info][2025/05/08 19:52:31]: [DSC01606] Got hit by Frank Castle (DUD53794) with SNS Pistol MK2 causing 29 damage. -[info][2025/05/08 19:52:31]: [DSC01606] Got hit by Frank Castle (DUD53794) with SNS Pistol MK2 causing 0 damage. -[info][2025/05/08 19:52:31]: [DSC01606] Got hit by Frank Castle (DUD53794) with SNS Pistol MK2 causing 0 damage. -[info][2025/05/08 19:55:06]: [DUD53794] max requested Frank Castle. -[info][2025/05/08 19:55:22]: [DUD53794] max changed job to mechanic 1 for Frank Castle. -[info][2025/05/08 19:55:22]: [DUD53794] max requested Frank Castle. -[info][2025/05/08 19:56:06]: [DSC01606] max requested Mark Petrol. -[info][2025/05/08 19:56:12]: [DSC01606] max healed Mark Petrol. -[info][2025/05/08 19:56:12]: [DSC01606] max requested Mark Petrol. -[info][2025/05/08 19:56:14]: [DSC01606] max healed Mark Petrol. -[info][2025/05/08 19:56:14]: [DSC01606] max requested Mark Petrol. -[info][2025/05/08 19:56:15]: [DSC01606] max healed Mark Petrol. -[info][2025/05/08 19:56:15]: [DSC01606] max requested Mark Petrol. -[info][2025/05/08 19:56:16]: [DSC01606] max healed Mark Petrol. -[info][2025/05/08 19:56:16]: [DSC01606] max requested Mark Petrol. -[info][2025/05/08 19:56:16]: [DSC01606] max healed Mark Petrol. -[info][2025/05/08 19:56:16]: [DSC01606] max requested Mark Petrol. -[info][2025/05/08 19:56:20]: [DSC01606] max changed meta thirst for Mark Petrol to 100. -[info][2025/05/08 19:56:20]: [DSC01606] max requested Mark Petrol. -[info][2025/05/08 19:56:21]: [DSC01606] max changed meta hunger for Mark Petrol to 100. -[info][2025/05/08 19:56:21]: [DSC01606] max requested Mark Petrol. -[info][2025/05/08 19:56:22]: [DSC01606] max changed meta hunger for Mark Petrol to 100. -[info][2025/05/08 19:56:22]: [DSC01606] max requested Mark Petrol. -[info][2025/05/08 19:56:22]: [DSC01606] max changed meta thirst for Mark Petrol to 100. -[info][2025/05/08 19:56:22]: [DSC01606] max requested Mark Petrol. -[info][2025/05/08 19:58:04]: [DSC01606] max healed Mark Petrol. -[info][2025/05/08 19:58:04]: [DSC01606] max requested Mark Petrol. -[info][2025/05/08 19:58:12]: [DSC01606] max healed Mark Petrol. -[info][2025/05/08 19:58:12]: [DSC01606] max requested Mark Petrol. -[info][2025/05/08 19:58:12]: [DSC01606] max healed Mark Petrol. -[info][2025/05/08 19:58:13]: [DSC01606] max requested Mark Petrol. -[info][2025/05/08 20:06:02]: [DUD53794] Aimed at Mark Petrol (DSC01606) with SNS Pistol Mk II. -[info][2025/05/08 20:06:03]: [DSC01606] Got hit by Frank Castle (DUD53794) with SNS Pistol MK2 causing 0 damage. -[info][2025/05/08 20:06:03]: [DSC01606] Got hit by Frank Castle (DUD53794) with SNS Pistol MK2 causing 0 damage. -[info][2025/05/08 20:21:00]: [DSC01606] Got hit by Mark Petrol (DSC01606) with Animal causing 35 damage. -[info][2025/05/08 20:21:04]: [DSC01606] Got hit by Mark Petrol (DSC01606) with Animal causing 35 damage. -[info][2025/05/08 21:06:49]: [DUD53794] Aimed at Kimberly Smith (JCQ27225) with SNS Pistol Mk II. -[info][2025/05/08 21:06:50]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Pistol Mk II. -[info][2025/05/08 21:06:51]: [DUD53794] Aimed at Kimberly Smith (JCQ27225) with SNS Pistol Mk II. -[info][2025/05/08 21:06:52]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Pistol Mk II. -[info][2025/05/08 21:06:53]: [DUD53794] Got killed by Kimberly Smith (JCQ27225) with Pistol MK2 causing 587 damage. -[info][2025/05/08 21:10:52]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Pistol Mk II. -[info][2025/05/08 21:10:53]: [DUD53794] Got killed by Kimberly Smith (JCQ27225) with Pistol MK2 causing 397 damage. -[info][2025/05/08 21:12:15]: [JCQ27225] Got hit by Frank Castle (DUD53794) with Fist causing 21 damage. -[info][2025/05/08 21:12:16]: [JCQ27225] Got hit by Frank Castle (DUD53794) with Fist causing 0 damage. -[info][2025/05/08 21:12:17]: [JCQ27225] Got hit by Frank Castle (DUD53794) with Fist causing 26 damage. -[info][2025/05/08 21:12:19]: [JCQ27225] Got hit by Frank Castle (DUD53794) with Fist causing 21 damage. -[info][2025/05/08 21:12:20]: [JCQ27225] Got hit by Frank Castle (DUD53794) with Fist causing 21 damage. -[info][2025/05/08 21:12:21]: [JCQ27225] Got killed by Frank Castle (DUD53794) with Fist causing 26 damage. -[info][2025/05/08 21:15:21]: [JCQ27225] Got hit by Frank Castle (DUD53794) with Fist causing 21 damage. -[info][2025/05/08 21:15:22]: [JCQ27225] Got hit by Frank Castle (DUD53794) with Fist causing 0 damage. -[info][2025/05/08 21:15:23]: [JCQ27225] Got hit by Frank Castle (DUD53794) with Fist causing 26 damage. -[info][2025/05/08 21:15:25]: [JCQ27225] Got hit by Frank Castle (DUD53794) with Fist causing 21 damage. -[info][2025/05/08 21:15:26]: [JCQ27225] Got hit by Frank Castle (DUD53794) with Fist causing 21 damage. -[info][2025/05/08 21:15:27]: [JCQ27225] Got killed by Frank Castle (DUD53794) with Fist causing 26 damage. -[info][2025/05/08 21:18:12]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Fist causing 21 damage. -[info][2025/05/08 21:18:43]: [DUD53794] Got hit by Kimberly Smith (JCQ27225) with Fist causing 21 damage. -[info][2025/05/08 21:22:38]: [JCQ27225] Got hit by Frank Castle (DUD53794) with Fist causing 21 damage. -[info][2025/05/08 21:22:39]: [JCQ27225] Got hit by Frank Castle (DUD53794) with Fist causing 0 damage. -[info][2025/05/08 21:22:40]: [JCQ27225] Got hit by Frank Castle (DUD53794) with Fist causing 21 damage. -[info][2025/05/08 21:22:41]: [JCQ27225] Got hit by Frank Castle (DUD53794) with Fist causing 26 damage. -[info][2025/05/08 21:22:43]: [JCQ27225] Got hit by Frank Castle (DUD53794) with Fist causing 21 damage. -[info][2025/05/08 21:22:44]: [JCQ27225] Got killed by Frank Castle (DUD53794) with Fist causing 21 damage. -[info][2025/05/08 21:26:48]: [JCQ27225] Got hit by Frank Castle (DUD53794) with Fist causing 21 damage. -[info][2025/05/08 21:26:49]: [JCQ27225] Got hit by Frank Castle (DUD53794) with Fist causing 0 damage. -[info][2025/05/08 21:26:51]: [JCQ27225] Got hit by Frank Castle (DUD53794) with Fist causing 21 damage. -[info][2025/05/08 21:26:52]: [JCQ27225] Got hit by Frank Castle (DUD53794) with Fist causing 21 damage. -[info][2025/05/08 21:26:53]: [JCQ27225] Got hit by Frank Castle (DUD53794) with Fist causing 26 damage. -[info][2025/05/08 21:26:54]: [JCQ27225] Got killed by Frank Castle (DUD53794) with Fist causing 21 damage. -[info][2025/05/08 21:27:57]: [DUD53794] campers requested Frank Castle. -[info][2025/05/08 21:29:49]: [DUD53794] campers requested Frank Castle. -[info][2025/05/08 21:33:21]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Heavy Revolver. -[info][2025/05/08 21:33:25]: [JCQ27225] Got killed by Demon Campers (OHM07543) with Heavy Revolver causing 159 damage. -[info][2025/05/08 21:38:17]: [OHM07543] Aimed at Kimberly Smith (JCQ27225) with Heavy Revolver. -[info][2025/05/08 21:38:21]: [JCQ27225] Got killed by Demon Campers (OHM07543) with Heavy Revolver causing 908 damage. -[info][2025/05/08 21:40:35]: [OHM07543] campers requested Demon Campers. -[info][2025/05/08 21:40:41]: [OHM07543] campers viewed inventory. -[info][2025/05/08 21:40:48]: [OHM07543] campers deleted item sandwich from Player-Inventory slot 4 in inventory. -[info][2025/05/08 21:41:06]: [OHM07543] campers added 10x leberkas_semmal to inventory. -[info][2025/05/08 21:41:11]: [OHM07543] campers moved item spikestrips from Player-Inventory slot 28 to Player-Inventory slot 27 in inventory. -[info][2025/05/08 21:41:12]: [OHM07543] campers moved item pd_keycard from Player-Inventory slot 23 to Player-Inventory slot 28 in inventory. -[info][2025/05/08 21:41:33]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/08 21:41:36]: [JCQ27225] nordi viewed inventory. -[info][2025/05/08 21:41:48]: [JCQ27225] nordi added 2x tilidin to inventory. -[info][2025/05/08 21:42:21]: [OHM07543] campers requested Demon Campers. -[info][2025/05/08 21:42:28]: [JCQ27225] campers requested Kimberly Smith. -[info][2025/05/08 21:42:33]: [JCQ27225] campers viewed inventory. -[info][2025/05/08 21:42:48]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Pistol Mk II. -[info][2025/05/08 21:42:49]: [DUD53794] Got killed by Kimberly Smith (JCQ27225) with Pistol MK2 causing 355 damage. -[info][2025/05/08 21:42:57]: [JCQ27225] Aimed at Frank Castle (DUD53794) with Pistol Mk II. -[info][2025/05/08 21:45:16]: [OHM07543] campers requested Demon Campers. -[info][2025/05/08 21:45:18]: [OHM07543] campers changed meta thirst for Demon Campers to 100. -[info][2025/05/08 21:45:18]: [OHM07543] campers requested Demon Campers. -[info][2025/05/08 21:45:19]: [OHM07543] campers changed meta hunger for Demon Campers to 100. -[info][2025/05/08 21:45:19]: [OHM07543] campers requested Demon Campers. -[info][2025/05/08 21:45:21]: [OHM07543] campers healed Demon Campers. -[info][2025/05/08 21:45:21]: [OHM07543] campers requested Demon Campers. -[info][2025/05/08 21:59:37]: [OHM07543] Aimed at Amy Ann (GNR11868) with Heavy Revolver. -[info][2025/05/08 21:59:46]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/05/08 21:59:48]: [GNR11868] Got hit by Demon Campers (OHM07543) with Fist causing 21 damage. -[info][2025/05/08 21:59:53]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/05/08 21:59:54]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 26 damage. -[info][2025/05/08 21:59:55]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/05/08 22:20:19]: [OHM07543] Aimed at Amy Ann (GNR11868) with Heavy Revolver. -[info][2025/05/08 22:20:24]: [OHM07543] Aimed at Amy Ann (GNR11868) with SNS Pistol Mk II. -[info][2025/05/08 22:20:25]: [GNR11868] Got hit by Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/05/08 22:25:45]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/08 22:25:49]: [JCQ27225] nordi viewed inventory. -[info][2025/05/08 22:26:21]: [OHM07543] campers viewed inventory. -[info][2025/05/08 22:26:32]: [OHM07543] campers added 1x deployable_light to inventory. -[info][2025/05/08 22:40:14]: [JCQ27225] nordi added 1x weapon_combatshotgun to inventory. -[info][2025/05/08 22:41:06]: [JCQ27225] Aimed at Amy Ann (GNR11868) with Combat Shotgun. -[info][2025/05/08 22:41:11]: [JCQ27225] Aimed at Amy Ann (GNR11868) with Combat Shotgun. -[info][2025/05/08 22:41:13]: [GNR11868] Got hit by Kimberly Smith (JCQ27225) with Combat Shotgun causing 0 damage. -[info][2025/05/08 22:41:17]: [JCQ27225] Aimed at Amy Ann (GNR11868) with Combat Shotgun. -[info][2025/05/08 22:41:18]: [GNR11868] Got hit by Kimberly Smith (JCQ27225) with Combat Shotgun causing 0 damage. -[info][2025/05/08 22:41:25]: [GNR11868] Got hit by Kimberly Smith (JCQ27225) with Combat Shotgun causing 0 damage. -[info][2025/05/08 22:41:28]: [JCQ27225] Aimed at Amy Ann (GNR11868) with Combat Shotgun. -[info][2025/05/08 22:41:28]: [GNR11868] Got hit by Kimberly Smith (JCQ27225) with Combat Shotgun causing 0 damage. -[info][2025/05/08 22:41:35]: [JCQ27225] Aimed at Amy Ann (GNR11868) with Combat Shotgun. -[info][2025/05/08 22:41:54]: [JCQ27225] Aimed at Amy Ann (GNR11868) with Stun Gun. -[info][2025/05/08 22:41:55]: [GNR11868] Got hit by Kimberly Smith (JCQ27225) with Stun Gun causing 1 damage. -[info][2025/05/08 22:42:08]: [JCQ27225] Aimed at Amy Ann (GNR11868) with Stun Gun. -[info][2025/05/08 22:42:31]: [JCQ27225] Aimed at Amy Ann (GNR11868) with Stun Gun. -[info][2025/05/08 22:42:58]: [JCQ27225] nordi deleted item weapon_combatshotgun from Player-Inventory slot 20 in inventory. -[info][2025/05/08 22:43:05]: [JCQ27225] nordi added 1x weapon_carbinerifle_mk2 to inventory. -[info][2025/05/08 22:43:29]: [JCQ27225] Aimed at Amy Ann (GNR11868) with Carbine Rifle Mk II. -[info][2025/05/08 22:43:32]: [GNR11868] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/05/08 22:43:32]: [GNR11868] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/05/08 22:43:33]: [GNR11868] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/05/08 22:43:33]: [GNR11868] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/05/08 22:43:33]: [GNR11868] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/05/08 22:43:33]: [GNR11868] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/05/08 22:43:34]: [GNR11868] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/05/08 22:43:34]: [GNR11868] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/05/08 22:43:34]: [GNR11868] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/05/08 22:43:34]: [GNR11868] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/05/08 22:43:35]: [GNR11868] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/05/08 22:43:42]: [JCQ27225] Aimed at Amy Ann (GNR11868) with Carbine Rifle Mk II. -[info][2025/05/08 22:43:42]: [GNR11868] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/05/08 22:43:43]: [GNR11868] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/05/08 22:43:59]: [JCQ27225] Aimed at Amy Ann (GNR11868) with Carbine Rifle Mk II. -[info][2025/05/08 22:43:59]: [GNR11868] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/05/08 22:44:00]: [GNR11868] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/05/08 22:44:22]: [JCQ27225] Aimed at Amy Ann (GNR11868) with Carbine Rifle Mk II. -[info][2025/05/08 22:44:23]: [GNR11868] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/05/08 22:44:23]: [GNR11868] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/05/08 22:44:23]: [GNR11868] Got hit by Kimberly Smith (JCQ27225) with Carbine Rifle MK2 causing 0 damage. -[info][2025/05/08 22:45:24]: [JCQ27225] Aimed at Amy Ann (GNR11868) with Assault SMG. -[info][2025/05/08 22:46:41]: [JCQ27225] Aimed at Amy Ann (GNR11868) with Pistol Mk II. -[info][2025/05/08 22:47:11]: [JCQ27225] Got hit by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/05/08 22:47:12]: [JCQ27225] Aimed at Amy Ann (GNR11868) with Pistol Mk II. -[info][2025/05/08 22:47:12]: [JCQ27225] Got hit by Amy Ann (GNR11868) with Fist causing 26 damage. -[info][2025/05/08 22:47:13]: [GNR11868] Got hit by Kimberly Smith (JCQ27225) with Pistol MK2 causing 18 damage. -[info][2025/05/08 22:47:13]: [JCQ27225] Got hit by Amy Ann (GNR11868) with Fist causing 26 damage. -[info][2025/05/08 22:47:14]: [GNR11868] Got hit by Kimberly Smith (JCQ27225) with Pistol MK2 causing 12 damage. -[info][2025/05/08 22:47:15]: [GNR11868] Got hit by Kimberly Smith (JCQ27225) with Pistol MK2 causing 15 damage. -[info][2025/05/08 22:47:15]: [JCQ27225] Got hit by Amy Ann (GNR11868) with Fist causing 26 damage. -[info][2025/05/08 22:47:16]: [GNR11868] Got hit by Kimberly Smith (JCQ27225) with Pistol MK2 causing 12 damage. -[info][2025/05/08 22:47:17]: [JCQ27225] Got killed by Amy Ann (GNR11868) with Fist causing 26 damage. -[info][2025/05/08 22:55:00]: [GNR11868] campers requested Amy Ann. -[info][2025/05/08 22:55:10]: [GNR11868] campers viewed inventory. -[info][2025/05/08 22:55:14]: [GNR11868] campers requested Amy Ann. -[info][2025/05/08 22:57:31]: [GNR11868] campers requested Amy Ann. -[info][2025/05/08 22:57:57]: [JCQ27225] campers requested Kimberly Smith. -[info][2025/05/08 23:16:09]: [JCQ27225] campers requested Kimberly Smith. -[info][2025/05/08 23:16:23]: [GNR11868] campers requested Amy Ann. -[info][2025/05/08 23:54:32]: [GNR11868] campers changed meta thirst for Amy Ann to 100. -[info][2025/05/08 23:54:32]: [GNR11868] campers requested Amy Ann. -[info][2025/05/08 23:54:46]: [OHM07543] campers requested Demon Campers. -[info][2025/05/08 23:54:49]: [OHM07543] campers changed meta thirst for Demon Campers to 100. -[info][2025/05/08 23:54:49]: [OHM07543] campers requested Demon Campers. -[info][2025/05/08 23:54:50]: [OHM07543] campers changed meta hunger for Demon Campers to 100. -[info][2025/05/08 23:54:50]: [OHM07543] campers requested Demon Campers. -[info][2025/05/08 23:58:11]: [KNL90027] campers requested Michael Lowrey. -[info][2025/05/08 23:58:42]: [KNL90027] campers requested Michael Lowrey. -[info][2025/05/08 23:59:03]: [KNL90027] campers changed job to police 8 for Michael Lowrey. -[info][2025/05/08 23:59:03]: [KNL90027] campers requested Michael Lowrey. -[info][2025/05/08 23:59:12]: [KNL90027] campers viewed inventory. -[info][2025/05/08 23:59:35]: [KNL90027] campers added 1x pd_keycard to inventory. -[info][2025/05/09 00:37:42]: [OHM07543] campers requested Demon Campers. -[info][2025/05/09 00:37:44]: [OHM07543] campers requested player vehicles. -[info][2025/05/09 00:37:48]: [OHM07543] campers requested Demon Campers. -[info][2025/05/09 00:37:49]: [OHM07543] campers requested player vehicles. -[info][2025/05/09 00:37:51]: [OHM07543] campers requested Demon Campers. -[info][2025/05/09 00:38:35]: [OHM07543] campers requested Demon Campers. -[info][2025/05/09 00:38:37]: [OHM07543] campers requested player vehicles. -[info][2025/05/09 00:39:39]: [OHM07543] campers requested Demon Campers. -[info][2025/05/09 00:39:41]: [OHM07543] campers requested player vehicles. -[info][2025/05/09 00:41:52]: [OHM07543] campers requested Demon Campers. -[info][2025/05/09 00:41:53]: [OHM07543] campers requested player vehicles. -[info][2025/05/09 07:13:21]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/09 07:13:32]: [JCQ27225] nordi changed meta hunger for Kimberly Smith to 100. -[info][2025/05/09 07:13:32]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/09 07:13:33]: [JCQ27225] nordi changed meta thirst for Kimberly Smith to 100. -[info][2025/05/09 07:13:33]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/09 19:44:47]: [DSC01606] Got hit by Frank Castle (DUD53794) with Fist causing 0 damage. -[info][2025/05/09 19:44:48]: [DSC01606] Got hit by Frank Castle (DUD53794) with Fist causing 26 damage. -[info][2025/05/09 19:44:50]: [DSC01606] Got hit by Frank Castle (DUD53794) with Fist causing 21 damage. -[info][2025/05/09 19:44:51]: [DSC01606] Got hit by Frank Castle (DUD53794) with Fist causing 21 damage. -[info][2025/05/09 19:44:52]: [DSC01606] Got hit by Frank Castle (DUD53794) with Fist causing 21 damage. -[info][2025/05/09 19:44:53]: [DSC01606] Got killed by Frank Castle (DUD53794) with Fist causing 26 damage. -[info][2025/05/09 19:45:41]: [DSC01606] Got hit by Frank Castle (DUD53794) with Fist causing 26 damage. -[info][2025/05/09 19:45:43]: [DSC01606] Got hit by Frank Castle (DUD53794) with Fist causing 21 damage. -[info][2025/05/09 22:12:57]: [DSC01606] max requested Mark Petrol. -[info][2025/05/09 22:13:14]: [DSC01606] max changed job to mechanic 10 for Mark Petrol. -[info][2025/05/09 22:13:14]: [DSC01606] max requested Mark Petrol. -[info][2025/05/09 22:17:36]: [OHM07543] campers requested Demon Campers. -[info][2025/05/09 22:17:37]: [OHM07543] campers requested player vehicles. -[info][2025/05/09 22:30:14]: [DSC01606] max requested Mark Petrol. -[info][2025/05/09 22:30:18]: [DSC01606] max changed meta thirst for Mark Petrol to 100. -[info][2025/05/09 22:30:18]: [DSC01606] max requested Mark Petrol. -[info][2025/05/09 22:30:19]: [DSC01606] max changed meta hunger for Mark Petrol to 100. -[info][2025/05/09 22:30:19]: [DSC01606] max requested Mark Petrol. -[info][2025/05/09 22:30:20]: [DSC01606] max healed Mark Petrol. -[info][2025/05/09 22:30:20]: [DSC01606] max requested Mark Petrol. -[info][2025/05/09 22:30:26]: [DSC01606] max healed Mark Petrol. -[info][2025/05/09 22:30:26]: [DSC01606] max requested Mark Petrol. -[info][2025/05/09 22:30:26]: [DSC01606] max healed Mark Petrol. -[info][2025/05/09 22:30:26]: [DSC01606] max requested Mark Petrol. -[info][2025/05/09 22:30:26]: [DSC01606] max healed Mark Petrol. -[info][2025/05/09 22:30:26]: [DSC01606] max requested Mark Petrol. -[info][2025/05/09 22:30:26]: [DSC01606] max healed Mark Petrol. -[info][2025/05/09 22:30:26]: [DSC01606] max requested Mark Petrol. -[info][2025/05/09 22:30:27]: [DSC01606] max healed Mark Petrol. -[info][2025/05/09 22:30:27]: [DSC01606] max requested Mark Petrol. -[info][2025/05/09 22:32:40]: [OHM07543] campers requested Demon Campers. -[info][2025/05/09 22:32:45]: [OHM07543] campers viewed inventory. -[info][2025/05/09 22:48:12]: [OHM07543] campers requested Demon Campers. -[info][2025/05/09 22:48:14]: [OHM07543] campers healed Demon Campers. -[info][2025/05/09 22:48:14]: [OHM07543] campers requested Demon Campers. -[info][2025/05/09 22:48:15]: [OHM07543] campers changed meta thirst for Demon Campers to 100. -[info][2025/05/09 22:48:15]: [OHM07543] campers requested Demon Campers. -[info][2025/05/09 22:48:16]: [OHM07543] campers changed meta hunger for Demon Campers to 100. -[info][2025/05/09 22:48:16]: [OHM07543] campers requested Demon Campers. -[info][2025/05/09 23:01:49]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/09 23:01:53]: [JCQ27225] nordi viewed inventory. -[info][2025/05/09 23:01:56]: [JCQ27225] nordi deleted item weapon_assaultsmg from Player-Inventory slot 1 in inventory. -[info][2025/05/09 23:02:04]: [JCQ27225] nordi deleted item weapon_pumpshotgun_mk2 from Player-Inventory slot 13 in inventory. -[info][2025/05/09 23:02:23]: [JCQ27225] nordi added 10x spazi to inventory. -[info][2025/05/09 23:02:25]: [JCQ27225] nordi moved item spazi from Player-Inventory slot 1 to Player-Inventory slot 5 in inventory. -[info][2025/05/09 23:02:26]: [JCQ27225] nordi moved item weapon_pistol_mk2 from Player-Inventory slot 2 to Player-Inventory slot 1 in inventory. -[info][2025/05/09 23:02:27]: [JCQ27225] nordi moved item pistol_ammo from Player-Inventory slot 3 to Player-Inventory slot 2 in inventory. -[info][2025/05/09 23:02:28]: [JCQ27225] nordi moved item weapon_carbinerifle_mk2 from Player-Inventory slot 4 to Player-Inventory slot 3 in inventory. -[info][2025/05/09 23:02:30]: [JCQ27225] nordi moved item tims_instant_nudeln from Player-Inventory slot 16 to Player-Inventory slot 4 in inventory. -[info][2025/05/09 23:14:54]: [JCQ27225] campers requested Kimberly Smith. -[info][2025/05/09 23:16:31]: [OHM07543] campers requested Demon Campers. -[info][2025/05/09 23:16:40]: [OHM07543] campers changed money cash for Demon Campers to 199487. -[info][2025/05/09 23:16:40]: [OHM07543] campers requested Demon Campers. -[info][2025/05/09 23:16:46]: [OHM07543] campers changed money bank for Demon Campers to 83771. -[info][2025/05/09 23:16:46]: [OHM07543] campers requested Demon Campers. -[info][2025/05/09 23:48:48]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/09 23:48:58]: [JCQ27225] nordi gave 10000 cash to Kimberly Smith. -[info][2025/05/09 23:48:58]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/10 00:51:27]: [OHM07543] campers requested Demon Campers. -[info][2025/05/10 00:51:29]: [OHM07543] campers healed Demon Campers. -[info][2025/05/10 00:51:29]: [OHM07543] campers requested Demon Campers. -[info][2025/05/10 00:51:30]: [OHM07543] campers changed meta thirst for Demon Campers to 100. -[info][2025/05/10 00:51:30]: [OHM07543] campers requested Demon Campers. -[info][2025/05/10 00:51:31]: [OHM07543] campers changed meta hunger for Demon Campers to 100. -[info][2025/05/10 00:51:31]: [OHM07543] campers requested Demon Campers. -[info][2025/05/10 01:17:57]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 20 damage. -[info][2025/05/10 01:18:42]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 20 damage. -[info][2025/05/10 01:18:44]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 0 damage. -[info][2025/05/10 01:18:45]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 20 damage. -[info][2025/05/10 01:18:46]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 20 damage. -[info][2025/05/10 01:18:47]: [OHM07543] Got killed by Amy Ann (GNR11868) with Fist causing 25 damage. -[info][2025/05/10 01:30:31]: [OHM07543] campers requested player vehicles. -[info][2025/05/10 01:31:05]: [OHM07543] campers requested Demon Campers. -[info][2025/05/10 01:31:06]: [OHM07543] campers requested player vehicles. -[info][2025/05/10 01:40:35]: [GNR11868] Got hit by Amy Ann (GNR11868) with Fist causing 12 damage. -[info][2025/05/10 01:40:36]: [GNR11868] Got hit by Amy Ann (GNR11868) with Fist causing 12 damage. -[info][2025/05/10 01:40:37]: [GNR11868] Got hit by Amy Ann (GNR11868) with Fist causing 12 damage. -[info][2025/05/10 01:58:56]: [OHM07543] campers requested Demon Campers. -[info][2025/05/10 01:58:57]: [OHM07543] campers requested player vehicles. -[info][2025/05/10 02:19:13]: [OHM07543] campers requested Demon Campers. -[info][2025/05/10 02:19:14]: [OHM07543] campers requested player vehicles. -[info][2025/05/10 02:53:22]: [OHM07543] Aimed at Amy Ann (GNR11868) with Heavy Revolver. -[info][2025/05/10 02:53:24]: [OHM07543] Aimed at Amy Ann (GNR11868) with Heavy Revolver. -[info][2025/05/10 02:53:56]: [OHM07543] Aimed at Amy Ann (GNR11868) with Heavy Revolver. -[info][2025/05/10 02:54:00]: [OHM07543] Aimed at Amy Ann (GNR11868) with Heavy Revolver. -[info][2025/05/10 02:54:43]: [OHM07543] Got hit by Demon Campers (OHM07543) with Fist causing 20 damage. -[info][2025/05/10 02:55:28]: [OHM07543] Aimed at Amy Ann (GNR11868) with Heavy Revolver. -[info][2025/05/10 02:55:28]: [GNR11868] Got killed by Demon Campers (OHM07543) with Heavy Revolver causing 908 damage. -[info][2025/05/10 02:56:16]: [GNR11868] Got hit by Demon Campers (OHM07543) with undefined causing 20 damage. -[info][2025/05/10 02:56:16]: [GNR11868] Got hit by Demon Campers (OHM07543) with undefined causing 20 damage. -[info][2025/05/10 02:56:27]: [GNR11868] Got hit by Demon Campers (OHM07543) with undefined causing 20 damage. -[info][2025/05/10 02:56:30]: [GNR11868] Got hit by Demon Campers (OHM07543) with undefined causing 20 damage. -[info][2025/05/10 02:56:48]: [GNR11868] Got hit by Demon Campers (OHM07543) with undefined causing 20 damage. -[info][2025/05/10 02:56:51]: [GNR11868] Got hit by Demon Campers (OHM07543) with undefined causing 20 damage. -[info][2025/05/10 02:56:52]: [OHM07543] Got hit by Demon Campers (OHM07543) with undefined causing 20 damage. -[info][2025/05/10 02:56:55]: [GNR11868] Got hit by Demon Campers (OHM07543) with undefined causing 20 damage. -[info][2025/05/10 02:57:18]: [OHM07543] campers requested Demon Campers. -[info][2025/05/10 02:57:21]: [OHM07543] campers changed meta thirst for Demon Campers to 100. -[info][2025/05/10 02:57:21]: [OHM07543] campers requested Demon Campers. -[info][2025/05/10 02:57:22]: [OHM07543] campers changed meta hunger for Demon Campers to 100. -[info][2025/05/10 02:57:22]: [OHM07543] campers requested Demon Campers. -[info][2025/05/10 02:57:23]: [OHM07543] campers healed Demon Campers. -[info][2025/05/10 02:57:23]: [OHM07543] campers requested Demon Campers. -[info][2025/05/10 03:04:26]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/10 03:04:30]: [JCQ27225] nordi viewed inventory. -[info][2025/05/10 03:04:33]: [JCQ27225] nordi moved item deployable_light from Player-Inventory slot 4 to Player-Inventory slot 13 in inventory. -[info][2025/05/10 03:04:43]: [JCQ27225] nordi added 40x tims_instant_nudeln to inventory. -[info][2025/05/10 03:04:57]: [JCQ27225] nordi added 20x spazi to inventory. -[info][2025/05/10 03:05:09]: [OHM07543] nordi requested Demon Campers. -[info][2025/05/10 03:05:12]: [OHM07543] nordi viewed inventory. -[info][2025/05/10 03:05:16]: [OHM07543] nordi deleted item leberkas_semmal from Player-Inventory slot 4 in inventory. -[info][2025/05/10 03:05:25]: [OHM07543] nordi added 30x tims_instant_nudeln to inventory. -[info][2025/05/10 03:15:30]: [OHM07543] Aimed at Amy Ann (GNR11868) with Stun Gun. -[info][2025/05/10 03:15:30]: [GNR11868] Got hit by Demon Campers (OHM07543) with Stun Gun causing 1 damage. -[info][2025/05/10 03:15:37]: [OHM07543] Aimed at Amy Ann (GNR11868) with Stun Gun. -[info][2025/05/10 03:15:38]: [GNR11868] Got hit by Demon Campers (OHM07543) with Stun Gun causing 0 damage. -[info][2025/05/10 03:15:45]: [OHM07543] Aimed at Amy Ann (GNR11868) with SNS Pistol Mk II. -[info][2025/05/10 03:15:46]: [GNR11868] Got hit by Demon Campers (OHM07543) with SNS Pistol MK2 causing 23 damage. -[info][2025/05/10 03:15:50]: [GNR11868] Got hit by Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/05/10 03:15:58]: [OHM07543] Aimed at Amy Ann (GNR11868) with SNS Pistol Mk II. -[info][2025/05/10 03:15:58]: [GNR11868] Got hit by Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/05/10 03:16:01]: [OHM07543] Aimed at Amy Ann (GNR11868) with SNS Pistol Mk II. -[info][2025/05/10 03:16:02]: [GNR11868] Got hit by Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/05/10 03:16:15]: [OHM07543] Aimed at Amy Ann (GNR11868) with SNS Pistol Mk II. -[info][2025/05/10 03:16:19]: [OHM07543] Aimed at Amy Ann (GNR11868) with SNS Pistol Mk II. -[info][2025/05/10 03:16:22]: [OHM07543] Aimed at Amy Ann (GNR11868) with SNS Pistol Mk II. -[info][2025/05/10 03:16:55]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/05/10 03:16:56]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/05/10 03:16:57]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 0 damage. -[info][2025/05/10 03:16:58]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/05/10 03:16:59]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/05/10 03:17:00]: [OHM07543] Got killed by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/05/10 03:18:38]: [OHM07543] Aimed at Amy Ann (GNR11868) with SNS Pistol Mk II. -[info][2025/05/10 03:18:40]: [GNR11868] Got hit by Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/05/10 03:18:41]: [GNR11868] Got hit by Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/05/10 03:18:42]: [GNR11868] Got hit by Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/05/10 03:18:42]: [GNR11868] Got hit by Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/05/10 03:18:43]: [GNR11868] Got hit by Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/05/10 03:18:43]: [GNR11868] Got hit by Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/05/10 16:36:57]: [OHM07543] nordi viewed inventory. -[info][2025/05/10 18:11:09]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/10 18:11:20]: [JCQ27225] nordi changed job to ammu 0 for Kimberly Smith. -[info][2025/05/10 18:11:20]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/10 18:12:31]: [JCQ27225] nordi changed job to police 0 for Kimberly Smith. -[info][2025/05/10 18:12:31]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/10 18:37:21]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/10 18:37:31]: [JCQ27225] nordi removed 9400 cash from Kimberly Smith. -[info][2025/05/10 18:37:31]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/10 18:37:43]: [VHM17991] nordi requested Sophi-Rose Wolf. -[info][2025/05/10 18:37:49]: [VHM17991] nordi gave 10000 cash to Sophi-Rose Wolf. -[info][2025/05/10 18:37:49]: [VHM17991] nordi requested Sophi-Rose Wolf. -[info][2025/05/10 23:59:31]: [JCQ27225] Got killed by Kimberly Smith (JCQ27225) with Cougar causing 500 damage. -[info][2025/05/11 21:45:43]: [OHM07543] campers requested Demon Campers. -[info][2025/05/11 21:45:47]: [OHM07543] campers changed meta thirst for Demon Campers to 100. -[info][2025/05/11 21:45:47]: [OHM07543] campers requested Demon Campers. -[info][2025/05/11 21:45:47]: [OHM07543] campers changed meta hunger for Demon Campers to 100. -[info][2025/05/11 21:45:47]: [OHM07543] campers requested Demon Campers. -[info][2025/05/11 21:45:48]: [OHM07543] campers healed Demon Campers. -[info][2025/05/11 21:45:48]: [OHM07543] campers requested Demon Campers. -[info][2025/05/12 21:12:49]: [DSC01606] Got hit by Mark Petrol (DSC01606) with Fist causing 20 damage. -[info][2025/05/12 21:12:52]: [DSC01606] Got hit by Mark Petrol (DSC01606) with Animal causing 25 damage. -[info][2025/05/12 21:12:54]: [DSC01606] Got hit by Mark Petrol (DSC01606) with Fist causing 20 damage. -[info][2025/05/12 21:12:57]: [DSC01606] Got hit by Mark Petrol (DSC01606) with Fist causing 0 damage. -[info][2025/05/12 21:12:58]: [DSC01606] Got killed by Mark Petrol (DSC01606) with Fist causing 20 damage. -[info][2025/05/12 21:15:04]: [DSC01606] Got killed by Mark Petrol (DSC01606) with undefined causing 20 damage. -[info][2025/05/12 23:29:24]: [DSC01606] max requested Mark Petrol. -[info][2025/05/12 23:29:30]: [DSC01606] max healed Mark Petrol. -[info][2025/05/12 23:29:30]: [DSC01606] max requested Mark Petrol. -[info][2025/05/12 23:29:31]: [DSC01606] max healed Mark Petrol. -[info][2025/05/12 23:29:31]: [DSC01606] max requested Mark Petrol. -[info][2025/05/12 23:29:31]: [DSC01606] max healed Mark Petrol. -[info][2025/05/12 23:29:31]: [DSC01606] max requested Mark Petrol. -[info][2025/05/12 23:29:32]: [DSC01606] max healed Mark Petrol. -[info][2025/05/12 23:29:32]: [DSC01606] max requested Mark Petrol. -[info][2025/05/12 23:29:34]: [DSC01606] max changed meta thirst for Mark Petrol to 100. -[info][2025/05/12 23:29:34]: [DSC01606] max requested Mark Petrol. -[info][2025/05/12 23:29:35]: [DSC01606] max changed meta hunger for Mark Petrol to 100. -[info][2025/05/12 23:29:35]: [DSC01606] max requested Mark Petrol. -[info][2025/05/12 23:34:22]: [OHM07543] campers requested Demon Campers. -[info][2025/05/12 23:34:26]: [OHM07543] campers changed meta thirst for Demon Campers to 100. -[info][2025/05/12 23:34:26]: [OHM07543] campers requested Demon Campers. -[info][2025/05/12 23:34:27]: [OHM07543] campers changed meta hunger for Demon Campers to 100. -[info][2025/05/12 23:34:27]: [OHM07543] campers requested Demon Campers. -[info][2025/05/12 23:34:28]: [OHM07543] campers changed meta armor for Demon Campers to 100. -[info][2025/05/12 23:34:28]: [OHM07543] campers requested Demon Campers. -[info][2025/05/12 23:34:39]: [OHM07543] campers changed money bank for Demon Campers to 639510. -[info][2025/05/12 23:34:39]: [OHM07543] campers requested Demon Campers. -[info][2025/05/12 23:34:46]: [OHM07543] campers changed money cash for Demon Campers to 654385. -[info][2025/05/12 23:34:46]: [OHM07543] campers requested Demon Campers. -[info][2025/05/12 23:51:48]: [AOJ19157] campers requested Seppl McCollin Jr.. -[info][2025/05/12 23:51:51]: [AOJ19157] campers viewed inventory. -[info][2025/05/12 23:52:03]: [AOJ19157] campers added 1x pd_keycard to inventory. -[info][2025/05/12 23:56:33]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/12 23:56:35]: [AOJ19157] tim requested player vehicles. -[info][2025/05/12 23:56:36]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/12 23:56:42]: [AOJ19157] tim healed Seppl McCollin Jr.. -[info][2025/05/12 23:56:42]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/12 23:56:42]: [AOJ19157] tim changed meta thirst for Seppl McCollin Jr. to 100. -[info][2025/05/12 23:56:42]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/12 23:56:43]: [AOJ19157] tim changed meta hunger for Seppl McCollin Jr. to 100. -[info][2025/05/12 23:56:43]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/12 23:56:44]: [AOJ19157] tim changed meta armor for Seppl McCollin Jr. to 100. -[info][2025/05/12 23:56:44]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/12 23:56:47]: [AOJ19157] tim viewed inventory. -[info][2025/05/13 00:17:22]: [AOJ19157] Got hit by Seppl McCollin Jr. (AOJ19157) with Animal causing 25 damage. -[info][2025/05/13 00:19:21]: [AOJ19157] Got hit by Mark Petrol (DSC01606) with Fist causing 20 damage. -[info][2025/05/13 00:19:24]: [DSC01606] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 21 damage. -[info][2025/05/13 00:19:25]: [DSC01606] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 0 damage. -[info][2025/05/13 00:19:26]: [DSC01606] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 21 damage. -[info][2025/05/13 00:19:27]: [DSC01606] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 0 damage. -[info][2025/05/13 00:19:28]: [DSC01606] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 21 damage. -[info][2025/05/13 00:19:29]: [OHM07543] Got hit by Mark Petrol (DSC01606) with Fist causing 20 damage. -[info][2025/05/13 00:19:31]: [OHM07543] Got hit by Mark Petrol (DSC01606) with Fist causing 25 damage. -[info][2025/05/13 00:19:32]: [DSC01606] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 21 damage. -[info][2025/05/13 00:19:33]: [AOJ19157] Got hit by Mark Petrol (DSC01606) with Fist causing 0 damage. -[info][2025/05/13 00:19:34]: [DSC01606] Got killed by Seppl McCollin Jr. (AOJ19157) with Fist causing 21 damage. -[info][2025/05/13 00:19:35]: [OHM07543] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 21 damage. -[info][2025/05/13 00:19:37]: [OHM07543] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 26 damage. -[info][2025/05/13 00:19:44]: [AOJ19157] Got hit by Demon Campers (OHM07543) with Fist causing 21 damage. -[info][2025/05/13 00:19:44]: [AOJ19157] Got hit by Demon Campers (OHM07543) with Fist causing 21 damage. -[info][2025/05/13 00:19:45]: [AOJ19157] Got hit by Demon Campers (OHM07543) with Fist causing 27 damage. -[info][2025/05/13 00:19:45]: [OHM07543] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 21 damage. -[info][2025/05/13 00:19:48]: [OHM07543] Got hit by Mark Petrol (DSC01606) with Fist causing 20 damage. -[info][2025/05/13 00:19:49]: [DSC01606] Got hit by Demon Campers (OHM07543) with Fist causing 0 damage. -[info][2025/05/13 00:19:50]: [DSC01606] Got hit by Demon Campers (OHM07543) with Fist causing 21 damage. -[info][2025/05/13 00:19:50]: [OHM07543] Got hit by Mark Petrol (DSC01606) with Fist causing 25 damage. -[info][2025/05/13 00:19:51]: [OHM07543] Got hit by Mark Petrol (DSC01606) with Fist causing 20 damage. -[info][2025/05/13 00:19:52]: [OHM07543] Got killed by Mark Petrol (DSC01606) with Fist causing 25 damage. -[info][2025/05/13 00:19:52]: [DSC01606] Got hit by Demon Campers (OHM07543) with Fist causing 0 damage. -[info][2025/05/13 00:19:54]: [AOJ19157] Got hit by Mark Petrol (DSC01606) with Fist causing 20 damage. -[info][2025/05/13 00:19:55]: [AOJ19157] Got hit by Mark Petrol (DSC01606) with Fist causing 0 damage. -[info][2025/05/13 00:19:56]: [AOJ19157] Got hit by Mark Petrol (DSC01606) with Fist causing 25 damage. -[info][2025/05/13 00:20:01]: [DSC01606] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 21 damage. -[info][2025/05/13 00:20:01]: [DSC01606] Got hit by Demon Campers (OHM07543) with Fist causing 0 damage. -[info][2025/05/13 00:20:02]: [OHM07543] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 21 damage. -[info][2025/05/13 00:20:02]: [OHM07543] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 0 damage. -[info][2025/05/13 00:20:03]: [OHM07543] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 21 damage. -[info][2025/05/13 00:20:04]: [OHM07543] Got hit by Mark Petrol (DSC01606) with Fist causing 20 damage. -[info][2025/05/13 00:20:04]: [DSC01606] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 21 damage. -[info][2025/05/13 00:20:04]: [OHM07543] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 21 damage. -[info][2025/05/13 00:20:05]: [OHM07543] Got killed by Mark Petrol (DSC01606) with Fist causing 20 damage. -[info][2025/05/13 00:20:06]: [AOJ19157] Got hit by Mark Petrol (DSC01606) with Fist causing 20 damage. -[info][2025/05/13 00:20:07]: [AOJ19157] Got hit by Mark Petrol (DSC01606) with Fist causing 20 damage. -[info][2025/05/13 00:20:08]: [AOJ19157] Got hit by Mark Petrol (DSC01606) with Fist causing 0 damage. -[info][2025/05/13 00:20:10]: [AOJ19157] Got hit by Mark Petrol (DSC01606) with Fist causing 20 damage. -[info][2025/05/13 00:20:10]: [DSC01606] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 21 damage. -[info][2025/05/13 00:20:11]: [DSC01606] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 21 damage. -[info][2025/05/13 00:20:11]: [DSC01606] Got hit by Seppl McCollin Jr. (AOJ19157) with Fist causing 0 damage. -[info][2025/05/13 00:20:13]: [DSC01606] Got killed by Seppl McCollin Jr. (AOJ19157) with Fist causing 21 damage. -[info][2025/05/13 01:28:58]: [DSC01606] max requested Mark Petrol. -[info][2025/05/13 01:29:11]: [DSC01606] max viewed inventory. -[info][2025/05/13 01:29:31]: [DSC01606] max added 1x mechanic_tablet to inventory. -[info][2025/05/13 19:11:41]: [DSC01606] max requested Mark Petrol. -[info][2025/05/13 19:11:48]: [DSC01606] max healed Mark Petrol. -[info][2025/05/13 19:11:48]: [DSC01606] max requested Mark Petrol. -[info][2025/05/13 19:11:52]: [DSC01606] max healed Mark Petrol. -[info][2025/05/13 19:11:52]: [DSC01606] max requested Mark Petrol. -[info][2025/05/13 19:11:52]: [DSC01606] max healed Mark Petrol. -[info][2025/05/13 19:11:52]: [DSC01606] max requested Mark Petrol. -[info][2025/05/13 19:11:53]: [DSC01606] max healed Mark Petrol. -[info][2025/05/13 19:11:53]: [DSC01606] max requested Mark Petrol. -[info][2025/05/13 19:11:53]: [DSC01606] max healed Mark Petrol. -[info][2025/05/13 19:11:53]: [DSC01606] max requested Mark Petrol. -[info][2025/05/13 19:11:53]: [DSC01606] max healed Mark Petrol. -[info][2025/05/13 19:11:53]: [DSC01606] max requested Mark Petrol. -[info][2025/05/13 19:11:54]: [DSC01606] max healed Mark Petrol. -[info][2025/05/13 19:11:54]: [DSC01606] max requested Mark Petrol. -[info][2025/05/13 19:11:55]: [DSC01606] max changed meta thirst for Mark Petrol to 100. -[info][2025/05/13 19:11:55]: [DSC01606] max requested Mark Petrol. -[info][2025/05/13 19:11:56]: [DSC01606] max changed meta hunger for Mark Petrol to 100. -[info][2025/05/13 19:11:56]: [DSC01606] max requested Mark Petrol. -[info][2025/05/13 19:59:33]: [JQK75222] max requested Steven Steppenwolf. -[info][2025/05/13 19:59:36]: [JQK75222] max healed Steven Steppenwolf. -[info][2025/05/13 19:59:36]: [JQK75222] max requested Steven Steppenwolf. -[info][2025/05/13 19:59:37]: [JQK75222] max changed meta thirst for Steven Steppenwolf to 100. -[info][2025/05/13 19:59:37]: [JQK75222] max requested Steven Steppenwolf. -[info][2025/05/13 19:59:38]: [JQK75222] max changed meta hunger for Steven Steppenwolf to 100. -[info][2025/05/13 19:59:38]: [JQK75222] max requested Steven Steppenwolf. -[info][2025/05/13 20:53:57]: [DUD53794] max requested Frank Castle. -[info][2025/05/13 20:54:52]: [DUD53794] max requested Frank Castle. -[info][2025/05/13 21:33:49]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/13 21:33:53]: [JCQ27225] nordi viewed inventory. -[info][2025/05/13 21:34:03]: [JCQ27225] nordi added 10x spazi to inventory. -[info][2025/05/13 21:52:03]: [DSC01606] max requested Mark Petrol. -[info][2025/05/13 21:52:31]: [DSC01606] max requested Mark Petrol. -[info][2025/05/13 21:52:36]: [DSC01606] max healed Mark Petrol. -[info][2025/05/13 21:52:36]: [DSC01606] max requested Mark Petrol. -[info][2025/05/13 21:52:37]: [DSC01606] max healed Mark Petrol. -[info][2025/05/13 21:52:37]: [DSC01606] max requested Mark Petrol. -[info][2025/05/13 21:52:37]: [DSC01606] max healed Mark Petrol. -[info][2025/05/13 21:52:37]: [DSC01606] max requested Mark Petrol. -[info][2025/05/13 21:52:39]: [DSC01606] max changed meta thirst for Mark Petrol to 100. -[info][2025/05/13 21:52:39]: [DSC01606] max requested Mark Petrol. -[info][2025/05/13 21:52:40]: [DSC01606] max changed meta hunger for Mark Petrol to 100. -[info][2025/05/13 21:52:40]: [DSC01606] max requested Mark Petrol. -[info][2025/05/13 22:48:42]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/13 22:48:53]: [JCQ27225] nordi changed job to police 0 for Kimberly Smith. -[info][2025/05/13 22:48:53]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/13 22:49:01]: [JCQ27225] nordi changed job to police 11 for Kimberly Smith. -[info][2025/05/13 22:49:01]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/13 23:46:35]: [DSC01606] campers requested Mark Petrol. -[info][2025/05/13 23:46:38]: [DSC01606] campers viewed inventory. -[info][2025/05/13 23:46:47]: [DSC01606] campers added 1x mechanic_tablet to inventory. -[info][2025/05/14 00:12:16]: [DSC01606] max requested Mark Petrol. -[info][2025/05/14 00:12:24]: [DSC01606] max requested Mark Petrol. -[info][2025/05/14 00:12:29]: [DSC01606] max healed Mark Petrol. -[info][2025/05/14 00:12:29]: [DSC01606] max requested Mark Petrol. -[info][2025/05/14 00:12:31]: [DSC01606] max changed meta thirst for Mark Petrol to 100. -[info][2025/05/14 00:12:31]: [DSC01606] max requested Mark Petrol. -[info][2025/05/14 00:12:32]: [DSC01606] max changed meta hunger for Mark Petrol to 100. -[info][2025/05/14 00:12:32]: [DSC01606] max requested Mark Petrol. -[info][2025/05/14 02:57:34]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/14 02:57:40]: [JCQ27225] nordi gave 1000 cash to Kimberly Smith. -[info][2025/05/14 02:57:40]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/14 03:43:11]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/14 20:13:58]: [GNR11868] Got hit by Connor Garrison (DYW89109) with Fist causing 0 damage. -[info][2025/05/14 21:00:52]: [DYW89109] Got hit by Steven Steppenwolf (JQK75222) with Fist causing 20 damage. -[info][2025/05/14 21:04:27]: [DYW89109] Got killed by Amy Ann (GNR11868) with Fist causing 0 damage. -[info][2025/05/14 21:05:31]: [DYW89109] Got killed by Amy Ann (GNR11868) with Fist causing 0 damage. -[info][2025/05/14 21:57:19]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/14 23:03:25]: [JQK75222] Got hit by Demon Campers (OHM07543) with Fist causing 20 damage. -[info][2025/05/14 23:46:57]: [OHM07543] campers requested Demon Campers. -[info][2025/05/14 23:47:00]: [OHM07543] campers changed meta thirst for Demon Campers to 100. -[info][2025/05/14 23:47:00]: [OHM07543] campers requested Demon Campers. -[info][2025/05/14 23:47:01]: [OHM07543] campers changed meta hunger for Demon Campers to 100. -[info][2025/05/14 23:47:01]: [OHM07543] campers requested Demon Campers. -[info][2025/05/14 23:47:02]: [OHM07543] campers healed Demon Campers. -[info][2025/05/14 23:47:02]: [OHM07543] campers requested Demon Campers. -[info][2025/05/15 01:44:08]: [OHM07543] campers requested Demon Campers. -[info][2025/05/15 01:58:12]: [OHM07543] campers requested Demon Campers. -[info][2025/05/15 21:48:26]: [OHM07543] campers requested Demon Campers. -[info][2025/05/15 23:03:00]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/15 23:03:31]: [JCQ27225] nordi viewed inventory. -[info][2025/05/15 23:03:53]: [JCQ27225] nordi added 20x spazi to inventory. -[info][2025/05/15 23:05:32]: [PCC19872] campers requested Dr.Boris Von Dragomir. -[info][2025/05/15 23:06:01]: [PCC19872] campers requested Dr.Boris Von Dragomir. -[info][2025/05/15 23:08:03]: [JCQ27225] nordi requested Kimberly Smith. -[info][2025/05/15 23:08:17]: [JCQ27225] nordi changed charinfo for Dr. Kimberly Smith. -[info][2025/05/15 23:08:17]: [JCQ27225] nordi requested Dr. Kimberly Smith. -[info][2025/05/15 23:12:18]: [GJN39030] campers requested Dr.Andre Meraki. -[info][2025/05/15 23:12:29]: [IKW74404] campers requested Dr.Marty McCollin. -[info][2025/05/15 23:12:36]: [MWV00464] campers requested LaRossa Bruder 1. -[info][2025/05/15 23:12:45]: [BAZ25004] campers requested Leon Meier. -[info][2025/05/15 23:13:07]: [ASS17049] campers requested Luna Lanewood. -[info][2025/05/15 23:13:14]: [CRO67821] campers requested Marc Santoro. -[info][2025/05/15 23:13:22]: [DSC01606] campers requested Mark Petrol. -[info][2025/05/15 23:13:30]: [DSC01606] campers requested Mark Petrol. -[info][2025/05/15 23:13:34]: [KNL90027] campers requested Michael Lowrey. -[info][2025/05/15 23:13:44]: [WIK72618] campers requested Orlando Lopez. -[info][2025/05/15 23:13:54]: [JUL08961] campers requested Ricardo Redder. -[info][2025/05/15 23:15:32]: [KIX31657] campers requested Schwester LaRossa. -[info][2025/05/15 23:15:40]: [ELV21478] campers requested Shadow Wuff. -[info][2025/05/15 23:15:47]: [AOJ19157] campers requested Seppl McCollin Jr.. -[info][2025/05/15 23:15:55]: [VHM17991] campers requested Sophi-Rose Wolf. -[info][2025/05/15 23:15:59]: [JQK75222] campers requested Steven Steppenwolf. -[info][2025/05/15 23:16:03]: [NXE98489] campers requested Umbra Lion. -[info][2025/05/15 23:16:11]: [GNR11868] campers requested Amy Ann. -[info][2025/05/15 23:16:13]: [DYW89109] campers requested Connor Garrison. -[info][2025/05/15 23:16:17]: [OHM07543] campers requested Demon Campers. -[info][2025/05/15 23:16:21]: [JCQ27225] campers requested Dr. Kimberly Smith. -[info][2025/05/15 23:16:25]: [GJN39030] campers requested Dr.Andre Meraki. -[info][2025/05/15 23:16:29]: [PCC19872] campers requested Dr.Boris Von Dragomir. -[info][2025/05/15 23:16:32]: [IKW74404] campers requested Dr.Marty McCollin. -[info][2025/05/15 23:16:37]: [DUD53794] campers requested Frank Castle. -[info][2025/05/15 23:16:41]: [MWV00464] campers requested LaRossa Bruder 1. -[info][2025/05/15 23:16:44]: [BAZ25004] campers requested Leon Meier. -[info][2025/05/15 23:16:48]: [ASS17049] campers requested Luna Lanewood. -[info][2025/05/15 23:16:53]: [ASS17049] campers requested Luna Lanewood. -[info][2025/05/15 23:16:57]: [CRO67821] campers requested Marc Santoro. -[info][2025/05/15 23:17:01]: [DSC01606] campers requested Mark Petrol. -[info][2025/05/15 23:17:07]: [KNL90027] campers requested Michael Lowrey. -[info][2025/05/15 23:17:12]: [WIK72618] campers requested Orlando Lopez. -[info][2025/05/15 23:17:17]: [JUL08961] campers requested Ricardo Redder. -[info][2025/05/15 23:17:32]: [JUL08961] campers requested Ricardo Redder. -[info][2025/05/15 23:17:38]: [KIX31657] campers requested Schwester LaRossa. -[info][2025/05/15 23:17:44]: [AOJ19157] campers requested Seppl McCollin Jr.. -[info][2025/05/15 23:17:50]: [ELV21478] campers requested Shadow Wuff. -[info][2025/05/15 23:17:53]: [JQK75222] campers requested Steven Steppenwolf. -[info][2025/05/15 23:17:57]: [NXE98489] campers requested Umbra Lion. -[info][2025/05/15 23:28:00]: [OHM07543] campers requested Demon Campers. -[info][2025/05/15 23:28:10]: [OHM07543] campers changed charinfo for Dr. Demon Campers. -[info][2025/05/15 23:28:10]: [OHM07543] campers requested Dr. Demon Campers. -[info][2025/05/15 23:28:15]: [OHM07543] campers requested player vehicles. -[info][2025/05/16 01:29:22]: [DSC01606] campers requested Mark Petrol. -[info][2025/05/16 01:29:40]: [JQK75222] campers requested Steven Steppenwolf. -[info][2025/05/16 02:06:11]: [DSC01606] max requested Mark Petrol. -[info][2025/05/16 02:06:30]: [DSC01606] max changed job to mechanic 10 for Mark Petrol. -[info][2025/05/16 02:06:30]: [DSC01606] max requested Mark Petrol. -[info][2025/05/16 02:46:11]: [DSC01606] max requested Mark Petrol. -[info][2025/05/16 02:46:14]: [DSC01606] max healed Mark Petrol. -[info][2025/05/16 02:46:14]: [DSC01606] max requested Mark Petrol. -[info][2025/05/16 02:46:15]: [DSC01606] max changed meta thirst for Mark Petrol to 100. -[info][2025/05/16 02:46:15]: [DSC01606] max requested Mark Petrol. -[info][2025/05/16 02:46:16]: [DSC01606] max changed meta hunger for Mark Petrol to 100. -[info][2025/05/16 02:46:16]: [DSC01606] max requested Mark Petrol. -[info][2025/05/16 02:46:46]: [DSC01606] max requested Mark Petrol. -[info][2025/05/16 02:46:49]: [DSC01606] max healed Mark Petrol. -[info][2025/05/16 02:46:49]: [DSC01606] max requested Mark Petrol. -[info][2025/05/16 02:46:50]: [DSC01606] max changed meta thirst for Mark Petrol to 100. -[info][2025/05/16 02:46:50]: [DSC01606] max requested Mark Petrol. -[info][2025/05/16 02:46:52]: [DSC01606] max changed meta hunger for Mark Petrol to 100. -[info][2025/05/16 02:46:52]: [DSC01606] max requested Mark Petrol. -[info][2025/05/16 10:27:11]: [JCQ27225] nordi viewed inventory. -[info][2025/05/16 10:27:19]: [JCQ27225] nordi requested Dr. Kimberly Smith. -[info][2025/05/16 10:27:22]: [JCQ27225] nordi viewed inventory. -[info][2025/05/16 10:27:29]: [JCQ27225] nordi added 20x tims_instant_nudeln to inventory. -[info][2025/05/16 19:57:22]: [JCQ27225] nordi viewed inventory. -[info][2025/05/16 20:34:04]: [DSC01606] max requested Mark Petrol. -[info][2025/05/16 20:34:13]: [DSC01606] max healed Mark Petrol. -[info][2025/05/16 20:34:13]: [DSC01606] max requested Mark Petrol. -[info][2025/05/16 20:34:16]: [DSC01606] max changed meta thirst for Mark Petrol to 100. -[info][2025/05/16 20:34:16]: [DSC01606] max requested Mark Petrol. -[info][2025/05/16 20:34:18]: [DSC01606] max changed meta hunger for Mark Petrol to 100. -[info][2025/05/16 20:34:18]: [DSC01606] max requested Mark Petrol. -[info][2025/05/17 18:07:33]: [DSC01606] max requested Mark Petrol. -[info][2025/05/17 18:07:39]: [DSC01606] max healed Mark Petrol. -[info][2025/05/17 18:07:39]: [DSC01606] max requested Mark Petrol. -[info][2025/05/17 18:07:40]: [DSC01606] max changed meta thirst for Mark Petrol to 100. -[info][2025/05/17 18:07:40]: [DSC01606] max requested Mark Petrol. -[info][2025/05/17 18:07:41]: [DSC01606] max changed meta hunger for Mark Petrol to 100. -[info][2025/05/17 18:07:41]: [DSC01606] max requested Mark Petrol. -[info][2025/05/17 22:02:51]: [DSC01606] max requested Mark Petrol. -[info][2025/05/17 22:02:55]: [DSC01606] max healed Mark Petrol. -[info][2025/05/17 22:02:55]: [DSC01606] max requested Mark Petrol. -[info][2025/05/17 22:02:56]: [DSC01606] max changed meta thirst for Mark Petrol to 100. -[info][2025/05/17 22:02:56]: [DSC01606] max requested Mark Petrol. -[info][2025/05/17 22:02:57]: [DSC01606] max changed meta hunger for Mark Petrol to 100. -[info][2025/05/17 22:02:57]: [DSC01606] max requested Mark Petrol. -[info][2025/05/17 22:03:06]: [JQK75222] max requested Steven Steppenwolf. -[info][2025/05/17 22:03:10]: [JQK75222] max healed Steven Steppenwolf. -[info][2025/05/17 22:03:10]: [JQK75222] max requested Steven Steppenwolf. -[info][2025/05/17 22:03:12]: [JQK75222] max changed meta thirst for Steven Steppenwolf to 100. -[info][2025/05/17 22:03:12]: [JQK75222] max requested Steven Steppenwolf. -[info][2025/05/17 22:03:13]: [JQK75222] max changed meta hunger for Steven Steppenwolf to 100. -[info][2025/05/17 22:03:13]: [JQK75222] max requested Steven Steppenwolf. -[info][2025/05/17 22:17:29]: [DSC01606] max requested Mark Petrol. -[info][2025/05/17 22:19:54]: [DSC01606] Got hit by Steven Steppenwolf (JQK75222) with Fist causing 21 damage. -[info][2025/05/17 23:46:25]: [JQK75222] campers requested Steven Steppenwolf. -[info][2025/05/17 23:46:38]: [JQK75222] campers changed job to police 11 for Steven Steppenwolf. -[info][2025/05/17 23:46:38]: [JQK75222] campers requested Steven Steppenwolf. -[info][2025/05/18 00:11:29]: [JQK75222] campers changed job to admin 1 for Steven Steppenwolf. -[info][2025/05/18 00:11:29]: [JQK75222] campers requested Steven Steppenwolf. -[info][2025/05/18 00:19:54]: [JQK75222] campers changed job to admin 0 for Steven Steppenwolf. -[info][2025/05/18 00:19:54]: [JQK75222] campers requested Steven Steppenwolf. -[info][2025/05/18 00:20:02]: [OHM07543] campers requested Dr. Demon Campers. -[info][2025/05/18 00:20:05]: [OHM07543] campers healed Dr. Demon Campers. -[info][2025/05/18 00:20:05]: [OHM07543] campers requested Dr. Demon Campers. -[info][2025/05/18 00:20:05]: [OHM07543] campers changed meta thirst for Dr. Demon Campers to 100. -[info][2025/05/18 00:20:05]: [OHM07543] campers requested Dr. Demon Campers. -[info][2025/05/18 00:20:06]: [OHM07543] campers changed meta hunger for Dr. Demon Campers to 100. -[info][2025/05/18 00:20:06]: [OHM07543] campers requested Dr. Demon Campers. -[info][2025/05/18 00:20:09]: [OHM07543] campers changed meta armor for Dr. Demon Campers to 100. -[info][2025/05/18 00:20:09]: [OHM07543] campers requested Dr. Demon Campers. -[info][2025/05/18 00:50:12]: [DSC01606] max requested Mark Petrol. -[info][2025/05/18 00:50:25]: [DSC01606] max changed job to mechanic 10 for Mark Petrol. -[info][2025/05/18 00:50:25]: [DSC01606] max requested Mark Petrol. -[info][2025/05/18 01:04:50]: [DSC01606] max requested Mark Petrol. -[info][2025/05/18 01:04:57]: [DSC01606] max changed meta thirst for Mark Petrol to 100. -[info][2025/05/18 01:04:57]: [DSC01606] max requested Mark Petrol. -[info][2025/05/18 01:04:57]: [DSC01606] max changed meta hunger for Mark Petrol to 100. -[info][2025/05/18 01:04:57]: [DSC01606] max requested Mark Petrol. -[info][2025/05/18 01:05:11]: [DSC01606] max viewed inventory. -[info][2025/05/18 01:05:34]: [DSC01606] max added 1x duct_tape to inventory. -[info][2025/05/18 01:19:32]: [JQK75222] nordi requested Steven Steppenwolf. -[info][2025/05/18 01:36:15]: [JCQ27225] nordi requested Dr. Kimberly Smith. -[info][2025/05/18 01:36:29]: [JCQ27225] nordi gave 10000 cash to Dr. Kimberly Smith. -[info][2025/05/18 01:36:29]: [JCQ27225] nordi requested Dr. Kimberly Smith. -[info][2025/05/18 01:36:43]: [JQK75222] nordi requested Steven Steppenwolf. -[info][2025/05/18 01:36:47]: [JQK75222] nordi gave 10000 cash to Steven Steppenwolf. -[info][2025/05/18 01:36:48]: [JQK75222] nordi requested Steven Steppenwolf. -[info][2025/05/18 01:39:59]: [JCQ27225] Got hit by Steven Steppenwolf (JQK75222) with Fist causing 0 damage. -[info][2025/05/18 11:22:04]: [LHE89744] tim requested Arthur Bradshaw. -[info][2025/05/18 11:22:15]: [LHE89744] tim gave 2000 cash to Arthur Bradshaw. -[info][2025/05/18 11:22:15]: [LHE89744] tim requested Arthur Bradshaw. -[info][2025/05/18 11:29:06]: [LHE89744] tim requested Arthur Bradshaw. -[info][2025/05/18 11:29:31]: [LHE89744] campers requested Arthur Bradshaw. -[info][2025/05/18 12:08:48]: [LHE89744] tim changed meta thirst for Arthur Bradshaw to 100. -[info][2025/05/18 12:08:48]: [LHE89744] tim requested Arthur Bradshaw. -[info][2025/05/18 12:08:48]: [LHE89744] tim changed meta hunger for Arthur Bradshaw to 100. -[info][2025/05/18 12:08:48]: [LHE89744] tim requested Arthur Bradshaw. -[info][2025/05/18 12:08:54]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/18 12:08:56]: [AOJ19157] tim healed Seppl McCollin Jr.. -[info][2025/05/18 12:08:56]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/18 12:08:56]: [AOJ19157] tim changed meta thirst for Seppl McCollin Jr. to 100. -[info][2025/05/18 12:08:56]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/18 12:08:57]: [AOJ19157] tim changed meta hunger for Seppl McCollin Jr. to 100. -[info][2025/05/18 12:08:57]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/18 12:08:57]: [AOJ19157] tim changed meta stress for Seppl McCollin Jr. to 0. -[info][2025/05/18 12:08:57]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/18 12:08:58]: [AOJ19157] tim changed meta armor for Seppl McCollin Jr. to 100. -[info][2025/05/18 12:08:58]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/18 12:13:32]: [AOJ19157] campers requested Seppl McCollin Jr.. -[info][2025/05/18 12:13:53]: [JQK75222] campers requested Steven Steppenwolf. -[info][2025/05/18 17:47:39]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/18 17:47:41]: [AOJ19157] tim changed meta thirst for Seppl McCollin Jr. to 100. -[info][2025/05/18 17:47:41]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/18 17:47:42]: [AOJ19157] tim changed meta hunger for Seppl McCollin Jr. to 100. -[info][2025/05/18 17:47:42]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/18 17:47:42]: [AOJ19157] tim changed meta stress for Seppl McCollin Jr. to 0. -[info][2025/05/18 17:47:42]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/18 17:47:42]: [AOJ19157] tim changed meta armor for Seppl McCollin Jr. to 100. -[info][2025/05/18 17:47:42]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/18 17:47:45]: [AOJ19157] tim healed Seppl McCollin Jr.. -[info][2025/05/18 17:47:45]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/18 17:47:46]: [AOJ19157] tim healed Seppl McCollin Jr.. -[info][2025/05/18 17:47:46]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/18 18:36:57]: [TUM26702] voltstromi requested Jack Weston. -[info][2025/05/18 18:41:26]: [TUM26702] rockit requested Jack Weston. -[info][2025/05/18 18:41:33]: [LHE89744] rockit requested Arthur Bradshaw. -[info][2025/05/18 18:42:53]: [TUM26702] rockit requested Jack Weston. -[info][2025/05/18 18:43:18]: [LHE89744] rockit requested Arthur Bradshaw. -[info][2025/05/18 18:43:19]: [TUM26702] minichaoz requested Jack Weston. -[info][2025/05/18 18:43:22]: [LHE89744] rockit changed meta thirst for Arthur Bradshaw to 100. -[info][2025/05/18 18:43:22]: [LHE89744] rockit requested Arthur Bradshaw. -[info][2025/05/18 18:43:23]: [LHE89744] rockit changed meta hunger for Arthur Bradshaw to 100. -[info][2025/05/18 18:43:23]: [LHE89744] rockit requested Arthur Bradshaw. -[info][2025/05/18 18:43:28]: [TUM26702] voltstromi requested Jack Weston. -[info][2025/05/18 18:43:33]: [TUM26702] rockit requested Jack Weston. -[info][2025/05/18 18:43:38]: [TUM26702] rockit changed bucket for Jack Weston to 1002. -[info][2025/05/18 18:43:38]: [TUM26702] rockit requested Jack Weston. -[info][2025/05/18 18:43:41]: [TUM26702] minichaoz requested Jack Weston. -[info][2025/05/18 18:43:45]: [TUM26702] minichaoz teleported to [x: -994.5758056640625, y: -2695.701171875]. -[info][2025/05/18 18:43:55]: [TUM26702] rockit changed bucket for Jack Weston to 0. -[info][2025/05/18 18:43:55]: [TUM26702] rockit requested Jack Weston. -[info][2025/05/18 18:49:19]: [TUM26702] rockit requested Jack Weston. -[info][2025/05/18 18:49:26]: [TUM26702] rockit requested Jack Weston. -[info][2025/05/18 18:50:05]: [TUM26702] rockit requested Jack Weston. -[info][2025/05/18 18:50:35]: [TUM26702] rockit requested Jack Weston. -[info][2025/05/18 18:50:42]: [TUM26702] rockit deleted Jack Weston. -[info][2025/05/18 18:51:44]: [JQK75222] rockit requested Steven Steppenwolf. -[info][2025/05/18 18:53:02]: [LHE89744] rockit requested Arthur Bradshaw. -[info][2025/05/18 18:53:03]: [LHE89744] rockit requested player vehicles. -[info][2025/05/18 18:53:51]: [LHE89744] rockit requested Arthur Bradshaw. -[info][2025/05/18 18:53:53]: [LHE89744] rockit requested player vehicles. -[info][2025/05/18 18:57:50]: [LHE89744] rockit requested Arthur Bradshaw. -[info][2025/05/18 18:57:53]: [LHE89744] rockit requested player vehicles. -[info][2025/05/18 19:08:46]: [LHE89744] rockit requested Arthur Bradshaw. -[info][2025/05/18 19:09:01]: [LHE89744] rockit changed job to dynasty 2 for Arthur Bradshaw. -[info][2025/05/18 19:09:01]: [LHE89744] rockit requested Arthur Bradshaw. -[info][2025/05/18 19:09:11]: [RZC73356] rockit requested Jack Weston. -[info][2025/05/18 19:09:18]: [RZC73356] rockit changed job to dynasty 2 for Jack Weston. -[info][2025/05/18 19:09:18]: [RZC73356] rockit requested Jack Weston. -[info][2025/05/18 19:22:00]: [RZC73356] rockit requested Jack Weston. -[info][2025/05/18 19:22:20]: [LHE89744] rockit requested Arthur Bradshaw. -[info][2025/05/18 19:22:28]: [RZC73356] rockit requested Jack Weston. -[info][2025/05/18 19:22:29]: [RZC73356] voltstromi requested Jack Weston. -[info][2025/05/18 19:40:18]: [LHE89744] rockit requested Arthur Bradshaw. -[info][2025/05/18 19:40:21]: [LHE89744] rockit changed meta thirst for Arthur Bradshaw to 100. -[info][2025/05/18 19:40:21]: [LHE89744] rockit requested Arthur Bradshaw. -[info][2025/05/18 19:40:21]: [LHE89744] rockit changed meta hunger for Arthur Bradshaw to 100. -[info][2025/05/18 19:40:22]: [LHE89744] rockit requested Arthur Bradshaw. -[info][2025/05/18 20:06:27]: [RZC73356] voltstromi requested Jack Weston. -[info][2025/05/18 20:07:02]: [RZC73356] tim requested Jack Weston. -[info][2025/05/18 20:07:11]: [MWV00464] tim requested LaRossa Bruder 1. -[info][2025/05/18 20:07:16]: [RZC73356] tim requested Jack Weston. -[info][2025/05/18 20:07:40]: [JQK75222] tim requested Steven Steppenwolf. -[info][2025/05/18 20:07:48]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/18 20:07:58]: [AOJ19157] tim changed charinfo for Dr.Seppl McCollin Jr.. -[info][2025/05/18 20:07:58]: [AOJ19157] tim requested Dr.Seppl McCollin Jr.. -[info][2025/05/18 20:42:38]: [AOJ19157] tim requested Dr.Seppl McCollin Jr.. -[info][2025/05/18 20:43:06]: [LHE89744] tim requested Arthur Bradshaw. -[info][2025/05/19 13:55:34]: [AOJ19157] tim requested Dr.Seppl McCollin Jr.. -[info][2025/05/19 21:52:11]: [OHM07543] campers requested Dr. Demon Campers. -[info][2025/05/19 21:52:12]: [OHM07543] campers requested player vehicles. -[info][2025/05/19 21:52:35]: [DUD53794] campers requested Frank Castle. -[info][2025/05/19 21:52:36]: [DUD53794] campers requested player vehicles. -[info][2025/05/19 21:52:56]: [DUD53794] campers requested Frank Castle. -[info][2025/05/19 21:53:01]: [DUD53794] campers requested player vehicles. -[info][2025/05/19 21:56:35]: [AOJ19157] campers requested Dr.Seppl McCollin Jr.. -[info][2025/05/19 21:56:46]: [AOJ19157] campers changed meta thirst for Dr.Seppl McCollin Jr. to 100. -[info][2025/05/19 21:56:46]: [AOJ19157] campers requested Dr.Seppl McCollin Jr.. -[info][2025/05/19 21:56:47]: [AOJ19157] campers changed meta hunger for Dr.Seppl McCollin Jr. to 100. -[info][2025/05/19 21:56:47]: [AOJ19157] campers requested Dr.Seppl McCollin Jr.. -[info][2025/05/19 21:56:51]: [AOJ19157] campers healed Dr.Seppl McCollin Jr.. -[info][2025/05/19 21:56:51]: [AOJ19157] campers requested Dr.Seppl McCollin Jr.. -[info][2025/05/19 21:56:58]: [AOJ19157] campers requested player vehicles. -[info][2025/05/19 21:57:06]: [AOJ19157] campers requested Dr.Seppl McCollin Jr.. -[info][2025/05/19 22:19:57]: [OHM07543] Got hit by Dr. Demon Campers (OHM07543) with Fist causing 22 damage. -[info][2025/05/19 22:36:47]: [OHM07543] campers requested Dr. Demon Campers. -[info][2025/05/19 22:36:48]: [OHM07543] campers requested player vehicles. -[info][2025/05/19 22:59:30]: [OHM07543] campers requested Dr. Demon Campers. -[info][2025/05/19 22:59:39]: [OHM07543] campers viewed inventory. -[info][2025/05/19 23:00:05]: [OHM07543] campers added 100x pistol_ammo to inventory. -[info][2025/05/20 00:51:13]: [AOJ19157] tim requested Dr.Seppl McCollin Jr.. -[info][2025/05/20 00:51:14]: [AOJ19157] tim healed Dr.Seppl McCollin Jr.. -[info][2025/05/20 00:51:14]: [AOJ19157] tim requested Dr.Seppl McCollin Jr.. -[info][2025/05/20 00:51:15]: [AOJ19157] tim changed meta thirst for Dr.Seppl McCollin Jr. to 100. -[info][2025/05/20 00:51:15]: [AOJ19157] tim requested Dr.Seppl McCollin Jr.. -[info][2025/05/20 00:51:15]: [AOJ19157] tim changed meta hunger for Dr.Seppl McCollin Jr. to 100. -[info][2025/05/20 00:51:15]: [AOJ19157] tim requested Dr.Seppl McCollin Jr.. -[info][2025/05/20 00:51:16]: [AOJ19157] tim changed meta stress for Dr.Seppl McCollin Jr. to 0. -[info][2025/05/20 00:51:16]: [AOJ19157] tim requested Dr.Seppl McCollin Jr.. -[info][2025/05/20 00:51:16]: [AOJ19157] tim changed meta armor for Dr.Seppl McCollin Jr. to 100. -[info][2025/05/20 00:51:16]: [AOJ19157] tim requested Dr.Seppl McCollin Jr.. -[info][2025/05/20 01:38:08]: [AOJ19157] tim healed Dr.Seppl McCollin Jr.. -[info][2025/05/20 01:38:08]: [AOJ19157] tim requested Dr.Seppl McCollin Jr.. -[info][2025/05/20 01:38:08]: [AOJ19157] tim changed meta thirst for Dr.Seppl McCollin Jr. to 100. -[info][2025/05/20 01:38:08]: [AOJ19157] tim requested Dr.Seppl McCollin Jr.. -[info][2025/05/20 01:38:09]: [AOJ19157] tim changed meta hunger for Dr.Seppl McCollin Jr. to 100. -[info][2025/05/20 01:38:09]: [AOJ19157] tim requested Dr.Seppl McCollin Jr.. -[info][2025/05/20 01:38:09]: [AOJ19157] tim changed meta armor for Dr.Seppl McCollin Jr. to 100. -[info][2025/05/20 01:38:10]: [AOJ19157] tim requested Dr.Seppl McCollin Jr.. -[info][2025/05/20 01:38:16]: [JQK75222] tim requested Steven Steppenwolf. -[info][2025/05/20 01:38:18]: [JQK75222] tim healed Steven Steppenwolf. -[info][2025/05/20 01:38:18]: [JQK75222] tim requested Steven Steppenwolf. -[info][2025/05/20 01:38:18]: [JQK75222] tim healed Steven Steppenwolf. -[info][2025/05/20 01:38:18]: [JQK75222] tim requested Steven Steppenwolf. -[info][2025/05/20 01:38:19]: [JQK75222] tim changed meta thirst for Steven Steppenwolf to 100. -[info][2025/05/20 01:38:19]: [JQK75222] tim requested Steven Steppenwolf. -[info][2025/05/20 01:38:19]: [JQK75222] tim changed meta hunger for Steven Steppenwolf to 100. -[info][2025/05/20 01:38:19]: [JQK75222] tim requested Steven Steppenwolf. -[info][2025/05/20 01:38:20]: [JQK75222] tim changed meta armor for Steven Steppenwolf to 100. -[info][2025/05/20 01:38:20]: [JQK75222] tim requested Steven Steppenwolf. -[info][2025/05/20 01:45:42]: [AOJ19157] Got hit by Steven Steppenwolf (JQK75222) with Fist causing 0 damage. -[info][2025/05/20 02:12:18]: [AOJ19157] Got hit by Dr.Seppl McCollin Jr. (AOJ19157) with Fist causing 20 damage. -[info][2025/05/20 02:21:29]: [AOJ19157] Got hit by Steven Steppenwolf (JQK75222) with Fist causing 21 damage. -[info][2025/05/20 21:03:54]: [OHM07543] campers requested Dr. Demon Campers. -[info][2025/05/20 21:04:03]: [OHM07543] campers healed Dr. Demon Campers. -[info][2025/05/20 21:04:03]: [OHM07543] campers requested Dr. Demon Campers. -[info][2025/05/20 21:04:04]: [OHM07543] campers changed meta thirst for Dr. Demon Campers to 100. -[info][2025/05/20 21:04:04]: [OHM07543] campers requested Dr. Demon Campers. -[info][2025/05/20 21:04:05]: [OHM07543] campers changed meta hunger for Dr. Demon Campers to 100. -[info][2025/05/20 21:04:05]: [OHM07543] campers requested Dr. Demon Campers. -[info][2025/05/21 00:08:09]: [JCQ27225] tim requested Dr. Kimberly Smith. -[info][2025/05/21 00:08:12]: [AOJ19157] tim requested Dr.Seppl McCollin Jr.. -[info][2025/05/21 00:08:15]: [AOJ19157] tim healed Dr.Seppl McCollin Jr.. -[info][2025/05/21 00:08:15]: [AOJ19157] tim requested Dr.Seppl McCollin Jr.. -[info][2025/05/21 00:08:15]: [AOJ19157] tim changed meta thirst for Dr.Seppl McCollin Jr. to 100. -[info][2025/05/21 00:08:16]: [AOJ19157] tim requested Dr.Seppl McCollin Jr.. -[info][2025/05/21 00:08:16]: [AOJ19157] tim changed meta hunger for Dr.Seppl McCollin Jr. to 100. -[info][2025/05/21 00:08:16]: [AOJ19157] tim requested Dr.Seppl McCollin Jr.. -[info][2025/05/21 00:08:16]: [AOJ19157] tim changed meta stress for Dr.Seppl McCollin Jr. to 0. -[info][2025/05/21 00:08:16]: [AOJ19157] tim requested Dr.Seppl McCollin Jr.. -[info][2025/05/21 00:08:17]: [AOJ19157] tim changed meta armor for Dr.Seppl McCollin Jr. to 100. -[info][2025/05/21 00:08:17]: [AOJ19157] tim requested Dr.Seppl McCollin Jr.. -[info][2025/05/21 00:39:31]: [AOJ19157] tim requested Dr.Seppl McCollin Jr.. -[info][2025/05/21 00:39:35]: [AOJ19157] tim healed Dr.Seppl McCollin Jr.. -[info][2025/05/21 00:39:35]: [AOJ19157] tim requested Dr.Seppl McCollin Jr.. -[info][2025/05/21 00:39:36]: [AOJ19157] tim changed meta thirst for Dr.Seppl McCollin Jr. to 100. -[info][2025/05/21 00:39:36]: [AOJ19157] tim requested Dr.Seppl McCollin Jr.. -[info][2025/05/21 00:39:36]: [AOJ19157] tim changed meta hunger for Dr.Seppl McCollin Jr. to 100. -[info][2025/05/21 00:39:36]: [AOJ19157] tim requested Dr.Seppl McCollin Jr.. -[info][2025/05/21 00:39:36]: [AOJ19157] tim changed meta stress for Dr.Seppl McCollin Jr. to 0. -[info][2025/05/21 00:39:37]: [AOJ19157] tim requested Dr.Seppl McCollin Jr.. -[info][2025/05/21 00:39:37]: [AOJ19157] tim changed meta armor for Dr.Seppl McCollin Jr. to 100. -[info][2025/05/21 00:39:37]: [AOJ19157] tim requested Dr.Seppl McCollin Jr.. -[info][2025/05/21 00:39:43]: [AOJ19157] tim changed job to mechanic 10 for Dr.Seppl McCollin Jr.. -[info][2025/05/21 00:39:43]: [AOJ19157] tim requested Dr.Seppl McCollin Jr.. -[info][2025/05/21 00:43:32]: [JCQ27225] nordi requested Dr. Kimberly Smith. -[info][2025/05/21 00:44:43]: [JCQ27225] nordi requested Dr. Kimberly Smith. -[info][2025/05/21 00:44:45]: [JCQ27225] nordi viewed inventory. -[info][2025/05/21 00:44:53]: [JCQ27225] nordi added 10x spazi to inventory. -[info][2025/05/21 02:11:33]: [JCQ27225] nordi added 10x tims_instant_nudeln to inventory. -[info][2025/05/21 02:11:46]: [JCQ27225] nordi added 10x spazi to inventory. -[info][2025/05/21 02:11:50]: [JCQ27225] nordi viewed inventory. -[info][2025/05/21 08:55:14]: [DYW89109] rockit requested Connor Garrison. -[info][2025/05/21 08:55:30]: [DYW89109] rockit changed job to police 11 for Connor Garrison. -[info][2025/05/21 08:55:30]: [DYW89109] rockit requested Connor Garrison. -[info][2025/05/21 08:56:13]: [DYW89109] rockit requested Connor Garrison. -[info][2025/05/21 08:56:23]: [DYW89109] rockit changed job to police 10 for Connor Garrison. -[info][2025/05/21 08:56:23]: [DYW89109] rockit requested Connor Garrison. -[info][2025/05/21 08:58:26]: [DYW89109] rockit gave 2500 cash to Connor Garrison. -[info][2025/05/21 08:58:26]: [DYW89109] rockit requested Connor Garrison. -[info][2025/05/21 09:14:01]: [DYW89109] rockit requested Connor Garrison. -[info][2025/05/21 09:14:06]: [DYW89109] rockit changed meta thirst for Connor Garrison to 100. -[info][2025/05/21 09:14:06]: [DYW89109] rockit requested Connor Garrison. -[info][2025/05/21 09:14:07]: [DYW89109] rockit changed meta hunger for Connor Garrison to 100. -[info][2025/05/21 09:14:07]: [DYW89109] rockit requested Connor Garrison. -[info][2025/05/21 11:13:13]: [JCQ27225] nordi viewed inventory. -[info][2025/05/21 11:22:31]: [AOJ19157] tim requested Dr.Seppl McCollin Jr.. -[info][2025/05/21 11:22:40]: [AOJ19157] tim changed charinfo for Seppl McCollin Jr.. -[info][2025/05/21 11:22:40]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/21 12:14:09]: [AOJ19157] tim changed meta thirst for Seppl McCollin Jr. to 100. -[info][2025/05/21 12:14:09]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/21 12:14:09]: [AOJ19157] tim changed meta hunger for Seppl McCollin Jr. to 100. -[info][2025/05/21 12:14:09]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/21 12:14:10]: [AOJ19157] tim changed meta armor for Seppl McCollin Jr. to 100. -[info][2025/05/21 12:14:10]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/21 12:19:33]: [AOJ19157] Got hit by Captain iliya Iliya (RZP34080) with Fist causing 0 damage. -[info][2025/05/21 12:32:35]: [RZP34080] tim requested Captain iliya Iliya. -[info][2025/05/21 14:16:18]: [RZP34080] tim changed meta thirst for Captain iliya Iliya to 100. -[info][2025/05/21 14:16:18]: [RZP34080] tim requested Captain iliya Iliya. -[info][2025/05/21 14:16:19]: [RZP34080] tim changed meta hunger for Captain iliya Iliya to 100. -[info][2025/05/21 14:16:19]: [RZP34080] tim requested Captain iliya Iliya. -[info][2025/05/21 14:16:29]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/21 14:32:37]: [AOJ19157] tim healed Seppl McCollin Jr.. -[info][2025/05/21 14:32:37]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/21 14:32:38]: [AOJ19157] tim changed meta thirst for Seppl McCollin Jr. to 100. -[info][2025/05/21 14:32:38]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/21 14:32:38]: [AOJ19157] tim changed meta hunger for Seppl McCollin Jr. to 100. -[info][2025/05/21 14:32:38]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/21 14:32:39]: [AOJ19157] tim changed meta armor for Seppl McCollin Jr. to 100. -[info][2025/05/21 14:32:39]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/21 14:32:41]: [AOJ19157] tim healed Seppl McCollin Jr.. -[info][2025/05/21 14:32:42]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/21 14:32:43]: [AOJ19157] tim healed Seppl McCollin Jr.. -[info][2025/05/21 14:32:43]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/21 16:15:46]: [JCQ27225] nordi swaped item binoculars from Player-Inventory slot 3 with item rifle_ammo from Player-Inventory slot 16 in inventory. -[info][2025/05/21 16:15:48]: [JCQ27225] nordi swaped item rifle_ammo from Player-Inventory slot 3 with item binoculars from Player-Inventory slot 16 in inventory. -[info][2025/05/21 16:15:58]: [JCQ27225] nordi added 1x weapon_sniperrifle to inventory. -[info][2025/05/21 16:16:09]: [JCQ27225] nordi added 10x snp_ammo to inventory. -[info][2025/05/21 17:00:25]: [JCQ27225] nordi requested Dr. Kimberly Smith. -[info][2025/05/21 17:00:31]: [JCQ27225] nordi viewed inventory. -[info][2025/05/21 17:00:33]: [JCQ27225] nordi deleted item weapon_sniperrifle from Player-Inventory slot 2 in inventory. -[info][2025/05/21 18:00:28]: [JCQ27225] nordi deleted item tilidin from Player-Inventory slot 18 in inventory. -[info][2025/05/21 18:00:32]: [JCQ27225] nordi moved item deployable_light from Player-Inventory slot 13 to Player-Inventory slot 9 in inventory. -[info][2025/05/21 18:00:33]: [JCQ27225] nordi moved item pistol_ammo from Player-Inventory slot 8 to Player-Inventory slot 25 in inventory. -[info][2025/05/21 18:00:36]: [JCQ27225] nordi moved item weapon_carbinerifle_mk2 from Player-Inventory slot 19 to Player-Inventory slot 13 in inventory. -[info][2025/05/21 18:00:39]: [JCQ27225] nordi moved item ohrstopsel from Player-Inventory slot 21 to Player-Inventory slot 8 in inventory. -[info][2025/05/21 18:00:41]: [JCQ27225] nordi swaped item ohrstopsel from Player-Inventory slot 8 with item weapon_snspistol_mk2 from Player-Inventory slot 22 in inventory. -[info][2025/05/21 18:00:43]: [JCQ27225] nordi moved item weapon_snspistol_mk2 from Player-Inventory slot 8 to Player-Inventory slot 18 in inventory. -[info][2025/05/21 18:00:44]: [JCQ27225] nordi moved item weapon_petrolcan from Player-Inventory slot 15 to Player-Inventory slot 8 in inventory. -[info][2025/05/21 18:00:50]: [JCQ27225] nordi moved item weapon_snspistol_mk2 from Player-Inventory slot 18 to Player-Inventory slot 15 in inventory. -[info][2025/05/21 18:00:51]: [JCQ27225] nordi moved item ohrstopsel from Player-Inventory slot 22 to Player-Inventory slot 21 in inventory. -[info][2025/05/21 18:00:53]: [JCQ27225] nordi moved item shotgun_ammo from Player-Inventory slot 20 to Player-Inventory slot 18 in inventory. -[info][2025/05/21 18:00:54]: [JCQ27225] nordi moved item pistol_ammo from Player-Inventory slot 25 to Player-Inventory slot 19 in inventory. -[info][2025/05/21 18:00:56]: [JCQ27225] nordi deleted item weapon_petrolcan from Player-Inventory slot 23 in inventory. -[info][2025/05/21 18:00:57]: [JCQ27225] nordi moved item pd_keycard from Player-Inventory slot 24 to Player-Inventory slot 20 in inventory. -[info][2025/05/21 21:37:53]: [JCQ27225] nordi viewed inventory. -[info][2025/05/21 21:47:14]: [JCQ27225] nordi requested Dr. Kimberly Smith. -[info][2025/05/21 21:47:21]: [JCQ27225] nordi gave 2000000 bank to Dr. Kimberly Smith. -[info][2025/05/21 21:47:21]: [JCQ27225] nordi requested Dr. Kimberly Smith. -[info][2025/05/21 22:54:06]: [OHM07543] tim requested Dr. Demon Campers. -[info][2025/05/21 22:56:35]: [DYW89109] tim requested Connor Garrison. -[info][2025/05/21 22:57:14]: [JCQ27225] tim requested Dr. Kimberly Smith. -[info][2025/05/22 00:02:39]: [GNR11868] Got hit by Steven Steppenwolf (JQK75222) with Fist causing 0 damage. -[info][2025/05/22 00:10:02]: [JQK75222] Got hit by Shadow Wuff (ELV21478) with Animal causing 20 damage. -[info][2025/05/22 00:30:09]: [OHM07543] campers requested Dr. Demon Campers. -[info][2025/05/22 00:30:12]: [OHM07543] campers changed meta thirst for Dr. Demon Campers to 100. -[info][2025/05/22 00:30:12]: [OHM07543] campers requested Dr. Demon Campers. -[info][2025/05/22 00:30:13]: [OHM07543] campers changed meta hunger for Dr. Demon Campers to 100. -[info][2025/05/22 00:30:13]: [OHM07543] campers requested Dr. Demon Campers. -[info][2025/05/22 00:30:15]: [OHM07543] campers healed Dr. Demon Campers. -[info][2025/05/22 00:30:15]: [OHM07543] campers requested Dr. Demon Campers. -[info][2025/05/22 00:32:35]: [GNR11868] Aimed at Luke Wolf (TKK64634) with Carbine Rifle. -[info][2025/05/22 01:01:36]: [OHM07543] campers requested Dr. Demon Campers. -[info][2025/05/22 01:01:37]: [OHM07543] campers requested player vehicles. -[info][2025/05/22 01:01:56]: [OHM07543] campers requested Dr. Demon Campers. -[info][2025/05/22 01:02:18]: [OHM07543] campers changed job to police 8 for Dr. Demon Campers. -[info][2025/05/22 01:02:18]: [OHM07543] campers requested Dr. Demon Campers. -[info][2025/05/22 01:26:47]: [JCQ27225] nordi requested Dr. Kimberly Smith. -[info][2025/05/22 01:26:50]: [JCQ27225] nordi viewed inventory. -[info][2025/05/22 01:26:58]: [JCQ27225] nordi added 40x tims_instant_nudeln to inventory. -[info][2025/05/22 01:40:29]: [JCQ27225] nordi added 1x weapon_assaultsmg to inventory. -[info][2025/05/22 01:40:35]: [JCQ27225] nordi viewed inventory. -[info][2025/05/22 01:40:40]: [JCQ27225] nordi moved item binoculars from Player-Inventory slot 3 to Player-Inventory slot 23 in inventory. -[info][2025/05/22 01:40:41]: [JCQ27225] nordi moved item weapon_assaultsmg from Player-Inventory slot 13 to Player-Inventory slot 3 in inventory. -[info][2025/05/22 01:41:14]: [JCQ27225] nordi added 10x smg_ammo to inventory. -[info][2025/05/22 01:43:54]: [JCQ27225] nordi deleted item weapon_assaultsmg from Player-Inventory slot 3 in inventory. -[info][2025/05/22 01:44:40]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/22 01:44:43]: [AOJ19157] tim healed Seppl McCollin Jr.. -[info][2025/05/22 01:44:43]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/22 01:44:44]: [AOJ19157] tim changed meta thirst for Seppl McCollin Jr. to 100. -[info][2025/05/22 01:44:44]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/22 01:44:44]: [AOJ19157] tim changed meta hunger for Seppl McCollin Jr. to 100. -[info][2025/05/22 01:44:44]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/22 01:44:45]: [AOJ19157] tim changed meta armor for Seppl McCollin Jr. to 100. -[info][2025/05/22 01:44:45]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/22 01:44:54]: [AOJ19157] tim gave 90000 cash to Seppl McCollin Jr.. -[info][2025/05/22 01:44:54]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/22 08:42:37]: [JCQ27225] nordi viewed inventory. -[info][2025/05/22 11:17:11]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/22 12:01:21]: [JCQ27225] nordi requested Dr. Kimberly Smith. -[info][2025/05/22 12:01:23]: [JCQ27225] nordi viewed inventory. -[info][2025/05/22 12:01:31]: [JCQ27225] nordi added 20x spazi to inventory. -[info][2025/05/22 12:05:55]: [JCQ27225] nordi moved item spazi from Player-Inventory slot 3 to Player-Inventory slot 5 in inventory. -[info][2025/05/22 12:06:19]: [JCQ27225] nordi moved item spikestrips from Player-Inventory slot 10 to Player-Inventory slot 3 in inventory. -[info][2025/05/22 12:06:32]: [JCQ27225] nordi requested Dr. Kimberly Smith. -[info][2025/05/22 12:06:43]: [JCQ27225] nordi changed job to police 8 for Dr. Kimberly Smith. -[info][2025/05/22 12:06:43]: [JCQ27225] nordi requested Dr. Kimberly Smith. -[info][2025/05/22 12:06:49]: [JCQ27225] nordi changed job to police 8 for Dr. Kimberly Smith. -[info][2025/05/22 12:06:49]: [JCQ27225] nordi requested Dr. Kimberly Smith. -[info][2025/05/22 12:06:58]: [JCQ27225] nordi changed job to police 7 for Dr. Kimberly Smith. -[info][2025/05/22 12:06:58]: [JCQ27225] nordi requested Dr. Kimberly Smith. -[info][2025/05/22 12:14:13]: [JCQ27225] nordi requested Dr. Kimberly Smith. -[info][2025/05/22 12:14:16]: [JCQ27225] nordi viewed inventory. -[info][2025/05/22 12:14:19]: [JCQ27225] nordi deleted item weapon_carbinerifle_mk2 from Player-Inventory slot 2 in inventory. -[info][2025/05/22 12:14:35]: [JCQ27225] nordi added 1x weapon_militaryrifle to inventory. -[info][2025/05/22 12:14:42]: [JCQ27225] nordi deleted item weapon_militaryrifle from Player-Inventory slot 2 in inventory. -[info][2025/05/22 12:14:51]: [JCQ27225] nordi added 1x weapon_carbinerifle to inventory. -[info][2025/05/22 12:17:40]: [JCQ27225] nordi deleted item weapon_carbinerifle from Player-Inventory slot 2 in inventory. -[info][2025/05/22 12:17:46]: [JCQ27225] nordi added 1x weapon_specialcarbine to inventory. -[info][2025/05/22 12:21:48]: [JCQ27225] nordi deleted item weapon_specialcarbine from Player-Inventory slot 2 in inventory. -[info][2025/05/22 12:21:53]: [JCQ27225] nordi added 1x weapon_specialcarbine to inventory. -[info][2025/05/22 12:31:51]: [JCQ27225] tim requested Dr. Kimberly Smith. -[info][2025/05/22 14:19:23]: [JCQ27225] nordi requested Dr. Kimberly Smith. -[info][2025/05/22 14:19:32]: [JCQ27225] nordi changed job to ambulance 11 for Dr. Kimberly Smith. -[info][2025/05/22 14:19:32]: [JCQ27225] nordi requested Dr. Kimberly Smith. -[info][2025/05/22 15:38:17]: [KVA51843] nordi requested Manfred Tönsen. -[info][2025/05/22 15:38:25]: [KVA51843] nordi changed job to const 0 for Manfred Tönsen. -[info][2025/05/22 15:38:25]: [KVA51843] nordi requested Manfred Tönsen. -[info][2025/05/22 15:51:40]: [LHE89744] rockit requested Arthur Bradshaw. -[info][2025/05/22 15:51:43]: [LHE89744] rockit changed meta thirst for Arthur Bradshaw to 100. -[info][2025/05/22 15:51:43]: [LHE89744] rockit requested Arthur Bradshaw. -[info][2025/05/22 15:51:44]: [LHE89744] rockit changed meta hunger for Arthur Bradshaw to 100. -[info][2025/05/22 15:51:44]: [LHE89744] rockit requested Arthur Bradshaw. -[info][2025/05/22 15:52:04]: [LHE89744] rockit gave 40000 bank to Arthur Bradshaw. -[info][2025/05/22 15:52:04]: [LHE89744] rockit requested Arthur Bradshaw. -[info][2025/05/22 15:57:52]: [DYW89109] rockit requested Connor Garrison. -[info][2025/05/22 15:57:54]: [DYW89109] rockit changed meta thirst for Connor Garrison to 100. -[info][2025/05/22 15:57:54]: [DYW89109] rockit requested Connor Garrison. -[info][2025/05/22 15:57:55]: [DYW89109] rockit changed meta hunger for Connor Garrison to 100. -[info][2025/05/22 15:57:55]: [DYW89109] rockit requested Connor Garrison. -[info][2025/05/22 16:07:47]: [DYW89109] nordi requested Connor Garrison. -[info][2025/05/22 16:07:50]: [DYW89109] nordi viewed inventory. -[info][2025/05/22 16:08:01]: [DYW89109] nordi added 1x deployable_light to inventory. -[info][2025/05/22 16:26:27]: [KVA51843] nordi requested Manfred Tönsen. -[info][2025/05/22 16:26:32]: [KVA51843] nordi viewed inventory. -[info][2025/05/22 16:26:43]: [KVA51843] nordi added 20x tims_instant_nudeln to inventory. -[info][2025/05/22 16:26:53]: [KVA51843] nordi added 20x spazi to inventory. -[info][2025/05/23 03:28:19]: [JCQ27225] nordi requested Dr. Kimberly Smith. -[info][2025/05/23 03:28:26]: [JCQ27225] nordi changed job to admin 0 for Dr. Kimberly Smith. -[info][2025/05/23 03:28:26]: [JCQ27225] nordi requested Dr. Kimberly Smith. -[info][2025/05/23 04:58:50]: [JCQ27225] nordi requested Dr. Kimberly Smith. -[info][2025/05/23 04:58:52]: [JCQ27225] nordi viewed inventory. -[info][2025/05/23 04:58:59]: [JCQ27225] nordi deleted item weapon_dbshotgun from Player-Inventory slot 12 in inventory. -[info][2025/05/23 04:59:03]: [JCQ27225] nordi moved item weapon_flashlight from Player-Inventory slot 7 to Player-Inventory slot 12 in inventory. -[info][2025/05/23 04:59:06]: [JCQ27225] nordi deleted item handcuffs from Player-Inventory slot 6 in inventory. -[info][2025/05/23 04:59:09]: [JCQ27225] nordi moved item weapon_petrolcan from Player-Inventory slot 3 to Player-Inventory slot 22 in inventory. -[info][2025/05/23 04:59:29]: [JCQ27225] nordi added 1x bikerack to inventory. -[info][2025/05/23 05:31:46]: [JCQ27225] nordi requested Dr. Kimberly Smith. -[info][2025/05/23 05:31:48]: [JCQ27225] nordi viewed inventory. -[info][2025/05/23 05:31:57]: [JCQ27225] nordi added 1x bikerack to inventory. -[info][2025/05/23 06:12:54]: [JCQ27225] nordi requested Dr. Kimberly Smith. -[info][2025/05/23 06:12:57]: [JCQ27225] nordi viewed inventory. -[info][2025/05/23 06:13:06]: [JCQ27225] nordi deleted item weapon_petrolcan from Player-Inventory slot 8 in inventory. -[info][2025/05/23 06:13:08]: [JCQ27225] nordi deleted item weapon_petrolcan from Player-Inventory slot 3 in inventory. -[info][2025/05/23 06:14:37]: [JCQ27225] nordi deleted item weapon_petrolcan from Player-Inventory slot 3 in inventory. -[info][2025/05/23 08:28:59]: [JCQ27225] nordi requested Dr. Kimberly Smith. -[info][2025/05/23 08:29:02]: [JCQ27225] nordi viewed inventory. -[info][2025/05/23 08:53:31]: [DYW89109] rockit requested Connor Garrison. -[info][2025/05/23 08:54:20]: [RZC73356] rockit requested Jack Weston. -[info][2025/05/23 08:54:43]: [LHE89744] rockit requested Arthur Bradshaw. -[info][2025/05/23 08:55:18]: [RZC73356] rockit requested Jack Weston. -[info][2025/05/23 08:57:51]: [DYW89109] rockit requested Connor Garrison. -[info][2025/05/23 08:58:08]: [LHE89744] rockit requested Arthur Bradshaw. -[info][2025/05/23 09:00:20]: [RZC73356] rockit requested Jack Weston. -[info][2025/05/23 09:01:51]: [LHE89744] rockit requested Arthur Bradshaw. -[info][2025/05/23 09:03:15]: [RZC73356] rockit requested Jack Weston. -[info][2025/05/23 09:04:23]: [LHE89744] rockit requested Arthur Bradshaw. -[info][2025/05/23 09:04:34]: [LHE89744] rockit requested Arthur Bradshaw. -[info][2025/05/23 09:19:51]: [DYW89109] rockit requested Connor Garrison. -[info][2025/05/23 09:20:13]: [DYW89109] rockit changed job to police 8 for Connor Garrison. -[info][2025/05/23 09:20:13]: [DYW89109] rockit requested Connor Garrison. -[info][2025/05/23 09:20:21]: [DYW89109] rockit changed job to police 9 for Connor Garrison. -[info][2025/05/23 09:20:21]: [DYW89109] rockit requested Connor Garrison. -[info][2025/05/23 12:01:32]: [RZP34080] tim requested Captain iliya Iliya. -[info][2025/05/23 12:01:34]: [RZP34080] tim changed meta thirst for Captain iliya Iliya to 100. -[info][2025/05/23 12:01:34]: [RZP34080] tim requested Captain iliya Iliya. -[info][2025/05/23 12:01:34]: [RZP34080] tim changed meta hunger for Captain iliya Iliya to 100. -[info][2025/05/23 12:01:34]: [RZP34080] tim requested Captain iliya Iliya. -[info][2025/05/23 12:01:35]: [DYW89109] rockit requested Connor Garrison. -[info][2025/05/23 12:01:35]: [RZP34080] tim changed meta stress for Captain iliya Iliya to 0. -[info][2025/05/23 12:01:35]: [RZP34080] tim requested Captain iliya Iliya. -[info][2025/05/23 12:01:35]: [RZP34080] tim changed meta armor for Captain iliya Iliya to 100. -[info][2025/05/23 12:01:35]: [RZP34080] tim requested Captain iliya Iliya. -[info][2025/05/23 12:01:37]: [DYW89109] rockit changed meta thirst for Connor Garrison to 100. -[info][2025/05/23 12:01:37]: [DYW89109] rockit requested Connor Garrison. -[info][2025/05/23 12:01:38]: [DYW89109] rockit changed meta hunger for Connor Garrison to 100. -[info][2025/05/23 12:01:38]: [DYW89109] rockit requested Connor Garrison. -[info][2025/05/23 12:01:43]: [DYW89109] tim requested Connor Garrison. -[info][2025/05/23 12:01:46]: [DYW89109] tim changed meta thirst for Connor Garrison to 100. -[info][2025/05/23 12:01:46]: [DYW89109] tim requested Connor Garrison. -[info][2025/05/23 12:01:46]: [DYW89109] tim healed Connor Garrison. -[info][2025/05/23 12:01:46]: [DYW89109] tim requested Connor Garrison. -[info][2025/05/23 12:01:46]: [DYW89109] tim changed meta hunger for Connor Garrison to 100. -[info][2025/05/23 12:01:47]: [DYW89109] tim requested Connor Garrison. -[info][2025/05/23 12:01:47]: [DYW89109] tim changed meta stress for Connor Garrison to 0. -[info][2025/05/23 12:01:47]: [DYW89109] tim requested Connor Garrison. -[info][2025/05/23 12:01:47]: [DYW89109] tim changed meta armor for Connor Garrison to 100. -[info][2025/05/23 12:01:47]: [DYW89109] tim requested Connor Garrison. -[info][2025/05/23 12:01:52]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/23 12:01:53]: [AOJ19157] tim healed Seppl McCollin Jr.. -[info][2025/05/23 12:01:54]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/23 12:01:54]: [AOJ19157] tim changed meta thirst for Seppl McCollin Jr. to 100. -[info][2025/05/23 12:01:54]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/23 12:01:54]: [AOJ19157] tim changed meta hunger for Seppl McCollin Jr. to 100. -[info][2025/05/23 12:01:54]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/23 12:01:55]: [AOJ19157] tim changed meta stress for Seppl McCollin Jr. to 0. -[info][2025/05/23 12:01:55]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/23 12:01:55]: [AOJ19157] tim changed meta armor for Seppl McCollin Jr. to 100. -[info][2025/05/23 12:01:55]: [AOJ19157] tim requested Seppl McCollin Jr.. -[info][2025/05/23 13:12:02]: [AOJ19157] tim changed charinfo for Dr.Seppl McCollin. -[info][2025/05/23 13:12:02]: [AOJ19157] tim requested Dr.Seppl McCollin. -[info][2025/05/23 13:12:22]: [AOJ19157] tim changed charinfo for Dr.Seppl McCollin. -[info][2025/05/23 13:12:22]: [AOJ19157] tim requested Dr.Seppl McCollin. -[info][2025/05/23 13:12:58]: [AOJ19157] tim changed charinfo for Dr.Seppl McCollin. -[info][2025/05/23 13:12:58]: [AOJ19157] tim requested Dr.Seppl McCollin. -[info][2025/05/23 13:13:17]: [AOJ19157] tim changed meta isdead for Dr.Seppl McCollin to true. -[info][2025/05/23 13:13:17]: [AOJ19157] tim requested Dr.Seppl McCollin. -[info][2025/05/23 13:13:17]: [AOJ19157] tim changed meta isdead for Dr.Seppl McCollin to false. -[info][2025/05/23 13:13:17]: [AOJ19157] tim requested Dr.Seppl McCollin. -[info][2025/05/23 13:13:28]: [AOJ19157] tim changed money bank for Dr.Seppl McCollin to 98951470.52. -[info][2025/05/23 13:13:28]: [AOJ19157] tim requested Dr.Seppl McCollin. -[info][2025/05/23 13:13:45]: [AOJ19157] tim changed job to police 9 for Dr.Seppl McCollin. -[info][2025/05/23 13:13:45]: [AOJ19157] tim requested Dr.Seppl McCollin. -[info][2025/05/23 13:15:10]: [JCQ27225] tim requested Dr. Kimberly Smith. -[info][2025/05/23 13:15:16]: [JCQ27225] tim changed charinfo for Dr.Kimberly Smith. -[info][2025/05/23 13:15:16]: [JCQ27225] tim requested Dr.Kimberly Smith. -[info][2025/05/23 13:15:21]: [OHM07543] tim requested Dr. Demon Campers. -[info][2025/05/23 13:15:24]: [OHM07543] tim changed charinfo for Dr.Demon Campers. -[info][2025/05/23 13:15:25]: [OHM07543] tim requested Dr.Demon Campers. -[info][2025/05/23 13:15:53]: [VHM17991] tim requested Sophi-Rose Wolf. -[info][2025/05/23 13:16:01]: [VHM17991] tim requested player vehicles. -[info][2025/05/23 13:16:02]: [VHM17991] tim requested Sophi-Rose Wolf. -[info][2025/05/23 13:18:05]: [AOJ19157] tim requested Dr.Seppl McCollin. -[info][2025/05/23 13:18:16]: [AOJ19157] tim changed job to police 10 for Dr.Seppl McCollin. -[info][2025/05/23 13:18:16]: [AOJ19157] tim requested Dr.Seppl McCollin. -[info][2025/05/23 14:31:05]: [DYW89109] rockit requested Connor Garrison. -[info][2025/05/23 14:31:08]: [DYW89109] rockit changed meta hunger for Connor Garrison to 100. -[info][2025/05/23 14:31:08]: [DYW89109] rockit requested Connor Garrison. -[info][2025/05/23 14:31:08]: [DYW89109] rockit changed meta thirst for Connor Garrison to 100. -[info][2025/05/23 14:31:08]: [DYW89109] rockit requested Connor Garrison. -[info][2025/05/23 15:11:22]: [RZC73356] voltstromi requested Jack Weston. -[info][2025/05/23 15:11:27]: [RZC73356] rockit requested Jack Weston. -[info][2025/05/23 15:11:29]: [RZC73356] rockit changed meta thirst for Jack Weston to 100. -[info][2025/05/23 15:11:29]: [RZC73356] rockit requested Jack Weston. -[info][2025/05/23 15:11:30]: [RZC73356] rockit changed meta hunger for Jack Weston to 100. -[info][2025/05/23 15:11:30]: [RZC73356] rockit requested Jack Weston. -[info][2025/05/23 15:19:28]: [DYW89109] rockit requested Connor Garrison. -[info][2025/05/23 15:19:31]: [DYW89109] rockit changed meta thirst for Connor Garrison to 100. -[info][2025/05/23 15:19:31]: [DYW89109] rockit requested Connor Garrison. -[info][2025/05/23 15:19:31]: [DYW89109] rockit changed meta hunger for Connor Garrison to 100. -[info][2025/05/23 15:19:31]: [DYW89109] rockit requested Connor Garrison. -[info][2025/05/23 15:35:49]: [MWV00464] tim requested LaRossa Bruder 1. -[info][2025/05/23 15:48:09]: [MWV00464] tim requested LaRossa Bruder 1. -[info][2025/05/23 15:48:16]: [EPW91013] tim requested LaRossa Bruder. -[info][2025/05/23 15:48:23]: [EPW91013] tim changed charinfo for LaRossa Bruder 3. -[info][2025/05/23 15:48:23]: [EPW91013] tim requested LaRossa Bruder 3. -[info][2025/05/23 15:48:28]: [EPW91013] tim healed LaRossa Bruder 3. -[info][2025/05/23 15:48:28]: [EPW91013] tim requested LaRossa Bruder 3. -[info][2025/05/23 15:48:28]: [EPW91013] tim changed meta thirst for LaRossa Bruder 3 to 100. -[info][2025/05/23 15:48:28]: [EPW91013] tim requested LaRossa Bruder 3. -[info][2025/05/23 15:48:28]: [EPW91013] tim changed meta hunger for LaRossa Bruder 3 to 100. -[info][2025/05/23 15:48:28]: [EPW91013] tim requested LaRossa Bruder 3. -[info][2025/05/23 15:48:29]: [EPW91013] tim changed meta armor for LaRossa Bruder 3 to 100. -[info][2025/05/23 15:48:29]: [EPW91013] tim requested LaRossa Bruder 3. -[info][2025/05/23 15:48:35]: [EPW91013] tim changed job to larossa 0 for LaRossa Bruder 3. -[info][2025/05/23 15:48:35]: [EPW91013] tim requested LaRossa Bruder 3. -[info][2025/05/23 15:53:15]: [MWV00464] tim requested LaRossa Bruder 1. -[info][2025/05/23 15:53:19]: [MWV00464] tim viewed inventory. -[info][2025/05/23 15:53:23]: [MWV00464] tim cleared inventory. -[info][2025/05/23 15:59:31]: [PGS32293] tim requested Sam Benning. -[info][2025/05/23 15:59:35]: [PGS32293] rockit requested Sam Benning. -[info][2025/05/23 15:59:44]: [PGS32293] tim changed job to police 8 for Sam Benning. -[info][2025/05/23 15:59:44]: [PGS32293] tim requested Sam Benning. -[info][2025/05/23 15:59:47]: [PGS32293] rockit changed job to police 8 for Sam Benning. -[info][2025/05/23 15:59:47]: [PGS32293] rockit requested Sam Benning. -[info][2025/05/23 16:09:06]: [PGS32293] voltstromi requested Sam Benning. -[info][2025/05/23 16:09:29]: [PGS32293] voltstromi changed money bank for Sam Benning to 223000. -[info][2025/05/23 16:09:29]: [PGS32293] voltstromi requested Sam Benning. -[info][2025/05/23 16:41:01]: [PGS32293] rockit requested Sam Benning. -[info][2025/05/23 17:53:45]: [AOJ19157] tim requested Dr.Seppl McCollin. -[info][2025/05/23 17:53:48]: [AOJ19157] tim healed Dr.Seppl McCollin. -[info][2025/05/23 17:53:48]: [AOJ19157] tim requested Dr.Seppl McCollin. -[info][2025/05/23 17:53:49]: [AOJ19157] tim changed meta thirst for Dr.Seppl McCollin to 100. -[info][2025/05/23 17:53:49]: [AOJ19157] tim requested Dr.Seppl McCollin. -[info][2025/05/23 17:53:49]: [AOJ19157] tim changed meta hunger for Dr.Seppl McCollin to 100. -[info][2025/05/23 17:53:49]: [AOJ19157] tim requested Dr.Seppl McCollin. -[info][2025/05/23 17:53:50]: [AOJ19157] tim changed meta stress for Dr.Seppl McCollin to 0. -[info][2025/05/23 17:53:50]: [AOJ19157] tim requested Dr.Seppl McCollin. -[info][2025/05/23 17:53:51]: [AOJ19157] tim changed meta armor for Dr.Seppl McCollin to 100. -[info][2025/05/23 17:53:51]: [AOJ19157] tim requested Dr.Seppl McCollin. -[info][2025/05/23 20:17:10]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/05/23 20:17:17]: [OHM07543] campers changed meta thirst for Dr.Demon Campers to 100. -[info][2025/05/23 20:17:17]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/05/23 20:17:17]: [OHM07543] campers changed meta hunger for Dr.Demon Campers to 100. -[info][2025/05/23 20:17:17]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/05/23 20:17:18]: [OHM07543] campers changed meta armor for Dr.Demon Campers to 100. -[info][2025/05/23 20:17:18]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/05/23 20:17:30]: [OHM07543] campers changed job to police 8 for Dr.Demon Campers. -[info][2025/05/23 20:17:30]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/05/23 20:19:17]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/05/23 20:19:22]: [OHM07543] campers viewed inventory. -[info][2025/05/23 20:19:28]: [OHM07543] campers deleted item pd_keycard from Player-Inventory slot 28 in inventory. -[info][2025/05/23 20:19:56]: [OHM07543] campers added 1x pd_keycard to inventory. -[info][2025/05/23 22:29:48]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/05/23 22:29:50]: [OHM07543] campers healed Dr.Demon Campers. -[info][2025/05/23 22:29:50]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/05/23 22:29:51]: [OHM07543] campers changed meta thirst for Dr.Demon Campers to 100. -[info][2025/05/23 22:29:51]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/05/23 22:29:52]: [OHM07543] campers changed meta hunger for Dr.Demon Campers to 100. -[info][2025/05/23 22:29:52]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/05/23 22:29:54]: [OHM07543] campers healed Dr.Demon Campers. -[info][2025/05/23 22:29:54]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/05/23 22:29:55]: [OHM07543] campers healed Dr.Demon Campers. -[info][2025/05/23 22:29:55]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/05/24 02:42:45]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/05/24 02:43:03]: [OHM07543] campers changed meta thirst for Dr.Demon Campers to 100. -[info][2025/05/24 02:43:03]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/05/24 02:43:03]: [OHM07543] campers changed meta hunger for Dr.Demon Campers to 100. -[info][2025/05/24 02:43:03]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/05/24 02:43:19]: [OHM07543] campers changed job to police 7 for Dr.Demon Campers. -[info][2025/05/24 02:43:19]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/05/24 02:43:24]: [OHM07543] campers requested player vehicles. -[info][2025/05/24 02:43:38]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/05/24 07:48:56]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/05/24 07:48:58]: [JCQ27225] nordi viewed inventory. -[info][2025/05/24 07:49:09]: [JCQ27225] nordi added 1x bikerack to inventory. -[info][2025/05/24 07:49:27]: [JCQ27225] nordi added 1x roofbox_carbon to inventory. -[info][2025/05/24 07:49:30]: [JCQ27225] nordi moved item weapon_petrolcan from Player-Inventory slot 8 to Player-Inventory slot 16 in inventory. -[info][2025/05/24 07:49:31]: [JCQ27225] nordi swaped item deployable_light from Player-Inventory slot 9 with item binoculars from Player-Inventory slot 23 in inventory. -[info][2025/05/24 07:49:33]: [JCQ27225] nordi moved item spikestrips from Player-Inventory slot 10 to Player-Inventory slot 24 in inventory. -[info][2025/05/24 07:49:34]: [JCQ27225] nordi moved item binoculars from Player-Inventory slot 9 to Player-Inventory slot 10 in inventory. -[info][2025/05/24 07:49:43]: [JCQ27225] nordi added 1x roofbox_color to inventory. -[info][2025/05/24 08:33:44]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/05/24 08:34:06]: [JCQ27225] nordi viewed inventory. -[info][2025/05/24 08:34:10]: [JCQ27225] nordi deleted item bikerack from Player-Inventory slot 2 in inventory. -[info][2025/05/24 08:38:33]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/05/24 08:38:36]: [JCQ27225] nordi viewed inventory. -[info][2025/05/24 08:38:43]: [JCQ27225] nordi moved item roofbox_color from Player-Inventory slot 2 to Player-Inventory slot 6 in inventory. -[info][2025/05/24 08:38:51]: [JCQ27225] nordi added 1x bikerack to inventory. -[info][2025/05/24 10:30:57]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/05/24 10:32:33]: [JCQ27225] nordi viewed inventory. -[info][2025/05/24 10:32:43]: [JCQ27225] nordi added 1x weapon_smg to inventory. -[info][2025/05/24 10:33:09]: [JCQ27225] nordi viewed inventory. -[info][2025/05/24 10:41:43]: [JCQ27225] nordi viewed inventory. -[info][2025/05/24 10:43:42]: [JCQ27225] nordi added 1x weapon_smg to inventory. -[info][2025/05/24 10:47:04]: [JCQ27225] nordi added 1x smallscope_attachment to inventory. -[info][2025/05/24 10:49:31]: [DUD53794] mark requested Frank Castle. -[info][2025/05/24 10:49:35]: [DUD53794] mark viewed inventory. -[info][2025/05/24 10:49:53]: [DYW89109] mark requested Connor Garrison. -[info][2025/05/24 10:49:55]: [DYW89109] mark viewed inventory. -[info][2025/05/24 10:50:07]: [KVA51843] mark requested Manfred Tönsen. -[info][2025/05/24 10:50:08]: [KVA51843] mark viewed inventory. -[info][2025/05/24 10:50:13]: [KVA51843] mark requested Manfred Tönsen. -[info][2025/05/24 10:56:27]: [DUD53794] mark requested Frank Castle. -[info][2025/05/24 10:57:11]: [DUD53794] mark changed meta ishandcuffed for Frank Castle to true. -[info][2025/05/24 10:57:11]: [DUD53794] mark requested Frank Castle. -[info][2025/05/24 10:57:27]: [DUD53794] mark changed meta ishandcuffed for Frank Castle to false. -[info][2025/05/24 10:57:27]: [DUD53794] mark requested Frank Castle. -[info][2025/05/24 11:04:51]: [JCQ27225] mark requested Dr.Kimberly Smith. -[info][2025/05/24 11:05:00]: [JCQ27225] mark requested Dr.Kimberly Smith. -[info][2025/05/24 11:05:42]: [DUD53794] mark requested Frank Castle. -[info][2025/05/24 12:22:57]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/05/24 12:23:00]: [JCQ27225] nordi viewed inventory. -[info][2025/05/24 12:23:10]: [JCQ27225] nordi deleted item weapon_specialcarbine from Player-Inventory slot 8 in inventory. -[info][2025/05/24 12:23:28]: [JCQ27225] nordi deleted item weapon_specialcarbine from Player-Inventory slot 9 in inventory. -[info][2025/05/24 22:17:34]: [DSC01606] max requested Mark Petrol. -[info][2025/05/24 22:17:37]: [DSC01606] max healed Mark Petrol. -[info][2025/05/24 22:17:37]: [DSC01606] max requested Mark Petrol. -[info][2025/05/24 22:17:38]: [DSC01606] max changed meta thirst for Mark Petrol to 100. -[info][2025/05/24 22:17:38]: [DSC01606] max requested Mark Petrol. -[info][2025/05/24 22:17:39]: [DSC01606] max changed meta hunger for Mark Petrol to 100. -[info][2025/05/24 22:17:39]: [DSC01606] max requested Mark Petrol. -[info][2025/05/25 12:21:59]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/05/25 12:22:02]: [JCQ27225] nordi viewed inventory. -[info][2025/05/25 12:22:19]: [JCQ27225] nordi added 1x weapon_smg to inventory. -[info][2025/05/25 14:50:03]: [DYW89109] rockit requested Connor Garrison. -[info][2025/05/25 14:50:05]: [DYW89109] rockit changed meta thirst for Connor Garrison to 100. -[info][2025/05/25 14:50:05]: [DYW89109] rockit requested Connor Garrison. -[info][2025/05/25 14:50:06]: [DYW89109] rockit changed meta hunger for Connor Garrison to 100. -[info][2025/05/25 14:50:06]: [DYW89109] rockit requested Connor Garrison. -[info][2025/05/25 17:11:43]: [NAJ08324] mark requested Alfred Monak. -[info][2025/05/25 17:12:10]: [NAJ08324] mark changed meta thirst for Alfred Monak to 100. -[info][2025/05/25 17:12:10]: [NAJ08324] mark requested Alfred Monak. -[info][2025/05/25 17:12:12]: [NAJ08324] mark changed meta hunger for Alfred Monak to 100. -[info][2025/05/25 17:12:12]: [NAJ08324] mark requested Alfred Monak. -[info][2025/05/25 17:12:15]: [NAJ08324] mark changed meta hunger for Alfred Monak to 100. -[info][2025/05/25 17:12:15]: [NAJ08324] mark requested Alfred Monak. -[info][2025/05/25 17:12:33]: [NAJ08324] mark changed job to admin 0 for Alfred Monak. -[info][2025/05/25 17:12:33]: [NAJ08324] mark requested Alfred Monak. -[info][2025/05/25 22:18:41]: [CRO67821] marc requested Marc Santoro. -[info][2025/05/25 22:21:10]: [CRO67821] marc changed charinfo for Marc Santoro. -[info][2025/05/25 22:21:10]: [CRO67821] marc requested Marc Santoro. -[info][2025/05/25 22:21:23]: [CRO67821] marc changed meta thirst for Marc Santoro to 100. -[info][2025/05/25 22:21:23]: [CRO67821] marc requested Marc Santoro. -[info][2025/05/25 22:21:24]: [CRO67821] marc changed meta hunger for Marc Santoro to 100. -[info][2025/05/25 22:21:24]: [CRO67821] marc requested Marc Santoro. -[info][2025/05/25 22:21:35]: [CRO67821] marc changed job to larossa 0 for Marc Santoro. -[info][2025/05/25 22:21:35]: [CRO67821] marc requested Marc Santoro. -[info][2025/05/26 20:20:46]: [NAJ08324] mark requested Alfred Monak. -[info][2025/05/26 20:20:49]: [NAJ08324] mark changed meta thirst for Alfred Monak to 100. -[info][2025/05/26 20:20:49]: [NAJ08324] mark requested Alfred Monak. -[info][2025/05/26 20:20:50]: [NAJ08324] mark changed meta hunger for Alfred Monak to 100. -[info][2025/05/26 20:20:50]: [NAJ08324] mark requested Alfred Monak. -[info][2025/05/26 20:20:51]: [NAJ08324] mark healed Alfred Monak. -[info][2025/05/26 20:20:51]: [NAJ08324] mark requested Alfred Monak. -[info][2025/05/26 20:20:52]: [NAJ08324] mark healed Alfred Monak. -[info][2025/05/26 20:20:52]: [NAJ08324] mark requested Alfred Monak. -[info][2025/05/26 20:20:52]: [NAJ08324] mark healed Alfred Monak. -[info][2025/05/26 20:20:52]: [NAJ08324] mark requested Alfred Monak. -[info][2025/05/26 20:20:53]: [NAJ08324] mark healed Alfred Monak. -[info][2025/05/26 20:20:53]: [NAJ08324] mark requested Alfred Monak. -[info][2025/05/26 20:44:48]: [DSC01606] max requested Mark Petrol. -[info][2025/05/26 20:44:52]: [DSC01606] max healed Mark Petrol. -[info][2025/05/26 20:44:52]: [DSC01606] max requested Mark Petrol. -[info][2025/05/26 20:44:54]: [DSC01606] max changed meta thirst for Mark Petrol to 100. -[info][2025/05/26 20:44:54]: [DSC01606] max requested Mark Petrol. -[info][2025/05/26 20:44:55]: [DSC01606] max changed meta hunger for Mark Petrol to 100. -[info][2025/05/26 20:44:55]: [DSC01606] max requested Mark Petrol. -[info][2025/05/26 20:44:57]: [DSC01606] max changed meta thirst for Mark Petrol to 100. -[info][2025/05/26 20:44:57]: [DSC01606] max requested Mark Petrol. -[info][2025/05/26 20:44:58]: [DSC01606] max changed meta hunger for Mark Petrol to 100. -[info][2025/05/26 20:44:58]: [DSC01606] max requested Mark Petrol. -[info][2025/05/26 20:44:59]: [DSC01606] max healed Mark Petrol. -[info][2025/05/26 20:44:59]: [DSC01606] max requested Mark Petrol. -[info][2025/05/26 20:44:59]: [DSC01606] max healed Mark Petrol. -[info][2025/05/26 20:44:59]: [DSC01606] max requested Mark Petrol. -[info][2025/05/26 20:44:59]: [DSC01606] max healed Mark Petrol. -[info][2025/05/26 20:44:59]: [DSC01606] max requested Mark Petrol. -[info][2025/05/26 20:45:00]: [DSC01606] max healed Mark Petrol. -[info][2025/05/26 20:45:00]: [DSC01606] max requested Mark Petrol. -[info][2025/05/26 20:45:00]: [DSC01606] max healed Mark Petrol. -[info][2025/05/26 20:45:00]: [DSC01606] max requested Mark Petrol. -[info][2025/05/26 20:45:00]: [DSC01606] max healed Mark Petrol. -[info][2025/05/26 20:45:00]: [DSC01606] max requested Mark Petrol. -[info][2025/05/26 20:45:00]: [DSC01606] max healed Mark Petrol. -[info][2025/05/26 20:45:01]: [DSC01606] max requested Mark Petrol. -[info][2025/05/26 20:45:01]: [DSC01606] max healed Mark Petrol. -[info][2025/05/26 20:45:01]: [DSC01606] max requested Mark Petrol. -[info][2025/05/26 20:57:21]: [TKK64634] marc requested Luke Wolf. -[info][2025/05/26 20:57:50]: [TKK64634] marc requested Luke Wolf. -[info][2025/05/26 20:58:09]: [NAJ08324] marc requested Alfred Monak. -[info][2025/05/27 18:26:31]: [NAJ08324] mark requested Alfred Monak. -[info][2025/05/27 18:27:12]: [NAJ08324] mark healed Alfred Monak. -[info][2025/05/27 18:27:12]: [NAJ08324] mark requested Alfred Monak. -[info][2025/05/27 19:01:13]: [NAJ08324] mark changed meta hunger for Alfred Monak to 100. -[info][2025/05/27 19:01:13]: [NAJ08324] mark requested Alfred Monak. -[info][2025/05/27 19:01:13]: [NAJ08324] mark changed meta thirst for Alfred Monak to 100. -[info][2025/05/27 19:01:13]: [NAJ08324] mark requested Alfred Monak. -[info][2025/05/27 19:39:04]: [DSC01606] max requested Mark Petrol. -[info][2025/05/27 19:39:09]: [DSC01606] max changed meta thirst for Mark Petrol to 100. -[info][2025/05/27 19:39:09]: [DSC01606] max requested Mark Petrol. -[info][2025/05/27 19:39:10]: [DSC01606] max changed meta hunger for Mark Petrol to 100. -[info][2025/05/27 19:39:10]: [DSC01606] max requested Mark Petrol. -[info][2025/05/27 19:39:20]: [DSC01606] max viewed inventory. -[info][2025/05/27 19:39:41]: [DSC01606] max added 1x repairkit to inventory. -[info][2025/05/27 19:40:38]: [DSC01606] max added 1x v12_engine to inventory. -[info][2025/05/27 23:14:09]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/05/27 23:14:12]: [JCQ27225] nordi viewed inventory. -[info][2025/05/27 23:14:24]: [JCQ27225] nordi added 1x weapon_carbinerifle to inventory. -[info][2025/05/27 23:14:27]: [JCQ27225] nordi deleted item weapon_specialcarbine from Player-Inventory slot 9 in inventory. -[info][2025/05/27 23:14:39]: [JCQ27225] nordi added 1x holoscope_attachment to inventory. -[info][2025/05/27 23:15:27]: [JCQ27225] nordi deleted item weapon_specialcarbine from Player-Inventory slot 9 in inventory. -[info][2025/05/27 23:57:12]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/05/27 23:57:20]: [JCQ27225] nordi changed job to ambulance 0 for Dr.Kimberly Smith. -[info][2025/05/27 23:57:20]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/05/27 23:57:32]: [JCQ27225] nordi changed job to ambulance 11 for Dr.Kimberly Smith. -[info][2025/05/27 23:57:32]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/05/28 00:02:31]: [JCQ27225] nordi changed job to police 10 for Dr.Kimberly Smith. -[info][2025/05/28 00:02:31]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/05/28 00:31:19]: [JCQ27225] campers requested Dr.Kimberly Smith. -[info][2025/05/28 00:55:29]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/05/28 00:55:32]: [OHM07543] campers changed meta thirst for Dr.Demon Campers to 100. -[info][2025/05/28 00:55:32]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/05/28 00:55:33]: [OHM07543] campers changed meta hunger for Dr.Demon Campers to 100. -[info][2025/05/28 00:55:33]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/05/28 00:55:34]: [OHM07543] campers healed Dr.Demon Campers. -[info][2025/05/28 00:55:34]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/05/28 01:18:43]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/05/28 12:22:21]: [NAJ08324] mark requested Alfred Monak. -[info][2025/05/28 12:22:23]: [NAJ08324] mark changed meta thirst for Alfred Monak to 100. -[info][2025/05/28 12:22:24]: [NAJ08324] mark requested Alfred Monak. -[info][2025/05/28 12:22:24]: [NAJ08324] mark changed meta hunger for Alfred Monak to 100. -[info][2025/05/28 12:22:24]: [NAJ08324] mark requested Alfred Monak. -[info][2025/05/28 12:22:25]: [NAJ08324] mark healed Alfred Monak. -[info][2025/05/28 12:22:25]: [NAJ08324] mark requested Alfred Monak. -[info][2025/05/28 12:22:28]: [NAJ08324] mark healed Alfred Monak. -[info][2025/05/28 12:22:28]: [NAJ08324] mark requested Alfred Monak. -[info][2025/05/28 12:22:28]: [NAJ08324] mark healed Alfred Monak. -[info][2025/05/28 12:22:28]: [NAJ08324] mark requested Alfred Monak. -[info][2025/05/28 12:22:28]: [NAJ08324] mark healed Alfred Monak. -[info][2025/05/28 12:22:28]: [NAJ08324] mark requested Alfred Monak. -[info][2025/05/28 12:22:28]: [NAJ08324] mark healed Alfred Monak. -[info][2025/05/28 12:22:28]: [NAJ08324] mark requested Alfred Monak. -[info][2025/05/28 13:56:33]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/05/28 13:56:48]: [JCQ27225] nordi viewed inventory. -[info][2025/05/28 13:56:51]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/05/28 13:57:22]: [JCQ27225] nordi changed job to admin 0 for Dr.Kimberly Smith. -[info][2025/05/28 13:57:22]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/05/28 13:58:13]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/05/28 14:07:10]: [DSC01606] max requested Mark Petrol. -[info][2025/05/28 14:07:26]: [DSC01606] max gave 600000 cash to Mark Petrol. -[info][2025/05/28 14:07:26]: [DSC01606] max requested Mark Petrol. -[info][2025/05/28 21:35:36]: [CRO67821] marc requested Marc Santoro. -[info][2025/05/28 21:46:49]: [GNR11868] Aimed at Marc Santoro (CRO67821) with Carbine Rifle. -[info][2025/05/28 21:46:51]: [CRO67821] Got hit by Amy Ann (GNR11868) with Carbine Rifle causing 31 damage. -[info][2025/05/28 21:46:51]: [CRO67821] Got hit by Amy Ann (GNR11868) with Carbine Rifle causing 18 damage. -[info][2025/05/28 21:46:51]: [CRO67821] Got hit by Amy Ann (GNR11868) with Carbine Rifle causing 18 damage. -[info][2025/05/28 21:46:51]: [CRO67821] Got hit by Amy Ann (GNR11868) with Carbine Rifle causing 15 damage. -[info][2025/05/28 21:46:52]: [CRO67821] Got hit by Amy Ann (GNR11868) with Carbine Rifle causing 18 damage. -[info][2025/05/28 21:46:52]: [CRO67821] Got hit by Amy Ann (GNR11868) with Carbine Rifle causing 18 damage. -[info][2025/05/28 21:46:52]: [CRO67821] Got killed by Amy Ann (GNR11868) with Carbine Rifle causing 15 damage. -[info][2025/05/28 21:53:44]: [CRO67821] Aimed at Amy Ann (GNR11868) with Special Carbine Mk II. -[info][2025/05/28 22:03:32]: [GNR11868] Got hit by Marc Santoro (CRO67821) with Fist causing 21 damage. -[info][2025/05/28 22:03:33]: [GNR11868] Got hit by Marc Santoro (CRO67821) with Fist causing 0 damage. -[info][2025/05/28 22:03:34]: [GNR11868] Got hit by Marc Santoro (CRO67821) with Fist causing 21 damage. -[info][2025/05/28 22:03:36]: [GNR11868] Got hit by Marc Santoro (CRO67821) with Fist causing 21 damage. -[info][2025/05/28 22:03:38]: [GNR11868] Got hit by Marc Santoro (CRO67821) with Fist causing 21 damage. -[info][2025/05/28 22:03:39]: [GNR11868] Got killed by Marc Santoro (CRO67821) with Fist causing 21 damage. -[info][2025/05/28 22:04:02]: [GNR11868] Aimed at Marc Santoro (CRO67821) with Carbine Rifle. -[info][2025/05/28 22:04:04]: [GNR11868] Aimed at Marc Santoro (CRO67821) with Carbine Rifle. -[info][2025/05/28 22:04:57]: [PGS32293] voltstromi requested Sam Benning. -[info][2025/05/28 22:05:05]: [PGS32293] voltstromi changed meta thirst for Sam Benning to 100. -[info][2025/05/28 22:05:05]: [PGS32293] voltstromi requested Sam Benning. -[info][2025/05/28 22:05:07]: [PGS32293] voltstromi changed meta hunger for Sam Benning to 100. -[info][2025/05/28 22:05:07]: [PGS32293] voltstromi requested Sam Benning. -[info][2025/05/28 22:15:09]: [PGS32293] voltstromi requested Sam Benning. -[info][2025/05/28 22:15:10]: [PGS32293] voltstromi requested player vehicles. -[info][2025/05/29 02:03:46]: [CRO67821] marc requested Marc Santoro. -[info][2025/05/29 02:04:12]: [CRO67821] marc changed job to bennys 4 for Marc Santoro. -[info][2025/05/29 02:04:12]: [CRO67821] marc requested Marc Santoro. -[info][2025/05/29 02:09:54]: [CRO67821] marc changed job to mechanic 4 for Marc Santoro. -[info][2025/05/29 02:09:54]: [CRO67821] marc requested Marc Santoro. -[info][2025/05/29 02:10:54]: [CRO67821] marc changed job to mechanic 4 for Marc Santoro. -[info][2025/05/29 02:10:54]: [CRO67821] marc requested Marc Santoro. -[info][2025/05/29 14:01:39]: [NAJ08324] mark requested Alfred Monak. -[info][2025/05/29 14:01:41]: [NAJ08324] mark changed meta hunger for Alfred Monak to 100. -[info][2025/05/29 14:01:41]: [NAJ08324] mark requested Alfred Monak. -[info][2025/05/29 14:01:41]: [NAJ08324] mark changed meta thirst for Alfred Monak to 100. -[info][2025/05/29 14:01:41]: [NAJ08324] mark requested Alfred Monak. -[info][2025/05/29 14:01:41]: [NAJ08324] mark healed Alfred Monak. -[info][2025/05/29 14:01:41]: [NAJ08324] mark requested Alfred Monak. -[info][2025/05/29 14:01:42]: [NAJ08324] mark healed Alfred Monak. -[info][2025/05/29 14:01:42]: [NAJ08324] mark requested Alfred Monak. -[info][2025/05/29 14:01:42]: [NAJ08324] mark healed Alfred Monak. -[info][2025/05/29 14:01:42]: [NAJ08324] mark requested Alfred Monak. -[info][2025/05/29 14:01:43]: [NAJ08324] mark healed Alfred Monak. -[info][2025/05/29 14:01:43]: [NAJ08324] mark requested Alfred Monak. -[info][2025/05/29 14:01:53]: [NAJ08324] mark viewed inventory. -[info][2025/05/29 14:02:25]: [NAJ08324] mark added 2x burrito to inventory. -[info][2025/05/29 14:02:36]: [NAJ08324] mark requested Alfred Monak. -[info][2025/05/29 14:02:38]: [NAJ08324] mark requested player vehicles. -[info][2025/05/29 14:10:19]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/05/29 14:10:26]: [JCQ27225] nordi changed job to admin 0 for Dr.Kimberly Smith. -[info][2025/05/29 14:10:26]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/05/29 19:07:28]: [PCC19872] nordi requested Dr.Boris Von Dragomir. -[info][2025/05/29 19:07:37]: [PCC19872] nordi changed job to ambulance 11 for Dr.Boris Von Dragomir. -[info][2025/05/29 19:07:37]: [PCC19872] nordi requested Dr.Boris Von Dragomir. -[info][2025/05/29 19:18:00]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/05/29 19:18:11]: [JCQ27225] nordi changed job to ambulance 11 for Dr.Kimberly Smith. -[info][2025/05/29 19:18:11]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/05/29 21:41:17]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/05/29 21:41:26]: [OHM07543] campers viewed inventory. -[info][2025/05/29 21:42:11]: [OHM07543] campers added 15x steel_ingots to inventory. -[info][2025/05/29 21:43:20]: [OHM07543] campers added 10x steel_ingots to inventory. -[info][2025/05/29 21:43:48]: [OHM07543] max requested Dr.Demon Campers. -[info][2025/05/29 21:43:52]: [OHM07543] max viewed inventory. -[info][2025/05/29 21:44:08]: [OHM07543] max added 1x ceramic_brakes to inventory. -[info][2025/05/29 21:59:38]: [OHM07543] Aimed at Mark Petrol (DSC01606) with Heavy Revolver. -[info][2025/05/29 22:00:07]: [OHM07543] campers added 20x pistol_ammo to inventory. -[info][2025/05/29 22:00:29]: [OHM07543] campers added 1x pistol_ammo to inventory. -[info][2025/05/29 23:01:58]: [OHM07543] Got hit by Mark Petrol (DSC01606) with Fist causing 21 damage. -[info][2025/05/29 23:08:42]: [DSC01606] max requested Mark Petrol. -[info][2025/05/29 23:08:49]: [DSC01606] max changed meta thirst for Mark Petrol to 100. -[info][2025/05/29 23:08:49]: [DSC01606] max requested Mark Petrol. -[info][2025/05/29 23:08:50]: [DSC01606] max changed meta hunger for Mark Petrol to 100. -[info][2025/05/29 23:08:50]: [DSC01606] max requested Mark Petrol. -[info][2025/05/29 23:08:58]: [DSC01606] max requested Mark Petrol. -[info][2025/05/29 23:09:03]: [DSC01606] max changed meta thirst for Mark Petrol to 100. -[info][2025/05/29 23:09:03]: [DSC01606] max requested Mark Petrol. -[info][2025/05/29 23:24:31]: [DSC01606] Got killed by Dr.Demon Campers (OHM07543) with Explosion causing 9999 damage. -[info][2025/05/29 23:25:59]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/05/29 23:26:00]: [OHM07543] campers requested player vehicles. -[info][2025/05/30 00:47:20]: [GNR11868] campers requested Amy Ann. -[info][2025/05/30 14:08:43]: [DYW89109] rockit requested Connor Garrison. -[info][2025/05/30 14:09:00]: [DYW89109] rockit changed job to mechanic 11 for Connor Garrison. -[info][2025/05/30 14:09:00]: [DYW89109] rockit requested Connor Garrison. -[info][2025/05/30 20:31:41]: [DSC01606] max requested Mark Petrol. -[info][2025/05/30 20:31:46]: [DSC01606] max changed meta thirst for Mark Petrol to 100. -[info][2025/05/30 20:31:46]: [DSC01606] max requested Mark Petrol. -[info][2025/05/30 20:31:47]: [DSC01606] max changed meta hunger for Mark Petrol to 100. -[info][2025/05/30 20:31:47]: [DSC01606] max requested Mark Petrol. -[info][2025/05/30 20:51:28]: [ELV21478] rockit requested Shadow Wuff. -[info][2025/05/30 20:51:31]: [ELV21478] rockit changed meta thirst for Shadow Wuff to 100. -[info][2025/05/30 20:51:31]: [ELV21478] rockit requested Shadow Wuff. -[info][2025/05/30 20:51:31]: [ELV21478] rockit changed meta hunger for Shadow Wuff to 100. -[info][2025/05/30 20:51:31]: [ELV21478] rockit requested Shadow Wuff. -[info][2025/05/30 20:53:17]: [DYW89109] rockit requested Connor Garrison. -[info][2025/05/30 20:53:20]: [DYW89109] rockit changed meta thirst for Connor Garrison to 100. -[info][2025/05/30 20:53:20]: [DYW89109] rockit requested Connor Garrison. -[info][2025/05/30 20:53:20]: [DYW89109] rockit changed meta hunger for Connor Garrison to 100. -[info][2025/05/30 20:53:21]: [DYW89109] rockit requested Connor Garrison. -[info][2025/05/30 20:58:41]: [DSC01606] Got hit by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/05/30 21:03:29]: [OHM07543] Got hit by Mark Petrol (DSC01606) with Fist causing 21 damage. -[info][2025/05/30 21:13:32]: [OHM07543] max requested Dr.Demon Campers. -[info][2025/05/30 21:13:36]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/05/30 21:13:36]: [OHM07543] max changed meta thirst for Dr.Demon Campers to 100. -[info][2025/05/30 21:13:36]: [OHM07543] max requested Dr.Demon Campers. -[info][2025/05/30 21:13:37]: [OHM07543] max changed meta hunger for Dr.Demon Campers to 100. -[info][2025/05/30 21:13:37]: [OHM07543] max requested Dr.Demon Campers. -[info][2025/05/30 21:13:38]: [OHM07543] campers changed meta hunger for Dr.Demon Campers to 100. -[info][2025/05/30 21:13:38]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/05/30 21:13:39]: [OHM07543] campers changed meta thirst for Dr.Demon Campers to 100. -[info][2025/05/30 21:13:39]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/05/30 21:13:40]: [OHM07543] campers healed Dr.Demon Campers. -[info][2025/05/30 21:13:40]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/05/30 21:13:40]: [OHM07543] max healed Dr.Demon Campers. -[info][2025/05/30 21:13:40]: [OHM07543] max requested Dr.Demon Campers. -[info][2025/05/30 21:13:42]: [OHM07543] campers changed meta armor for Dr.Demon Campers to 100. -[info][2025/05/30 21:13:42]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/05/30 21:20:46]: [ELV21478] campers requested Shadow Wuff. -[info][2025/05/30 23:23:59]: [GNR11868] campers requested Amy Ann. -[info][2025/05/30 23:24:02]: [GNR11868] campers changed meta thirst for Amy Ann to 100. -[info][2025/05/30 23:24:02]: [GNR11868] campers requested Amy Ann. -[info][2025/05/30 23:24:03]: [GNR11868] campers changed meta hunger for Amy Ann to 100. -[info][2025/05/30 23:24:03]: [GNR11868] campers requested Amy Ann. -[info][2025/05/30 23:24:03]: [GNR11868] campers healed Amy Ann. -[info][2025/05/30 23:24:03]: [GNR11868] campers requested Amy Ann. -[info][2025/05/30 23:24:05]: [GNR11868] campers healed Amy Ann. -[info][2025/05/30 23:24:05]: [GNR11868] campers requested Amy Ann. -[info][2025/05/30 23:24:15]: [ELV21478] campers requested Shadow Wuff. -[info][2025/05/30 23:24:17]: [ELV21478] campers changed meta thirst for Shadow Wuff to 100. -[info][2025/05/30 23:24:17]: [ELV21478] campers requested Shadow Wuff. -[info][2025/05/30 23:24:18]: [ELV21478] campers changed meta hunger for Shadow Wuff to 100. -[info][2025/05/30 23:24:18]: [ELV21478] campers requested Shadow Wuff. -[info][2025/05/30 23:24:19]: [ELV21478] campers changed meta armor for Shadow Wuff to 100. -[info][2025/05/30 23:24:19]: [ELV21478] campers requested Shadow Wuff. -[info][2025/05/30 23:39:14]: [OHM07543] Aimed at Mark Petrol (DSC01606) with Heavy Revolver. -[info][2025/05/30 23:39:16]: [OHM07543] Aimed at Mark Petrol (DSC01606) with Heavy Revolver. -[info][2025/05/30 23:39:17]: [DSC01606] Got killed by Dr.Demon Campers (OHM07543) with Heavy Revolver causing 908 damage. -[info][2025/05/30 23:40:12]: [DSC01606] Got hit by Mark Petrol (DSC01606) with Fist causing 20 damage. -[info][2025/05/30 23:40:18]: [DSC01606] Got hit by Mark Petrol (DSC01606) with Fist causing 0 damage. -[info][2025/05/30 23:40:19]: [DSC01606] Got hit by Mark Petrol (DSC01606) with Fist causing 20 damage. -[info][2025/05/30 23:40:22]: [DSC01606] Got hit by Mark Petrol (DSC01606) with Fist causing 20 damage. -[info][2025/05/30 23:40:23]: [DSC01606] Got hit by Mark Petrol (DSC01606) with Fist causing 0 damage. -[info][2025/05/30 23:40:27]: [GNR11868] Got hit by Dr.Demon Campers (OHM07543) with Fist causing 20 damage. -[info][2025/05/30 23:41:19]: [OHM07543] Aimed at Mark Petrol (DSC01606) with Heavy Revolver. -[info][2025/05/30 23:41:22]: [OHM07543] Aimed at Mark Petrol (DSC01606) with Heavy Revolver. -[info][2025/05/30 23:41:23]: [DSC01606] Got killed by Dr.Demon Campers (OHM07543) with Heavy Revolver causing 592 damage. -[info][2025/05/30 23:41:25]: [OHM07543] Aimed at Mark Petrol (DSC01606) with Heavy Revolver. -[info][2025/05/30 23:41:25]: [GNR11868] Aimed at Dr.Demon Campers (OHM07543) with Carbine Rifle. -[info][2025/05/30 23:41:28]: [DSC01606] Got hit by Shadow Wuff (ELV21478) with Animal causing 20 damage. -[info][2025/05/30 23:42:08]: [OHM07543] Got hit by Steven Steppenwolf (JQK75222) with Fist causing 21 damage. -[info][2025/05/30 23:42:10]: [GNR11868] Aimed at Dr.Demon Campers (OHM07543) with Carbine Rifle. -[info][2025/05/30 23:42:14]: [OHM07543] Got hit by Steven Steppenwolf (JQK75222) with Fist causing 0 damage. -[info][2025/05/30 23:42:14]: [GNR11868] Aimed at Dr.Demon Campers (OHM07543) with Carbine Rifle. -[info][2025/05/30 23:44:21]: [GNR11868] Aimed at Steven Steppenwolf (JQK75222) with Carbine Rifle. -[info][2025/05/30 23:44:54]: [GNR11868] Aimed at Shadow Wuff (ELV21478) with Carbine Rifle. -[info][2025/05/30 23:45:17]: [GNR11868] Aimed at Steven Steppenwolf (JQK75222) with Carbine Rifle. -[info][2025/05/30 23:45:26]: [GNR11868] Aimed at Dr.Demon Campers (OHM07543) with Carbine Rifle. -[info][2025/05/30 23:45:30]: [GNR11868] Aimed at Shadow Wuff (ELV21478) with Carbine Rifle. -[info][2025/05/30 23:45:49]: [OHM07543] Aimed at Shadow Wuff (ELV21478) with Stun Gun. -[info][2025/05/30 23:45:55]: [OHM07543] Aimed at Amy Ann (GNR11868) with Stun Gun. -[info][2025/05/30 23:45:55]: [GNR11868] Aimed at Dr.Demon Campers (OHM07543) with Carbine Rifle. -[info][2025/05/30 23:46:00]: [OHM07543] Aimed at Amy Ann (GNR11868) with Stun Gun. -[info][2025/05/30 23:46:00]: [GNR11868] Got hit by Dr.Demon Campers (OHM07543) with Stun Gun causing 0 damage. -[info][2025/05/30 23:46:56]: [GNR11868] Aimed at Dr.Demon Campers (OHM07543) with Carbine Rifle. -[info][2025/05/30 23:47:17]: [GNR11868] Got hit by Shadow Wuff (ELV21478) with Animal causing 20 damage. -[info][2025/05/30 23:47:32]: [OHM07543] Got hit by Mark Petrol (DSC01606) with Animal causing 35 damage. -[info][2025/05/30 23:53:14]: [ELV21478] Got hit by Shadow Wuff (ELV21478) with undefined causing 20 damage. -[info][2025/05/30 23:54:29]: [DSC01606] Got hit by Amy Ann (GNR11868) with undefined causing 20 damage. -[info][2025/05/30 23:54:32]: [OHM07543] Got hit by Amy Ann (GNR11868) with undefined causing 20 damage. -[info][2025/05/30 23:58:18]: [GNR11868] Aimed at Dr.Demon Campers (OHM07543) with Carbine Rifle. -[info][2025/05/30 23:58:31]: [GNR11868] Aimed at Shadow Wuff (ELV21478) with Carbine Rifle. -[info][2025/05/30 23:58:40]: [GNR11868] Aimed at Shadow Wuff (ELV21478) with Carbine Rifle. -[info][2025/05/30 23:58:42]: [GNR11868] Aimed at Dr.Demon Campers (OHM07543) with Carbine Rifle. -[info][2025/05/30 23:58:53]: [GNR11868] Aimed at Mark Petrol (DSC01606) with Carbine Rifle. -[info][2025/05/31 00:22:29]: [DSC01606] max requested Mark Petrol. -[info][2025/05/31 00:22:36]: [DSC01606] max changed meta thirst for Mark Petrol to 100. -[info][2025/05/31 00:22:36]: [DSC01606] max requested Mark Petrol. -[info][2025/05/31 00:22:37]: [DSC01606] max changed meta hunger for Mark Petrol to 100. -[info][2025/05/31 00:22:37]: [DSC01606] max requested Mark Petrol. -[info][2025/05/31 00:41:22]: [GNR11868] campers requested Amy Ann. -[info][2025/05/31 00:41:24]: [GNR11868] campers changed meta thirst for Amy Ann to 100. -[info][2025/05/31 00:41:24]: [GNR11868] campers requested Amy Ann. -[info][2025/05/31 00:41:25]: [GNR11868] campers changed meta hunger for Amy Ann to 100. -[info][2025/05/31 00:41:25]: [GNR11868] campers requested Amy Ann. -[info][2025/05/31 00:41:37]: [ELV21478] campers requested Shadow Wuff. -[info][2025/05/31 00:41:40]: [ELV21478] campers changed meta thirst for Shadow Wuff to 100. -[info][2025/05/31 00:41:40]: [ELV21478] campers requested Shadow Wuff. -[info][2025/05/31 00:41:41]: [ELV21478] campers changed meta hunger for Shadow Wuff to 100. -[info][2025/05/31 00:41:41]: [ELV21478] campers requested Shadow Wuff. -[info][2025/05/31 00:41:51]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/05/31 00:41:53]: [OHM07543] campers changed meta thirst for Dr.Demon Campers to 100. -[info][2025/05/31 00:41:53]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/05/31 00:41:54]: [OHM07543] campers changed meta hunger for Dr.Demon Campers to 100. -[info][2025/05/31 00:41:54]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/05/31 00:42:02]: [DSC01606] campers requested Mark Petrol. -[info][2025/05/31 00:42:04]: [DSC01606] campers changed meta thirst for Mark Petrol to 100. -[info][2025/05/31 00:42:05]: [DSC01606] campers requested Mark Petrol. -[info][2025/05/31 00:42:05]: [DSC01606] campers changed meta hunger for Mark Petrol to 100. -[info][2025/05/31 00:42:05]: [DSC01606] campers requested Mark Petrol. -[info][2025/05/31 00:42:12]: [JQK75222] campers requested Steven Steppenwolf. -[info][2025/05/31 00:42:15]: [JQK75222] campers changed meta thirst for Steven Steppenwolf to 100. -[info][2025/05/31 00:42:15]: [JQK75222] campers requested Steven Steppenwolf. -[info][2025/05/31 00:42:16]: [JQK75222] campers changed meta hunger for Steven Steppenwolf to 100. -[info][2025/05/31 00:42:16]: [JQK75222] campers requested Steven Steppenwolf. -[info][2025/05/31 00:42:23]: [EAP03737] campers requested Josf Meier. -[info][2025/05/31 00:42:32]: [EAP03737] campers changed meta thirst for Josf Meier to 100. -[info][2025/05/31 00:42:32]: [EAP03737] campers requested Josf Meier. -[info][2025/05/31 00:42:33]: [EAP03737] campers changed meta hunger for Josf Meier to 100. -[info][2025/05/31 00:42:33]: [EAP03737] campers requested Josf Meier. -[info][2025/05/31 01:01:00]: [EAP03737] Got hit by Josf Meier (EAP03737) with undefined causing 20 damage. -[info][2025/05/31 01:07:09]: [EAP03737] Got hit by Shadow Wuff (ELV21478) with Animal causing 20 damage. -[info][2025/05/31 01:07:14]: [EAP03737] Got hit by Shadow Wuff (ELV21478) with Animal causing 20 damage. -[info][2025/05/31 01:07:19]: [EAP03737] Got hit by Shadow Wuff (ELV21478) with Animal causing 20 damage. -[info][2025/05/31 01:12:39]: [EAP03737] Got hit by Shadow Wuff (ELV21478) with Animal causing 22 damage. -[info][2025/05/31 01:12:52]: [EAP03737] Got hit by Shadow Wuff (ELV21478) with Animal causing 22 damage. -[info][2025/05/31 01:13:24]: [EAP03737] Got hit by Shadow Wuff (ELV21478) with Animal causing 22 damage. -[info][2025/05/31 01:24:36]: [EAP03737] campers requested Josf Meier. -[info][2025/05/31 01:30:29]: [EAP03737] campers requested Josf Meier. -[info][2025/05/31 01:30:31]: [EAP03737] campers changed meta thirst for Josf Meier to 100. -[info][2025/05/31 01:30:31]: [EAP03737] campers requested Josf Meier. -[info][2025/05/31 01:30:32]: [EAP03737] campers changed meta hunger for Josf Meier to 100. -[info][2025/05/31 01:30:32]: [EAP03737] campers requested Josf Meier. -[info][2025/05/31 01:30:33]: [EAP03737] campers healed Josf Meier. -[info][2025/05/31 01:30:33]: [EAP03737] campers requested Josf Meier. -[info][2025/05/31 01:37:23]: [EAP03737] Got hit by Mark Petrol (DSC01606) with Fist causing 25 damage. -[info][2025/05/31 01:37:25]: [OHM07543] Got hit by Mark Petrol (DSC01606) with Fist causing 20 damage. -[info][2025/05/31 01:37:29]: [OHM07543] Got hit by Mark Petrol (DSC01606) with Fist causing 20 damage. -[info][2025/05/31 01:37:32]: [OHM07543] Got hit by Mark Petrol (DSC01606) with Fist causing 20 damage. -[info][2025/05/31 01:37:34]: [OHM07543] Got hit by Mark Petrol (DSC01606) with Fist causing 20 damage. -[info][2025/05/31 01:37:35]: [OHM07543] Got hit by Mark Petrol (DSC01606) with Fist causing 25 damage. -[info][2025/05/31 01:37:37]: [OHM07543] Got hit by Mark Petrol (DSC01606) with Fist causing 0 damage. -[info][2025/05/31 01:37:38]: [OHM07543] Got hit by Mark Petrol (DSC01606) with Fist causing 0 damage. -[info][2025/05/31 01:37:39]: [OHM07543] Got hit by Mark Petrol (DSC01606) with Fist causing 0 damage. -[info][2025/05/31 01:37:40]: [OHM07543] Got hit by Mark Petrol (DSC01606) with Fist causing 0 damage. -[info][2025/05/31 01:37:41]: [OHM07543] Got hit by Mark Petrol (DSC01606) with Fist causing 0 damage. -[info][2025/05/31 01:37:42]: [OHM07543] Got hit by Mark Petrol (DSC01606) with Fist causing 0 damage. -[info][2025/05/31 01:37:43]: [DSC01606] Got hit by Dr.Demon Campers (OHM07543) with Fist causing 25 damage. -[info][2025/05/31 01:37:45]: [DSC01606] Got hit by Dr.Demon Campers (OHM07543) with Fist causing 20 damage. -[info][2025/05/31 01:37:46]: [DSC01606] Got hit by Dr.Demon Campers (OHM07543) with Fist causing 20 damage. -[info][2025/05/31 01:37:47]: [DSC01606] Got hit by Dr.Demon Campers (OHM07543) with Fist causing 25 damage. -[info][2025/05/31 01:37:47]: [OHM07543] Got hit by Mark Petrol (DSC01606) with Fist causing 0 damage. -[info][2025/05/31 01:37:48]: [OHM07543] Got hit by Mark Petrol (DSC01606) with Fist causing 0 damage. -[info][2025/05/31 01:37:48]: [DSC01606] Got killed by Dr.Demon Campers (OHM07543) with Fist causing 25 damage. -[info][2025/05/31 01:46:21]: [ELV21478] Got killed by Dr.Demon Campers (OHM07543) with Explosion causing 19998 damage. -[info][2025/05/31 01:46:36]: [OHM07543] Aimed at Amy Ann (GNR11868) with Heavy Revolver. -[info][2025/05/31 01:46:39]: [OHM07543] Aimed at Amy Ann (GNR11868) with Heavy Revolver. -[info][2025/05/31 01:46:43]: [OHM07543] Aimed at Amy Ann (GNR11868) with Heavy Revolver. -[info][2025/05/31 01:46:59]: [OHM07543] Aimed at Amy Ann (GNR11868) with Marksman Rifle. -[info][2025/05/31 01:47:04]: [OHM07543] Aimed at Amy Ann (GNR11868) with Marksman Rifle. -[info][2025/05/31 01:47:06]: [OHM07543] Aimed at Amy Ann (GNR11868) with Marksman Rifle. -[info][2025/05/31 01:47:10]: [OHM07543] Aimed at Amy Ann (GNR11868) with Heavy Revolver. -[info][2025/05/31 01:53:33]: [OHM07543] Got killed by Amy Ann (GNR11868) with Vehicle Khanjali Cannon causing 3000 damage. -[info][2025/05/31 01:54:06]: [OHM07543] Got hit by Shadow Wuff (ELV21478) with Animal causing 0 damage. -[info][2025/05/31 01:54:13]: [OHM07543] Got hit by Shadow Wuff (ELV21478) with Animal causing 0 damage. -[info][2025/05/31 01:54:21]: [OHM07543] Aimed at Shadow Wuff (ELV21478) with Heavy Revolver. -[info][2025/05/31 01:54:22]: [OHM07543] Got hit by Shadow Wuff (ELV21478) with Animal causing 0 damage. -[info][2025/05/31 01:54:32]: [OHM07543] Got hit by Shadow Wuff (ELV21478) with Animal causing 0 damage. -[info][2025/05/31 01:54:34]: [OHM07543] Aimed at Shadow Wuff (ELV21478) with Heavy Revolver. -[info][2025/05/31 01:54:36]: [OHM07543] Aimed at Shadow Wuff (ELV21478) with Heavy Revolver. -[info][2025/05/31 01:54:50]: [OHM07543] Got killed by Amy Ann (GNR11868) with Vehicle Khanjali Cannon causing 3000 damage. -[info][2025/05/31 01:55:32]: [OHM07543] Aimed at Amy Ann (GNR11868) with Marksman Rifle. -[info][2025/05/31 01:55:43]: [OHM07543] Aimed at Shadow Wuff (ELV21478) with Marksman Rifle. -[info][2025/05/31 07:32:13]: [DYW89109] rockit requested Connor Garrison. -[info][2025/05/31 07:32:23]: [DYW89109] rockit changed job to police 10 for Connor Garrison. -[info][2025/05/31 07:32:23]: [DYW89109] rockit requested Connor Garrison. -[info][2025/05/31 07:32:33]: [DYW89109] rockit changed job to police 9 for Connor Garrison. -[info][2025/05/31 07:32:33]: [DYW89109] rockit requested Connor Garrison. -[info][2025/05/31 11:26:03]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/05/31 11:26:12]: [JCQ27225] nordi viewed inventory. -[info][2025/05/31 11:26:18]: [JCQ27225] nordi added 1x pd_keycard to inventory. -[info][2025/05/31 11:26:49]: [JCQ27225] nordi added 1x pd_keycard to inventory. -[info][2025/05/31 11:51:03]: [CRO67821] Aimed at Dr.Demon Campers (OHM07543) with Special Carbine Mk II. -[info][2025/05/31 11:51:07]: [CRO67821] Aimed at Dr.Demon Campers (OHM07543) with Special Carbine Mk II. -[info][2025/05/31 11:51:12]: [CRO67821] Aimed at Dr.Kimberly Smith (JCQ27225) with Special Carbine Mk II. -[info][2025/05/31 11:51:13]: [JCQ27225] Got hit by Marc Santoro (CRO67821) with Special Carbine MK2 causing 20 damage. -[info][2025/05/31 11:59:19]: [CRO67821] Aimed at Shadow Wuff (ELV21478) with Special Carbine Mk II. -[info][2025/05/31 11:59:23]: [CRO67821] Aimed at Shadow Wuff (ELV21478) with Special Carbine Mk II. -[info][2025/05/31 11:59:37]: [CRO67821] Aimed at Shadow Wuff (ELV21478) with Special Carbine Mk II. -[info][2025/05/31 11:59:48]: [CRO67821] Aimed at Dr.Demon Campers (OHM07543) with Special Carbine Mk II. -[info][2025/05/31 11:59:52]: [CRO67821] Aimed at Dr.Demon Campers (OHM07543) with Special Carbine Mk II. -[info][2025/05/31 12:00:08]: [OHM07543] Got hit by Marc Santoro (CRO67821) with Fist causing 0 damage. -[info][2025/05/31 12:00:12]: [OHM07543] Got hit by Marc Santoro (CRO67821) with Fist causing 20 damage. -[info][2025/05/31 12:00:15]: [OHM07543] Got hit by Marc Santoro (CRO67821) with Fist causing 20 damage. -[info][2025/05/31 12:00:22]: [ELV21478] Got hit by Marc Santoro (CRO67821) with Fist causing 26 damage. -[info][2025/05/31 12:00:23]: [CRO67821] Got killed by Shadow Wuff (ELV21478) with Animal causing 0 damage. -[info][2025/05/31 12:00:42]: [CRO67821] Aimed at Shadow Wuff (ELV21478) with Special Carbine Mk II. -[info][2025/05/31 12:00:45]: [OHM07543] Aimed at Marc Santoro (CRO67821) with Heavy Revolver. -[info][2025/05/31 12:00:46]: [OHM07543] Got killed by Marc Santoro (CRO67821) with Special Carbine MK2 causing 492 damage. -[info][2025/05/31 12:00:46]: [CRO67821] Aimed at Dr.Demon Campers (OHM07543) with Special Carbine Mk II. -[info][2025/05/31 12:01:05]: [ELV21478] Got hit by Marc Santoro (CRO67821) with Fist causing 26 damage. -[info][2025/05/31 12:01:06]: [CRO67821] Got hit by Shadow Wuff (ELV21478) with Animal causing 21 damage. -[info][2025/05/31 12:02:53]: [OHM07543] Aimed at Marc Santoro (CRO67821) with Marksman Rifle. -[info][2025/05/31 12:03:00]: [CRO67821] Got hit by Dr.Demon Campers (OHM07543) with Marksman Rifle causing 89 damage. -[info][2025/05/31 12:12:01]: [CRO67821] Aimed at Josf Meier (EAP03737) with Special Carbine Mk II. -[info][2025/05/31 12:13:48]: [CRO67821] marc requested Marc Santoro. -[info][2025/05/31 12:13:50]: [CRO67821] campers requested Marc Santoro. -[info][2025/05/31 12:13:52]: [CRO67821] marc changed meta stress for Marc Santoro to 0. -[info][2025/05/31 12:13:52]: [CRO67821] marc requested Marc Santoro. -[info][2025/05/31 12:13:52]: [CRO67821] campers changed meta thirst for Marc Santoro to 100. -[info][2025/05/31 12:13:52]: [CRO67821] campers requested Marc Santoro. -[info][2025/05/31 12:13:53]: [CRO67821] marc changed meta armor for Marc Santoro to 100. -[info][2025/05/31 12:13:53]: [CRO67821] marc requested Marc Santoro. -[info][2025/05/31 12:13:53]: [CRO67821] campers changed meta hunger for Marc Santoro to 100. -[info][2025/05/31 12:13:53]: [CRO67821] campers requested Marc Santoro. -[info][2025/05/31 12:13:53]: [CRO67821] marc changed meta hunger for Marc Santoro to 100. -[info][2025/05/31 12:13:53]: [CRO67821] marc requested Marc Santoro. -[info][2025/05/31 12:13:54]: [CRO67821] campers healed Marc Santoro. -[info][2025/05/31 12:13:54]: [CRO67821] campers requested Marc Santoro. -[info][2025/05/31 12:14:05]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/05/31 12:14:07]: [OHM07543] campers changed meta thirst for Dr.Demon Campers to 100. -[info][2025/05/31 12:14:07]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/05/31 12:14:07]: [OHM07543] campers changed meta hunger for Dr.Demon Campers to 100. -[info][2025/05/31 12:14:07]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/05/31 12:15:27]: [OHM07543] campers requested player vehicles. -[info][2025/05/31 12:15:58]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/05/31 12:15:59]: [OHM07543] campers requested player vehicles. -[info][2025/05/31 12:16:24]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/05/31 12:16:26]: [OHM07543] campers requested player vehicles. -[info][2025/05/31 12:17:20]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/05/31 12:17:21]: [OHM07543] campers requested player vehicles. -[info][2025/05/31 12:17:23]: [OHM07543] Got killed by Amy Ann (GNR11868) with Fist causing 0 damage. -[info][2025/05/31 12:17:37]: [GNR11868] Got hit by Dr.Demon Campers (OHM07543) with Fist causing 21 damage. -[info][2025/05/31 12:17:39]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/05/31 12:20:25]: [EAP03737] Got hit by Marc Santoro (CRO67821) with Fist causing 20 damage. -[info][2025/05/31 12:20:32]: [CRO67821] Aimed at Shadow Wuff (ELV21478) with Special Carbine Mk II. -[info][2025/05/31 12:25:40]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/05/31 12:49:38]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/05/31 13:07:36]: [AOJ19157] tim requested Dr.Seppl McCollin. -[info][2025/05/31 13:07:41]: [AOJ19157] tim viewed inventory. -[info][2025/05/31 13:07:45]: [AOJ19157] tim cleared inventory. -[info][2025/05/31 15:02:20]: [DYW89109] rockit requested Connor Garrison. -[info][2025/05/31 15:02:21]: [DYW89109] rockit requested player vehicles. -[info][2025/05/31 15:17:08]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/05/31 15:17:20]: [JCQ27225] nordi changed job to admin 0 for Dr.Kimberly Smith. -[info][2025/05/31 15:17:20]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/05/31 15:48:09]: [AOJ19157] tim requested Dr.Seppl McCollin. -[info][2025/05/31 16:25:47]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/05/31 16:25:54]: [JCQ27225] nordi changed job to police 10 for Dr.Kimberly Smith. -[info][2025/05/31 16:25:54]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/05/31 16:31:21]: [JCQ27225] nordi changed job to admin 0 for Dr.Kimberly Smith. -[info][2025/05/31 16:31:21]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/05/31 16:43:47]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/05/31 16:43:54]: [JCQ27225] nordi changed job to admin 0 for Dr.Kimberly Smith. -[info][2025/05/31 16:43:55]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/05/31 16:57:09]: [DYW89109] rockit requested Connor Garrison. -[info][2025/05/31 16:57:12]: [DYW89109] rockit changed meta thirst for Connor Garrison to 100. -[info][2025/05/31 16:57:12]: [DYW89109] rockit requested Connor Garrison. -[info][2025/05/31 16:57:13]: [DYW89109] rockit changed meta hunger for Connor Garrison to 100. -[info][2025/05/31 16:57:13]: [DYW89109] rockit requested Connor Garrison. -[info][2025/05/31 17:32:57]: [DYW89109] rockit requested Connor Garrison. -[info][2025/05/31 17:33:01]: [DYW89109] rockit healed Connor Garrison. -[info][2025/05/31 17:33:01]: [DYW89109] rockit requested Connor Garrison. -[info][2025/05/31 17:33:02]: [DYW89109] rockit changed meta thirst for Connor Garrison to 100. -[info][2025/05/31 17:33:02]: [DYW89109] rockit requested Connor Garrison. -[info][2025/05/31 17:33:02]: [DYW89109] rockit changed meta hunger for Connor Garrison to 100. -[info][2025/05/31 17:33:02]: [DYW89109] rockit requested Connor Garrison. -[info][2025/05/31 22:35:39]: [DSC01606] max requested Mark Petrol. -[info][2025/05/31 22:35:43]: [DSC01606] max changed meta thirst for Mark Petrol to 100. -[info][2025/05/31 22:35:43]: [DSC01606] max requested Mark Petrol. -[info][2025/05/31 22:35:44]: [DSC01606] max changed meta hunger for Mark Petrol to 100. -[info][2025/05/31 22:35:44]: [DSC01606] max requested Mark Petrol. -[info][2025/05/31 22:35:48]: [JCQ27225] max requested Dr.Kimberly Smith. -[info][2025/05/31 22:35:53]: [JCQ27225] max changed meta thirst for Dr.Kimberly Smith to 100. -[info][2025/05/31 22:35:53]: [JCQ27225] max requested Dr.Kimberly Smith. -[info][2025/05/31 22:35:54]: [JCQ27225] max changed meta hunger for Dr.Kimberly Smith to 100. -[info][2025/05/31 22:35:54]: [JCQ27225] max requested Dr.Kimberly Smith. -[info][2025/05/31 22:40:46]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/05/31 22:40:55]: [JCQ27225] nordi changed job to police 10 for Dr.Kimberly Smith. -[info][2025/05/31 22:40:55]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/01 00:05:49]: [JQK75222] campers requested Steven Steppenwolf. -[info][2025/06/01 00:05:58]: [JQK75222] campers changed job to police 7 for Steven Steppenwolf. -[info][2025/06/01 00:05:58]: [JQK75222] campers requested Steven Steppenwolf. -[info][2025/06/01 00:06:59]: [JQK75222] campers changed job to marshal 6 for Steven Steppenwolf. -[info][2025/06/01 00:06:59]: [JQK75222] campers requested Steven Steppenwolf. -[info][2025/06/01 00:21:55]: [JQK75222] Got hit by Dr.Demon Campers (OHM07543) with Fist causing 21 damage. -[info][2025/06/01 00:26:50]: [JQK75222] campers requested Steven Steppenwolf. -[info][2025/06/01 00:26:58]: [JQK75222] campers changed job to police 9 for Steven Steppenwolf. -[info][2025/06/01 00:26:58]: [JQK75222] campers requested Steven Steppenwolf. -[info][2025/06/01 00:27:27]: [JQK75222] campers changed job to marshal 7 for Steven Steppenwolf. -[info][2025/06/01 00:27:27]: [JQK75222] campers requested Steven Steppenwolf. -[info][2025/06/01 00:27:38]: [JQK75222] campers changed job to marshal 6 for Steven Steppenwolf. -[info][2025/06/01 00:27:38]: [JQK75222] campers requested Steven Steppenwolf. -[info][2025/06/01 00:28:32]: [JQK75222] campers changed job to marshal 0 for Steven Steppenwolf. -[info][2025/06/01 00:28:32]: [JQK75222] campers requested Steven Steppenwolf. -[info][2025/06/01 00:31:26]: [JQK75222] campers changed job to marshal 6 for Steven Steppenwolf. -[info][2025/06/01 00:31:26]: [JQK75222] campers requested Steven Steppenwolf. -[info][2025/06/01 00:31:30]: [OHM07543] Got hit by Steven Steppenwolf (JQK75222) with Fist causing 21 damage. -[info][2025/06/01 01:38:21]: [DSC01606] Got hit by Josf Meier (EAP03737) with Fist causing 21 damage. -[info][2025/06/01 01:38:25]: [EAP03737] Got hit by Mark Petrol (DSC01606) with Fist causing 21 damage. -[info][2025/06/01 01:38:26]: [EAP03737] Got hit by Mark Petrol (DSC01606) with Fist causing 21 damage. -[info][2025/06/01 01:38:27]: [EAP03737] Got hit by Mark Petrol (DSC01606) with Fist causing 26 damage. -[info][2025/06/01 01:38:28]: [EAP03737] Got hit by Mark Petrol (DSC01606) with Fist causing 21 damage. -[info][2025/06/01 01:38:29]: [DSC01606] Got hit by Josf Meier (EAP03737) with Fist causing 21 damage. -[info][2025/06/01 01:38:30]: [DSC01606] Got hit by Josf Meier (EAP03737) with Fist causing 27 damage. -[info][2025/06/01 01:38:32]: [DSC01606] Got hit by Josf Meier (EAP03737) with Fist causing 21 damage. -[info][2025/06/01 01:38:32]: [EAP03737] Got killed by Mark Petrol (DSC01606) with Fist causing 21 damage. -[info][2025/06/01 01:38:46]: [EAP03737] Got hit by Mark Petrol (DSC01606) with Fist causing 26 damage. -[info][2025/06/01 01:38:47]: [EAP03737] Got hit by Mark Petrol (DSC01606) with Fist causing 26 damage. -[info][2025/06/01 01:38:49]: [EAP03737] Got hit by Mark Petrol (DSC01606) with Fist causing 21 damage. -[info][2025/06/01 01:38:50]: [EAP03737] Got hit by Mark Petrol (DSC01606) with Fist causing 21 damage. -[info][2025/06/01 01:38:51]: [EAP03737] Got hit by Mark Petrol (DSC01606) with Fist causing 26 damage. -[info][2025/06/01 01:38:52]: [EAP03737] Got hit by Mark Petrol (DSC01606) with Fist causing 21 damage. -[info][2025/06/01 01:38:53]: [EAP03737] Got hit by Mark Petrol (DSC01606) with Fist causing 21 damage. -[info][2025/06/01 01:38:54]: [EAP03737] Got hit by Mark Petrol (DSC01606) with Fist causing 26 damage. -[info][2025/06/01 01:38:56]: [EAP03737] Got hit by Mark Petrol (DSC01606) with Fist causing 21 damage. -[info][2025/06/01 01:38:57]: [EAP03737] Got hit by Mark Petrol (DSC01606) with Fist causing 21 damage. -[info][2025/06/01 01:38:58]: [EAP03737] Got hit by Mark Petrol (DSC01606) with Fist causing 26 damage. -[info][2025/06/01 01:39:00]: [EAP03737] Got hit by Mark Petrol (DSC01606) with Fist causing 21 damage. -[info][2025/06/01 01:39:01]: [EAP03737] Got hit by Mark Petrol (DSC01606) with Fist causing 21 damage. -[info][2025/06/01 01:39:02]: [EAP03737] Got hit by Mark Petrol (DSC01606) with Fist causing 26 damage. -[info][2025/06/01 01:39:04]: [EAP03737] Got hit by Mark Petrol (DSC01606) with Fist causing 21 damage. -[info][2025/06/01 01:39:05]: [EAP03737] Got hit by Mark Petrol (DSC01606) with Fist causing 21 damage. -[info][2025/06/01 01:39:06]: [EAP03737] Got hit by Mark Petrol (DSC01606) with Fist causing 26 damage. -[info][2025/06/01 01:40:11]: [DSC01606] Got hit by Josf Meier (EAP03737) with Fist causing 21 damage. -[info][2025/06/01 01:40:15]: [EAP03737] Got hit by Shadow Wuff (ELV21478) with Animal causing 20 damage. -[info][2025/06/01 01:40:18]: [ELV21478] Got hit by Josf Meier (EAP03737) with Fist causing 27 damage. -[info][2025/06/01 01:40:56]: [EAP03737] Got hit by Shadow Wuff (ELV21478) with Animal causing 20 damage. -[info][2025/06/01 01:40:58]: [EAP03737] Got hit by Shadow Wuff (ELV21478) with Animal causing 20 damage. -[info][2025/06/01 01:40:59]: [EAP03737] Got hit by Shadow Wuff (ELV21478) with Animal causing 20 damage. -[info][2025/06/01 01:41:38]: [EAP03737] Got hit by Shadow Wuff (ELV21478) with Animal causing 20 damage. -[info][2025/06/01 01:41:43]: [EAP03737] Got hit by Shadow Wuff (ELV21478) with Animal causing 20 damage. -[info][2025/06/01 01:41:44]: [EAP03737] Got killed by Shadow Wuff (ELV21478) with Animal causing 0 damage. -[info][2025/06/01 01:58:02]: [ELV21478] Got hit by Dr.Demon Campers (OHM07543) with Fist causing 25 damage. -[info][2025/06/01 01:59:44]: [JQK75222] Got hit by Shadow Wuff (ELV21478) with Animal causing 20 damage. -[info][2025/06/01 01:59:50]: [JQK75222] Got hit by Shadow Wuff (ELV21478) with Animal causing 20 damage. -[info][2025/06/01 01:59:53]: [JQK75222] Got hit by Shadow Wuff (ELV21478) with Animal causing 20 damage. -[info][2025/06/01 02:00:10]: [JQK75222] Got hit by Shadow Wuff (ELV21478) with Animal causing 20 damage. -[info][2025/06/01 02:00:12]: [JQK75222] Got killed by Shadow Wuff (ELV21478) with Animal causing 0 damage. -[info][2025/06/01 02:01:06]: [EAP03737] Got hit by Shadow Wuff (ELV21478) with Animal causing 20 damage. -[info][2025/06/01 02:01:08]: [EAP03737] Got hit by Shadow Wuff (ELV21478) with Animal causing 20 damage. -[info][2025/06/01 02:01:09]: [EAP03737] Got hit by Shadow Wuff (ELV21478) with Animal causing 20 damage. -[info][2025/06/01 02:01:11]: [EAP03737] Got killed by Shadow Wuff (ELV21478) with Animal causing 0 damage. -[info][2025/06/01 02:02:17]: [OHM07543] Aimed at Josf Meier (EAP03737) with Heavy Revolver. -[info][2025/06/01 02:02:18]: [EAP03737] Got killed by Dr.Demon Campers (OHM07543) with Heavy Revolver causing 160 damage. -[info][2025/06/01 02:02:28]: [OHM07543] Aimed at Josf Meier (EAP03737) with Stun Gun. -[info][2025/06/01 02:02:29]: [EAP03737] Got hit by Dr.Demon Campers (OHM07543) with Stun Gun causing 1 damage. -[info][2025/06/01 02:02:32]: [OHM07543] Aimed at Josf Meier (EAP03737) with Stun Gun. -[info][2025/06/01 02:02:33]: [EAP03737] Got hit by Dr.Demon Campers (OHM07543) with Stun Gun causing 0 damage. -[info][2025/06/01 02:02:37]: [OHM07543] Aimed at Josf Meier (EAP03737) with Stun Gun. -[info][2025/06/01 02:02:38]: [EAP03737] Got hit by Dr.Demon Campers (OHM07543) with Stun Gun causing 0 damage. -[info][2025/06/01 02:02:44]: [OHM07543] Aimed at Shadow Wuff (ELV21478) with Stun Gun. -[info][2025/06/01 02:02:44]: [ELV21478] Got hit by Dr.Demon Campers (OHM07543) with Stun Gun causing 0 damage. -[info][2025/06/01 02:02:58]: [OHM07543] Aimed at Josf Meier (EAP03737) with Stun Gun. -[info][2025/06/01 02:02:59]: [EAP03737] Got hit by Dr.Demon Campers (OHM07543) with Stun Gun causing 0 damage. -[info][2025/06/01 02:03:01]: [JQK75222] Aimed at Mark Petrol (DSC01606) with null. -[info][2025/06/01 02:03:03]: [JQK75222] Aimed at Josf Meier (EAP03737) with null. -[info][2025/06/01 02:03:38]: [OHM07543] Aimed at Josf Meier (EAP03737) with SNS Pistol Mk II. -[info][2025/06/01 02:03:39]: [EAP03737] Got hit by Dr.Demon Campers (OHM07543) with SNS Pistol MK2 causing 29 damage. -[info][2025/06/01 02:03:40]: [OHM07543] Aimed at Josf Meier (EAP03737) with SNS Pistol Mk II. -[info][2025/06/01 02:03:42]: [EAP03737] Got hit by Dr.Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/06/01 02:03:45]: [EAP03737] Got hit by Dr.Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/06/01 02:03:48]: [OHM07543] Aimed at Josf Meier (EAP03737) with SNS Pistol Mk II. -[info][2025/06/01 02:03:48]: [EAP03737] Got hit by Dr.Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/06/01 02:03:50]: [OHM07543] Aimed at Josf Meier (EAP03737) with SNS Pistol Mk II. -[info][2025/06/01 02:03:52]: [OHM07543] Aimed at Steven Steppenwolf (JQK75222) with SNS Pistol Mk II. -[info][2025/06/01 02:03:52]: [JQK75222] Got hit by Dr.Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/06/01 02:03:53]: [JQK75222] Got hit by Dr.Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/06/01 02:03:57]: [OHM07543] Aimed at Steven Steppenwolf (JQK75222) with SNS Pistol Mk II. -[info][2025/06/01 02:03:59]: [OHM07543] Aimed at Shadow Wuff (ELV21478) with SNS Pistol Mk II. -[info][2025/06/01 02:04:00]: [ELV21478] Got hit by Dr.Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/06/01 02:04:08]: [OHM07543] Aimed at Josf Meier (EAP03737) with SNS Pistol Mk II. -[info][2025/06/01 02:04:09]: [EAP03737] Got hit by Dr.Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/06/01 02:04:11]: [JQK75222] Got hit by Dr.Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/06/01 02:04:12]: [OHM07543] Aimed at Josf Meier (EAP03737) with SNS Pistol Mk II. -[info][2025/06/01 02:04:14]: [OHM07543] Aimed at Josf Meier (EAP03737) with SNS Pistol Mk II. -[info][2025/06/01 02:04:14]: [JQK75222] Got hit by Dr.Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/06/01 02:04:15]: [EAP03737] Got hit by Dr.Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/06/01 02:04:17]: [OHM07543] Aimed at Steven Steppenwolf (JQK75222) with SNS Pistol Mk II. -[info][2025/06/01 02:04:20]: [JQK75222] Aimed at Shadow Wuff (ELV21478) with null. -[info][2025/06/01 02:04:22]: [JQK75222] Aimed at Dr.Demon Campers (OHM07543) with null. -[info][2025/06/01 02:04:26]: [JQK75222] Aimed at Josf Meier (EAP03737) with null. -[info][2025/06/01 02:05:42]: [EAP03737] Got hit by Steven Steppenwolf (JQK75222) with Fist causing 0 damage. -[info][2025/06/01 02:05:44]: [EAP03737] Got hit by Steven Steppenwolf (JQK75222) with Fist causing 21 damage. -[info][2025/06/01 02:05:45]: [EAP03737] Got hit by Steven Steppenwolf (JQK75222) with Fist causing 26 damage. -[info][2025/06/01 02:05:45]: [JQK75222] Got hit by Josf Meier (EAP03737) with Fist causing 21 damage. -[info][2025/06/01 02:05:48]: [JQK75222] Got hit by Josf Meier (EAP03737) with Fist causing 27 damage. -[info][2025/06/01 02:05:49]: [JQK75222] Got hit by Josf Meier (EAP03737) with Fist causing 21 damage. -[info][2025/06/01 02:05:50]: [JQK75222] Got hit by Josf Meier (EAP03737) with Fist causing 0 damage. -[info][2025/06/01 02:05:52]: [JQK75222] Got hit by Josf Meier (EAP03737) with Fist causing 21 damage. -[info][2025/06/01 02:05:53]: [JQK75222] Got killed by Josf Meier (EAP03737) with Fist causing 21 damage. -[info][2025/06/01 02:05:53]: [EAP03737] Got hit by Steven Steppenwolf (JQK75222) with Fist causing 0 damage. -[info][2025/06/01 02:05:57]: [EAP03737] Got hit by Shadow Wuff (ELV21478) with Animal causing 20 damage. -[info][2025/06/01 02:05:58]: [EAP03737] Got hit by Shadow Wuff (ELV21478) with Animal causing 0 damage. -[info][2025/06/01 02:06:02]: [EAP03737] Got hit by Shadow Wuff (ELV21478) with Animal causing 20 damage. -[info][2025/06/01 02:06:04]: [EAP03737] Got hit by Shadow Wuff (ELV21478) with Animal causing 20 damage. -[info][2025/06/01 02:06:05]: [EAP03737] Got hit by Shadow Wuff (ELV21478) with Animal causing 20 damage. -[info][2025/06/01 02:26:10]: [ELV21478] Got hit by Mark Petrol (DSC01606) with Fist causing 26 damage. -[info][2025/06/01 02:26:15]: [EAP03737] Got hit by Dr.Demon Campers (OHM07543) with Fist causing 20 damage. -[info][2025/06/01 02:26:22]: [EAP03737] Got hit by Dr.Demon Campers (OHM07543) with Fist causing 20 damage. -[info][2025/06/01 02:26:24]: [EAP03737] Got hit by Dr.Demon Campers (OHM07543) with Fist causing 25 damage. -[info][2025/06/01 02:26:25]: [EAP03737] Got killed by Dr.Demon Campers (OHM07543) with Fist causing 20 damage. -[info][2025/06/01 02:26:27]: [DSC01606] Got hit by Dr.Demon Campers (OHM07543) with Fist causing 20 damage. -[info][2025/06/01 02:31:00]: [OHM07543] Aimed at Josf Meier (EAP03737) with SNS Pistol Mk II. -[info][2025/06/01 02:31:01]: [EAP03737] Got hit by Dr.Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/06/01 02:31:06]: [OHM07543] Aimed at Josf Meier (EAP03737) with SNS Pistol Mk II. -[info][2025/06/01 02:31:06]: [EAP03737] Got hit by Dr.Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/06/01 02:31:11]: [ELV21478] Got hit by Dr.Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/06/01 02:31:29]: [OHM07543] Got hit by Josf Meier (EAP03737) with Fist causing 21 damage. -[info][2025/06/01 02:31:30]: [OHM07543] Got hit by Josf Meier (EAP03737) with Fist causing 0 damage. -[info][2025/06/01 02:31:32]: [OHM07543] Got hit by Josf Meier (EAP03737) with Fist causing 21 damage. -[info][2025/06/01 02:31:33]: [OHM07543] Got hit by Josf Meier (EAP03737) with Fist causing 21 damage. -[info][2025/06/01 02:31:34]: [OHM07543] Got hit by Josf Meier (EAP03737) with Fist causing 0 damage. -[info][2025/06/01 02:31:35]: [OHM07543] Got hit by Josf Meier (EAP03737) with Fist causing 21 damage. -[info][2025/06/01 02:31:35]: [EAP03737] Got hit by Shadow Wuff (ELV21478) with Animal causing 0 damage. -[info][2025/06/01 02:31:36]: [EAP03737] Got hit by Dr.Demon Campers (OHM07543) with Fist causing 0 damage. -[info][2025/06/01 02:31:36]: [EAP03737] Got hit by Shadow Wuff (ELV21478) with Animal causing 0 damage. -[info][2025/06/01 02:31:37]: [ELV21478] Got hit by Dr.Demon Campers (OHM07543) with Fist causing 25 damage. -[info][2025/06/01 02:31:37]: [EAP03737] Got hit by Dr.Demon Campers (OHM07543) with Fist causing 0 damage. -[info][2025/06/01 02:31:38]: [OHM07543] Got killed by Josf Meier (EAP03737) with Fist causing 21 damage. -[info][2025/06/01 02:31:46]: [EAP03737] Got hit by Shadow Wuff (ELV21478) with Animal causing 0 damage. -[info][2025/06/01 02:31:46]: [OHM07543] Got hit by Shadow Wuff (ELV21478) with Animal causing 20 damage. -[info][2025/06/01 02:31:48]: [ELV21478] Got hit by Josf Meier (EAP03737) with Fist causing 27 damage. -[info][2025/06/01 02:31:50]: [ELV21478] Got hit by Josf Meier (EAP03737) with Fist causing 27 damage. -[info][2025/06/01 02:31:50]: [ELV21478] Got hit by Josf Meier (EAP03737) with Fist causing 27 damage. -[info][2025/06/01 02:31:53]: [EAP03737] Got hit by Shadow Wuff (ELV21478) with Animal causing 0 damage. -[info][2025/06/01 02:31:55]: [EAP03737] Got hit by Shadow Wuff (ELV21478) with Animal causing 0 damage. -[info][2025/06/01 02:31:56]: [EAP03737] Got hit by Shadow Wuff (ELV21478) with Animal causing 0 damage. -[info][2025/06/01 02:32:08]: [EAP03737] Got hit by Shadow Wuff (ELV21478) with Animal causing 0 damage. -[info][2025/06/01 02:32:23]: [OHM07543] Aimed at Josf Meier (EAP03737) with SNS Pistol Mk II. -[info][2025/06/01 02:32:23]: [EAP03737] Got hit by Dr.Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/06/01 02:32:26]: [OHM07543] Aimed at Josf Meier (EAP03737) with SNS Pistol Mk II. -[info][2025/06/01 02:32:26]: [EAP03737] Got hit by Dr.Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/06/01 02:32:28]: [EAP03737] Got hit by Dr.Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/06/01 02:32:30]: [EAP03737] Got hit by Dr.Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/06/01 02:32:31]: [EAP03737] Got hit by Dr.Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/06/01 02:32:46]: [OHM07543] Aimed at Josf Meier (EAP03737) with Heavy Revolver. -[info][2025/06/01 02:32:49]: [EAP03737] Got hit by Shadow Wuff (ELV21478) with Animal causing 0 damage. -[info][2025/06/01 02:32:51]: [OHM07543] Got hit by Josf Meier (EAP03737) with Fist causing 21 damage. -[info][2025/06/01 02:32:52]: [OHM07543] Got hit by Josf Meier (EAP03737) with Fist causing 21 damage. -[info][2025/06/01 02:32:55]: [EAP03737] Got hit by Shadow Wuff (ELV21478) with Animal causing 0 damage. -[info][2025/06/01 02:32:58]: [OHM07543] Aimed at Josf Meier (EAP03737) with SNS Pistol Mk II. -[info][2025/06/01 02:33:01]: [OHM07543] Aimed at Josf Meier (EAP03737) with SNS Pistol Mk II. -[info][2025/06/01 02:33:03]: [EAP03737] Got hit by Shadow Wuff (ELV21478) with Animal causing 0 damage. -[info][2025/06/01 02:33:04]: [EAP03737] Got hit by Shadow Wuff (ELV21478) with Animal causing 0 damage. -[info][2025/06/01 02:33:06]: [OHM07543] Aimed at Josf Meier (EAP03737) with SNS Pistol Mk II. -[info][2025/06/01 02:33:06]: [EAP03737] Got hit by Dr.Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/06/01 02:33:08]: [OHM07543] Aimed at Josf Meier (EAP03737) with SNS Pistol Mk II. -[info][2025/06/01 02:33:09]: [EAP03737] Got hit by Shadow Wuff (ELV21478) with Animal causing 0 damage. -[info][2025/06/01 02:33:10]: [EAP03737] Got hit by Dr.Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/06/01 02:33:13]: [EAP03737] Got hit by Shadow Wuff (ELV21478) with Animal causing 0 damage. -[info][2025/06/01 02:33:13]: [ELV21478] Got hit by Dr.Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/06/01 02:33:14]: [OHM07543] Aimed at Josf Meier (EAP03737) with SNS Pistol Mk II. -[info][2025/06/01 02:33:16]: [OHM07543] Got hit by Josf Meier (EAP03737) with Fist causing 21 damage. -[info][2025/06/01 02:33:20]: [EAP03737] Got hit by Shadow Wuff (ELV21478) with Animal causing 0 damage. -[info][2025/06/01 02:33:20]: [OHM07543] Aimed at Josf Meier (EAP03737) with SNS Pistol Mk II. -[info][2025/06/01 02:33:21]: [EAP03737] Got hit by Shadow Wuff (ELV21478) with Animal causing 0 damage. -[info][2025/06/01 02:33:22]: [EAP03737] Got hit by Dr.Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/06/01 02:33:29]: [EAP03737] Got hit by Dr.Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/06/01 02:33:30]: [OHM07543] Aimed at Shadow Wuff (ELV21478) with SNS Pistol Mk II. -[info][2025/06/01 02:33:41]: [OHM07543] Aimed at Josf Meier (EAP03737) with Heavy Revolver. -[info][2025/06/01 02:33:42]: [EAP03737] Got hit by Shadow Wuff (ELV21478) with Animal causing 20 damage. -[info][2025/06/01 02:33:43]: [EAP03737] Got hit by Shadow Wuff (ELV21478) with Animal causing 20 damage. -[info][2025/06/01 02:33:44]: [OHM07543] Aimed at Josf Meier (EAP03737) with Heavy Revolver. -[info][2025/06/01 02:33:44]: [EAP03737] Got killed by Dr.Demon Campers (OHM07543) with Heavy Revolver causing 875 damage. -[info][2025/06/01 02:33:46]: [OHM07543] Aimed at Josf Meier (EAP03737) with Heavy Revolver. -[info][2025/06/01 02:35:18]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/06/01 02:35:19]: [OHM07543] campers requested player vehicles. -[info][2025/06/01 03:03:40]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/06/01 03:03:47]: [ELV21478] campers requested Shadow Wuff. -[info][2025/06/01 03:03:50]: [ELV21478] campers changed meta thirst for Shadow Wuff to 100. -[info][2025/06/01 03:03:50]: [ELV21478] campers requested Shadow Wuff. -[info][2025/06/01 03:03:50]: [ELV21478] campers changed meta hunger for Shadow Wuff to 100. -[info][2025/06/01 03:03:50]: [ELV21478] campers requested Shadow Wuff. -[info][2025/06/01 03:04:02]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/06/01 03:04:04]: [OHM07543] campers changed meta thirst for Dr.Demon Campers to 100. -[info][2025/06/01 03:04:04]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/06/01 03:04:05]: [OHM07543] campers changed meta hunger for Dr.Demon Campers to 100. -[info][2025/06/01 03:04:05]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/06/01 03:04:06]: [OHM07543] campers changed meta armor for Dr.Demon Campers to 100. -[info][2025/06/01 03:04:06]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/06/01 03:04:18]: [DSC01606] campers requested Mark Petrol. -[info][2025/06/01 03:04:22]: [DSC01606] campers changed meta thirst for Mark Petrol to 100. -[info][2025/06/01 03:04:22]: [DSC01606] campers requested Mark Petrol. -[info][2025/06/01 03:04:22]: [DSC01606] campers changed meta hunger for Mark Petrol to 100. -[info][2025/06/01 03:04:22]: [DSC01606] campers requested Mark Petrol. -[info][2025/06/01 03:04:23]: [DSC01606] campers changed meta armor for Mark Petrol to 100. -[info][2025/06/01 03:04:23]: [DSC01606] campers requested Mark Petrol. -[info][2025/06/01 03:04:36]: [ELV21478] Got hit by Dr.Demon Campers (OHM07543) with Fist causing 25 damage. -[info][2025/06/01 11:39:41]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/01 11:39:51]: [JCQ27225] nordi changed job to admin 0 for Dr.Kimberly Smith. -[info][2025/06/01 11:39:51]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/01 13:06:11]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/01 13:06:12]: [JCQ27225] nordi requested player vehicles. -[info][2025/06/01 13:07:48]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/01 13:07:49]: [JCQ27225] nordi requested player vehicles. -[info][2025/06/01 13:08:07]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/01 13:08:08]: [JCQ27225] nordi requested player vehicles. -[info][2025/06/01 13:08:37]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/01 13:08:39]: [JCQ27225] nordi requested player vehicles. -[info][2025/06/01 13:08:56]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/01 13:08:58]: [JCQ27225] nordi requested player vehicles. -[info][2025/06/01 13:09:41]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/01 13:09:42]: [JCQ27225] nordi requested player vehicles. -[info][2025/06/01 13:10:14]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/01 13:10:24]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/01 13:10:35]: [JCQ27225] nordi requested player vehicles. -[info][2025/06/01 13:15:13]: [GNR11868] Got hit by Dr.Demon Campers (OHM07543) with Fist causing 16 damage. -[info][2025/06/01 13:15:14]: [GNR11868] Got hit by Dr.Demon Campers (OHM07543) with Fist causing 16 damage. -[info][2025/06/01 13:15:15]: [GNR11868] Got hit by Dr.Demon Campers (OHM07543) with Fist causing 16 damage. -[info][2025/06/01 13:15:19]: [GNR11868] Got hit by Amy Ann (GNR11868) with Fist causing 16 damage. -[info][2025/06/01 14:33:57]: [DYW89109] rockit requested Connor Garrison. -[info][2025/06/01 14:33:58]: [DYW89109] rockit requested player vehicles. -[info][2025/06/01 14:36:09]: [DYW89109] rockit requested Connor Garrison. -[info][2025/06/01 14:36:12]: [DYW89109] rockit changed meta thirst for Connor Garrison to 100. -[info][2025/06/01 14:36:12]: [DYW89109] rockit requested Connor Garrison. -[info][2025/06/01 14:36:13]: [DYW89109] rockit changed meta hunger for Connor Garrison to 100. -[info][2025/06/01 14:36:13]: [DYW89109] rockit requested Connor Garrison. -[info][2025/06/01 14:37:28]: [EAP03737] Got hit by Dr.Demon Campers (OHM07543) with Fist causing 0 damage. -[info][2025/06/01 18:18:05]: [DYW89109] rockit requested Connor Garrison. -[info][2025/06/01 18:20:02]: [DYW89109] rockit requested Connor Garrison. -[info][2025/06/01 18:49:48]: [DUD53794] tim requested Frank Castle. -[info][2025/06/01 18:49:52]: [AOJ19157] tim requested Dr.Seppl McCollin. -[info][2025/06/01 18:49:53]: [AOJ19157] tim healed Dr.Seppl McCollin. -[info][2025/06/01 18:49:53]: [AOJ19157] tim requested Dr.Seppl McCollin. -[info][2025/06/01 18:49:54]: [AOJ19157] tim changed meta thirst for Dr.Seppl McCollin to 100. -[info][2025/06/01 18:49:54]: [AOJ19157] tim requested Dr.Seppl McCollin. -[info][2025/06/01 18:49:54]: [AOJ19157] tim changed meta hunger for Dr.Seppl McCollin to 100. -[info][2025/06/01 18:49:54]: [AOJ19157] tim requested Dr.Seppl McCollin. -[info][2025/06/01 18:49:55]: [AOJ19157] tim changed meta armor for Dr.Seppl McCollin to 100. -[info][2025/06/01 18:49:55]: [AOJ19157] tim requested Dr.Seppl McCollin. -[info][2025/06/01 18:49:56]: [AOJ19157] tim changed meta stress for Dr.Seppl McCollin to 0. -[info][2025/06/01 18:49:56]: [AOJ19157] tim requested Dr.Seppl McCollin. -[info][2025/06/01 19:59:40]: [TEY39086] tim requested Martino Alverest. -[info][2025/06/01 19:59:45]: [TEY39086] tim changed bucket for Martino Alverest to 1. -[info][2025/06/01 19:59:45]: [TEY39086] tim requested Martino Alverest. -[info][2025/06/01 19:59:48]: [TEY39086] tim changed bucket for Martino Alverest to 0. -[info][2025/06/01 19:59:48]: [TEY39086] tim requested Martino Alverest. -[info][2025/06/01 21:04:10]: [GNR11868] Got hit by Amy Ann (GNR11868) with Fist causing 16 damage. -[info][2025/06/01 21:24:19]: [JCQ27225] Got hit by Mark Petrol (DSC01606) with Fist causing 21 damage. -[info][2025/06/01 21:24:20]: [JCQ27225] Got hit by Mark Petrol (DSC01606) with Fist causing 0 damage. -[info][2025/06/01 21:24:22]: [JCQ27225] Got hit by Mark Petrol (DSC01606) with Fist causing 21 damage. -[info][2025/06/01 21:24:23]: [JCQ27225] Got hit by Mark Petrol (DSC01606) with Fist causing 21 damage. -[info][2025/06/01 21:24:25]: [JCQ27225] Got hit by Mark Petrol (DSC01606) with Fist causing 21 damage. -[info][2025/06/01 21:25:03]: [OHM07543] Aimed at Dr.Kimberly Smith (JCQ27225) with Heavy Revolver. -[info][2025/06/01 21:25:05]: [JCQ27225] Got killed by Dr.Demon Campers (OHM07543) with Heavy Revolver causing 2797 damage. -[info][2025/06/01 21:42:23]: [JCQ27225] Got hit by Dr.Kimberly Smith (JCQ27225) with Fist causing 16 damage. -[info][2025/06/01 23:12:57]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/06/01 23:13:01]: [OHM07543] campers changed meta thirst for Dr.Demon Campers to 100. -[info][2025/06/01 23:13:01]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/06/01 23:13:02]: [OHM07543] campers changed meta hunger for Dr.Demon Campers to 100. -[info][2025/06/01 23:13:02]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/06/02 00:12:13]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/06/02 00:16:45]: [GNR11868] Got hit by Shadow Wuff (ELV21478) with Animal causing 22 damage. -[info][2025/06/02 00:22:59]: [GNR11868] max requested Amy Ann. -[info][2025/06/02 00:23:08]: [GNR11868] max viewed inventory. -[info][2025/06/02 00:23:30]: [GNR11868] max added 1x kq_outfitbag to inventory. -[info][2025/06/02 00:23:39]: [ELV21478] max requested Shadow Wuff. -[info][2025/06/02 00:23:53]: [ELV21478] max viewed inventory. -[info][2025/06/02 00:24:07]: [ELV21478] max added 1x kq_outfitbag to inventory. -[info][2025/06/02 00:38:01]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/06/02 00:38:03]: [OHM07543] campers healed Dr.Demon Campers. -[info][2025/06/02 00:38:03]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/06/02 00:38:04]: [OHM07543] campers changed meta thirst for Dr.Demon Campers to 100. -[info][2025/06/02 00:38:04]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/06/02 00:38:04]: [OHM07543] campers changed meta hunger for Dr.Demon Campers to 100. -[info][2025/06/02 00:38:04]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/06/02 00:41:19]: [DSC01606] max requested Mark Petrol. -[info][2025/06/02 00:41:25]: [DSC01606] max changed meta thirst for Mark Petrol to 100. -[info][2025/06/02 00:41:25]: [DSC01606] max requested Mark Petrol. -[info][2025/06/02 00:41:26]: [DSC01606] max changed meta hunger for Mark Petrol to 100. -[info][2025/06/02 00:41:26]: [DSC01606] max requested Mark Petrol. -[info][2025/06/02 00:41:46]: [OHM07543] max requested Dr.Demon Campers. -[info][2025/06/02 00:50:45]: [JQK75222] Got hit by Steven Steppenwolf (JQK75222) with Fist causing 22 damage. -[info][2025/06/02 11:29:51]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/02 11:29:57]: [NAJ08324] mark changed meta hunger for Alfred Monak to 100. -[info][2025/06/02 11:29:57]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/02 11:29:57]: [NAJ08324] mark changed meta thirst for Alfred Monak to 100. -[info][2025/06/02 11:29:57]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/02 11:29:58]: [NAJ08324] mark healed Alfred Monak. -[info][2025/06/02 11:29:58]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/02 11:29:58]: [NAJ08324] mark healed Alfred Monak. -[info][2025/06/02 11:29:58]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/02 11:30:02]: [NAJ08324] mark requested player vehicles. -[info][2025/06/02 11:35:58]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/02 11:36:00]: [NAJ08324] mark changed meta hunger for Alfred Monak to 100. -[info][2025/06/02 11:36:01]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/02 11:36:01]: [NAJ08324] mark changed meta thirst for Alfred Monak to 100. -[info][2025/06/02 11:36:01]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/02 11:36:01]: [NAJ08324] mark healed Alfred Monak. -[info][2025/06/02 11:36:01]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/02 11:36:01]: [NAJ08324] mark healed Alfred Monak. -[info][2025/06/02 11:36:02]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/02 11:47:43]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/02 11:52:09]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/02 11:52:14]: [NAJ08324] mark viewed inventory. -[info][2025/06/02 11:52:20]: [NAJ08324] mark swaped item doener from Player-Inventory slot 14 with item doener from Player-Inventory slot 15 in inventory. -[info][2025/06/02 11:52:23]: [NAJ08324] mark deleted item doener from Player-Inventory slot 15 in inventory. -[info][2025/06/02 11:52:24]: [NAJ08324] mark deleted item doener from Player-Inventory slot 14 in inventory. -[info][2025/06/02 11:52:28]: [NAJ08324] mark deleted item doener from Player-Inventory slot 10 in inventory. -[info][2025/06/02 11:52:30]: [NAJ08324] mark deleted item doener from Player-Inventory slot 9 in inventory. -[info][2025/06/02 11:52:32]: [NAJ08324] mark deleted item doener from Player-Inventory slot 8 in inventory. -[info][2025/06/02 11:52:34]: [NAJ08324] mark deleted item doener from Player-Inventory slot 7 in inventory. -[info][2025/06/02 11:52:36]: [NAJ08324] mark deleted item doener from Player-Inventory slot 6 in inventory. -[info][2025/06/02 11:52:38]: [NAJ08324] mark deleted item doener from Player-Inventory slot 5 in inventory. -[info][2025/06/02 11:52:40]: [NAJ08324] mark deleted item doener from Player-Inventory slot 4 in inventory. -[info][2025/06/02 11:52:42]: [NAJ08324] mark deleted item doener from Player-Inventory slot 3 in inventory. -[info][2025/06/02 11:52:44]: [NAJ08324] mark cleared inventory. -[info][2025/06/02 11:52:55]: [NAJ08324] mark cleared inventory. -[info][2025/06/02 11:53:07]: [NAJ08324] mark cleared inventory. -[info][2025/06/02 11:56:15]: [NAJ08324] mark cleared inventory. -[info][2025/06/02 12:32:50]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/02 12:32:53]: [NAJ08324] mark changed meta thirst for Alfred Monak to 100. -[info][2025/06/02 12:32:53]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/02 12:32:53]: [NAJ08324] mark changed meta hunger for Alfred Monak to 100. -[info][2025/06/02 12:32:53]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/02 12:32:58]: [NAJ08324] mark requested player vehicles. -[info][2025/06/02 12:33:22]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/02 12:33:24]: [NAJ08324] mark requested player vehicles. -[info][2025/06/02 19:32:04]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/02 19:32:07]: [NAJ08324] mark changed meta hunger for Alfred Monak to 100. -[info][2025/06/02 19:32:07]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/02 19:32:08]: [NAJ08324] mark changed meta thirst for Alfred Monak to 100. -[info][2025/06/02 19:32:08]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/02 19:32:08]: [NAJ08324] mark healed Alfred Monak. -[info][2025/06/02 19:32:08]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/02 19:32:10]: [NAJ08324] mark requested player vehicles. -[info][2025/06/02 20:34:41]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/02 23:11:16]: [REB37300] campers requested Alex Scipo. -[info][2025/06/03 00:38:42]: [OHM07543] Got hit by Dr.Demon Campers (OHM07543) with Fist causing 17 damage. -[info][2025/06/03 00:38:43]: [OHM07543] Got hit by Dr.Demon Campers (OHM07543) with Fist causing 17 damage. -[info][2025/06/03 00:38:44]: [OHM07543] Got hit by Dr.Demon Campers (OHM07543) with Fist causing 17 damage. -[info][2025/06/03 00:40:34]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/06/03 00:40:37]: [OHM07543] campers viewed inventory. -[info][2025/06/03 00:40:49]: [OHM07543] campers added 1x armor to inventory. -[info][2025/06/03 00:42:45]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/06/03 00:42:46]: [OHM07543] campers requested player vehicles. -[info][2025/06/03 00:42:56]: [OHM07543] campers requested player vehicles. -[info][2025/06/03 00:43:26]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/06/03 12:28:25]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/03 18:04:10]: [DYW89109] rockit requested Connor Garrison. -[info][2025/06/03 18:04:12]: [DYW89109] rockit changed meta thirst for Connor Garrison to 100. -[info][2025/06/03 18:04:12]: [DYW89109] rockit requested Connor Garrison. -[info][2025/06/03 18:04:12]: [DYW89109] rockit changed meta hunger for Connor Garrison to 100. -[info][2025/06/03 18:04:12]: [DYW89109] rockit requested Connor Garrison. -[info][2025/06/03 18:44:41]: [DYW89109] rockit requested Connor Garrison. -[info][2025/06/03 18:44:45]: [DYW89109] rockit changed meta thirst for Connor Garrison to 100. -[info][2025/06/03 18:44:45]: [DYW89109] rockit requested Connor Garrison. -[info][2025/06/03 18:44:46]: [DYW89109] rockit changed meta hunger for Connor Garrison to 100. -[info][2025/06/03 18:44:46]: [DYW89109] rockit requested Connor Garrison. -[info][2025/06/03 18:44:47]: [DYW89109] rockit healed Connor Garrison. -[info][2025/06/03 18:44:47]: [DYW89109] rockit requested Connor Garrison. -[info][2025/06/03 18:44:49]: [DYW89109] rockit healed Connor Garrison. -[info][2025/06/03 18:44:49]: [DYW89109] rockit requested Connor Garrison. -[info][2025/06/03 18:44:50]: [DYW89109] rockit changed meta thirst for Connor Garrison to 100. -[info][2025/06/03 18:44:50]: [DYW89109] rockit requested Connor Garrison. -[info][2025/06/03 19:06:56]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/03 19:07:06]: [JCQ27225] nordi gave 12000 cash to Dr.Kimberly Smith. -[info][2025/06/03 19:07:06]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/03 21:18:09]: [REB37300] max requested Alex Scipo. -[info][2025/06/03 21:18:14]: [REB37300] max changed meta thirst for Alex Scipo to 100. -[info][2025/06/03 21:18:14]: [REB37300] max requested Alex Scipo. -[info][2025/06/03 21:18:15]: [REB37300] max changed meta hunger for Alex Scipo to 100. -[info][2025/06/03 21:18:15]: [REB37300] max requested Alex Scipo. -[info][2025/06/03 21:58:02]: [JCQ27225] Aimed at Josf Meier (EAP03737) with Carbine Rifle. -[info][2025/06/03 22:00:54]: [EAP03737] Got hit by Dr.Kimberly Smith (JCQ27225) with Fist causing 21 damage. -[info][2025/06/03 22:14:20]: [JCQ27225] Got hit by Josf Meier (EAP03737) with Fist causing 21 damage. -[info][2025/06/03 22:28:15]: [EAP03737] Got hit by Dr.Kimberly Smith (JCQ27225) with Fist causing 21 damage. -[info][2025/06/03 22:47:37]: [REB37300] max requested Alex Scipo. -[info][2025/06/03 22:47:41]: [REB37300] max changed meta thirst for Alex Scipo to 100. -[info][2025/06/03 22:47:41]: [REB37300] max requested Alex Scipo. -[info][2025/06/03 22:47:42]: [REB37300] max changed meta hunger for Alex Scipo to 100. -[info][2025/06/03 22:47:42]: [REB37300] max requested Alex Scipo. -[info][2025/06/03 22:47:56]: [JCQ27225] max requested Dr.Kimberly Smith. -[info][2025/06/03 22:48:00]: [JCQ27225] max changed meta thirst for Dr.Kimberly Smith to 100. -[info][2025/06/03 22:48:00]: [JCQ27225] max requested Dr.Kimberly Smith. -[info][2025/06/03 22:48:01]: [JCQ27225] max changed meta hunger for Dr.Kimberly Smith to 100. -[info][2025/06/03 22:48:01]: [JCQ27225] max requested Dr.Kimberly Smith. -[info][2025/06/03 22:48:10]: [EAP03737] max requested Josf Meier. -[info][2025/06/03 22:48:14]: [EAP03737] max changed meta thirst for Josf Meier to 100. -[info][2025/06/03 22:48:14]: [EAP03737] max requested Josf Meier. -[info][2025/06/03 22:48:14]: [EAP03737] max changed meta hunger for Josf Meier to 100. -[info][2025/06/03 22:48:14]: [EAP03737] max requested Josf Meier. -[info][2025/06/03 22:48:23]: [EAP03737] max changed meta stress for Josf Meier to 0. -[info][2025/06/03 22:48:23]: [EAP03737] max requested Josf Meier. -[info][2025/06/04 00:14:52]: [EAP03737] Got hit by Josf Meier (EAP03737) with undefined causing 0 damage. -[info][2025/06/04 00:14:55]: [EAP03737] Got hit by Josf Meier (EAP03737) with undefined causing 0 damage. -[info][2025/06/04 00:15:02]: [EAP03737] Got hit by Josf Meier (EAP03737) with Animal causing 0 damage. -[info][2025/06/04 00:15:02]: [EAP03737] Got hit by Josf Meier (EAP03737) with undefined causing 0 damage. -[info][2025/06/04 00:15:04]: [EAP03737] Got hit by Josf Meier (EAP03737) with Animal causing 0 damage. -[info][2025/06/04 00:15:06]: [EAP03737] Got hit by Josf Meier (EAP03737) with undefined causing 0 damage. -[info][2025/06/04 00:15:08]: [EAP03737] Got hit by Josf Meier (EAP03737) with Fist causing 0 damage. -[info][2025/06/04 00:15:09]: [EAP03737] Got hit by Josf Meier (EAP03737) with undefined causing 0 damage. -[info][2025/06/04 00:15:11]: [EAP03737] Got hit by Josf Meier (EAP03737) with Fist causing 0 damage. -[info][2025/06/04 00:15:15]: [EAP03737] Got hit by Josf Meier (EAP03737) with Animal causing 0 damage. -[info][2025/06/04 00:15:16]: [EAP03737] Got hit by Josf Meier (EAP03737) with Animal causing 0 damage. -[info][2025/06/04 00:15:50]: [EAP03737] Got hit by Josf Meier (EAP03737) with Animal causing 0 damage. -[info][2025/06/04 00:51:49]: [OHM07543] Got killed by Amy Ann (GNR11868) with Fist causing 0 damage. -[info][2025/06/04 00:55:37]: [DSC01606] Got hit by Josf Meier (EAP03737) with Fist causing 0 damage. -[info][2025/06/04 00:55:42]: [DSC01606] Got hit by Josf Meier (EAP03737) with Fist causing 20 damage. -[info][2025/06/04 00:55:43]: [DSC01606] Got hit by Josf Meier (EAP03737) with Fist causing 20 damage. -[info][2025/06/04 00:55:44]: [DSC01606] Got hit by Josf Meier (EAP03737) with Fist causing 0 damage. -[info][2025/06/04 00:55:45]: [DSC01606] Got hit by Josf Meier (EAP03737) with Fist causing 20 damage. -[info][2025/06/04 00:55:47]: [DSC01606] Got hit by Josf Meier (EAP03737) with Fist causing 20 damage. -[info][2025/06/04 00:56:48]: [EAP03737] Got hit by Mark Petrol (DSC01606) with Fist causing 21 damage. -[info][2025/06/04 00:56:49]: [EAP03737] Got hit by Mark Petrol (DSC01606) with Fist causing 0 damage. -[info][2025/06/04 00:56:50]: [EAP03737] Got hit by Mark Petrol (DSC01606) with Fist causing 21 damage. -[info][2025/06/04 00:56:51]: [EAP03737] Got hit by Mark Petrol (DSC01606) with Fist causing 21 damage. -[info][2025/06/04 00:56:52]: [EAP03737] Got hit by Mark Petrol (DSC01606) with Fist causing 26 damage. -[info][2025/06/04 01:07:18]: [OHM07543] Aimed at Josf Meier (EAP03737) with Heavy Revolver. -[info][2025/06/04 01:07:19]: [EAP03737] Got killed by Dr.Demon Campers (OHM07543) with Heavy Revolver causing 3028 damage. -[info][2025/06/04 01:07:27]: [JCQ27225] Aimed at Dr.Demon Campers (OHM07543) with Carbine Rifle. -[info][2025/06/04 01:07:27]: [OHM07543] Got killed by Dr.Kimberly Smith (JCQ27225) with Carbine Rifle causing 586 damage. -[info][2025/06/04 01:07:29]: [REB37300] Got killed by Dr.Kimberly Smith (JCQ27225) with Carbine Rifle causing 357 damage. -[info][2025/06/04 01:07:29]: [JCQ27225] Aimed at Alex Scipo (REB37300) with Carbine Rifle. -[info][2025/06/04 01:07:31]: [JCQ27225] Aimed at Josf Meier (EAP03737) with Carbine Rifle. -[info][2025/06/04 01:07:32]: [EAP03737] Got hit by Dr.Kimberly Smith (JCQ27225) with Carbine Rifle causing 18 damage. -[info][2025/06/04 01:07:33]: [EAP03737] Got hit by Dr.Kimberly Smith (JCQ27225) with Carbine Rifle causing 18 damage. -[info][2025/06/04 01:07:33]: [EAP03737] Got hit by Dr.Kimberly Smith (JCQ27225) with Carbine Rifle causing 18 damage. -[info][2025/06/04 01:07:33]: [EAP03737] Got hit by Dr.Kimberly Smith (JCQ27225) with Carbine Rifle causing 18 damage. -[info][2025/06/04 01:07:33]: [EAP03737] Got hit by Dr.Kimberly Smith (JCQ27225) with Carbine Rifle causing 18 damage. -[info][2025/06/04 01:07:34]: [EAP03737] Got hit by Dr.Kimberly Smith (JCQ27225) with Carbine Rifle causing 18 damage. -[info][2025/06/04 01:07:34]: [EAP03737] Got hit by Dr.Kimberly Smith (JCQ27225) with Carbine Rifle causing 18 damage. -[info][2025/06/04 01:07:34]: [EAP03737] Got killed by Dr.Kimberly Smith (JCQ27225) with Carbine Rifle causing 18 damage. -[info][2025/06/04 01:07:34]: [OHM07543] Aimed at Dr.Kimberly Smith (JCQ27225) with Heavy Revolver. -[info][2025/06/04 01:07:36]: [OHM07543] Got hit by Dr.Kimberly Smith (JCQ27225) with Carbine Rifle causing 18 damage. -[info][2025/06/04 01:07:36]: [OHM07543] Got hit by Dr.Kimberly Smith (JCQ27225) with Carbine Rifle causing 18 damage. -[info][2025/06/04 01:07:36]: [OHM07543] Got hit by Dr.Kimberly Smith (JCQ27225) with Carbine Rifle causing 18 damage. -[info][2025/06/04 01:07:36]: [OHM07543] Got hit by Dr.Kimberly Smith (JCQ27225) with Carbine Rifle causing 18 damage. -[info][2025/06/04 01:07:36]: [OHM07543] Got hit by Dr.Kimberly Smith (JCQ27225) with Carbine Rifle causing 18 damage. -[info][2025/06/04 01:07:36]: [JCQ27225] Aimed at Dr.Demon Campers (OHM07543) with Carbine Rifle. -[info][2025/06/04 01:07:38]: [OHM07543] Aimed at Dr.Kimberly Smith (JCQ27225) with Heavy Revolver. -[info][2025/06/04 01:07:39]: [JCQ27225] Aimed at Dr.Demon Campers (OHM07543) with Carbine Rifle. -[info][2025/06/04 01:07:40]: [JCQ27225] Got hit by Dr.Demon Campers (OHM07543) with Heavy Revolver causing 47 damage. -[info][2025/06/04 01:07:41]: [OHM07543] Got killed by Dr.Kimberly Smith (JCQ27225) with Carbine Rifle causing 18 damage. -[info][2025/06/04 01:07:41]: [OHM07543] Got killed by Dr.Kimberly Smith (JCQ27225) with Carbine Rifle causing 18 damage. -[info][2025/06/04 01:07:41]: [OHM07543] Got hit by Dr.Kimberly Smith (JCQ27225) with Carbine Rifle causing 0 damage. -[info][2025/06/04 01:07:41]: [JCQ27225] Aimed at Dr.Demon Campers (OHM07543) with Carbine Rifle. -[info][2025/06/04 01:08:03]: [OHM07543] Aimed at Dr.Kimberly Smith (JCQ27225) with Heavy Revolver. -[info][2025/06/04 01:08:04]: [JCQ27225] Got killed by Dr.Demon Campers (OHM07543) with Heavy Revolver causing 803 damage. -[info][2025/06/04 01:09:10]: [JCQ27225] Got hit by Alex Scipo (REB37300) with Fist causing 25 damage. -[info][2025/06/04 01:46:09]: [EAP03737] Got hit by Dr.Kimberly Smith (JCQ27225) with Fist causing 20 damage. -[info][2025/06/04 12:03:20]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/04 12:03:22]: [NAJ08324] mark requested player vehicles. -[info][2025/06/04 12:21:18]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/04 12:21:21]: [NAJ08324] mark changed meta hunger for Alfred Monak to 100. -[info][2025/06/04 12:21:21]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/04 12:21:21]: [NAJ08324] mark changed meta thirst for Alfred Monak to 100. -[info][2025/06/04 12:21:21]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/04 12:21:21]: [NAJ08324] mark healed Alfred Monak. -[info][2025/06/04 12:21:21]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/04 12:21:23]: [NAJ08324] mark healed Alfred Monak. -[info][2025/06/04 12:21:23]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/04 12:21:27]: [NAJ08324] mark changed meta stress for Alfred Monak to 0. -[info][2025/06/04 12:21:27]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/04 12:21:28]: [NAJ08324] mark changed meta armor for Alfred Monak to 100. -[info][2025/06/04 12:21:28]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/04 14:20:44]: [REB37300] Got hit by Alex Scipo (REB37300) with Fist causing 14 damage. -[info][2025/06/04 16:09:04]: [DSC01606] max requested Mark Petrol. -[info][2025/06/04 16:09:09]: [DSC01606] max changed meta thirst for Mark Petrol to 100. -[info][2025/06/04 16:09:09]: [DSC01606] max requested Mark Petrol. -[info][2025/06/04 16:09:10]: [DSC01606] max changed meta hunger for Mark Petrol to 100. -[info][2025/06/04 16:09:10]: [DSC01606] max requested Mark Petrol. -[info][2025/06/04 18:45:55]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/04 18:45:57]: [NAJ08324] mark requested player vehicles. -[info][2025/06/04 19:15:29]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/04 19:15:30]: [NAJ08324] mark requested player vehicles. -[info][2025/06/04 19:30:20]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/04 19:30:22]: [NAJ08324] mark requested player vehicles. -[info][2025/06/04 19:37:39]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/04 20:49:31]: [JCQ27225] Aimed at Josf Meier (EAP03737) with null. -[info][2025/06/04 20:49:32]: [EAP03737] Got hit by Dr.Kimberly Smith (JCQ27225) with undefined causing 1 damage. -[info][2025/06/04 20:49:54]: [JCQ27225] Aimed at Josf Meier (EAP03737) with null. -[info][2025/06/04 20:49:55]: [EAP03737] Got hit by Dr.Kimberly Smith (JCQ27225) with undefined causing 0 damage. -[info][2025/06/04 20:50:09]: [JCQ27225] Aimed at Josf Meier (EAP03737) with null. -[info][2025/06/04 20:50:12]: [EAP03737] Got hit by Dr.Kimberly Smith (JCQ27225) with undefined causing 0 damage. -[info][2025/06/04 21:27:11]: [UGO12804] max requested Mark Petrol. -[info][2025/06/05 01:28:24]: [REB37300] max requested Alex Scipo. -[info][2025/06/05 01:28:41]: [REB37300] max requested Alex Scipo. -[info][2025/06/05 01:28:46]: [REB37300] max changed meta thirst for Alex Scipo to 100. -[info][2025/06/05 01:28:46]: [REB37300] max requested Alex Scipo. -[info][2025/06/05 01:28:47]: [REB37300] max changed meta hunger for Alex Scipo to 100. -[info][2025/06/05 01:28:47]: [REB37300] max requested Alex Scipo. -[info][2025/06/05 11:45:26]: [NAJ08324] Aimed at Dr.Kimberly Smith (JCQ27225) with AP Pistol. -[info][2025/06/05 11:45:30]: [JCQ27225] Got killed by Alfred Monak (NAJ08324) with AP Pistol causing 132 damage. -[info][2025/06/05 11:45:32]: [NAJ08324] Aimed at Dr.Kimberly Smith (JCQ27225) with AP Pistol. -[info][2025/06/05 11:45:35]: [NAJ08324] Aimed at Dr.Kimberly Smith (JCQ27225) with Pistol. -[info][2025/06/05 11:45:36]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with Pistol causing 0 damage. -[info][2025/06/05 11:45:36]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with Pistol causing 0 damage. -[info][2025/06/05 11:45:36]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with Pistol causing 0 damage. -[info][2025/06/05 11:45:37]: [NAJ08324] Aimed at Dr.Kimberly Smith (JCQ27225) with Pistol. -[info][2025/06/05 11:45:37]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with Pistol causing 0 damage. -[info][2025/06/05 11:45:37]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with Pistol causing 0 damage. -[info][2025/06/05 11:45:37]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with Pistol causing 0 damage. -[info][2025/06/05 11:45:37]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with Pistol causing 0 damage. -[info][2025/06/05 11:46:47]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with Pistol causing 0 damage. -[info][2025/06/05 11:46:47]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with Pistol causing 0 damage. -[info][2025/06/05 11:46:47]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with Pistol causing 0 damage. -[info][2025/06/05 11:46:48]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with Pistol causing 0 damage. -[info][2025/06/05 11:46:48]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with Pistol causing 0 damage. -[info][2025/06/05 11:46:48]: [NAJ08324] Aimed at Dr.Kimberly Smith (JCQ27225) with Pistol. -[info][2025/06/05 11:46:48]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with Pistol causing 0 damage. -[info][2025/06/05 11:46:49]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with Pistol causing 0 damage. -[info][2025/06/05 11:46:49]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with Pistol causing 0 damage. -[info][2025/06/05 11:46:49]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with Pistol causing 0 damage. -[info][2025/06/05 11:46:49]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with Pistol causing 0 damage. -[info][2025/06/05 11:46:50]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with Pistol causing 0 damage. -[info][2025/06/05 11:46:52]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with Pistol causing 0 damage. -[info][2025/06/05 11:46:55]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with Pistol causing 0 damage. -[info][2025/06/05 11:46:55]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with Pistol causing 0 damage. -[info][2025/06/05 11:46:56]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with Pistol causing 0 damage. -[info][2025/06/05 11:46:56]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with Pistol causing 0 damage. -[info][2025/06/05 11:46:56]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with Pistol causing 0 damage. -[info][2025/06/05 11:46:56]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with Pistol causing 0 damage. -[info][2025/06/05 11:46:57]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with Pistol causing 0 damage. -[info][2025/06/05 11:46:57]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with Pistol causing 0 damage. -[info][2025/06/05 11:46:57]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with Pistol causing 0 damage. -[info][2025/06/05 11:46:57]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with Pistol causing 0 damage. -[info][2025/06/05 11:46:58]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with Pistol causing 0 damage. -[info][2025/06/05 11:47:06]: [NAJ08324] Aimed at Dr.Kimberly Smith (JCQ27225) with AP Pistol. -[info][2025/06/05 11:47:07]: [JCQ27225] Got killed by Alfred Monak (NAJ08324) with AP Pistol causing 132 damage. -[info][2025/06/05 11:47:07]: [JCQ27225] Got killed by Alfred Monak (NAJ08324) with AP Pistol causing 132 damage. -[info][2025/06/05 11:47:07]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with AP Pistol causing 0 damage. -[info][2025/06/05 11:47:07]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with AP Pistol causing 0 damage. -[info][2025/06/05 11:48:03]: [NAJ08324] Aimed at Dr.Kimberly Smith (JCQ27225) with AP Pistol. -[info][2025/06/05 11:48:05]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with AP Pistol causing 6 damage. -[info][2025/06/05 11:48:06]: [NAJ08324] Aimed at Dr.Kimberly Smith (JCQ27225) with AP Pistol. -[info][2025/06/05 11:48:06]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with AP Pistol causing 6 damage. -[info][2025/06/05 11:48:07]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with AP Pistol causing 6 damage. -[info][2025/06/05 11:48:07]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with AP Pistol causing 6 damage. -[info][2025/06/05 11:48:08]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with AP Pistol causing 6 damage. -[info][2025/06/05 11:48:08]: [NAJ08324] Aimed at Dr.Kimberly Smith (JCQ27225) with AP Pistol. -[info][2025/06/05 11:48:08]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with AP Pistol causing 6 damage. -[info][2025/06/05 11:48:08]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with AP Pistol causing 6 damage. -[info][2025/06/05 11:48:11]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with AP Pistol causing 6 damage. -[info][2025/06/05 11:48:11]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with AP Pistol causing 6 damage. -[info][2025/06/05 11:56:14]: [NAJ08324] Aimed at Dr.Kimberly Smith (JCQ27225) with AP Pistol. -[info][2025/06/05 11:56:15]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with AP Pistol causing 6 damage. -[info][2025/06/05 11:56:15]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with AP Pistol causing 6 damage. -[info][2025/06/05 11:56:17]: [NAJ08324] Aimed at Dr.Kimberly Smith (JCQ27225) with AP Pistol. -[info][2025/06/05 11:56:19]: [NAJ08324] Aimed at Dr.Kimberly Smith (JCQ27225) with AP Pistol. -[info][2025/06/05 11:56:24]: [NAJ08324] Aimed at Dr.Kimberly Smith (JCQ27225) with AP Pistol. -[info][2025/06/05 11:56:27]: [NAJ08324] Aimed at Dr.Kimberly Smith (JCQ27225) with AP Pistol. -[info][2025/06/05 11:56:28]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with AP Pistol causing 6 damage. -[info][2025/06/05 11:56:29]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with AP Pistol causing 6 damage. -[info][2025/06/05 11:56:29]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with AP Pistol causing 6 damage. -[info][2025/06/05 11:56:29]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with AP Pistol causing 6 damage. -[info][2025/06/05 11:56:30]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with AP Pistol causing 6 damage. -[info][2025/06/05 11:56:30]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with AP Pistol causing 6 damage. -[info][2025/06/05 11:56:31]: [NAJ08324] Aimed at Dr.Kimberly Smith (JCQ27225) with AP Pistol. -[info][2025/06/05 11:56:31]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with AP Pistol causing 6 damage. -[info][2025/06/05 11:56:31]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with AP Pistol causing 6 damage. -[info][2025/06/05 11:56:31]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with AP Pistol causing 6 damage. -[info][2025/06/05 11:56:31]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with AP Pistol causing 6 damage. -[info][2025/06/05 11:56:32]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with AP Pistol causing 6 damage. -[info][2025/06/05 11:56:40]: [NAJ08324] Aimed at Dr.Kimberly Smith (JCQ27225) with AP Pistol. -[info][2025/06/05 11:56:41]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with AP Pistol causing 6 damage. -[info][2025/06/05 11:56:41]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with AP Pistol causing 6 damage. -[info][2025/06/05 11:56:42]: [NAJ08324] Aimed at Dr.Kimberly Smith (JCQ27225) with AP Pistol. -[info][2025/06/05 11:56:43]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with AP Pistol causing 6 damage. -[info][2025/06/05 11:56:43]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with AP Pistol causing 6 damage. -[info][2025/06/05 11:56:47]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with AP Pistol causing 6 damage. -[info][2025/06/05 11:56:47]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with AP Pistol causing 6 damage. -[info][2025/06/05 11:56:47]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with AP Pistol causing 6 damage. -[info][2025/06/05 11:56:47]: [JCQ27225] Got killed by Alfred Monak (NAJ08324) with AP Pistol causing 132 damage. -[info][2025/06/05 11:56:47]: [JCQ27225] Got killed by Alfred Monak (NAJ08324) with AP Pistol causing 132 damage. -[info][2025/06/05 11:56:48]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with AP Pistol causing 0 damage. -[info][2025/06/05 11:58:25]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with Fist causing 21 damage. -[info][2025/06/05 11:58:25]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with Fist causing 0 damage. -[info][2025/06/05 11:58:26]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with Fist causing 21 damage. -[info][2025/06/05 11:58:27]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with Fist causing 21 damage. -[info][2025/06/05 11:58:28]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with Fist causing 0 damage. -[info][2025/06/05 11:58:29]: [JCQ27225] Got hit by Alfred Monak (NAJ08324) with Fist causing 21 damage. -[info][2025/06/05 11:58:30]: [JCQ27225] Got killed by Alfred Monak (NAJ08324) with Fist causing 26 damage. -[info][2025/06/05 12:06:00]: [NAJ08324] Aimed at Josf Meier (EAP03737) with AP Pistol. -[info][2025/06/05 12:06:00]: [EAP03737] Got killed by Alfred Monak (NAJ08324) with AP Pistol causing 132 damage. -[info][2025/06/05 12:07:02]: [NAJ08324] Got hit by Josf Meier (EAP03737) with Fist causing 20 damage. -[info][2025/06/05 12:07:04]: [NAJ08324] Got hit by Josf Meier (EAP03737) with Fist causing 26 damage. -[info][2025/06/05 12:07:06]: [NAJ08324] Got hit by Josf Meier (EAP03737) with Fist causing 20 damage. -[info][2025/06/05 12:07:08]: [NAJ08324] Got hit by Josf Meier (EAP03737) with Fist causing 20 damage. -[info][2025/06/05 12:07:09]: [NAJ08324] Got killed by Josf Meier (EAP03737) with Fist causing 26 damage. -[info][2025/06/05 12:07:39]: [NAJ08324] Got hit by Josf Meier (EAP03737) with Fist causing 20 damage. -[info][2025/06/05 12:07:40]: [NAJ08324] Got hit by Josf Meier (EAP03737) with Fist causing 26 damage. -[info][2025/06/05 12:07:44]: [NAJ08324] Got hit by Josf Meier (EAP03737) with Fist causing 20 damage. -[info][2025/06/05 12:07:45]: [NAJ08324] Got hit by Josf Meier (EAP03737) with Fist causing 26 damage. -[info][2025/06/05 12:07:47]: [NAJ08324] Got killed by Josf Meier (EAP03737) with Fist causing 20 damage. -[info][2025/06/05 12:08:47]: [NAJ08324] Got hit by Josf Meier (EAP03737) with Fist causing 20 damage. -[info][2025/06/05 12:08:49]: [NAJ08324] Got hit by Josf Meier (EAP03737) with Fist causing 20 damage. -[info][2025/06/05 12:08:51]: [NAJ08324] Got hit by Josf Meier (EAP03737) with Fist causing 26 damage. -[info][2025/06/05 12:08:54]: [NAJ08324] Got hit by Josf Meier (EAP03737) with Fist causing 20 damage. -[info][2025/06/05 12:08:57]: [NAJ08324] Got killed by Josf Meier (EAP03737) with Fist causing 20 damage. -[info][2025/06/05 12:09:57]: [NAJ08324] Aimed at Josf Meier (EAP03737) with AP Pistol. -[info][2025/06/05 12:09:58]: [EAP03737] Got killed by Alfred Monak (NAJ08324) with AP Pistol causing 109 damage. -[info][2025/06/05 12:10:00]: [NAJ08324] Aimed at Josf Meier (EAP03737) with AP Pistol. -[info][2025/06/05 12:10:56]: [EAP03737] Got hit by Alfred Monak (NAJ08324) with Fist causing 21 damage. -[info][2025/06/05 12:10:57]: [EAP03737] Got hit by Alfred Monak (NAJ08324) with Fist causing 26 damage. -[info][2025/06/05 12:10:59]: [EAP03737] Got hit by Alfred Monak (NAJ08324) with Fist causing 21 damage. -[info][2025/06/05 12:11:00]: [EAP03737] Got hit by Alfred Monak (NAJ08324) with Fist causing 21 damage. -[info][2025/06/05 12:11:01]: [EAP03737] Got killed by Alfred Monak (NAJ08324) with Fist causing 26 damage. -[info][2025/06/05 12:13:03]: [EAP03737] Got hit by Alfred Monak (NAJ08324) with Fist causing 21 damage. -[info][2025/06/05 12:13:04]: [EAP03737] Got hit by Alfred Monak (NAJ08324) with Fist causing 26 damage. -[info][2025/06/05 12:13:06]: [EAP03737] Got hit by Alfred Monak (NAJ08324) with Fist causing 21 damage. -[info][2025/06/05 12:13:07]: [EAP03737] Got hit by Alfred Monak (NAJ08324) with Fist causing 21 damage. -[info][2025/06/05 12:13:07]: [EAP03737] Got hit by Alfred Monak (NAJ08324) with Fist causing 0 damage. -[info][2025/06/05 12:13:09]: [EAP03737] Got killed by Alfred Monak (NAJ08324) with Fist causing 21 damage. -[info][2025/06/05 12:13:10]: [EAP03737] Got hit by Alfred Monak (NAJ08324) with Fist causing 0 damage. -[info][2025/06/05 12:13:12]: [EAP03737] Got hit by Alfred Monak (NAJ08324) with Fist causing 21 damage. -[info][2025/06/05 12:13:13]: [EAP03737] Got hit by Alfred Monak (NAJ08324) with Fist causing 21 damage. -[info][2025/06/05 12:13:14]: [EAP03737] Got hit by Alfred Monak (NAJ08324) with Fist causing 26 damage. -[info][2025/06/05 12:13:16]: [EAP03737] Got hit by Alfred Monak (NAJ08324) with Fist causing 26 damage. -[info][2025/06/05 12:13:17]: [EAP03737] Got hit by Alfred Monak (NAJ08324) with Fist causing 21 damage. -[info][2025/06/05 12:13:18]: [EAP03737] Got killed by Alfred Monak (NAJ08324) with Fist causing 26 damage. -[info][2025/06/05 12:13:40]: [NAJ08324] Aimed at Josf Meier (EAP03737) with AP Pistol. -[info][2025/06/05 12:13:41]: [EAP03737] Got killed by Alfred Monak (NAJ08324) with AP Pistol causing 132 damage. -[info][2025/06/05 12:13:42]: [NAJ08324] Aimed at Josf Meier (EAP03737) with AP Pistol. -[info][2025/06/05 12:16:33]: [JCQ27225] Aimed at Alfred Monak (NAJ08324) with AP Pistol. -[info][2025/06/05 12:16:33]: [NAJ08324] Got killed by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 132 damage. -[info][2025/06/05 12:32:38]: [JCQ27225] Aimed at Alfred Monak (NAJ08324) with AP Pistol. -[info][2025/06/05 12:32:47]: [NAJ08324] Got killed by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 473 damage. -[info][2025/06/05 12:33:20]: [JCQ27225] Aimed at Alfred Monak (NAJ08324) with AP Pistol. -[info][2025/06/05 12:33:23]: [NAJ08324] Got killed by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 132 damage. -[info][2025/06/05 12:34:19]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/05 12:34:21]: [NAJ08324] mark changed meta hunger for Alfred Monak to 100. -[info][2025/06/05 12:34:21]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/05 12:34:21]: [NAJ08324] mark changed meta hunger for Alfred Monak to 100. -[info][2025/06/05 12:34:21]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/05 12:34:21]: [NAJ08324] mark changed meta hunger for Alfred Monak to 100. -[info][2025/06/05 12:34:21]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/05 12:34:21]: [NAJ08324] mark changed meta thirst for Alfred Monak to 100. -[info][2025/06/05 12:34:21]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/05 12:34:22]: [NAJ08324] mark changed meta thirst for Alfred Monak to 100. -[info][2025/06/05 12:34:22]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/05 12:34:22]: [NAJ08324] mark healed Alfred Monak. -[info][2025/06/05 12:34:22]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/05 12:34:22]: [NAJ08324] mark healed Alfred Monak. -[info][2025/06/05 12:34:22]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/05 12:34:22]: [NAJ08324] mark healed Alfred Monak. -[info][2025/06/05 12:34:22]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/05 12:36:25]: [NAJ08324] Aimed at Dr.Kimberly Smith (JCQ27225) with AP Pistol. -[info][2025/06/05 12:36:26]: [JCQ27225] Got killed by Alfred Monak (NAJ08324) with AP Pistol causing 132 damage. -[info][2025/06/05 12:36:26]: [JCQ27225] Got killed by Alfred Monak (NAJ08324) with AP Pistol causing 132 damage. -[info][2025/06/05 21:20:30]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/05 22:17:23]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/05 22:17:24]: [NAJ08324] mark requested player vehicles. -[info][2025/06/05 22:18:29]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/06 12:27:14]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/06 12:28:09]: [NAJ08324] mark requested player vehicles. -[info][2025/06/06 12:50:19]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/06 12:50:20]: [NAJ08324] mark requested player vehicles. -[info][2025/06/06 14:09:54]: [JCQ27225] Got killed by Dr.Kimberly Smith (JCQ27225) with Cougar causing 500 damage. -[info][2025/06/06 14:16:34]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/06 14:16:35]: [NAJ08324] mark requested player vehicles. -[info][2025/06/06 15:25:11]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/06 15:25:12]: [NAJ08324] mark requested player vehicles. -[info][2025/06/06 16:21:57]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/06 16:21:59]: [NAJ08324] mark requested player vehicles. -[info][2025/06/07 20:31:30]: [JQK75222] max requested Steven Steppenwolf. -[info][2025/06/07 20:31:32]: [JQK75222] max requested player vehicles. -[info][2025/06/07 20:31:45]: [JQK75222] max requested player vehicles. -[info][2025/06/07 20:31:46]: [JQK75222] max requested Steven Steppenwolf. -[info][2025/06/07 22:36:34]: [JQK75222] Got hit by Steven Steppenwolf (JQK75222) with Fist causing 20 damage. -[info][2025/06/07 22:51:19]: [JQK75222] campers requested Steven Steppenwolf. -[info][2025/06/07 22:51:22]: [JQK75222] campers changed meta thirst for Steven Steppenwolf to 100. -[info][2025/06/07 22:51:22]: [JQK75222] campers requested Steven Steppenwolf. -[info][2025/06/07 22:51:23]: [JQK75222] campers changed meta hunger for Steven Steppenwolf to 100. -[info][2025/06/07 22:51:23]: [JQK75222] campers requested Steven Steppenwolf. -[info][2025/06/07 22:51:33]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/06/07 22:51:36]: [OHM07543] campers changed meta thirst for Dr.Demon Campers to 100. -[info][2025/06/07 22:51:36]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/06/07 22:51:37]: [OHM07543] campers changed meta hunger for Dr.Demon Campers to 100. -[info][2025/06/07 22:51:37]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/06/07 22:51:48]: [GNR11868] campers requested Amy Ann. -[info][2025/06/07 22:51:51]: [GNR11868] campers changed meta hunger for Amy Ann to 100. -[info][2025/06/07 22:51:51]: [GNR11868] campers requested Amy Ann. -[info][2025/06/08 01:49:50]: [DCZ46401] campers requested Georg Schäfer. -[info][2025/06/08 01:50:03]: [DCZ46401] campers changed charinfo for Dr. Georg Schäfer. -[info][2025/06/08 01:50:03]: [DCZ46401] campers requested Dr. Georg Schäfer. -[info][2025/06/08 01:50:16]: [DCZ46401] campers changed charinfo for Dr. Georg Schäfer. -[info][2025/06/08 01:50:16]: [DCZ46401] campers requested Dr. Georg Schäfer. -[info][2025/06/08 11:56:48]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/08 11:56:51]: [NAJ08324] mark changed meta hunger for Alfred Monak to 100. -[info][2025/06/08 11:56:52]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/08 11:56:52]: [NAJ08324] mark changed meta thirst for Alfred Monak to 100. -[info][2025/06/08 11:56:52]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/08 11:56:53]: [NAJ08324] mark healed Alfred Monak. -[info][2025/06/08 11:56:53]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/08 11:56:54]: [NAJ08324] mark changed meta stress for Alfred Monak to 0. -[info][2025/06/08 11:56:55]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/08 11:56:56]: [NAJ08324] mark changed meta armor for Alfred Monak to 100. -[info][2025/06/08 11:56:56]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/08 20:58:53]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/08 20:58:56]: [NAJ08324] mark changed meta hunger for Alfred Monak to 100. -[info][2025/06/08 20:58:57]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/08 20:58:57]: [NAJ08324] mark changed meta thirst for Alfred Monak to 100. -[info][2025/06/08 20:58:57]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/08 20:58:58]: [NAJ08324] mark healed Alfred Monak. -[info][2025/06/08 20:58:58]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/08 20:58:58]: [NAJ08324] mark healed Alfred Monak. -[info][2025/06/08 20:58:58]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/08 23:51:14]: [GNR11868] Got killed by Amy Ann (GNR11868) with Cougar causing 500 damage. -[info][2025/06/09 00:35:03]: [JCQ27225] campers requested Dr.Kimberly Smith. -[info][2025/06/09 00:41:49]: [JCQ27225] campers requested Dr.Kimberly Smith. -[info][2025/06/09 02:10:49]: [CRO67821] marc requested Marc Santoro. -[info][2025/06/09 02:10:51]: [CRO67821] marc requested player vehicles. -[info][2025/06/09 02:11:19]: [CRO67821] marc requested Marc Santoro. -[info][2025/06/09 02:11:20]: [CRO67821] marc requested player vehicles. -[info][2025/06/09 02:47:07]: [OHM07543] Aimed at Amy Ann (GNR11868) with Heavy Revolver Mk II. -[info][2025/06/09 03:07:00]: [GNR11868] Got hit by Dr. Georg Schäfer (DCZ46401) with Fist causing 0 damage. -[info][2025/06/09 03:09:42]: [DCZ46401] Got hit by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/06/09 03:09:47]: [DCZ46401] Got hit by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/06/09 03:25:38]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 21 damage. -[info][2025/06/09 17:25:06]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/09 17:25:07]: [NAJ08324] mark requested player vehicles. -[info][2025/06/09 19:34:29]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/09 19:34:31]: [NAJ08324] mark changed meta hunger for Alfred Monak to 100. -[info][2025/06/09 19:34:31]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/09 19:34:32]: [NAJ08324] mark changed meta thirst for Alfred Monak to 100. -[info][2025/06/09 19:34:32]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/09 19:34:32]: [NAJ08324] mark healed Alfred Monak. -[info][2025/06/09 19:34:32]: [NAJ08324] mark requested Alfred Monak. -[info][2025/06/10 19:47:03]: [GNR11868] Got hit by Dr.Boris Von Dragomir (PCC19872) with Fist causing 21 damage. -[info][2025/06/10 19:47:05]: [GNR11868] Got hit by Dr.Boris Von Dragomir (PCC19872) with Fist causing 21 damage. -[info][2025/06/10 19:47:11]: [GNR11868] Got hit by Dr.Boris Von Dragomir (PCC19872) with Fist causing 21 damage. -[info][2025/06/10 19:47:13]: [GNR11868] Got hit by Dr.Boris Von Dragomir (PCC19872) with Fist causing 21 damage. -[info][2025/06/10 19:47:17]: [GNR11868] Got killed by Dr.Boris Von Dragomir (PCC19872) with Fist causing 21 damage. -[info][2025/06/10 20:43:18]: [GNR11868] Got hit by Alfred Monak (NAJ08324) with Fist causing 25 damage. -[info][2025/06/10 20:43:18]: [PCC19872] Got hit by Alfred Monak (NAJ08324) with Fist causing 25 damage. -[info][2025/06/10 20:51:20]: [GNR11868] Got hit by Alfred Monak (NAJ08324) with Fist causing 25 damage. -[info][2025/06/10 22:28:19]: [KVA51843] nordi requested Manfred Tönsen. -[info][2025/06/10 22:28:21]: [KVA51843] nordi viewed inventory. -[info][2025/06/10 22:28:26]: [KVA51843] nordi requested Manfred Tönsen. -[info][2025/06/10 22:28:32]: [KVA51843] nordi gave 1000 cash to Manfred Tönsen. -[info][2025/06/10 22:28:32]: [KVA51843] nordi requested Manfred Tönsen. -[info][2025/06/10 22:32:35]: [OHM07543] Got hit by Manfred Tönsen (KVA51843) with Fist causing 21 damage. -[info][2025/06/10 22:32:37]: [OHM07543] Got hit by Manfred Tönsen (KVA51843) with Fist causing 27 damage. -[info][2025/06/10 22:32:38]: [OHM07543] Got hit by Manfred Tönsen (KVA51843) with Fist causing 21 damage. -[info][2025/06/10 23:19:47]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/06/10 23:19:48]: [OHM07543] campers requested player vehicles. -[info][2025/06/10 23:20:04]: [OHM07543] nordi requested Dr.Demon Campers. -[info][2025/06/10 23:20:06]: [OHM07543] nordi requested player vehicles. -[info][2025/06/10 23:20:14]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/06/10 23:20:17]: [OHM07543] campers requested player vehicles. -[info][2025/06/10 23:21:35]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/10 23:21:37]: [JCQ27225] nordi viewed inventory. -[info][2025/06/10 23:21:51]: [JCQ27225] nordi added 4x cheese_burger to inventory. -[info][2025/06/10 23:25:32]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/06/10 23:25:34]: [OHM07543] campers requested player vehicles. -[info][2025/06/10 23:25:57]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/06/10 23:25:59]: [OHM07543] campers requested player vehicles. -[info][2025/06/10 23:27:50]: [GNR11868] Aimed at Dr.Demon Campers (OHM07543) with null. -[info][2025/06/10 23:27:52]: [OHM07543] Got killed by Amy Ann (GNR11868) with undefined causing 732 damage. -[info][2025/06/10 23:28:31]: [GNR11868] Aimed at Dr.Demon Campers (OHM07543) with null. -[info][2025/06/10 23:28:37]: [OHM07543] Got hit by Amy Ann (GNR11868) with undefined causing 34 damage. -[info][2025/06/10 23:28:37]: [OHM07543] Got hit by Amy Ann (GNR11868) with undefined causing 34 damage. -[info][2025/06/10 23:28:38]: [OHM07543] Got killed by Amy Ann (GNR11868) with undefined causing 34 damage. -[info][2025/06/10 23:28:57]: [GNR11868] Aimed at Dr.Demon Campers (OHM07543) with null. -[info][2025/06/10 23:29:01]: [OHM07543] Got hit by Amy Ann (GNR11868) with undefined causing 34 damage. -[info][2025/06/10 23:29:07]: [OHM07543] Got killed by Amy Ann (GNR11868) with undefined causing 732 damage. -[info][2025/06/10 23:32:06]: [GNR11868] Aimed at Steven Steppenwolf (JQK75222) with null. -[info][2025/06/10 23:32:07]: [JQK75222] Got hit by Amy Ann (GNR11868) with undefined causing 34 damage. -[info][2025/06/10 23:32:18]: [GNR11868] Aimed at Steven Steppenwolf (JQK75222) with null. -[info][2025/06/10 23:32:19]: [JQK75222] Got killed by Amy Ann (GNR11868) with undefined causing 732 damage. -[info][2025/06/10 23:32:20]: [GNR11868] Aimed at Steven Steppenwolf (JQK75222) with null. -[info][2025/06/10 23:32:24]: [GNR11868] Aimed at Steven Steppenwolf (JQK75222) with null. -[info][2025/06/10 23:32:59]: [GNR11868] Aimed at Dr.Demon Campers (OHM07543) with Heavy Revolver Mk II. -[info][2025/06/10 23:37:02]: [GNR11868] Aimed at Dr.Demon Campers (OHM07543) with null. -[info][2025/06/10 23:37:13]: [GNR11868] Aimed at Dr.Demon Campers (OHM07543) with null. -[info][2025/06/10 23:37:25]: [GNR11868] Aimed at Dr.Demon Campers (OHM07543) with null. -[info][2025/06/10 23:51:22]: [UGO12804] max requested Mark Petrol. -[info][2025/06/10 23:51:27]: [UGO12804] max healed Mark Petrol. -[info][2025/06/10 23:51:27]: [UGO12804] max requested Mark Petrol. -[info][2025/06/10 23:51:27]: [UGO12804] max changed meta thirst for Mark Petrol to 100. -[info][2025/06/10 23:51:27]: [UGO12804] max requested Mark Petrol. -[info][2025/06/10 23:51:28]: [UGO12804] max changed meta hunger for Mark Petrol to 100. -[info][2025/06/10 23:51:28]: [UGO12804] max requested Mark Petrol. -[info][2025/06/10 23:51:33]: [GNR11868] Got hit by Dr.Demon Campers (OHM07543) with Fist causing 0 damage. -[info][2025/06/10 23:54:01]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 0 damage. -[info][2025/06/10 23:54:02]: [OHM07543] Got hit by Amy Ann (GNR11868) with Fist causing 20 damage. -[info][2025/06/10 23:58:25]: [JCQ27225] Aimed at Dr.Demon Campers (OHM07543) with Carbine Rifle. -[info][2025/06/10 23:58:31]: [GNR11868] campers requested Amy Ann. -[info][2025/06/10 23:58:57]: [GNR11868] campers changed charinfo for Victoria Ann. -[info][2025/06/10 23:58:57]: [GNR11868] campers requested Victoria Ann. -[info][2025/06/11 00:09:07]: [JCQ27225] Aimed at Victoria Ann (GNR11868) with AP Pistol. -[info][2025/06/11 00:09:11]: [JCQ27225] Aimed at Victoria Ann (GNR11868) with AP Pistol. -[info][2025/06/11 00:09:13]: [JCQ27225] Aimed at Victoria Ann (GNR11868) with AP Pistol. -[info][2025/06/11 13:37:49]: [CRO67821] Aimed at Victoria Ann (GNR11868) with Special Carbine Mk II. -[info][2025/06/11 13:37:51]: [CRO67821] Aimed at Victoria Ann (GNR11868) with Special Carbine Mk II. -[info][2025/06/11 14:30:49]: [ELV21478] Got hit by Victoria Ann (GNR11868) with Fist causing 25 damage. -[info][2025/06/11 14:47:28]: [GNR11868] Got hit by Dr.Kimberly Smith (JCQ27225) with Fist causing 0 damage. -[info][2025/06/11 14:47:29]: [GNR11868] Got hit by Dr.Kimberly Smith (JCQ27225) with Fist causing 20 damage. -[info][2025/06/11 14:47:30]: [GNR11868] Got hit by Dr.Kimberly Smith (JCQ27225) with Fist causing 20 damage. -[info][2025/06/11 14:47:31]: [GNR11868] Got hit by Dr.Kimberly Smith (JCQ27225) with Fist causing 25 damage. -[info][2025/06/11 14:47:33]: [JCQ27225] Aimed at Victoria Ann (GNR11868) with AP Pistol. -[info][2025/06/11 14:47:33]: [GNR11868] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 24 damage. -[info][2025/06/11 14:47:34]: [GNR11868] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/06/11 14:47:34]: [GNR11868] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 5 damage. -[info][2025/06/11 14:47:34]: [GNR11868] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 5 damage. -[info][2025/06/11 14:47:34]: [GNR11868] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/06/11 14:47:37]: [JCQ27225] Aimed at Victoria Ann (GNR11868) with AP Pistol. -[info][2025/06/11 14:47:40]: [GNR11868] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/06/11 14:47:43]: [GNR11868] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/06/11 14:47:43]: [GNR11868] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/06/11 14:47:43]: [GNR11868] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/06/11 14:47:43]: [GNR11868] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/06/11 14:47:43]: [GNR11868] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/06/11 14:47:43]: [GNR11868] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/06/11 14:47:44]: [GNR11868] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/06/11 14:47:44]: [GNR11868] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/06/11 14:47:44]: [GNR11868] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/06/11 14:47:44]: [GNR11868] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/06/11 14:47:44]: [GNR11868] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/06/11 14:47:44]: [GNR11868] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/06/11 14:47:44]: [GNR11868] Got killed by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 132 damage. -[info][2025/06/11 14:47:44]: [JCQ27225] Aimed at Victoria Ann (GNR11868) with AP Pistol. -[info][2025/06/11 14:47:44]: [GNR11868] Got killed by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 132 damage. -[info][2025/06/11 14:47:44]: [GNR11868] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 0 damage. -[info][2025/06/11 17:37:46]: [BCK05564] Got hit by Marc Santoro (CRO67821) with Fist causing 20 damage. -[info][2025/06/11 17:37:57]: [CRO67821] Aimed at Lucifer Morningstar (BCK05564) with Special Carbine Mk II. -[info][2025/06/11 17:38:14]: [CRO67821] Aimed at Lucifer Morningstar (BCK05564) with Special Carbine Mk II. -[info][2025/06/11 17:38:24]: [CRO67821] Aimed at Lucifer Morningstar (BCK05564) with Special Carbine Mk II. -[info][2025/06/11 17:38:27]: [CRO67821] Aimed at Lucifer Morningstar (BCK05564) with Special Carbine Mk II. -[info][2025/06/11 17:45:29]: [BCK05564] Got hit by Marc Santoro (CRO67821) with Fist causing 21 damage. -[info][2025/06/11 18:32:49]: [JCQ27225] voltstromi requested Dr.Kimberly Smith. -[info][2025/06/11 18:33:00]: [JQK75222] voltstromi requested Steven Steppenwolf. -[info][2025/06/11 18:43:24]: [CRO67821] Aimed at Leon Meier (OOL76561) with Special Carbine Mk II. -[info][2025/06/11 18:43:37]: [CRO67821] Aimed at Steven Steppenwolf (JQK75222) with Special Carbine Mk II. -[info][2025/06/11 18:43:38]: [CRO67821] Aimed at Leon Meier (OOL76561) with Special Carbine Mk II. -[info][2025/06/11 18:47:18]: [NAJ08324] Aimed at Marc Santoro (CRO67821) with Carbine Rifle. -[info][2025/06/11 18:49:52]: [NAJ08324] Aimed at Turtle Kaya (NFS31447) with Carbine Rifle. -[info][2025/06/11 18:50:05]: [JCQ27225] Aimed at Turtle Kaya (NFS31447) with Stun Gun. -[info][2025/06/11 18:50:12]: [JCQ27225] Aimed at Turtle Kaya (NFS31447) with Stun Gun. -[info][2025/06/11 18:50:13]: [NFS31447] Got hit by Dr.Kimberly Smith (JCQ27225) with Stun Gun causing 1 damage. -[info][2025/06/11 18:54:27]: [GNR11868] Got hit by Steven Steppenwolf (JQK75222) with Fist causing 20 damage. -[info][2025/06/11 18:54:29]: [ELV21478] Got hit by Victoria Ann (GNR11868) with Fist causing 25 damage. -[info][2025/06/11 18:54:31]: [JQK75222] Got hit by Victoria Ann (GNR11868) with Fist causing 20 damage. -[info][2025/06/11 18:56:12]: [NAJ08324] Aimed at Turtle Kaya (NFS31447) with Carbine Rifle. -[info][2025/06/11 18:56:21]: [NAJ08324] Aimed at Marc Santoro (CRO67821) with Carbine Rifle. -[info][2025/06/11 18:56:23]: [NAJ08324] Aimed at Turtle Kaya (NFS31447) with Carbine Rifle. -[info][2025/06/11 18:56:29]: [NAJ08324] Aimed at Turtle Kaya (NFS31447) with Carbine Rifle. -[info][2025/06/11 18:56:29]: [NFS31447] Got hit by Ali Bratke (NAJ08324) with Carbine Rifle causing 18 damage. -[info][2025/06/11 18:56:33]: [NAJ08324] Aimed at Turtle Kaya (NFS31447) with Carbine Rifle. -[info][2025/06/11 18:56:34]: [CRO67821] Aimed at Turtle Kaya (NFS31447) with Assault Rifle. -[info][2025/06/11 18:56:35]: [NAJ08324] Aimed at Turtle Kaya (NFS31447) with Carbine Rifle. -[info][2025/06/11 18:56:36]: [NFS31447] Got hit by Ali Bratke (NAJ08324) with Carbine Rifle causing 18 damage. -[info][2025/06/11 18:56:37]: [NFS31447] Got hit by Ali Bratke (NAJ08324) with Carbine Rifle causing 18 damage. -[info][2025/06/11 18:56:37]: [CRO67821] Aimed at Turtle Kaya (NFS31447) with Assault Rifle. -[info][2025/06/11 18:56:39]: [NFS31447] Got hit by Marc Santoro (CRO67821) with Assault Rifle causing 23 damage. -[info][2025/06/11 18:56:39]: [NFS31447] Got killed by Marc Santoro (CRO67821) with Assault Rifle causing 23 damage. -[info][2025/06/11 18:56:39]: [NAJ08324] Aimed at Edward Teach (QZA16540) with Carbine Rifle. -[info][2025/06/11 18:56:40]: [CRO67821] Aimed at Edward Teach (QZA16540) with Assault Rifle. -[info][2025/06/11 18:56:43]: [NAJ08324] Aimed at Marc Santoro (CRO67821) with Carbine Rifle. -[info][2025/06/11 18:56:49]: [NAJ08324] Aimed at Turtle Kaya (NFS31447) with Carbine Rifle. -[info][2025/06/11 19:01:12]: [CRO67821] Aimed at Chester Sinister (VDC50704) with Assault Rifle. -[info][2025/06/11 19:03:18]: [NAJ08324] mark requested Ali Bratke. -[info][2025/06/11 19:03:19]: [NAJ08324] mark changed meta hunger for Ali Bratke to 100. -[info][2025/06/11 19:03:19]: [NAJ08324] mark requested Ali Bratke. -[info][2025/06/11 19:03:20]: [NAJ08324] mark changed meta thirst for Ali Bratke to 100. -[info][2025/06/11 19:03:20]: [NAJ08324] mark requested Ali Bratke. -[info][2025/06/11 19:06:24]: [CRO67821] Aimed at Leon Meier (OOL76561) with Assault Rifle. -[info][2025/06/11 19:09:44]: [CRO67821] Aimed at Ben Decker (PEM05356) with Assault Rifle. -[info][2025/06/11 19:09:46]: [CRO67821] Aimed at Leon Meier (OOL76561) with Assault Rifle. -[info][2025/06/11 19:10:49]: [CRO67821] Aimed at Leon Meier (OOL76561) with null. -[info][2025/06/11 19:25:24]: [CRO67821] Aimed at Dr.Kimberly Smith (JCQ27225) with Assault Rifle. -[info][2025/06/11 19:28:34]: [NAJ08324] Aimed at Edward Teach (QZA16540) with Carbine Rifle. -[info][2025/06/11 19:28:59]: [JCQ27225] Aimed at Ali Bratke (NAJ08324) with Stun Gun. -[info][2025/06/11 19:29:00]: [NAJ08324] Got hit by Dr.Kimberly Smith (JCQ27225) with Stun Gun causing 0 damage. -[info][2025/06/11 19:29:08]: [NAJ08324] Aimed at Dr.Kimberly Smith (JCQ27225) with Carbine Rifle. -[info][2025/06/11 19:29:09]: [JCQ27225] Aimed at Ali Bratke (NAJ08324) with Combat Shotgun. -[info][2025/06/11 19:29:10]: [NAJ08324] Aimed at Dr.Kimberly Smith (JCQ27225) with Carbine Rifle. -[info][2025/06/11 19:29:11]: [JCQ27225] Aimed at Ali Bratke (NAJ08324) with Combat Shotgun. -[info][2025/06/11 19:29:13]: [CRO67821] Aimed at Dr.Kimberly Smith (JCQ27225) with Assault Rifle. -[info][2025/06/11 19:29:34]: [NAJ08324] Aimed at Edward Teach (QZA16540) with Carbine Rifle. -[info][2025/06/11 19:30:13]: [CRO67821] Aimed at Dr.Kimberly Smith (JCQ27225) with Assault Rifle. -[info][2025/06/11 19:30:15]: [CRO67821] Aimed at Lucifer Morningstar (BCK05564) with Assault Rifle. -[info][2025/06/11 19:31:37]: [CRO67821] Aimed at Victoria Ann (GNR11868) with Assault Rifle. -[info][2025/06/11 19:32:08]: [CRO67821] Aimed at Ali Bratke (NAJ08324) with Assault Rifle. -[info][2025/06/11 19:32:09]: [CRO67821] Aimed at Turtle Kaya (NFS31447) with Assault Rifle. -[info][2025/06/11 19:32:11]: [CRO67821] Aimed at Tomasz Adamczyk (OUM83660) with Assault Rifle. -[info][2025/06/11 19:32:13]: [CRO67821] Aimed at Steven Steppenwolf (JQK75222) with Assault Rifle. -[info][2025/06/11 19:32:15]: [CRO67821] Aimed at Connor Garrison (DYW89109) with Assault Rifle. -[info][2025/06/11 19:34:51]: [CRO67821] Aimed at Leon Meier (OOL76561) with Assault Rifle. -[info][2025/06/11 19:34:58]: [CRO67821] Aimed at Leon Meier (OOL76561) with Assault Rifle. -[info][2025/06/11 19:35:04]: [CRO67821] Aimed at Steven Steppenwolf (JQK75222) with Assault Rifle. -[info][2025/06/11 19:35:37]: [NAJ08324] Aimed at Tomasz Adamczyk (OUM83660) with Carbine Rifle. -[info][2025/06/11 19:35:39]: [NAJ08324] Aimed at Shadow Wuff (ELV21478) with Carbine Rifle. -[info][2025/06/11 19:47:48]: [NAJ08324] Aimed at Steven Steppenwolf (JQK75222) with Carbine Rifle. -[info][2025/06/11 19:53:37]: [QZA16540] Got hit by Turtle Kaya (NFS31447) with Fist causing 0 damage. -[info][2025/06/11 19:53:38]: [QZA16540] Got hit by Turtle Kaya (NFS31447) with Fist causing 27 damage. -[info][2025/06/11 19:53:47]: [QZA16540] Got hit by Turtle Kaya (NFS31447) with Fist causing 21 damage. -[info][2025/06/11 19:53:49]: [QZA16540] Got hit by Turtle Kaya (NFS31447) with Fist causing 21 damage. -[info][2025/06/11 19:53:50]: [QZA16540] Got hit by Turtle Kaya (NFS31447) with Fist causing 21 damage. -[info][2025/06/11 19:53:50]: [QZA16540] Got killed by Turtle Kaya (NFS31447) with Fist causing 21 damage. -[info][2025/06/11 19:53:51]: [QZA16540] Got hit by Turtle Kaya (NFS31447) with Fist causing 0 damage. -[info][2025/06/11 19:54:10]: [NFS31447] Got hit by Chester Sinister (VDC50704) with Fist causing 21 damage. -[info][2025/06/11 19:57:14]: [OOL76561] Got hit by Chester Sinister (VDC50704) with Fist causing 21 damage. -[info][2025/06/11 19:57:20]: [VDC50704] Got hit by Leon Meier (OOL76561) with Fist causing 21 damage. -[info][2025/06/11 19:57:21]: [OOL76561] Got hit by Chester Sinister (VDC50704) with Fist causing 0 damage. -[info][2025/06/11 19:57:25]: [OOL76561] Got hit by Chester Sinister (VDC50704) with Fist causing 21 damage. -[info][2025/06/11 19:57:27]: [VDC50704] Got hit by Leon Meier (OOL76561) with Fist causing 27 damage. -[info][2025/06/11 19:58:06]: [QZA16540] Got hit by Turtle Kaya (NFS31447) with Fist causing 21 damage. -[info][2025/06/11 19:58:10]: [OOL76561] Got hit by Chester Sinister (VDC50704) with Fist causing 21 damage. -[info][2025/06/11 20:00:16]: [QZA16540] Got hit by Turtle Kaya (NFS31447) with Fist causing 21 damage. -[info][2025/06/11 20:00:17]: [QZA16540] Got hit by Turtle Kaya (NFS31447) with Fist causing 21 damage. -[info][2025/06/11 20:00:19]: [QZA16540] Got hit by Turtle Kaya (NFS31447) with Fist causing 21 damage. -[info][2025/06/11 20:00:19]: [QZA16540] Got hit by Turtle Kaya (NFS31447) with Fist causing 21 damage. -[info][2025/06/11 20:00:20]: [QZA16540] Got killed by Turtle Kaya (NFS31447) with Fist causing 21 damage. -[info][2025/06/11 20:00:21]: [QZA16540] Got hit by Turtle Kaya (NFS31447) with Fist causing 0 damage. -[info][2025/06/11 20:01:49]: [JCQ27225] Got hit by Marc Santoro (CRO67821) with Fist causing 0 damage. -[info][2025/06/11 20:03:23]: [VDC50704] Got hit by Marc Santoro (CRO67821) with Fist causing 27 damage. -[info][2025/06/11 20:03:35]: [CRO67821] Aimed at Chester Sinister (VDC50704) with Assault Rifle. -[info][2025/06/11 20:03:36]: [VDC50704] Got killed by Marc Santoro (CRO67821) with Assault Rifle causing 454 damage. -[info][2025/06/11 20:13:02]: [QZA16540] Got hit by Turtle Kaya (NFS31447) with Fist causing 21 damage. -[info][2025/06/11 20:13:04]: [BCK05564] Got hit by Edward Teach (QZA16540) with Fist causing 21 damage. -[info][2025/06/11 20:13:07]: [QZA16540] Got hit by Turtle Kaya (NFS31447) with Fist causing 21 damage. -[info][2025/06/11 20:13:08]: [QZA16540] Got hit by Turtle Kaya (NFS31447) with Fist causing 21 damage. -[info][2025/06/11 20:13:09]: [QZA16540] Got hit by Turtle Kaya (NFS31447) with Fist causing 21 damage. -[info][2025/06/11 20:13:11]: [NFS31447] Got killed by Shadow Wuff (ELV21478) with Animal causing 0 damage. -[info][2025/06/11 20:14:07]: [QZA16540] Got killed by Turtle Kaya (NFS31447) with Fist causing 21 damage. -[info][2025/06/11 20:14:10]: [NFS31447] Got hit by Shadow Wuff (ELV21478) with Animal causing 20 damage. -[info][2025/06/11 20:14:37]: [QZA16540] Got hit by Turtle Kaya (NFS31447) with Fist causing 21 damage. -[info][2025/06/11 20:14:39]: [NFS31447] Got hit by Shadow Wuff (ELV21478) with Animal causing 20 damage. -[info][2025/06/11 20:14:42]: [CRO67821] Aimed at Turtle Kaya (NFS31447) with Assault Rifle. -[info][2025/06/11 20:19:30]: [NAJ08324] Got hit by Leon Meier (OOL76561) with Fist causing 27 damage. -[info][2025/06/11 20:19:32]: [NAJ08324] Got hit by Leon Meier (OOL76561) with Fist causing 27 damage. -[info][2025/06/11 20:19:33]: [NAJ08324] Got hit by Leon Meier (OOL76561) with Fist causing 27 damage. -[info][2025/06/11 20:19:35]: [NAJ08324] Got hit by Leon Meier (OOL76561) with Fist causing 27 damage. -[info][2025/06/11 20:19:37]: [NAJ08324] Got hit by Leon Meier (OOL76561) with Fist causing 27 damage. -[info][2025/06/11 20:19:38]: [NAJ08324] Got killed by Leon Meier (OOL76561) with Fist causing 27 damage. -[info][2025/06/11 20:19:39]: [NAJ08324] Got killed by Leon Meier (OOL76561) with Fist causing 27 damage. -[info][2025/06/11 20:19:40]: [NAJ08324] Got killed by Leon Meier (OOL76561) with Fist causing 27 damage. -[info][2025/06/11 20:19:41]: [NAJ08324] Got killed by Leon Meier (OOL76561) with Fist causing 27 damage. -[info][2025/06/11 20:22:30]: [NFS31447] Got hit by Edward Teach (QZA16540) with Fist causing 20 damage. -[info][2025/06/11 20:22:31]: [QZA16540] Got hit by Turtle Kaya (NFS31447) with Fist causing 21 damage. -[info][2025/06/11 20:22:31]: [NFS31447] Got hit by Edward Teach (QZA16540) with Fist causing 20 damage. -[info][2025/06/11 20:22:31]: [QZA16540] Got hit by Turtle Kaya (NFS31447) with Fist causing 21 damage. -[info][2025/06/11 20:22:32]: [NFS31447] Got hit by Edward Teach (QZA16540) with Fist causing 20 damage. -[info][2025/06/11 20:22:32]: [QZA16540] Got hit by Turtle Kaya (NFS31447) with Fist causing 21 damage. -[info][2025/06/11 20:22:33]: [NFS31447] Got hit by Edward Teach (QZA16540) with Fist causing 20 damage. -[info][2025/06/11 20:22:34]: [NFS31447] Got hit by Edward Teach (QZA16540) with Fist causing 0 damage. -[info][2025/06/11 20:22:34]: [CRO67821] Aimed at Edward Teach (QZA16540) with Assault Rifle. -[info][2025/06/11 20:22:35]: [NFS31447] Got killed by Edward Teach (QZA16540) with Fist causing 20 damage. -[info][2025/06/11 20:22:35]: [PEM05356] Got hit by Marc Santoro (CRO67821) with Assault Rifle causing 23 damage. -[info][2025/06/11 20:22:35]: [QZA16540] Got killed by Marc Santoro (CRO67821) with Assault Rifle causing 454 damage. -[info][2025/06/11 20:22:36]: [CRO67821] Aimed at Turtle Kaya (NFS31447) with Assault Rifle. -[info][2025/06/11 20:22:38]: [NFS31447] Got killed by Marc Santoro (CRO67821) with Assault Rifle causing 442 damage. -[info][2025/06/11 20:22:38]: [CRO67821] Aimed at Turtle Kaya (NFS31447) with Assault Rifle. -[info][2025/06/11 20:45:25]: [VDC50704] Got hit by Leon Meier (OOL76561) with Fist causing 21 damage. -[info][2025/06/11 20:45:27]: [OOL76561] Got hit by Chester Sinister (VDC50704) with Fist causing 21 damage. -[info][2025/06/11 20:52:55]: [JQK75222] Got hit by Edward Teach (QZA16540) with Fist causing 25 damage. -[info][2025/06/11 21:05:16]: [PEM05356] Got hit by Dr.Kimberly Smith (JCQ27225) with Fist causing 20 damage. -[info][2025/06/11 21:05:20]: [PEM05356] Got hit by Dr.Kimberly Smith (JCQ27225) with Fist causing 20 damage. -[info][2025/06/11 21:06:16]: [OUM83660] Got hit by Steven Steppenwolf (JQK75222) with Fist causing 20 damage. -[info][2025/06/11 21:06:54]: [VDC50704] Got hit by Leon Meier (OOL76561) with Pistol causing 8 damage. -[info][2025/06/11 21:06:54]: [VDC50704] Got hit by Leon Meier (OOL76561) with Pistol causing 8 damage. -[info][2025/06/11 21:07:27]: [VDC50704] Got hit by Leon Meier (OOL76561) with Pistol causing 8 damage. -[info][2025/06/11 21:08:14]: [DWK58991] Got hit by Turtle Kaya (NFS31447) with Fist causing 0 damage. -[info][2025/06/11 21:11:51]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Fist causing 20 damage. -[info][2025/06/11 21:29:41]: [CRO67821] marc requested Marc Santoro. -[info][2025/06/11 21:29:45]: [CRO67821] marc changed meta thirst for Marc Santoro to 100. -[info][2025/06/11 21:29:45]: [CRO67821] marc requested Marc Santoro. -[info][2025/06/11 21:29:45]: [CRO67821] marc changed meta hunger for Marc Santoro to 100. -[info][2025/06/11 21:29:45]: [CRO67821] marc requested Marc Santoro. -[info][2025/06/11 21:36:28]: [KOK33025] Got hit by David Munkli (DWK58991) with Fist causing 20 damage. -[info][2025/06/11 21:36:31]: [DWK58991] Got hit by Eylül Kaya (KOK33025) with Fist causing 21 damage. -[info][2025/06/11 21:37:03]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/11 21:37:08]: [JCQ27225] nordi viewed inventory. -[info][2025/06/11 21:37:11]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/11 21:37:15]: [NFS31447] Got hit by Eylül Kaya (KOK33025) with Fist causing 21 damage. -[info][2025/06/11 21:37:29]: [JCQ27225] nordi gave 10000 cash to Dr.Kimberly Smith. -[info][2025/06/11 21:37:29]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/11 21:37:37]: [JCQ27225] Got hit by Ben Decker (PEM05356) with Fist causing 0 damage. -[info][2025/06/11 21:45:21]: [NFS31447] Aimed at Marc Santoro (CRO67821) with null. -[info][2025/06/11 21:45:33]: [CRO67821] Got killed by Turtle Kaya (NFS31447) with undefined causing 732 damage. -[info][2025/06/11 21:58:11]: [NFS31447] Got hit by Eylül Kaya (KOK33025) with Fist causing 21 damage. -[info][2025/06/11 21:58:13]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Fist causing 21 damage. -[info][2025/06/11 21:58:14]: [DWK58991] Got hit by Eylül Kaya (KOK33025) with Fist causing 21 damage. -[info][2025/06/11 21:58:28]: [KOK33025] Got hit by David Munkli (DWK58991) with Fist causing 20 damage. -[info][2025/06/11 21:58:29]: [KOK33025] Got hit by David Munkli (DWK58991) with Fist causing 20 damage. -[info][2025/06/11 21:58:30]: [KOK33025] Got hit by David Munkli (DWK58991) with Fist causing 20 damage. -[info][2025/06/11 21:58:32]: [KOK33025] Got killed by David Munkli (DWK58991) with Fist causing 25 damage. -[info][2025/06/11 21:58:35]: [DWK58991] Got hit by Turtle Kaya (NFS31447) with Fist causing 21 damage. -[info][2025/06/11 21:58:36]: [DWK58991] Got hit by Turtle Kaya (NFS31447) with Fist causing 21 damage. -[info][2025/06/11 21:58:36]: [DWK58991] Got hit by Turtle Kaya (NFS31447) with Fist causing 21 damage. -[info][2025/06/11 21:58:37]: [DWK58991] Got hit by Turtle Kaya (NFS31447) with Fist causing 0 damage. -[info][2025/06/11 21:58:38]: [DWK58991] Got killed by Turtle Kaya (NFS31447) with Fist causing 21 damage. -[info][2025/06/11 22:04:35]: [CRO67821] marc requested Marc Santoro. -[info][2025/06/11 22:04:58]: [CRO67821] marc gave 3000000000 bank to Marc Santoro. -[info][2025/06/11 22:04:58]: [CRO67821] marc requested Marc Santoro. -[info][2025/06/11 22:06:45]: [JCQ27225] campers requested Dr.Kimberly Smith. -[info][2025/06/11 22:09:15]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Fist causing 27 damage. -[info][2025/06/11 22:28:49]: [UGO12804] Aimed at Torben Schmitz (YXR32491) with Special Carbine. -[info][2025/06/11 22:28:55]: [UGO12804] Aimed at Dr.Demon Campers (OHM07543) with Special Carbine. -[info][2025/06/11 22:31:57]: [NFS31447] campers requested Turtle Kaya. -[info][2025/06/11 22:52:47]: [JCQ27225] campers requested Dr.Kimberly Smith. -[info][2025/06/11 22:55:04]: [CRO67821] Got hit by Turtle Kaya (NFS31447) with Fist causing 20 damage. -[info][2025/06/11 22:55:09]: [CRO67821] Got hit by Turtle Kaya (NFS31447) with Fist causing 20 damage. -[info][2025/06/11 22:55:10]: [CRO67821] Got hit by Turtle Kaya (NFS31447) with Fist causing 20 damage. -[info][2025/06/11 22:55:11]: [CRO67821] Got hit by Turtle Kaya (NFS31447) with Fist causing 20 damage. -[info][2025/06/11 23:16:24]: [QZA16540] Got hit by Steven Steppenwolf (JQK75222) with Fist causing 20 damage. -[info][2025/06/11 23:16:30]: [JQK75222] Got hit by Edward Teach (QZA16540) with Fist causing 20 damage. -[info][2025/06/11 23:38:31]: [CRO67821] Aimed at Dr.Kimberly Smith (JCQ27225) with Assault Rifle. -[info][2025/06/11 23:39:53]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/06/11 23:39:56]: [OHM07543] campers changed meta thirst for Dr.Demon Campers to 100. -[info][2025/06/11 23:39:56]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/06/11 23:39:56]: [OHM07543] campers changed meta hunger for Dr.Demon Campers to 100. -[info][2025/06/11 23:39:56]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/06/11 23:40:01]: [OHM07543] campers changed meta stress for Dr.Demon Campers to 0. -[info][2025/06/11 23:40:01]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/06/11 23:40:15]: [UGO12804] campers requested Mark Petrol. -[info][2025/06/11 23:40:18]: [UGO12804] campers changed meta thirst for Mark Petrol to 100. -[info][2025/06/11 23:40:18]: [UGO12804] campers requested Mark Petrol. -[info][2025/06/11 23:40:18]: [UGO12804] campers changed meta hunger for Mark Petrol to 100. -[info][2025/06/11 23:40:18]: [UGO12804] campers requested Mark Petrol. -[info][2025/06/11 23:40:37]: [JQK75222] campers requested Steven Steppenwolf. -[info][2025/06/11 23:40:39]: [JQK75222] campers changed meta thirst for Steven Steppenwolf to 100. -[info][2025/06/11 23:40:39]: [JQK75222] campers requested Steven Steppenwolf. -[info][2025/06/11 23:40:40]: [JQK75222] campers changed meta hunger for Steven Steppenwolf to 100. -[info][2025/06/11 23:40:40]: [JQK75222] campers requested Steven Steppenwolf. -[info][2025/06/11 23:41:42]: [CRO67821] marc changed charinfo for Marc Santoro. -[info][2025/06/11 23:41:42]: [CRO67821] marc requested Marc Santoro. -[info][2025/06/12 00:01:17]: [JCQ27225] campers requested Dr.Kimberly Smith. -[info][2025/06/12 00:01:35]: [JQK75222] Got hit by Dr.Demon Campers (OHM07543) with Fist causing 21 damage. -[info][2025/06/12 00:11:15]: [OHM07543] Aimed at Victoria Ann (GNR11868) with Special Carbine. -[info][2025/06/12 00:11:16]: [OHM07543] Aimed at Scarlett Shelby (KVN10675) with Special Carbine. -[info][2025/06/12 00:11:18]: [CRO67821] Aimed at Dr.Demon Campers (OHM07543) with Assault Rifle. -[info][2025/06/12 00:11:36]: [CRO67821] Aimed at Victoria Ann (GNR11868) with Assault Rifle. -[info][2025/06/12 00:15:02]: [OHM07543] Aimed at Mark Petrol (UGO12804) with SNS Pistol Mk II. -[info][2025/06/12 00:15:03]: [UGO12804] Got hit by Dr.Demon Campers (OHM07543) with SNS Pistol MK2 causing 29 damage. -[info][2025/06/12 00:15:06]: [JCQ27225] Aimed at Dr.Demon Campers (OHM07543) with AP Pistol. -[info][2025/06/12 00:15:08]: [JCQ27225] Aimed at Steven Steppenwolf (JQK75222) with AP Pistol. -[info][2025/06/12 00:15:09]: [OHM07543] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 24 damage. -[info][2025/06/12 00:15:09]: [OHM07543] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/06/12 00:15:09]: [OHM07543] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/06/12 00:15:09]: [OHM07543] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/06/12 00:15:10]: [OHM07543] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/06/12 00:15:10]: [OHM07543] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/06/12 00:15:10]: [JCQ27225] Aimed at Dr.Demon Campers (OHM07543) with AP Pistol. -[info][2025/06/12 00:15:10]: [OHM07543] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/06/12 00:15:10]: [OHM07543] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/06/12 00:15:10]: [OHM07543] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/06/12 00:15:12]: [OHM07543] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/06/12 00:15:13]: [OHM07543] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/06/12 00:15:13]: [OHM07543] Aimed at Mark Petrol (UGO12804) with SNS Pistol Mk II. -[info][2025/06/12 00:15:15]: [JCQ27225] Aimed at Dr.Demon Campers (OHM07543) with AP Pistol. -[info][2025/06/12 00:15:22]: [GNR11868] Aimed at Dr.Kimberly Smith (JCQ27225) with Special Carbine. -[info][2025/06/12 00:15:23]: [JCQ27225] Got killed by Victoria Ann (GNR11868) with Special Carbine causing 399 damage. -[info][2025/06/12 00:15:34]: [OHM07543] Aimed at Dr.Kimberly Smith (JCQ27225) with SNS Pistol Mk II. -[info][2025/06/12 00:15:36]: [JCQ27225] Got hit by Dr.Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/06/12 00:15:42]: [JCQ27225] Aimed at Victoria Ann (GNR11868) with Carbine Rifle. -[info][2025/06/12 00:15:43]: [GNR11868] Got hit by Dr.Kimberly Smith (JCQ27225) with Carbine Rifle causing 31 damage. -[info][2025/06/12 00:15:43]: [GNR11868] Got hit by Dr.Kimberly Smith (JCQ27225) with Carbine Rifle causing 18 damage. -[info][2025/06/12 00:15:43]: [GNR11868] Got hit by Dr.Kimberly Smith (JCQ27225) with Carbine Rifle causing 15 damage. -[info][2025/06/12 00:15:44]: [GNR11868] Got hit by Dr.Kimberly Smith (JCQ27225) with Carbine Rifle causing 18 damage. -[info][2025/06/12 00:15:44]: [GNR11868] Got killed by Dr.Kimberly Smith (JCQ27225) with Carbine Rifle causing 252 damage. -[info][2025/06/12 00:15:44]: [JCQ27225] Got hit by Dr.Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/06/12 00:15:45]: [JCQ27225] Got hit by Dr.Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/06/12 00:15:45]: [OHM07543] Aimed at Dr.Kimberly Smith (JCQ27225) with SNS Pistol Mk II. -[info][2025/06/12 00:15:49]: [JCQ27225] Got hit by Dr.Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/06/12 00:15:55]: [JCQ27225] Aimed at Marc Santoro (CRO67821) with Carbine Rifle. -[info][2025/06/12 00:15:55]: [OHM07543] Aimed at Dr.Kimberly Smith (JCQ27225) with SNS Pistol Mk II. -[info][2025/06/12 00:15:56]: [JCQ27225] Got hit by Dr.Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/06/12 00:15:58]: [JCQ27225] Aimed at Victoria Ann (GNR11868) with Carbine Rifle. -[info][2025/06/12 00:16:01]: [OHM07543] Aimed at Scarlett Shelby (KVN10675) with SNS Pistol Mk II. -[info][2025/06/12 00:32:36]: [CRO67821] marc changed meta hunger for Marc Santoro to 100. -[info][2025/06/12 00:32:36]: [CRO67821] marc requested Marc Santoro. -[info][2025/06/12 00:32:37]: [CRO67821] marc changed meta thirst for Marc Santoro to 100. -[info][2025/06/12 00:32:37]: [CRO67821] marc requested Marc Santoro. -[info][2025/06/12 00:32:43]: [CRO67821] marc changed meta thirst for Marc Santoro to 100. -[info][2025/06/12 00:32:43]: [CRO67821] marc requested Marc Santoro. -[info][2025/06/12 00:33:00]: [CRO67821] Got hit by Dr.Demon Campers (OHM07543) with Fist causing 20 damage. -[info][2025/06/12 00:54:28]: [OHM07543] Got hit by Mark Petrol (UGO12804) with Fist causing 21 damage. -[info][2025/06/12 00:54:32]: [GNR11868] Got hit by Steven Steppenwolf (JQK75222) with Fist causing 0 damage. -[info][2025/06/12 00:54:33]: [UGO12804] Got hit by Dr.Demon Campers (OHM07543) with Fist causing 20 damage. -[info][2025/06/12 00:54:34]: [UGO12804] Got hit by Dr.Demon Campers (OHM07543) with Fist causing 25 damage. -[info][2025/06/12 00:54:35]: [OHM07543] Got hit by Mark Petrol (UGO12804) with Fist causing 27 damage. -[info][2025/06/12 00:54:36]: [UGO12804] Got hit by Dr.Demon Campers (OHM07543) with Fist causing 20 damage. -[info][2025/06/12 00:54:36]: [JQK75222] Got hit by Mark Petrol (UGO12804) with Fist causing 0 damage. -[info][2025/06/12 00:54:37]: [UGO12804] Got hit by Dr.Demon Campers (OHM07543) with Fist causing 0 damage. -[info][2025/06/12 00:54:38]: [UGO12804] Got hit by Dr.Demon Campers (OHM07543) with Fist causing 20 damage. -[info][2025/06/12 00:54:38]: [JQK75222] Got hit by Mark Petrol (UGO12804) with Fist causing 21 damage. -[info][2025/06/12 00:54:39]: [OHM07543] Got hit by Mark Petrol (UGO12804) with Fist causing 0 damage. -[info][2025/06/12 00:54:40]: [OHM07543] Got hit by Mark Petrol (UGO12804) with Fist causing 21 damage. -[info][2025/06/12 00:54:41]: [OHM07543] Got hit by Mark Petrol (UGO12804) with Fist causing 27 damage. -[info][2025/06/12 00:54:43]: [UGO12804] Got killed by Dr.Demon Campers (OHM07543) with Fist causing 20 damage. -[info][2025/06/12 00:54:44]: [UGO12804] Got hit by Dr.Demon Campers (OHM07543) with Fist causing 0 damage. -[info][2025/06/12 00:54:44]: [GNR11868] Aimed at Mark Petrol (UGO12804) with Combat Shotgun. -[info][2025/06/12 00:54:45]: [OHM07543] Got killed by Victoria Ann (GNR11868) with Combat Shotgun causing 3516 damage. -[info][2025/06/12 00:54:46]: [GNR11868] Aimed at Mark Petrol (UGO12804) with Combat Shotgun. -[info][2025/06/12 00:54:48]: [GNR11868] Aimed at Steven Steppenwolf (JQK75222) with Combat Shotgun. -[info][2025/06/12 00:55:06]: [OHM07543] Aimed at Victoria Ann (GNR11868) with Special Carbine. -[info][2025/06/12 00:55:08]: [GNR11868] Got killed by Dr.Demon Campers (OHM07543) with Special Carbine causing 302 damage. -[info][2025/06/12 01:10:08]: [CRO67821] Got killed by Lucifer Morningstar (BCK05564) with Explosion causing 500 damage. -[info][2025/06/12 01:16:30]: [BCK05564] marc requested Lucifer Morningstar. -[info][2025/06/12 01:16:32]: [BCK05564] marc requested player vehicles. -[info][2025/06/12 01:16:53]: [BCK05564] marc requested Lucifer Morningstar. -[info][2025/06/12 01:17:45]: [KVN10675] marc requested Scarlett Shelby. -[info][2025/06/12 01:17:47]: [KVN10675] marc requested player vehicles. -[info][2025/06/12 01:18:37]: [KVN10675] marc requested Scarlett Shelby. -[info][2025/06/12 01:18:44]: [UGO12804] marc requested Mark Petrol. -[info][2025/06/12 01:18:45]: [UGO12804] marc requested player vehicles. -[info][2025/06/12 01:18:50]: [NAJ08324] marc requested Ali Bratke. -[info][2025/06/12 01:18:53]: [NAJ08324] marc requested player vehicles. -[info][2025/06/12 01:18:59]: [NAJ08324] marc requested Ali Bratke. -[info][2025/06/12 01:19:06]: [KVN10675] marc requested Scarlett Shelby. -[info][2025/06/12 01:19:08]: [KVN10675] marc requested player vehicles. -[info][2025/06/12 01:19:14]: [KVN10675] marc requested Scarlett Shelby. -[info][2025/06/12 01:19:20]: [CRO67821] marc requested Marc Santoro. -[info][2025/06/12 01:19:22]: [CRO67821] marc requested player vehicles. -[info][2025/06/12 01:19:28]: [CRO67821] marc requested Marc Santoro. -[info][2025/06/12 01:19:29]: [CRO67821] marc requested player vehicles. -[info][2025/06/12 01:19:35]: [CRO67821] marc requested Marc Santoro. -[info][2025/06/12 01:19:37]: [CRO67821] marc requested player vehicles. -[info][2025/06/12 01:19:43]: [CRO67821] marc requested Marc Santoro. -[info][2025/06/12 01:19:49]: [BCK05564] marc requested Lucifer Morningstar. -[info][2025/06/12 01:19:52]: [BCK05564] marc requested player vehicles. -[info][2025/06/12 01:19:58]: [BCK05564] marc requested Lucifer Morningstar. -[info][2025/06/12 01:20:03]: [CRO67821] marc requested Marc Santoro. -[info][2025/06/12 01:20:05]: [CRO67821] marc requested player vehicles. -[info][2025/06/12 01:20:09]: [CRO67821] marc requested Marc Santoro. -[info][2025/06/12 01:20:10]: [CRO67821] marc requested player vehicles. -[info][2025/06/12 01:20:14]: [CRO67821] marc requested Marc Santoro. -[info][2025/06/12 01:20:16]: [CRO67821] marc requested player vehicles. -[info][2025/06/12 01:20:21]: [CRO67821] marc requested Marc Santoro. -[info][2025/06/12 01:20:30]: [KVN10675] marc requested Scarlett Shelby. -[info][2025/06/12 01:20:32]: [KVN10675] marc requested player vehicles. -[info][2025/06/12 01:25:57]: [CRO67821] Got hit by Scarlett Shelby (KVN10675) with Fist causing 21 damage. -[info][2025/06/12 01:26:07]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Fist causing 21 damage. -[info][2025/06/12 01:26:13]: [CRO67821] Got hit by Scarlett Shelby (KVN10675) with Fist causing 21 damage. -[info][2025/06/12 01:26:53]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Fist causing 21 damage. -[info][2025/06/12 01:27:12]: [CRO67821] Got hit by Scarlett Shelby (KVN10675) with Fist causing 0 damage. -[info][2025/06/12 01:27:15]: [CRO67821] Got hit by Scarlett Shelby (KVN10675) with Fist causing 21 damage. -[info][2025/06/12 01:27:17]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Fist causing 21 damage. -[info][2025/06/12 01:27:18]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Fist causing 21 damage. -[info][2025/06/12 01:27:19]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Fist causing 0 damage. -[info][2025/06/12 01:27:20]: [KVN10675] Got killed by Marc Santoro (CRO67821) with Fist causing 21 damage. -[info][2025/06/12 01:27:39]: [CRO67821] Aimed at Scarlett Shelby (KVN10675) with Assault Rifle. -[info][2025/06/12 01:27:41]: [CRO67821] Got hit by Scarlett Shelby (KVN10675) with Fist causing 21 damage. -[info][2025/06/12 01:27:43]: [CRO67821] Aimed at Scarlett Shelby (KVN10675) with Assault Rifle. -[info][2025/06/12 01:28:11]: [CRO67821] Got hit by Scarlett Shelby (KVN10675) with Fist causing 21 damage. -[info][2025/06/12 01:28:12]: [CRO67821] Aimed at Scarlett Shelby (KVN10675) with Assault Rifle. -[info][2025/06/12 01:28:13]: [KVN10675] Got killed by Marc Santoro (CRO67821) with Assault Rifle causing 454 damage. -[info][2025/06/12 01:28:13]: [CRO67821] Got hit by Scarlett Shelby (KVN10675) with Fist causing 21 damage. -[info][2025/06/12 01:31:43]: [QZA16540] nordi requested Edward Teach. -[info][2025/06/12 01:33:02]: [CRO67821] nordi requested Marc Santoro. -[info][2025/06/12 01:33:11]: [CRO67821] nordi viewed inventory. -[info][2025/06/12 01:35:30]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Fist causing 21 damage. -[info][2025/06/12 01:36:04]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Fist causing 21 damage. -[info][2025/06/12 01:36:13]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Fist causing 21 damage. -[info][2025/06/12 01:36:33]: [CRO67821] Got hit by Scarlett Shelby (KVN10675) with Fist causing 21 damage. -[info][2025/06/12 01:40:05]: [KVN10675] Got killed by Marc Santoro (CRO67821) with Assault Rifle causing 454 damage. -[info][2025/06/12 01:40:05]: [CRO67821] Aimed at Scarlett Shelby (KVN10675) with Assault Rifle. -[info][2025/06/12 01:56:05]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Fist causing 26 damage. -[info][2025/06/12 01:57:40]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Fist causing 0 damage. -[info][2025/06/12 02:24:31]: [KVN10675] Got killed by Marc Santoro (CRO67821) with Explosion causing 9999 damage. -[info][2025/06/12 02:28:17]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Fist causing 20 damage. -[info][2025/06/12 02:39:27]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Fist causing 0 damage. -[info][2025/06/12 02:39:58]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Fist causing 20 damage. -[info][2025/06/12 02:40:05]: [JCQ27225] Aimed at Marc Santoro (CRO67821) with Stun Gun. -[info][2025/06/12 02:40:05]: [CRO67821] Got hit by Dr.Kimberly Smith (JCQ27225) with Stun Gun causing 1 damage. -[info][2025/06/12 02:40:12]: [JCQ27225] Aimed at Marc Santoro (CRO67821) with Stun Gun. -[info][2025/06/12 02:40:13]: [CRO67821] Got hit by Dr.Kimberly Smith (JCQ27225) with Stun Gun causing 0 damage. -[info][2025/06/12 02:40:37]: [JCQ27225] Aimed at Scarlett Shelby (KVN10675) with Stun Gun. -[info][2025/06/12 02:40:39]: [JCQ27225] Aimed at Marc Santoro (CRO67821) with Stun Gun. -[info][2025/06/12 02:40:39]: [CRO67821] Got hit by Dr.Kimberly Smith (JCQ27225) with Stun Gun causing 0 damage. -[info][2025/06/12 02:41:01]: [JCQ27225] Aimed at Scarlett Shelby (KVN10675) with Stun Gun. -[info][2025/06/12 02:41:04]: [JCQ27225] Aimed at Marc Santoro (CRO67821) with Stun Gun. -[info][2025/06/12 02:41:06]: [JCQ27225] Got killed by Marc Santoro (CRO67821) with Assault Rifle causing 454 damage. -[info][2025/06/12 02:41:58]: [CRO67821] marc requested Marc Santoro. -[info][2025/06/12 02:42:08]: [CRO67821] marc changed charinfo for Marc Santoro. -[info][2025/06/12 02:42:08]: [CRO67821] marc requested Marc Santoro. -[info][2025/06/12 02:49:35]: [CRO67821] Got hit by Scarlett Shelby (KVN10675) with Fist causing 20 damage. -[info][2025/06/12 02:49:57]: [CRO67821] Got hit by Scarlett Shelby (KVN10675) with Fist causing 20 damage. -[info][2025/06/12 02:50:06]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Fist causing 20 damage. -[info][2025/06/12 02:50:10]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Fist causing 20 damage. -[info][2025/06/12 02:50:11]: [CRO67821] Got hit by Scarlett Shelby (KVN10675) with Fist causing 20 damage. -[info][2025/06/12 02:50:14]: [CRO67821] Got hit by Scarlett Shelby (KVN10675) with Fist causing 26 damage. -[info][2025/06/12 02:50:18]: [CRO67821] Got hit by Scarlett Shelby (KVN10675) with Fist causing 20 damage. -[info][2025/06/12 02:50:21]: [CRO67821] Got killed by Scarlett Shelby (KVN10675) with Fist causing 20 damage. -[info][2025/06/12 02:50:30]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Fist causing 20 damage. -[info][2025/06/12 02:50:31]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Fist causing 25 damage. -[info][2025/06/12 02:50:33]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Fist causing 25 damage. -[info][2025/06/12 02:50:36]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Fist causing 20 damage. -[info][2025/06/12 02:50:39]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Fist causing 20 damage. -[info][2025/06/12 02:50:43]: [KVN10675] Got killed by Marc Santoro (CRO67821) with Fist causing 20 damage. -[info][2025/06/12 02:52:04]: [CRO67821] Aimed at Scarlett Shelby (KVN10675) with Assault Rifle. -[info][2025/06/12 08:56:31]: [PEM05356] Got hit by Ben Decker (PEM05356) with Fist causing 0 damage. -[info][2025/06/12 12:26:45]: [CRO67821] Aimed at Scarlett Shelby (KVN10675) with Assault Rifle. -[info][2025/06/12 12:26:46]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Assault Rifle causing 57 damage. -[info][2025/06/12 12:49:16]: [GNR11868] Got hit by Ben Decker (PEM05356) with Fist causing 0 damage. -[info][2025/06/12 14:12:34]: [VDC67779] Got hit by Marc Santoro (CRO67821) with Fist causing 21 damage. -[info][2025/06/12 14:25:25]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Fist causing 21 damage. -[info][2025/06/12 14:37:27]: [CRO67821] Got hit by Scarlett Shelby (KVN10675) with Fist causing 20 damage. -[info][2025/06/12 14:41:08]: [JCQ27225] Aimed at Scarlett Shelby (KVN10675) with Stun Gun. -[info][2025/06/12 14:41:10]: [JCQ27225] Aimed at Marc Santoro (CRO67821) with Stun Gun. -[info][2025/06/12 14:41:41]: [GNR11868] Got hit by Ben Decker (PEM05356) with Fist causing 20 damage. -[info][2025/06/12 14:55:00]: [BCK05564] Got hit by Scarlett Shelby (KVN10675) with Fist causing 20 damage. -[info][2025/06/12 14:55:03]: [KVN10675] Got hit by Lucifer Morningstar (BCK05564) with Fist causing 21 damage. -[info][2025/06/12 14:55:06]: [BCK05564] Got hit by Scarlett Shelby (KVN10675) with Fist causing 25 damage. -[info][2025/06/12 14:55:08]: [BCK05564] Got hit by Scarlett Shelby (KVN10675) with Fist causing 25 damage. -[info][2025/06/12 14:55:11]: [KVN10675] Got hit by Lucifer Morningstar (BCK05564) with Fist causing 21 damage. -[info][2025/06/12 14:55:12]: [CRO67821] Aimed at Scarlett Shelby (KVN10675) with Assault Rifle. -[info][2025/06/12 14:55:13]: [BCK05564] Got hit by Scarlett Shelby (KVN10675) with Fist causing 25 damage. -[info][2025/06/12 14:55:13]: [BCK05564] Got killed by Marc Santoro (CRO67821) with Assault Rifle causing 454 damage. -[info][2025/06/12 14:55:15]: [CRO67821] Aimed at Lucifer Morningstar (BCK05564) with Assault Rifle. -[info][2025/06/12 14:55:15]: [BCK05564] Got killed by Scarlett Shelby (KVN10675) with Fist causing 20 damage. -[info][2025/06/12 14:55:54]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Fist causing 27 damage. -[info][2025/06/12 14:55:59]: [KVN10675] Got killed by Marc Santoro (CRO67821) with Fist causing 0 damage. -[info][2025/06/12 14:56:20]: [KVN10675] Got killed by Marc Santoro (CRO67821) with Fist causing 0 damage. -[info][2025/06/12 14:56:37]: [BCK05564] Got killed by Marc Santoro (CRO67821) with Fist causing 0 damage. -[info][2025/06/12 14:56:44]: [CRO67821] Got hit by Lucifer Morningstar (BCK05564) with Fist causing 21 damage. -[info][2025/06/12 14:56:45]: [CRO67821] Got hit by Lucifer Morningstar (BCK05564) with Fist causing 0 damage. -[info][2025/06/12 14:56:46]: [CRO67821] Got hit by Lucifer Morningstar (BCK05564) with Fist causing 21 damage. -[info][2025/06/12 14:56:47]: [CRO67821] Got hit by Lucifer Morningstar (BCK05564) with Fist causing 21 damage. -[info][2025/06/12 14:56:48]: [CRO67821] Got hit by Lucifer Morningstar (BCK05564) with Fist causing 21 damage. -[info][2025/06/12 14:56:52]: [CRO67821] Got killed by Lucifer Morningstar (BCK05564) with Fist causing 26 damage. -[info][2025/06/12 14:58:32]: [CRO67821] Aimed at Lucifer Morningstar (BCK05564) with Assault Rifle. -[info][2025/06/12 14:58:32]: [BCK05564] Got killed by Marc Santoro (CRO67821) with Assault Rifle causing 454 damage. -[info][2025/06/12 14:58:40]: [CRO67821] Got hit by Lucifer Morningstar (BCK05564) with Fist causing 0 damage. -[info][2025/06/12 14:58:45]: [CRO67821] Aimed at Lucifer Morningstar (BCK05564) with Assault Rifle. -[info][2025/06/12 14:58:47]: [CRO67821] Aimed at Lucifer Morningstar (BCK05564) with Assault Rifle. -[info][2025/06/12 14:58:49]: [CRO67821] Aimed at Scarlett Shelby (KVN10675) with Assault Rifle. -[info][2025/06/12 14:58:51]: [CRO67821] Aimed at Lucifer Morningstar (BCK05564) with Assault Rifle. -[info][2025/06/12 14:58:52]: [BCK05564] Got killed by Marc Santoro (CRO67821) with Assault Rifle causing 395 damage. -[info][2025/06/12 15:02:11]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Fist causing 21 damage. -[info][2025/06/12 15:02:16]: [CRO67821] Got hit by Scarlett Shelby (KVN10675) with Fist causing 20 damage. -[info][2025/06/12 15:02:18]: [CRO67821] Got hit by Scarlett Shelby (KVN10675) with Fist causing 0 damage. -[info][2025/06/12 15:27:37]: [UGO12804] Got hit by Dr.Kimberly Smith (JCQ27225) with Fist causing 20 damage. -[info][2025/06/12 15:44:27]: [CRO67821] Aimed at Scarlett Shelby (KVN10675) with null. -[info][2025/06/12 15:44:34]: [KVN10675] Got hit by Marc Santoro (CRO67821) with undefined causing 0 damage. -[info][2025/06/12 15:44:36]: [KVN10675] Got hit by Marc Santoro (CRO67821) with undefined causing 0 damage. -[info][2025/06/12 15:44:36]: [CRO67821] Aimed at Scarlett Shelby (KVN10675) with null. -[info][2025/06/12 15:45:03]: [CRO67821] Aimed at Scarlett Shelby (KVN10675) with null. -[info][2025/06/12 15:45:03]: [KVN10675] Got hit by Marc Santoro (CRO67821) with undefined causing 0 damage. -[info][2025/06/12 15:48:42]: [KVN10675] Got hit by Marc Santoro (CRO67821) with undefined causing 0 damage. -[info][2025/06/12 15:48:43]: [CRO67821] Aimed at Scarlett Shelby (KVN10675) with null. -[info][2025/06/12 15:48:44]: [KVN10675] Got hit by Marc Santoro (CRO67821) with undefined causing 0 damage. -[info][2025/06/12 15:48:45]: [CRO67821] Aimed at Scarlett Shelby (KVN10675) with null. -[info][2025/06/12 21:05:11]: [GNR11868] Got hit by Tom Keller (BJS65758) with Fist causing 21 damage. -[info][2025/06/12 21:10:18]: [UGO12804] max requested Mark Petrol. -[info][2025/06/12 21:10:22]: [UGO12804] max changed meta thirst for Mark Petrol to 100. -[info][2025/06/12 21:10:22]: [UGO12804] max requested Mark Petrol. -[info][2025/06/12 21:10:23]: [UGO12804] max changed meta hunger for Mark Petrol to 100. -[info][2025/06/12 21:10:23]: [UGO12804] max requested Mark Petrol. -[info][2025/06/12 21:10:32]: [OUM83660] max requested Tomasz Adamczyk. -[info][2025/06/12 21:10:36]: [OUM83660] max changed meta thirst for Tomasz Adamczyk to 100. -[info][2025/06/12 21:10:36]: [OUM83660] max requested Tomasz Adamczyk. -[info][2025/06/12 21:10:37]: [OUM83660] max changed meta hunger for Tomasz Adamczyk to 100. -[info][2025/06/12 21:10:37]: [OUM83660] max requested Tomasz Adamczyk. -[info][2025/06/12 21:10:46]: [BJS65758] max requested Tom Keller. -[info][2025/06/12 21:10:50]: [BJS65758] max changed meta thirst for Tom Keller to 100. -[info][2025/06/12 21:10:50]: [BJS65758] max requested Tom Keller. -[info][2025/06/12 21:10:51]: [BJS65758] max changed meta hunger for Tom Keller to 100. -[info][2025/06/12 21:10:51]: [BJS65758] max requested Tom Keller. -[info][2025/06/12 21:11:02]: [GNR11868] max requested Victoria Ann. -[info][2025/06/12 21:11:06]: [GNR11868] max changed meta thirst for Victoria Ann to 100. -[info][2025/06/12 21:11:06]: [GNR11868] max requested Victoria Ann. -[info][2025/06/12 21:11:06]: [GNR11868] max changed meta hunger for Victoria Ann to 100. -[info][2025/06/12 21:11:06]: [GNR11868] max requested Victoria Ann. -[info][2025/06/12 21:11:16]: [MID28531] max requested Loona Santana. -[info][2025/06/12 21:11:22]: [MID28531] max changed meta thirst for Loona Santana to 100. -[info][2025/06/12 21:11:22]: [MID28531] max requested Loona Santana. -[info][2025/06/12 21:11:23]: [MID28531] max changed meta hunger for Loona Santana to 100. -[info][2025/06/12 21:11:23]: [MID28531] max requested Loona Santana. -[info][2025/06/12 21:25:45]: [OUM83660] Got killed by Tom Keller (BJS65758) with Fist causing 0 damage. -[info][2025/06/12 21:47:57]: [BJS65758] Got hit by Dr.Kimberly Smith (JCQ27225) with Fist causing 20 damage. -[info][2025/06/12 22:11:49]: [OUM83660] nordi requested Tomasz Adamczyk. -[info][2025/06/12 22:12:06]: [OUM83660] nordi gave 600000 bank to Tomasz Adamczyk. -[info][2025/06/12 22:12:06]: [OUM83660] nordi requested Tomasz Adamczyk. -[info][2025/06/12 22:20:53]: [OUM83660] Got hit by Tom Keller (BJS65758) with Fist causing 20 damage. -[info][2025/06/12 22:53:08]: [OUM83660] Got hit by Real Falkard (WEQ57654) with Fist causing 21 damage. -[info][2025/06/12 22:54:21]: [OUM83660] Got hit by Real Falkard (WEQ57654) with Fist causing 21 damage. -[info][2025/06/12 22:55:02]: [OUM83660] Got hit by Real Falkard (WEQ57654) with Fist causing 21 damage. -[info][2025/06/12 22:55:23]: [OUM83660] Got hit by Tom Keller (BJS65758) with Fist causing 21 damage. -[info][2025/06/12 23:14:35]: [OUM83660] Got hit by Victoria Ann (GNR11868) with Fist causing 20 damage. -[info][2025/06/12 23:32:36]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/12 23:32:37]: [JCQ27225] nordi requested player vehicles. -[info][2025/06/12 23:34:28]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/12 23:34:31]: [JCQ27225] nordi requested player vehicles. -[info][2025/06/12 23:45:02]: [JCQ27225] Got hit by Ali Bratke (NAJ08324) with Fist causing 21 damage. -[info][2025/06/13 00:01:39]: [BJS65758] Got hit by Victoria Ann (GNR11868) with Fist causing 20 damage. -[info][2025/06/13 00:02:25]: [MID28531] Got hit by Tom Keller (BJS65758) with Fist causing 25 damage. -[info][2025/06/13 00:16:51]: [KOK33025] Got hit by Eylül Kaya (KOK33025) with Fist causing 17 damage. -[info][2025/06/13 00:19:46]: [MID28531] nordi requested Loona Santana. -[info][2025/06/13 00:19:48]: [MID28531] nordi requested player vehicles. -[info][2025/06/13 01:21:11]: [MID28531] Got hit by Tom Keller (BJS65758) with Fist causing 20 damage. -[info][2025/06/13 01:52:46]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/13 01:52:47]: [JCQ27225] nordi requested player vehicles. -[info][2025/06/13 01:53:11]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/13 01:53:14]: [JCQ27225] nordi requested player vehicles. -[info][2025/06/13 01:56:36]: [BJS65758] marc requested Tom Keller. -[info][2025/06/13 01:57:02]: [BJS65758] marc gave 1000000000 cash to Tom Keller. -[info][2025/06/13 01:57:02]: [BJS65758] marc requested Tom Keller. -[info][2025/06/13 01:57:18]: [MID28531] marc requested Loona Santana. -[info][2025/06/13 01:57:25]: [MID28531] marc gave 1000000000 cash to Loona Santana. -[info][2025/06/13 01:57:25]: [MID28531] marc requested Loona Santana. -[info][2025/06/13 02:39:28]: [CRO67821] Got hit by Mark Petrol (UGO12804) with Fist causing 0 damage. -[info][2025/06/13 04:58:28]: [CRO67821] marc requested Marc Santoro. -[info][2025/06/13 04:58:30]: [CRO67821] marc changed meta thirst for Marc Santoro to 100. -[info][2025/06/13 04:58:30]: [CRO67821] marc requested Marc Santoro. -[info][2025/06/13 04:58:30]: [CRO67821] marc changed meta hunger for Marc Santoro to 100. -[info][2025/06/13 04:58:30]: [CRO67821] marc requested Marc Santoro. -[info][2025/06/13 04:58:31]: [CRO67821] marc changed meta stress for Marc Santoro to 0. -[info][2025/06/13 04:58:32]: [CRO67821] marc requested Marc Santoro. -[info][2025/06/13 04:58:34]: [CRO67821] marc changed meta armor for Marc Santoro to 100. -[info][2025/06/13 04:58:34]: [CRO67821] marc requested Marc Santoro. -[info][2025/06/13 08:22:10]: [BJS65758] Got hit by Tom Keller (BJS65758) with Fist causing 16 damage. -[info][2025/06/13 08:22:13]: [BJS65758] Got hit by Tom Keller (BJS65758) with Fist causing 16 damage. -[info][2025/06/13 09:10:15]: [BCK05564] Got hit by Tom Keller (BJS65758) with Fist causing 21 damage. -[info][2025/06/13 09:26:43]: [MID28531] Got hit by Lucifer Morningstar (BCK05564) with Fist causing 25 damage. -[info][2025/06/13 11:51:55]: [VDC50704] Got hit by Chester Sinister (VDC50704) with Fist causing 18 damage. -[info][2025/06/13 11:52:01]: [VDC50704] Got hit by Chester Sinister (VDC50704) with Fist causing 14 damage. -[info][2025/06/13 11:52:05]: [VDC50704] Got hit by Chester Sinister (VDC50704) with Fist causing 14 damage. -[info][2025/06/13 11:52:14]: [VDC50704] Got hit by Chester Sinister (VDC50704) with Fist causing 14 damage. -[info][2025/06/13 11:52:19]: [VDC50704] Got hit by Chester Sinister (VDC50704) with Fist causing 0 damage. -[info][2025/06/13 12:12:57]: [YXR32491] Got hit by Torben Schmitz (YXR32491) with Fist causing 16 damage. -[info][2025/06/13 12:13:00]: [YXR32491] Got hit by Torben Schmitz (YXR32491) with Fist causing 16 damage. -[info][2025/06/13 12:19:22]: [VDC50704] Got hit by Chester Sinister (VDC50704) with Fist causing 21 damage. -[info][2025/06/13 12:19:39]: [VDC50704] Got hit by Chester Sinister (VDC50704) with Fist causing 17 damage. -[info][2025/06/13 12:19:40]: [VDC50704] Got hit by Chester Sinister (VDC50704) with Fist causing 17 damage. -[info][2025/06/13 12:19:42]: [VDC50704] Got hit by Chester Sinister (VDC50704) with Fist causing 17 damage. -[info][2025/06/13 12:20:15]: [VDC50704] Got hit by Chester Sinister (VDC50704) with Fist causing 16 damage. -[info][2025/06/13 13:40:45]: [CRO67821] marc requested Marc Santoro. -[info][2025/06/13 13:44:10]: [PEM05356] marc requested Ben Decker. -[info][2025/06/13 13:44:32]: [PEM05356] marc requested Ben Decker. -[info][2025/06/13 14:26:24]: [YTA31880] Got hit by Marc Santoro (CRO67821) with Fist causing 26 damage. -[info][2025/06/13 14:36:01]: [UGO12804] Got hit by Torben Schmitz (YXR32491) with Fist causing 20 damage. -[info][2025/06/13 14:47:39]: [CRO67821] Got hit by Scarlett Shelby (KVN10675) with Fist causing 20 damage. -[info][2025/06/13 16:54:58]: [MID28531] Got hit by Tom Keller (BJS65758) with Fist causing 20 damage. -[info][2025/06/13 17:24:44]: [MID28531] Got hit by Tom Keller (BJS65758) with Fist causing 20 damage. -[info][2025/06/13 17:24:46]: [BJS65758] Got hit by Loona Santana (MID28531) with Fist causing 17 damage. -[info][2025/06/13 17:24:48]: [MID28531] Got hit by Tom Keller (BJS65758) with Fist causing 20 damage. -[info][2025/06/13 17:24:49]: [MID28531] Got hit by Loona Santana (MID28531) with Fist causing 17 damage. -[info][2025/06/13 17:24:49]: [BJS65758] Got hit by Loona Santana (MID28531) with Fist causing 17 damage. -[info][2025/06/13 17:24:50]: [BJS65758] Got hit by Loona Santana (MID28531) with Fist causing 16 damage. -[info][2025/06/13 17:29:55]: [CRO67821] mark requested Marc Santoro. -[info][2025/06/13 17:30:23]: [CRO67821] mark requested player vehicles. -[info][2025/06/13 17:35:34]: [BJS65758] Got hit by Loona Santana (MID28531) with Fist causing 20 damage. -[info][2025/06/13 19:38:17]: [PEM05356] Got hit by Dr.Boris Von Dragomir (PCC19872) with Fist causing 20 damage. -[info][2025/06/13 19:38:18]: [PEM05356] Got hit by Dr.Boris Von Dragomir (PCC19872) with Fist causing 25 damage. -[info][2025/06/13 19:38:20]: [PEM05356] Got hit by Dr.Boris Von Dragomir (PCC19872) with Fist causing 20 damage. -[info][2025/06/13 19:38:21]: [PEM05356] Got hit by Dr.Boris Von Dragomir (PCC19872) with Fist causing 20 damage. -[info][2025/06/13 19:38:21]: [PEM05356] Got killed by Dr.Boris Von Dragomir (PCC19872) with Fist causing 25 damage. -[info][2025/06/13 21:20:49]: [BJS65758] Got hit by Tom Keller (BJS65758) with Fist causing 20 damage. -[info][2025/06/13 21:27:32]: [YXR32491] Got hit by Mark Petrol (UGO12804) with Fist causing 25 damage. -[info][2025/06/13 21:30:22]: [UGO12804] Got hit by Torben Schmitz (YXR32491) with Fist causing 25 damage. -[info][2025/06/13 21:30:23]: [UGO12804] Got hit by Torben Schmitz (YXR32491) with Fist causing 25 damage. -[info][2025/06/13 21:30:26]: [UGO12804] Got hit by Torben Schmitz (YXR32491) with Fist causing 25 damage. -[info][2025/06/13 21:30:27]: [GNR11868] Got hit by Torben Schmitz (YXR32491) with Fist causing 20 damage. -[info][2025/06/13 21:30:31]: [UGO12804] Got hit by Torben Schmitz (YXR32491) with Fist causing 25 damage. -[info][2025/06/13 21:31:50]: [UGO12804] Got killed by Torben Schmitz (YXR32491) with Fist causing 25 damage. -[info][2025/06/13 21:31:51]: [UGO12804] Got killed by Torben Schmitz (YXR32491) with Fist causing 25 damage. -[info][2025/06/13 21:31:53]: [UGO12804] Got killed by Torben Schmitz (YXR32491) with Fist causing 25 damage. -[info][2025/06/13 21:31:54]: [UGO12804] Got killed by Torben Schmitz (YXR32491) with Fist causing 25 damage. -[info][2025/06/13 21:31:55]: [UGO12804] Got killed by Torben Schmitz (YXR32491) with Fist causing 25 damage. -[info][2025/06/13 22:04:22]: [GNR11868] Got hit by Mark Petrol (UGO12804) with Fist causing 0 damage. -[info][2025/06/13 22:04:25]: [GNR11868] Got hit by Victoria Ann (GNR11868) with Fist causing 14 damage. -[info][2025/06/13 23:05:27]: [OHM07543] Aimed at Torben Schmitz (YXR32491) with null. -[info][2025/06/13 23:05:29]: [OHM07543] Aimed at Torben Schmitz (YXR32491) with null. -[info][2025/06/13 23:05:36]: [OHM07543] Got hit by Torben Schmitz (YXR32491) with Fist causing 21 damage. -[info][2025/06/13 23:06:07]: [CRO67821] Aimed at Torben Schmitz (YXR32491) with Assault Rifle. -[info][2025/06/13 23:09:15]: [GNR11868] campers requested Victoria Ann. -[info][2025/06/13 23:09:16]: [GNR11868] campers requested player vehicles. -[info][2025/06/13 23:10:43]: [UGO12804] max requested Mark Petrol. -[info][2025/06/13 23:10:48]: [UGO12804] max changed meta thirst for Mark Petrol to 100. -[info][2025/06/13 23:10:48]: [UGO12804] max requested Mark Petrol. -[info][2025/06/13 23:10:48]: [UGO12804] max changed meta hunger for Mark Petrol to 100. -[info][2025/06/13 23:10:48]: [UGO12804] max requested Mark Petrol. -[info][2025/06/13 23:14:21]: [UGO12804] Got hit by Victoria Ann (GNR11868) with Fist causing 21 damage. -[info][2025/06/13 23:14:23]: [GNR11868] Got hit by Torben Schmitz (YXR32491) with Fist causing 21 damage. -[info][2025/06/13 23:14:23]: [GNR11868] Got hit by Torben Schmitz (YXR32491) with Fist causing 0 damage. -[info][2025/06/13 23:14:25]: [GNR11868] Got hit by Torben Schmitz (YXR32491) with Fist causing 21 damage. -[info][2025/06/13 23:14:26]: [GNR11868] Got killed by Torben Schmitz (YXR32491) with Fist causing 21 damage. -[info][2025/06/13 23:14:27]: [GNR11868] Got hit by Torben Schmitz (YXR32491) with Fist causing 21 damage. -[info][2025/06/13 23:14:27]: [OHM07543] Got hit by Torben Schmitz (YXR32491) with Fist causing 21 damage. -[info][2025/06/13 23:14:28]: [OHM07543] Got hit by Torben Schmitz (YXR32491) with Fist causing 26 damage. -[info][2025/06/13 23:14:30]: [OHM07543] Got hit by Torben Schmitz (YXR32491) with Fist causing 26 damage. -[info][2025/06/13 23:14:36]: [UGO12804] Got hit by Torben Schmitz (YXR32491) with Fist causing 21 damage. -[info][2025/06/13 23:14:38]: [UGO12804] Got hit by Torben Schmitz (YXR32491) with Fist causing 26 damage. -[info][2025/06/13 23:14:39]: [UGO12804] Got hit by Torben Schmitz (YXR32491) with Fist causing 0 damage. -[info][2025/06/13 23:14:40]: [UGO12804] Got hit by Torben Schmitz (YXR32491) with Fist causing 21 damage. -[info][2025/06/13 23:15:40]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/06/13 23:15:44]: [OHM07543] campers requested player vehicles. -[info][2025/06/13 23:16:38]: [GNR11868] campers requested Victoria Ann. -[info][2025/06/13 23:16:42]: [GNR11868] campers requested player vehicles. -[info][2025/06/13 23:17:03]: [GNR11868] campers requested Victoria Ann. -[info][2025/06/13 23:17:06]: [GNR11868] campers requested player vehicles. -[info][2025/06/13 23:17:11]: [GNR11868] campers requested Victoria Ann. -[info][2025/06/13 23:47:32]: [GNR11868] Got killed by Mark Petrol (UGO12804) with Explosion causing 500 damage. -[info][2025/06/14 00:51:24]: [GNR11868] campers requested Victoria Ann. -[info][2025/06/14 01:23:59]: [OHM07543] Got hit by Dr.Demon Campers (OHM07543) with Fist causing 20 damage. -[info][2025/06/14 01:24:00]: [OHM07543] Got hit by Dr.Demon Campers (OHM07543) with Fist causing 0 damage. -[info][2025/06/14 01:24:07]: [GNR11868] Got hit by Dr.Demon Campers (OHM07543) with undefined causing 34 damage. -[info][2025/06/14 01:24:08]: [OHM07543] Aimed at Victoria Ann (GNR11868) with null. -[info][2025/06/14 01:24:12]: [OHM07543] Got hit by Dr.Demon Campers (OHM07543) with Animal causing 30 damage. -[info][2025/06/14 01:27:44]: [NXE98489] Got killed by Umbra Lion (NXE98489) with Animal causing 224 damage. -[info][2025/06/14 01:27:50]: [REB37300] Got hit by Tom Keller (BJS65758) with Fist causing 19 damage. -[info][2025/06/14 01:34:05]: [OHM07543] Got hit by Dr.Demon Campers (OHM07543) with Animal causing 30 damage. -[info][2025/06/14 01:34:33]: [REB37300] Got hit by Dr.Demon Campers (OHM07543) with undefined causing 35 damage. -[info][2025/06/14 01:34:34]: [OHM07543] Aimed at Alex Scipo (REB37300) with null. -[info][2025/06/14 01:34:34]: [REB37300] Got hit by Dr.Demon Campers (OHM07543) with undefined causing 35 damage. -[info][2025/06/14 01:34:34]: [REB37300] Got hit by Dr.Demon Campers (OHM07543) with undefined causing 35 damage. -[info][2025/06/14 01:34:34]: [REB37300] Got hit by Dr.Demon Campers (OHM07543) with undefined causing 35 damage. -[info][2025/06/14 01:34:57]: [OHM07543] Got hit by Tom Keller (BJS65758) with Animal causing 37 damage. -[info][2025/06/14 01:35:16]: [OHM07543] Aimed at Alex Scipo (REB37300) with Heavy Revolver Mk II. -[info][2025/06/14 01:47:46]: [OHM07543] Aimed at Alex Scipo (REB37300) with Heavy Revolver Mk II. -[info][2025/06/14 01:47:46]: [REB37300] Got killed by Dr.Demon Campers (OHM07543) with Heavy Revolver MK2 causing 3785 damage. -[info][2025/06/14 01:48:36]: [GNR11868] campers requested Victoria Ann. -[info][2025/06/14 01:48:45]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/06/14 01:48:46]: [OHM07543] campers requested player vehicles. -[info][2025/06/14 01:49:04]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/06/14 01:49:06]: [OHM07543] campers requested player vehicles. -[info][2025/06/14 01:49:34]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/06/14 01:49:36]: [OHM07543] campers requested player vehicles. -[info][2025/06/14 02:13:18]: [REB37300] Aimed at Dr.Demon Campers (OHM07543) with SMG MK2. -[info][2025/06/14 02:13:26]: [REB37300] Aimed at Dr.Demon Campers (OHM07543) with SMG MK2. -[info][2025/06/14 02:13:33]: [REB37300] Aimed at Dr.Demon Campers (OHM07543) with SMG MK2. -[info][2025/06/14 02:13:47]: [REB37300] Aimed at Victoria Ann (GNR11868) with Assault Rifle. -[info][2025/06/14 02:13:51]: [REB37300] Aimed at Victoria Ann (GNR11868) with Assault Rifle. -[info][2025/06/14 02:13:53]: [REB37300] Aimed at Dr.Demon Campers (OHM07543) with Assault Rifle. -[info][2025/06/14 02:14:11]: [REB37300] Aimed at Dr.Demon Campers (OHM07543) with Assault Rifle. -[info][2025/06/14 02:14:19]: [REB37300] Aimed at Victoria Ann (GNR11868) with Assault Rifle. -[info][2025/06/14 02:24:13]: [JCQ27225] Aimed at Mark Petrol (UGO12804) with null. -[info][2025/06/14 02:24:14]: [UGO12804] Got hit by Dr.Kimberly Smith (JCQ27225) with undefined causing 0 damage. -[info][2025/06/14 02:24:15]: [UGO12804] Got hit by Dr.Kimberly Smith (JCQ27225) with undefined causing 0 damage. -[info][2025/06/14 02:30:01]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/06/14 20:24:13]: [JCQ27225] Got hit by Ben Decker (PEM05356) with Fist causing 20 damage. -[info][2025/06/14 20:24:54]: [JCQ27225] Got hit by Ben Decker (PEM05356) with Fist causing 20 damage. -[info][2025/06/14 20:36:33]: [PEM05356] Got hit by Dr.Boris Von Dragomir (PCC19872) with Fist causing 0 damage. -[info][2025/06/14 20:36:35]: [PEM05356] Got hit by Dr.Boris Von Dragomir (PCC19872) with Fist causing 21 damage. -[info][2025/06/14 20:36:36]: [PEM05356] Got hit by Dr.Boris Von Dragomir (PCC19872) with Fist causing 21 damage. -[info][2025/06/14 20:36:37]: [PEM05356] Got hit by Dr.Boris Von Dragomir (PCC19872) with Fist causing 27 damage. -[info][2025/06/14 20:36:41]: [PEM05356] Got hit by Dr.Boris Von Dragomir (PCC19872) with Fist causing 21 damage. -[info][2025/06/14 20:36:43]: [PEM05356] Got killed by Dr.Boris Von Dragomir (PCC19872) with Fist causing 21 damage. -[info][2025/06/14 20:45:31]: [PCC19872] Got hit by Ben Decker (PEM05356) with Fist causing 21 damage. -[info][2025/06/14 21:48:19]: [PEM05356] nordi requested Ben Decker. -[info][2025/06/14 21:48:20]: [PEM05356] nordi requested player vehicles. -[info][2025/06/14 21:48:39]: [PEM05356] nordi requested Ben Decker. -[info][2025/06/14 21:48:40]: [PEM05356] nordi requested player vehicles. -[info][2025/06/14 21:48:58]: [PEM05356] nordi requested Ben Decker. -[info][2025/06/14 21:49:00]: [PEM05356] nordi requested player vehicles. -[info][2025/06/14 21:49:10]: [PEM05356] nordi requested Ben Decker. -[info][2025/06/14 22:24:30]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/14 22:24:32]: [JCQ27225] nordi requested player vehicles. -[info][2025/06/14 22:46:20]: [QZA16540] Got hit by Edward Teach (QZA16540) with Fist causing 14 damage. -[info][2025/06/14 22:46:21]: [QZA16540] Got hit by Edward Teach (QZA16540) with Fist causing 14 damage. -[info][2025/06/14 22:57:32]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Fist causing 21 damage. -[info][2025/06/14 22:57:34]: [NFS31447] Got hit by Eylül Kaya (KOK33025) with Fist causing 20 damage. -[info][2025/06/14 22:58:42]: [NFS31447] Got hit by David Munkli (DWK58991) with Fist causing 21 damage. -[info][2025/06/14 22:58:50]: [DWK58991] Got hit by Turtle Kaya (NFS31447) with Fist causing 21 damage. -[info][2025/06/14 22:58:55]: [DWK58991] Got hit by Turtle Kaya (NFS31447) with Fist causing 0 damage. -[info][2025/06/14 22:59:24]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Fist causing 0 damage. -[info][2025/06/14 23:00:32]: [NFS31447] Got hit by David Munkli (DWK58991) with Fist causing 21 damage. -[info][2025/06/14 23:01:57]: [DWK58991] Got hit by Turtle Kaya (NFS31447) with Fist causing 21 damage. -[info][2025/06/14 23:01:59]: [DWK58991] Got hit by Turtle Kaya (NFS31447) with Fist causing 21 damage. -[info][2025/06/14 23:02:15]: [NFS31447] Got hit by David Munkli (DWK58991) with Fist causing 21 damage. -[info][2025/06/14 23:02:19]: [DWK58991] Got hit by Turtle Kaya (NFS31447) with Fist causing 21 damage. -[info][2025/06/14 23:02:23]: [DWK58991] Got hit by Turtle Kaya (NFS31447) with Fist causing 21 damage. -[info][2025/06/14 23:02:23]: [DWK58991] Got killed by Turtle Kaya (NFS31447) with Fist causing 21 damage. -[info][2025/06/14 23:02:27]: [KOK33025] Aimed at Turtle Kaya (NFS31447) with Pistol Mk II. -[info][2025/06/14 23:02:28]: [NFS31447] Got hit by Eylül Kaya (KOK33025) with Pistol MK2 causing 31 damage. -[info][2025/06/14 23:02:29]: [NFS31447] Got killed by Eylül Kaya (KOK33025) with Pistol MK2 causing 18 damage. -[info][2025/06/14 23:05:30]: [NFS31447] Aimed at David Munkli (DWK58991) with Pistol Mk II. -[info][2025/06/14 23:05:46]: [NFS31447] Aimed at David Munkli (DWK58991) with Pistol Mk II. -[info][2025/06/14 23:06:13]: [NFS31447] Aimed at David Munkli (DWK58991) with Pistol Mk II. -[info][2025/06/14 23:06:16]: [NFS31447] Got hit by David Munkli (DWK58991) with Fist causing 21 damage. -[info][2025/06/14 23:06:19]: [NFS31447] Aimed at David Munkli (DWK58991) with Pistol Mk II. -[info][2025/06/14 23:07:06]: [NFS31447] Aimed at David Munkli (DWK58991) with Pistol Mk II. -[info][2025/06/14 23:08:25]: [NFS31447] Aimed at David Munkli (DWK58991) with Pistol Mk II. -[info][2025/06/14 23:08:29]: [NFS31447] Aimed at Eylül Kaya (KOK33025) with Pistol Mk II. -[info][2025/06/14 23:08:51]: [NFS31447] Aimed at David Munkli (DWK58991) with Pistol Mk II. -[info][2025/06/14 23:08:58]: [NFS31447] Got hit by David Munkli (DWK58991) with Fist causing 21 damage. -[info][2025/06/14 23:08:59]: [NFS31447] Got hit by David Munkli (DWK58991) with Fist causing 27 damage. -[info][2025/06/14 23:09:00]: [DWK58991] Got hit by Turtle Kaya (NFS31447) with Pistol MK2 causing 13 damage. -[info][2025/06/14 23:09:01]: [DWK58991] Got hit by Turtle Kaya (NFS31447) with Pistol MK2 causing 13 damage. -[info][2025/06/14 23:09:02]: [DWK58991] Got hit by Turtle Kaya (NFS31447) with Pistol MK2 causing 13 damage. -[info][2025/06/14 23:09:02]: [DWK58991] Got hit by Turtle Kaya (NFS31447) with Pistol MK2 causing 13 damage. -[info][2025/06/14 23:09:03]: [DWK58991] Got hit by Turtle Kaya (NFS31447) with Pistol MK2 causing 13 damage. -[info][2025/06/14 23:09:04]: [DWK58991] Got hit by Turtle Kaya (NFS31447) with Pistol MK2 causing 13 damage. -[info][2025/06/14 23:09:05]: [DWK58991] Got hit by Turtle Kaya (NFS31447) with Pistol MK2 causing 13 damage. -[info][2025/06/14 23:09:06]: [DWK58991] Got killed by Turtle Kaya (NFS31447) with Pistol MK2 causing 13 damage. -[info][2025/06/14 23:09:11]: [NFS31447] Aimed at Eylül Kaya (KOK33025) with Pistol Mk II. -[info][2025/06/14 23:09:24]: [NFS31447] Aimed at Eylül Kaya (KOK33025) with Pistol Mk II. -[info][2025/06/14 23:09:25]: [KOK33025] Got killed by Turtle Kaya (NFS31447) with Pistol MK2 causing 397 damage. -[info][2025/06/14 23:09:52]: [NFS31447] Aimed at Eylül Kaya (KOK33025) with Pistol Mk II. -[info][2025/06/14 23:12:35]: [NFS31447] Aimed at Dr.Demon Campers (OHM07543) with Pistol Mk II. -[info][2025/06/14 23:12:46]: [OHM07543] Aimed at Turtle Kaya (NFS31447) with Heavy Revolver Mk II. -[info][2025/06/14 23:12:48]: [OHM07543] Got killed by Turtle Kaya (NFS31447) with Pistol MK2 causing 378 damage. -[info][2025/06/14 23:13:08]: [OHM07543] Aimed at Turtle Kaya (NFS31447) with Heavy Revolver Mk II. -[info][2025/06/14 23:13:09]: [OHM07543] Got killed by Turtle Kaya (NFS31447) with Pistol MK2 causing 397 damage. -[info][2025/06/14 23:14:48]: [NFS31447] Aimed at David Munkli (DWK58991) with Pistol Mk II. -[info][2025/06/14 23:14:50]: [NFS31447] Aimed at Dr.Demon Campers (OHM07543) with Pistol Mk II. -[info][2025/06/14 23:14:53]: [NFS31447] Aimed at David Munkli (DWK58991) with Pistol Mk II. -[info][2025/06/14 23:14:53]: [NFS31447] Got hit by David Munkli (DWK58991) with Fist causing 21 damage. -[info][2025/06/14 23:14:53]: [DWK58991] Got hit by Turtle Kaya (NFS31447) with Pistol MK2 causing 13 damage. -[info][2025/06/14 23:14:54]: [DWK58991] Got hit by Turtle Kaya (NFS31447) with Pistol MK2 causing 13 damage. -[info][2025/06/14 23:14:55]: [NFS31447] Aimed at David Munkli (DWK58991) with Pistol Mk II. -[info][2025/06/14 23:14:56]: [KOK33025] Got hit by David Munkli (DWK58991) with Fist causing 21 damage. -[info][2025/06/14 23:14:57]: [KOK33025] Aimed at Turtle Kaya (NFS31447) with SNS Pistol Mk II. -[info][2025/06/14 23:14:58]: [KOK33025] Got killed by Turtle Kaya (NFS31447) with Pistol MK2 causing 393 damage. -[info][2025/06/14 23:15:02]: [NFS31447] Aimed at Eylül Kaya (KOK33025) with Pistol Mk II. -[info][2025/06/14 23:15:06]: [NFS31447] Aimed at Eylül Kaya (KOK33025) with Pistol Mk II. -[info][2025/06/14 23:15:10]: [NFS31447] Aimed at David Munkli (DWK58991) with Pistol Mk II. -[info][2025/06/14 23:15:42]: [KOK33025] Aimed at Turtle Kaya (NFS31447) with SNS Pistol Mk II. -[info][2025/06/14 23:15:51]: [KOK33025] Aimed at Turtle Kaya (NFS31447) with SNS Pistol Mk II. -[info][2025/06/14 23:15:58]: [KOK33025] Aimed at Turtle Kaya (NFS31447) with SNS Pistol Mk II. -[info][2025/06/14 23:16:02]: [KOK33025] Aimed at Turtle Kaya (NFS31447) with SNS Pistol Mk II. -[info][2025/06/14 23:16:15]: [KOK33025] Aimed at Turtle Kaya (NFS31447) with SNS Pistol Mk II. -[info][2025/06/14 23:16:19]: [NFS31447] Aimed at David Munkli (DWK58991) with Pistol Mk II. -[info][2025/06/14 23:16:26]: [NFS31447] Aimed at David Munkli (DWK58991) with Pistol Mk II. -[info][2025/06/14 23:16:28]: [DWK58991] Got hit by Turtle Kaya (NFS31447) with Pistol MK2 causing 18 damage. -[info][2025/06/14 23:16:29]: [DWK58991] Got hit by Turtle Kaya (NFS31447) with Pistol MK2 causing 18 damage. -[info][2025/06/14 23:16:31]: [DWK58991] Got hit by Turtle Kaya (NFS31447) with Pistol MK2 causing 18 damage. -[info][2025/06/14 23:16:32]: [NFS31447] Aimed at David Munkli (DWK58991) with Pistol Mk II. -[info][2025/06/14 23:16:40]: [KOK33025] Aimed at Dr.Demon Campers (OHM07543) with SNS Pistol Mk II. -[info][2025/06/14 23:16:52]: [KOK33025] Aimed at Dr.Demon Campers (OHM07543) with SNS Pistol Mk II. -[info][2025/06/14 23:17:04]: [KOK33025] Aimed at Dr.Demon Campers (OHM07543) with Carbine Rifle Mk II. -[info][2025/06/14 23:17:05]: [OHM07543] Got hit by Eylül Kaya (KOK33025) with Carbine Rifle MK2 causing 33 damage. -[info][2025/06/14 23:17:09]: [KOK33025] Aimed at Dr.Demon Campers (OHM07543) with Carbine Rifle Mk II. -[info][2025/06/14 23:17:25]: [KOK33025] Aimed at Turtle Kaya (NFS31447) with Carbine Rifle Mk II. -[info][2025/06/14 23:22:01]: [KOK33025] Aimed at David Munkli (DWK58991) with Carbine Rifle Mk II. -[info][2025/06/14 23:22:19]: [KOK33025] Aimed at David Munkli (DWK58991) with Carbine Rifle Mk II. -[info][2025/06/14 23:22:20]: [DWK58991] Got killed by Eylül Kaya (KOK33025) with Carbine Rifle MK2 causing 562 damage. -[info][2025/06/14 23:22:29]: [NFS31447] Aimed at Eylül Kaya (KOK33025) with Pistol Mk II. -[info][2025/06/14 23:22:35]: [KOK33025] Aimed at Turtle Kaya (NFS31447) with Carbine Rifle Mk II. -[info][2025/06/14 23:24:46]: [NFS31447] Aimed at Eylül Kaya (KOK33025) with Pistol Mk II. -[info][2025/06/14 23:24:51]: [NFS31447] Aimed at Mark Petrol (UGO12804) with Pistol Mk II. -[info][2025/06/14 23:25:03]: [NFS31447] Got hit by David Munkli (DWK58991) with Carbine Rifle MK2 causing 32 damage. -[info][2025/06/14 23:25:07]: [DWK58991] Got hit by Turtle Kaya (NFS31447) with Fist causing 21 damage. -[info][2025/06/14 23:25:09]: [NFS31447] Got hit by David Munkli (DWK58991) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:25:09]: [NFS31447] Got hit by David Munkli (DWK58991) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:25:09]: [DWK58991] Aimed at Turtle Kaya (NFS31447) with Carbine Rifle Mk II. -[info][2025/06/14 23:25:10]: [NFS31447] Got hit by David Munkli (DWK58991) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:25:12]: [NFS31447] Aimed at David Munkli (DWK58991) with Pistol Mk II. -[info][2025/06/14 23:25:13]: [NFS31447] Got hit by David Munkli (DWK58991) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:25:14]: [NFS31447] Got hit by David Munkli (DWK58991) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:25:14]: [DWK58991] Aimed at Turtle Kaya (NFS31447) with Carbine Rifle Mk II. -[info][2025/06/14 23:25:16]: [NFS31447] Got hit by David Munkli (DWK58991) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:25:16]: [NFS31447] Got hit by David Munkli (DWK58991) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:25:16]: [DWK58991] Aimed at Turtle Kaya (NFS31447) with Carbine Rifle Mk II. -[info][2025/06/14 23:25:17]: [NFS31447] Got hit by David Munkli (DWK58991) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:25:17]: [NFS31447] Got hit by David Munkli (DWK58991) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:25:18]: [NFS31447] Got hit by David Munkli (DWK58991) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:25:18]: [DWK58991] Aimed at Dr.Kimberly Smith (JCQ27225) with Carbine Rifle Mk II. -[info][2025/06/14 23:25:27]: [NFS31447] Aimed at David Munkli (DWK58991) with Pistol Mk II. -[info][2025/06/14 23:25:27]: [DWK58991] Got hit by Turtle Kaya (NFS31447) with Pistol MK2 causing 18 damage. -[info][2025/06/14 23:25:29]: [NFS31447] Aimed at David Munkli (DWK58991) with Pistol Mk II. -[info][2025/06/14 23:25:29]: [DWK58991] Got hit by Turtle Kaya (NFS31447) with Pistol MK2 causing 18 damage. -[info][2025/06/14 23:25:30]: [DWK58991] Got hit by Turtle Kaya (NFS31447) with Pistol MK2 causing 18 damage. -[info][2025/06/14 23:25:30]: [DWK58991] Aimed at Turtle Kaya (NFS31447) with Carbine Rifle Mk II. -[info][2025/06/14 23:25:31]: [NFS31447] Aimed at David Munkli (DWK58991) with Pistol Mk II. -[info][2025/06/14 23:25:31]: [NFS31447] Got hit by David Munkli (DWK58991) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:25:33]: [NFS31447] Got hit by David Munkli (DWK58991) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:25:33]: [NFS31447] Got hit by David Munkli (DWK58991) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:25:33]: [NFS31447] Got hit by David Munkli (DWK58991) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:25:33]: [NFS31447] Got hit by David Munkli (DWK58991) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:25:33]: [DWK58991] Aimed at Turtle Kaya (NFS31447) with Carbine Rifle Mk II. -[info][2025/06/14 23:25:34]: [NFS31447] Got hit by David Munkli (DWK58991) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:25:34]: [NFS31447] Got hit by David Munkli (DWK58991) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:25:34]: [NFS31447] Got hit by David Munkli (DWK58991) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:25:34]: [NFS31447] Got hit by David Munkli (DWK58991) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:25:35]: [NFS31447] Got hit by David Munkli (DWK58991) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:25:35]: [NFS31447] Got hit by David Munkli (DWK58991) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:25:36]: [NFS31447] Got hit by David Munkli (DWK58991) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:25:36]: [NFS31447] Got hit by David Munkli (DWK58991) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:25:36]: [DWK58991] Aimed at Turtle Kaya (NFS31447) with Carbine Rifle Mk II. -[info][2025/06/14 23:25:36]: [NFS31447] Got hit by David Munkli (DWK58991) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:25:40]: [DWK58991] Got killed by Turtle Kaya (NFS31447) with Pistol MK2 causing 397 damage. -[info][2025/06/14 23:25:44]: [NFS31447] Aimed at Dr.Kimberly Smith (JCQ27225) with Pistol Mk II. -[info][2025/06/14 23:26:05]: [NFS31447] Aimed at Dr.Kimberly Smith (JCQ27225) with Pistol Mk II. -[info][2025/06/14 23:26:09]: [JCQ27225] Aimed at Turtle Kaya (NFS31447) with AP Pistol. -[info][2025/06/14 23:26:09]: [NFS31447] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 24 damage. -[info][2025/06/14 23:26:09]: [NFS31447] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/06/14 23:26:09]: [NFS31447] Aimed at Dr.Kimberly Smith (JCQ27225) with Pistol Mk II. -[info][2025/06/14 23:26:09]: [NFS31447] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/06/14 23:26:09]: [JCQ27225] Got killed by Turtle Kaya (NFS31447) with Pistol MK2 causing 397 damage. -[info][2025/06/14 23:26:20]: [NFS31447] Aimed at Dr.Kimberly Smith (JCQ27225) with Pistol Mk II. -[info][2025/06/14 23:26:24]: [NFS31447] Aimed at Dr.Kimberly Smith (JCQ27225) with Pistol Mk II. -[info][2025/06/14 23:26:25]: [JCQ27225] Aimed at Turtle Kaya (NFS31447) with AP Pistol. -[info][2025/06/14 23:26:26]: [NFS31447] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/06/14 23:26:26]: [NFS31447] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/06/14 23:26:26]: [NFS31447] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/06/14 23:26:26]: [NFS31447] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/06/14 23:26:26]: [NFS31447] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/06/14 23:26:26]: [NFS31447] Got killed by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 132 damage. -[info][2025/06/14 23:26:26]: [NFS31447] Got killed by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 132 damage. -[info][2025/06/14 23:26:26]: [NFS31447] Got killed by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 0 damage. -[info][2025/06/14 23:26:42]: [NFS31447] Aimed at Dr.Kimberly Smith (JCQ27225) with Pistol Mk II. -[info][2025/06/14 23:26:42]: [JCQ27225] Got killed by Turtle Kaya (NFS31447) with Pistol MK2 causing 397 damage. -[info][2025/06/14 23:26:43]: [KOK33025] Got killed by Turtle Kaya (NFS31447) with Pistol MK2 causing 313 damage. -[info][2025/06/14 23:26:44]: [NFS31447] Aimed at David Munkli (DWK58991) with Pistol Mk II. -[info][2025/06/14 23:26:44]: [DWK58991] Got killed by Turtle Kaya (NFS31447) with Pistol MK2 causing 318 damage. -[info][2025/06/14 23:27:02]: [NFS31447] Aimed at Dr.Kimberly Smith (JCQ27225) with Pistol Mk II. -[info][2025/06/14 23:27:10]: [NFS31447] Aimed at David Munkli (DWK58991) with Pistol Mk II. -[info][2025/06/14 23:27:15]: [NFS31447] Aimed at Dr.Kimberly Smith (JCQ27225) with Pistol Mk II. -[info][2025/06/14 23:27:24]: [NFS31447] Aimed at Dr.Kimberly Smith (JCQ27225) with Pistol Mk II. -[info][2025/06/14 23:27:26]: [NFS31447] Aimed at David Munkli (DWK58991) with Pistol Mk II. -[info][2025/06/14 23:27:28]: [NFS31447] Aimed at Dr.Kimberly Smith (JCQ27225) with Pistol Mk II. -[info][2025/06/14 23:27:32]: [NFS31447] Aimed at Eylül Kaya (KOK33025) with Pistol Mk II. -[info][2025/06/14 23:27:34]: [NFS31447] Aimed at Dr.Kimberly Smith (JCQ27225) with Pistol Mk II. -[info][2025/06/14 23:27:35]: [DWK58991] Aimed at Dr.Kimberly Smith (JCQ27225) with Carbine Rifle Mk II. -[info][2025/06/14 23:27:35]: [NFS31447] Got hit by David Munkli (DWK58991) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:27:35]: [NFS31447] Got hit by David Munkli (DWK58991) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:27:35]: [NFS31447] Got hit by David Munkli (DWK58991) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:27:36]: [NFS31447] Got hit by David Munkli (DWK58991) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:27:37]: [NFS31447] Got hit by David Munkli (DWK58991) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:27:37]: [NFS31447] Got hit by David Munkli (DWK58991) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:27:38]: [NFS31447] Got hit by David Munkli (DWK58991) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:27:38]: [NFS31447] Got hit by David Munkli (DWK58991) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:27:38]: [NFS31447] Got hit by David Munkli (DWK58991) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:27:38]: [NFS31447] Got hit by David Munkli (DWK58991) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:27:38]: [NFS31447] Got hit by David Munkli (DWK58991) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:27:38]: [DWK58991] Aimed at Turtle Kaya (NFS31447) with Carbine Rifle Mk II. -[info][2025/06/14 23:27:38]: [NFS31447] Got hit by David Munkli (DWK58991) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:27:38]: [NFS31447] Got hit by David Munkli (DWK58991) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:27:39]: [NFS31447] Got hit by David Munkli (DWK58991) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:27:39]: [NFS31447] Got hit by David Munkli (DWK58991) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:27:39]: [NFS31447] Got hit by David Munkli (DWK58991) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:27:39]: [NFS31447] Got hit by David Munkli (DWK58991) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:27:39]: [NFS31447] Got hit by David Munkli (DWK58991) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:27:39]: [NFS31447] Got hit by David Munkli (DWK58991) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:27:39]: [NFS31447] Got hit by David Munkli (DWK58991) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:27:39]: [NFS31447] Got hit by David Munkli (DWK58991) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:27:42]: [NFS31447] Aimed at David Munkli (DWK58991) with Pistol Mk II. -[info][2025/06/14 23:27:43]: [NFS31447] Got hit by David Munkli (DWK58991) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/14 23:27:44]: [DWK58991] Aimed at Turtle Kaya (NFS31447) with Carbine Rifle Mk II. -[info][2025/06/14 23:27:46]: [NFS31447] Aimed at David Munkli (DWK58991) with Pistol Mk II. -[info][2025/06/14 23:27:47]: [DWK58991] Got hit by Turtle Kaya (NFS31447) with Pistol MK2 causing 15 damage. -[info][2025/06/14 23:27:48]: [DWK58991] Got hit by Turtle Kaya (NFS31447) with Pistol MK2 causing 18 damage. -[info][2025/06/14 23:27:50]: [NFS31447] Aimed at David Munkli (DWK58991) with Pistol Mk II. -[info][2025/06/14 23:27:50]: [DWK58991] Got hit by Turtle Kaya (NFS31447) with Pistol MK2 causing 18 damage. -[info][2025/06/14 23:27:52]: [NFS31447] Aimed at David Munkli (DWK58991) with Pistol Mk II. -[info][2025/06/14 23:28:49]: [NFS31447] Aimed at Eylül Kaya (KOK33025) with Pistol Mk II. -[info][2025/06/14 23:28:53]: [NFS31447] Aimed at Eylül Kaya (KOK33025) with Pistol Mk II. -[info][2025/06/14 23:28:54]: [NFS31447] Aimed at David Munkli (DWK58991) with Pistol Mk II. -[info][2025/06/14 23:28:56]: [NFS31447] Aimed at Eylül Kaya (KOK33025) with Pistol Mk II. -[info][2025/06/14 23:29:07]: [NFS31447] Aimed at Eylül Kaya (KOK33025) with Pistol Mk II. -[info][2025/06/14 23:29:13]: [NFS31447] Aimed at Eylül Kaya (KOK33025) with Pistol Mk II. -[info][2025/06/14 23:29:25]: [NFS31447] Aimed at Eylül Kaya (KOK33025) with Pistol Mk II. -[info][2025/06/14 23:29:27]: [KOK33025] Got killed by Turtle Kaya (NFS31447) with Pistol MK2 causing 371 damage. -[info][2025/06/14 23:30:56]: [NFS31447] Aimed at David Munkli (DWK58991) with Pistol Mk II. -[info][2025/06/14 23:30:59]: [NFS31447] Aimed at David Munkli (DWK58991) with Pistol Mk II. -[info][2025/06/14 23:31:29]: [NFS31447] Got hit by David Munkli (DWK58991) with Fist causing 0 damage. -[info][2025/06/14 23:31:49]: [NFS31447] Got hit by David Munkli (DWK58991) with Fist causing 0 damage. -[info][2025/06/14 23:32:07]: [NFS31447] campers requested Turtle Kaya. -[info][2025/06/14 23:32:31]: [NFS31447] Aimed at David Munkli (DWK58991) with Carbine Rifle Mk II. -[info][2025/06/14 23:32:36]: [NFS31447] Aimed at Eylül Kaya (KOK33025) with Carbine Rifle Mk II. -[info][2025/06/14 23:32:38]: [NFS31447] Aimed at David Munkli (DWK58991) with Carbine Rifle Mk II. -[info][2025/06/14 23:34:19]: [NFS31447] Aimed at David Munkli (DWK58991) with Carbine Rifle Mk II. -[info][2025/06/14 23:53:58]: [DWK58991] campers requested David Munkli. -[info][2025/06/14 23:54:17]: [NFS31447] campers requested Turtle Kaya. -[info][2025/06/14 23:56:32]: [BJS65758] campers requested Tom Keller. -[info][2025/06/14 23:58:51]: [KOK33025] Got hit by Mark Petrol (UGO12804) with Fist causing 20 damage. -[info][2025/06/14 23:59:35]: [NFS31447] Aimed at Eylül Kaya (KOK33025) with Carbine Rifle Mk II. -[info][2025/06/14 23:59:40]: [NFS31447] Aimed at Dr.Kimberly Smith (JCQ27225) with Carbine Rifle Mk II. -[info][2025/06/15 00:00:47]: [NFS31447] Aimed at Mark Petrol (UGO12804) with Carbine Rifle Mk II. -[info][2025/06/15 00:00:47]: [UGO12804] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 32 damage. -[info][2025/06/15 00:00:47]: [UGO12804] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:00:47]: [UGO12804] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:00:48]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:00:48]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:00:49]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:00:49]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:00:50]: [NFS31447] Aimed at Dr.Kimberly Smith (JCQ27225) with Carbine Rifle Mk II. -[info][2025/06/15 00:00:50]: [JCQ27225] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:00:51]: [JCQ27225] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:00:51]: [JCQ27225] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:00:51]: [JCQ27225] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:00:53]: [NFS31447] Aimed at Mark Petrol (UGO12804) with Carbine Rifle Mk II. -[info][2025/06/15 00:00:55]: [NFS31447] Aimed at Dr.Kimberly Smith (JCQ27225) with Carbine Rifle Mk II. -[info][2025/06/15 00:00:56]: [JCQ27225] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:00:58]: [JCQ27225] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:00:58]: [JCQ27225] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:00:58]: [JCQ27225] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:01:00]: [JCQ27225] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:01:00]: [JCQ27225] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:01:02]: [JCQ27225] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:01:06]: [NFS31447] Aimed at Mark Petrol (UGO12804) with Carbine Rifle Mk II. -[info][2025/06/15 00:01:07]: [UGO12804] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:01:07]: [JCQ27225] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:01:08]: [NFS31447] Aimed at Dr.Kimberly Smith (JCQ27225) with Carbine Rifle Mk II. -[info][2025/06/15 00:01:41]: [NFS31447] Aimed at Dr.Kimberly Smith (JCQ27225) with Carbine Rifle Mk II. -[info][2025/06/15 00:01:45]: [NFS31447] Aimed at Eylül Kaya (KOK33025) with Carbine Rifle Mk II. -[info][2025/06/15 00:01:47]: [JCQ27225] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:01:47]: [NFS31447] Aimed at Dr.Kimberly Smith (JCQ27225) with Carbine Rifle Mk II. -[info][2025/06/15 00:01:48]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:01:51]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:01:51]: [NFS31447] Aimed at Eylül Kaya (KOK33025) with Carbine Rifle Mk II. -[info][2025/06/15 00:01:53]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:01:54]: [JCQ27225] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:01:56]: [JCQ27225] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:01:58]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:01:58]: [NFS31447] Aimed at Eylül Kaya (KOK33025) with Carbine Rifle Mk II. -[info][2025/06/15 00:01:59]: [JCQ27225] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:02:00]: [NFS31447] Aimed at Eylül Kaya (KOK33025) with Carbine Rifle Mk II. -[info][2025/06/15 00:02:02]: [NFS31447] Aimed at Dr.Kimberly Smith (JCQ27225) with Carbine Rifle Mk II. -[info][2025/06/15 00:02:02]: [JCQ27225] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:02:04]: [NFS31447] Aimed at Eylül Kaya (KOK33025) with Carbine Rifle Mk II. -[info][2025/06/15 00:02:05]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:02:08]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:02:08]: [NFS31447] Aimed at Eylül Kaya (KOK33025) with Carbine Rifle Mk II. -[info][2025/06/15 00:02:08]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:02:09]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:02:09]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:02:12]: [NFS31447] Aimed at Eylül Kaya (KOK33025) with Carbine Rifle Mk II. -[info][2025/06/15 00:02:12]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:02:12]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:02:17]: [NFS31447] Aimed at Eylül Kaya (KOK33025) with Carbine Rifle Mk II. -[info][2025/06/15 00:02:17]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:02:18]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:02:18]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:02:18]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:02:18]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:02:19]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:02:19]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:02:20]: [NFS31447] Aimed at Eylül Kaya (KOK33025) with Carbine Rifle Mk II. -[info][2025/06/15 00:02:20]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:02:21]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:02:21]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:02:21]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:02:45]: [JCQ27225] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:02:45]: [NFS31447] Aimed at Dr.Kimberly Smith (JCQ27225) with Carbine Rifle Mk II. -[info][2025/06/15 00:02:47]: [JCQ27225] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:02:54]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:02:54]: [NFS31447] Aimed at Eylül Kaya (KOK33025) with Carbine Rifle Mk II. -[info][2025/06/15 00:02:54]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:03:15]: [NFS31447] Aimed at Eylül Kaya (KOK33025) with Carbine Rifle Mk II. -[info][2025/06/15 00:03:21]: [NFS31447] Aimed at Dr.Kimberly Smith (JCQ27225) with Carbine Rifle Mk II. -[info][2025/06/15 00:03:21]: [JCQ27225] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:03:27]: [NFS31447] Aimed at Dr.Kimberly Smith (JCQ27225) with Carbine Rifle Mk II. -[info][2025/06/15 00:03:29]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:03:29]: [NFS31447] Aimed at Eylül Kaya (KOK33025) with Carbine Rifle Mk II. -[info][2025/06/15 00:03:29]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:03:30]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:03:32]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:03:36]: [NFS31447] Aimed at Dr.Kimberly Smith (JCQ27225) with Carbine Rifle Mk II. -[info][2025/06/15 00:03:36]: [JCQ27225] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:03:41]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:03:41]: [NFS31447] Aimed at Eylül Kaya (KOK33025) with Carbine Rifle Mk II. -[info][2025/06/15 00:03:42]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:03:43]: [NFS31447] Aimed at Dr.Kimberly Smith (JCQ27225) with Carbine Rifle Mk II. -[info][2025/06/15 00:03:43]: [JCQ27225] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:03:45]: [NFS31447] Aimed at Dr.Kimberly Smith (JCQ27225) with Carbine Rifle Mk II. -[info][2025/06/15 00:03:47]: [NFS31447] Aimed at Eylül Kaya (KOK33025) with Carbine Rifle Mk II. -[info][2025/06/15 00:03:48]: [JCQ27225] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:03:49]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:03:49]: [NFS31447] Aimed at Eylül Kaya (KOK33025) with Carbine Rifle Mk II. -[info][2025/06/15 00:03:51]: [JCQ27225] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:03:51]: [NFS31447] Aimed at Dr.Kimberly Smith (JCQ27225) with Carbine Rifle Mk II. -[info][2025/06/15 00:03:52]: [JCQ27225] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:03:52]: [JCQ27225] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:03:52]: [JCQ27225] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:03:53]: [JCQ27225] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:03:53]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:03:53]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:03:53]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:06:37]: [NFS31447] Aimed at Eylül Kaya (KOK33025) with Carbine Rifle Mk II. -[info][2025/06/15 00:06:39]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:06:40]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:06:40]: [NFS31447] Aimed at Eylül Kaya (KOK33025) with Carbine Rifle Mk II. -[info][2025/06/15 00:06:42]: [NFS31447] Aimed at Eylül Kaya (KOK33025) with Carbine Rifle Mk II. -[info][2025/06/15 00:06:42]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:06:42]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:06:42]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:06:44]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:06:44]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:06:46]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:06:46]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:06:46]: [NFS31447] Aimed at Eylül Kaya (KOK33025) with Carbine Rifle Mk II. -[info][2025/06/15 00:06:48]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:06:48]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:06:49]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:06:49]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:06:50]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:06:52]: [NFS31447] Aimed at Eylül Kaya (KOK33025) with Carbine Rifle Mk II. -[info][2025/06/15 00:06:53]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:06:54]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:06:57]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:07:01]: [NFS31447] Aimed at Eylül Kaya (KOK33025) with Carbine Rifle Mk II. -[info][2025/06/15 00:07:01]: [KOK33025] Got hit by Turtle Kaya (NFS31447) with Carbine Rifle MK2 causing 0 damage. -[info][2025/06/15 00:33:41]: [KOK33025] nordi requested Eylül Kaya. -[info][2025/06/15 00:33:51]: [KOK33025] nordi gave 100000 cash to Eylül Kaya. -[info][2025/06/15 00:33:51]: [KOK33025] nordi requested Eylül Kaya. -[info][2025/06/15 01:10:10]: [KOK33025] Aimed at Dr.Demon Campers (OHM07543) with null. -[info][2025/06/15 01:10:27]: [KOK33025] Aimed at Dr.Demon Campers (OHM07543) with null. -[info][2025/06/15 01:10:28]: [OHM07543] Got hit by Eylül Kaya (KOK33025) with undefined causing 1 damage. -[info][2025/06/15 01:10:43]: [KOK33025] Aimed at Dr.Demon Campers (OHM07543) with null. -[info][2025/06/15 01:10:48]: [KOK33025] Aimed at Dr.Demon Campers (OHM07543) with null. -[info][2025/06/15 01:10:50]: [OHM07543] Got hit by Eylül Kaya (KOK33025) with undefined causing 1 damage. -[info][2025/06/15 01:10:56]: [KOK33025] Aimed at Dr.Demon Campers (OHM07543) with null. -[info][2025/06/15 01:11:01]: [OHM07543] Got hit by Eylül Kaya (KOK33025) with undefined causing 1 damage. -[info][2025/06/15 01:11:08]: [OHM07543] Aimed at Eylül Kaya (KOK33025) with Heavy Revolver Mk II. -[info][2025/06/15 01:11:09]: [KOK33025] Got killed by Dr.Demon Campers (OHM07543) with Heavy Revolver MK2 causing 192 damage. -[info][2025/06/15 01:11:44]: [KOK33025] Aimed at Dr.Demon Campers (OHM07543) with null. -[info][2025/06/15 01:11:46]: [OHM07543] Got hit by Eylül Kaya (KOK33025) with undefined causing 1 damage. -[info][2025/06/15 01:11:54]: [KOK33025] Aimed at Dr.Demon Campers (OHM07543) with null. -[info][2025/06/15 01:11:58]: [KOK33025] Aimed at Dr.Demon Campers (OHM07543) with null. -[info][2025/06/15 01:12:00]: [OHM07543] Got hit by Eylül Kaya (KOK33025) with undefined causing 1 damage. -[info][2025/06/15 01:30:37]: [IEW49376] Got hit by Dr.Demon Campers (OHM07543) with Fist causing 20 damage. -[info][2025/06/15 01:43:12]: [IEW49376] campers requested Rex Doalten. -[info][2025/06/15 01:43:27]: [IEW49376] campers changed money bank for Rex Doalten to 1950000. -[info][2025/06/15 01:43:27]: [IEW49376] campers requested Rex Doalten. -[info][2025/06/15 01:43:32]: [IEW49376] campers changed money cash for Rex Doalten to 5000. -[info][2025/06/15 01:43:32]: [IEW49376] campers requested Rex Doalten. -[info][2025/06/15 01:48:32]: [IEW49376] campers requested Rex Doalten. -[info][2025/06/15 01:48:36]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/06/15 01:48:39]: [OHM07543] campers changed meta thirst for Dr.Demon Campers to 100. -[info][2025/06/15 01:48:39]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/06/15 01:48:39]: [OHM07543] campers changed meta hunger for Dr.Demon Campers to 100. -[info][2025/06/15 01:48:39]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/06/15 01:58:00]: [NUL11496] campers requested Loona Santana. -[info][2025/06/15 02:25:19]: [BJS65758] Got hit by Loona Santana (NUL11496) with Fist causing 21 damage. -[info][2025/06/15 02:25:24]: [BJS65758] Got hit by Loona Santana (NUL11496) with Fist causing 21 damage. -[info][2025/06/15 02:36:57]: [NUL11496] nordi requested Loona Santana. -[info][2025/06/15 02:37:12]: [NUL11496] nordi gave 100000 cash to Loona Santana. -[info][2025/06/15 02:37:12]: [NUL11496] nordi requested Loona Santana. -[info][2025/06/15 04:05:42]: [UGO12804] max requested Mark Petrol. -[info][2025/06/15 04:05:46]: [UGO12804] max changed meta thirst for Mark Petrol to 100. -[info][2025/06/15 04:05:46]: [UGO12804] max requested Mark Petrol. -[info][2025/06/15 04:05:47]: [UGO12804] max changed meta hunger for Mark Petrol to 100. -[info][2025/06/15 04:05:47]: [UGO12804] max requested Mark Petrol. -[info][2025/06/15 20:03:19]: [GNR11868] Got hit by Dr.Andre Meraki (GJN39030) with Fist causing 21 damage. -[info][2025/06/15 20:03:52]: [GNR11868] Got hit by Dr.Boris Von Dragomir (PCC19872) with Fist causing 0 damage. -[info][2025/06/15 20:03:54]: [GNR11868] Got hit by Dr.Boris Von Dragomir (PCC19872) with Fist causing 20 damage. -[info][2025/06/15 20:03:55]: [GNR11868] Got hit by Dr.Boris Von Dragomir (PCC19872) with Fist causing 0 damage. -[info][2025/06/15 20:03:57]: [GNR11868] Got hit by Dr.Boris Von Dragomir (PCC19872) with Fist causing 20 damage. -[info][2025/06/15 20:03:58]: [GNR11868] Got hit by Dr.Boris Von Dragomir (PCC19872) with Fist causing 20 damage. -[info][2025/06/15 20:04:01]: [GNR11868] Got killed by Dr.Boris Von Dragomir (PCC19872) with Fist causing 20 damage. -[info][2025/06/15 20:14:41]: [GNR11868] Got hit by Dr.Boris Von Dragomir (PCC19872) with Fist causing 0 damage. -[info][2025/06/15 20:14:42]: [GNR11868] Got hit by Dr.Boris Von Dragomir (PCC19872) with Fist causing 20 damage. -[info][2025/06/15 20:14:43]: [GNR11868] Got hit by Dr.Boris Von Dragomir (PCC19872) with Fist causing 25 damage. -[info][2025/06/15 20:14:46]: [GNR11868] Got hit by Dr.Boris Von Dragomir (PCC19872) with Fist causing 20 damage. -[info][2025/06/15 20:14:47]: [GNR11868] Got hit by Dr.Boris Von Dragomir (PCC19872) with Fist causing 25 damage. -[info][2025/06/15 20:14:50]: [GNR11868] Got killed by Dr.Boris Von Dragomir (PCC19872) with Fist causing 20 damage. -[info][2025/06/15 20:17:37]: [GNR11868] Got hit by Dr.Boris Von Dragomir (PCC19872) with Fist causing 0 damage. -[info][2025/06/15 20:17:38]: [GNR11868] Got hit by Dr.Boris Von Dragomir (PCC19872) with Fist causing 20 damage. -[info][2025/06/15 20:17:39]: [GNR11868] Got hit by Dr.Boris Von Dragomir (PCC19872) with Fist causing 20 damage. -[info][2025/06/15 20:17:40]: [GNR11868] Got hit by Dr.Boris Von Dragomir (PCC19872) with Fist causing 25 damage. -[info][2025/06/15 20:17:42]: [GNR11868] Got hit by Dr.Boris Von Dragomir (PCC19872) with Fist causing 20 damage. -[info][2025/06/15 20:17:43]: [GNR11868] Got killed by Dr.Boris Von Dragomir (PCC19872) with Fist causing 20 damage. -[info][2025/06/15 20:17:48]: [GNR11868] Got hit by Dr.Boris Von Dragomir (PCC19872) with Fist causing 25 damage. -[info][2025/06/15 20:17:54]: [GNR11868] Got hit by Dr.Boris Von Dragomir (PCC19872) with Fist causing 25 damage. -[info][2025/06/15 20:33:48]: [UGO12804] Got hit by Mark Petrol (UGO12804) with Fist causing 17 damage. -[info][2025/06/15 21:40:04]: [JCQ27225] campers requested Dr.Kimberly Smith. -[info][2025/06/16 17:13:27]: [BJS65758] Got hit by Loona Santana (NUL11496) with Fist causing 20 damage. -[info][2025/06/16 19:16:13]: [NUL11496] Got hit by Tom Keller (BJS65758) with Fist causing 20 damage. -[info][2025/06/16 19:45:39]: [NUL11496] Got hit by Loona Santana (NUL11496) with Animal causing 37 damage. -[info][2025/06/16 19:49:48]: [YXR32491] Got hit by Torben Schmitz (YXR32491) with Fist causing 16 damage. -[info][2025/06/16 19:49:49]: [YXR32491] Got hit by Torben Schmitz (YXR32491) with Fist causing 0 damage. -[info][2025/06/16 19:50:21]: [CRO67821] Got hit by Torben Schmitz (YXR32491) with Fist causing 20 damage. -[info][2025/06/16 19:51:39]: [CRO67821] Got hit by Torben Schmitz (YXR32491) with Fist causing 20 damage. -[info][2025/06/16 19:53:31]: [YXR32491] Got hit by Marc Santoro (CRO67821) with Fist causing 25 damage. -[info][2025/06/16 20:25:27]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Fist causing 21 damage. -[info][2025/06/16 20:25:38]: [VDC50704] Got hit by Marc Santoro (CRO67821) with Fist causing 26 damage. -[info][2025/06/16 20:27:23]: [CRO67821] Got hit by Chester Sinister (VDC50704) with Fist causing 25 damage. -[info][2025/06/16 20:38:37]: [CRO67821] Got hit by Chester Sinister (VDC50704) with Fist causing 20 damage. -[info][2025/06/16 20:40:18]: [CRO67821] Got hit by Scarlett Shelby (KVN10675) with Fist causing 27 damage. -[info][2025/06/16 20:41:29]: [CRO67821] Got hit by Scarlett Shelby (KVN10675) with Fist causing 27 damage. -[info][2025/06/16 20:41:30]: [CRO67821] Aimed at Scarlett Shelby (KVN10675) with Assault Rifle. -[info][2025/06/16 20:41:30]: [CRO67821] Got killed by Scarlett Shelby (KVN10675) with Knife causing 0 damage. -[info][2025/06/16 20:41:34]: [CRO67821] Got hit by Scarlett Shelby (KVN10675) with Knife causing 81 damage. -[info][2025/06/16 20:41:36]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Fist causing 0 damage. -[info][2025/06/16 20:41:37]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Fist causing 20 damage. -[info][2025/06/16 20:41:39]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Fist causing 20 damage. -[info][2025/06/16 20:41:40]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Fist causing 20 damage. -[info][2025/06/16 20:41:41]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Fist causing 20 damage. -[info][2025/06/16 20:41:41]: [CRO67821] Got killed by Scarlett Shelby (KVN10675) with Fist causing 21 damage. -[info][2025/06/16 20:41:52]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Fist causing 25 damage. -[info][2025/06/16 20:42:12]: [CRO67821] Aimed at Manfred Tönsen (KVA51843) with Assault Rifle. -[info][2025/06/16 20:42:13]: [KVA51843] Got killed by Marc Santoro (CRO67821) with Assault Rifle causing 567 damage. -[info][2025/06/16 20:42:14]: [CRO67821] Got hit by Chester Sinister (VDC50704) with Fist causing 20 damage. -[info][2025/06/16 20:42:17]: [CRO67821] Got hit by Chester Sinister (VDC50704) with Fist causing 20 damage. -[info][2025/06/16 20:42:24]: [CRO67821] Got hit by Chester Sinister (VDC50704) with Fist causing 20 damage. -[info][2025/06/16 20:42:38]: [KVA51843] Got hit by Marc Santoro (CRO67821) with Assault Rifle causing 24 damage. -[info][2025/06/16 20:42:38]: [CRO67821] Aimed at Manfred Tönsen (KVA51843) with Assault Rifle. -[info][2025/06/16 20:45:55]: [BJS65758] Got hit by Loona Santana (NUL11496) with Fist causing 20 damage. -[info][2025/06/16 20:50:20]: [KVA51843] Got hit by Marc Santoro (CRO67821) with Fist causing 0 damage. -[info][2025/06/16 20:52:29]: [CRO67821] Aimed at Scarlett Shelby (KVN10675) with Assault Rifle. -[info][2025/06/16 20:52:32]: [CRO67821] Aimed at Scarlett Shelby (KVN10675) with Assault Rifle. -[info][2025/06/16 20:52:47]: [KVA51843] Got hit by Chester Sinister (VDC50704) with Fist causing 0 damage. -[info][2025/06/16 20:53:13]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Fist causing 20 damage. -[info][2025/06/16 22:23:53]: [BJS65758] Got hit by Loona Santana (NUL11496) with Fist causing 20 damage. -[info][2025/06/16 22:23:59]: [NUL11496] Got hit by Tom Keller (BJS65758) with Fist causing 21 damage. -[info][2025/06/16 22:24:00]: [BJS65758] Got hit by Loona Santana (NUL11496) with Fist causing 0 damage. -[info][2025/06/16 22:24:01]: [BJS65758] Got hit by Loona Santana (NUL11496) with Fist causing 20 damage. -[info][2025/06/16 22:24:07]: [NUL11496] Got hit by Tom Keller (BJS65758) with Fist causing 27 damage. -[info][2025/06/16 22:24:09]: [NUL11496] Got hit by Tom Keller (BJS65758) with Fist causing 21 damage. -[info][2025/06/16 22:24:10]: [BJS65758] Got hit by Loona Santana (NUL11496) with Fist causing 20 damage. -[info][2025/06/16 22:24:12]: [NUL11496] Got hit by Tom Keller (BJS65758) with Fist causing 21 damage. -[info][2025/06/16 22:24:17]: [NUL11496] Got killed by Tom Keller (BJS65758) with Fist causing 21 damage. -[info][2025/06/16 22:24:23]: [BJS65758] Got hit by Loona Santana (NUL11496) with Fist causing 20 damage. -[info][2025/06/16 22:24:24]: [BJS65758] Got hit by Loona Santana (NUL11496) with Fist causing 25 damage. -[info][2025/06/16 22:24:25]: [NUL11496] Got hit by Tom Keller (BJS65758) with Fist causing 27 damage. -[info][2025/06/16 22:24:27]: [BJS65758] Got killed by Loona Santana (NUL11496) with Fist causing 20 damage. -[info][2025/06/16 22:24:27]: [NUL11496] Got hit by Tom Keller (BJS65758) with Fist causing 21 damage. -[info][2025/06/16 22:24:47]: [BJS65758] Got hit by Loona Santana (NUL11496) with Fist causing 20 damage. -[info][2025/06/16 22:24:49]: [NUL11496] Got hit by Tom Keller (BJS65758) with Fist causing 27 damage. -[info][2025/06/16 22:24:50]: [NUL11496] Got hit by Tom Keller (BJS65758) with Fist causing 0 damage. -[info][2025/06/16 22:24:57]: [NUL11496] Got hit by Tom Keller (BJS65758) with Fist causing 0 damage. -[info][2025/06/16 22:25:00]: [BJS65758] Got hit by Loona Santana (NUL11496) with Fist causing 20 damage. -[info][2025/06/16 22:25:01]: [BJS65758] Got hit by Loona Santana (NUL11496) with Fist causing 20 damage. -[info][2025/06/16 22:25:02]: [BJS65758] Got hit by Loona Santana (NUL11496) with Fist causing 25 damage. -[info][2025/06/16 22:25:04]: [BJS65758] Got killed by Loona Santana (NUL11496) with Fist causing 20 damage. -[info][2025/06/16 22:25:05]: [BJS65758] Got hit by Loona Santana (NUL11496) with Fist causing 0 damage. -[info][2025/06/16 22:38:03]: [OHM07543] Got hit by Shadow Wuff (BTS80865) with Animal causing 0 damage. -[info][2025/06/16 22:41:24]: [JCQ27225] Got hit by Eylül Kaya (KOK33025) with Fist causing 0 damage. -[info][2025/06/16 22:45:23]: [OHM07543] Aimed at Tom Keller (BJS65758) with Stun Gun. -[info][2025/06/16 22:45:24]: [OHM07543] Got hit by Victoria Ann (GNR11868) with Fist causing 0 damage. -[info][2025/06/16 22:45:28]: [OHM07543] Aimed at Tom Keller (BJS65758) with Stun Gun. -[info][2025/06/16 22:45:34]: [OHM07543] Aimed at Tom Keller (BJS65758) with Stun Gun. -[info][2025/06/16 22:45:35]: [BJS65758] Got hit by Dr.Demon Campers (OHM07543) with Stun Gun causing 0 damage. -[info][2025/06/16 22:45:35]: [OHM07543] Got hit by Victoria Ann (GNR11868) with Fist causing 21 damage. -[info][2025/06/16 22:45:38]: [OHM07543] Got hit by Victoria Ann (GNR11868) with Fist causing 21 damage. -[info][2025/06/16 22:45:40]: [OHM07543] Got hit by Victoria Ann (GNR11868) with Fist causing 21 damage. -[info][2025/06/16 22:45:44]: [OHM07543] Aimed at Victoria Ann (GNR11868) with Stun Gun. -[info][2025/06/16 22:45:45]: [GNR11868] Got hit by Dr.Demon Campers (OHM07543) with Stun Gun causing 0 damage. -[info][2025/06/16 22:45:46]: [OHM07543] Aimed at Shadow Wuff (BTS80865) with Stun Gun. -[info][2025/06/16 22:45:48]: [BTS80865] Got hit by Dr.Demon Campers (OHM07543) with Stun Gun causing 0 damage. -[info][2025/06/16 22:45:53]: [OHM07543] Aimed at Tom Keller (BJS65758) with Stun Gun. -[info][2025/06/16 22:45:58]: [OHM07543] Aimed at Tom Keller (BJS65758) with Stun Gun. -[info][2025/06/16 22:45:59]: [BJS65758] Got hit by Dr.Demon Campers (OHM07543) with Stun Gun causing 0 damage. -[info][2025/06/16 22:46:01]: [OHM07543] Got hit by Victoria Ann (GNR11868) with Fist causing 21 damage. -[info][2025/06/16 22:46:02]: [OHM07543] Got hit by Victoria Ann (GNR11868) with Fist causing 0 damage. -[info][2025/06/16 22:46:10]: [OHM07543] Got hit by Victoria Ann (GNR11868) with Fist causing 21 damage. -[info][2025/06/16 22:46:16]: [OHM07543] Got hit by Shadow Wuff (BTS80865) with Animal causing 22 damage. -[info][2025/06/16 22:46:20]: [OHM07543] Got hit by Victoria Ann (GNR11868) with Fist causing 26 damage. -[info][2025/06/16 22:46:21]: [OHM07543] Got hit by Victoria Ann (GNR11868) with Fist causing 26 damage. -[info][2025/06/16 22:46:22]: [OHM07543] Aimed at Victoria Ann (GNR11868) with Heavy Revolver Mk II. -[info][2025/06/16 22:46:24]: [GNR11868] Got killed by Dr.Demon Campers (OHM07543) with Heavy Revolver MK2 causing 199 damage. -[info][2025/06/16 23:44:08]: [CRO67821] Aimed at Dr.Demon Campers (OHM07543) with Assault Rifle. -[info][2025/06/16 23:44:24]: [GNR11868] Aimed at Dr.Demon Campers (OHM07543) with Special Carbine. -[info][2025/06/16 23:44:26]: [OHM07543] Got killed by Victoria Ann (GNR11868) with Special Carbine causing 605 damage. -[info][2025/06/16 23:46:03]: [GNR11868] Got hit by Dr.Demon Campers (OHM07543) with Fist causing 20 damage. -[info][2025/06/16 23:46:06]: [OHM07543] Got hit by Victoria Ann (GNR11868) with Fist causing 21 damage. -[info][2025/06/16 23:50:05]: [OHM07543] Aimed at Eylül Kaya (KOK33025) with Heavy Revolver Mk II. -[info][2025/06/16 23:50:06]: [KOK33025] Got killed by Dr.Demon Campers (OHM07543) with Heavy Revolver MK2 causing 169 damage. -[info][2025/06/16 23:50:18]: [OHM07543] Got hit by Victoria Ann (GNR11868) with Fist causing 21 damage. -[info][2025/06/16 23:50:21]: [OHM07543] Aimed at Victoria Ann (GNR11868) with Heavy Revolver Mk II. -[info][2025/06/16 23:50:25]: [OHM07543] Aimed at Victoria Ann (GNR11868) with Stun Gun. -[info][2025/06/16 23:50:27]: [GNR11868] Got hit by Dr.Demon Campers (OHM07543) with Stun Gun causing 0 damage. -[info][2025/06/16 23:50:28]: [GNR11868] Got hit by Dr.Demon Campers (OHM07543) with Stun Gun causing 0 damage. -[info][2025/06/16 23:50:39]: [OHM07543] Got hit by Victoria Ann (GNR11868) with Fist causing 21 damage. -[info][2025/06/16 23:50:41]: [OHM07543] Got hit by Victoria Ann (GNR11868) with Fist causing 26 damage. -[info][2025/06/16 23:50:44]: [OHM07543] Got hit by Victoria Ann (GNR11868) with Fist causing 21 damage. -[info][2025/06/16 23:51:27]: [CRO67821] Aimed at Scarlett Shelby (KVN10675) with Heavy Revolver Mk II. -[info][2025/06/16 23:52:18]: [CRO67821] Aimed at Dr.Demon Campers (OHM07543) with Heavy Revolver Mk II. -[info][2025/06/16 23:52:20]: [CRO67821] Aimed at Dr.Demon Campers (OHM07543) with Heavy Revolver Mk II. -[info][2025/06/17 02:07:34]: [BTS80865] campers requested Shadow Wuff. -[info][2025/06/17 02:07:50]: [BJS65758] Got hit by Shadow Wuff (BTS80865) with Animal causing 22 damage. -[info][2025/06/17 02:08:07]: [BJS65758] Got hit by Shadow Wuff (BTS80865) with Animal causing 22 damage. -[info][2025/06/17 02:11:19]: [BJS65758] Got hit by Shadow Wuff (BTS80865) with Animal causing 22 damage. -[info][2025/06/17 02:11:20]: [BJS65758] Got hit by Shadow Wuff (BTS80865) with Animal causing 22 damage. -[info][2025/06/17 02:11:23]: [BJS65758] Got hit by Shadow Wuff (BTS80865) with Animal causing 22 damage. -[info][2025/06/17 02:11:24]: [BJS65758] Got killed by Shadow Wuff (BTS80865) with Animal causing 0 damage. -[info][2025/06/17 02:12:16]: [BJS65758] Got hit by Shadow Wuff (BTS80865) with Animal causing 22 damage. -[info][2025/06/17 02:12:35]: [BJS65758] Got hit by Shadow Wuff (BTS80865) with Animal causing 22 damage. -[info][2025/06/17 02:12:38]: [BTS80865] Got hit by Tom Keller (BJS65758) with Fist causing 26 damage. -[info][2025/06/17 02:12:39]: [BJS65758] Got hit by Shadow Wuff (BTS80865) with Animal causing 22 damage. -[info][2025/06/17 02:12:39]: [BJS65758] Got hit by Shadow Wuff (BTS80865) with Animal causing 22 damage. -[info][2025/06/17 02:12:41]: [BJS65758] Got killed by Shadow Wuff (BTS80865) with Animal causing 0 damage. -[info][2025/06/17 02:14:24]: [BJS65758] campers requested Tom Keller. -[info][2025/06/17 03:58:12]: [BJS65758] Got hit by Loona Santana (NUL11496) with Carbine Rifle causing 10 damage. -[info][2025/06/17 03:58:12]: [BJS65758] Got hit by Loona Santana (NUL11496) with Carbine Rifle causing 10 damage. -[info][2025/06/17 03:58:12]: [BJS65758] Got hit by Loona Santana (NUL11496) with Carbine Rifle causing 10 damage. -[info][2025/06/17 14:56:03]: [DYW89109] rockit requested Connor Garrison. -[info][2025/06/17 14:56:06]: [DYW89109] rockit changed meta thirst for Connor Garrison to 100. -[info][2025/06/17 14:56:06]: [DYW89109] rockit requested Connor Garrison. -[info][2025/06/17 14:56:06]: [DYW89109] rockit changed meta hunger for Connor Garrison to 100. -[info][2025/06/17 14:56:06]: [DYW89109] rockit requested Connor Garrison. -[info][2025/06/17 15:20:09]: [DYW89109] rockit requested Connor Garrison. -[info][2025/06/17 15:20:12]: [DYW89109] rockit requested player vehicles. -[info][2025/06/17 15:20:36]: [DYW89109] rockit requested Connor Garrison. -[info][2025/06/17 15:20:41]: [DYW89109] rockit requested player vehicles. -[info][2025/06/17 15:32:06]: [WEQ57654] Got hit by Connor Garrison (DYW89109) with Fist causing 25 damage. -[info][2025/06/17 15:34:44]: [DYW89109] Got hit by Real Falkard (WEQ57654) with Fist causing 20 damage. -[info][2025/06/17 15:35:07]: [DYW89109] rockit requested Connor Garrison. -[info][2025/06/17 15:35:10]: [DYW89109] rockit healed Connor Garrison. -[info][2025/06/17 15:35:10]: [DYW89109] rockit requested Connor Garrison. -[info][2025/06/17 15:35:12]: [DYW89109] rockit changed meta thirst for Connor Garrison to 100. -[info][2025/06/17 15:35:12]: [DYW89109] rockit requested Connor Garrison. -[info][2025/06/17 15:35:13]: [DYW89109] rockit changed meta hunger for Connor Garrison to 100. -[info][2025/06/17 15:35:13]: [DYW89109] rockit requested Connor Garrison. -[info][2025/06/17 15:37:03]: [WEQ57654] rockit requested Real Falkard. -[info][2025/06/17 15:42:37]: [CRO67821] Aimed at Real Falkard (WEQ57654) with Heavy Revolver Mk II. -[info][2025/06/17 15:42:39]: [CRO67821] Aimed at Real Falkard (WEQ57654) with Heavy Revolver Mk II. -[info][2025/06/17 15:42:46]: [CRO67821] Aimed at Real Falkard (WEQ57654) with Heavy Revolver Mk II. -[info][2025/06/17 15:43:15]: [CRO67821] Aimed at Real Falkard (WEQ57654) with Heavy Revolver Mk II. -[info][2025/06/17 15:43:18]: [CRO67821] Aimed at Scarlett Shelby (KVN10675) with Heavy Revolver Mk II. -[info][2025/06/17 15:43:20]: [CRO67821] Aimed at Real Falkard (WEQ57654) with Heavy Revolver Mk II. -[info][2025/06/17 16:32:10]: [CRO67821] marc requested Marc Santoro. -[info][2025/06/17 16:32:11]: [CRO67821] marc requested player vehicles. -[info][2025/06/17 16:32:48]: [CRO67821] marc requested Marc Santoro. -[info][2025/06/17 16:32:49]: [CRO67821] marc requested player vehicles. -[info][2025/06/17 16:32:58]: [CRO67821] marc requested Marc Santoro. -[info][2025/06/17 16:32:59]: [CRO67821] marc requested player vehicles. -[info][2025/06/17 16:33:06]: [CRO67821] marc requested Marc Santoro. -[info][2025/06/17 16:33:44]: [CRO67821] marc requested Marc Santoro. -[info][2025/06/17 16:33:44]: [CRO67821] marc requested player vehicles. -[info][2025/06/17 16:34:29]: [CRO67821] marc requested Marc Santoro. -[info][2025/06/17 16:34:30]: [CRO67821] marc requested player vehicles. -[info][2025/06/17 16:34:49]: [CRO67821] marc requested Marc Santoro. -[info][2025/06/17 16:34:50]: [CRO67821] marc requested player vehicles. -[info][2025/06/17 16:37:19]: [CRO67821] marc requested Marc Santoro. -[info][2025/06/17 16:37:53]: [CRO67821] marc changed meta thirst for Marc Santoro to 100. -[info][2025/06/17 16:37:53]: [CRO67821] marc requested Marc Santoro. -[info][2025/06/17 16:37:54]: [CRO67821] marc changed meta hunger for Marc Santoro to 100. -[info][2025/06/17 16:37:54]: [CRO67821] marc requested Marc Santoro. -[info][2025/06/17 16:37:54]: [CRO67821] marc changed meta stress for Marc Santoro to 0. -[info][2025/06/17 16:37:54]: [CRO67821] marc requested Marc Santoro. -[info][2025/06/17 16:38:04]: [CRO67821] marc gave 1000000 cash to Marc Santoro. -[info][2025/06/17 16:38:04]: [CRO67821] marc requested Marc Santoro. -[info][2025/06/17 16:40:12]: [CRO67821] marc requested player vehicles. -[info][2025/06/17 16:40:13]: [CRO67821] marc requested Marc Santoro. -[info][2025/06/17 20:28:48]: [PGS32293] voltstromi requested Sam Benning. -[info][2025/06/17 20:29:28]: [RZC73356] voltstromi requested Jack Weston. -[info][2025/06/17 20:30:01]: [RZC73356] voltstromi requested Jack Weston. -[info][2025/06/17 20:30:04]: [PGS32293] voltstromi requested Sam Benning. -[info][2025/06/17 21:46:37]: [CRO67821] marc requested Marc Santoro. -[info][2025/06/17 21:46:39]: [CRO67821] marc requested player vehicles. -[info][2025/06/17 21:46:39]: [QYA52709] campers requested Finnley Mc Coy. -[info][2025/06/17 21:46:46]: [CRO67821] marc requested Marc Santoro. -[info][2025/06/17 21:46:47]: [CRO67821] marc requested player vehicles. -[info][2025/06/17 21:47:06]: [QYA52709] campers requested Finnley Mc Coy. -[info][2025/06/17 21:47:13]: [QYA52709] campers changed charinfo for Dr. Finnley Mc Coy. -[info][2025/06/17 21:47:13]: [QYA52709] campers requested Dr. Finnley Mc Coy. -[info][2025/06/17 21:47:39]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/06/17 21:47:41]: [OHM07543] campers requested player vehicles. -[info][2025/06/17 21:49:15]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/06/17 21:49:20]: [OHM07543] campers requested player vehicles. -[info][2025/06/17 21:51:17]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/06/17 21:51:19]: [OHM07543] campers requested player vehicles. -[info][2025/06/17 21:51:55]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/06/17 21:51:57]: [OHM07543] campers requested player vehicles. -[info][2025/06/17 22:06:56]: [OHM07543] Got hit by Dr. Finnley Mc Coy (QYA52709) with Fist causing 21 damage. -[info][2025/06/17 22:09:08]: [QYA52709] Got hit by Dr.Demon Campers (OHM07543) with Fist causing 20 damage. -[info][2025/06/17 22:34:33]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/06/17 22:34:43]: [QYA52709] campers requested Dr. Finnley Mc Coy. -[info][2025/06/17 22:35:00]: [OHM07543] campers requested Dr.Demon Campers. -[info][2025/06/17 22:35:07]: [OHM07543] campers changed charinfo for Dr. Demon Campers. -[info][2025/06/17 22:35:07]: [OHM07543] campers requested Dr. Demon Campers. -[info][2025/06/17 22:54:13]: [EAP03737] marc requested Josf Meier. -[info][2025/06/17 22:54:32]: [EAP03737] marc requested Josf Meier. -[info][2025/06/18 00:01:21]: [KVN10675] campers requested Scarlett Shelby. -[info][2025/06/18 00:01:53]: [EAP03737] campers requested Josf Meier. -[info][2025/06/18 00:02:18]: [EAP03737] campers requested player vehicles. -[info][2025/06/18 00:02:21]: [EAP03737] campers requested Josf Meier. -[info][2025/06/18 00:34:54]: [CRO67821] marc requested Marc Santoro. -[info][2025/06/18 00:34:57]: [CRO67821] marc changed meta thirst for Marc Santoro to 100. -[info][2025/06/18 00:34:57]: [CRO67821] marc requested Marc Santoro. -[info][2025/06/18 00:34:57]: [CRO67821] marc changed meta hunger for Marc Santoro to 100. -[info][2025/06/18 00:34:57]: [CRO67821] marc requested Marc Santoro. -[info][2025/06/18 00:59:59]: [KVN10675] Got hit by Dr.Kimberly Smith (JCQ27225) with Fist causing 21 damage. -[info][2025/06/18 12:01:52]: [YOE08016] marc requested Herbert Strauss. -[info][2025/06/18 12:01:53]: [YOE08016] marc requested player vehicles. -[info][2025/06/18 12:02:14]: [YOE08016] marc requested Herbert Strauss. -[info][2025/06/18 12:02:16]: [YOE08016] marc requested player vehicles. -[info][2025/06/18 14:08:50]: [YOE08016] marc requested Herbert Strauss. -[info][2025/06/18 14:08:53]: [YOE08016] marc healed Herbert Strauss. -[info][2025/06/18 14:08:53]: [YOE08016] marc requested Herbert Strauss. -[info][2025/06/18 14:09:32]: [YOE08016] marc changed meta hunger for Herbert Strauss to 100. -[info][2025/06/18 14:09:32]: [YOE08016] marc requested Herbert Strauss. -[info][2025/06/18 14:09:32]: [YOE08016] marc changed meta thirst for Herbert Strauss to 100. -[info][2025/06/18 14:09:32]: [YOE08016] marc requested Herbert Strauss. -[info][2025/06/18 14:20:59]: [YOE08016] Got hit by Marc Santoro (CRO67821) with Fist causing 21 damage. -[info][2025/06/18 17:04:20]: [PGS32293] voltstromi requested Sam Benning. -[info][2025/06/18 17:04:24]: [PGS32293] voltstromi changed meta thirst for Sam Benning to 100. -[info][2025/06/18 17:04:24]: [PGS32293] voltstromi requested Sam Benning. -[info][2025/06/18 17:04:25]: [PGS32293] voltstromi changed meta hunger for Sam Benning to 100. -[info][2025/06/18 17:04:25]: [PGS32293] voltstromi requested Sam Benning. -[info][2025/06/18 19:11:29]: [ABD68100] Got hit by Sam Benning (PGS32293) with Fist causing 21 damage. -[info][2025/06/18 20:06:07]: [BCK05564] Got hit by Lucifer Morningstar (BCK05564) with Fist causing 16 damage. -[info][2025/06/18 20:06:07]: [BCK05564] Got hit by Lucifer Morningstar (BCK05564) with Fist causing 16 damage. -[info][2025/06/18 20:06:09]: [BCK05564] Got hit by Lucifer Morningstar (BCK05564) with Fist causing 16 damage. -[info][2025/06/18 20:06:10]: [BCK05564] Got hit by Lucifer Morningstar (BCK05564) with Fist causing 16 damage. -[info][2025/06/18 20:22:43]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/18 20:23:01]: [JCQ27225] nordi gave 10000 cash to Dr.Kimberly Smith. -[info][2025/06/18 20:23:01]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/18 20:32:02]: [BCK05564] nordi requested Lucifer Morningstar. -[info][2025/06/18 20:33:51]: [YXR32491] marc requested Torben Schmitz. -[info][2025/06/18 20:33:55]: [YXR32491] marc healed Torben Schmitz. -[info][2025/06/18 20:33:55]: [YXR32491] marc requested Torben Schmitz. -[info][2025/06/18 20:33:55]: [YXR32491] marc changed meta thirst for Torben Schmitz to 100. -[info][2025/06/18 20:33:55]: [YXR32491] marc requested Torben Schmitz. -[info][2025/06/18 20:33:56]: [YXR32491] marc changed meta hunger for Torben Schmitz to 100. -[info][2025/06/18 20:33:56]: [YXR32491] marc requested Torben Schmitz. -[info][2025/06/18 20:33:57]: [YXR32491] marc changed meta armor for Torben Schmitz to 100. -[info][2025/06/18 20:33:57]: [YXR32491] marc requested Torben Schmitz. -[info][2025/06/19 20:46:33]: [BTS80865] Got hit by Sophia Marino (ABD68100) with Fist causing 25 damage. -[info][2025/06/19 21:38:21]: [BTS80865] Got hit by Shadow Wuff (BTS80865) with Fist causing 20 damage. -[info][2025/06/19 21:38:41]: [BTS80865] Got hit by Sophia Marino (ABD68100) with Fist causing 25 damage. -[info][2025/06/19 22:51:49]: [OHM07543] marc requested Dr. Demon Campers. -[info][2025/06/19 22:51:50]: [OHM07543] marc requested player vehicles. -[info][2025/06/19 22:52:01]: [CRO67821] Got killed by Scarlett Shelby (KVN10675) with Knife causing 0 damage. -[info][2025/06/19 22:53:22]: [KVN10675] Got hit by Scarlett Shelby (KVN10675) with undefined causing 20 damage. -[info][2025/06/19 22:53:23]: [KVN10675] Got hit by Scarlett Shelby (KVN10675) with Animal causing 33 damage. -[info][2025/06/19 22:53:26]: [KVN10675] Got hit by Scarlett Shelby (KVN10675) with Animal causing 33 damage. -[info][2025/06/19 22:53:37]: [CRO67821] Got hit by Scarlett Shelby (KVN10675) with Knife causing 76 damage. -[info][2025/06/19 22:53:37]: [KVN10675] Got killed by Marc Santoro (CRO67821) with Fist causing 20 damage. -[info][2025/06/19 22:53:49]: [CRO67821] Got hit by Scarlett Shelby (KVN10675) with Fist causing 25 damage. -[info][2025/06/19 22:53:50]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Fist causing 20 damage. -[info][2025/06/19 22:53:51]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Fist causing 25 damage. -[info][2025/06/19 22:53:53]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Fist causing 20 damage. -[info][2025/06/19 22:53:53]: [CRO67821] Got hit by Scarlett Shelby (KVN10675) with Fist causing 20 damage. -[info][2025/06/19 22:53:54]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Fist causing 25 damage. -[info][2025/06/19 22:53:54]: [CRO67821] Got hit by Scarlett Shelby (KVN10675) with Fist causing 20 damage. -[info][2025/06/19 22:53:56]: [CRO67821] Got hit by Scarlett Shelby (KVN10675) with Fist causing 25 damage. -[info][2025/06/19 22:53:58]: [CRO67821] Got killed by Scarlett Shelby (KVN10675) with Fist causing 20 damage. -[info][2025/06/19 23:03:59]: [CRO67821] Aimed at Lucifer Morningstar (BCK05564) with Pistol. -[info][2025/06/19 23:04:00]: [BCK05564] Got hit by Marc Santoro (CRO67821) with Pistol causing 25 damage. -[info][2025/06/19 23:04:03]: [CRO67821] Aimed at Scarlett Shelby (KVN10675) with Pistol. -[info][2025/06/19 23:04:16]: [CRO67821] Aimed at Lucifer Morningstar (BCK05564) with Pistol. -[info][2025/06/19 23:04:17]: [BCK05564] Got hit by Marc Santoro (CRO67821) with Pistol causing 0 damage. -[info][2025/06/19 23:04:18]: [BCK05564] Got hit by Marc Santoro (CRO67821) with Pistol causing 0 damage. -[info][2025/06/19 23:04:18]: [BCK05564] Got hit by Marc Santoro (CRO67821) with Pistol causing 0 damage. -[info][2025/06/19 23:04:18]: [BCK05564] Got hit by Marc Santoro (CRO67821) with Pistol causing 0 damage. -[info][2025/06/19 23:04:18]: [BCK05564] Got hit by Marc Santoro (CRO67821) with Pistol causing 0 damage. -[info][2025/06/19 23:04:21]: [CRO67821] Aimed at Scarlett Shelby (KVN10675) with Pistol. -[info][2025/06/19 23:04:22]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Pistol causing 0 damage. -[info][2025/06/19 23:04:26]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Pistol causing 0 damage. -[info][2025/06/19 23:04:26]: [CRO67821] Aimed at Scarlett Shelby (KVN10675) with Pistol. -[info][2025/06/19 23:04:27]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Pistol causing 0 damage. -[info][2025/06/19 23:04:27]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Pistol causing 0 damage. -[info][2025/06/19 23:04:27]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Pistol causing 0 damage. -[info][2025/06/19 23:04:35]: [CRO67821] Aimed at Scarlett Shelby (KVN10675) with Pistol. -[info][2025/06/19 23:04:36]: [CRO67821] Got hit by Lucifer Morningstar (BCK05564) with Fist causing 20 damage. -[info][2025/06/19 23:04:38]: [CRO67821] Aimed at Scarlett Shelby (KVN10675) with Pistol. -[info][2025/06/19 23:04:40]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Pistol causing 0 damage. -[info][2025/06/19 23:04:40]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Pistol causing 0 damage. -[info][2025/06/19 23:04:40]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Pistol causing 0 damage. -[info][2025/06/19 23:04:47]: [CRO67821] Aimed at Scarlett Shelby (KVN10675) with Pistol. -[info][2025/06/19 23:04:48]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Pistol causing 0 damage. -[info][2025/06/19 23:04:49]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Pistol causing 0 damage. -[info][2025/06/19 23:12:01]: [CRO67821] Aimed at Scarlett Shelby (KVN10675) with Pump Shotgun. -[info][2025/06/19 23:12:02]: [KVN10675] Got killed by Marc Santoro (CRO67821) with Pump Shotgun causing 4384 damage. -[info][2025/06/19 23:12:13]: [CRO67821] Aimed at Scarlett Shelby (KVN10675) with Pump Shotgun. -[info][2025/06/19 23:12:14]: [CRO67821] Got hit by Scarlett Shelby (KVN10675) with Knife causing 76 damage. -[info][2025/06/19 23:12:15]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Pump Shotgun causing 12 damage. -[info][2025/06/19 23:12:16]: [KVN10675] Got killed by Marc Santoro (CRO67821) with Pump Shotgun causing 128 damage. -[info][2025/06/19 23:12:24]: [CRO67821] Got hit by Scarlett Shelby (KVN10675) with Fist causing 20 damage. -[info][2025/06/19 23:12:25]: [CRO67821] Got hit by Scarlett Shelby (KVN10675) with Fist causing 0 damage. -[info][2025/06/19 23:12:26]: [CRO67821] Got killed by Scarlett Shelby (KVN10675) with Fist causing 20 damage. -[info][2025/06/19 23:12:29]: [CRO67821] Got hit by Scarlett Shelby (KVN10675) with Fist causing 20 damage. -[info][2025/06/19 23:12:30]: [CRO67821] Got hit by Scarlett Shelby (KVN10675) with Fist causing 25 damage. -[info][2025/06/19 23:12:35]: [CRO67821] Aimed at Lucifer Morningstar (BCK05564) with Pump Shotgun. -[info][2025/06/19 23:12:35]: [BCK05564] Got killed by Marc Santoro (CRO67821) with Pump Shotgun causing 1300 damage. -[info][2025/06/19 23:12:36]: [CRO67821] Got hit by Scarlett Shelby (KVN10675) with Fist causing 20 damage. -[info][2025/06/19 23:12:40]: [CRO67821] Got hit by Scarlett Shelby (KVN10675) with Fist causing 20 damage. -[info][2025/06/19 23:12:40]: [CRO67821] Got hit by Scarlett Shelby (KVN10675) with Fist causing 0 damage. -[info][2025/06/19 23:12:42]: [CRO67821] Got killed by Scarlett Shelby (KVN10675) with Fist causing 20 damage. -[info][2025/06/19 23:12:46]: [CRO67821] Got killed by Scarlett Shelby (KVN10675) with Knife causing 0 damage. -[info][2025/06/19 23:12:51]: [CRO67821] Got killed by Scarlett Shelby (KVN10675) with Knife causing 0 damage. -[info][2025/06/19 23:13:00]: [BCK05564] Aimed at Marc Santoro (CRO67821) with AP Pistol. -[info][2025/06/19 23:13:03]: [CRO67821] Aimed at Lucifer Morningstar (BCK05564) with Pump Shotgun. -[info][2025/06/19 23:13:04]: [BCK05564] Aimed at Marc Santoro (CRO67821) with AP Pistol. -[info][2025/06/19 23:13:05]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Pump Shotgun causing 96 damage. -[info][2025/06/19 23:13:05]: [BCK05564] Got hit by Marc Santoro (CRO67821) with Pump Shotgun causing 16 damage. -[info][2025/06/19 23:13:06]: [CRO67821] Aimed at Lucifer Morningstar (BCK05564) with Pump Shotgun. -[info][2025/06/19 23:13:06]: [BCK05564] Got killed by Marc Santoro (CRO67821) with Pump Shotgun causing 1621 damage. -[info][2025/06/19 23:16:52]: [KVN10675] Aimed at Marc Santoro (CRO67821) with Stun Gun. -[info][2025/06/19 23:16:58]: [KVN10675] Aimed at Marc Santoro (CRO67821) with Stun Gun. -[info][2025/06/19 23:17:00]: [KVN10675] Aimed at Marc Santoro (CRO67821) with Stun Gun. -[info][2025/06/19 23:17:02]: [KVN10675] Aimed at Marc Santoro (CRO67821) with Stun Gun. -[info][2025/06/19 23:17:05]: [CRO67821] Aimed at Scarlett Shelby (KVN10675) with Stun Gun. -[info][2025/06/19 23:17:05]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Stun Gun causing 0 damage. -[info][2025/06/19 23:17:08]: [BCK05564] Got hit by Marc Santoro (CRO67821) with Stun Gun causing 0 damage. -[info][2025/06/19 23:17:08]: [BCK05564] Aimed at Marc Santoro (CRO67821) with Stun Gun. -[info][2025/06/19 23:17:10]: [CRO67821] Aimed at Scarlett Shelby (KVN10675) with Stun Gun. -[info][2025/06/19 23:17:12]: [KVN10675] Aimed at Marc Santoro (CRO67821) with Stun Gun. -[info][2025/06/19 23:17:13]: [CRO67821] Aimed at Lucifer Morningstar (BCK05564) with Stun Gun. -[info][2025/06/19 23:17:13]: [BCK05564] Got hit by Marc Santoro (CRO67821) with Stun Gun causing 0 damage. -[info][2025/06/19 23:17:15]: [CRO67821] Aimed at Scarlett Shelby (KVN10675) with Stun Gun. -[info][2025/06/19 23:17:16]: [KVN10675] Aimed at Marc Santoro (CRO67821) with Stun Gun. -[info][2025/06/19 23:17:16]: [CRO67821] Got hit by Scarlett Shelby (KVN10675) with Stun Gun causing 0 damage. -[info][2025/06/19 23:17:20]: [KVN10675] Aimed at Marc Santoro (CRO67821) with Stun Gun. -[info][2025/06/19 23:17:21]: [CRO67821] Got hit by Scarlett Shelby (KVN10675) with Stun Gun causing 0 damage. -[info][2025/06/19 23:17:25]: [BCK05564] Aimed at Scarlett Shelby (KVN10675) with Stun Gun. -[info][2025/06/19 23:17:25]: [CRO67821] Got hit by Lucifer Morningstar (BCK05564) with Stun Gun causing 1 damage. -[info][2025/06/19 23:17:26]: [BCK05564] Aimed at Marc Santoro (CRO67821) with Stun Gun. -[info][2025/06/19 23:17:31]: [CRO67821] Aimed at Lucifer Morningstar (BCK05564) with Stun Gun. -[info][2025/06/19 23:17:32]: [BCK05564] Got hit by Marc Santoro (CRO67821) with Stun Gun causing 0 damage. -[info][2025/06/19 23:17:34]: [CRO67821] Aimed at Scarlett Shelby (KVN10675) with Stun Gun. -[info][2025/06/19 23:17:38]: [CRO67821] Aimed at Scarlett Shelby (KVN10675) with Stun Gun. -[info][2025/06/19 23:17:39]: [KVN10675] Aimed at Marc Santoro (CRO67821) with Stun Gun. -[info][2025/06/19 23:17:41]: [CRO67821] Aimed at Scarlett Shelby (KVN10675) with Stun Gun. -[info][2025/06/19 23:17:42]: [KVN10675] Aimed at Lucifer Morningstar (BCK05564) with Stun Gun. -[info][2025/06/19 23:17:49]: [BCK05564] Got hit by Marc Santoro (CRO67821) with Stun Gun causing 0 damage. -[info][2025/06/19 23:17:49]: [CRO67821] Aimed at Lucifer Morningstar (BCK05564) with Stun Gun. -[info][2025/06/19 23:17:49]: [KVN10675] Aimed at Marc Santoro (CRO67821) with Stun Gun. -[info][2025/06/19 23:17:50]: [CRO67821] Got hit by Scarlett Shelby (KVN10675) with Stun Gun causing 0 damage. -[info][2025/06/19 23:18:03]: [KVN10675] Aimed at Marc Santoro (CRO67821) with Stun Gun. -[info][2025/06/19 23:18:03]: [CRO67821] Got hit by Scarlett Shelby (KVN10675) with Stun Gun causing 0 damage. -[info][2025/06/19 23:18:03]: [CRO67821] Aimed at Scarlett Shelby (KVN10675) with Stun Gun. -[info][2025/06/19 23:18:05]: [KVN10675] Aimed at Marc Santoro (CRO67821) with Stun Gun. -[info][2025/06/19 23:18:06]: [CRO67821] Got hit by Scarlett Shelby (KVN10675) with Stun Gun causing 0 damage. -[info][2025/06/19 23:18:09]: [CRO67821] Got hit by Scarlett Shelby (KVN10675) with Stun Gun causing 0 damage. -[info][2025/06/19 23:18:10]: [BCK05564] Aimed at Marc Santoro (CRO67821) with Stun Gun. -[info][2025/06/19 23:18:11]: [CRO67821] Got hit by Scarlett Shelby (KVN10675) with Stun Gun causing 0 damage. -[info][2025/06/19 23:18:12]: [BCK05564] Aimed at Scarlett Shelby (KVN10675) with Stun Gun. -[info][2025/06/19 23:18:12]: [KVN10675] Got hit by Lucifer Morningstar (BCK05564) with Stun Gun causing 0 damage. -[info][2025/06/19 23:18:20]: [BCK05564] Aimed at Marc Santoro (CRO67821) with Stun Gun. -[info][2025/06/19 23:18:20]: [KVN10675] Aimed at Lucifer Morningstar (BCK05564) with Stun Gun. -[info][2025/06/19 23:18:21]: [CRO67821] Got hit by Lucifer Morningstar (BCK05564) with Stun Gun causing 0 damage. -[info][2025/06/19 23:18:22]: [BCK05564] Got hit by Scarlett Shelby (KVN10675) with Stun Gun causing 0 damage. -[info][2025/06/19 23:18:25]: [KVN10675] Aimed at Marc Santoro (CRO67821) with Stun Gun. -[info][2025/06/19 23:18:25]: [CRO67821] Got hit by Scarlett Shelby (KVN10675) with Stun Gun causing 0 damage. -[info][2025/06/19 23:18:27]: [KVN10675] Aimed at Lucifer Morningstar (BCK05564) with Stun Gun. -[info][2025/06/19 23:18:28]: [BCK05564] Got hit by Scarlett Shelby (KVN10675) with Stun Gun causing 0 damage. -[info][2025/06/19 23:18:30]: [KVN10675] Aimed at Marc Santoro (CRO67821) with Stun Gun. -[info][2025/06/19 23:18:31]: [CRO67821] Got hit by Scarlett Shelby (KVN10675) with Stun Gun causing 0 damage. -[info][2025/06/19 23:18:32]: [KVN10675] Aimed at Lucifer Morningstar (BCK05564) with Stun Gun. -[info][2025/06/19 23:18:34]: [BCK05564] Got hit by Scarlett Shelby (KVN10675) with Stun Gun causing 0 damage. -[info][2025/06/19 23:18:42]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Stun Gun causing 0 damage. -[info][2025/06/19 23:18:42]: [CRO67821] Aimed at Scarlett Shelby (KVN10675) with Stun Gun. -[info][2025/06/19 23:18:44]: [BCK05564] Aimed at Marc Santoro (CRO67821) with Stun Gun. -[info][2025/06/19 23:18:45]: [CRO67821] Got hit by Lucifer Morningstar (BCK05564) with Stun Gun causing 0 damage. -[info][2025/06/19 23:19:21]: [CRO67821] Aimed at Lucifer Morningstar (BCK05564) with Carbine Rifle. -[info][2025/06/19 23:19:21]: [BCK05564] Got hit by Marc Santoro (CRO67821) with Carbine Rifle causing 31 damage. -[info][2025/06/19 23:19:22]: [BCK05564] Got hit by Marc Santoro (CRO67821) with Carbine Rifle causing 18 damage. -[info][2025/06/19 23:19:22]: [BCK05564] Got hit by Marc Santoro (CRO67821) with Carbine Rifle causing 18 damage. -[info][2025/06/19 23:19:23]: [BCK05564] Got hit by Marc Santoro (CRO67821) with Carbine Rifle causing 18 damage. -[info][2025/06/19 23:19:23]: [BCK05564] Got hit by Marc Santoro (CRO67821) with Carbine Rifle causing 18 damage. -[info][2025/06/19 23:19:23]: [BCK05564] Got killed by Marc Santoro (CRO67821) with Carbine Rifle causing 18 damage. -[info][2025/06/19 23:19:23]: [BCK05564] Got hit by Marc Santoro (CRO67821) with Carbine Rifle causing 0 damage. -[info][2025/06/19 23:19:35]: [CRO67821] Aimed at Lucifer Morningstar (BCK05564) with Carbine Rifle. -[info][2025/06/19 23:19:35]: [BCK05564] Got killed by Marc Santoro (CRO67821) with Carbine Rifle causing 359 damage. -[info][2025/06/19 23:20:17]: [BCK05564] Aimed at Scarlett Shelby (KVN10675) with Stun Gun. -[info][2025/06/19 23:20:21]: [BCK05564] Got hit by Marc Santoro (CRO67821) with Carbine Rifle causing 18 damage. -[info][2025/06/19 23:20:21]: [CRO67821] Aimed at Lucifer Morningstar (BCK05564) with Carbine Rifle. -[info][2025/06/19 23:20:22]: [BCK05564] Got killed by Marc Santoro (CRO67821) with Carbine Rifle causing 359 damage. -[info][2025/06/19 23:20:22]: [BCK05564] Got killed by Marc Santoro (CRO67821) with Carbine Rifle causing 359 damage. -[info][2025/06/19 23:20:36]: [BCK05564] Aimed at Scarlett Shelby (KVN10675) with Stun Gun. -[info][2025/06/19 23:20:40]: [BCK05564] Aimed at Marc Santoro (CRO67821) with Stun Gun. -[info][2025/06/19 23:20:45]: [BCK05564] Aimed at Scarlett Shelby (KVN10675) with Stun Gun. -[info][2025/06/19 23:20:48]: [BCK05564] Aimed at Scarlett Shelby (KVN10675) with Stun Gun. -[info][2025/06/19 23:20:50]: [BCK05564] Aimed at Scarlett Shelby (KVN10675) with Stun Gun. -[info][2025/06/19 23:20:58]: [BCK05564] Aimed at Marc Santoro (CRO67821) with SMG. -[info][2025/06/19 23:22:39]: [BCK05564] Aimed at Marc Santoro (CRO67821) with AP Pistol. -[info][2025/06/19 23:22:45]: [BCK05564] Aimed at Marc Santoro (CRO67821) with AP Pistol. -[info][2025/06/20 13:21:00]: [KOK33025] Got hit by Eylül Kaya (KOK33025) with Fist causing 0 damage. -[info][2025/06/20 19:01:25]: [ABD68100] Got hit by Victoria Ann (GNR11868) with Fist causing 21 damage. -[info][2025/06/21 00:22:27]: [OBI94807] Got hit by David Munkli (DWK58991) with Fist causing 21 damage. -[info][2025/06/21 00:25:24]: [OBI94807] Got hit by David Munkli (DWK58991) with Fist causing 0 damage. -[info][2025/06/21 01:27:30]: [OBI94807] Got hit by David Munkli (DWK58991) with Fist causing 21 damage. -[info][2025/06/21 19:03:35]: [YXR32491] Got hit by Torben Schmitz (YXR32491) with Fist causing 16 damage. -[info][2025/06/21 19:03:36]: [YXR32491] Got hit by Torben Schmitz (YXR32491) with Fist causing 16 damage. -[info][2025/06/21 19:29:27]: [BCK05564] Aimed at Mark Petrol (UGO12804) with Heavy Pistol. -[info][2025/06/21 19:31:48]: [BCK05564] Aimed at Mark Petrol (UGO12804) with Heavy Pistol. -[info][2025/06/21 19:32:44]: [BCK05564] Aimed at Mark Petrol (UGO12804) with SMG. -[info][2025/06/21 19:32:49]: [BCK05564] Aimed at Mark Petrol (UGO12804) with SMG. -[info][2025/06/21 19:32:49]: [UGO12804] Got killed by Lucifer Morningstar (BCK05564) with SMG causing 145 damage. -[info][2025/06/21 22:16:46]: [BCK05564] Aimed at Dr.Boris Von Dragomir (PCC19872) with Pistol Mk II. -[info][2025/06/21 22:30:26]: [BCK05564] Got hit by Lucifer Morningstar (BCK05564) with Fist causing 0 damage. -[info][2025/06/21 22:30:33]: [BCK05564] Got hit by Lucifer Morningstar (BCK05564) with Fist causing 0 damage. -[info][2025/06/21 22:30:47]: [BCK05564] Got hit by Lucifer Morningstar (BCK05564) with Fist causing 0 damage. -[info][2025/06/21 22:30:51]: [BCK05564] Got hit by Lucifer Morningstar (BCK05564) with Fist causing 0 damage. -[info][2025/06/21 22:30:55]: [BCK05564] Got hit by Lucifer Morningstar (BCK05564) with Fist causing 0 damage. -[info][2025/06/21 22:30:57]: [BCK05564] Got hit by Lucifer Morningstar (BCK05564) with Fist causing 0 damage. -[info][2025/06/21 22:30:58]: [BCK05564] Got hit by Lucifer Morningstar (BCK05564) with Fist causing 0 damage. -[info][2025/06/21 22:31:03]: [BCK05564] Got hit by Lucifer Morningstar (BCK05564) with Fist causing 0 damage. -[info][2025/06/21 22:31:07]: [BCK05564] Got hit by Lucifer Morningstar (BCK05564) with Animal causing 0 damage. -[info][2025/06/21 22:31:13]: [BCK05564] Got hit by Lucifer Morningstar (BCK05564) with undefined causing 0 damage. -[info][2025/06/21 22:31:15]: [BCK05564] Got hit by Lucifer Morningstar (BCK05564) with undefined causing 0 damage. -[info][2025/06/21 22:31:17]: [BCK05564] Got hit by Lucifer Morningstar (BCK05564) with undefined causing 0 damage. -[info][2025/06/21 22:31:20]: [BCK05564] Got hit by Lucifer Morningstar (BCK05564) with undefined causing 0 damage. -[info][2025/06/21 22:31:22]: [BCK05564] Got hit by Lucifer Morningstar (BCK05564) with undefined causing 0 damage. -[info][2025/06/21 22:31:24]: [BCK05564] Got hit by Lucifer Morningstar (BCK05564) with undefined causing 0 damage. -[info][2025/06/21 22:31:26]: [BCK05564] Got hit by Lucifer Morningstar (BCK05564) with undefined causing 0 damage. -[info][2025/06/21 22:31:29]: [BCK05564] Got hit by Lucifer Morningstar (BCK05564) with undefined causing 0 damage. -[info][2025/06/21 22:31:31]: [BCK05564] Got hit by Lucifer Morningstar (BCK05564) with undefined causing 0 damage. -[info][2025/06/21 22:31:36]: [BCK05564] Got hit by Lucifer Morningstar (BCK05564) with Animal causing 0 damage. -[info][2025/06/21 22:31:43]: [BCK05564] Got hit by Lucifer Morningstar (BCK05564) with undefined causing 0 damage. -[info][2025/06/21 22:31:44]: [BCK05564] Aimed at Dr. Finnley Mc Coy (QYA52709) with Heavy Pistol. -[info][2025/06/21 22:31:46]: [BCK05564] Aimed at Victoria Ann (GNR11868) with Heavy Pistol. -[info][2025/06/21 22:31:52]: [BCK05564] Got hit by Lucifer Morningstar (BCK05564) with undefined causing 0 damage. -[info][2025/06/21 22:31:53]: [BCK05564] Aimed at Victoria Ann (GNR11868) with Heavy Pistol. -[info][2025/06/21 22:31:53]: [GNR11868] Got killed by Lucifer Morningstar (BCK05564) with Heavy Pistol causing 502 damage. -[info][2025/06/21 22:32:38]: [BCK05564] Got hit by Lucifer Morningstar (BCK05564) with Animal causing 0 damage. -[info][2025/06/21 22:32:44]: [BCK05564] Got hit by Victoria Ann (GNR11868) with Fist causing 0 damage. -[info][2025/06/21 22:32:46]: [BCK05564] Aimed at Victoria Ann (GNR11868) with Pistol Mk II. -[info][2025/06/21 22:32:48]: [BCK05564] Got hit by Victoria Ann (GNR11868) with Fist causing 0 damage. -[info][2025/06/21 22:32:49]: [BCK05564] Got hit by Victoria Ann (GNR11868) with Fist causing 0 damage. -[info][2025/06/21 22:32:50]: [BCK05564] Got hit by Victoria Ann (GNR11868) with Fist causing 0 damage. -[info][2025/06/21 22:32:53]: [BCK05564] Got hit by Victoria Ann (GNR11868) with Fist causing 0 damage. -[info][2025/06/21 22:32:54]: [GNR11868] Got hit by Victoria Ann (GNR11868) with Fist causing 0 damage. -[info][2025/06/21 22:32:54]: [BCK05564] Got hit by Victoria Ann (GNR11868) with Fist causing 0 damage. -[info][2025/06/21 22:32:55]: [GNR11868] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 19 damage. -[info][2025/06/21 22:36:50]: [BCK05564] Aimed at Victoria Ann (GNR11868) with Stun Gun. -[info][2025/06/21 22:36:52]: [BCK05564] Aimed at Dr. Finnley Mc Coy (QYA52709) with Stun Gun. -[info][2025/06/21 22:37:03]: [BCK05564] Aimed at Dr. Finnley Mc Coy (QYA52709) with Stun Gun. -[info][2025/06/21 22:41:49]: [BCK05564] Aimed at Victoria Ann (GNR11868) with Stun Gun. -[info][2025/06/21 22:41:51]: [GNR11868] Got hit by Lucifer Morningstar (BCK05564) with Stun Gun causing 0 damage. -[info][2025/06/21 22:41:54]: [GNR11868] Got hit by Lucifer Morningstar (BCK05564) with Stun Gun causing 0 damage. -[info][2025/06/21 22:41:58]: [BCK05564] Aimed at Dr. Finnley Mc Coy (QYA52709) with Stun Gun. -[info][2025/06/21 22:41:59]: [QYA52709] Got hit by Lucifer Morningstar (BCK05564) with Stun Gun causing 0 damage. -[info][2025/06/21 22:42:24]: [BCK05564] Aimed at Dr. Finnley Mc Coy (QYA52709) with Stun Gun. -[info][2025/06/21 22:42:27]: [BCK05564] Aimed at Victoria Ann (GNR11868) with Stun Gun. -[info][2025/06/21 22:42:28]: [GNR11868] Got hit by Lucifer Morningstar (BCK05564) with Stun Gun causing 0 damage. -[info][2025/06/21 22:42:31]: [BCK05564] Aimed at Victoria Ann (GNR11868) with Pistol Mk II. -[info][2025/06/21 22:42:32]: [GNR11868] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 19 damage. -[info][2025/06/21 22:42:32]: [GNR11868] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 19 damage. -[info][2025/06/21 22:42:33]: [GNR11868] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 19 damage. -[info][2025/06/21 22:42:33]: [GNR11868] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 19 damage. -[info][2025/06/21 22:42:33]: [GNR11868] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 19 damage. -[info][2025/06/21 22:42:34]: [GNR11868] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 19 damage. -[info][2025/06/21 22:42:34]: [GNR11868] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 19 damage. -[info][2025/06/21 22:42:34]: [GNR11868] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 19 damage. -[info][2025/06/21 22:42:34]: [GNR11868] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 19 damage. -[info][2025/06/21 22:42:35]: [GNR11868] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 19 damage. -[info][2025/06/21 22:42:35]: [GNR11868] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 19 damage. -[info][2025/06/21 22:42:35]: [GNR11868] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 19 damage. -[info][2025/06/21 22:42:36]: [GNR11868] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 19 damage. -[info][2025/06/21 22:42:36]: [GNR11868] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 19 damage. -[info][2025/06/21 22:42:36]: [GNR11868] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 19 damage. -[info][2025/06/21 23:04:52]: [GNR11868] Got hit by Lucifer Morningstar (BCK05564) with Fist causing 21 damage. -[info][2025/06/21 23:55:42]: [KOK33025] Got hit by David Munkli (DWK58991) with Fist causing 27 damage. -[info][2025/06/21 23:57:21]: [DWK58991] Aimed at Eylül Kaya (KOK33025) with Special Carbine. -[info][2025/06/21 23:57:21]: [KOK33025] Got hit by David Munkli (DWK58991) with Special Carbine causing 31 damage. -[info][2025/06/21 23:57:21]: [KOK33025] Got hit by David Munkli (DWK58991) with Special Carbine causing 15 damage. -[info][2025/06/21 23:57:21]: [KOK33025] Got hit by David Munkli (DWK58991) with Special Carbine causing 15 damage. -[info][2025/06/21 23:57:21]: [KOK33025] Got hit by David Munkli (DWK58991) with Special Carbine causing 15 damage. -[info][2025/06/21 23:57:22]: [KOK33025] Got hit by David Munkli (DWK58991) with Special Carbine causing 15 damage. -[info][2025/06/21 23:57:22]: [KOK33025] Got killed by David Munkli (DWK58991) with Special Carbine causing 15 damage. -[info][2025/06/21 23:57:22]: [KOK33025] Got hit by David Munkli (DWK58991) with Special Carbine causing 0 damage. -[info][2025/06/21 23:57:27]: [BCK05564] Aimed at David Munkli (DWK58991) with Stun Gun. -[info][2025/06/21 23:57:28]: [DWK58991] Got hit by Lucifer Morningstar (BCK05564) with Stun Gun causing 1 damage. -[info][2025/06/21 23:57:35]: [BCK05564] Aimed at Eylül Kaya (KOK33025) with Stun Gun. -[info][2025/06/21 23:57:35]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with Stun Gun causing 0 damage. -[info][2025/06/21 23:57:41]: [DWK58991] Got hit by Lucifer Morningstar (BCK05564) with Stun Gun causing 0 damage. -[info][2025/06/21 23:57:41]: [BCK05564] Aimed at David Munkli (DWK58991) with Stun Gun. -[info][2025/06/21 23:57:55]: [BCK05564] Aimed at David Munkli (DWK58991) with Stun Gun. -[info][2025/06/21 23:58:17]: [BCK05564] Aimed at Eylül Kaya (KOK33025) with Pistol Mk II. -[info][2025/06/21 23:58:19]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 32 damage. -[info][2025/06/21 23:58:21]: [BCK05564] Aimed at Eylül Kaya (KOK33025) with Pistol Mk II. -[info][2025/06/21 23:58:21]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 19 damage. -[info][2025/06/21 23:58:23]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 19 damage. -[info][2025/06/21 23:58:24]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 19 damage. -[info][2025/06/21 23:58:24]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 19 damage. -[info][2025/06/21 23:58:24]: [DWK58991] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 18 damage. -[info][2025/06/21 23:59:29]: [BCK05564] Aimed at Eylül Kaya (KOK33025) with Pistol Mk II. -[info][2025/06/21 23:59:29]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 18 damage. -[info][2025/06/21 23:59:30]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 18 damage. -[info][2025/06/21 23:59:30]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 18 damage. -[info][2025/06/21 23:59:30]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 18 damage. -[info][2025/06/21 23:59:31]: [BCK05564] Aimed at Eylül Kaya (KOK33025) with Pistol Mk II. -[info][2025/06/21 23:59:31]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 18 damage. -[info][2025/06/21 23:59:31]: [KOK33025] Got killed by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 18 damage. -[info][2025/06/21 23:59:32]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 0 damage. -[info][2025/06/21 23:59:35]: [BCK05564] Aimed at Eylül Kaya (KOK33025) with Pistol Mk II. -[info][2025/06/22 00:00:09]: [BCK05564] Aimed at Eylül Kaya (KOK33025) with Pistol Mk II. -[info][2025/06/22 00:00:09]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 15 damage. -[info][2025/06/22 00:00:09]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:00:10]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:00:10]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:00:10]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:00:12]: [KOK33025] Got killed by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:00:29]: [BCK05564] Aimed at Eylül Kaya (KOK33025) with Pistol Mk II. -[info][2025/06/22 00:00:35]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:00:36]: [BCK05564] Aimed at Eylül Kaya (KOK33025) with Pistol Mk II. -[info][2025/06/22 00:00:40]: [BCK05564] Aimed at Eylül Kaya (KOK33025) with Pistol Mk II. -[info][2025/06/22 00:00:40]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:00:43]: [BCK05564] Aimed at Eylül Kaya (KOK33025) with Pistol Mk II. -[info][2025/06/22 00:00:43]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:00:45]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:00:45]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:00:53]: [BCK05564] Aimed at Eylül Kaya (KOK33025) with Pistol Mk II. -[info][2025/06/22 00:00:56]: [BCK05564] Aimed at Eylül Kaya (KOK33025) with Pistol Mk II. -[info][2025/06/22 00:01:01]: [BCK05564] Aimed at Eylül Kaya (KOK33025) with Pistol Mk II. -[info][2025/06/22 00:01:02]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:01:03]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:01:04]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:01:04]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:01:04]: [BCK05564] Got killed by Eylül Kaya (KOK33025) with Cougar causing 500 damage. -[info][2025/06/22 00:01:10]: [BCK05564] Got killed by Eylül Kaya (KOK33025) with Cougar causing 0 damage. -[info][2025/06/22 00:01:27]: [BCK05564] Got killed by Eylül Kaya (KOK33025) with Cougar causing 500 damage. -[info][2025/06/22 00:01:39]: [DWK58991] Got killed by Eylül Kaya (KOK33025) with Cougar causing 500 damage. -[info][2025/06/22 00:01:42]: [BCK05564] Aimed at Eylül Kaya (KOK33025) with Stun Gun. -[info][2025/06/22 00:01:42]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with Stun Gun causing 0 damage. -[info][2025/06/22 00:01:46]: [BCK05564] Aimed at Eylül Kaya (KOK33025) with Pistol Mk II. -[info][2025/06/22 00:01:47]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 15 damage. -[info][2025/06/22 00:01:47]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:01:47]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:01:49]: [BCK05564] Aimed at Eylül Kaya (KOK33025) with Pistol Mk II. -[info][2025/06/22 00:01:51]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:01:52]: [BCK05564] Aimed at Eylül Kaya (KOK33025) with Pistol Mk II. -[info][2025/06/22 00:01:53]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 15 damage. -[info][2025/06/22 00:01:53]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 15 damage. -[info][2025/06/22 00:01:56]: [KOK33025] Got killed by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:02:31]: [BCK05564] Aimed at Eylül Kaya (KOK33025) with Pistol Mk II. -[info][2025/06/22 00:02:31]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:02:32]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 15 damage. -[info][2025/06/22 00:02:32]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:02:32]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:02:32]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:02:33]: [KOK33025] Got killed by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:02:37]: [BCK05564] Aimed at Eylül Kaya (KOK33025) with Pistol Mk II. -[info][2025/06/22 00:02:38]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 15 damage. -[info][2025/06/22 00:06:47]: [BCK05564] Aimed at Eylül Kaya (KOK33025) with Pistol Mk II. -[info][2025/06/22 00:06:48]: [KOK33025] Aimed at Lucifer Morningstar (BCK05564) with Combat Pistol. -[info][2025/06/22 00:06:48]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:06:49]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:06:49]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:06:50]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 18 damage. -[info][2025/06/22 00:06:50]: [KOK33025] Got killed by Lucifer Morningstar (BCK05564) with Pistol MK2 causing 15 damage. -[info][2025/06/22 00:07:09]: [BCK05564] Aimed at Eylül Kaya (KOK33025) with AP Pistol. -[info][2025/06/22 00:07:13]: [BCK05564] Aimed at David Munkli (DWK58991) with AP Pistol. -[info][2025/06/22 00:07:15]: [DWK58991] Got hit by Lucifer Morningstar (BCK05564) with AP Pistol causing 6 damage. -[info][2025/06/22 00:07:15]: [BCK05564] Aimed at David Munkli (DWK58991) with AP Pistol. -[info][2025/06/22 00:07:16]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with AP Pistol causing 5 damage. -[info][2025/06/22 00:07:17]: [BCK05564] Aimed at Eylül Kaya (KOK33025) with AP Pistol. -[info][2025/06/22 00:07:26]: [BCK05564] Aimed at Eylül Kaya (KOK33025) with AP Pistol. -[info][2025/06/22 00:07:26]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with AP Pistol causing 6 damage. -[info][2025/06/22 00:07:26]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with AP Pistol causing 6 damage. -[info][2025/06/22 00:07:55]: [BCK05564] Aimed at Eylül Kaya (KOK33025) with AP Pistol. -[info][2025/06/22 00:08:00]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with AP Pistol causing 7 damage. -[info][2025/06/22 00:08:00]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with AP Pistol causing 7 damage. -[info][2025/06/22 00:08:00]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with AP Pistol causing 7 damage. -[info][2025/06/22 00:08:01]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with AP Pistol causing 7 damage. -[info][2025/06/22 00:08:01]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with AP Pistol causing 7 damage. -[info][2025/06/22 00:08:02]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with AP Pistol causing 7 damage. -[info][2025/06/22 00:08:02]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with AP Pistol causing 7 damage. -[info][2025/06/22 00:08:03]: [KOK33025] Got hit by Lucifer Morningstar (BCK05564) with AP Pistol causing 7 damage. -[info][2025/06/22 00:08:04]: [BCK05564] Aimed at Eylül Kaya (KOK33025) with AP Pistol. -[info][2025/06/22 00:08:28]: [BCK05564] Got hit by Eylül Kaya (KOK33025) with Fist causing 10 damage. -[info][2025/06/22 00:08:30]: [BCK05564] Got hit by Eylül Kaya (KOK33025) with Fist causing 10 damage. -[info][2025/06/22 00:08:31]: [BCK05564] Got hit by Eylül Kaya (KOK33025) with Fist causing 12 damage. -[info][2025/06/22 00:09:55]: [BCK05564] Got hit by Eylül Kaya (KOK33025) with Fist causing 0 damage. -[info][2025/06/22 00:12:43]: [KOK33025] Got hit by David Munkli (DWK58991) with Fist causing 27 damage. -[info][2025/06/22 00:13:19]: [DWK58991] Aimed at Eylül Kaya (KOK33025) with Special Carbine. -[info][2025/06/22 00:13:20]: [KOK33025] Got hit by David Munkli (DWK58991) with Special Carbine causing 15 damage. -[info][2025/06/22 00:13:20]: [KOK33025] Got hit by David Munkli (DWK58991) with Special Carbine causing 15 damage. -[info][2025/06/22 00:13:31]: [KOK33025] Got hit by David Munkli (DWK58991) with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:31]: [DWK58991] Aimed at Eylül Kaya (KOK33025) with Special Carbine. -[info][2025/06/22 00:13:31]: [KOK33025] Got hit by David Munkli (DWK58991) with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:32]: [KOK33025] Got hit by David Munkli (DWK58991) with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:32]: [KOK33025] Got hit by David Munkli (DWK58991) with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:32]: [KOK33025] Got hit by David Munkli (DWK58991) with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:32]: [KOK33025] Got hit by David Munkli (DWK58991) with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:32]: [KOK33025] Got hit by David Munkli (DWK58991) with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:32]: [KOK33025] Got hit by David Munkli (DWK58991) with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:32]: [KOK33025] Got hit by David Munkli (DWK58991) with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:32]: [KOK33025] Got hit by David Munkli (DWK58991) with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:33]: [KOK33025] Got hit by David Munkli (DWK58991) with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:33]: [KOK33025] Got hit by David Munkli (DWK58991) with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:33]: [KOK33025] Got hit by David Munkli (DWK58991) with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:33]: [KOK33025] Got hit by David Munkli (DWK58991) with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:33]: [KOK33025] Got hit by David Munkli (DWK58991) with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:33]: [KOK33025] Got hit by David Munkli (DWK58991) with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:33]: [KOK33025] Got hit by David Munkli (DWK58991) with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:33]: [KOK33025] Got hit by David Munkli (DWK58991) with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:33]: [KOK33025] Got hit by David Munkli (DWK58991) with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:34]: [KOK33025] Got hit by David Munkli (DWK58991) with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:34]: [KOK33025] Got hit by David Munkli (DWK58991) with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:34]: [KOK33025] Got hit by David Munkli (DWK58991) with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:34]: [KOK33025] Got hit by David Munkli (DWK58991) with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:34]: [KOK33025] Got hit by David Munkli (DWK58991) with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:34]: [KOK33025] Got hit by David Munkli (DWK58991) with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:35]: [KOK33025] Got hit by David Munkli (DWK58991) with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:36]: [KOK33025] Got hit by David Munkli (DWK58991) with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:36]: [KOK33025] Got hit by David Munkli (DWK58991) with Special Carbine causing 16 damage. -[info][2025/06/22 00:13:36]: [KOK33025] Got hit by David Munkli (DWK58991) with Special Carbine causing 16 damage. -[info][2025/06/22 00:16:52]: [DWK58991] Got hit by Eylül Kaya (KOK33025) with Animal causing 33 damage. -[info][2025/06/22 00:25:31]: [DWK58991] Got hit by Eylül Kaya (KOK33025) with Animal causing 20 damage. -[info][2025/06/22 01:17:58]: [KOK33025] Aimed at David Munkli (DWK58991) with Combat Pistol. -[info][2025/06/22 01:18:00]: [KOK33025] Aimed at David Munkli (DWK58991) with Combat Pistol. -[info][2025/06/22 01:18:03]: [KOK33025] Aimed at David Munkli (DWK58991) with Combat Pistol. -[info][2025/06/22 01:18:05]: [KOK33025] Aimed at David Munkli (DWK58991) with Combat Pistol. -[info][2025/06/22 01:18:27]: [KOK33025] Aimed at David Munkli (DWK58991) with Combat Pistol. -[info][2025/06/22 01:18:44]: [KOK33025] Aimed at David Munkli (DWK58991) with Combat Pistol. -[info][2025/06/22 01:20:10]: [KOK33025] Aimed at David Munkli (DWK58991) with Combat Pistol. -[info][2025/06/22 01:20:46]: [DWK58991] Got hit by Eylül Kaya (KOK33025) with undefined causing 50 damage. -[info][2025/06/22 01:20:48]: [DWK58991] Got killed by Eylül Kaya (KOK33025) with undefined causing 50 damage. -[info][2025/06/22 01:20:54]: [DWK58991] Got killed by Eylül Kaya (KOK33025) with undefined causing 50 damage. -[info][2025/06/22 02:32:30]: [DWK58991] Got hit by Eylül Kaya (KOK33025) with Fist causing 0 damage. -[info][2025/06/22 02:32:34]: [DWK58991] Got hit by Eylül Kaya (KOK33025) with Fist causing 0 damage. -[info][2025/06/22 02:32:47]: [KOK33025] Aimed at David Munkli (DWK58991) with Combat Pistol. -[info][2025/06/22 02:33:08]: [DWK58991] Got hit by Eylül Kaya (KOK33025) with Fist causing 0 damage. -[info][2025/06/22 02:34:21]: [KOK33025] Got killed by David Munkli (DWK58991) with Explosion causing 500 damage. -[info][2025/06/22 02:34:28]: [DWK58991] Got hit by Eylül Kaya (KOK33025) with Fist causing 0 damage. -[info][2025/06/22 02:34:37]: [DWK58991] Got hit by Eylül Kaya (KOK33025) with Fist causing 0 damage. -[info][2025/06/22 02:34:38]: [DWK58991] Got hit by Eylül Kaya (KOK33025) with Fist causing 0 damage. -[info][2025/06/22 02:34:38]: [DWK58991] Got hit by Eylül Kaya (KOK33025) with Fist causing 0 damage. -[info][2025/06/22 02:34:39]: [DWK58991] Aimed at Eylül Kaya (KOK33025) with Special Carbine. -[info][2025/06/22 02:34:39]: [KOK33025] Got hit by David Munkli (DWK58991) with Special Carbine causing 15 damage. -[info][2025/06/22 02:34:40]: [DWK58991] Got hit by Eylül Kaya (KOK33025) with Fist causing 0 damage. -[info][2025/06/22 02:34:40]: [DWK58991] Got hit by Eylül Kaya (KOK33025) with Fist causing 0 damage. -[info][2025/06/22 02:34:41]: [DWK58991] Got hit by Eylül Kaya (KOK33025) with Fist causing 0 damage. -[info][2025/06/22 02:34:42]: [DWK58991] Aimed at Eylül Kaya (KOK33025) with Special Carbine. -[info][2025/06/22 02:34:43]: [KOK33025] Got hit by David Munkli (DWK58991) with Special Carbine causing 15 damage. -[info][2025/06/22 02:34:43]: [KOK33025] Got hit by David Munkli (DWK58991) with Special Carbine causing 12 damage. -[info][2025/06/22 02:34:43]: [KOK33025] Got hit by David Munkli (DWK58991) with Special Carbine causing 15 damage. -[info][2025/06/22 02:34:43]: [KOK33025] Got hit by David Munkli (DWK58991) with Special Carbine causing 12 damage. -[info][2025/06/22 02:34:44]: [DWK58991] Aimed at Eylül Kaya (KOK33025) with Special Carbine. -[info][2025/06/22 02:34:47]: [KOK33025] Got killed by David Munkli (DWK58991) with Special Carbine causing 302 damage. -[info][2025/06/22 02:35:03]: [DWK58991] Got hit by Eylül Kaya (KOK33025) with Fist causing 0 damage. -[info][2025/06/22 02:35:06]: [DWK58991] Got hit by Eylül Kaya (KOK33025) with Fist causing 0 damage. -[info][2025/06/22 02:35:09]: [DWK58991] Got hit by Eylül Kaya (KOK33025) with Fist causing 0 damage. -[info][2025/06/22 02:35:11]: [KOK33025] Got hit by David Munkli (DWK58991) with Fist causing 21 damage. -[info][2025/06/22 02:35:13]: [DWK58991] Got hit by Eylül Kaya (KOK33025) with Fist causing 0 damage. -[info][2025/06/22 02:35:13]: [DWK58991] Got hit by Eylül Kaya (KOK33025) with Fist causing 0 damage. -[info][2025/06/22 02:35:14]: [DWK58991] Got hit by Eylül Kaya (KOK33025) with Fist causing 0 damage. -[info][2025/06/22 02:35:15]: [DWK58991] Got hit by Eylül Kaya (KOK33025) with Fist causing 0 damage. -[info][2025/06/22 02:35:16]: [DWK58991] Got hit by Eylül Kaya (KOK33025) with Fist causing 0 damage. -[info][2025/06/22 02:35:17]: [DWK58991] Got hit by Eylül Kaya (KOK33025) with Fist causing 0 damage. -[info][2025/06/22 02:35:18]: [DWK58991] Got hit by Eylül Kaya (KOK33025) with Fist causing 0 damage. -[info][2025/06/22 02:35:19]: [DWK58991] Got hit by Eylül Kaya (KOK33025) with Fist causing 0 damage. -[info][2025/06/22 02:35:20]: [DWK58991] Got hit by Eylül Kaya (KOK33025) with Fist causing 0 damage. -[info][2025/06/22 02:35:23]: [KOK33025] Got hit by David Munkli (DWK58991) with Fist causing 21 damage. -[info][2025/06/22 02:35:24]: [DWK58991] Got hit by Eylül Kaya (KOK33025) with Fist causing 0 damage. -[info][2025/06/22 02:35:26]: [KOK33025] Got hit by David Munkli (DWK58991) with Fist causing 27 damage. -[info][2025/06/22 02:35:28]: [KOK33025] Got hit by David Munkli (DWK58991) with Fist causing 21 damage. -[info][2025/06/22 02:35:29]: [KOK33025] Got killed by David Munkli (DWK58991) with Fist causing 27 damage. -[info][2025/06/22 02:35:34]: [KOK33025] Got hit by David Munkli (DWK58991) with Fist causing 21 damage. -[info][2025/06/22 02:35:49]: [DWK58991] Got hit by Eylül Kaya (KOK33025) with Fist causing 20 damage. -[info][2025/06/22 02:35:50]: [DWK58991] Got hit by Eylül Kaya (KOK33025) with Fist causing 0 damage. -[info][2025/06/22 02:35:51]: [KOK33025] Got hit by David Munkli (DWK58991) with Fist causing 21 damage. -[info][2025/06/22 02:35:54]: [KOK33025] Got hit by David Munkli (DWK58991) with Fist causing 27 damage. -[info][2025/06/22 02:35:55]: [DWK58991] Got hit by Eylül Kaya (KOK33025) with Fist causing 0 damage. -[info][2025/06/22 02:35:56]: [KOK33025] Got hit by David Munkli (DWK58991) with Fist causing 21 damage. -[info][2025/06/22 02:35:56]: [KOK33025] Got hit by David Munkli (DWK58991) with Fist causing 0 damage. -[info][2025/06/22 02:35:57]: [DWK58991] Got hit by Eylül Kaya (KOK33025) with Fist causing 0 damage. -[info][2025/06/22 02:35:58]: [DWK58991] Got hit by Eylül Kaya (KOK33025) with Fist causing 20 damage. -[info][2025/06/22 02:35:59]: [DWK58991] Got hit by Eylül Kaya (KOK33025) with Fist causing 20 damage. -[info][2025/06/22 02:35:59]: [DWK58991] Got hit by Eylül Kaya (KOK33025) with Fist causing 20 damage. -[info][2025/06/22 02:36:04]: [DWK58991] Got killed by Eylül Kaya (KOK33025) with Fist causing 20 damage. -[info][2025/06/22 02:36:05]: [DWK58991] Got killed by Eylül Kaya (KOK33025) with Fist causing 20 damage. -[info][2025/06/22 02:36:15]: [KOK33025] Got killed by David Munkli (DWK58991) with Fist causing 21 damage. -[info][2025/06/22 02:36:26]: [KOK33025] Got hit by David Munkli (DWK58991) with Fist causing 0 damage. -[info][2025/06/22 02:36:28]: [DWK58991] Got hit by Eylül Kaya (KOK33025) with Fist causing 20 damage. -[info][2025/06/22 02:36:29]: [DWK58991] Got hit by Eylül Kaya (KOK33025) with Fist causing 0 damage. -[info][2025/06/22 02:36:30]: [DWK58991] Got hit by Eylül Kaya (KOK33025) with Fist causing 20 damage. -[info][2025/06/22 02:36:31]: [DWK58991] Got hit by Eylül Kaya (KOK33025) with Fist causing 20 damage. -[info][2025/06/22 02:36:31]: [DWK58991] Got hit by Eylül Kaya (KOK33025) with Fist causing 20 damage. -[info][2025/06/22 02:36:32]: [DWK58991] Got killed by Eylül Kaya (KOK33025) with Fist causing 20 damage. -[info][2025/06/22 02:36:34]: [KOK33025] Got hit by David Munkli (DWK58991) with Fist causing 0 damage. -[info][2025/06/22 02:36:35]: [DWK58991] Got killed by Eylül Kaya (KOK33025) with Fist causing 20 damage. -[info][2025/06/22 08:56:41]: [YOE08016] max requested Herbert Strauss. -[info][2025/06/22 08:56:45]: [YOE08016] max healed Herbert Strauss. -[info][2025/06/22 08:56:45]: [YOE08016] max requested Herbert Strauss. -[info][2025/06/22 08:56:47]: [YOE08016] max healed Herbert Strauss. -[info][2025/06/22 08:56:47]: [YOE08016] max requested Herbert Strauss. -[info][2025/06/22 08:56:48]: [YOE08016] max healed Herbert Strauss. -[info][2025/06/22 08:56:48]: [YOE08016] max requested Herbert Strauss. -[info][2025/06/22 08:56:49]: [YOE08016] max changed meta thirst for Herbert Strauss to 100. -[info][2025/06/22 08:56:49]: [YOE08016] max requested Herbert Strauss. -[info][2025/06/22 08:56:50]: [YOE08016] max changed meta hunger for Herbert Strauss to 100. -[info][2025/06/22 08:56:50]: [YOE08016] max requested Herbert Strauss. -[info][2025/06/22 08:56:52]: [YOE08016] max healed Herbert Strauss. -[info][2025/06/22 08:56:52]: [YOE08016] max requested Herbert Strauss. -[info][2025/06/22 08:56:53]: [YOE08016] max healed Herbert Strauss. -[info][2025/06/22 08:56:53]: [YOE08016] max requested Herbert Strauss. -[info][2025/06/22 11:08:43]: [YXR32491] Got hit by Torben Schmitz (YXR32491) with Animal causing 25 damage. -[info][2025/06/22 11:08:44]: [YXR32491] Got hit by Torben Schmitz (YXR32491) with Fist causing 20 damage. -[info][2025/06/22 11:08:55]: [YXR32491] Got hit by Torben Schmitz (YXR32491) with Fist causing 20 damage. -[info][2025/06/22 11:08:56]: [YXR32491] Got hit by Torben Schmitz (YXR32491) with Fist causing 20 damage. -[info][2025/06/22 11:09:01]: [YXR32491] Got killed by Torben Schmitz (YXR32491) with Fist causing 20 damage. -[info][2025/06/22 11:09:47]: [UGO12804] Got hit by Torben Schmitz (YXR32491) with Fist causing 21 damage. -[info][2025/06/22 11:09:49]: [UGO12804] Got hit by Torben Schmitz (YXR32491) with Fist causing 21 damage. -[info][2025/06/22 11:09:49]: [UGO12804] Got hit by Torben Schmitz (YXR32491) with Fist causing 0 damage. -[info][2025/06/22 16:35:17]: [YXR32491] Got hit by Torben Schmitz (YXR32491) with Fist causing 17 damage. -[info][2025/06/22 16:39:06]: [DWK58991] Got hit by Zoe Baker (ZLJ88003) with Fist causing 20 damage. -[info][2025/06/22 16:41:54]: [YXR32491] Aimed at Dr.Kimberly Smith (JCQ27225) with null. -[info][2025/06/22 18:28:34]: [YXR32491] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/06/22 18:28:34]: [YXR32491] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/06/22 18:28:35]: [YXR32491] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/06/22 18:28:35]: [YXR32491] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/06/22 18:28:35]: [YXR32491] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/06/22 18:28:35]: [YXR32491] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/06/22 18:28:35]: [YXR32491] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 5 damage. -[info][2025/06/22 18:28:35]: [JCQ27225] Aimed at Torben Schmitz (YXR32491) with AP Pistol. -[info][2025/06/22 18:28:35]: [YXR32491] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/06/22 18:28:35]: [YXR32491] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/06/22 18:28:35]: [YXR32491] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/06/22 18:28:37]: [YXR32491] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 5 damage. -[info][2025/06/22 18:28:38]: [JCQ27225] Got hit by Torben Schmitz (YXR32491) with Knife causing 0 damage. -[info][2025/06/22 18:28:41]: [JCQ27225] Got hit by Torben Schmitz (YXR32491) with Knife causing 0 damage. -[info][2025/06/22 18:28:44]: [YXR32491] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 5 damage. -[info][2025/06/22 18:28:44]: [YXR32491] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/06/22 18:28:44]: [JCQ27225] Aimed at Torben Schmitz (YXR32491) with AP Pistol. -[info][2025/06/22 18:28:44]: [YXR32491] Got killed by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 124 damage. -[info][2025/06/22 18:28:44]: [YXR32491] Got killed by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 125 damage. -[info][2025/06/22 18:28:44]: [YXR32491] Got killed by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/06/22 18:30:14]: [JCQ27225] Aimed at Torben Schmitz (YXR32491) with AP Pistol. -[info][2025/06/22 18:30:27]: [JCQ27225] Aimed at Torben Schmitz (YXR32491) with AP Pistol. -[info][2025/06/22 18:30:31]: [JCQ27225] Aimed at Torben Schmitz (YXR32491) with AP Pistol. -[info][2025/06/22 18:30:33]: [YXR32491] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/06/22 18:30:44]: [JCQ27225] Aimed at Torben Schmitz (YXR32491) with AP Pistol. -[info][2025/06/22 18:30:47]: [YXR32491] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 5 damage. -[info][2025/06/22 18:30:47]: [YXR32491] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/06/22 18:30:49]: [JCQ27225] Aimed at Torben Schmitz (YXR32491) with AP Pistol. -[info][2025/06/22 18:30:49]: [YXR32491] Got hit by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 6 damage. -[info][2025/06/22 18:30:49]: [YXR32491] Got killed by Dr.Kimberly Smith (JCQ27225) with AP Pistol causing 132 damage. -[info][2025/06/22 18:31:20]: [JCQ27225] Aimed at Torben Schmitz (YXR32491) with Carbine Rifle. -[info][2025/06/22 18:31:29]: [JCQ27225] Aimed at Torben Schmitz (YXR32491) with Carbine Rifle. -[info][2025/06/22 18:31:30]: [YXR32491] Got hit by Dr.Kimberly Smith (JCQ27225) with Carbine Rifle causing 31 damage. -[info][2025/06/22 18:31:36]: [JCQ27225] Got hit by Torben Schmitz (YXR32491) with Knife causing 0 damage. -[info][2025/06/22 18:31:37]: [JCQ27225] Aimed at Torben Schmitz (YXR32491) with Carbine Rifle. -[info][2025/06/22 18:31:37]: [YXR32491] Got hit by Dr.Kimberly Smith (JCQ27225) with Carbine Rifle causing 12 damage. -[info][2025/06/22 18:31:39]: [JCQ27225] Got hit by Torben Schmitz (YXR32491) with Knife causing 0 damage. -[info][2025/06/22 18:31:39]: [JCQ27225] Aimed at Torben Schmitz (YXR32491) with Carbine Rifle. -[info][2025/06/22 18:31:41]: [JCQ27225] Got hit by Torben Schmitz (YXR32491) with Fist causing 0 damage. -[info][2025/06/22 18:31:42]: [YXR32491] Got hit by Dr.Kimberly Smith (JCQ27225) with Carbine Rifle causing 12 damage. -[info][2025/06/22 18:31:46]: [JCQ27225] Aimed at Torben Schmitz (YXR32491) with Carbine Rifle. -[info][2025/06/22 18:31:47]: [YXR32491] Got killed by Dr.Kimberly Smith (JCQ27225) with Carbine Rifle causing 359 damage. -[info][2025/06/22 18:31:47]: [YXR32491] Got killed by Dr.Kimberly Smith (JCQ27225) with Carbine Rifle causing 359 damage. -[info][2025/06/22 18:32:34]: [JCQ27225] Aimed at Torben Schmitz (YXR32491) with AP Pistol. -[info][2025/06/22 18:32:36]: [JCQ27225] Aimed at Torben Schmitz (YXR32491) with AP Pistol. -[info][2025/06/22 18:33:27]: [JCQ27225] Aimed at Torben Schmitz (YXR32491) with Carbine Rifle. -[info][2025/06/22 18:33:31]: [YXR32491] Got hit by Dr.Kimberly Smith (JCQ27225) with Carbine Rifle causing 58 damage. -[info][2025/06/22 18:33:36]: [JCQ27225] Aimed at Torben Schmitz (YXR32491) with Carbine Rifle. -[info][2025/06/22 18:34:31]: [JCQ27225] Aimed at Torben Schmitz (YXR32491) with Stun Gun. -[info][2025/06/22 18:34:31]: [YXR32491] Got hit by Dr.Kimberly Smith (JCQ27225) with Stun Gun causing 1 damage. -[info][2025/06/22 19:56:55]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/22 19:56:56]: [JCQ27225] nordi requested player vehicles. -[info][2025/06/22 19:57:48]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/22 19:57:52]: [JCQ27225] nordi requested player vehicles. -[info][2025/06/22 20:05:53]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/22 20:05:54]: [JCQ27225] nordi requested player vehicles. -[info][2025/06/22 20:12:19]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/22 20:12:22]: [JCQ27225] nordi requested player vehicles. -[info][2025/06/22 20:50:30]: [CRO67821] marc requested Marc Santoro. -[info][2025/06/22 22:16:04]: [OHM07543] Got hit by Steven DeLuka (OBI94807) with Fist causing 21 damage. -[info][2025/06/22 22:29:41]: [ABD68100] Got hit by Wilke Mayer (ITG79090) with Fist causing 20 damage. -[info][2025/06/22 23:26:25]: [GNR11868] Aimed at Lucifer Morningstar (BCK05564) with Special Carbine. -[info][2025/06/22 23:26:27]: [BCK05564] Got killed by Victoria Ann (GNR11868) with Special Carbine causing 239 damage. -[info][2025/06/22 23:41:20]: [BCK05564] Got hit by Lucifer Morningstar (BCK05564) with Fist causing 16 damage. -[info][2025/06/22 23:41:21]: [BCK05564] Got hit by Lucifer Morningstar (BCK05564) with Fist causing 16 damage. -[info][2025/06/23 19:06:02]: [DWK58991] Aimed at Eylül Kaya (KOK33025) with Special Carbine. -[info][2025/06/23 19:11:36]: [ABD68100] Got hit by Wilke Mayer (ITG79090) with Fist causing 27 damage. -[info][2025/06/23 20:07:21]: [CKB04832] Got hit by Steven DeLuka (OBI94807) with Fist causing 20 damage. -[info][2025/06/23 20:08:46]: [KOK33025] Got hit by Steven DeLuka (OBI94807) with Fist causing 20 damage. -[info][2025/06/23 20:08:47]: [OBI94807] Got hit by Steven DeLuka (OBI94807) with Fist causing 20 damage. -[info][2025/06/23 20:08:52]: [OBI94807] Got hit by Steven DeLuka (OBI94807) with Fist causing 20 damage. -[info][2025/06/23 20:08:54]: [OBI94807] Got hit by Steven DeLuka (OBI94807) with Fist causing 12 damage. -[info][2025/06/23 20:15:39]: [OBI94807] Got hit by Eylül Kaya (KOK33025) with Fist causing 21 damage. -[info][2025/06/23 20:50:41]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/23 20:50:43]: [JCQ27225] nordi requested player vehicles. -[info][2025/06/23 21:01:40]: [OBI94807] Got hit by Steven DeLuka (OBI94807) with Animal causing 36 damage. -[info][2025/06/23 21:01:46]: [OBI94807] Got hit by Steven DeLuka (OBI94807) with Fist causing 16 damage. -[info][2025/06/23 21:56:41]: [KCA25101] Got hit by Pablito Wayne (LFK81487) with Fist causing 21 damage. -[info][2025/06/23 21:56:46]: [LFK81487] Got hit by Franz Müller (KCA25101) with Fist causing 21 damage. -[info][2025/06/23 21:56:47]: [LFK81487] Got hit by Franz Müller (KCA25101) with Fist causing 21 damage. -[info][2025/06/23 21:56:48]: [LFK81487] Got hit by Franz Müller (KCA25101) with Fist causing 21 damage. -[info][2025/06/23 22:09:33]: [KCA25101] Got hit by Sanane Banane (CKB04832) with undefined causing 50 damage. -[info][2025/06/23 22:09:35]: [CKB04832] Got hit by Franz Müller (KCA25101) with Fist causing 0 damage. -[info][2025/06/23 22:09:37]: [CKB04832] Got hit by Franz Müller (KCA25101) with Fist causing 0 damage. -[info][2025/06/23 22:09:38]: [CKB04832] Got hit by Franz Müller (KCA25101) with Fist causing 0 damage. -[info][2025/06/23 22:09:40]: [CKB04832] Got hit by Franz Müller (KCA25101) with Fist causing 0 damage. -[info][2025/06/23 22:09:42]: [CRO67821] Aimed at Franz Müller (KCA25101) with Stun Gun. -[info][2025/06/23 22:27:56]: [KVN10675] Got hit by Sanane Banane (CKB04832) with undefined causing 20 damage. -[info][2025/06/23 22:34:55]: [CRO67821] Aimed at Scarlett Shelby (KVN10675) with Stun Gun. -[info][2025/06/23 22:34:56]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Stun Gun causing 0 damage. -[info][2025/06/23 22:37:35]: [CKB04832] Got hit by Franz Müller (KCA25101) with Fist causing 0 damage. -[info][2025/06/23 22:54:34]: [CRO67821] Got hit by Franz Müller (KCA25101) with Fist causing 21 damage. -[info][2025/06/23 23:00:13]: [KCA25101] Aimed at Marc Santoro (CRO67821) with Pump Shotgun. -[info][2025/06/23 23:00:20]: [KCA25101] Aimed at Marc Santoro (CRO67821) with Pump Shotgun. -[info][2025/06/23 23:00:28]: [KCA25101] Aimed at Marc Santoro (CRO67821) with Pump Shotgun. -[info][2025/06/23 23:03:11]: [KCA25101] marc requested Franz Müller. -[info][2025/06/23 23:05:06]: [KCA25101] marc changed charinfo for Diego Rivera. -[info][2025/06/23 23:05:06]: [KCA25101] marc requested Diego Rivera. -[info][2025/06/23 23:10:23]: [KVN10675] Aimed at Marc Santoro (CRO67821) with Stun Gun. -[info][2025/06/23 23:10:24]: [CRO67821] Got hit by Scarlett Shelby (KVN10675) with Stun Gun causing 1 damage. -[info][2025/06/23 23:10:30]: [CRO67821] Aimed at Scarlett Shelby (KVN10675) with Stun Gun. -[info][2025/06/23 23:10:30]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Stun Gun causing 0 damage. -[info][2025/06/23 23:11:08]: [CRO67821] Got hit by Scarlett Shelby (KVN10675) with Stun Gun causing 0 damage. -[info][2025/06/23 23:11:08]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Stun Gun causing 0 damage. -[info][2025/06/23 23:11:08]: [KVN10675] Aimed at Marc Santoro (CRO67821) with Stun Gun. -[info][2025/06/23 23:11:16]: [CRO67821] Aimed at Scarlett Shelby (KVN10675) with Stun Gun. -[info][2025/06/23 23:11:17]: [KVN10675] Aimed at Marc Santoro (CRO67821) with Stun Gun. -[info][2025/06/23 23:11:20]: [KVN10675] Aimed at Marc Santoro (CRO67821) with Stun Gun. -[info][2025/06/23 23:11:21]: [CRO67821] Got hit by Scarlett Shelby (KVN10675) with Stun Gun causing 0 damage. -[info][2025/06/23 23:11:22]: [KVN10675] Aimed at Marc Santoro (CRO67821) with Stun Gun. -[info][2025/06/23 23:11:24]: [KVN10675] Aimed at Marc Santoro (CRO67821) with Stun Gun. -[info][2025/06/23 23:11:26]: [CRO67821] Got hit by Scarlett Shelby (KVN10675) with Stun Gun causing 0 damage. -[info][2025/06/23 23:11:34]: [KVN10675] Aimed at Marc Santoro (CRO67821) with Stun Gun. -[info][2025/06/23 23:11:36]: [KVN10675] Aimed at Marc Santoro (CRO67821) with Stun Gun. -[info][2025/06/23 23:11:36]: [CRO67821] Aimed at Scarlett Shelby (KVN10675) with Stun Gun. -[info][2025/06/23 23:11:41]: [KVN10675] Aimed at Marc Santoro (CRO67821) with Stun Gun. -[info][2025/06/23 23:11:45]: [KVN10675] Aimed at Marc Santoro (CRO67821) with Stun Gun. -[info][2025/06/23 23:11:53]: [CRO67821] Aimed at Scarlett Shelby (KVN10675) with Stun Gun. -[info][2025/06/23 23:11:57]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Stun Gun causing 0 damage. -[info][2025/06/23 23:11:57]: [KVN10675] Aimed at Marc Santoro (CRO67821) with Stun Gun. -[info][2025/06/23 23:11:57]: [CRO67821] Aimed at Scarlett Shelby (KVN10675) with Stun Gun. -[info][2025/06/23 23:12:00]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Stun Gun causing 0 damage. -[info][2025/06/23 23:12:02]: [KVN10675] Aimed at Marc Santoro (CRO67821) with Stun Gun. -[info][2025/06/23 23:12:04]: [CRO67821] Aimed at Scarlett Shelby (KVN10675) with Stun Gun. -[info][2025/06/23 23:12:07]: [KVN10675] Aimed at Marc Santoro (CRO67821) with Stun Gun. -[info][2025/06/23 23:12:08]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Stun Gun causing 0 damage. -[info][2025/06/23 23:12:35]: [KVN10675] Got hit by Marc Santoro (CRO67821) with Stun Gun causing 0 damage. -[info][2025/06/24 00:49:53]: [JCQ27225] Got hit by Jack Voight (GHA91277) with Fist causing 21 damage. -[info][2025/06/24 00:49:56]: [JCQ27225] Got hit by Jack Voight (GHA91277) with Fist causing 21 damage. -[info][2025/06/24 01:19:40]: [GHA91277] Got hit by Jack Voight (GHA91277) with Fist causing 16 damage. -[info][2025/06/24 01:19:42]: [GHA91277] Got hit by Jack Voight (GHA91277) with Fist causing 16 damage. -[info][2025/06/24 01:44:29]: [GHA91277] nordi requested Jack Voight. -[info][2025/06/24 01:44:35]: [GHA91277] nordi gave 100000 cash to Jack Voight. -[info][2025/06/24 01:44:35]: [GHA91277] nordi requested Jack Voight. -[info][2025/06/24 01:56:22]: [GHA91277] campers requested Jack Voight. -[info][2025/06/24 01:56:43]: [JCQ27225] campers requested Dr.Kimberly Smith. -[info][2025/06/24 01:56:58]: [JCQ27225] campers requested Dr.Kimberly Smith. -[info][2025/06/24 02:19:20]: [GHA91277] Got hit by Jack Voight (GHA91277) with Fist causing 16 damage. -[info][2025/06/24 02:19:21]: [GHA91277] Got hit by Jack Voight (GHA91277) with Fist causing 16 damage. -[info][2025/06/24 03:45:16]: [GHA91277] Aimed at Dr.Kimberly Smith (JCQ27225) with AP Pistol. -[info][2025/06/24 03:45:19]: [GHA91277] Aimed at Dr.Kimberly Smith (JCQ27225) with AP Pistol. -[info][2025/06/24 03:52:30]: [JCQ27225] Got hit by Jack Voight (GHA91277) with Fist causing 0 damage. -[info][2025/06/24 03:54:05]: [JCQ27225] Aimed at Jack Voight (GHA91277) with null. -[info][2025/06/24 04:09:55]: [JCQ27225] Aimed at Jack Voight (GHA91277) with AP Pistol. -[info][2025/06/24 04:11:56]: [GHA91277] Aimed at Dr.Kimberly Smith (JCQ27225) with Pistol Mk II. -[info][2025/06/24 10:16:09]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/24 10:16:11]: [JCQ27225] nordi requested player vehicles. -[info][2025/06/24 10:16:14]: [JCQ27225] nordi requested player vehicles. -[info][2025/06/24 10:16:15]: [JCQ27225] nordi requested player vehicles. -[info][2025/06/24 10:16:17]: [JCQ27225] nordi requested player vehicles. -[info][2025/06/24 10:16:20]: [JCQ27225] nordi requested player vehicles. -[info][2025/06/24 10:16:29]: [JCQ27225] nordi requested player vehicles. -[info][2025/06/24 10:16:29]: [JCQ27225] nordi requested player vehicles. -[info][2025/06/24 16:39:51]: [KCA25101] campers requested Diego Rivera. -[info][2025/06/24 16:40:04]: [KCA25101] campers requested player vehicles. -[info][2025/06/24 16:40:08]: [KCA25101] campers requested Diego Rivera. -[info][2025/06/24 16:43:23]: [KCA25101] campers requested Diego Rivera. -[info][2025/06/24 16:58:13]: [KCA25101] Got hit by Diego Rivera (KCA25101) with Fist causing 14 damage. -[info][2025/06/24 16:58:14]: [KCA25101] Got hit by Diego Rivera (KCA25101) with Fist causing 14 damage. -[info][2025/06/24 17:01:43]: [KCA25101] Got hit by Diego Rivera (KCA25101) with Fist causing 14 damage. -[info][2025/06/24 17:06:17]: [KCA25101] campers requested Diego Rivera. -[info][2025/06/24 17:06:39]: [KVN10675] campers requested Scarlett Shelby. -[info][2025/06/24 17:06:55]: [KVN10675] campers requested player vehicles. -[info][2025/06/24 17:07:02]: [KVN10675] campers requested Scarlett Shelby. -[info][2025/06/24 17:07:22]: [KCA25101] campers requested Diego Rivera. -[info][2025/06/24 17:08:18]: [OHM07543] campers requested Dr. Demon Campers. -[info][2025/06/24 17:08:20]: [OHM07543] campers requested player vehicles. -[info][2025/06/24 17:08:34]: [OHM07543] campers requested Dr. Demon Campers. -[info][2025/06/24 18:49:09]: [ITG79090] Got hit by Wilke Mayer (ITG79090) with Fist causing 20 damage. -[info][2025/06/24 18:49:18]: [ITG79090] Got hit by Wilke Mayer (ITG79090) with Fist causing 20 damage. -[info][2025/06/24 18:51:09]: [ABD68100] Got hit by Wilke Mayer (ITG79090) with Fist causing 21 damage. -[info][2025/06/24 18:57:17]: [ITG79090] Got hit by Sophia Marino (ABD68100) with Fist causing 17 damage. -[info][2025/06/24 18:57:18]: [ITG79090] Got hit by Sophia Marino (ABD68100) with Fist causing 0 damage. -[info][2025/06/24 19:00:55]: [BCK05564] Aimed at Wilke Mayer (ITG79090) with Stun Gun. -[info][2025/06/24 19:06:38]: [ITG79090] nordi requested Wilke Mayer. -[info][2025/06/24 19:41:44]: [ITG79090] nordi requested player vehicles. -[info][2025/06/24 19:50:17]: [ITG79090] campers requested Wilke Mayer. -[info][2025/06/24 19:50:51]: [ABD68100] campers requested Sophia Marino. -[info][2025/06/24 19:50:53]: [ABD68100] campers requested player vehicles. -[info][2025/06/24 19:50:54]: [ABD68100] campers requested Sophia Marino. -[info][2025/06/24 19:51:12]: [ITG79090] campers requested Wilke Mayer. -[info][2025/06/24 19:52:31]: [ITG79090] Got hit by Wilke Mayer (ITG79090) with Fist causing 14 damage. -[info][2025/06/24 19:52:37]: [ABD68100] Got hit by Wilke Mayer (ITG79090) with Fist causing 21 damage. -[info][2025/06/24 20:19:26]: [ITG79090] campers requested Wilke Mayer. -[info][2025/06/24 20:19:34]: [ITG79090] campers healed Wilke Mayer. -[info][2025/06/24 20:19:34]: [ITG79090] campers requested Wilke Mayer. -[info][2025/06/24 20:20:21]: [ITG79090] campers healed Wilke Mayer. -[info][2025/06/24 20:20:21]: [ITG79090] campers requested Wilke Mayer. -[info][2025/06/24 20:36:17]: [KCA25101] Aimed at Charly Rivera (EVL34017) with Mini SMG. -[info][2025/06/24 20:46:44]: [EVL34017] Got hit by Diego Rivera (KCA25101) with Fist causing 21 damage. -[info][2025/06/24 21:36:22]: [KCA25101] Got hit by Diego Rivera (KCA25101) with Fist causing 14 damage. -[info][2025/06/24 22:00:20]: [MLR68738] Got hit by Diego Rivera (KCA25101) with Fist causing 27 damage. -[info][2025/06/24 22:00:21]: [MLR68738] Got hit by Diego Rivera (KCA25101) with Fist causing 27 damage. -[info][2025/06/24 22:00:22]: [MLR68738] Got hit by Diego Rivera (KCA25101) with Fist causing 27 damage. -[info][2025/06/24 22:00:25]: [MLR68738] Got hit by Diego Rivera (KCA25101) with Fist causing 27 damage. -[info][2025/06/25 00:09:18]: [PGS32293] voltstromi requested Sam Benning. -[info][2025/06/25 00:09:24]: [PGS32293] voltstromi changed meta thirst for Sam Benning to 100. -[info][2025/06/25 00:09:24]: [PGS32293] voltstromi requested Sam Benning. -[info][2025/06/25 00:09:25]: [PGS32293] voltstromi changed meta hunger for Sam Benning to 100. -[info][2025/06/25 00:09:25]: [PGS32293] voltstromi requested Sam Benning. -[info][2025/06/25 00:16:42]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/25 00:16:44]: [JCQ27225] nordi requested player vehicles. -[info][2025/06/25 00:16:46]: [JCQ27225] nordi requested player vehicles. -[info][2025/06/25 00:16:47]: [JCQ27225] nordi requested player vehicles. -[info][2025/06/25 00:16:48]: [JCQ27225] nordi requested player vehicles. -[info][2025/06/25 00:16:49]: [JCQ27225] nordi requested player vehicles. -[info][2025/06/25 00:16:50]: [JCQ27225] nordi requested player vehicles. -[info][2025/06/25 00:38:09]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/25 00:38:10]: [JCQ27225] nordi requested player vehicles. -[info][2025/06/25 00:38:47]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/25 00:38:51]: [JCQ27225] nordi requested player vehicles. -[info][2025/06/25 18:40:17]: [VDH31500] nordi requested Derick Davis. -[info][2025/06/25 18:40:27]: [VDH31500] nordi gave 300000 bank to Derick Davis. -[info][2025/06/25 18:40:27]: [VDH31500] nordi requested Derick Davis. -[info][2025/06/25 18:41:10]: [VDH31500] nordi gave 100000 bank to Derick Davis. -[info][2025/06/25 18:41:10]: [VDH31500] nordi requested Derick Davis. -[info][2025/06/25 18:47:42]: [ZJT55784] Got hit by Dr.Kimberly Smith (JCQ27225) with Fist causing 21 damage. -[info][2025/06/25 18:47:45]: [JCQ27225] Got hit by Bernd Böge (ZJT55784) with Fist causing 21 damage. -[info][2025/06/25 18:47:47]: [ZJT55784] Got hit by Dr.Kimberly Smith (JCQ27225) with Fist causing 21 damage. -[info][2025/06/25 18:47:48]: [JCQ27225] Got hit by Bernd Böge (ZJT55784) with Fist causing 27 damage. -[info][2025/06/25 18:47:49]: [ZJT55784] Got hit by Dr.Kimberly Smith (JCQ27225) with Fist causing 26 damage. -[info][2025/06/25 18:47:50]: [JCQ27225] Got hit by Bernd Böge (ZJT55784) with Fist causing 21 damage. -[info][2025/06/25 18:47:52]: [ZJT55784] Got hit by Dr.Kimberly Smith (JCQ27225) with Fist causing 21 damage. -[info][2025/06/25 18:47:53]: [ZJT55784] Got killed by Dr.Kimberly Smith (JCQ27225) with Fist causing 26 damage. -[info][2025/06/25 18:57:15]: [ZJT55784] Got hit by Bernd Böge (ZJT55784) with Fist causing 14 damage. -[info][2025/06/25 19:10:09]: [ZJT55784] nordi requested Bernd Böge. -[info][2025/06/25 19:10:17]: [ZJT55784] nordi gave 200000 bank to Bernd Böge. -[info][2025/06/25 19:10:17]: [ZJT55784] nordi requested Bernd Böge. -[info][2025/06/25 20:00:33]: [NAJ08324] mark requested Ali Bratke. -[info][2025/06/25 20:00:36]: [NAJ08324] mark changed meta hunger for Ali Bratke to 100. -[info][2025/06/25 20:00:36]: [NAJ08324] mark requested Ali Bratke. -[info][2025/06/25 20:00:36]: [NAJ08324] mark changed meta hunger for Ali Bratke to 100. -[info][2025/06/25 20:00:36]: [NAJ08324] mark requested Ali Bratke. -[info][2025/06/25 20:00:36]: [NAJ08324] mark changed meta hunger for Ali Bratke to 100. -[info][2025/06/25 20:00:36]: [NAJ08324] mark requested Ali Bratke. -[info][2025/06/25 20:00:37]: [NAJ08324] mark changed meta thirst for Ali Bratke to 100. -[info][2025/06/25 20:00:37]: [NAJ08324] mark requested Ali Bratke. -[info][2025/06/25 20:00:38]: [NAJ08324] mark healed Ali Bratke. -[info][2025/06/25 20:00:38]: [NAJ08324] mark requested Ali Bratke. -[info][2025/06/25 20:00:40]: [NAJ08324] mark healed Ali Bratke. -[info][2025/06/25 20:00:40]: [NAJ08324] mark requested Ali Bratke. -[info][2025/06/25 21:05:10]: [KOK33025] Got killed by Ali Bratke (NAJ08324) with Explosion causing 500 damage. -[info][2025/06/25 21:10:20]: [NAJ08324] Got hit by Eylül Kaya (KOK33025) with Fist causing 20 damage. -[info][2025/06/25 21:10:21]: [NAJ08324] Got hit by Eylül Kaya (KOK33025) with Fist causing 20 damage. -[info][2025/06/25 21:10:22]: [NAJ08324] Got hit by Eylül Kaya (KOK33025) with Fist causing 26 damage. -[info][2025/06/25 21:10:24]: [NAJ08324] Got hit by Eylül Kaya (KOK33025) with Fist causing 20 damage. -[info][2025/06/25 21:10:24]: [NAJ08324] Got killed by Eylül Kaya (KOK33025) with Fist causing 20 damage. -[info][2025/06/25 21:24:23]: [CKB04832] mark requested Sanane Banane. -[info][2025/06/25 21:24:25]: [CKB04832] mark changed meta hunger for Sanane Banane to 100. -[info][2025/06/25 21:24:26]: [CKB04832] mark requested Sanane Banane. -[info][2025/06/25 21:24:26]: [CKB04832] mark changed meta thirst for Sanane Banane to 100. -[info][2025/06/25 21:24:26]: [CKB04832] mark requested Sanane Banane. -[info][2025/06/25 21:24:27]: [CKB04832] mark healed Sanane Banane. -[info][2025/06/25 21:24:27]: [CKB04832] mark requested Sanane Banane. -[info][2025/06/25 21:25:25]: [CKB04832] Got hit by Sanane Banane (CKB04832) with Fist causing 0 damage. -[info][2025/06/25 21:25:27]: [CKB04832] Got hit by Sanane Banane (CKB04832) with Fist causing 20 damage. -[info][2025/06/25 21:25:33]: [CKB04832] Got hit by Sanane Banane (CKB04832) with Fist causing 20 damage. -[info][2025/06/25 21:25:34]: [CKB04832] Got hit by Sanane Banane (CKB04832) with Fist causing 20 damage. -[info][2025/06/25 21:25:36]: [CKB04832] Got hit by Sanane Banane (CKB04832) with Fist causing 20 damage. -[info][2025/06/25 21:25:41]: [CKB04832] Got hit by Sanane Banane (CKB04832) with Fist causing 0 damage. -[info][2025/06/25 21:25:45]: [CKB04832] Got hit by Sanane Banane (CKB04832) with Fist causing 0 damage. -[info][2025/06/25 21:25:47]: [CKB04832] Got hit by Sanane Banane (CKB04832) with Fist causing 20 damage. -[info][2025/06/25 21:25:54]: [CKB04832] Got killed by Sanane Banane (CKB04832) with Fist causing 20 damage. -[info][2025/06/25 21:28:56]: [PGS32293] voltstromi requested Sam Benning. -[info][2025/06/25 21:29:01]: [PGS32293] voltstromi requested player vehicles. -[info][2025/06/25 21:31:04]: [PGS32293] voltstromi requested Sam Benning. -[info][2025/06/25 21:31:07]: [PGS32293] voltstromi requested player vehicles. -[info][2025/06/25 21:31:55]: [PGS32293] voltstromi requested Sam Benning. -[info][2025/06/25 21:31:57]: [PGS32293] voltstromi requested player vehicles. -[info][2025/06/25 21:39:59]: [PGS32293] voltstromi requested Sam Benning. -[info][2025/06/25 22:12:24]: [CKB04832] Aimed at Aisu Cold (IBF70289) with Combat MG Mk II. -[info][2025/06/25 22:12:26]: [CKB04832] Aimed at Sam Benning (PGS32293) with Combat MG Mk II. -[info][2025/06/25 22:12:30]: [CKB04832] Aimed at Aisu Cold (IBF70289) with Combat MG Mk II. -[info][2025/06/25 22:12:33]: [CKB04832] Aimed at Aisu Cold (IBF70289) with Combat MG Mk II. -[info][2025/06/25 22:12:37]: [CKB04832] Aimed at Aisu Cold (IBF70289) with Combat MG Mk II. -[info][2025/06/25 22:16:36]: [CKB04832] Aimed at Sam Benning (PGS32293) with Combat MG Mk II. -[info][2025/06/25 22:16:43]: [CKB04832] Aimed at Sam Benning (PGS32293) with Combat MG Mk II. -[info][2025/06/25 22:17:55]: [PGS32293] Got hit by Sanane Banane (CKB04832) with undefined causing 0 damage. -[info][2025/06/25 22:17:58]: [PGS32293] Got hit by Sanane Banane (CKB04832) with undefined causing 0 damage. -[info][2025/06/25 22:18:00]: [PGS32293] Got hit by Sanane Banane (CKB04832) with undefined causing 0 damage. -[info][2025/06/25 22:18:02]: [PGS32293] Got hit by Sanane Banane (CKB04832) with undefined causing 0 damage. -[info][2025/06/25 22:18:03]: [PGS32293] Got hit by Sanane Banane (CKB04832) with undefined causing 0 damage. -[info][2025/06/25 22:18:05]: [PGS32293] Got hit by Sanane Banane (CKB04832) with undefined causing 0 damage. -[info][2025/06/25 22:18:06]: [PGS32293] Got hit by Sanane Banane (CKB04832) with undefined causing 0 damage. -[info][2025/06/25 22:18:08]: [PGS32293] Got hit by Sanane Banane (CKB04832) with undefined causing 0 damage. -[info][2025/06/25 22:18:09]: [PGS32293] Got hit by Sanane Banane (CKB04832) with undefined causing 0 damage. -[info][2025/06/25 22:18:11]: [PGS32293] Got hit by Sanane Banane (CKB04832) with undefined causing 0 damage. -[info][2025/06/25 22:18:15]: [IBF70289] Got hit by Sanane Banane (CKB04832) with undefined causing 75 damage. -[info][2025/06/25 22:18:21]: [IBF70289] Got killed by Sanane Banane (CKB04832) with undefined causing 75 damage. -[info][2025/06/25 22:18:26]: [PGS32293] Aimed at Aisu Cold (IBF70289) with Stun Gun. -[info][2025/06/25 22:18:34]: [IBF70289] Got hit by Sam Benning (PGS32293) with Stun Gun causing 0 damage. -[info][2025/06/25 22:19:00]: [IBF70289] Got hit by Sam Benning (PGS32293) with Stun Gun causing 0 damage. -[info][2025/06/25 22:19:24]: [PGS32293] Got hit by Aisu Cold (IBF70289) with Fist causing 0 damage. -[info][2025/06/25 22:32:55]: [PGS32293] Aimed at Aisu Cold (IBF70289) with AP Pistol. -[info][2025/06/25 22:32:57]: [PGS32293] Aimed at Eylül Kaya (KOK33025) with AP Pistol. -[info][2025/06/25 22:33:10]: [PGS32293] Aimed at Aisu Cold (IBF70289) with AP Pistol. -[info][2025/06/25 22:34:09]: [IBF70289] Got hit by Sam Benning (PGS32293) with Fist causing 25 damage. -[info][2025/06/25 22:35:15]: [PGS32293] Aimed at Aisu Cold (IBF70289) with AP Pistol. -[info][2025/06/25 22:35:30]: [PGS32293] Got hit by Aisu Cold (IBF70289) with Fist causing 0 damage. -[info][2025/06/25 22:35:31]: [PGS32293] Got hit by Aisu Cold (IBF70289) with Fist causing 0 damage. -[info][2025/06/25 22:35:32]: [PGS32293] Got hit by Aisu Cold (IBF70289) with Fist causing 0 damage. -[info][2025/06/25 22:35:36]: [PGS32293] Aimed at Aisu Cold (IBF70289) with AP Pistol. -[info][2025/06/25 22:35:37]: [IBF70289] Got hit by Sam Benning (PGS32293) with AP Pistol causing 5 damage. -[info][2025/06/25 22:35:38]: [IBF70289] Got hit by Sam Benning (PGS32293) with AP Pistol causing 6 damage. -[info][2025/06/25 22:35:40]: [PGS32293] Aimed at Aisu Cold (IBF70289) with AP Pistol. -[info][2025/06/25 22:35:40]: [IBF70289] Got killed by Sam Benning (PGS32293) with AP Pistol causing 132 damage. -[info][2025/06/25 22:35:40]: [IBF70289] Got hit by Sam Benning (PGS32293) with AP Pistol causing 6 damage. -[info][2025/06/25 22:35:40]: [IBF70289] Got hit by Sam Benning (PGS32293) with AP Pistol causing 6 damage. -[info][2025/06/25 22:35:49]: [PGS32293] Aimed at Eylül Kaya (KOK33025) with Stun Gun. -[info][2025/06/25 22:35:50]: [KOK33025] Got hit by Sam Benning (PGS32293) with Stun Gun causing 0 damage. -[info][2025/06/25 22:36:26]: [IBF70289] Got hit by Eylül Kaya (KOK33025) with Fist causing 21 damage. -[info][2025/06/25 22:37:27]: [PGS32293] Aimed at Aisu Cold (IBF70289) with Stun Gun. -[info][2025/06/25 22:37:29]: [IBF70289] Got hit by Sam Benning (PGS32293) with Stun Gun causing 0 damage. -[info][2025/06/25 22:37:42]: [PGS32293] Aimed at Aisu Cold (IBF70289) with Stun Gun. -[info][2025/06/25 22:37:49]: [KOK33025] Got hit by Sam Benning (PGS32293) with Stun Gun causing 0 damage. -[info][2025/06/25 22:38:02]: [PGS32293] Got hit by Eylül Kaya (KOK33025) with Fist causing 0 damage. -[info][2025/06/25 22:38:03]: [PGS32293] Got hit by Eylül Kaya (KOK33025) with Fist causing 0 damage. -[info][2025/06/25 22:38:05]: [PGS32293] Got hit by Aisu Cold (IBF70289) with Fist causing 0 damage. -[info][2025/06/25 22:38:06]: [PGS32293] Got hit by Aisu Cold (IBF70289) with Fist causing 0 damage. -[info][2025/06/25 22:38:08]: [PGS32293] Got hit by Eylül Kaya (KOK33025) with Fist causing 0 damage. -[info][2025/06/25 22:38:08]: [PGS32293] Got hit by Eylül Kaya (KOK33025) with Fist causing 0 damage. -[info][2025/06/25 22:38:09]: [PGS32293] Got hit by Aisu Cold (IBF70289) with Fist causing 0 damage. -[info][2025/06/25 22:38:10]: [PGS32293] Got hit by Aisu Cold (IBF70289) with Fist causing 0 damage. -[info][2025/06/25 22:38:12]: [PGS32293] Got hit by Aisu Cold (IBF70289) with Fist causing 0 damage. -[info][2025/06/25 22:38:13]: [PGS32293] Got hit by Aisu Cold (IBF70289) with Fist causing 0 damage. -[info][2025/06/25 22:38:15]: [PGS32293] Got hit by Aisu Cold (IBF70289) with Fist causing 0 damage. -[info][2025/06/25 22:38:17]: [PGS32293] Got hit by Aisu Cold (IBF70289) with Fist causing 0 damage. -[info][2025/06/25 22:38:18]: [PGS32293] Got hit by Aisu Cold (IBF70289) with Fist causing 0 damage. -[info][2025/06/25 22:38:20]: [PGS32293] Got hit by Aisu Cold (IBF70289) with Fist causing 0 damage. -[info][2025/06/25 22:38:22]: [KOK33025] Got hit by Aisu Cold (IBF70289) with Fist causing 20 damage. -[info][2025/06/25 22:38:23]: [PGS32293] Got hit by Aisu Cold (IBF70289) with Fist causing 0 damage. -[info][2025/06/25 22:38:24]: [IBF70289] Got hit by Sam Benning (PGS32293) with AP Pistol causing 6 damage. -[info][2025/06/25 22:38:25]: [PGS32293] Aimed at Eylül Kaya (KOK33025) with AP Pistol. -[info][2025/06/25 22:38:25]: [PGS32293] Got hit by Aisu Cold (IBF70289) with Fist causing 0 damage. -[info][2025/06/25 22:38:27]: [IBF70289] Got hit by Sam Benning (PGS32293) with AP Pistol causing 5 damage. -[info][2025/06/25 22:38:27]: [KOK33025] Got hit by Aisu Cold (IBF70289) with Fist causing 20 damage. -[info][2025/06/25 22:38:47]: [PGS32293] Got hit by Aisu Cold (IBF70289) with Fist causing 0 damage. -[info][2025/06/25 22:42:14]: [PGS32293] Got hit by Sanane Banane (CKB04832) with Animal causing 0 damage. -[info][2025/06/25 22:51:59]: [PGS32293] voltstromi requested Sam Benning. -[info][2025/06/25 22:52:03]: [PGS32293] voltstromi requested player vehicles. -[info][2025/06/25 23:44:10]: [NAJ08324] Got hit by Ali Bratke (NAJ08324) with Animal causing 38 damage. -[info][2025/06/26 03:36:04]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/26 03:36:08]: [JCQ27225] nordi viewed inventory. -[info][2025/06/26 03:36:08]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/26 03:36:15]: [JCQ27225] nordi viewed inventory. -[info][2025/06/26 03:36:16]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/26 03:36:29]: [JCQ27225] nordi viewed inventory. -[info][2025/06/26 03:36:30]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/26 03:40:26]: [JCQ27225] nordi viewed inventory. -[info][2025/06/26 03:40:27]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/26 03:49:26]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/26 03:49:28]: [JCQ27225] nordi viewed inventory. -[info][2025/06/26 03:49:29]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/26 03:53:50]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/26 03:54:17]: [JCQ27225] nordi viewed inventory. -[info][2025/06/26 03:54:17]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/26 04:00:02]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/26 04:00:04]: [JCQ27225] nordi viewed inventory. -[info][2025/06/26 04:00:05]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/26 04:01:10]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/26 04:01:12]: [JCQ27225] nordi viewed inventory. -[info][2025/06/26 04:01:12]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/26 04:01:29]: [JCQ27225] nordi viewed inventory. -[info][2025/06/26 04:01:30]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/26 04:02:20]: [JCQ27225] nordi viewed inventory. -[info][2025/06/26 04:02:21]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/26 04:02:23]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/26 04:02:29]: [JCQ27225] nordi viewed inventory. -[info][2025/06/26 04:02:29]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/26 04:03:21]: [JCQ27225] nordi viewed inventory. -[info][2025/06/26 04:03:28]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/26 04:03:31]: [JCQ27225] nordi viewed inventory. -[info][2025/06/26 04:03:32]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/26 04:04:58]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/26 04:05:23]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/27 12:15:27]: [UGO12804] max requested Mark Petrol. -[info][2025/06/27 12:15:47]: [UGO12804] max requested Mark Petrol. -[info][2025/06/27 12:15:51]: [UGO12804] max changed meta thirst for Mark Petrol to 100. -[info][2025/06/27 12:15:51]: [UGO12804] max requested Mark Petrol. -[info][2025/06/27 12:15:52]: [UGO12804] max changed meta hunger for Mark Petrol to 100. -[info][2025/06/27 12:15:52]: [UGO12804] max requested Mark Petrol. -[info][2025/06/27 12:15:54]: [UGO12804] max healed Mark Petrol. -[info][2025/06/27 12:15:54]: [UGO12804] max requested Mark Petrol. -[info][2025/06/27 12:15:55]: [UGO12804] max healed Mark Petrol. -[info][2025/06/27 12:15:55]: [UGO12804] max requested Mark Petrol. -[info][2025/06/27 12:15:55]: [UGO12804] max healed Mark Petrol. -[info][2025/06/27 12:15:55]: [UGO12804] max requested Mark Petrol. -[info][2025/06/27 22:36:43]: [KVN10675] Got hit by Scarlett Shelby (KVN10675) with Fist causing 14 damage. -[info][2025/06/27 22:37:02]: [KVN10675] Got hit by Scarlett Shelby (KVN10675) with Fist causing 14 damage. -[info][2025/06/27 23:01:05]: [KVN10675] nordi requested Scarlett Shelby. -[info][2025/06/28 13:26:15]: [BCK05564] Got hit by Victoria Ann (GNR11868) with Fist causing 16 damage. -[info][2025/06/28 13:26:21]: [BCK05564] Got hit by Lucifer Morningstar (BCK05564) with Fist causing 16 damage. -[info][2025/06/28 13:26:24]: [BCK05564] Got hit by Lucifer Morningstar (BCK05564) with Fist causing 0 damage. -[info][2025/06/28 13:26:25]: [BCK05564] Got hit by Lucifer Morningstar (BCK05564) with Fist causing 0 damage. -[info][2025/06/28 13:26:29]: [BCK05564] Got hit by Lucifer Morningstar (BCK05564) with Fist causing 0 damage. -[info][2025/06/28 13:48:15]: [GNR11868] Got hit by Wilke Mayer (ITG79090) with Fist causing 21 damage. -[info][2025/06/28 13:48:18]: [ITG79090] Got hit by Victoria Ann (GNR11868) with Fist causing 20 damage. -[info][2025/06/28 13:58:15]: [ITG79090] Got hit by Sophia Marino (ABD68100) with Fist causing 13 damage. -[info][2025/06/28 13:58:18]: [ITG79090] Got hit by Wilke Mayer (ITG79090) with undefined causing 4 damage. -[info][2025/06/28 14:00:17]: [ITG79090] Got hit by Wilke Mayer (ITG79090) with Fist causing 16 damage. -[info][2025/06/28 14:00:18]: [ITG79090] Got hit by Wilke Mayer (ITG79090) with Fist causing 16 damage. -[info][2025/06/28 14:00:19]: [ITG79090] Got hit by Wilke Mayer (ITG79090) with Fist causing 16 damage. -[info][2025/06/28 14:00:21]: [GNR11868] Aimed at Wilke Mayer (ITG79090) with Special Carbine. -[info][2025/06/28 14:00:29]: [ITG79090] Got hit by Shadow Wuff (BTS80865) with Animal causing 21 damage. -[info][2025/06/28 14:02:24]: [GNR11868] Got hit by Wilke Mayer (ITG79090) with Fist causing 21 damage. -[info][2025/06/28 14:15:43]: [ABD68100] Got hit by Loona Santana (NUL11496) with Fist causing 21 damage. -[info][2025/06/28 14:45:18]: [NUL11496] Got hit by Sophia Marino (ABD68100) with Fist causing 20 damage. -[info][2025/06/29 01:20:32]: [KVN10675] Got killed by Scarlett Shelby (KVN10675) with Cougar causing 500 damage. -[info][2025/06/29 05:32:00]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/29 05:34:17]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/29 05:46:32]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/29 05:46:47]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/29 05:46:50]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/29 05:47:46]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/29 05:55:46]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/29 10:58:54]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/29 10:58:56]: [JCQ27225] nordi requested player vehicles. -[info][2025/06/29 15:03:37]: [ITG79090] Got hit by Wilke Mayer (ITG79090) with Fist causing 0 damage. -[info][2025/06/29 17:08:09]: [ITG79090] Got hit by Sophia Marino (ABD68100) with Fist causing 26 damage. -[info][2025/06/29 17:08:32]: [ITG79090] Got hit by Sophia Marino (ABD68100) with Fist causing 20 damage. -[info][2025/06/29 17:08:39]: [ABD68100] Got hit by Sophia Marino (ABD68100) with Fist causing 17 damage. -[info][2025/06/29 17:08:45]: [ABD68100] Got hit by Wilke Mayer (ITG79090) with Fist causing 17 damage. -[info][2025/06/29 17:11:48]: [ITG79090] Got hit by Wilke Mayer (ITG79090) with Fist causing 16 damage. -[info][2025/06/29 17:15:03]: [ITG79090] Got hit by Wilke Mayer (ITG79090) with Fist causing 16 damage. -[info][2025/06/29 17:15:06]: [ITG79090] Got hit by Wilke Mayer (ITG79090) with Fist causing 16 damage. -[info][2025/06/29 17:16:41]: [ITG79090] Got hit by Wilke Mayer (ITG79090) with Fist causing 17 damage. -[info][2025/06/29 20:04:03]: [ABD68100] nordi requested Sophia Marino. -[info][2025/06/29 20:04:07]: [ABD68100] nordi requested player vehicles. -[info][2025/06/29 20:31:20]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/06/29 20:31:22]: [JCQ27225] nordi requested player vehicles. -[info][2025/06/30 21:22:59]: [JCQ27225] Got hit by Dr.Boris Von Dragomir (PCC19872) with Fist causing 21 damage. -[info][2025/06/30 21:23:10]: [JCQ27225] Aimed at Dr.Boris Von Dragomir (PCC19872) with Stun Gun. -[info][2025/06/30 21:23:11]: [PCC19872] Got hit by Dr.Kimberly Smith (JCQ27225) with Stun Gun causing 1 damage. -[info][2025/07/01 05:56:45]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/07/01 05:56:46]: [JCQ27225] nordi requested player vehicles. -[info][2025/07/01 05:57:43]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/07/01 05:57:44]: [JCQ27225] nordi requested player vehicles. -[info][2025/07/01 07:37:48]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/07/01 07:37:50]: [JCQ27225] nordi requested player vehicles. -[info][2025/07/01 20:30:51]: [ABD68100] campers requested Sophia Marino. -[info][2025/07/01 20:30:53]: [ABD68100] campers requested player vehicles. -[info][2025/07/01 20:31:03]: [ABD68100] campers requested Sophia Marino. -[info][2025/07/01 20:31:05]: [ABD68100] campers requested player vehicles. -[info][2025/07/01 20:31:09]: [ABD68100] campers requested Sophia Marino. -[info][2025/07/01 20:31:10]: [ABD68100] campers requested player vehicles. -[info][2025/07/01 20:31:37]: [OHM07543] campers requested Dr. Demon Campers. -[info][2025/07/01 20:31:39]: [OHM07543] campers requested player vehicles. -[info][2025/07/01 20:32:07]: [ABD68100] campers requested Sophia Marino. -[info][2025/07/01 20:32:08]: [ABD68100] campers requested player vehicles. -[info][2025/07/01 20:32:33]: [ABD68100] campers requested Sophia Marino. -[info][2025/07/01 20:32:34]: [ABD68100] campers requested player vehicles. -[info][2025/07/01 20:32:38]: [ABD68100] campers requested Sophia Marino. -[info][2025/07/01 20:32:40]: [ABD68100] campers requested player vehicles. -[info][2025/07/01 20:32:51]: [ABD68100] campers requested Sophia Marino. -[info][2025/07/01 20:32:52]: [ABD68100] campers requested player vehicles. -[info][2025/07/01 20:33:01]: [ABD68100] campers requested Sophia Marino. -[info][2025/07/01 20:33:05]: [ABD68100] campers requested player vehicles. -[info][2025/07/01 20:33:11]: [ABD68100] campers requested Sophia Marino. -[info][2025/07/01 20:34:55]: [ABD68100] campers requested player vehicles. -[info][2025/07/01 21:56:57]: [GNR11868] Aimed at Wilke Mayer (ITG79090) with Special Carbine. -[info][2025/07/01 21:56:59]: [GNR11868] Aimed at Wilke Mayer (ITG79090) with Special Carbine. -[info][2025/07/01 21:57:03]: [GNR11868] Aimed at Wilke Mayer (ITG79090) with Special Carbine. -[info][2025/07/01 21:57:05]: [GNR11868] Aimed at Wilke Mayer (ITG79090) with Special Carbine. -[info][2025/07/01 22:05:56]: [OHM07543] campers requested Dr. Demon Campers. -[info][2025/07/01 22:05:57]: [OHM07543] campers requested player vehicles. -[info][2025/07/01 22:20:23]: [GNR11868] Got hit by Dr. Finnley Mc Coy (QYA52709) with Pistol causing 8 damage. -[info][2025/07/01 22:20:24]: [GNR11868] Got hit by Dr. Finnley Mc Coy (QYA52709) with Pistol causing 8 damage. -[info][2025/07/01 22:20:29]: [GNR11868] Got hit by Dr. Finnley Mc Coy (QYA52709) with Pistol causing 7 damage. -[info][2025/07/01 22:20:29]: [GNR11868] Got hit by Dr. Finnley Mc Coy (QYA52709) with Pistol causing 7 damage. -[info][2025/07/01 22:20:39]: [ITG79090] Got hit by Dr. Finnley Mc Coy (QYA52709) with Pistol causing 8 damage. -[info][2025/07/01 22:20:42]: [GNR11868] Got hit by Wilke Mayer (ITG79090) with Pistol causing 8 damage. -[info][2025/07/01 22:20:42]: [GNR11868] Got hit by Wilke Mayer (ITG79090) with Pistol causing 8 damage. -[info][2025/07/01 22:20:46]: [GNR11868] Got hit by Wilke Mayer (ITG79090) with Pistol causing 8 damage. -[info][2025/07/01 22:20:46]: [GNR11868] Got hit by Wilke Mayer (ITG79090) with Pistol causing 8 damage. -[info][2025/07/01 22:20:48]: [OHM07543] Aimed at Dr. Finnley Mc Coy (QYA52709) with Heavy Revolver. -[info][2025/07/01 22:21:07]: [GNR11868] Aimed at Dr. Finnley Mc Coy (QYA52709) with Special Carbine. -[info][2025/07/01 22:21:11]: [GNR11868] Aimed at Dr. Finnley Mc Coy (QYA52709) with Special Carbine. -[info][2025/07/01 22:24:38]: [GNR11868] Aimed at Dr. Demon Campers (OHM07543) with Special Carbine. -[info][2025/07/01 22:24:40]: [OHM07543] Got hit by Victoria Ann (GNR11868) with Special Carbine causing 16 damage. -[info][2025/07/01 22:24:40]: [OHM07543] Got hit by Victoria Ann (GNR11868) with Special Carbine causing 16 damage. -[info][2025/07/01 22:24:41]: [OHM07543] Got hit by Victoria Ann (GNR11868) with Special Carbine causing 16 damage. -[info][2025/07/01 22:24:41]: [OHM07543] Got hit by Victoria Ann (GNR11868) with Special Carbine causing 16 damage. -[info][2025/07/01 22:24:42]: [OHM07543] Got hit by Victoria Ann (GNR11868) with Special Carbine causing 16 damage. -[info][2025/07/01 22:24:42]: [OHM07543] Got hit by Victoria Ann (GNR11868) with Special Carbine causing 16 damage. -[info][2025/07/01 22:24:42]: [OHM07543] Got hit by Victoria Ann (GNR11868) with Special Carbine causing 16 damage. -[info][2025/07/01 22:24:42]: [OHM07543] Got hit by Victoria Ann (GNR11868) with Special Carbine causing 16 damage. -[info][2025/07/01 22:24:42]: [OHM07543] Got hit by Victoria Ann (GNR11868) with Special Carbine causing 16 damage. -[info][2025/07/01 22:24:42]: [OHM07543] Got hit by Victoria Ann (GNR11868) with Special Carbine causing 16 damage. -[info][2025/07/01 22:24:43]: [OHM07543] Got hit by Victoria Ann (GNR11868) with Special Carbine causing 16 damage. -[info][2025/07/01 22:24:43]: [OHM07543] Got hit by Victoria Ann (GNR11868) with Special Carbine causing 16 damage. -[info][2025/07/01 22:24:43]: [OHM07543] Got hit by Victoria Ann (GNR11868) with Special Carbine causing 16 damage. -[info][2025/07/01 22:24:43]: [OHM07543] Got hit by Victoria Ann (GNR11868) with Special Carbine causing 16 damage. -[info][2025/07/01 22:24:43]: [OHM07543] Got hit by Victoria Ann (GNR11868) with Special Carbine causing 16 damage. -[info][2025/07/01 22:24:44]: [OHM07543] Got hit by Victoria Ann (GNR11868) with Special Carbine causing 16 damage. -[info][2025/07/01 22:24:44]: [OHM07543] Got hit by Victoria Ann (GNR11868) with Special Carbine causing 16 damage. -[info][2025/07/01 22:24:46]: [OHM07543] Got killed by Victoria Ann (GNR11868) with Special Carbine causing 302 damage. -[info][2025/07/01 22:24:47]: [GNR11868] Aimed at Dr. Demon Campers (OHM07543) with Special Carbine. -[info][2025/07/01 22:24:50]: [GNR11868] Aimed at Dr. Demon Campers (OHM07543) with Special Carbine. -[info][2025/07/01 22:24:51]: [OHM07543] Got hit by Victoria Ann (GNR11868) with Special Carbine causing 15 damage. -[info][2025/07/01 22:25:00]: [GNR11868] Aimed at Dr. Demon Campers (OHM07543) with Special Carbine. -[info][2025/07/01 22:35:41]: [OHM07543] Aimed at Dr. Finnley Mc Coy (QYA52709) with SNS Pistol Mk II. -[info][2025/07/01 22:35:41]: [QYA52709] Got hit by Dr. Demon Campers (OHM07543) with SNS Pistol MK2 causing 29 damage. -[info][2025/07/01 22:35:45]: [OHM07543] Aimed at Dr. Finnley Mc Coy (QYA52709) with SNS Pistol Mk II. -[info][2025/07/01 22:35:45]: [QYA52709] Got hit by Dr. Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/07/01 22:35:48]: [OHM07543] Aimed at Victoria Ann (GNR11868) with SNS Pistol Mk II. -[info][2025/07/01 22:35:50]: [OHM07543] Aimed at Dr. Finnley Mc Coy (QYA52709) with SNS Pistol Mk II. -[info][2025/07/01 22:35:50]: [QYA52709] Got hit by Dr. Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/07/01 22:36:00]: [OHM07543] Aimed at Dr. Finnley Mc Coy (QYA52709) with SNS Pistol Mk II. -[info][2025/07/01 22:36:01]: [QYA52709] Got hit by Dr. Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/07/01 22:36:04]: [OHM07543] Aimed at Dr. Finnley Mc Coy (QYA52709) with SNS Pistol Mk II. -[info][2025/07/01 22:36:05]: [QYA52709] Got hit by Dr. Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/07/01 22:36:09]: [OHM07543] Aimed at Dr. Finnley Mc Coy (QYA52709) with SNS Pistol Mk II. -[info][2025/07/01 22:36:09]: [QYA52709] Got hit by Dr. Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/07/01 22:36:12]: [OHM07543] Aimed at Victoria Ann (GNR11868) with SNS Pistol Mk II. -[info][2025/07/01 22:36:14]: [OHM07543] Aimed at Victoria Ann (GNR11868) with SNS Pistol Mk II. -[info][2025/07/01 22:36:15]: [GNR11868] Got hit by Dr. Demon Campers (OHM07543) with SNS Pistol MK2 causing 0 damage. -[info][2025/07/01 22:53:01]: [QYA52709] Got hit by Dr. Demon Campers (OHM07543) with Fist causing 20 damage. -[info][2025/07/02 00:17:54]: [OHM07543] campers requested Dr. Demon Campers. -[info][2025/07/02 00:17:55]: [OHM07543] campers requested player vehicles. -[info][2025/07/02 00:17:56]: [OHM07543] campers requested Dr. Demon Campers. -[info][2025/07/02 00:18:03]: [OHM07543] campers changed money cash for Dr. Demon Campers to 25235. -[info][2025/07/02 00:18:03]: [OHM07543] campers requested Dr. Demon Campers. -[info][2025/07/02 00:18:06]: [OHM07543] campers changed money bank for Dr. Demon Campers to 1234955. -[info][2025/07/02 00:18:06]: [OHM07543] campers requested Dr. Demon Campers. -[info][2025/07/02 00:18:23]: [OHM07543] campers requested player vehicles. -[info][2025/07/02 00:19:09]: [OHM07543] campers requested Dr. Demon Campers. -[info][2025/07/02 00:19:10]: [OHM07543] campers requested player vehicles. -[info][2025/07/02 00:19:49]: [OHM07543] campers requested Dr. Demon Campers. -[info][2025/07/02 00:19:51]: [OHM07543] campers requested player vehicles. -[info][2025/07/02 10:14:32]: [YXR32491] Got hit by Torben Schmitz (YXR32491) with Fist causing 16 damage. -[info][2025/07/02 14:07:47]: [GNR11868] Got hit by Torben Schmitz (YXR32491) with Fist causing 20 damage. -[info][2025/07/02 14:27:33]: [ZLJ88003] Got hit by Zoe Baker (ZLJ88003) with Fist causing 20 damage. -[info][2025/07/02 14:27:34]: [ZLJ88003] Got hit by Zoe Baker (ZLJ88003) with Fist causing 20 damage. -[info][2025/07/02 19:18:20]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/07/02 19:18:21]: [JCQ27225] nordi requested player vehicles. -[info][2025/07/02 19:20:49]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/07/02 19:20:51]: [JCQ27225] nordi requested player vehicles. -[info][2025/07/02 20:47:55]: [JCQ27225] nordi requested Dr.Kimberly Smith. -[info][2025/07/02 20:48:00]: [JCQ27225] nordi requested player vehicles. -[info][2025/07/02 21:23:30]: [YXR32491] nordi requested Torben Schmitz. -[info][2025/07/02 21:23:31]: [YXR32491] nordi requested player vehicles. -[info][2025/07/03 05:39:52]: [KVN10675] Got hit by Pia Shelby (TEQ53591) with Fist causing 0 damage. diff --git a/resources/[tools]/unlimited-spectre/unlWeb/logs/web.log b/resources/[tools]/unlimited-spectre/unlWeb/logs/web.log deleted file mode 100644 index a05834e85..000000000 --- a/resources/[tools]/unlimited-spectre/unlWeb/logs/web.log +++ /dev/null @@ -1,6934 +0,0 @@ -[info][2025/04/26 22:34:44]: Login attempt on MiniChaoz from 188.126.185.97 -[info][2025/04/26 22:35:26]: Login attempt on MiniChaoz from 188.126.185.97 -[info][2025/04/26 22:35:46]: minichaoz requested all roles. -[info][2025/04/26 22:35:50]: minichaoz requested all users. -[info][2025/04/26 22:35:54]: minichaoz requested all roles. -[info][2025/04/26 22:37:11]: minichaoz requested create role Projektleitung. -[info][2025/04/26 22:37:12]: minichaoz requested all roles. -[info][2025/04/26 22:37:36]: minichaoz requested create role Serverwaltung. -[info][2025/04/26 22:37:37]: minichaoz requested all roles. -[info][2025/04/26 22:38:28]: minichaoz requested create role HeadDeveloper. -[info][2025/04/26 22:38:29]: minichaoz requested all roles. -[info][2025/04/26 22:39:21]: minichaoz requested create role Developer. -[info][2025/04/26 22:39:22]: minichaoz requested all roles. -[info][2025/04/26 22:40:02]: minichaoz requested create role StellvProjektleitung. -[info][2025/04/26 22:40:02]: minichaoz requested all roles. -[info][2025/04/26 22:40:28]: minichaoz requested create role CarDev. -[info][2025/04/26 22:40:29]: minichaoz requested all roles. -[info][2025/04/26 22:40:59]: minichaoz requested create role Grafik/GameDeveloper. -[info][2025/04/26 22:41:00]: minichaoz requested all roles. -[info][2025/04/26 22:41:15]: minichaoz requested create role Admin. -[info][2025/04/26 22:41:15]: minichaoz requested all roles. -[info][2025/04/26 22:41:40]: minichaoz requested create role Moderatorleitung. -[info][2025/04/26 22:41:40]: minichaoz requested all roles. -[info][2025/04/26 22:41:52]: minichaoz requested create role Moderator. -[info][2025/04/26 22:41:52]: minichaoz requested all roles. -[info][2025/04/26 22:42:05]: minichaoz requested create role Supportleitung. -[info][2025/04/26 22:42:05]: minichaoz requested all roles. -[info][2025/04/26 22:42:19]: minichaoz requested create role Supporter. -[info][2025/04/26 22:42:19]: minichaoz requested all roles. -[info][2025/04/26 22:42:26]: minichaoz requested role Supportleitung. -[info][2025/04/26 22:42:34]: minichaoz requested save role Supportleitung. -[info][2025/04/26 22:42:36]: minichaoz requested all roles. -[info][2025/04/26 22:43:27]: minichaoz requested create role TestSupport. -[info][2025/04/26 22:43:27]: minichaoz requested all roles. -[info][2025/04/26 22:43:38]: minichaoz requested all roles. -[info][2025/04/26 22:43:43]: minichaoz requested all users. -[info][2025/04/26 22:43:45]: minichaoz requested role list. -[info][2025/04/26 22:45:01]: minichaoz requested create user Mark. -[info][2025/04/26 22:45:02]: minichaoz requested all users. -[info][2025/04/26 22:45:20]: minichaoz requested role list. -[info][2025/04/26 22:45:47]: minichaoz requested create user Tim. -[info][2025/04/26 22:45:48]: minichaoz requested all users. -[info][2025/04/26 22:46:24]: minichaoz requested user minichaoz. -[info][2025/04/26 22:46:29]: minichaoz requested save user minichaoz. -[info][2025/04/26 22:46:30]: minichaoz requested all users. -[info][2025/04/26 22:46:52]: minichaoz requested player with citizenid OHM07543. -[info][2025/04/26 22:46:55]: minichaoz requested screenshot for citizenid OHM07543. -[info][2025/04/26 22:47:03]: minichaoz requested inventory for citizenid OHM07543. -[info][2025/04/26 22:56:09]: Login attempt on MiniChaoz from 188.126.185.97 -[info][2025/04/26 23:13:44]: minichaoz requested all users. -[info][2025/04/26 23:13:46]: minichaoz requested role list. -[info][2025/04/26 23:14:11]: minichaoz requested create user Nordi. -[info][2025/04/26 23:14:12]: minichaoz requested all users. -[info][2025/04/26 23:14:32]: minichaoz requested role list. -[info][2025/04/26 23:14:56]: minichaoz requested create user Campers. -[info][2025/04/26 23:14:56]: minichaoz requested all users. -[info][2025/04/26 23:15:30]: Login attempt on Campers from 178.200.177.65 -[info][2025/04/26 23:15:42]: campers requested all accounts. -[info][2025/04/26 23:15:43]: campers requested all players. -[info][2025/04/26 23:15:45]: campers requested all vehicles. -[info][2025/04/26 23:15:46]: campers requested all stashes. -[info][2025/04/26 23:16:19]: campers requested all roles. -[info][2025/04/26 23:16:50]: campers requested all users. -[info][2025/04/26 23:18:11]: Login attempt on Tim from 109.68.107.162 -[info][2025/04/26 23:18:21]: tim requested all accounts. -[info][2025/04/26 23:18:51]: tim requested all players. -[info][2025/04/26 23:18:56]: tim requested all players. -[info][2025/04/26 23:19:07]: tim requested all vehicles. -[info][2025/04/26 23:19:13]: tim requested all stashes. -[info][2025/04/26 23:23:48]: Login attempt on Nordi from 92.252.98.223 -[info][2025/04/26 23:23:49]: tim requested all users. -[info][2025/04/26 23:23:51]: tim requested all roles. -[info][2025/04/26 23:23:53]: tim requested all users. -[info][2025/04/26 23:23:58]: tim requested user tim. -[info][2025/04/26 23:24:08]: tim requested all roles. -[info][2025/04/26 23:24:17]: tim requested role Projektleitung. -[info][2025/04/26 23:27:04]: tim requested all accounts. -[info][2025/04/26 23:42:36]: Login attempt on Nordi from 92.252.98.223 -[info][2025/04/26 23:42:43]: Login attempt on Nordi from 92.252.98.223 -[info][2025/04/26 23:43:45]: tim requested all stashes. -[info][2025/04/26 23:46:43]: nordi requested all players. -[info][2025/04/26 23:46:57]: nordi requested player with citizenid OHM07543. -[info][2025/04/27 00:26:06]: Login attempt on Nordi from 92.252.98.223 -[info][2025/04/27 00:26:07]: Login attempt on Tim from 109.68.107.162 -[info][2025/04/27 00:26:35]: tim requested all roles. -[info][2025/04/27 00:45:02]: nordi requested all players. -[info][2025/04/27 00:45:14]: Login attempt on Campers from 178.200.177.65 -[info][2025/04/27 00:45:21]: campers requested player with citizenid ASS17049. -[info][2025/04/27 00:53:58]: campers requested all players. -[info][2025/04/27 00:54:08]: campers requested player with citizenid OHM07543. -[info][2025/04/27 01:01:10]: nordi requested player with citizenid JCQ27225. -[info][2025/04/27 01:01:17]: nordi requested inventory for citizenid JCQ27225. -[info][2025/04/27 01:01:19]: nordi requested item list. -[info][2025/04/27 01:01:26]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/27 01:03:00]: nordi requested item list. -[info][2025/04/27 01:03:10]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/27 01:03:33]: nordi requested item list. -[info][2025/04/27 01:03:48]: nordi requested item list. -[info][2025/04/27 01:03:54]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/27 01:12:29]: nordi requested all players. -[info][2025/04/27 01:12:32]: nordi requested player with citizenid JCQ27225. -[info][2025/04/27 01:12:38]: nordi requested inventory for citizenid JCQ27225. -[info][2025/04/27 01:12:41]: nordi requested item list. -[info][2025/04/27 01:12:53]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/27 01:13:00]: nordi requested item list. -[info][2025/04/27 01:13:12]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/27 01:13:57]: nordi requested inventory for citizenid JCQ27225. -[info][2025/04/27 01:17:06]: tim requested all players. -[info][2025/04/27 01:17:20]: tim requested player with citizenid AOJ19157. -[info][2025/04/27 01:17:36]: tim requested change charinfo for citizenid AOJ19157. -[info][2025/04/27 01:17:36]: tim requested player with citizenid AOJ19157. -[info][2025/04/27 01:17:53]: tim requested screenshot for citizenid AOJ19157. -[info][2025/04/27 01:18:08]: tim requested heal for citizenid AOJ19157. -[info][2025/04/27 01:18:08]: tim requested player with citizenid AOJ19157. -[info][2025/04/27 01:18:10]: tim requested change meta for citizenid AOJ19157. -[info][2025/04/27 01:18:10]: tim requested player with citizenid AOJ19157. -[info][2025/04/27 01:18:11]: tim requested change meta for citizenid AOJ19157. -[info][2025/04/27 01:18:11]: tim requested player with citizenid AOJ19157. -[info][2025/04/27 01:18:13]: tim requested change meta for citizenid AOJ19157. -[info][2025/04/27 01:18:13]: tim requested player with citizenid AOJ19157. -[info][2025/04/27 01:18:14]: tim requested change meta for citizenid AOJ19157. -[info][2025/04/27 01:18:14]: tim requested player with citizenid AOJ19157. -[info][2025/04/27 01:18:19]: tim requested change jobs. -[info][2025/04/27 01:18:32]: tim requested change job for citizenid AOJ19157. -[info][2025/04/27 01:18:32]: tim requested player with citizenid AOJ19157. -[info][2025/04/27 01:18:40]: tim requested change gangs. -[info][2025/04/27 01:18:48]: tim requested inventory for citizenid AOJ19157. -[info][2025/04/27 01:18:53]: tim requested item list. -[info][2025/04/27 01:19:03]: tim requested add item for citizenid AOJ19157. -[info][2025/04/27 01:19:05]: tim requested move item for citizenid AOJ19157. -[info][2025/04/27 01:19:12]: tim requested item list. -[info][2025/04/27 01:19:25]: tim requested add item for citizenid AOJ19157. -[info][2025/04/27 01:19:55]: tim requested all vehicles. -[info][2025/04/27 01:20:00]: tim requested vehicle with id 16. -[info][2025/04/27 01:20:12]: tim requested all players. -[info][2025/04/27 01:20:34]: tim requested player with citizenid JCQ27225. -[info][2025/04/27 01:20:37]: tim requested all players. -[info][2025/04/27 01:20:39]: tim requested player with citizenid AOJ19157. -[info][2025/04/27 01:20:40]: tim requested player vehicles for citizenid AOJ19157. -[info][2025/04/27 01:20:46]: tim requested save note for citizenid AOJ19157. -[info][2025/04/27 01:20:47]: tim requested player with citizenid AOJ19157. -[info][2025/04/27 01:20:59]: tim requested change meta for citizenid AOJ19157. -[info][2025/04/27 01:20:59]: tim requested player with citizenid AOJ19157. -[info][2025/04/27 01:21:06]: tim requested change meta for citizenid AOJ19157. -[info][2025/04/27 01:21:06]: tim requested player with citizenid AOJ19157. -[info][2025/04/27 01:21:19]: tim requested all players. -[info][2025/04/27 01:21:21]: tim requested player with citizenid OHM07543. -[info][2025/04/27 01:21:28]: tim requested heal for citizenid OHM07543. -[info][2025/04/27 01:21:28]: tim requested player with citizenid OHM07543. -[info][2025/04/27 01:21:28]: tim requested change meta for citizenid OHM07543. -[info][2025/04/27 01:21:28]: tim requested player with citizenid OHM07543. -[info][2025/04/27 01:21:29]: tim requested change meta for citizenid OHM07543. -[info][2025/04/27 01:21:29]: tim requested player with citizenid OHM07543. -[info][2025/04/27 01:21:32]: tim requested change jobs. -[info][2025/04/27 01:21:41]: tim requested all players. -[info][2025/04/27 01:21:42]: tim requested all stashes. -[info][2025/04/27 01:22:22]: tim requested all roles. -[info][2025/04/27 01:22:26]: tim requested role Projektleitung. -[info][2025/04/27 01:22:34]: tim requested all users. -[info][2025/04/27 01:22:36]: tim requested user tim. -[info][2025/04/27 01:22:41]: tim requested all users. -[info][2025/04/27 01:22:44]: tim requested all roles. -[info][2025/04/27 01:22:46]: tim requested role Projektleitung. -[info][2025/04/27 01:22:58]: tim requested all roles. -[info][2025/04/27 01:23:32]: tim requested player with citizenid AOJ19157. -[info][2025/04/27 01:23:44]: tim requested all players. -[info][2025/04/27 01:23:47]: tim requested player with citizenid OHM07543. -[info][2025/04/27 01:23:51]: tim requested all players. -[info][2025/04/27 01:23:54]: tim requested player with citizenid JCQ27225. -[info][2025/04/27 01:23:58]: tim requested all players. -[info][2025/04/27 01:24:06]: tim requested player with citizenid ASS17049. -[info][2025/04/27 01:24:11]: tim requested all players. -[info][2025/04/27 01:24:15]: tim requested player with citizenid AOJ19157. -[info][2025/04/27 01:24:34]: tim requested all stashes. -[info][2025/04/27 01:24:43]: tim requested all players. -[info][2025/04/27 01:24:45]: tim requested all accounts. -[info][2025/04/27 01:24:53]: tim requested player with citizenid AOJ19157. -[info][2025/04/27 01:28:46]: tim requested inventory for citizenid AOJ19157. -[info][2025/04/27 01:28:48]: tim requested item list. -[info][2025/04/27 01:32:06]: tim requested delete item for citizenid AOJ19157. -[info][2025/04/27 01:32:10]: tim requested delete item for citizenid AOJ19157. -[info][2025/04/27 01:32:11]: tim requested move item for citizenid AOJ19157. -[info][2025/04/27 01:32:20]: tim requested move item for citizenid AOJ19157. -[info][2025/04/27 01:32:28]: tim requested move item for citizenid AOJ19157. -[info][2025/04/27 01:35:59]: tim requested all players. -[info][2025/04/27 01:36:01]: tim requested player with citizenid AOJ19157. -[info][2025/04/27 01:36:03]: tim requested inventory for citizenid AOJ19157. -[info][2025/04/27 01:36:05]: tim requested item list. -[info][2025/04/27 01:36:18]: tim requested add item for citizenid AOJ19157. -[info][2025/04/27 01:36:24]: tim requested item list. -[info][2025/04/27 01:36:30]: tim requested add item for citizenid AOJ19157. -[info][2025/04/27 01:37:58]: Login attempt on Campers from 178.200.177.65 -[info][2025/04/27 01:38:06]: Login attempt on Nordi from 91.248.236.186 -[info][2025/04/27 01:38:08]: Login attempt on Nordi from 91.248.236.186 -[info][2025/04/27 01:40:51]: Login attempt on Nordi from 91.248.236.186 -[info][2025/04/27 01:40:53]: Login attempt on Nordi from 91.248.236.186 -[info][2025/04/27 01:42:26]: Login attempt on Campers from 178.200.177.65 -[info][2025/04/27 01:49:50]: Login attempt on Tim from 109.68.107.162 -[info][2025/04/27 01:50:34]: Login attempt on MiniChaoz from 188.126.185.97 -[info][2025/04/27 01:59:29]: minichaoz requested player with citizenid OHM07543. -[info][2025/04/27 01:59:30]: minichaoz requested screenshot for citizenid OHM07543. -[info][2025/04/27 01:59:41]: minichaoz kicked player with id 3 (Restart). -[info][2025/04/27 02:01:08]: Login attempt on Nordi from 91.248.236.186 -[info][2025/04/27 02:01:42]: Login attempt on Campers from 178.200.177.65 -[info][2025/04/27 02:08:33]: Login attempt on from 188.126.185.97 -[info][2025/04/27 02:08:36]: Login attempt on MiniChaoz from 188.126.185.97 -[info][2025/04/27 02:20:39]: Login attempt on MiniChaoz from 188.126.185.97 -[info][2025/04/27 02:21:32]: Login attempt on Nordi from 91.248.236.186 -[info][2025/04/27 02:22:05]: Login attempt on Campers from 178.200.177.65 -[info][2025/04/27 02:22:21]: Login attempt on Campers from 178.200.177.65 -[info][2025/04/27 02:35:16]: nordi requested all players. -[info][2025/04/27 02:35:18]: nordi requested player with citizenid JCQ27225. -[info][2025/04/27 02:35:29]: nordi requested screenshot for citizenid JCQ27225. -[info][2025/04/27 02:35:47]: nordi requested change meta for citizenid JCQ27225. -[info][2025/04/27 02:35:47]: nordi requested player with citizenid JCQ27225. -[info][2025/04/27 02:35:47]: nordi requested change meta for citizenid JCQ27225. -[info][2025/04/27 02:35:48]: nordi requested player with citizenid JCQ27225. -[info][2025/04/27 02:35:56]: nordi requested change jobs. -[info][2025/04/27 02:36:04]: nordi requested change job for citizenid JCQ27225. -[info][2025/04/27 02:36:04]: nordi requested player with citizenid JCQ27225. -[info][2025/04/27 02:36:31]: nordi requested inventory for citizenid JCQ27225. -[info][2025/04/27 02:37:19]: nordi requested item list. -[info][2025/04/27 02:37:27]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/27 02:42:32]: nordi requested item list. -[info][2025/04/27 02:42:40]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/27 02:43:25]: nordi requested clear inv for citizenid JCQ27225. -[info][2025/04/27 02:45:42]: nordi requested item list. -[info][2025/04/27 02:45:48]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/27 02:46:11]: nordi requested item list. -[info][2025/04/27 02:46:26]: nordi requested item list. -[info][2025/04/27 02:46:31]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/27 02:47:38]: nordi requested clear inv for citizenid JCQ27225. -[info][2025/04/27 03:20:54]: campers requested all players. -[info][2025/04/27 03:21:18]: campers requested player with citizenid CNB21054. -[info][2025/04/27 03:21:27]: campers requested all players. -[info][2025/04/27 10:56:35]: nordi requested all players. -[info][2025/04/27 11:08:30]: Login attempt on Tim from 109.68.107.162 -[info][2025/04/27 11:08:32]: tim requested all players. -[info][2025/04/27 11:08:38]: tim requested player with citizenid AOJ19157. -[info][2025/04/27 11:08:41]: tim requested inventory for citizenid AOJ19157. -[info][2025/04/27 11:08:47]: tim requested delete item for citizenid AOJ19157. -[info][2025/04/27 11:08:50]: tim requested delete item for citizenid AOJ19157. -[info][2025/04/27 11:08:52]: tim requested delete item for citizenid AOJ19157. -[info][2025/04/27 11:18:40]: Login attempt on Nordi from 91.248.236.186 -[info][2025/04/27 11:18:42]: Login attempt on Nordi from 91.248.236.186 -[info][2025/04/27 12:27:36]: nordi requested all players. -[info][2025/04/27 12:27:38]: nordi requested player with citizenid JCQ27225. -[info][2025/04/27 12:27:43]: nordi requested inventory for citizenid JCQ27225. -[info][2025/04/27 12:27:45]: nordi requested item list. -[info][2025/04/27 12:27:50]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/27 12:27:59]: nordi requested item list. -[info][2025/04/27 12:28:06]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/27 12:29:29]: nordi requested item list. -[info][2025/04/27 12:29:33]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/27 12:30:04]: nordi requested item list. -[info][2025/04/27 12:30:10]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/27 12:30:19]: nordi requested item list. -[info][2025/04/27 12:30:30]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/27 12:31:52]: nordi requested player with citizenid JCQ27225. -[info][2025/04/27 12:31:57]: nordi requested heal for citizenid JCQ27225. -[info][2025/04/27 12:31:57]: nordi requested player with citizenid JCQ27225. -[info][2025/04/27 12:32:38]: nordi requested inventory for citizenid JCQ27225. -[info][2025/04/27 12:32:41]: nordi requested clear inv for citizenid JCQ27225. -[info][2025/04/27 14:04:15]: tim requested inventory for citizenid AOJ19157. -[info][2025/04/27 14:04:23]: Login attempt on Campers from 178.200.177.65 -[info][2025/04/27 14:06:37]: Login attempt on Nordi from 91.248.236.186 -[info][2025/04/27 14:44:14]: nordi requested all users. -[info][2025/04/27 14:44:26]: nordi requested all players. -[info][2025/04/27 14:44:33]: nordi requested player with citizenid JCQ27225. -[info][2025/04/27 14:47:11]: nordi requested inventory for citizenid JCQ27225. -[info][2025/04/27 14:47:14]: nordi requested item list. -[info][2025/04/27 14:47:29]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/27 14:48:21]: nordi requested item list. -[info][2025/04/27 14:48:28]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/27 15:11:48]: Login attempt on from 91.248.236.186 -[info][2025/04/27 15:11:51]: Login attempt on Nordi from 91.248.236.186 -[info][2025/04/27 15:11:58]: nordi requested all players. -[info][2025/04/27 15:12:01]: nordi requested player with citizenid JCQ27225. -[info][2025/04/27 15:12:15]: nordi requested all players. -[info][2025/04/27 15:12:30]: Login attempt on MiniChaoz from 78.153.69.211 -[info][2025/04/27 15:13:42]: Login attempt on Nordi from 91.248.236.186 -[info][2025/04/27 15:17:31]: Login attempt on Campers from 178.200.177.65 -[info][2025/04/27 15:21:05]: Login attempt on Nordi from 91.248.236.186 -[info][2025/04/27 15:21:43]: nordi requested all players. -[info][2025/04/27 15:21:46]: nordi requested player with citizenid JCQ27225. -[info][2025/04/27 15:22:03]: nordi requested inventory for citizenid JCQ27225. -[info][2025/04/27 15:22:05]: nordi requested item list. -[info][2025/04/27 15:22:34]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/27 15:24:12]: nordi requested item list. -[info][2025/04/27 15:24:19]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/27 15:24:43]: nordi requested delete item for citizenid JCQ27225. -[info][2025/04/27 15:24:47]: nordi requested delete item for citizenid JCQ27225. -[info][2025/04/27 15:24:49]: nordi requested item list. -[info][2025/04/27 15:24:54]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/27 15:25:04]: nordi requested delete item for citizenid JCQ27225. -[info][2025/04/27 15:25:28]: nordi requested delete item for citizenid JCQ27225. -[info][2025/04/27 15:25:32]: nordi requested item list. -[info][2025/04/27 15:25:37]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/27 15:29:32]: nordi requested item list. -[info][2025/04/27 15:29:38]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/27 15:30:06]: nordi requested delete item for citizenid JCQ27225. -[info][2025/04/27 15:30:10]: nordi requested delete item for citizenid JCQ27225. -[info][2025/04/27 15:33:21]: nordi requested item list. -[info][2025/04/27 15:33:35]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/27 15:34:12]: nordi requested item list. -[info][2025/04/27 15:34:20]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/27 15:40:23]: nordi requested delete item for citizenid JCQ27225. -[info][2025/04/27 15:40:25]: nordi requested item list. -[info][2025/04/27 15:40:33]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/27 16:17:45]: Login attempt on MiniChaoz from 78.153.69.211 -[info][2025/04/27 16:17:47]: minichaoz requested all users. -[info][2025/04/27 16:17:49]: minichaoz requested all roles. -[info][2025/04/27 16:18:28]: minichaoz requested create role Teamleitung. -[info][2025/04/27 16:18:29]: minichaoz requested all roles. -[info][2025/04/27 16:18:33]: minichaoz requested all users. -[info][2025/04/27 16:18:35]: minichaoz requested role list. -[info][2025/04/27 16:19:11]: minichaoz requested create user Saylem. -[info][2025/04/27 16:19:12]: minichaoz requested all users. -[info][2025/04/27 17:23:01]: Login attempt on Nordi from 91.248.236.186 -[info][2025/04/27 17:23:41]: Login attempt on MiniChaoz from 78.153.69.211 -[info][2025/04/27 17:23:45]: minichaoz requested all users. -[info][2025/04/27 17:23:48]: minichaoz requested role list. -[info][2025/04/27 17:24:12]: minichaoz requested create user Max. -[info][2025/04/27 17:24:12]: minichaoz requested all users. -[info][2025/04/27 17:26:22]: nordi requested all players. -[info][2025/04/27 17:26:26]: nordi requested player with citizenid JCQ27225. -[info][2025/04/27 17:26:30]: nordi requested heal for citizenid JCQ27225. -[info][2025/04/27 17:26:30]: nordi requested player with citizenid JCQ27225. -[info][2025/04/27 17:32:48]: nordi requested all players. -[info][2025/04/27 17:32:51]: nordi requested player with citizenid JCQ27225. -[info][2025/04/27 17:32:55]: nordi requested inventory for citizenid JCQ27225. -[info][2025/04/27 17:32:58]: nordi requested item list. -[info][2025/04/27 17:33:31]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/27 17:40:01]: nordi requested item list. -[info][2025/04/27 17:40:15]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/27 17:58:38]: Login attempt on Nordi from 91.248.236.186 -[info][2025/04/27 17:58:50]: nordi requested all players. -[info][2025/04/27 17:59:03]: nordi requested player with citizenid JCQ27225. -[info][2025/04/27 17:59:07]: nordi requested heal for citizenid JCQ27225. -[info][2025/04/27 17:59:07]: nordi requested player with citizenid JCQ27225. -[info][2025/04/27 18:24:51]: Login attempt on Nordi from 91.248.236.186 -[info][2025/04/27 18:27:10]: nordi requested all players. -[info][2025/04/27 18:27:12]: nordi requested player with citizenid JCQ27225. -[info][2025/04/27 18:27:20]: nordi requested heal for citizenid JCQ27225. -[info][2025/04/27 18:27:20]: nordi requested player with citizenid JCQ27225. -[info][2025/04/27 18:27:22]: nordi requested change meta for citizenid JCQ27225. -[info][2025/04/27 18:27:22]: nordi requested player with citizenid JCQ27225. -[info][2025/04/27 18:27:29]: nordi requested inventory for citizenid JCQ27225. -[info][2025/04/27 18:27:31]: nordi requested item list. -[info][2025/04/27 18:27:44]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/27 18:27:47]: nordi requested item list. -[info][2025/04/27 18:28:05]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/27 18:28:15]: Login attempt on Tim from 109.68.107.162 -[info][2025/04/27 18:28:32]: tim requested player with citizenid JCQ27225. -[info][2025/04/27 18:29:01]: tim requested heal for citizenid JCQ27225. -[info][2025/04/27 18:29:01]: tim requested player with citizenid JCQ27225. -[info][2025/04/27 18:29:02]: tim requested change meta for citizenid JCQ27225. -[info][2025/04/27 18:29:02]: tim requested player with citizenid JCQ27225. -[info][2025/04/27 18:29:03]: tim requested change meta for citizenid JCQ27225. -[info][2025/04/27 18:29:03]: tim requested player with citizenid JCQ27225. -[info][2025/04/27 18:29:09]: tim requested inventory for citizenid JCQ27225. -[info][2025/04/27 18:29:20]: tim requested player with citizenid JCQ27225. -[info][2025/04/27 18:29:24]: tim requested screenshot for citizenid JCQ27225. -[info][2025/04/27 18:29:30]: tim requested screenshot for citizenid JCQ27225. -[info][2025/04/27 18:30:10]: tim requested all accounts. -[info][2025/04/27 18:30:43]: tim requested all stashes. -[info][2025/04/27 18:31:28]: nordi requested player with citizenid JCQ27225. -[info][2025/04/27 18:31:32]: nordi requested heal for citizenid JCQ27225. -[info][2025/04/27 18:31:32]: nordi requested player with citizenid JCQ27225. -[info][2025/04/27 18:31:32]: nordi requested change meta for citizenid JCQ27225. -[info][2025/04/27 18:31:32]: nordi requested player with citizenid JCQ27225. -[info][2025/04/27 18:42:48]: nordi requested inventory for citizenid JCQ27225. -[info][2025/04/27 18:42:52]: nordi requested item list. -[info][2025/04/27 18:43:01]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/27 18:43:05]: nordi requested move item for citizenid JCQ27225. -[info][2025/04/27 18:43:07]: nordi requested move item for citizenid JCQ27225. -[info][2025/04/27 18:43:08]: nordi requested move item for citizenid JCQ27225. -[info][2025/04/27 18:43:10]: nordi requested move item for citizenid JCQ27225. -[info][2025/04/27 18:43:11]: nordi requested move item for citizenid JCQ27225. -[info][2025/04/27 18:43:13]: nordi requested delete item for citizenid JCQ27225. -[info][2025/04/27 18:43:31]: nordi requested item list. -[info][2025/04/27 18:43:43]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/27 18:43:53]: nordi requested move item for citizenid JCQ27225. -[info][2025/04/27 18:43:54]: nordi requested move item for citizenid JCQ27225. -[info][2025/04/27 18:45:46]: nordi requested item list. -[info][2025/04/27 18:45:56]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/27 18:46:52]: nordi requested item list. -[info][2025/04/27 18:47:04]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/27 18:47:26]: nordi requested delete item for citizenid JCQ27225. -[info][2025/04/27 18:47:27]: nordi requested item list. -[info][2025/04/27 18:47:36]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/27 18:53:21]: nordi requested item list. -[info][2025/04/27 18:54:01]: nordi requested delete item for citizenid JCQ27225. -[info][2025/04/27 19:06:03]: Login attempt on Saylem from 93.244.225.140 -[info][2025/04/27 19:06:14]: saylem requested all players. -[info][2025/04/27 19:06:48]: saylem requested all accounts. -[info][2025/04/27 19:07:00]: saylem requested all users. -[info][2025/04/27 19:07:16]: saylem requested all players. -[info][2025/04/27 19:09:27]: Login attempt on MiniChaoz from 78.153.69.211 -[info][2025/04/27 19:09:33]: minichaoz requested all players. -[info][2025/04/27 19:09:39]: minichaoz requested all players. -[info][2025/04/27 20:19:51]: Login attempt on Campers from 178.200.177.65 -[info][2025/04/27 20:56:02]: Login attempt on Nordi from 91.248.236.186 -[info][2025/04/27 21:05:48]: nordi requested all players. -[info][2025/04/27 21:05:53]: nordi requested player with citizenid JCQ27225. -[info][2025/04/27 21:05:57]: nordi requested heal for citizenid JCQ27225. -[info][2025/04/27 21:05:57]: nordi requested player with citizenid JCQ27225. -[info][2025/04/27 21:06:01]: nordi requested heal for citizenid JCQ27225. -[info][2025/04/27 21:06:01]: nordi requested player with citizenid JCQ27225. -[info][2025/04/27 21:06:02]: nordi requested change meta for citizenid JCQ27225. -[info][2025/04/27 21:06:02]: nordi requested player with citizenid JCQ27225. -[info][2025/04/27 21:06:07]: nordi requested change meta for citizenid JCQ27225. -[info][2025/04/27 21:06:07]: nordi requested player with citizenid JCQ27225. -[info][2025/04/27 21:06:44]: nordi requested inventory for citizenid JCQ27225. -[info][2025/04/27 21:06:45]: nordi requested item list. -[info][2025/04/27 21:06:57]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/27 21:15:55]: Login attempt on Tim from 109.68.107.162 -[info][2025/04/27 21:16:00]: tim requested all players. -[info][2025/04/27 21:16:23]: tim requested player with citizenid AOJ19157. -[info][2025/04/27 21:16:27]: tim requested heal for citizenid AOJ19157. -[info][2025/04/27 21:16:27]: tim requested player with citizenid AOJ19157. -[info][2025/04/27 21:16:27]: tim requested change meta for citizenid AOJ19157. -[info][2025/04/27 21:16:27]: tim requested player with citizenid AOJ19157. -[info][2025/04/27 21:16:28]: tim requested change meta for citizenid AOJ19157. -[info][2025/04/27 21:16:28]: tim requested player with citizenid AOJ19157. -[info][2025/04/27 21:16:30]: tim requested change meta for citizenid AOJ19157. -[info][2025/04/27 21:16:30]: tim requested player with citizenid AOJ19157. -[info][2025/04/27 21:16:30]: tim requested change meta for citizenid AOJ19157. -[info][2025/04/27 21:16:30]: tim requested player with citizenid AOJ19157. -[info][2025/04/27 21:17:35]: nordi requested all players. -[info][2025/04/27 21:17:37]: nordi requested player with citizenid AOJ19157. -[info][2025/04/27 21:17:41]: nordi requested heal for citizenid AOJ19157. -[info][2025/04/27 21:17:41]: nordi requested player with citizenid AOJ19157. -[info][2025/04/27 21:17:43]: nordi requested change meta for citizenid AOJ19157. -[info][2025/04/27 21:17:43]: nordi requested player with citizenid AOJ19157. -[info][2025/04/27 21:17:43]: nordi requested change meta for citizenid AOJ19157. -[info][2025/04/27 21:17:43]: nordi requested player with citizenid AOJ19157. -[info][2025/04/27 21:17:45]: nordi requested change meta for citizenid AOJ19157. -[info][2025/04/27 21:17:46]: nordi requested player with citizenid AOJ19157. -[info][2025/04/27 21:34:31]: Login attempt on Campers from 178.200.177.65 -[info][2025/04/27 21:34:37]: campers requested player with citizenid OHM07543. -[info][2025/04/27 21:34:45]: campers requested change meta for citizenid OHM07543. -[info][2025/04/27 21:34:45]: campers requested player with citizenid OHM07543. -[info][2025/04/27 21:35:17]: nordi requested all players. -[info][2025/04/27 21:35:46]: campers requested change meta for citizenid OHM07543. -[info][2025/04/27 21:35:46]: campers requested player with citizenid OHM07543. -[info][2025/04/27 21:42:50]: campers requested all stashes. -[info][2025/04/27 21:42:52]: campers requested all players. -[info][2025/04/27 21:42:56]: campers requested player with citizenid OHM07543. -[info][2025/04/27 21:43:03]: campers requested inventory for citizenid OHM07543. -[info][2025/04/27 21:43:09]: campers requested item list. -[info][2025/04/27 21:43:20]: campers requested add item for citizenid OHM07543. -[info][2025/04/27 21:43:24]: campers requested item list. -[info][2025/04/27 21:43:39]: campers requested item list. -[info][2025/04/27 21:43:46]: campers requested add item for citizenid OHM07543. -[info][2025/04/27 21:43:48]: campers requested item list. -[info][2025/04/27 21:44:01]: campers requested add item for citizenid OHM07543. -[info][2025/04/27 21:44:18]: nordi requested player with citizenid JCQ27225. -[info][2025/04/27 21:44:21]: nordi requested change meta for citizenid JCQ27225. -[info][2025/04/27 21:44:21]: nordi requested player with citizenid JCQ27225. -[info][2025/04/27 21:54:42]: campers requested player with citizenid OHM07543. -[info][2025/04/27 21:54:48]: campers requested inventory for citizenid OHM07543. -[info][2025/04/27 21:54:49]: campers requested item list. -[info][2025/04/27 21:54:58]: campers requested add item for citizenid OHM07543. -[info][2025/04/27 21:56:00]: campers requested player with citizenid OHM07543. -[info][2025/04/27 21:56:00]: nordi requested all players. -[info][2025/04/27 21:56:04]: campers requested change meta for citizenid OHM07543. -[info][2025/04/27 21:56:04]: campers requested player with citizenid OHM07543. -[info][2025/04/27 21:56:05]: campers requested change meta for citizenid OHM07543. -[info][2025/04/27 21:56:05]: campers requested player with citizenid OHM07543. -[info][2025/04/27 21:56:06]: nordi requested player with citizenid JCQ27225. -[info][2025/04/27 21:56:10]: nordi requested inventory for citizenid JCQ27225. -[info][2025/04/27 21:56:15]: nordi requested delete item for citizenid JCQ27225. -[info][2025/04/27 21:56:17]: nordi requested delete item for citizenid JCQ27225. -[info][2025/04/27 21:56:20]: nordi requested delete item for citizenid JCQ27225. -[info][2025/04/27 21:56:22]: nordi requested move item for citizenid JCQ27225. -[info][2025/04/27 21:56:23]: nordi requested move item for citizenid JCQ27225. -[info][2025/04/27 21:56:24]: nordi requested move item for citizenid JCQ27225. -[info][2025/04/27 21:56:25]: nordi requested item list. -[info][2025/04/27 21:56:31]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/27 21:58:10]: nordi requested delete item for citizenid JCQ27225. -[info][2025/04/27 21:58:14]: nordi requested item list. -[info][2025/04/27 21:58:26]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/27 22:01:30]: nordi requested delete item for citizenid JCQ27225. -[info][2025/04/27 22:01:32]: campers requested inventory for citizenid OHM07543. -[info][2025/04/27 22:01:33]: campers requested item list. -[info][2025/04/27 22:01:50]: nordi requested move item for citizenid JCQ27225. -[info][2025/04/27 22:01:59]: campers requested add item for citizenid OHM07543. -[info][2025/04/27 22:02:03]: campers requested item list. -[info][2025/04/27 22:02:05]: nordi requested item list. -[info][2025/04/27 22:02:11]: campers requested add item for citizenid OHM07543. -[info][2025/04/27 22:02:19]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/27 22:11:59]: Login attempt on Nordi from 91.248.236.186 -[info][2025/04/27 22:22:42]: Login attempt on Nordi from 91.248.236.186 -[info][2025/04/27 22:24:22]: nordi requested all players. -[info][2025/04/27 22:24:24]: nordi requested player with citizenid JCQ27225. -[info][2025/04/27 22:24:29]: nordi requested inventory for citizenid JCQ27225. -[info][2025/04/27 22:24:32]: nordi requested delete item for citizenid JCQ27225. -[info][2025/04/27 22:24:33]: nordi requested item list. -[info][2025/04/27 22:24:41]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/27 22:38:40]: Login attempt on Nordi from 91.248.236.186 -[info][2025/04/27 23:02:05]: nordi requested all players. -[info][2025/04/27 23:02:10]: nordi requested player with citizenid JCQ27225. -[info][2025/04/27 23:02:13]: nordi requested inventory for citizenid JCQ27225. -[info][2025/04/27 23:02:16]: nordi requested item list. -[info][2025/04/27 23:02:23]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/27 23:02:25]: nordi requested item list. -[info][2025/04/27 23:02:39]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/27 23:06:55]: nordi requested all players. -[info][2025/04/27 23:06:59]: nordi requested player with citizenid JCQ27225. -[info][2025/04/27 23:07:01]: nordi requested heal for citizenid JCQ27225. -[info][2025/04/27 23:07:01]: nordi requested player with citizenid JCQ27225. -[info][2025/04/27 23:07:02]: nordi requested change meta for citizenid JCQ27225. -[info][2025/04/27 23:07:02]: nordi requested player with citizenid JCQ27225. -[info][2025/04/27 23:07:05]: nordi requested change meta for citizenid JCQ27225. -[info][2025/04/27 23:07:05]: nordi requested player with citizenid JCQ27225. -[info][2025/04/27 23:07:15]: nordi requested heal for citizenid JCQ27225. -[info][2025/04/27 23:07:15]: nordi requested player with citizenid JCQ27225. -[info][2025/04/27 23:07:15]: nordi requested heal for citizenid JCQ27225. -[info][2025/04/27 23:07:15]: nordi requested player with citizenid JCQ27225. -[info][2025/04/27 23:07:15]: nordi requested heal for citizenid JCQ27225. -[info][2025/04/27 23:07:15]: nordi requested player with citizenid JCQ27225. -[info][2025/04/27 23:07:27]: nordi requested change meta for citizenid JCQ27225. -[info][2025/04/27 23:07:27]: nordi requested player with citizenid JCQ27225. -[info][2025/04/27 23:07:27]: nordi requested change meta for citizenid JCQ27225. -[info][2025/04/27 23:07:27]: nordi requested player with citizenid JCQ27225. -[info][2025/04/27 23:07:27]: nordi requested change meta for citizenid JCQ27225. -[info][2025/04/27 23:07:27]: nordi requested player with citizenid JCQ27225. -[info][2025/04/27 23:07:27]: nordi requested change meta for citizenid JCQ27225. -[info][2025/04/27 23:07:27]: nordi requested player with citizenid JCQ27225. -[info][2025/04/27 23:07:36]: nordi requested change meta for citizenid JCQ27225. -[info][2025/04/27 23:07:36]: nordi requested player with citizenid JCQ27225. -[info][2025/04/27 23:07:38]: nordi requested change meta for citizenid JCQ27225. -[info][2025/04/27 23:07:38]: nordi requested player with citizenid JCQ27225. -[info][2025/04/27 23:13:04]: Login attempt on Campers from 178.200.177.65 -[info][2025/04/27 23:13:09]: campers requested player with citizenid OHM07543. -[info][2025/04/27 23:13:29]: campers requested inventory for citizenid OHM07543. -[info][2025/04/27 23:13:30]: campers requested item list. -[info][2025/04/27 23:13:41]: campers requested add item for citizenid OHM07543. -[info][2025/04/27 23:13:45]: campers requested item list. -[info][2025/04/27 23:13:55]: campers requested add item for citizenid OHM07543. -[info][2025/04/27 23:14:09]: campers requested item list. -[info][2025/04/27 23:14:13]: campers requested all players. -[info][2025/04/27 23:14:19]: campers requested player with citizenid JCQ27225. -[info][2025/04/27 23:14:22]: campers requested inventory for citizenid JCQ27225. -[info][2025/04/27 23:14:36]: campers requested player with citizenid OHM07543. -[info][2025/04/27 23:14:42]: campers requested inventory for citizenid OHM07543. -[info][2025/04/27 23:14:43]: campers requested item list. -[info][2025/04/27 23:14:52]: campers requested add item for citizenid OHM07543. -[info][2025/04/27 23:14:56]: campers requested move item for citizenid OHM07543. -[info][2025/04/27 23:15:29]: campers requested item list. -[info][2025/04/27 23:15:38]: campers requested add item for citizenid OHM07543. -[info][2025/04/27 23:20:35]: campers requested player with citizenid JCQ27225. -[info][2025/04/27 23:35:28]: Login attempt on Campers from 178.200.177.65 -[info][2025/04/27 23:35:41]: campers requested all players. -[info][2025/04/27 23:35:50]: campers requested player with citizenid OHM07543. -[info][2025/04/27 23:35:54]: campers requested inventory for citizenid OHM07543. -[info][2025/04/27 23:35:56]: campers requested item list. -[info][2025/04/27 23:36:08]: campers requested add item for citizenid OHM07543. -[info][2025/04/27 23:39:29]: Login attempt on Nordi from 91.248.236.186 -[info][2025/04/27 23:39:33]: nordi requested all players. -[info][2025/04/27 23:40:20]: nordi requested all players. -[info][2025/04/27 23:40:23]: nordi requested player with citizenid JCQ27225. -[info][2025/04/27 23:40:26]: nordi requested inventory for citizenid JCQ27225. -[info][2025/04/27 23:40:29]: nordi requested delete item for citizenid JCQ27225. -[info][2025/04/27 23:40:32]: nordi requested delete item for citizenid JCQ27225. -[info][2025/04/27 23:40:34]: nordi requested move item for citizenid JCQ27225. -[info][2025/04/27 23:40:35]: nordi requested move item for citizenid JCQ27225. -[info][2025/04/27 23:40:39]: nordi requested item list. -[info][2025/04/27 23:40:46]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/27 23:41:28]: campers requested player with citizenid OHM07543. -[info][2025/04/27 23:41:31]: campers requested change meta for citizenid OHM07543. -[info][2025/04/27 23:41:31]: campers requested player with citizenid OHM07543. -[info][2025/04/27 23:41:33]: campers requested change meta for citizenid OHM07543. -[info][2025/04/27 23:41:33]: campers requested player with citizenid OHM07543. -[info][2025/04/27 23:45:06]: nordi requested delete item for citizenid JCQ27225. -[info][2025/04/27 23:45:07]: nordi requested item list. -[info][2025/04/27 23:45:14]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/27 23:45:16]: nordi requested item list. -[info][2025/04/27 23:45:27]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/27 23:48:01]: nordi requested delete item for citizenid JCQ27225. -[info][2025/04/27 23:48:02]: nordi requested move item for citizenid JCQ27225. -[info][2025/04/27 23:48:03]: nordi requested move item for citizenid JCQ27225. -[info][2025/04/27 23:48:04]: nordi requested item list. -[info][2025/04/27 23:48:14]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/27 23:48:31]: nordi requested item list. -[info][2025/04/27 23:49:54]: campers requested all stashes. -[info][2025/04/27 23:50:10]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/27 23:50:32]: nordi requested item list. -[info][2025/04/27 23:51:33]: nordi requested delete item for citizenid JCQ27225. -[info][2025/04/27 23:51:48]: nordi requested item list. -[info][2025/04/27 23:51:54]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/27 23:53:49]: nordi requested move item for citizenid JCQ27225. -[info][2025/04/27 23:54:15]: nordi requested delete item for citizenid JCQ27225. -[info][2025/04/27 23:54:15]: nordi requested item list. -[info][2025/04/27 23:54:26]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/27 23:57:21]: Login attempt on Tim from 109.68.107.162 -[info][2025/04/27 23:57:27]: tim requested all accounts. -[info][2025/04/27 23:57:29]: tim requested all players. -[info][2025/04/27 23:57:34]: tim requested player with citizenid JCQ27225. -[info][2025/04/27 23:57:44]: tim requested all roles. -[info][2025/04/27 23:57:48]: tim requested role Projektleitung. -[info][2025/04/27 23:58:23]: tim requested all players. -[info][2025/04/27 23:58:26]: tim requested player with citizenid JCQ27225. -[info][2025/04/27 23:58:27]: tim requested player vehicles for citizenid JCQ27225. -[info][2025/04/27 23:58:39]: tim requested all vehicles. -[info][2025/04/27 23:59:01]: tim requested vehicle with id 20. -[info][2025/04/27 23:59:38]: tim requested vehicle repair for id 20. -[info][2025/04/27 23:59:38]: tim requested vehicle with id 20. -[info][2025/04/27 23:59:55]: tim requested change vehicle fuel with id 20. -[info][2025/04/27 23:59:55]: tim requested vehicle with id 20. -[info][2025/04/28 00:00:00]: tim requested change vehicle fuel with id 20. -[info][2025/04/28 00:00:00]: tim requested vehicle with id 20. -[info][2025/04/28 00:00:05]: tim requested all vehicles. -[info][2025/04/28 00:00:07]: tim requested vehicle with id 16. -[info][2025/04/28 00:01:11]: tim requested change vehicle plate for id 16 (01EPR052). -[info][2025/04/28 00:01:12]: tim requested vehicle with id 16. -[info][2025/04/28 00:01:16]: tim requested all vehicles. -[info][2025/04/28 00:01:20]: tim requested vehicle with id 17. -[info][2025/04/28 00:01:28]: tim requested all accounts. -[info][2025/04/28 00:01:29]: tim requested all players. -[info][2025/04/28 00:09:58]: Login attempt on Nordi from 91.248.236.186 -[info][2025/04/28 00:10:24]: nordi requested all players. -[info][2025/04/28 00:10:27]: nordi requested player with citizenid ASS17049. -[info][2025/04/28 00:10:29]: nordi requested all players. -[info][2025/04/28 00:10:30]: nordi requested player with citizenid JCQ27225. -[info][2025/04/28 00:10:32]: nordi requested inventory for citizenid JCQ27225. -[info][2025/04/28 00:10:35]: nordi requested move item for citizenid JCQ27225. -[info][2025/04/28 00:10:45]: nordi requested move item for citizenid JCQ27225. -[info][2025/04/28 00:10:46]: nordi requested move item for citizenid JCQ27225. -[info][2025/04/28 00:10:49]: nordi requested item list. -[info][2025/04/28 00:11:16]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/28 00:11:18]: nordi requested move item for citizenid JCQ27225. -[info][2025/04/28 00:11:20]: nordi requested item list. -[info][2025/04/28 00:11:32]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/28 00:11:53]: nordi requested delete item for citizenid JCQ27225. -[info][2025/04/28 00:11:55]: nordi requested delete item for citizenid JCQ27225. -[info][2025/04/28 00:16:27]: nordi requested all players. -[info][2025/04/28 00:16:30]: nordi requested all players. -[info][2025/04/28 00:16:31]: nordi requested all players. -[info][2025/04/28 00:16:32]: nordi requested all players. -[info][2025/04/28 00:16:32]: nordi requested all players. -[info][2025/04/28 00:16:35]: nordi requested all players. -[info][2025/04/28 00:16:36]: nordi requested all players. -[info][2025/04/28 00:16:38]: nordi requested all players. -[info][2025/04/28 00:16:40]: nordi requested player with citizenid JCQ27225. -[info][2025/04/28 00:16:50]: nordi requested inventory for citizenid JCQ27225. -[info][2025/04/28 00:16:51]: nordi requested item list. -[info][2025/04/28 00:17:23]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/28 01:24:48]: nordi requested inventory for citizenid JCQ27225. -[info][2025/04/28 01:49:22]: nordi requested all players. -[info][2025/04/28 01:49:31]: nordi requested player with citizenid QOZ78398. -[info][2025/04/28 01:54:17]: nordi requested all players. -[info][2025/04/28 01:54:20]: nordi requested player with citizenid JCQ27225. -[info][2025/04/28 01:54:25]: nordi requested change meta for citizenid JCQ27225. -[info][2025/04/28 01:54:26]: nordi requested player with citizenid JCQ27225. -[info][2025/04/28 01:54:26]: nordi requested change meta for citizenid JCQ27225. -[info][2025/04/28 01:54:26]: nordi requested player with citizenid JCQ27225. -[info][2025/04/28 02:12:07]: nordi requested all players. -[info][2025/04/28 02:18:24]: nordi requested player with citizenid JCQ27225. -[info][2025/04/28 02:18:27]: nordi requested change meta for citizenid JCQ27225. -[info][2025/04/28 02:18:27]: nordi requested player with citizenid JCQ27225. -[info][2025/04/28 02:18:30]: nordi requested change meta for citizenid JCQ27225. -[info][2025/04/28 02:18:30]: nordi requested player with citizenid JCQ27225. -[info][2025/04/28 02:18:31]: nordi requested change meta for citizenid JCQ27225. -[info][2025/04/28 02:18:31]: nordi requested player with citizenid JCQ27225. -[info][2025/04/28 02:18:31]: nordi requested change meta for citizenid JCQ27225. -[info][2025/04/28 02:18:31]: nordi requested player with citizenid JCQ27225. -[info][2025/04/28 02:25:31]: nordi requested all players. -[info][2025/04/28 02:25:33]: nordi requested player with citizenid YXC37715. -[info][2025/04/28 02:25:40]: nordi requested all players. -[info][2025/04/28 02:25:43]: nordi requested player with citizenid YXC37715. -[info][2025/04/28 02:25:46]: nordi requested change meta for citizenid YXC37715. -[info][2025/04/28 02:25:46]: nordi requested player with citizenid YXC37715. -[info][2025/04/28 02:25:47]: nordi requested change meta for citizenid YXC37715. -[info][2025/04/28 02:25:47]: nordi requested player with citizenid YXC37715. -[info][2025/04/28 02:28:14]: nordi requested player with citizenid YXC37715. -[info][2025/04/28 02:28:28]: nordi requested teleport for citizenid YXC37715. -[info][2025/04/28 02:28:41]: nordi requested screenshot for citizenid YXC37715. -[info][2025/04/28 02:28:48]: nordi requested screenshot for citizenid YXC37715. -[info][2025/04/28 02:28:58]: nordi requested change meta for citizenid YXC37715. -[info][2025/04/28 02:28:58]: nordi requested player with citizenid YXC37715. -[info][2025/04/28 02:28:59]: nordi requested change meta for citizenid YXC37715. -[info][2025/04/28 02:28:59]: nordi requested player with citizenid YXC37715. -[info][2025/04/28 02:28:59]: nordi requested change meta for citizenid YXC37715. -[info][2025/04/28 02:28:59]: nordi requested player with citizenid YXC37715. -[info][2025/04/28 02:28:59]: nordi requested change meta for citizenid YXC37715. -[info][2025/04/28 02:28:59]: nordi requested player with citizenid YXC37715. -[info][2025/04/28 02:29:00]: nordi requested change meta for citizenid YXC37715. -[info][2025/04/28 02:29:00]: nordi requested player with citizenid YXC37715. -[info][2025/04/28 02:34:37]: nordi requested all players. -[info][2025/04/28 02:34:50]: nordi requested player with citizenid YXC37715. -[info][2025/04/28 02:35:11]: nordi requested delete player with citizenid YXC37715. -[info][2025/04/28 02:35:11]: nordi requested all players. -[info][2025/04/28 02:35:16]: nordi requested all players. -[info][2025/04/28 02:35:18]: nordi requested player with citizenid QOZ78398. -[info][2025/04/28 04:00:47]: nordi requested player with citizenid QOZ78398. -[info][2025/04/28 04:58:50]: Login attempt on Nordi from 85.16.152.109 -[info][2025/04/28 04:58:50]: nordi requested all players. -[info][2025/04/28 04:58:53]: Login attempt on Nordi from 85.16.152.109 -[info][2025/04/28 04:58:56]: nordi requested all players. -[info][2025/04/28 04:58:58]: nordi requested player with citizenid JCQ27225. -[info][2025/04/28 04:59:01]: nordi requested inventory for citizenid JCQ27225. -[info][2025/04/28 04:59:06]: nordi requested move item for citizenid JCQ27225. -[info][2025/04/28 04:59:09]: nordi requested delete item for citizenid JCQ27225. -[info][2025/04/28 04:59:11]: nordi requested move item for citizenid JCQ27225. -[info][2025/04/28 04:59:12]: nordi requested move item for citizenid JCQ27225. -[info][2025/04/28 04:59:13]: nordi requested move item for citizenid JCQ27225. -[info][2025/04/28 04:59:25]: nordi requested item list. -[info][2025/04/28 04:59:34]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/28 05:01:49]: nordi requested all players. -[info][2025/04/28 05:01:51]: nordi requested player with citizenid JCQ27225. -[info][2025/04/28 05:01:54]: nordi requested change meta for citizenid JCQ27225. -[info][2025/04/28 05:01:54]: nordi requested player with citizenid JCQ27225. -[info][2025/04/28 05:01:54]: nordi requested change meta for citizenid JCQ27225. -[info][2025/04/28 05:01:54]: nordi requested player with citizenid JCQ27225. -[info][2025/04/28 05:01:58]: nordi requested change meta for citizenid JCQ27225. -[info][2025/04/28 05:01:58]: nordi requested player with citizenid JCQ27225. -[info][2025/04/28 05:01:58]: nordi requested change meta for citizenid JCQ27225. -[info][2025/04/28 05:01:58]: nordi requested player with citizenid JCQ27225. -[info][2025/04/28 12:14:47]: Login attempt on Tim from 109.68.107.162 -[info][2025/04/28 12:14:50]: tim requested all users. -[info][2025/04/28 12:14:53]: tim requested user tim. -[info][2025/04/28 12:15:19]: tim requested all players. -[info][2025/04/28 12:15:24]: tim requested all players. -[info][2025/04/28 13:10:04]: Login attempt on Nordi from 85.16.152.109 -[info][2025/04/28 13:34:25]: Login attempt on Nordi from 85.16.152.109 -[info][2025/04/28 13:34:33]: nordi requested all players. -[info][2025/04/28 13:47:01]: nordi requested all players. -[info][2025/04/28 13:47:03]: nordi requested player with citizenid JCQ27225. -[info][2025/04/28 13:47:15]: nordi requested inventory for citizenid JCQ27225. -[info][2025/04/28 13:48:03]: nordi requested item list. -[info][2025/04/28 13:48:13]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/28 14:41:47]: Login attempt on Nordi from 85.16.152.109 -[info][2025/04/28 14:49:27]: Login attempt on Nordi from 85.16.152.109 -[info][2025/04/28 14:52:07]: nordi requested all players. -[info][2025/04/28 14:52:09]: nordi requested player with citizenid JCQ27225. -[info][2025/04/28 14:52:12]: nordi requested inventory for citizenid JCQ27225. -[info][2025/04/28 14:52:16]: nordi requested delete item for citizenid JCQ27225. -[info][2025/04/28 14:52:18]: nordi requested item list. -[info][2025/04/28 14:52:25]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/28 15:15:53]: nordi requested item list. -[info][2025/04/28 15:16:02]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/28 15:16:26]: nordi requested delete item for citizenid JCQ27225. -[info][2025/04/28 15:16:53]: nordi requested item list. -[info][2025/04/28 15:17:06]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/28 15:34:51]: Login attempt on Nordi from 85.16.152.109 -[info][2025/04/28 15:36:37]: nordi requested all players. -[info][2025/04/28 15:36:59]: nordi requested player with citizenid JCQ27225. -[info][2025/04/28 15:37:05]: nordi requested inventory for citizenid JCQ27225. -[info][2025/04/28 15:37:08]: nordi requested move item for citizenid JCQ27225. -[info][2025/04/28 15:37:11]: nordi requested move item for citizenid JCQ27225. -[info][2025/04/28 15:37:13]: nordi requested move item for citizenid JCQ27225. -[info][2025/04/28 15:37:15]: nordi requested item list. -[info][2025/04/28 15:37:22]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/28 16:11:14]: Login attempt on Nordi from 85.16.152.109 -[info][2025/04/28 16:11:16]: nordi requested all players. -[info][2025/04/28 16:11:18]: nordi requested player with citizenid JCQ27225. -[info][2025/04/28 16:11:20]: nordi requested change meta for citizenid JCQ27225. -[info][2025/04/28 16:11:20]: nordi requested player with citizenid JCQ27225. -[info][2025/04/28 16:11:20]: nordi requested change meta for citizenid JCQ27225. -[info][2025/04/28 16:11:20]: nordi requested player with citizenid JCQ27225. -[info][2025/04/28 16:20:11]: nordi requested all players. -[info][2025/04/28 16:20:15]: nordi requested player with citizenid JCQ27225. -[info][2025/04/28 16:20:18]: nordi requested inventory for citizenid JCQ27225. -[info][2025/04/28 16:20:26]: nordi requested item list. -[info][2025/04/28 16:20:56]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/28 16:22:30]: Login attempt on Max from 89.247.160.158 -[info][2025/04/28 16:22:51]: max requested player with citizenid DSC01606. -[info][2025/04/28 16:23:55]: max requested all users. -[info][2025/04/28 16:24:24]: max requested all players. -[info][2025/04/28 16:24:26]: max requested all accounts. -[info][2025/04/28 16:24:44]: max requested all players. -[info][2025/04/28 16:25:29]: max requested all players. -[info][2025/04/28 16:25:39]: max requested all users. -[info][2025/04/28 16:25:41]: max requested user max. -[info][2025/04/28 16:25:49]: max requested all players. -[info][2025/04/28 16:26:25]: max requested all accounts. -[info][2025/04/28 16:26:42]: max requested player with citizenid DSC01606. -[info][2025/04/28 16:27:04]: max requested save note for citizenid DSC01606. -[info][2025/04/28 16:27:08]: max requested all players. -[info][2025/04/28 16:27:12]: max requested player with citizenid DSC01606. -[info][2025/04/28 16:28:54]: max requested inventory for citizenid DSC01606. -[info][2025/04/28 16:29:09]: max requested player with citizenid DSC01606. -[info][2025/04/28 17:06:43]: max requested all accounts. -[info][2025/04/28 17:16:09]: Login attempt on Tim from 109.68.107.162 -[info][2025/04/28 17:16:14]: tim requested all players. -[info][2025/04/28 17:16:19]: tim requested player with citizenid AOJ19157. -[info][2025/04/28 17:16:21]: tim requested heal for citizenid AOJ19157. -[info][2025/04/28 17:16:21]: tim requested player with citizenid AOJ19157. -[info][2025/04/28 17:16:22]: tim requested change meta for citizenid AOJ19157. -[info][2025/04/28 17:16:22]: tim requested player with citizenid AOJ19157. -[info][2025/04/28 17:16:22]: tim requested change meta for citizenid AOJ19157. -[info][2025/04/28 17:16:22]: tim requested player with citizenid AOJ19157. -[info][2025/04/28 17:16:23]: tim requested change meta for citizenid AOJ19157. -[info][2025/04/28 17:16:23]: tim requested player with citizenid AOJ19157. -[info][2025/04/28 17:16:24]: tim requested change meta for citizenid AOJ19157. -[info][2025/04/28 17:16:24]: tim requested player with citizenid AOJ19157. -[info][2025/04/28 17:31:44]: max requested player with citizenid DSC01606. -[info][2025/04/28 17:32:10]: max requested change jobs. -[info][2025/04/28 17:32:19]: max requested change job for citizenid DSC01606. -[info][2025/04/28 17:32:19]: max requested player with citizenid DSC01606. -[info][2025/04/28 17:33:47]: max requested player with citizenid DSC01606. -[info][2025/04/28 17:33:56]: max requested change jobs. -[info][2025/04/28 17:34:04]: max requested change job for citizenid DSC01606. -[info][2025/04/28 17:34:04]: max requested player with citizenid DSC01606. -[info][2025/04/28 18:44:00]: Login attempt on Tim from 109.68.107.162 -[info][2025/04/28 18:44:04]: tim requested all players. -[info][2025/04/28 18:44:07]: tim requested player with citizenid QAF80426. -[info][2025/04/28 18:44:48]: tim requested change charinfo for citizenid QAF80426. -[info][2025/04/28 18:44:48]: tim requested player with citizenid QAF80426. -[info][2025/04/28 18:48:28]: tim requested player with citizenid QAF80426. -[info][2025/04/28 18:48:29]: tim requested fix inv for citizenid QAF80426. -[info][2025/04/28 18:48:30]: tim requested all players. -[info][2025/04/28 18:48:34]: tim requested all players. -[info][2025/04/28 18:50:10]: tim requested player with citizenid PCC19872. -[info][2025/04/28 18:50:18]: tim requested change charinfo for citizenid PCC19872. -[info][2025/04/28 18:50:18]: tim requested player with citizenid PCC19872. -[info][2025/04/28 19:42:51]: tim requested all players. -[info][2025/04/28 19:42:55]: tim requested player with citizenid AOJ19157. -[info][2025/04/28 19:43:10]: tim requested change charinfo for citizenid AOJ19157. -[info][2025/04/28 19:43:10]: tim requested player with citizenid AOJ19157. -[info][2025/04/28 19:43:36]: tim requested change charinfo for citizenid AOJ19157. -[info][2025/04/28 19:43:36]: tim requested player with citizenid AOJ19157. -[info][2025/04/28 19:47:17]: Login attempt on Nordi from 85.16.152.109 -[info][2025/04/28 19:47:22]: Login attempt on Nordi from 85.16.152.109 -[info][2025/04/28 19:49:34]: nordi requested all players. -[info][2025/04/28 19:49:37]: nordi requested player with citizenid JCQ27225. -[info][2025/04/28 19:49:41]: nordi requested change jobs. -[info][2025/04/28 19:50:02]: nordi requested change job for citizenid JCQ27225. -[info][2025/04/28 19:50:02]: nordi requested player with citizenid JCQ27225. -[info][2025/04/28 19:50:07]: nordi requested change jobs. -[info][2025/04/28 19:50:14]: nordi requested change job for citizenid JCQ27225. -[info][2025/04/28 19:50:14]: nordi requested player with citizenid JCQ27225. -[info][2025/04/28 19:50:16]: nordi requested change jobs. -[info][2025/04/28 19:50:24]: nordi requested change job for citizenid JCQ27225. -[info][2025/04/28 19:50:24]: nordi requested player with citizenid JCQ27225. -[info][2025/04/28 19:50:45]: nordi requested all players. -[info][2025/04/28 19:50:59]: tim requested change charinfo for citizenid AOJ19157. -[info][2025/04/28 19:50:59]: tim requested player with citizenid AOJ19157. -[info][2025/04/28 19:51:04]: tim requested all accounts. -[info][2025/04/28 19:51:07]: tim requested all players. -[info][2025/04/28 19:51:10]: tim requested player with citizenid QOZ78398. -[info][2025/04/28 19:51:27]: tim requested delete player with citizenid QOZ78398. -[info][2025/04/28 19:51:28]: tim requested all players. -[info][2025/04/28 19:57:13]: tim requested player with citizenid JCQ27225. -[info][2025/04/28 19:57:20]: tim requested change charinfo for citizenid JCQ27225. -[info][2025/04/28 19:57:20]: tim requested player with citizenid JCQ27225. -[info][2025/04/28 19:57:23]: tim requested all players. -[info][2025/04/28 19:57:33]: tim requested all players. -[info][2025/04/28 19:57:39]: tim requested player with citizenid JCQ27225. -[info][2025/04/28 19:57:48]: tim requested change charinfo for citizenid JCQ27225. -[info][2025/04/28 19:57:48]: tim requested player with citizenid JCQ27225. -[info][2025/04/28 19:57:51]: tim requested all players. -[info][2025/04/28 20:04:38]: tim requested all players. -[info][2025/04/28 20:05:13]: tim requested player with citizenid BAZ25004. -[info][2025/04/28 20:05:37]: tim requested all players. -[info][2025/04/28 20:07:10]: tim requested player with citizenid BAZ25004. -[info][2025/04/28 20:07:21]: tim requested change charinfo for citizenid BAZ25004. -[info][2025/04/28 20:07:21]: tim requested player with citizenid BAZ25004. -[info][2025/04/28 20:07:24]: tim requested all players. -[info][2025/04/28 20:07:39]: tim requested player with citizenid VHM17991. -[info][2025/04/28 20:07:49]: tim requested change charinfo for citizenid VHM17991. -[info][2025/04/28 20:07:49]: tim requested player with citizenid VHM17991. -[info][2025/04/28 20:20:00]: Login attempt on Nordi from 85.16.152.109 -[info][2025/04/28 20:20:00]: nordi requested player with citizenid JCQ27225. -[info][2025/04/28 20:20:05]: Login attempt on Nordi from 85.16.152.109 -[info][2025/04/28 20:20:08]: nordi requested all players. -[info][2025/04/28 20:20:10]: nordi requested player with citizenid JCQ27225. -[info][2025/04/28 20:20:12]: nordi requested change meta for citizenid JCQ27225. -[info][2025/04/28 20:20:12]: nordi requested player with citizenid JCQ27225. -[info][2025/04/28 20:20:12]: nordi requested change meta for citizenid JCQ27225. -[info][2025/04/28 20:20:12]: nordi requested player with citizenid JCQ27225. -[info][2025/04/28 20:24:09]: nordi requested all players. -[info][2025/04/28 20:24:19]: nordi requested player with citizenid GNR11868. -[info][2025/04/28 20:24:22]: nordi requested inventory for citizenid GNR11868. -[info][2025/04/28 20:24:23]: nordi requested item list. -[info][2025/04/28 20:24:31]: nordi requested add item for citizenid GNR11868. -[info][2025/04/28 20:24:32]: nordi requested item list. -[info][2025/04/28 20:24:41]: nordi requested add item for citizenid GNR11868. -[info][2025/04/28 20:25:10]: Login attempt on Tim from 109.68.107.162 -[info][2025/04/28 20:25:10]: tim requested all players. -[info][2025/04/28 20:25:12]: Login attempt on Tim from 109.68.107.162 -[info][2025/04/28 20:25:14]: tim requested all players. -[info][2025/04/28 20:25:18]: tim requested player with citizenid AOJ19157. -[info][2025/04/28 20:25:21]: tim requested heal for citizenid AOJ19157. -[info][2025/04/28 20:25:21]: tim requested player with citizenid AOJ19157. -[info][2025/04/28 20:25:21]: tim requested change meta for citizenid AOJ19157. -[info][2025/04/28 20:25:21]: tim requested player with citizenid AOJ19157. -[info][2025/04/28 20:25:22]: tim requested change meta for citizenid AOJ19157. -[info][2025/04/28 20:25:22]: tim requested player with citizenid AOJ19157. -[info][2025/04/28 20:25:22]: tim requested change meta for citizenid AOJ19157. -[info][2025/04/28 20:25:22]: tim requested player with citizenid AOJ19157. -[info][2025/04/28 20:25:23]: tim requested change meta for citizenid AOJ19157. -[info][2025/04/28 20:25:23]: tim requested player with citizenid AOJ19157. -[info][2025/04/28 20:27:02]: tim requested player with citizenid AOJ19157. -[info][2025/04/28 20:27:14]: tim requested change jobs. -[info][2025/04/28 20:27:19]: tim requested change job for citizenid AOJ19157. -[info][2025/04/28 20:27:19]: tim requested player with citizenid AOJ19157. -[info][2025/04/28 20:30:29]: nordi requested all players. -[info][2025/04/28 20:32:39]: nordi requested player with citizenid VHM17991. -[info][2025/04/28 20:33:05]: nordi requested inventory for citizenid VHM17991. -[info][2025/04/28 20:33:06]: nordi requested item list. -[info][2025/04/28 20:33:16]: nordi requested add item for citizenid VHM17991. -[info][2025/04/28 20:33:17]: nordi requested item list. -[info][2025/04/28 20:33:28]: nordi requested add item for citizenid VHM17991. -[info][2025/04/28 20:36:07]: tim requested all players. -[info][2025/04/28 20:36:16]: tim requested player with citizenid AOJ19157. -[info][2025/04/28 20:36:19]: tim requested inventory for citizenid AOJ19157. -[info][2025/04/28 20:36:21]: tim requested item list. -[info][2025/04/28 20:36:27]: tim requested add item for citizenid AOJ19157. -[info][2025/04/28 20:36:28]: tim requested item list. -[info][2025/04/28 20:37:08]: tim requested add item for citizenid AOJ19157. -[info][2025/04/28 20:38:17]: tim requested item list. -[info][2025/04/28 20:38:25]: tim requested add item for citizenid AOJ19157. -[info][2025/04/28 20:40:08]: tim requested all players. -[info][2025/04/28 20:40:11]: tim requested player with citizenid JCQ27225. -[info][2025/04/28 20:40:13]: tim requested heal for citizenid JCQ27225. -[info][2025/04/28 20:40:13]: tim requested player with citizenid JCQ27225. -[info][2025/04/28 20:40:14]: tim requested change meta for citizenid JCQ27225. -[info][2025/04/28 20:40:14]: tim requested player with citizenid JCQ27225. -[info][2025/04/28 20:40:14]: tim requested change meta for citizenid JCQ27225. -[info][2025/04/28 20:40:14]: tim requested player with citizenid JCQ27225. -[info][2025/04/28 20:40:15]: tim requested change meta for citizenid JCQ27225. -[info][2025/04/28 20:40:15]: tim requested player with citizenid JCQ27225. -[info][2025/04/28 21:27:38]: Login attempt on Tim from 109.68.107.162 -[info][2025/04/28 21:27:38]: tim requested all players. -[info][2025/04/28 21:27:42]: Login attempt on Tim from 109.68.107.162 -[info][2025/04/28 21:27:44]: tim requested all players. -[info][2025/04/28 21:37:35]: Login attempt on Nordi from 85.16.152.109 -[info][2025/04/28 21:37:35]: nordi requested all players. -[info][2025/04/28 21:37:38]: Login attempt on Nordi from 85.16.152.109 -[info][2025/04/28 21:45:54]: Login attempt on Nordi from 85.16.152.109 -[info][2025/04/28 21:45:56]: Login attempt on Nordi from 85.16.152.109 -[info][2025/04/28 22:13:22]: Login attempt on Campers from 178.200.177.65 -[info][2025/04/28 22:21:17]: campers requested all users. -[info][2025/04/28 22:21:23]: campers requested user campers. -[info][2025/04/28 22:21:26]: campers requested all users. -[info][2025/04/28 22:21:40]: campers requested all roles. -[info][2025/04/28 22:32:00]: Login attempt on Tim from 109.68.107.162 -[info][2025/04/28 22:32:00]: tim requested player with citizenid DUK10325. -[info][2025/04/28 22:32:03]: Login attempt on Tim from 109.68.107.162 -[info][2025/04/28 22:32:05]: tim requested all players. -[info][2025/04/28 22:32:07]: tim requested player with citizenid DUK10325. -[info][2025/04/28 22:32:10]: tim requested delete player with citizenid DUK10325. -[info][2025/04/28 22:32:10]: tim requested all players. -[info][2025/04/28 22:33:42]: tim requested all players. -[info][2025/04/28 22:41:55]: tim requested all players. -[info][2025/04/28 22:41:58]: tim requested player with citizenid JQK75222. -[info][2025/04/28 23:36:12]: tim requested all players. -[info][2025/04/28 23:36:18]: tim requested player with citizenid AOJ19157. -[info][2025/04/28 23:36:21]: tim requested heal for citizenid AOJ19157. -[info][2025/04/28 23:36:21]: tim requested player with citizenid AOJ19157. -[info][2025/04/28 23:36:21]: tim requested change meta for citizenid AOJ19157. -[info][2025/04/28 23:36:21]: tim requested player with citizenid AOJ19157. -[info][2025/04/28 23:36:22]: tim requested change meta for citizenid AOJ19157. -[info][2025/04/28 23:36:22]: tim requested player with citizenid AOJ19157. -[info][2025/04/28 23:36:22]: tim requested change meta for citizenid AOJ19157. -[info][2025/04/28 23:36:23]: tim requested player with citizenid AOJ19157. -[info][2025/04/28 23:36:23]: tim requested change meta for citizenid AOJ19157. -[info][2025/04/28 23:36:23]: tim requested player with citizenid AOJ19157. -[info][2025/04/29 04:12:52]: Login attempt on Nordi from 91.248.233.38 -[info][2025/04/29 04:12:53]: nordi requested all players. -[info][2025/04/29 04:12:56]: Login attempt on Nordi from 91.248.233.38 -[info][2025/04/29 04:13:07]: nordi requested all players. -[info][2025/04/29 04:13:10]: nordi requested player with citizenid JCQ27225. -[info][2025/04/29 04:13:15]: nordi requested inventory for citizenid JCQ27225. -[info][2025/04/29 04:13:22]: nordi requested delete item for citizenid JCQ27225. -[info][2025/04/29 04:13:26]: nordi requested item list. -[info][2025/04/29 04:13:35]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/29 04:23:29]: Login attempt on Nordi from 91.248.233.38 -[info][2025/04/29 04:23:32]: Login attempt on Nordi from 91.248.233.38 -[info][2025/04/29 04:27:27]: Login attempt on Nordi from 91.248.233.38 -[info][2025/04/29 04:27:31]: nordi requested all players. -[info][2025/04/29 04:27:33]: nordi requested player with citizenid DUD53794. -[info][2025/04/29 04:27:35]: nordi requested all players. -[info][2025/04/29 04:27:37]: nordi requested player with citizenid BAZ25004. -[info][2025/04/29 04:27:38]: nordi requested all players. -[info][2025/04/29 04:27:40]: nordi requested player with citizenid JCQ27225. -[info][2025/04/29 04:27:44]: nordi requested change meta for citizenid JCQ27225. -[info][2025/04/29 04:27:44]: nordi requested player with citizenid JCQ27225. -[info][2025/04/29 04:27:44]: nordi requested change meta for citizenid JCQ27225. -[info][2025/04/29 04:27:44]: nordi requested player with citizenid JCQ27225. -[info][2025/04/29 04:27:50]: nordi requested inventory for citizenid JCQ27225. -[info][2025/04/29 04:27:53]: nordi requested item list. -[info][2025/04/29 04:27:59]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/29 04:47:14]: Login attempt on Nordi from 91.248.233.38 -[info][2025/04/29 04:47:21]: nordi requested all players. -[info][2025/04/29 06:38:38]: Login attempt on Nordi from 91.248.233.38 -[info][2025/04/29 06:38:41]: nordi requested all players. -[info][2025/04/29 06:38:45]: nordi requested player with citizenid JCQ27225. -[info][2025/04/29 06:38:52]: nordi requested inventory for citizenid JCQ27225. -[info][2025/04/29 06:38:57]: nordi requested delete item for citizenid JCQ27225. -[info][2025/04/29 06:39:37]: nordi requested all players. -[info][2025/04/29 06:39:40]: nordi requested player with citizenid JCQ27225. -[info][2025/04/29 06:39:43]: nordi requested inventory for citizenid JCQ27225. -[info][2025/04/29 06:39:45]: nordi requested item list. -[info][2025/04/29 06:39:53]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/29 06:39:55]: nordi requested move item for citizenid JCQ27225. -[info][2025/04/29 06:39:56]: nordi requested move item for citizenid JCQ27225. -[info][2025/04/29 06:39:58]: nordi requested item list. -[info][2025/04/29 06:40:06]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/29 06:56:31]: Login attempt on Nordi from 91.248.233.38 -[info][2025/04/29 07:08:23]: Login attempt on Nordi from 91.248.233.38 -[info][2025/04/29 07:08:28]: nordi requested all players. -[info][2025/04/29 07:08:30]: nordi requested player with citizenid JCQ27225. -[info][2025/04/29 07:08:33]: nordi requested inventory for citizenid JCQ27225. -[info][2025/04/29 07:08:35]: nordi requested delete item for citizenid JCQ27225. -[info][2025/04/29 07:13:56]: nordi requested item list. -[info][2025/04/29 07:14:08]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/29 07:21:21]: Login attempt on Nordi from 91.248.233.38 -[info][2025/04/29 07:21:35]: nordi requested all players. -[info][2025/04/29 07:21:39]: nordi requested player with citizenid JCQ27225. -[info][2025/04/29 07:21:44]: nordi requested inventory for citizenid JCQ27225. -[info][2025/04/29 11:31:24]: Login attempt on Nordi from 91.248.233.38 -[info][2025/04/29 11:32:05]: nordi requested all players. -[info][2025/04/29 11:32:07]: nordi requested player with citizenid JCQ27225. -[info][2025/04/29 11:32:10]: nordi requested inventory for citizenid JCQ27225. -[info][2025/04/29 11:32:13]: nordi requested item list. -[info][2025/04/29 11:32:21]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/29 11:36:44]: nordi requested all players. -[info][2025/04/29 11:36:45]: nordi requested player with citizenid JCQ27225. -[info][2025/04/29 11:44:49]: Login attempt on Nordi from 91.248.233.38 -[info][2025/04/29 11:44:53]: nordi requested all players. -[info][2025/04/29 11:44:53]: Login attempt on Tim from 109.68.107.162 -[info][2025/04/29 11:55:02]: nordi requested player with citizenid JCQ27225. -[info][2025/04/29 11:55:05]: nordi requested change meta for citizenid JCQ27225. -[info][2025/04/29 11:55:05]: nordi requested player with citizenid JCQ27225. -[info][2025/04/29 11:55:06]: nordi requested change meta for citizenid JCQ27225. -[info][2025/04/29 11:55:06]: nordi requested player with citizenid JCQ27225. -[info][2025/04/29 12:01:58]: nordi requested all players. -[info][2025/04/29 12:02:05]: nordi requested player with citizenid JCQ27225. -[info][2025/04/29 12:06:40]: nordi requested all players. -[info][2025/04/29 12:06:42]: nordi requested player with citizenid JCQ27225. -[info][2025/04/29 12:06:44]: nordi requested inventory for citizenid JCQ27225. -[info][2025/04/29 12:06:46]: nordi requested move item for citizenid JCQ27225. -[info][2025/04/29 12:06:47]: nordi requested move item for citizenid JCQ27225. -[info][2025/04/29 12:06:50]: nordi requested delete item for citizenid JCQ27225. -[info][2025/04/29 12:06:52]: nordi requested item list. -[info][2025/04/29 12:06:59]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/29 12:07:02]: nordi requested item list. -[info][2025/04/29 12:07:10]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/29 12:28:02]: nordi requested delete item for citizenid JCQ27225. -[info][2025/04/29 12:28:04]: nordi requested item list. -[info][2025/04/29 12:28:13]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/29 12:28:18]: nordi requested item list. -[info][2025/04/29 12:28:31]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/29 12:29:19]: nordi requested move item for citizenid JCQ27225. -[info][2025/04/29 12:29:24]: nordi requested delete item for citizenid JCQ27225. -[info][2025/04/29 12:32:02]: nordi requested item list. -[info][2025/04/29 12:32:11]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/29 12:35:42]: nordi requested move item for citizenid JCQ27225. -[info][2025/04/29 12:35:43]: nordi requested move item for citizenid JCQ27225. -[info][2025/04/29 12:35:56]: nordi requested item list. -[info][2025/04/29 12:36:05]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/29 12:58:53]: tim requested all players. -[info][2025/04/29 14:30:16]: tim requested all players. -[info][2025/04/29 14:30:23]: tim requested player with citizenid GJN39030. -[info][2025/04/29 14:30:34]: tim requested change charinfo for citizenid GJN39030. -[info][2025/04/29 14:30:34]: tim requested player with citizenid GJN39030. -[info][2025/04/29 14:30:50]: tim requested change meta for citizenid GJN39030. -[info][2025/04/29 14:30:50]: tim requested player with citizenid GJN39030. -[info][2025/04/29 14:30:50]: tim requested change meta for citizenid GJN39030. -[info][2025/04/29 14:30:50]: tim requested player with citizenid GJN39030. -[info][2025/04/29 14:30:51]: tim requested change meta for citizenid GJN39030. -[info][2025/04/29 14:30:51]: tim requested player with citizenid GJN39030. -[info][2025/04/29 14:30:52]: tim requested change meta for citizenid GJN39030. -[info][2025/04/29 14:30:52]: tim requested player with citizenid GJN39030. -[info][2025/04/29 14:31:00]: tim requested add money bank for citizenid GJN39030. -[info][2025/04/29 14:31:00]: tim requested player with citizenid GJN39030. -[info][2025/04/29 14:31:04]: tim requested remove money bank for citizenid GJN39030. -[info][2025/04/29 14:31:04]: tim requested player with citizenid GJN39030. -[info][2025/04/29 14:31:14]: tim requested add money cash for citizenid GJN39030. -[info][2025/04/29 14:31:14]: tim requested player with citizenid GJN39030. -[info][2025/04/29 14:31:18]: tim requested remove money cash for citizenid GJN39030. -[info][2025/04/29 14:31:18]: tim requested player with citizenid GJN39030. -[info][2025/04/29 14:31:22]: tim requested add money bank for citizenid GJN39030. -[info][2025/04/29 14:31:22]: tim requested player with citizenid GJN39030. -[info][2025/04/29 14:31:28]: tim requested change jobs. -[info][2025/04/29 14:31:35]: tim requested player vehicles for citizenid GJN39030. -[info][2025/04/29 14:31:37]: tim requested save note for citizenid GJN39030. -[info][2025/04/29 14:31:44]: tim requested player with citizenid GJN39030. -[info][2025/04/29 15:11:34]: tim requested player with citizenid GJN39030. -[info][2025/04/29 15:11:36]: tim requested all players. -[info][2025/04/29 15:11:39]: tim requested player with citizenid MWV00464. -[info][2025/04/29 15:11:44]: tim requested change charinfo for citizenid MWV00464. -[info][2025/04/29 15:11:44]: tim requested player with citizenid MWV00464. -[info][2025/04/29 15:11:53]: tim requested change charinfo for citizenid MWV00464. -[info][2025/04/29 15:11:53]: tim requested player with citizenid MWV00464. -[info][2025/04/29 16:49:01]: Login attempt on Tim from 109.68.107.162 -[info][2025/04/29 16:49:04]: Login attempt on Tim from 109.68.107.162 -[info][2025/04/29 16:51:13]: tim requested all players. -[info][2025/04/29 16:51:16]: tim requested player with citizenid AOJ19157. -[info][2025/04/29 16:51:19]: tim requested change jobs. -[info][2025/04/29 16:51:34]: tim requested change job for citizenid AOJ19157. -[info][2025/04/29 16:51:34]: tim requested player with citizenid AOJ19157. -[info][2025/04/29 17:00:32]: Login attempt on Max from 89.247.160.151 -[info][2025/04/29 17:00:53]: max requested player with citizenid DSC01606. -[info][2025/04/29 17:01:09]: max requested change meta for citizenid DSC01606. -[info][2025/04/29 17:01:09]: max requested player with citizenid DSC01606. -[info][2025/04/29 17:01:10]: max requested change meta for citizenid DSC01606. -[info][2025/04/29 17:01:10]: max requested player with citizenid DSC01606. -[info][2025/04/29 17:01:34]: max requested heal for citizenid DSC01606. -[info][2025/04/29 17:01:34]: max requested player with citizenid DSC01606. -[info][2025/04/29 17:04:45]: tim requested all players. -[info][2025/04/29 17:04:49]: tim requested player with citizenid AOJ19157. -[info][2025/04/29 17:04:51]: tim requested heal for citizenid AOJ19157. -[info][2025/04/29 17:04:51]: tim requested player with citizenid AOJ19157. -[info][2025/04/29 17:04:52]: tim requested change meta for citizenid AOJ19157. -[info][2025/04/29 17:04:52]: tim requested player with citizenid AOJ19157. -[info][2025/04/29 17:04:52]: tim requested change meta for citizenid AOJ19157. -[info][2025/04/29 17:04:52]: tim requested player with citizenid AOJ19157. -[info][2025/04/29 17:04:53]: tim requested heal for citizenid AOJ19157. -[info][2025/04/29 17:04:53]: tim requested player with citizenid AOJ19157. -[info][2025/04/29 17:04:54]: tim requested change meta for citizenid AOJ19157. -[info][2025/04/29 17:04:54]: tim requested player with citizenid AOJ19157. -[info][2025/04/29 17:04:55]: tim requested change meta for citizenid AOJ19157. -[info][2025/04/29 17:04:55]: tim requested player with citizenid AOJ19157. -[info][2025/04/29 17:09:46]: Login attempt on Tim from 109.68.107.162 -[info][2025/04/29 17:10:00]: tim requested all players. -[info][2025/04/29 17:10:07]: tim requested player with citizenid MWV00464. -[info][2025/04/29 17:10:10]: tim requested change jobs. -[info][2025/04/29 17:10:20]: tim requested player vehicles for citizenid MWV00464. -[info][2025/04/29 17:10:21]: tim requested player with citizenid MWV00464. -[info][2025/04/29 17:10:22]: tim requested all players. -[info][2025/04/29 17:21:51]: tim requested all players. -[info][2025/04/29 17:21:54]: tim requested player with citizenid AOJ19157. -[info][2025/04/29 17:21:56]: tim requested change jobs. -[info][2025/04/29 17:32:44]: tim requested all players. -[info][2025/04/29 17:32:56]: tim requested player with citizenid AOJ19157. -[info][2025/04/29 17:33:05]: tim requested heal for citizenid AOJ19157. -[info][2025/04/29 17:33:05]: tim requested player with citizenid AOJ19157. -[info][2025/04/29 17:33:05]: tim requested change meta for citizenid AOJ19157. -[info][2025/04/29 17:33:05]: tim requested player with citizenid AOJ19157. -[info][2025/04/29 17:33:06]: tim requested change meta for citizenid AOJ19157. -[info][2025/04/29 17:33:06]: tim requested player with citizenid AOJ19157. -[info][2025/04/29 17:33:06]: tim requested change meta for citizenid AOJ19157. -[info][2025/04/29 17:33:07]: tim requested player with citizenid AOJ19157. -[info][2025/04/29 17:33:07]: tim requested change meta for citizenid AOJ19157. -[info][2025/04/29 17:33:07]: tim requested player with citizenid AOJ19157. -[info][2025/04/29 17:33:09]: tim requested change jobs. -[info][2025/04/29 17:37:36]: Login attempt on Max from 89.247.160.151 -[info][2025/04/29 17:38:37]: max requested player with citizenid AOJ19157. -[info][2025/04/29 17:38:43]: max requested change jobs. -[info][2025/04/29 17:40:08]: tim requested all accounts. -[info][2025/04/29 17:40:11]: tim requested all players. -[info][2025/04/29 17:40:14]: tim requested player with citizenid AOJ19157. -[info][2025/04/29 17:40:16]: tim requested change jobs. -[info][2025/04/29 17:40:22]: tim requested change job for citizenid AOJ19157. -[info][2025/04/29 17:40:22]: tim requested player with citizenid AOJ19157. -[info][2025/04/29 17:41:22]: Login attempt on Nordi from 91.248.233.38 -[info][2025/04/29 17:48:07]: tim requested all players. -[info][2025/04/29 17:48:43]: tim requested player with citizenid MWV00464. -[info][2025/04/29 17:48:46]: tim requested change jobs. -[info][2025/04/29 17:48:54]: tim requested change job for citizenid MWV00464. -[info][2025/04/29 17:48:54]: tim requested player with citizenid MWV00464. -[info][2025/04/29 17:49:13]: tim requested all players. -[info][2025/04/29 17:49:17]: tim requested player with citizenid AOJ19157. -[info][2025/04/29 17:49:19]: tim requested change jobs. -[info][2025/04/29 17:49:23]: tim requested change job for citizenid AOJ19157. -[info][2025/04/29 17:49:23]: tim requested player with citizenid AOJ19157. -[info][2025/04/29 17:49:26]: tim requested all players. -[info][2025/04/29 17:49:29]: tim requested player with citizenid MWV00464. -[info][2025/04/29 17:49:31]: tim requested change jobs. -[info][2025/04/29 17:49:35]: tim requested change job for citizenid MWV00464. -[info][2025/04/29 17:49:35]: tim requested player with citizenid MWV00464. -[info][2025/04/29 17:53:27]: max requested player with citizenid DSC01606. -[info][2025/04/29 17:53:35]: max requested change jobs. -[info][2025/04/29 17:53:44]: max requested change job for citizenid DSC01606. -[info][2025/04/29 17:53:44]: max requested player with citizenid DSC01606. -[info][2025/04/29 17:57:33]: nordi requested all players. -[info][2025/04/29 17:57:37]: nordi requested player with citizenid JCQ27225. -[info][2025/04/29 17:57:45]: nordi requested inventory for citizenid JCQ27225. -[info][2025/04/29 17:57:49]: nordi requested item list. -[info][2025/04/29 17:57:56]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/29 18:02:14]: nordi requested all players. -[info][2025/04/29 18:03:00]: nordi requested player with citizenid DUD53794. -[info][2025/04/29 18:03:03]: nordi requested inventory for citizenid DUD53794. -[info][2025/04/29 18:03:04]: nordi requested item list. -[info][2025/04/29 18:03:13]: nordi requested item list. -[info][2025/04/29 18:03:20]: nordi requested add item for citizenid DUD53794. -[info][2025/04/29 18:03:21]: nordi requested item list. -[info][2025/04/29 18:03:32]: nordi requested add item for citizenid DUD53794. -[info][2025/04/29 18:07:29]: nordi requested all players. -[info][2025/04/29 18:07:36]: nordi requested player with citizenid JCQ27225. -[info][2025/04/29 18:07:39]: nordi requested inventory for citizenid JCQ27225. -[info][2025/04/29 18:07:41]: nordi requested item list. -[info][2025/04/29 18:07:55]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/29 18:31:54]: tim requested all stashes. -[info][2025/04/29 18:32:04]: nordi requested all stashes. -[info][2025/04/29 19:12:06]: max requested change meta for citizenid DSC01606. -[info][2025/04/29 19:12:06]: max requested player with citizenid DSC01606. -[info][2025/04/29 19:46:46]: nordi requested all players. -[info][2025/04/29 19:46:48]: nordi requested player with citizenid JCQ27225. -[info][2025/04/29 19:46:51]: nordi requested inventory for citizenid JCQ27225. -[info][2025/04/29 19:46:52]: nordi requested item list. -[info][2025/04/29 19:47:00]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/29 19:55:42]: tim requested all players. -[info][2025/04/29 19:55:45]: tim requested player with citizenid AOJ19157. -[info][2025/04/29 19:55:47]: tim requested heal for citizenid AOJ19157. -[info][2025/04/29 19:55:47]: tim requested player with citizenid AOJ19157. -[info][2025/04/29 19:55:48]: tim requested change meta for citizenid AOJ19157. -[info][2025/04/29 19:55:48]: tim requested player with citizenid AOJ19157. -[info][2025/04/29 19:55:48]: tim requested change meta for citizenid AOJ19157. -[info][2025/04/29 19:55:48]: tim requested player with citizenid AOJ19157. -[info][2025/04/29 19:55:49]: tim requested change meta for citizenid AOJ19157. -[info][2025/04/29 19:55:49]: tim requested player with citizenid AOJ19157. -[info][2025/04/29 19:55:50]: tim requested change meta for citizenid AOJ19157. -[info][2025/04/29 19:55:50]: tim requested player with citizenid AOJ19157. -[info][2025/04/29 19:56:38]: nordi requested all players. -[info][2025/04/29 19:56:41]: nordi requested player with citizenid JCQ27225. -[info][2025/04/29 19:56:43]: nordi requested change meta for citizenid JCQ27225. -[info][2025/04/29 19:56:43]: nordi requested player with citizenid JCQ27225. -[info][2025/04/29 19:56:43]: nordi requested change meta for citizenid JCQ27225. -[info][2025/04/29 19:56:43]: nordi requested player with citizenid JCQ27225. -[info][2025/04/29 20:00:57]: Login attempt on Nordi from 91.248.233.38 -[info][2025/04/29 20:01:07]: Login attempt on Nordi from 91.248.233.38 -[info][2025/04/29 20:04:14]: nordi requested all players. -[info][2025/04/29 20:04:17]: nordi requested player with citizenid DUD53794. -[info][2025/04/29 20:04:19]: nordi requested change meta for citizenid DUD53794. -[info][2025/04/29 20:04:19]: nordi requested player with citizenid DUD53794. -[info][2025/04/29 20:04:19]: nordi requested change meta for citizenid DUD53794. -[info][2025/04/29 20:04:19]: nordi requested player with citizenid DUD53794. -[info][2025/04/29 20:19:59]: nordi requested all players. -[info][2025/04/29 20:20:02]: nordi requested player with citizenid JCQ27225. -[info][2025/04/29 20:20:08]: nordi requested change jobs. -[info][2025/04/29 20:23:16]: nordi requested all players. -[info][2025/04/29 20:23:21]: nordi requested player with citizenid JCQ27225. -[info][2025/04/29 20:23:23]: nordi requested change jobs. -[info][2025/04/29 20:23:33]: nordi requested change job for citizenid JCQ27225. -[info][2025/04/29 20:23:33]: nordi requested player with citizenid JCQ27225. -[info][2025/04/29 21:08:04]: Login attempt on Tim from 109.68.107.162 -[info][2025/04/29 21:08:06]: tim requested all players. -[info][2025/04/29 21:08:09]: tim requested player with citizenid AOJ19157. -[info][2025/04/29 21:08:36]: tim requested change charinfo for citizenid AOJ19157. -[info][2025/04/29 21:08:36]: tim requested change charinfo for citizenid AOJ19157. -[info][2025/04/29 21:08:36]: tim requested player with citizenid AOJ19157. -[info][2025/04/29 21:08:36]: tim requested player with citizenid AOJ19157. -[info][2025/04/29 21:10:24]: tim requested change charinfo for citizenid AOJ19157. -[info][2025/04/29 21:10:24]: tim requested player with citizenid AOJ19157. -[info][2025/04/29 21:49:51]: tim requested all players. -[info][2025/04/29 21:49:57]: tim requested player with citizenid MWV00464. -[info][2025/04/29 21:49:58]: tim requested heal for citizenid MWV00464. -[info][2025/04/29 21:49:58]: tim requested player with citizenid MWV00464. -[info][2025/04/29 21:49:59]: tim requested change meta for citizenid MWV00464. -[info][2025/04/29 21:49:59]: tim requested player with citizenid MWV00464. -[info][2025/04/29 21:50:00]: tim requested change meta for citizenid MWV00464. -[info][2025/04/29 21:50:00]: tim requested player with citizenid MWV00464. -[info][2025/04/29 21:50:00]: tim requested change meta for citizenid MWV00464. -[info][2025/04/29 21:50:00]: tim requested player with citizenid MWV00464. -[info][2025/04/29 21:50:01]: tim requested change meta for citizenid MWV00464. -[info][2025/04/29 21:50:01]: tim requested player with citizenid MWV00464. -[info][2025/04/29 22:09:45]: tim requested all players. -[info][2025/04/29 22:09:50]: tim requested player with citizenid GNR11868. -[info][2025/04/29 22:11:07]: tim requested all players. -[info][2025/04/29 22:11:37]: tim requested player with citizenid GNR11868. -[info][2025/04/29 22:11:47]: tim requested add money cash for citizenid GNR11868. -[info][2025/04/29 22:11:47]: tim requested player with citizenid GNR11868. -[info][2025/04/29 22:11:49]: tim requested all players. -[info][2025/04/29 22:11:53]: tim requested player with citizenid JCQ27225. -[info][2025/04/29 22:15:26]: tim requested all players. -[info][2025/04/29 22:15:30]: tim requested player with citizenid MWV00464. -[info][2025/04/29 22:16:15]: tim requested change charinfo for citizenid MWV00464. -[info][2025/04/29 22:16:15]: tim requested player with citizenid MWV00464. -[info][2025/04/29 22:16:20]: tim requested all players. -[info][2025/04/29 22:16:25]: tim requested player with citizenid OHM07543. -[info][2025/04/29 22:34:06]: Login attempt on Campers from 178.200.177.65 -[info][2025/04/29 22:40:20]: Login attempt on Campers from 178.200.177.65 -[info][2025/04/29 22:41:08]: campers requested player with citizenid OHM07543. -[info][2025/04/29 22:41:14]: campers requested heal for citizenid OHM07543. -[info][2025/04/29 22:41:14]: campers requested player with citizenid OHM07543. -[info][2025/04/29 22:53:20]: Login attempt on Nordi from 91.248.233.38 -[info][2025/04/29 22:53:20]: nordi requested all players. -[info][2025/04/29 22:53:23]: Login attempt on Nordi from 91.248.233.38 -[info][2025/04/29 22:53:26]: nordi requested all players. -[info][2025/04/29 22:53:28]: nordi requested player with citizenid GNR11868. -[info][2025/04/29 22:53:30]: nordi requested inventory for citizenid GNR11868. -[info][2025/04/29 22:53:32]: nordi requested item list. -[info][2025/04/29 22:53:43]: nordi requested add item for citizenid GNR11868. -[info][2025/04/29 22:53:45]: nordi requested item list. -[info][2025/04/29 22:53:56]: nordi requested add item for citizenid GNR11868. -[info][2025/04/29 22:54:24]: campers requested player with citizenid OHM07543. -[info][2025/04/29 22:54:27]: campers requested inventory for citizenid OHM07543. -[info][2025/04/29 22:54:28]: nordi requested all players. -[info][2025/04/29 22:54:30]: nordi requested player with citizenid OHM07543. -[info][2025/04/29 22:54:33]: nordi requested inventory for citizenid OHM07543. -[info][2025/04/29 22:54:41]: nordi requested item list. -[info][2025/04/29 22:54:54]: campers requested player with citizenid OHM07543. -[info][2025/04/29 22:54:55]: nordi requested add item for citizenid OHM07543. -[info][2025/04/29 22:54:56]: nordi requested item list. -[info][2025/04/29 22:54:58]: campers requested heal for citizenid OHM07543. -[info][2025/04/29 22:54:58]: campers requested player with citizenid OHM07543. -[info][2025/04/29 22:55:01]: campers requested change meta for citizenid OHM07543. -[info][2025/04/29 22:55:01]: campers requested player with citizenid OHM07543. -[info][2025/04/29 22:55:02]: campers requested change meta for citizenid OHM07543. -[info][2025/04/29 22:55:02]: campers requested player with citizenid OHM07543. -[info][2025/04/29 22:55:04]: nordi requested add item for citizenid OHM07543. -[info][2025/04/29 23:16:37]: Login attempt on Campers from 178.200.177.65 -[info][2025/04/29 23:16:40]: campers requested all players. -[info][2025/04/29 23:16:48]: campers requested all players. -[info][2025/04/29 23:16:51]: campers requested player with citizenid OHM07543. -[info][2025/04/29 23:16:53]: campers requested all players. -[info][2025/04/29 23:16:56]: campers requested player with citizenid OHM07543. -[info][2025/04/29 23:17:08]: campers requested change jobs. -[info][2025/04/29 23:18:02]: campers requested all players. -[info][2025/04/29 23:18:06]: campers requested all players. -[info][2025/04/29 23:18:09]: campers requested player with citizenid OHM07543. -[info][2025/04/29 23:18:14]: campers requested change jobs. -[info][2025/04/29 23:18:24]: campers requested all accounts. -[info][2025/04/29 23:18:36]: campers requested all accounts. -[info][2025/04/29 23:18:45]: campers requested all accounts. -[info][2025/04/29 23:18:49]: campers requested player with citizenid OHM07543. -[info][2025/04/29 23:48:28]: Login attempt on Nordi from 91.248.233.38 -[info][2025/04/29 23:48:28]: nordi requested all players. -[info][2025/04/29 23:48:32]: Login attempt on Nordi from 91.248.233.38 -[info][2025/04/29 23:48:55]: nordi requested all players. -[info][2025/04/29 23:49:01]: nordi requested player with citizenid JCQ27225. -[info][2025/04/29 23:49:03]: nordi requested inventory for citizenid JCQ27225. -[info][2025/04/29 23:49:08]: nordi requested item list. -[info][2025/04/29 23:49:17]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/29 23:49:19]: nordi requested move item for citizenid JCQ27225. -[info][2025/04/29 23:49:20]: nordi requested move item for citizenid JCQ27225. -[info][2025/04/30 00:03:46]: nordi requested delete item for citizenid JCQ27225. -[info][2025/04/30 00:03:50]: nordi requested move item for citizenid JCQ27225. -[info][2025/04/30 00:03:53]: nordi requested move item for citizenid JCQ27225. -[info][2025/04/30 00:03:55]: nordi requested move item for citizenid JCQ27225. -[info][2025/04/30 00:03:56]: nordi requested item list. -[info][2025/04/30 00:04:06]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/30 00:04:08]: nordi requested item list. -[info][2025/04/30 00:04:23]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/30 00:07:07]: nordi requested all players. -[info][2025/04/30 00:07:12]: nordi requested player with citizenid AOJ19157. -[info][2025/04/30 00:07:15]: nordi requested inventory for citizenid AOJ19157. -[info][2025/04/30 00:07:16]: nordi requested item list. -[info][2025/04/30 00:07:24]: nordi requested add item for citizenid AOJ19157. -[info][2025/04/30 00:07:25]: nordi requested item list. -[info][2025/04/30 00:07:31]: nordi requested add item for citizenid AOJ19157. -[info][2025/04/30 00:07:31]: campers requested player with citizenid OHM07543. -[info][2025/04/30 00:07:36]: campers requested inventory for citizenid OHM07543. -[info][2025/04/30 00:07:37]: campers requested item list. -[info][2025/04/30 00:07:48]: campers requested add item for citizenid OHM07543. -[info][2025/04/30 00:08:44]: campers requested item list. -[info][2025/04/30 00:11:11]: campers requested add item for citizenid OHM07543. -[info][2025/04/30 00:11:15]: campers requested move item for citizenid OHM07543. -[info][2025/04/30 00:11:20]: campers requested move item for citizenid OHM07543. -[info][2025/04/30 00:11:22]: campers requested move item for citizenid OHM07543. -[info][2025/04/30 00:13:19]: nordi requested all players. -[info][2025/04/30 00:13:25]: nordi requested player with citizenid JCQ27225. -[info][2025/04/30 00:13:28]: nordi requested inventory for citizenid JCQ27225. -[info][2025/04/30 00:13:29]: nordi requested item list. -[info][2025/04/30 00:13:37]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/30 00:16:06]: campers requested player with citizenid OHM07543. -[info][2025/04/30 00:16:08]: campers requested heal for citizenid OHM07543. -[info][2025/04/30 00:16:08]: campers requested player with citizenid OHM07543. -[info][2025/04/30 00:17:53]: campers requested inventory for citizenid OHM07543. -[info][2025/04/30 00:17:55]: campers requested item list. -[info][2025/04/30 00:18:04]: campers requested add item for citizenid OHM07543. -[info][2025/04/30 00:18:06]: campers requested item list. -[info][2025/04/30 00:18:13]: campers requested add item for citizenid OHM07543. -[info][2025/04/30 00:18:15]: campers requested move item for citizenid OHM07543. -[info][2025/04/30 00:18:16]: campers requested move item for citizenid OHM07543. -[info][2025/04/30 00:21:23]: nordi requested delete item for citizenid JCQ27225. -[info][2025/04/30 00:21:30]: nordi requested move item for citizenid JCQ27225. -[info][2025/04/30 00:21:31]: nordi requested move item for citizenid JCQ27225. -[info][2025/04/30 00:21:32]: nordi requested item list. -[info][2025/04/30 00:24:28]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/30 00:25:41]: Login attempt on Tim from 109.68.107.162 -[info][2025/04/30 00:25:45]: tim requested all players. -[info][2025/04/30 00:25:47]: tim requested player with citizenid AOJ19157. -[info][2025/04/30 00:25:49]: tim requested heal for citizenid AOJ19157. -[info][2025/04/30 00:25:49]: tim requested player with citizenid AOJ19157. -[info][2025/04/30 00:25:50]: tim requested change meta for citizenid AOJ19157. -[info][2025/04/30 00:25:50]: tim requested player with citizenid AOJ19157. -[info][2025/04/30 00:25:50]: tim requested change meta for citizenid AOJ19157. -[info][2025/04/30 00:25:50]: tim requested player with citizenid AOJ19157. -[info][2025/04/30 00:25:51]: tim requested change meta for citizenid AOJ19157. -[info][2025/04/30 00:25:51]: tim requested player with citizenid AOJ19157. -[info][2025/04/30 00:26:47]: Login attempt on Max from 89.247.160.151 -[info][2025/04/30 00:26:52]: max requested all players. -[info][2025/04/30 00:27:01]: max requested player with citizenid DSC01606. -[info][2025/04/30 00:27:12]: max requested change meta for citizenid DSC01606. -[info][2025/04/30 00:27:12]: max requested player with citizenid DSC01606. -[info][2025/04/30 00:27:15]: max requested change meta for citizenid DSC01606. -[info][2025/04/30 00:27:15]: max requested player with citizenid DSC01606. -[info][2025/04/30 00:27:17]: max requested heal for citizenid DSC01606. -[info][2025/04/30 00:27:17]: max requested player with citizenid DSC01606. -[info][2025/04/30 00:27:19]: max requested heal for citizenid DSC01606. -[info][2025/04/30 00:27:19]: max requested player with citizenid DSC01606. -[info][2025/04/30 00:27:19]: max requested heal for citizenid DSC01606. -[info][2025/04/30 00:27:19]: max requested player with citizenid DSC01606. -[info][2025/04/30 00:27:20]: max requested heal for citizenid DSC01606. -[info][2025/04/30 00:27:20]: max requested player with citizenid DSC01606. -[info][2025/04/30 00:27:26]: max requested change meta for citizenid DSC01606. -[info][2025/04/30 00:27:26]: max requested player with citizenid DSC01606. -[info][2025/04/30 00:27:33]: max requested change meta for citizenid DSC01606. -[info][2025/04/30 00:27:33]: max requested player with citizenid DSC01606. -[info][2025/04/30 00:27:37]: max requested change meta for citizenid DSC01606. -[info][2025/04/30 00:27:37]: max requested player with citizenid DSC01606. -[info][2025/04/30 00:27:38]: max requested change meta for citizenid DSC01606. -[info][2025/04/30 00:27:38]: max requested player with citizenid DSC01606. -[info][2025/04/30 00:27:43]: max requested screenshot for citizenid DSC01606. -[info][2025/04/30 00:28:01]: max requested player with citizenid DSC01606. -[info][2025/04/30 00:40:44]: campers requested player with citizenid OHM07543. -[info][2025/04/30 00:41:22]: campers requested heal for citizenid OHM07543. -[info][2025/04/30 00:41:22]: campers requested player with citizenid OHM07543. -[info][2025/04/30 00:41:24]: campers requested change meta for citizenid OHM07543. -[info][2025/04/30 00:41:24]: campers requested player with citizenid OHM07543. -[info][2025/04/30 00:41:25]: campers requested change meta for citizenid OHM07543. -[info][2025/04/30 00:41:25]: campers requested player with citizenid OHM07543. -[info][2025/04/30 00:45:35]: campers requested all accounts. -[info][2025/04/30 00:45:49]: nordi requested item list. -[info][2025/04/30 00:45:59]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/30 00:46:01]: nordi requested item list. -[info][2025/04/30 00:46:05]: campers requested all players. -[info][2025/04/30 00:46:13]: campers requested all accounts. -[info][2025/04/30 00:46:18]: nordi requested add item for citizenid JCQ27225. -[info][2025/04/30 00:46:25]: campers requested all accounts. -[info][2025/04/30 00:46:30]: campers requested all accounts. -[info][2025/04/30 00:46:36]: campers requested all accounts. -[info][2025/04/30 01:04:14]: campers requested player with citizenid OHM07543. -[info][2025/04/30 01:04:18]: campers requested heal for citizenid OHM07543. -[info][2025/04/30 01:04:18]: campers requested player with citizenid OHM07543. -[info][2025/04/30 19:31:12]: Login attempt on Tim from 109.68.107.162 -[info][2025/04/30 19:31:14]: tim requested all players. -[info][2025/04/30 19:31:19]: tim requested player with citizenid GNR11868. -[info][2025/04/30 19:31:23]: tim requested heal for citizenid GNR11868. -[info][2025/04/30 19:31:23]: tim requested player with citizenid GNR11868. -[info][2025/04/30 19:31:23]: tim requested change meta for citizenid GNR11868. -[info][2025/04/30 19:31:23]: tim requested player with citizenid GNR11868. -[info][2025/04/30 19:31:25]: tim requested change meta for citizenid GNR11868. -[info][2025/04/30 19:31:25]: tim requested player with citizenid GNR11868. -[info][2025/04/30 19:31:29]: tim requested change meta for citizenid GNR11868. -[info][2025/04/30 19:31:29]: tim requested player with citizenid GNR11868. -[info][2025/04/30 19:31:30]: tim requested change meta for citizenid GNR11868. -[info][2025/04/30 19:31:30]: tim requested player with citizenid GNR11868. -[info][2025/04/30 19:41:32]: Login attempt on Nordi from 85.16.152.117 -[info][2025/04/30 19:46:58]: nordi requested all players. -[info][2025/04/30 19:47:55]: nordi requested player with citizenid JCQ27225. -[info][2025/04/30 19:47:58]: nordi requested inventory for citizenid JCQ27225. -[info][2025/04/30 19:48:05]: nordi requested delete item for citizenid JCQ27225. -[info][2025/04/30 20:11:58]: nordi requested all players. -[info][2025/04/30 20:29:43]: Login attempt on Nordi from 85.16.152.117 -[info][2025/04/30 20:33:24]: Login attempt on Tim from 109.68.107.162 -[info][2025/04/30 20:33:26]: tim requested all accounts. -[info][2025/04/30 20:33:27]: tim requested all players. -[info][2025/04/30 20:33:31]: tim requested player with citizenid AOJ19157. -[info][2025/04/30 20:33:34]: tim requested change meta for citizenid AOJ19157. -[info][2025/04/30 20:33:34]: tim requested player with citizenid AOJ19157. -[info][2025/04/30 20:33:34]: tim requested change meta for citizenid AOJ19157. -[info][2025/04/30 20:33:34]: tim requested player with citizenid AOJ19157. -[info][2025/04/30 20:33:35]: tim requested heal for citizenid AOJ19157. -[info][2025/04/30 20:33:35]: tim requested player with citizenid AOJ19157. -[info][2025/04/30 20:33:35]: tim requested change meta for citizenid AOJ19157. -[info][2025/04/30 20:33:35]: tim requested player with citizenid AOJ19157. -[info][2025/04/30 20:53:00]: nordi requested all players. -[info][2025/04/30 20:53:08]: nordi requested player with citizenid JCQ27225. -[info][2025/04/30 21:52:01]: tim requested all players. -[info][2025/04/30 21:52:13]: tim requested player with citizenid WWH84309. -[info][2025/04/30 21:52:26]: tim requested ban player with citizenid WWH84309 (Zu Jung). -[info][2025/04/30 21:52:26]: tim requested player with citizenid WWH84309. -[info][2025/04/30 21:52:44]: tim requested delete player with citizenid WWH84309. -[info][2025/04/30 21:52:44]: tim requested all players. -[info][2025/04/30 21:52:48]: tim requested all users. -[info][2025/04/30 21:53:02]: tim requested user max. -[info][2025/04/30 21:53:12]: tim requested all roles. -[info][2025/04/30 21:53:20]: tim requested all accounts. -[info][2025/04/30 21:53:21]: tim requested all players. -[info][2025/04/30 21:53:35]: tim requested player with citizenid SCQ53506. -[info][2025/04/30 21:53:38]: tim requested delete player with citizenid SCQ53506. -[info][2025/04/30 21:53:39]: tim requested all players. -[info][2025/04/30 22:36:59]: tim requested player with citizenid AOJ19157. -[info][2025/04/30 22:37:03]: tim requested heal for citizenid AOJ19157. -[info][2025/04/30 22:37:03]: tim requested player with citizenid AOJ19157. -[info][2025/04/30 22:37:03]: tim requested change meta for citizenid AOJ19157. -[info][2025/04/30 22:37:03]: tim requested player with citizenid AOJ19157. -[info][2025/04/30 22:37:04]: tim requested change meta for citizenid AOJ19157. -[info][2025/04/30 22:37:04]: tim requested player with citizenid AOJ19157. -[info][2025/04/30 22:37:05]: tim requested change meta for citizenid AOJ19157. -[info][2025/04/30 22:37:05]: tim requested player with citizenid AOJ19157. -[info][2025/04/30 22:37:06]: Login attempt on Campers from 178.200.177.65 -[info][2025/04/30 22:38:47]: tim requested change meta for citizenid AOJ19157. -[info][2025/04/30 22:38:47]: tim requested player with citizenid AOJ19157. -[info][2025/04/30 22:38:48]: tim requested change meta for citizenid AOJ19157. -[info][2025/04/30 22:38:48]: tim requested player with citizenid AOJ19157. -[info][2025/04/30 22:38:48]: tim requested heal for citizenid AOJ19157. -[info][2025/04/30 22:38:48]: tim requested player with citizenid AOJ19157. -[info][2025/04/30 22:38:50]: tim requested change meta for citizenid AOJ19157. -[info][2025/04/30 22:38:50]: tim requested player with citizenid AOJ19157. -[info][2025/04/30 23:22:07]: Login attempt on Nordi from 85.16.152.117 -[info][2025/04/30 23:22:35]: nordi requested all players. -[info][2025/04/30 23:22:38]: nordi requested all stashes. -[info][2025/05/01 00:52:50]: Login attempt on from 85.16.152.117 -[info][2025/05/01 00:52:54]: Login attempt on Nordi from 85.16.152.117 -[info][2025/05/01 01:21:11]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/01 01:21:17]: campers requested player with citizenid OHM07543. -[info][2025/05/01 01:21:19]: campers requested change meta for citizenid OHM07543. -[info][2025/05/01 01:21:19]: campers requested player with citizenid OHM07543. -[info][2025/05/01 01:21:20]: campers requested change meta for citizenid OHM07543. -[info][2025/05/01 01:21:21]: campers requested player with citizenid OHM07543. -[info][2025/05/01 01:21:22]: campers requested heal for citizenid OHM07543. -[info][2025/05/01 01:21:22]: campers requested player with citizenid OHM07543. -[info][2025/05/01 01:21:23]: campers requested heal for citizenid OHM07543. -[info][2025/05/01 01:21:23]: campers requested player with citizenid OHM07543. -[info][2025/05/01 01:47:56]: Login attempt on Nordi from 91.248.232.191 -[info][2025/05/01 01:47:58]: nordi requested all players. -[info][2025/05/01 01:48:00]: nordi requested player with citizenid GNR11868. -[info][2025/05/01 01:48:03]: nordi requested change meta for citizenid GNR11868. -[info][2025/05/01 01:48:03]: nordi requested player with citizenid GNR11868. -[info][2025/05/01 01:48:04]: nordi requested change meta for citizenid GNR11868. -[info][2025/05/01 01:48:04]: nordi requested player with citizenid GNR11868. -[info][2025/05/01 01:48:07]: nordi requested all players. -[info][2025/05/01 01:48:11]: nordi requested player with citizenid OHM07543. -[info][2025/05/01 01:48:12]: nordi requested change meta for citizenid OHM07543. -[info][2025/05/01 01:48:12]: nordi requested player with citizenid OHM07543. -[info][2025/05/01 01:48:13]: nordi requested change meta for citizenid OHM07543. -[info][2025/05/01 01:48:13]: nordi requested player with citizenid OHM07543. -[info][2025/05/01 01:48:15]: nordi requested all players. -[info][2025/05/01 01:48:19]: nordi requested player with citizenid JCQ27225. -[info][2025/05/01 01:48:21]: nordi requested change meta for citizenid JCQ27225. -[info][2025/05/01 01:48:21]: nordi requested player with citizenid JCQ27225. -[info][2025/05/01 01:48:21]: nordi requested change meta for citizenid JCQ27225. -[info][2025/05/01 01:48:21]: nordi requested player with citizenid JCQ27225. -[info][2025/05/01 01:48:24]: nordi requested all players. -[info][2025/05/01 01:48:26]: nordi requested player with citizenid ELV21478. -[info][2025/05/01 01:48:27]: nordi requested change meta for citizenid ELV21478. -[info][2025/05/01 01:48:27]: nordi requested player with citizenid ELV21478. -[info][2025/05/01 01:48:27]: nordi requested change meta for citizenid ELV21478. -[info][2025/05/01 01:48:28]: nordi requested player with citizenid ELV21478. -[info][2025/05/01 01:49:16]: nordi requested all players. -[info][2025/05/01 01:49:25]: nordi requested player with citizenid ELV21478. -[info][2025/05/01 01:49:28]: nordi requested inventory for citizenid ELV21478. -[info][2025/05/01 01:49:29]: nordi requested item list. -[info][2025/05/01 01:49:37]: nordi requested add item for citizenid ELV21478. -[info][2025/05/01 01:49:39]: nordi requested item list. -[info][2025/05/01 01:49:45]: nordi requested add item for citizenid ELV21478. -[info][2025/05/01 01:50:03]: nordi requested player with citizenid ELV21478. -[info][2025/05/01 01:50:06]: nordi requested all players. -[info][2025/05/01 01:50:08]: nordi requested player with citizenid GNR11868. -[info][2025/05/01 01:50:10]: nordi requested inventory for citizenid GNR11868. -[info][2025/05/01 01:50:12]: nordi requested item list. -[info][2025/05/01 01:50:19]: nordi requested add item for citizenid GNR11868. -[info][2025/05/01 02:27:04]: Login attempt on Nordi from 91.248.232.191 -[info][2025/05/01 02:27:07]: nordi requested all players. -[info][2025/05/01 02:27:13]: nordi requested player with citizenid JCQ27225. -[info][2025/05/01 02:27:15]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/01 02:27:19]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/01 02:27:25]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/01 02:27:32]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/01 02:27:33]: nordi requested item list. -[info][2025/05/01 02:27:42]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/01 02:29:10]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/01 02:29:11]: nordi requested item list. -[info][2025/05/01 02:29:18]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/01 02:32:42]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/01 03:19:32]: Login attempt on Nordi from 91.248.232.191 -[info][2025/05/01 03:43:00]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/01 03:43:05]: campers requested player with citizenid ELV21478. -[info][2025/05/01 03:43:08]: campers requested screenshot for citizenid ELV21478. -[info][2025/05/01 03:43:14]: campers requested screenshot for citizenid ELV21478. -[info][2025/05/01 03:43:21]: campers requested screenshot for citizenid ELV21478. -[info][2025/05/01 03:43:31]: campers requested screenshot for citizenid ELV21478. -[info][2025/05/01 03:43:41]: campers requested screenshot for citizenid ELV21478. -[info][2025/05/01 03:44:39]: campers requested player with citizenid ELV21478. -[info][2025/05/01 03:44:41]: campers requested screenshot for citizenid ELV21478. -[info][2025/05/01 03:45:25]: campers requested player with citizenid ELV21478. -[info][2025/05/01 03:45:27]: campers requested screenshot for citizenid ELV21478. -[info][2025/05/01 10:27:21]: Login attempt on Tim from 109.68.107.162 -[info][2025/05/01 10:27:23]: tim requested all players. -[info][2025/05/01 10:27:26]: tim requested player with citizenid WIK72618. -[info][2025/05/01 10:27:28]: tim requested heal for citizenid WIK72618. -[info][2025/05/01 10:27:28]: tim requested player with citizenid WIK72618. -[info][2025/05/01 10:27:29]: tim requested change meta for citizenid WIK72618. -[info][2025/05/01 10:27:29]: tim requested player with citizenid WIK72618. -[info][2025/05/01 10:27:29]: tim requested change meta for citizenid WIK72618. -[info][2025/05/01 10:27:29]: tim requested player with citizenid WIK72618. -[info][2025/05/01 10:27:30]: tim requested change meta for citizenid WIK72618. -[info][2025/05/01 10:27:30]: tim requested player with citizenid WIK72618. -[info][2025/05/01 10:27:31]: tim requested change meta for citizenid WIK72618. -[info][2025/05/01 10:27:31]: tim requested player with citizenid WIK72618. -[info][2025/05/01 13:06:59]: Login attempt on Nordi from 91.248.232.191 -[info][2025/05/01 13:08:07]: nordi requested all stashes. -[info][2025/05/01 15:02:54]: Login attempt on Nordi from 91.248.232.191 -[info][2025/05/01 15:02:56]: Login attempt on Nordi from 91.248.232.191 -[info][2025/05/01 16:00:06]: nordi requested all players. -[info][2025/05/01 16:00:11]: nordi requested player with citizenid AOJ19157. -[info][2025/05/01 16:00:13]: nordi requested all players. -[info][2025/05/01 16:01:38]: nordi requested player with citizenid JCQ27225. -[info][2025/05/01 16:01:46]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/01 16:01:48]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/01 16:42:49]: nordi requested player with citizenid JCQ27225. -[info][2025/05/01 16:42:51]: nordi requested change meta for citizenid JCQ27225. -[info][2025/05/01 16:42:51]: nordi requested player with citizenid JCQ27225. -[info][2025/05/01 16:42:51]: nordi requested change meta for citizenid JCQ27225. -[info][2025/05/01 16:42:51]: nordi requested player with citizenid JCQ27225. -[info][2025/05/01 16:45:45]: nordi requested change meta for citizenid JCQ27225. -[info][2025/05/01 16:45:45]: nordi requested player with citizenid JCQ27225. -[info][2025/05/01 16:45:45]: nordi requested change meta for citizenid JCQ27225. -[info][2025/05/01 16:45:45]: nordi requested player with citizenid JCQ27225. -[info][2025/05/01 16:45:46]: nordi requested change meta for citizenid JCQ27225. -[info][2025/05/01 16:45:46]: nordi requested player with citizenid JCQ27225. -[info][2025/05/01 16:45:46]: nordi requested change meta for citizenid JCQ27225. -[info][2025/05/01 16:45:46]: nordi requested player with citizenid JCQ27225. -[info][2025/05/01 16:45:46]: nordi requested change meta for citizenid JCQ27225. -[info][2025/05/01 16:45:46]: nordi requested player with citizenid JCQ27225. -[info][2025/05/01 16:52:41]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/01 16:52:43]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/01 16:52:44]: nordi requested item list. -[info][2025/05/01 16:52:54]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/01 17:37:09]: Login attempt on Nordi from 91.248.232.191 -[info][2025/05/01 17:37:10]: nordi requested item list. -[info][2025/05/01 17:37:12]: Login attempt on Nordi from 91.248.232.191 -[info][2025/05/01 17:37:16]: nordi requested all stashes. -[info][2025/05/01 17:37:18]: nordi requested all players. -[info][2025/05/01 17:37:23]: nordi requested player with citizenid JCQ27225. -[info][2025/05/01 17:37:27]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/01 17:37:29]: nordi requested item list. -[info][2025/05/01 17:37:45]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/01 17:37:48]: nordi requested item list. -[info][2025/05/01 17:37:55]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/01 17:40:06]: nordi requested item list. -[info][2025/05/01 17:40:17]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/01 18:59:07]: Login attempt on Nordi from 91.248.232.191 -[info][2025/05/01 18:59:10]: Login attempt on Nordi from 91.248.232.191 -[info][2025/05/01 19:06:04]: nordi requested all players. -[info][2025/05/01 19:06:09]: nordi requested player with citizenid JCQ27225. -[info][2025/05/01 19:06:13]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/01 19:06:14]: nordi requested item list. -[info][2025/05/01 19:06:22]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/01 19:06:23]: nordi requested item list. -[info][2025/05/01 19:06:29]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/01 19:07:09]: nordi requested item list. -[info][2025/05/01 19:07:16]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/01 19:07:17]: nordi requested item list. -[info][2025/05/01 19:07:24]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/01 19:14:09]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/01 19:14:13]: nordi requested item list. -[info][2025/05/01 19:14:28]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/01 19:16:01]: nordi requested item list. -[info][2025/05/01 19:16:08]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/01 19:21:20]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/01 21:04:02]: Login attempt on Nordi from 91.248.232.191 -[info][2025/05/01 22:12:26]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/01 22:14:49]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/01 22:15:01]: campers requested all players. -[info][2025/05/01 22:15:04]: campers requested player with citizenid OHM07543. -[info][2025/05/01 22:15:09]: campers requested all accounts. -[info][2025/05/01 22:25:54]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/01 22:36:17]: Login attempt on Tim from 109.68.107.162 -[info][2025/05/01 22:36:20]: tim requested all players. -[info][2025/05/01 22:36:57]: tim requested player with citizenid AOJ19157. -[info][2025/05/01 22:37:08]: tim requested change charinfo for citizenid AOJ19157. -[info][2025/05/01 22:37:08]: tim requested player with citizenid AOJ19157. -[info][2025/05/01 22:37:11]: tim requested all players. -[info][2025/05/01 22:48:07]: tim requested all players. -[info][2025/05/01 22:48:49]: tim requested all users. -[info][2025/05/01 22:57:59]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/02 00:34:56]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/02 00:35:02]: campers requested player with citizenid JCQ27225. -[info][2025/05/02 00:35:08]: campers requested screenshot for citizenid JCQ27225. -[info][2025/05/02 00:37:50]: campers requested player with citizenid JCQ27225. -[info][2025/05/02 00:37:52]: campers requested screenshot for citizenid JCQ27225. -[info][2025/05/02 01:21:23]: Login attempt on Nordi from 91.248.232.191 -[info][2025/05/02 01:21:26]: nordi requested all players. -[info][2025/05/02 01:21:28]: nordi requested player with citizenid JCQ27225. -[info][2025/05/02 01:21:34]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/02 01:21:36]: nordi requested item list. -[info][2025/05/02 01:21:47]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/02 01:23:26]: nordi requested item list. -[info][2025/05/02 12:10:51]: Login attempt on Tim from 109.68.107.162 -[info][2025/05/02 12:57:57]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/02 13:03:21]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/02 13:54:27]: Login attempt on Campers from 80.151.134.119 -[info][2025/05/02 13:54:38]: Login attempt on Campers from 80.151.134.119 -[info][2025/05/02 13:54:49]: Login attempt on Campers from 80.151.134.119 -[info][2025/05/02 14:33:21]: campers requested all players. -[info][2025/05/02 14:33:37]: campers requested player with citizenid OHM07543. -[info][2025/05/02 14:33:38]: campers requested player vehicles for citizenid OHM07543. -[info][2025/05/02 14:33:51]: campers requested all vehicles. -[info][2025/05/02 14:35:08]: campers requested vehicle with id 20. -[info][2025/05/02 14:35:21]: campers requested all vehicles. -[info][2025/05/02 14:35:23]: campers requested vehicle with id 20. -[info][2025/05/02 14:35:25]: campers requested player with citizenid ANI29493. -[info][2025/05/02 14:35:29]: campers requested all vehicles. -[info][2025/05/02 14:35:36]: campers requested vehicle with id 17. -[info][2025/05/02 14:35:46]: campers requested player with citizenid CNB21054. -[info][2025/05/02 14:35:47]: campers requested fix inv for citizenid CNB21054. -[info][2025/05/02 14:35:48]: campers requested all players. -[info][2025/05/02 14:35:51]: campers requested all accounts. -[info][2025/05/02 14:35:54]: campers requested all vehicles. -[info][2025/05/02 14:35:57]: campers requested vehicle with id 19. -[info][2025/05/02 14:35:58]: campers requested all vehicles. -[info][2025/05/02 14:36:07]: campers requested vehicle with id 22. -[info][2025/05/02 14:36:08]: campers requested all vehicles. -[info][2025/05/02 14:36:10]: campers requested vehicle with id 22. -[info][2025/05/02 14:36:15]: campers requested all vehicles. -[info][2025/05/02 14:36:17]: campers requested vehicle with id 17. -[info][2025/05/02 14:36:22]: campers requested all accounts. -[info][2025/05/02 14:36:25]: campers requested all accounts. -[info][2025/05/02 14:36:28]: campers requested all accounts. -[info][2025/05/02 14:36:34]: campers requested all stashes. -[info][2025/05/02 14:37:19]: campers requested all roles. -[info][2025/05/02 14:37:25]: campers requested role TestSupport. -[info][2025/05/02 14:37:36]: campers requested all roles. -[info][2025/05/02 14:37:54]: campers requested all players. -[info][2025/05/02 14:38:09]: campers requested player with citizenid DSC01606. -[info][2025/05/02 14:38:26]: campers requested player vehicles for citizenid DSC01606. -[info][2025/05/02 14:38:32]: campers requested player with citizenid DSC01606. -[info][2025/05/02 14:38:41]: campers requested all players. -[info][2025/05/02 14:57:16]: Login attempt on Nordi from 85.16.109.252 -[info][2025/05/02 14:57:17]: nordi requested item list. -[info][2025/05/02 14:57:19]: Login attempt on Nordi from 85.16.109.252 -[info][2025/05/02 15:00:15]: nordi requested all players. -[info][2025/05/02 15:00:18]: nordi requested player with citizenid JCQ27225. -[info][2025/05/02 15:00:26]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/02 15:00:30]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/02 15:00:32]: nordi requested item list. -[info][2025/05/02 15:00:38]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/02 15:10:37]: Login attempt on Nordi from 85.16.109.252 -[info][2025/05/02 15:10:37]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/02 15:10:40]: Login attempt on Nordi from 85.16.109.252 -[info][2025/05/02 15:11:23]: nordi requested all players. -[info][2025/05/02 15:11:25]: nordi requested player with citizenid JCQ27225. -[info][2025/05/02 15:11:30]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/02 15:11:33]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/02 15:11:34]: nordi requested item list. -[info][2025/05/02 15:11:46]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/02 15:23:22]: Login attempt on Campers from 80.151.134.119 -[info][2025/05/02 15:23:29]: campers requested player with citizenid JCQ27225. -[info][2025/05/02 15:23:32]: campers requested screenshot for citizenid JCQ27225. -[info][2025/05/02 15:23:52]: campers requested screenshot for citizenid JCQ27225. -[info][2025/05/02 15:24:22]: campers requested screenshot for citizenid JCQ27225. -[info][2025/05/02 15:25:12]: campers requested player with citizenid JCQ27225. -[info][2025/05/02 15:25:13]: campers requested screenshot for citizenid JCQ27225. -[info][2025/05/02 15:27:50]: campers requested screenshot for citizenid JCQ27225. -[info][2025/05/02 15:27:57]: campers requested player vehicles for citizenid JCQ27225. -[info][2025/05/02 15:27:59]: campers requested player with citizenid JCQ27225. -[info][2025/05/02 15:29:53]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/02 15:30:14]: nordi requested item list. -[info][2025/05/02 15:30:21]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/02 16:02:02]: Login attempt on Nordi from 85.16.109.252 -[info][2025/05/02 16:02:04]: Login attempt on from 85.16.109.252 -[info][2025/05/02 16:02:06]: Login attempt on Nordi from 85.16.109.252 -[info][2025/05/02 16:03:01]: nordi requested all players. -[info][2025/05/02 16:03:04]: nordi requested player with citizenid JCQ27225. -[info][2025/05/02 16:03:06]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/02 16:03:09]: nordi requested item list. -[info][2025/05/02 16:03:32]: nordi requested item list. -[info][2025/05/02 16:04:54]: nordi requested item list. -[info][2025/05/02 16:09:37]: Login attempt on Nordi from 85.16.109.252 -[info][2025/05/02 16:12:48]: Login attempt on Nordi from 85.16.109.252 -[info][2025/05/02 16:19:34]: Login attempt on Nordi from 85.16.109.252 -[info][2025/05/02 16:22:14]: Login attempt on Campers from 80.151.134.119 -[info][2025/05/02 16:22:18]: Login attempt on Campers from 80.151.134.119 -[info][2025/05/02 16:43:00]: nordi requested all players. -[info][2025/05/02 16:43:02]: nordi requested player with citizenid JCQ27225. -[info][2025/05/02 16:43:05]: nordi requested change jobs. -[info][2025/05/02 16:43:11]: nordi requested change job for citizenid JCQ27225. -[info][2025/05/02 16:43:11]: nordi requested player with citizenid JCQ27225. -[info][2025/05/02 16:43:18]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/02 16:43:22]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/02 16:43:23]: nordi requested item list. -[info][2025/05/02 16:43:29]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/02 16:43:57]: campers requested player with citizenid JCQ27225. -[info][2025/05/02 16:44:07]: campers requested screenshot for citizenid JCQ27225. -[info][2025/05/02 16:44:27]: campers requested all players. -[info][2025/05/02 16:44:29]: campers requested player with citizenid OHM07543. -[info][2025/05/02 16:44:32]: campers requested change jobs. -[info][2025/05/02 16:44:43]: campers requested change job for citizenid OHM07543. -[info][2025/05/02 16:44:43]: campers requested player with citizenid OHM07543. -[info][2025/05/02 16:45:02]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/02 16:45:03]: nordi requested item list. -[info][2025/05/02 16:45:12]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/02 16:47:48]: Login attempt on Nordi from 85.16.109.252 -[info][2025/05/02 16:47:57]: nordi requested all players. -[info][2025/05/02 16:48:19]: nordi requested player with citizenid JCQ27225. -[info][2025/05/02 16:48:22]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/02 16:59:16]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/02 16:59:17]: nordi requested item list. -[info][2025/05/02 16:59:25]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/02 17:01:06]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/02 17:01:08]: nordi requested item list. -[info][2025/05/02 17:01:14]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/02 17:04:52]: Login attempt on Nordi from 85.16.109.252 -[info][2025/05/02 17:07:31]: Login attempt on Nordi from 85.16.109.252 -[info][2025/05/02 17:08:33]: nordi requested all players. -[info][2025/05/02 17:08:39]: nordi requested player with citizenid JCQ27225. -[info][2025/05/02 17:08:43]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/02 17:09:07]: nordi requested item list. -[info][2025/05/02 17:09:17]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/02 17:09:19]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/02 19:29:22]: Login attempt on Tim from 109.68.107.162 -[info][2025/05/02 19:29:26]: tim requested all accounts. -[info][2025/05/02 19:29:27]: tim requested all players. -[info][2025/05/02 19:29:30]: tim requested player with citizenid AOJ19157. -[info][2025/05/02 19:29:32]: tim requested heal for citizenid AOJ19157. -[info][2025/05/02 19:29:32]: tim requested player with citizenid AOJ19157. -[info][2025/05/02 19:29:33]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/02 19:29:33]: tim requested player with citizenid AOJ19157. -[info][2025/05/02 19:29:33]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/02 19:29:33]: tim requested player with citizenid AOJ19157. -[info][2025/05/02 19:29:34]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/02 19:29:34]: tim requested player with citizenid AOJ19157. -[info][2025/05/02 19:29:35]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/02 19:29:35]: tim requested player with citizenid AOJ19157. -[info][2025/05/02 19:47:06]: tim requested change jobs. -[info][2025/05/02 19:47:08]: tim requested change job for citizenid AOJ19157. -[info][2025/05/02 19:47:08]: tim requested player with citizenid AOJ19157. -[info][2025/05/02 21:40:37]: Login attempt on Tim from 109.68.107.162 -[info][2025/05/02 21:40:40]: tim requested all players. -[info][2025/05/02 21:40:43]: tim requested player with citizenid AOJ19157. -[info][2025/05/02 21:40:46]: tim requested heal for citizenid AOJ19157. -[info][2025/05/02 21:40:46]: tim requested player with citizenid AOJ19157. -[info][2025/05/02 21:40:46]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/02 21:40:46]: tim requested player with citizenid AOJ19157. -[info][2025/05/02 21:40:47]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/02 21:40:47]: tim requested player with citizenid AOJ19157. -[info][2025/05/02 21:40:47]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/02 21:40:47]: tim requested player with citizenid AOJ19157. -[info][2025/05/02 21:40:48]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/02 21:40:48]: tim requested player with citizenid AOJ19157. -[info][2025/05/02 21:40:50]: tim requested all players. -[info][2025/05/02 22:08:24]: tim requested all players. -[info][2025/05/02 22:08:28]: tim requested player with citizenid IKW74404. -[info][2025/05/02 22:08:36]: tim requested change charinfo for citizenid IKW74404. -[info][2025/05/02 22:08:37]: tim requested player with citizenid IKW74404. -[info][2025/05/02 22:08:39]: tim requested heal for citizenid IKW74404. -[info][2025/05/02 22:08:39]: tim requested player with citizenid IKW74404. -[info][2025/05/02 22:08:39]: tim requested change meta for citizenid IKW74404. -[info][2025/05/02 22:08:39]: tim requested player with citizenid IKW74404. -[info][2025/05/02 22:08:39]: tim requested change meta for citizenid IKW74404. -[info][2025/05/02 22:08:39]: tim requested player with citizenid IKW74404. -[info][2025/05/02 22:08:40]: tim requested change meta for citizenid IKW74404. -[info][2025/05/02 22:08:40]: tim requested player with citizenid IKW74404. -[info][2025/05/02 22:12:01]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/02 22:12:31]: campers requested player with citizenid GNR11868. -[info][2025/05/02 22:12:45]: campers requested player with citizenid GNR11868. -[info][2025/05/02 22:12:47]: campers requested screenshot for citizenid GNR11868. -[info][2025/05/02 22:42:08]: tim requested heal for citizenid IKW74404. -[info][2025/05/02 22:42:08]: tim requested player with citizenid IKW74404. -[info][2025/05/02 22:42:08]: tim requested change meta for citizenid IKW74404. -[info][2025/05/02 22:42:08]: tim requested player with citizenid IKW74404. -[info][2025/05/02 22:42:09]: tim requested change meta for citizenid IKW74404. -[info][2025/05/02 22:42:09]: tim requested player with citizenid IKW74404. -[info][2025/05/02 22:42:09]: tim requested change meta for citizenid IKW74404. -[info][2025/05/02 22:42:09]: tim requested player with citizenid IKW74404. -[info][2025/05/02 22:42:10]: tim requested change meta for citizenid IKW74404. -[info][2025/05/02 22:42:10]: tim requested player with citizenid IKW74404. -[info][2025/05/03 00:13:51]: campers requested all players. -[info][2025/05/03 00:14:00]: campers requested player with citizenid OHM07543. -[info][2025/05/03 00:14:03]: campers requested change meta for citizenid OHM07543. -[info][2025/05/03 00:14:03]: campers requested player with citizenid OHM07543. -[info][2025/05/03 00:14:04]: campers requested heal for citizenid OHM07543. -[info][2025/05/03 00:14:04]: campers requested player with citizenid OHM07543. -[info][2025/05/03 00:14:05]: campers requested change meta for citizenid OHM07543. -[info][2025/05/03 00:14:05]: campers requested player with citizenid OHM07543. -[info][2025/05/03 01:39:23]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/03 01:44:16]: campers requested player with citizenid OHM07543. -[info][2025/05/03 01:44:20]: campers requested inventory for citizenid OHM07543. -[info][2025/05/03 01:44:22]: campers requested move item for citizenid OHM07543. -[info][2025/05/03 01:44:24]: campers requested item list. -[info][2025/05/03 01:44:35]: campers requested add item for citizenid OHM07543. -[info][2025/05/03 01:44:40]: campers requested item list. -[info][2025/05/03 01:44:49]: campers requested add item for citizenid OHM07543. -[info][2025/05/03 01:44:54]: campers requested move item for citizenid OHM07543. -[info][2025/05/03 01:45:53]: campers requested item list. -[info][2025/05/03 01:46:03]: campers requested add item for citizenid OHM07543. -[info][2025/05/03 02:57:59]: campers requested player with citizenid ELV21478. -[info][2025/05/03 02:58:03]: campers requested inventory for citizenid ELV21478. -[info][2025/05/03 02:58:04]: campers requested item list. -[info][2025/05/03 02:58:15]: campers requested add item for citizenid ELV21478. -[info][2025/05/03 02:58:18]: campers requested item list. -[info][2025/05/03 02:58:25]: campers requested add item for citizenid ELV21478. -[info][2025/05/03 03:57:35]: Login attempt on Nordi from 95.33.62.27 -[info][2025/05/03 05:26:57]: Login attempt on Nordi from 95.33.62.27 -[info][2025/05/03 05:27:02]: nordi requested all players. -[info][2025/05/03 05:27:05]: nordi requested player with citizenid JCQ27225. -[info][2025/05/03 05:27:08]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/03 05:27:11]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/03 05:27:22]: nordi requested item list. -[info][2025/05/03 06:24:42]: Login attempt on Nordi from 95.33.62.27 -[info][2025/05/03 07:16:08]: nordi requested all players. -[info][2025/05/03 12:42:07]: Login attempt on Max from 89.247.160.139 -[info][2025/05/03 12:42:18]: max requested player with citizenid DSC01606. -[info][2025/05/03 12:42:28]: max requested change meta for citizenid DSC01606. -[info][2025/05/03 12:42:28]: max requested player with citizenid DSC01606. -[info][2025/05/03 12:42:29]: max requested change meta for citizenid DSC01606. -[info][2025/05/03 12:42:29]: max requested player with citizenid DSC01606. -[info][2025/05/03 12:42:31]: max requested heal for citizenid DSC01606. -[info][2025/05/03 12:42:31]: max requested player with citizenid DSC01606. -[info][2025/05/03 13:27:26]: Login attempt on Max from 89.247.160.139 -[info][2025/05/03 13:27:33]: max requested player with citizenid DSC01606. -[info][2025/05/03 13:27:37]: max requested heal for citizenid DSC01606. -[info][2025/05/03 13:27:37]: max requested player with citizenid DSC01606. -[info][2025/05/03 13:28:17]: max requested heal for citizenid DSC01606. -[info][2025/05/03 13:28:17]: max requested player with citizenid DSC01606. -[info][2025/05/03 13:28:19]: max requested change meta for citizenid DSC01606. -[info][2025/05/03 13:28:19]: max requested player with citizenid DSC01606. -[info][2025/05/03 13:28:20]: max requested change meta for citizenid DSC01606. -[info][2025/05/03 13:28:20]: max requested player with citizenid DSC01606. -[info][2025/05/03 15:38:55]: Login attempt on Nordi from 95.33.62.27 -[info][2025/05/03 15:45:55]: Login attempt on Tim from 109.68.107.162 -[info][2025/05/03 15:45:55]: tim requested heal for citizenid undefined. -[info][2025/05/03 15:46:04]: Login attempt on Tim from 109.68.107.162 -[info][2025/05/03 15:46:07]: tim requested all players. -[info][2025/05/03 15:46:10]: tim requested player with citizenid AOJ19157. -[info][2025/05/03 15:46:12]: tim requested heal for citizenid AOJ19157. -[info][2025/05/03 15:46:12]: tim requested player with citizenid AOJ19157. -[info][2025/05/03 15:46:12]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/03 15:46:12]: tim requested player with citizenid AOJ19157. -[info][2025/05/03 15:46:13]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/03 15:46:13]: tim requested player with citizenid AOJ19157. -[info][2025/05/03 15:46:13]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/03 15:46:13]: tim requested player with citizenid AOJ19157. -[info][2025/05/03 16:29:27]: nordi requested all players. -[info][2025/05/03 16:29:30]: nordi requested player with citizenid JCQ27225. -[info][2025/05/03 16:29:37]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/03 16:29:39]: nordi requested item list. -[info][2025/05/03 16:29:45]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/03 17:10:10]: tim requested heal for citizenid AOJ19157. -[info][2025/05/03 17:10:10]: tim requested player with citizenid AOJ19157. -[info][2025/05/03 17:10:11]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/03 17:10:11]: tim requested player with citizenid AOJ19157. -[info][2025/05/03 17:10:12]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/03 17:10:12]: tim requested player with citizenid AOJ19157. -[info][2025/05/03 17:10:12]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/03 17:10:12]: tim requested player with citizenid AOJ19157. -[info][2025/05/03 17:10:14]: tim requested all players. -[info][2025/05/03 17:10:17]: tim requested player with citizenid PCC19872. -[info][2025/05/03 17:10:19]: tim requested heal for citizenid PCC19872. -[info][2025/05/03 17:10:19]: tim requested player with citizenid PCC19872. -[info][2025/05/03 17:10:19]: tim requested change meta for citizenid PCC19872. -[info][2025/05/03 17:10:19]: tim requested player with citizenid PCC19872. -[info][2025/05/03 17:10:20]: tim requested change meta for citizenid PCC19872. -[info][2025/05/03 17:10:20]: tim requested player with citizenid PCC19872. -[info][2025/05/03 17:10:21]: tim requested change meta for citizenid PCC19872. -[info][2025/05/03 17:10:21]: tim requested player with citizenid PCC19872. -[info][2025/05/03 17:10:23]: tim requested all players. -[info][2025/05/03 17:10:30]: tim requested player with citizenid JCQ27225. -[info][2025/05/03 17:10:31]: tim requested heal for citizenid JCQ27225. -[info][2025/05/03 17:10:31]: tim requested player with citizenid JCQ27225. -[info][2025/05/03 17:10:32]: tim requested change meta for citizenid JCQ27225. -[info][2025/05/03 17:10:32]: tim requested player with citizenid JCQ27225. -[info][2025/05/03 17:10:32]: tim requested change meta for citizenid JCQ27225. -[info][2025/05/03 17:10:32]: tim requested player with citizenid JCQ27225. -[info][2025/05/03 17:10:33]: tim requested change meta for citizenid JCQ27225. -[info][2025/05/03 17:10:33]: tim requested player with citizenid JCQ27225. -[info][2025/05/03 17:10:35]: tim requested all players. -[info][2025/05/03 17:10:38]: tim requested player with citizenid AOJ19157. -[info][2025/05/03 17:10:43]: tim requested inventory for citizenid AOJ19157. -[info][2025/05/03 17:10:46]: tim requested item list. -[info][2025/05/03 17:10:56]: tim requested add item for citizenid AOJ19157. -[info][2025/05/03 19:42:01]: Login attempt on Nordi from 95.33.62.27 -[info][2025/05/03 23:10:06]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/04 03:35:26]: Login attempt on Nordi from 85.16.108.27 -[info][2025/05/04 03:35:49]: Login attempt on Nordi from 85.16.108.27 -[info][2025/05/04 17:55:23]: Login attempt on Nordi from 85.16.108.27 -[info][2025/05/04 18:09:07]: Login attempt on Nordi from 85.16.108.27 -[info][2025/05/04 18:09:42]: nordi requested all players. -[info][2025/05/04 18:09:44]: nordi requested player with citizenid JCQ27225. -[info][2025/05/04 18:09:47]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/04 18:09:48]: nordi requested item list. -[info][2025/05/04 18:09:54]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/04 18:30:14]: nordi requested item list. -[info][2025/05/04 18:30:23]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/04 18:31:09]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/04 18:34:50]: Login attempt on Nordi from 85.16.108.27 -[info][2025/05/04 18:35:04]: nordi requested all players. -[info][2025/05/04 20:07:23]: nordi requested all players. -[info][2025/05/04 20:07:26]: nordi requested player with citizenid JCQ27225. -[info][2025/05/04 20:07:33]: nordi requested change meta for citizenid JCQ27225. -[info][2025/05/04 20:07:33]: nordi requested player with citizenid JCQ27225. -[info][2025/05/04 20:07:33]: nordi requested change meta for citizenid JCQ27225. -[info][2025/05/04 20:07:33]: nordi requested player with citizenid JCQ27225. -[info][2025/05/04 20:07:37]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/04 20:07:38]: nordi requested item list. -[info][2025/05/04 20:07:48]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/04 20:19:28]: nordi requested item list. -[info][2025/05/04 20:19:33]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/04 20:19:34]: nordi requested item list. -[info][2025/05/04 20:19:40]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/04 20:20:15]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/04 20:20:21]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/04 20:20:22]: nordi requested item list. -[info][2025/05/04 20:20:30]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/04 20:20:45]: nordi requested item list. -[info][2025/05/04 20:20:51]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/04 20:21:52]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/04 20:21:55]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/04 20:21:56]: nordi requested item list. -[info][2025/05/04 20:22:03]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/04 20:22:56]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/04 21:18:08]: nordi requested all players. -[info][2025/05/04 21:18:11]: nordi requested all players. -[info][2025/05/04 21:18:12]: nordi requested all players. -[info][2025/05/04 21:18:13]: nordi requested all players. -[info][2025/05/04 21:18:14]: nordi requested all players. -[info][2025/05/04 21:18:29]: nordi requested player with citizenid GNR11868. -[info][2025/05/04 21:18:32]: nordi requested inventory for citizenid GNR11868. -[info][2025/05/04 21:18:34]: nordi requested item list. -[info][2025/05/04 21:18:41]: nordi requested add item for citizenid GNR11868. -[info][2025/05/04 21:18:42]: nordi requested item list. -[info][2025/05/04 21:18:49]: nordi requested add item for citizenid GNR11868. -[info][2025/05/04 21:56:55]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/04 21:58:51]: campers requested player with citizenid OHM07543. -[info][2025/05/04 21:58:55]: campers requested inventory for citizenid OHM07543. -[info][2025/05/04 21:58:57]: campers requested item list. -[info][2025/05/04 21:59:06]: campers requested add item for citizenid OHM07543. -[info][2025/05/04 22:13:35]: campers requested item list. -[info][2025/05/04 22:13:54]: campers requested add item for citizenid OHM07543. -[info][2025/05/05 00:33:38]: campers requested inventory for citizenid OHM07543. -[info][2025/05/05 07:48:07]: Login attempt on Nordi from 95.33.58.51 -[info][2025/05/05 07:48:07]: nordi requested all players. -[info][2025/05/05 07:48:09]: Login attempt on Nordi from 95.33.58.51 -[info][2025/05/05 07:48:11]: nordi requested all players. -[info][2025/05/05 07:48:13]: nordi requested player with citizenid JCQ27225. -[info][2025/05/05 07:48:18]: nordi requested heal for citizenid JCQ27225. -[info][2025/05/05 07:48:18]: nordi requested player with citizenid JCQ27225. -[info][2025/05/05 07:48:22]: nordi requested heal for citizenid JCQ27225. -[info][2025/05/05 07:48:22]: nordi requested player with citizenid JCQ27225. -[info][2025/05/05 07:48:29]: nordi requested change meta for citizenid JCQ27225. -[info][2025/05/05 07:48:29]: nordi requested player with citizenid JCQ27225. -[info][2025/05/05 07:48:29]: nordi requested change meta for citizenid JCQ27225. -[info][2025/05/05 07:48:29]: nordi requested player with citizenid JCQ27225. -[info][2025/05/05 07:48:31]: nordi requested heal for citizenid JCQ27225. -[info][2025/05/05 07:48:31]: nordi requested player with citizenid JCQ27225. -[info][2025/05/05 07:48:31]: nordi requested heal for citizenid JCQ27225. -[info][2025/05/05 07:48:31]: nordi requested player with citizenid JCQ27225. -[info][2025/05/05 07:48:31]: nordi requested heal for citizenid JCQ27225. -[info][2025/05/05 07:48:31]: nordi requested player with citizenid JCQ27225. -[info][2025/05/05 15:28:12]: Login attempt on Max from 89.247.160.131 -[info][2025/05/05 15:28:16]: max requested player with citizenid DSC01606. -[info][2025/05/05 15:28:23]: max requested heal for citizenid DSC01606. -[info][2025/05/05 15:28:23]: max requested player with citizenid DSC01606. -[info][2025/05/05 15:28:24]: max requested change meta for citizenid DSC01606. -[info][2025/05/05 15:28:24]: max requested player with citizenid DSC01606. -[info][2025/05/05 15:28:24]: max requested change meta for citizenid DSC01606. -[info][2025/05/05 15:28:24]: max requested player with citizenid DSC01606. -[info][2025/05/05 15:28:29]: max requested change meta for citizenid DSC01606. -[info][2025/05/05 15:28:29]: max requested player with citizenid DSC01606. -[info][2025/05/05 15:28:31]: max requested change meta for citizenid DSC01606. -[info][2025/05/05 15:28:31]: max requested player with citizenid DSC01606. -[info][2025/05/05 15:29:06]: max requested player vehicles for citizenid DSC01606. -[info][2025/05/05 15:29:14]: max requested vehicle with id 23. -[info][2025/05/05 15:29:48]: max requested all players. -[info][2025/05/05 17:12:11]: max requested player with citizenid DSC01606. -[info][2025/05/05 17:12:15]: max requested heal for citizenid DSC01606. -[info][2025/05/05 17:12:16]: max requested player with citizenid DSC01606. -[info][2025/05/05 17:12:16]: max requested change meta for citizenid DSC01606. -[info][2025/05/05 17:12:16]: max requested player with citizenid DSC01606. -[info][2025/05/05 17:12:17]: max requested change meta for citizenid DSC01606. -[info][2025/05/05 17:12:17]: max requested player with citizenid DSC01606. -[info][2025/05/05 18:28:51]: max requested all players. -[info][2025/05/05 19:15:35]: Login attempt on Nordi from 95.33.58.51 -[info][2025/05/05 20:01:26]: Login attempt on MiniChaoz from 188.126.174.106 -[info][2025/05/05 20:01:28]: Login attempt on from 95.33.58.51 -[info][2025/05/05 20:01:29]: minichaoz requested all players. -[info][2025/05/05 20:01:30]: Login attempt on Nordi from 95.33.58.51 -[info][2025/05/05 20:01:32]: nordi requested all players. -[info][2025/05/05 20:01:38]: minichaoz requested player with citizenid JCQ27225. -[info][2025/05/05 20:01:44]: minichaoz requested heal for citizenid JCQ27225. -[info][2025/05/05 20:01:44]: minichaoz requested player with citizenid JCQ27225. -[info][2025/05/05 20:11:28]: Login attempt on Tim from 109.68.107.162 -[info][2025/05/05 20:11:28]: tim requested all players. -[info][2025/05/05 20:11:31]: Login attempt on Tim from 109.68.107.162 -[info][2025/05/05 20:11:32]: tim requested all players. -[info][2025/05/05 20:11:35]: tim requested player with citizenid JCQ27225. -[info][2025/05/05 20:11:37]: tim requested heal for citizenid JCQ27225. -[info][2025/05/05 20:11:37]: tim requested player with citizenid JCQ27225. -[info][2025/05/05 20:11:37]: tim requested heal for citizenid JCQ27225. -[info][2025/05/05 20:11:37]: tim requested player with citizenid JCQ27225. -[info][2025/05/05 20:11:38]: tim requested change meta for citizenid JCQ27225. -[info][2025/05/05 20:11:38]: tim requested player with citizenid JCQ27225. -[info][2025/05/05 20:11:38]: tim requested change meta for citizenid JCQ27225. -[info][2025/05/05 20:11:38]: tim requested player with citizenid JCQ27225. -[info][2025/05/05 20:11:39]: tim requested change meta for citizenid JCQ27225. -[info][2025/05/05 20:11:39]: tim requested player with citizenid JCQ27225. -[info][2025/05/05 20:11:40]: tim requested change meta for citizenid JCQ27225. -[info][2025/05/05 20:11:40]: tim requested player with citizenid JCQ27225. -[info][2025/05/05 21:08:16]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/05 21:08:17]: Login attempt on Nordi from 95.33.58.51 -[info][2025/05/05 23:12:11]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/05 23:38:40]: campers requested player with citizenid PCC19872. -[info][2025/05/05 23:38:48]: campers requested screenshot for citizenid PCC19872. -[info][2025/05/06 03:00:16]: campers requested player with citizenid PCC19872. -[info][2025/05/06 17:51:36]: Login attempt on Tim from 109.68.107.162 -[info][2025/05/06 17:51:36]: tim requested all players. -[info][2025/05/06 17:51:38]: Login attempt on Tim from 109.68.107.162 -[info][2025/05/06 17:51:40]: tim requested all players. -[info][2025/05/06 17:51:42]: tim requested player with citizenid VHM17991. -[info][2025/05/06 17:51:56]: tim requested change charinfo for citizenid VHM17991. -[info][2025/05/06 17:51:56]: tim requested player with citizenid VHM17991. -[info][2025/05/06 17:52:00]: tim requested all players. -[info][2025/05/06 18:05:24]: Login attempt on Tim from 109.68.107.162 -[info][2025/05/06 18:05:27]: Login attempt on Tim from 109.68.107.162 -[info][2025/05/06 18:05:29]: tim requested all players. -[info][2025/05/06 18:05:31]: tim requested player with citizenid AOJ19157. -[info][2025/05/06 18:05:33]: tim requested heal for citizenid AOJ19157. -[info][2025/05/06 18:05:33]: tim requested player with citizenid AOJ19157. -[info][2025/05/06 18:05:33]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/06 18:05:33]: tim requested player with citizenid AOJ19157. -[info][2025/05/06 18:05:34]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/06 18:05:34]: tim requested player with citizenid AOJ19157. -[info][2025/05/06 18:05:35]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/06 18:05:35]: tim requested player with citizenid AOJ19157. -[info][2025/05/06 18:05:35]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/06 18:05:35]: tim requested player with citizenid AOJ19157. -[info][2025/05/06 18:07:26]: Login attempt on Nordi from 85.16.104.73 -[info][2025/05/06 18:10:12]: tim requested change jobs. -[info][2025/05/06 18:10:19]: tim requested change jobs. -[info][2025/05/06 18:10:27]: tim requested change job for citizenid AOJ19157. -[info][2025/05/06 18:10:27]: tim requested player with citizenid AOJ19157. -[info][2025/05/06 19:48:21]: Login attempt on Nordi from 85.16.104.73 -[info][2025/05/06 19:48:35]: Login attempt on Tim from 109.68.107.162 -[info][2025/05/06 19:48:35]: tim requested all players. -[info][2025/05/06 19:48:37]: Login attempt on Tim from 109.68.107.162 -[info][2025/05/06 19:48:39]: tim requested all accounts. -[info][2025/05/06 19:48:41]: tim requested all players. -[info][2025/05/06 19:48:41]: tim requested all accounts. -[info][2025/05/06 19:48:49]: tim requested all accounts. -[info][2025/05/06 19:48:52]: nordi requested all vehicles. -[info][2025/05/06 19:48:55]: tim requested all accounts. -[info][2025/05/06 19:48:59]: tim requested all stashes. -[info][2025/05/06 19:49:22]: tim requested all users. -[info][2025/05/06 19:49:24]: tim requested all roles. -[info][2025/05/06 19:50:42]: tim requested all players. -[info][2025/05/06 19:50:53]: tim requested player with citizenid AOJ19157. -[info][2025/05/06 20:38:31]: Login attempt on Nordi from 85.16.104.73 -[info][2025/05/06 20:38:40]: nordi requested all vehicles. -[info][2025/05/06 20:38:40]: nordi requested all players. -[info][2025/05/06 20:38:45]: nordi requested all players. -[info][2025/05/06 20:38:48]: nordi requested player with citizenid JCQ27225. -[info][2025/05/06 20:38:51]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/06 20:38:57]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/06 20:38:58]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/06 20:39:01]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/06 20:39:15]: nordi requested item list. -[info][2025/05/06 20:39:36]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/06 20:39:37]: nordi requested item list. -[info][2025/05/06 20:39:46]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/06 20:39:47]: nordi requested item list. -[info][2025/05/06 20:39:55]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/06 20:45:18]: nordi requested item list. -[info][2025/05/06 20:49:30]: nordi requested item list. -[info][2025/05/06 20:49:40]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/06 20:49:42]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/06 20:52:29]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/06 20:52:31]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/06 20:59:11]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/06 21:01:02]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/06 21:01:05]: nordi requested item list. -[info][2025/05/06 21:02:36]: nordi requested item list. -[info][2025/05/06 21:02:43]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/06 21:08:33]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/06 21:08:34]: nordi requested item list. -[info][2025/05/06 21:09:03]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/06 21:09:44]: nordi requested item list. -[info][2025/05/06 21:13:43]: nordi requested item list. -[info][2025/05/06 21:15:36]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/06 21:15:37]: nordi requested item list. -[info][2025/05/06 21:15:43]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/06 21:16:07]: nordi requested item list. -[info][2025/05/06 21:16:51]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/06 21:24:29]: Login attempt on Nordi from 85.16.104.73 -[info][2025/05/06 21:24:40]: nordi requested all players. -[info][2025/05/06 21:24:44]: nordi requested player with citizenid JCQ27225. -[info][2025/05/06 21:24:46]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/06 21:24:48]: nordi requested item list. -[info][2025/05/06 21:28:05]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/06 21:28:07]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/06 21:28:08]: nordi requested item list. -[info][2025/05/06 21:28:16]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/06 21:44:11]: Login attempt on Nordi from 85.16.104.73 -[info][2025/05/06 21:44:14]: nordi requested all players. -[info][2025/05/06 21:44:17]: nordi requested player with citizenid JCQ27225. -[info][2025/05/06 21:44:20]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/06 21:44:21]: nordi requested item list. -[info][2025/05/06 21:44:28]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/06 21:55:09]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/06 21:55:09]: nordi requested item list. -[info][2025/05/06 21:55:17]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/06 21:57:14]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/06 21:57:17]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/06 21:57:18]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/06 21:57:19]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/06 22:09:05]: Login attempt on Nordi from 85.16.104.73 -[info][2025/05/06 22:18:37]: Login attempt on Nordi from 85.16.104.73 -[info][2025/05/06 22:47:38]: Login attempt on Tim from 109.68.107.162 -[info][2025/05/06 22:47:40]: tim requested all players. -[info][2025/05/06 22:47:43]: tim requested player with citizenid AOJ19157. -[info][2025/05/06 22:47:45]: tim requested heal for citizenid AOJ19157. -[info][2025/05/06 22:47:45]: tim requested player with citizenid AOJ19157. -[info][2025/05/06 22:47:46]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/06 22:47:46]: tim requested player with citizenid AOJ19157. -[info][2025/05/06 22:47:46]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/06 22:47:46]: tim requested player with citizenid AOJ19157. -[info][2025/05/06 22:47:47]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/06 22:47:47]: tim requested player with citizenid AOJ19157. -[info][2025/05/06 22:47:48]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/06 22:47:48]: tim requested player with citizenid AOJ19157. -[info][2025/05/06 22:56:12]: tim requested remove money bank for citizenid AOJ19157. -[info][2025/05/06 22:56:12]: tim requested player with citizenid AOJ19157. -[info][2025/05/06 22:56:17]: tim requested remove money bank for citizenid AOJ19157. -[info][2025/05/06 22:56:17]: tim requested player with citizenid AOJ19157. -[info][2025/05/06 22:56:24]: tim requested add money bank for citizenid AOJ19157. -[info][2025/05/06 22:56:25]: tim requested player with citizenid AOJ19157. -[info][2025/05/07 13:48:17]: Login attempt on from 109.68.107.162 -[info][2025/05/07 13:48:19]: Login attempt on Tim from 109.68.107.162 -[info][2025/05/07 13:48:21]: tim requested all players. -[info][2025/05/07 13:48:23]: tim requested player with citizenid AOJ19157. -[info][2025/05/07 13:48:25]: tim requested heal for citizenid AOJ19157. -[info][2025/05/07 13:48:25]: tim requested player with citizenid AOJ19157. -[info][2025/05/07 13:48:25]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/07 13:48:25]: tim requested player with citizenid AOJ19157. -[info][2025/05/07 13:48:26]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/07 13:48:26]: tim requested player with citizenid AOJ19157. -[info][2025/05/07 13:48:26]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/07 13:48:26]: tim requested player with citizenid AOJ19157. -[info][2025/05/07 13:48:26]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/07 13:48:26]: tim requested player with citizenid AOJ19157. -[info][2025/05/07 18:39:26]: Login attempt on Max from 89.247.160.157 -[info][2025/05/07 18:39:30]: max requested all players. -[info][2025/05/07 18:39:42]: max requested player with citizenid DSC01606. -[info][2025/05/07 18:39:47]: max requested heal for citizenid DSC01606. -[info][2025/05/07 18:39:47]: max requested player with citizenid DSC01606. -[info][2025/05/07 18:39:50]: max requested change meta for citizenid DSC01606. -[info][2025/05/07 18:39:50]: max requested player with citizenid DSC01606. -[info][2025/05/07 18:39:51]: max requested change meta for citizenid DSC01606. -[info][2025/05/07 18:39:51]: max requested player with citizenid DSC01606. -[info][2025/05/07 18:39:54]: max requested heal for citizenid DSC01606. -[info][2025/05/07 18:39:54]: max requested player with citizenid DSC01606. -[info][2025/05/07 19:31:37]: Login attempt on Max from 89.247.160.157 -[info][2025/05/07 20:09:21]: max requested player with citizenid DSC01606. -[info][2025/05/07 20:09:28]: max requested change meta for citizenid DSC01606. -[info][2025/05/07 20:09:28]: max requested player with citizenid DSC01606. -[info][2025/05/07 20:09:29]: max requested change meta for citizenid DSC01606. -[info][2025/05/07 20:09:29]: max requested player with citizenid DSC01606. -[info][2025/05/07 20:09:30]: max requested heal for citizenid DSC01606. -[info][2025/05/07 20:09:30]: max requested player with citizenid DSC01606. -[info][2025/05/07 20:09:34]: max requested change jobs. -[info][2025/05/07 20:09:42]: max requested change job for citizenid DSC01606. -[info][2025/05/07 20:09:42]: max requested player with citizenid DSC01606. -[info][2025/05/07 20:19:59]: Login attempt on Nordi from 95.33.56.11 -[info][2025/05/07 20:25:19]: max requested inventory for citizenid DSC01606. -[info][2025/05/07 20:25:25]: max requested item list. -[info][2025/05/07 20:27:39]: max requested add item for citizenid DSC01606. -[info][2025/05/07 20:28:46]: max requested item list. -[info][2025/05/07 20:33:28]: max requested item list. -[info][2025/05/07 20:36:02]: max requested item list. -[info][2025/05/07 20:36:28]: max requested clear inv for citizenid DSC01606. -[info][2025/05/07 20:36:34]: max requested all vehicles. -[info][2025/05/07 20:37:54]: max requested all stashes. -[info][2025/05/07 20:37:58]: max requested all players. -[info][2025/05/07 20:38:09]: max requested player with citizenid DSC01606. -[info][2025/05/07 20:38:17]: max requested inventory for citizenid DSC01606. -[info][2025/05/07 20:38:20]: max requested item list. -[info][2025/05/07 21:04:41]: Login attempt on Max from 89.247.160.157 -[info][2025/05/07 21:04:42]: max requested player with citizenid DSC01606. -[info][2025/05/07 21:04:45]: Login attempt on from 89.247.160.157 -[info][2025/05/07 21:04:47]: Login attempt on Max from 89.247.160.157 -[info][2025/05/07 21:56:24]: Login attempt on Tim from 109.68.107.162 -[info][2025/05/07 21:56:26]: tim requested all players. -[info][2025/05/07 21:56:29]: tim requested player with citizenid AOJ19157. -[info][2025/05/07 21:56:31]: tim requested heal for citizenid AOJ19157. -[info][2025/05/07 21:56:31]: tim requested player with citizenid AOJ19157. -[info][2025/05/07 21:56:31]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/07 21:56:31]: tim requested player with citizenid AOJ19157. -[info][2025/05/07 21:56:31]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/07 21:56:31]: tim requested player with citizenid AOJ19157. -[info][2025/05/07 21:56:32]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/07 21:56:32]: tim requested player with citizenid AOJ19157. -[info][2025/05/07 21:56:32]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/07 21:56:32]: tim requested player with citizenid AOJ19157. -[info][2025/05/07 22:20:55]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/07 22:21:03]: campers requested player with citizenid AOJ19157. -[info][2025/05/07 22:53:47]: Login attempt on Nordi from 95.33.56.11 -[info][2025/05/07 23:01:55]: Login attempt on Nordi from 95.33.56.11 -[info][2025/05/07 23:03:30]: nordi requested all players. -[info][2025/05/07 23:03:33]: nordi requested player with citizenid JCQ27225. -[info][2025/05/07 23:03:42]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/07 23:03:45]: nordi requested item list. -[info][2025/05/07 23:03:51]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/07 23:12:00]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/07 23:12:14]: campers requested player with citizenid JQK75222. -[info][2025/05/07 23:12:34]: campers requested player with citizenid JCQ27225. -[info][2025/05/07 23:12:37]: campers requested screenshot for citizenid JCQ27225. -[info][2025/05/07 23:12:54]: campers requested player with citizenid AOJ19157. -[info][2025/05/07 23:12:56]: campers requested screenshot for citizenid AOJ19157. -[info][2025/05/07 23:13:10]: campers requested player with citizenid JQK75222. -[info][2025/05/07 23:13:12]: campers requested screenshot for citizenid JQK75222. -[info][2025/05/07 23:13:47]: campers requested player with citizenid AOJ19157. -[info][2025/05/07 23:29:09]: nordi requested all players. -[info][2025/05/07 23:29:11]: nordi requested player with citizenid JCQ27225. -[info][2025/05/07 23:31:59]: nordi requested all players. -[info][2025/05/07 23:32:01]: nordi requested player with citizenid JCQ27225. -[info][2025/05/07 23:32:04]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/07 23:32:06]: nordi requested item list. -[info][2025/05/07 23:32:15]: nordi requested item list. -[info][2025/05/07 23:32:20]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/07 23:32:42]: nordi requested item list. -[info][2025/05/07 23:32:49]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/08 00:00:49]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/08 00:00:52]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/08 00:01:01]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/08 00:01:03]: nordi requested item list. -[info][2025/05/08 00:01:13]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/08 00:01:30]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/08 00:03:11]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/08 00:03:12]: nordi requested item list. -[info][2025/05/08 00:03:21]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/08 00:03:23]: nordi requested item list. -[info][2025/05/08 00:03:31]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/08 00:03:43]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/08 00:03:46]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/08 00:06:36]: nordi requested all players. -[info][2025/05/08 00:06:42]: nordi requested player with citizenid AOJ19157. -[info][2025/05/08 00:06:45]: nordi requested inventory for citizenid AOJ19157. -[info][2025/05/08 00:06:46]: nordi requested item list. -[info][2025/05/08 00:06:51]: nordi requested add item for citizenid AOJ19157. -[info][2025/05/08 00:06:52]: nordi requested item list. -[info][2025/05/08 00:06:59]: nordi requested add item for citizenid AOJ19157. -[info][2025/05/08 00:08:42]: campers requested player with citizenid JCQ27225. -[info][2025/05/08 00:08:45]: campers requested screenshot for citizenid JCQ27225. -[info][2025/05/08 00:08:56]: campers requested player with citizenid AOJ19157. -[info][2025/05/08 00:08:58]: campers requested screenshot for citizenid AOJ19157. -[info][2025/05/08 01:26:10]: nordi requested inventory for citizenid AOJ19157. -[info][2025/05/08 19:54:49]: Login attempt on Max from 89.247.160.128 -[info][2025/05/08 19:54:53]: max requested all players. -[info][2025/05/08 19:55:06]: max requested player with citizenid DUD53794. -[info][2025/05/08 19:55:11]: max requested change jobs. -[info][2025/05/08 19:55:22]: max requested change job for citizenid DUD53794. -[info][2025/05/08 19:55:22]: max requested player with citizenid DUD53794. -[info][2025/05/08 19:56:06]: max requested player with citizenid DSC01606. -[info][2025/05/08 19:56:12]: max requested heal for citizenid DSC01606. -[info][2025/05/08 19:56:12]: max requested player with citizenid DSC01606. -[info][2025/05/08 19:56:14]: max requested heal for citizenid DSC01606. -[info][2025/05/08 19:56:14]: max requested player with citizenid DSC01606. -[info][2025/05/08 19:56:15]: max requested heal for citizenid DSC01606. -[info][2025/05/08 19:56:15]: max requested player with citizenid DSC01606. -[info][2025/05/08 19:56:16]: max requested heal for citizenid DSC01606. -[info][2025/05/08 19:56:16]: max requested player with citizenid DSC01606. -[info][2025/05/08 19:56:16]: max requested heal for citizenid DSC01606. -[info][2025/05/08 19:56:16]: max requested player with citizenid DSC01606. -[info][2025/05/08 19:56:20]: max requested change meta for citizenid DSC01606. -[info][2025/05/08 19:56:20]: max requested player with citizenid DSC01606. -[info][2025/05/08 19:56:21]: max requested change meta for citizenid DSC01606. -[info][2025/05/08 19:56:21]: max requested player with citizenid DSC01606. -[info][2025/05/08 19:56:22]: max requested change meta for citizenid DSC01606. -[info][2025/05/08 19:56:22]: max requested player with citizenid DSC01606. -[info][2025/05/08 19:56:22]: max requested change meta for citizenid DSC01606. -[info][2025/05/08 19:56:22]: max requested player with citizenid DSC01606. -[info][2025/05/08 19:58:04]: max requested heal for citizenid DSC01606. -[info][2025/05/08 19:58:04]: max requested player with citizenid DSC01606. -[info][2025/05/08 19:58:12]: max requested heal for citizenid DSC01606. -[info][2025/05/08 19:58:12]: max requested player with citizenid DSC01606. -[info][2025/05/08 19:58:12]: max requested heal for citizenid DSC01606. -[info][2025/05/08 19:58:13]: max requested player with citizenid DSC01606. -[info][2025/05/08 21:27:50]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/08 21:27:57]: campers requested player with citizenid DUD53794. -[info][2025/05/08 21:28:01]: campers requested screenshot for citizenid DUD53794. -[info][2025/05/08 21:29:49]: campers requested player with citizenid DUD53794. -[info][2025/05/08 21:30:02]: campers requested all accounts. -[info][2025/05/08 21:40:35]: campers requested player with citizenid OHM07543. -[info][2025/05/08 21:40:41]: campers requested inventory for citizenid OHM07543. -[info][2025/05/08 21:40:48]: campers requested delete item for citizenid OHM07543. -[info][2025/05/08 21:40:50]: campers requested item list. -[info][2025/05/08 21:41:06]: campers requested add item for citizenid OHM07543. -[info][2025/05/08 21:41:10]: campers requested move item for citizenid OHM07543. -[info][2025/05/08 21:41:12]: campers requested move item for citizenid OHM07543. -[info][2025/05/08 21:41:24]: Login attempt on Nordi from 85.16.104.168 -[info][2025/05/08 21:41:31]: nordi requested all players. -[info][2025/05/08 21:41:33]: nordi requested player with citizenid JCQ27225. -[info][2025/05/08 21:41:36]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/08 21:41:39]: nordi requested item list. -[info][2025/05/08 21:41:48]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/08 21:42:21]: campers requested player with citizenid OHM07543. -[info][2025/05/08 21:42:23]: campers requested all players. -[info][2025/05/08 21:42:28]: campers requested player with citizenid JCQ27225. -[info][2025/05/08 21:42:33]: campers requested inventory for citizenid JCQ27225. -[info][2025/05/08 21:45:16]: campers requested player with citizenid OHM07543. -[info][2025/05/08 21:45:18]: campers requested change meta for citizenid OHM07543. -[info][2025/05/08 21:45:18]: campers requested player with citizenid OHM07543. -[info][2025/05/08 21:45:19]: campers requested change meta for citizenid OHM07543. -[info][2025/05/08 21:45:19]: campers requested player with citizenid OHM07543. -[info][2025/05/08 21:45:21]: campers requested heal for citizenid OHM07543. -[info][2025/05/08 21:45:21]: campers requested player with citizenid OHM07543. -[info][2025/05/08 22:25:42]: nordi requested all players. -[info][2025/05/08 22:25:45]: nordi requested player with citizenid JCQ27225. -[info][2025/05/08 22:25:49]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/08 22:26:21]: campers requested inventory for citizenid OHM07543. -[info][2025/05/08 22:26:22]: campers requested item list. -[info][2025/05/08 22:26:32]: campers requested add item for citizenid OHM07543. -[info][2025/05/08 22:40:08]: nordi requested item list. -[info][2025/05/08 22:40:14]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/08 22:42:58]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/08 22:42:59]: nordi requested item list. -[info][2025/05/08 22:43:05]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/08 22:55:00]: campers requested player with citizenid GNR11868. -[info][2025/05/08 22:55:02]: campers requested screenshot for citizenid GNR11868. -[info][2025/05/08 22:55:10]: campers requested inventory for citizenid GNR11868. -[info][2025/05/08 22:55:14]: campers requested player with citizenid GNR11868. -[info][2025/05/08 22:57:31]: campers requested player with citizenid GNR11868. -[info][2025/05/08 22:57:33]: campers requested screenshot for citizenid GNR11868. -[info][2025/05/08 22:57:57]: campers requested player with citizenid JCQ27225. -[info][2025/05/08 23:16:09]: campers requested player with citizenid JCQ27225. -[info][2025/05/08 23:16:12]: campers requested screenshot for citizenid JCQ27225. -[info][2025/05/08 23:16:23]: campers requested player with citizenid GNR11868. -[info][2025/05/08 23:16:25]: campers requested screenshot for citizenid GNR11868. -[info][2025/05/08 23:54:32]: campers requested change meta for citizenid GNR11868. -[info][2025/05/08 23:54:32]: campers requested player with citizenid GNR11868. -[info][2025/05/08 23:54:46]: campers requested player with citizenid OHM07543. -[info][2025/05/08 23:54:49]: campers requested change meta for citizenid OHM07543. -[info][2025/05/08 23:54:49]: campers requested player with citizenid OHM07543. -[info][2025/05/08 23:54:50]: campers requested change meta for citizenid OHM07543. -[info][2025/05/08 23:54:50]: campers requested player with citizenid OHM07543. -[info][2025/05/08 23:58:11]: campers requested player with citizenid KNL90027. -[info][2025/05/08 23:58:42]: campers requested player with citizenid KNL90027. -[info][2025/05/08 23:58:43]: campers requested screenshot for citizenid KNL90027. -[info][2025/05/08 23:58:49]: campers requested change jobs. -[info][2025/05/08 23:59:03]: campers requested change job for citizenid KNL90027. -[info][2025/05/08 23:59:03]: campers requested player with citizenid KNL90027. -[info][2025/05/08 23:59:12]: campers requested inventory for citizenid KNL90027. -[info][2025/05/08 23:59:15]: campers requested item list. -[info][2025/05/08 23:59:35]: campers requested add item for citizenid KNL90027. -[info][2025/05/09 00:02:15]: campers requested all players. -[info][2025/05/09 00:37:42]: campers requested player with citizenid OHM07543. -[info][2025/05/09 00:37:44]: campers requested player vehicles for citizenid OHM07543. -[info][2025/05/09 00:37:48]: campers requested player with citizenid OHM07543. -[info][2025/05/09 00:37:49]: campers requested player vehicles for citizenid OHM07543. -[info][2025/05/09 00:37:51]: campers requested player with citizenid OHM07543. -[info][2025/05/09 00:38:35]: campers requested player with citizenid OHM07543. -[info][2025/05/09 00:38:37]: campers requested player vehicles for citizenid OHM07543. -[info][2025/05/09 00:38:48]: campers requested all vehicles. -[info][2025/05/09 00:38:58]: campers requested all vehicles. -[info][2025/05/09 00:39:00]: campers requested all vehicles. -[info][2025/05/09 00:39:18]: campers requested all vehicles. -[info][2025/05/09 00:39:39]: campers requested player with citizenid OHM07543. -[info][2025/05/09 00:39:41]: campers requested player vehicles for citizenid OHM07543. -[info][2025/05/09 00:39:45]: campers requested all stashes. -[info][2025/05/09 00:39:47]: campers requested all vehicles. -[info][2025/05/09 00:40:55]: campers requested all vehicles. -[info][2025/05/09 00:41:45]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/09 00:41:49]: campers requested all players. -[info][2025/05/09 00:41:52]: campers requested player with citizenid OHM07543. -[info][2025/05/09 00:41:53]: campers requested player vehicles for citizenid OHM07543. -[info][2025/05/09 00:41:57]: campers requested all vehicles. -[info][2025/05/09 00:42:04]: campers requested all vehicles. -[info][2025/05/09 00:42:22]: campers requested all vehicles. -[info][2025/05/09 00:42:31]: campers requested all accounts. -[info][2025/05/09 00:42:56]: campers requested all vehicles. -[info][2025/05/09 00:43:31]: campers requested all vehicles. -[info][2025/05/09 00:43:37]: campers requested all stashes. -[info][2025/05/09 07:13:15]: Login attempt on Nordi from 95.33.63.180 -[info][2025/05/09 07:13:18]: nordi requested all players. -[info][2025/05/09 07:13:21]: nordi requested player with citizenid JCQ27225. -[info][2025/05/09 07:13:32]: nordi requested change meta for citizenid JCQ27225. -[info][2025/05/09 07:13:32]: nordi requested player with citizenid JCQ27225. -[info][2025/05/09 07:13:33]: nordi requested change meta for citizenid JCQ27225. -[info][2025/05/09 07:13:33]: nordi requested player with citizenid JCQ27225. -[info][2025/05/09 20:03:56]: Login attempt on Max from 89.247.160.135 -[info][2025/05/09 22:12:49]: Login attempt on Max from 89.247.160.135 -[info][2025/05/09 22:12:57]: max requested player with citizenid DSC01606. -[info][2025/05/09 22:13:03]: max requested change jobs. -[info][2025/05/09 22:13:14]: max requested change job for citizenid DSC01606. -[info][2025/05/09 22:13:14]: max requested player with citizenid DSC01606. -[info][2025/05/09 22:17:19]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/09 22:17:23]: campers requested all vehicles. -[info][2025/05/09 22:17:33]: campers requested all players. -[info][2025/05/09 22:17:36]: campers requested player with citizenid OHM07543. -[info][2025/05/09 22:17:37]: campers requested player vehicles for citizenid OHM07543. -[info][2025/05/09 22:21:43]: max requested all vehicles. -[info][2025/05/09 22:30:14]: max requested player with citizenid DSC01606. -[info][2025/05/09 22:30:18]: max requested change meta for citizenid DSC01606. -[info][2025/05/09 22:30:18]: max requested player with citizenid DSC01606. -[info][2025/05/09 22:30:19]: max requested change meta for citizenid DSC01606. -[info][2025/05/09 22:30:19]: max requested player with citizenid DSC01606. -[info][2025/05/09 22:30:20]: max requested heal for citizenid DSC01606. -[info][2025/05/09 22:30:20]: max requested player with citizenid DSC01606. -[info][2025/05/09 22:30:26]: max requested heal for citizenid DSC01606. -[info][2025/05/09 22:30:26]: max requested player with citizenid DSC01606. -[info][2025/05/09 22:30:26]: max requested heal for citizenid DSC01606. -[info][2025/05/09 22:30:26]: max requested player with citizenid DSC01606. -[info][2025/05/09 22:30:26]: max requested heal for citizenid DSC01606. -[info][2025/05/09 22:30:26]: max requested player with citizenid DSC01606. -[info][2025/05/09 22:30:26]: max requested heal for citizenid DSC01606. -[info][2025/05/09 22:30:26]: max requested player with citizenid DSC01606. -[info][2025/05/09 22:30:27]: max requested heal for citizenid DSC01606. -[info][2025/05/09 22:30:27]: max requested player with citizenid DSC01606. -[info][2025/05/09 22:32:40]: campers requested player with citizenid OHM07543. -[info][2025/05/09 22:32:45]: campers requested inventory for citizenid OHM07543. -[info][2025/05/09 22:32:46]: campers requested item list. -[info][2025/05/09 22:33:34]: Login attempt on Nordi from 95.33.63.180 -[info][2025/05/09 22:48:12]: campers requested player with citizenid OHM07543. -[info][2025/05/09 22:48:14]: campers requested heal for citizenid OHM07543. -[info][2025/05/09 22:48:14]: campers requested player with citizenid OHM07543. -[info][2025/05/09 22:48:15]: campers requested change meta for citizenid OHM07543. -[info][2025/05/09 22:48:15]: campers requested player with citizenid OHM07543. -[info][2025/05/09 22:48:16]: campers requested change meta for citizenid OHM07543. -[info][2025/05/09 22:48:16]: campers requested player with citizenid OHM07543. -[info][2025/05/09 23:01:00]: Login attempt on Nordi from 95.33.63.180 -[info][2025/05/09 23:01:44]: nordi requested all players. -[info][2025/05/09 23:01:49]: nordi requested player with citizenid JCQ27225. -[info][2025/05/09 23:01:53]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/09 23:01:56]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/09 23:02:04]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/09 23:02:15]: nordi requested item list. -[info][2025/05/09 23:02:23]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/09 23:02:25]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/09 23:02:26]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/09 23:02:27]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/09 23:02:28]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/09 23:02:30]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/09 23:14:51]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/09 23:14:54]: campers requested player with citizenid JCQ27225. -[info][2025/05/09 23:14:57]: campers requested screenshot for citizenid JCQ27225. -[info][2025/05/09 23:16:30]: campers requested player with citizenid OHM07543. -[info][2025/05/09 23:16:40]: campers requested set money cash for citizenid OHM07543. -[info][2025/05/09 23:16:40]: campers requested player with citizenid OHM07543. -[info][2025/05/09 23:16:46]: campers requested set money bank for citizenid OHM07543. -[info][2025/05/09 23:16:46]: campers requested player with citizenid OHM07543. -[info][2025/05/09 23:48:48]: nordi requested player with citizenid JCQ27225. -[info][2025/05/09 23:48:58]: nordi requested add money cash for citizenid JCQ27225. -[info][2025/05/09 23:48:58]: nordi requested player with citizenid JCQ27225. -[info][2025/05/09 23:49:54]: nordi requested all players. -[info][2025/05/09 23:49:56]: nordi requested all vehicles. -[info][2025/05/10 00:51:22]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/10 00:51:27]: campers requested player with citizenid OHM07543. -[info][2025/05/10 00:51:29]: campers requested heal for citizenid OHM07543. -[info][2025/05/10 00:51:29]: campers requested player with citizenid OHM07543. -[info][2025/05/10 00:51:30]: campers requested change meta for citizenid OHM07543. -[info][2025/05/10 00:51:30]: campers requested player with citizenid OHM07543. -[info][2025/05/10 00:51:31]: campers requested change meta for citizenid OHM07543. -[info][2025/05/10 00:51:31]: campers requested player with citizenid OHM07543. -[info][2025/05/10 01:30:31]: campers requested player vehicles for citizenid OHM07543. -[info][2025/05/10 01:30:33]: campers requested vehicle with id 24. -[info][2025/05/10 01:30:40]: campers requested change vehicle plate for id 24 (09DMV025). -[info][2025/05/10 01:30:40]: campers requested vehicle with id 24. -[info][2025/05/10 01:30:59]: campers requested all players. -[info][2025/05/10 01:31:05]: campers requested player with citizenid OHM07543. -[info][2025/05/10 01:31:06]: campers requested player vehicles for citizenid OHM07543. -[info][2025/05/10 01:31:43]: campers requested vehicle with id 24. -[info][2025/05/10 01:31:51]: campers requested all vehicles. -[info][2025/05/10 01:58:50]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/10 01:58:56]: campers requested player with citizenid OHM07543. -[info][2025/05/10 01:58:57]: campers requested player vehicles for citizenid OHM07543. -[info][2025/05/10 01:59:01]: campers requested vehicle with id 24. -[info][2025/05/10 02:19:07]: campers requested all vehicles. -[info][2025/05/10 02:19:11]: campers requested all players. -[info][2025/05/10 02:19:13]: campers requested player with citizenid OHM07543. -[info][2025/05/10 02:19:14]: campers requested player vehicles for citizenid OHM07543. -[info][2025/05/10 02:19:18]: campers requested vehicle with id 25. -[info][2025/05/10 02:19:33]: campers requested change vehicle plate for id 25 (04PFN873). -[info][2025/05/10 02:19:33]: campers requested vehicle with id 25. -[info][2025/05/10 02:19:52]: campers requested vehicle repair for id 25. -[info][2025/05/10 02:19:52]: campers requested vehicle with id 25. -[info][2025/05/10 02:57:18]: campers requested player with citizenid OHM07543. -[info][2025/05/10 02:57:21]: campers requested change meta for citizenid OHM07543. -[info][2025/05/10 02:57:21]: campers requested player with citizenid OHM07543. -[info][2025/05/10 02:57:22]: campers requested change meta for citizenid OHM07543. -[info][2025/05/10 02:57:22]: campers requested player with citizenid OHM07543. -[info][2025/05/10 02:57:23]: campers requested heal for citizenid OHM07543. -[info][2025/05/10 02:57:23]: campers requested player with citizenid OHM07543. -[info][2025/05/10 03:03:56]: Login attempt on Nordi from 85.16.152.129 -[info][2025/05/10 03:04:00]: nordi requested all players. -[info][2025/05/10 03:04:16]: nordi requested all players. -[info][2025/05/10 03:04:26]: nordi requested player with citizenid JCQ27225. -[info][2025/05/10 03:04:30]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/10 03:04:33]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/10 03:04:34]: nordi requested item list. -[info][2025/05/10 03:04:43]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/10 03:04:45]: nordi requested item list. -[info][2025/05/10 03:04:57]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/10 03:05:07]: nordi requested all players. -[info][2025/05/10 03:05:09]: nordi requested player with citizenid OHM07543. -[info][2025/05/10 03:05:12]: nordi requested inventory for citizenid OHM07543. -[info][2025/05/10 03:05:16]: nordi requested delete item for citizenid OHM07543. -[info][2025/05/10 03:05:17]: nordi requested item list. -[info][2025/05/10 03:05:25]: nordi requested add item for citizenid OHM07543. -[info][2025/05/10 16:36:56]: nordi requested inventory for citizenid OHM07543. -[info][2025/05/10 17:48:13]: Login attempt on Nordi from 85.16.152.129 -[info][2025/05/10 18:10:50]: Login attempt on Nordi from 85.16.152.129 -[info][2025/05/10 18:11:07]: nordi requested all players. -[info][2025/05/10 18:11:09]: nordi requested player with citizenid JCQ27225. -[info][2025/05/10 18:11:12]: nordi requested change jobs. -[info][2025/05/10 18:11:20]: nordi requested change job for citizenid JCQ27225. -[info][2025/05/10 18:11:20]: nordi requested player with citizenid JCQ27225. -[info][2025/05/10 18:12:02]: nordi requested change jobs. -[info][2025/05/10 18:12:30]: nordi requested change job for citizenid JCQ27225. -[info][2025/05/10 18:12:31]: nordi requested player with citizenid JCQ27225. -[info][2025/05/10 18:37:17]: nordi requested all players. -[info][2025/05/10 18:37:21]: nordi requested player with citizenid JCQ27225. -[info][2025/05/10 18:37:31]: nordi requested remove money cash for citizenid JCQ27225. -[info][2025/05/10 18:37:31]: nordi requested player with citizenid JCQ27225. -[info][2025/05/10 18:37:41]: nordi requested all players. -[info][2025/05/10 18:37:43]: nordi requested player with citizenid VHM17991. -[info][2025/05/10 18:37:49]: nordi requested add money cash for citizenid VHM17991. -[info][2025/05/10 18:37:49]: nordi requested player with citizenid VHM17991. -[info][2025/05/10 22:29:14]: Login attempt on Nordi from 85.16.152.129 -[info][2025/05/11 01:31:06]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/11 01:41:01]: campers requested all vehicles. -[info][2025/05/11 19:24:23]: Login attempt on Nordi from 80.228.185.152 -[info][2025/05/11 20:53:52]: campers requested all vehicles. -[info][2025/05/11 21:45:43]: campers requested player with citizenid OHM07543. -[info][2025/05/11 21:45:47]: campers requested change meta for citizenid OHM07543. -[info][2025/05/11 21:45:47]: campers requested player with citizenid OHM07543. -[info][2025/05/11 21:45:47]: campers requested change meta for citizenid OHM07543. -[info][2025/05/11 21:45:47]: campers requested player with citizenid OHM07543. -[info][2025/05/11 21:45:48]: campers requested heal for citizenid OHM07543. -[info][2025/05/11 21:45:48]: campers requested player with citizenid OHM07543. -[info][2025/05/12 22:25:53]: Login attempt on Max from 89.247.160.157 -[info][2025/05/12 23:29:02]: Login attempt on Max from 89.247.160.157 -[info][2025/05/12 23:29:12]: max requested all users. -[info][2025/05/12 23:29:24]: max requested player with citizenid DSC01606. -[info][2025/05/12 23:29:30]: max requested heal for citizenid DSC01606. -[info][2025/05/12 23:29:30]: max requested player with citizenid DSC01606. -[info][2025/05/12 23:29:31]: max requested heal for citizenid DSC01606. -[info][2025/05/12 23:29:31]: max requested player with citizenid DSC01606. -[info][2025/05/12 23:29:31]: max requested heal for citizenid DSC01606. -[info][2025/05/12 23:29:31]: max requested player with citizenid DSC01606. -[info][2025/05/12 23:29:32]: max requested heal for citizenid DSC01606. -[info][2025/05/12 23:29:32]: max requested player with citizenid DSC01606. -[info][2025/05/12 23:29:34]: max requested change meta for citizenid DSC01606. -[info][2025/05/12 23:29:34]: max requested player with citizenid DSC01606. -[info][2025/05/12 23:29:35]: max requested change meta for citizenid DSC01606. -[info][2025/05/12 23:29:35]: max requested player with citizenid DSC01606. -[info][2025/05/12 23:34:10]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/12 23:34:22]: campers requested player with citizenid OHM07543. -[info][2025/05/12 23:34:26]: campers requested change meta for citizenid OHM07543. -[info][2025/05/12 23:34:26]: campers requested player with citizenid OHM07543. -[info][2025/05/12 23:34:27]: campers requested change meta for citizenid OHM07543. -[info][2025/05/12 23:34:27]: campers requested player with citizenid OHM07543. -[info][2025/05/12 23:34:28]: campers requested change meta for citizenid OHM07543. -[info][2025/05/12 23:34:28]: campers requested player with citizenid OHM07543. -[info][2025/05/12 23:34:39]: campers requested set money bank for citizenid OHM07543. -[info][2025/05/12 23:34:39]: campers requested player with citizenid OHM07543. -[info][2025/05/12 23:34:46]: campers requested set money cash for citizenid OHM07543. -[info][2025/05/12 23:34:46]: campers requested player with citizenid OHM07543. -[info][2025/05/12 23:51:48]: campers requested player with citizenid AOJ19157. -[info][2025/05/12 23:51:51]: campers requested inventory for citizenid AOJ19157. -[info][2025/05/12 23:51:53]: campers requested item list. -[info][2025/05/12 23:52:03]: campers requested add item for citizenid AOJ19157. -[info][2025/05/12 23:56:28]: Login attempt on Tim from 193.81.42.19 -[info][2025/05/12 23:56:30]: tim requested all players. -[info][2025/05/12 23:56:33]: tim requested player with citizenid AOJ19157. -[info][2025/05/12 23:56:35]: tim requested player vehicles for citizenid AOJ19157. -[info][2025/05/12 23:56:36]: tim requested player with citizenid AOJ19157. -[info][2025/05/12 23:56:42]: tim requested heal for citizenid AOJ19157. -[info][2025/05/12 23:56:42]: tim requested player with citizenid AOJ19157. -[info][2025/05/12 23:56:42]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/12 23:56:42]: tim requested player with citizenid AOJ19157. -[info][2025/05/12 23:56:43]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/12 23:56:43]: tim requested player with citizenid AOJ19157. -[info][2025/05/12 23:56:44]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/12 23:56:44]: tim requested player with citizenid AOJ19157. -[info][2025/05/12 23:56:47]: tim requested inventory for citizenid AOJ19157. -[info][2025/05/12 23:56:49]: tim requested item list. -[info][2025/05/13 01:28:48]: max requested all stashes. -[info][2025/05/13 01:28:58]: max requested player with citizenid DSC01606. -[info][2025/05/13 01:29:11]: max requested inventory for citizenid DSC01606. -[info][2025/05/13 01:29:13]: max requested item list. -[info][2025/05/13 01:29:31]: max requested add item for citizenid DSC01606. -[info][2025/05/13 19:11:34]: Login attempt on Max from 89.247.160.133 -[info][2025/05/13 19:11:41]: max requested player with citizenid DSC01606. -[info][2025/05/13 19:11:48]: max requested heal for citizenid DSC01606. -[info][2025/05/13 19:11:48]: max requested player with citizenid DSC01606. -[info][2025/05/13 19:11:52]: max requested heal for citizenid DSC01606. -[info][2025/05/13 19:11:52]: max requested player with citizenid DSC01606. -[info][2025/05/13 19:11:52]: max requested heal for citizenid DSC01606. -[info][2025/05/13 19:11:52]: max requested player with citizenid DSC01606. -[info][2025/05/13 19:11:53]: max requested heal for citizenid DSC01606. -[info][2025/05/13 19:11:53]: max requested player with citizenid DSC01606. -[info][2025/05/13 19:11:53]: max requested heal for citizenid DSC01606. -[info][2025/05/13 19:11:53]: max requested player with citizenid DSC01606. -[info][2025/05/13 19:11:53]: max requested heal for citizenid DSC01606. -[info][2025/05/13 19:11:53]: max requested player with citizenid DSC01606. -[info][2025/05/13 19:11:54]: max requested heal for citizenid DSC01606. -[info][2025/05/13 19:11:54]: max requested player with citizenid DSC01606. -[info][2025/05/13 19:11:55]: max requested change meta for citizenid DSC01606. -[info][2025/05/13 19:11:55]: max requested player with citizenid DSC01606. -[info][2025/05/13 19:11:56]: max requested change meta for citizenid DSC01606. -[info][2025/05/13 19:11:56]: max requested player with citizenid DSC01606. -[info][2025/05/13 19:59:27]: max requested all players. -[info][2025/05/13 19:59:33]: max requested player with citizenid JQK75222. -[info][2025/05/13 19:59:36]: max requested heal for citizenid JQK75222. -[info][2025/05/13 19:59:36]: max requested player with citizenid JQK75222. -[info][2025/05/13 19:59:37]: max requested change meta for citizenid JQK75222. -[info][2025/05/13 19:59:37]: max requested player with citizenid JQK75222. -[info][2025/05/13 19:59:38]: max requested change meta for citizenid JQK75222. -[info][2025/05/13 19:59:38]: max requested player with citizenid JQK75222. -[info][2025/05/13 20:53:49]: Login attempt on Max from 89.247.160.133 -[info][2025/05/13 20:53:51]: max requested all players. -[info][2025/05/13 20:53:57]: max requested player with citizenid DUD53794. -[info][2025/05/13 20:54:01]: max requested change jobs. -[info][2025/05/13 20:54:52]: max requested player with citizenid DUD53794. -[info][2025/05/13 21:33:40]: Login attempt on Nordi from 85.16.104.69 -[info][2025/05/13 21:33:42]: nordi requested all stashes. -[info][2025/05/13 21:33:43]: nordi requested all players. -[info][2025/05/13 21:33:49]: nordi requested player with citizenid JCQ27225. -[info][2025/05/13 21:33:53]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/13 21:33:55]: nordi requested item list. -[info][2025/05/13 21:34:03]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/13 21:52:02]: Login attempt on Max from 89.247.160.133 -[info][2025/05/13 21:52:03]: max requested player with citizenid DSC01606. -[info][2025/05/13 21:52:06]: Login attempt on Max from 89.247.160.133 -[info][2025/05/13 21:52:31]: max requested player with citizenid DSC01606. -[info][2025/05/13 21:52:36]: max requested heal for citizenid DSC01606. -[info][2025/05/13 21:52:36]: max requested player with citizenid DSC01606. -[info][2025/05/13 21:52:37]: max requested heal for citizenid DSC01606. -[info][2025/05/13 21:52:37]: max requested player with citizenid DSC01606. -[info][2025/05/13 21:52:37]: max requested heal for citizenid DSC01606. -[info][2025/05/13 21:52:37]: max requested player with citizenid DSC01606. -[info][2025/05/13 21:52:39]: max requested change meta for citizenid DSC01606. -[info][2025/05/13 21:52:39]: max requested player with citizenid DSC01606. -[info][2025/05/13 21:52:40]: max requested change meta for citizenid DSC01606. -[info][2025/05/13 21:52:40]: max requested player with citizenid DSC01606. -[info][2025/05/13 22:47:26]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/13 22:48:37]: nordi requested all players. -[info][2025/05/13 22:48:42]: nordi requested player with citizenid JCQ27225. -[info][2025/05/13 22:48:45]: nordi requested change jobs. -[info][2025/05/13 22:48:53]: nordi requested change job for citizenid JCQ27225. -[info][2025/05/13 22:48:53]: nordi requested player with citizenid JCQ27225. -[info][2025/05/13 22:48:54]: nordi requested change jobs. -[info][2025/05/13 22:49:01]: nordi requested change job for citizenid JCQ27225. -[info][2025/05/13 22:49:01]: nordi requested player with citizenid JCQ27225. -[info][2025/05/13 22:50:57]: Login attempt on from 178.200.177.65 -[info][2025/05/13 22:51:00]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/13 23:06:32]: Login attempt on Max from 89.247.160.133 -[info][2025/05/13 23:06:35]: Login attempt on Max from 89.247.160.133 -[info][2025/05/13 23:46:28]: campers requested all players. -[info][2025/05/13 23:46:35]: campers requested player with citizenid DSC01606. -[info][2025/05/13 23:46:38]: campers requested inventory for citizenid DSC01606. -[info][2025/05/13 23:46:39]: campers requested item list. -[info][2025/05/13 23:46:47]: campers requested add item for citizenid DSC01606. -[info][2025/05/13 23:55:13]: campers requested vehicle with id 29. -[info][2025/05/14 00:12:16]: Login attempt on Max from 89.247.160.133 -[info][2025/05/14 00:12:16]: max requested player with citizenid DSC01606. -[info][2025/05/14 00:12:19]: Login attempt on Max from 89.247.160.133 -[info][2025/05/14 00:12:24]: max requested player with citizenid DSC01606. -[info][2025/05/14 00:12:29]: max requested heal for citizenid DSC01606. -[info][2025/05/14 00:12:29]: max requested player with citizenid DSC01606. -[info][2025/05/14 00:12:31]: max requested change meta for citizenid DSC01606. -[info][2025/05/14 00:12:31]: max requested player with citizenid DSC01606. -[info][2025/05/14 00:12:32]: max requested change meta for citizenid DSC01606. -[info][2025/05/14 00:12:32]: max requested player with citizenid DSC01606. -[info][2025/05/14 00:12:39]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/14 00:13:39]: campers requested all vehicles. -[info][2025/05/14 00:13:58]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/14 00:19:31]: campers requested all accounts. -[info][2025/05/14 00:19:50]: Login attempt on Max from 89.247.160.133 -[info][2025/05/14 00:19:50]: max requested all roles. -[info][2025/05/14 00:19:53]: Login attempt on Max from 89.247.160.133 -[info][2025/05/14 00:23:38]: max requested all accounts. -[info][2025/05/14 00:23:45]: max requested all roles. -[info][2025/05/14 00:23:48]: max requested all users. -[info][2025/05/14 00:24:02]: max requested all stashes. -[info][2025/05/14 00:24:03]: max requested all vehicles. -[info][2025/05/14 00:24:04]: max requested all players. -[info][2025/05/14 00:42:11]: Login attempt on Nordi from 85.16.104.69 -[info][2025/05/14 02:57:29]: Login attempt on Nordi from 85.16.108.243 -[info][2025/05/14 02:57:32]: nordi requested all players. -[info][2025/05/14 02:57:34]: nordi requested player with citizenid JCQ27225. -[info][2025/05/14 02:57:40]: nordi requested add money cash for citizenid JCQ27225. -[info][2025/05/14 02:57:40]: nordi requested player with citizenid JCQ27225. -[info][2025/05/14 03:43:11]: nordi requested player with citizenid JCQ27225. -[info][2025/05/14 21:57:19]: nordi requested player with citizenid JCQ27225. -[info][2025/05/14 23:46:50]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/14 23:46:57]: campers requested player with citizenid OHM07543. -[info][2025/05/14 23:47:00]: campers requested change meta for citizenid OHM07543. -[info][2025/05/14 23:47:00]: campers requested player with citizenid OHM07543. -[info][2025/05/14 23:47:01]: campers requested change meta for citizenid OHM07543. -[info][2025/05/14 23:47:01]: campers requested player with citizenid OHM07543. -[info][2025/05/14 23:47:02]: campers requested heal for citizenid OHM07543. -[info][2025/05/14 23:47:02]: campers requested player with citizenid OHM07543. -[info][2025/05/15 01:44:08]: campers requested player with citizenid OHM07543. -[info][2025/05/15 01:58:12]: campers requested player with citizenid OHM07543. -[info][2025/05/15 08:09:48]: Login attempt on Nordi from 95.33.56.218 -[info][2025/05/15 21:48:26]: campers requested player with citizenid OHM07543. -[info][2025/05/15 23:02:58]: nordi requested all players. -[info][2025/05/15 23:03:00]: nordi requested player with citizenid JCQ27225. -[info][2025/05/15 23:03:31]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/15 23:03:35]: nordi requested item list. -[info][2025/05/15 23:03:53]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/15 23:05:11]: campers requested all players. -[info][2025/05/15 23:05:32]: campers requested player with citizenid PCC19872. -[info][2025/05/15 23:05:46]: campers requested all players. -[info][2025/05/15 23:06:01]: campers requested player with citizenid PCC19872. -[info][2025/05/15 23:07:59]: nordi requested all players. -[info][2025/05/15 23:08:03]: nordi requested player with citizenid JCQ27225. -[info][2025/05/15 23:08:17]: nordi requested change charinfo for citizenid JCQ27225. -[info][2025/05/15 23:08:17]: nordi requested player with citizenid JCQ27225. -[info][2025/05/15 23:08:18]: campers requested all players. -[info][2025/05/15 23:12:18]: campers requested player with citizenid GJN39030. -[info][2025/05/15 23:12:24]: campers requested all players. -[info][2025/05/15 23:12:29]: campers requested player with citizenid IKW74404. -[info][2025/05/15 23:12:33]: campers requested all players. -[info][2025/05/15 23:12:36]: campers requested player with citizenid MWV00464. -[info][2025/05/15 23:12:40]: campers requested all players. -[info][2025/05/15 23:12:45]: campers requested player with citizenid BAZ25004. -[info][2025/05/15 23:13:01]: campers requested all players. -[info][2025/05/15 23:13:07]: campers requested player with citizenid ASS17049. -[info][2025/05/15 23:13:12]: campers requested all players. -[info][2025/05/15 23:13:14]: campers requested player with citizenid CRO67821. -[info][2025/05/15 23:13:19]: campers requested all players. -[info][2025/05/15 23:13:22]: campers requested player with citizenid DSC01606. -[info][2025/05/15 23:13:26]: campers requested all players. -[info][2025/05/15 23:13:30]: campers requested player with citizenid DSC01606. -[info][2025/05/15 23:13:32]: campers requested all players. -[info][2025/05/15 23:13:34]: campers requested player with citizenid KNL90027. -[info][2025/05/15 23:13:40]: campers requested all players. -[info][2025/05/15 23:13:44]: campers requested player with citizenid WIK72618. -[info][2025/05/15 23:13:51]: campers requested all players. -[info][2025/05/15 23:13:54]: campers requested player with citizenid JUL08961. -[info][2025/05/15 23:14:46]: campers requested all players. -[info][2025/05/15 23:15:32]: campers requested player with citizenid KIX31657. -[info][2025/05/15 23:15:36]: campers requested all players. -[info][2025/05/15 23:15:40]: campers requested player with citizenid ELV21478. -[info][2025/05/15 23:15:44]: campers requested all players. -[info][2025/05/15 23:15:47]: campers requested player with citizenid AOJ19157. -[info][2025/05/15 23:15:49]: campers requested all players. -[info][2025/05/15 23:15:55]: campers requested player with citizenid VHM17991. -[info][2025/05/15 23:15:56]: campers requested all players. -[info][2025/05/15 23:15:59]: campers requested player with citizenid JQK75222. -[info][2025/05/15 23:16:01]: campers requested all players. -[info][2025/05/15 23:16:03]: campers requested player with citizenid NXE98489. -[info][2025/05/15 23:16:05]: campers requested all players. -[info][2025/05/15 23:16:11]: campers requested player with citizenid GNR11868. -[info][2025/05/15 23:16:12]: campers requested all players. -[info][2025/05/15 23:16:13]: campers requested player with citizenid DYW89109. -[info][2025/05/15 23:16:15]: campers requested all players. -[info][2025/05/15 23:16:17]: campers requested player with citizenid OHM07543. -[info][2025/05/15 23:16:19]: campers requested all players. -[info][2025/05/15 23:16:21]: campers requested player with citizenid JCQ27225. -[info][2025/05/15 23:16:23]: campers requested all players. -[info][2025/05/15 23:16:25]: campers requested player with citizenid GJN39030. -[info][2025/05/15 23:16:28]: campers requested all players. -[info][2025/05/15 23:16:29]: campers requested player with citizenid PCC19872. -[info][2025/05/15 23:16:31]: campers requested all players. -[info][2025/05/15 23:16:32]: campers requested player with citizenid IKW74404. -[info][2025/05/15 23:16:34]: campers requested all players. -[info][2025/05/15 23:16:37]: campers requested player with citizenid DUD53794. -[info][2025/05/15 23:16:38]: campers requested all players. -[info][2025/05/15 23:16:41]: campers requested player with citizenid MWV00464. -[info][2025/05/15 23:16:43]: campers requested all players. -[info][2025/05/15 23:16:44]: campers requested player with citizenid BAZ25004. -[info][2025/05/15 23:16:46]: campers requested all players. -[info][2025/05/15 23:16:48]: campers requested player with citizenid ASS17049. -[info][2025/05/15 23:16:50]: campers requested all players. -[info][2025/05/15 23:16:53]: campers requested player with citizenid ASS17049. -[info][2025/05/15 23:16:55]: campers requested all players. -[info][2025/05/15 23:16:57]: campers requested player with citizenid CRO67821. -[info][2025/05/15 23:16:58]: campers requested all players. -[info][2025/05/15 23:17:01]: campers requested player with citizenid DSC01606. -[info][2025/05/15 23:17:03]: campers requested all players. -[info][2025/05/15 23:17:07]: campers requested player with citizenid KNL90027. -[info][2025/05/15 23:17:08]: campers requested all players. -[info][2025/05/15 23:17:12]: campers requested player with citizenid WIK72618. -[info][2025/05/15 23:17:14]: campers requested all players. -[info][2025/05/15 23:17:17]: campers requested player with citizenid JUL08961. -[info][2025/05/15 23:17:28]: campers requested all players. -[info][2025/05/15 23:17:32]: campers requested player with citizenid JUL08961. -[info][2025/05/15 23:17:34]: campers requested all players. -[info][2025/05/15 23:17:38]: campers requested player with citizenid KIX31657. -[info][2025/05/15 23:17:40]: campers requested all players. -[info][2025/05/15 23:17:44]: campers requested player with citizenid AOJ19157. -[info][2025/05/15 23:17:47]: campers requested all players. -[info][2025/05/15 23:17:50]: campers requested player with citizenid ELV21478. -[info][2025/05/15 23:17:51]: campers requested all players. -[info][2025/05/15 23:17:53]: campers requested player with citizenid JQK75222. -[info][2025/05/15 23:17:55]: campers requested all players. -[info][2025/05/15 23:17:57]: campers requested player with citizenid NXE98489. -[info][2025/05/15 23:17:59]: campers requested all players. -[info][2025/05/15 23:18:01]: campers requested all accounts. -[info][2025/05/15 23:18:06]: campers requested all accounts. -[info][2025/05/15 23:18:46]: campers requested all stashes. -[info][2025/05/15 23:27:56]: campers requested all players. -[info][2025/05/15 23:28:00]: campers requested player with citizenid OHM07543. -[info][2025/05/15 23:28:10]: campers requested change charinfo for citizenid OHM07543. -[info][2025/05/15 23:28:10]: campers requested player with citizenid OHM07543. -[info][2025/05/15 23:28:15]: campers requested player vehicles for citizenid OHM07543. -[info][2025/05/16 00:15:54]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/16 01:15:26]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/16 01:29:22]: campers requested player with citizenid DSC01606. -[info][2025/05/16 01:29:24]: campers requested screenshot for citizenid DSC01606. -[info][2025/05/16 01:29:34]: campers requested all players. -[info][2025/05/16 01:29:40]: campers requested player with citizenid JQK75222. -[info][2025/05/16 01:29:42]: campers requested screenshot for citizenid JQK75222. -[info][2025/05/16 02:06:00]: Login attempt on Max from 89.247.160.131 -[info][2025/05/16 02:06:11]: max requested player with citizenid DSC01606. -[info][2025/05/16 02:06:16]: max requested change jobs. -[info][2025/05/16 02:06:30]: max requested change job for citizenid DSC01606. -[info][2025/05/16 02:06:30]: max requested player with citizenid DSC01606. -[info][2025/05/16 02:46:11]: max requested player with citizenid DSC01606. -[info][2025/05/16 02:46:14]: max requested heal for citizenid DSC01606. -[info][2025/05/16 02:46:14]: max requested player with citizenid DSC01606. -[info][2025/05/16 02:46:15]: max requested change meta for citizenid DSC01606. -[info][2025/05/16 02:46:15]: max requested player with citizenid DSC01606. -[info][2025/05/16 02:46:16]: max requested change meta for citizenid DSC01606. -[info][2025/05/16 02:46:16]: max requested player with citizenid DSC01606. -[info][2025/05/16 02:46:46]: max requested player with citizenid DSC01606. -[info][2025/05/16 02:46:49]: max requested heal for citizenid DSC01606. -[info][2025/05/16 02:46:49]: max requested player with citizenid DSC01606. -[info][2025/05/16 02:46:50]: max requested change meta for citizenid DSC01606. -[info][2025/05/16 02:46:50]: max requested player with citizenid DSC01606. -[info][2025/05/16 02:46:52]: max requested change meta for citizenid DSC01606. -[info][2025/05/16 02:46:52]: max requested player with citizenid DSC01606. -[info][2025/05/16 10:27:11]: Login attempt on Nordi from 85.16.105.193 -[info][2025/05/16 10:27:11]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/16 10:27:13]: Login attempt on Nordi from 85.16.105.193 -[info][2025/05/16 10:27:17]: nordi requested all players. -[info][2025/05/16 10:27:19]: nordi requested player with citizenid JCQ27225. -[info][2025/05/16 10:27:22]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/16 10:27:23]: nordi requested item list. -[info][2025/05/16 10:27:29]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/16 19:57:22]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/16 20:33:40]: Login attempt on Max from 89.247.160.144 -[info][2025/05/16 20:34:04]: max requested player with citizenid DSC01606. -[info][2025/05/16 20:34:13]: max requested heal for citizenid DSC01606. -[info][2025/05/16 20:34:13]: max requested player with citizenid DSC01606. -[info][2025/05/16 20:34:16]: max requested change meta for citizenid DSC01606. -[info][2025/05/16 20:34:16]: max requested player with citizenid DSC01606. -[info][2025/05/16 20:34:18]: max requested change meta for citizenid DSC01606. -[info][2025/05/16 20:34:18]: max requested player with citizenid DSC01606. -[info][2025/05/17 18:07:33]: max requested player with citizenid DSC01606. -[info][2025/05/17 18:07:39]: max requested heal for citizenid DSC01606. -[info][2025/05/17 18:07:39]: max requested player with citizenid DSC01606. -[info][2025/05/17 18:07:40]: max requested change meta for citizenid DSC01606. -[info][2025/05/17 18:07:40]: max requested player with citizenid DSC01606. -[info][2025/05/17 18:07:41]: max requested change meta for citizenid DSC01606. -[info][2025/05/17 18:07:41]: max requested player with citizenid DSC01606. -[info][2025/05/17 22:02:44]: Login attempt on Max from 89.247.160.150 -[info][2025/05/17 22:02:51]: max requested player with citizenid DSC01606. -[info][2025/05/17 22:02:55]: max requested heal for citizenid DSC01606. -[info][2025/05/17 22:02:55]: max requested player with citizenid DSC01606. -[info][2025/05/17 22:02:56]: max requested change meta for citizenid DSC01606. -[info][2025/05/17 22:02:56]: max requested player with citizenid DSC01606. -[info][2025/05/17 22:02:57]: max requested change meta for citizenid DSC01606. -[info][2025/05/17 22:02:57]: max requested player with citizenid DSC01606. -[info][2025/05/17 22:03:06]: max requested player with citizenid JQK75222. -[info][2025/05/17 22:03:10]: max requested heal for citizenid JQK75222. -[info][2025/05/17 22:03:10]: max requested player with citizenid JQK75222. -[info][2025/05/17 22:03:12]: max requested change meta for citizenid JQK75222. -[info][2025/05/17 22:03:12]: max requested player with citizenid JQK75222. -[info][2025/05/17 22:03:13]: max requested change meta for citizenid JQK75222. -[info][2025/05/17 22:03:13]: max requested player with citizenid JQK75222. -[info][2025/05/17 22:17:04]: max requested all players. -[info][2025/05/17 22:17:29]: max requested player with citizenid DSC01606. -[info][2025/05/17 22:18:50]: max requested all players. -[info][2025/05/17 23:28:34]: Login attempt on Max from 89.247.160.150 -[info][2025/05/17 23:46:17]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/17 23:46:25]: campers requested player with citizenid JQK75222. -[info][2025/05/17 23:46:30]: campers requested change jobs. -[info][2025/05/17 23:46:38]: campers requested change job for citizenid JQK75222. -[info][2025/05/17 23:46:38]: campers requested player with citizenid JQK75222. -[info][2025/05/18 00:11:21]: campers requested change jobs. -[info][2025/05/18 00:11:29]: campers requested change job for citizenid JQK75222. -[info][2025/05/18 00:11:29]: campers requested player with citizenid JQK75222. -[info][2025/05/18 00:19:46]: campers requested change jobs. -[info][2025/05/18 00:19:54]: campers requested change job for citizenid JQK75222. -[info][2025/05/18 00:19:54]: campers requested player with citizenid JQK75222. -[info][2025/05/18 00:20:02]: campers requested player with citizenid OHM07543. -[info][2025/05/18 00:20:05]: campers requested heal for citizenid OHM07543. -[info][2025/05/18 00:20:05]: campers requested player with citizenid OHM07543. -[info][2025/05/18 00:20:05]: campers requested change meta for citizenid OHM07543. -[info][2025/05/18 00:20:05]: campers requested player with citizenid OHM07543. -[info][2025/05/18 00:20:06]: campers requested change meta for citizenid OHM07543. -[info][2025/05/18 00:20:06]: campers requested player with citizenid OHM07543. -[info][2025/05/18 00:20:09]: campers requested change meta for citizenid OHM07543. -[info][2025/05/18 00:20:09]: campers requested player with citizenid OHM07543. -[info][2025/05/18 00:45:38]: Login attempt on Max from 89.247.160.150 -[info][2025/05/18 00:45:41]: max requested all players. -[info][2025/05/18 00:50:12]: max requested player with citizenid DSC01606. -[info][2025/05/18 00:50:17]: max requested change jobs. -[info][2025/05/18 00:50:25]: max requested change job for citizenid DSC01606. -[info][2025/05/18 00:50:25]: max requested player with citizenid DSC01606. -[info][2025/05/18 01:04:02]: max requested all players. -[info][2025/05/18 01:04:23]: max requested all stashes. -[info][2025/05/18 01:04:26]: max requested all stashes. -[info][2025/05/18 01:04:28]: max requested all stashes. -[info][2025/05/18 01:04:29]: max requested all stashes. -[info][2025/05/18 01:04:50]: max requested player with citizenid DSC01606. -[info][2025/05/18 01:04:57]: max requested change meta for citizenid DSC01606. -[info][2025/05/18 01:04:57]: max requested player with citizenid DSC01606. -[info][2025/05/18 01:04:57]: max requested change meta for citizenid DSC01606. -[info][2025/05/18 01:04:57]: max requested player with citizenid DSC01606. -[info][2025/05/18 01:05:11]: max requested inventory for citizenid DSC01606. -[info][2025/05/18 01:05:13]: max requested item list. -[info][2025/05/18 01:05:34]: max requested add item for citizenid DSC01606. -[info][2025/05/18 01:13:13]: max requested all players. -[info][2025/05/18 01:19:26]: Login attempt on Nordi from 95.33.58.204 -[info][2025/05/18 01:19:28]: nordi requested all players. -[info][2025/05/18 01:19:32]: nordi requested player with citizenid JQK75222. -[info][2025/05/18 01:19:36]: nordi requested change jobs. -[info][2025/05/18 01:19:48]: nordi requested change jobs. -[info][2025/05/18 01:36:13]: nordi requested all players. -[info][2025/05/18 01:36:15]: nordi requested player with citizenid JCQ27225. -[info][2025/05/18 01:36:29]: nordi requested add money cash for citizenid JCQ27225. -[info][2025/05/18 01:36:29]: nordi requested player with citizenid JCQ27225. -[info][2025/05/18 01:36:41]: nordi requested all players. -[info][2025/05/18 01:36:43]: nordi requested player with citizenid JQK75222. -[info][2025/05/18 01:36:47]: nordi requested add money cash for citizenid JQK75222. -[info][2025/05/18 01:36:48]: nordi requested player with citizenid JQK75222. -[info][2025/05/18 11:21:53]: Login attempt on Tim from 46.125.250.13 -[info][2025/05/18 11:21:56]: tim requested all accounts. -[info][2025/05/18 11:22:00]: tim requested all players. -[info][2025/05/18 11:22:04]: tim requested player with citizenid LHE89744. -[info][2025/05/18 11:22:15]: tim requested add money cash for citizenid LHE89744. -[info][2025/05/18 11:22:15]: tim requested player with citizenid LHE89744. -[info][2025/05/18 11:29:06]: tim requested player with citizenid LHE89744. -[info][2025/05/18 11:29:25]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/18 11:29:31]: campers requested player with citizenid LHE89744. -[info][2025/05/18 11:29:33]: campers requested screenshot for citizenid LHE89744. -[info][2025/05/18 11:29:39]: campers requested screenshot for citizenid LHE89744. -[info][2025/05/18 12:08:47]: tim requested heal for citizenid LHE89744. -[info][2025/05/18 12:08:48]: tim requested change meta for citizenid LHE89744. -[info][2025/05/18 12:08:48]: tim requested player with citizenid LHE89744. -[info][2025/05/18 12:08:48]: tim requested change meta for citizenid LHE89744. -[info][2025/05/18 12:08:48]: tim requested player with citizenid LHE89744. -[info][2025/05/18 12:08:51]: tim requested all players. -[info][2025/05/18 12:08:54]: tim requested player with citizenid AOJ19157. -[info][2025/05/18 12:08:56]: tim requested heal for citizenid AOJ19157. -[info][2025/05/18 12:08:56]: tim requested player with citizenid AOJ19157. -[info][2025/05/18 12:08:56]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/18 12:08:56]: tim requested player with citizenid AOJ19157. -[info][2025/05/18 12:08:57]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/18 12:08:57]: tim requested player with citizenid AOJ19157. -[info][2025/05/18 12:08:57]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/18 12:08:57]: tim requested player with citizenid AOJ19157. -[info][2025/05/18 12:08:58]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/18 12:08:58]: tim requested player with citizenid AOJ19157. -[info][2025/05/18 12:09:00]: tim requested all players. -[info][2025/05/18 12:13:32]: campers requested player with citizenid AOJ19157. -[info][2025/05/18 12:13:53]: campers requested player with citizenid JQK75222. -[info][2025/05/18 17:47:33]: Login attempt on Tim from 46.125.250.13 -[info][2025/05/18 17:47:35]: tim requested all accounts. -[info][2025/05/18 17:47:36]: tim requested all players. -[info][2025/05/18 17:47:39]: tim requested player with citizenid AOJ19157. -[info][2025/05/18 17:47:41]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/18 17:47:41]: tim requested player with citizenid AOJ19157. -[info][2025/05/18 17:47:42]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/18 17:47:42]: tim requested player with citizenid AOJ19157. -[info][2025/05/18 17:47:42]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/18 17:47:42]: tim requested player with citizenid AOJ19157. -[info][2025/05/18 17:47:42]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/18 17:47:42]: tim requested player with citizenid AOJ19157. -[info][2025/05/18 17:47:45]: tim requested heal for citizenid AOJ19157. -[info][2025/05/18 17:47:45]: tim requested player with citizenid AOJ19157. -[info][2025/05/18 17:47:46]: tim requested heal for citizenid AOJ19157. -[info][2025/05/18 17:47:46]: tim requested player with citizenid AOJ19157. -[info][2025/05/18 17:58:57]: Login attempt on MiniChaoz from 188.126.166.0 -[info][2025/05/18 17:59:07]: minichaoz requested all users. -[info][2025/05/18 18:26:11]: Login attempt on MiniChaoz from 188.126.166.0 -[info][2025/05/18 18:26:14]: minichaoz requested all users. -[info][2025/05/18 18:26:16]: minichaoz requested role list. -[info][2025/05/18 18:27:05]: minichaoz requested create user Rockit. -[info][2025/05/18 18:27:06]: minichaoz requested all users. -[info][2025/05/18 18:27:28]: minichaoz requested all roles. -[info][2025/05/18 18:27:52]: minichaoz requested create role Fraktionsverwaltung. -[info][2025/05/18 18:27:53]: minichaoz requested all roles. -[info][2025/05/18 18:28:03]: minichaoz requested role Fraktionsverwaltung. -[info][2025/05/18 18:28:07]: minichaoz requested save role Fraktionsverwaltung. -[info][2025/05/18 18:28:09]: minichaoz requested all roles. -[info][2025/05/18 18:28:16]: minichaoz requested all users. -[info][2025/05/18 18:28:17]: minichaoz requested user rockit. -[info][2025/05/18 18:28:22]: minichaoz requested save user rockit. -[info][2025/05/18 18:28:24]: minichaoz requested all users. -[info][2025/05/18 18:28:27]: minichaoz requested all roles. -[info][2025/05/18 18:28:33]: minichaoz requested role Teamleitung. -[info][2025/05/18 18:28:39]: minichaoz requested save role Teamleitung. -[info][2025/05/18 18:28:41]: minichaoz requested all roles. -[info][2025/05/18 18:28:46]: minichaoz requested role Teamleitung. -[info][2025/05/18 18:28:50]: minichaoz requested save role Teamleitung. -[info][2025/05/18 18:28:51]: minichaoz requested all roles. -[info][2025/05/18 18:28:55]: minichaoz requested all users. -[info][2025/05/18 18:29:07]: minichaoz requested role list. -[info][2025/05/18 18:29:59]: minichaoz requested create user Steven. -[info][2025/05/18 18:30:00]: minichaoz requested all users. -[info][2025/05/18 18:30:31]: minichaoz requested user nordi. -[info][2025/05/18 18:30:37]: minichaoz requested save user nordi. -[info][2025/05/18 18:30:39]: minichaoz requested all users. -[info][2025/05/18 18:31:35]: minichaoz requested role list. -[info][2025/05/18 18:31:50]: minichaoz requested create user Marc. -[info][2025/05/18 18:31:51]: minichaoz requested all users. -[info][2025/05/18 18:32:21]: minichaoz requested all roles. -[info][2025/05/18 18:32:36]: minichaoz requested create role Inhaber. -[info][2025/05/18 18:32:36]: minichaoz requested all roles. -[info][2025/05/18 18:32:41]: minichaoz requested role Inhaber. -[info][2025/05/18 18:32:42]: minichaoz requested all roles. -[info][2025/05/18 18:32:44]: minichaoz requested all users. -[info][2025/05/18 18:32:46]: minichaoz requested user tim. -[info][2025/05/18 18:32:51]: minichaoz requested save user tim. -[info][2025/05/18 18:32:53]: minichaoz requested all users. -[info][2025/05/18 18:32:59]: minichaoz requested all roles. -[info][2025/05/18 18:33:04]: minichaoz requested role Projektleitung. -[info][2025/05/18 18:33:10]: minichaoz requested save role Projektleitung. -[info][2025/05/18 18:33:10]: Login attempt on Rockit from 5.146.197.119 -[info][2025/05/18 18:33:11]: minichaoz requested all roles. -[info][2025/05/18 18:34:33]: minichaoz requested all users. -[info][2025/05/18 18:34:34]: minichaoz requested role list. -[info][2025/05/18 18:35:38]: minichaoz requested create user voltstromi. -[info][2025/05/18 18:35:38]: minichaoz requested all users. -[info][2025/05/18 18:36:23]: Login attempt on voltstromi from 85.1.26.65 -[info][2025/05/18 18:36:50]: voltstromi requested all players. -[info][2025/05/18 18:36:53]: voltstromi requested all players. -[info][2025/05/18 18:36:57]: voltstromi requested player with citizenid TUM26702. -[info][2025/05/18 18:37:48]: Login attempt on Marc from 84.63.194.215 -[info][2025/05/18 18:37:55]: Login attempt on Marc from 84.63.194.215 -[info][2025/05/18 18:38:06]: Login attempt on Marc from 84.63.194.215 -[info][2025/05/18 18:38:14]: marc requested all players. -[info][2025/05/18 18:41:26]: rockit requested player with citizenid TUM26702. -[info][2025/05/18 18:41:33]: rockit requested player with citizenid LHE89744. -[info][2025/05/18 18:42:53]: rockit requested player with citizenid TUM26702. -[info][2025/05/18 18:43:18]: rockit requested player with citizenid LHE89744. -[info][2025/05/18 18:43:19]: minichaoz requested player with citizenid TUM26702. -[info][2025/05/18 18:43:22]: rockit requested change meta for citizenid LHE89744. -[info][2025/05/18 18:43:22]: rockit requested player with citizenid LHE89744. -[info][2025/05/18 18:43:23]: rockit requested change meta for citizenid LHE89744. -[info][2025/05/18 18:43:23]: rockit requested player with citizenid LHE89744. -[info][2025/05/18 18:43:23]: minichaoz requested screenshot for citizenid TUM26702. -[info][2025/05/18 18:43:28]: voltstromi requested player with citizenid TUM26702. -[info][2025/05/18 18:43:33]: rockit requested player with citizenid TUM26702. -[info][2025/05/18 18:43:38]: rockit requested change bucket for citizenid TUM26702. -[info][2025/05/18 18:43:38]: rockit requested player with citizenid TUM26702. -[info][2025/05/18 18:43:41]: minichaoz requested player with citizenid TUM26702. -[info][2025/05/18 18:43:45]: minichaoz requested teleport for citizenid TUM26702. -[info][2025/05/18 18:43:55]: rockit requested change bucket for citizenid TUM26702. -[info][2025/05/18 18:43:55]: rockit requested player with citizenid TUM26702. -[info][2025/05/18 18:49:19]: rockit requested player with citizenid TUM26702. -[info][2025/05/18 18:49:26]: rockit requested player with citizenid TUM26702. -[info][2025/05/18 18:49:48]: rockit requested all players. -[info][2025/05/18 18:49:49]: marc requested all vehicles. -[info][2025/05/18 18:50:05]: rockit requested player with citizenid TUM26702. -[info][2025/05/18 18:50:12]: marc requested all stashes. -[info][2025/05/18 18:50:17]: marc requested all players. -[info][2025/05/18 18:50:19]: marc requested all accounts. -[info][2025/05/18 18:50:19]: rockit requested all players. -[info][2025/05/18 18:50:22]: rockit requested all players. -[info][2025/05/18 18:50:35]: rockit requested player with citizenid TUM26702. -[info][2025/05/18 18:50:42]: rockit requested delete player with citizenid TUM26702. -[info][2025/05/18 18:50:42]: rockit requested all players. -[info][2025/05/18 18:50:46]: rockit requested all players. -[info][2025/05/18 18:51:44]: rockit requested player with citizenid JQK75222. -[info][2025/05/18 18:51:47]: rockit requested screenshot for citizenid JQK75222. -[info][2025/05/18 18:52:39]: rockit requested all vehicles. -[info][2025/05/18 18:52:54]: rockit requested all players. -[info][2025/05/18 18:53:02]: rockit requested player with citizenid LHE89744. -[info][2025/05/18 18:53:03]: rockit requested player vehicles for citizenid LHE89744. -[info][2025/05/18 18:53:41]: rockit requested create vehicle. -[info][2025/05/18 18:53:42]: rockit requested all vehicles. -[info][2025/05/18 18:53:51]: rockit requested player with citizenid LHE89744. -[info][2025/05/18 18:53:53]: rockit requested player vehicles for citizenid LHE89744. -[info][2025/05/18 18:53:58]: rockit requested vehicle with id 35. -[info][2025/05/18 18:55:19]: rockit requested vehicle with id 35. -[info][2025/05/18 18:56:43]: Login attempt on from 47.64.51.154 -[info][2025/05/18 18:57:25]: Login attempt on Steven from 47.64.51.154 -[info][2025/05/18 18:57:50]: rockit requested player with citizenid LHE89744. -[info][2025/05/18 18:57:53]: rockit requested player vehicles for citizenid LHE89744. -[info][2025/05/18 18:57:57]: rockit requested vehicle with id 35. -[info][2025/05/18 18:58:03]: rockit requested despawn vehicle with plate MONEY id 35. -[info][2025/05/18 18:58:24]: rockit requested despawn vehicle with plate MONEY id 35. -[info][2025/05/18 18:58:45]: rockit requested despawn vehicle with plate MONEY id 35. -[info][2025/05/18 18:58:50]: rockit requested delete vehicle id 35. -[info][2025/05/18 18:58:50]: rockit requested all vehicles. -[info][2025/05/18 19:08:13]: steven requested all vehicles. -[info][2025/05/18 19:08:46]: rockit requested player with citizenid LHE89744. -[info][2025/05/18 19:08:53]: rockit requested change jobs. -[info][2025/05/18 19:09:01]: rockit requested change job for citizenid LHE89744. -[info][2025/05/18 19:09:01]: rockit requested player with citizenid LHE89744. -[info][2025/05/18 19:09:05]: steven requested all stashes. -[info][2025/05/18 19:09:11]: rockit requested player with citizenid RZC73356. -[info][2025/05/18 19:09:14]: rockit requested change jobs. -[info][2025/05/18 19:09:18]: rockit requested change job for citizenid RZC73356. -[info][2025/05/18 19:09:18]: rockit requested player with citizenid RZC73356. -[info][2025/05/18 19:22:00]: rockit requested player with citizenid RZC73356. -[info][2025/05/18 19:22:00]: voltstromi requested all players. -[info][2025/05/18 19:22:20]: rockit requested player with citizenid LHE89744. -[info][2025/05/18 19:22:28]: rockit requested player with citizenid RZC73356. -[info][2025/05/18 19:22:29]: voltstromi requested player with citizenid RZC73356. -[info][2025/05/18 19:23:17]: steven requested all accounts. -[info][2025/05/18 19:33:02]: steven requested all stashes. -[info][2025/05/18 19:33:05]: steven requested all vehicles. -[info][2025/05/18 19:33:08]: steven requested all players. -[info][2025/05/18 19:40:18]: rockit requested player with citizenid LHE89744. -[info][2025/05/18 19:40:21]: rockit requested change meta for citizenid LHE89744. -[info][2025/05/18 19:40:21]: rockit requested player with citizenid LHE89744. -[info][2025/05/18 19:40:21]: rockit requested change meta for citizenid LHE89744. -[info][2025/05/18 19:40:22]: rockit requested player with citizenid LHE89744. -[info][2025/05/18 20:06:27]: voltstromi requested player with citizenid RZC73356. -[info][2025/05/18 20:06:50]: Login attempt on Tim from 46.125.250.13 -[info][2025/05/18 20:06:54]: tim requested all accounts. -[info][2025/05/18 20:06:56]: tim requested all players. -[info][2025/05/18 20:07:02]: tim requested player with citizenid RZC73356. -[info][2025/05/18 20:07:06]: tim requested all players. -[info][2025/05/18 20:07:11]: tim requested player with citizenid MWV00464. -[info][2025/05/18 20:07:14]: tim requested all players. -[info][2025/05/18 20:07:16]: tim requested player with citizenid RZC73356. -[info][2025/05/18 20:07:28]: tim requested all players. -[info][2025/05/18 20:07:40]: tim requested player with citizenid JQK75222. -[info][2025/05/18 20:07:42]: tim requested all players. -[info][2025/05/18 20:07:48]: tim requested player with citizenid AOJ19157. -[info][2025/05/18 20:07:58]: tim requested change charinfo for citizenid AOJ19157. -[info][2025/05/18 20:07:58]: tim requested player with citizenid AOJ19157. -[info][2025/05/18 20:08:00]: tim requested all players. -[info][2025/05/18 20:42:31]: Login attempt on Tim from 46.125.250.13 -[info][2025/05/18 20:42:33]: tim requested all accounts. -[info][2025/05/18 20:42:35]: tim requested all players. -[info][2025/05/18 20:42:38]: tim requested player with citizenid AOJ19157. -[info][2025/05/18 20:43:02]: tim requested all players. -[info][2025/05/18 20:43:06]: tim requested player with citizenid LHE89744. -[info][2025/05/18 20:43:30]: Login attempt on from 47.64.51.154 -[info][2025/05/18 20:43:41]: Login attempt on from 47.64.51.154 -[info][2025/05/18 20:43:46]: Login attempt on Steven from 47.64.51.154 -[info][2025/05/18 21:19:55]: Login attempt on from 47.64.51.154 -[info][2025/05/18 21:19:59]: Login attempt on Steven from 47.64.51.154 -[info][2025/05/18 21:22:25]: Login attempt on MiniChaoz from 188.126.166.0 -[info][2025/05/18 21:45:00]: Login attempt on Tim from 46.125.250.13 -[info][2025/05/18 21:49:27]: Login attempt on from 188.126.166.0 -[info][2025/05/18 21:49:28]: Login attempt on MiniChaoz from 188.126.166.0 -[info][2025/05/19 13:55:26]: Login attempt on Tim from 213.162.73.89 -[info][2025/05/19 13:55:29]: tim requested all players. -[info][2025/05/19 13:55:34]: tim requested player with citizenid AOJ19157. -[info][2025/05/19 21:12:59]: Login attempt on Steven from 47.64.51.154 -[info][2025/05/19 21:15:27]: steven requested all accounts. -[info][2025/05/19 21:16:08]: steven requested all players. -[info][2025/05/19 21:16:25]: steven requested all vehicles. -[info][2025/05/19 21:37:45]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/19 21:51:10]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/19 21:52:07]: campers requested all players. -[info][2025/05/19 21:52:11]: campers requested player with citizenid OHM07543. -[info][2025/05/19 21:52:12]: campers requested player vehicles for citizenid OHM07543. -[info][2025/05/19 21:52:28]: campers requested all players. -[info][2025/05/19 21:52:35]: campers requested player with citizenid DUD53794. -[info][2025/05/19 21:52:36]: campers requested player vehicles for citizenid DUD53794. -[info][2025/05/19 21:52:56]: campers requested player with citizenid DUD53794. -[info][2025/05/19 21:53:01]: campers requested player vehicles for citizenid DUD53794. -[info][2025/05/19 21:53:06]: campers requested all vehicles. -[info][2025/05/19 21:53:23]: campers requested all players. -[info][2025/05/19 21:53:31]: campers requested all vehicles. -[info][2025/05/19 21:53:33]: campers requested vehicle with id 32. -[info][2025/05/19 21:53:42]: campers requested all vehicles. -[info][2025/05/19 21:53:43]: campers requested vehicle with id 33. -[info][2025/05/19 21:53:52]: campers requested all vehicles. -[info][2025/05/19 21:53:54]: campers requested vehicle with id 34. -[info][2025/05/19 21:55:54]: campers requested all vehicles. -[info][2025/05/19 21:56:35]: campers requested player with citizenid AOJ19157. -[info][2025/05/19 21:56:46]: campers requested change meta for citizenid AOJ19157. -[info][2025/05/19 21:56:46]: campers requested player with citizenid AOJ19157. -[info][2025/05/19 21:56:47]: campers requested change meta for citizenid AOJ19157. -[info][2025/05/19 21:56:47]: campers requested player with citizenid AOJ19157. -[info][2025/05/19 21:56:51]: campers requested heal for citizenid AOJ19157. -[info][2025/05/19 21:56:51]: campers requested player with citizenid AOJ19157. -[info][2025/05/19 21:56:58]: campers requested player vehicles for citizenid AOJ19157. -[info][2025/05/19 21:57:04]: campers requested save note for citizenid AOJ19157. -[info][2025/05/19 21:57:06]: campers requested player with citizenid AOJ19157. -[info][2025/05/19 21:57:19]: campers requested all stashes. -[info][2025/05/19 21:57:20]: campers requested all vehicles. -[info][2025/05/19 21:57:22]: campers requested all players. -[info][2025/05/19 22:36:40]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/19 22:36:43]: campers requested all players. -[info][2025/05/19 22:36:47]: campers requested player with citizenid OHM07543. -[info][2025/05/19 22:36:48]: campers requested player vehicles for citizenid OHM07543. -[info][2025/05/19 22:36:55]: campers requested vehicle with id 36. -[info][2025/05/19 22:38:01]: campers requested all vehicles. -[info][2025/05/19 22:38:09]: campers requested vehicle with id 36. -[info][2025/05/19 22:38:13]: campers requested delete vehicle id 36. -[info][2025/05/19 22:38:14]: campers requested all vehicles. -[info][2025/05/19 22:59:20]: campers requested all players. -[info][2025/05/19 22:59:30]: campers requested player with citizenid OHM07543. -[info][2025/05/19 22:59:39]: campers requested inventory for citizenid OHM07543. -[info][2025/05/19 22:59:41]: campers requested item list. -[info][2025/05/19 23:00:05]: campers requested add item for citizenid OHM07543. -[info][2025/05/19 23:53:02]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/19 23:53:08]: campers requested all users. -[info][2025/05/20 00:07:02]: campers requested user campers. -[info][2025/05/20 00:07:05]: campers requested all users. -[info][2025/05/20 00:51:03]: Login attempt on Tim from 213.162.73.89 -[info][2025/05/20 00:51:06]: tim requested all players. -[info][2025/05/20 00:51:07]: tim requested all vehicles. -[info][2025/05/20 00:51:10]: tim requested all players. -[info][2025/05/20 00:51:13]: tim requested player with citizenid AOJ19157. -[info][2025/05/20 00:51:14]: tim requested heal for citizenid AOJ19157. -[info][2025/05/20 00:51:14]: tim requested player with citizenid AOJ19157. -[info][2025/05/20 00:51:15]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/20 00:51:15]: tim requested player with citizenid AOJ19157. -[info][2025/05/20 00:51:15]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/20 00:51:15]: tim requested player with citizenid AOJ19157. -[info][2025/05/20 00:51:16]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/20 00:51:16]: tim requested player with citizenid AOJ19157. -[info][2025/05/20 00:51:16]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/20 00:51:16]: tim requested player with citizenid AOJ19157. -[info][2025/05/20 01:38:08]: tim requested heal for citizenid AOJ19157. -[info][2025/05/20 01:38:08]: tim requested player with citizenid AOJ19157. -[info][2025/05/20 01:38:08]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/20 01:38:08]: tim requested player with citizenid AOJ19157. -[info][2025/05/20 01:38:09]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/20 01:38:09]: tim requested player with citizenid AOJ19157. -[info][2025/05/20 01:38:09]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/20 01:38:10]: tim requested player with citizenid AOJ19157. -[info][2025/05/20 01:38:12]: tim requested all players. -[info][2025/05/20 01:38:16]: tim requested player with citizenid JQK75222. -[info][2025/05/20 01:38:18]: tim requested heal for citizenid JQK75222. -[info][2025/05/20 01:38:18]: tim requested player with citizenid JQK75222. -[info][2025/05/20 01:38:18]: tim requested heal for citizenid JQK75222. -[info][2025/05/20 01:38:18]: tim requested player with citizenid JQK75222. -[info][2025/05/20 01:38:19]: tim requested change meta for citizenid JQK75222. -[info][2025/05/20 01:38:19]: tim requested player with citizenid JQK75222. -[info][2025/05/20 01:38:19]: tim requested change meta for citizenid JQK75222. -[info][2025/05/20 01:38:19]: tim requested player with citizenid JQK75222. -[info][2025/05/20 01:38:20]: tim requested change meta for citizenid JQK75222. -[info][2025/05/20 01:38:20]: tim requested player with citizenid JQK75222. -[info][2025/05/20 21:03:48]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/20 21:03:54]: campers requested player with citizenid OHM07543. -[info][2025/05/20 21:04:03]: campers requested heal for citizenid OHM07543. -[info][2025/05/20 21:04:03]: campers requested player with citizenid OHM07543. -[info][2025/05/20 21:04:04]: campers requested change meta for citizenid OHM07543. -[info][2025/05/20 21:04:04]: campers requested player with citizenid OHM07543. -[info][2025/05/20 21:04:05]: campers requested change meta for citizenid OHM07543. -[info][2025/05/20 21:04:05]: campers requested player with citizenid OHM07543. -[info][2025/05/20 23:13:17]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/21 00:07:55]: Login attempt on Tim from 213.162.73.89 -[info][2025/05/21 00:08:04]: tim requested all players. -[info][2025/05/21 00:08:09]: tim requested player with citizenid JCQ27225. -[info][2025/05/21 00:08:10]: tim requested all players. -[info][2025/05/21 00:08:12]: tim requested player with citizenid AOJ19157. -[info][2025/05/21 00:08:15]: tim requested heal for citizenid AOJ19157. -[info][2025/05/21 00:08:15]: tim requested player with citizenid AOJ19157. -[info][2025/05/21 00:08:15]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/21 00:08:16]: tim requested player with citizenid AOJ19157. -[info][2025/05/21 00:08:16]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/21 00:08:16]: tim requested player with citizenid AOJ19157. -[info][2025/05/21 00:08:16]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/21 00:08:16]: tim requested player with citizenid AOJ19157. -[info][2025/05/21 00:08:17]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/21 00:08:17]: tim requested player with citizenid AOJ19157. -[info][2025/05/21 00:38:47]: Login attempt on Nordi from 91.248.236.41 -[info][2025/05/21 00:39:31]: tim requested player with citizenid AOJ19157. -[info][2025/05/21 00:39:35]: tim requested heal for citizenid AOJ19157. -[info][2025/05/21 00:39:35]: tim requested player with citizenid AOJ19157. -[info][2025/05/21 00:39:36]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/21 00:39:36]: tim requested player with citizenid AOJ19157. -[info][2025/05/21 00:39:36]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/21 00:39:36]: tim requested player with citizenid AOJ19157. -[info][2025/05/21 00:39:36]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/21 00:39:37]: tim requested player with citizenid AOJ19157. -[info][2025/05/21 00:39:37]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/21 00:39:37]: tim requested player with citizenid AOJ19157. -[info][2025/05/21 00:39:38]: tim requested change jobs. -[info][2025/05/21 00:39:43]: tim requested change job for citizenid AOJ19157. -[info][2025/05/21 00:39:43]: tim requested player with citizenid AOJ19157. -[info][2025/05/21 00:43:09]: nordi requested all players. -[info][2025/05/21 00:43:32]: nordi requested player with citizenid JCQ27225. -[info][2025/05/21 00:44:41]: nordi requested all players. -[info][2025/05/21 00:44:43]: nordi requested player with citizenid JCQ27225. -[info][2025/05/21 00:44:45]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/21 00:44:47]: nordi requested item list. -[info][2025/05/21 00:44:53]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/21 02:11:24]: nordi requested item list. -[info][2025/05/21 02:11:33]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/21 02:11:39]: nordi requested item list. -[info][2025/05/21 02:11:46]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/21 02:11:50]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/21 08:54:57]: Login attempt on Rockit from 5.146.196.139 -[info][2025/05/21 08:55:14]: rockit requested player with citizenid DYW89109. -[info][2025/05/21 08:55:17]: rockit requested change jobs. -[info][2025/05/21 08:55:30]: rockit requested change job for citizenid DYW89109. -[info][2025/05/21 08:55:30]: rockit requested player with citizenid DYW89109. -[info][2025/05/21 08:56:13]: rockit requested player with citizenid DYW89109. -[info][2025/05/21 08:56:16]: rockit requested change jobs. -[info][2025/05/21 08:56:23]: rockit requested change job for citizenid DYW89109. -[info][2025/05/21 08:56:23]: rockit requested player with citizenid DYW89109. -[info][2025/05/21 08:58:26]: rockit requested add money cash for citizenid DYW89109. -[info][2025/05/21 08:58:26]: rockit requested player with citizenid DYW89109. -[info][2025/05/21 09:14:01]: rockit requested player with citizenid DYW89109. -[info][2025/05/21 09:14:06]: rockit requested change meta for citizenid DYW89109. -[info][2025/05/21 09:14:06]: rockit requested player with citizenid DYW89109. -[info][2025/05/21 09:14:07]: rockit requested change meta for citizenid DYW89109. -[info][2025/05/21 09:14:07]: rockit requested player with citizenid DYW89109. -[info][2025/05/21 09:26:47]: rockit requested all vehicles. -[info][2025/05/21 11:13:13]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/21 11:22:19]: tim requested all players. -[info][2025/05/21 11:22:22]: Login attempt on Tim from 213.162.73.89 -[info][2025/05/21 11:22:25]: tim requested all accounts. -[info][2025/05/21 11:22:26]: tim requested all players. -[info][2025/05/21 11:22:31]: tim requested player with citizenid AOJ19157. -[info][2025/05/21 11:22:40]: tim requested change charinfo for citizenid AOJ19157. -[info][2025/05/21 11:22:40]: tim requested player with citizenid AOJ19157. -[info][2025/05/21 12:14:09]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/21 12:14:09]: tim requested player with citizenid AOJ19157. -[info][2025/05/21 12:14:09]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/21 12:14:09]: tim requested player with citizenid AOJ19157. -[info][2025/05/21 12:14:10]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/21 12:14:10]: tim requested player with citizenid AOJ19157. -[info][2025/05/21 12:32:32]: tim requested all players. -[info][2025/05/21 12:32:35]: tim requested player with citizenid RZP34080. -[info][2025/05/21 14:16:17]: tim requested heal for citizenid RZP34080. -[info][2025/05/21 14:16:18]: tim requested change meta for citizenid RZP34080. -[info][2025/05/21 14:16:18]: tim requested player with citizenid RZP34080. -[info][2025/05/21 14:16:19]: tim requested change meta for citizenid RZP34080. -[info][2025/05/21 14:16:19]: tim requested player with citizenid RZP34080. -[info][2025/05/21 14:16:22]: tim requested all players. -[info][2025/05/21 14:16:29]: tim requested player with citizenid AOJ19157. -[info][2025/05/21 14:32:37]: tim requested heal for citizenid AOJ19157. -[info][2025/05/21 14:32:37]: tim requested player with citizenid AOJ19157. -[info][2025/05/21 14:32:38]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/21 14:32:38]: tim requested player with citizenid AOJ19157. -[info][2025/05/21 14:32:38]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/21 14:32:38]: tim requested player with citizenid AOJ19157. -[info][2025/05/21 14:32:39]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/21 14:32:39]: tim requested player with citizenid AOJ19157. -[info][2025/05/21 14:32:41]: tim requested heal for citizenid AOJ19157. -[info][2025/05/21 14:32:42]: tim requested player with citizenid AOJ19157. -[info][2025/05/21 14:32:43]: tim requested heal for citizenid AOJ19157. -[info][2025/05/21 14:32:43]: tim requested player with citizenid AOJ19157. -[info][2025/05/21 16:15:46]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/21 16:15:48]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/21 16:15:49]: nordi requested item list. -[info][2025/05/21 16:15:58]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/21 16:16:01]: nordi requested item list. -[info][2025/05/21 16:16:09]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/21 17:00:15]: Login attempt on Nordi from 80.228.184.55 -[info][2025/05/21 17:00:15]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/21 17:00:18]: Login attempt on Nordi from 80.228.184.55 -[info][2025/05/21 17:00:23]: nordi requested all players. -[info][2025/05/21 17:00:25]: nordi requested player with citizenid JCQ27225. -[info][2025/05/21 17:00:31]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/21 17:00:33]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/21 18:00:28]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/21 18:00:32]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/21 18:00:33]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/21 18:00:36]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/21 18:00:39]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/21 18:00:41]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/21 18:00:43]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/21 18:00:44]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/21 18:00:50]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/21 18:00:51]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/21 18:00:53]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/21 18:00:54]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/21 18:00:56]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/21 18:00:57]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/21 21:37:53]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/21 21:47:09]: nordi requested all players. -[info][2025/05/21 21:47:14]: nordi requested player with citizenid JCQ27225. -[info][2025/05/21 21:47:21]: nordi requested add money bank for citizenid JCQ27225. -[info][2025/05/21 21:47:21]: nordi requested player with citizenid JCQ27225. -[info][2025/05/21 22:54:01]: Login attempt on Tim from 213.162.73.89 -[info][2025/05/21 22:54:03]: tim requested all players. -[info][2025/05/21 22:54:06]: tim requested player with citizenid OHM07543. -[info][2025/05/21 22:55:39]: tim requested all players. -[info][2025/05/21 22:56:25]: tim requested all players. -[info][2025/05/21 22:56:28]: tim requested all players. -[info][2025/05/21 22:56:35]: tim requested player with citizenid DYW89109. -[info][2025/05/21 22:57:10]: tim requested all players. -[info][2025/05/21 22:57:14]: tim requested player with citizenid JCQ27225. -[info][2025/05/22 00:11:38]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/22 00:30:09]: campers requested player with citizenid OHM07543. -[info][2025/05/22 00:30:12]: campers requested change meta for citizenid OHM07543. -[info][2025/05/22 00:30:12]: campers requested player with citizenid OHM07543. -[info][2025/05/22 00:30:13]: campers requested change meta for citizenid OHM07543. -[info][2025/05/22 00:30:13]: campers requested player with citizenid OHM07543. -[info][2025/05/22 00:30:15]: campers requested heal for citizenid OHM07543. -[info][2025/05/22 00:30:15]: campers requested player with citizenid OHM07543. -[info][2025/05/22 00:59:01]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/22 00:59:03]: campers requested all users. -[info][2025/05/22 00:59:13]: campers requested user campers. -[info][2025/05/22 00:59:21]: campers requested save user campers. -[info][2025/05/22 00:59:24]: campers requested all users. -[info][2025/05/22 00:59:53]: campers requested user max. -[info][2025/05/22 01:00:00]: campers requested save user max. -[info][2025/05/22 01:01:33]: campers requested all players. -[info][2025/05/22 01:01:36]: campers requested player with citizenid OHM07543. -[info][2025/05/22 01:01:37]: campers requested player vehicles for citizenid OHM07543. -[info][2025/05/22 01:01:50]: campers requested vehicle with id 57. -[info][2025/05/22 01:01:56]: campers requested player with citizenid OHM07543. -[info][2025/05/22 01:02:03]: campers requested change jobs. -[info][2025/05/22 01:02:06]: campers requested change jobs. -[info][2025/05/22 01:02:18]: campers requested change job for citizenid OHM07543. -[info][2025/05/22 01:02:18]: campers requested player with citizenid OHM07543. -[info][2025/05/22 01:26:42]: Login attempt on Nordi from 80.228.184.55 -[info][2025/05/22 01:26:45]: nordi requested all players. -[info][2025/05/22 01:26:47]: nordi requested player with citizenid JCQ27225. -[info][2025/05/22 01:26:50]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/22 01:26:52]: nordi requested item list. -[info][2025/05/22 01:26:58]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/22 01:40:18]: nordi requested item list. -[info][2025/05/22 01:40:29]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/22 01:40:35]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/22 01:40:40]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/22 01:40:41]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/22 01:41:06]: nordi requested item list. -[info][2025/05/22 01:41:14]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/22 01:43:54]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/22 01:44:35]: Login attempt on Tim from 213.162.73.89 -[info][2025/05/22 01:44:37]: tim requested all players. -[info][2025/05/22 01:44:40]: tim requested player with citizenid AOJ19157. -[info][2025/05/22 01:44:43]: tim requested heal for citizenid AOJ19157. -[info][2025/05/22 01:44:43]: tim requested player with citizenid AOJ19157. -[info][2025/05/22 01:44:44]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/22 01:44:44]: tim requested player with citizenid AOJ19157. -[info][2025/05/22 01:44:44]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/22 01:44:44]: tim requested player with citizenid AOJ19157. -[info][2025/05/22 01:44:45]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/22 01:44:45]: tim requested player with citizenid AOJ19157. -[info][2025/05/22 01:44:54]: tim requested add money cash for citizenid AOJ19157. -[info][2025/05/22 01:44:54]: tim requested player with citizenid AOJ19157. -[info][2025/05/22 08:42:37]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/22 11:17:11]: tim requested player with citizenid AOJ19157. -[info][2025/05/22 12:01:00]: Login attempt on Nordi from 95.33.63.41 -[info][2025/05/22 12:01:01]: nordi requested item list. -[info][2025/05/22 12:01:03]: Login attempt on Nordi from 95.33.63.41 -[info][2025/05/22 12:01:12]: nordi requested all accounts. -[info][2025/05/22 12:01:18]: nordi requested all players. -[info][2025/05/22 12:01:21]: nordi requested player with citizenid JCQ27225. -[info][2025/05/22 12:01:23]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/22 12:01:24]: nordi requested item list. -[info][2025/05/22 12:01:31]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/22 12:05:55]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/22 12:06:19]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/22 12:06:28]: nordi requested all players. -[info][2025/05/22 12:06:32]: nordi requested player with citizenid JCQ27225. -[info][2025/05/22 12:06:35]: nordi requested change jobs. -[info][2025/05/22 12:06:43]: nordi requested change job for citizenid JCQ27225. -[info][2025/05/22 12:06:43]: nordi requested player with citizenid JCQ27225. -[info][2025/05/22 12:06:44]: nordi requested change jobs. -[info][2025/05/22 12:06:49]: nordi requested change job for citizenid JCQ27225. -[info][2025/05/22 12:06:49]: nordi requested player with citizenid JCQ27225. -[info][2025/05/22 12:06:53]: nordi requested change jobs. -[info][2025/05/22 12:06:58]: nordi requested change job for citizenid JCQ27225. -[info][2025/05/22 12:06:58]: nordi requested player with citizenid JCQ27225. -[info][2025/05/22 12:14:11]: nordi requested all players. -[info][2025/05/22 12:14:13]: nordi requested player with citizenid JCQ27225. -[info][2025/05/22 12:14:16]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/22 12:14:19]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/22 12:14:20]: nordi requested item list. -[info][2025/05/22 12:14:35]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/22 12:14:42]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/22 12:14:43]: nordi requested item list. -[info][2025/05/22 12:14:51]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/22 12:17:40]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/22 12:17:41]: nordi requested item list. -[info][2025/05/22 12:17:46]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/22 12:21:48]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/22 12:21:49]: nordi requested item list. -[info][2025/05/22 12:21:53]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/22 12:31:39]: Login attempt on Tim from 213.162.73.89 -[info][2025/05/22 12:31:40]: tim requested all players. -[info][2025/05/22 12:31:45]: Login attempt on Tim from 213.162.73.89 -[info][2025/05/22 12:31:48]: tim requested all players. -[info][2025/05/22 12:31:51]: tim requested player with citizenid JCQ27225. -[info][2025/05/22 14:19:17]: Login attempt on Nordi from 95.33.63.41 -[info][2025/05/22 14:19:17]: nordi requested all players. -[info][2025/05/22 14:19:19]: Login attempt on Nordi from 95.33.63.41 -[info][2025/05/22 14:19:22]: nordi requested all players. -[info][2025/05/22 14:19:23]: nordi requested player with citizenid JCQ27225. -[info][2025/05/22 14:19:25]: nordi requested change jobs. -[info][2025/05/22 14:19:32]: nordi requested change job for citizenid JCQ27225. -[info][2025/05/22 14:19:32]: nordi requested player with citizenid JCQ27225. -[info][2025/05/22 15:38:01]: Login attempt on Nordi from 95.33.63.41 -[info][2025/05/22 15:38:02]: nordi requested all players. -[info][2025/05/22 15:38:04]: Login attempt on Nordi from 95.33.63.41 -[info][2025/05/22 15:38:06]: nordi requested all players. -[info][2025/05/22 15:38:14]: nordi requested all players. -[info][2025/05/22 15:38:14]: nordi requested all players. -[info][2025/05/22 15:38:15]: nordi requested all players. -[info][2025/05/22 15:38:17]: nordi requested player with citizenid KVA51843. -[info][2025/05/22 15:38:20]: nordi requested change jobs. -[info][2025/05/22 15:38:25]: nordi requested change job for citizenid KVA51843. -[info][2025/05/22 15:38:25]: nordi requested player with citizenid KVA51843. -[info][2025/05/22 15:42:21]: Login attempt on Rockit from 5.146.196.171 -[info][2025/05/22 15:42:37]: rockit requested password change. -[info][2025/05/22 15:51:40]: rockit requested player with citizenid LHE89744. -[info][2025/05/22 15:51:43]: rockit requested change meta for citizenid LHE89744. -[info][2025/05/22 15:51:43]: rockit requested player with citizenid LHE89744. -[info][2025/05/22 15:51:44]: rockit requested change meta for citizenid LHE89744. -[info][2025/05/22 15:51:44]: rockit requested player with citizenid LHE89744. -[info][2025/05/22 15:52:04]: rockit requested add money bank for citizenid LHE89744. -[info][2025/05/22 15:52:04]: rockit requested player with citizenid LHE89744. -[info][2025/05/22 15:57:52]: rockit requested player with citizenid DYW89109. -[info][2025/05/22 15:57:54]: rockit requested change meta for citizenid DYW89109. -[info][2025/05/22 15:57:54]: rockit requested player with citizenid DYW89109. -[info][2025/05/22 15:57:55]: rockit requested change meta for citizenid DYW89109. -[info][2025/05/22 15:57:55]: rockit requested player with citizenid DYW89109. -[info][2025/05/22 16:07:42]: nordi requested all players. -[info][2025/05/22 16:07:46]: nordi requested all players. -[info][2025/05/22 16:07:47]: nordi requested player with citizenid DYW89109. -[info][2025/05/22 16:07:50]: nordi requested inventory for citizenid DYW89109. -[info][2025/05/22 16:07:51]: nordi requested item list. -[info][2025/05/22 16:08:01]: nordi requested add item for citizenid DYW89109. -[info][2025/05/22 16:26:17]: nordi requested all vehicles. -[info][2025/05/22 16:26:20]: nordi requested all players. -[info][2025/05/22 16:26:21]: nordi requested all stashes. -[info][2025/05/22 16:26:23]: nordi requested all players. -[info][2025/05/22 16:26:27]: nordi requested player with citizenid KVA51843. -[info][2025/05/22 16:26:32]: nordi requested inventory for citizenid KVA51843. -[info][2025/05/22 16:26:33]: nordi requested item list. -[info][2025/05/22 16:26:43]: nordi requested add item for citizenid KVA51843. -[info][2025/05/22 16:26:44]: nordi requested item list. -[info][2025/05/22 16:26:53]: nordi requested add item for citizenid KVA51843. -[info][2025/05/23 03:26:26]: Login attempt on Nordi from 85.16.110.194 -[info][2025/05/23 03:28:17]: nordi requested all players. -[info][2025/05/23 03:28:19]: nordi requested player with citizenid JCQ27225. -[info][2025/05/23 03:28:21]: nordi requested change jobs. -[info][2025/05/23 03:28:26]: nordi requested change job for citizenid JCQ27225. -[info][2025/05/23 03:28:26]: nordi requested player with citizenid JCQ27225. -[info][2025/05/23 04:48:54]: Login attempt on Nordi from 85.16.110.194 -[info][2025/05/23 04:58:10]: Login attempt on Nordi from 85.16.110.194 -[info][2025/05/23 04:58:48]: nordi requested all players. -[info][2025/05/23 04:58:50]: nordi requested player with citizenid JCQ27225. -[info][2025/05/23 04:58:52]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/23 04:58:59]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/23 04:59:03]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/23 04:59:06]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/23 04:59:09]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/23 04:59:13]: nordi requested item list. -[info][2025/05/23 04:59:29]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/23 05:31:40]: Login attempt on Nordi from 85.16.110.194 -[info][2025/05/23 05:31:43]: nordi requested all players. -[info][2025/05/23 05:31:46]: nordi requested player with citizenid JCQ27225. -[info][2025/05/23 05:31:48]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/23 05:31:49]: nordi requested item list. -[info][2025/05/23 05:31:57]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/23 06:10:36]: Login attempt on Nordi from 85.16.110.194 -[info][2025/05/23 06:12:52]: nordi requested all players. -[info][2025/05/23 06:12:54]: nordi requested player with citizenid JCQ27225. -[info][2025/05/23 06:12:57]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/23 06:13:06]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/23 06:13:08]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/23 06:14:37]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/23 08:28:49]: Login attempt on Nordi from 85.16.110.194 -[info][2025/05/23 08:28:56]: nordi requested all players. -[info][2025/05/23 08:28:59]: nordi requested player with citizenid JCQ27225. -[info][2025/05/23 08:29:02]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/23 08:48:39]: Login attempt on Rockit from 5.146.196.203 -[info][2025/05/23 08:53:31]: rockit requested player with citizenid DYW89109. -[info][2025/05/23 08:54:11]: rockit requested all players. -[info][2025/05/23 08:54:16]: rockit requested all players. -[info][2025/05/23 08:54:20]: rockit requested player with citizenid RZC73356. -[info][2025/05/23 08:54:35]: rockit requested all players. -[info][2025/05/23 08:54:38]: rockit requested all players. -[info][2025/05/23 08:54:40]: rockit requested all players. -[info][2025/05/23 08:54:40]: rockit requested all players. -[info][2025/05/23 08:54:41]: rockit requested all players. -[info][2025/05/23 08:54:41]: rockit requested all players. -[info][2025/05/23 08:54:43]: rockit requested player with citizenid LHE89744. -[info][2025/05/23 08:55:08]: rockit requested all players. -[info][2025/05/23 08:55:16]: rockit requested all players. -[info][2025/05/23 08:55:18]: rockit requested player with citizenid RZC73356. -[info][2025/05/23 08:57:51]: rockit requested player with citizenid DYW89109. -[info][2025/05/23 08:58:03]: rockit requested all players. -[info][2025/05/23 08:58:06]: rockit requested all players. -[info][2025/05/23 08:58:08]: rockit requested player with citizenid LHE89744. -[info][2025/05/23 09:00:14]: rockit requested all players. -[info][2025/05/23 09:00:18]: rockit requested all players. -[info][2025/05/23 09:00:20]: rockit requested player with citizenid RZC73356. -[info][2025/05/23 09:01:46]: rockit requested all players. -[info][2025/05/23 09:01:49]: rockit requested all players. -[info][2025/05/23 09:01:51]: rockit requested player with citizenid LHE89744. -[info][2025/05/23 09:03:10]: rockit requested all players. -[info][2025/05/23 09:03:13]: rockit requested all players. -[info][2025/05/23 09:03:15]: rockit requested player with citizenid RZC73356. -[info][2025/05/23 09:04:17]: rockit requested all players. -[info][2025/05/23 09:04:20]: rockit requested all players. -[info][2025/05/23 09:04:21]: rockit requested all players. -[info][2025/05/23 09:04:23]: rockit requested player with citizenid LHE89744. -[info][2025/05/23 09:04:32]: rockit requested all players. -[info][2025/05/23 09:04:34]: rockit requested player with citizenid LHE89744. -[info][2025/05/23 09:19:43]: rockit requested all players. -[info][2025/05/23 09:19:45]: rockit requested all players. -[info][2025/05/23 09:19:51]: rockit requested player with citizenid DYW89109. -[info][2025/05/23 09:19:54]: rockit requested change jobs. -[info][2025/05/23 09:20:04]: rockit requested change jobs. -[info][2025/05/23 09:20:13]: rockit requested change job for citizenid DYW89109. -[info][2025/05/23 09:20:13]: rockit requested player with citizenid DYW89109. -[info][2025/05/23 09:20:15]: rockit requested change jobs. -[info][2025/05/23 09:20:21]: rockit requested change job for citizenid DYW89109. -[info][2025/05/23 09:20:21]: rockit requested player with citizenid DYW89109. -[info][2025/05/23 12:01:24]: Login attempt on Tim from 213.162.73.89 -[info][2025/05/23 12:01:27]: Login attempt on Rockit from 5.146.196.203 -[info][2025/05/23 12:01:27]: tim requested all players. -[info][2025/05/23 12:01:32]: tim requested player with citizenid RZP34080. -[info][2025/05/23 12:01:34]: tim requested change meta for citizenid RZP34080. -[info][2025/05/23 12:01:34]: tim requested player with citizenid RZP34080. -[info][2025/05/23 12:01:34]: tim requested change meta for citizenid RZP34080. -[info][2025/05/23 12:01:34]: tim requested player with citizenid RZP34080. -[info][2025/05/23 12:01:35]: rockit requested player with citizenid DYW89109. -[info][2025/05/23 12:01:35]: tim requested change meta for citizenid RZP34080. -[info][2025/05/23 12:01:35]: tim requested player with citizenid RZP34080. -[info][2025/05/23 12:01:35]: tim requested change meta for citizenid RZP34080. -[info][2025/05/23 12:01:35]: tim requested player with citizenid RZP34080. -[info][2025/05/23 12:01:37]: rockit requested change meta for citizenid DYW89109. -[info][2025/05/23 12:01:37]: rockit requested player with citizenid DYW89109. -[info][2025/05/23 12:01:38]: rockit requested change meta for citizenid DYW89109. -[info][2025/05/23 12:01:38]: rockit requested player with citizenid DYW89109. -[info][2025/05/23 12:01:38]: tim requested all players. -[info][2025/05/23 12:01:43]: tim requested player with citizenid DYW89109. -[info][2025/05/23 12:01:46]: tim requested change meta for citizenid DYW89109. -[info][2025/05/23 12:01:46]: tim requested player with citizenid DYW89109. -[info][2025/05/23 12:01:46]: tim requested heal for citizenid DYW89109. -[info][2025/05/23 12:01:46]: tim requested player with citizenid DYW89109. -[info][2025/05/23 12:01:46]: tim requested change meta for citizenid DYW89109. -[info][2025/05/23 12:01:47]: tim requested player with citizenid DYW89109. -[info][2025/05/23 12:01:47]: tim requested change meta for citizenid DYW89109. -[info][2025/05/23 12:01:47]: tim requested player with citizenid DYW89109. -[info][2025/05/23 12:01:47]: tim requested change meta for citizenid DYW89109. -[info][2025/05/23 12:01:47]: tim requested player with citizenid DYW89109. -[info][2025/05/23 12:01:50]: tim requested all players. -[info][2025/05/23 12:01:52]: tim requested player with citizenid AOJ19157. -[info][2025/05/23 12:01:53]: tim requested heal for citizenid AOJ19157. -[info][2025/05/23 12:01:54]: tim requested player with citizenid AOJ19157. -[info][2025/05/23 12:01:54]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/23 12:01:54]: tim requested player with citizenid AOJ19157. -[info][2025/05/23 12:01:54]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/23 12:01:54]: tim requested player with citizenid AOJ19157. -[info][2025/05/23 12:01:55]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/23 12:01:55]: tim requested player with citizenid AOJ19157. -[info][2025/05/23 12:01:55]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/23 12:01:55]: tim requested player with citizenid AOJ19157. -[info][2025/05/23 13:12:02]: tim requested change charinfo for citizenid AOJ19157. -[info][2025/05/23 13:12:02]: tim requested player with citizenid AOJ19157. -[info][2025/05/23 13:12:22]: tim requested change charinfo for citizenid AOJ19157. -[info][2025/05/23 13:12:22]: tim requested player with citizenid AOJ19157. -[info][2025/05/23 13:12:58]: tim requested change charinfo for citizenid AOJ19157. -[info][2025/05/23 13:12:58]: tim requested player with citizenid AOJ19157. -[info][2025/05/23 13:13:17]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/23 13:13:17]: tim requested player with citizenid AOJ19157. -[info][2025/05/23 13:13:17]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/23 13:13:17]: tim requested player with citizenid AOJ19157. -[info][2025/05/23 13:13:28]: tim requested set money bank for citizenid AOJ19157. -[info][2025/05/23 13:13:28]: tim requested player with citizenid AOJ19157. -[info][2025/05/23 13:13:35]: tim requested change jobs. -[info][2025/05/23 13:13:45]: tim requested change job for citizenid AOJ19157. -[info][2025/05/23 13:13:45]: tim requested player with citizenid AOJ19157. -[info][2025/05/23 13:15:02]: tim requested all players. -[info][2025/05/23 13:15:10]: tim requested player with citizenid JCQ27225. -[info][2025/05/23 13:15:16]: tim requested change charinfo for citizenid JCQ27225. -[info][2025/05/23 13:15:16]: tim requested player with citizenid JCQ27225. -[info][2025/05/23 13:15:19]: tim requested all players. -[info][2025/05/23 13:15:21]: tim requested player with citizenid OHM07543. -[info][2025/05/23 13:15:24]: tim requested change charinfo for citizenid OHM07543. -[info][2025/05/23 13:15:25]: tim requested player with citizenid OHM07543. -[info][2025/05/23 13:15:27]: tim requested all players. -[info][2025/05/23 13:15:53]: tim requested player with citizenid VHM17991. -[info][2025/05/23 13:16:00]: tim requested save note for citizenid VHM17991. -[info][2025/05/23 13:16:01]: tim requested player vehicles for citizenid VHM17991. -[info][2025/05/23 13:16:02]: tim requested player with citizenid VHM17991. -[info][2025/05/23 13:17:52]: tim requested all players. -[info][2025/05/23 13:18:05]: tim requested player with citizenid AOJ19157. -[info][2025/05/23 13:18:10]: tim requested change jobs. -[info][2025/05/23 13:18:16]: tim requested change job for citizenid AOJ19157. -[info][2025/05/23 13:18:16]: tim requested player with citizenid AOJ19157. -[info][2025/05/23 13:18:18]: tim requested change jobs. -[info][2025/05/23 13:18:26]: tim requested change gangs. -[info][2025/05/23 13:19:31]: tim requested all users. -[info][2025/05/23 13:19:37]: tim requested user tim. -[info][2025/05/23 13:19:45]: tim requested all users. -[info][2025/05/23 13:20:09]: tim requested all accounts. -[info][2025/05/23 13:20:27]: tim requested all accounts. -[info][2025/05/23 14:29:19]: rockit requested vehicle with id 35. -[info][2025/05/23 14:31:05]: rockit requested player with citizenid DYW89109. -[info][2025/05/23 14:31:08]: rockit requested change meta for citizenid DYW89109. -[info][2025/05/23 14:31:08]: rockit requested player with citizenid DYW89109. -[info][2025/05/23 14:31:08]: rockit requested change meta for citizenid DYW89109. -[info][2025/05/23 14:31:08]: rockit requested player with citizenid DYW89109. -[info][2025/05/23 15:11:14]: Login attempt on voltstromi from 85.1.26.65 -[info][2025/05/23 15:11:22]: voltstromi requested player with citizenid RZC73356. -[info][2025/05/23 15:11:27]: rockit requested player with citizenid RZC73356. -[info][2025/05/23 15:11:29]: rockit requested change meta for citizenid RZC73356. -[info][2025/05/23 15:11:29]: rockit requested player with citizenid RZC73356. -[info][2025/05/23 15:11:30]: rockit requested change meta for citizenid RZC73356. -[info][2025/05/23 15:11:30]: rockit requested player with citizenid RZC73356. -[info][2025/05/23 15:19:28]: rockit requested player with citizenid DYW89109. -[info][2025/05/23 15:19:31]: rockit requested change meta for citizenid DYW89109. -[info][2025/05/23 15:19:31]: rockit requested player with citizenid DYW89109. -[info][2025/05/23 15:19:31]: rockit requested change meta for citizenid DYW89109. -[info][2025/05/23 15:19:31]: rockit requested player with citizenid DYW89109. -[info][2025/05/23 15:35:39]: Login attempt on Tim from 213.162.73.89 -[info][2025/05/23 15:35:41]: tim requested all vehicles. -[info][2025/05/23 15:35:41]: tim requested all players. -[info][2025/05/23 15:35:44]: tim requested all accounts. -[info][2025/05/23 15:35:45]: tim requested all players. -[info][2025/05/23 15:35:49]: tim requested player with citizenid MWV00464. -[info][2025/05/23 15:48:09]: tim requested player with citizenid MWV00464. -[info][2025/05/23 15:48:10]: tim requested all players. -[info][2025/05/23 15:48:16]: tim requested player with citizenid EPW91013. -[info][2025/05/23 15:48:23]: tim requested change charinfo for citizenid EPW91013. -[info][2025/05/23 15:48:23]: tim requested player with citizenid EPW91013. -[info][2025/05/23 15:48:28]: tim requested heal for citizenid EPW91013. -[info][2025/05/23 15:48:28]: tim requested player with citizenid EPW91013. -[info][2025/05/23 15:48:28]: tim requested change meta for citizenid EPW91013. -[info][2025/05/23 15:48:28]: tim requested player with citizenid EPW91013. -[info][2025/05/23 15:48:28]: tim requested change meta for citizenid EPW91013. -[info][2025/05/23 15:48:28]: tim requested player with citizenid EPW91013. -[info][2025/05/23 15:48:29]: tim requested change meta for citizenid EPW91013. -[info][2025/05/23 15:48:29]: tim requested player with citizenid EPW91013. -[info][2025/05/23 15:48:31]: tim requested change jobs. -[info][2025/05/23 15:48:35]: tim requested change job for citizenid EPW91013. -[info][2025/05/23 15:48:35]: tim requested player with citizenid EPW91013. -[info][2025/05/23 15:53:12]: tim requested all players. -[info][2025/05/23 15:53:15]: tim requested player with citizenid MWV00464. -[info][2025/05/23 15:53:19]: tim requested inventory for citizenid MWV00464. -[info][2025/05/23 15:53:23]: tim requested clear inv for citizenid MWV00464. -[info][2025/05/23 15:59:19]: Login attempt on Rockit from 5.146.197.181 -[info][2025/05/23 15:59:19]: rockit requested all players. -[info][2025/05/23 15:59:26]: Login attempt on Rockit from 5.146.197.181 -[info][2025/05/23 15:59:27]: tim requested all players. -[info][2025/05/23 15:59:31]: tim requested player with citizenid PGS32293. -[info][2025/05/23 15:59:34]: tim requested change jobs. -[info][2025/05/23 15:59:35]: rockit requested player with citizenid PGS32293. -[info][2025/05/23 15:59:37]: rockit requested change jobs. -[info][2025/05/23 15:59:44]: tim requested change job for citizenid PGS32293. -[info][2025/05/23 15:59:44]: tim requested player with citizenid PGS32293. -[info][2025/05/23 15:59:47]: rockit requested change job for citizenid PGS32293. -[info][2025/05/23 15:59:47]: rockit requested player with citizenid PGS32293. -[info][2025/05/23 16:08:30]: Login attempt on voltstromi from 85.1.26.65 -[info][2025/05/23 16:08:41]: Login attempt on voltstromi from 85.1.26.65 -[info][2025/05/23 16:08:58]: voltstromi requested all players. -[info][2025/05/23 16:09:04]: voltstromi requested all players. -[info][2025/05/23 16:09:06]: voltstromi requested player with citizenid PGS32293. -[info][2025/05/23 16:09:29]: voltstromi requested set money bank for citizenid PGS32293. -[info][2025/05/23 16:09:29]: voltstromi requested player with citizenid PGS32293. -[info][2025/05/23 16:41:01]: rockit requested player with citizenid PGS32293. -[info][2025/05/23 16:41:03]: rockit requested screenshot for citizenid PGS32293. -[info][2025/05/23 16:54:31]: tim requested change jobs. -[info][2025/05/23 17:53:29]: Login attempt on Tim from 213.162.73.89 -[info][2025/05/23 17:53:30]: tim requested all players. -[info][2025/05/23 17:53:32]: Login attempt on Tim from 213.162.73.89 -[info][2025/05/23 17:53:35]: tim requested all players. -[info][2025/05/23 17:53:41]: tim requested all players. -[info][2025/05/23 17:53:42]: tim requested all players. -[info][2025/05/23 17:53:45]: tim requested player with citizenid AOJ19157. -[info][2025/05/23 17:53:48]: tim requested heal for citizenid AOJ19157. -[info][2025/05/23 17:53:48]: tim requested player with citizenid AOJ19157. -[info][2025/05/23 17:53:49]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/23 17:53:49]: tim requested player with citizenid AOJ19157. -[info][2025/05/23 17:53:49]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/23 17:53:49]: tim requested player with citizenid AOJ19157. -[info][2025/05/23 17:53:50]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/23 17:53:50]: tim requested player with citizenid AOJ19157. -[info][2025/05/23 17:53:51]: tim requested change meta for citizenid AOJ19157. -[info][2025/05/23 17:53:51]: tim requested player with citizenid AOJ19157. -[info][2025/05/23 20:17:02]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/23 20:17:10]: campers requested player with citizenid OHM07543. -[info][2025/05/23 20:17:17]: campers requested change meta for citizenid OHM07543. -[info][2025/05/23 20:17:17]: campers requested player with citizenid OHM07543. -[info][2025/05/23 20:17:17]: campers requested change meta for citizenid OHM07543. -[info][2025/05/23 20:17:17]: campers requested player with citizenid OHM07543. -[info][2025/05/23 20:17:18]: campers requested change meta for citizenid OHM07543. -[info][2025/05/23 20:17:18]: campers requested player with citizenid OHM07543. -[info][2025/05/23 20:17:21]: campers requested change jobs. -[info][2025/05/23 20:17:30]: campers requested change job for citizenid OHM07543. -[info][2025/05/23 20:17:30]: campers requested player with citizenid OHM07543. -[info][2025/05/23 20:19:09]: campers requested all stashes. -[info][2025/05/23 20:19:10]: campers requested all players. -[info][2025/05/23 20:19:17]: campers requested player with citizenid OHM07543. -[info][2025/05/23 20:19:22]: campers requested inventory for citizenid OHM07543. -[info][2025/05/23 20:19:28]: campers requested delete item for citizenid OHM07543. -[info][2025/05/23 20:19:29]: campers requested item list. -[info][2025/05/23 20:19:47]: campers requested item list. -[info][2025/05/23 20:19:56]: campers requested add item for citizenid OHM07543. -[info][2025/05/23 22:29:44]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/23 22:29:48]: campers requested player with citizenid OHM07543. -[info][2025/05/23 22:29:50]: campers requested heal for citizenid OHM07543. -[info][2025/05/23 22:29:50]: campers requested player with citizenid OHM07543. -[info][2025/05/23 22:29:51]: campers requested change meta for citizenid OHM07543. -[info][2025/05/23 22:29:51]: campers requested player with citizenid OHM07543. -[info][2025/05/23 22:29:52]: campers requested change meta for citizenid OHM07543. -[info][2025/05/23 22:29:52]: campers requested player with citizenid OHM07543. -[info][2025/05/23 22:29:54]: campers requested heal for citizenid OHM07543. -[info][2025/05/23 22:29:54]: campers requested player with citizenid OHM07543. -[info][2025/05/23 22:29:55]: campers requested heal for citizenid OHM07543. -[info][2025/05/23 22:29:55]: campers requested player with citizenid OHM07543. -[info][2025/05/24 02:41:55]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/24 02:42:25]: campers requested all players. -[info][2025/05/24 02:42:43]: campers requested all players. -[info][2025/05/24 02:42:45]: campers requested player with citizenid OHM07543. -[info][2025/05/24 02:43:03]: campers requested change meta for citizenid OHM07543. -[info][2025/05/24 02:43:03]: campers requested player with citizenid OHM07543. -[info][2025/05/24 02:43:03]: campers requested change meta for citizenid OHM07543. -[info][2025/05/24 02:43:03]: campers requested player with citizenid OHM07543. -[info][2025/05/24 02:43:07]: campers requested change jobs. -[info][2025/05/24 02:43:19]: campers requested change job for citizenid OHM07543. -[info][2025/05/24 02:43:19]: campers requested player with citizenid OHM07543. -[info][2025/05/24 02:43:24]: campers requested player vehicles for citizenid OHM07543. -[info][2025/05/24 02:43:36]: campers requested save note for citizenid OHM07543. -[info][2025/05/24 02:43:38]: campers requested player with citizenid OHM07543. -[info][2025/05/24 07:48:52]: Login attempt on Nordi from 95.33.56.183 -[info][2025/05/24 07:48:54]: nordi requested all players. -[info][2025/05/24 07:48:56]: nordi requested player with citizenid JCQ27225. -[info][2025/05/24 07:48:58]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/24 07:49:03]: nordi requested item list. -[info][2025/05/24 07:49:09]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/24 07:49:11]: nordi requested item list. -[info][2025/05/24 07:49:27]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/24 07:49:30]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/24 07:49:31]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/24 07:49:33]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/24 07:49:34]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/24 07:49:36]: nordi requested item list. -[info][2025/05/24 07:49:43]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/24 08:33:40]: Login attempt on Nordi from 95.33.56.183 -[info][2025/05/24 08:33:43]: nordi requested all players. -[info][2025/05/24 08:33:44]: nordi requested player with citizenid JCQ27225. -[info][2025/05/24 08:34:06]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/24 08:34:10]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/24 08:38:28]: Login attempt on Nordi from 95.33.56.183 -[info][2025/05/24 08:38:31]: nordi requested all players. -[info][2025/05/24 08:38:33]: nordi requested player with citizenid JCQ27225. -[info][2025/05/24 08:38:36]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/24 08:38:43]: nordi requested move item for citizenid JCQ27225. -[info][2025/05/24 08:38:43]: nordi requested item list. -[info][2025/05/24 08:38:51]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/24 08:45:20]: Login attempt on Mark from 178.24.230.51 -[info][2025/05/24 10:22:10]: Login attempt on Nordi from 95.33.56.183 -[info][2025/05/24 10:28:24]: Login attempt on Nordi from 95.33.56.183 -[info][2025/05/24 10:28:26]: nordi requested all players. -[info][2025/05/24 10:28:49]: nordi requested all players. -[info][2025/05/24 10:28:58]: nordi requested all players. -[info][2025/05/24 10:30:54]: nordi requested all players. -[info][2025/05/24 10:30:57]: nordi requested player with citizenid JCQ27225. -[info][2025/05/24 10:32:33]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/24 10:32:35]: nordi requested item list. -[info][2025/05/24 10:32:43]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/24 10:33:09]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/24 10:38:26]: nordi requested item list. -[info][2025/05/24 10:41:43]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/24 10:43:36]: nordi requested item list. -[info][2025/05/24 10:43:42]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/24 10:46:20]: nordi requested item list. -[info][2025/05/24 10:47:04]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/24 10:49:26]: Login attempt on Mark from 178.24.230.51 -[info][2025/05/24 10:49:28]: mark requested all players. -[info][2025/05/24 10:49:31]: mark requested player with citizenid DUD53794. -[info][2025/05/24 10:49:35]: mark requested inventory for citizenid DUD53794. -[info][2025/05/24 10:49:51]: mark requested all players. -[info][2025/05/24 10:49:53]: mark requested player with citizenid DYW89109. -[info][2025/05/24 10:49:55]: mark requested inventory for citizenid DYW89109. -[info][2025/05/24 10:49:57]: mark requested all accounts. -[info][2025/05/24 10:49:59]: mark requested all players. -[info][2025/05/24 10:50:07]: mark requested player with citizenid KVA51843. -[info][2025/05/24 10:50:08]: mark requested inventory for citizenid KVA51843. -[info][2025/05/24 10:50:13]: mark requested player with citizenid KVA51843. -[info][2025/05/24 10:50:17]: mark requested all players. -[info][2025/05/24 10:52:19]: Login attempt on Mark from 178.24.230.51 -[info][2025/05/24 10:52:21]: mark requested all users. -[info][2025/05/24 10:52:32]: mark requested fix inv -[info][2025/05/24 10:52:36]: mark requested all roles. -[info][2025/05/24 10:52:37]: mark requested all users. -[info][2025/05/24 10:56:00]: Login attempt on Mark from 178.24.230.51 -[info][2025/05/24 10:56:23]: mark requested all players. -[info][2025/05/24 10:56:27]: mark requested player with citizenid DUD53794. -[info][2025/05/24 10:56:44]: mark requested screenshot for citizenid DUD53794. -[info][2025/05/24 10:57:00]: mark requested screenshot for citizenid DUD53794. -[info][2025/05/24 10:57:11]: mark requested change meta for citizenid DUD53794. -[info][2025/05/24 10:57:11]: mark requested player with citizenid DUD53794. -[info][2025/05/24 10:57:27]: Login attempt on Nordi from 95.33.56.183 -[info][2025/05/24 10:57:27]: mark requested change meta for citizenid DUD53794. -[info][2025/05/24 10:57:27]: mark requested player with citizenid DUD53794. -[info][2025/05/24 10:57:30]: nordi requested all players. -[info][2025/05/24 10:57:36]: nordi requested all players. -[info][2025/05/24 11:04:49]: mark requested all players. -[info][2025/05/24 11:04:51]: mark requested player with citizenid JCQ27225. -[info][2025/05/24 11:05:00]: mark requested player with citizenid JCQ27225. -[info][2025/05/24 11:05:24]: mark requested save note for citizenid JCQ27225. -[info][2025/05/24 11:05:32]: mark requested all accounts. -[info][2025/05/24 11:05:42]: mark requested player with citizenid DUD53794. -[info][2025/05/24 11:06:01]: mark requested all stashes. -[info][2025/05/24 12:22:57]: nordi requested player with citizenid JCQ27225. -[info][2025/05/24 12:23:00]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/24 12:23:10]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/24 12:23:28]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/24 12:34:26]: Login attempt on Nordi from 95.33.56.183 -[info][2025/05/24 22:17:25]: Login attempt on Max from 89.247.160.136 -[info][2025/05/24 22:17:34]: max requested player with citizenid DSC01606. -[info][2025/05/24 22:17:37]: max requested heal for citizenid DSC01606. -[info][2025/05/24 22:17:37]: max requested player with citizenid DSC01606. -[info][2025/05/24 22:17:38]: max requested change meta for citizenid DSC01606. -[info][2025/05/24 22:17:38]: max requested player with citizenid DSC01606. -[info][2025/05/24 22:17:39]: max requested change meta for citizenid DSC01606. -[info][2025/05/24 22:17:39]: max requested player with citizenid DSC01606. -[info][2025/05/24 22:30:03]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/24 23:28:48]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/24 23:28:56]: campers requested all roles. -[info][2025/05/24 23:29:04]: campers requested all users. -[info][2025/05/24 23:29:11]: campers requested user minichaoz. -[info][2025/05/25 04:25:50]: Login attempt on Steven from 47.64.51.154 -[info][2025/05/25 12:21:50]: Login attempt on Nordi from 91.248.236.61 -[info][2025/05/25 12:21:57]: nordi requested all players. -[info][2025/05/25 12:21:59]: nordi requested player with citizenid JCQ27225. -[info][2025/05/25 12:22:02]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/25 12:22:05]: nordi requested item list. -[info][2025/05/25 12:22:11]: nordi requested item list. -[info][2025/05/25 12:22:19]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/25 12:32:58]: Login attempt on Steven from 47.64.51.154 -[info][2025/05/25 12:34:07]: steven requested all accounts. -[info][2025/05/25 12:35:34]: steven requested all players. -[info][2025/05/25 12:35:46]: steven requested all accounts. -[info][2025/05/25 13:53:43]: steven requested all accounts. -[info][2025/05/25 14:48:11]: Login attempt on Rockit from 5.146.197.117 -[info][2025/05/25 14:50:03]: rockit requested player with citizenid DYW89109. -[info][2025/05/25 14:50:05]: rockit requested change meta for citizenid DYW89109. -[info][2025/05/25 14:50:05]: rockit requested player with citizenid DYW89109. -[info][2025/05/25 14:50:06]: rockit requested change meta for citizenid DYW89109. -[info][2025/05/25 14:50:06]: rockit requested player with citizenid DYW89109. -[info][2025/05/25 17:10:58]: Login attempt on Mark from 178.24.230.51 -[info][2025/05/25 17:11:30]: Login attempt on Mark from 178.24.230.51 -[info][2025/05/25 17:11:43]: mark requested player with citizenid NAJ08324. -[info][2025/05/25 17:12:10]: mark requested change meta for citizenid NAJ08324. -[info][2025/05/25 17:12:10]: mark requested player with citizenid NAJ08324. -[info][2025/05/25 17:12:12]: mark requested change meta for citizenid NAJ08324. -[info][2025/05/25 17:12:12]: mark requested player with citizenid NAJ08324. -[info][2025/05/25 17:12:15]: mark requested change meta for citizenid NAJ08324. -[info][2025/05/25 17:12:15]: mark requested player with citizenid NAJ08324. -[info][2025/05/25 17:12:27]: mark requested change jobs. -[info][2025/05/25 17:12:33]: mark requested change job for citizenid NAJ08324. -[info][2025/05/25 17:12:33]: mark requested player with citizenid NAJ08324. -[info][2025/05/25 22:16:55]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/25 22:17:00]: Login attempt on Marc from 84.63.194.215 -[info][2025/05/25 22:17:02]: Login attempt on Marc from 84.63.194.215 -[info][2025/05/25 22:17:08]: Login attempt on Marc from 84.63.194.215 -[info][2025/05/25 22:17:11]: Login attempt on Marc from 84.63.194.215 -[info][2025/05/25 22:17:16]: Login attempt on Marc from 84.63.194.215 -[info][2025/05/25 22:17:22]: Login attempt on from 47.64.51.154 -[info][2025/05/25 22:17:23]: campers requested all users. -[info][2025/05/25 22:17:28]: Login attempt on Steven from 47.64.51.154 -[info][2025/05/25 22:17:40]: Login attempt on marc from 84.63.194.215 -[info][2025/05/25 22:18:19]: marc requested all players. -[info][2025/05/25 22:18:41]: marc requested player with citizenid CRO67821. -[info][2025/05/25 22:19:25]: steven requested all roles. -[info][2025/05/25 22:21:10]: marc requested change charinfo for citizenid CRO67821. -[info][2025/05/25 22:21:10]: marc requested player with citizenid CRO67821. -[info][2025/05/25 22:21:23]: marc requested change meta for citizenid CRO67821. -[info][2025/05/25 22:21:23]: marc requested player with citizenid CRO67821. -[info][2025/05/25 22:21:24]: marc requested change meta for citizenid CRO67821. -[info][2025/05/25 22:21:24]: marc requested player with citizenid CRO67821. -[info][2025/05/25 22:21:28]: marc requested change jobs. -[info][2025/05/25 22:21:35]: marc requested change job for citizenid CRO67821. -[info][2025/05/25 22:21:35]: marc requested player with citizenid CRO67821. -[info][2025/05/25 22:44:38]: steven requested all vehicles. -[info][2025/05/25 22:57:28]: Login attempt on Max from 89.247.160.132 -[info][2025/05/26 11:31:35]: Login attempt on Nordi from 85.16.111.244 -[info][2025/05/26 20:20:38]: Login attempt on Mark from 178.24.230.51 -[info][2025/05/26 20:20:40]: mark requested all players. -[info][2025/05/26 20:20:46]: mark requested player with citizenid NAJ08324. -[info][2025/05/26 20:20:49]: mark requested change meta for citizenid NAJ08324. -[info][2025/05/26 20:20:49]: mark requested player with citizenid NAJ08324. -[info][2025/05/26 20:20:50]: mark requested change meta for citizenid NAJ08324. -[info][2025/05/26 20:20:50]: mark requested player with citizenid NAJ08324. -[info][2025/05/26 20:20:51]: mark requested heal for citizenid NAJ08324. -[info][2025/05/26 20:20:51]: mark requested player with citizenid NAJ08324. -[info][2025/05/26 20:20:52]: mark requested heal for citizenid NAJ08324. -[info][2025/05/26 20:20:52]: mark requested player with citizenid NAJ08324. -[info][2025/05/26 20:20:52]: mark requested heal for citizenid NAJ08324. -[info][2025/05/26 20:20:52]: mark requested player with citizenid NAJ08324. -[info][2025/05/26 20:20:53]: mark requested heal for citizenid NAJ08324. -[info][2025/05/26 20:20:53]: mark requested player with citizenid NAJ08324. -[info][2025/05/26 20:44:28]: Login attempt on Max from 89.247.160.152 -[info][2025/05/26 20:44:48]: max requested player with citizenid DSC01606. -[info][2025/05/26 20:44:52]: max requested heal for citizenid DSC01606. -[info][2025/05/26 20:44:52]: max requested player with citizenid DSC01606. -[info][2025/05/26 20:44:54]: max requested change meta for citizenid DSC01606. -[info][2025/05/26 20:44:54]: max requested player with citizenid DSC01606. -[info][2025/05/26 20:44:55]: max requested change meta for citizenid DSC01606. -[info][2025/05/26 20:44:55]: max requested player with citizenid DSC01606. -[info][2025/05/26 20:44:57]: max requested change meta for citizenid DSC01606. -[info][2025/05/26 20:44:57]: max requested player with citizenid DSC01606. -[info][2025/05/26 20:44:58]: max requested change meta for citizenid DSC01606. -[info][2025/05/26 20:44:58]: max requested player with citizenid DSC01606. -[info][2025/05/26 20:44:59]: max requested heal for citizenid DSC01606. -[info][2025/05/26 20:44:59]: max requested player with citizenid DSC01606. -[info][2025/05/26 20:44:59]: max requested heal for citizenid DSC01606. -[info][2025/05/26 20:44:59]: max requested player with citizenid DSC01606. -[info][2025/05/26 20:44:59]: max requested heal for citizenid DSC01606. -[info][2025/05/26 20:44:59]: max requested player with citizenid DSC01606. -[info][2025/05/26 20:45:00]: max requested heal for citizenid DSC01606. -[info][2025/05/26 20:45:00]: max requested player with citizenid DSC01606. -[info][2025/05/26 20:45:00]: max requested heal for citizenid DSC01606. -[info][2025/05/26 20:45:00]: max requested player with citizenid DSC01606. -[info][2025/05/26 20:45:00]: max requested heal for citizenid DSC01606. -[info][2025/05/26 20:45:00]: max requested player with citizenid DSC01606. -[info][2025/05/26 20:45:00]: max requested heal for citizenid DSC01606. -[info][2025/05/26 20:45:01]: max requested player with citizenid DSC01606. -[info][2025/05/26 20:45:01]: max requested heal for citizenid DSC01606. -[info][2025/05/26 20:45:01]: max requested player with citizenid DSC01606. -[info][2025/05/26 20:56:41]: Login attempt on marc from 84.63.194.215 -[info][2025/05/26 20:56:43]: marc requested all players. -[info][2025/05/26 20:57:21]: marc requested player with citizenid TKK64634. -[info][2025/05/26 20:57:50]: marc requested player with citizenid TKK64634. -[info][2025/05/26 20:58:02]: marc requested all players. -[info][2025/05/26 20:58:09]: marc requested player with citizenid NAJ08324. -[info][2025/05/26 20:58:16]: marc requested all players. -[info][2025/05/26 20:58:29]: marc requested all players. -[info][2025/05/26 20:59:12]: marc requested all players. -[info][2025/05/26 22:33:14]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/27 18:26:25]: Login attempt on Mark from 178.24.230.51 -[info][2025/05/27 18:26:31]: mark requested player with citizenid NAJ08324. -[info][2025/05/27 18:27:12]: mark requested heal for citizenid NAJ08324. -[info][2025/05/27 18:27:12]: mark requested player with citizenid NAJ08324. -[info][2025/05/27 19:01:13]: mark requested change meta for citizenid NAJ08324. -[info][2025/05/27 19:01:13]: mark requested player with citizenid NAJ08324. -[info][2025/05/27 19:01:13]: mark requested change meta for citizenid NAJ08324. -[info][2025/05/27 19:01:13]: mark requested player with citizenid NAJ08324. -[info][2025/05/27 19:28:19]: Login attempt on Nordi from 95.33.61.241 -[info][2025/05/27 19:38:56]: Login attempt on Max from 89.247.160.153 -[info][2025/05/27 19:39:04]: max requested player with citizenid DSC01606. -[info][2025/05/27 19:39:09]: max requested change meta for citizenid DSC01606. -[info][2025/05/27 19:39:09]: max requested player with citizenid DSC01606. -[info][2025/05/27 19:39:10]: max requested change meta for citizenid DSC01606. -[info][2025/05/27 19:39:10]: max requested player with citizenid DSC01606. -[info][2025/05/27 19:39:20]: max requested inventory for citizenid DSC01606. -[info][2025/05/27 19:39:23]: max requested item list. -[info][2025/05/27 19:39:41]: max requested add item for citizenid DSC01606. -[info][2025/05/27 19:40:05]: max requested item list. -[info][2025/05/27 19:40:38]: max requested add item for citizenid DSC01606. -[info][2025/05/27 22:08:17]: Login attempt on MiniChaoz from 188.126.179.28 -[info][2025/05/27 22:13:12]: Login attempt on Nordi from 95.33.61.241 -[info][2025/05/27 22:13:33]: nordi requested all players. -[info][2025/05/27 22:32:16]: nordi requested all players. -[info][2025/05/27 22:32:19]: nordi requested all players. -[info][2025/05/27 22:32:21]: nordi requested all players. -[info][2025/05/27 22:32:22]: nordi requested all players. -[info][2025/05/27 22:32:23]: nordi requested all players. -[info][2025/05/27 22:32:24]: nordi requested all players. -[info][2025/05/27 22:32:27]: nordi requested all players. -[info][2025/05/27 22:32:28]: nordi requested all players. -[info][2025/05/27 22:32:29]: nordi requested all players. -[info][2025/05/27 22:32:30]: nordi requested all players. -[info][2025/05/27 22:32:33]: nordi requested all players. -[info][2025/05/27 22:32:33]: nordi requested all players. -[info][2025/05/27 22:32:34]: nordi requested all players. -[info][2025/05/27 22:32:34]: nordi requested all players. -[info][2025/05/27 23:14:05]: nordi requested all players. -[info][2025/05/27 23:14:09]: nordi requested player with citizenid JCQ27225. -[info][2025/05/27 23:14:12]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/27 23:14:15]: nordi requested item list. -[info][2025/05/27 23:14:24]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/27 23:14:27]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/27 23:14:31]: nordi requested item list. -[info][2025/05/27 23:14:39]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/27 23:15:27]: nordi requested delete item for citizenid JCQ27225. -[info][2025/05/27 23:30:54]: Login attempt on Steven from 47.64.51.154 -[info][2025/05/27 23:57:08]: nordi requested all players. -[info][2025/05/27 23:57:12]: nordi requested player with citizenid JCQ27225. -[info][2025/05/27 23:57:14]: nordi requested change jobs. -[info][2025/05/27 23:57:20]: nordi requested change job for citizenid JCQ27225. -[info][2025/05/27 23:57:20]: nordi requested player with citizenid JCQ27225. -[info][2025/05/27 23:57:23]: nordi requested change jobs. -[info][2025/05/27 23:57:32]: nordi requested change job for citizenid JCQ27225. -[info][2025/05/27 23:57:32]: nordi requested player with citizenid JCQ27225. -[info][2025/05/28 00:02:24]: nordi requested change jobs. -[info][2025/05/28 00:02:31]: nordi requested change job for citizenid JCQ27225. -[info][2025/05/28 00:02:31]: nordi requested player with citizenid JCQ27225. -[info][2025/05/28 00:19:33]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/28 00:31:19]: campers requested player with citizenid JCQ27225. -[info][2025/05/28 00:55:23]: campers requested all players. -[info][2025/05/28 00:55:29]: campers requested player with citizenid OHM07543. -[info][2025/05/28 00:55:32]: campers requested change meta for citizenid OHM07543. -[info][2025/05/28 00:55:32]: campers requested player with citizenid OHM07543. -[info][2025/05/28 00:55:33]: campers requested change meta for citizenid OHM07543. -[info][2025/05/28 00:55:33]: campers requested player with citizenid OHM07543. -[info][2025/05/28 00:55:34]: campers requested heal for citizenid OHM07543. -[info][2025/05/28 00:55:34]: campers requested player with citizenid OHM07543. -[info][2025/05/28 01:18:43]: campers requested player with citizenid OHM07543. -[info][2025/05/28 12:22:16]: Login attempt on Mark from 178.24.230.51 -[info][2025/05/28 12:22:21]: mark requested player with citizenid NAJ08324. -[info][2025/05/28 12:22:23]: mark requested change meta for citizenid NAJ08324. -[info][2025/05/28 12:22:23]: mark requested player with citizenid NAJ08324. -[info][2025/05/28 12:22:24]: mark requested change meta for citizenid NAJ08324. -[info][2025/05/28 12:22:24]: mark requested player with citizenid NAJ08324. -[info][2025/05/28 12:22:25]: mark requested heal for citizenid NAJ08324. -[info][2025/05/28 12:22:25]: mark requested player with citizenid NAJ08324. -[info][2025/05/28 12:22:28]: mark requested heal for citizenid NAJ08324. -[info][2025/05/28 12:22:28]: mark requested player with citizenid NAJ08324. -[info][2025/05/28 12:22:28]: mark requested heal for citizenid NAJ08324. -[info][2025/05/28 12:22:28]: mark requested player with citizenid NAJ08324. -[info][2025/05/28 12:22:28]: mark requested heal for citizenid NAJ08324. -[info][2025/05/28 12:22:28]: mark requested player with citizenid NAJ08324. -[info][2025/05/28 12:22:28]: mark requested heal for citizenid NAJ08324. -[info][2025/05/28 12:22:28]: mark requested player with citizenid NAJ08324. -[info][2025/05/28 13:24:21]: Login attempt on Nordi from 85.16.111.6 -[info][2025/05/28 13:24:23]: Login attempt on Nordi from 85.16.111.6 -[info][2025/05/28 13:45:32]: Login attempt on Nordi from 85.16.111.6 -[info][2025/05/28 13:45:35]: Login attempt on Nordi from 85.16.111.6 -[info][2025/05/28 13:56:27]: nordi requested all players. -[info][2025/05/28 13:56:33]: nordi requested player with citizenid JCQ27225. -[info][2025/05/28 13:56:48]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/28 13:56:51]: nordi requested player with citizenid JCQ27225. -[info][2025/05/28 13:56:54]: nordi requested change jobs. -[info][2025/05/28 13:57:15]: nordi requested change jobs. -[info][2025/05/28 13:57:22]: nordi requested change job for citizenid JCQ27225. -[info][2025/05/28 13:57:22]: nordi requested player with citizenid JCQ27225. -[info][2025/05/28 13:57:22]: nordi requested change jobs. -[info][2025/05/28 13:57:56]: nordi requested all players. -[info][2025/05/28 13:58:13]: nordi requested player with citizenid JCQ27225. -[info][2025/05/28 14:07:00]: Login attempt on Max from 89.247.160.134 -[info][2025/05/28 14:07:10]: max requested player with citizenid DSC01606. -[info][2025/05/28 14:07:26]: max requested add money cash for citizenid DSC01606. -[info][2025/05/28 14:07:26]: max requested player with citizenid DSC01606. -[info][2025/05/28 15:22:21]: Login attempt on Nordi from 85.16.111.6 -[info][2025/05/28 15:22:24]: Login attempt on Nordi from 85.16.111.6 -[info][2025/05/28 16:21:46]: Login attempt on Nordi from 85.16.111.6 -[info][2025/05/28 20:46:14]: Login attempt on marc from 84.63.194.215 -[info][2025/05/28 20:49:39]: marc requested all users. -[info][2025/05/28 20:49:44]: marc requested all roles. -[info][2025/05/28 21:35:28]: Login attempt on marc from 84.63.194.215 -[info][2025/05/28 21:35:30]: marc requested all players. -[info][2025/05/28 21:35:36]: marc requested player with citizenid CRO67821. -[info][2025/05/28 21:35:40]: marc requested change jobs. -[info][2025/05/28 21:35:48]: marc requested change gangs. -[info][2025/05/28 21:35:54]: marc requested change jobs. -[info][2025/05/28 21:41:43]: Login attempt on Nordi from 85.16.111.6 -[info][2025/05/28 21:41:45]: Login attempt on Nordi from 85.16.111.6 -[info][2025/05/28 21:57:20]: marc requested all vehicles. -[info][2025/05/28 22:04:27]: Login attempt on voltstromi from 85.1.26.65 -[info][2025/05/28 22:04:51]: Login attempt on voltstromi from 85.1.26.65 -[info][2025/05/28 22:04:57]: voltstromi requested player with citizenid PGS32293. -[info][2025/05/28 22:05:05]: voltstromi requested change meta for citizenid PGS32293. -[info][2025/05/28 22:05:05]: voltstromi requested player with citizenid PGS32293. -[info][2025/05/28 22:05:07]: voltstromi requested change meta for citizenid PGS32293. -[info][2025/05/28 22:05:07]: voltstromi requested player with citizenid PGS32293. -[info][2025/05/28 22:14:19]: voltstromi requested all vehicles. -[info][2025/05/28 22:14:33]: voltstromi requested all vehicles. -[info][2025/05/28 22:14:33]: voltstromi requested all vehicles. -[info][2025/05/28 22:14:45]: voltstromi requested all vehicles. -[info][2025/05/28 22:14:45]: voltstromi requested all players. -[info][2025/05/28 22:14:51]: voltstromi requested all accounts. -[info][2025/05/28 22:14:54]: voltstromi requested all vehicles. -[info][2025/05/28 22:14:55]: voltstromi requested all players. -[info][2025/05/28 22:15:03]: voltstromi requested all players. -[info][2025/05/28 22:15:04]: voltstromi requested all players. -[info][2025/05/28 22:15:09]: voltstromi requested player with citizenid PGS32293. -[info][2025/05/28 22:15:10]: voltstromi requested player vehicles for citizenid PGS32293. -[info][2025/05/28 22:15:57]: voltstromi requested all vehicles. -[info][2025/05/28 22:16:15]: voltstromi requested all vehicles. -[info][2025/05/28 22:16:17]: voltstromi requested all vehicles. -[info][2025/05/28 22:16:21]: voltstromi requested vehicle with id 79. -[info][2025/05/28 22:16:27]: voltstromi requested change vehicle fuel with id 79. -[info][2025/05/28 22:16:27]: voltstromi requested vehicle with id 79. -[info][2025/05/29 00:38:01]: Login attempt on MiniChaoz from 78.153.76.122 -[info][2025/05/29 00:42:01]: minichaoz requested all players. -[info][2025/05/29 00:42:56]: Login attempt on MiniChaoz from 78.153.76.122 -[info][2025/05/29 00:43:13]: minichaoz requested all vehicles. -[info][2025/05/29 00:43:15]: minichaoz requested all players. -[info][2025/05/29 00:43:19]: minichaoz requested all vehicles. -[info][2025/05/29 02:03:32]: Login attempt on marc from 84.63.194.215 -[info][2025/05/29 02:03:35]: marc requested all players. -[info][2025/05/29 02:03:46]: marc requested player with citizenid CRO67821. -[info][2025/05/29 02:03:49]: marc requested change jobs. -[info][2025/05/29 02:04:12]: marc requested change job for citizenid CRO67821. -[info][2025/05/29 02:04:12]: marc requested player with citizenid CRO67821. -[info][2025/05/29 02:04:16]: marc requested change jobs. -[info][2025/05/29 02:09:47]: marc requested change jobs. -[info][2025/05/29 02:09:54]: marc requested change job for citizenid CRO67821. -[info][2025/05/29 02:09:54]: marc requested player with citizenid CRO67821. -[info][2025/05/29 02:10:48]: marc requested change jobs. -[info][2025/05/29 02:10:54]: marc requested change job for citizenid CRO67821. -[info][2025/05/29 02:10:54]: marc requested player with citizenid CRO67821. -[info][2025/05/29 06:36:13]: Login attempt on Max from 89.247.160.155 -[info][2025/05/29 09:38:22]: Login attempt on Steven from 47.64.51.14 -[info][2025/05/29 09:40:23]: steven requested all accounts. -[info][2025/05/29 11:52:39]: Login attempt on Nordi from 95.33.63.100 -[info][2025/05/29 11:55:39]: Login attempt on Steven from 47.64.51.14 -[info][2025/05/29 11:56:23]: Login attempt on Nordi from 95.33.63.100 -[info][2025/05/29 13:01:03]: Login attempt on marc from 84.63.194.215 -[info][2025/05/29 13:03:14]: marc requested all players. -[info][2025/05/29 13:03:22]: marc requested all users. -[info][2025/05/29 13:03:35]: marc requested user voltstromi. -[info][2025/05/29 13:03:38]: marc requested all users. -[info][2025/05/29 13:04:49]: Login attempt on Mark from 178.24.230.51 -[info][2025/05/29 13:06:21]: mark requested all players. -[info][2025/05/29 13:07:40]: mark requested all users. -[info][2025/05/29 14:01:39]: mark requested player with citizenid NAJ08324. -[info][2025/05/29 14:01:41]: mark requested change meta for citizenid NAJ08324. -[info][2025/05/29 14:01:41]: mark requested player with citizenid NAJ08324. -[info][2025/05/29 14:01:41]: mark requested change meta for citizenid NAJ08324. -[info][2025/05/29 14:01:41]: mark requested player with citizenid NAJ08324. -[info][2025/05/29 14:01:41]: mark requested heal for citizenid NAJ08324. -[info][2025/05/29 14:01:41]: mark requested player with citizenid NAJ08324. -[info][2025/05/29 14:01:42]: mark requested heal for citizenid NAJ08324. -[info][2025/05/29 14:01:42]: mark requested player with citizenid NAJ08324. -[info][2025/05/29 14:01:42]: mark requested heal for citizenid NAJ08324. -[info][2025/05/29 14:01:42]: mark requested player with citizenid NAJ08324. -[info][2025/05/29 14:01:43]: mark requested heal for citizenid NAJ08324. -[info][2025/05/29 14:01:43]: mark requested player with citizenid NAJ08324. -[info][2025/05/29 14:01:53]: mark requested inventory for citizenid NAJ08324. -[info][2025/05/29 14:02:02]: mark requested item list. -[info][2025/05/29 14:02:25]: mark requested add item for citizenid NAJ08324. -[info][2025/05/29 14:02:36]: mark requested player with citizenid NAJ08324. -[info][2025/05/29 14:02:38]: mark requested player vehicles for citizenid NAJ08324. -[info][2025/05/29 14:10:15]: nordi requested all players. -[info][2025/05/29 14:10:19]: nordi requested player with citizenid JCQ27225. -[info][2025/05/29 14:10:21]: nordi requested change jobs. -[info][2025/05/29 14:10:26]: nordi requested change job for citizenid JCQ27225. -[info][2025/05/29 14:10:26]: nordi requested player with citizenid JCQ27225. -[info][2025/05/29 17:04:25]: Login attempt on Nordi from 95.33.63.100 -[info][2025/05/29 17:04:28]: Login attempt on Nordi from 95.33.63.100 -[info][2025/05/29 17:49:34]: Login attempt on Nordi from 95.33.63.100 -[info][2025/05/29 17:49:36]: Login attempt on Nordi from 95.33.63.100 -[info][2025/05/29 18:49:45]: Login attempt on Nordi from 95.33.63.100 -[info][2025/05/29 18:49:47]: Login attempt on Nordi from 95.33.63.100 -[info][2025/05/29 18:49:50]: nordi requested all players. -[info][2025/05/29 18:49:56]: nordi requested all players. -[info][2025/05/29 18:49:57]: nordi requested all players. -[info][2025/05/29 18:49:58]: nordi requested all players. -[info][2025/05/29 18:50:00]: nordi requested all players. -[info][2025/05/29 18:50:00]: nordi requested all players. -[info][2025/05/29 18:50:01]: nordi requested all players. -[info][2025/05/29 18:50:06]: nordi requested all players. -[info][2025/05/29 18:50:08]: nordi requested all players. -[info][2025/05/29 18:50:09]: nordi requested all players. -[info][2025/05/29 18:50:11]: nordi requested all players. -[info][2025/05/29 18:50:12]: nordi requested all players. -[info][2025/05/29 18:50:13]: nordi requested all players. -[info][2025/05/29 19:07:19]: nordi requested all players. -[info][2025/05/29 19:07:28]: nordi requested player with citizenid PCC19872. -[info][2025/05/29 19:07:31]: nordi requested change jobs. -[info][2025/05/29 19:07:37]: nordi requested change job for citizenid PCC19872. -[info][2025/05/29 19:07:37]: nordi requested player with citizenid PCC19872. -[info][2025/05/29 19:17:57]: nordi requested all players. -[info][2025/05/29 19:18:00]: nordi requested player with citizenid JCQ27225. -[info][2025/05/29 19:18:03]: nordi requested change jobs. -[info][2025/05/29 19:18:11]: nordi requested change job for citizenid JCQ27225. -[info][2025/05/29 19:18:11]: nordi requested player with citizenid JCQ27225. -[info][2025/05/29 19:24:06]: Login attempt on Mark from 178.24.230.51 -[info][2025/05/29 19:24:27]: Login attempt on Mark from 178.24.230.51 -[info][2025/05/29 19:24:30]: mark requested all users. -[info][2025/05/29 19:24:31]: mark requested user mark. -[info][2025/05/29 19:24:53]: mark requested password change. -[info][2025/05/29 20:41:02]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/29 20:42:11]: campers requested all users. -[info][2025/05/29 20:42:19]: campers requested user campers. -[info][2025/05/29 21:41:01]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/29 21:41:06]: campers requested all players. -[info][2025/05/29 21:41:17]: campers requested player with citizenid OHM07543. -[info][2025/05/29 21:41:26]: campers requested inventory for citizenid OHM07543. -[info][2025/05/29 21:41:29]: campers requested item list. -[info][2025/05/29 21:42:01]: campers requested item list. -[info][2025/05/29 21:42:11]: campers requested add item for citizenid OHM07543. -[info][2025/05/29 21:43:08]: campers requested item list. -[info][2025/05/29 21:43:20]: campers requested add item for citizenid OHM07543. -[info][2025/05/29 21:43:41]: Login attempt on Max from 89.247.160.155 -[info][2025/05/29 21:43:48]: max requested player with citizenid OHM07543. -[info][2025/05/29 21:43:52]: max requested inventory for citizenid OHM07543. -[info][2025/05/29 21:43:58]: max requested item list. -[info][2025/05/29 21:44:08]: max requested add item for citizenid OHM07543. -[info][2025/05/29 21:59:56]: campers requested item list. -[info][2025/05/29 22:00:07]: campers requested add item for citizenid OHM07543. -[info][2025/05/29 22:00:18]: campers requested item list. -[info][2025/05/29 22:00:29]: campers requested add item for citizenid OHM07543. -[info][2025/05/29 23:08:28]: max requested all players. -[info][2025/05/29 23:08:42]: max requested player with citizenid DSC01606. -[info][2025/05/29 23:08:49]: max requested change meta for citizenid DSC01606. -[info][2025/05/29 23:08:49]: max requested player with citizenid DSC01606. -[info][2025/05/29 23:08:50]: max requested change meta for citizenid DSC01606. -[info][2025/05/29 23:08:50]: max requested player with citizenid DSC01606. -[info][2025/05/29 23:08:58]: max requested player with citizenid DSC01606. -[info][2025/05/29 23:09:03]: max requested change meta for citizenid DSC01606. -[info][2025/05/29 23:09:03]: max requested player with citizenid DSC01606. -[info][2025/05/29 23:25:59]: campers requested player with citizenid OHM07543. -[info][2025/05/29 23:26:00]: campers requested player vehicles for citizenid OHM07543. -[info][2025/05/29 23:26:05]: campers requested vehicle with id 72. -[info][2025/05/30 00:46:35]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/30 00:46:37]: campers requested all players. -[info][2025/05/30 00:47:03]: campers requested all players. -[info][2025/05/30 00:47:07]: campers requested all players. -[info][2025/05/30 00:47:20]: campers requested player with citizenid GNR11868. -[info][2025/05/30 05:57:02]: Login attempt on Nordi from 85.16.153.101 -[info][2025/05/30 11:04:45]: Login attempt on Nordi from 85.16.153.101 -[info][2025/05/30 11:33:14]: Login attempt on Nordi from 85.16.153.101 -[info][2025/05/30 12:32:41]: Login attempt on Nordi from 85.16.153.101 -[info][2025/05/30 12:49:22]: Login attempt on Rockit from 5.146.196.201 -[info][2025/05/30 14:08:37]: rockit requested vehicle with id 35. -[info][2025/05/30 14:08:43]: rockit requested player with citizenid DYW89109. -[info][2025/05/30 14:08:46]: rockit requested change jobs. -[info][2025/05/30 14:09:00]: rockit requested change job for citizenid DYW89109. -[info][2025/05/30 14:09:00]: rockit requested player with citizenid DYW89109. -[info][2025/05/30 14:10:22]: rockit requested change jobs. -[info][2025/05/30 14:10:42]: Login attempt on Nordi from 85.16.153.101 -[info][2025/05/30 20:31:32]: Login attempt on Max from 89.247.160.149 -[info][2025/05/30 20:31:41]: max requested player with citizenid DSC01606. -[info][2025/05/30 20:31:46]: max requested change meta for citizenid DSC01606. -[info][2025/05/30 20:31:46]: max requested player with citizenid DSC01606. -[info][2025/05/30 20:31:47]: max requested change meta for citizenid DSC01606. -[info][2025/05/30 20:31:47]: max requested player with citizenid DSC01606. -[info][2025/05/30 20:51:19]: Login attempt on rockit from 5.146.196.201 -[info][2025/05/30 20:51:28]: rockit requested player with citizenid ELV21478. -[info][2025/05/30 20:51:31]: rockit requested change meta for citizenid ELV21478. -[info][2025/05/30 20:51:31]: rockit requested player with citizenid ELV21478. -[info][2025/05/30 20:51:31]: rockit requested change meta for citizenid ELV21478. -[info][2025/05/30 20:51:31]: rockit requested player with citizenid ELV21478. -[info][2025/05/30 20:53:17]: rockit requested player with citizenid DYW89109. -[info][2025/05/30 20:53:20]: rockit requested change meta for citizenid DYW89109. -[info][2025/05/30 20:53:20]: rockit requested player with citizenid DYW89109. -[info][2025/05/30 20:53:20]: rockit requested change meta for citizenid DYW89109. -[info][2025/05/30 20:53:21]: rockit requested player with citizenid DYW89109. -[info][2025/05/30 21:13:29]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/30 21:13:32]: max requested player with citizenid OHM07543. -[info][2025/05/30 21:13:36]: campers requested player with citizenid OHM07543. -[info][2025/05/30 21:13:36]: max requested change meta for citizenid OHM07543. -[info][2025/05/30 21:13:36]: max requested player with citizenid OHM07543. -[info][2025/05/30 21:13:37]: max requested change meta for citizenid OHM07543. -[info][2025/05/30 21:13:37]: max requested player with citizenid OHM07543. -[info][2025/05/30 21:13:38]: campers requested change meta for citizenid OHM07543. -[info][2025/05/30 21:13:38]: campers requested player with citizenid OHM07543. -[info][2025/05/30 21:13:39]: campers requested change meta for citizenid OHM07543. -[info][2025/05/30 21:13:39]: campers requested player with citizenid OHM07543. -[info][2025/05/30 21:13:40]: campers requested heal for citizenid OHM07543. -[info][2025/05/30 21:13:40]: campers requested player with citizenid OHM07543. -[info][2025/05/30 21:13:40]: max requested heal for citizenid OHM07543. -[info][2025/05/30 21:13:40]: max requested player with citizenid OHM07543. -[info][2025/05/30 21:13:42]: campers requested change meta for citizenid OHM07543. -[info][2025/05/30 21:13:42]: campers requested player with citizenid OHM07543. -[info][2025/05/30 21:20:46]: campers requested player with citizenid ELV21478. -[info][2025/05/30 23:23:52]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/30 23:23:59]: campers requested player with citizenid GNR11868. -[info][2025/05/30 23:24:02]: campers requested change meta for citizenid GNR11868. -[info][2025/05/30 23:24:02]: campers requested player with citizenid GNR11868. -[info][2025/05/30 23:24:03]: campers requested change meta for citizenid GNR11868. -[info][2025/05/30 23:24:03]: campers requested player with citizenid GNR11868. -[info][2025/05/30 23:24:03]: campers requested heal for citizenid GNR11868. -[info][2025/05/30 23:24:03]: campers requested player with citizenid GNR11868. -[info][2025/05/30 23:24:05]: campers requested heal for citizenid GNR11868. -[info][2025/05/30 23:24:05]: campers requested player with citizenid GNR11868. -[info][2025/05/30 23:24:07]: campers requested all players. -[info][2025/05/30 23:24:15]: campers requested player with citizenid ELV21478. -[info][2025/05/30 23:24:17]: campers requested change meta for citizenid ELV21478. -[info][2025/05/30 23:24:17]: campers requested player with citizenid ELV21478. -[info][2025/05/30 23:24:18]: campers requested change meta for citizenid ELV21478. -[info][2025/05/30 23:24:18]: campers requested player with citizenid ELV21478. -[info][2025/05/30 23:24:19]: campers requested change meta for citizenid ELV21478. -[info][2025/05/30 23:24:19]: campers requested player with citizenid ELV21478. -[info][2025/05/30 23:24:22]: campers requested all players. -[info][2025/05/31 00:22:12]: Login attempt on Max from 89.247.160.149 -[info][2025/05/31 00:22:29]: max requested player with citizenid DSC01606. -[info][2025/05/31 00:22:36]: max requested change meta for citizenid DSC01606. -[info][2025/05/31 00:22:36]: max requested player with citizenid DSC01606. -[info][2025/05/31 00:22:37]: max requested change meta for citizenid DSC01606. -[info][2025/05/31 00:22:37]: max requested player with citizenid DSC01606. -[info][2025/05/31 00:41:22]: campers requested player with citizenid GNR11868. -[info][2025/05/31 00:41:24]: campers requested change meta for citizenid GNR11868. -[info][2025/05/31 00:41:24]: campers requested player with citizenid GNR11868. -[info][2025/05/31 00:41:25]: campers requested change meta for citizenid GNR11868. -[info][2025/05/31 00:41:25]: campers requested player with citizenid GNR11868. -[info][2025/05/31 00:41:28]: campers requested all players. -[info][2025/05/31 00:41:37]: campers requested player with citizenid ELV21478. -[info][2025/05/31 00:41:40]: campers requested change meta for citizenid ELV21478. -[info][2025/05/31 00:41:40]: campers requested player with citizenid ELV21478. -[info][2025/05/31 00:41:41]: campers requested change meta for citizenid ELV21478. -[info][2025/05/31 00:41:41]: campers requested player with citizenid ELV21478. -[info][2025/05/31 00:41:51]: campers requested player with citizenid OHM07543. -[info][2025/05/31 00:41:53]: campers requested change meta for citizenid OHM07543. -[info][2025/05/31 00:41:53]: campers requested player with citizenid OHM07543. -[info][2025/05/31 00:41:54]: campers requested change meta for citizenid OHM07543. -[info][2025/05/31 00:41:54]: campers requested player with citizenid OHM07543. -[info][2025/05/31 00:42:02]: campers requested player with citizenid DSC01606. -[info][2025/05/31 00:42:04]: campers requested change meta for citizenid DSC01606. -[info][2025/05/31 00:42:05]: campers requested player with citizenid DSC01606. -[info][2025/05/31 00:42:05]: campers requested change meta for citizenid DSC01606. -[info][2025/05/31 00:42:05]: campers requested player with citizenid DSC01606. -[info][2025/05/31 00:42:12]: campers requested player with citizenid JQK75222. -[info][2025/05/31 00:42:15]: campers requested change meta for citizenid JQK75222. -[info][2025/05/31 00:42:15]: campers requested player with citizenid JQK75222. -[info][2025/05/31 00:42:16]: campers requested change meta for citizenid JQK75222. -[info][2025/05/31 00:42:16]: campers requested player with citizenid JQK75222. -[info][2025/05/31 00:42:23]: campers requested player with citizenid EAP03737. -[info][2025/05/31 00:42:32]: campers requested change meta for citizenid EAP03737. -[info][2025/05/31 00:42:32]: campers requested player with citizenid EAP03737. -[info][2025/05/31 00:42:33]: campers requested change meta for citizenid EAP03737. -[info][2025/05/31 00:42:33]: campers requested player with citizenid EAP03737. -[info][2025/05/31 01:24:36]: campers requested player with citizenid EAP03737. -[info][2025/05/31 01:24:38]: campers requested screenshot for citizenid EAP03737. -[info][2025/05/31 01:25:47]: campers requested screenshot for citizenid EAP03737. -[info][2025/05/31 01:30:29]: campers requested player with citizenid EAP03737. -[info][2025/05/31 01:30:31]: campers requested change meta for citizenid EAP03737. -[info][2025/05/31 01:30:31]: campers requested player with citizenid EAP03737. -[info][2025/05/31 01:30:32]: campers requested change meta for citizenid EAP03737. -[info][2025/05/31 01:30:32]: campers requested player with citizenid EAP03737. -[info][2025/05/31 01:30:33]: campers requested heal for citizenid EAP03737. -[info][2025/05/31 01:30:33]: campers requested player with citizenid EAP03737. -[info][2025/05/31 07:32:08]: Login attempt on Rockit from 5.146.197.57 -[info][2025/05/31 07:32:13]: rockit requested player with citizenid DYW89109. -[info][2025/05/31 07:32:15]: rockit requested change jobs. -[info][2025/05/31 07:32:23]: rockit requested change job for citizenid DYW89109. -[info][2025/05/31 07:32:23]: rockit requested player with citizenid DYW89109. -[info][2025/05/31 07:32:26]: rockit requested change jobs. -[info][2025/05/31 07:32:33]: rockit requested change job for citizenid DYW89109. -[info][2025/05/31 07:32:33]: rockit requested player with citizenid DYW89109. -[info][2025/05/31 11:21:12]: Login attempt on Nordi from 91.248.232.212 -[info][2025/05/31 11:26:01]: nordi requested all players. -[info][2025/05/31 11:26:03]: nordi requested player with citizenid JCQ27225. -[info][2025/05/31 11:26:12]: nordi requested inventory for citizenid JCQ27225. -[info][2025/05/31 11:26:14]: nordi requested item list. -[info][2025/05/31 11:26:18]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/31 11:26:41]: nordi requested item list. -[info][2025/05/31 11:26:49]: nordi requested add item for citizenid JCQ27225. -[info][2025/05/31 12:06:04]: Login attempt on marc from 84.63.194.215 -[info][2025/05/31 12:06:09]: marc requested all vehicles. -[info][2025/05/31 12:13:41]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/31 12:13:44]: marc requested all players. -[info][2025/05/31 12:13:48]: marc requested player with citizenid CRO67821. -[info][2025/05/31 12:13:50]: campers requested player with citizenid CRO67821. -[info][2025/05/31 12:13:52]: marc requested change meta for citizenid CRO67821. -[info][2025/05/31 12:13:52]: marc requested player with citizenid CRO67821. -[info][2025/05/31 12:13:52]: campers requested change meta for citizenid CRO67821. -[info][2025/05/31 12:13:52]: campers requested player with citizenid CRO67821. -[info][2025/05/31 12:13:53]: marc requested change meta for citizenid CRO67821. -[info][2025/05/31 12:13:53]: marc requested player with citizenid CRO67821. -[info][2025/05/31 12:13:53]: campers requested change meta for citizenid CRO67821. -[info][2025/05/31 12:13:53]: campers requested player with citizenid CRO67821. -[info][2025/05/31 12:13:53]: marc requested change meta for citizenid CRO67821. -[info][2025/05/31 12:13:53]: marc requested player with citizenid CRO67821. -[info][2025/05/31 12:13:54]: campers requested heal for citizenid CRO67821. -[info][2025/05/31 12:13:54]: campers requested player with citizenid CRO67821. -[info][2025/05/31 12:14:05]: campers requested player with citizenid OHM07543. -[info][2025/05/31 12:14:07]: campers requested change meta for citizenid OHM07543. -[info][2025/05/31 12:14:07]: campers requested player with citizenid OHM07543. -[info][2025/05/31 12:14:07]: campers requested change meta for citizenid OHM07543. -[info][2025/05/31 12:14:07]: campers requested player with citizenid OHM07543. -[info][2025/05/31 12:15:27]: campers requested player vehicles for citizenid OHM07543. -[info][2025/05/31 12:15:30]: campers requested vehicle with id 83. -[info][2025/05/31 12:15:43]: campers requested all vehicles. -[info][2025/05/31 12:15:52]: campers requested vehicle with id 83. -[info][2025/05/31 12:15:58]: campers requested player with citizenid OHM07543. -[info][2025/05/31 12:15:59]: campers requested player vehicles for citizenid OHM07543. -[info][2025/05/31 12:16:02]: campers requested vehicle with id 74. -[info][2025/05/31 12:16:09]: campers requested all vehicles. -[info][2025/05/31 12:16:24]: campers requested player with citizenid OHM07543. -[info][2025/05/31 12:16:26]: campers requested player vehicles for citizenid OHM07543. -[info][2025/05/31 12:16:30]: campers requested vehicle with id 83. -[info][2025/05/31 12:16:32]: campers requested vehicle repair for id 83. -[info][2025/05/31 12:16:32]: campers requested vehicle with id 83. -[info][2025/05/31 12:17:07]: campers requested all vehicles. -[info][2025/05/31 12:17:20]: campers requested player with citizenid OHM07543. -[info][2025/05/31 12:17:21]: campers requested player vehicles for citizenid OHM07543. -[info][2025/05/31 12:17:26]: campers requested vehicle with id 83. -[info][2025/05/31 12:17:32]: campers requested despawn vehicle with plate 5FB260EN id 83. -[info][2025/05/31 12:25:35]: campers requested all players. -[info][2025/05/31 12:25:40]: campers requested player with citizenid OHM07543. -[info][2025/05/31 12:25:45]: campers requested change jobs. -[info][2025/05/31 12:25:52]: campers requested change job for citizenid OHM07543. -[info][2025/05/31 12:49:34]: campers requested all players. -[info][2025/05/31 12:49:38]: campers requested player with citizenid OHM07543. -[info][2025/05/31 12:49:41]: campers requested change jobs. -[info][2025/05/31 12:49:54]: campers requested change job for citizenid OHM07543. -[info][2025/05/31 12:50:05]: campers requested change jobs. -[info][2025/05/31 12:50:11]: campers requested change job for citizenid OHM07543. -[info][2025/05/31 13:07:29]: Login attempt on Tim from 109.68.107.162 -[info][2025/05/31 13:07:32]: tim requested all players. -[info][2025/05/31 13:07:36]: tim requested player with citizenid AOJ19157. -[info][2025/05/31 13:07:41]: tim requested inventory for citizenid AOJ19157. -[info][2025/05/31 13:07:45]: tim requested clear inv for citizenid AOJ19157. -[info][2025/05/31 13:54:02]: Login attempt on Rockit from 5.146.197.241 -[info][2025/05/31 14:40:25]: Login attempt on Nordi from 91.248.232.212 -[info][2025/05/31 15:02:16]: Login attempt on Rockit from 5.146.197.241 -[info][2025/05/31 15:02:20]: rockit requested player with citizenid DYW89109. -[info][2025/05/31 15:02:21]: rockit requested player vehicles for citizenid DYW89109. -[info][2025/05/31 15:02:29]: rockit requested vehicle with id 64. -[info][2025/05/31 15:02:36]: rockit requested change vehicle plate for id 64 (3OL034HS). -[info][2025/05/31 15:02:36]: rockit requested vehicle with id 64. -[info][2025/05/31 15:16:53]: Login attempt on Nordi from 91.248.232.212 -[info][2025/05/31 15:17:01]: nordi requested all players. -[info][2025/05/31 15:17:08]: nordi requested player with citizenid JCQ27225. -[info][2025/05/31 15:17:11]: nordi requested change jobs. -[info][2025/05/31 15:17:20]: nordi requested change job for citizenid JCQ27225. -[info][2025/05/31 15:17:20]: nordi requested player with citizenid JCQ27225. -[info][2025/05/31 15:47:59]: Login attempt on Tim from 109.68.107.162 -[info][2025/05/31 15:48:02]: tim requested all players. -[info][2025/05/31 15:48:09]: tim requested player with citizenid AOJ19157. -[info][2025/05/31 15:48:13]: tim requested change jobs. -[info][2025/05/31 16:25:45]: nordi requested all players. -[info][2025/05/31 16:25:47]: nordi requested player with citizenid JCQ27225. -[info][2025/05/31 16:25:49]: nordi requested change jobs. -[info][2025/05/31 16:25:54]: nordi requested change job for citizenid JCQ27225. -[info][2025/05/31 16:25:54]: nordi requested player with citizenid JCQ27225. -[info][2025/05/31 16:30:43]: nordi requested change jobs. -[info][2025/05/31 16:31:18]: nordi requested change jobs. -[info][2025/05/31 16:31:21]: nordi requested change job for citizenid JCQ27225. -[info][2025/05/31 16:31:21]: nordi requested player with citizenid JCQ27225. -[info][2025/05/31 16:36:34]: nordi requested all players. -[info][2025/05/31 16:43:43]: nordi requested all players. -[info][2025/05/31 16:43:47]: nordi requested player with citizenid JCQ27225. -[info][2025/05/31 16:43:49]: nordi requested change jobs. -[info][2025/05/31 16:43:54]: nordi requested change job for citizenid JCQ27225. -[info][2025/05/31 16:43:55]: nordi requested player with citizenid JCQ27225. -[info][2025/05/31 16:57:09]: rockit requested player with citizenid DYW89109. -[info][2025/05/31 16:57:12]: rockit requested change meta for citizenid DYW89109. -[info][2025/05/31 16:57:12]: rockit requested player with citizenid DYW89109. -[info][2025/05/31 16:57:13]: rockit requested change meta for citizenid DYW89109. -[info][2025/05/31 16:57:13]: rockit requested player with citizenid DYW89109. -[info][2025/05/31 17:32:57]: rockit requested player with citizenid DYW89109. -[info][2025/05/31 17:33:01]: rockit requested heal for citizenid DYW89109. -[info][2025/05/31 17:33:01]: rockit requested player with citizenid DYW89109. -[info][2025/05/31 17:33:02]: rockit requested change meta for citizenid DYW89109. -[info][2025/05/31 17:33:02]: rockit requested player with citizenid DYW89109. -[info][2025/05/31 17:33:02]: rockit requested change meta for citizenid DYW89109. -[info][2025/05/31 17:33:02]: rockit requested player with citizenid DYW89109. -[info][2025/05/31 19:12:31]: Login attempt on Nordi from 91.248.232.212 -[info][2025/05/31 21:02:48]: Login attempt on Max from 89.247.160.139 -[info][2025/05/31 22:20:00]: Login attempt on Max from 89.247.160.139 -[info][2025/05/31 22:35:36]: Login attempt on Nordi from 91.248.232.212 -[info][2025/05/31 22:35:39]: max requested player with citizenid DSC01606. -[info][2025/05/31 22:35:43]: max requested change meta for citizenid DSC01606. -[info][2025/05/31 22:35:43]: max requested player with citizenid DSC01606. -[info][2025/05/31 22:35:44]: max requested change meta for citizenid DSC01606. -[info][2025/05/31 22:35:44]: max requested player with citizenid DSC01606. -[info][2025/05/31 22:35:48]: max requested player with citizenid JCQ27225. -[info][2025/05/31 22:35:53]: max requested change meta for citizenid JCQ27225. -[info][2025/05/31 22:35:53]: max requested player with citizenid JCQ27225. -[info][2025/05/31 22:35:54]: max requested change meta for citizenid JCQ27225. -[info][2025/05/31 22:35:54]: max requested player with citizenid JCQ27225. -[info][2025/05/31 22:40:44]: nordi requested all players. -[info][2025/05/31 22:40:46]: nordi requested player with citizenid JCQ27225. -[info][2025/05/31 22:40:48]: nordi requested change jobs. -[info][2025/05/31 22:40:55]: nordi requested change job for citizenid JCQ27225. -[info][2025/05/31 22:40:55]: nordi requested player with citizenid JCQ27225. -[info][2025/05/31 23:27:10]: Login attempt on Campers from 178.200.177.65 -[info][2025/05/31 23:45:42]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/01 00:05:40]: campers requested all players. -[info][2025/06/01 00:05:49]: campers requested player with citizenid JQK75222. -[info][2025/06/01 00:05:52]: campers requested change jobs. -[info][2025/06/01 00:05:58]: campers requested change job for citizenid JQK75222. -[info][2025/06/01 00:05:58]: campers requested player with citizenid JQK75222. -[info][2025/06/01 00:06:02]: Login attempt on Nordi from 91.248.232.212 -[info][2025/06/01 00:06:51]: campers requested change jobs. -[info][2025/06/01 00:06:59]: campers requested change job for citizenid JQK75222. -[info][2025/06/01 00:06:59]: campers requested player with citizenid JQK75222. -[info][2025/06/01 00:26:50]: campers requested player with citizenid JQK75222. -[info][2025/06/01 00:26:52]: campers requested change jobs. -[info][2025/06/01 00:26:58]: campers requested change job for citizenid JQK75222. -[info][2025/06/01 00:26:58]: campers requested player with citizenid JQK75222. -[info][2025/06/01 00:27:18]: campers requested change jobs. -[info][2025/06/01 00:27:27]: campers requested change job for citizenid JQK75222. -[info][2025/06/01 00:27:27]: campers requested player with citizenid JQK75222. -[info][2025/06/01 00:27:29]: campers requested change jobs. -[info][2025/06/01 00:27:38]: campers requested change job for citizenid JQK75222. -[info][2025/06/01 00:27:38]: campers requested player with citizenid JQK75222. -[info][2025/06/01 00:28:25]: campers requested change jobs. -[info][2025/06/01 00:28:32]: campers requested change job for citizenid JQK75222. -[info][2025/06/01 00:28:32]: campers requested player with citizenid JQK75222. -[info][2025/06/01 00:29:24]: campers requested change jobs. -[info][2025/06/01 00:31:17]: campers requested change jobs. -[info][2025/06/01 00:31:26]: campers requested change job for citizenid JQK75222. -[info][2025/06/01 00:31:26]: campers requested player with citizenid JQK75222. -[info][2025/06/01 00:52:26]: Login attempt on Max from 89.247.160.139 -[info][2025/06/01 02:35:02]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/01 02:35:02]: campers requested all vehicles. -[info][2025/06/01 02:35:05]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/01 02:35:18]: campers requested player with citizenid OHM07543. -[info][2025/06/01 02:35:19]: campers requested player vehicles for citizenid OHM07543. -[info][2025/06/01 02:35:25]: campers requested vehicle with id 94. -[info][2025/06/01 02:35:31]: campers requested vehicle repair for id 94. -[info][2025/06/01 02:35:31]: campers requested vehicle with id 94. -[info][2025/06/01 02:36:28]: campers requested all vehicles. -[info][2025/06/01 03:03:39]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/01 03:03:40]: campers requested player with citizenid OHM07543. -[info][2025/06/01 03:03:42]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/01 03:03:47]: campers requested player with citizenid ELV21478. -[info][2025/06/01 03:03:50]: campers requested change meta for citizenid ELV21478. -[info][2025/06/01 03:03:50]: campers requested player with citizenid ELV21478. -[info][2025/06/01 03:03:50]: campers requested change meta for citizenid ELV21478. -[info][2025/06/01 03:03:50]: campers requested player with citizenid ELV21478. -[info][2025/06/01 03:03:53]: campers requested all players. -[info][2025/06/01 03:04:02]: campers requested player with citizenid OHM07543. -[info][2025/06/01 03:04:04]: campers requested change meta for citizenid OHM07543. -[info][2025/06/01 03:04:04]: campers requested player with citizenid OHM07543. -[info][2025/06/01 03:04:05]: campers requested change meta for citizenid OHM07543. -[info][2025/06/01 03:04:05]: campers requested player with citizenid OHM07543. -[info][2025/06/01 03:04:06]: campers requested change meta for citizenid OHM07543. -[info][2025/06/01 03:04:06]: campers requested player with citizenid OHM07543. -[info][2025/06/01 03:04:18]: campers requested player with citizenid DSC01606. -[info][2025/06/01 03:04:22]: campers requested change meta for citizenid DSC01606. -[info][2025/06/01 03:04:22]: campers requested player with citizenid DSC01606. -[info][2025/06/01 03:04:22]: campers requested change meta for citizenid DSC01606. -[info][2025/06/01 03:04:22]: campers requested player with citizenid DSC01606. -[info][2025/06/01 03:04:23]: campers requested change meta for citizenid DSC01606. -[info][2025/06/01 03:04:23]: campers requested player with citizenid DSC01606. -[info][2025/06/01 09:47:36]: Login attempt on Nordi from 85.16.106.199 -[info][2025/06/01 10:38:37]: Login attempt on Nordi from 85.16.106.199 -[info][2025/06/01 11:39:19]: Login attempt on Nordi from 85.16.106.199 -[info][2025/06/01 11:39:19]: nordi requested all players. -[info][2025/06/01 11:39:21]: Login attempt on Nordi from 85.16.106.199 -[info][2025/06/01 11:39:37]: nordi requested all players. -[info][2025/06/01 11:39:41]: nordi requested player with citizenid JCQ27225. -[info][2025/06/01 11:39:43]: nordi requested change jobs. -[info][2025/06/01 11:39:51]: nordi requested change job for citizenid JCQ27225. -[info][2025/06/01 11:39:51]: nordi requested player with citizenid JCQ27225. -[info][2025/06/01 12:45:35]: Login attempt on Nordi from 85.16.106.199 -[info][2025/06/01 12:45:37]: Login attempt on Nordi from 85.16.106.199 -[info][2025/06/01 13:05:52]: nordi requested all vehicles. -[info][2025/06/01 13:06:08]: nordi requested all players. -[info][2025/06/01 13:06:11]: nordi requested player with citizenid JCQ27225. -[info][2025/06/01 13:06:12]: nordi requested player vehicles for citizenid JCQ27225. -[info][2025/06/01 13:06:22]: nordi requested vehicle with id 100. -[info][2025/06/01 13:06:30]: nordi requested despawn vehicle with plate 1CY816HR id 100. -[info][2025/06/01 13:06:33]: nordi requested delete vehicle id 100. -[info][2025/06/01 13:06:33]: nordi requested all vehicles. -[info][2025/06/01 13:06:49]: nordi requested all players. -[info][2025/06/01 13:07:48]: nordi requested player with citizenid JCQ27225. -[info][2025/06/01 13:07:49]: nordi requested player vehicles for citizenid JCQ27225. -[info][2025/06/01 13:07:54]: nordi requested vehicle with id 104. -[info][2025/06/01 13:07:57]: nordi requested delete vehicle id 104. -[info][2025/06/01 13:07:58]: nordi requested all vehicles. -[info][2025/06/01 13:08:05]: nordi requested all players. -[info][2025/06/01 13:08:07]: nordi requested player with citizenid JCQ27225. -[info][2025/06/01 13:08:08]: nordi requested player vehicles for citizenid JCQ27225. -[info][2025/06/01 13:08:17]: nordi requested vehicle with id 103. -[info][2025/06/01 13:08:21]: nordi requested despawn vehicle with plate 5JR034EQ id 103. -[info][2025/06/01 13:08:23]: nordi requested delete vehicle id 103. -[info][2025/06/01 13:08:24]: nordi requested all vehicles. -[info][2025/06/01 13:08:32]: nordi requested all players. -[info][2025/06/01 13:08:37]: nordi requested player with citizenid JCQ27225. -[info][2025/06/01 13:08:39]: nordi requested player vehicles for citizenid JCQ27225. -[info][2025/06/01 13:08:42]: nordi requested vehicle with id 105. -[info][2025/06/01 13:08:46]: nordi requested despawn vehicle with plate 2NB122BL id 105. -[info][2025/06/01 13:08:50]: nordi requested delete vehicle id 105. -[info][2025/06/01 13:08:50]: nordi requested all vehicles. -[info][2025/06/01 13:08:54]: nordi requested all players. -[info][2025/06/01 13:08:56]: nordi requested player with citizenid JCQ27225. -[info][2025/06/01 13:08:58]: nordi requested player vehicles for citizenid JCQ27225. -[info][2025/06/01 13:09:08]: nordi requested vehicle with id 102. -[info][2025/06/01 13:09:32]: nordi requested despawn vehicle with plate 3WP420WR id 102. -[info][2025/06/01 13:09:34]: nordi requested delete vehicle id 102. -[info][2025/06/01 13:09:34]: nordi requested all vehicles. -[info][2025/06/01 13:09:38]: nordi requested all players. -[info][2025/06/01 13:09:41]: nordi requested player with citizenid JCQ27225. -[info][2025/06/01 13:09:42]: nordi requested player vehicles for citizenid JCQ27225. -[info][2025/06/01 13:10:14]: nordi requested player with citizenid JCQ27225. -[info][2025/06/01 13:10:16]: nordi requested all vehicles. -[info][2025/06/01 13:10:22]: nordi requested all players. -[info][2025/06/01 13:10:24]: nordi requested player with citizenid JCQ27225. -[info][2025/06/01 13:10:35]: nordi requested player vehicles for citizenid JCQ27225. -[info][2025/06/01 13:10:38]: nordi requested vehicle with id 101. -[info][2025/06/01 13:10:39]: nordi requested vehicle repair for id 101. -[info][2025/06/01 13:10:39]: nordi requested vehicle with id 101. -[info][2025/06/01 13:10:42]: nordi requested vehicle repair for id 101. -[info][2025/06/01 13:10:42]: nordi requested vehicle with id 101. -[info][2025/06/01 13:10:43]: nordi requested vehicle repair for id 101. -[info][2025/06/01 13:10:43]: nordi requested vehicle with id 101. -[info][2025/06/01 13:10:43]: nordi requested vehicle repair for id 101. -[info][2025/06/01 13:10:43]: nordi requested vehicle with id 101. -[info][2025/06/01 13:22:06]: nordi requested all vehicles. -[info][2025/06/01 14:20:10]: Login attempt on Rockit from 5.146.197.231 -[info][2025/06/01 14:33:57]: rockit requested player with citizenid DYW89109. -[info][2025/06/01 14:33:58]: rockit requested player vehicles for citizenid DYW89109. -[info][2025/06/01 14:34:03]: rockit requested vehicle with id 64. -[info][2025/06/01 14:34:12]: rockit requested despawn vehicle with plate WHISKEY id 64. -[info][2025/06/01 14:35:59]: rockit requested all vehicles. -[info][2025/06/01 14:36:09]: rockit requested player with citizenid DYW89109. -[info][2025/06/01 14:36:12]: rockit requested change meta for citizenid DYW89109. -[info][2025/06/01 14:36:12]: rockit requested player with citizenid DYW89109. -[info][2025/06/01 14:36:13]: rockit requested change meta for citizenid DYW89109. -[info][2025/06/01 14:36:13]: rockit requested player with citizenid DYW89109. -[info][2025/06/01 17:05:24]: nordi requested all vehicles. -[info][2025/06/01 17:06:43]: nordi requested all players. -[info][2025/06/01 17:07:02]: nordi requested all players. -[info][2025/06/01 18:04:19]: Login attempt on Nordi from 85.16.106.199 -[info][2025/06/01 18:04:22]: Login attempt on Nordi from 85.16.106.199 -[info][2025/06/01 18:04:24]: Login attempt on Max from 89.247.160.135 -[info][2025/06/01 18:05:30]: Login attempt on Tim from 109.68.107.162 -[info][2025/06/01 18:14:57]: Login attempt on Rockit from 5.146.197.231 -[info][2025/06/01 18:18:05]: rockit requested player with citizenid DYW89109. -[info][2025/06/01 18:18:07]: rockit requested change jobs. -[info][2025/06/01 18:18:15]: rockit requested change jobs. -[info][2025/06/01 18:20:02]: rockit requested player with citizenid DYW89109. -[info][2025/06/01 18:20:05]: rockit requested change jobs. -[info][2025/06/01 18:35:56]: nordi requested all players. -[info][2025/06/01 18:49:45]: tim requested all players. -[info][2025/06/01 18:49:48]: tim requested player with citizenid DUD53794. -[info][2025/06/01 18:49:49]: tim requested all players. -[info][2025/06/01 18:49:52]: tim requested player with citizenid AOJ19157. -[info][2025/06/01 18:49:53]: tim requested heal for citizenid AOJ19157. -[info][2025/06/01 18:49:53]: tim requested player with citizenid AOJ19157. -[info][2025/06/01 18:49:54]: tim requested change meta for citizenid AOJ19157. -[info][2025/06/01 18:49:54]: tim requested player with citizenid AOJ19157. -[info][2025/06/01 18:49:54]: tim requested change meta for citizenid AOJ19157. -[info][2025/06/01 18:49:54]: tim requested player with citizenid AOJ19157. -[info][2025/06/01 18:49:55]: tim requested change meta for citizenid AOJ19157. -[info][2025/06/01 18:49:55]: tim requested player with citizenid AOJ19157. -[info][2025/06/01 18:49:56]: tim requested change meta for citizenid AOJ19157. -[info][2025/06/01 18:49:56]: tim requested player with citizenid AOJ19157. -[info][2025/06/01 19:59:33]: Login attempt on Tim from 109.68.107.162 -[info][2025/06/01 19:59:36]: tim requested all players. -[info][2025/06/01 19:59:40]: tim requested player with citizenid TEY39086. -[info][2025/06/01 19:59:45]: tim requested change bucket for citizenid TEY39086. -[info][2025/06/01 19:59:45]: tim requested player with citizenid TEY39086. -[info][2025/06/01 19:59:48]: tim requested change bucket for citizenid TEY39086. -[info][2025/06/01 19:59:48]: tim requested player with citizenid TEY39086. -[info][2025/06/01 21:05:04]: Login attempt on Tim from 109.68.107.162 -[info][2025/06/01 21:07:38]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/01 21:09:18]: Login attempt on Nordi from 85.16.106.199 -[info][2025/06/01 21:09:20]: Login attempt on Nordi from 85.16.106.199 -[info][2025/06/01 21:47:44]: Login attempt on Tim from 109.68.107.162 -[info][2025/06/01 21:47:46]: tim requested all users. -[info][2025/06/01 21:47:50]: tim requested user minichaoz. -[info][2025/06/01 21:47:57]: tim requested all users. -[info][2025/06/01 21:47:59]: tim requested user mark. -[info][2025/06/01 21:48:00]: tim requested all users. -[info][2025/06/01 21:48:01]: tim requested user minichaoz. -[info][2025/06/01 21:48:21]: tim requested delete user minichaoz. -[info][2025/06/01 21:48:26]: tim requested all users. -[info][2025/06/01 21:48:29]: tim requested user minichaoz. -[info][2025/06/01 21:48:31]: tim requested all users. -[info][2025/06/01 21:54:58]: Login attempt on Tim from 109.68.107.162 -[info][2025/06/01 21:55:01]: tim requested all users. -[info][2025/06/01 21:55:03]: tim requested user minichaoz. -[info][2025/06/01 21:55:10]: tim requested password reset for minichaoz. -[info][2025/06/01 21:55:21]: tim requested all users. -[info][2025/06/01 21:55:40]: tim requested all users. -[info][2025/06/01 21:55:58]: Login attempt on minichaoz from 109.68.107.162 -[info][2025/06/01 21:56:02]: Login attempt on Tim from 109.68.107.162 -[info][2025/06/01 22:04:05]: Login attempt on Tim from 109.68.107.162 -[info][2025/06/01 22:04:07]: tim requested all users. -[info][2025/06/01 22:04:09]: tim requested user minichaoz. -[info][2025/06/01 22:04:11]: tim requested all users. -[info][2025/06/01 22:06:54]: Login attempt on Tim from 109.68.107.162 -[info][2025/06/01 22:06:57]: tim requested all users. -[info][2025/06/01 22:06:58]: tim requested user minichaoz. -[info][2025/06/01 22:07:04]: tim requested user minichaoz. -[info][2025/06/01 22:07:06]: tim requested all users. -[info][2025/06/01 22:07:11]: Login attempt on Tim from 109.68.107.162 -[info][2025/06/01 22:07:13]: tim requested all users. -[info][2025/06/01 22:07:15]: tim requested user minichaoz. -[info][2025/06/01 22:07:17]: tim requested delete user minichaoz. -[info][2025/06/01 22:07:19]: tim requested delete user minichaoz. -[info][2025/06/01 22:08:12]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/01 22:08:16]: campers requested all users. -[info][2025/06/01 22:08:23]: campers requested user minichaoz. -[info][2025/06/01 22:08:31]: campers requested all users. -[info][2025/06/01 22:08:51]: campers requested user minichaoz. -[info][2025/06/01 22:08:56]: campers requested all users. -[info][2025/06/01 22:10:59]: Login attempt on Tim from 109.68.107.162 -[info][2025/06/01 22:11:01]: tim requested all users. -[info][2025/06/01 22:11:47]: Login attempt on Tim from 109.68.107.162 -[info][2025/06/01 22:11:49]: tim requested all users. -[info][2025/06/01 22:11:50]: Login attempt on admin from 89.247.160.135 -[info][2025/06/01 22:11:51]: tim requested user minichaoz. -[info][2025/06/01 22:11:51]: Login attempt on admin from 89.247.160.135 -[info][2025/06/01 22:11:55]: tim requested save user minichaoz. -[info][2025/06/01 22:12:00]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/01 22:12:03]: tim requested all users. -[info][2025/06/01 22:12:03]: Login attempt on Anna from 89.247.160.135 -[info][2025/06/01 22:12:03]: campers requested all roles. -[info][2025/06/01 22:12:06]: campers requested all users. -[info][2025/06/01 22:12:13]: campers requested user minichaoz. -[info][2025/06/01 22:12:15]: Login attempt on Tim from 109.68.107.162 -[info][2025/06/01 22:12:17]: campers requested all users. -[info][2025/06/01 22:12:18]: tim requested all users. -[info][2025/06/01 22:12:18]: campers requested all roles. -[info][2025/06/01 22:12:21]: tim requested user minichaoz. -[info][2025/06/01 22:12:30]: tim requested save user minichaoz. -[info][2025/06/01 22:12:32]: campers requested all users. -[info][2025/06/01 22:12:33]: tim requested all users. -[info][2025/06/01 22:12:42]: Login attempt on Tim from 109.68.107.162 -[info][2025/06/01 22:12:45]: tim requested all users. -[info][2025/06/01 22:12:46]: tim requested user minichaoz. -[info][2025/06/01 22:12:48]: tim requested save user minichaoz. -[info][2025/06/01 22:17:18]: tim requested user minichaoz. -[info][2025/06/01 22:17:32]: campers requested all users. -[info][2025/06/01 22:17:38]: Login attempt on Max from 89.247.160.135 -[info][2025/06/01 22:17:46]: max requested all roles. -[info][2025/06/01 22:18:02]: max requested all users. -[info][2025/06/01 22:18:05]: max requested user minichaoz. -[info][2025/06/01 22:18:43]: max requested password reset for minichaoz. -[info][2025/06/01 22:19:45]: max requested password reset for minichaoz. -[info][2025/06/01 22:19:55]: tim requested fix inv -[info][2025/06/01 22:19:59]: tim requested all roles. -[info][2025/06/01 22:20:07]: max requested delete user minichaoz. -[info][2025/06/01 22:20:17]: max requested all users. -[info][2025/06/01 22:20:19]: tim requested all users. -[info][2025/06/01 22:20:21]: max requested user tim. -[info][2025/06/01 22:20:22]: tim requested user tim. -[info][2025/06/01 22:20:28]: tim requested save user tim. -[info][2025/06/01 22:20:29]: tim requested all users. -[info][2025/06/01 22:20:31]: tim requested user minichaoz. -[info][2025/06/01 22:20:34]: tim requested delete user minichaoz. -[info][2025/06/01 22:20:36]: tim requested all users. -[info][2025/06/01 22:20:39]: tim requested user tim. -[info][2025/06/01 22:20:43]: tim requested save user tim. -[info][2025/06/01 22:20:45]: tim requested all users. -[info][2025/06/01 22:21:16]: tim requested all accounts. -[info][2025/06/01 22:21:22]: tim requested all users. -[info][2025/06/01 22:23:43]: Login attempt on minichaoz from 178.200.177.65 -[info][2025/06/01 22:24:26]: Login attempt on minichaoz from 178.200.177.65 -[info][2025/06/01 22:24:35]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/01 22:25:29]: campers requested all users. -[info][2025/06/01 22:25:33]: campers requested user minichaoz. -[info][2025/06/01 22:25:46]: campers requested all users. -[info][2025/06/01 22:25:58]: campers requested user minichaoz. -[info][2025/06/01 22:26:08]: campers requested all users. -[info][2025/06/01 22:26:29]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/01 22:26:30]: campers requested all users. -[info][2025/06/01 22:26:42]: Login attempt on Tim from 109.68.107.162 -[info][2025/06/01 22:26:44]: tim requested all users. -[info][2025/06/01 22:27:23]: tim requested user mark. -[info][2025/06/01 22:27:25]: tim requested all users. -[info][2025/06/01 22:27:27]: tim requested user tim. -[info][2025/06/01 22:27:30]: tim requested all roles. -[info][2025/06/01 22:27:33]: tim requested all users. -[info][2025/06/01 23:12:51]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/01 23:12:57]: campers requested player with citizenid OHM07543. -[info][2025/06/01 23:13:01]: campers requested change meta for citizenid OHM07543. -[info][2025/06/01 23:13:01]: campers requested player with citizenid OHM07543. -[info][2025/06/01 23:13:02]: campers requested change meta for citizenid OHM07543. -[info][2025/06/01 23:13:02]: campers requested player with citizenid OHM07543. -[info][2025/06/01 23:36:43]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/01 23:37:21]: campers requested all users. -[info][2025/06/02 00:12:13]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/02 00:12:13]: campers requested player with citizenid OHM07543. -[info][2025/06/02 00:12:17]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/02 00:22:52]: Login attempt on Max from 89.247.160.135 -[info][2025/06/02 00:22:59]: max requested player with citizenid GNR11868. -[info][2025/06/02 00:23:08]: max requested inventory for citizenid GNR11868. -[info][2025/06/02 00:23:10]: max requested item list. -[info][2025/06/02 00:23:30]: max requested add item for citizenid GNR11868. -[info][2025/06/02 00:23:39]: max requested player with citizenid ELV21478. -[info][2025/06/02 00:23:53]: max requested inventory for citizenid ELV21478. -[info][2025/06/02 00:23:57]: max requested item list. -[info][2025/06/02 00:24:07]: max requested add item for citizenid ELV21478. -[info][2025/06/02 00:38:01]: campers requested player with citizenid OHM07543. -[info][2025/06/02 00:38:03]: campers requested heal for citizenid OHM07543. -[info][2025/06/02 00:38:03]: campers requested player with citizenid OHM07543. -[info][2025/06/02 00:38:04]: campers requested change meta for citizenid OHM07543. -[info][2025/06/02 00:38:04]: campers requested player with citizenid OHM07543. -[info][2025/06/02 00:38:04]: campers requested change meta for citizenid OHM07543. -[info][2025/06/02 00:38:04]: campers requested player with citizenid OHM07543. -[info][2025/06/02 00:41:19]: max requested player with citizenid DSC01606. -[info][2025/06/02 00:41:25]: max requested change meta for citizenid DSC01606. -[info][2025/06/02 00:41:25]: max requested player with citizenid DSC01606. -[info][2025/06/02 00:41:26]: max requested change meta for citizenid DSC01606. -[info][2025/06/02 00:41:26]: max requested player with citizenid DSC01606. -[info][2025/06/02 00:41:46]: max requested player with citizenid OHM07543. -[info][2025/06/02 11:28:55]: Login attempt on Mark from 178.24.230.51 -[info][2025/06/02 11:29:06]: Login attempt on Mark from 178.24.230.51 -[info][2025/06/02 11:29:12]: Login attempt on Mark from 178.24.230.51 -[info][2025/06/02 11:29:19]: mark requested all accounts. -[info][2025/06/02 11:29:21]: mark requested all users. -[info][2025/06/02 11:29:45]: mark requested all players. -[info][2025/06/02 11:29:51]: mark requested player with citizenid NAJ08324. -[info][2025/06/02 11:29:57]: mark requested change meta for citizenid NAJ08324. -[info][2025/06/02 11:29:57]: mark requested player with citizenid NAJ08324. -[info][2025/06/02 11:29:57]: mark requested change meta for citizenid NAJ08324. -[info][2025/06/02 11:29:57]: mark requested player with citizenid NAJ08324. -[info][2025/06/02 11:29:58]: mark requested heal for citizenid NAJ08324. -[info][2025/06/02 11:29:58]: mark requested player with citizenid NAJ08324. -[info][2025/06/02 11:29:58]: mark requested heal for citizenid NAJ08324. -[info][2025/06/02 11:29:58]: mark requested player with citizenid NAJ08324. -[info][2025/06/02 11:30:02]: mark requested player vehicles for citizenid NAJ08324. -[info][2025/06/02 11:34:56]: mark requested create vehicle. -[info][2025/06/02 11:34:57]: mark requested all vehicles. -[info][2025/06/02 11:35:58]: mark requested player with citizenid NAJ08324. -[info][2025/06/02 11:36:00]: mark requested change meta for citizenid NAJ08324. -[info][2025/06/02 11:36:01]: mark requested player with citizenid NAJ08324. -[info][2025/06/02 11:36:01]: mark requested change meta for citizenid NAJ08324. -[info][2025/06/02 11:36:01]: mark requested player with citizenid NAJ08324. -[info][2025/06/02 11:36:01]: mark requested heal for citizenid NAJ08324. -[info][2025/06/02 11:36:01]: mark requested player with citizenid NAJ08324. -[info][2025/06/02 11:36:01]: mark requested heal for citizenid NAJ08324. -[info][2025/06/02 11:36:02]: mark requested player with citizenid NAJ08324. -[info][2025/06/02 11:47:43]: mark requested player with citizenid NAJ08324. -[info][2025/06/02 11:47:45]: mark requested all vehicles. -[info][2025/06/02 11:47:51]: mark requested vehicle with id 110. -[info][2025/06/02 11:48:13]: mark requested vehicle repair for id 110. -[info][2025/06/02 11:48:13]: mark requested vehicle with id 110. -[info][2025/06/02 11:52:09]: mark requested player with citizenid NAJ08324. -[info][2025/06/02 11:52:14]: mark requested inventory for citizenid NAJ08324. -[info][2025/06/02 11:52:20]: mark requested move item for citizenid NAJ08324. -[info][2025/06/02 11:52:23]: mark requested delete item for citizenid NAJ08324. -[info][2025/06/02 11:52:24]: mark requested delete item for citizenid NAJ08324. -[info][2025/06/02 11:52:28]: mark requested delete item for citizenid NAJ08324. -[info][2025/06/02 11:52:30]: mark requested delete item for citizenid NAJ08324. -[info][2025/06/02 11:52:32]: mark requested delete item for citizenid NAJ08324. -[info][2025/06/02 11:52:34]: mark requested delete item for citizenid NAJ08324. -[info][2025/06/02 11:52:36]: mark requested delete item for citizenid NAJ08324. -[info][2025/06/02 11:52:38]: mark requested delete item for citizenid NAJ08324. -[info][2025/06/02 11:52:40]: mark requested delete item for citizenid NAJ08324. -[info][2025/06/02 11:52:42]: mark requested delete item for citizenid NAJ08324. -[info][2025/06/02 11:52:44]: mark requested clear inv for citizenid NAJ08324. -[info][2025/06/02 11:52:55]: mark requested clear inv for citizenid NAJ08324. -[info][2025/06/02 11:53:07]: mark requested clear inv for citizenid NAJ08324. -[info][2025/06/02 11:56:15]: mark requested clear inv for citizenid NAJ08324. -[info][2025/06/02 12:32:44]: Login attempt on Mark from 178.24.230.51 -[info][2025/06/02 12:32:50]: mark requested player with citizenid NAJ08324. -[info][2025/06/02 12:32:53]: mark requested change meta for citizenid NAJ08324. -[info][2025/06/02 12:32:53]: mark requested player with citizenid NAJ08324. -[info][2025/06/02 12:32:53]: mark requested change meta for citizenid NAJ08324. -[info][2025/06/02 12:32:53]: mark requested player with citizenid NAJ08324. -[info][2025/06/02 12:32:58]: mark requested player vehicles for citizenid NAJ08324. -[info][2025/06/02 12:33:05]: mark requested vehicle with id 82. -[info][2025/06/02 12:33:10]: mark requested delete vehicle id 82. -[info][2025/06/02 12:33:10]: mark requested all vehicles. -[info][2025/06/02 12:33:14]: mark requested vehicle with id 110. -[info][2025/06/02 12:33:22]: mark requested player with citizenid NAJ08324. -[info][2025/06/02 12:33:24]: mark requested player vehicles for citizenid NAJ08324. -[info][2025/06/02 12:33:25]: mark requested vehicle with id 110. -[info][2025/06/02 12:33:38]: mark requested change vehicle plate for id 110 (02RHO765). -[info][2025/06/02 12:33:38]: mark requested vehicle with id 110. -[info][2025/06/02 12:43:02]: mark requested all vehicles. -[info][2025/06/02 12:43:05]: mark requested vehicle with id 110. -[info][2025/06/02 12:43:19]: mark requested vehicle repair for id 110. -[info][2025/06/02 12:43:19]: mark requested vehicle with id 110. -[info][2025/06/02 12:43:31]: mark requested change vehicle garage with id 110. -[info][2025/06/02 12:43:31]: mark requested vehicle with id 110. -[info][2025/06/02 12:43:34]: mark requested change vehicle state with id 110. -[info][2025/06/02 12:43:34]: mark requested vehicle with id 110. -[info][2025/06/02 12:43:39]: mark requested Trunk 22GPM781. -[info][2025/06/02 14:50:10]: Login attempt on Nordi from 95.33.59.241 -[info][2025/06/02 15:02:01]: Login attempt on Nordi from 95.33.59.241 -[info][2025/06/02 19:02:43]: Login attempt on Nordi from 95.33.59.241 -[info][2025/06/02 19:31:57]: Login attempt on Mark from 178.24.230.51 -[info][2025/06/02 19:32:04]: mark requested player with citizenid NAJ08324. -[info][2025/06/02 19:32:07]: mark requested change meta for citizenid NAJ08324. -[info][2025/06/02 19:32:07]: mark requested player with citizenid NAJ08324. -[info][2025/06/02 19:32:08]: mark requested change meta for citizenid NAJ08324. -[info][2025/06/02 19:32:08]: mark requested player with citizenid NAJ08324. -[info][2025/06/02 19:32:08]: mark requested heal for citizenid NAJ08324. -[info][2025/06/02 19:32:08]: mark requested player with citizenid NAJ08324. -[info][2025/06/02 19:32:10]: mark requested player vehicles for citizenid NAJ08324. -[info][2025/06/02 19:32:12]: mark requested vehicle with id 110. -[info][2025/06/02 19:32:21]: mark requested change vehicle plate for id 110 (22GPM781). -[info][2025/06/02 19:32:21]: mark requested vehicle with id 110. -[info][2025/06/02 19:32:29]: mark requested all vehicles. -[info][2025/06/02 19:34:36]: mark requested vehicle with id 77. -[info][2025/06/02 19:34:51]: mark requested despawn vehicle with plate 3HF509XY id 77. -[info][2025/06/02 19:34:57]: Login attempt on Nordi from 95.33.59.241 -[info][2025/06/02 20:34:41]: mark requested player with citizenid NAJ08324. -[info][2025/06/02 23:11:08]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/02 23:11:16]: campers requested player with citizenid REB37300. -[info][2025/06/03 00:17:47]: Login attempt on Max from 89.247.160.128 -[info][2025/06/03 00:33:01]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/03 00:40:27]: campers requested all players. -[info][2025/06/03 00:40:34]: campers requested player with citizenid OHM07543. -[info][2025/06/03 00:40:37]: campers requested inventory for citizenid OHM07543. -[info][2025/06/03 00:40:39]: campers requested item list. -[info][2025/06/03 00:40:49]: campers requested add item for citizenid OHM07543. -[info][2025/06/03 00:42:45]: campers requested player with citizenid OHM07543. -[info][2025/06/03 00:42:46]: campers requested player vehicles for citizenid OHM07543. -[info][2025/06/03 00:42:56]: campers requested player vehicles for citizenid OHM07543. -[info][2025/06/03 00:43:26]: campers requested player with citizenid OHM07543. -[info][2025/06/03 00:59:18]: Login attempt on Nordi from 95.33.59.241 -[info][2025/06/03 01:08:11]: Login attempt on Nordi from 95.33.59.241 -[info][2025/06/03 01:08:41]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/03 10:52:15]: Login attempt on Nordi from 85.16.105.145 -[info][2025/06/03 11:44:18]: Login attempt on Nordi from 85.16.105.145 -[info][2025/06/03 12:28:12]: Login attempt on Mark from 178.24.230.51 -[info][2025/06/03 12:28:23]: mark requested all players. -[info][2025/06/03 12:28:25]: mark requested player with citizenid NAJ08324. -[info][2025/06/03 12:35:13]: Login attempt on Nordi from 85.16.105.145 -[info][2025/06/03 12:46:01]: Login attempt on Nordi from 85.16.105.145 -[info][2025/06/03 12:51:48]: Login attempt on Nordi from 85.16.105.145 -[info][2025/06/03 16:13:40]: Login attempt on Nordi from 85.16.105.145 -[info][2025/06/03 18:03:57]: Login attempt on Rockit from 5.146.196.167 -[info][2025/06/03 18:04:10]: rockit requested player with citizenid DYW89109. -[info][2025/06/03 18:04:12]: rockit requested change meta for citizenid DYW89109. -[info][2025/06/03 18:04:12]: rockit requested player with citizenid DYW89109. -[info][2025/06/03 18:04:12]: rockit requested change meta for citizenid DYW89109. -[info][2025/06/03 18:04:12]: rockit requested player with citizenid DYW89109. -[info][2025/06/03 18:44:41]: rockit requested player with citizenid DYW89109. -[info][2025/06/03 18:44:45]: rockit requested change meta for citizenid DYW89109. -[info][2025/06/03 18:44:45]: rockit requested player with citizenid DYW89109. -[info][2025/06/03 18:44:46]: rockit requested change meta for citizenid DYW89109. -[info][2025/06/03 18:44:46]: rockit requested player with citizenid DYW89109. -[info][2025/06/03 18:44:47]: rockit requested heal for citizenid DYW89109. -[info][2025/06/03 18:44:47]: rockit requested player with citizenid DYW89109. -[info][2025/06/03 18:44:49]: rockit requested heal for citizenid DYW89109. -[info][2025/06/03 18:44:49]: rockit requested player with citizenid DYW89109. -[info][2025/06/03 18:44:50]: rockit requested change meta for citizenid DYW89109. -[info][2025/06/03 18:44:50]: rockit requested player with citizenid DYW89109. -[info][2025/06/03 19:03:06]: Login attempt on Nordi from 85.16.105.145 -[info][2025/06/03 19:06:54]: nordi requested all players. -[info][2025/06/03 19:06:56]: nordi requested player with citizenid JCQ27225. -[info][2025/06/03 19:07:06]: nordi requested add money cash for citizenid JCQ27225. -[info][2025/06/03 19:07:06]: nordi requested player with citizenid JCQ27225. -[info][2025/06/03 19:28:27]: Login attempt on Nordi from 85.16.105.145 -[info][2025/06/03 21:17:58]: Login attempt on Max from 89.247.160.144 -[info][2025/06/03 21:18:09]: max requested player with citizenid REB37300. -[info][2025/06/03 21:18:14]: max requested change meta for citizenid REB37300. -[info][2025/06/03 21:18:14]: max requested player with citizenid REB37300. -[info][2025/06/03 21:18:15]: max requested change meta for citizenid REB37300. -[info][2025/06/03 21:18:15]: max requested player with citizenid REB37300. -[info][2025/06/03 22:47:37]: max requested player with citizenid REB37300. -[info][2025/06/03 22:47:41]: max requested change meta for citizenid REB37300. -[info][2025/06/03 22:47:41]: max requested player with citizenid REB37300. -[info][2025/06/03 22:47:42]: max requested change meta for citizenid REB37300. -[info][2025/06/03 22:47:42]: max requested player with citizenid REB37300. -[info][2025/06/03 22:47:56]: max requested player with citizenid JCQ27225. -[info][2025/06/03 22:48:00]: max requested change meta for citizenid JCQ27225. -[info][2025/06/03 22:48:00]: max requested player with citizenid JCQ27225. -[info][2025/06/03 22:48:01]: max requested change meta for citizenid JCQ27225. -[info][2025/06/03 22:48:01]: max requested player with citizenid JCQ27225. -[info][2025/06/03 22:48:10]: max requested player with citizenid EAP03737. -[info][2025/06/03 22:48:14]: max requested change meta for citizenid EAP03737. -[info][2025/06/03 22:48:14]: max requested player with citizenid EAP03737. -[info][2025/06/03 22:48:14]: max requested change meta for citizenid EAP03737. -[info][2025/06/03 22:48:14]: max requested player with citizenid EAP03737. -[info][2025/06/03 22:48:23]: max requested change meta for citizenid EAP03737. -[info][2025/06/03 22:48:23]: max requested player with citizenid EAP03737. -[info][2025/06/04 00:38:52]: Login attempt on Nordi from 85.16.105.145 -[info][2025/06/04 11:13:33]: Login attempt on Rockit from 5.146.197.37 -[info][2025/06/04 11:15:37]: rockit requested all vehicles. -[info][2025/06/04 12:03:09]: Login attempt on Mark from 178.24.230.51 -[info][2025/06/04 12:03:12]: mark requested all vehicles. -[info][2025/06/04 12:03:15]: mark requested all players. -[info][2025/06/04 12:03:20]: mark requested player with citizenid NAJ08324. -[info][2025/06/04 12:03:22]: mark requested player vehicles for citizenid NAJ08324. -[info][2025/06/04 12:03:33]: mark requested vehicle with id 110. -[info][2025/06/04 12:03:42]: mark requested change vehicle plate for id 110 (69HMD792). -[info][2025/06/04 12:03:43]: mark requested vehicle with id 110. -[info][2025/06/04 12:21:18]: mark requested player with citizenid NAJ08324. -[info][2025/06/04 12:21:21]: mark requested change meta for citizenid NAJ08324. -[info][2025/06/04 12:21:21]: mark requested player with citizenid NAJ08324. -[info][2025/06/04 12:21:21]: mark requested change meta for citizenid NAJ08324. -[info][2025/06/04 12:21:21]: mark requested player with citizenid NAJ08324. -[info][2025/06/04 12:21:21]: mark requested heal for citizenid NAJ08324. -[info][2025/06/04 12:21:21]: mark requested player with citizenid NAJ08324. -[info][2025/06/04 12:21:23]: mark requested heal for citizenid NAJ08324. -[info][2025/06/04 12:21:23]: mark requested player with citizenid NAJ08324. -[info][2025/06/04 12:21:27]: mark requested change meta for citizenid NAJ08324. -[info][2025/06/04 12:21:27]: mark requested player with citizenid NAJ08324. -[info][2025/06/04 12:21:28]: mark requested change meta for citizenid NAJ08324. -[info][2025/06/04 12:21:28]: mark requested player with citizenid NAJ08324. -[info][2025/06/04 14:44:13]: Login attempt on Max from 89.247.160.131 -[info][2025/06/04 16:09:04]: max requested player with citizenid DSC01606. -[info][2025/06/04 16:09:09]: max requested change meta for citizenid DSC01606. -[info][2025/06/04 16:09:09]: max requested player with citizenid DSC01606. -[info][2025/06/04 16:09:10]: max requested change meta for citizenid DSC01606. -[info][2025/06/04 16:09:10]: max requested player with citizenid DSC01606. -[info][2025/06/04 16:45:08]: Login attempt on Nordi from 85.16.153.238 -[info][2025/06/04 17:02:00]: Login attempt on Nordi from 85.16.153.238 -[info][2025/06/04 17:50:55]: Login attempt on Nordi from 85.16.153.238 -[info][2025/06/04 17:51:00]: Login attempt on Nordi from 85.16.153.238 -[info][2025/06/04 18:45:48]: Login attempt on Mark from 178.24.230.51 -[info][2025/06/04 18:45:55]: mark requested player with citizenid NAJ08324. -[info][2025/06/04 18:45:57]: mark requested player vehicles for citizenid NAJ08324. -[info][2025/06/04 18:45:58]: mark requested vehicle with id 110. -[info][2025/06/04 18:46:17]: mark requested change vehicle plate for id 110 (40POQ358). -[info][2025/06/04 18:46:17]: mark requested vehicle with id 110. -[info][2025/06/04 18:46:24]: mark requested vehicle repair for id 110. -[info][2025/06/04 18:46:24]: mark requested vehicle with id 110. -[info][2025/06/04 18:46:32]: mark requested all vehicles. -[info][2025/06/04 18:46:35]: mark requested vehicle with id 110. -[info][2025/06/04 18:46:41]: mark requested change vehicle drivingdistance with id 110. -[info][2025/06/04 18:46:41]: mark requested vehicle with id 110. -[info][2025/06/04 19:11:09]: Login attempt on Nordi from 85.16.153.238 -[info][2025/06/04 19:15:23]: Login attempt on Mark from 178.24.230.51 -[info][2025/06/04 19:15:29]: mark requested player with citizenid NAJ08324. -[info][2025/06/04 19:15:30]: mark requested player vehicles for citizenid NAJ08324. -[info][2025/06/04 19:15:31]: mark requested vehicle with id 110. -[info][2025/06/04 19:15:40]: mark requested change vehicle plate for id 110 (07EQY853). -[info][2025/06/04 19:15:40]: mark requested vehicle with id 110. -[info][2025/06/04 19:30:13]: Login attempt on Mark from 178.24.230.51 -[info][2025/06/04 19:30:20]: mark requested player with citizenid NAJ08324. -[info][2025/06/04 19:30:22]: mark requested player vehicles for citizenid NAJ08324. -[info][2025/06/04 19:30:24]: mark requested vehicle with id 110. -[info][2025/06/04 19:30:37]: mark requested change vehicle plate for id 110 (49SHC932). -[info][2025/06/04 19:30:37]: mark requested vehicle with id 110. -[info][2025/06/04 19:37:39]: mark requested player with citizenid NAJ08324. -[info][2025/06/04 20:11:11]: Login attempt on Nordi from 85.16.153.238 -[info][2025/06/04 21:26:23]: Login attempt on Max from 89.247.160.131 -[info][2025/06/04 21:27:11]: max requested player with citizenid UGO12804. -[info][2025/06/04 21:27:19]: max requested all players. -[info][2025/06/04 21:27:34]: max requested all stashes. -[info][2025/06/04 21:27:59]: max requested all users. -[info][2025/06/04 21:41:16]: Login attempt on Nordi from 85.16.153.238 -[info][2025/06/04 22:11:55]: Login attempt on Max from 89.247.160.131 -[info][2025/06/04 22:11:57]: Login attempt on Max from 89.247.160.131 -[info][2025/06/04 22:28:40]: Login attempt on Nordi from 85.16.153.238 -[info][2025/06/04 23:37:01]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/04 23:58:47]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/04 23:58:52]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/05 00:03:25]: Login attempt on Nordi from 85.16.153.238 -[info][2025/06/05 00:03:28]: Login attempt on Nordi from 85.16.153.238 -[info][2025/06/05 00:49:27]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/05 00:49:31]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/05 00:54:05]: Login attempt on Nordi from 85.16.153.238 -[info][2025/06/05 00:54:08]: Login attempt on Nordi from 85.16.153.238 -[info][2025/06/05 01:15:41]: Login attempt on Nordi from 85.16.153.238 -[info][2025/06/05 01:15:43]: Login attempt on Nordi from 85.16.153.238 -[info][2025/06/05 01:16:55]: nordi requested all players. -[info][2025/06/05 01:28:24]: Login attempt on Max from 89.247.160.131 -[info][2025/06/05 01:28:24]: max requested player with citizenid REB37300. -[info][2025/06/05 01:28:33]: Login attempt on Max from 89.247.160.131 -[info][2025/06/05 01:28:41]: max requested player with citizenid REB37300. -[info][2025/06/05 01:28:46]: max requested change meta for citizenid REB37300. -[info][2025/06/05 01:28:46]: max requested player with citizenid REB37300. -[info][2025/06/05 01:28:47]: max requested change meta for citizenid REB37300. -[info][2025/06/05 01:28:47]: max requested player with citizenid REB37300. -[info][2025/06/05 03:18:23]: Login attempt on Nordi from 91.248.233.192 -[info][2025/06/05 03:18:26]: Login attempt on Nordi from 91.248.233.192 -[info][2025/06/05 11:34:51]: Login attempt on Nordi from 91.248.233.192 -[info][2025/06/05 11:34:53]: Login attempt on Nordi from 91.248.233.192 -[info][2025/06/05 12:34:15]: Login attempt on Mark from 178.24.230.51 -[info][2025/06/05 12:34:19]: mark requested player with citizenid NAJ08324. -[info][2025/06/05 12:34:21]: mark requested change meta for citizenid NAJ08324. -[info][2025/06/05 12:34:21]: mark requested player with citizenid NAJ08324. -[info][2025/06/05 12:34:21]: mark requested change meta for citizenid NAJ08324. -[info][2025/06/05 12:34:21]: mark requested player with citizenid NAJ08324. -[info][2025/06/05 12:34:21]: mark requested change meta for citizenid NAJ08324. -[info][2025/06/05 12:34:21]: mark requested player with citizenid NAJ08324. -[info][2025/06/05 12:34:21]: mark requested change meta for citizenid NAJ08324. -[info][2025/06/05 12:34:21]: mark requested player with citizenid NAJ08324. -[info][2025/06/05 12:34:22]: mark requested change meta for citizenid NAJ08324. -[info][2025/06/05 12:34:22]: mark requested player with citizenid NAJ08324. -[info][2025/06/05 12:34:22]: mark requested heal for citizenid NAJ08324. -[info][2025/06/05 12:34:22]: mark requested player with citizenid NAJ08324. -[info][2025/06/05 12:34:22]: mark requested heal for citizenid NAJ08324. -[info][2025/06/05 12:34:22]: mark requested player with citizenid NAJ08324. -[info][2025/06/05 12:34:22]: mark requested heal for citizenid NAJ08324. -[info][2025/06/05 12:34:22]: mark requested player with citizenid NAJ08324. -[info][2025/06/05 12:39:50]: Login attempt on Nordi from 91.248.233.192 -[info][2025/06/05 12:39:52]: Login attempt on Nordi from 91.248.233.192 -[info][2025/06/05 17:33:06]: Login attempt on Nordi from 91.248.233.192 -[info][2025/06/05 17:33:09]: Login attempt on Nordi from 91.248.233.192 -[info][2025/06/05 19:57:31]: Login attempt on Nordi from 91.248.233.192 -[info][2025/06/05 19:57:34]: Login attempt on Nordi from 91.248.233.192 -[info][2025/06/05 21:20:26]: Login attempt on Mark from 178.24.230.51 -[info][2025/06/05 21:20:30]: mark requested player with citizenid NAJ08324. -[info][2025/06/05 22:17:18]: Login attempt on Mark from 178.24.230.51 -[info][2025/06/05 22:17:23]: mark requested player with citizenid NAJ08324. -[info][2025/06/05 22:17:24]: mark requested player vehicles for citizenid NAJ08324. -[info][2025/06/05 22:17:25]: mark requested vehicle with id 110. -[info][2025/06/05 22:17:32]: mark requested change vehicle plate for id 110 (21YTF236). -[info][2025/06/05 22:17:32]: mark requested vehicle with id 110. -[info][2025/06/05 22:18:29]: mark requested player with citizenid NAJ08324. -[info][2025/06/06 12:27:09]: Login attempt on Mark from 178.24.230.51 -[info][2025/06/06 12:27:14]: mark requested player with citizenid NAJ08324. -[info][2025/06/06 12:28:09]: mark requested player vehicles for citizenid NAJ08324. -[info][2025/06/06 12:28:10]: mark requested vehicle with id 110. -[info][2025/06/06 12:28:21]: mark requested change vehicle plate for id 110 (61AAQ992). -[info][2025/06/06 12:28:21]: mark requested vehicle with id 110. -[info][2025/06/06 12:28:41]: mark requested vehicle repair for id 110. -[info][2025/06/06 12:28:41]: mark requested vehicle with id 110. -[info][2025/06/06 12:50:19]: mark requested player with citizenid NAJ08324. -[info][2025/06/06 12:50:20]: mark requested player vehicles for citizenid NAJ08324. -[info][2025/06/06 12:50:23]: mark requested vehicle with id 110. -[info][2025/06/06 13:57:57]: Login attempt on Nordi from 80.228.185.12 -[info][2025/06/06 14:16:27]: Login attempt on Mark from 178.24.230.51 -[info][2025/06/06 14:16:34]: mark requested player with citizenid NAJ08324. -[info][2025/06/06 14:16:35]: mark requested player vehicles for citizenid NAJ08324. -[info][2025/06/06 14:16:36]: mark requested vehicle with id 110. -[info][2025/06/06 14:16:48]: mark requested change vehicle plate for id 110 (09XFM676). -[info][2025/06/06 14:16:48]: mark requested vehicle with id 110. -[info][2025/06/06 15:25:04]: Login attempt on Mark from 178.24.230.51 -[info][2025/06/06 15:25:11]: mark requested player with citizenid NAJ08324. -[info][2025/06/06 15:25:12]: mark requested player vehicles for citizenid NAJ08324. -[info][2025/06/06 15:25:14]: mark requested vehicle with id 110. -[info][2025/06/06 15:25:22]: mark requested change vehicle plate for id 110 (83KYU186). -[info][2025/06/06 15:25:22]: mark requested vehicle with id 110. -[info][2025/06/06 16:21:50]: Login attempt on Mark from 178.24.230.51 -[info][2025/06/06 16:21:57]: mark requested player with citizenid NAJ08324. -[info][2025/06/06 16:21:59]: mark requested player vehicles for citizenid NAJ08324. -[info][2025/06/06 16:22:01]: mark requested vehicle with id 110. -[info][2025/06/06 16:22:10]: mark requested change vehicle plate for id 110 (80OOL248). -[info][2025/06/06 16:22:10]: mark requested vehicle with id 110. -[info][2025/06/06 16:27:42]: mark requested vehicle repair for id 110. -[info][2025/06/06 16:27:43]: mark requested vehicle with id 110. -[info][2025/06/06 17:47:08]: Login attempt on Max from 89.247.160.131 -[info][2025/06/07 11:43:59]: Login attempt on Nordi from 85.16.106.125 -[info][2025/06/07 11:48:31]: Login attempt on Nordi from 85.16.106.125 -[info][2025/06/07 17:58:28]: Login attempt on Max from 89.247.160.138 -[info][2025/06/07 20:26:00]: Login attempt on Max from 89.247.160.138 -[info][2025/06/07 20:26:35]: Login attempt on Max from 89.247.160.138 -[info][2025/06/07 20:26:43]: max requested all players. -[info][2025/06/07 20:31:30]: max requested player with citizenid JQK75222. -[info][2025/06/07 20:31:32]: max requested player vehicles for citizenid JQK75222. -[info][2025/06/07 20:31:42]: max requested save note for citizenid JQK75222. -[info][2025/06/07 20:31:45]: max requested player vehicles for citizenid JQK75222. -[info][2025/06/07 20:31:46]: max requested player with citizenid JQK75222. -[info][2025/06/07 21:00:05]: Login attempt on Dennis from 178.200.177.65 -[info][2025/06/07 21:00:13]: Login attempt on Dennis from 178.200.177.65 -[info][2025/06/07 21:01:21]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/07 21:01:34]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/07 21:02:17]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/07 21:02:26]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/07 21:02:47]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/07 21:02:57]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/07 21:03:42]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/07 21:03:47]: campers requested all users. -[info][2025/06/07 21:04:05]: campers requested password change. -[info][2025/06/07 21:04:14]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/07 22:51:19]: campers requested player with citizenid JQK75222. -[info][2025/06/07 22:51:22]: campers requested change meta for citizenid JQK75222. -[info][2025/06/07 22:51:22]: campers requested player with citizenid JQK75222. -[info][2025/06/07 22:51:23]: campers requested change meta for citizenid JQK75222. -[info][2025/06/07 22:51:23]: campers requested player with citizenid JQK75222. -[info][2025/06/07 22:51:33]: campers requested player with citizenid OHM07543. -[info][2025/06/07 22:51:36]: campers requested change meta for citizenid OHM07543. -[info][2025/06/07 22:51:36]: campers requested player with citizenid OHM07543. -[info][2025/06/07 22:51:37]: campers requested change meta for citizenid OHM07543. -[info][2025/06/07 22:51:37]: campers requested player with citizenid OHM07543. -[info][2025/06/07 22:51:48]: campers requested player with citizenid GNR11868. -[info][2025/06/07 22:51:51]: campers requested change meta for citizenid GNR11868. -[info][2025/06/07 22:51:51]: campers requested player with citizenid GNR11868. -[info][2025/06/08 00:25:12]: Login attempt on Nordi from 85.16.106.125 -[info][2025/06/08 00:42:26]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/08 00:45:59]: Login attempt on Mark from 178.24.230.51 -[info][2025/06/08 00:46:14]: mark requested all users. -[info][2025/06/08 01:49:50]: campers requested player with citizenid DCZ46401. -[info][2025/06/08 01:50:03]: campers requested change charinfo for citizenid DCZ46401. -[info][2025/06/08 01:50:03]: campers requested player with citizenid DCZ46401. -[info][2025/06/08 01:50:16]: campers requested change charinfo for citizenid DCZ46401. -[info][2025/06/08 01:50:16]: campers requested player with citizenid DCZ46401. -[info][2025/06/08 11:56:44]: Login attempt on Mark from 178.24.230.51 -[info][2025/06/08 11:56:48]: mark requested player with citizenid NAJ08324. -[info][2025/06/08 11:56:51]: mark requested change meta for citizenid NAJ08324. -[info][2025/06/08 11:56:52]: mark requested player with citizenid NAJ08324. -[info][2025/06/08 11:56:52]: mark requested change meta for citizenid NAJ08324. -[info][2025/06/08 11:56:52]: mark requested player with citizenid NAJ08324. -[info][2025/06/08 11:56:53]: mark requested heal for citizenid NAJ08324. -[info][2025/06/08 11:56:53]: mark requested player with citizenid NAJ08324. -[info][2025/06/08 11:56:54]: mark requested change meta for citizenid NAJ08324. -[info][2025/06/08 11:56:55]: mark requested player with citizenid NAJ08324. -[info][2025/06/08 11:56:56]: mark requested change meta for citizenid NAJ08324. -[info][2025/06/08 11:56:56]: mark requested player with citizenid NAJ08324. -[info][2025/06/08 17:40:53]: Login attempt on Nordi from 95.33.63.221 -[info][2025/06/08 18:12:39]: Login attempt on Nordi from 95.33.63.221 -[info][2025/06/08 20:01:58]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/08 20:42:25]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/08 20:45:25]: Login attempt on Nordi from 95.33.63.221 -[info][2025/06/08 20:58:48]: Login attempt on Mark from 178.24.230.51 -[info][2025/06/08 20:58:53]: mark requested player with citizenid NAJ08324. -[info][2025/06/08 20:58:56]: mark requested change meta for citizenid NAJ08324. -[info][2025/06/08 20:58:57]: mark requested player with citizenid NAJ08324. -[info][2025/06/08 20:58:57]: mark requested change meta for citizenid NAJ08324. -[info][2025/06/08 20:58:57]: mark requested player with citizenid NAJ08324. -[info][2025/06/08 20:58:58]: mark requested heal for citizenid NAJ08324. -[info][2025/06/08 20:58:58]: mark requested player with citizenid NAJ08324. -[info][2025/06/08 20:58:58]: mark requested heal for citizenid NAJ08324. -[info][2025/06/08 20:58:58]: mark requested player with citizenid NAJ08324. -[info][2025/06/08 21:16:20]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/08 21:48:17]: Login attempt on Nordi from 95.33.63.221 -[info][2025/06/08 23:00:26]: Login attempt on Mark from 178.24.230.51 -[info][2025/06/08 23:24:56]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/09 00:35:03]: campers requested player with citizenid JCQ27225. -[info][2025/06/09 00:35:06]: campers requested screenshot for citizenid JCQ27225. -[info][2025/06/09 00:41:49]: campers requested player with citizenid JCQ27225. -[info][2025/06/09 02:10:16]: Login attempt on Marc from 84.63.194.215 -[info][2025/06/09 02:10:41]: marc requested all players. -[info][2025/06/09 02:10:49]: marc requested player with citizenid CRO67821. -[info][2025/06/09 02:10:51]: marc requested player vehicles for citizenid CRO67821. -[info][2025/06/09 02:11:15]: marc requested all players. -[info][2025/06/09 02:11:19]: marc requested player with citizenid CRO67821. -[info][2025/06/09 02:11:20]: marc requested player vehicles for citizenid CRO67821. -[info][2025/06/09 13:38:49]: Login attempt on Nordi from 95.33.60.23 -[info][2025/06/09 17:03:41]: Login attempt on Mark from 178.24.230.51 -[info][2025/06/09 17:25:06]: mark requested player with citizenid NAJ08324. -[info][2025/06/09 17:25:07]: mark requested player vehicles for citizenid NAJ08324. -[info][2025/06/09 17:25:09]: mark requested vehicle with id 116. -[info][2025/06/09 17:25:13]: mark requested vehicle repair for id 116. -[info][2025/06/09 17:25:13]: mark requested vehicle with id 116. -[info][2025/06/09 17:25:22]: mark requested all vehicles. -[info][2025/06/09 17:25:26]: mark requested vehicle with id 116. -[info][2025/06/09 17:25:38]: mark requested change vehicle garage with id 116. -[info][2025/06/09 17:25:38]: mark requested vehicle with id 116. -[info][2025/06/09 17:25:47]: mark requested Trunk 1FE031QA. -[info][2025/06/09 17:25:50]: mark requested all stashes. -[info][2025/06/09 17:26:26]: mark requested all accounts. -[info][2025/06/09 19:34:29]: mark requested player with citizenid NAJ08324. -[info][2025/06/09 19:34:31]: mark requested change meta for citizenid NAJ08324. -[info][2025/06/09 19:34:31]: mark requested player with citizenid NAJ08324. -[info][2025/06/09 19:34:32]: mark requested change meta for citizenid NAJ08324. -[info][2025/06/09 19:34:32]: mark requested player with citizenid NAJ08324. -[info][2025/06/09 19:34:32]: mark requested heal for citizenid NAJ08324. -[info][2025/06/09 19:34:32]: mark requested player with citizenid NAJ08324. -[info][2025/06/09 22:03:30]: Login attempt on Nordi from 95.33.60.23 -[info][2025/06/09 22:03:32]: Login attempt on Nordi from 95.33.60.23 -[info][2025/06/10 00:05:36]: Login attempt on Nordi from 95.33.60.23 -[info][2025/06/10 00:05:38]: Login attempt on Nordi from 95.33.60.23 -[info][2025/06/10 01:41:20]: Login attempt on Nordi from 85.16.110.134 -[info][2025/06/10 01:49:41]: Login attempt on Nordi from 85.16.110.134 -[info][2025/06/10 03:47:16]: Login attempt on Marc from 84.63.194.215 -[info][2025/06/10 03:47:18]: Login attempt on Marc from 84.63.194.215 -[info][2025/06/10 03:47:30]: marc requested all players. -[info][2025/06/10 12:57:19]: Login attempt on Marc from 84.63.194.215 -[info][2025/06/10 16:03:00]: Login attempt on Nordi from 85.16.110.134 -[info][2025/06/10 18:11:28]: Login attempt on Nordi from 85.16.110.134 -[info][2025/06/10 19:31:15]: Login attempt on Mark from 178.24.230.51 -[info][2025/06/10 19:31:21]: mark requested all users. -[info][2025/06/10 19:36:02]: Login attempt on Nordi from 85.16.110.134 -[info][2025/06/10 20:13:09]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/10 22:22:03]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/10 22:28:07]: Login attempt on Nordi from 85.16.110.134 -[info][2025/06/10 22:28:12]: nordi requested all players. -[info][2025/06/10 22:28:19]: nordi requested player with citizenid KVA51843. -[info][2025/06/10 22:28:21]: nordi requested inventory for citizenid KVA51843. -[info][2025/06/10 22:28:22]: nordi requested item list. -[info][2025/06/10 22:28:26]: nordi requested player with citizenid KVA51843. -[info][2025/06/10 22:28:32]: nordi requested add money cash for citizenid KVA51843. -[info][2025/06/10 22:28:32]: nordi requested player with citizenid KVA51843. -[info][2025/06/10 23:19:47]: campers requested player with citizenid OHM07543. -[info][2025/06/10 23:19:48]: campers requested player vehicles for citizenid OHM07543. -[info][2025/06/10 23:19:52]: nordi requested all players. -[info][2025/06/10 23:19:53]: campers requested vehicle with id 127. -[info][2025/06/10 23:20:04]: nordi requested player with citizenid OHM07543. -[info][2025/06/10 23:20:06]: nordi requested player vehicles for citizenid OHM07543. -[info][2025/06/10 23:20:14]: campers requested player with citizenid OHM07543. -[info][2025/06/10 23:20:14]: nordi requested vehicle with id 126. -[info][2025/06/10 23:20:17]: campers requested player vehicles for citizenid OHM07543. -[info][2025/06/10 23:20:24]: campers requested vehicle with id 127. -[info][2025/06/10 23:20:26]: nordi requested all vehicles. -[info][2025/06/10 23:20:30]: campers requested delete vehicle id 127. -[info][2025/06/10 23:20:31]: campers requested all vehicles. -[info][2025/06/10 23:21:19]: campers requested all players. -[info][2025/06/10 23:21:29]: nordi requested all players. -[info][2025/06/10 23:21:35]: nordi requested player with citizenid JCQ27225. -[info][2025/06/10 23:21:37]: nordi requested inventory for citizenid JCQ27225. -[info][2025/06/10 23:21:42]: nordi requested item list. -[info][2025/06/10 23:21:51]: nordi requested add item for citizenid JCQ27225. -[info][2025/06/10 23:25:19]: campers requested all vehicles. -[info][2025/06/10 23:25:32]: campers requested player with citizenid OHM07543. -[info][2025/06/10 23:25:34]: campers requested player vehicles for citizenid OHM07543. -[info][2025/06/10 23:25:38]: campers requested vehicle with id 129. -[info][2025/06/10 23:25:45]: campers requested delete vehicle id 129. -[info][2025/06/10 23:25:45]: campers requested all vehicles. -[info][2025/06/10 23:25:57]: campers requested player with citizenid OHM07543. -[info][2025/06/10 23:25:59]: campers requested player vehicles for citizenid OHM07543. -[info][2025/06/10 23:26:01]: campers requested vehicle with id 131. -[info][2025/06/10 23:26:05]: campers requested delete vehicle id 131. -[info][2025/06/10 23:26:05]: campers requested all vehicles. -[info][2025/06/10 23:49:53]: Login attempt on Max from 89.247.160.150 -[info][2025/06/10 23:50:00]: Login attempt on Ente from 89.247.160.150 -[info][2025/06/10 23:50:04]: Login attempt on Max from 89.247.160.150 -[info][2025/06/10 23:51:14]: Login attempt on Max from 89.247.160.150 -[info][2025/06/10 23:51:22]: max requested player with citizenid UGO12804. -[info][2025/06/10 23:51:27]: max requested heal for citizenid UGO12804. -[info][2025/06/10 23:51:27]: max requested player with citizenid UGO12804. -[info][2025/06/10 23:51:27]: max requested change meta for citizenid UGO12804. -[info][2025/06/10 23:51:27]: max requested player with citizenid UGO12804. -[info][2025/06/10 23:51:28]: max requested change meta for citizenid UGO12804. -[info][2025/06/10 23:51:28]: max requested player with citizenid UGO12804. -[info][2025/06/10 23:58:31]: campers requested player with citizenid GNR11868. -[info][2025/06/10 23:58:57]: campers requested change charinfo for citizenid GNR11868. -[info][2025/06/10 23:58:57]: campers requested player with citizenid GNR11868. -[info][2025/06/11 01:39:14]: Login attempt on Nordi from 85.16.104.87 -[info][2025/06/11 13:11:54]: Login attempt on Nordi from 85.16.104.87 -[info][2025/06/11 15:22:48]: Login attempt on Nordi from 85.16.104.87 -[info][2025/06/11 18:04:43]: Login attempt on Nordi from 85.16.104.87 -[info][2025/06/11 18:24:48]: Login attempt on voltstromi from 83.77.72.121 -[info][2025/06/11 18:25:32]: Login attempt on voltstromi from 83.77.72.121 -[info][2025/06/11 18:32:10]: voltstromi requested all players. -[info][2025/06/11 18:32:49]: voltstromi requested player with citizenid JCQ27225. -[info][2025/06/11 18:33:00]: voltstromi requested player with citizenid JQK75222. -[info][2025/06/11 18:43:14]: Login attempt on Marc from 84.63.194.215 -[info][2025/06/11 18:43:16]: marc requested all players. -[info][2025/06/11 19:03:11]: Login attempt on Mark from 178.24.230.51 -[info][2025/06/11 19:03:18]: mark requested player with citizenid NAJ08324. -[info][2025/06/11 19:03:19]: mark requested change meta for citizenid NAJ08324. -[info][2025/06/11 19:03:19]: mark requested player with citizenid NAJ08324. -[info][2025/06/11 19:03:20]: mark requested change meta for citizenid NAJ08324. -[info][2025/06/11 19:03:20]: mark requested player with citizenid NAJ08324. -[info][2025/06/11 20:06:14]: voltstromi requested all players. -[info][2025/06/11 20:06:18]: voltstromi requested all players. -[info][2025/06/11 20:06:18]: voltstromi requested all players. -[info][2025/06/11 20:06:19]: voltstromi requested all players. -[info][2025/06/11 21:23:10]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/11 21:29:30]: marc requested all players. -[info][2025/06/11 21:29:39]: marc requested all players. -[info][2025/06/11 21:29:39]: marc requested all players. -[info][2025/06/11 21:29:40]: marc requested all players. -[info][2025/06/11 21:29:41]: marc requested player with citizenid CRO67821. -[info][2025/06/11 21:29:45]: marc requested change meta for citizenid CRO67821. -[info][2025/06/11 21:29:45]: marc requested player with citizenid CRO67821. -[info][2025/06/11 21:29:45]: marc requested change meta for citizenid CRO67821. -[info][2025/06/11 21:29:45]: marc requested player with citizenid CRO67821. -[info][2025/06/11 21:36:56]: nordi requested all players. -[info][2025/06/11 21:37:03]: nordi requested player with citizenid JCQ27225. -[info][2025/06/11 21:37:08]: nordi requested inventory for citizenid JCQ27225. -[info][2025/06/11 21:37:11]: nordi requested player with citizenid JCQ27225. -[info][2025/06/11 21:37:29]: nordi requested add money cash for citizenid JCQ27225. -[info][2025/06/11 21:37:29]: nordi requested player with citizenid JCQ27225. -[info][2025/06/11 22:04:31]: marc requested all players. -[info][2025/06/11 22:04:33]: marc requested all players. -[info][2025/06/11 22:04:33]: marc requested all players. -[info][2025/06/11 22:04:35]: marc requested player with citizenid CRO67821. -[info][2025/06/11 22:04:58]: marc requested add money bank for citizenid CRO67821. -[info][2025/06/11 22:04:58]: marc requested player with citizenid CRO67821. -[info][2025/06/11 22:06:45]: campers requested player with citizenid JCQ27225. -[info][2025/06/11 22:06:47]: campers requested screenshot for citizenid JCQ27225. -[info][2025/06/11 22:06:57]: campers requested screenshot for citizenid JCQ27225. -[info][2025/06/11 22:09:55]: campers requested screenshot for citizenid JCQ27225. -[info][2025/06/11 22:31:57]: campers requested player with citizenid NFS31447. -[info][2025/06/11 22:33:45]: campers requested all players. -[info][2025/06/11 22:52:47]: campers requested player with citizenid JCQ27225. -[info][2025/06/11 22:52:49]: campers requested screenshot for citizenid JCQ27225. -[info][2025/06/11 23:39:53]: campers requested player with citizenid OHM07543. -[info][2025/06/11 23:39:56]: campers requested change meta for citizenid OHM07543. -[info][2025/06/11 23:39:56]: campers requested player with citizenid OHM07543. -[info][2025/06/11 23:39:56]: campers requested change meta for citizenid OHM07543. -[info][2025/06/11 23:39:56]: campers requested player with citizenid OHM07543. -[info][2025/06/11 23:40:01]: campers requested change meta for citizenid OHM07543. -[info][2025/06/11 23:40:01]: campers requested player with citizenid OHM07543. -[info][2025/06/11 23:40:04]: campers requested all players. -[info][2025/06/11 23:40:15]: campers requested player with citizenid UGO12804. -[info][2025/06/11 23:40:18]: campers requested change meta for citizenid UGO12804. -[info][2025/06/11 23:40:18]: campers requested player with citizenid UGO12804. -[info][2025/06/11 23:40:18]: campers requested change meta for citizenid UGO12804. -[info][2025/06/11 23:40:18]: campers requested player with citizenid UGO12804. -[info][2025/06/11 23:40:20]: campers requested all players. -[info][2025/06/11 23:40:37]: campers requested player with citizenid JQK75222. -[info][2025/06/11 23:40:39]: campers requested change meta for citizenid JQK75222. -[info][2025/06/11 23:40:39]: campers requested player with citizenid JQK75222. -[info][2025/06/11 23:40:40]: campers requested change meta for citizenid JQK75222. -[info][2025/06/11 23:40:40]: campers requested player with citizenid JQK75222. -[info][2025/06/11 23:41:42]: marc requested change charinfo for citizenid CRO67821. -[info][2025/06/11 23:41:42]: marc requested player with citizenid CRO67821. -[info][2025/06/12 00:01:17]: campers requested player with citizenid JCQ27225. -[info][2025/06/12 00:01:19]: campers requested screenshot for citizenid JCQ27225. -[info][2025/06/12 00:32:36]: marc requested change meta for citizenid CRO67821. -[info][2025/06/12 00:32:36]: marc requested player with citizenid CRO67821. -[info][2025/06/12 00:32:37]: marc requested change meta for citizenid CRO67821. -[info][2025/06/12 00:32:37]: marc requested player with citizenid CRO67821. -[info][2025/06/12 00:32:43]: marc requested change meta for citizenid CRO67821. -[info][2025/06/12 00:32:43]: marc requested player with citizenid CRO67821. -[info][2025/06/12 01:04:18]: Login attempt on Nordi from 85.16.104.87 -[info][2025/06/12 01:16:26]: Login attempt on Marc from 84.63.194.215 -[info][2025/06/12 01:16:30]: marc requested player with citizenid BCK05564. -[info][2025/06/12 01:16:32]: marc requested player vehicles for citizenid BCK05564. -[info][2025/06/12 01:16:36]: marc requested vehicle with id 139. -[info][2025/06/12 01:16:43]: marc requested vehicle repair for id 139. -[info][2025/06/12 01:16:43]: marc requested vehicle with id 139. -[info][2025/06/12 01:16:50]: marc requested change vehicle garage with id 139. -[info][2025/06/12 01:16:50]: marc requested vehicle with id 139. -[info][2025/06/12 01:16:53]: marc requested player with citizenid BCK05564. -[info][2025/06/12 01:16:56]: marc requested all vehicles. -[info][2025/06/12 01:17:03]: marc requested all vehicles. -[info][2025/06/12 01:17:03]: marc requested all vehicles. -[info][2025/06/12 01:17:05]: marc requested all vehicles. -[info][2025/06/12 01:17:06]: marc requested all vehicles. -[info][2025/06/12 01:17:11]: marc requested all players. -[info][2025/06/12 01:17:42]: marc requested all players. -[info][2025/06/12 01:17:44]: marc requested all players. -[info][2025/06/12 01:17:45]: marc requested player with citizenid KVN10675. -[info][2025/06/12 01:17:47]: marc requested player vehicles for citizenid KVN10675. -[info][2025/06/12 01:17:53]: marc requested vehicle with id 171. -[info][2025/06/12 01:17:54]: marc requested vehicle repair for id 171. -[info][2025/06/12 01:17:54]: marc requested vehicle with id 171. -[info][2025/06/12 01:18:33]: marc requested change vehicle garage with id 171. -[info][2025/06/12 01:18:33]: marc requested vehicle with id 171. -[info][2025/06/12 01:18:37]: marc requested player with citizenid KVN10675. -[info][2025/06/12 01:18:39]: marc requested all players. -[info][2025/06/12 01:18:41]: marc requested all players. -[info][2025/06/12 01:18:42]: marc requested all players. -[info][2025/06/12 01:18:44]: marc requested player with citizenid UGO12804. -[info][2025/06/12 01:18:45]: marc requested player vehicles for citizenid UGO12804. -[info][2025/06/12 01:18:47]: marc requested all players. -[info][2025/06/12 01:18:50]: marc requested player with citizenid NAJ08324. -[info][2025/06/12 01:18:53]: marc requested player vehicles for citizenid NAJ08324. -[info][2025/06/12 01:18:55]: marc requested vehicle with id 116. -[info][2025/06/12 01:18:59]: marc requested player with citizenid NAJ08324. -[info][2025/06/12 01:19:00]: marc requested all players. -[info][2025/06/12 01:19:01]: marc requested all vehicles. -[info][2025/06/12 01:19:03]: marc requested all players. -[info][2025/06/12 01:19:05]: marc requested all players. -[info][2025/06/12 01:19:06]: marc requested player with citizenid KVN10675. -[info][2025/06/12 01:19:08]: marc requested player vehicles for citizenid KVN10675. -[info][2025/06/12 01:19:09]: marc requested vehicle with id 171. -[info][2025/06/12 01:19:12]: marc requested change vehicle garage with id 171. -[info][2025/06/12 01:19:12]: marc requested vehicle with id 171. -[info][2025/06/12 01:19:14]: marc requested player with citizenid KVN10675. -[info][2025/06/12 01:19:16]: marc requested all players. -[info][2025/06/12 01:19:18]: marc requested all players. -[info][2025/06/12 01:19:19]: marc requested all players. -[info][2025/06/12 01:19:20]: marc requested player with citizenid CRO67821. -[info][2025/06/12 01:19:22]: marc requested player vehicles for citizenid CRO67821. -[info][2025/06/12 01:19:24]: marc requested vehicle with id 136. -[info][2025/06/12 01:19:27]: marc requested change vehicle garage with id 136. -[info][2025/06/12 01:19:27]: marc requested vehicle with id 136. -[info][2025/06/12 01:19:28]: marc requested player with citizenid CRO67821. -[info][2025/06/12 01:19:29]: marc requested player vehicles for citizenid CRO67821. -[info][2025/06/12 01:19:31]: marc requested vehicle with id 147. -[info][2025/06/12 01:19:34]: marc requested change vehicle garage with id 147. -[info][2025/06/12 01:19:34]: marc requested vehicle with id 147. -[info][2025/06/12 01:19:35]: marc requested player with citizenid CRO67821. -[info][2025/06/12 01:19:37]: marc requested player vehicles for citizenid CRO67821. -[info][2025/06/12 01:19:38]: marc requested vehicle with id 162. -[info][2025/06/12 01:19:41]: marc requested change vehicle garage with id 162. -[info][2025/06/12 01:19:41]: marc requested vehicle with id 162. -[info][2025/06/12 01:19:43]: marc requested player with citizenid CRO67821. -[info][2025/06/12 01:19:44]: marc requested all players. -[info][2025/06/12 01:19:47]: marc requested all players. -[info][2025/06/12 01:19:47]: marc requested all players. -[info][2025/06/12 01:19:48]: marc requested all players. -[info][2025/06/12 01:19:49]: marc requested player with citizenid BCK05564. -[info][2025/06/12 01:19:52]: marc requested player vehicles for citizenid BCK05564. -[info][2025/06/12 01:19:53]: marc requested vehicle with id 139. -[info][2025/06/12 01:19:56]: marc requested change vehicle garage with id 139. -[info][2025/06/12 01:19:56]: marc requested vehicle with id 139. -[info][2025/06/12 01:19:56]: marc requested vehicle repair for id 139. -[info][2025/06/12 01:19:56]: marc requested vehicle with id 139. -[info][2025/06/12 01:19:58]: marc requested player with citizenid BCK05564. -[info][2025/06/12 01:19:59]: marc requested all players. -[info][2025/06/12 01:20:01]: marc requested all players. -[info][2025/06/12 01:20:02]: marc requested all players. -[info][2025/06/12 01:20:03]: marc requested player with citizenid CRO67821. -[info][2025/06/12 01:20:05]: marc requested player vehicles for citizenid CRO67821. -[info][2025/06/12 01:20:06]: marc requested vehicle with id 136. -[info][2025/06/12 01:20:07]: marc requested vehicle repair for id 136. -[info][2025/06/12 01:20:07]: marc requested vehicle with id 136. -[info][2025/06/12 01:20:09]: marc requested player with citizenid CRO67821. -[info][2025/06/12 01:20:10]: marc requested player vehicles for citizenid CRO67821. -[info][2025/06/12 01:20:12]: marc requested vehicle with id 147. -[info][2025/06/12 01:20:13]: marc requested vehicle repair for id 147. -[info][2025/06/12 01:20:13]: marc requested vehicle with id 147. -[info][2025/06/12 01:20:14]: marc requested player with citizenid CRO67821. -[info][2025/06/12 01:20:16]: marc requested player vehicles for citizenid CRO67821. -[info][2025/06/12 01:20:20]: marc requested vehicle with id 162. -[info][2025/06/12 01:20:20]: marc requested vehicle repair for id 162. -[info][2025/06/12 01:20:20]: marc requested vehicle with id 162. -[info][2025/06/12 01:20:21]: marc requested player with citizenid CRO67821. -[info][2025/06/12 01:20:23]: marc requested all players. -[info][2025/06/12 01:20:25]: marc requested all vehicles. -[info][2025/06/12 01:20:27]: marc requested all players. -[info][2025/06/12 01:20:29]: marc requested all players. -[info][2025/06/12 01:20:30]: marc requested player with citizenid KVN10675. -[info][2025/06/12 01:20:32]: marc requested player vehicles for citizenid KVN10675. -[info][2025/06/12 01:20:34]: marc requested vehicle with id 171. -[info][2025/06/12 01:20:34]: marc requested vehicle repair for id 171. -[info][2025/06/12 01:20:34]: marc requested vehicle with id 171. -[info][2025/06/12 01:31:38]: nordi requested all vehicles. -[info][2025/06/12 01:31:40]: nordi requested all players. -[info][2025/06/12 01:31:43]: nordi requested player with citizenid QZA16540. -[info][2025/06/12 01:31:48]: nordi requested screenshot for citizenid QZA16540. -[info][2025/06/12 01:32:09]: nordi requested screenshot for citizenid QZA16540. -[info][2025/06/12 01:32:52]: nordi requested all players. -[info][2025/06/12 01:32:58]: nordi requested all players. -[info][2025/06/12 01:33:02]: nordi requested player with citizenid CRO67821. -[info][2025/06/12 01:33:04]: nordi requested screenshot for citizenid CRO67821. -[info][2025/06/12 01:33:11]: nordi requested inventory for citizenid CRO67821. -[info][2025/06/12 02:41:51]: marc requested all players. -[info][2025/06/12 02:41:56]: marc requested all players. -[info][2025/06/12 02:41:56]: marc requested all players. -[info][2025/06/12 02:41:58]: marc requested player with citizenid CRO67821. -[info][2025/06/12 02:42:08]: marc requested change charinfo for citizenid CRO67821. -[info][2025/06/12 02:42:08]: marc requested player with citizenid CRO67821. -[info][2025/06/12 04:01:17]: Login attempt on Nordi from 91.248.234.157 -[info][2025/06/12 04:01:18]: Login attempt on Nordi from 91.248.234.157 -[info][2025/06/12 14:01:59]: Login attempt on Nordi from 91.248.234.157 -[info][2025/06/12 14:02:04]: Login attempt on Nordi from 91.248.234.157 -[info][2025/06/12 17:17:51]: Login attempt on Nordi from 91.248.234.157 -[info][2025/06/12 17:17:52]: Login attempt on Nordi from 91.248.234.157 -[info][2025/06/12 17:38:11]: Login attempt on Nordi from 91.248.234.157 -[info][2025/06/12 17:38:13]: Login attempt on Nordi from 91.248.234.157 -[info][2025/06/12 17:41:11]: Login attempt on Nordi from 91.248.234.157 -[info][2025/06/12 17:41:12]: Login attempt on Nordi from 91.248.234.157 -[info][2025/06/12 21:10:08]: Login attempt on Max from 89.247.160.145 -[info][2025/06/12 21:10:18]: max requested player with citizenid UGO12804. -[info][2025/06/12 21:10:22]: max requested change meta for citizenid UGO12804. -[info][2025/06/12 21:10:22]: max requested player with citizenid UGO12804. -[info][2025/06/12 21:10:23]: max requested change meta for citizenid UGO12804. -[info][2025/06/12 21:10:23]: max requested player with citizenid UGO12804. -[info][2025/06/12 21:10:32]: max requested player with citizenid OUM83660. -[info][2025/06/12 21:10:36]: max requested change meta for citizenid OUM83660. -[info][2025/06/12 21:10:36]: max requested player with citizenid OUM83660. -[info][2025/06/12 21:10:37]: max requested change meta for citizenid OUM83660. -[info][2025/06/12 21:10:37]: max requested player with citizenid OUM83660. -[info][2025/06/12 21:10:46]: max requested player with citizenid BJS65758. -[info][2025/06/12 21:10:50]: max requested change meta for citizenid BJS65758. -[info][2025/06/12 21:10:50]: max requested player with citizenid BJS65758. -[info][2025/06/12 21:10:51]: max requested change meta for citizenid BJS65758. -[info][2025/06/12 21:10:51]: max requested player with citizenid BJS65758. -[info][2025/06/12 21:11:02]: max requested player with citizenid GNR11868. -[info][2025/06/12 21:11:06]: max requested change meta for citizenid GNR11868. -[info][2025/06/12 21:11:06]: max requested player with citizenid GNR11868. -[info][2025/06/12 21:11:06]: max requested change meta for citizenid GNR11868. -[info][2025/06/12 21:11:06]: max requested player with citizenid GNR11868. -[info][2025/06/12 21:11:16]: max requested player with citizenid MID28531. -[info][2025/06/12 21:11:22]: max requested change meta for citizenid MID28531. -[info][2025/06/12 21:11:22]: max requested player with citizenid MID28531. -[info][2025/06/12 21:11:23]: max requested change meta for citizenid MID28531. -[info][2025/06/12 21:11:23]: max requested player with citizenid MID28531. -[info][2025/06/12 21:15:45]: Login attempt on Nordi from 91.248.234.157 -[info][2025/06/12 22:11:37]: nordi requested all players. -[info][2025/06/12 22:11:46]: nordi requested all players. -[info][2025/06/12 22:11:49]: nordi requested player with citizenid OUM83660. -[info][2025/06/12 22:12:06]: nordi requested add money bank for citizenid OUM83660. -[info][2025/06/12 22:12:06]: nordi requested player with citizenid OUM83660. -[info][2025/06/12 22:12:16]: nordi requested all players. -[info][2025/06/12 23:21:23]: Login attempt on Nordi from 91.248.234.157 -[info][2025/06/12 23:32:22]: nordi requested all players. -[info][2025/06/12 23:32:30]: nordi requested all players. -[info][2025/06/12 23:32:35]: nordi requested all players. -[info][2025/06/12 23:32:35]: nordi requested all players. -[info][2025/06/12 23:32:36]: nordi requested player with citizenid JCQ27225. -[info][2025/06/12 23:32:37]: nordi requested player vehicles for citizenid JCQ27225. -[info][2025/06/12 23:32:44]: nordi requested vehicle with id 121. -[info][2025/06/12 23:32:48]: Login attempt on Mark from 178.24.230.51 -[info][2025/06/12 23:32:51]: mark requested all vehicles. -[info][2025/06/12 23:32:53]: nordi requested despawn vehicle with plate 2DD607NW id 121. -[info][2025/06/12 23:33:15]: nordi requested despawn vehicle with plate 2DD607NW id 121. -[info][2025/06/12 23:33:21]: mark requested vehicle with id 169. -[info][2025/06/12 23:33:39]: nordi requested change vehicle garage with id 121. -[info][2025/06/12 23:33:39]: nordi requested vehicle with id 121. -[info][2025/06/12 23:34:04]: mark requested change vehicle garage with id 169. -[info][2025/06/12 23:34:04]: mark requested vehicle with id 169. -[info][2025/06/12 23:34:06]: mark requested all vehicles. -[info][2025/06/12 23:34:10]: nordi requested all vehicles. -[info][2025/06/12 23:34:23]: nordi requested all players. -[info][2025/06/12 23:34:26]: nordi requested all players. -[info][2025/06/12 23:34:28]: nordi requested player with citizenid JCQ27225. -[info][2025/06/12 23:34:31]: nordi requested player vehicles for citizenid JCQ27225. -[info][2025/06/13 00:19:25]: nordi requested all vehicles. -[info][2025/06/13 00:19:30]: nordi requested all vehicles. -[info][2025/06/13 00:19:31]: nordi requested all vehicles. -[info][2025/06/13 00:19:32]: nordi requested all vehicles. -[info][2025/06/13 00:19:33]: nordi requested all vehicles. -[info][2025/06/13 00:19:34]: nordi requested all vehicles. -[info][2025/06/13 00:19:36]: nordi requested all vehicles. -[info][2025/06/13 00:19:37]: nordi requested all vehicles. -[info][2025/06/13 00:19:37]: nordi requested all vehicles. -[info][2025/06/13 00:19:39]: nordi requested all vehicles. -[info][2025/06/13 00:19:41]: nordi requested all players. -[info][2025/06/13 00:19:42]: nordi requested all players. -[info][2025/06/13 00:19:43]: nordi requested all players. -[info][2025/06/13 00:19:46]: nordi requested player with citizenid MID28531. -[info][2025/06/13 00:19:48]: nordi requested player vehicles for citizenid MID28531. -[info][2025/06/13 00:19:50]: nordi requested vehicle with id 174. -[info][2025/06/13 00:19:52]: nordi requested vehicle repair for id 174. -[info][2025/06/13 00:19:52]: nordi requested vehicle with id 174. -[info][2025/06/13 00:19:53]: nordi requested vehicle repair for id 174. -[info][2025/06/13 00:19:53]: nordi requested vehicle with id 174. -[info][2025/06/13 00:19:54]: nordi requested vehicle repair for id 174. -[info][2025/06/13 00:19:54]: nordi requested vehicle with id 174. -[info][2025/06/13 00:19:54]: nordi requested vehicle repair for id 174. -[info][2025/06/13 00:19:54]: nordi requested vehicle with id 174. -[info][2025/06/13 00:19:55]: nordi requested vehicle repair for id 174. -[info][2025/06/13 00:19:55]: nordi requested vehicle with id 174. -[info][2025/06/13 00:19:56]: nordi requested vehicle repair for id 174. -[info][2025/06/13 00:19:56]: nordi requested vehicle with id 174. -[info][2025/06/13 00:19:56]: nordi requested vehicle repair for id 174. -[info][2025/06/13 00:19:56]: nordi requested vehicle with id 174. -[info][2025/06/13 00:19:57]: nordi requested vehicle repair for id 174. -[info][2025/06/13 00:19:57]: nordi requested vehicle with id 174. -[info][2025/06/13 00:19:57]: nordi requested vehicle repair for id 174. -[info][2025/06/13 00:19:57]: nordi requested vehicle with id 174. -[info][2025/06/13 00:19:57]: nordi requested vehicle repair for id 174. -[info][2025/06/13 00:19:57]: nordi requested vehicle with id 174. -[info][2025/06/13 00:19:57]: nordi requested vehicle repair for id 174. -[info][2025/06/13 00:19:58]: nordi requested vehicle with id 174. -[info][2025/06/13 00:19:58]: nordi requested vehicle repair for id 174. -[info][2025/06/13 00:19:58]: nordi requested vehicle with id 174. -[info][2025/06/13 00:19:58]: nordi requested vehicle repair for id 174. -[info][2025/06/13 00:19:58]: nordi requested vehicle with id 174. -[info][2025/06/13 00:19:58]: nordi requested vehicle repair for id 174. -[info][2025/06/13 00:19:58]: nordi requested vehicle with id 174. -[info][2025/06/13 00:19:58]: nordi requested vehicle repair for id 174. -[info][2025/06/13 00:19:58]: nordi requested vehicle with id 174. -[info][2025/06/13 00:19:58]: nordi requested vehicle repair for id 174. -[info][2025/06/13 00:19:58]: nordi requested vehicle with id 174. -[info][2025/06/13 00:19:59]: nordi requested vehicle repair for id 174. -[info][2025/06/13 00:19:59]: nordi requested vehicle with id 174. -[info][2025/06/13 00:19:59]: nordi requested vehicle repair for id 174. -[info][2025/06/13 00:19:59]: nordi requested vehicle with id 174. -[info][2025/06/13 00:20:00]: nordi requested vehicle repair for id 174. -[info][2025/06/13 00:20:00]: nordi requested vehicle with id 174. -[info][2025/06/13 00:20:00]: nordi requested vehicle repair for id 174. -[info][2025/06/13 00:20:00]: nordi requested vehicle with id 174. -[info][2025/06/13 00:20:00]: nordi requested vehicle repair for id 174. -[info][2025/06/13 00:20:00]: nordi requested vehicle with id 174. -[info][2025/06/13 00:20:01]: nordi requested vehicle repair for id 174. -[info][2025/06/13 00:20:01]: nordi requested vehicle with id 174. -[info][2025/06/13 00:20:01]: nordi requested vehicle repair for id 174. -[info][2025/06/13 00:20:01]: nordi requested vehicle with id 174. -[info][2025/06/13 00:20:01]: nordi requested vehicle repair for id 174. -[info][2025/06/13 00:20:01]: nordi requested vehicle with id 174. -[info][2025/06/13 00:20:01]: nordi requested vehicle repair for id 174. -[info][2025/06/13 00:20:01]: nordi requested vehicle with id 174. -[info][2025/06/13 00:20:02]: nordi requested vehicle repair for id 174. -[info][2025/06/13 00:20:02]: nordi requested vehicle with id 174. -[info][2025/06/13 00:20:02]: nordi requested vehicle repair for id 174. -[info][2025/06/13 00:20:02]: nordi requested vehicle with id 174. -[info][2025/06/13 00:20:02]: nordi requested vehicle repair for id 174. -[info][2025/06/13 00:20:02]: nordi requested vehicle with id 174. -[info][2025/06/13 00:20:02]: nordi requested vehicle repair for id 174. -[info][2025/06/13 00:20:02]: nordi requested vehicle with id 174. -[info][2025/06/13 00:20:02]: nordi requested vehicle repair for id 174. -[info][2025/06/13 00:20:02]: nordi requested vehicle with id 174. -[info][2025/06/13 00:20:05]: nordi requested despawn vehicle with plate 9XM921EZ id 174. -[info][2025/06/13 01:26:40]: nordi requested all vehicles. -[info][2025/06/13 01:52:41]: nordi requested all players. -[info][2025/06/13 01:52:44]: nordi requested all players. -[info][2025/06/13 01:52:44]: nordi requested all players. -[info][2025/06/13 01:52:46]: nordi requested player with citizenid JCQ27225. -[info][2025/06/13 01:52:47]: nordi requested player vehicles for citizenid JCQ27225. -[info][2025/06/13 01:53:11]: nordi requested player with citizenid JCQ27225. -[info][2025/06/13 01:53:14]: nordi requested player vehicles for citizenid JCQ27225. -[info][2025/06/13 01:53:22]: nordi requested vehicle with id 167. -[info][2025/06/13 01:53:55]: nordi requested change vehicle garage with id 167. -[info][2025/06/13 01:53:55]: nordi requested vehicle with id 167. -[info][2025/06/13 01:54:24]: nordi requested change vehicle garage with id 167. -[info][2025/06/13 01:54:25]: nordi requested vehicle with id 167. -[info][2025/06/13 01:54:36]: nordi requested change vehicle garage with id 167. -[info][2025/06/13 01:54:36]: nordi requested vehicle with id 167. -[info][2025/06/13 01:55:44]: Login attempt on Marc from 84.63.194.215 -[info][2025/06/13 01:55:46]: marc requested all players. -[info][2025/06/13 01:56:06]: marc requested all players. -[info][2025/06/13 01:56:16]: marc requested all players. -[info][2025/06/13 01:56:28]: marc requested all players. -[info][2025/06/13 01:56:29]: marc requested all players. -[info][2025/06/13 01:56:30]: marc requested all players. -[info][2025/06/13 01:56:36]: marc requested player with citizenid BJS65758. -[info][2025/06/13 01:57:02]: marc requested add money cash for citizenid BJS65758. -[info][2025/06/13 01:57:02]: marc requested player with citizenid BJS65758. -[info][2025/06/13 01:57:07]: marc requested all players. -[info][2025/06/13 01:57:11]: marc requested all players. -[info][2025/06/13 01:57:11]: marc requested all players. -[info][2025/06/13 01:57:18]: marc requested player with citizenid MID28531. -[info][2025/06/13 01:57:25]: marc requested add money cash for citizenid MID28531. -[info][2025/06/13 01:57:25]: marc requested player with citizenid MID28531. -[info][2025/06/13 01:58:44]: nordi requested all vehicles. -[info][2025/06/13 02:00:59]: Login attempt on Nordi from 95.33.57.169 -[info][2025/06/13 04:58:21]: Login attempt on Marc from 84.63.194.215 -[info][2025/06/13 04:58:24]: marc requested all players. -[info][2025/06/13 04:58:26]: marc requested all players. -[info][2025/06/13 04:58:26]: marc requested all players. -[info][2025/06/13 04:58:28]: marc requested player with citizenid CRO67821. -[info][2025/06/13 04:58:30]: marc requested change meta for citizenid CRO67821. -[info][2025/06/13 04:58:30]: marc requested player with citizenid CRO67821. -[info][2025/06/13 04:58:30]: marc requested change meta for citizenid CRO67821. -[info][2025/06/13 04:58:30]: marc requested player with citizenid CRO67821. -[info][2025/06/13 04:58:31]: marc requested change meta for citizenid CRO67821. -[info][2025/06/13 04:58:32]: marc requested player with citizenid CRO67821. -[info][2025/06/13 04:58:34]: marc requested change meta for citizenid CRO67821. -[info][2025/06/13 04:58:34]: marc requested player with citizenid CRO67821. -[info][2025/06/13 13:40:45]: marc requested player with citizenid CRO67821. -[info][2025/06/13 13:44:05]: marc requested all players. -[info][2025/06/13 13:44:07]: marc requested all players. -[info][2025/06/13 13:44:08]: marc requested all players. -[info][2025/06/13 13:44:10]: marc requested player with citizenid PEM05356. -[info][2025/06/13 13:44:26]: marc requested add money bank for citizenid PEM05356. -[info][2025/06/13 13:44:32]: marc requested player with citizenid PEM05356. -[info][2025/06/13 17:27:38]: Login attempt on Mark from 178.24.230.51 -[info][2025/06/13 17:29:10]: mark requested all vehicles. -[info][2025/06/13 17:29:33]: mark requested all vehicles. -[info][2025/06/13 17:29:34]: mark requested all players. -[info][2025/06/13 17:29:38]: mark requested all vehicles. -[info][2025/06/13 17:29:55]: mark requested player with citizenid CRO67821. -[info][2025/06/13 17:30:23]: mark requested player vehicles for citizenid CRO67821. -[info][2025/06/13 17:30:27]: mark requested vehicle with id 136. -[info][2025/06/13 17:30:30]: mark requested all vehicles. -[info][2025/06/13 17:30:32]: mark requested vehicle with id 183. -[info][2025/06/13 17:30:49]: Login attempt on Mark from 178.24.230.51 -[info][2025/06/13 21:53:07]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/13 23:09:00]: campers requested all players. -[info][2025/06/13 23:09:15]: campers requested player with citizenid GNR11868. -[info][2025/06/13 23:09:16]: campers requested player vehicles for citizenid GNR11868. -[info][2025/06/13 23:09:19]: campers requested vehicle with id 194. -[info][2025/06/13 23:09:21]: campers requested vehicle repair for id 194. -[info][2025/06/13 23:09:21]: campers requested vehicle with id 194. -[info][2025/06/13 23:09:26]: campers requested despawn vehicle with plate 1DF647HW id 194. -[info][2025/06/13 23:10:35]: Login attempt on Max from 89.247.160.132 -[info][2025/06/13 23:10:43]: max requested player with citizenid UGO12804. -[info][2025/06/13 23:10:48]: max requested change meta for citizenid UGO12804. -[info][2025/06/13 23:10:48]: max requested player with citizenid UGO12804. -[info][2025/06/13 23:10:48]: max requested change meta for citizenid UGO12804. -[info][2025/06/13 23:10:48]: max requested player with citizenid UGO12804. -[info][2025/06/13 23:15:40]: campers requested player with citizenid OHM07543. -[info][2025/06/13 23:15:44]: campers requested player vehicles for citizenid OHM07543. -[info][2025/06/13 23:16:32]: campers requested all players. -[info][2025/06/13 23:16:38]: campers requested player with citizenid GNR11868. -[info][2025/06/13 23:16:42]: campers requested player vehicles for citizenid GNR11868. -[info][2025/06/13 23:17:02]: campers requested vehicle with id 194. -[info][2025/06/13 23:17:03]: campers requested player with citizenid GNR11868. -[info][2025/06/13 23:17:06]: campers requested player vehicles for citizenid GNR11868. -[info][2025/06/13 23:17:09]: campers requested vehicle with id 133. -[info][2025/06/13 23:17:11]: campers requested player with citizenid GNR11868. -[info][2025/06/13 23:17:42]: campers requested all vehicles. -[info][2025/06/14 00:51:17]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/14 00:51:24]: campers requested player with citizenid GNR11868. -[info][2025/06/14 00:51:27]: campers requested screenshot for citizenid GNR11868. -[info][2025/06/14 01:48:36]: campers requested player with citizenid GNR11868. -[info][2025/06/14 01:48:45]: campers requested player with citizenid OHM07543. -[info][2025/06/14 01:48:46]: campers requested player vehicles for citizenid OHM07543. -[info][2025/06/14 01:48:51]: campers requested vehicle with id 199. -[info][2025/06/14 01:48:55]: campers requested despawn vehicle with plate 2QA050GR id 199. -[info][2025/06/14 01:48:57]: campers requested all vehicles. -[info][2025/06/14 01:49:04]: campers requested player with citizenid OHM07543. -[info][2025/06/14 01:49:06]: campers requested player vehicles for citizenid OHM07543. -[info][2025/06/14 01:49:12]: campers requested vehicle with id 198. -[info][2025/06/14 01:49:15]: campers requested despawn vehicle with plate 9BT068RL id 198. -[info][2025/06/14 01:49:24]: campers requested delete vehicle id 198. -[info][2025/06/14 01:49:25]: campers requested all vehicles. -[info][2025/06/14 01:49:34]: campers requested player with citizenid OHM07543. -[info][2025/06/14 01:49:36]: campers requested player vehicles for citizenid OHM07543. -[info][2025/06/14 02:30:01]: campers requested player with citizenid OHM07543. -[info][2025/06/14 17:57:34]: Login attempt on Nordi from 91.248.232.131 -[info][2025/06/14 21:42:47]: Login attempt on Nordi from 91.248.232.131 -[info][2025/06/14 21:48:16]: nordi requested all players. -[info][2025/06/14 21:48:19]: nordi requested player with citizenid PEM05356. -[info][2025/06/14 21:48:20]: nordi requested player vehicles for citizenid PEM05356. -[info][2025/06/14 21:48:26]: nordi requested vehicle with id 203. -[info][2025/06/14 21:48:31]: nordi requested despawn vehicle with plate 7KI299KE id 203. -[info][2025/06/14 21:48:33]: nordi requested all vehicles. -[info][2025/06/14 21:48:37]: nordi requested all players. -[info][2025/06/14 21:48:39]: nordi requested player with citizenid PEM05356. -[info][2025/06/14 21:48:40]: nordi requested player vehicles for citizenid PEM05356. -[info][2025/06/14 21:48:49]: nordi requested vehicle with id 180. -[info][2025/06/14 21:48:56]: nordi requested despawn vehicle with plate 4ZG626VI id 180. -[info][2025/06/14 21:48:58]: nordi requested player with citizenid PEM05356. -[info][2025/06/14 21:49:00]: nordi requested player vehicles for citizenid PEM05356. -[info][2025/06/14 21:49:04]: nordi requested vehicle with id 175. -[info][2025/06/14 21:49:07]: nordi requested despawn vehicle with plate 2UY074SJ id 175. -[info][2025/06/14 21:49:10]: nordi requested player with citizenid PEM05356. -[info][2025/06/14 21:58:42]: nordi requested all players. -[info][2025/06/14 22:24:25]: nordi requested all vehicles. -[info][2025/06/14 22:24:27]: nordi requested all players. -[info][2025/06/14 22:24:30]: nordi requested player with citizenid JCQ27225. -[info][2025/06/14 22:24:32]: nordi requested player vehicles for citizenid JCQ27225. -[info][2025/06/14 22:24:37]: nordi requested vehicle with id 122. -[info][2025/06/14 22:24:39]: nordi requested delete vehicle id 122. -[info][2025/06/14 22:24:40]: nordi requested all vehicles. -[info][2025/06/14 23:13:51]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/14 23:32:07]: campers requested player with citizenid NFS31447. -[info][2025/06/14 23:32:09]: campers requested screenshot for citizenid NFS31447. -[info][2025/06/14 23:32:15]: campers requested screenshot for citizenid NFS31447. -[info][2025/06/14 23:50:06]: campers requested screenshot for citizenid NFS31447. -[info][2025/06/14 23:50:11]: campers requested screenshot for citizenid NFS31447. -[info][2025/06/14 23:53:58]: campers requested player with citizenid DWK58991. -[info][2025/06/14 23:54:05]: campers requested screenshot for citizenid DWK58991. -[info][2025/06/14 23:54:17]: campers requested player with citizenid NFS31447. -[info][2025/06/14 23:54:18]: campers requested screenshot for citizenid NFS31447. -[info][2025/06/14 23:56:32]: campers requested player with citizenid BJS65758. -[info][2025/06/14 23:56:33]: campers requested screenshot for citizenid BJS65758. -[info][2025/06/14 23:56:44]: campers requested screenshot for citizenid BJS65758. -[info][2025/06/15 00:33:35]: nordi requested all players. -[info][2025/06/15 00:33:41]: nordi requested player with citizenid KOK33025. -[info][2025/06/15 00:33:51]: nordi requested add money cash for citizenid KOK33025. -[info][2025/06/15 00:33:51]: nordi requested player with citizenid KOK33025. -[info][2025/06/15 00:34:11]: nordi requested all players. -[info][2025/06/15 01:00:43]: Login attempt on Max from 89.247.160.142 -[info][2025/06/15 01:43:12]: campers requested player with citizenid IEW49376. -[info][2025/06/15 01:43:27]: campers requested set money bank for citizenid IEW49376. -[info][2025/06/15 01:43:27]: campers requested player with citizenid IEW49376. -[info][2025/06/15 01:43:32]: campers requested set money cash for citizenid IEW49376. -[info][2025/06/15 01:43:32]: campers requested player with citizenid IEW49376. -[info][2025/06/15 01:48:32]: campers requested player with citizenid IEW49376. -[info][2025/06/15 01:48:36]: campers requested player with citizenid OHM07543. -[info][2025/06/15 01:48:39]: campers requested change meta for citizenid OHM07543. -[info][2025/06/15 01:48:39]: campers requested player with citizenid OHM07543. -[info][2025/06/15 01:48:39]: campers requested change meta for citizenid OHM07543. -[info][2025/06/15 01:48:39]: campers requested player with citizenid OHM07543. -[info][2025/06/15 01:57:44]: campers requested all accounts. -[info][2025/06/15 01:57:51]: campers requested all accounts. -[info][2025/06/15 01:58:00]: campers requested player with citizenid NUL11496. -[info][2025/06/15 01:58:10]: campers requested all accounts. -[info][2025/06/15 01:58:18]: campers requested all players. -[info][2025/06/15 01:58:25]: campers requested all players. -[info][2025/06/15 02:36:50]: nordi requested all players. -[info][2025/06/15 02:36:57]: nordi requested player with citizenid NUL11496. -[info][2025/06/15 02:37:12]: nordi requested add money cash for citizenid NUL11496. -[info][2025/06/15 02:37:12]: nordi requested player with citizenid NUL11496. -[info][2025/06/15 03:03:58]: Login attempt on Nordi from 80.228.184.159 -[info][2025/06/15 04:05:33]: Login attempt on Max from 89.247.160.142 -[info][2025/06/15 04:05:42]: max requested player with citizenid UGO12804. -[info][2025/06/15 04:05:46]: max requested change meta for citizenid UGO12804. -[info][2025/06/15 04:05:46]: max requested player with citizenid UGO12804. -[info][2025/06/15 04:05:47]: max requested change meta for citizenid UGO12804. -[info][2025/06/15 04:05:47]: max requested player with citizenid UGO12804. -[info][2025/06/15 04:36:49]: Login attempt on Nordi from 80.228.184.159 -[info][2025/06/15 04:36:50]: Login attempt on Nordi from 80.228.184.159 -[info][2025/06/15 04:57:59]: Login attempt on Nordi from 80.228.184.159 -[info][2025/06/15 05:22:35]: Login attempt on Nordi from 80.228.184.159 -[info][2025/06/15 19:45:55]: Login attempt on Marc from 84.63.194.215 -[info][2025/06/15 20:52:19]: Login attempt on Nordi from 80.228.184.159 -[info][2025/06/15 21:39:59]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/15 21:40:04]: campers requested player with citizenid JCQ27225. -[info][2025/06/15 21:40:15]: campers requested screenshot for citizenid JCQ27225. -[info][2025/06/15 22:24:36]: Login attempt on Nordi from 80.228.184.159 -[info][2025/06/16 16:57:55]: Login attempt on Marc from 84.63.194.215 -[info][2025/06/16 20:06:15]: marc requested all players. -[info][2025/06/16 20:42:47]: Login attempt on Nordi from 85.16.108.99 -[info][2025/06/16 21:56:10]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/17 02:07:34]: campers requested player with citizenid BTS80865. -[info][2025/06/17 02:07:36]: campers requested screenshot for citizenid BTS80865. -[info][2025/06/17 02:14:24]: campers requested player with citizenid BJS65758. -[info][2025/06/17 02:14:26]: campers requested screenshot for citizenid BJS65758. -[info][2025/06/17 14:54:53]: Login attempt on Marc from 84.63.194.215 -[info][2025/06/17 14:55:13]: Login attempt on Rockit from 5.146.196.37 -[info][2025/06/17 14:56:03]: rockit requested player with citizenid DYW89109. -[info][2025/06/17 14:56:06]: rockit requested change meta for citizenid DYW89109. -[info][2025/06/17 14:56:06]: rockit requested player with citizenid DYW89109. -[info][2025/06/17 14:56:06]: rockit requested change meta for citizenid DYW89109. -[info][2025/06/17 14:56:06]: rockit requested player with citizenid DYW89109. -[info][2025/06/17 15:00:58]: Login attempt on Rockit from 5.146.196.37 -[info][2025/06/17 15:20:09]: rockit requested player with citizenid DYW89109. -[info][2025/06/17 15:20:12]: rockit requested player vehicles for citizenid DYW89109. -[info][2025/06/17 15:20:18]: rockit requested vehicle with id 132. -[info][2025/06/17 15:20:22]: rockit requested despawn vehicle with plate 9ZF000FI id 132. -[info][2025/06/17 15:20:36]: rockit requested player with citizenid DYW89109. -[info][2025/06/17 15:20:41]: rockit requested player vehicles for citizenid DYW89109. -[info][2025/06/17 15:20:43]: rockit requested vehicle with id 132. -[info][2025/06/17 15:20:46]: rockit requested despawn vehicle with plate 9ZF000FI id 132. -[info][2025/06/17 15:35:07]: rockit requested player with citizenid DYW89109. -[info][2025/06/17 15:35:10]: rockit requested heal for citizenid DYW89109. -[info][2025/06/17 15:35:10]: rockit requested player with citizenid DYW89109. -[info][2025/06/17 15:35:12]: rockit requested change meta for citizenid DYW89109. -[info][2025/06/17 15:35:12]: rockit requested player with citizenid DYW89109. -[info][2025/06/17 15:35:13]: rockit requested change meta for citizenid DYW89109. -[info][2025/06/17 15:35:13]: rockit requested player with citizenid DYW89109. -[info][2025/06/17 15:37:03]: rockit requested player with citizenid WEQ57654. -[info][2025/06/17 15:37:06]: rockit requested change jobs. -[info][2025/06/17 16:00:22]: Login attempt on Marc from 84.63.194.215 -[info][2025/06/17 16:00:24]: marc requested all vehicles. -[info][2025/06/17 16:31:54]: marc requested all vehicles. -[info][2025/06/17 16:32:00]: marc requested all players. -[info][2025/06/17 16:32:09]: marc requested all players. -[info][2025/06/17 16:32:09]: marc requested all players. -[info][2025/06/17 16:32:10]: marc requested player with citizenid CRO67821. -[info][2025/06/17 16:32:11]: marc requested player vehicles for citizenid CRO67821. -[info][2025/06/17 16:32:15]: marc requested vehicle with id 147. -[info][2025/06/17 16:32:27]: marc requested change vehicle garage with id 147. -[info][2025/06/17 16:32:27]: marc requested vehicle with id 147. -[info][2025/06/17 16:32:42]: marc requested change vehicle garage with id 147. -[info][2025/06/17 16:32:42]: marc requested vehicle with id 147. -[info][2025/06/17 16:32:48]: marc requested player with citizenid CRO67821. -[info][2025/06/17 16:32:49]: marc requested player vehicles for citizenid CRO67821. -[info][2025/06/17 16:32:51]: marc requested vehicle with id 162. -[info][2025/06/17 16:32:58]: marc requested player with citizenid CRO67821. -[info][2025/06/17 16:32:59]: marc requested player vehicles for citizenid CRO67821. -[info][2025/06/17 16:33:02]: marc requested vehicle with id 136. -[info][2025/06/17 16:33:06]: marc requested player with citizenid CRO67821. -[info][2025/06/17 16:33:40]: marc requested all players. -[info][2025/06/17 16:33:42]: marc requested all players. -[info][2025/06/17 16:33:43]: marc requested all players. -[info][2025/06/17 16:33:44]: marc requested player with citizenid CRO67821. -[info][2025/06/17 16:33:44]: marc requested player vehicles for citizenid CRO67821. -[info][2025/06/17 16:33:46]: marc requested vehicle with id 162. -[info][2025/06/17 16:34:12]: marc requested change vehicle plate for id 162 (9ZQ442NF). -[info][2025/06/17 16:34:12]: marc requested vehicle with id 162. -[info][2025/06/17 16:34:23]: marc requested change vehicle plate for id 162 (488BOSS). -[info][2025/06/17 16:34:23]: marc requested vehicle with id 162. -[info][2025/06/17 16:34:29]: marc requested player with citizenid CRO67821. -[info][2025/06/17 16:34:30]: marc requested player vehicles for citizenid CRO67821. -[info][2025/06/17 16:34:32]: marc requested vehicle with id 147. -[info][2025/06/17 16:34:35]: marc requested change vehicle garage with id 147. -[info][2025/06/17 16:34:35]: marc requested vehicle with id 147. -[info][2025/06/17 16:34:46]: marc requested change vehicle plate for id 147 (9OY257VU). -[info][2025/06/17 16:34:47]: marc requested vehicle with id 147. -[info][2025/06/17 16:34:49]: marc requested player with citizenid CRO67821. -[info][2025/06/17 16:34:50]: marc requested player vehicles for citizenid CRO67821. -[info][2025/06/17 16:34:53]: marc requested vehicle with id 136. -[info][2025/06/17 16:34:55]: marc requested change vehicle garage with id 136. -[info][2025/06/17 16:34:56]: marc requested vehicle with id 136. -[info][2025/06/17 16:35:03]: marc requested change vehicle plate for id 136 (5UD978UN). -[info][2025/06/17 16:35:03]: marc requested vehicle with id 136. -[info][2025/06/17 16:36:02]: marc requested change vehicle plate for id 136 (BEAST). -[info][2025/06/17 16:37:19]: marc requested player with citizenid CRO67821. -[info][2025/06/17 16:37:53]: marc requested change meta for citizenid CRO67821. -[info][2025/06/17 16:37:53]: marc requested player with citizenid CRO67821. -[info][2025/06/17 16:37:54]: marc requested change meta for citizenid CRO67821. -[info][2025/06/17 16:37:54]: marc requested player with citizenid CRO67821. -[info][2025/06/17 16:37:54]: marc requested change meta for citizenid CRO67821. -[info][2025/06/17 16:37:54]: marc requested player with citizenid CRO67821. -[info][2025/06/17 16:38:04]: marc requested add money cash for citizenid CRO67821. -[info][2025/06/17 16:38:04]: marc requested player with citizenid CRO67821. -[info][2025/06/17 16:40:11]: marc requested save note for citizenid CRO67821. -[info][2025/06/17 16:40:12]: marc requested player vehicles for citizenid CRO67821. -[info][2025/06/17 16:40:13]: marc requested player with citizenid CRO67821. -[info][2025/06/17 16:40:14]: marc requested all players. -[info][2025/06/17 17:03:49]: Login attempt on Nordi from 85.16.153.158 -[info][2025/06/17 20:26:34]: Login attempt on voltstromi from 83.77.72.121 -[info][2025/06/17 20:27:31]: Login attempt on voltstromi from 83.77.72.121 -[info][2025/06/17 20:27:41]: voltstromi requested all users. -[info][2025/06/17 20:28:01]: voltstromi requested password change. -[info][2025/06/17 20:28:39]: voltstromi requested all players. -[info][2025/06/17 20:28:42]: voltstromi requested all players. -[info][2025/06/17 20:28:48]: voltstromi requested player with citizenid PGS32293. -[info][2025/06/17 20:29:22]: voltstromi requested all players. -[info][2025/06/17 20:29:28]: voltstromi requested player with citizenid RZC73356. -[info][2025/06/17 20:29:59]: voltstromi requested all players. -[info][2025/06/17 20:30:01]: voltstromi requested player with citizenid RZC73356. -[info][2025/06/17 20:30:03]: voltstromi requested all players. -[info][2025/06/17 20:30:04]: voltstromi requested player with citizenid PGS32293. -[info][2025/06/17 21:37:04]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/17 21:46:27]: marc requested all players. -[info][2025/06/17 21:46:27]: marc requested all players. -[info][2025/06/17 21:46:29]: marc requested all players. -[info][2025/06/17 21:46:31]: marc requested all players. -[info][2025/06/17 21:46:33]: marc requested all players. -[info][2025/06/17 21:46:34]: marc requested all players. -[info][2025/06/17 21:46:35]: marc requested all players. -[info][2025/06/17 21:46:36]: marc requested all players. -[info][2025/06/17 21:46:36]: marc requested all players. -[info][2025/06/17 21:46:37]: marc requested player with citizenid CRO67821. -[info][2025/06/17 21:46:39]: marc requested player vehicles for citizenid CRO67821. -[info][2025/06/17 21:46:39]: campers requested player with citizenid QYA52709. -[info][2025/06/17 21:46:42]: marc requested vehicle with id 162. -[info][2025/06/17 21:46:45]: marc requested player with citizenid CRO67821. -[info][2025/06/17 21:46:47]: marc requested player vehicles for citizenid CRO67821. -[info][2025/06/17 21:46:49]: marc requested vehicle with id 136. -[info][2025/06/17 21:46:51]: marc requested change vehicle garage with id 136. -[info][2025/06/17 21:46:51]: marc requested vehicle with id 136. -[info][2025/06/17 21:46:55]: campers requested all players. -[info][2025/06/17 21:47:06]: campers requested player with citizenid QYA52709. -[info][2025/06/17 21:47:13]: campers requested change charinfo for citizenid QYA52709. -[info][2025/06/17 21:47:13]: campers requested player with citizenid QYA52709. -[info][2025/06/17 21:47:27]: campers requested all vehicles. -[info][2025/06/17 21:47:39]: campers requested player with citizenid OHM07543. -[info][2025/06/17 21:47:41]: campers requested player vehicles for citizenid OHM07543. -[info][2025/06/17 21:47:54]: campers requested vehicle with id 196. -[info][2025/06/17 21:48:05]: campers requested despawn vehicle with plate 3KW112MQ id 196. -[info][2025/06/17 21:48:24]: campers requested change vehicle plate for id 196 (3KW112MQ). -[info][2025/06/17 21:48:24]: campers requested vehicle with id 196. -[info][2025/06/17 21:49:15]: campers requested player with citizenid OHM07543. -[info][2025/06/17 21:49:20]: campers requested player vehicles for citizenid OHM07543. -[info][2025/06/17 21:49:28]: campers requested vehicle with id 196. -[info][2025/06/17 21:49:38]: campers requested all vehicles. -[info][2025/06/17 21:49:43]: campers requested vehicle with id 193. -[info][2025/06/17 21:51:17]: campers requested player with citizenid OHM07543. -[info][2025/06/17 21:51:19]: campers requested player vehicles for citizenid OHM07543. -[info][2025/06/17 21:51:24]: campers requested vehicle with id 196. -[info][2025/06/17 21:51:33]: campers requested all vehicles. -[info][2025/06/17 21:51:38]: campers requested vehicle with id 225. -[info][2025/06/17 21:51:39]: campers requested all vehicles. -[info][2025/06/17 21:51:40]: campers requested vehicle with id 225. -[info][2025/06/17 21:51:55]: campers requested player with citizenid OHM07543. -[info][2025/06/17 21:51:57]: campers requested player vehicles for citizenid OHM07543. -[info][2025/06/17 21:52:09]: campers requested vehicle with id 196. -[info][2025/06/17 21:52:12]: campers requested change vehicle garage with id 196. -[info][2025/06/17 21:52:12]: campers requested vehicle with id 196. -[info][2025/06/17 21:52:15]: campers requested despawn vehicle with plate CAMPERS id 196. -[info][2025/06/17 22:34:33]: campers requested player with citizenid OHM07543. -[info][2025/06/17 22:34:35]: campers requested all players. -[info][2025/06/17 22:34:43]: campers requested player with citizenid QYA52709. -[info][2025/06/17 22:34:44]: campers requested screenshot for citizenid QYA52709. -[info][2025/06/17 22:35:00]: campers requested player with citizenid OHM07543. -[info][2025/06/17 22:35:07]: campers requested change charinfo for citizenid OHM07543. -[info][2025/06/17 22:35:07]: campers requested player with citizenid OHM07543. -[info][2025/06/17 22:53:45]: Login attempt on Marc from 84.63.194.215 -[info][2025/06/17 22:53:48]: marc requested all players. -[info][2025/06/17 22:53:57]: marc requested all players. -[info][2025/06/17 22:53:58]: marc requested all players. -[info][2025/06/17 22:53:58]: marc requested all players. -[info][2025/06/17 22:53:59]: marc requested all players. -[info][2025/06/17 22:54:02]: marc requested all players. -[info][2025/06/17 22:54:13]: marc requested player with citizenid EAP03737. -[info][2025/06/17 22:54:25]: marc requested all players. -[info][2025/06/17 22:54:32]: marc requested player with citizenid EAP03737. -[info][2025/06/17 22:54:50]: marc requested all players. -[info][2025/06/17 22:54:51]: marc requested all stashes. -[info][2025/06/17 22:54:53]: marc requested all vehicles. -[info][2025/06/17 22:55:08]: marc requested all players. -[info][2025/06/17 22:55:30]: marc requested all vehicles. -[info][2025/06/17 22:55:36]: marc requested all roles. -[info][2025/06/17 22:56:19]: marc requested role Admin. -[info][2025/06/17 22:56:41]: marc requested all roles. -[info][2025/06/17 23:06:13]: Login attempt on Nordi from 85.16.153.158 -[info][2025/06/17 23:06:13]: Login attempt on Nordi from 85.16.153.158 -[info][2025/06/18 00:01:11]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/18 00:01:21]: campers requested player with citizenid KVN10675. -[info][2025/06/18 00:01:23]: campers requested screenshot for citizenid KVN10675. -[info][2025/06/18 00:01:28]: campers requested all players. -[info][2025/06/18 00:01:53]: campers requested player with citizenid EAP03737. -[info][2025/06/18 00:02:17]: campers requested save note for citizenid EAP03737. -[info][2025/06/18 00:02:18]: campers requested player vehicles for citizenid EAP03737. -[info][2025/06/18 00:02:21]: campers requested player with citizenid EAP03737. -[info][2025/06/18 00:34:49]: marc requested all players. -[info][2025/06/18 00:34:52]: marc requested all players. -[info][2025/06/18 00:34:52]: marc requested all players. -[info][2025/06/18 00:34:53]: marc requested all players. -[info][2025/06/18 00:34:54]: marc requested player with citizenid CRO67821. -[info][2025/06/18 00:34:57]: marc requested change meta for citizenid CRO67821. -[info][2025/06/18 00:34:57]: marc requested player with citizenid CRO67821. -[info][2025/06/18 00:34:57]: marc requested change meta for citizenid CRO67821. -[info][2025/06/18 00:34:57]: marc requested player with citizenid CRO67821. -[info][2025/06/18 02:22:33]: Login attempt on Nordi from 85.16.106.175 -[info][2025/06/18 05:14:31]: Login attempt on Nordi from 85.16.106.175 -[info][2025/06/18 05:21:30]: Login attempt on Nordi from 85.16.106.175 -[info][2025/06/18 11:40:25]: Login attempt on Marc from 84.63.194.215 -[info][2025/06/18 12:01:46]: marc requested all players. -[info][2025/06/18 12:01:49]: marc requested all players. -[info][2025/06/18 12:01:50]: marc requested all players. -[info][2025/06/18 12:01:52]: marc requested player with citizenid YOE08016. -[info][2025/06/18 12:01:53]: marc requested player vehicles for citizenid YOE08016. -[info][2025/06/18 12:02:01]: marc requested vehicle with id 235. -[info][2025/06/18 12:02:14]: marc requested player with citizenid YOE08016. -[info][2025/06/18 12:02:16]: marc requested player vehicles for citizenid YOE08016. -[info][2025/06/18 12:02:20]: marc requested vehicle with id 236. -[info][2025/06/18 12:02:26]: marc requested change vehicle plate for id 236 (0SP675TT). -[info][2025/06/18 12:02:26]: marc requested vehicle with id 236. -[info][2025/06/18 14:03:06]: marc requested vehicle with id 236. -[info][2025/06/18 14:08:45]: marc requested all players. -[info][2025/06/18 14:08:48]: marc requested all players. -[info][2025/06/18 14:08:48]: marc requested all players. -[info][2025/06/18 14:08:50]: marc requested player with citizenid YOE08016. -[info][2025/06/18 14:08:53]: marc requested heal for citizenid YOE08016. -[info][2025/06/18 14:08:53]: marc requested player with citizenid YOE08016. -[info][2025/06/18 14:09:32]: marc requested change meta for citizenid YOE08016. -[info][2025/06/18 14:09:32]: marc requested player with citizenid YOE08016. -[info][2025/06/18 14:09:32]: marc requested change meta for citizenid YOE08016. -[info][2025/06/18 14:09:32]: marc requested player with citizenid YOE08016. -[info][2025/06/18 17:04:15]: Login attempt on voltstromi from 83.77.72.121 -[info][2025/06/18 17:04:20]: voltstromi requested player with citizenid PGS32293. -[info][2025/06/18 17:04:24]: voltstromi requested change meta for citizenid PGS32293. -[info][2025/06/18 17:04:24]: voltstromi requested player with citizenid PGS32293. -[info][2025/06/18 17:04:25]: voltstromi requested change meta for citizenid PGS32293. -[info][2025/06/18 17:04:25]: voltstromi requested player with citizenid PGS32293. -[info][2025/06/18 20:22:31]: Login attempt on Nordi from 85.16.106.175 -[info][2025/06/18 20:22:39]: nordi requested all players. -[info][2025/06/18 20:22:43]: nordi requested player with citizenid JCQ27225. -[info][2025/06/18 20:23:01]: nordi requested add money cash for citizenid JCQ27225. -[info][2025/06/18 20:23:01]: nordi requested player with citizenid JCQ27225. -[info][2025/06/18 20:31:02]: nordi requested all players. -[info][2025/06/18 20:32:00]: nordi requested all players. -[info][2025/06/18 20:32:02]: nordi requested player with citizenid BCK05564. -[info][2025/06/18 20:33:44]: Login attempt on Marc from 84.63.194.215 -[info][2025/06/18 20:33:47]: marc requested all players. -[info][2025/06/18 20:33:49]: marc requested all players. -[info][2025/06/18 20:33:49]: marc requested all players. -[info][2025/06/18 20:33:51]: marc requested player with citizenid YXR32491. -[info][2025/06/18 20:33:55]: marc requested heal for citizenid YXR32491. -[info][2025/06/18 20:33:55]: marc requested player with citizenid YXR32491. -[info][2025/06/18 20:33:55]: marc requested change meta for citizenid YXR32491. -[info][2025/06/18 20:33:55]: marc requested player with citizenid YXR32491. -[info][2025/06/18 20:33:56]: marc requested change meta for citizenid YXR32491. -[info][2025/06/18 20:33:56]: marc requested player with citizenid YXR32491. -[info][2025/06/18 20:33:57]: marc requested change meta for citizenid YXR32491. -[info][2025/06/18 20:33:57]: marc requested player with citizenid YXR32491. -[info][2025/06/18 23:19:39]: Login attempt on Marc from 84.63.194.215 -[info][2025/06/18 23:19:40]: marc requested all vehicles. -[info][2025/06/19 02:50:07]: Login attempt on Nordi from 91.248.194.26 -[info][2025/06/19 13:01:11]: Login attempt on Marc from 84.63.194.215 -[info][2025/06/19 21:53:14]: Login attempt on Marc from 84.63.194.215 -[info][2025/06/19 22:50:52]: marc requested all vehicles. -[info][2025/06/19 22:50:58]: marc requested all vehicles. -[info][2025/06/19 22:50:58]: marc requested all vehicles. -[info][2025/06/19 22:51:00]: marc requested all vehicles. -[info][2025/06/19 22:51:04]: marc requested all vehicles. -[info][2025/06/19 22:51:04]: marc requested all vehicles. -[info][2025/06/19 22:51:05]: marc requested all vehicles. -[info][2025/06/19 22:51:07]: marc requested all vehicles. -[info][2025/06/19 22:51:18]: marc requested all players. -[info][2025/06/19 22:51:29]: marc requested all players. -[info][2025/06/19 22:51:42]: marc requested all players. -[info][2025/06/19 22:51:49]: marc requested player with citizenid OHM07543. -[info][2025/06/19 22:51:50]: marc requested player vehicles for citizenid OHM07543. -[info][2025/06/21 20:14:24]: Login attempt on Nordi from 85.16.110.52 -[info][2025/06/22 08:55:47]: Login attempt on Max from 176.3.134.56 -[info][2025/06/22 08:55:50]: Login attempt on Max from 176.3.134.56 -[info][2025/06/22 08:55:53]: Login attempt on Ente from 176.3.134.56 -[info][2025/06/22 08:55:54]: Login attempt on Ente from 176.3.134.56 -[info][2025/06/22 08:56:35]: Login attempt on Max from 176.3.134.56 -[info][2025/06/22 08:56:41]: max requested player with citizenid YOE08016. -[info][2025/06/22 08:56:45]: max requested heal for citizenid YOE08016. -[info][2025/06/22 08:56:45]: max requested player with citizenid YOE08016. -[info][2025/06/22 08:56:47]: max requested heal for citizenid YOE08016. -[info][2025/06/22 08:56:47]: max requested player with citizenid YOE08016. -[info][2025/06/22 08:56:48]: max requested heal for citizenid YOE08016. -[info][2025/06/22 08:56:48]: max requested player with citizenid YOE08016. -[info][2025/06/22 08:56:49]: max requested change meta for citizenid YOE08016. -[info][2025/06/22 08:56:49]: max requested player with citizenid YOE08016. -[info][2025/06/22 08:56:50]: max requested change meta for citizenid YOE08016. -[info][2025/06/22 08:56:50]: max requested player with citizenid YOE08016. -[info][2025/06/22 08:56:52]: max requested heal for citizenid YOE08016. -[info][2025/06/22 08:56:52]: max requested player with citizenid YOE08016. -[info][2025/06/22 08:56:53]: max requested heal for citizenid YOE08016. -[info][2025/06/22 08:56:53]: max requested player with citizenid YOE08016. -[info][2025/06/22 16:27:11]: Login attempt on Nordi from 95.33.60.84 -[info][2025/06/22 16:27:13]: nordi requested all players. -[info][2025/06/22 16:48:41]: nordi requested all players. -[info][2025/06/22 19:56:44]: nordi requested all vehicles. -[info][2025/06/22 19:56:52]: nordi requested all players. -[info][2025/06/22 19:56:55]: nordi requested player with citizenid JCQ27225. -[info][2025/06/22 19:56:56]: nordi requested player vehicles for citizenid JCQ27225. -[info][2025/06/22 19:57:05]: nordi requested vehicle with id 250. -[info][2025/06/22 19:57:07]: nordi requested delete vehicle id 250. -[info][2025/06/22 19:57:08]: nordi requested all vehicles. -[info][2025/06/22 19:57:45]: nordi requested all players. -[info][2025/06/22 19:57:48]: nordi requested player with citizenid JCQ27225. -[info][2025/06/22 19:57:52]: nordi requested player vehicles for citizenid JCQ27225. -[info][2025/06/22 19:58:02]: nordi requested vehicle with id 251. -[info][2025/06/22 19:58:16]: nordi requested delete vehicle id 251. -[info][2025/06/22 19:58:17]: nordi requested all vehicles. -[info][2025/06/22 20:05:49]: nordi requested all players. -[info][2025/06/22 20:05:52]: nordi requested player with citizenid JCQ27225. -[info][2025/06/22 20:05:54]: nordi requested player vehicles for citizenid JCQ27225. -[info][2025/06/22 20:05:57]: nordi requested vehicle with id 252. -[info][2025/06/22 20:05:58]: nordi requested delete vehicle id 252. -[info][2025/06/22 20:05:59]: nordi requested all vehicles. -[info][2025/06/22 20:12:17]: nordi requested all players. -[info][2025/06/22 20:12:19]: nordi requested player with citizenid JCQ27225. -[info][2025/06/22 20:12:22]: nordi requested player vehicles for citizenid JCQ27225. -[info][2025/06/22 20:12:33]: nordi requested vehicle with id 253. -[info][2025/06/22 20:12:42]: nordi requested delete vehicle id 253. -[info][2025/06/22 20:12:43]: nordi requested all vehicles. -[info][2025/06/22 20:50:23]: Login attempt on Marc from 84.63.194.215 -[info][2025/06/22 20:50:25]: marc requested all players. -[info][2025/06/22 20:50:27]: marc requested all players. -[info][2025/06/22 20:50:28]: marc requested all players. -[info][2025/06/22 20:50:28]: marc requested all players. -[info][2025/06/22 20:50:30]: marc requested player with citizenid CRO67821. -[info][2025/06/22 21:55:21]: Login attempt on voltstromi from 83.77.72.121 -[info][2025/06/22 21:58:41]: Login attempt on Nordi from 95.33.60.84 -[info][2025/06/22 21:58:43]: Login attempt on Nordi from 95.33.60.84 -[info][2025/06/22 22:23:10]: nordi requested all players. -[info][2025/06/23 18:29:24]: Login attempt on Nordi from 80.228.185.74 -[info][2025/06/23 18:31:06]: nordi requested all vehicles. -[info][2025/06/23 18:31:10]: nordi requested all vehicles. -[info][2025/06/23 18:31:11]: nordi requested all vehicles. -[info][2025/06/23 18:31:15]: nordi requested vehicle with id 237. -[info][2025/06/23 18:31:18]: nordi requested despawn vehicle with plate 6PQ692PZ id 237. -[info][2025/06/23 20:50:31]: nordi requested all players. -[info][2025/06/23 20:50:41]: nordi requested player with citizenid JCQ27225. -[info][2025/06/23 20:50:43]: nordi requested player vehicles for citizenid JCQ27225. -[info][2025/06/23 23:03:03]: Login attempt on Marc from 84.63.194.215 -[info][2025/06/23 23:03:06]: marc requested all players. -[info][2025/06/23 23:03:09]: marc requested all players. -[info][2025/06/23 23:03:10]: marc requested all players. -[info][2025/06/23 23:03:11]: marc requested player with citizenid KCA25101. -[info][2025/06/23 23:05:06]: marc requested change charinfo for citizenid KCA25101. -[info][2025/06/23 23:05:06]: marc requested player with citizenid KCA25101. -[info][2025/06/23 23:05:19]: marc requested all players. -[info][2025/06/23 23:05:22]: marc requested all players. -[info][2025/06/23 23:05:26]: marc requested all players. -[info][2025/06/24 00:52:48]: Login attempt on Nordi from 80.228.185.74 -[info][2025/06/24 01:44:24]: nordi requested all players. -[info][2025/06/24 01:44:29]: nordi requested player with citizenid GHA91277. -[info][2025/06/24 01:44:35]: nordi requested add money cash for citizenid GHA91277. -[info][2025/06/24 01:44:35]: nordi requested player with citizenid GHA91277. -[info][2025/06/24 01:56:12]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/24 01:56:22]: campers requested player with citizenid GHA91277. -[info][2025/06/24 01:56:23]: campers requested screenshot for citizenid GHA91277. -[info][2025/06/24 01:56:43]: campers requested player with citizenid JCQ27225. -[info][2025/06/24 01:56:44]: campers requested screenshot for citizenid JCQ27225. -[info][2025/06/24 01:56:49]: campers requested screenshot for citizenid JCQ27225. -[info][2025/06/24 01:56:58]: campers requested player with citizenid JCQ27225. -[info][2025/06/24 01:57:00]: campers requested screenshot for citizenid JCQ27225. -[info][2025/06/24 09:58:09]: Login attempt on Nordi from 91.248.237.158 -[info][2025/06/24 10:16:03]: Login attempt on Nordi from 91.248.237.158 -[info][2025/06/24 10:16:04]: nordi requested all players. -[info][2025/06/24 10:16:09]: nordi requested player with citizenid JCQ27225. -[info][2025/06/24 10:16:11]: nordi requested player vehicles for citizenid JCQ27225. -[info][2025/06/24 10:16:14]: nordi requested player vehicles for citizenid JCQ27225. -[info][2025/06/24 10:16:15]: nordi requested player vehicles for citizenid JCQ27225. -[info][2025/06/24 10:16:17]: nordi requested player vehicles for citizenid JCQ27225. -[info][2025/06/24 10:16:20]: nordi requested player vehicles for citizenid JCQ27225. -[info][2025/06/24 10:16:29]: nordi requested player vehicles for citizenid JCQ27225. -[info][2025/06/24 10:16:29]: nordi requested player vehicles for citizenid JCQ27225. -[info][2025/06/24 10:16:31]: nordi requested vehicle with id 259. -[info][2025/06/24 10:16:34]: nordi requested delete vehicle id 259. -[info][2025/06/24 10:16:35]: nordi requested all vehicles. -[info][2025/06/24 10:21:58]: nordi requested all vehicles. -[info][2025/06/24 10:22:00]: nordi requested all vehicles. -[info][2025/06/24 10:22:02]: nordi requested all vehicles. -[info][2025/06/24 16:39:02]: Login attempt on Campers from 80.151.134.119 -[info][2025/06/24 16:39:11]: campers requested all users. -[info][2025/06/24 16:39:15]: campers requested user rockit. -[info][2025/06/24 16:39:22]: campers requested delete user rockit. -[info][2025/06/24 16:39:22]: campers requested all users. -[info][2025/06/24 16:39:51]: campers requested player with citizenid KCA25101. -[info][2025/06/24 16:39:54]: campers requested screenshot for citizenid KCA25101. -[info][2025/06/24 16:40:04]: campers requested player vehicles for citizenid KCA25101. -[info][2025/06/24 16:40:08]: campers requested player with citizenid KCA25101. -[info][2025/06/24 16:40:10]: campers requested screenshot for citizenid KCA25101. -[info][2025/06/24 16:43:23]: campers requested player with citizenid KCA25101. -[info][2025/06/24 16:43:27]: campers requested screenshot for citizenid KCA25101. -[info][2025/06/24 17:06:17]: campers requested player with citizenid KCA25101. -[info][2025/06/24 17:06:19]: campers requested screenshot for citizenid KCA25101. -[info][2025/06/24 17:06:32]: campers requested all players. -[info][2025/06/24 17:06:39]: campers requested player with citizenid KVN10675. -[info][2025/06/24 17:06:44]: campers requested screenshot for citizenid KVN10675. -[info][2025/06/24 17:06:55]: campers requested player vehicles for citizenid KVN10675. -[info][2025/06/24 17:07:02]: campers requested player with citizenid KVN10675. -[info][2025/06/24 17:07:22]: campers requested player with citizenid KCA25101. -[info][2025/06/24 17:07:24]: campers requested screenshot for citizenid KCA25101. -[info][2025/06/24 17:08:09]: campers requested all players. -[info][2025/06/24 17:08:17]: campers requested player with citizenid OHM07543. -[info][2025/06/24 17:08:20]: campers requested player vehicles for citizenid OHM07543. -[info][2025/06/24 17:08:34]: campers requested player with citizenid OHM07543. -[info][2025/06/24 17:08:42]: campers requested change meta for citizenid OHM07543. -[info][2025/06/24 17:08:43]: campers requested change meta for citizenid OHM07543. -[info][2025/06/24 19:05:24]: Login attempt on Nordi from 91.248.237.158 -[info][2025/06/24 19:05:29]: nordi requested all users. -[info][2025/06/24 19:05:41]: nordi requested role list. -[info][2025/06/24 19:05:54]: nordi requested all users. -[info][2025/06/24 19:05:56]: nordi requested all players. -[info][2025/06/24 19:05:59]: nordi requested all players. -[info][2025/06/24 19:06:03]: nordi requested all players. -[info][2025/06/24 19:06:04]: nordi requested all players. -[info][2025/06/24 19:06:05]: nordi requested all players. -[info][2025/06/24 19:06:09]: nordi requested all players. -[info][2025/06/24 19:06:10]: nordi requested all players. -[info][2025/06/24 19:06:11]: nordi requested all players. -[info][2025/06/24 19:06:13]: nordi requested all players. -[info][2025/06/24 19:06:35]: nordi requested all players. -[info][2025/06/24 19:06:36]: nordi requested all players. -[info][2025/06/24 19:06:38]: nordi requested player with citizenid ITG79090. -[info][2025/06/24 19:41:44]: nordi requested player vehicles for citizenid ITG79090. -[info][2025/06/24 19:41:48]: nordi requested all vehicles. -[info][2025/06/24 19:42:04]: nordi requested all vehicles. -[info][2025/06/24 19:42:05]: nordi requested all vehicles. -[info][2025/06/24 19:42:13]: nordi requested vehicle with id 165. -[info][2025/06/24 19:42:17]: nordi requested despawn vehicle with plate 2CO038NI id 165. -[info][2025/06/24 19:49:38]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/24 19:49:47]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/24 19:49:55]: Login attempt on Dennis from 178.200.177.65 -[info][2025/06/24 19:50:07]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/24 19:50:17]: campers requested player with citizenid ITG79090. -[info][2025/06/24 19:50:21]: campers requested screenshot for citizenid ITG79090. -[info][2025/06/24 19:50:26]: campers requested screenshot for citizenid ITG79090. -[info][2025/06/24 19:50:40]: campers requested all players. -[info][2025/06/24 19:50:51]: campers requested player with citizenid ABD68100. -[info][2025/06/24 19:50:53]: campers requested player vehicles for citizenid ABD68100. -[info][2025/06/24 19:50:54]: campers requested player with citizenid ABD68100. -[info][2025/06/24 19:51:04]: campers requested screenshot for citizenid ABD68100. -[info][2025/06/24 19:51:12]: campers requested all players. -[info][2025/06/24 19:51:12]: campers requested player with citizenid ITG79090. -[info][2025/06/24 20:19:19]: Login attempt on Campers from 178.200.177.65 -[info][2025/06/24 20:19:26]: campers requested player with citizenid ITG79090. -[info][2025/06/24 20:19:34]: campers requested heal for citizenid ITG79090. -[info][2025/06/24 20:19:34]: campers requested player with citizenid ITG79090. -[info][2025/06/24 20:20:21]: campers requested heal for citizenid ITG79090. -[info][2025/06/24 20:20:21]: campers requested player with citizenid ITG79090. -[info][2025/06/25 00:09:10]: Login attempt on voltstromi from 83.77.72.121 -[info][2025/06/25 00:09:18]: voltstromi requested player with citizenid PGS32293. -[info][2025/06/25 00:09:24]: voltstromi requested change meta for citizenid PGS32293. -[info][2025/06/25 00:09:24]: voltstromi requested player with citizenid PGS32293. -[info][2025/06/25 00:09:25]: voltstromi requested change meta for citizenid PGS32293. -[info][2025/06/25 00:09:25]: voltstromi requested player with citizenid PGS32293. -[info][2025/06/25 00:16:36]: nordi requested all players. -[info][2025/06/25 00:16:42]: nordi requested player with citizenid JCQ27225. -[info][2025/06/25 00:16:44]: nordi requested player vehicles for citizenid JCQ27225. -[info][2025/06/25 00:16:46]: nordi requested player vehicles for citizenid JCQ27225. -[info][2025/06/25 00:16:47]: nordi requested player vehicles for citizenid JCQ27225. -[info][2025/06/25 00:16:48]: nordi requested player vehicles for citizenid JCQ27225. -[info][2025/06/25 00:16:49]: nordi requested player vehicles for citizenid JCQ27225. -[info][2025/06/25 00:16:50]: nordi requested player vehicles for citizenid JCQ27225. -[info][2025/06/25 00:38:04]: nordi requested all players. -[info][2025/06/25 00:38:09]: nordi requested player with citizenid JCQ27225. -[info][2025/06/25 00:38:10]: nordi requested player vehicles for citizenid JCQ27225. -[info][2025/06/25 00:38:16]: nordi requested vehicle with id 270. -[info][2025/06/25 00:38:19]: nordi requested delete vehicle id 270. -[info][2025/06/25 00:38:19]: nordi requested all vehicles. -[info][2025/06/25 00:38:31]: nordi requested vehicle with id 204. -[info][2025/06/25 00:38:34]: nordi requested all vehicles. -[info][2025/06/25 00:38:36]: nordi requested vehicle with id 270. -[info][2025/06/25 00:38:41]: nordi requested all vehicles. -[info][2025/06/25 00:38:42]: nordi requested all players. -[info][2025/06/25 00:38:47]: nordi requested player with citizenid JCQ27225. -[info][2025/06/25 00:38:51]: nordi requested player vehicles for citizenid JCQ27225. -[info][2025/06/25 00:40:32]: nordi requested vehicle with id 271. -[info][2025/06/25 00:40:35]: nordi requested delete vehicle id 271. -[info][2025/06/25 00:40:35]: nordi requested all vehicles. -[info][2025/06/25 01:50:39]: Login attempt on Nordi from 91.248.237.158 -[info][2025/06/25 02:15:25]: Login attempt on Nordi from 91.97.117.229 -[info][2025/06/25 17:27:23]: Login attempt on Nordi from 91.97.117.229 -[info][2025/06/25 18:40:09]: nordi requested all players. -[info][2025/06/25 18:40:17]: nordi requested player with citizenid VDH31500. -[info][2025/06/25 18:40:27]: nordi requested add money bank for citizenid VDH31500. -[info][2025/06/25 18:40:27]: nordi requested player with citizenid VDH31500. -[info][2025/06/25 18:41:10]: nordi requested add money bank for citizenid VDH31500. -[info][2025/06/25 18:41:10]: nordi requested player with citizenid VDH31500. -[info][2025/06/25 19:10:05]: nordi requested all players. -[info][2025/06/25 19:10:09]: nordi requested player with citizenid ZJT55784. -[info][2025/06/25 19:10:17]: nordi requested add money bank for citizenid ZJT55784. -[info][2025/06/25 19:10:17]: nordi requested player with citizenid ZJT55784. -[info][2025/06/25 19:11:05]: nordi requested all vehicles. -[info][2025/06/25 19:11:08]: nordi requested all players. -[info][2025/06/25 19:41:10]: Login attempt on Mark from 178.24.230.51 -[info][2025/06/25 19:41:13]: mark requested all users. -[info][2025/06/25 19:41:19]: mark requested role list. -[info][2025/06/25 19:41:40]: mark requested create user Mimi. -[info][2025/06/25 19:41:41]: mark requested all users. -[info][2025/06/25 19:42:43]: nordi requested all users. -[info][2025/06/25 19:42:52]: nordi requested all roles. -[info][2025/06/25 19:42:58]: nordi requested all users. -[info][2025/06/25 19:43:00]: nordi requested role list. -[info][2025/06/25 19:43:51]: mark requested user saylem. -[info][2025/06/25 19:43:56]: nordi requested all roles. -[info][2025/06/25 19:44:02]: nordi requested all users. -[info][2025/06/25 19:44:04]: nordi requested user saylem. -[info][2025/06/25 19:44:12]: nordi requested save user saylem. -[info][2025/06/25 19:44:30]: nordi requested save user saylem. -[info][2025/06/25 19:49:01]: nordi requested all users. -[info][2025/06/25 20:00:33]: mark requested player with citizenid NAJ08324. -[info][2025/06/25 20:00:36]: mark requested change meta for citizenid NAJ08324. -[info][2025/06/25 20:00:36]: mark requested player with citizenid NAJ08324. -[info][2025/06/25 20:00:36]: mark requested change meta for citizenid NAJ08324. -[info][2025/06/25 20:00:36]: mark requested player with citizenid NAJ08324. -[info][2025/06/25 20:00:36]: mark requested change meta for citizenid NAJ08324. -[info][2025/06/25 20:00:36]: mark requested player with citizenid NAJ08324. -[info][2025/06/25 20:00:37]: mark requested change meta for citizenid NAJ08324. -[info][2025/06/25 20:00:37]: mark requested player with citizenid NAJ08324. -[info][2025/06/25 20:00:38]: mark requested heal for citizenid NAJ08324. -[info][2025/06/25 20:00:38]: mark requested player with citizenid NAJ08324. -[info][2025/06/25 20:00:40]: mark requested heal for citizenid NAJ08324. -[info][2025/06/25 20:00:40]: mark requested player with citizenid NAJ08324. -[info][2025/06/25 20:55:35]: mark requested all vehicles. -[info][2025/06/25 20:55:40]: mark requested all vehicles. -[info][2025/06/25 20:55:43]: mark requested all vehicles. -[info][2025/06/25 20:55:44]: mark requested all vehicles. -[info][2025/06/25 20:55:45]: mark requested all vehicles. -[info][2025/06/25 20:55:53]: mark requested vehicle with id 145. -[info][2025/06/25 20:55:58]: mark requested despawn vehicle with plate 5YF783LT id 145. -[info][2025/06/25 20:56:09]: mark requested vehicle repair for id 145. -[info][2025/06/25 20:56:09]: mark requested vehicle with id 145. -[info][2025/06/25 20:56:10]: mark requested vehicle repair for id 145. -[info][2025/06/25 20:56:10]: mark requested vehicle with id 145. -[info][2025/06/25 20:56:10]: mark requested vehicle repair for id 145. -[info][2025/06/25 20:56:10]: mark requested vehicle with id 145. -[info][2025/06/25 20:56:10]: mark requested vehicle repair for id 145. -[info][2025/06/25 20:56:11]: mark requested vehicle with id 145. -[info][2025/06/25 20:56:11]: mark requested vehicle repair for id 145. -[info][2025/06/25 20:56:11]: mark requested vehicle with id 145. -[info][2025/06/25 20:56:11]: mark requested vehicle repair for id 145. -[info][2025/06/25 20:56:11]: mark requested vehicle with id 145. -[info][2025/06/25 20:56:25]: mark requested change vehicle garage with id 145. -[info][2025/06/25 20:56:25]: mark requested vehicle with id 145. -[info][2025/06/25 20:56:29]: mark requested despawn vehicle with plate 5YF783LT id 145. -[info][2025/06/25 21:24:23]: mark requested player with citizenid CKB04832. -[info][2025/06/25 21:24:25]: mark requested change meta for citizenid CKB04832. -[info][2025/06/25 21:24:26]: mark requested player with citizenid CKB04832. -[info][2025/06/25 21:24:26]: mark requested change meta for citizenid CKB04832. -[info][2025/06/25 21:24:26]: mark requested player with citizenid CKB04832. -[info][2025/06/25 21:24:27]: mark requested heal for citizenid CKB04832. -[info][2025/06/25 21:24:27]: mark requested player with citizenid CKB04832. -[info][2025/06/25 21:24:46]: Login attempt on voltstromi from 83.77.72.121 -[info][2025/06/25 21:25:05]: voltstromi requested all accounts. -[info][2025/06/25 21:25:10]: voltstromi requested all accounts. -[info][2025/06/25 21:25:11]: voltstromi requested all accounts. -[info][2025/06/25 21:25:12]: voltstromi requested all accounts. -[info][2025/06/25 21:28:37]: voltstromi requested all vehicles. -[info][2025/06/25 21:28:50]: voltstromi requested all players. -[info][2025/06/25 21:28:54]: voltstromi requested all players. -[info][2025/06/25 21:28:54]: voltstromi requested all players. -[info][2025/06/25 21:28:56]: voltstromi requested player with citizenid PGS32293. -[info][2025/06/25 21:29:01]: voltstromi requested player vehicles for citizenid PGS32293. -[info][2025/06/25 21:29:15]: voltstromi requested vehicle with id 157. -[info][2025/06/25 21:29:51]: voltstromi requested vehicle repair for id 157. -[info][2025/06/25 21:29:51]: voltstromi requested vehicle with id 157. -[info][2025/06/25 21:29:59]: voltstromi requested all vehicles. -[info][2025/06/25 21:30:44]: voltstromi requested vehicle with id 119. -[info][2025/06/25 21:30:48]: voltstromi requested vehicle repair for id 119. -[info][2025/06/25 21:30:48]: voltstromi requested vehicle with id 119. -[info][2025/06/25 21:30:57]: voltstromi requested all vehicles. -[info][2025/06/25 21:30:59]: voltstromi requested all players. -[info][2025/06/25 21:31:02]: voltstromi requested all players. -[info][2025/06/25 21:31:03]: voltstromi requested all players. -[info][2025/06/25 21:31:04]: voltstromi requested player with citizenid PGS32293. -[info][2025/06/25 21:31:07]: voltstromi requested player vehicles for citizenid PGS32293. -[info][2025/06/25 21:31:19]: voltstromi requested vehicle with id 156. -[info][2025/06/25 21:31:23]: voltstromi requested vehicle repair for id 156. -[info][2025/06/25 21:31:23]: voltstromi requested vehicle with id 156. -[info][2025/06/25 21:31:29]: voltstromi requested all vehicles. -[info][2025/06/25 21:31:49]: voltstromi requested all players. -[info][2025/06/25 21:31:52]: voltstromi requested all players. -[info][2025/06/25 21:31:52]: voltstromi requested all players. -[info][2025/06/25 21:31:55]: voltstromi requested player with citizenid PGS32293. -[info][2025/06/25 21:31:57]: voltstromi requested player vehicles for citizenid PGS32293. -[info][2025/06/25 21:32:17]: voltstromi requested vehicle with id 154. -[info][2025/06/25 21:32:20]: voltstromi requested vehicle repair for id 154. -[info][2025/06/25 21:32:20]: voltstromi requested vehicle with id 154. -[info][2025/06/25 21:32:22]: voltstromi requested vehicle repair for id 154. -[info][2025/06/25 21:32:22]: voltstromi requested vehicle with id 154. -[info][2025/06/25 21:32:38]: voltstromi requested delete vehicle id 154. -[info][2025/06/25 21:32:39]: voltstromi requested all vehicles. -[info][2025/06/25 21:39:53]: voltstromi requested all players. -[info][2025/06/25 21:39:56]: voltstromi requested all players. -[info][2025/06/25 21:39:57]: voltstromi requested all players. -[info][2025/06/25 21:39:59]: voltstromi requested player with citizenid PGS32293. -[info][2025/06/25 22:51:44]: voltstromi requested all vehicles. -[info][2025/06/25 22:51:48]: voltstromi requested all vehicles. -[info][2025/06/25 22:51:49]: voltstromi requested all vehicles. -[info][2025/06/25 22:51:51]: voltstromi requested all vehicles. -[info][2025/06/25 22:51:53]: voltstromi requested all players. -[info][2025/06/25 22:51:57]: voltstromi requested all players. -[info][2025/06/25 22:51:59]: voltstromi requested player with citizenid PGS32293. -[info][2025/06/25 22:52:03]: voltstromi requested player vehicles for citizenid PGS32293. -[info][2025/06/25 22:52:51]: voltstromi requested all players. -[info][2025/06/26 02:07:41]: Login attempt on Nordi from 91.248.233.154 -[info][2025/06/26 02:07:42]: Login attempt on Nordi from 91.248.233.154 -[info][2025/06/26 02:43:25]: Login attempt on Nordi from 91.248.233.154 -[info][2025/06/26 02:43:25]: Login attempt on Nordi from 91.248.233.154 -[info][2025/06/26 02:52:45]: Login attempt on Nordi from 91.248.233.154 -[info][2025/06/26 02:52:46]: Login attempt on Nordi from 91.248.233.154 -[info][2025/06/26 03:05:21]: Login attempt on Nordi from 91.248.233.154 -[info][2025/06/26 03:35:33]: Login attempt on Nordi from 91.248.233.154 -[info][2025/06/26 03:35:35]: nordi requested all players. -[info][2025/06/26 03:35:43]: nordi requested all players. -[info][2025/06/26 03:36:04]: nordi requested player with citizenid JCQ27225. -[info][2025/06/26 03:36:08]: nordi requested inventory for citizenid JCQ27225. -[info][2025/06/26 03:36:08]: nordi requested player with citizenid JCQ27225. -[info][2025/06/26 03:36:15]: nordi requested inventory for citizenid JCQ27225. -[info][2025/06/26 03:36:16]: nordi requested player with citizenid JCQ27225. -[info][2025/06/26 03:36:29]: nordi requested inventory for citizenid JCQ27225. -[info][2025/06/26 03:36:30]: nordi requested player with citizenid JCQ27225. -[info][2025/06/26 03:40:26]: nordi requested inventory for citizenid JCQ27225. -[info][2025/06/26 03:40:27]: nordi requested player with citizenid JCQ27225. -[info][2025/06/26 03:49:16]: Login attempt on Nordi from 91.248.233.154 -[info][2025/06/26 03:49:22]: nordi requested all players. -[info][2025/06/26 03:49:24]: nordi requested all players. -[info][2025/06/26 03:49:26]: nordi requested player with citizenid JCQ27225. -[info][2025/06/26 03:49:28]: nordi requested inventory for citizenid JCQ27225. -[info][2025/06/26 03:49:29]: nordi requested player with citizenid JCQ27225. -[info][2025/06/26 03:53:46]: nordi requested all players. -[info][2025/06/26 03:53:48]: nordi requested all players. -[info][2025/06/26 03:53:50]: nordi requested player with citizenid JCQ27225. -[info][2025/06/26 03:54:17]: nordi requested inventory for citizenid JCQ27225. -[info][2025/06/26 03:54:17]: nordi requested player with citizenid JCQ27225. -[info][2025/06/26 04:00:02]: nordi requested player with citizenid JCQ27225. -[info][2025/06/26 04:00:04]: nordi requested inventory for citizenid JCQ27225. -[info][2025/06/26 04:00:04]: nordi requested player with citizenid JCQ27225. -[info][2025/06/26 04:01:02]: Login attempt on Nordi from 91.248.233.154 -[info][2025/06/26 04:01:05]: nordi requested all players. -[info][2025/06/26 04:01:08]: nordi requested all players. -[info][2025/06/26 04:01:10]: nordi requested player with citizenid JCQ27225. -[info][2025/06/26 04:01:12]: nordi requested inventory for citizenid JCQ27225. -[info][2025/06/26 04:01:12]: nordi requested player with citizenid JCQ27225. -[info][2025/06/26 04:01:29]: nordi requested inventory for citizenid JCQ27225. -[info][2025/06/26 04:01:30]: nordi requested player with citizenid JCQ27225. -[info][2025/06/26 04:02:20]: nordi requested inventory for citizenid JCQ27225. -[info][2025/06/26 04:02:21]: nordi requested player with citizenid JCQ27225. -[info][2025/06/26 04:02:23]: nordi requested player with citizenid JCQ27225. -[info][2025/06/26 04:02:29]: nordi requested inventory for citizenid JCQ27225. -[info][2025/06/26 04:02:29]: nordi requested player with citizenid JCQ27225. -[info][2025/06/26 04:03:21]: Login attempt on Nordi from 91.248.233.154 -[info][2025/06/26 04:03:21]: nordi requested inventory for citizenid JCQ27225. -[info][2025/06/26 04:03:22]: Login attempt on Nordi from 91.248.233.154 -[info][2025/06/26 04:03:24]: nordi requested all players. -[info][2025/06/26 04:03:27]: nordi requested all players. -[info][2025/06/26 04:03:28]: nordi requested player with citizenid JCQ27225. -[info][2025/06/26 04:03:31]: nordi requested inventory for citizenid JCQ27225. -[info][2025/06/26 04:03:32]: nordi requested player with citizenid JCQ27225. -[info][2025/06/26 04:04:41]: nordi requested change meta for citizenid JCQ27225. -[info][2025/06/26 04:04:42]: nordi requested change meta for citizenid JCQ27225. -[info][2025/06/26 04:04:43]: nordi requested change meta for citizenid JCQ27225. -[info][2025/06/26 04:04:58]: nordi requested player with citizenid JCQ27225. -[info][2025/06/26 04:05:22]: nordi requested save note for citizenid JCQ27225. -[info][2025/06/26 04:05:23]: nordi requested player with citizenid JCQ27225. -[info][2025/06/26 05:21:04]: Login attempt on Nordi from 91.248.233.154 -[info][2025/06/26 05:21:05]: Login attempt on Nordi from 91.248.233.154 -[info][2025/06/26 06:08:32]: Login attempt on Nordi from 91.248.233.154 -[info][2025/06/26 06:08:33]: Login attempt on Nordi from 91.248.233.154 -[info][2025/06/26 16:42:17]: Login attempt on Nordi from 91.248.233.154 -[info][2025/06/27 12:14:35]: Login attempt on Max from 176.3.180.252 -[info][2025/06/27 12:15:16]: Login attempt on Max from 176.3.180.252 -[info][2025/06/27 12:15:27]: max requested player with citizenid UGO12804. -[info][2025/06/27 12:15:32]: max requested all players. -[info][2025/06/27 12:15:47]: max requested player with citizenid UGO12804. -[info][2025/06/27 12:15:51]: max requested change meta for citizenid UGO12804. -[info][2025/06/27 12:15:51]: max requested player with citizenid UGO12804. -[info][2025/06/27 12:15:52]: max requested change meta for citizenid UGO12804. -[info][2025/06/27 12:15:52]: max requested player with citizenid UGO12804. -[info][2025/06/27 12:15:54]: max requested heal for citizenid UGO12804. -[info][2025/06/27 12:15:54]: max requested player with citizenid UGO12804. -[info][2025/06/27 12:15:55]: max requested heal for citizenid UGO12804. -[info][2025/06/27 12:15:55]: max requested player with citizenid UGO12804. -[info][2025/06/27 12:15:55]: max requested heal for citizenid UGO12804. -[info][2025/06/27 12:15:55]: max requested player with citizenid UGO12804. -[info][2025/06/27 23:00:38]: Login attempt on Nordi from 80.228.184.113 -[info][2025/06/27 23:00:41]: nordi requested all players. -[info][2025/06/27 23:00:58]: nordi requested all players. -[info][2025/06/27 23:01:05]: nordi requested player with citizenid KVN10675. -[info][2025/06/27 23:01:08]: nordi requested screenshot for citizenid KVN10675. -[info][2025/06/28 01:53:27]: Login attempt on Mimi from 46.125.249.124 -[info][2025/06/28 01:53:31]: mimi requested all stashes. -[info][2025/06/28 16:33:14]: Login attempt on Mimi from 46.125.249.124 -[info][2025/06/28 16:33:35]: Login attempt on Mimi from 46.125.249.124 -[info][2025/06/29 01:11:25]: Login attempt on Mimi from 46.125.249.124 -[info][2025/06/29 01:11:33]: Login attempt on Mimi from 46.125.249.124 -[info][2025/06/29 01:11:41]: Login attempt on Mimi from 46.125.249.124 -[info][2025/06/29 05:31:54]: Login attempt on Nordi from 95.33.61.158 -[info][2025/06/29 05:31:57]: nordi requested all players. -[info][2025/06/29 05:32:00]: nordi requested player with citizenid JCQ27225. -[info][2025/06/29 05:34:17]: nordi requested player with citizenid JCQ27225. -[info][2025/06/29 05:46:32]: nordi requested player with citizenid JCQ27225. -[info][2025/06/29 05:46:47]: nordi requested player with citizenid JCQ27225. -[info][2025/06/29 05:46:50]: nordi requested player with citizenid JCQ27225. -[info][2025/06/29 05:47:46]: nordi requested player with citizenid JCQ27225. -[info][2025/06/29 05:55:46]: nordi requested player with citizenid JCQ27225. -[info][2025/06/29 10:58:49]: nordi requested all players. -[info][2025/06/29 10:58:54]: nordi requested player with citizenid JCQ27225. -[info][2025/06/29 10:58:56]: nordi requested player vehicles for citizenid JCQ27225. -[info][2025/06/29 20:03:38]: Login attempt on Nordi from 95.33.61.158 -[info][2025/06/29 20:03:49]: nordi requested all players. -[info][2025/06/29 20:03:54]: nordi requested all players. -[info][2025/06/29 20:03:55]: nordi requested all players. -[info][2025/06/29 20:03:57]: nordi requested all players. -[info][2025/06/29 20:03:59]: nordi requested all players. -[info][2025/06/29 20:04:00]: nordi requested all players. -[info][2025/06/29 20:04:01]: nordi requested all players. -[info][2025/06/29 20:04:03]: nordi requested player with citizenid ABD68100. -[info][2025/06/29 20:04:07]: nordi requested player vehicles for citizenid ABD68100. -[info][2025/06/29 20:04:11]: nordi requested vehicle with id 295. -[info][2025/06/29 20:05:14]: nordi requested all vehicles. -[info][2025/06/29 20:05:17]: nordi requested all vehicles. -[info][2025/06/29 20:05:19]: nordi requested vehicle with id 295. -[info][2025/06/29 20:05:27]: nordi requested change vehicle garage with id 295. -[info][2025/06/29 20:05:27]: nordi requested vehicle with id 295. -[info][2025/06/29 20:31:15]: nordi requested all players. -[info][2025/06/29 20:31:19]: nordi requested all players. -[info][2025/06/29 20:31:20]: nordi requested player with citizenid JCQ27225. -[info][2025/06/29 20:31:22]: nordi requested player vehicles for citizenid JCQ27225. -[info][2025/06/29 20:33:51]: nordi requested vehicle with id 183. -[info][2025/06/29 20:34:16]: nordi requested change vehicle garage with id 183. -[info][2025/06/29 20:34:16]: nordi requested vehicle with id 183. -[info][2025/06/29 20:53:19]: Login attempt on Mimi from 46.125.249.124 -[info][2025/06/29 20:58:17]: mimi requested all players. -[info][2025/06/29 21:08:18]: Login attempt on Nordi from 95.33.61.158 -[info][2025/06/29 23:57:25]: Login attempt on Nordi from 95.33.61.158 -[info][2025/06/30 00:37:29]: Login attempt on Nordi from 95.33.61.158 -[info][2025/06/30 10:31:22]: Login attempt on Nordi from 91.248.194.130 -[info][2025/06/30 12:25:21]: Login attempt on Nordi from 91.248.194.130 -[info][2025/06/30 12:25:23]: Login attempt on Nordi from 91.248.194.130 -[info][2025/06/30 12:25:26]: nordi requested all players. -[info][2025/06/30 12:41:06]: Login attempt on Nordi from 91.248.194.130 -[info][2025/06/30 15:15:43]: Login attempt on Nordi from 91.248.194.130 -[info][2025/06/30 15:26:17]: Login attempt on Nordi from 91.248.194.130 -[info][2025/06/30 15:35:51]: Login attempt on Nordi from 91.248.194.130 -[info][2025/06/30 21:06:12]: Login attempt on Nordi from 91.248.194.130 -[info][2025/06/30 21:40:34]: Login attempt on Nordi from 91.248.194.130 -[info][2025/06/30 22:23:28]: Login attempt on Nordi from 91.248.194.130 -[info][2025/06/30 23:01:00]: Login attempt on Nordi from 91.248.194.130 -[info][2025/06/30 23:32:06]: Login attempt on Nordi from 91.248.194.130 -[info][2025/06/30 23:41:05]: Login attempt on Nordi from 91.248.194.130 -[info][2025/07/01 00:06:01]: Login attempt on Nordi from 91.248.194.130 -[info][2025/07/01 05:45:06]: Login attempt on Nordi from 85.16.109.61 -[info][2025/07/01 05:52:00]: Login attempt on Nordi from 85.16.109.61 -[info][2025/07/01 05:56:40]: nordi requested all players. -[info][2025/07/01 05:56:45]: nordi requested player with citizenid JCQ27225. -[info][2025/07/01 05:56:46]: nordi requested player vehicles for citizenid JCQ27225. -[info][2025/07/01 05:56:55]: nordi requested vehicle with id 241. -[info][2025/07/01 05:56:57]: nordi requested delete vehicle id 241. -[info][2025/07/01 05:56:58]: nordi requested all vehicles. -[info][2025/07/01 05:57:40]: nordi requested all players. -[info][2025/07/01 05:57:43]: nordi requested player with citizenid JCQ27225. -[info][2025/07/01 05:57:44]: nordi requested player vehicles for citizenid JCQ27225. -[info][2025/07/01 07:18:14]: Login attempt on Nordi from 85.16.109.61 -[info][2025/07/01 07:37:42]: nordi requested all vehicles. -[info][2025/07/01 07:37:44]: nordi requested all players. -[info][2025/07/01 07:37:48]: nordi requested player with citizenid JCQ27225. -[info][2025/07/01 07:37:50]: nordi requested player vehicles for citizenid JCQ27225. -[info][2025/07/01 09:38:04]: Login attempt on Campers from 178.200.177.65 -[info][2025/07/01 09:38:08]: campers requested all players. -[info][2025/07/01 09:38:12]: campers requested all users. -[info][2025/07/01 09:38:18]: campers requested user steven. -[info][2025/07/01 09:38:31]: campers requested delete user steven. -[info][2025/07/01 09:38:31]: campers requested all users. -[info][2025/07/01 09:39:12]: nordi requested all roles. -[info][2025/07/01 09:39:13]: nordi requested all users. -[info][2025/07/01 09:39:20]: nordi requested user tim. -[info][2025/07/01 09:39:51]: nordi requested save user tim. -[info][2025/07/01 09:39:56]: nordi requested all users. -[info][2025/07/01 09:40:00]: nordi requested user tim. -[info][2025/07/01 09:40:03]: nordi requested all users. -[info][2025/07/01 09:49:47]: Login attempt on Nordi from 85.16.109.61 -[info][2025/07/01 09:49:51]: nordi requested all users. -[info][2025/07/01 09:49:54]: nordi requested all users. -[info][2025/07/01 09:49:57]: nordi requested all users. -[info][2025/07/01 09:49:58]: nordi requested all users. -[info][2025/07/01 09:50:00]: nordi requested all users. -[info][2025/07/01 09:50:02]: nordi requested all users. -[info][2025/07/01 09:50:08]: nordi requested all users. -[info][2025/07/01 09:50:57]: nordi requested all users. -[info][2025/07/01 09:51:23]: nordi requested user tim. -[info][2025/07/01 09:51:37]: nordi requested delete user tim. -[info][2025/07/01 09:55:44]: Login attempt on Nordi from 85.16.109.61 -[info][2025/07/01 09:55:49]: nordi requested all users. -[info][2025/07/01 09:55:51]: nordi requested user tim. -[info][2025/07/01 09:56:05]: Login attempt on Nordi from 85.16.109.61 -[info][2025/07/01 09:56:11]: nordi requested all users. -[info][2025/07/01 09:56:13]: nordi requested user tim. -[info][2025/07/01 09:56:43]: nordi requested all roles. -[info][2025/07/01 09:56:45]: nordi requested all users. -[info][2025/07/01 09:56:52]: nordi requested user tim. -[info][2025/07/01 09:56:59]: nordi requested password reset for tim. -[info][2025/07/01 09:57:02]: nordi requested all users. -[info][2025/07/01 09:57:24]: nordi requested all users. -[info][2025/07/01 09:57:26]: nordi requested user tim. -[info][2025/07/01 09:59:34]: nordi requested all roles. -[info][2025/07/01 09:59:38]: nordi requested all users. -[info][2025/07/01 09:59:42]: nordi requested user tim. -[info][2025/07/01 09:59:49]: nordi requested delete user tim. -[info][2025/07/01 10:01:12]: nordi requested all players. -[info][2025/07/01 10:01:17]: nordi requested all roles. -[info][2025/07/01 10:02:54]: Login attempt on Campers from 178.200.177.65 -[info][2025/07/01 10:02:58]: campers requested all users. -[info][2025/07/01 10:09:57]: nordi requested all roles. -[info][2025/07/01 10:09:58]: nordi requested all roles. -[info][2025/07/01 10:10:01]: nordi requested all users. -[info][2025/07/01 10:10:05]: nordi requested user tim. -[info][2025/07/01 10:10:35]: nordi requested all roles. -[info][2025/07/01 10:10:46]: nordi requested all users. -[info][2025/07/01 10:12:01]: Login attempt on Nordi from 85.16.109.61 -[info][2025/07/01 10:12:04]: nordi requested all users. -[info][2025/07/01 10:20:16]: Login attempt on Mark from 178.24.230.51 -[info][2025/07/01 10:20:22]: mark requested all users. -[info][2025/07/01 10:22:58]: nordi requested all roles. -[info][2025/07/01 10:22:59]: mark requested all users. -[info][2025/07/01 10:22:59]: nordi requested all users. -[info][2025/07/01 10:23:03]: nordi requested all users. -[info][2025/07/01 10:23:05]: mark requested all users. -[info][2025/07/01 10:23:07]: mark requested all users. -[info][2025/07/01 10:23:21]: Login attempt on Campers from 178.200.177.65 -[info][2025/07/01 10:23:23]: campers requested all users. -[info][2025/07/01 10:24:40]: Login attempt on Mark from 178.24.230.51 -[info][2025/07/01 10:24:44]: mark requested all users. -[info][2025/07/01 10:24:51]: mark requested user tim. -[info][2025/07/01 10:24:54]: mark requested delete user tim. -[info][2025/07/01 10:24:54]: mark requested all users. -[info][2025/07/01 10:42:04]: Login attempt on Nordi from 85.16.109.61 -[info][2025/07/01 10:42:06]: Login attempt on Nordi from 85.16.109.61 -[info][2025/07/01 10:57:01]: Login attempt on Nordi from 85.16.109.61 -[info][2025/07/01 10:57:01]: Login attempt on Nordi from 85.16.109.61 -[info][2025/07/01 11:42:36]: Login attempt on Nordi from 85.16.109.61 -[info][2025/07/01 11:42:36]: Login attempt on Nordi from 85.16.109.61 -[info][2025/07/01 12:11:29]: Login attempt on Nordi from 85.16.109.61 -[info][2025/07/01 12:11:30]: Login attempt on Nordi from 85.16.109.61 -[info][2025/07/01 13:25:15]: Login attempt on Nordi from 85.16.109.61 -[info][2025/07/01 13:25:16]: Login attempt on Nordi from 85.16.109.61 -[info][2025/07/01 20:30:41]: Login attempt on Campers from 178.200.177.65 -[info][2025/07/01 20:30:45]: campers requested all players. -[info][2025/07/01 20:30:47]: campers requested all players. -[info][2025/07/01 20:30:47]: campers requested all players. -[info][2025/07/01 20:30:51]: campers requested player with citizenid ABD68100. -[info][2025/07/01 20:30:53]: campers requested player vehicles for citizenid ABD68100. -[info][2025/07/01 20:30:57]: campers requested vehicle with id 295. -[info][2025/07/01 20:31:03]: campers requested player with citizenid ABD68100. -[info][2025/07/01 20:31:05]: campers requested player vehicles for citizenid ABD68100. -[info][2025/07/01 20:31:07]: campers requested vehicle with id 285. -[info][2025/07/01 20:31:09]: campers requested player with citizenid ABD68100. -[info][2025/07/01 20:31:10]: campers requested player vehicles for citizenid ABD68100. -[info][2025/07/01 20:31:11]: campers requested vehicle with id 296. -[info][2025/07/01 20:31:20]: campers requested all vehicles. -[info][2025/07/01 20:31:27]: campers requested all players. -[info][2025/07/01 20:31:37]: campers requested player with citizenid OHM07543. -[info][2025/07/01 20:31:39]: campers requested player vehicles for citizenid OHM07543. -[info][2025/07/01 20:31:41]: campers requested vehicle with id 225. -[info][2025/07/01 20:31:47]: campers requested all players. -[info][2025/07/01 20:32:00]: campers requested all players. -[info][2025/07/01 20:32:03]: campers requested all players. -[info][2025/07/01 20:32:03]: campers requested all players. -[info][2025/07/01 20:32:04]: campers requested all players. -[info][2025/07/01 20:32:04]: campers requested all players. -[info][2025/07/01 20:32:07]: campers requested player with citizenid ABD68100. -[info][2025/07/01 20:32:08]: campers requested player vehicles for citizenid ABD68100. -[info][2025/07/01 20:32:13]: campers requested vehicle with id 295. -[info][2025/07/01 20:32:16]: campers requested change vehicle garage with id 295. -[info][2025/07/01 20:32:16]: campers requested vehicle with id 295. -[info][2025/07/01 20:32:19]: campers requested all vehicles. -[info][2025/07/01 20:32:20]: campers requested vehicle with id 295. -[info][2025/07/01 20:32:25]: campers requested all vehicles. -[info][2025/07/01 20:32:28]: campers requested all players. -[info][2025/07/01 20:32:30]: campers requested all players. -[info][2025/07/01 20:32:30]: campers requested all players. -[info][2025/07/01 20:32:31]: campers requested all players. -[info][2025/07/01 20:32:33]: campers requested player with citizenid ABD68100. -[info][2025/07/01 20:32:34]: campers requested player vehicles for citizenid ABD68100. -[info][2025/07/01 20:32:36]: campers requested vehicle with id 295. -[info][2025/07/01 20:32:38]: campers requested player with citizenid ABD68100. -[info][2025/07/01 20:32:40]: campers requested player vehicles for citizenid ABD68100. -[info][2025/07/01 20:32:42]: campers requested vehicle with id 230. -[info][2025/07/01 20:32:47]: campers requested change vehicle garage with id 230. -[info][2025/07/01 20:32:47]: campers requested vehicle with id 230. -[info][2025/07/01 20:32:51]: campers requested player with citizenid ABD68100. -[info][2025/07/01 20:32:52]: campers requested player vehicles for citizenid ABD68100. -[info][2025/07/01 20:32:54]: campers requested vehicle with id 296. -[info][2025/07/01 20:32:58]: campers requested change vehicle garage with id 296. -[info][2025/07/01 20:32:58]: campers requested vehicle with id 296. -[info][2025/07/01 20:33:00]: campers requested player with citizenid ABD68100. -[info][2025/07/01 20:33:05]: campers requested player vehicles for citizenid ABD68100. -[info][2025/07/01 20:33:08]: campers requested vehicle with id 285. -[info][2025/07/01 20:33:11]: campers requested player with citizenid ABD68100. -[info][2025/07/01 20:34:55]: campers requested player vehicles for citizenid ABD68100. -[info][2025/07/01 20:50:34]: campers requested all vehicles. -[info][2025/07/01 20:50:39]: campers requested all vehicles. -[info][2025/07/01 20:50:39]: campers requested all vehicles. -[info][2025/07/01 20:50:44]: campers requested vehicle with id 175. -[info][2025/07/01 20:50:50]: campers requested despawn vehicle with plate 2UY074SJ id 175. -[info][2025/07/01 20:51:31]: campers requested delete vehicle id 175. -[info][2025/07/01 20:51:32]: campers requested all vehicles. -[info][2025/07/01 20:51:35]: campers requested all vehicles. -[info][2025/07/01 22:05:56]: campers requested player with citizenid OHM07543. -[info][2025/07/01 22:05:57]: campers requested player vehicles for citizenid OHM07543. -[info][2025/07/01 22:06:13]: campers requested vehicle with id 202. -[info][2025/07/01 22:06:19]: campers requested change vehicle garage with id 202. -[info][2025/07/01 22:06:19]: campers requested vehicle with id 202. -[info][2025/07/02 00:17:54]: campers requested player with citizenid OHM07543. -[info][2025/07/02 00:17:55]: campers requested player vehicles for citizenid OHM07543. -[info][2025/07/02 00:17:56]: campers requested player with citizenid OHM07543. -[info][2025/07/02 00:18:03]: campers requested set money cash for citizenid OHM07543. -[info][2025/07/02 00:18:03]: campers requested player with citizenid OHM07543. -[info][2025/07/02 00:18:06]: campers requested set money bank for citizenid OHM07543. -[info][2025/07/02 00:18:06]: campers requested player with citizenid OHM07543. -[info][2025/07/02 00:18:23]: campers requested player vehicles for citizenid OHM07543. -[info][2025/07/02 00:18:58]: campers requested vehicle with id 196. -[info][2025/07/02 00:19:09]: campers requested player with citizenid OHM07543. -[info][2025/07/02 00:19:10]: campers requested player vehicles for citizenid OHM07543. -[info][2025/07/02 00:19:12]: campers requested vehicle with id 225. -[info][2025/07/02 00:19:16]: campers requested all vehicles. -[info][2025/07/02 00:19:31]: campers requested vehicle with id 260. -[info][2025/07/02 00:19:33]: campers requested all vehicles. -[info][2025/07/02 00:19:35]: campers requested vehicle with id 143. -[info][2025/07/02 00:19:37]: campers requested all vehicles. -[info][2025/07/02 00:19:49]: campers requested player with citizenid OHM07543. -[info][2025/07/02 00:19:51]: campers requested player vehicles for citizenid OHM07543. -[info][2025/07/02 00:19:58]: campers requested vehicle with id 196. -[info][2025/07/02 00:20:01]: campers requested change vehicle garage with id 196. -[info][2025/07/02 00:20:01]: campers requested vehicle with id 196. -[info][2025/07/02 06:20:02]: Login attempt on Nordi from 95.33.59.95 -[info][2025/07/02 19:18:16]: nordi requested all vehicles. -[info][2025/07/02 19:18:18]: nordi requested all players. -[info][2025/07/02 19:18:20]: nordi requested player with citizenid JCQ27225. -[info][2025/07/02 19:18:21]: nordi requested player vehicles for citizenid JCQ27225. -[info][2025/07/02 19:20:47]: nordi requested vehicle with id 299. -[info][2025/07/02 19:20:49]: nordi requested player with citizenid JCQ27225. -[info][2025/07/02 19:20:51]: nordi requested player vehicles for citizenid JCQ27225. -[info][2025/07/02 20:47:51]: nordi requested all players. -[info][2025/07/02 20:47:54]: nordi requested player with citizenid JCQ27225. -[info][2025/07/02 20:48:00]: nordi requested player vehicles for citizenid JCQ27225. -[info][2025/07/02 20:48:04]: nordi requested vehicle with id 299. -[info][2025/07/02 20:48:29]: nordi requested change vehicle garage with id 299. -[info][2025/07/02 20:48:29]: nordi requested vehicle with id 299. -[info][2025/07/02 20:49:37]: nordi requested change vehicle garage with id 299. -[info][2025/07/02 20:49:37]: nordi requested vehicle with id 299. -[info][2025/07/02 20:54:18]: nordi requested all users. -[info][2025/07/02 21:23:18]: nordi requested all players. -[info][2025/07/02 21:23:19]: Login attempt on Nordi from 95.33.59.95 -[info][2025/07/02 21:23:21]: nordi requested all players. -[info][2025/07/02 21:23:26]: nordi requested all players. -[info][2025/07/02 21:23:27]: nordi requested all players. -[info][2025/07/02 21:23:30]: nordi requested player with citizenid YXR32491. -[info][2025/07/02 21:23:31]: nordi requested player vehicles for citizenid YXR32491. -[info][2025/07/02 21:23:33]: nordi requested vehicle with id 242. -[info][2025/07/02 21:23:40]: nordi requested change vehicle garage with id 242. -[info][2025/07/02 21:23:40]: nordi requested vehicle with id 242. -[info][2025/07/02 22:08:13]: Login attempt on Campers from 178.200.177.65 -[info][2025/07/02 22:08:16]: campers requested all users. -[info][2025/07/02 22:08:33]: campers requested role list. -[info][2025/07/02 22:09:27]: campers requested create user Dennis2. -[info][2025/07/02 22:09:29]: campers requested all users. -[info][2025/07/02 22:11:38]: Login attempt on Dennis2 from 145.255.49.2 -[info][2025/07/02 22:12:03]: dennis2 requested all vehicles. -[info][2025/07/02 22:12:26]: dennis2 requested all players. -[info][2025/07/02 22:12:36]: dennis2 requested all players. -[info][2025/07/02 22:12:49]: dennis2 requested all players. -[info][2025/07/02 22:12:51]: dennis2 requested all players. -[info][2025/07/02 22:12:53]: dennis2 requested all players. -[info][2025/07/02 22:14:12]: dennis2 requested password change.